@pega/cosmos-react-core 10.0.0-build.4.1 → 10.0.0-build.4.3

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 (120) hide show
  1. package/lib/components/AIButton/AIButton.d.ts +2 -2
  2. package/lib/components/AIButton/AIButton.d.ts.map +1 -1
  3. package/lib/components/AppShell/NavigationList.js +1 -3
  4. package/lib/components/AppShell/NavigationList.js.map +1 -1
  5. package/lib/components/AppShell/ThemeSwitcher.d.ts +1 -1
  6. package/lib/components/Avatar/Avatar.d.ts +3 -3
  7. package/lib/components/Backdrop/Backdrop.d.ts +30 -30
  8. package/lib/components/Backdrop/Backdrop.d.ts.map +1 -1
  9. package/lib/components/Badges/Alert.d.ts +1 -1
  10. package/lib/components/Badges/Count.d.ts +1 -1
  11. package/lib/components/Badges/Keyboard.d.ts +1 -1
  12. package/lib/components/Badges/Selection.d.ts +1 -1
  13. package/lib/components/Badges/Status.d.ts +1 -1
  14. package/lib/components/Badges/Tag.d.ts +1 -1
  15. package/lib/components/Banner/Banner.d.ts +1 -1
  16. package/lib/components/Banner/Banner.js +1 -5
  17. package/lib/components/Banner/Banner.js.map +1 -1
  18. package/lib/components/Banner/Banner.styles.d.ts +2 -2
  19. package/lib/components/Banner/Banner.styles.d.ts.map +1 -1
  20. package/lib/components/Checkbox/Checkbox.d.ts +1 -1
  21. package/lib/components/Checkbox/CheckboxCard.d.ts +1 -1
  22. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  23. package/lib/components/ColorPicker/ColorPicker.d.ts +1 -1
  24. package/lib/components/ComboBox/ComboBox.d.ts +1 -1
  25. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js +1 -3
  26. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js.map +1 -1
  27. package/lib/components/CompositeInput/CompositeInput.d.ts +1 -1
  28. package/lib/components/CreditCard/CreditCardInput.d.ts +1 -1
  29. package/lib/components/Currency/CurrencyInput.d.ts +1 -1
  30. package/lib/components/DangerButton/DangerButton.d.ts +2 -2
  31. package/lib/components/DangerButton/DangerButton.d.ts.map +1 -1
  32. package/lib/components/DateTime/Input/DateInput.d.ts +1 -1
  33. package/lib/components/DateTime/Input/DateTimeInput.d.ts +1 -1
  34. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts +1 -1
  35. package/lib/components/DateTime/Input/Duration/DurationInput.d.ts +1 -1
  36. package/lib/components/DateTime/Input/MonthInput.d.ts +1 -1
  37. package/lib/components/DateTime/Input/QuarterInput.d.ts +1 -1
  38. package/lib/components/DateTime/Input/TimeInput.d.ts +1 -1
  39. package/lib/components/DateTime/Input/WeekInput.d.ts +1 -1
  40. package/lib/components/DateTime/Picker/Calendar.js +2 -6
  41. package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
  42. package/lib/components/DateTime/Picker/TimePicker.d.ts.map +1 -1
  43. package/lib/components/DateTime/Picker/TimePicker.js +3 -12
  44. package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
  45. package/lib/components/EmptyState/EmptyState.d.ts +1 -1
  46. package/lib/components/ExpandCollapse/ExpandCollapseButton.d.ts +2 -2
  47. package/lib/components/ExpandCollapse/ExpandCollapseButton.d.ts.map +1 -1
  48. package/lib/components/FieldGroup/FieldGroup.d.ts +58 -58
  49. package/lib/components/FieldValueList/FieldValueList.d.ts +2 -2
  50. package/lib/components/File/FileInput.d.ts +1 -1
  51. package/lib/components/File/FileItem.d.ts +2 -2
  52. package/lib/components/File/FileList.d.ts +29 -29
  53. package/lib/components/File/FileList.d.ts.map +1 -1
  54. package/lib/components/File/FileUploadItem.js +1 -3
  55. package/lib/components/File/FileUploadItem.js.map +1 -1
  56. package/lib/components/Form/Form.d.ts +1 -1
  57. package/lib/components/FormField/FormField.d.ts +1 -1
  58. package/lib/components/Fullscreen/Fullscreen.d.ts +1 -1
  59. package/lib/components/Fullscreen/FullscreenButton.d.ts +2 -2
  60. package/lib/components/Fullscreen/FullscreenButton.d.ts.map +1 -1
  61. package/lib/components/HTML/HTML.d.ts +1 -1
  62. package/lib/components/Input/Input.d.ts +1 -1
  63. package/lib/components/Lightbox/Lightbox.d.ts +1 -1
  64. package/lib/components/Lightbox/Lightbox.js +2 -6
  65. package/lib/components/Lightbox/Lightbox.js.map +1 -1
  66. package/lib/components/Link/Link.d.ts +4 -4
  67. package/lib/components/List/CommaSeparatedList.js +1 -3
  68. package/lib/components/List/CommaSeparatedList.js.map +1 -1
  69. package/lib/components/List/List.js +1 -5
  70. package/lib/components/List/List.js.map +1 -1
  71. package/lib/components/ListToolbar/ListToolbar.d.ts +1 -1
  72. package/lib/components/ListToolbar/ListToolbar.styles.d.ts +63 -63
  73. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  74. package/lib/components/Location/LocationInput.d.ts +1 -1
  75. package/lib/components/Menu/Menu.d.ts +1 -1
  76. package/lib/components/Menu/MenuItem.d.ts +1 -1
  77. package/lib/components/MenuButton/MenuButton.d.ts +1 -1
  78. package/lib/components/MetaList/MetaList.d.ts +1 -1
  79. package/lib/components/MultiStepForm/MultiStepForm.d.ts +29 -29
  80. package/lib/components/Number/NumberInput.d.ts +1 -1
  81. package/lib/components/Number/NumberRangeInput.d.ts +1 -1
  82. package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js +2 -7
  83. package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js.map +1 -1
  84. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js +2 -9
  85. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js.map +1 -1
  86. package/lib/components/PageTemplates/PageTemplates.d.ts +7 -7
  87. package/lib/components/Phone/PhoneInput.d.ts +1 -1
  88. package/lib/components/RadioButton/RadioButton.d.ts +1 -1
  89. package/lib/components/RadioButton/RadioButtonCard.d.ts +1 -1
  90. package/lib/components/RadioButtonGroup/RadioButtonGroup.d.ts +1 -1
  91. package/lib/components/RadioCheck/RadioCheck.d.ts +1 -1
  92. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts +1 -1
  93. package/lib/components/Select/Select.d.ts +1 -1
  94. package/lib/components/SelectionCard/SelectionCard.d.ts +1 -1
  95. package/lib/components/SelectionCard/SelectionCardDisplay.d.ts +1 -1
  96. package/lib/components/ShortcutManager/Store.d.ts +1 -1
  97. package/lib/components/ShortcutManager/Store.d.ts.map +1 -1
  98. package/lib/components/SkipLinks/SkipLinks.d.ts +1 -1
  99. package/lib/components/SkipLinks/SkipLinks.d.ts.map +1 -1
  100. package/lib/components/Slider/Slider.d.ts +1 -1
  101. package/lib/components/SpeechToTextButton/SpeechToTextButton.d.ts +1 -1
  102. package/lib/components/SummaryItem/SummaryItem.d.ts +57 -57
  103. package/lib/components/SummaryList/SummaryList.d.ts +1 -1
  104. package/lib/components/Tabs/Tab.d.ts +1 -1
  105. package/lib/components/Tabs/TabPanel.d.ts +28 -28
  106. package/lib/components/TextArea/TextArea.d.ts +1 -1
  107. package/lib/components/Toaster/Toaster.js +2 -6
  108. package/lib/components/Toaster/Toaster.js.map +1 -1
  109. package/lib/components/Tooltip/Tooltip.d.ts +1 -1
  110. package/lib/components/Tree/StandardTree.js +1 -3
  111. package/lib/components/Tree/StandardTree.js.map +1 -1
  112. package/lib/components/Tree/StandardTree.styles.d.ts +2 -2
  113. package/lib/components/Tree/Tree.d.ts +1 -1
  114. package/lib/hooks/useI18n.d.ts +1 -1
  115. package/lib/hooks/useScrollToggle.d.ts.map +1 -1
  116. package/lib/hooks/useScrollToggle.js +3 -1
  117. package/lib/hooks/useScrollToggle.js.map +1 -1
  118. package/lib/theme/themes/virgoDarkTheme.json +0 -1
  119. package/lib/theme/themes/virgoTheme.json +0 -1
  120. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/Calendar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo, useState, forwardRef, useEffect, useCallback } from 'react';\nimport type { FunctionComponent, KeyboardEvent, PropsWithoutRef, Ref } from 'react';\n\nimport Text from '../../Text';\nimport { CALENDAR_TYPES, type CalendarType } from '../Input/local';\nimport {\n getCalendarTypeFromLocale,\n getDateOfWeek,\n getWeek,\n getWeekYear,\n parseToDate,\n toUTCDateString\n} from '../Input/utils';\nimport { useConfiguration, useConsolidatedRef, useFocusWithin, useI18n } from '../../../hooks';\nimport type { ForwardProps, TestIdProp } from '../../../types';\nimport type { FormControlProps } from '../../FormControl';\nimport { cap } from '../../../utils';\nimport VisuallyHiddenText from '../../VisuallyHiddenText';\nimport { getAdjustedUTCDateTime, getAdjustedUTCDateTimeForTimezone } from '../utils';\n\nimport { getDaysOfMonth, getLocalizedDays, getWeeksOfMonth } from './utils';\nimport {\n StyledColumnLabel,\n StyledPick,\n StyledDay,\n StyledCalendar,\n StyledWeekGrid,\n StyledWeekLabel,\n StyledWeekNumber\n} from './Calendar.styles';\n\nexport interface CalendarProps extends TestIdProp {\n /**\n * Sets DOM id for the control and associates label element via 'for' attribute.\n * If an id is not pass, a random id will be generated for any render.\n */\n id?: FormControlProps['id'];\n /** Defines default date that will be selected initially when the Calendar is visible. */\n selected?: Date;\n /**\n * Defines currently visible month.\n * @default new Date()\n */\n current?: Date;\n /** Defines dates range with start date and end date that can be set by the user. */\n selectedRange?: { startDate: Date | undefined; endDate: Date | undefined };\n /** Defines if days should be highlighted for range selection */\n showHighlight?: boolean;\n /** Defines if week numbers should be displayed in calendar */\n showWeekNumber?: boolean;\n /**\n * The mode of the calendar that will be rendered, ie. whether single date or week are selectable.\n * @default 'date'\n */\n mode?: 'date' | 'week';\n /** Callback fired when new day is selected. */\n onSelect?: (date: Date) => void;\n /** Callback fired when user focuses new day. */\n onFocus?: (date: Date) => void;\n /** Sets the type of calendar to be used. This will be determined by locale if no value is provided. */\n calendarType?: CalendarType;\n /** Defines minimum available value that can be selected by the user. */\n min?: string | number | Date;\n /** Defines maximum available value that can be selected by the user. */\n max?: string | number | Date;\n /** Set the calendar to disabled state, ie. non-interactive. */\n disabled?: boolean;\n /** IANA timezone string. When provided, today highlight uses server timezone instead of browser timezone. */\n timeZone?: string;\n}\n\nconst ariaOpts = { day: 'numeric', month: 'long', year: 'numeric' } as const;\n\nconst Calendar: FunctionComponent<CalendarProps & ForwardProps> = forwardRef(function Calendar(\n {\n testId,\n selected,\n current,\n selectedRange,\n showHighlight,\n mode = 'date',\n showWeekNumber,\n calendarType: calendar = CALENDAR_TYPES.ISO_8601,\n onSelect,\n onFocus,\n disabled,\n min: minProp,\n max: maxProp,\n timeZone\n }: PropsWithoutRef<CalendarProps>,\n ref: Ref<HTMLTableElement>\n) {\n const { locale } = useConfiguration();\n\n const min = minProp ? parseToDate(minProp) : -Infinity;\n const max = maxProp ? parseToDate(maxProp) : Infinity;\n\n // Only adjust for timezone if the original prop was NOT a string\n if (min instanceof Date && typeof minProp !== 'string')\n min.setUTCMinutes(min.getUTCMinutes() - min.getTimezoneOffset());\n if (max instanceof Date && typeof maxProp !== 'string')\n max.setUTCMinutes(max.getUTCMinutes() - max.getTimezoneOffset());\n\n const showWeekLabel = mode === 'week' ? false : showWeekNumber;\n const effectiveCurrent = useMemo(\n () =>\n current ??\n (selected ? new Date(selected.getTime()) : null) ??\n (timeZone ? getAdjustedUTCDateTimeForTimezone(timeZone) : getAdjustedUTCDateTime()),\n [current, selected, timeZone]\n );\n const [focusedDay, setFocusedDay] = useState(effectiveCurrent);\n useEffect(() => {\n setFocusedDay(effectiveCurrent);\n }, [effectiveCurrent.getUTCFullYear(), effectiveCurrent.getUTCMonth()]);\n\n const calendarType = useMemo(\n () => calendar ?? getCalendarTypeFromLocale(locale),\n [locale, calendar]\n );\n\n const [highlightBoundary, setHighlightBoundary] = useState<Date>();\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent<HTMLElement>) => {\n if (\n (mode === 'date'\n ? ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']\n : ['ArrowUp', 'ArrowDown']\n ).includes(e.key)\n ) {\n e.preventDefault();\n const newFocused = new Date(focusedDay);\n switch (e.key) {\n case 'ArrowUp':\n newFocused.setUTCDate(focusedDay.getUTCDate() - 7);\n break;\n case 'ArrowDown':\n newFocused.setUTCDate(focusedDay.getUTCDate() + 7);\n break;\n case 'ArrowRight':\n newFocused.setUTCDate(focusedDay.getUTCDate() + 1);\n break;\n case 'ArrowLeft':\n newFocused.setUTCDate(focusedDay.getUTCDate() - 1);\n break;\n default:\n }\n if (newFocused < min || newFocused > max) return;\n setFocusedDay(newFocused);\n onFocus?.(newFocused);\n setHighlightBoundary(newFocused);\n }\n if (e.key === 'Enter') {\n e.preventDefault();\n onSelect?.(focusedDay);\n }\n },\n [mode, focusedDay, onFocus, onSelect]\n );\n\n const containerRef = useConsolidatedRef<HTMLTableElement>(ref);\n const hasFocus = useFocusWithin([containerRef]);\n\n const today = useMemo(\n () =>\n toUTCDateString(\n timeZone ? getAdjustedUTCDateTimeForTimezone(timeZone) : getAdjustedUTCDateTime()\n ),\n [timeZone]\n );\n\n const isDisabled = (day: Date) => {\n return Number(min) > day.getTime() || day.getTime() > Number(max);\n };\n\n const isSelected = (day: Date) => {\n return [\n selected && toUTCDateString(selected),\n selectedRange?.startDate && toUTCDateString(selectedRange?.startDate),\n selectedRange?.endDate && toUTCDateString(selectedRange?.endDate)\n ].includes(toUTCDateString(day));\n };\n\n const isWeekSelected = (day: Date) => {\n return (\n selected &&\n toUTCDateString(day) ===\n toUTCDateString(\n getDateOfWeek(\n getWeek(selected, calendarType, 'UTC'),\n getWeekYear(selected, calendarType, 'UTC'),\n calendarType\n )\n )\n );\n };\n\n const isFocused = (day: Date) => {\n return toUTCDateString(day) === toUTCDateString(focusedDay);\n };\n\n const isWeekFocused = (day: Date) => {\n return (\n toUTCDateString(day) ===\n toUTCDateString(\n getDateOfWeek(\n getWeek(focusedDay, calendarType, 'UTC'),\n getWeekYear(focusedDay, calendarType, 'UTC'),\n calendarType\n )\n )\n );\n };\n\n const isInRange = (day: Date) => {\n return (\n selectedRange &&\n selectedRange.startDate &&\n selectedRange.endDate &&\n day >= selectedRange.startDate &&\n day <= selectedRange.endDate\n );\n };\n\n const isHighlighted = (day: Date) => {\n if (!selectedRange || !showHighlight || !highlightBoundary) return false;\n const betweenHighlightAndBoundary = (rangeBoundaryType: 'startDate' | 'endDate') => {\n const rangeBoundary = selectedRange[rangeBoundaryType];\n if (!rangeBoundary) return false;\n return !!(\n rangeBoundary &&\n ((day >= rangeBoundary && day <= highlightBoundary) ||\n (day <= rangeBoundary && day >= highlightBoundary))\n );\n };\n return betweenHighlightAndBoundary('startDate') || betweenHighlightAndBoundary('endDate');\n };\n\n useEffect(() => {\n if (hasFocus)\n containerRef.current?.querySelector<HTMLButtonElement>('button[tabindex=\"0\"]')?.focus();\n }, [hasFocus, focusedDay]);\n\n const days = getDaysOfMonth(effectiveCurrent, calendarType ?? CALENDAR_TYPES.ISO_8601).map(\n day => {\n return (\n <StyledDay\n key={day.getTime()}\n tabIndex={isFocused(day) ? 0 : -1}\n disabled={disabled || mode === 'week' || isDisabled(day)}\n current={toUTCDateString(day) === today}\n highlighted={isInRange(day) || isHighlighted(day)}\n aria-selected={isSelected(day) || undefined}\n aria-current={isSelected(day) ? 'date' : undefined}\n dayInNexOrPrevMonth={day.getUTCMonth() !== effectiveCurrent.getUTCMonth()}\n aria-label={toUTCDateString(day, Intl.DateTimeFormat(locale, ariaOpts))}\n onMouseOver={showHighlight ? () => setHighlightBoundary(day) : undefined}\n onMouseOut={showHighlight ? () => setHighlightBoundary(undefined) : undefined}\n onClick={() => {\n setFocusedDay(day);\n onFocus?.(day);\n onSelect?.(day);\n }}\n >\n {day.getUTCDate().toLocaleString(locale)}\n </StyledDay>\n );\n }\n );\n\n const names = useMemo(() => getLocalizedDays(calendarType, locale), [locale, calendarType]);\n\n const t = useI18n();\n\n const displayNames = new Intl.DisplayNames(locale, {\n style: 'long',\n type: 'dateTimeField'\n }) as Intl.DateTimeDisplayNames;\n const displayNamesShort = new Intl.DisplayNames(locale, {\n style: 'short',\n type: 'dateTimeField'\n }) as Intl.DateTimeDisplayNames;\n\n const weeks = getWeeksOfMonth(effectiveCurrent, calendarType).map(({ weekNo, weekYear }) => {\n return (\n <>\n <Text as={StyledWeekNumber} key={weekNo} aria-hidden>\n {weekNo.toString()}\n </Text>\n <VisuallyHiddenText>\n {`${displayNames.of('weekOfYear')} ${weekNo.toString()} ${weekYear.toString()}`}\n </VisuallyHiddenText>\n </>\n );\n });\n\n const weeksButtons = getWeeksOfMonth(effectiveCurrent, calendarType).map(\n ({ weekNo, weekYear }) => {\n const dateOfWeek = getDateOfWeek(weekNo, weekYear, calendarType);\n const lastDayOfWeek = new Date(dateOfWeek);\n lastDayOfWeek.setDate(dateOfWeek.getDate() + 6);\n return (\n <StyledPick\n key={weekNo}\n tabIndex={isWeekFocused(dateOfWeek) ? 0 : -1}\n disabled={disabled || mode === 'date' || isDisabled(dateOfWeek)}\n aria-selected={isWeekSelected(dateOfWeek) || undefined}\n aria-label={`${displayNames.of('weekOfYear')} ${weekNo.toString()}: ${toUTCDateString(\n dateOfWeek,\n Intl.DateTimeFormat(locale, ariaOpts)\n )} - ${toUTCDateString(lastDayOfWeek, Intl.DateTimeFormat(locale, ariaOpts))}`}\n aria-current={isWeekFocused(dateOfWeek) ? 'date' : undefined}\n onMouseDown={() => {\n setFocusedDay(dateOfWeek);\n onFocus?.(dateOfWeek);\n onSelect?.(dateOfWeek);\n }}\n >\n {`${cap(displayNames.of('weekOfYear'))} `}\n {weekNo.toLocaleString(locale)}\n </StyledPick>\n );\n }\n );\n\n const weekLabel =\n mode === 'date' ? (\n <>\n <Text\n as={StyledWeekLabel}\n forwardedAs='abbr'\n title={cap(displayNames.of('weekOfYear'))}\n aria-hidden\n >\n {cap(displayNamesShort.of('weekOfYear'))}\n </Text>\n <VisuallyHiddenText>{displayNames.of('weekOfYear')}</VisuallyHiddenText>\n </>\n ) : (\n <Text as={StyledWeekLabel}>{cap(displayNames.of('weekOfYear'))}</Text>\n );\n\n const headerLabels = names.map(([name, abbr]) => (\n <th role='columnheader' key={name}>\n <Text as={StyledColumnLabel} forwardedAs='abbr' key={name} title={name} aria-hidden>\n {abbr}\n </Text>\n <VisuallyHiddenText>{name}</VisuallyHiddenText>\n </th>\n ));\n\n const splitToWeeks = (resultArray: JSX.Element[][], item: JSX.Element, index: number) => {\n const chunkIndex = Math.floor(index / 7);\n\n if (!resultArray[chunkIndex]) {\n resultArray[chunkIndex] = [] as JSX.Element[];\n }\n\n resultArray[chunkIndex].push(item);\n return resultArray;\n };\n\n const cells = days.reduce(splitToWeeks, []).map((week, index) => {\n const rowHeader = mode === 'week' ? weeksButtons[index] : weeks[index];\n return (\n // eslint-disable-next-line react/no-array-index-key\n <tr key={`week-${index}`}>\n {showWeekLabel && <th scope='row'>{rowHeader}</th>}\n {week.map((day, dayIndex) => {\n // eslint-disable-next-line react/no-array-index-key\n return <td key={`day-${dayIndex}`}>{day}</td>;\n })}\n </tr>\n );\n });\n\n const weeksCells = weeksButtons.map((week, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <tr key={`week-${index}`}>\n <td>{week}</td>\n </tr>\n );\n });\n\n const weeksGrid = (\n <StyledWeekGrid role='grid' onKeyDown={onKeyDown} ref={containerRef}>\n <thead>\n <tr>\n <th>{weekLabel}</th>\n </tr>\n </thead>\n <tbody>{weeksCells}</tbody>\n </StyledWeekGrid>\n );\n\n return (\n <>\n {mode === 'week' && weeksGrid}\n <StyledCalendar\n data-testid={testId}\n ref={mode === 'date' ? containerRef : undefined}\n aria-label={effectiveCurrent.toLocaleString(locale, {\n month: 'long',\n year: 'numeric',\n timeZone: 'UTC'\n })}\n onKeyDown={onKeyDown}\n aria-hidden={mode === 'week' ? true : undefined}\n role='grid'\n >\n <thead>\n <tr>\n {showWeekLabel && <th>{weekLabel}</th>}\n {headerLabels}\n </tr>\n </thead>\n <tbody>{cells}</tbody>\n </StyledCalendar>\n <VisuallyHiddenText aria-live='polite' role='alert'>\n {t('calendar_assist')}\n </VisuallyHiddenText>\n </>\n );\n});\n\nexport default Calendar;\n"]}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/Calendar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo, useState, forwardRef, useEffect, useCallback } from 'react';\nimport type { FunctionComponent, KeyboardEvent, PropsWithoutRef, Ref } from 'react';\n\nimport Text from '../../Text';\nimport { CALENDAR_TYPES, type CalendarType } from '../Input/local';\nimport {\n getCalendarTypeFromLocale,\n getDateOfWeek,\n getWeek,\n getWeekYear,\n parseToDate,\n toUTCDateString\n} from '../Input/utils';\nimport { useConfiguration, useConsolidatedRef, useFocusWithin, useI18n } from '../../../hooks';\nimport type { ForwardProps, TestIdProp } from '../../../types';\nimport type { FormControlProps } from '../../FormControl';\nimport { cap } from '../../../utils';\nimport VisuallyHiddenText from '../../VisuallyHiddenText';\nimport { getAdjustedUTCDateTime, getAdjustedUTCDateTimeForTimezone } from '../utils';\n\nimport { getDaysOfMonth, getLocalizedDays, getWeeksOfMonth } from './utils';\nimport {\n StyledColumnLabel,\n StyledPick,\n StyledDay,\n StyledCalendar,\n StyledWeekGrid,\n StyledWeekLabel,\n StyledWeekNumber\n} from './Calendar.styles';\n\nexport interface CalendarProps extends TestIdProp {\n /**\n * Sets DOM id for the control and associates label element via 'for' attribute.\n * If an id is not pass, a random id will be generated for any render.\n */\n id?: FormControlProps['id'];\n /** Defines default date that will be selected initially when the Calendar is visible. */\n selected?: Date;\n /**\n * Defines currently visible month.\n * @default new Date()\n */\n current?: Date;\n /** Defines dates range with start date and end date that can be set by the user. */\n selectedRange?: { startDate: Date | undefined; endDate: Date | undefined };\n /** Defines if days should be highlighted for range selection */\n showHighlight?: boolean;\n /** Defines if week numbers should be displayed in calendar */\n showWeekNumber?: boolean;\n /**\n * The mode of the calendar that will be rendered, ie. whether single date or week are selectable.\n * @default 'date'\n */\n mode?: 'date' | 'week';\n /** Callback fired when new day is selected. */\n onSelect?: (date: Date) => void;\n /** Callback fired when user focuses new day. */\n onFocus?: (date: Date) => void;\n /** Sets the type of calendar to be used. This will be determined by locale if no value is provided. */\n calendarType?: CalendarType;\n /** Defines minimum available value that can be selected by the user. */\n min?: string | number | Date;\n /** Defines maximum available value that can be selected by the user. */\n max?: string | number | Date;\n /** Set the calendar to disabled state, ie. non-interactive. */\n disabled?: boolean;\n /** IANA timezone string. When provided, today highlight uses server timezone instead of browser timezone. */\n timeZone?: string;\n}\n\nconst ariaOpts = { day: 'numeric', month: 'long', year: 'numeric' } as const;\n\nconst Calendar: FunctionComponent<CalendarProps & ForwardProps> = forwardRef(function Calendar(\n {\n testId,\n selected,\n current,\n selectedRange,\n showHighlight,\n mode = 'date',\n showWeekNumber,\n calendarType: calendar = CALENDAR_TYPES.ISO_8601,\n onSelect,\n onFocus,\n disabled,\n min: minProp,\n max: maxProp,\n timeZone\n }: PropsWithoutRef<CalendarProps>,\n ref: Ref<HTMLTableElement>\n) {\n const { locale } = useConfiguration();\n\n const min = minProp ? parseToDate(minProp) : -Infinity;\n const max = maxProp ? parseToDate(maxProp) : Infinity;\n\n // Only adjust for timezone if the original prop was NOT a string\n if (min instanceof Date && typeof minProp !== 'string')\n min.setUTCMinutes(min.getUTCMinutes() - min.getTimezoneOffset());\n if (max instanceof Date && typeof maxProp !== 'string')\n max.setUTCMinutes(max.getUTCMinutes() - max.getTimezoneOffset());\n\n const showWeekLabel = mode === 'week' ? false : showWeekNumber;\n const effectiveCurrent = useMemo(\n () =>\n current ??\n (selected ? new Date(selected.getTime()) : null) ??\n (timeZone ? getAdjustedUTCDateTimeForTimezone(timeZone) : getAdjustedUTCDateTime()),\n [current, selected, timeZone]\n );\n const [focusedDay, setFocusedDay] = useState(effectiveCurrent);\n useEffect(() => {\n setFocusedDay(effectiveCurrent);\n }, [effectiveCurrent.getUTCFullYear(), effectiveCurrent.getUTCMonth()]);\n\n const calendarType = useMemo(\n () => calendar ?? getCalendarTypeFromLocale(locale),\n [locale, calendar]\n );\n\n const [highlightBoundary, setHighlightBoundary] = useState<Date>();\n\n const onKeyDown = useCallback(\n (e: KeyboardEvent<HTMLElement>) => {\n if (\n (mode === 'date'\n ? ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']\n : ['ArrowUp', 'ArrowDown']\n ).includes(e.key)\n ) {\n e.preventDefault();\n const newFocused = new Date(focusedDay);\n switch (e.key) {\n case 'ArrowUp':\n newFocused.setUTCDate(focusedDay.getUTCDate() - 7);\n break;\n case 'ArrowDown':\n newFocused.setUTCDate(focusedDay.getUTCDate() + 7);\n break;\n case 'ArrowRight':\n newFocused.setUTCDate(focusedDay.getUTCDate() + 1);\n break;\n case 'ArrowLeft':\n newFocused.setUTCDate(focusedDay.getUTCDate() - 1);\n break;\n default:\n }\n if (newFocused < min || newFocused > max) return;\n setFocusedDay(newFocused);\n onFocus?.(newFocused);\n setHighlightBoundary(newFocused);\n }\n if (e.key === 'Enter') {\n e.preventDefault();\n onSelect?.(focusedDay);\n }\n },\n [mode, focusedDay, onFocus, onSelect]\n );\n\n const containerRef = useConsolidatedRef<HTMLTableElement>(ref);\n const hasFocus = useFocusWithin([containerRef]);\n\n const today = useMemo(\n () =>\n toUTCDateString(\n timeZone ? getAdjustedUTCDateTimeForTimezone(timeZone) : getAdjustedUTCDateTime()\n ),\n [timeZone]\n );\n\n const isDisabled = (day: Date) => {\n return Number(min) > day.getTime() || day.getTime() > Number(max);\n };\n\n const isSelected = (day: Date) => {\n return [\n selected && toUTCDateString(selected),\n selectedRange?.startDate && toUTCDateString(selectedRange?.startDate),\n selectedRange?.endDate && toUTCDateString(selectedRange?.endDate)\n ].includes(toUTCDateString(day));\n };\n\n const isWeekSelected = (day: Date) => {\n return (\n selected &&\n toUTCDateString(day) ===\n toUTCDateString(\n getDateOfWeek(\n getWeek(selected, calendarType, 'UTC'),\n getWeekYear(selected, calendarType, 'UTC'),\n calendarType\n )\n )\n );\n };\n\n const isFocused = (day: Date) => {\n return toUTCDateString(day) === toUTCDateString(focusedDay);\n };\n\n const isWeekFocused = (day: Date) => {\n return (\n toUTCDateString(day) ===\n toUTCDateString(\n getDateOfWeek(\n getWeek(focusedDay, calendarType, 'UTC'),\n getWeekYear(focusedDay, calendarType, 'UTC'),\n calendarType\n )\n )\n );\n };\n\n const isInRange = (day: Date) => {\n return (\n selectedRange &&\n selectedRange.startDate &&\n selectedRange.endDate &&\n day >= selectedRange.startDate &&\n day <= selectedRange.endDate\n );\n };\n\n const isHighlighted = (day: Date) => {\n if (!selectedRange || !showHighlight || !highlightBoundary) return false;\n const betweenHighlightAndBoundary = (rangeBoundaryType: 'startDate' | 'endDate') => {\n const rangeBoundary = selectedRange[rangeBoundaryType];\n if (!rangeBoundary) return false;\n return !!(\n rangeBoundary &&\n ((day >= rangeBoundary && day <= highlightBoundary) ||\n (day <= rangeBoundary && day >= highlightBoundary))\n );\n };\n return betweenHighlightAndBoundary('startDate') || betweenHighlightAndBoundary('endDate');\n };\n\n useEffect(() => {\n if (hasFocus)\n containerRef.current?.querySelector<HTMLButtonElement>('button[tabindex=\"0\"]')?.focus();\n }, [hasFocus, focusedDay]);\n\n const days = getDaysOfMonth(effectiveCurrent, calendarType ?? CALENDAR_TYPES.ISO_8601).map(\n day => {\n return (\n <StyledDay\n key={day.getTime()}\n tabIndex={isFocused(day) ? 0 : -1}\n disabled={disabled || mode === 'week' || isDisabled(day)}\n current={toUTCDateString(day) === today}\n highlighted={isInRange(day) || isHighlighted(day)}\n aria-selected={isSelected(day) || undefined}\n aria-current={isSelected(day) ? 'date' : undefined}\n dayInNexOrPrevMonth={day.getUTCMonth() !== effectiveCurrent.getUTCMonth()}\n aria-label={toUTCDateString(day, Intl.DateTimeFormat(locale, ariaOpts))}\n onMouseOver={showHighlight ? () => setHighlightBoundary(day) : undefined}\n onMouseOut={showHighlight ? () => setHighlightBoundary(undefined) : undefined}\n onClick={() => {\n setFocusedDay(day);\n onFocus?.(day);\n onSelect?.(day);\n }}\n >\n {day.getUTCDate().toLocaleString(locale)}\n </StyledDay>\n );\n }\n );\n\n const names = useMemo(() => getLocalizedDays(calendarType, locale), [locale, calendarType]);\n\n const t = useI18n();\n\n const displayNames = new Intl.DisplayNames(locale, {\n style: 'long',\n type: 'dateTimeField'\n }) as Intl.DateTimeDisplayNames;\n const displayNamesShort = new Intl.DisplayNames(locale, {\n style: 'short',\n type: 'dateTimeField'\n }) as Intl.DateTimeDisplayNames;\n\n const weeks = getWeeksOfMonth(effectiveCurrent, calendarType).map(({ weekNo, weekYear }) => {\n return (\n <>\n <Text as={StyledWeekNumber} key={weekNo} aria-hidden>\n {weekNo.toString()}\n </Text>\n <VisuallyHiddenText>\n {`${displayNames.of('weekOfYear')} ${weekNo.toString()} ${weekYear.toString()}`}\n </VisuallyHiddenText>\n </>\n );\n });\n\n const weeksButtons = getWeeksOfMonth(effectiveCurrent, calendarType).map(\n ({ weekNo, weekYear }) => {\n const dateOfWeek = getDateOfWeek(weekNo, weekYear, calendarType);\n const lastDayOfWeek = new Date(dateOfWeek);\n lastDayOfWeek.setDate(dateOfWeek.getDate() + 6);\n return (\n <StyledPick\n key={weekNo}\n tabIndex={isWeekFocused(dateOfWeek) ? 0 : -1}\n disabled={disabled || mode === 'date' || isDisabled(dateOfWeek)}\n aria-selected={isWeekSelected(dateOfWeek) || undefined}\n aria-label={`${displayNames.of('weekOfYear')} ${weekNo.toString()}: ${toUTCDateString(\n dateOfWeek,\n Intl.DateTimeFormat(locale, ariaOpts)\n )} - ${toUTCDateString(lastDayOfWeek, Intl.DateTimeFormat(locale, ariaOpts))}`}\n aria-current={isWeekFocused(dateOfWeek) ? 'date' : undefined}\n onMouseDown={() => {\n setFocusedDay(dateOfWeek);\n onFocus?.(dateOfWeek);\n onSelect?.(dateOfWeek);\n }}\n >\n {`${cap(displayNames.of('weekOfYear'))} `}\n {weekNo.toLocaleString(locale)}\n </StyledPick>\n );\n }\n );\n\n const weekLabel =\n mode === 'date' ? (\n <>\n <Text\n as={StyledWeekLabel}\n forwardedAs='abbr'\n title={cap(displayNames.of('weekOfYear'))}\n aria-hidden\n >\n {cap(displayNamesShort.of('weekOfYear'))}\n </Text>\n <VisuallyHiddenText>{displayNames.of('weekOfYear')}</VisuallyHiddenText>\n </>\n ) : (\n <Text as={StyledWeekLabel}>{cap(displayNames.of('weekOfYear'))}</Text>\n );\n\n const headerLabels = names.map(([name, abbr]) => (\n <th role='columnheader' key={name}>\n <Text as={StyledColumnLabel} forwardedAs='abbr' key={name} title={name} aria-hidden>\n {abbr}\n </Text>\n <VisuallyHiddenText>{name}</VisuallyHiddenText>\n </th>\n ));\n\n const splitToWeeks = (resultArray: JSX.Element[][], item: JSX.Element, index: number) => {\n const chunkIndex = Math.floor(index / 7);\n\n if (!resultArray[chunkIndex]) {\n resultArray[chunkIndex] = [] as JSX.Element[];\n }\n\n resultArray[chunkIndex].push(item);\n return resultArray;\n };\n\n const cells = days.reduce(splitToWeeks, []).map((week, index) => {\n const rowHeader = mode === 'week' ? weeksButtons[index] : weeks[index];\n return (\n // eslint-disable-next-line react/no-array-index-key\n <tr key={`week-${index}`}>\n {showWeekLabel && <th scope='row'>{rowHeader}</th>}\n {week.map((day, dayIndex) => {\n // eslint-disable-next-line react/no-array-index-key\n return <td key={`day-${dayIndex}`}>{day}</td>;\n })}\n </tr>\n );\n });\n\n const weeksCells = weeksButtons.map((week, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <tr key={`week-${index}`}>\n <td>{week}</td>\n </tr>\n );\n });\n\n const weeksGrid = (\n <StyledWeekGrid role='grid' onKeyDown={onKeyDown} ref={containerRef}>\n <thead>\n <tr>\n <th>{weekLabel}</th>\n </tr>\n </thead>\n <tbody>{weeksCells}</tbody>\n </StyledWeekGrid>\n );\n\n return (\n <>\n {mode === 'week' && weeksGrid}\n <StyledCalendar\n data-testid={testId}\n ref={mode === 'date' ? containerRef : undefined}\n aria-label={effectiveCurrent.toLocaleString(locale, {\n month: 'long',\n year: 'numeric',\n timeZone: 'UTC'\n })}\n onKeyDown={onKeyDown}\n aria-hidden={mode === 'week' ? true : undefined}\n role='grid'\n >\n <thead>\n <tr>\n {showWeekLabel && <th>{weekLabel}</th>}\n {headerLabels}\n </tr>\n </thead>\n <tbody>{cells}</tbody>\n </StyledCalendar>\n <VisuallyHiddenText aria-live='polite' role='alert'>\n {t('calendar_assist')}\n </VisuallyHiddenText>\n </>\n );\n});\n\nexport default Calendar;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/TimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK/C,OAAO,KAAK,EAAE,SAAS,EAAU,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIlF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,UAAU;IAC5D;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,kDAAkD;IAClD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA+DD,QAAA,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,GAAG,YAAY,CAkIjE,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/TimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK/C,OAAO,KAAK,EAAE,SAAS,EAAU,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIlF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,UAAU;IAC5D;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,kDAAkD;IAClD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA+DD,QAAA,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,GAAG,YAAY,CA2HjE,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -108,20 +108,11 @@ const TimePicker = (props) => {
108
108
  return;
109
109
  const focusableElements = Array.from(focusEl.querySelectorAll('button'));
110
110
  if (focusableElements.length > 0) {
111
- let isChecked = false;
111
+ focusableElements[0].tabIndex = 0;
112
+ focusableElements[0].focus();
112
113
  focusableElements.slice(1).forEach(item => {
113
- const checked = item.checked;
114
- if (checked) {
115
- isChecked = true;
116
- item.tabIndex = 0;
117
- }
118
- else
119
- item.tabIndex = -1;
114
+ item.tabIndex = -1;
120
115
  });
121
- if (!isChecked) {
122
- focusableElements[0].tabIndex = 0;
123
- focusableElements[0].focus();
124
- }
125
116
  }
126
117
  }, [selected]);
127
118
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/TimePicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAsB/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;CAKjC,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CACpC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,CAChC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CACxE,CAAC;IAEF,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEzB,OAAO,GAAG,CAAA;eACC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;;;;;;;;;;0BAUrB,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;;;yCAGvB,OAAO;;iCAEf,UAAU,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC;kCACzC,OAAO;;;;6CAII,OAAO;;;8CAGN,OAAO;;;;;;sBAM/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;;KAE3C,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAA;;CAE/B,CAAC;AAEF,cAAc,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE/C,MAAM,UAAU,GAAsD,CAAC,KAAsB,EAAE,EAAE;IAC/F,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,EACJ,MAAM,EACN,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EACtB,QAAQ,GAAG,EAAE,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,MAAM,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC;IAEtC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAC7C,GAAG,EAAE,CACH,8BAA8B,CAAC,MAAM,EAAE;QACrC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;KACpE,CAAC,CAAC,eAAe,EAAE,EACtB,CAAC,WAAW,EAAE,MAAM,CAAC,CACtB,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE;QACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1F,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACjF,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC7B,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAChC,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,SAAS;gBACjB,GAAG,CAAC,WAAW,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBACzC,QAAQ,EAAE,KAAK;gBACf,2FAA2F;gBAC3F,SAAS,EAAE,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;aACjE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,EAAE;QAChC,OAAO,CACL,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;YAC9C,QAAQ,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC,aAAa,EAAE;YAClD,CAAC,CAAC,WAAW,IAAI,QAAQ,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC,CACrE,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,UAAU,EAAe,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAE/C,SAAS,CAAC,OAAO,EAAE;QACjB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,SAAS;QACd,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,CACL,8BACE,yBAAO,IAAI,GAAQ,OAAC,yBAAO,MAAM,GAAQ,EACxC,MAAM,KAAK,SAAS,IAAI,CACvB,mCACG,yBAAO,MAAM,GAAQ,IACrB,CACJ,EACA,QAAQ,IAAI,gDAAqB,QAAQ,GAAQ,IACjD,CACJ,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEzE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACxC,MAAM,OAAO,GAAI,IAAyB,CAAC,OAAO,CAAC;gBACnD,IAAI,OAAO,EAAE,CAAC;oBACZ,SAAS,GAAG,IAAI,CAAC;oBACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACpB,CAAC;;oBAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACd,iBAAiB,CAAC,CAAC,CAAiB,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACnD,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClB,aAAa,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,KAAC,gBAAgB,mBAAc,MAAM,EAAE,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,KAAM,SAAS,YACzF,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAU,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,OAAO,CACL,KAAC,cAAc,IAAC,IAAI,EAAC,cAAc,YACjC,KAAC,gBAAgB,IACf,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,MAAM,EACV,OAAO,EAAC,QAAQ,EAChB,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,gBAC9B,IAAI,EAChB,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,kBACZ,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACnD,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,EACzB,OAAO,EAAE,GAAG,EAAE;wBACZ,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC,EACD,QAAQ,EAAC,IAAI,YAEZ,UAAU,CAAC,IAAI,CAAC,GACA,IAhBoB,EAAE,CAiB1B,CAClB,CAAC;QACJ,CAAC,CAAC,GACe,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from 'react';\nimport type { FunctionComponent } from 'react';\nimport styled, { css } from 'styled-components';\nimport { mix } from 'polished';\n\nimport { defaultThemeProp } from '../../../theme';\nimport type { BaseProps, Action, ForwardProps, TestIdProp } from '../../../types';\nimport Button from '../../Button';\nimport { useArrows, useConfiguration, useElement } from '../../../hooks';\nimport { is12HClockFormat } from '../Input/utils';\nimport type { ClockFormat } from '../Input/utils';\nimport { tryCatch } from '../../../utils';\nimport { getIntlDateTimeFormatFromCache } from '../utils';\n\nimport { getIntervalGenerator } from './utils';\nimport type { MinuteInterval } from './DatePicker.types';\n\nexport interface TimePickerProps extends BaseProps, TestIdProp {\n /**\n * Defines default time that will be selected when the Time Picker is opened.\n * @default new Date()\n */\n selected?: Date;\n /** Callback fired when selected value changes. */\n onSelect: (date: Date) => void;\n /**\n * Defines interval for time picker options (in minutes).\n * @default 30\n */\n interval?: MinuteInterval;\n /** Defines clock format that overrides locale based format */\n clockFormat?: ClockFormat;\n /** Display seconds in picker option labels. */\n withSeconds?: boolean;\n}\n\nconst StyledTimePicker = styled.ul`\n list-style: none;\n max-height: 10rem;\n overflow: auto;\n width: 100%;\n`;\n\nStyledTimePicker.defaultProps = defaultThemeProp;\n\nconst StyledTimeButton = styled.button<TimePickerProps>(\n ({ theme: { base, components }, selected }) => {\n const activeColor = tryCatch(() =>\n mix(0.85, base.palette['primary-background'], base.palette.interactive)\n );\n\n const { spacing } = base;\n\n return css`\n color: ${base.palette['foreground-color']};\n width: 100%;\n border-radius: inherit;\n overflow: hidden;\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-width: 0;\n justify-content: start;\n padding: 0;\n background-color: ${selected ? activeColor : 'transparent'};\n\n > span {\n margin-inline-end: calc(0.25 * ${spacing});\n &:first-child {\n margin-inline-start: ${components['form-control']['border-width']};\n padding-inline-start: ${spacing};\n }\n &:nth-child(2),\n &:nth-child(3) {\n margin-inline-start: calc(0.25 * ${spacing});\n }\n &[data-meridiem] {\n padding-inline-start: calc(0.75 * ${spacing});\n }\n }\n\n &:enabled:focus-visible,\n &:not([disabled]):focus-visible {\n box-shadow: ${base.shadow['focus-inset']};\n }\n `;\n }\n);\n\nStyledTimeButton.defaultProps = defaultThemeProp;\n\nconst StyledTimeItem = styled.li`\n border-radius: 0;\n`;\n\nStyledTimeItem.defaultProps = defaultThemeProp;\n\nconst TimePicker: FunctionComponent<TimePickerProps & ForwardProps> = (props: TimePickerProps) => {\n const { locale } = useConfiguration();\n const {\n testId,\n selected = new Date(0),\n interval = 30,\n clockFormat,\n withSeconds,\n onSelect,\n ...restProps\n } = props;\n\n const intervalInMS = interval * 60000;\n\n const { hourCycle: defaultHourCycle } = useMemo(\n () =>\n getIntlDateTimeFormatFromCache(locale, {\n hour: '2-digit',\n hour12: clockFormat ? clockFormat === 12 : is12HClockFormat(locale)\n }).resolvedOptions(),\n [clockFormat, locale]\n );\n\n const actionsList = Array.from(getIntervalGenerator(intervalInMS), time => {\n const date = selected ? new Date(new Date().setUTCHours(0, 0, 0, 0)) : new Date(selected);\n date.setUTCHours(time.getUTCHours(), time.getUTCMinutes(), time.getUTCSeconds());\n return {\n id: date.getTime().toString(),\n text: Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n ...(withSeconds && { second: '2-digit' }),\n timeZone: 'UTC',\n /** Use this to fix Chrome https://bugs.chromium.org/p/chromium/issues/detail?id=1045791 */\n hourCycle: defaultHourCycle === 'h24' ? 'h23' : defaultHourCycle\n }).format(date)\n };\n });\n\n const isSelected = (date: Date) => {\n return (\n selected?.getUTCHours() === date.getUTCHours() &&\n selected?.getUTCMinutes() === date.getUTCMinutes() &&\n (!withSeconds || selected?.getUTCSeconds() === date.getUTCSeconds())\n );\n };\n\n const [buttonEl, setButtonEl] = useElement<HTMLElement>();\n const menuRef = useRef<HTMLUListElement>(null);\n\n useArrows(menuRef, {\n selector: 'button',\n cycle: true,\n dir: 'up-down',\n allowTabFocus: false\n });\n\n const renderTime = (text: string) => {\n const parts = text.split(/:| /);\n const hour = parts[0];\n const minute = parts[1];\n const second = withSeconds ? parts[2] : undefined;\n const meridiem = withSeconds ? parts[3] : parts[2];\n return (\n <>\n <span>{hour}</span>:<span>{minute}</span>\n {second !== undefined && (\n <>\n :<span>{second}</span>\n </>\n )}\n {meridiem && <span data-meridiem>{meridiem}</span>}\n </>\n );\n };\n\n const setTabIndexes = useCallback(() => {\n const focusEl = menuRef.current;\n if (!focusEl) return;\n const focusableElements = Array.from(focusEl.querySelectorAll('button'));\n\n if (focusableElements.length > 0) {\n let isChecked = false;\n focusableElements.slice(1).forEach(item => {\n const checked = (item as HTMLInputElement).checked;\n if (checked) {\n isChecked = true;\n item.tabIndex = 0;\n } else item.tabIndex = -1;\n });\n\n if (!isChecked) {\n (focusableElements[0] as HTMLElement).tabIndex = 0;\n focusableElements[0].focus();\n }\n }\n }, [selected]);\n\n useEffect(() => {\n buttonEl?.focus();\n setTabIndexes();\n }, [buttonEl]);\n\n return (\n <StyledTimePicker data-testid={testId} role='menu' tabIndex={-1} ref={menuRef} {...restProps}>\n {actionsList.map(({ text, id }: Action) => {\n const item = new Date(Number(id));\n return (\n <StyledTimeItem role='presentation' key={id}>\n <StyledTimeButton\n role='menuitem'\n as={Button}\n variant='simple'\n ref={isSelected(item) ? setButtonEl : null}\n aria-label={text}\n selected={isSelected(item)}\n aria-current={isSelected(item) ? 'time' : undefined}\n checked={isSelected(item)}\n onClick={() => {\n onSelect?.(item);\n }}\n tabIndex='-1'\n >\n {renderTime(text)}\n </StyledTimeButton>\n </StyledTimeItem>\n );\n })}\n </StyledTimePicker>\n );\n};\n\nexport default TimePicker;\n"]}
1
+ {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../../../src/components/DateTime/Picker/TimePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from 'react';\nimport type { FunctionComponent } from 'react';\nimport styled, { css } from 'styled-components';\nimport { mix } from 'polished';\n\nimport { defaultThemeProp } from '../../../theme';\nimport type { BaseProps, Action, ForwardProps, TestIdProp } from '../../../types';\nimport Button from '../../Button';\nimport { useArrows, useConfiguration, useElement } from '../../../hooks';\nimport { is12HClockFormat } from '../Input/utils';\nimport type { ClockFormat } from '../Input/utils';\nimport { tryCatch } from '../../../utils';\nimport { getIntlDateTimeFormatFromCache } from '../utils';\n\nimport { getIntervalGenerator } from './utils';\nimport type { MinuteInterval } from './DatePicker.types';\n\nexport interface TimePickerProps extends BaseProps, TestIdProp {\n /**\n * Defines default time that will be selected when the Time Picker is opened.\n * @default new Date()\n */\n selected?: Date;\n /** Callback fired when selected value changes. */\n onSelect: (date: Date) => void;\n /**\n * Defines interval for time picker options (in minutes).\n * @default 30\n */\n interval?: MinuteInterval;\n /** Defines clock format that overrides locale based format */\n clockFormat?: ClockFormat;\n /** Display seconds in picker option labels. */\n withSeconds?: boolean;\n}\n\nconst StyledTimePicker = styled.ul`\n list-style: none;\n max-height: 10rem;\n overflow: auto;\n width: 100%;\n`;\n\nStyledTimePicker.defaultProps = defaultThemeProp;\n\nconst StyledTimeButton = styled.button<TimePickerProps>(\n ({ theme: { base, components }, selected }) => {\n const activeColor = tryCatch(() =>\n mix(0.85, base.palette['primary-background'], base.palette.interactive)\n );\n\n const { spacing } = base;\n\n return css`\n color: ${base.palette['foreground-color']};\n width: 100%;\n border-radius: inherit;\n overflow: hidden;\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-width: 0;\n justify-content: start;\n padding: 0;\n background-color: ${selected ? activeColor : 'transparent'};\n\n > span {\n margin-inline-end: calc(0.25 * ${spacing});\n &:first-child {\n margin-inline-start: ${components['form-control']['border-width']};\n padding-inline-start: ${spacing};\n }\n &:nth-child(2),\n &:nth-child(3) {\n margin-inline-start: calc(0.25 * ${spacing});\n }\n &[data-meridiem] {\n padding-inline-start: calc(0.75 * ${spacing});\n }\n }\n\n &:enabled:focus-visible,\n &:not([disabled]):focus-visible {\n box-shadow: ${base.shadow['focus-inset']};\n }\n `;\n }\n);\n\nStyledTimeButton.defaultProps = defaultThemeProp;\n\nconst StyledTimeItem = styled.li`\n border-radius: 0;\n`;\n\nStyledTimeItem.defaultProps = defaultThemeProp;\n\nconst TimePicker: FunctionComponent<TimePickerProps & ForwardProps> = (props: TimePickerProps) => {\n const { locale } = useConfiguration();\n const {\n testId,\n selected = new Date(0),\n interval = 30,\n clockFormat,\n withSeconds,\n onSelect,\n ...restProps\n } = props;\n\n const intervalInMS = interval * 60000;\n\n const { hourCycle: defaultHourCycle } = useMemo(\n () =>\n getIntlDateTimeFormatFromCache(locale, {\n hour: '2-digit',\n hour12: clockFormat ? clockFormat === 12 : is12HClockFormat(locale)\n }).resolvedOptions(),\n [clockFormat, locale]\n );\n\n const actionsList = Array.from(getIntervalGenerator(intervalInMS), time => {\n const date = selected ? new Date(new Date().setUTCHours(0, 0, 0, 0)) : new Date(selected);\n date.setUTCHours(time.getUTCHours(), time.getUTCMinutes(), time.getUTCSeconds());\n return {\n id: date.getTime().toString(),\n text: Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n ...(withSeconds && { second: '2-digit' }),\n timeZone: 'UTC',\n /** Use this to fix Chrome https://bugs.chromium.org/p/chromium/issues/detail?id=1045791 */\n hourCycle: defaultHourCycle === 'h24' ? 'h23' : defaultHourCycle\n }).format(date)\n };\n });\n\n const isSelected = (date: Date) => {\n return (\n selected?.getUTCHours() === date.getUTCHours() &&\n selected?.getUTCMinutes() === date.getUTCMinutes() &&\n (!withSeconds || selected?.getUTCSeconds() === date.getUTCSeconds())\n );\n };\n\n const [buttonEl, setButtonEl] = useElement<HTMLElement>();\n const menuRef = useRef<HTMLUListElement>(null);\n\n useArrows(menuRef, {\n selector: 'button',\n cycle: true,\n dir: 'up-down',\n allowTabFocus: false\n });\n\n const renderTime = (text: string) => {\n const parts = text.split(/:| /);\n const hour = parts[0];\n const minute = parts[1];\n const second = withSeconds ? parts[2] : undefined;\n const meridiem = withSeconds ? parts[3] : parts[2];\n return (\n <>\n <span>{hour}</span>:<span>{minute}</span>\n {second !== undefined && (\n <>\n :<span>{second}</span>\n </>\n )}\n {meridiem && <span data-meridiem>{meridiem}</span>}\n </>\n );\n };\n\n const setTabIndexes = useCallback(() => {\n const focusEl = menuRef.current;\n if (!focusEl) return;\n const focusableElements = Array.from(focusEl.querySelectorAll('button'));\n\n if (focusableElements.length > 0) {\n focusableElements[0].tabIndex = 0;\n focusableElements[0].focus();\n\n focusableElements.slice(1).forEach(item => {\n item.tabIndex = -1;\n });\n }\n }, [selected]);\n\n useEffect(() => {\n buttonEl?.focus();\n setTabIndexes();\n }, [buttonEl]);\n\n return (\n <StyledTimePicker data-testid={testId} role='menu' tabIndex={-1} ref={menuRef} {...restProps}>\n {actionsList.map(({ text, id }: Action) => {\n const item = new Date(Number(id));\n return (\n <StyledTimeItem role='presentation' key={id}>\n <StyledTimeButton\n role='menuitem'\n as={Button}\n variant='simple'\n ref={isSelected(item) ? setButtonEl : null}\n aria-label={text}\n selected={isSelected(item)}\n aria-current={isSelected(item) ? 'time' : undefined}\n checked={isSelected(item)}\n onClick={() => {\n onSelect?.(item);\n }}\n tabIndex='-1'\n >\n {renderTime(text)}\n </StyledTimeButton>\n </StyledTimeItem>\n );\n })}\n </StyledTimePicker>\n );\n};\n\nexport default TimePicker;\n"]}
@@ -15,7 +15,7 @@ export interface EmptyStateProps extends BaseProps, NoChildrenProp, TestIdProp {
15
15
  }
16
16
  export declare const StyledEmptyState: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<EmptyStateProps, "variant">>> & string;
17
17
  declare const _default: ForwardRefForwardPropsComponent<EmptyStateProps> & {
18
- getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../../types").TestIdsRecord<readonly ["message", "icon"]>;
18
+ getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly ["message", "icon"]>;
19
19
  };
20
20
  export default _default;
21
21
  //# sourceMappingURL=EmptyState.d.ts.map
@@ -21,12 +21,12 @@ export type ExpandCollapseButtonProps = WithAttributes<'button', NoChildrenProp
21
21
  /** Optional count to display next to the label. Only available when iconOnly is false. */
22
22
  count?: CountProps['children'] | CountProps;
23
23
  }>;
24
- export declare const StyledExpandCollapseButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<Omit<Omit<ButtonProps, "ref"> & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement> & import("../../types").ForwardProps, "ref"> & {
24
+ export declare const StyledExpandCollapseButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<Omit<Omit<ButtonProps, "ref"> & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement> & import("../..").ForwardProps, "ref"> & {
25
25
  ref?: ((instance: HTMLAnchorElement | HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLAnchorElement | HTMLButtonElement> | null | undefined;
26
26
  }, {
27
27
  $iconOnly?: boolean;
28
28
  $headingTag?: HeadingTag;
29
- }>> & string & Omit<import("../../types").ForwardRefForwardPropsComponent<ButtonProps>, keyof import("react").Component<any, {}, any>>;
29
+ }>> & string & Omit<import("../..").ForwardRefForwardPropsComponent<ButtonProps>, keyof import("react").Component<any, {}, any>>;
30
30
  declare const _default: import("react").ForwardRefExoticComponent<Omit<ExpandCollapseButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
31
31
  export default _default;
32
32
  //# sourceMappingURL=ExpandCollapseButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandCollapseButton.d.ts","sourceRoot":"","sources":["../../../src/components/ExpandCollapse/ExpandCollapseButton.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAc,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAM7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,MAAM,MAAM,yBAAyB,GAAG,cAAc,CACpD,QAAQ,EACR,cAAc,GACZ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAC7B,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;IAElB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAC;IAE1D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;CAC7C,CACJ,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;gBACzB,OAAO;kBACL,UAAU;sIAyBxB,CAAC;;AAIH,wBA+EG"}
1
+ {"version":3,"file":"ExpandCollapseButton.d.ts","sourceRoot":"","sources":["../../../src/components/ExpandCollapse/ExpandCollapseButton.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAc,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAM7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,MAAM,MAAM,yBAAyB,GAAG,cAAc,CACpD,QAAQ,EACR,cAAc,GACZ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAC7B,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;IAElB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAC;IAE1D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;CAC7C,CACJ,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;gBACzB,OAAO;kBACL,UAAU;gIAyBxB,CAAC;;AAIH,wBA+EG"}