@commercetools/nimbus 0.0.0-canary-20260116161853 → 0.0.0-canary-20260119093042

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/chunks/{DateField-C0JaKbSn.es.js → DateField-DCWy1Ysp.es.js} +2 -2
  2. package/dist/chunks/{DateField-C0JaKbSn.es.js.map → DateField-DCWy1Ysp.es.js.map} +1 -1
  3. package/dist/chunks/{DatePicker-yMmjwrzP.es.js → DatePicker-CL72jbDo.es.js} +2 -2
  4. package/dist/chunks/{DatePicker-yMmjwrzP.es.js.map → DatePicker-CL72jbDo.es.js.map} +1 -1
  5. package/dist/chunks/combobox-B7ck7gxL.cjs.js +2 -0
  6. package/dist/chunks/combobox-B7ck7gxL.cjs.js.map +1 -0
  7. package/dist/chunks/{combobox-h1qOiDJD.es.js → combobox-vjauyzlS.es.js} +365 -363
  8. package/dist/chunks/combobox-vjauyzlS.es.js.map +1 -0
  9. package/dist/chunks/{date-input-BR-AeTsM.es.js → date-input-Cd9q4qBj.es.js} +2 -2
  10. package/dist/chunks/{date-input-BR-AeTsM.es.js.map → date-input-Cd9q4qBj.es.js.map} +1 -1
  11. package/dist/chunks/{date-picker-4vPcj4T0.es.js → date-picker-B8VVNXU3.es.js} +5 -5
  12. package/dist/chunks/{date-picker-4vPcj4T0.es.js.map → date-picker-B8VVNXU3.es.js.map} +1 -1
  13. package/dist/chunks/{date-range-picker-D3cnZQYb.es.js → date-range-picker-BnbKgO1E.es.js} +5 -5
  14. package/dist/chunks/{date-range-picker-D3cnZQYb.es.js.map → date-range-picker-BnbKgO1E.es.js.map} +1 -1
  15. package/dist/chunks/{date-range-picker-field-BKmTQ50O.es.js → date-range-picker-field-BuI6eLMY.es.js} +2 -2
  16. package/dist/chunks/{date-range-picker-field-BKmTQ50O.es.js.map → date-range-picker-field-BuI6eLMY.es.js.map} +1 -1
  17. package/dist/chunks/{time-input-C_igRgEc.es.js → time-input-CCuIFoY2.es.js} +2 -2
  18. package/dist/chunks/{time-input-C_igRgEc.es.js.map → time-input-CCuIFoY2.es.js.map} +1 -1
  19. package/dist/components/combobox.cjs +1 -1
  20. package/dist/components/combobox.es.js +1 -1
  21. package/dist/components/date-input.es.js +1 -1
  22. package/dist/components/date-picker.es.js +1 -1
  23. package/dist/components/date-range-picker-field.es.js +1 -1
  24. package/dist/components/date-range-picker.es.js +1 -1
  25. package/dist/components/fields.es.js +1 -1
  26. package/dist/components/patterns.es.js +1 -1
  27. package/dist/components/time-input.es.js +1 -1
  28. package/dist/index.cjs +1 -1
  29. package/dist/index.es.js +6 -6
  30. package/package.json +6 -6
  31. package/dist/chunks/combobox-Do4z66WO.cjs.js +0 -2
  32. package/dist/chunks/combobox-Do4z66WO.cjs.js.map +0 -1
  33. package/dist/chunks/combobox-h1qOiDJD.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker-4vPcj4T0.es.js","sources":["../../src/components/date-picker/date-picker.slots.tsx","../../src/components/date-picker/intl/en.ts","../../src/components/date-picker/intl/de.ts","../../src/components/date-picker/intl/es.ts","../../src/components/date-picker/intl/fr-FR.ts","../../src/components/date-picker/intl/pt-BR.ts","../../src/components/date-picker/date-picker.messages.ts","../../src/components/date-picker/components/date-picker.custom-context.tsx","../../src/components/date-picker/components/date-picker.time-input.tsx","../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["import {\n type HTMLChakraProps,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport type { DatePickerRootSlotProps } from \"./date-picker.types\";\n\n// Correctly destructure from createSlotRecipeContext based on project examples\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"datePicker\",\n});\n\n/**\n * Root component that provides the styling context for the DatePicker component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const DatePickerRootSlot = withProvider<\n HTMLDivElement,\n DatePickerRootSlotProps\n>(\"div\", \"root\");\n\n/**\n * Slot component for the input group containing the DateInput.\n */\nexport const DatePickerGroupSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"group\");\n\n/**\n * Slot component for the popover container.\n */\nexport const DatePickerPopoverSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"popover\");\n\n/**\n * Slot component for the calendar container within the popover.\n */\nexport const DatePickerCalendarSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"calendar\");\n\n/**\n * Slot component for the calendar header.\n */\nexport const DatePickerCalendarHeaderSlot = withContext<\n HTMLElement,\n HTMLChakraProps<\"header\">\n>(\"header\", \"calendarHeader\");\n\n/**\n * Slot component for the calendar grid.\n */\nexport const DatePickerCalendarGridSlot = withContext<\n HTMLTableElement,\n HTMLChakraProps<\"table\">\n>(\"table\", \"calendarGrid\");\n\n/**\n * Slot component for individual calendar cells.\n */\nexport const DatePickerCalendarCellSlot = withContext<\n HTMLTableCellElement,\n HTMLChakraProps<\"td\">\n>(\"td\", \"calendarCell\");\n","/**\n * Pre-compiled en messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Enter time`,\n \"Time.enterTimeHour\": `Enter time (hour)`,\n \"Time.enterTimeHourMinute\": `Enter time (hour and minute)`,\n \"Time.enterTimeHourMinuteSecond\": `Enter time (hour, minute, and second)`,\n \"Time.startTime\": `Start time`,\n clearInput: `Clear input value`,\n};\n","/**\n * Pre-compiled de messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Zeit eingeben`,\n \"Time.enterTimeHour\": `Zeit eingeben (Stunde)`,\n \"Time.enterTimeHourMinute\": `Zeit eingeben (Stunde und Minute)`,\n \"Time.enterTimeHourMinuteSecond\": `Zeit eingeben (Stunde, Minute und Sekunde)`,\n \"Time.startTime\": `Startzeit`,\n clearInput: `Eingabewert löschen`,\n};\n","/**\n * Pre-compiled es messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Indicar tiempo`,\n \"Time.enterTimeHour\": `Indicar tiempo (hora)`,\n \"Time.enterTimeHourMinute\": `Indicar tiempo (hora y minuto)`,\n \"Time.enterTimeHourMinuteSecond\": `Indicar tiempo (hora, minuto y segundo)`,\n \"Time.startTime\": `Iniciar tiempo`,\n clearInput: `Eliminar valor de entrada`,\n};\n","/**\n * Pre-compiled fr-FR messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Saisir l'heure`,\n \"Time.enterTimeHour\": `Saisir l'heure (heure)`,\n \"Time.enterTimeHourMinute\": `Saisir l'heure (heure et minute)`,\n \"Time.enterTimeHourMinuteSecond\": `Saisir l'heure (heure, minute et seconde)`,\n \"Time.startTime\": `Heure de début`,\n clearInput: `Effacer la valeur saisie`,\n};\n","/**\n * Pre-compiled pt-BR messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Inserir hora`,\n \"Time.enterTimeHour\": `Inserir hora (hora)`,\n \"Time.enterTimeHourMinute\": `Inserir hora (hora e minutos)`,\n \"Time.enterTimeHourMinuteSecond\": `Inserir hora (hora, minutos e segundos)`,\n \"Time.startTime\": `Hora de início`,\n clearInput: `Limpar valores inseridos`,\n};\n","/**\n * Pre-compiled localized messages for DatePicker component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport datePickerMessages_en from \"./intl/en\";\nimport datePickerMessages_de from \"./intl/de\";\nimport datePickerMessages_es from \"./intl/es\";\nimport datePickerMessages_fr from \"./intl/fr-FR\";\nimport datePickerMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const datePickerMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(datePickerMessages_en),\n de: normalizeMessages(datePickerMessages_de),\n es: normalizeMessages(datePickerMessages_es),\n \"fr-FR\": normalizeMessages(datePickerMessages_fr),\n \"pt-BR\": normalizeMessages(datePickerMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for DatePicker component\n */\nexport type DatePickerMessageKey =\n | \"Time.enterTime\"\n | \"Time.enterTimeHour\"\n | \"Time.enterTimeHourMinute\"\n | \"Time.enterTimeHourMinuteSecond\"\n | \"Time.startTime\"\n | \"clearInput\";\n","import { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n DatePickerStateContext,\n TimeFieldContext,\n useSlottedContext,\n} from \"react-aria-components\";\nimport type { PressEvent, TimeValue } from \"react-aria\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { datePickerMessagesStrings } from \"../date-picker.messages\";\n\n/**\n * DatePickerCustomContext - Custom context provider for DatePicker\n *\n * Provides React Aria context overrides for button and time input slots,\n * enabling coordinated behavior between DatePicker parts.\n */\nexport const DatePickerCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const msg = useLocalizedStringFormatter(datePickerMessagesStrings);\n const buttonContext = useSlottedContext(ButtonContext) || {};\n const datePickerState = useContext(DatePickerStateContext);\n const noInputValue = datePickerState?.dateValue === null;\n\n const { timeValue, setTimeValue, granularity } = datePickerState!;\n\n // Try to get disabled state from the button context\n const isDatePickerDisabled = buttonContext?.isDisabled;\n\n // Generate default aria-label based on granularity if not provided\n const getDefaultTimeInputAriaLabel = () => {\n switch (granularity) {\n case \"hour\":\n return msg.format(\"Time.enterTimeHour\");\n case \"minute\":\n return msg.format(\"Time.enterTimeHourMinute\");\n case \"second\":\n return msg.format(\"Time.enterTimeHourMinuteSecond\");\n default:\n return msg.format(\"Time.enterTime\");\n }\n };\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n /** toggles the calendar popover */\n calendarToggle: {\n ...buttonContext,\n onPress: (event: PressEvent) => {\n // Ensure any active input (e.g., date picker segment) loses focus\n // because blurring the input will close the popover if it's open (or was just opened)\n const activeElement = document?.activeElement as HTMLElement | null;\n\n if (activeElement) {\n activeElement.blur();\n }\n\n buttonContext.onPress?.(event);\n },\n },\n /** Clear button that displays when there's a value in each segment - hidden from both visual and screen readers when there's no value */\n clear: {\n onPress: () => datePickerState?.setValue(null),\n \"aria-label\": msg.format(\"clearInput\"),\n isDisabled: isDatePickerDisabled,\n // Hide the button when there's no value\n style: noInputValue ? { display: \"none\" } : undefined,\n \"aria-hidden\": noInputValue ? true : undefined,\n },\n };\n\n /**\n * TimeInput slots\n * ================================\n */\n\n const timeInputSlots = {\n timeInput: {\n value: timeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null) {\n setTimeValue(value);\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(),\n },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n slots: buttonSlots,\n },\n ],\n [TimeFieldContext, { slots: timeInputSlots }],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import { Flex, Text, TimeInput } from \"@/components\";\nimport { useContext, useRef, useEffect } from \"react\";\nimport { DatePickerStateContext } from \"react-aria-components\";\nimport type { DatePickerTimeInputProps } from \"../date-picker.types\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { datePickerMessagesStrings } from \"../date-picker.messages\";\n\n/**\n * DatePickerTimeInput - Time input component displayed in DatePicker popover footer\n *\n * Only renders when granularity requires time selection (hour, minute, second).\n * Automatically focuses when user selects a date from the calendar.\n *\n * @supportsStyleProps\n */\nexport const DatePickerTimeInput = ({\n hideTimeZone,\n hourCycle,\n}: DatePickerTimeInputProps) => {\n const msg = useLocalizedStringFormatter(datePickerMessagesStrings);\n const datePickerState = useContext(DatePickerStateContext);\n const { granularity, dateValue } = datePickerState!;\n const timeInputRef = useRef<HTMLDivElement>(null);\n const previousDateRef = useRef(dateValue);\n\n // do not show up to the party if you're not invited\n if (granularity === \"day\") {\n return null;\n }\n\n // Focus the time input when date changes (user selects a date from calendar)\n useEffect(() => {\n // Check if date changed\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n if (dateValue && previousDateRef.current?.compare(dateValue) !== 0) {\n // Only auto-focus if no time input segment currently has focus\n // This prevents stealing focus during user interaction with time segments\n const container = timeInputRef.current;\n const activeElement = document.activeElement;\n const hasTimeSegmentFocus =\n container?.contains(activeElement) &&\n activeElement?.getAttribute(\"role\") === \"spinbutton\";\n\n if (!hasTimeSegmentFocus) {\n // Small delay to ensure the DOM is ready\n timeoutId = setTimeout(() => {\n // Find the first focusable segment within the time input container\n if (container) {\n const firstSegment = container.querySelector(\n '[role=\"spinbutton\"]'\n ) as HTMLElement;\n firstSegment?.focus();\n }\n }, 50);\n }\n }\n\n previousDateRef.current = dateValue;\n\n // Cleanup timeout on effect re-run or unmount to prevent memory leaks\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [dateValue]);\n\n return (\n <Flex\n ref={timeInputRef}\n borderTop=\"solid-25\"\n borderColor=\"neutral.3\"\n py=\"300\"\n px=\"400\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"200\"\n >\n <Text textStyle=\"xs\" fontWeight=\"500\" color=\"neutral.12\">\n {msg.format(\"Time.startTime\")}\n </Text>\n <TimeInput\n slot=\"timeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n );\n};\n","import {\n DatePickerRootSlot,\n DatePickerGroupSlot,\n DatePickerPopoverSlot,\n DatePickerCalendarSlot,\n} from \"./date-picker.slots\";\n\nimport { CalendarMonth, Close } from \"@commercetools/nimbus-icons\";\n\nimport {\n DatePicker as ReactAriaDatePicker,\n Group,\n Popover,\n Dialog,\n} from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { datePickerSlotRecipe } from \"./date-picker.recipe\";\nimport type { DatePickerProps } from \"./date-picker.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { DateInput, Calendar, IconButton, Box } from \"@/components\";\nimport { DatePickerTimeInput, DatePickerCustomContext } from \"./components\";\n\n/**\n * # DatePicker\n *\n * a UI component for users to enter or select a specific calendar date.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/datepicker}\n */\nexport const DatePicker = (props: DatePickerProps) => {\n const {\n size = \"md\",\n variant,\n granularity = \"day\",\n hideTimeZone,\n hourCycle,\n } = props;\n const recipe = useSlotRecipe({ recipe: datePickerSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n // the size of the buttons overlaying the input\n const overlayButtonSize = size === \"md\" ? \"xs\" : \"2xs\";\n\n // When granularity is \"day\", use the prop value (defaults to true if not provided)\n // For other granularities (time-based), force to false so users can set both date and time\n const shouldCloseOnSelect =\n granularity === \"day\" ? props.shouldCloseOnSelect : false;\n\n return (\n <DatePickerRootSlot {...recipeProps} {...styleProps} asChild>\n <ReactAriaDatePicker\n {...otherProps}\n shouldCloseOnSelect={shouldCloseOnSelect}\n >\n <DatePickerCustomContext>\n <DatePickerGroupSlot asChild>\n <Group>\n <DateInput\n size={size}\n variant={variant}\n width=\"full\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n trailingElement={\n <Box>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"clear\"\n >\n <Close />\n </IconButton>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"calendarToggle\"\n >\n <CalendarMonth />\n </IconButton>\n </Box>\n }\n />\n </Group>\n </DatePickerGroupSlot>\n <DatePickerPopoverSlot asChild>\n <Popover placement=\"bottom end\">\n <Dialog>\n <DatePickerCalendarSlot>\n <Calendar />\n </DatePickerCalendarSlot>\n <DatePickerTimeInput\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Dialog>\n </Popover>\n </DatePickerPopoverSlot>\n </DatePickerCustomContext>\n </ReactAriaDatePicker>\n </DatePickerRootSlot>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","DatePickerRootSlot","DatePickerGroupSlot","DatePickerPopoverSlot","DatePickerCalendarSlot","datePickerMessages_en","datePickerMessages_de","datePickerMessages_es","datePickerMessages_fr","datePickerMessages_pt","datePickerMessagesStrings","normalizeMessages","DatePickerCustomContext","children","msg","useLocalizedStringFormatter","buttonContext","useSlottedContext","ButtonContext","datePickerState","useContext","DatePickerStateContext","noInputValue","timeValue","setTimeValue","granularity","isDatePickerDisabled","getDefaultTimeInputAriaLabel","buttonSlots","event","activeElement","timeInputSlots","value","jsx","Provider","TimeFieldContext","DatePickerTimeInput","hideTimeZone","hourCycle","dateValue","timeInputRef","useRef","previousDateRef","useEffect","timeoutId","container","jsxs","Flex","Text","TimeInput","DatePicker","props","size","variant","recipe","useSlotRecipe","datePickerSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","overlayButtonSize","shouldCloseOnSelect","ReactAriaDatePicker","Group","DateInput","Box","IconButton","Close","CalendarMonth","Popover","Dialog","Calendar"],"mappings":"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"}
1
+ {"version":3,"file":"date-picker-B8VVNXU3.es.js","sources":["../../src/components/date-picker/date-picker.slots.tsx","../../src/components/date-picker/intl/en.ts","../../src/components/date-picker/intl/de.ts","../../src/components/date-picker/intl/es.ts","../../src/components/date-picker/intl/fr-FR.ts","../../src/components/date-picker/intl/pt-BR.ts","../../src/components/date-picker/date-picker.messages.ts","../../src/components/date-picker/components/date-picker.custom-context.tsx","../../src/components/date-picker/components/date-picker.time-input.tsx","../../src/components/date-picker/date-picker.tsx"],"sourcesContent":["import {\n type HTMLChakraProps,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport type { DatePickerRootSlotProps } from \"./date-picker.types\";\n\n// Correctly destructure from createSlotRecipeContext based on project examples\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"datePicker\",\n});\n\n/**\n * Root component that provides the styling context for the DatePicker component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const DatePickerRootSlot = withProvider<\n HTMLDivElement,\n DatePickerRootSlotProps\n>(\"div\", \"root\");\n\n/**\n * Slot component for the input group containing the DateInput.\n */\nexport const DatePickerGroupSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"group\");\n\n/**\n * Slot component for the popover container.\n */\nexport const DatePickerPopoverSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"popover\");\n\n/**\n * Slot component for the calendar container within the popover.\n */\nexport const DatePickerCalendarSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"calendar\");\n\n/**\n * Slot component for the calendar header.\n */\nexport const DatePickerCalendarHeaderSlot = withContext<\n HTMLElement,\n HTMLChakraProps<\"header\">\n>(\"header\", \"calendarHeader\");\n\n/**\n * Slot component for the calendar grid.\n */\nexport const DatePickerCalendarGridSlot = withContext<\n HTMLTableElement,\n HTMLChakraProps<\"table\">\n>(\"table\", \"calendarGrid\");\n\n/**\n * Slot component for individual calendar cells.\n */\nexport const DatePickerCalendarCellSlot = withContext<\n HTMLTableCellElement,\n HTMLChakraProps<\"td\">\n>(\"td\", \"calendarCell\");\n","/**\n * Pre-compiled en messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Enter time`,\n \"Time.enterTimeHour\": `Enter time (hour)`,\n \"Time.enterTimeHourMinute\": `Enter time (hour and minute)`,\n \"Time.enterTimeHourMinuteSecond\": `Enter time (hour, minute, and second)`,\n \"Time.startTime\": `Start time`,\n clearInput: `Clear input value`,\n};\n","/**\n * Pre-compiled de messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Zeit eingeben`,\n \"Time.enterTimeHour\": `Zeit eingeben (Stunde)`,\n \"Time.enterTimeHourMinute\": `Zeit eingeben (Stunde und Minute)`,\n \"Time.enterTimeHourMinuteSecond\": `Zeit eingeben (Stunde, Minute und Sekunde)`,\n \"Time.startTime\": `Startzeit`,\n clearInput: `Eingabewert löschen`,\n};\n","/**\n * Pre-compiled es messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Indicar tiempo`,\n \"Time.enterTimeHour\": `Indicar tiempo (hora)`,\n \"Time.enterTimeHourMinute\": `Indicar tiempo (hora y minuto)`,\n \"Time.enterTimeHourMinuteSecond\": `Indicar tiempo (hora, minuto y segundo)`,\n \"Time.startTime\": `Iniciar tiempo`,\n clearInput: `Eliminar valor de entrada`,\n};\n","/**\n * Pre-compiled fr-FR messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Saisir l'heure`,\n \"Time.enterTimeHour\": `Saisir l'heure (heure)`,\n \"Time.enterTimeHourMinute\": `Saisir l'heure (heure et minute)`,\n \"Time.enterTimeHourMinuteSecond\": `Saisir l'heure (heure, minute et seconde)`,\n \"Time.startTime\": `Heure de début`,\n clearInput: `Effacer la valeur saisie`,\n};\n","/**\n * Pre-compiled pt-BR messages for DatePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n \"Time.enterTime\": `Inserir hora`,\n \"Time.enterTimeHour\": `Inserir hora (hora)`,\n \"Time.enterTimeHourMinute\": `Inserir hora (hora e minutos)`,\n \"Time.enterTimeHourMinuteSecond\": `Inserir hora (hora, minutos e segundos)`,\n \"Time.startTime\": `Hora de início`,\n clearInput: `Limpar valores inseridos`,\n};\n","/**\n * Pre-compiled localized messages for DatePicker component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport datePickerMessages_en from \"./intl/en\";\nimport datePickerMessages_de from \"./intl/de\";\nimport datePickerMessages_es from \"./intl/es\";\nimport datePickerMessages_fr from \"./intl/fr-FR\";\nimport datePickerMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const datePickerMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(datePickerMessages_en),\n de: normalizeMessages(datePickerMessages_de),\n es: normalizeMessages(datePickerMessages_es),\n \"fr-FR\": normalizeMessages(datePickerMessages_fr),\n \"pt-BR\": normalizeMessages(datePickerMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for DatePicker component\n */\nexport type DatePickerMessageKey =\n | \"Time.enterTime\"\n | \"Time.enterTimeHour\"\n | \"Time.enterTimeHourMinute\"\n | \"Time.enterTimeHourMinuteSecond\"\n | \"Time.startTime\"\n | \"clearInput\";\n","import { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n DatePickerStateContext,\n TimeFieldContext,\n useSlottedContext,\n} from \"react-aria-components\";\nimport type { PressEvent, TimeValue } from \"react-aria\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { datePickerMessagesStrings } from \"../date-picker.messages\";\n\n/**\n * DatePickerCustomContext - Custom context provider for DatePicker\n *\n * Provides React Aria context overrides for button and time input slots,\n * enabling coordinated behavior between DatePicker parts.\n */\nexport const DatePickerCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const msg = useLocalizedStringFormatter(datePickerMessagesStrings);\n const buttonContext = useSlottedContext(ButtonContext) || {};\n const datePickerState = useContext(DatePickerStateContext);\n const noInputValue = datePickerState?.dateValue === null;\n\n const { timeValue, setTimeValue, granularity } = datePickerState!;\n\n // Try to get disabled state from the button context\n const isDatePickerDisabled = buttonContext?.isDisabled;\n\n // Generate default aria-label based on granularity if not provided\n const getDefaultTimeInputAriaLabel = () => {\n switch (granularity) {\n case \"hour\":\n return msg.format(\"Time.enterTimeHour\");\n case \"minute\":\n return msg.format(\"Time.enterTimeHourMinute\");\n case \"second\":\n return msg.format(\"Time.enterTimeHourMinuteSecond\");\n default:\n return msg.format(\"Time.enterTime\");\n }\n };\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n /** toggles the calendar popover */\n calendarToggle: {\n ...buttonContext,\n onPress: (event: PressEvent) => {\n // Ensure any active input (e.g., date picker segment) loses focus\n // because blurring the input will close the popover if it's open (or was just opened)\n const activeElement = document?.activeElement as HTMLElement | null;\n\n if (activeElement) {\n activeElement.blur();\n }\n\n buttonContext.onPress?.(event);\n },\n },\n /** Clear button that displays when there's a value in each segment - hidden from both visual and screen readers when there's no value */\n clear: {\n onPress: () => datePickerState?.setValue(null),\n \"aria-label\": msg.format(\"clearInput\"),\n isDisabled: isDatePickerDisabled,\n // Hide the button when there's no value\n style: noInputValue ? { display: \"none\" } : undefined,\n \"aria-hidden\": noInputValue ? true : undefined,\n },\n };\n\n /**\n * TimeInput slots\n * ================================\n */\n\n const timeInputSlots = {\n timeInput: {\n value: timeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null) {\n setTimeValue(value);\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(),\n },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n slots: buttonSlots,\n },\n ],\n [TimeFieldContext, { slots: timeInputSlots }],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import { Flex, Text, TimeInput } from \"@/components\";\nimport { useContext, useRef, useEffect } from \"react\";\nimport { DatePickerStateContext } from \"react-aria-components\";\nimport type { DatePickerTimeInputProps } from \"../date-picker.types\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { datePickerMessagesStrings } from \"../date-picker.messages\";\n\n/**\n * DatePickerTimeInput - Time input component displayed in DatePicker popover footer\n *\n * Only renders when granularity requires time selection (hour, minute, second).\n * Automatically focuses when user selects a date from the calendar.\n *\n * @supportsStyleProps\n */\nexport const DatePickerTimeInput = ({\n hideTimeZone,\n hourCycle,\n}: DatePickerTimeInputProps) => {\n const msg = useLocalizedStringFormatter(datePickerMessagesStrings);\n const datePickerState = useContext(DatePickerStateContext);\n const { granularity, dateValue } = datePickerState!;\n const timeInputRef = useRef<HTMLDivElement>(null);\n const previousDateRef = useRef(dateValue);\n\n // do not show up to the party if you're not invited\n if (granularity === \"day\") {\n return null;\n }\n\n // Focus the time input when date changes (user selects a date from calendar)\n useEffect(() => {\n // Check if date changed\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n if (dateValue && previousDateRef.current?.compare(dateValue) !== 0) {\n // Only auto-focus if no time input segment currently has focus\n // This prevents stealing focus during user interaction with time segments\n const container = timeInputRef.current;\n const activeElement = document.activeElement;\n const hasTimeSegmentFocus =\n container?.contains(activeElement) &&\n activeElement?.getAttribute(\"role\") === \"spinbutton\";\n\n if (!hasTimeSegmentFocus) {\n // Small delay to ensure the DOM is ready\n timeoutId = setTimeout(() => {\n // Find the first focusable segment within the time input container\n if (container) {\n const firstSegment = container.querySelector(\n '[role=\"spinbutton\"]'\n ) as HTMLElement;\n firstSegment?.focus();\n }\n }, 50);\n }\n }\n\n previousDateRef.current = dateValue;\n\n // Cleanup timeout on effect re-run or unmount to prevent memory leaks\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [dateValue]);\n\n return (\n <Flex\n ref={timeInputRef}\n borderTop=\"solid-25\"\n borderColor=\"neutral.3\"\n py=\"300\"\n px=\"400\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"200\"\n >\n <Text textStyle=\"xs\" fontWeight=\"500\" color=\"neutral.12\">\n {msg.format(\"Time.startTime\")}\n </Text>\n <TimeInput\n slot=\"timeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n );\n};\n","import {\n DatePickerRootSlot,\n DatePickerGroupSlot,\n DatePickerPopoverSlot,\n DatePickerCalendarSlot,\n} from \"./date-picker.slots\";\n\nimport { CalendarMonth, Close } from \"@commercetools/nimbus-icons\";\n\nimport {\n DatePicker as ReactAriaDatePicker,\n Group,\n Popover,\n Dialog,\n} from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { datePickerSlotRecipe } from \"./date-picker.recipe\";\nimport type { DatePickerProps } from \"./date-picker.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { DateInput, Calendar, IconButton, Box } from \"@/components\";\nimport { DatePickerTimeInput, DatePickerCustomContext } from \"./components\";\n\n/**\n * # DatePicker\n *\n * a UI component for users to enter or select a specific calendar date.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/datepicker}\n */\nexport const DatePicker = (props: DatePickerProps) => {\n const {\n size = \"md\",\n variant,\n granularity = \"day\",\n hideTimeZone,\n hourCycle,\n } = props;\n const recipe = useSlotRecipe({ recipe: datePickerSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n // the size of the buttons overlaying the input\n const overlayButtonSize = size === \"md\" ? \"xs\" : \"2xs\";\n\n // When granularity is \"day\", use the prop value (defaults to true if not provided)\n // For other granularities (time-based), force to false so users can set both date and time\n const shouldCloseOnSelect =\n granularity === \"day\" ? props.shouldCloseOnSelect : false;\n\n return (\n <DatePickerRootSlot {...recipeProps} {...styleProps} asChild>\n <ReactAriaDatePicker\n {...otherProps}\n shouldCloseOnSelect={shouldCloseOnSelect}\n >\n <DatePickerCustomContext>\n <DatePickerGroupSlot asChild>\n <Group>\n <DateInput\n size={size}\n variant={variant}\n width=\"full\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n trailingElement={\n <Box>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"clear\"\n >\n <Close />\n </IconButton>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"calendarToggle\"\n >\n <CalendarMonth />\n </IconButton>\n </Box>\n }\n />\n </Group>\n </DatePickerGroupSlot>\n <DatePickerPopoverSlot asChild>\n <Popover placement=\"bottom end\">\n <Dialog>\n <DatePickerCalendarSlot>\n <Calendar />\n </DatePickerCalendarSlot>\n <DatePickerTimeInput\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Dialog>\n </Popover>\n </DatePickerPopoverSlot>\n </DatePickerCustomContext>\n </ReactAriaDatePicker>\n </DatePickerRootSlot>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","DatePickerRootSlot","DatePickerGroupSlot","DatePickerPopoverSlot","DatePickerCalendarSlot","datePickerMessages_en","datePickerMessages_de","datePickerMessages_es","datePickerMessages_fr","datePickerMessages_pt","datePickerMessagesStrings","normalizeMessages","DatePickerCustomContext","children","msg","useLocalizedStringFormatter","buttonContext","useSlottedContext","ButtonContext","datePickerState","useContext","DatePickerStateContext","noInputValue","timeValue","setTimeValue","granularity","isDatePickerDisabled","getDefaultTimeInputAriaLabel","buttonSlots","event","activeElement","timeInputSlots","value","jsx","Provider","TimeFieldContext","DatePickerTimeInput","hideTimeZone","hourCycle","dateValue","timeInputRef","useRef","previousDateRef","useEffect","timeoutId","container","jsxs","Flex","Text","TimeInput","DatePicker","props","size","variant","recipe","useSlotRecipe","datePickerSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","overlayButtonSize","shouldCloseOnSelect","ReactAriaDatePicker","Group","DateInput","Box","IconButton","Close","CalendarMonth","Popover","Dialog","Calendar"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,EAAE,cAAAA,GAAc,aAAAC,EAAA,IAAgB,gBAAAC,EAAwB;AAAA,EAC5D,KAAK;AACP,CAAC,GAMYC,IAAqB,gBAAAH,EAGhC,OAAO,MAAM,GAKFI,IAAsB,gBAAAH,EAGjC,OAAO,OAAO,GAKHI,IAAwB,gBAAAJ,EAGnC,OAAO,SAAS,GAKLK,IAAyB,gBAAAL,EAGpC,OAAO,UAAU,GCpCnBM,IAAe;AAAA,EACb,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,kCAAkC;AAAA,EAClC,kBAAkB;AAAA,EAClB,YAAY;AACd,GCPAC,IAAe;AAAA,EACb,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,kCAAkC;AAAA,EAClC,kBAAkB;AAAA,EAClB,YAAY;AACd,GCPAC,IAAe;AAAA,EACb,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,kCAAkC;AAAA,EAClC,kBAAkB;AAAA,EAClB,YAAY;AACd,GCPAC,IAAe;AAAA,EACb,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,kCAAkC;AAAA,EAClC,kBAAkB;AAAA,EAClB,YAAY;AACd,GCPAC,KAAe;AAAA,EACb,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,kCAAkC;AAAA,EAClC,kBAAkB;AAAA,EAClB,YAAY;AACd,GCUaC,IAGT;AAAA,EACF,IAAI,gBAAAC,EAAkBN,CAAqB;AAAA,EAC3C,IAAI,gBAAAM,EAAkBL,CAAqB;AAAA,EAC3C,IAAI,gBAAAK,EAAkBJ,CAAqB;AAAA,EAC3C,SAAS,gBAAAI,EAAkBH,CAAqB;AAAA,EAChD,SAAS,gBAAAG,EAAkBF,EAAqB;AAClD,GCdaG,KAA0B,CAAC;AAAA,EACtC,UAAAC;AACF,MAEM;AACJ,QAAMC,IAAMC,EAA4BL,CAAyB,GAC3DM,IAAgBC,EAAkBC,CAAa,KAAK,CAAA,GACpDC,IAAkBC,EAAWC,CAAsB,GACnDC,IAAeH,GAAiB,cAAc,MAE9C,EAAE,WAAAI,GAAW,cAAAC,GAAc,aAAAC,EAAA,IAAgBN,GAG3CO,IAAuBV,GAAe,YAGtCW,IAA+B,MAAM;AACzC,YAAQF,GAAA;AAAA,MACN,KAAK;AACH,eAAOX,EAAI,OAAO,oBAAoB;AAAA,MACxC,KAAK;AACH,eAAOA,EAAI,OAAO,0BAA0B;AAAA,MAC9C,KAAK;AACH,eAAOA,EAAI,OAAO,gCAAgC;AAAA,MACpD;AACE,eAAOA,EAAI,OAAO,gBAAgB;AAAA,IAAA;AAAA,EAExC,GAMMc,IAAc;AAAA;AAAA,IAElB,gBAAgB;AAAA,MACd,GAAGZ;AAAA,MACH,SAAS,CAACa,MAAsB;AAG9B,cAAMC,IAAgB,UAAU;AAEhC,QAAIA,KACFA,EAAc,KAAA,GAGhBd,EAAc,UAAUa,CAAK;AAAA,MAC/B;AAAA,IAAA;AAAA;AAAA,IAGF,OAAO;AAAA,MACL,SAAS,MAAMV,GAAiB,SAAS,IAAI;AAAA,MAC7C,cAAcL,EAAI,OAAO,YAAY;AAAA,MACrC,YAAYY;AAAA;AAAA,MAEZ,OAAOJ,IAAe,EAAE,SAAS,WAAW;AAAA,MAC5C,eAAeA,IAAe,KAAO;AAAA,IAAA;AAAA,EACvC,GAQIS,IAAiB;AAAA,IACrB,WAAW;AAAA,MACT,OAAOR;AAAA,MACP,UAAU,CAACS,MAA4B;AACrC,QAAIA,MAAU,QACZR,EAAaQ,CAAK;AAAA,MAEtB;AAAA,MACA,aAAaP,MAAgB,QAAQ,SAAYA;AAAA,MACjD,cAAcE,EAAA;AAAA,IAA6B;AAAA,EAC7C;AAGF,SACE,gBAAAM;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,QAAQ;AAAA,QACN;AAAA,UACEhB;AAAAA,UACA;AAAA,YACE,OAAOU;AAAA,UAAA;AAAA,QACT;AAAA,QAEF,CAACO,GAAkB,EAAE,OAAOJ,GAAgB;AAAA,MAAA;AAAA,MAG7C,UAAAlB;AAAA,IAAA;AAAA,EAAA;AAGP,GChGauB,KAAsB,CAAC;AAAA,EAClC,cAAAC;AAAA,EACA,WAAAC;AACF,MAAgC;AAC9B,QAAMxB,IAAMC,EAA4BL,CAAyB,GAC3DS,IAAkBC,EAAWC,CAAsB,GACnD,EAAE,aAAAI,GAAa,WAAAc,EAAA,IAAcpB,GAC7BqB,IAAeC,EAAuB,IAAI,GAC1CC,IAAkBD,EAAOF,CAAS;AAGxC,SAAId,MAAgB,QACX,QAITkB,EAAU,MAAM;AAEd,QAAIC;AAEJ,QAAIL,KAAaG,EAAgB,SAAS,QAAQH,CAAS,MAAM,GAAG;AAGlE,YAAMM,IAAYL,EAAa,SACzBV,IAAgB,SAAS;AAK/B,MAHEe,GAAW,SAASf,CAAa,KACjCA,GAAe,aAAa,MAAM,MAAM,iBAIxCc,IAAY,WAAW,MAAM;AAE3B,QAAIC,KACmBA,EAAU;AAAA,UAC7B;AAAA,QAAA,GAEY,MAAA;AAAA,MAElB,GAAG,EAAE;AAAA,IAET;AAEA,WAAAH,EAAgB,UAAUH,GAGnB,MAAM;AACX,MAAIK,KACF,aAAaA,CAAS;AAAA,IAE1B;AAAA,EACF,GAAG,CAACL,CAAS,CAAC,GAGZ,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKP;AAAA,MACL,WAAU;AAAA,MACV,aAAY;AAAA,MACZ,IAAG;AAAA,MACH,IAAG;AAAA,MACH,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,KAAI;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAP,EAACe,GAAA,EAAK,WAAU,MAAK,YAAW,OAAM,OAAM,cACzC,UAAAlC,EAAI,OAAO,gBAAgB,EAAA,CAC9B;AAAA,QACA,gBAAAmB;AAAA,UAACgB;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,cAAAZ;AAAA,YACA,WAAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN,GC9DaY,KAAa,CAACC,MAA2B;AACpD,QAAM;AAAA,IACJ,MAAAC,IAAO;AAAA,IACP,SAAAC;AAAA,IACA,aAAA5B,IAAc;AAAA,IACd,cAAAY;AAAA,IACA,WAAAC;AAAA,EAAA,IACEa,GACEG,IAASC,EAAc,EAAE,QAAQC,GAAsB,GACvD,CAACC,GAAaC,CAAc,IAAIJ,EAAO,kBAAkBH,CAAK,GAC9D,CAACQ,GAAYC,CAAU,IAAIC,EAAkBH,CAAc,GAG3DI,IAAoBV,MAAS,OAAO,OAAO,OAI3CW,IACJtC,MAAgB,QAAQ0B,EAAM,sBAAsB;AAEtD,2BACGlD,GAAA,EAAoB,GAAGwD,GAAc,GAAGE,GAAY,SAAO,IAC1D,UAAA,gBAAA1B;AAAA,IAAC+B;AAAAA,IAAA;AAAA,MACE,GAAGJ;AAAA,MACJ,qBAAAG;AAAA,MAEA,4BAACnD,IAAA,EACC,UAAA;AAAA,QAAA,gBAAAqB,EAAC/B,GAAA,EAAoB,SAAO,IAC1B,UAAA,gBAAA+B,EAACgC,GAAA,EACC,UAAA,gBAAAhC;AAAA,UAACiC;AAAA,UAAA;AAAA,YACC,MAAAd;AAAA,YACA,SAAAC;AAAA,YACA,OAAM;AAAA,YACN,cAAAhB;AAAA,YACA,WAAAC;AAAA,YACA,mCACG6B,GAAA,EACC,UAAA;AAAA,cAAA,gBAAAlC;AAAA,gBAACmC;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAMN;AAAA,kBACN,MAAK;AAAA,kBAEL,4BAACO,GAAA,CAAA,CAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,cAET,gBAAApC;AAAA,gBAACmC;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAMN;AAAA,kBACN,MAAK;AAAA,kBAEL,4BAACQ,GAAA,CAAA,CAAc;AAAA,gBAAA;AAAA,cAAA;AAAA,YACjB,EAAA,CACF;AAAA,UAAA;AAAA,QAAA,GAGN,EAAA,CACF;AAAA,QACA,gBAAArC,EAAC9B,KAAsB,SAAO,IAC5B,4BAACoE,GAAA,EAAQ,WAAU,cACjB,UAAA,gBAAAzB,EAAC0B,GAAA,EACC,UAAA;AAAA,UAAA,gBAAAvC,EAAC7B,GAAA,EACC,UAAA,gBAAA6B,EAACwC,GAAA,CAAA,CAAS,GACZ;AAAA,UACA,gBAAAxC;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,cAAAC;AAAA,cACA,WAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF,GACF,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAEAY,GAAW,cAAc;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs as f, jsx as n } from "react/jsx-runtime";
2
2
  import { createSlotRecipeContext as E } from "@chakra-ui/react";
3
3
  import { Close as L, CalendarMonth as V } from "@commercetools/nimbus-icons";
4
- import { $ as D, a as F } from "./DatePicker-yMmjwrzP.es.js";
4
+ import { $ as D, a as F } from "./DatePicker-CL72jbDo.es.js";
5
5
  import { $ as w, k as _ } from "./Dialog-B0BQfdQa.es.js";
6
6
  import { $ as A } from "./Group-BQc9LuMT.es.js";
7
7
  import { useSlotRecipe as B } from "@chakra-ui/react/styled-system";
@@ -11,12 +11,12 @@ import { useContext as k, useRef as P, useEffect as j } from "react";
11
11
  import { n as T, u as R } from "./normalize-messages-D5T4I93D.es.js";
12
12
  import { Flex as $ } from "@chakra-ui/react/flex";
13
13
  import { T as M } from "./text-CIb_VDvO.es.js";
14
- import { T as x } from "./time-input-C_igRgEc.es.js";
14
+ import { T as x } from "./time-input-CCuIFoY2.es.js";
15
15
  import { $ as y } from "./Button-BjcDZ5eb.es.js";
16
16
  import { c as G, e as K } from "./utils-B6pV5ewr.es.js";
17
- import { o as q } from "./DateField-C0JaKbSn.es.js";
17
+ import { o as q } from "./DateField-DCWy1Ysp.es.js";
18
18
  import { R as N } from "./range-calendar-CEIaa08T.es.js";
19
- import { D as z } from "./date-input-BR-AeTsM.es.js";
19
+ import { D as z } from "./date-input-Cd9q4qBj.es.js";
20
20
  import { I } from "./icon-button-CosIm3oY.es.js";
21
21
  const { withProvider: J, withContext: H } = /* @__PURE__ */ E({
22
22
  key: "dateRangePicker"
@@ -361,4 +361,4 @@ se.displayName = "DateRangePicker";
361
361
  export {
362
362
  se as D
363
363
  };
364
- //# sourceMappingURL=date-range-picker-D3cnZQYb.es.js.map
364
+ //# sourceMappingURL=date-range-picker-BnbKgO1E.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-picker-D3cnZQYb.es.js","sources":["../../src/components/date-range-picker/date-range-picker.slots.tsx","../../src/components/date-range-picker/intl/en.ts","../../src/components/date-range-picker/intl/de.ts","../../src/components/date-range-picker/intl/es.ts","../../src/components/date-range-picker/intl/fr-FR.ts","../../src/components/date-range-picker/intl/pt-BR.ts","../../src/components/date-range-picker/date-range-picker.messages.ts","../../src/components/date-range-picker/components/date-range-picker.time-input.tsx","../../src/components/date-range-picker/components/date-range-picker.custom-context.tsx","../../src/components/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import {\n type HTMLChakraProps,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport type { DateRangePickerRootSlotProps } from \"./date-range-picker.types\";\n\n// Correctly destructure from createSlotRecipeContext based on project examples\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"dateRangePicker\",\n});\n\n/**\n * Root component that provides the styling context for the DateRangePicker component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const DateRangePickerRootSlot = withProvider<\n HTMLDivElement,\n DateRangePickerRootSlotProps\n>(\"div\", \"root\");\n\n/**\n * Slot component for the input group containing the DateInput and trigger button.\n */\nexport const DateRangePickerGroupSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"group\");\n\n/**\n * Slot component for the trigger button that opens the calendar popover.\n */\nexport const DateRangePickerTriggerSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"trigger\");\n\n/**\n * Slot component for the popover container.\n */\nexport const DateRangePickerPopoverSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"popover\");\n\n/**\n * Slot component for the calendar container within the popover.\n */\nexport const DateRangePickerCalendarSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"calendar\");\n\n/**\n * Slot component for the calendar header.\n */\nexport const DateRangePickerCalendarHeaderSlot = withContext<\n HTMLElement,\n HTMLChakraProps<\"header\">\n>(\"header\", \"calendarHeader\");\n\n/**\n * Slot component for the calendar grid.\n */\nexport const DateRangePickerCalendarGridSlot = withContext<\n HTMLTableElement,\n HTMLChakraProps<\"table\">\n>(\"table\", \"calendarGrid\");\n\n/**\n * Slot component for individual calendar cells.\n */\nexport const DateRangePickerCalendarCellSlot = withContext<\n HTMLTableCellElement,\n HTMLChakraProps<\"td\">\n>(\"td\", \"calendarCell\");\n","/**\n * Pre-compiled en messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Clear input value`,\n clearSelection: `Clear date range`,\n endTime: `End time`,\n endTimeHour: `End time (hour)`,\n endTimeHourMinute: `End time (hour and minute)`,\n endTimeHourMinuteSecond: `End time (hour, minute, and second)`,\n endTimeLabel: `End time`,\n openCalendar: `Open calendar`,\n startTime: `Start time`,\n startTimeHour: `Start time (hour)`,\n startTimeHourMinute: `Start time (hour and minute)`,\n startTimeHourMinuteSecond: `Start time (hour, minute, and second)`,\n startTimeLabel: `Start time`,\n};\n","/**\n * Pre-compiled de messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Eingabewert löschen`,\n clearSelection: `Datumsbereich löschen`,\n endTime: `Endzeit`,\n endTimeHour: `Endzeit (Stunde)`,\n endTimeHourMinute: `Endzeit (Stunde und Minute)`,\n endTimeHourMinuteSecond: `Endzeit (Stunde, Minute und Sekunde)`,\n endTimeLabel: `Endzeit`,\n openCalendar: `Kalender öffnen`,\n startTime: `Startzeit`,\n startTimeHour: `Startzeit (Stunde)`,\n startTimeHourMinute: `Startzeit (Stunde und Minute)`,\n startTimeHourMinuteSecond: `Startzeit (Stunde, Minute und Sekunde)`,\n startTimeLabel: `Startzeit`,\n};\n","/**\n * Pre-compiled es messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Eliminar valor de entrada`,\n clearSelection: `Borrar rango de fechas`,\n endTime: `Finalizar tiempo`,\n endTimeHour: `Finalizar tiempo (hora)`,\n endTimeHourMinute: `Finalizar tiempo (hora y minuto)`,\n endTimeHourMinuteSecond: `Finalizar tiempo (hora, minuto, segundo)`,\n endTimeLabel: `Finalizar tiempo`,\n openCalendar: `Abrir calendario`,\n startTime: `Iniciar tiempo`,\n startTimeHour: `Iniciar tiempo (hora)`,\n startTimeHourMinute: `Iniciar tiempo (hora y minuto)`,\n startTimeHourMinuteSecond: `Iniciar tiempo (hora, minuto y segundo)`,\n startTimeLabel: `Iniciar tiempo`,\n};\n","/**\n * Pre-compiled fr-FR messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Effacer la valeur saisie`,\n clearSelection: `Effacer la plage de dates`,\n endTime: `Heure de fin`,\n endTimeHour: `Heure de fin (heure)`,\n endTimeHourMinute: `Heure de fin (heure et minute)`,\n endTimeHourMinuteSecond: ` Heure de fin (heure, minute et seconde)`,\n endTimeLabel: `Heure de fin`,\n openCalendar: `Ouvrir le calendrier`,\n startTime: `Heure de début`,\n startTimeHour: `Heure de début (heure)`,\n startTimeHourMinute: `Heure de début (heure et minute)`,\n startTimeHourMinuteSecond: `Heure de début (heure, minute et seconde)`,\n startTimeLabel: `Heure de début`,\n};\n","/**\n * Pre-compiled pt-BR messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Limpar valores inseridos`,\n clearSelection: `Limpar intervalo de datas`,\n endTime: `Hora de término`,\n endTimeHour: `Hora de término (hora)`,\n endTimeHourMinute: `Hora de término (hora e minutos)`,\n endTimeHourMinuteSecond: `Hora de término (hora, minutos e segundos)`,\n endTimeLabel: `Hora de término`,\n openCalendar: `Abrir agenda`,\n startTime: `Hora de início`,\n startTimeHour: `Hora de início (hora)`,\n startTimeHourMinute: `Hora de início (hora e minutos)`,\n startTimeHourMinuteSecond: `Hora de início (hora, minutos e segundos)`,\n startTimeLabel: `Hora de início`,\n};\n","/**\n * Pre-compiled localized messages for DateRangePicker component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport dateRangePickerMessages_en from \"./intl/en\";\nimport dateRangePickerMessages_de from \"./intl/de\";\nimport dateRangePickerMessages_es from \"./intl/es\";\nimport dateRangePickerMessages_fr from \"./intl/fr-FR\";\nimport dateRangePickerMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const dateRangePickerMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(dateRangePickerMessages_en),\n de: normalizeMessages(dateRangePickerMessages_de),\n es: normalizeMessages(dateRangePickerMessages_es),\n \"fr-FR\": normalizeMessages(dateRangePickerMessages_fr),\n \"pt-BR\": normalizeMessages(dateRangePickerMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for DateRangePicker component\n */\nexport type DateRangePickerMessageKey =\n | \"clearInput\"\n | \"clearSelection\"\n | \"endTime\"\n | \"endTimeHour\"\n | \"endTimeHourMinute\"\n | \"endTimeHourMinuteSecond\"\n | \"endTimeLabel\"\n | \"openCalendar\"\n | \"startTime\"\n | \"startTimeHour\"\n | \"startTimeHourMinute\"\n | \"startTimeHourMinuteSecond\"\n | \"startTimeLabel\";\n","import { Flex, Text, TimeInput } from \"@/components\";\nimport { useContext, useRef, useEffect } from \"react\";\nimport { DateRangePickerStateContext } from \"react-aria-components\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { dateRangePickerMessagesStrings } from \"../date-range-picker.messages\";\nimport type { DateRangePickerTimeInputProps } from \"../date-range-picker.types\";\n\nexport const DateRangePickerTimeInput = ({\n hideTimeZone,\n hourCycle,\n}: DateRangePickerTimeInputProps) => {\n const msg = useLocalizedStringFormatter(dateRangePickerMessagesStrings);\n const dateRangePickerState = useContext(DateRangePickerStateContext);\n const { granularity, value } = dateRangePickerState!;\n const timeInputRef = useRef<HTMLDivElement>(null);\n const previousValueRef = useRef(value);\n\n // do not show up to the party if you're not invited\n if (granularity === \"day\") {\n return null;\n }\n\n // Focus the time input when date range changes (user selects dates from calendar)\n useEffect(() => {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n // Check if date range changed by comparing start and end dates\n const hasValueChanged =\n (value?.start &&\n previousValueRef.current?.start?.compare(value.start) !== 0) ||\n (value?.end && previousValueRef.current?.end?.compare(value.end) !== 0);\n\n if (hasValueChanged) {\n // Only auto-focus if no time input segment currently has focus\n // This prevents stealing focus during user interaction with time segments\n const container = timeInputRef.current;\n const activeElement = document.activeElement;\n const hasTimeSegmentFocus =\n container?.contains(activeElement) &&\n activeElement?.getAttribute(\"role\") === \"spinbutton\";\n\n if (!hasTimeSegmentFocus) {\n // Small delay to ensure the DOM is ready\n timeoutId = setTimeout(() => {\n // Find the first focusable segment within the time input container\n if (container) {\n const firstSegment = container.querySelector(\n '[role=\"spinbutton\"]'\n ) as HTMLElement;\n\n if (firstSegment) {\n firstSegment.focus();\n }\n }\n }, 50);\n }\n }\n\n previousValueRef.current = value;\n\n // Cleanup timeout on effect re-run or unmount to prevent memory leaks\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [value]);\n\n return (\n <Flex\n ref={timeInputRef}\n borderTop=\"solid-25\"\n borderColor=\"neutral.3\"\n py=\"300\"\n px=\"400\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"200\"\n >\n {/* Start DateInput with separate label */}\n <Flex alignItems=\"center\" gap=\"200\">\n <Text\n textStyle=\"xs\"\n fontWeight=\"500\"\n color=\"neutral.12\"\n minWidth=\"fit-content\"\n >\n {msg.format(\"startTimeLabel\")}\n </Text>\n <TimeInput\n slot=\"startTimeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n\n {/* End DateInput with separate label */}\n <Flex alignItems=\"center\" gap=\"200\">\n <Text\n textStyle=\"xs\"\n fontWeight=\"500\"\n color=\"neutral.12\"\n minWidth=\"fit-content\"\n >\n {msg.format(\"endTimeLabel\")}\n </Text>\n <TimeInput\n slot=\"endTimeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n </Flex>\n );\n};\n","import { useContext, type ReactNode } from \"react\";\nimport {\n Provider,\n ButtonContext,\n DateRangePickerStateContext,\n TimeFieldContext,\n useSlottedContext,\n} from \"react-aria-components\";\nimport type { PressEvent, TimeValue } from \"react-aria\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { dateRangePickerMessagesStrings } from \"../date-range-picker.messages\";\n\nexport const DateRangePickerCustomContext = ({\n children,\n}: {\n children: ReactNode;\n}) => {\n const msg = useLocalizedStringFormatter(dateRangePickerMessagesStrings);\n const buttonContext = useSlottedContext(ButtonContext) || {};\n const dateRangePickerState = useContext(DateRangePickerStateContext);\n\n // Check if all 6 segments (start: day, month, year; end: day, month, year) have values\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const hasCompleteRangeDate = (date: any) =>\n date?.day && date?.month && date?.year;\n\n const incompleteValue =\n !dateRangePickerState?.value ||\n !hasCompleteRangeDate(dateRangePickerState.value.start) ||\n !hasCompleteRangeDate(dateRangePickerState.value.end);\n\n const { granularity } = dateRangePickerState!;\n\n // Extract time values from start and end dates separately\n const startTimeValue =\n dateRangePickerState?.value?.start &&\n \"hour\" in dateRangePickerState.value.start\n ? dateRangePickerState.value.start\n : null;\n const endTimeValue =\n dateRangePickerState?.value?.end && \"hour\" in dateRangePickerState.value.end\n ? dateRangePickerState.value.end\n : null;\n\n // Try to get disabled state from the button context\n const isDateRangePickerDisabled = buttonContext?.isDisabled;\n\n // Generate default aria-label based on granularity if not provided\n const getDefaultTimeInputAriaLabel = (type: \"start\" | \"end\") => {\n const messageKey = type === \"start\" ? \"start\" : \"end\";\n switch (granularity) {\n case \"hour\":\n return msg.format(\n `${messageKey}TimeHour` as \"startTimeHour\" | \"endTimeHour\"\n );\n case \"minute\":\n return msg.format(\n `${messageKey}TimeHourMinute` as\n | \"startTimeHourMinute\"\n | \"endTimeHourMinute\"\n );\n case \"second\":\n return msg.format(\n `${messageKey}TimeHourMinuteSecond` as\n | \"startTimeHourMinuteSecond\"\n | \"endTimeHourMinuteSecond\"\n );\n default:\n return msg.format(`${messageKey}Time` as \"startTime\" | \"endTime\");\n }\n };\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n /** toggles the calendar popover */\n calendarToggle: {\n ...buttonContext,\n onPress: (event: PressEvent) => {\n // Ensure any active input (e.g., date picker segment) loses focus\n // because blurring the input will close the popover if it's open (or was just opened)\n const activeElement = document?.activeElement as HTMLElement | null;\n\n if (activeElement) {\n activeElement.blur();\n }\n\n buttonContext.onPress?.(event);\n },\n },\n /** Clear button that displays when there's a value in each segment - hidden from both visual and screen readers when there's no value */\n clear: {\n // Clear both start and end values\n onPress: () => dateRangePickerState?.setValue(null),\n \"aria-label\": msg.format(\"clearInput\"),\n isDisabled: isDateRangePickerDisabled,\n // Hide the button when there's no value\n style: incompleteValue ? { display: \"none\" } : undefined,\n \"aria-hidden\": incompleteValue ? true : undefined,\n },\n };\n\n /**\n * TimeInput slots\n * ================================\n */\n\n // Separate time input slots for start and end times\n const timeInputSlots = {\n startTimeInput: {\n value: startTimeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null && dateRangePickerState?.value?.start) {\n // Update the start date with the new time\n const currentValue = dateRangePickerState.value;\n const startDate = currentValue.start;\n const endDate = currentValue.end;\n if (startDate && endDate) {\n const newStartDate = startDate.set({\n hour: value.hour,\n minute: value.minute || 0,\n second: value.second || 0,\n millisecond: value.millisecond || 0,\n });\n\n dateRangePickerState.setValue({\n start: newStartDate,\n end: endDate,\n });\n }\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(\"start\"),\n },\n endTimeInput: {\n value: endTimeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null && dateRangePickerState?.value?.end) {\n // Update the end date with the new time\n const currentValue = dateRangePickerState.value;\n const startDate = currentValue.start;\n const endDate = currentValue.end;\n if (startDate && endDate) {\n const newEndDate = endDate.set({\n hour: value.hour,\n minute: value.minute || 0,\n second: value.second || 0,\n millisecond: value.millisecond || 0,\n });\n\n dateRangePickerState.setValue({\n start: startDate,\n end: newEndDate,\n });\n }\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(\"end\"),\n },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n slots: buttonSlots,\n },\n ],\n [TimeFieldContext, { slots: timeInputSlots }],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import {\n DateRangePickerRootSlot,\n DateRangePickerGroupSlot,\n DateRangePickerTriggerSlot,\n DateRangePickerPopoverSlot,\n DateRangePickerCalendarSlot,\n} from \"./date-range-picker.slots\";\n\nimport { CalendarMonth, Close } from \"@commercetools/nimbus-icons\";\n\nimport {\n DateRangePicker as ReactAriaDateRangePicker,\n Group,\n Popover,\n Dialog,\n} from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { dateRangePickerSlotRecipe } from \"./date-range-picker.recipe\";\nimport type { DateRangePickerProps } from \"./date-range-picker.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { DateInput, RangeCalendar, IconButton, Text } from \"@/components\";\nimport { DateRangePickerTimeInput } from \"./components/date-range-picker.time-input\";\nimport { DateRangePickerCustomContext } from \"./components/date-range-picker.custom-context\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { dateRangePickerMessagesStrings } from \"./date-range-picker.messages\";\n\n/**\n * DateRangePicker\n * ============================================================\n * Combines a DateInput with a RangeCalendar popover for date range selection.\n * Users can either type a date range directly or select from the calendar.\n *\n * @supportsStyleProps\n */\nexport const DateRangePicker = (props: DateRangePickerProps) => {\n const msg = useLocalizedStringFormatter(dateRangePickerMessagesStrings);\n\n // Forward hideTimeZone and hourCycle to child components (footer time inputs)\n const { granularity = \"day\", hideTimeZone, hourCycle } = props;\n const recipe = useSlotRecipe({ recipe: dateRangePickerSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n // Extract size and variant from recipe props to pass to DateInputs\n const { size = \"md\" } = recipeProps;\n\n // the size of the buttons overlaying the input\n const overlayButtonSize = size === \"md\" ? \"xs\" : \"2xs\";\n\n // When granularity is \"day\", use the prop value (defaults to true if not provided)\n // For other granularities (time-based), force to false so users can set both date and time\n const shouldCloseOnSelect =\n granularity === \"day\" ? props.shouldCloseOnSelect : false;\n\n return (\n <DateRangePickerRootSlot {...recipeProps} {...styleProps} asChild>\n <ReactAriaDateRangePicker\n {...otherProps}\n shouldCloseOnSelect={shouldCloseOnSelect}\n >\n <DateRangePickerCustomContext>\n <DateRangePickerGroupSlot asChild>\n <Group>\n <DateInput\n slot=\"start\"\n size={props.size}\n variant=\"plain\"\n width=\"auto\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n <Text\n as=\"span\"\n px=\"150\"\n color=\"neutral.11\"\n userSelect=\"none\"\n aria-hidden=\"true\"\n slot={null}\n >\n –\n </Text>\n <DateInput\n slot=\"end\"\n size={props.size}\n variant=\"plain\"\n width=\"auto\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n <DateRangePickerTriggerSlot>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"clear\"\n aria-label={msg.format(\"clearSelection\")}\n >\n <Close />\n </IconButton>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"calendarToggle\"\n aria-label={msg.format(\"openCalendar\")}\n >\n <CalendarMonth />\n </IconButton>\n </DateRangePickerTriggerSlot>\n </Group>\n </DateRangePickerGroupSlot>\n <DateRangePickerPopoverSlot asChild>\n <Popover placement=\"bottom end\">\n <Dialog>\n <DateRangePickerCalendarSlot>\n <RangeCalendar />\n </DateRangePickerCalendarSlot>\n <DateRangePickerTimeInput\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Dialog>\n </Popover>\n </DateRangePickerPopoverSlot>\n </DateRangePickerCustomContext>\n </ReactAriaDateRangePicker>\n </DateRangePickerRootSlot>\n );\n};\n\nDateRangePicker.displayName = \"DateRangePicker\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","DateRangePickerRootSlot","DateRangePickerGroupSlot","DateRangePickerTriggerSlot","DateRangePickerPopoverSlot","DateRangePickerCalendarSlot","dateRangePickerMessages_en","dateRangePickerMessages_de","dateRangePickerMessages_es","dateRangePickerMessages_fr","dateRangePickerMessages_pt","dateRangePickerMessagesStrings","normalizeMessages","DateRangePickerTimeInput","hideTimeZone","hourCycle","msg","useLocalizedStringFormatter","dateRangePickerState","useContext","DateRangePickerStateContext","granularity","value","timeInputRef","useRef","previousValueRef","useEffect","timeoutId","container","activeElement","firstSegment","jsxs","Flex","jsx","Text","TimeInput","DateRangePickerCustomContext","children","buttonContext","useSlottedContext","ButtonContext","hasCompleteRangeDate","date","incompleteValue","startTimeValue","endTimeValue","isDateRangePickerDisabled","getDefaultTimeInputAriaLabel","type","messageKey","buttonSlots","event","timeInputSlots","currentValue","startDate","endDate","newStartDate","newEndDate","Provider","TimeFieldContext","DateRangePicker","props","recipe","useSlotRecipe","dateRangePickerSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","size","overlayButtonSize","shouldCloseOnSelect","ReactAriaDateRangePicker","Group","DateInput","IconButton","Close","CalendarMonth","Popover","Dialog","RangeCalendar"],"mappings":";;;;;;;;;;;;;;;;;;;;AAOA,MAAM,EAAE,cAAAA,GAAc,aAAAC,EAAA,IAAgB,gBAAAC,EAAwB;AAAA,EAC5D,KAAK;AACP,CAAC,GAMYC,IAA0B,gBAAAH,EAGrC,OAAO,MAAM,GAKFI,IAA2B,gBAAAH,EAGtC,OAAO,OAAO,GAKHI,IAA6B,gBAAAJ,EAGxC,OAAO,SAAS,GAKLK,IAA6B,gBAAAL,EAGxC,OAAO,SAAS,GAKLM,IAA8B,gBAAAN,EAGzC,OAAO,UAAU,GC5CnBO,KAAe;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,WAAW;AAAA,EACX,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,gBAAgB;AAClB,GCdAC,KAAe;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,WAAW;AAAA,EACX,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,gBAAgB;AAClB,GCdAC,KAAe;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,WAAW;AAAA,EACX,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,gBAAgB;AAClB,GCdAC,KAAe;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,WAAW;AAAA,EACX,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,gBAAgB;AAClB,GCdAC,KAAe;AAAA,EACb,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,WAAW;AAAA,EACX,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,gBAAgB;AAClB,GCGaC,IAGT;AAAA,EACF,IAAI,gBAAAC,EAAkBN,EAA0B;AAAA,EAChD,IAAI,gBAAAM,EAAkBL,EAA0B;AAAA,EAChD,IAAI,gBAAAK,EAAkBJ,EAA0B;AAAA,EAChD,SAAS,gBAAAI,EAAkBH,EAA0B;AAAA,EACrD,SAAS,gBAAAG,EAAkBF,EAA0B;AACvD,GCzBaG,KAA2B,CAAC;AAAA,EACvC,cAAAC;AAAA,EACA,WAAAC;AACF,MAAqC;AACnC,QAAMC,IAAMC,EAA4BN,CAA8B,GAChEO,IAAuBC,EAAWC,CAA2B,GAC7D,EAAE,aAAAC,GAAa,OAAAC,EAAA,IAAUJ,GACzBK,IAAeC,EAAuB,IAAI,GAC1CC,IAAmBD,EAAOF,CAAK;AAGrC,SAAID,MAAgB,QACX,QAITK,EAAU,MAAM;AACd,QAAIC;AAQJ,QAJGL,GAAO,SACNG,EAAiB,SAAS,OAAO,QAAQH,EAAM,KAAK,MAAM,KAC3DA,GAAO,OAAOG,EAAiB,SAAS,KAAK,QAAQH,EAAM,GAAG,MAAM,GAElD;AAGnB,YAAMM,IAAYL,EAAa,SACzBM,IAAgB,SAAS;AAK/B,MAHED,GAAW,SAASC,CAAa,KACjCA,GAAe,aAAa,MAAM,MAAM,iBAIxCF,IAAY,WAAW,MAAM;AAE3B,YAAIC,GAAW;AACb,gBAAME,IAAeF,EAAU;AAAA,YAC7B;AAAA,UAAA;AAGF,UAAIE,KACFA,EAAa,MAAA;AAAA,QAEjB;AAAA,MACF,GAAG,EAAE;AAAA,IAET;AAEA,WAAAL,EAAiB,UAAUH,GAGpB,MAAM;AACX,MAAIK,KACF,aAAaA,CAAS;AAAA,IAE1B;AAAA,EACF,GAAG,CAACL,CAAK,CAAC,GAGR,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKT;AAAA,MACL,WAAU;AAAA,MACV,aAAY;AAAA,MACZ,IAAG;AAAA,MACH,IAAG;AAAA,MACH,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,KAAI;AAAA,MAGJ,UAAA;AAAA,QAAA,gBAAAQ,EAACC,GAAA,EAAK,YAAW,UAAS,KAAI,OAC5B,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,YAAW;AAAA,cACX,OAAM;AAAA,cACN,UAAS;AAAA,cAER,UAAAlB,EAAI,OAAO,gBAAgB;AAAA,YAAA;AAAA,UAAA;AAAA,UAE9B,gBAAAiB;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,cAAArB;AAAA,cACA,WAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,GACF;AAAA,QAGA,gBAAAgB,EAACC,GAAA,EAAK,YAAW,UAAS,KAAI,OAC5B,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,YAAW;AAAA,cACX,OAAM;AAAA,cACN,UAAS;AAAA,cAER,UAAAlB,EAAI,OAAO,cAAc;AAAA,YAAA;AAAA,UAAA;AAAA,UAE5B,gBAAAiB;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,cAAArB;AAAA,cACA,WAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GC1GaqB,KAA+B,CAAC;AAAA,EAC3C,UAAAC;AACF,MAEM;AACJ,QAAMrB,IAAMC,EAA4BN,CAA8B,GAChE2B,IAAgBC,EAAkBC,CAAa,KAAK,CAAA,GACpDtB,IAAuBC,EAAWC,CAA2B,GAI7DqB,IAAuB,CAACC,MAC5BA,GAAM,OAAOA,GAAM,SAASA,GAAM,MAE9BC,IACJ,CAACzB,GAAsB,SACvB,CAACuB,EAAqBvB,EAAqB,MAAM,KAAK,KACtD,CAACuB,EAAqBvB,EAAqB,MAAM,GAAG,GAEhD,EAAE,aAAAG,MAAgBH,GAGlB0B,IACJ1B,GAAsB,OAAO,SAC7B,UAAUA,EAAqB,MAAM,QACjCA,EAAqB,MAAM,QAC3B,MACA2B,IACJ3B,GAAsB,OAAO,OAAO,UAAUA,EAAqB,MAAM,MACrEA,EAAqB,MAAM,MAC3B,MAGA4B,IAA4BR,GAAe,YAG3CS,IAA+B,CAACC,MAA0B;AAC9D,UAAMC,IAAaD,MAAS,UAAU,UAAU;AAChD,YAAQ3B,GAAA;AAAA,MACN,KAAK;AACH,eAAOL,EAAI;AAAA,UACT,GAAGiC,CAAU;AAAA,QAAA;AAAA,MAEjB,KAAK;AACH,eAAOjC,EAAI;AAAA,UACT,GAAGiC,CAAU;AAAA,QAAA;AAAA,MAIjB,KAAK;AACH,eAAOjC,EAAI;AAAA,UACT,GAAGiC,CAAU;AAAA,QAAA;AAAA,MAIjB;AACE,eAAOjC,EAAI,OAAO,GAAGiC,CAAU,MAAiC;AAAA,IAAA;AAAA,EAEtE,GAMMC,IAAc;AAAA;AAAA,IAElB,gBAAgB;AAAA,MACd,GAAGZ;AAAA,MACH,SAAS,CAACa,MAAsB;AAG9B,cAAMtB,IAAgB,UAAU;AAEhC,QAAIA,KACFA,EAAc,KAAA,GAGhBS,EAAc,UAAUa,CAAK;AAAA,MAC/B;AAAA,IAAA;AAAA;AAAA,IAGF,OAAO;AAAA;AAAA,MAEL,SAAS,MAAMjC,GAAsB,SAAS,IAAI;AAAA,MAClD,cAAcF,EAAI,OAAO,YAAY;AAAA,MACrC,YAAY8B;AAAA;AAAA,MAEZ,OAAOH,IAAkB,EAAE,SAAS,WAAW;AAAA,MAC/C,eAAeA,IAAkB,KAAO;AAAA,IAAA;AAAA,EAC1C,GASIS,IAAiB;AAAA,IACrB,gBAAgB;AAAA,MACd,OAAOR;AAAA,MACP,UAAU,CAACtB,MAA4B;AACrC,YAAIA,MAAU,QAAQJ,GAAsB,OAAO,OAAO;AAExD,gBAAMmC,IAAenC,EAAqB,OACpCoC,IAAYD,EAAa,OACzBE,IAAUF,EAAa;AAC7B,cAAIC,KAAaC,GAAS;AACxB,kBAAMC,IAAeF,EAAU,IAAI;AAAA,cACjC,MAAMhC,EAAM;AAAA,cACZ,QAAQA,EAAM,UAAU;AAAA,cACxB,QAAQA,EAAM,UAAU;AAAA,cACxB,aAAaA,EAAM,eAAe;AAAA,YAAA,CACnC;AAED,YAAAJ,EAAqB,SAAS;AAAA,cAC5B,OAAOsC;AAAA,cACP,KAAKD;AAAA,YAAA,CACN;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,MACA,aAAalC,MAAgB,QAAQ,SAAYA;AAAA,MACjD,cAAc0B,EAA6B,OAAO;AAAA,IAAA;AAAA,IAEpD,cAAc;AAAA,MACZ,OAAOF;AAAA,MACP,UAAU,CAACvB,MAA4B;AACrC,YAAIA,MAAU,QAAQJ,GAAsB,OAAO,KAAK;AAEtD,gBAAMmC,IAAenC,EAAqB,OACpCoC,IAAYD,EAAa,OACzBE,IAAUF,EAAa;AAC7B,cAAIC,KAAaC,GAAS;AACxB,kBAAME,IAAaF,EAAQ,IAAI;AAAA,cAC7B,MAAMjC,EAAM;AAAA,cACZ,QAAQA,EAAM,UAAU;AAAA,cACxB,QAAQA,EAAM,UAAU;AAAA,cACxB,aAAaA,EAAM,eAAe;AAAA,YAAA,CACnC;AAED,YAAAJ,EAAqB,SAAS;AAAA,cAC5B,OAAOoC;AAAA,cACP,KAAKG;AAAA,YAAA,CACN;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,MACA,aAAapC,MAAgB,QAAQ,SAAYA;AAAA,MACjD,cAAc0B,EAA6B,KAAK;AAAA,IAAA;AAAA,EAClD;AAGF,SACE,gBAAAd;AAAA,IAACyB;AAAAA,IAAA;AAAA,MACC,QAAQ;AAAA,QACN;AAAA,UACElB;AAAAA,UACA;AAAA,YACE,OAAOU;AAAA,UAAA;AAAA,QACT;AAAA,QAEF,CAACS,GAAkB,EAAE,OAAOP,GAAgB;AAAA,MAAA;AAAA,MAG7C,UAAAf;AAAA,IAAA;AAAA,EAAA;AAGP,GClJauB,KAAkB,CAACC,MAAgC;AAC9D,QAAM7C,IAAMC,EAA4BN,CAA8B,GAGhE,EAAE,aAAAU,IAAc,OAAO,cAAAP,GAAc,WAAAC,MAAc8C,GACnDC,IAASC,EAAc,EAAE,QAAQC,GAA2B,GAC5D,CAACC,GAAaC,CAAc,IAAIJ,EAAO,kBAAkBD,CAAK,GAE9D,CAACM,GAAYC,CAAU,IAAIC,EAAkBH,CAAc,GAG3D,EAAE,MAAAI,IAAO,KAAA,IAASL,GAGlBM,IAAoBD,MAAS,OAAO,OAAO,OAI3CE,IACJnD,MAAgB,QAAQwC,EAAM,sBAAsB;AAEtD,2BACG5D,GAAA,EAAyB,GAAGgE,GAAc,GAAGE,GAAY,SAAO,IAC/D,UAAA,gBAAAlC;AAAA,IAACwC;AAAAA,IAAA;AAAA,MACE,GAAGL;AAAA,MACJ,qBAAAI;AAAA,MAEA,4BAACpC,IAAA,EACC,UAAA;AAAA,QAAA,gBAAAH,EAAC/B,GAAA,EAAyB,SAAO,IAC/B,UAAA,gBAAA6B,EAAC2C,GAAA,EACC,UAAA;AAAA,UAAA,gBAAAzC;AAAA,YAAC0C;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,MAAMd,EAAM;AAAA,cACZ,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,cAAA/C;AAAA,cACA,WAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,UAEF,gBAAAkB;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,IAAG;AAAA,cACH,IAAG;AAAA,cACH,OAAM;AAAA,cACN,YAAW;AAAA,cACX,eAAY;AAAA,cACZ,MAAM;AAAA,cACP,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGD,gBAAAD;AAAA,YAAC0C;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,MAAMd,EAAM;AAAA,cACZ,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,cAAA/C;AAAA,cACA,WAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,4BAEDZ,GAAA,EACC,UAAA;AAAA,YAAA,gBAAA8B;AAAA,cAAC2C;AAAA,cAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAML;AAAA,gBACN,MAAK;AAAA,gBACL,cAAYvD,EAAI,OAAO,gBAAgB;AAAA,gBAEvC,4BAAC6D,GAAA,CAAA,CAAM;AAAA,cAAA;AAAA,YAAA;AAAA,YAET,gBAAA5C;AAAA,cAAC2C;AAAA,cAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAML;AAAA,gBACN,MAAK;AAAA,gBACL,cAAYvD,EAAI,OAAO,cAAc;AAAA,gBAErC,4BAAC8D,GAAA,CAAA,CAAc;AAAA,cAAA;AAAA,YAAA;AAAA,UACjB,EAAA,CACF;AAAA,QAAA,EAAA,CACF,EAAA,CACF;AAAA,QACA,gBAAA7C,EAAC7B,KAA2B,SAAO,IACjC,4BAAC2E,GAAA,EAAQ,WAAU,cACjB,UAAA,gBAAAhD,EAACiD,GAAA,EACC,UAAA;AAAA,UAAA,gBAAA/C,EAAC5B,GAAA,EACC,UAAA,gBAAA4B,EAACgD,GAAA,CAAA,CAAc,GACjB;AAAA,UACA,gBAAAhD;AAAA,YAACpB;AAAA,YAAA;AAAA,cACC,cAAAC;AAAA,cACA,WAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF,GACF,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAEA6C,GAAgB,cAAc;"}
1
+ {"version":3,"file":"date-range-picker-BnbKgO1E.es.js","sources":["../../src/components/date-range-picker/date-range-picker.slots.tsx","../../src/components/date-range-picker/intl/en.ts","../../src/components/date-range-picker/intl/de.ts","../../src/components/date-range-picker/intl/es.ts","../../src/components/date-range-picker/intl/fr-FR.ts","../../src/components/date-range-picker/intl/pt-BR.ts","../../src/components/date-range-picker/date-range-picker.messages.ts","../../src/components/date-range-picker/components/date-range-picker.time-input.tsx","../../src/components/date-range-picker/components/date-range-picker.custom-context.tsx","../../src/components/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import {\n type HTMLChakraProps,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport type { DateRangePickerRootSlotProps } from \"./date-range-picker.types\";\n\n// Correctly destructure from createSlotRecipeContext based on project examples\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"dateRangePicker\",\n});\n\n/**\n * Root component that provides the styling context for the DateRangePicker component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const DateRangePickerRootSlot = withProvider<\n HTMLDivElement,\n DateRangePickerRootSlotProps\n>(\"div\", \"root\");\n\n/**\n * Slot component for the input group containing the DateInput and trigger button.\n */\nexport const DateRangePickerGroupSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"group\");\n\n/**\n * Slot component for the trigger button that opens the calendar popover.\n */\nexport const DateRangePickerTriggerSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"trigger\");\n\n/**\n * Slot component for the popover container.\n */\nexport const DateRangePickerPopoverSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"popover\");\n\n/**\n * Slot component for the calendar container within the popover.\n */\nexport const DateRangePickerCalendarSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"calendar\");\n\n/**\n * Slot component for the calendar header.\n */\nexport const DateRangePickerCalendarHeaderSlot = withContext<\n HTMLElement,\n HTMLChakraProps<\"header\">\n>(\"header\", \"calendarHeader\");\n\n/**\n * Slot component for the calendar grid.\n */\nexport const DateRangePickerCalendarGridSlot = withContext<\n HTMLTableElement,\n HTMLChakraProps<\"table\">\n>(\"table\", \"calendarGrid\");\n\n/**\n * Slot component for individual calendar cells.\n */\nexport const DateRangePickerCalendarCellSlot = withContext<\n HTMLTableCellElement,\n HTMLChakraProps<\"td\">\n>(\"td\", \"calendarCell\");\n","/**\n * Pre-compiled en messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Clear input value`,\n clearSelection: `Clear date range`,\n endTime: `End time`,\n endTimeHour: `End time (hour)`,\n endTimeHourMinute: `End time (hour and minute)`,\n endTimeHourMinuteSecond: `End time (hour, minute, and second)`,\n endTimeLabel: `End time`,\n openCalendar: `Open calendar`,\n startTime: `Start time`,\n startTimeHour: `Start time (hour)`,\n startTimeHourMinute: `Start time (hour and minute)`,\n startTimeHourMinuteSecond: `Start time (hour, minute, and second)`,\n startTimeLabel: `Start time`,\n};\n","/**\n * Pre-compiled de messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Eingabewert löschen`,\n clearSelection: `Datumsbereich löschen`,\n endTime: `Endzeit`,\n endTimeHour: `Endzeit (Stunde)`,\n endTimeHourMinute: `Endzeit (Stunde und Minute)`,\n endTimeHourMinuteSecond: `Endzeit (Stunde, Minute und Sekunde)`,\n endTimeLabel: `Endzeit`,\n openCalendar: `Kalender öffnen`,\n startTime: `Startzeit`,\n startTimeHour: `Startzeit (Stunde)`,\n startTimeHourMinute: `Startzeit (Stunde und Minute)`,\n startTimeHourMinuteSecond: `Startzeit (Stunde, Minute und Sekunde)`,\n startTimeLabel: `Startzeit`,\n};\n","/**\n * Pre-compiled es messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Eliminar valor de entrada`,\n clearSelection: `Borrar rango de fechas`,\n endTime: `Finalizar tiempo`,\n endTimeHour: `Finalizar tiempo (hora)`,\n endTimeHourMinute: `Finalizar tiempo (hora y minuto)`,\n endTimeHourMinuteSecond: `Finalizar tiempo (hora, minuto, segundo)`,\n endTimeLabel: `Finalizar tiempo`,\n openCalendar: `Abrir calendario`,\n startTime: `Iniciar tiempo`,\n startTimeHour: `Iniciar tiempo (hora)`,\n startTimeHourMinute: `Iniciar tiempo (hora y minuto)`,\n startTimeHourMinuteSecond: `Iniciar tiempo (hora, minuto y segundo)`,\n startTimeLabel: `Iniciar tiempo`,\n};\n","/**\n * Pre-compiled fr-FR messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Effacer la valeur saisie`,\n clearSelection: `Effacer la plage de dates`,\n endTime: `Heure de fin`,\n endTimeHour: `Heure de fin (heure)`,\n endTimeHourMinute: `Heure de fin (heure et minute)`,\n endTimeHourMinuteSecond: ` Heure de fin (heure, minute et seconde)`,\n endTimeLabel: `Heure de fin`,\n openCalendar: `Ouvrir le calendrier`,\n startTime: `Heure de début`,\n startTimeHour: `Heure de début (heure)`,\n startTimeHourMinute: `Heure de début (heure et minute)`,\n startTimeHourMinuteSecond: `Heure de début (heure, minute et seconde)`,\n startTimeLabel: `Heure de début`,\n};\n","/**\n * Pre-compiled pt-BR messages for DateRangePicker\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n clearInput: `Limpar valores inseridos`,\n clearSelection: `Limpar intervalo de datas`,\n endTime: `Hora de término`,\n endTimeHour: `Hora de término (hora)`,\n endTimeHourMinute: `Hora de término (hora e minutos)`,\n endTimeHourMinuteSecond: `Hora de término (hora, minutos e segundos)`,\n endTimeLabel: `Hora de término`,\n openCalendar: `Abrir agenda`,\n startTime: `Hora de início`,\n startTimeHour: `Hora de início (hora)`,\n startTimeHourMinute: `Hora de início (hora e minutos)`,\n startTimeHourMinuteSecond: `Hora de início (hora, minutos e segundos)`,\n startTimeLabel: `Hora de início`,\n};\n","/**\n * Pre-compiled localized messages for DateRangePicker component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport dateRangePickerMessages_en from \"./intl/en\";\nimport dateRangePickerMessages_de from \"./intl/de\";\nimport dateRangePickerMessages_es from \"./intl/es\";\nimport dateRangePickerMessages_fr from \"./intl/fr-FR\";\nimport dateRangePickerMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const dateRangePickerMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(dateRangePickerMessages_en),\n de: normalizeMessages(dateRangePickerMessages_de),\n es: normalizeMessages(dateRangePickerMessages_es),\n \"fr-FR\": normalizeMessages(dateRangePickerMessages_fr),\n \"pt-BR\": normalizeMessages(dateRangePickerMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for DateRangePicker component\n */\nexport type DateRangePickerMessageKey =\n | \"clearInput\"\n | \"clearSelection\"\n | \"endTime\"\n | \"endTimeHour\"\n | \"endTimeHourMinute\"\n | \"endTimeHourMinuteSecond\"\n | \"endTimeLabel\"\n | \"openCalendar\"\n | \"startTime\"\n | \"startTimeHour\"\n | \"startTimeHourMinute\"\n | \"startTimeHourMinuteSecond\"\n | \"startTimeLabel\";\n","import { Flex, Text, TimeInput } from \"@/components\";\nimport { useContext, useRef, useEffect } from \"react\";\nimport { DateRangePickerStateContext } from \"react-aria-components\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { dateRangePickerMessagesStrings } from \"../date-range-picker.messages\";\nimport type { DateRangePickerTimeInputProps } from \"../date-range-picker.types\";\n\nexport const DateRangePickerTimeInput = ({\n hideTimeZone,\n hourCycle,\n}: DateRangePickerTimeInputProps) => {\n const msg = useLocalizedStringFormatter(dateRangePickerMessagesStrings);\n const dateRangePickerState = useContext(DateRangePickerStateContext);\n const { granularity, value } = dateRangePickerState!;\n const timeInputRef = useRef<HTMLDivElement>(null);\n const previousValueRef = useRef(value);\n\n // do not show up to the party if you're not invited\n if (granularity === \"day\") {\n return null;\n }\n\n // Focus the time input when date range changes (user selects dates from calendar)\n useEffect(() => {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n // Check if date range changed by comparing start and end dates\n const hasValueChanged =\n (value?.start &&\n previousValueRef.current?.start?.compare(value.start) !== 0) ||\n (value?.end && previousValueRef.current?.end?.compare(value.end) !== 0);\n\n if (hasValueChanged) {\n // Only auto-focus if no time input segment currently has focus\n // This prevents stealing focus during user interaction with time segments\n const container = timeInputRef.current;\n const activeElement = document.activeElement;\n const hasTimeSegmentFocus =\n container?.contains(activeElement) &&\n activeElement?.getAttribute(\"role\") === \"spinbutton\";\n\n if (!hasTimeSegmentFocus) {\n // Small delay to ensure the DOM is ready\n timeoutId = setTimeout(() => {\n // Find the first focusable segment within the time input container\n if (container) {\n const firstSegment = container.querySelector(\n '[role=\"spinbutton\"]'\n ) as HTMLElement;\n\n if (firstSegment) {\n firstSegment.focus();\n }\n }\n }, 50);\n }\n }\n\n previousValueRef.current = value;\n\n // Cleanup timeout on effect re-run or unmount to prevent memory leaks\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, [value]);\n\n return (\n <Flex\n ref={timeInputRef}\n borderTop=\"solid-25\"\n borderColor=\"neutral.3\"\n py=\"300\"\n px=\"400\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"200\"\n >\n {/* Start DateInput with separate label */}\n <Flex alignItems=\"center\" gap=\"200\">\n <Text\n textStyle=\"xs\"\n fontWeight=\"500\"\n color=\"neutral.12\"\n minWidth=\"fit-content\"\n >\n {msg.format(\"startTimeLabel\")}\n </Text>\n <TimeInput\n slot=\"startTimeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n\n {/* End DateInput with separate label */}\n <Flex alignItems=\"center\" gap=\"200\">\n <Text\n textStyle=\"xs\"\n fontWeight=\"500\"\n color=\"neutral.12\"\n minWidth=\"fit-content\"\n >\n {msg.format(\"endTimeLabel\")}\n </Text>\n <TimeInput\n slot=\"endTimeInput\"\n variant=\"ghost\"\n size=\"sm\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Flex>\n </Flex>\n );\n};\n","import { useContext, type ReactNode } from \"react\";\nimport {\n Provider,\n ButtonContext,\n DateRangePickerStateContext,\n TimeFieldContext,\n useSlottedContext,\n} from \"react-aria-components\";\nimport type { PressEvent, TimeValue } from \"react-aria\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { dateRangePickerMessagesStrings } from \"../date-range-picker.messages\";\n\nexport const DateRangePickerCustomContext = ({\n children,\n}: {\n children: ReactNode;\n}) => {\n const msg = useLocalizedStringFormatter(dateRangePickerMessagesStrings);\n const buttonContext = useSlottedContext(ButtonContext) || {};\n const dateRangePickerState = useContext(DateRangePickerStateContext);\n\n // Check if all 6 segments (start: day, month, year; end: day, month, year) have values\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const hasCompleteRangeDate = (date: any) =>\n date?.day && date?.month && date?.year;\n\n const incompleteValue =\n !dateRangePickerState?.value ||\n !hasCompleteRangeDate(dateRangePickerState.value.start) ||\n !hasCompleteRangeDate(dateRangePickerState.value.end);\n\n const { granularity } = dateRangePickerState!;\n\n // Extract time values from start and end dates separately\n const startTimeValue =\n dateRangePickerState?.value?.start &&\n \"hour\" in dateRangePickerState.value.start\n ? dateRangePickerState.value.start\n : null;\n const endTimeValue =\n dateRangePickerState?.value?.end && \"hour\" in dateRangePickerState.value.end\n ? dateRangePickerState.value.end\n : null;\n\n // Try to get disabled state from the button context\n const isDateRangePickerDisabled = buttonContext?.isDisabled;\n\n // Generate default aria-label based on granularity if not provided\n const getDefaultTimeInputAriaLabel = (type: \"start\" | \"end\") => {\n const messageKey = type === \"start\" ? \"start\" : \"end\";\n switch (granularity) {\n case \"hour\":\n return msg.format(\n `${messageKey}TimeHour` as \"startTimeHour\" | \"endTimeHour\"\n );\n case \"minute\":\n return msg.format(\n `${messageKey}TimeHourMinute` as\n | \"startTimeHourMinute\"\n | \"endTimeHourMinute\"\n );\n case \"second\":\n return msg.format(\n `${messageKey}TimeHourMinuteSecond` as\n | \"startTimeHourMinuteSecond\"\n | \"endTimeHourMinuteSecond\"\n );\n default:\n return msg.format(`${messageKey}Time` as \"startTime\" | \"endTime\");\n }\n };\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n /** toggles the calendar popover */\n calendarToggle: {\n ...buttonContext,\n onPress: (event: PressEvent) => {\n // Ensure any active input (e.g., date picker segment) loses focus\n // because blurring the input will close the popover if it's open (or was just opened)\n const activeElement = document?.activeElement as HTMLElement | null;\n\n if (activeElement) {\n activeElement.blur();\n }\n\n buttonContext.onPress?.(event);\n },\n },\n /** Clear button that displays when there's a value in each segment - hidden from both visual and screen readers when there's no value */\n clear: {\n // Clear both start and end values\n onPress: () => dateRangePickerState?.setValue(null),\n \"aria-label\": msg.format(\"clearInput\"),\n isDisabled: isDateRangePickerDisabled,\n // Hide the button when there's no value\n style: incompleteValue ? { display: \"none\" } : undefined,\n \"aria-hidden\": incompleteValue ? true : undefined,\n },\n };\n\n /**\n * TimeInput slots\n * ================================\n */\n\n // Separate time input slots for start and end times\n const timeInputSlots = {\n startTimeInput: {\n value: startTimeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null && dateRangePickerState?.value?.start) {\n // Update the start date with the new time\n const currentValue = dateRangePickerState.value;\n const startDate = currentValue.start;\n const endDate = currentValue.end;\n if (startDate && endDate) {\n const newStartDate = startDate.set({\n hour: value.hour,\n minute: value.minute || 0,\n second: value.second || 0,\n millisecond: value.millisecond || 0,\n });\n\n dateRangePickerState.setValue({\n start: newStartDate,\n end: endDate,\n });\n }\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(\"start\"),\n },\n endTimeInput: {\n value: endTimeValue,\n onChange: (value: TimeValue | null) => {\n if (value !== null && dateRangePickerState?.value?.end) {\n // Update the end date with the new time\n const currentValue = dateRangePickerState.value;\n const startDate = currentValue.start;\n const endDate = currentValue.end;\n if (startDate && endDate) {\n const newEndDate = endDate.set({\n hour: value.hour,\n minute: value.minute || 0,\n second: value.second || 0,\n millisecond: value.millisecond || 0,\n });\n\n dateRangePickerState.setValue({\n start: startDate,\n end: newEndDate,\n });\n }\n }\n },\n granularity: granularity === \"day\" ? undefined : granularity,\n \"aria-label\": getDefaultTimeInputAriaLabel(\"end\"),\n },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n slots: buttonSlots,\n },\n ],\n [TimeFieldContext, { slots: timeInputSlots }],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import {\n DateRangePickerRootSlot,\n DateRangePickerGroupSlot,\n DateRangePickerTriggerSlot,\n DateRangePickerPopoverSlot,\n DateRangePickerCalendarSlot,\n} from \"./date-range-picker.slots\";\n\nimport { CalendarMonth, Close } from \"@commercetools/nimbus-icons\";\n\nimport {\n DateRangePicker as ReactAriaDateRangePicker,\n Group,\n Popover,\n Dialog,\n} from \"react-aria-components\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { dateRangePickerSlotRecipe } from \"./date-range-picker.recipe\";\nimport type { DateRangePickerProps } from \"./date-range-picker.types\";\nimport { extractStyleProps } from \"@/utils\";\nimport { DateInput, RangeCalendar, IconButton, Text } from \"@/components\";\nimport { DateRangePickerTimeInput } from \"./components/date-range-picker.time-input\";\nimport { DateRangePickerCustomContext } from \"./components/date-range-picker.custom-context\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { dateRangePickerMessagesStrings } from \"./date-range-picker.messages\";\n\n/**\n * DateRangePicker\n * ============================================================\n * Combines a DateInput with a RangeCalendar popover for date range selection.\n * Users can either type a date range directly or select from the calendar.\n *\n * @supportsStyleProps\n */\nexport const DateRangePicker = (props: DateRangePickerProps) => {\n const msg = useLocalizedStringFormatter(dateRangePickerMessagesStrings);\n\n // Forward hideTimeZone and hourCycle to child components (footer time inputs)\n const { granularity = \"day\", hideTimeZone, hourCycle } = props;\n const recipe = useSlotRecipe({ recipe: dateRangePickerSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n // Extract size and variant from recipe props to pass to DateInputs\n const { size = \"md\" } = recipeProps;\n\n // the size of the buttons overlaying the input\n const overlayButtonSize = size === \"md\" ? \"xs\" : \"2xs\";\n\n // When granularity is \"day\", use the prop value (defaults to true if not provided)\n // For other granularities (time-based), force to false so users can set both date and time\n const shouldCloseOnSelect =\n granularity === \"day\" ? props.shouldCloseOnSelect : false;\n\n return (\n <DateRangePickerRootSlot {...recipeProps} {...styleProps} asChild>\n <ReactAriaDateRangePicker\n {...otherProps}\n shouldCloseOnSelect={shouldCloseOnSelect}\n >\n <DateRangePickerCustomContext>\n <DateRangePickerGroupSlot asChild>\n <Group>\n <DateInput\n slot=\"start\"\n size={props.size}\n variant=\"plain\"\n width=\"auto\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n <Text\n as=\"span\"\n px=\"150\"\n color=\"neutral.11\"\n userSelect=\"none\"\n aria-hidden=\"true\"\n slot={null}\n >\n –\n </Text>\n <DateInput\n slot=\"end\"\n size={props.size}\n variant=\"plain\"\n width=\"auto\"\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n <DateRangePickerTriggerSlot>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"clear\"\n aria-label={msg.format(\"clearSelection\")}\n >\n <Close />\n </IconButton>\n <IconButton\n variant=\"ghost\"\n size={overlayButtonSize}\n slot=\"calendarToggle\"\n aria-label={msg.format(\"openCalendar\")}\n >\n <CalendarMonth />\n </IconButton>\n </DateRangePickerTriggerSlot>\n </Group>\n </DateRangePickerGroupSlot>\n <DateRangePickerPopoverSlot asChild>\n <Popover placement=\"bottom end\">\n <Dialog>\n <DateRangePickerCalendarSlot>\n <RangeCalendar />\n </DateRangePickerCalendarSlot>\n <DateRangePickerTimeInput\n hideTimeZone={hideTimeZone}\n hourCycle={hourCycle}\n />\n </Dialog>\n </Popover>\n </DateRangePickerPopoverSlot>\n </DateRangePickerCustomContext>\n </ReactAriaDateRangePicker>\n </DateRangePickerRootSlot>\n );\n};\n\nDateRangePicker.displayName = \"DateRangePicker\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","DateRangePickerRootSlot","DateRangePickerGroupSlot","DateRangePickerTriggerSlot","DateRangePickerPopoverSlot","DateRangePickerCalendarSlot","dateRangePickerMessages_en","dateRangePickerMessages_de","dateRangePickerMessages_es","dateRangePickerMessages_fr","dateRangePickerMessages_pt","dateRangePickerMessagesStrings","normalizeMessages","DateRangePickerTimeInput","hideTimeZone","hourCycle","msg","useLocalizedStringFormatter","dateRangePickerState","useContext","DateRangePickerStateContext","granularity","value","timeInputRef","useRef","previousValueRef","useEffect","timeoutId","container","activeElement","firstSegment","jsxs","Flex","jsx","Text","TimeInput","DateRangePickerCustomContext","children","buttonContext","useSlottedContext","ButtonContext","hasCompleteRangeDate","date","incompleteValue","startTimeValue","endTimeValue","isDateRangePickerDisabled","getDefaultTimeInputAriaLabel","type","messageKey","buttonSlots","event","timeInputSlots","currentValue","startDate","endDate","newStartDate","newEndDate","Provider","TimeFieldContext","DateRangePicker","props","recipe","useSlotRecipe","dateRangePickerSlotRecipe","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","size","overlayButtonSize","shouldCloseOnSelect","ReactAriaDateRangePicker","Group","DateInput","IconButton","Close","CalendarMonth","Popover","Dialog","RangeCalendar"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs as u, jsx as e } from "react/jsx-runtime";
2
- import { D as x } from "./date-range-picker-D3cnZQYb.es.js";
2
+ import { D as x } from "./date-range-picker-BnbKgO1E.es.js";
3
3
  import { F as r } from "./form-field-BfDU18h3.es.js";
4
4
  import { F as g } from "./field-errors-D1BQvoYg.es.js";
5
5
  const j = ({
@@ -58,4 +58,4 @@ j.displayName = "DateRangePickerField";
58
58
  export {
59
59
  j as D
60
60
  };
61
- //# sourceMappingURL=date-range-picker-field-BKmTQ50O.es.js.map
61
+ //# sourceMappingURL=date-range-picker-field-BuI6eLMY.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-picker-field-BKmTQ50O.es.js","sources":["../../src/patterns/fields/date-range-picker-field/date-range-picker-field.tsx"],"sourcesContent":["import { DateRangePicker } from \"@/components/date-range-picker/date-range-picker\";\nimport { FormField, FieldErrors } from \"@/components\";\nimport type { DateRangePickerFieldProps } from \"./date-range-picker-field.types\";\n\n/**\n * # DateRangePickerField\n *\n * A form field component that combines DateRangePicker with Form Field features\n * like labels, descriptions, error handling, and validation feedback.\n *\n * This component follows the same API pattern as other field components in the UI-Kit,\n * providing a consistent interface for date range selection within forms.\n *\n * @example\n * ```tsx\n * <DateRangePickerField\n * label=\"Date Range\"\n * description=\"Select a start and end date\"\n * value={dateRange}\n * onChange={handleChange}\n * errors={errors}\n * touched={touched}\n * isRequired\n * />\n * ```\n */\nexport const DateRangePickerField = ({\n id,\n label,\n description,\n info,\n errors,\n renderError,\n touched = false,\n isRequired = false,\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n direction = \"column\",\n size = \"md\",\n ...dateRangePickerProps\n}: DateRangePickerFieldProps) => {\n // Determine if we should show errors\n const hasErrors = touched && errors && Object.values(errors).some(Boolean);\n\n return (\n <FormField.Root\n id={id}\n direction={direction as \"row\" | \"column\"}\n size={size}\n isInvalid={hasErrors || isInvalid}\n isRequired={isRequired}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n >\n <FormField.Label>{label}</FormField.Label>\n <FormField.Input>\n <DateRangePicker\n size={size}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n {...dateRangePickerProps}\n />\n </FormField.Input>\n\n {description && (\n <FormField.Description>{description}</FormField.Description>\n )}\n\n {info && <FormField.InfoBox>{info}</FormField.InfoBox>}\n {hasErrors && (\n <FormField.Error>\n <FieldErrors\n id={`${id}-errors`}\n errors={errors}\n renderError={renderError}\n />\n </FormField.Error>\n )}\n </FormField.Root>\n );\n};\n\nDateRangePickerField.displayName = \"DateRangePickerField\";\n"],"names":["DateRangePickerField","id","label","description","info","errors","renderError","touched","isRequired","isDisabled","isReadOnly","isInvalid","direction","size","dateRangePickerProps","hasErrors","jsxs","FormField","jsx","DateRangePicker","FieldErrors"],"mappings":";;;;AA0BO,MAAMA,IAAuB,CAAC;AAAA,EACnC,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,MAAiC;AAE/B,QAAMC,IAAYR,KAAWF,KAAU,OAAO,OAAOA,CAAM,EAAE,KAAK,OAAO;AAEzE,SACE,gBAAAW;AAAA,IAACC,EAAU;AAAA,IAAV;AAAA,MACC,IAAAhB;AAAA,MACA,WAAAW;AAAA,MACA,MAAAC;AAAA,MACA,WAAWE,KAAaJ;AAAA,MACxB,YAAAH;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAQ,EAACD,EAAU,OAAV,EAAiB,UAAAf,EAAA,CAAM;AAAA,QACxB,gBAAAgB,EAACD,EAAU,OAAV,EACC,UAAA,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAAN;AAAA,YACA,YAAAJ;AAAA,YACA,YAAAC;AAAA,YACC,GAAGI;AAAA,UAAA;AAAA,QAAA,GAER;AAAA,QAECX,KACC,gBAAAe,EAACD,EAAU,aAAV,EAAuB,UAAAd,GAAY;AAAA,QAGrCC,KAAQ,gBAAAc,EAACD,EAAU,SAAV,EAAmB,UAAAb,GAAK;AAAA,QACjCW,KACC,gBAAAG,EAACD,EAAU,OAAV,EACC,UAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,IAAI,GAAGnB,CAAE;AAAA,YACT,QAAAI;AAAA,YACA,aAAAC;AAAA,UAAA;AAAA,QAAA,EACF,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEAN,EAAqB,cAAc;"}
1
+ {"version":3,"file":"date-range-picker-field-BuI6eLMY.es.js","sources":["../../src/patterns/fields/date-range-picker-field/date-range-picker-field.tsx"],"sourcesContent":["import { DateRangePicker } from \"@/components/date-range-picker/date-range-picker\";\nimport { FormField, FieldErrors } from \"@/components\";\nimport type { DateRangePickerFieldProps } from \"./date-range-picker-field.types\";\n\n/**\n * # DateRangePickerField\n *\n * A form field component that combines DateRangePicker with Form Field features\n * like labels, descriptions, error handling, and validation feedback.\n *\n * This component follows the same API pattern as other field components in the UI-Kit,\n * providing a consistent interface for date range selection within forms.\n *\n * @example\n * ```tsx\n * <DateRangePickerField\n * label=\"Date Range\"\n * description=\"Select a start and end date\"\n * value={dateRange}\n * onChange={handleChange}\n * errors={errors}\n * touched={touched}\n * isRequired\n * />\n * ```\n */\nexport const DateRangePickerField = ({\n id,\n label,\n description,\n info,\n errors,\n renderError,\n touched = false,\n isRequired = false,\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n direction = \"column\",\n size = \"md\",\n ...dateRangePickerProps\n}: DateRangePickerFieldProps) => {\n // Determine if we should show errors\n const hasErrors = touched && errors && Object.values(errors).some(Boolean);\n\n return (\n <FormField.Root\n id={id}\n direction={direction as \"row\" | \"column\"}\n size={size}\n isInvalid={hasErrors || isInvalid}\n isRequired={isRequired}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n >\n <FormField.Label>{label}</FormField.Label>\n <FormField.Input>\n <DateRangePicker\n size={size}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n {...dateRangePickerProps}\n />\n </FormField.Input>\n\n {description && (\n <FormField.Description>{description}</FormField.Description>\n )}\n\n {info && <FormField.InfoBox>{info}</FormField.InfoBox>}\n {hasErrors && (\n <FormField.Error>\n <FieldErrors\n id={`${id}-errors`}\n errors={errors}\n renderError={renderError}\n />\n </FormField.Error>\n )}\n </FormField.Root>\n );\n};\n\nDateRangePickerField.displayName = \"DateRangePickerField\";\n"],"names":["DateRangePickerField","id","label","description","info","errors","renderError","touched","isRequired","isDisabled","isReadOnly","isInvalid","direction","size","dateRangePickerProps","hasErrors","jsxs","FormField","jsx","DateRangePicker","FieldErrors"],"mappings":";;;;AA0BO,MAAMA,IAAuB,CAAC;AAAA,EACnC,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,MAAiC;AAE/B,QAAMC,IAAYR,KAAWF,KAAU,OAAO,OAAOA,CAAM,EAAE,KAAK,OAAO;AAEzE,SACE,gBAAAW;AAAA,IAACC,EAAU;AAAA,IAAV;AAAA,MACC,IAAAhB;AAAA,MACA,WAAAW;AAAA,MACA,MAAAC;AAAA,MACA,WAAWE,KAAaJ;AAAA,MACxB,YAAAH;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAQ,EAACD,EAAU,OAAV,EAAiB,UAAAf,EAAA,CAAM;AAAA,QACxB,gBAAAgB,EAACD,EAAU,OAAV,EACC,UAAA,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAAN;AAAA,YACA,YAAAJ;AAAA,YACA,YAAAC;AAAA,YACC,GAAGI;AAAA,UAAA;AAAA,QAAA,GAER;AAAA,QAECX,KACC,gBAAAe,EAACD,EAAU,aAAV,EAAuB,UAAAd,GAAY;AAAA,QAGrCC,KAAQ,gBAAAc,EAACD,EAAU,SAAV,EAAmB,UAAAb,GAAK;AAAA,QACjCW,KACC,gBAAAG,EAACD,EAAU,OAAV,EACC,UAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,IAAI,GAAGnB,CAAE;AAAA,YACT,QAAAI;AAAA,YACA,aAAAC;AAAA,UAAA;AAAA,QAAA,EACF,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEAN,EAAqB,cAAc;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
2
  import { createSlotRecipeContext as u } from "@chakra-ui/react";
3
- import { c as f, a as h, b as g } from "./DateField-C0JaKbSn.es.js";
3
+ import { c as f, a as h, b as g } from "./DateField-DCWy1Ysp.es.js";
4
4
  import { useRecipe as x } from "@chakra-ui/react/styled-system";
5
5
  import { a as I } from "./index-C2qW4ynb.es.js";
6
6
  import { e as S } from "./extract-style-props-BdibuNZ7.es.js";
@@ -18,4 +18,4 @@ C.displayName = "TimeInput";
18
18
  export {
19
19
  C as T
20
20
  };
21
- //# sourceMappingURL=time-input-C_igRgEc.es.js.map
21
+ //# sourceMappingURL=time-input-CCuIFoY2.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-input-C_igRgEc.es.js","sources":["../../src/components/time-input/time-input.slots.tsx","../../src/components/time-input/time-input.tsx"],"sourcesContent":["import {\n type HTMLChakraProps,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport type {\n TimeInputRootSlotProps,\n TimeInputLeadingElementSlotProps,\n TimeInputTrailingElementSlotProps,\n} from \"./time-input.types\";\n\n// Correctly destructure from createSlotRecipeContext based on project examples\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"timeInput\",\n});\n\n/**\n * Root component that provides the styling context for the TimeInput component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const TimeInputRootSlot = withProvider<\n HTMLDivElement,\n TimeInputRootSlotProps\n>(\"div\", \"root\");\n\nexport const TimeInputLeadingElementSlot = withContext<\n HTMLDivElement,\n TimeInputLeadingElementSlotProps\n>(\"div\", \"leadingElement\");\n\nexport const TimeInputTrailingElementSlot = withContext<\n HTMLDivElement,\n TimeInputTrailingElementSlotProps\n>(\"div\", \"trailingElement\");\n\n/**\n * Slot component for the TimeField part of the TimeInput.\n */\nexport const TimeInputSegmentGroupSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"segmentGroup\");\n\n/**\n * Slot component for the TimeField part of the TimeInput.\n */\nexport const TimeInputSegmentSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"segment\");\n","import {\n TimeInputRootSlot,\n TimeInputLeadingElementSlot,\n TimeInputTrailingElementSlot,\n TimeInputSegmentGroupSlot,\n TimeInputSegmentSlot,\n} from \"./time-input.slots\";\n\nimport { TimeField, DateInput, DateSegment } from \"react-aria-components\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { timeInputRecipe } from \"./time-input.recipe\";\nimport type { TimeInputProps } from \"./time-input.types\";\nimport { extractStyleProps } from \"@/utils\";\n/**\n * TimeInput\n * ============================================================\n * allows entering a time in the currently selected locale\n */\nexport const TimeInput = (props: TimeInputProps) => {\n const recipe = useRecipe({ recipe: timeInputRecipe });\n const { leadingElement, trailingElement, ...rest } = props;\n const [recipeProps, remainingProps] = recipe.splitVariantProps({ ...rest });\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <TimeInputRootSlot asChild {...recipeProps} {...styleProps}>\n <TimeField {...otherProps}>\n {leadingElement && (\n <TimeInputLeadingElementSlot>\n {leadingElement}\n </TimeInputLeadingElementSlot>\n )}\n <TimeInputSegmentGroupSlot asChild>\n <DateInput>\n {(segment) => (\n <TimeInputSegmentSlot asChild>\n <DateSegment segment={segment} />\n </TimeInputSegmentSlot>\n )}\n </DateInput>\n </TimeInputSegmentGroupSlot>\n {trailingElement && (\n <TimeInputTrailingElementSlot>\n {trailingElement}\n </TimeInputTrailingElementSlot>\n )}\n </TimeField>\n </TimeInputRootSlot>\n );\n};\n\nTimeInput.displayName = \"TimeInput\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","TimeInputRootSlot","TimeInputLeadingElementSlot","TimeInputTrailingElementSlot","TimeInputSegmentGroupSlot","TimeInputSegmentSlot","TimeInput","props","recipe","useRecipe","timeInputRecipe","leadingElement","trailingElement","rest","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","jsx","jsxs","TimeField","DateInput","segment","DateSegment"],"mappings":";;;;;;AAWA,MAAM,EAAE,cAAAA,GAAc,aAAAC,EAAA,IAAgB,gBAAAC,EAAwB;AAAA,EAC5D,KAAK;AACP,CAAC,GAMYC,IAAoB,gBAAAH,EAG/B,OAAO,MAAM,GAEFI,IAA8B,gBAAAH,EAGzC,OAAO,gBAAgB,GAEZI,IAA+B,gBAAAJ,EAG1C,OAAO,iBAAiB,GAKbK,IAA4B,gBAAAL,EAGvC,OAAO,cAAc,GAKVM,IAAuB,gBAAAN,EAGlC,OAAO,SAAS,GC9BLO,IAAY,CAACC,MAA0B;AAClD,QAAMC,IAASC,EAAU,EAAE,QAAQC,GAAiB,GAC9C,EAAE,gBAAAC,GAAgB,iBAAAC,GAAiB,GAAGC,MAASN,GAC/C,CAACO,GAAaC,CAAc,IAAIP,EAAO,kBAAkB,EAAE,GAAGK,GAAM,GACpE,CAACG,GAAYC,CAAU,IAAIC,EAAkBH,CAAc;AAEjE,SACE,gBAAAI,EAAClB,GAAA,EAAkB,SAAO,IAAE,GAAGa,GAAc,GAAGE,GAC9C,UAAA,gBAAAI,EAACC,GAAA,EAAW,GAAGJ,GACZ,UAAA;AAAA,IAAAN,KACC,gBAAAQ,EAACjB,KACE,UAAAS,EAAA,CACH;AAAA,sBAEDP,GAAA,EAA0B,SAAO,IAChC,UAAA,gBAAAe,EAACG,KACE,UAAA,CAACC,MACA,gBAAAJ,EAACd,GAAA,EAAqB,SAAO,IAC3B,UAAA,gBAAAc,EAACK,KAAY,SAAAD,EAAA,CAAkB,GACjC,GAEJ,EAAA,CACF;AAAA,IACCX,KACC,gBAAAO,EAAChB,GAAA,EACE,UAAAS,EAAA,CACH;AAAA,EAAA,EAAA,CAEJ,EAAA,CACF;AAEJ;AAEAN,EAAU,cAAc;"}
1
+ {"version":3,"file":"time-input-CCuIFoY2.es.js","sources":["../../src/components/time-input/time-input.slots.tsx","../../src/components/time-input/time-input.tsx"],"sourcesContent":["import {\n type HTMLChakraProps,\n createSlotRecipeContext,\n} from \"@chakra-ui/react\";\nimport type {\n TimeInputRootSlotProps,\n TimeInputLeadingElementSlotProps,\n TimeInputTrailingElementSlotProps,\n} from \"./time-input.types\";\n\n// Correctly destructure from createSlotRecipeContext based on project examples\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"timeInput\",\n});\n\n/**\n * Root component that provides the styling context for the TimeInput component.\n * Uses Chakra UI's recipe context system for consistent styling across instances.\n */\nexport const TimeInputRootSlot = withProvider<\n HTMLDivElement,\n TimeInputRootSlotProps\n>(\"div\", \"root\");\n\nexport const TimeInputLeadingElementSlot = withContext<\n HTMLDivElement,\n TimeInputLeadingElementSlotProps\n>(\"div\", \"leadingElement\");\n\nexport const TimeInputTrailingElementSlot = withContext<\n HTMLDivElement,\n TimeInputTrailingElementSlotProps\n>(\"div\", \"trailingElement\");\n\n/**\n * Slot component for the TimeField part of the TimeInput.\n */\nexport const TimeInputSegmentGroupSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"segmentGroup\");\n\n/**\n * Slot component for the TimeField part of the TimeInput.\n */\nexport const TimeInputSegmentSlot = withContext<\n HTMLDivElement,\n HTMLChakraProps<\"div\">\n>(\"div\", \"segment\");\n","import {\n TimeInputRootSlot,\n TimeInputLeadingElementSlot,\n TimeInputTrailingElementSlot,\n TimeInputSegmentGroupSlot,\n TimeInputSegmentSlot,\n} from \"./time-input.slots\";\n\nimport { TimeField, DateInput, DateSegment } from \"react-aria-components\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { timeInputRecipe } from \"./time-input.recipe\";\nimport type { TimeInputProps } from \"./time-input.types\";\nimport { extractStyleProps } from \"@/utils\";\n/**\n * TimeInput\n * ============================================================\n * allows entering a time in the currently selected locale\n */\nexport const TimeInput = (props: TimeInputProps) => {\n const recipe = useRecipe({ recipe: timeInputRecipe });\n const { leadingElement, trailingElement, ...rest } = props;\n const [recipeProps, remainingProps] = recipe.splitVariantProps({ ...rest });\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <TimeInputRootSlot asChild {...recipeProps} {...styleProps}>\n <TimeField {...otherProps}>\n {leadingElement && (\n <TimeInputLeadingElementSlot>\n {leadingElement}\n </TimeInputLeadingElementSlot>\n )}\n <TimeInputSegmentGroupSlot asChild>\n <DateInput>\n {(segment) => (\n <TimeInputSegmentSlot asChild>\n <DateSegment segment={segment} />\n </TimeInputSegmentSlot>\n )}\n </DateInput>\n </TimeInputSegmentGroupSlot>\n {trailingElement && (\n <TimeInputTrailingElementSlot>\n {trailingElement}\n </TimeInputTrailingElementSlot>\n )}\n </TimeField>\n </TimeInputRootSlot>\n );\n};\n\nTimeInput.displayName = \"TimeInput\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","TimeInputRootSlot","TimeInputLeadingElementSlot","TimeInputTrailingElementSlot","TimeInputSegmentGroupSlot","TimeInputSegmentSlot","TimeInput","props","recipe","useRecipe","timeInputRecipe","leadingElement","trailingElement","rest","recipeProps","remainingProps","styleProps","otherProps","extractStyleProps","jsx","jsxs","TimeField","DateInput","segment","DateSegment"],"mappings":";;;;;;AAWA,MAAM,EAAE,cAAAA,GAAc,aAAAC,EAAA,IAAgB,gBAAAC,EAAwB;AAAA,EAC5D,KAAK;AACP,CAAC,GAMYC,IAAoB,gBAAAH,EAG/B,OAAO,MAAM,GAEFI,IAA8B,gBAAAH,EAGzC,OAAO,gBAAgB,GAEZI,IAA+B,gBAAAJ,EAG1C,OAAO,iBAAiB,GAKbK,IAA4B,gBAAAL,EAGvC,OAAO,cAAc,GAKVM,IAAuB,gBAAAN,EAGlC,OAAO,SAAS,GC9BLO,IAAY,CAACC,MAA0B;AAClD,QAAMC,IAASC,EAAU,EAAE,QAAQC,GAAiB,GAC9C,EAAE,gBAAAC,GAAgB,iBAAAC,GAAiB,GAAGC,MAASN,GAC/C,CAACO,GAAaC,CAAc,IAAIP,EAAO,kBAAkB,EAAE,GAAGK,GAAM,GACpE,CAACG,GAAYC,CAAU,IAAIC,EAAkBH,CAAc;AAEjE,SACE,gBAAAI,EAAClB,GAAA,EAAkB,SAAO,IAAE,GAAGa,GAAc,GAAGE,GAC9C,UAAA,gBAAAI,EAACC,GAAA,EAAW,GAAGJ,GACZ,UAAA;AAAA,IAAAN,KACC,gBAAAQ,EAACjB,KACE,UAAAS,EAAA,CACH;AAAA,sBAEDP,GAAA,EAA0B,SAAO,IAChC,UAAA,gBAAAe,EAACG,KACE,UAAA,CAACC,MACA,gBAAAJ,EAACd,GAAA,EAAqB,SAAO,IAC3B,UAAA,gBAAAc,EAACK,KAAY,SAAAD,EAAA,CAAkB,GACjC,GAEJ,EAAA,CACF;AAAA,IACCX,KACC,gBAAAO,EAAChB,GAAA,EACE,UAAAS,EAAA,CACH;AAAA,EAAA,EAAA,CAEJ,EAAA,CACF;AAEJ;AAEAN,EAAU,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";const o=require("../chunks/combobox-Do4z66WO.cjs.js");exports.ComboBox=o.ComboBox;
1
+ "use strict";const o=require("../chunks/combobox-B7ck7gxL.cjs.js");exports.ComboBox=o.ComboBox;
2
2
  //# sourceMappingURL=combobox.cjs.map
@@ -1,4 +1,4 @@
1
- import { C as r } from "../chunks/combobox-h1qOiDJD.es.js";
1
+ import { C as r } from "../chunks/combobox-vjauyzlS.es.js";
2
2
  export {
3
3
  r as ComboBox
4
4
  };
@@ -1,4 +1,4 @@
1
- import { D as e } from "../chunks/date-input-BR-AeTsM.es.js";
1
+ import { D as e } from "../chunks/date-input-Cd9q4qBj.es.js";
2
2
  export {
3
3
  e as DateInput
4
4
  };
@@ -1,4 +1,4 @@
1
- import { D as a } from "../chunks/date-picker-4vPcj4T0.es.js";
1
+ import { D as a } from "../chunks/date-picker-B8VVNXU3.es.js";
2
2
  export {
3
3
  a as DatePicker
4
4
  };
@@ -1,4 +1,4 @@
1
- import { D as r } from "../chunks/date-range-picker-field-BKmTQ50O.es.js";
1
+ import { D as r } from "../chunks/date-range-picker-field-BuI6eLMY.es.js";
2
2
  export {
3
3
  r as DateRangePickerField
4
4
  };
@@ -1,4 +1,4 @@
1
- import { D as r } from "../chunks/date-range-picker-D3cnZQYb.es.js";
1
+ import { D as r } from "../chunks/date-range-picker-BnbKgO1E.es.js";
2
2
  export {
3
3
  r as DateRangePicker
4
4
  };
@@ -1,4 +1,4 @@
1
- import { D as t } from "../chunks/date-range-picker-field-BKmTQ50O.es.js";
1
+ import { D as t } from "../chunks/date-range-picker-field-BuI6eLMY.es.js";
2
2
  import { M as p } from "../chunks/money-input-field-CSnaaDk-.es.js";
3
3
  import { M as i } from "../chunks/multiline-text-input-field-C6UTl_c8.es.js";
4
4
  import { N as n } from "../chunks/number-input-field-C90uFO4e.es.js";
@@ -1,4 +1,4 @@
1
- import { D as t } from "../chunks/date-range-picker-field-BKmTQ50O.es.js";
1
+ import { D as t } from "../chunks/date-range-picker-field-BuI6eLMY.es.js";
2
2
  import { M as p } from "../chunks/money-input-field-CSnaaDk-.es.js";
3
3
  import { M as i } from "../chunks/multiline-text-input-field-C6UTl_c8.es.js";
4
4
  import { N as n } from "../chunks/number-input-field-C90uFO4e.es.js";
@@ -1,4 +1,4 @@
1
- import { T as o } from "../chunks/time-input-C_igRgEc.es.js";
1
+ import { T as o } from "../chunks/time-input-CCuIFoY2.es.js";
2
2
  export {
3
3
  o as TimeInput
4
4
  };
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";const oe=require("./chunks/date-range-picker-field-DcIo1YzI.cjs.js"),ne=require("./chunks/money-input-field-BGZ_9HKh.cjs.js"),ae=require("./chunks/multiline-text-input-field-BX-w2v1Y.cjs.js"),ie=require("./chunks/number-input-field-BDNpAP6t.cjs.js"),ue=require("./chunks/search-input-field-v60x1oiw.cjs.js"),ce=require("./chunks/password-input-field-B5lWzWAQ.cjs.js"),le=require("./chunks/text-input-field-Cmht3hDK.cjs.js"),se=require("./chunks/index-CVXB9mwf.cjs.js"),W=require("./chunks/rich-text-input-Dml5F7pU.cjs.js"),g=require("react"),de=require("./chunks/avatar-BVQ91Ccd.cjs.js"),pe=require("./chunks/box-CWni3A32.cjs.js"),ge=require("./chunks/button-BR4fvcmi.cjs.js"),me=require("./chunks/code-q31e3vT2.cjs.js"),fe=require("./chunks/combobox-Do4z66WO.cjs.js"),be=require("./chunks/dialog-gyrFT8w0.cjs.js"),X=require("./chunks/field-errors-aqrV93vp.cjs.js"),Bt=require("@chakra-ui/react/flex"),ye=require("./chunks/group-Cjq5lNQD.cjs.js"),Te=require("./chunks/heading-DWweWKGQ.cjs.js"),Ce=require("./chunks/nimbus-i18n-provider-BbsapOze.cjs.js"),he=require("./chunks/icon-button-CeB8_Yyr.cjs.js"),ve=require("./chunks/icon-toggle-button-C4Tnlt4t.cjs.js"),Ie=require("./chunks/image-CGOYoc2s.cjs.js"),De=require("./chunks/kbd-tKeWcdmy.cjs.js"),we=require("./chunks/link-CI7W-6L3.cjs.js"),L=require("./chunks/list-DJC9BmoC.cjs.js"),E=require("./chunks/draggable-list-fvTG-VYt.cjs.js"),qe=require("./chunks/simple-grid-Cd2MJxSX.cjs.js"),Nt=require("@chakra-ui/react/table"),Se=require("./chunks/text-BtRhIklG.cjs.js"),Fe=require("./chunks/tooltip-Bv-QlJ1O.cjs.js"),_e=require("./chunks/make-element-focusable-Cdmdc8sd.cjs.js"),Q=require("./chunks/nimbus-provider-Dnu5ohMR.cjs.js"),ke=require("./chunks/checkbox-BJANm94D.cjs.js"),x=require("./chunks/collapsible-motion-Biq0QGUr.cjs.js"),Re=require("./chunks/stack-CIN13EDn.cjs.js"),Le=require("./chunks/visually-hidden-BjtXUoFK.cjs.js"),Ee=require("./chunks/text-input-BlxK2Naj.cjs.js"),xe=require("./chunks/number-input-CR1hdy-B.cjs.js"),Me=require("./chunks/grid-Chuw1xje.cjs.js"),Ae=require("./chunks/select-Dq_6o0BB.cjs.js"),Pe=require("./chunks/separator-u_4por07.cjs.js"),Be=require("./chunks/spacer-BvQD2vU1.cjs.js"),Ne=require("./chunks/accordion-CVpg-FdJ.cjs.js"),k=require("./chunks/accordion.content-Cqet9SQ-.cjs.js"),F=require("./chunks/alert-pPmN9CXZ.cjs.js"),Ke=require("./chunks/badge-5F6i4KSF.cjs.js"),M=require("./chunks/card-Bk3xHlo2.cjs.js"),q=require("./chunks/form-field-FdRNl2bZ.cjs.js"),He=require("./chunks/icon-RyFjTAmU.cjs.js"),Oe=require("./chunks/inline-svg-BzzKpbrB.cjs.js"),Ge=require("./chunks/loading-spinner-DYEYnI5N.cjs.js"),Ue=require("./chunks/password-input-BVbQ42NG.cjs.js"),je=require("./chunks/search-input-BNXlpYtP.cjs.js"),ze=require("./chunks/scoped-search-input-DKCK7idN.cjs.js"),Ve=require("./chunks/split-button-B4gVhpP9.cjs.js"),$e=require("./chunks/time-input-9Q5vV4UD.cjs.js"),We=require("./chunks/multiline-text-input-CULLuZBp.cjs.js"),Xe=require("./chunks/money-input-C9eVmgeL.cjs.js"),Qe=require("./chunks/radio-input-BecbxXcF.cjs.js"),Ye=require("./chunks/switch-CsiG41ZR.cjs.js"),Ze=require("./chunks/tag-group-BI8_32rM.cjs.js"),Je=require("./chunks/toggle-button-L7i1XaWg.cjs.js"),H=require("./chunks/toggle-button-group-Lfn3zYmC.cjs.js"),et=require("./chunks/date-input-DkYcGwBy.cjs.js"),tt=require("./chunks/calendar-B01Vti5k.cjs.js"),rt=require("./chunks/date-picker-DQ5IZcRe.cjs.js"),ot=require("./chunks/progress-bar-dRKyuT1-.cjs.js"),nt=require("./chunks/range-calendar-Dq5Gtsb6.cjs.js"),D=require("./chunks/menu-Dno8yFDE.cjs.js"),at=require("./chunks/date-range-picker-CO2HH0mY.cjs.js"),it=require("./chunks/toolbar-D4fLFiSb.cjs.js"),b=require("./chunks/data-table-CBZLbe9h.cjs.js"),ut=require("./chunks/pagination-BIxlGft7.cjs.js"),I=require("./chunks/drawer-DbSJSCl_.cjs.js"),_=require("./chunks/tabs-iV08OTqG.cjs.js"),ct=require("./chunks/localized-field-D78l88ux.cjs.js");require("react/jsx-runtime");const lt=require("./chunks/normalize-messages-CaDzkuUm.cjs.js"),Y=["shift","alt","meta","mod","ctrl","control"],st={esc:"escape",return:"enter",left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function S(e){return(st[e.trim()]||e.trim()).toLowerCase().replace(/key|digit|numpad/,"")}function Z(e){return Y.includes(e)}function P(e,t=","){return e.toLowerCase().split(t)}function B(e,t="+",r=">",i=!1,u){let n=[],a=!1;e=e.trim(),e.includes(r)?(a=!0,n=e.toLocaleLowerCase().split(r).map(f=>S(f))):n=e.toLocaleLowerCase().split(t).map(f=>S(f));const d={alt:n.includes("alt"),ctrl:n.includes("ctrl")||n.includes("control"),shift:n.includes("shift"),meta:n.includes("meta"),mod:n.includes("mod"),useKey:i},l=n.filter(f=>!Y.includes(f));return{...d,keys:l,description:u,isSequence:a,hotkey:e}}const w=new Set;function O(e){return Array.isArray(e)}function dt(e,t=","){return(O(e)?e:e.split(t)).every(r=>w.has(r.trim().toLowerCase()))}function pt(e){const t=Array.isArray(e)?e:[e];w.has("meta")&&w.forEach(r=>!Z(r)&&w.delete(r.toLowerCase())),t.forEach(r=>w.add(r.toLowerCase()))}function gt(e){const t=Array.isArray(e)?e:[e];e==="meta"?w.clear():t.forEach(r=>w.delete(r.toLowerCase()))}function mt(e,t,r){(typeof r=="function"&&r(e,t)||r===!0)&&e.preventDefault()}function ft(e,t,r){return typeof r=="function"?r(e,t):r===!0||r===void 0}const bt=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"];function yt(e){return J(e,bt)}function J(e,t=!1){const{target:r,composed:i}=e;let u,n;return Tt(r)&&i?(u=e.composedPath()[0]&&e.composedPath()[0].tagName,n=e.composedPath()[0]&&e.composedPath()[0].role):(u=r&&r.tagName,n=r&&r.role),O(t)?!!(u&&t&&t.some(a=>a.toLowerCase()===u.toLowerCase()||a===n)):!!(u&&t&&t)}function Tt(e){return!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-")}function Ct(e,t){return e.length===0&&t?(console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'),!0):t?e.some(r=>t.includes(r))||e.includes("*"):!0}const ht=(e,t,r=!1)=>{const{alt:i,meta:u,mod:n,shift:a,ctrl:d,keys:l,useKey:f}=t,{code:y,key:o,ctrlKey:s,metaKey:T,shiftKey:C,altKey:p}=e,m=S(y);if(f&&l?.length===1&&l.includes(o))return!0;if(!l?.includes(m)&&!["ctrl","control","unknown","meta","alt","shift","os"].includes(m))return!1;if(!r){if(i!==p&&m!=="alt"||a!==C&&m!=="shift")return!1;if(n){if(!T&&!s)return!1}else if(u!==T&&m!=="meta"&&m!=="os"||d!==s&&m!=="ctrl"&&m!=="control")return!1}return l&&l.length===1&&l.includes(m)?!0:l?dt(l):!l},vt=g.createContext(void 0),It=()=>g.useContext(vt);function ee(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce((r,i)=>r&&ee(e[i],t[i]),!0):e===t}const Dt=g.createContext({hotkeys:[],activeScopes:[],toggleScope:()=>{},enableScope:()=>{},disableScope:()=>{}}),wt=()=>g.useContext(Dt);function qt(e){const t=g.useRef(void 0);return ee(t.current,e)||(t.current=e),t.current}const z=e=>{e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},St=typeof window<"u"?g.useLayoutEffect:g.useEffect;function Ft(e,t,r,i){const u=g.useRef(null),n=g.useRef(!1),a=Array.isArray(r)?Array.isArray(i)?void 0:i:r,d=O(e)?e.join(a?.delimiter):e,l=Array.isArray(r)?r:Array.isArray(i)?i:void 0,f=g.useCallback(t,l??[]),y=g.useRef(f);l?y.current=f:y.current=t;const o=qt(a),{activeScopes:s}=wt(),T=It();return St(()=>{if(o?.enabled===!1||!Ct(s,o?.scopes))return;let C=[],p;const m=(c,j=!1)=>{if(!(yt(c)&&!J(c,o?.enableOnFormTags))){if(u.current!==null){const v=u.current.getRootNode();if((v instanceof Document||v instanceof ShadowRoot)&&v.activeElement!==u.current&&!u.current.contains(v.activeElement)){z(c);return}}c.target?.isContentEditable&&!o?.enableOnContentEditable||P(d,o?.delimiter).forEach(v=>{if(v.includes(o?.splitKey??"+")&&v.includes(o?.sequenceSplitKey??">")){console.warn(`Hotkey ${v} contains both ${o?.splitKey??"+"} and ${o?.sequenceSplitKey??">"} which is not supported.`);return}const h=B(v,o?.splitKey,o?.sequenceSplitKey,o?.useKey,o?.description);if(h.isSequence){p=setTimeout(()=>{C=[]},o?.sequenceTimeoutMs??1e3);const A=h.useKey?c.key:S(c.code);if(Z(A.toLowerCase()))return;C.push(A);const re=h.keys?.[C.length-1];if(A!==re){C=[],p&&clearTimeout(p);return}C.length===h.keys?.length&&(y.current(c,h),p&&clearTimeout(p),C=[])}else if(ht(c,h,o?.ignoreModifiers)||h.keys?.includes("*")){if(o?.ignoreEventWhen?.(c)||j&&n.current)return;if(mt(c,h,o?.preventDefault),!ft(c,h,o?.enabled)){z(c);return}y.current(c,h),j||(n.current=!0)}})}},G=c=>{c.code!==void 0&&(pt(S(c.code)),(o?.keydown===void 0&&o?.keyup!==!0||o?.keydown)&&m(c))},U=c=>{c.code!==void 0&&(gt(S(c.code)),n.current=!1,o?.keyup&&m(c,!0))},R=u.current||a?.document||document;return R.addEventListener("keyup",U,a?.eventListenerOptions),R.addEventListener("keydown",G,a?.eventListenerOptions),T&&P(d,o?.delimiter).forEach(c=>T.addHotkey(B(c,o?.splitKey,o?.sequenceSplitKey,o?.useKey,o?.description))),()=>{R.removeEventListener("keyup",U,a?.eventListenerOptions),R.removeEventListener("keydown",G,a?.eventListenerOptions),T&&P(d,o?.delimiter).forEach(c=>T.removeHotkey(B(c,o?.splitKey,o?.sequenceSplitKey,o?.useKey,o?.description))),C=[],p&&clearTimeout(p)}},[d,o,s]),u}function _t(){var e=g.useRef(!1),t=g.useCallback(function(){return e.current},[]);return g.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),t}var kt=function(e){e===void 0&&(e={});var t=g.useState(e),r=t[0],i=t[1],u=g.useCallback(function(n){i(function(a){return Object.assign({},a,n instanceof Function?n(a):n)})},[]);return[r,u]},N,V;function Rt(){return V||(V=1,N=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],i=0;i<e.rangeCount;i++)r.push(e.getRangeAt(i));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||r.forEach(function(u){e.addRange(u)}),t&&t.focus()}}),N}var K,$;function Lt(){if($)return K;$=1;var e=Rt(),t={"text/plain":"Text","text/html":"Url",default:"Text"},r="Copy to clipboard: #{key}, Enter";function i(n){var a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return n.replace(/#{\s*key\s*}/g,a)}function u(n,a){var d,l,f,y,o,s,T=!1;a||(a={}),d=a.debug||!1;try{f=e(),y=document.createRange(),o=document.getSelection(),s=document.createElement("span"),s.textContent=n,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",function(p){if(p.stopPropagation(),a.format)if(p.preventDefault(),typeof p.clipboardData>"u"){d&&console.warn("unable to use e.clipboardData"),d&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var m=t[a.format]||t.default;window.clipboardData.setData(m,n)}else p.clipboardData.clearData(),p.clipboardData.setData(a.format,n);a.onCopy&&(p.preventDefault(),a.onCopy(p.clipboardData))}),document.body.appendChild(s),y.selectNodeContents(s),o.addRange(y);var C=document.execCommand("copy");if(!C)throw new Error("copy command was unsuccessful");T=!0}catch(p){d&&console.error("unable to copy using execCommand: ",p),d&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(a.format||"text",n),a.onCopy&&a.onCopy(window.clipboardData),T=!0}catch(m){d&&console.error("unable to copy using clipboardData: ",m),d&&console.error("falling back to prompt"),l=i("message"in a?a.message:r),window.prompt(l,n)}}finally{o&&(typeof o.removeRange=="function"?o.removeRange(y):o.removeAllRanges()),s&&document.body.removeChild(s),f()}return T}return K=u,K}var Et=Lt();const xt=W.getDefaultExportFromCjs(Et);var Mt=function(){var e=_t(),t=kt({value:void 0,error:void 0,noUserInteraction:!0}),r=t[0],i=t[1],u=g.useCallback(function(n){if(e()){var a,d;try{if(typeof n!="string"&&typeof n!="number"){var l=new Error("Cannot copy typeof "+typeof n+" to clipboard, must be a string");process.env.NODE_ENV==="development"&&console.error(l),i({value:n,error:l,noUserInteraction:!0});return}else if(n===""){var l=new Error("Cannot copy empty string to clipboard.");process.env.NODE_ENV==="development"&&console.error(l),i({value:n,error:l,noUserInteraction:!0});return}d=n.toString(),a=xt(d),i({value:d,error:void 0,noUserInteraction:a})}catch(f){i({value:d,error:f,noUserInteraction:a})}}},[]);return[r,u]};function At(){const[e,t]=g.useState(r());function r(){return document.documentElement.style.getPropertyValue("color-scheme")||localStorage.getItem("theme")||"light"}return g.useEffect(()=>{const i=document.documentElement,u=new MutationObserver(()=>{const n=r();t(n)});return u.observe(i,{attributes:!0,attributeFilter:["style"]}),()=>u.disconnect()},[]),e}function te(){const{resolvedTheme:e,setTheme:t}=Q.z();return{colorMode:e,setColorMode:t,toggleColorMode:()=>{t(e==="light"?"dark":"light")}}}function Pt(e,t){const{colorMode:r}=te();return r==="light"?e:t}exports.DateRangePickerField=oe.DateRangePickerField;exports.MoneyInputField=ne.MoneyInputField;exports.MultilineTextInputField=ae.MultilineTextInputField;exports.NumberInputField=ie.NumberInputField;exports.SearchInputField=ue.SearchInputField;exports.PasswordInputField=ce.PasswordInputField;exports.TextInputField=le.TextInputField;exports.system=se.system;exports.RichTextInput=W.RichTextInput;exports.Avatar=de.Avatar;exports.Box=pe.Box;exports.Button=ge.Button;exports.Code=me.Code;exports.ComboBox=fe.ComboBox;exports.Dialog=be.Dialog;exports.FieldErrorTypes=X.FieldErrorTypes;exports.FieldErrors=X.FieldErrors;exports.Group=ye.Group;exports.Heading=Te.Heading;exports.NimbusI18nProvider=Ce.NimbusI18nProvider;exports.IconButton=he.IconButton;exports.IconToggleButton=ve.IconToggleButton;exports.Image=Ie.Image;exports.Kbd=De.Kbd;exports.Link=we.Link;exports.List=L.List;exports._ListIndicator=L.ListIndicator;exports._ListItem=L.ListItem;exports._ListRoot=L.ListRoot;exports.DraggableList=E.DraggableList;exports._DraggableListField=E.DraggableListField;exports._DraggableListItem=E.DraggableListItem;exports._DraggableListRoot=E.DraggableListRoot;exports.SimpleGrid=qe.SimpleGrid;exports.Text=Se.Text;exports.Tooltip=Fe.Tooltip;exports.MakeElementFocusable=_e.MakeElementFocusable;exports.NimbusProvider=Q.NimbusProvider;exports.Checkbox=ke.Checkbox;exports.CollapsibleMotion=x.CollapsibleMotion;exports._CollapsibleMotionContent=x.CollapsibleMotionContent;exports._CollapsibleMotionRoot=x.CollapsibleMotionRoot;exports._CollapsibleMotionTrigger=x.CollapsibleMotionTrigger;exports.Stack=Re.Stack;exports.VisuallyHidden=Le.VisuallyHidden;exports.TextInput=Ee.TextInput;exports.NumberInput=xe.NumberInput;exports.Grid=Me.Grid;exports.Select=Ae.Select;exports.Separator=Pe.Separator;exports.Spacer=Be.Spacer;exports.Accordion=Ne.Accordion;exports._AccordionContent=k.AccordionContent;exports._AccordionHeader=k.AccordionHeader;exports._AccordionHeaderRightContent=k.AccordionHeaderRightContent;exports._AccordionItem=k.AccordionItem;exports._AccordionRoot=k.AccordionRoot;exports.Alert=F.Alert;exports._AlertActions=F.AlertActions;exports._AlertDescription=F.AlertDescription;exports._AlertDismissButton=F.AlertDismissButton;exports._AlertRoot=F.AlertRoot;exports._AlertTitle=F.AlertTitle;exports.Badge=Ke.Badge;exports.Card=M.Card;exports._CardContent=M.CardContent;exports._CardHeader=M.CardHeader;exports._CardRoot=M.CardRoot;exports.FormField=q.FormField;exports._FormFieldDescription=q.FormFieldDescription;exports._FormFieldError=q.FormFieldError;exports._FormFieldInfoBox=q.FormFieldInfoBox;exports._FormFieldInput=q.FormFieldInput;exports._FormFieldLabel=q.FormFieldLabel;exports._FormFieldRoot=q.FormFieldRoot;exports.Icon=He.Icon;exports.InlineSvg=Oe.InlineSvg;exports.LoadingSpinner=Ge.LoadingSpinner;exports.PasswordInput=Ue.PasswordInput;exports.SearchInput=je.SearchInput;exports.ScopedSearchInput=ze.ScopedSearchInput;exports.SplitButton=Ve.SplitButton;exports.TimeInput=$e.TimeInput;exports.MultilineTextInput=We.MultilineTextInput;exports.MoneyInput=Xe.MoneyInput;exports.RadioInput=Qe.RadioInput;exports.Switch=Ye.Switch;exports.TagGroup=Ze.TagGroup;exports.ToggleButton=Je.ToggleButton;exports.ToggleButtonGroup=H.ToggleButtonGroup;exports._ToggleButtonGroupButton=H.ToggleButtonGroupButton;exports._ToggleButtonGroupRoot=H.ToggleButtonGroupRoot;exports.DateInput=et.DateInput;exports.Calendar=tt.Calendar;exports.DatePicker=rt.DatePicker;exports.ProgressBar=ot.ProgressBar;exports.RangeCalendar=nt.RangeCalendar;exports.Menu=D.Menu;exports._MenuContent=D.MenuContent;exports._MenuItem=D.MenuItem;exports._MenuRoot=D.MenuRoot;exports._MenuSection=D.MenuSection;exports._MenuSubmenu=D.MenuSubmenu;exports._MenuSubmenuTrigger=D.MenuSubmenuTrigger;exports._MenuTrigger=D.MenuTrigger;exports.DateRangePicker=at.DateRangePicker;exports.Toolbar=it.Toolbar;exports.DataTable=b.DataTable;exports.UPDATE_ACTIONS=b.UPDATE_ACTIONS;exports._DataTableBody=b.DataTableBody;exports._DataTableCell=b.DataTableCell;exports._DataTableColumn=b.DataTableColumn;exports._DataTableExpandButton=b.DataTableExpandButton;exports._DataTableFooter=b.DataTableFooter;exports._DataTableHeader=b.DataTableHeader;exports._DataTableManager=b.DataTableManager;exports._DataTableNestedIcon=b.DataTableNestedIcon;exports._DataTableRoot=b.DataTableRoot;exports._DataTableRow=b.DataTableRow;exports._DataTableSelectionCell=b.DataTableSelectionCell;exports._DataTableTable=b.DataTableTable;exports.Pagination=ut.Pagination;exports.Drawer=I.Drawer;exports._DrawerBody=I.DrawerBody;exports._DrawerCloseTrigger=I.DrawerCloseTrigger;exports._DrawerContent=I.DrawerContent;exports._DrawerFooter=I.DrawerFooter;exports._DrawerHeader=I.DrawerHeader;exports._DrawerRoot=I.DrawerRoot;exports._DrawerTitle=I.DrawerTitle;exports._DrawerTrigger=I.DrawerTrigger;exports.Tabs=_.Tabs;exports._TabsList=_.TabsList;exports._TabsPanel=_.TabsPanel;exports._TabsPanels=_.TabsPanels;exports._TabsRoot=_.TabsRoot;exports._TabsTab=_.TabsTab;exports.LocalizedField=ct.LocalizedField;exports.useLocalizedStringFormatter=lt.useLocalizedStringFormatter;exports.useColorMode=te;exports.useColorModeValue=Pt;exports.useColorScheme=At;exports.useCopyToClipboard=Mt;exports.useHotkeys=Ft;
1
+ "use strict";const oe=require("./chunks/date-range-picker-field-DcIo1YzI.cjs.js"),ne=require("./chunks/money-input-field-BGZ_9HKh.cjs.js"),ae=require("./chunks/multiline-text-input-field-BX-w2v1Y.cjs.js"),ie=require("./chunks/number-input-field-BDNpAP6t.cjs.js"),ue=require("./chunks/search-input-field-v60x1oiw.cjs.js"),ce=require("./chunks/password-input-field-B5lWzWAQ.cjs.js"),le=require("./chunks/text-input-field-Cmht3hDK.cjs.js"),se=require("./chunks/index-CVXB9mwf.cjs.js"),W=require("./chunks/rich-text-input-Dml5F7pU.cjs.js"),g=require("react"),de=require("./chunks/avatar-BVQ91Ccd.cjs.js"),pe=require("./chunks/box-CWni3A32.cjs.js"),ge=require("./chunks/button-BR4fvcmi.cjs.js"),me=require("./chunks/code-q31e3vT2.cjs.js"),fe=require("./chunks/combobox-B7ck7gxL.cjs.js"),be=require("./chunks/dialog-gyrFT8w0.cjs.js"),X=require("./chunks/field-errors-aqrV93vp.cjs.js"),Bt=require("@chakra-ui/react/flex"),ye=require("./chunks/group-Cjq5lNQD.cjs.js"),Te=require("./chunks/heading-DWweWKGQ.cjs.js"),Ce=require("./chunks/nimbus-i18n-provider-BbsapOze.cjs.js"),he=require("./chunks/icon-button-CeB8_Yyr.cjs.js"),ve=require("./chunks/icon-toggle-button-C4Tnlt4t.cjs.js"),Ie=require("./chunks/image-CGOYoc2s.cjs.js"),De=require("./chunks/kbd-tKeWcdmy.cjs.js"),we=require("./chunks/link-CI7W-6L3.cjs.js"),L=require("./chunks/list-DJC9BmoC.cjs.js"),E=require("./chunks/draggable-list-fvTG-VYt.cjs.js"),qe=require("./chunks/simple-grid-Cd2MJxSX.cjs.js"),Nt=require("@chakra-ui/react/table"),Se=require("./chunks/text-BtRhIklG.cjs.js"),Fe=require("./chunks/tooltip-Bv-QlJ1O.cjs.js"),_e=require("./chunks/make-element-focusable-Cdmdc8sd.cjs.js"),Q=require("./chunks/nimbus-provider-Dnu5ohMR.cjs.js"),ke=require("./chunks/checkbox-BJANm94D.cjs.js"),x=require("./chunks/collapsible-motion-Biq0QGUr.cjs.js"),Re=require("./chunks/stack-CIN13EDn.cjs.js"),Le=require("./chunks/visually-hidden-BjtXUoFK.cjs.js"),Ee=require("./chunks/text-input-BlxK2Naj.cjs.js"),xe=require("./chunks/number-input-CR1hdy-B.cjs.js"),Me=require("./chunks/grid-Chuw1xje.cjs.js"),Ae=require("./chunks/select-Dq_6o0BB.cjs.js"),Pe=require("./chunks/separator-u_4por07.cjs.js"),Be=require("./chunks/spacer-BvQD2vU1.cjs.js"),Ne=require("./chunks/accordion-CVpg-FdJ.cjs.js"),k=require("./chunks/accordion.content-Cqet9SQ-.cjs.js"),F=require("./chunks/alert-pPmN9CXZ.cjs.js"),Ke=require("./chunks/badge-5F6i4KSF.cjs.js"),M=require("./chunks/card-Bk3xHlo2.cjs.js"),q=require("./chunks/form-field-FdRNl2bZ.cjs.js"),He=require("./chunks/icon-RyFjTAmU.cjs.js"),Oe=require("./chunks/inline-svg-BzzKpbrB.cjs.js"),Ge=require("./chunks/loading-spinner-DYEYnI5N.cjs.js"),Ue=require("./chunks/password-input-BVbQ42NG.cjs.js"),je=require("./chunks/search-input-BNXlpYtP.cjs.js"),ze=require("./chunks/scoped-search-input-DKCK7idN.cjs.js"),Ve=require("./chunks/split-button-B4gVhpP9.cjs.js"),$e=require("./chunks/time-input-9Q5vV4UD.cjs.js"),We=require("./chunks/multiline-text-input-CULLuZBp.cjs.js"),Xe=require("./chunks/money-input-C9eVmgeL.cjs.js"),Qe=require("./chunks/radio-input-BecbxXcF.cjs.js"),Ye=require("./chunks/switch-CsiG41ZR.cjs.js"),Ze=require("./chunks/tag-group-BI8_32rM.cjs.js"),Je=require("./chunks/toggle-button-L7i1XaWg.cjs.js"),H=require("./chunks/toggle-button-group-Lfn3zYmC.cjs.js"),et=require("./chunks/date-input-DkYcGwBy.cjs.js"),tt=require("./chunks/calendar-B01Vti5k.cjs.js"),rt=require("./chunks/date-picker-DQ5IZcRe.cjs.js"),ot=require("./chunks/progress-bar-dRKyuT1-.cjs.js"),nt=require("./chunks/range-calendar-Dq5Gtsb6.cjs.js"),D=require("./chunks/menu-Dno8yFDE.cjs.js"),at=require("./chunks/date-range-picker-CO2HH0mY.cjs.js"),it=require("./chunks/toolbar-D4fLFiSb.cjs.js"),b=require("./chunks/data-table-CBZLbe9h.cjs.js"),ut=require("./chunks/pagination-BIxlGft7.cjs.js"),I=require("./chunks/drawer-DbSJSCl_.cjs.js"),_=require("./chunks/tabs-iV08OTqG.cjs.js"),ct=require("./chunks/localized-field-D78l88ux.cjs.js");require("react/jsx-runtime");const lt=require("./chunks/normalize-messages-CaDzkuUm.cjs.js"),Y=["shift","alt","meta","mod","ctrl","control"],st={esc:"escape",return:"enter",left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function S(e){return(st[e.trim()]||e.trim()).toLowerCase().replace(/key|digit|numpad/,"")}function Z(e){return Y.includes(e)}function P(e,t=","){return e.toLowerCase().split(t)}function B(e,t="+",r=">",i=!1,u){let n=[],a=!1;e=e.trim(),e.includes(r)?(a=!0,n=e.toLocaleLowerCase().split(r).map(f=>S(f))):n=e.toLocaleLowerCase().split(t).map(f=>S(f));const d={alt:n.includes("alt"),ctrl:n.includes("ctrl")||n.includes("control"),shift:n.includes("shift"),meta:n.includes("meta"),mod:n.includes("mod"),useKey:i},l=n.filter(f=>!Y.includes(f));return{...d,keys:l,description:u,isSequence:a,hotkey:e}}const w=new Set;function O(e){return Array.isArray(e)}function dt(e,t=","){return(O(e)?e:e.split(t)).every(r=>w.has(r.trim().toLowerCase()))}function pt(e){const t=Array.isArray(e)?e:[e];w.has("meta")&&w.forEach(r=>!Z(r)&&w.delete(r.toLowerCase())),t.forEach(r=>w.add(r.toLowerCase()))}function gt(e){const t=Array.isArray(e)?e:[e];e==="meta"?w.clear():t.forEach(r=>w.delete(r.toLowerCase()))}function mt(e,t,r){(typeof r=="function"&&r(e,t)||r===!0)&&e.preventDefault()}function ft(e,t,r){return typeof r=="function"?r(e,t):r===!0||r===void 0}const bt=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"];function yt(e){return J(e,bt)}function J(e,t=!1){const{target:r,composed:i}=e;let u,n;return Tt(r)&&i?(u=e.composedPath()[0]&&e.composedPath()[0].tagName,n=e.composedPath()[0]&&e.composedPath()[0].role):(u=r&&r.tagName,n=r&&r.role),O(t)?!!(u&&t&&t.some(a=>a.toLowerCase()===u.toLowerCase()||a===n)):!!(u&&t&&t)}function Tt(e){return!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-")}function Ct(e,t){return e.length===0&&t?(console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'),!0):t?e.some(r=>t.includes(r))||e.includes("*"):!0}const ht=(e,t,r=!1)=>{const{alt:i,meta:u,mod:n,shift:a,ctrl:d,keys:l,useKey:f}=t,{code:y,key:o,ctrlKey:s,metaKey:T,shiftKey:C,altKey:p}=e,m=S(y);if(f&&l?.length===1&&l.includes(o))return!0;if(!l?.includes(m)&&!["ctrl","control","unknown","meta","alt","shift","os"].includes(m))return!1;if(!r){if(i!==p&&m!=="alt"||a!==C&&m!=="shift")return!1;if(n){if(!T&&!s)return!1}else if(u!==T&&m!=="meta"&&m!=="os"||d!==s&&m!=="ctrl"&&m!=="control")return!1}return l&&l.length===1&&l.includes(m)?!0:l?dt(l):!l},vt=g.createContext(void 0),It=()=>g.useContext(vt);function ee(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce((r,i)=>r&&ee(e[i],t[i]),!0):e===t}const Dt=g.createContext({hotkeys:[],activeScopes:[],toggleScope:()=>{},enableScope:()=>{},disableScope:()=>{}}),wt=()=>g.useContext(Dt);function qt(e){const t=g.useRef(void 0);return ee(t.current,e)||(t.current=e),t.current}const z=e=>{e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},St=typeof window<"u"?g.useLayoutEffect:g.useEffect;function Ft(e,t,r,i){const u=g.useRef(null),n=g.useRef(!1),a=Array.isArray(r)?Array.isArray(i)?void 0:i:r,d=O(e)?e.join(a?.delimiter):e,l=Array.isArray(r)?r:Array.isArray(i)?i:void 0,f=g.useCallback(t,l??[]),y=g.useRef(f);l?y.current=f:y.current=t;const o=qt(a),{activeScopes:s}=wt(),T=It();return St(()=>{if(o?.enabled===!1||!Ct(s,o?.scopes))return;let C=[],p;const m=(c,j=!1)=>{if(!(yt(c)&&!J(c,o?.enableOnFormTags))){if(u.current!==null){const v=u.current.getRootNode();if((v instanceof Document||v instanceof ShadowRoot)&&v.activeElement!==u.current&&!u.current.contains(v.activeElement)){z(c);return}}c.target?.isContentEditable&&!o?.enableOnContentEditable||P(d,o?.delimiter).forEach(v=>{if(v.includes(o?.splitKey??"+")&&v.includes(o?.sequenceSplitKey??">")){console.warn(`Hotkey ${v} contains both ${o?.splitKey??"+"} and ${o?.sequenceSplitKey??">"} which is not supported.`);return}const h=B(v,o?.splitKey,o?.sequenceSplitKey,o?.useKey,o?.description);if(h.isSequence){p=setTimeout(()=>{C=[]},o?.sequenceTimeoutMs??1e3);const A=h.useKey?c.key:S(c.code);if(Z(A.toLowerCase()))return;C.push(A);const re=h.keys?.[C.length-1];if(A!==re){C=[],p&&clearTimeout(p);return}C.length===h.keys?.length&&(y.current(c,h),p&&clearTimeout(p),C=[])}else if(ht(c,h,o?.ignoreModifiers)||h.keys?.includes("*")){if(o?.ignoreEventWhen?.(c)||j&&n.current)return;if(mt(c,h,o?.preventDefault),!ft(c,h,o?.enabled)){z(c);return}y.current(c,h),j||(n.current=!0)}})}},G=c=>{c.code!==void 0&&(pt(S(c.code)),(o?.keydown===void 0&&o?.keyup!==!0||o?.keydown)&&m(c))},U=c=>{c.code!==void 0&&(gt(S(c.code)),n.current=!1,o?.keyup&&m(c,!0))},R=u.current||a?.document||document;return R.addEventListener("keyup",U,a?.eventListenerOptions),R.addEventListener("keydown",G,a?.eventListenerOptions),T&&P(d,o?.delimiter).forEach(c=>T.addHotkey(B(c,o?.splitKey,o?.sequenceSplitKey,o?.useKey,o?.description))),()=>{R.removeEventListener("keyup",U,a?.eventListenerOptions),R.removeEventListener("keydown",G,a?.eventListenerOptions),T&&P(d,o?.delimiter).forEach(c=>T.removeHotkey(B(c,o?.splitKey,o?.sequenceSplitKey,o?.useKey,o?.description))),C=[],p&&clearTimeout(p)}},[d,o,s]),u}function _t(){var e=g.useRef(!1),t=g.useCallback(function(){return e.current},[]);return g.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),t}var kt=function(e){e===void 0&&(e={});var t=g.useState(e),r=t[0],i=t[1],u=g.useCallback(function(n){i(function(a){return Object.assign({},a,n instanceof Function?n(a):n)})},[]);return[r,u]},N,V;function Rt(){return V||(V=1,N=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],i=0;i<e.rangeCount;i++)r.push(e.getRangeAt(i));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||r.forEach(function(u){e.addRange(u)}),t&&t.focus()}}),N}var K,$;function Lt(){if($)return K;$=1;var e=Rt(),t={"text/plain":"Text","text/html":"Url",default:"Text"},r="Copy to clipboard: #{key}, Enter";function i(n){var a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return n.replace(/#{\s*key\s*}/g,a)}function u(n,a){var d,l,f,y,o,s,T=!1;a||(a={}),d=a.debug||!1;try{f=e(),y=document.createRange(),o=document.getSelection(),s=document.createElement("span"),s.textContent=n,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",function(p){if(p.stopPropagation(),a.format)if(p.preventDefault(),typeof p.clipboardData>"u"){d&&console.warn("unable to use e.clipboardData"),d&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var m=t[a.format]||t.default;window.clipboardData.setData(m,n)}else p.clipboardData.clearData(),p.clipboardData.setData(a.format,n);a.onCopy&&(p.preventDefault(),a.onCopy(p.clipboardData))}),document.body.appendChild(s),y.selectNodeContents(s),o.addRange(y);var C=document.execCommand("copy");if(!C)throw new Error("copy command was unsuccessful");T=!0}catch(p){d&&console.error("unable to copy using execCommand: ",p),d&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(a.format||"text",n),a.onCopy&&a.onCopy(window.clipboardData),T=!0}catch(m){d&&console.error("unable to copy using clipboardData: ",m),d&&console.error("falling back to prompt"),l=i("message"in a?a.message:r),window.prompt(l,n)}}finally{o&&(typeof o.removeRange=="function"?o.removeRange(y):o.removeAllRanges()),s&&document.body.removeChild(s),f()}return T}return K=u,K}var Et=Lt();const xt=W.getDefaultExportFromCjs(Et);var Mt=function(){var e=_t(),t=kt({value:void 0,error:void 0,noUserInteraction:!0}),r=t[0],i=t[1],u=g.useCallback(function(n){if(e()){var a,d;try{if(typeof n!="string"&&typeof n!="number"){var l=new Error("Cannot copy typeof "+typeof n+" to clipboard, must be a string");process.env.NODE_ENV==="development"&&console.error(l),i({value:n,error:l,noUserInteraction:!0});return}else if(n===""){var l=new Error("Cannot copy empty string to clipboard.");process.env.NODE_ENV==="development"&&console.error(l),i({value:n,error:l,noUserInteraction:!0});return}d=n.toString(),a=xt(d),i({value:d,error:void 0,noUserInteraction:a})}catch(f){i({value:d,error:f,noUserInteraction:a})}}},[]);return[r,u]};function At(){const[e,t]=g.useState(r());function r(){return document.documentElement.style.getPropertyValue("color-scheme")||localStorage.getItem("theme")||"light"}return g.useEffect(()=>{const i=document.documentElement,u=new MutationObserver(()=>{const n=r();t(n)});return u.observe(i,{attributes:!0,attributeFilter:["style"]}),()=>u.disconnect()},[]),e}function te(){const{resolvedTheme:e,setTheme:t}=Q.z();return{colorMode:e,setColorMode:t,toggleColorMode:()=>{t(e==="light"?"dark":"light")}}}function Pt(e,t){const{colorMode:r}=te();return r==="light"?e:t}exports.DateRangePickerField=oe.DateRangePickerField;exports.MoneyInputField=ne.MoneyInputField;exports.MultilineTextInputField=ae.MultilineTextInputField;exports.NumberInputField=ie.NumberInputField;exports.SearchInputField=ue.SearchInputField;exports.PasswordInputField=ce.PasswordInputField;exports.TextInputField=le.TextInputField;exports.system=se.system;exports.RichTextInput=W.RichTextInput;exports.Avatar=de.Avatar;exports.Box=pe.Box;exports.Button=ge.Button;exports.Code=me.Code;exports.ComboBox=fe.ComboBox;exports.Dialog=be.Dialog;exports.FieldErrorTypes=X.FieldErrorTypes;exports.FieldErrors=X.FieldErrors;exports.Group=ye.Group;exports.Heading=Te.Heading;exports.NimbusI18nProvider=Ce.NimbusI18nProvider;exports.IconButton=he.IconButton;exports.IconToggleButton=ve.IconToggleButton;exports.Image=Ie.Image;exports.Kbd=De.Kbd;exports.Link=we.Link;exports.List=L.List;exports._ListIndicator=L.ListIndicator;exports._ListItem=L.ListItem;exports._ListRoot=L.ListRoot;exports.DraggableList=E.DraggableList;exports._DraggableListField=E.DraggableListField;exports._DraggableListItem=E.DraggableListItem;exports._DraggableListRoot=E.DraggableListRoot;exports.SimpleGrid=qe.SimpleGrid;exports.Text=Se.Text;exports.Tooltip=Fe.Tooltip;exports.MakeElementFocusable=_e.MakeElementFocusable;exports.NimbusProvider=Q.NimbusProvider;exports.Checkbox=ke.Checkbox;exports.CollapsibleMotion=x.CollapsibleMotion;exports._CollapsibleMotionContent=x.CollapsibleMotionContent;exports._CollapsibleMotionRoot=x.CollapsibleMotionRoot;exports._CollapsibleMotionTrigger=x.CollapsibleMotionTrigger;exports.Stack=Re.Stack;exports.VisuallyHidden=Le.VisuallyHidden;exports.TextInput=Ee.TextInput;exports.NumberInput=xe.NumberInput;exports.Grid=Me.Grid;exports.Select=Ae.Select;exports.Separator=Pe.Separator;exports.Spacer=Be.Spacer;exports.Accordion=Ne.Accordion;exports._AccordionContent=k.AccordionContent;exports._AccordionHeader=k.AccordionHeader;exports._AccordionHeaderRightContent=k.AccordionHeaderRightContent;exports._AccordionItem=k.AccordionItem;exports._AccordionRoot=k.AccordionRoot;exports.Alert=F.Alert;exports._AlertActions=F.AlertActions;exports._AlertDescription=F.AlertDescription;exports._AlertDismissButton=F.AlertDismissButton;exports._AlertRoot=F.AlertRoot;exports._AlertTitle=F.AlertTitle;exports.Badge=Ke.Badge;exports.Card=M.Card;exports._CardContent=M.CardContent;exports._CardHeader=M.CardHeader;exports._CardRoot=M.CardRoot;exports.FormField=q.FormField;exports._FormFieldDescription=q.FormFieldDescription;exports._FormFieldError=q.FormFieldError;exports._FormFieldInfoBox=q.FormFieldInfoBox;exports._FormFieldInput=q.FormFieldInput;exports._FormFieldLabel=q.FormFieldLabel;exports._FormFieldRoot=q.FormFieldRoot;exports.Icon=He.Icon;exports.InlineSvg=Oe.InlineSvg;exports.LoadingSpinner=Ge.LoadingSpinner;exports.PasswordInput=Ue.PasswordInput;exports.SearchInput=je.SearchInput;exports.ScopedSearchInput=ze.ScopedSearchInput;exports.SplitButton=Ve.SplitButton;exports.TimeInput=$e.TimeInput;exports.MultilineTextInput=We.MultilineTextInput;exports.MoneyInput=Xe.MoneyInput;exports.RadioInput=Qe.RadioInput;exports.Switch=Ye.Switch;exports.TagGroup=Ze.TagGroup;exports.ToggleButton=Je.ToggleButton;exports.ToggleButtonGroup=H.ToggleButtonGroup;exports._ToggleButtonGroupButton=H.ToggleButtonGroupButton;exports._ToggleButtonGroupRoot=H.ToggleButtonGroupRoot;exports.DateInput=et.DateInput;exports.Calendar=tt.Calendar;exports.DatePicker=rt.DatePicker;exports.ProgressBar=ot.ProgressBar;exports.RangeCalendar=nt.RangeCalendar;exports.Menu=D.Menu;exports._MenuContent=D.MenuContent;exports._MenuItem=D.MenuItem;exports._MenuRoot=D.MenuRoot;exports._MenuSection=D.MenuSection;exports._MenuSubmenu=D.MenuSubmenu;exports._MenuSubmenuTrigger=D.MenuSubmenuTrigger;exports._MenuTrigger=D.MenuTrigger;exports.DateRangePicker=at.DateRangePicker;exports.Toolbar=it.Toolbar;exports.DataTable=b.DataTable;exports.UPDATE_ACTIONS=b.UPDATE_ACTIONS;exports._DataTableBody=b.DataTableBody;exports._DataTableCell=b.DataTableCell;exports._DataTableColumn=b.DataTableColumn;exports._DataTableExpandButton=b.DataTableExpandButton;exports._DataTableFooter=b.DataTableFooter;exports._DataTableHeader=b.DataTableHeader;exports._DataTableManager=b.DataTableManager;exports._DataTableNestedIcon=b.DataTableNestedIcon;exports._DataTableRoot=b.DataTableRoot;exports._DataTableRow=b.DataTableRow;exports._DataTableSelectionCell=b.DataTableSelectionCell;exports._DataTableTable=b.DataTableTable;exports.Pagination=ut.Pagination;exports.Drawer=I.Drawer;exports._DrawerBody=I.DrawerBody;exports._DrawerCloseTrigger=I.DrawerCloseTrigger;exports._DrawerContent=I.DrawerContent;exports._DrawerFooter=I.DrawerFooter;exports._DrawerHeader=I.DrawerHeader;exports._DrawerRoot=I.DrawerRoot;exports._DrawerTitle=I.DrawerTitle;exports._DrawerTrigger=I.DrawerTrigger;exports.Tabs=_.Tabs;exports._TabsList=_.TabsList;exports._TabsPanel=_.TabsPanel;exports._TabsPanels=_.TabsPanels;exports._TabsRoot=_.TabsRoot;exports._TabsTab=_.TabsTab;exports.LocalizedField=ct.LocalizedField;exports.useLocalizedStringFormatter=lt.useLocalizedStringFormatter;exports.useColorMode=te;exports.useColorModeValue=Pt;exports.useColorScheme=At;exports.useCopyToClipboard=Mt;exports.useHotkeys=Ft;
2
2
  //# sourceMappingURL=index.cjs.map