{"version":3,"file":"parts.cjs","sources":["../../src/shared/date/parts.ts"],"sourcesContent":["/*\n * Implementation ported from https://github.com/melt-ui/melt-ui/blob/develop/src/lib/builders/date-field/_internal/helpers.ts\n*/\n\nimport type { DateSegmentPart, EditableSegmentPart, SegmentPart, TimeSegmentPart } from './types'\n\nexport const DATE_SEGMENT_PARTS = ['day', 'month', 'year'] as const\nexport const TIME_SEGMENT_PARTS = ['hour', 'minute', 'second', 'dayPeriod'] as const\nexport const NON_EDITABLE_SEGMENT_PARTS = ['literal', 'timeZoneName'] as const\nexport const EDITABLE_SEGMENT_PARTS = [...DATE_SEGMENT_PARTS, ...TIME_SEGMENT_PARTS] as const\nexport const EDITABLE_TIME_SEGMENT_PARTS = [...TIME_SEGMENT_PARTS] as const\nexport const ALL_SEGMENT_PARTS = [\n ...EDITABLE_SEGMENT_PARTS,\n ...NON_EDITABLE_SEGMENT_PARTS,\n] as const\nexport const ALL_EXCEPT_LITERAL_PARTS = ALL_SEGMENT_PARTS.filter(part => part !== 'literal')\n\nexport function isDateSegmentPart(part: unknown): part is DateSegmentPart {\n return DATE_SEGMENT_PARTS.includes(part as DateSegmentPart)\n}\n\nexport function isTimeSegmentPart(part: unknown): part is TimeSegmentPart {\n return TIME_SEGMENT_PARTS.includes(part as TimeSegmentPart)\n}\n\nexport function isSegmentPart(part: string): part is EditableSegmentPart {\n return EDITABLE_SEGMENT_PARTS.includes(part as EditableSegmentPart)\n}\n\nexport function isAnySegmentPart(part: unknown): part is SegmentPart {\n return ALL_SEGMENT_PARTS.includes(part as EditableSegmentPart)\n}\n"],"names":[],"mappings":";;AAMO,MAAM,kBAAqB,GAAA,CAAC,KAAO,EAAA,OAAA,EAAS,MAAM;AAClD,MAAM,kBAAqB,GAAA,CAAC,MAAQ,EAAA,QAAA,EAAU,UAAU,WAAW;AAEnE,MAAM,sBAAyB,GAAA,CAAC,GAAG,kBAAA,EAAoB,GAAG,kBAAkB;AAQ5E,SAAS,kBAAkB,IAAwC,EAAA;AACxE,EAAO,OAAA,kBAAA,CAAmB,SAAS,IAAuB,CAAA;AAC5D;AAMO,SAAS,cAAc,IAA2C,EAAA;AACvE,EAAO,OAAA,sBAAA,CAAuB,SAAS,IAA2B,CAAA;AACpE;;;;;;;;"}