@elliemae/ds-form-date-time-picker 3.60.0-next.60 → 3.60.0-next.61

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 (27) hide show
  1. package/dist/cjs/constants/index.js +15 -1
  2. package/dist/cjs/constants/index.js.map +2 -2
  3. package/dist/cjs/parts/Pickers/Calendar/Styleds.js +124 -78
  4. package/dist/cjs/parts/Pickers/Calendar/Styleds.js.map +2 -2
  5. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js +4 -3
  6. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js.map +2 -2
  7. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js +11 -4
  8. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js.map +2 -2
  9. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js +5 -1
  10. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js.map +2 -2
  11. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js +38 -42
  12. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js.map +2 -2
  13. package/dist/esm/constants/index.js +15 -1
  14. package/dist/esm/constants/index.js.map +2 -2
  15. package/dist/esm/parts/Pickers/Calendar/Styleds.js +124 -78
  16. package/dist/esm/parts/Pickers/Calendar/Styleds.js.map +2 -2
  17. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js +4 -3
  18. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js.map +2 -2
  19. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js +11 -4
  20. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js.map +2 -2
  21. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js +5 -1
  22. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js.map +2 -2
  23. package/dist/esm/parts/Pickers/TimeWheel/Styleds.js +38 -42
  24. package/dist/esm/parts/Pickers/TimeWheel/Styleds.js.map +2 -2
  25. package/dist/types/constants/index.d.ts +6 -0
  26. package/dist/types/tests/custom-props/customProps.d.ts +4 -4
  27. package/package.json +10 -10
@@ -110,6 +110,18 @@ const PRE_EXISTING_DATA_TESTID = {
110
110
  TIMEWHEEL_MERIDIEM: "ds-controlled-date-time-picker-timewheel-meridiem",
111
111
  TIMEWHEEL_CURRENT_MERIDIEM: "ds-controlled-date-time-picker-timewheel-current-meridiem",
112
112
  TIMEWHEEL_NEXT_MERIDIEM: "ds-controlled-date-time-picker-timewheel-next-meridiem",
113
+ // MeridiemList renders a dual-layer pattern (see KNOWN_INTENTIONAL_DEVIATIONS.md DEV-001):
114
+ // - A11y layer: invisible semantic listbox — the real focus target, owns CURRENT_MERIDIEM above.
115
+ // - Visual layer: aria-hidden StyledTimeBtn elements — presentation only, no focus capability.
116
+ //
117
+ // CURRENT_MERIDIEM / MERIDIEM originally lived on the visual elements. When the a11y layer became
118
+ // the focus target, CURRENT_MERIDIEM moved to the listbox. The visual elements received
119
+ // -visual-element-suffixed testids to prevent DOM query duplication (getByTestId would otherwise
120
+ // return two elements with the same testid and throw in most automation frameworks).
121
+ //
122
+ // data-dimsum-slot on StyledTimeBtn (TIMEWHEEL_TIME_BUTTON) is unaffected — theming via slots is unchanged.
123
+ TIMEWHEEL_MERIDIEM_VISUAL_ELEMENT: "ds-controlled-date-time-picker-timewheel-meridiem-visual-element",
124
+ TIMEWHEEL_CURRENT_MERIDIEM_VISUAL_ELEMENT: "ds-controlled-date-time-picker-timewheel-current-meridiem-visual-element",
113
125
  CONTEXTUAL_MENU_CALENDAR: "ds-controlled-date-time-picker-calendar-context-content-wrapper",
114
126
  CONTEXTUAL_MENU_TIMEWHEEL: "ds-controlled-date-time-picker-timewheel-context-content-wrapper",
115
127
  CONTEXTUAL_MENU_CALENDAR_TIMEWHEEL: "ds-controlled-date-time-picker-calendar-timewheel-context-content-wrapper",
@@ -217,7 +229,9 @@ const ControlledDateTimePickerDatatestid = {
217
229
  PREV_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_PREV_MERIDIEM,
218
230
  MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_MERIDIEM,
219
231
  CURRENT_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_CURRENT_MERIDIEM,
220
- NEXT_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_NEXT_MERIDIEM
232
+ NEXT_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_NEXT_MERIDIEM,
233
+ MERIDIEM_VISUAL_ELEMENT: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_MERIDIEM_VISUAL_ELEMENT,
234
+ CURRENT_MERIDIEM_VISUAL_ELEMENT: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_CURRENT_MERIDIEM_VISUAL_ELEMENT
221
235
  },
222
236
  CONTEXTUAL_MENU: {
223
237
  CALENDAR: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTEXTUAL_MENU_CALENDAR,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/constants/index.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSControlledDateTimePickerName = 'DSControlleddatetimepicker';\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const FORM_DATE_TIME_PICKER_SLOTS = {\n CONTAINER: 'root',\n // THE SLOT IS ABOUT \"DATE\" EVEN IF THE STRING SAYS \"time-...\"\n // When this was first defined there was a typo in the string, now we can't change because it is a deliverable and would impact application space.\n DATE_INPUTS_MONTH: 'time-picker-month-input',\n DATE_INPUTS_DAY: 'time-picker-day-input',\n DATE_INPUTS_YEAR: 'time-picker-year-input',\n // end of typo\n TIME_INPUTS_HOUR: 'time-picker-hour-input',\n TIME_INPUTS_MINUTE: 'time-picker-minute-input',\n TIME_INPUTS_MERIDIEM: 'time-picker-meridiem-input',\n PICKER_ICONS_CALENDAR: 'calendar-trigger-icon',\n PICKER_ICONS_TIMEWHEEL: 'timewheel-trigger-icon',\n PICKER_ICONS_CALENDAR_TIMEWHEEL: 'calendar-timewheel-trigger-icon',\n CALENDAR_DAY_BUTTON: 'calendar-day',\n CALENDAR_HEADER_LABEL: 'calendar-header-label',\n CALENDAR_HEADER_BUTTON: 'calendar-header-buttons',\n CALENDAR_HEADER_WEEKLY_DAY_LIST: 'calendar-header-weekly-day-list',\n TIMEWHEEL_TIME_BUTTON: 'timewheel-time-button',\n TIMEWHEEL_TIME_CHANGE_BUTTON: 'timewheel-time-change-button',\n TIMEWHEEL_HEADER_LABEL: 'timewheel-header-label',\n CONTEXTUAL_MENU_CALENDAR: 'calendar-context-content-wrapper',\n CONTEXTUAL_MENU_TIMEWHEEL: 'timewheel-context-content-wrapper',\n CONTEXTUAL_MENU_CALENDAR_TIMEWHEEL: 'calendar-timewheel-context-content-wrapper',\n FOOTERS_CALENDAR: 'calendar-context-footer',\n FOOTERS_TIMEWHEEL: 'timewheel-context-footer',\n FOOTERS_CALENDAR_TIMEWHEEL: 'calendar-timewheel-context-footer',\n CONTROLLER_COMPONENT_CALENDAR: 'calendar-controller-wrapper',\n CONTROLLER_COMPONENT_TIMEWHEEL: 'timewheel-controller-wrapper',\n CONTROLLER_COMPONENT_CALENDAR_TIMEWHEEL: 'calendar-timewheel-controller-wrapper',\n CLEAR_BUTTON: 'clear-btn',\n} as const;\n\nconst PRE_EXISTING_DATA_TESTID = {\n // we are keeping the old names for backward compatibility...\n CONTAINER: 'ds-controlled-date-time-picker-container',\n DATE_INPUTS_MONTH: 'ds-controlled-date-time-picker-month-input',\n DATE_INPUTS_DAY: 'ds-controlled-date-time-picker-day-input',\n DATE_INPUTS_YEAR: 'ds-controlled-date-time-picker-year-input',\n TIME_INPUTS_HOUR: 'ds-controlled-date-time-picker-hour-input',\n TIME_INPUTS_MINUTE: 'ds-controlled-date-time-picker-minute-input',\n TIME_INPUTS_MERIDIEM: 'ds-controlled-date-time-picker-meridiem-input',\n PICKER_ICONS_CALENDAR: 'ds-controlled-date-time-picker-calendar-trigger-icon',\n PICKER_ICONS_TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-trigger-icon',\n PICKER_ICONS_CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-trigger-icon',\n CALENDAR_TABLE_WRAPPER: 'ds-controlled-date-time-picker-calendar-table-wrapper',\n CALENDAR_HEADER_LABEL: 'ds-controlled-date-time-picker-calendar-header-label',\n CALENDAR_PREV_YEAR: 'ds-controlled-date-time-picker-calendar-prev-year',\n CALENDAR_PREV_MONTH: 'ds-controlled-date-time-picker-calendar-prev-month',\n CALENDAR_DAY: 'ds-controlled-date-time-picker-calendar-day',\n CALENDAR_FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-focused-day',\n CALENDAR_START_RANGE_DAY: 'ds-controlled-date-time-picker-calendar-start-range-day',\n CALENDAR_IN_RANGE_DAY: 'ds-controlled-date-time-picker-calendar-in-range-day',\n CALENDAR_END_RANGE_DAY: 'ds-controlled-date-time-picker-calendar-end-range-day',\n CALENDAR_SELECTED_DAY: 'ds-controlled-date-time-picker-calendar-selected-day',\n CALENDAR_SELECTED_FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-selected-focused-day',\n CALENDAR_NEXT_MONTH: 'ds-controlled-date-time-picker-calendar-next-month',\n CALENDAR_NEXT_YEAR: 'ds-controlled-date-time-picker-calendar-next-year',\n TIMEWHEEL_HEADER_LABEL: 'ds-controlled-date-time-picker-timewheel-header-label',\n TIMEWHEEL_PREV_HOUR: 'ds-controlled-date-time-picker-timewheel-prev-hour',\n TIMEWHEEL_HOUR: 'ds-controlled-date-time-picker-timewheel-hour',\n TIMEWHEEL_CURRENT_HOUR: 'ds-controlled-date-time-picker-timewheel-current-hour',\n TIMEWHEEL_NEXT_HOUR: 'ds-controlled-date-time-picker-timewheel-next-hour',\n TIMEWHEEL_PREV_MINUTE: 'ds-controlled-date-time-picker-timewheel-prev-minute',\n TIMEWHEEL_MINUTE: 'ds-controlled-date-time-picker-timewheel-minute',\n TIMEWHEEL_CURRENT_MINUTE: 'ds-controlled-date-time-picker-timewheel-current-minute',\n TIMEWHEEL_NEXT_MINUTE: 'ds-controlled-date-time-picker-timewheel-next-minute',\n TIMEWHEEL_PREV_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-prev-meridiem',\n TIMEWHEEL_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-meridiem',\n TIMEWHEEL_CURRENT_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-current-meridiem',\n TIMEWHEEL_NEXT_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-next-meridiem',\n CONTEXTUAL_MENU_CALENDAR: 'ds-controlled-date-time-picker-calendar-context-content-wrapper',\n CONTEXTUAL_MENU_TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-context-content-wrapper',\n CONTEXTUAL_MENU_CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-context-content-wrapper',\n CONTROLLER_COMPONENT_CALENDAR: 'ds-controlled-date-time-picker-calendar-controller-wrapper',\n CONTROLLER_COMPONENT_TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-controller-wrapper',\n CONTROLLER_COMPONENT_CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-controller-wrapper',\n FOOTERS_CALENDAR: 'ds-controlled-date-time-picker-calendar-context-footer',\n FOOTERS_TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-context-footer',\n FOOTERS_CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-context-footer',\n CLEAR_BUTTON: 'ds-controlled-date-time-picker-clear-btn',\n} as const;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const FORM_DATE_TIME_PICKER_DATA_TESTID = {\n ...slotObjectToDataTestIds(DSControlledDateTimePickerName, FORM_DATE_TIME_PICKER_SLOTS),\n ...PRE_EXISTING_DATA_TESTID,\n};\n\n/* ******************************************************************************************\nThis component was created before the team had a convention for data-testid and slots.\n*********************************************************************************************\n START OF LEGACY CODE (kept to avoid breaking changes)\n****************************************************************************************** */\nexport const DSControlledDateTimePickerSlotsFlatten = FORM_DATE_TIME_PICKER_SLOTS;\nexport const DSControlledDateTimePickerSlots = {\n CONTAINER: FORM_DATE_TIME_PICKER_SLOTS.CONTAINER,\n DATE_INPUTS: {\n MONTH: FORM_DATE_TIME_PICKER_SLOTS.DATE_INPUTS_MONTH,\n DAY: FORM_DATE_TIME_PICKER_SLOTS.DATE_INPUTS_DAY,\n YEAR: FORM_DATE_TIME_PICKER_SLOTS.DATE_INPUTS_YEAR,\n },\n TIME_INPUTS: {\n HOUR: FORM_DATE_TIME_PICKER_SLOTS.TIME_INPUTS_HOUR,\n MINUTE: FORM_DATE_TIME_PICKER_SLOTS.TIME_INPUTS_MINUTE,\n MERIDIEM: FORM_DATE_TIME_PICKER_SLOTS.TIME_INPUTS_MERIDIEM,\n },\n PICKER_ICONS: {\n CALENDAR: FORM_DATE_TIME_PICKER_SLOTS.PICKER_ICONS_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.PICKER_ICONS_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.PICKER_ICONS_CALENDAR_TIMEWHEEL,\n },\n CALENDAR: {\n DAY_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.CALENDAR_DAY_BUTTON,\n HEADER_LABEL: FORM_DATE_TIME_PICKER_SLOTS.CALENDAR_HEADER_LABEL,\n HEADER_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.CALENDAR_HEADER_BUTTON,\n HEADER_WEEKLY_DAY_LIST: FORM_DATE_TIME_PICKER_SLOTS.CALENDAR_HEADER_WEEKLY_DAY_LIST,\n },\n TIMEWHEEL: {\n TIME_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.TIMEWHEEL_TIME_BUTTON,\n TIME_CHANGE_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.TIMEWHEEL_TIME_CHANGE_BUTTON,\n HEADER_LABEL: FORM_DATE_TIME_PICKER_SLOTS.TIMEWHEEL_HEADER_LABEL,\n },\n CONTEXTUAL_MENU: {\n CALENDAR: FORM_DATE_TIME_PICKER_SLOTS.CONTEXTUAL_MENU_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.CONTEXTUAL_MENU_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.CONTEXTUAL_MENU_CALENDAR_TIMEWHEEL,\n },\n FOOTERS: {\n CALENDAR: FORM_DATE_TIME_PICKER_SLOTS.FOOTERS_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.FOOTERS_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.FOOTERS_CALENDAR_TIMEWHEEL,\n },\n CONTROLLER_COMPONENT: {\n CALENDAR: FORM_DATE_TIME_PICKER_SLOTS.CONTROLLER_COMPONENT_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.CONTROLLER_COMPONENT_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.CONTROLLER_COMPONENT_CALENDAR_TIMEWHEEL,\n },\n CLEAR_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.CLEAR_BUTTON,\n};\nexport const ControlledDateTimePickerDatatestidFlattened = FORM_DATE_TIME_PICKER_DATA_TESTID;\nexport const ControlledDateTimePickerDatatestid = {\n CONTAINER: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTAINER,\n DATE_INPUTS: {\n MONTH: FORM_DATE_TIME_PICKER_DATA_TESTID.DATE_INPUTS_MONTH,\n DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.DATE_INPUTS_DAY,\n YEAR: FORM_DATE_TIME_PICKER_DATA_TESTID.DATE_INPUTS_YEAR,\n },\n TIME_INPUTS: {\n HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIME_INPUTS_HOUR,\n MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIME_INPUTS_MINUTE,\n MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIME_INPUTS_MERIDIEM,\n },\n PICKER_ICONS: {\n CALENDAR: FORM_DATE_TIME_PICKER_DATA_TESTID.PICKER_ICONS_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.PICKER_ICONS_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.PICKER_ICONS_CALENDAR_TIMEWHEEL,\n },\n CALENDAR: {\n TABLE_WRAPPER: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_TABLE_WRAPPER,\n HEADER_LABEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_HEADER_LABEL,\n PREV_YEAR: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_PREV_YEAR,\n PREV_MONTH: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_PREV_MONTH,\n DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_DAY,\n FOCUSED_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_FOCUSED_DAY,\n START_RANGE_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_START_RANGE_DAY,\n IN_RANGE_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_IN_RANGE_DAY,\n END_RANGE_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_END_RANGE_DAY,\n SELECTED_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_SELECTED_DAY,\n SELECTED_FOCUSED_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_SELECTED_FOCUSED_DAY,\n NEXT_MONTH: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_NEXT_MONTH,\n NEXT_YEAR: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_NEXT_YEAR,\n },\n TIMEWHEEL: {\n HEADER_LABEL: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_HEADER_LABEL,\n PREV_HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_PREV_HOUR,\n HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_HOUR,\n CURRENT_HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_CURRENT_HOUR,\n NEXT_HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_NEXT_HOUR,\n PREV_MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_PREV_MINUTE,\n MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_MINUTE,\n CURRENT_MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_CURRENT_MINUTE,\n NEXT_MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_NEXT_MINUTE,\n PREV_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_PREV_MERIDIEM,\n MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_MERIDIEM,\n CURRENT_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_CURRENT_MERIDIEM,\n NEXT_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_NEXT_MERIDIEM,\n },\n CONTEXTUAL_MENU: {\n CALENDAR: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTEXTUAL_MENU_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTEXTUAL_MENU_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTEXTUAL_MENU_CALENDAR_TIMEWHEEL,\n },\n CONTROLLER_COMPONENT: {\n CALENDAR: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTROLLER_COMPONENT_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTROLLER_COMPONENT_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTROLLER_COMPONENT_CALENDAR_TIMEWHEEL,\n },\n FOOTERS: {\n CALENDAR: FORM_DATE_TIME_PICKER_DATA_TESTID.FOOTERS_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.FOOTERS_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.FOOTERS_CALENDAR_TIMEWHEEL,\n },\n CLEAR_BUTTON: FORM_DATE_TIME_PICKER_DATA_TESTID.CLEAR_BUTTON,\n} as const;\n/* ******************************************************************************************\n END OF LEGACY CODE (kept to avoid breaking changes)\n****************************************************************************************** */\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSControlledDateTimePickerName = 'DSControlleddatetimepicker';\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const FORM_DATE_TIME_PICKER_SLOTS = {\n CONTAINER: 'root',\n // THE SLOT IS ABOUT \"DATE\" EVEN IF THE STRING SAYS \"time-...\"\n // When this was first defined there was a typo in the string, now we can't change because it is a deliverable and would impact application space.\n DATE_INPUTS_MONTH: 'time-picker-month-input',\n DATE_INPUTS_DAY: 'time-picker-day-input',\n DATE_INPUTS_YEAR: 'time-picker-year-input',\n // end of typo\n TIME_INPUTS_HOUR: 'time-picker-hour-input',\n TIME_INPUTS_MINUTE: 'time-picker-minute-input',\n TIME_INPUTS_MERIDIEM: 'time-picker-meridiem-input',\n PICKER_ICONS_CALENDAR: 'calendar-trigger-icon',\n PICKER_ICONS_TIMEWHEEL: 'timewheel-trigger-icon',\n PICKER_ICONS_CALENDAR_TIMEWHEEL: 'calendar-timewheel-trigger-icon',\n CALENDAR_DAY_BUTTON: 'calendar-day',\n CALENDAR_HEADER_LABEL: 'calendar-header-label',\n CALENDAR_HEADER_BUTTON: 'calendar-header-buttons',\n CALENDAR_HEADER_WEEKLY_DAY_LIST: 'calendar-header-weekly-day-list',\n TIMEWHEEL_TIME_BUTTON: 'timewheel-time-button',\n TIMEWHEEL_TIME_CHANGE_BUTTON: 'timewheel-time-change-button',\n TIMEWHEEL_HEADER_LABEL: 'timewheel-header-label',\n CONTEXTUAL_MENU_CALENDAR: 'calendar-context-content-wrapper',\n CONTEXTUAL_MENU_TIMEWHEEL: 'timewheel-context-content-wrapper',\n CONTEXTUAL_MENU_CALENDAR_TIMEWHEEL: 'calendar-timewheel-context-content-wrapper',\n FOOTERS_CALENDAR: 'calendar-context-footer',\n FOOTERS_TIMEWHEEL: 'timewheel-context-footer',\n FOOTERS_CALENDAR_TIMEWHEEL: 'calendar-timewheel-context-footer',\n CONTROLLER_COMPONENT_CALENDAR: 'calendar-controller-wrapper',\n CONTROLLER_COMPONENT_TIMEWHEEL: 'timewheel-controller-wrapper',\n CONTROLLER_COMPONENT_CALENDAR_TIMEWHEEL: 'calendar-timewheel-controller-wrapper',\n CLEAR_BUTTON: 'clear-btn',\n} as const;\n\nconst PRE_EXISTING_DATA_TESTID = {\n // we are keeping the old names for backward compatibility...\n CONTAINER: 'ds-controlled-date-time-picker-container',\n DATE_INPUTS_MONTH: 'ds-controlled-date-time-picker-month-input',\n DATE_INPUTS_DAY: 'ds-controlled-date-time-picker-day-input',\n DATE_INPUTS_YEAR: 'ds-controlled-date-time-picker-year-input',\n TIME_INPUTS_HOUR: 'ds-controlled-date-time-picker-hour-input',\n TIME_INPUTS_MINUTE: 'ds-controlled-date-time-picker-minute-input',\n TIME_INPUTS_MERIDIEM: 'ds-controlled-date-time-picker-meridiem-input',\n PICKER_ICONS_CALENDAR: 'ds-controlled-date-time-picker-calendar-trigger-icon',\n PICKER_ICONS_TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-trigger-icon',\n PICKER_ICONS_CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-trigger-icon',\n CALENDAR_TABLE_WRAPPER: 'ds-controlled-date-time-picker-calendar-table-wrapper',\n CALENDAR_HEADER_LABEL: 'ds-controlled-date-time-picker-calendar-header-label',\n CALENDAR_PREV_YEAR: 'ds-controlled-date-time-picker-calendar-prev-year',\n CALENDAR_PREV_MONTH: 'ds-controlled-date-time-picker-calendar-prev-month',\n CALENDAR_DAY: 'ds-controlled-date-time-picker-calendar-day',\n CALENDAR_FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-focused-day',\n CALENDAR_START_RANGE_DAY: 'ds-controlled-date-time-picker-calendar-start-range-day',\n CALENDAR_IN_RANGE_DAY: 'ds-controlled-date-time-picker-calendar-in-range-day',\n CALENDAR_END_RANGE_DAY: 'ds-controlled-date-time-picker-calendar-end-range-day',\n CALENDAR_SELECTED_DAY: 'ds-controlled-date-time-picker-calendar-selected-day',\n CALENDAR_SELECTED_FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-selected-focused-day',\n CALENDAR_NEXT_MONTH: 'ds-controlled-date-time-picker-calendar-next-month',\n CALENDAR_NEXT_YEAR: 'ds-controlled-date-time-picker-calendar-next-year',\n TIMEWHEEL_HEADER_LABEL: 'ds-controlled-date-time-picker-timewheel-header-label',\n TIMEWHEEL_PREV_HOUR: 'ds-controlled-date-time-picker-timewheel-prev-hour',\n TIMEWHEEL_HOUR: 'ds-controlled-date-time-picker-timewheel-hour',\n TIMEWHEEL_CURRENT_HOUR: 'ds-controlled-date-time-picker-timewheel-current-hour',\n TIMEWHEEL_NEXT_HOUR: 'ds-controlled-date-time-picker-timewheel-next-hour',\n TIMEWHEEL_PREV_MINUTE: 'ds-controlled-date-time-picker-timewheel-prev-minute',\n TIMEWHEEL_MINUTE: 'ds-controlled-date-time-picker-timewheel-minute',\n TIMEWHEEL_CURRENT_MINUTE: 'ds-controlled-date-time-picker-timewheel-current-minute',\n TIMEWHEEL_NEXT_MINUTE: 'ds-controlled-date-time-picker-timewheel-next-minute',\n TIMEWHEEL_PREV_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-prev-meridiem',\n TIMEWHEEL_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-meridiem',\n TIMEWHEEL_CURRENT_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-current-meridiem',\n TIMEWHEEL_NEXT_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-next-meridiem',\n // MeridiemList renders a dual-layer pattern (see KNOWN_INTENTIONAL_DEVIATIONS.md DEV-001):\n // - A11y layer: invisible semantic listbox \u2014 the real focus target, owns CURRENT_MERIDIEM above.\n // - Visual layer: aria-hidden StyledTimeBtn elements \u2014 presentation only, no focus capability.\n //\n // CURRENT_MERIDIEM / MERIDIEM originally lived on the visual elements. When the a11y layer became\n // the focus target, CURRENT_MERIDIEM moved to the listbox. The visual elements received\n // -visual-element-suffixed testids to prevent DOM query duplication (getByTestId would otherwise\n // return two elements with the same testid and throw in most automation frameworks).\n //\n // data-dimsum-slot on StyledTimeBtn (TIMEWHEEL_TIME_BUTTON) is unaffected \u2014 theming via slots is unchanged.\n TIMEWHEEL_MERIDIEM_VISUAL_ELEMENT: 'ds-controlled-date-time-picker-timewheel-meridiem-visual-element',\n TIMEWHEEL_CURRENT_MERIDIEM_VISUAL_ELEMENT: 'ds-controlled-date-time-picker-timewheel-current-meridiem-visual-element',\n CONTEXTUAL_MENU_CALENDAR: 'ds-controlled-date-time-picker-calendar-context-content-wrapper',\n CONTEXTUAL_MENU_TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-context-content-wrapper',\n CONTEXTUAL_MENU_CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-context-content-wrapper',\n CONTROLLER_COMPONENT_CALENDAR: 'ds-controlled-date-time-picker-calendar-controller-wrapper',\n CONTROLLER_COMPONENT_TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-controller-wrapper',\n CONTROLLER_COMPONENT_CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-controller-wrapper',\n FOOTERS_CALENDAR: 'ds-controlled-date-time-picker-calendar-context-footer',\n FOOTERS_TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-context-footer',\n FOOTERS_CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-context-footer',\n CLEAR_BUTTON: 'ds-controlled-date-time-picker-clear-btn',\n} as const;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const FORM_DATE_TIME_PICKER_DATA_TESTID = {\n ...slotObjectToDataTestIds(DSControlledDateTimePickerName, FORM_DATE_TIME_PICKER_SLOTS),\n ...PRE_EXISTING_DATA_TESTID,\n};\n\n/* ******************************************************************************************\nThis component was created before the team had a convention for data-testid and slots.\n*********************************************************************************************\n START OF LEGACY CODE (kept to avoid breaking changes)\n****************************************************************************************** */\nexport const DSControlledDateTimePickerSlotsFlatten = FORM_DATE_TIME_PICKER_SLOTS;\nexport const DSControlledDateTimePickerSlots = {\n CONTAINER: FORM_DATE_TIME_PICKER_SLOTS.CONTAINER,\n DATE_INPUTS: {\n MONTH: FORM_DATE_TIME_PICKER_SLOTS.DATE_INPUTS_MONTH,\n DAY: FORM_DATE_TIME_PICKER_SLOTS.DATE_INPUTS_DAY,\n YEAR: FORM_DATE_TIME_PICKER_SLOTS.DATE_INPUTS_YEAR,\n },\n TIME_INPUTS: {\n HOUR: FORM_DATE_TIME_PICKER_SLOTS.TIME_INPUTS_HOUR,\n MINUTE: FORM_DATE_TIME_PICKER_SLOTS.TIME_INPUTS_MINUTE,\n MERIDIEM: FORM_DATE_TIME_PICKER_SLOTS.TIME_INPUTS_MERIDIEM,\n },\n PICKER_ICONS: {\n CALENDAR: FORM_DATE_TIME_PICKER_SLOTS.PICKER_ICONS_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.PICKER_ICONS_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.PICKER_ICONS_CALENDAR_TIMEWHEEL,\n },\n CALENDAR: {\n DAY_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.CALENDAR_DAY_BUTTON,\n HEADER_LABEL: FORM_DATE_TIME_PICKER_SLOTS.CALENDAR_HEADER_LABEL,\n HEADER_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.CALENDAR_HEADER_BUTTON,\n HEADER_WEEKLY_DAY_LIST: FORM_DATE_TIME_PICKER_SLOTS.CALENDAR_HEADER_WEEKLY_DAY_LIST,\n },\n TIMEWHEEL: {\n TIME_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.TIMEWHEEL_TIME_BUTTON,\n TIME_CHANGE_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.TIMEWHEEL_TIME_CHANGE_BUTTON,\n HEADER_LABEL: FORM_DATE_TIME_PICKER_SLOTS.TIMEWHEEL_HEADER_LABEL,\n },\n CONTEXTUAL_MENU: {\n CALENDAR: FORM_DATE_TIME_PICKER_SLOTS.CONTEXTUAL_MENU_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.CONTEXTUAL_MENU_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.CONTEXTUAL_MENU_CALENDAR_TIMEWHEEL,\n },\n FOOTERS: {\n CALENDAR: FORM_DATE_TIME_PICKER_SLOTS.FOOTERS_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.FOOTERS_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.FOOTERS_CALENDAR_TIMEWHEEL,\n },\n CONTROLLER_COMPONENT: {\n CALENDAR: FORM_DATE_TIME_PICKER_SLOTS.CONTROLLER_COMPONENT_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.CONTROLLER_COMPONENT_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_SLOTS.CONTROLLER_COMPONENT_CALENDAR_TIMEWHEEL,\n },\n CLEAR_BUTTON: FORM_DATE_TIME_PICKER_SLOTS.CLEAR_BUTTON,\n};\nexport const ControlledDateTimePickerDatatestidFlattened = FORM_DATE_TIME_PICKER_DATA_TESTID;\nexport const ControlledDateTimePickerDatatestid = {\n CONTAINER: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTAINER,\n DATE_INPUTS: {\n MONTH: FORM_DATE_TIME_PICKER_DATA_TESTID.DATE_INPUTS_MONTH,\n DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.DATE_INPUTS_DAY,\n YEAR: FORM_DATE_TIME_PICKER_DATA_TESTID.DATE_INPUTS_YEAR,\n },\n TIME_INPUTS: {\n HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIME_INPUTS_HOUR,\n MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIME_INPUTS_MINUTE,\n MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIME_INPUTS_MERIDIEM,\n },\n PICKER_ICONS: {\n CALENDAR: FORM_DATE_TIME_PICKER_DATA_TESTID.PICKER_ICONS_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.PICKER_ICONS_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.PICKER_ICONS_CALENDAR_TIMEWHEEL,\n },\n CALENDAR: {\n TABLE_WRAPPER: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_TABLE_WRAPPER,\n HEADER_LABEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_HEADER_LABEL,\n PREV_YEAR: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_PREV_YEAR,\n PREV_MONTH: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_PREV_MONTH,\n DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_DAY,\n FOCUSED_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_FOCUSED_DAY,\n START_RANGE_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_START_RANGE_DAY,\n IN_RANGE_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_IN_RANGE_DAY,\n END_RANGE_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_END_RANGE_DAY,\n SELECTED_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_SELECTED_DAY,\n SELECTED_FOCUSED_DAY: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_SELECTED_FOCUSED_DAY,\n NEXT_MONTH: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_NEXT_MONTH,\n NEXT_YEAR: FORM_DATE_TIME_PICKER_DATA_TESTID.CALENDAR_NEXT_YEAR,\n },\n TIMEWHEEL: {\n HEADER_LABEL: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_HEADER_LABEL,\n PREV_HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_PREV_HOUR,\n HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_HOUR,\n CURRENT_HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_CURRENT_HOUR,\n NEXT_HOUR: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_NEXT_HOUR,\n PREV_MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_PREV_MINUTE,\n MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_MINUTE,\n CURRENT_MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_CURRENT_MINUTE,\n NEXT_MINUTE: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_NEXT_MINUTE,\n PREV_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_PREV_MERIDIEM,\n MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_MERIDIEM,\n CURRENT_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_CURRENT_MERIDIEM,\n NEXT_MERIDIEM: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_NEXT_MERIDIEM,\n MERIDIEM_VISUAL_ELEMENT: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_MERIDIEM_VISUAL_ELEMENT,\n CURRENT_MERIDIEM_VISUAL_ELEMENT: FORM_DATE_TIME_PICKER_DATA_TESTID.TIMEWHEEL_CURRENT_MERIDIEM_VISUAL_ELEMENT,\n },\n CONTEXTUAL_MENU: {\n CALENDAR: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTEXTUAL_MENU_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTEXTUAL_MENU_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTEXTUAL_MENU_CALENDAR_TIMEWHEEL,\n },\n CONTROLLER_COMPONENT: {\n CALENDAR: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTROLLER_COMPONENT_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTROLLER_COMPONENT_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.CONTROLLER_COMPONENT_CALENDAR_TIMEWHEEL,\n },\n FOOTERS: {\n CALENDAR: FORM_DATE_TIME_PICKER_DATA_TESTID.FOOTERS_CALENDAR,\n TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.FOOTERS_TIMEWHEEL,\n CALENDAR_TIMEWHEEL: FORM_DATE_TIME_PICKER_DATA_TESTID.FOOTERS_CALENDAR_TIMEWHEEL,\n },\n CLEAR_BUTTON: FORM_DATE_TIME_PICKER_DATA_TESTID.CLEAR_BUTTON,\n} as const;\n/* ******************************************************************************************\n END OF LEGACY CODE (kept to avoid breaking changes)\n****************************************************************************************** */\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -163,28 +163,13 @@ const StyledDayBtn = (0, import_ds_system.styled)(import_ds_button_v2.DSButtonV2
163
163
  border-color: transparent;
164
164
  line-height: 1;
165
165
  color: ${({ theme }) => theme.colors.neutral[800]};
166
- &:hover {
167
- ${({ theme, $readOnlyStyles }) => {
168
- if ($readOnlyStyles) {
169
- return import_ds_system.css`
170
- cursor: not-allowed;
171
- background-color: ${theme.colors.neutral["100"]};
172
- color: ${theme.colors.neutral["700"]};
173
- `;
174
- }
175
- return import_ds_system.css`
176
- cursor: pointer;
177
- background-color: ${theme.colors.brand["200"]};
178
- color: ${theme.colors.brand[700]};
179
- `;
180
- }}
181
- }
182
- &:focus {
183
- ${focusBorder}
184
- }
166
+ cursor: ${({ $readOnlyStyles }) => $readOnlyStyles ? "not-allowed" : "pointer"};
185
167
  display: flex;
186
168
  justify-content: center;
187
169
  align-items: center;
170
+ &:focus {
171
+ ${focusBorder}
172
+ }
188
173
  `;
189
174
  const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, {
190
175
  name: import_constants.DSControlledDateTimePickerName,
@@ -196,40 +181,25 @@ const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
196
181
  ${({ isHeader, theme }) => isHeader ? `background: ${theme.colors.neutral["050"]}` : ""};
197
182
  ${({ isHeader }) => isHeader ? "text-transform: capitalize" : ""};
198
183
 
184
+ /* ─────────────────────────────────────────────────────────────────
185
+ SELECTED (valid) — defect fix: brand-600, was brand-700
186
+ ───────────────────────────────────────────────────────────────── */
199
187
  .dayWrapper.selectedDay,
200
188
  .dayWrapper.startRangeDay,
201
189
  .dayWrapper.endRangeDay {
202
- ${StyledDayBtn} {
203
- color: ${({ theme }) => theme.colors.neutral["000"]};
204
- font-weight: ${({ theme }) => theme.fontWeights.semibold};
205
- }
206
- &:not(.disabledDay),
207
- &:not(.outOfRangeDay) {
190
+ &:not(.disabledDay):not(.outOfRangeDay):not(.readOnly) {
208
191
  ${StyledDayBtn} {
209
- background-color: ${({ theme }) => theme.colors.brand[700]};
192
+ background-color: ${({ theme }) => theme.colors.brand[600]};
193
+ color: ${({ theme }) => theme.colors.neutral["000"]};
194
+ font-weight: ${({ theme }) => theme.fontWeights.semibold};
210
195
  }
211
196
  }
212
197
 
198
+ /* selected invalid: danger-900 background */
213
199
  &.disabledDay,
214
200
  &.outOfRangeDay {
215
201
  ${StyledDayBtn} {
216
- color: ${({ theme }) => theme.colors.neutral["000"]};
217
202
  background-color: ${({ theme }) => theme.colors.danger[900]};
218
- &:before {
219
- background-color: ${({ theme }) => theme.colors.neutral["000"]};
220
- }
221
- }
222
- }
223
-
224
- &.focusedDay {
225
- ${StyledDayBtn} {
226
- color: ${({ theme }) => theme.colors.neutral["000"]};
227
- border-color: ${({ theme }) => theme.colors.neutral["000"]};
228
- }
229
- }
230
-
231
- &.outOfRangeDay.focusedDay {
232
- ${StyledDayBtn} {
233
203
  color: ${({ theme }) => theme.colors.neutral["000"]};
234
204
  &:before {
235
205
  background-color: ${({ theme }) => theme.colors.neutral["000"]};
@@ -238,27 +208,24 @@ const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
238
208
  }
239
209
  }
240
210
 
211
+ /* ─────────────────────────────────────────────────────────────────
212
+ INVALID (disabled / out-of-range) — base colour + diagonal
213
+ ───────────────────────────────────────────────────────────────── */
241
214
  .dayWrapper.disabledDay,
242
215
  .dayWrapper.outOfRangeDay {
243
216
  ${StyledDayBtn} {
217
+ cursor: not-allowed;
244
218
  color: ${({ theme }) => theme.colors.neutral[700]};
245
219
  ${diagonalLine}
246
220
  &:before {
247
221
  background-color: ${({ theme }) => theme.colors.neutral[500]};
248
222
  }
249
- :hover {
250
- color: ${({ theme }) => theme.colors.neutral[700]};
251
- }
252
- }
253
- &.focusedDay {
254
- ${StyledDayBtn} {
255
- &:after {
256
- border: 2px solid ${({ theme }) => theme.colors.danger[900]};
257
- }
258
- }
259
223
  }
260
224
  }
261
225
 
226
+ /* ─────────────────────────────────────────────────────────────────
227
+ FOCUS RING — always brand-700 regardless of day state
228
+ ───────────────────────────────────────────────────────────────── */
262
229
  .dayWrapper.focusedDay {
263
230
  ${StyledDayBtn} {
264
231
  ${focusBorder}
@@ -267,46 +234,120 @@ const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
267
234
  }
268
235
  }
269
236
 
270
- &:not(.readOnly) {
237
+ /* focused valid not-readOnly: brand text */
238
+ &:not(.readOnly):not(.disabledDay):not(.outOfRangeDay):not(.selectedDay):not(.startRangeDay):not(.endRangeDay) {
271
239
  ${StyledDayBtn} {
272
240
  color: ${({ theme }) => theme.colors.brand[600]};
273
241
  }
274
242
  }
275
- &.disabledDay,
276
- &.outOfRangeDay {
243
+
244
+ /* focused invalid not-readOnly: brand text + brand diagonal */
245
+ &.disabledDay:not(.readOnly):not(.selectedDay):not(.startRangeDay):not(.endRangeDay),
246
+ &.outOfRangeDay:not(.readOnly):not(.selectedDay):not(.startRangeDay):not(.endRangeDay) {
277
247
  ${StyledDayBtn} {
278
- color: ${({ theme }) => theme.colors.danger[900]};
248
+ color: ${({ theme }) => theme.colors.brand[600]};
279
249
  &:before {
280
- background-color: ${({ theme }) => theme.colors.danger[900]};
250
+ background-color: ${({ theme }) => theme.colors.brand[600]};
281
251
  }
282
252
  }
283
253
  }
284
- &.selectedDay {
254
+
255
+ /* focused selected: white text, white inner border (gap), blue outer ring from generic rule */
256
+ &.selectedDay,
257
+ &.startRangeDay,
258
+ &.endRangeDay {
285
259
  ${StyledDayBtn} {
286
260
  color: ${({ theme }) => theme.colors.neutral["000"]};
261
+ border-color: ${({ theme }) => theme.colors.neutral["000"]};
287
262
  }
288
263
  }
289
- }
290
264
 
291
- .dayWrapper.selectedDay.disabledDay.focusedDay {
292
- ${StyledDayBtn} {
293
- color: ${({ theme }) => theme.colors.neutral["000"]};
294
- &:before {
295
- background-color: ${({ theme }) => theme.colors.neutral["000"]};
265
+ /* focused valid selected (non-readOnly): brand-800 background matches hover */
266
+ &.selectedDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly),
267
+ &.startRangeDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly),
268
+ &.endRangeDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly) {
269
+ ${StyledDayBtn} {
270
+ background-color: ${({ theme }) => theme.colors.brand[800]};
296
271
  }
297
272
  }
298
- }
299
273
 
300
- .dayWrapper.readOnly {
301
- ${StyledDayBtn} {
302
- :hover {
303
- cursor: not-allowed;
304
- background-color: ${({ theme }) => theme.colors.neutral["100"]};
305
- color: ${({ theme }) => theme.colors.neutral["700"]};
274
+ /* focused selected invalid: white text + white diagonal */
275
+ &.selectedDay.disabledDay,
276
+ &.selectedDay.outOfRangeDay,
277
+ &.startRangeDay.disabledDay,
278
+ &.startRangeDay.outOfRangeDay,
279
+ &.endRangeDay.disabledDay,
280
+ &.endRangeDay.outOfRangeDay {
281
+ ${StyledDayBtn} {
282
+ color: ${({ theme }) => theme.colors.neutral["000"]};
283
+ &:before {
284
+ background-color: ${({ theme }) => theme.colors.neutral["000"]};
285
+ }
306
286
  }
307
287
  }
308
288
  }
309
289
 
290
+ /* ─────────────────────────────────────────────────────────────────
291
+ HOVER BACKGROUNDS — new spec
292
+ Semi-bold on hover for all non-selected states.
293
+ Rules ordered low → high specificity so readOnly always wins.
294
+ ───────────────────────────────────────────────────────────────── */
295
+
296
+ /* valid, not selected, not readOnly */
297
+ .dayWrapper:not(.disabledDay):not(.outOfRangeDay):not(.readOnly):not(.selectedDay):not(.startRangeDay):not(
298
+ .endRangeDay
299
+ ) {
300
+ ${StyledDayBtn}:hover {
301
+ background-color: ${({ theme }) => theme.colors.brand[100]};
302
+ color: ${({ theme }) => theme.colors.brand[700]};
303
+ font-weight: ${({ theme }) => theme.fontWeights.semibold};
304
+ }
305
+ }
306
+
307
+ /* invalid, not selected, not readOnly */
308
+ .dayWrapper.disabledDay:not(.selectedDay):not(.readOnly),
309
+ .dayWrapper.outOfRangeDay:not(.selectedDay):not(.readOnly) {
310
+ ${StyledDayBtn}:hover {
311
+ /* TODO: danger[200] and danger[400] are currently the same token and both fail contrast
312
+ against common dimsum color combinations. Hardcoded until the theme token is fixed. */
313
+ background-color: #fffcfc; // this is hardcoded because danger 200 fails contrast, pending theme token fix
314
+ font-weight: ${({ theme }) => theme.fontWeights.semibold};
315
+ }
316
+ }
317
+
318
+ /* selected valid, not readOnly */
319
+ .dayWrapper.selectedDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly),
320
+ .dayWrapper.startRangeDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly),
321
+ .dayWrapper.endRangeDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly) {
322
+ ${StyledDayBtn}:hover {
323
+ background-color: ${({ theme }) => theme.colors.brand[800]};
324
+ }
325
+ }
326
+
327
+ /* selected invalid, not readOnly */
328
+ .dayWrapper.selectedDay.disabledDay:not(.readOnly),
329
+ .dayWrapper.selectedDay.outOfRangeDay:not(.readOnly),
330
+ .dayWrapper.startRangeDay.disabledDay:not(.readOnly),
331
+ .dayWrapper.startRangeDay.outOfRangeDay:not(.readOnly),
332
+ .dayWrapper.endRangeDay.disabledDay:not(.readOnly),
333
+ .dayWrapper.endRangeDay.outOfRangeDay:not(.readOnly) {
334
+ ${StyledDayBtn}:hover {
335
+ background-color: ${({ theme }) => theme.colors.danger[950]};
336
+ }
337
+ }
338
+
339
+ /* readOnly, not selected (any validity) — wins over all non-readOnly hover rules */
340
+ .dayWrapper.readOnly:not(.selectedDay):not(.startRangeDay):not(.endRangeDay) {
341
+ ${StyledDayBtn}:hover {
342
+ background-color: ${({ theme }) => theme.colors.neutral[100]};
343
+ color: ${({ theme }) => theme.colors.neutral[700]};
344
+ font-weight: ${({ theme }) => theme.fontWeights.semibold};
345
+ }
346
+ }
347
+
348
+ /* ─────────────────────────────────────────────────────────────────
349
+ READONLY REST STATES
350
+ ───────────────────────────────────────────────────────────────── */
310
351
  .dayWrapper.selectedDay.readOnly {
311
352
  ${StyledDayBtn} {
312
353
  background-color: ${({ theme }) => theme.colors.neutral["500"]};
@@ -315,9 +356,9 @@ const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
315
356
  &:before {
316
357
  background-color: ${({ theme }) => theme.colors.neutral["000"]};
317
358
  }
318
- :hover {
359
+ /* (0,6,0) beats DSButtonV2's .liKnyT:hover { background: transparent } at (0,2,0) */
360
+ &:hover {
319
361
  background-color: ${({ theme }) => theme.colors.neutral["700"]};
320
- color: ${({ theme }) => theme.colors.neutral["000"]};
321
362
  }
322
363
  :focus {
323
364
  background-color: ${({ theme }) => theme.colors.neutral["700"]};
@@ -332,9 +373,6 @@ const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
332
373
  &:before {
333
374
  background-color: ${({ theme }) => theme.colors.neutral[700]};
334
375
  }
335
- :hover {
336
- background-color: ${({ theme }) => theme.colors.neutral[100]};
337
- }
338
376
  }
339
377
  &.focusedDay {
340
378
  ${StyledDayBtn} {
@@ -357,7 +395,7 @@ const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
357
395
  &:before {
358
396
  background-color: ${({ theme }) => theme.colors.neutral["000"]};
359
397
  }
360
- :hover {
398
+ &:hover {
361
399
  background-color: ${({ theme }) => theme.colors.neutral["700"]};
362
400
  }
363
401
  :focus {
@@ -366,6 +404,9 @@ const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
366
404
  }
367
405
  }
368
406
 
407
+ /* ─────────────────────────────────────────────────────────────────
408
+ NOT CURRENT MONTH
409
+ ───────────────────────────────────────────────────────────────── */
369
410
  .dayWrapper.notCurrentMonth {
370
411
  ${StyledDayBtn} {
371
412
  color: ${({ theme }) => theme.colors.neutral[500]};
@@ -401,6 +442,9 @@ const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
401
442
  }
402
443
  }
403
444
 
445
+ /* ─────────────────────────────────────────────────────────────────
446
+ RANGE DAYS
447
+ ───────────────────────────────────────────────────────────────── */
404
448
  .dayWrapper.inRangeDay {
405
449
  ${backgroundDateRange.inRange}
406
450
  &.disabledDay,
@@ -414,7 +458,9 @@ const StyledWeekDaysListWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
414
458
  }
415
459
  &.focusedDay {
416
460
  ${StyledDayBtn} {
417
- border-color: ${({ theme }) => theme.colors.neutral["000"]};
461
+ &:after {
462
+ border-color: ${({ theme }) => theme.colors.neutral["000"]};
463
+ }
418
464
  }
419
465
  }
420
466
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/parts/Pickers/Calendar/Styleds.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport { DSButtonV2 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { css, styled } from '@elliemae/ds-system';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../../../constants/index.js';\n\nconst diagonalLine = css`\n &:before {\n position: absolute;\n content: '';\n top: 48%;\n left: -2px;\n height: 1px;\n width: calc(100% + 4px);\n transform: rotate(45deg);\n background-color: ${({ theme }) => theme.colors.neutral[500]};\n }\n`;\n\nconst focusBorder = css`\n &:after {\n position: absolute;\n content: '';\n top: -4px;\n left: -4px;\n width: calc(100% + 8px);\n height: calc(100% + 8px);\n border-radius: 50%;\n }\n`;\n\nconst backgroundDateRange = {\n inRange: css`\n background-color: ${({ theme }) => theme.colors.brand[200]};\n box-shadow: 4px 0 0 0 ${({ theme }) => theme.colors.brand[200]};\n `,\n startRange: css`\n background-color: ${({ theme }) => theme.colors.brand[200]};\n border-radius: 50% 0 0 50%;\n box-shadow: 4px 0 0 0 ${({ theme }) => theme.colors.brand[200]};\n `,\n endRange: css`\n background-color: ${({ theme }) => theme.colors.brand[200]};\n border-radius: 0 50% 50% 0;\n `,\n};\n\nexport const StyledIconTriggerButton = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.PICKER_ICONS.CALENDAR,\n})`\n color: ${({ theme }) => theme.colors.brand['800']};\n width: 2rem;\n height: 2rem;\n`;\n\nexport const StyledShadowWrapper = styled('div', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTROLLER_COMPONENT.CALENDAR,\n})``;\n\nexport const StyledCalendarWrapper = styled.div<{ $readOnlyStyles?: boolean }>`\n display: grid;\n min-width: 260px;\n background-color: ${({ theme, $readOnlyStyles }) =>\n $readOnlyStyles ? theme.colors.neutral['050'] : theme.colors.neutral['000']};\n grid-template-rows: auto auto;\n`;\n\nexport const StyledHeader = styled.section`\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n display: grid;\n padding: ${({ theme }) => theme.space.xxxs};\n grid-template-columns: min-content min-content 1fr min-content min-content;\n grid-template-rows: 1fr;\n align-items: center;\n justify-content: center;\n text-align: center;\n background: ${({ theme }) => theme.colors.neutral['050']};\n`;\n\nexport const StyledHeaderLabel = styled('h3', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CALENDAR.HEADER_LABEL,\n})`\n font-size: 1rem;\n`;\n\nexport const StyledHeaderButton = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CALENDAR.HEADER_BUTTON,\n})`\n position: relative;\n width: 2.1538rem;\n height: 2.1538rem;\n &:focus {\n &:after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n border-radius: 2px;\n pointer-events: none;\n }\n }\n &:hover {\n background: ${({ theme }) => theme.colors.brand[200]};\n }\n`;\n\nexport const StyledBody = styled.section`\n padding: ${({ theme }) => theme.space.xxxs};\n`;\n\nexport const StyledDayBtn = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CALENDAR.DAY_BUTTON,\n})<{ $readOnlyStyles?: boolean }>`\n height: 2.4615rem;\n width: 2.4615rem;\n border-radius: 50%;\n position: relative;\n border-width: 2px;\n border-style: solid;\n border-color: transparent;\n line-height: 1;\n color: ${({ theme }) => theme.colors.neutral[800]};\n &:hover {\n ${({ theme, $readOnlyStyles }) => {\n if ($readOnlyStyles) {\n return css`\n cursor: not-allowed;\n background-color: ${theme.colors.neutral['100']};\n color: ${theme.colors.neutral['700']};\n `;\n }\n return css`\n cursor: pointer;\n background-color: ${theme.colors.brand['200']};\n color: ${theme.colors.brand[700]};\n `;\n }}\n }\n &:focus {\n ${focusBorder}\n }\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const StyledWeekDaysListWrapper = styled(Grid, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CALENDAR.HEADER_WEEKLY_DAY_LIST,\n})<{ isHeader?: boolean }>`\n font-size: ${({ theme }) => theme.fontSizes.label[400]};\n text-align: center;\n justify-items: center;\n ${({ isHeader, theme }) => (isHeader ? `background: ${theme.colors.neutral['050']}` : '')};\n ${({ isHeader }) => (isHeader ? 'text-transform: capitalize' : '')};\n\n .dayWrapper.selectedDay,\n .dayWrapper.startRangeDay,\n .dayWrapper.endRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n }\n &:not(.disabledDay),\n &:not(.outOfRangeDay) {\n ${StyledDayBtn} {\n background-color: ${({ theme }) => theme.colors.brand[700]};\n }\n }\n\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n background-color: ${({ theme }) => theme.colors.danger[900]};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n\n &.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n border-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n\n &.outOfRangeDay.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n .dayWrapper.disabledDay,\n .dayWrapper.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral[700]};\n ${diagonalLine}\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral[500]};\n }\n :hover {\n color: ${({ theme }) => theme.colors.neutral[700]};\n }\n }\n &.focusedDay {\n ${StyledDayBtn} {\n &:after {\n border: 2px solid ${({ theme }) => theme.colors.danger[900]};\n }\n }\n }\n }\n\n .dayWrapper.focusedDay {\n ${StyledDayBtn} {\n ${focusBorder}\n &:after {\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n }\n }\n\n &:not(.readOnly) {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.brand[600]};\n }\n }\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.danger[900]};\n &:before {\n background-color: ${({ theme }) => theme.colors.danger[900]};\n }\n }\n }\n &.selectedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n\n .dayWrapper.selectedDay.disabledDay.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n\n .dayWrapper.readOnly {\n ${StyledDayBtn} {\n :hover {\n cursor: not-allowed;\n background-color: ${({ theme }) => theme.colors.neutral['100']};\n color: ${({ theme }) => theme.colors.neutral['700']};\n }\n }\n }\n\n .dayWrapper.selectedDay.readOnly {\n ${StyledDayBtn} {\n background-color: ${({ theme }) => theme.colors.neutral['500']};\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n :hover {\n background-color: ${({ theme }) => theme.colors.neutral['700']};\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n :focus {\n background-color: ${({ theme }) => theme.colors.neutral['700']};\n }\n }\n }\n\n .dayWrapper.disabledDay.readOnly,\n .dayWrapper.outOfRangeDay.readOnly {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral[700]};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral[700]};\n }\n :hover {\n background-color: ${({ theme }) => theme.colors.neutral[100]};\n }\n }\n &.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral[700]};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral[700]};\n }\n &:after {\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n }\n }\n }\n }\n\n .dayWrapper.selectedDay.disabledDay.readOnly,\n .dayWrapper.selectedDay.outOfRangeDay.readOnly {\n ${StyledDayBtn} {\n background-color: ${({ theme }) => theme.colors.neutral['500']};\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n :hover {\n background-color: ${({ theme }) => theme.colors.neutral['700']};\n }\n :focus {\n background-color: ${({ theme }) => theme.colors.neutral['700']};\n }\n }\n }\n\n .dayWrapper.notCurrentMonth {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral[500]};\n }\n\n &.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.brand[600]};\n }\n\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.brand[600]};\n }\n\n &.inRangeDay,\n &.startRangeDay,\n &.endRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n &.selectedDay,\n &.startRangeDay,\n &.endRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n\n .dayWrapper.inRangeDay {\n ${backgroundDateRange.inRange}\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n background-color: ${({ theme }) => theme.colors.danger[900]};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n &.focusedDay {\n ${StyledDayBtn} {\n border-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n .dayWrapper.startRangeDay {\n &.inRangeImproperDay {\n ${backgroundDateRange.startRange}\n }\n &.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n .dayWrapper.endRangeDay {\n &.inRangeImproperDay {\n ${backgroundDateRange.endRange}\n }\n &.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n .dayWrapper.endRangeDay.startRangeDay {\n background-color: transparent;\n box-shadow: none;\n }\n`;\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nexport const StyledWeekDaysHeaderItem = styled.div`\n min-width: 2.4615rem;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const CalendarFooterMessage = styled('div', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.FOOTERS.CALENDAR,\n})<{ $readOnlyStyles?: boolean }>`\n border-top: solid 1px ${({ theme }) => theme.colors.neutral[300]};\n margin: 0 ${({ theme }) => theme.space.xxs2};\n padding: ${({ theme }) => theme.space.xxs2} 0;\n color: ${({ theme }) => theme.colors.danger[900]};\n font-size: ${({ theme }) => theme.fontSizes.microText[200]};\n text-align: right;\n background-color: ${({ theme, $readOnlyStyles }) =>\n $readOnlyStyles ? theme.colors.neutral['050'] : theme.colors.neutral['000']};\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport { DSButtonV2 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { css, styled } from '@elliemae/ds-system';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../../../constants/index.js';\n\n// Diagonal line for disabled / out-of-range days \u2014 neutral-500, position only.\nconst diagonalLine = css`\n &:before {\n position: absolute;\n content: '';\n top: 48%;\n left: -2px;\n height: 1px;\n width: calc(100% + 4px);\n transform: rotate(45deg);\n background-color: ${({ theme }) => theme.colors.neutral[500]};\n }\n`;\n\n// Focus ring frame \u2014 shape only. Colour is always brand-700, injected in StyledWeekDaysListWrapper\n// under .focusedDay so a single rule governs the ring colour regardless of day state.\nconst focusBorder = css`\n &:after {\n position: absolute;\n content: '';\n top: -4px;\n left: -4px;\n width: calc(100% + 8px);\n height: calc(100% + 8px);\n border-radius: 50%;\n }\n`;\n\nconst backgroundDateRange = {\n inRange: css`\n background-color: ${({ theme }) => theme.colors.brand[200]};\n box-shadow: 4px 0 0 0 ${({ theme }) => theme.colors.brand[200]};\n `,\n startRange: css`\n background-color: ${({ theme }) => theme.colors.brand[200]};\n border-radius: 50% 0 0 50%;\n box-shadow: 4px 0 0 0 ${({ theme }) => theme.colors.brand[200]};\n `,\n endRange: css`\n background-color: ${({ theme }) => theme.colors.brand[200]};\n border-radius: 0 50% 50% 0;\n `,\n};\n\nexport const StyledIconTriggerButton = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.PICKER_ICONS.CALENDAR,\n})`\n color: ${({ theme }) => theme.colors.brand['800']};\n width: 2rem;\n height: 2rem;\n`;\n\nexport const StyledShadowWrapper = styled('div', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CONTROLLER_COMPONENT.CALENDAR,\n})``;\n\nexport const StyledCalendarWrapper = styled.div<{ $readOnlyStyles?: boolean }>`\n display: grid;\n min-width: 260px;\n background-color: ${({ theme, $readOnlyStyles }) =>\n $readOnlyStyles ? theme.colors.neutral['050'] : theme.colors.neutral['000']};\n grid-template-rows: auto auto;\n`;\n\nexport const StyledHeader = styled.section`\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n display: grid;\n padding: ${({ theme }) => theme.space.xxxs};\n grid-template-columns: min-content min-content 1fr min-content min-content;\n grid-template-rows: 1fr;\n align-items: center;\n justify-content: center;\n text-align: center;\n background: ${({ theme }) => theme.colors.neutral['050']};\n`;\n\nexport const StyledHeaderLabel = styled('h3', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CALENDAR.HEADER_LABEL,\n})`\n font-size: 1rem;\n`;\n\nexport const StyledHeaderButton = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CALENDAR.HEADER_BUTTON,\n})`\n position: relative;\n width: 2.1538rem;\n height: 2.1538rem;\n &:focus {\n &:after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n border-radius: 2px;\n pointer-events: none;\n }\n }\n &:hover {\n background: ${({ theme }) => theme.colors.brand[200]};\n }\n`;\n\nexport const StyledBody = styled.section`\n padding: ${({ theme }) => theme.space.xxxs};\n`;\n\n// StyledDayBtn owns shape, cursor, and the focus ring frame.\n// Hover colours live in StyledWeekDaysListWrapper using parent-class selectors whose\n// specificity (\u22650,6,0) beats DSButtonV2's internal transparent hover at (0,2,0).\nexport const StyledDayBtn = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CALENDAR.DAY_BUTTON,\n})<{ $readOnlyStyles?: boolean }>`\n height: 2.4615rem;\n width: 2.4615rem;\n border-radius: 50%;\n position: relative;\n border-width: 2px;\n border-style: solid;\n border-color: transparent;\n line-height: 1;\n color: ${({ theme }) => theme.colors.neutral[800]};\n cursor: ${({ $readOnlyStyles }) => ($readOnlyStyles ? 'not-allowed' : 'pointer')};\n display: flex;\n justify-content: center;\n align-items: center;\n &:focus {\n ${focusBorder}\n }\n`;\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const StyledWeekDaysListWrapper = styled(Grid, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.CALENDAR.HEADER_WEEKLY_DAY_LIST,\n})<{ isHeader?: boolean }>`\n font-size: ${({ theme }) => theme.fontSizes.label[400]};\n text-align: center;\n justify-items: center;\n ${({ isHeader, theme }) => (isHeader ? `background: ${theme.colors.neutral['050']}` : '')};\n ${({ isHeader }) => (isHeader ? 'text-transform: capitalize' : '')};\n\n /* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n SELECTED (valid) \u2014 defect fix: brand-600, was brand-700\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .dayWrapper.selectedDay,\n .dayWrapper.startRangeDay,\n .dayWrapper.endRangeDay {\n &:not(.disabledDay):not(.outOfRangeDay):not(.readOnly) {\n ${StyledDayBtn} {\n background-color: ${({ theme }) => theme.colors.brand[600]};\n color: ${({ theme }) => theme.colors.neutral['000']};\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n }\n }\n\n /* selected invalid: danger-900 background */\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n background-color: ${({ theme }) => theme.colors.danger[900]};\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n /* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n INVALID (disabled / out-of-range) \u2014 base colour + diagonal\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .dayWrapper.disabledDay,\n .dayWrapper.outOfRangeDay {\n ${StyledDayBtn} {\n cursor: not-allowed;\n color: ${({ theme }) => theme.colors.neutral[700]};\n ${diagonalLine}\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral[500]};\n }\n }\n }\n\n /* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n FOCUS RING \u2014 always brand-700 regardless of day state\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .dayWrapper.focusedDay {\n ${StyledDayBtn} {\n ${focusBorder}\n &:after {\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n }\n }\n\n /* focused valid not-readOnly: brand text */\n &:not(.readOnly):not(.disabledDay):not(.outOfRangeDay):not(.selectedDay):not(.startRangeDay):not(.endRangeDay) {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.brand[600]};\n }\n }\n\n /* focused invalid not-readOnly: brand text + brand diagonal */\n &.disabledDay:not(.readOnly):not(.selectedDay):not(.startRangeDay):not(.endRangeDay),\n &.outOfRangeDay:not(.readOnly):not(.selectedDay):not(.startRangeDay):not(.endRangeDay) {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.brand[600]};\n &:before {\n background-color: ${({ theme }) => theme.colors.brand[600]};\n }\n }\n }\n\n /* focused selected: white text, white inner border (gap), blue outer ring from generic rule */\n &.selectedDay,\n &.startRangeDay,\n &.endRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n border-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n\n /* focused valid selected (non-readOnly): brand-800 background matches hover */\n &.selectedDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly),\n &.startRangeDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly),\n &.endRangeDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly) {\n ${StyledDayBtn} {\n background-color: ${({ theme }) => theme.colors.brand[800]};\n }\n }\n\n /* focused selected invalid: white text + white diagonal */\n &.selectedDay.disabledDay,\n &.selectedDay.outOfRangeDay,\n &.startRangeDay.disabledDay,\n &.startRangeDay.outOfRangeDay,\n &.endRangeDay.disabledDay,\n &.endRangeDay.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n /* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n HOVER BACKGROUNDS \u2014 new spec\n Semi-bold on hover for all non-selected states.\n Rules ordered low \u2192 high specificity so readOnly always wins.\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n /* valid, not selected, not readOnly */\n .dayWrapper:not(.disabledDay):not(.outOfRangeDay):not(.readOnly):not(.selectedDay):not(.startRangeDay):not(\n .endRangeDay\n ) {\n ${StyledDayBtn}:hover {\n background-color: ${({ theme }) => theme.colors.brand[100]};\n color: ${({ theme }) => theme.colors.brand[700]};\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n }\n }\n\n /* invalid, not selected, not readOnly */\n .dayWrapper.disabledDay:not(.selectedDay):not(.readOnly),\n .dayWrapper.outOfRangeDay:not(.selectedDay):not(.readOnly) {\n ${StyledDayBtn}:hover {\n /* TODO: danger[200] and danger[400] are currently the same token and both fail contrast\n against common dimsum color combinations. Hardcoded until the theme token is fixed. */\n background-color: #fffcfc; // this is hardcoded because danger 200 fails contrast, pending theme token fix\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n }\n }\n\n /* selected valid, not readOnly */\n .dayWrapper.selectedDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly),\n .dayWrapper.startRangeDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly),\n .dayWrapper.endRangeDay:not(.disabledDay):not(.outOfRangeDay):not(.readOnly) {\n ${StyledDayBtn}:hover {\n background-color: ${({ theme }) => theme.colors.brand[800]};\n }\n }\n\n /* selected invalid, not readOnly */\n .dayWrapper.selectedDay.disabledDay:not(.readOnly),\n .dayWrapper.selectedDay.outOfRangeDay:not(.readOnly),\n .dayWrapper.startRangeDay.disabledDay:not(.readOnly),\n .dayWrapper.startRangeDay.outOfRangeDay:not(.readOnly),\n .dayWrapper.endRangeDay.disabledDay:not(.readOnly),\n .dayWrapper.endRangeDay.outOfRangeDay:not(.readOnly) {\n ${StyledDayBtn}:hover {\n background-color: ${({ theme }) => theme.colors.danger[950]};\n }\n }\n\n /* readOnly, not selected (any validity) \u2014 wins over all non-readOnly hover rules */\n .dayWrapper.readOnly:not(.selectedDay):not(.startRangeDay):not(.endRangeDay) {\n ${StyledDayBtn}:hover {\n background-color: ${({ theme }) => theme.colors.neutral[100]};\n color: ${({ theme }) => theme.colors.neutral[700]};\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n }\n }\n\n /* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n READONLY REST STATES\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .dayWrapper.selectedDay.readOnly {\n ${StyledDayBtn} {\n background-color: ${({ theme }) => theme.colors.neutral['500']};\n font-weight: ${({ theme }) => theme.fontWeights.semibold};\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n /* (0,6,0) beats DSButtonV2's .liKnyT:hover { background: transparent } at (0,2,0) */\n &:hover {\n background-color: ${({ theme }) => theme.colors.neutral['700']};\n }\n :focus {\n background-color: ${({ theme }) => theme.colors.neutral['700']};\n }\n }\n }\n\n .dayWrapper.disabledDay.readOnly,\n .dayWrapper.outOfRangeDay.readOnly {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral[700]};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral[700]};\n }\n }\n &.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral[700]};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral[700]};\n }\n &:after {\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n }\n }\n }\n }\n\n .dayWrapper.selectedDay.disabledDay.readOnly,\n .dayWrapper.selectedDay.outOfRangeDay.readOnly {\n ${StyledDayBtn} {\n background-color: ${({ theme }) => theme.colors.neutral['500']};\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n &:hover {\n background-color: ${({ theme }) => theme.colors.neutral['700']};\n }\n :focus {\n background-color: ${({ theme }) => theme.colors.neutral['700']};\n }\n }\n }\n\n /* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n NOT CURRENT MONTH\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .dayWrapper.notCurrentMonth {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral[500]};\n }\n\n &.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.brand[600]};\n }\n\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.brand[600]};\n }\n\n &.inRangeDay,\n &.startRangeDay,\n &.endRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n &.selectedDay,\n &.startRangeDay,\n &.endRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n\n /* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n RANGE DAYS\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n .dayWrapper.inRangeDay {\n ${backgroundDateRange.inRange}\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n background-color: ${({ theme }) => theme.colors.danger[900]};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n &.focusedDay {\n ${StyledDayBtn} {\n &:after {\n border-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n }\n\n .dayWrapper.startRangeDay {\n &.inRangeImproperDay {\n ${backgroundDateRange.startRange}\n }\n &.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n .dayWrapper.endRangeDay {\n &.inRangeImproperDay {\n ${backgroundDateRange.endRange}\n }\n &.focusedDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n &.disabledDay,\n &.outOfRangeDay {\n ${StyledDayBtn} {\n color: ${({ theme }) => theme.colors.neutral['000']};\n &:before {\n background-color: ${({ theme }) => theme.colors.neutral['000']};\n }\n }\n }\n }\n\n .dayWrapper.endRangeDay.startRangeDay {\n background-color: transparent;\n box-shadow: none;\n }\n`;\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nexport const StyledWeekDaysHeaderItem = styled.div`\n min-width: 2.4615rem;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const CalendarFooterMessage = styled('div', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.FOOTERS.CALENDAR,\n})<{ $readOnlyStyles?: boolean }>`\n border-top: solid 1px ${({ theme }) => theme.colors.neutral[300]};\n margin: 0 ${({ theme }) => theme.space.xxs2};\n padding: ${({ theme }) => theme.space.xxs2} 0;\n color: ${({ theme }) => theme.colors.danger[900]};\n font-size: ${({ theme }) => theme.fontSizes.microText[200]};\n text-align: right;\n background-color: ${({ theme, $readOnlyStyles }) =>\n $readOnlyStyles ? theme.colors.neutral['050'] : theme.colors.neutral['000']};\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,0BAA2B;AAC3B,qBAAqB;AACrB,uBAA4B;AAC5B,uBAAgF;AAGhF,MAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBASG,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAMhE,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYpB,MAAM,sBAAsB;AAAA,EAC1B,SAAS;AAAA,wBACa,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA,4BAClC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA,EAEhE,YAAY;AAAA,wBACU,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA,4BAElC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA,EAEhE,UAAU;AAAA,wBACY,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAG9D;AAEO,MAAM,8BAA0B,yBAAO,gCAAY;AAAA,EACxD,MAAM;AAAA,EACN,MAAM,iDAAgC,aAAa;AACrD,CAAC;AAAA,WACU,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK,CAAC;AAAA;AAAA;AAAA;AAK5C,MAAM,0BAAsB,yBAAO,OAAO;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,iDAAgC,qBAAqB;AAC7D,CAAC;AAEM,MAAM,wBAAwB,wBAAO;AAAA;AAAA;AAAA,sBAGtB,CAAC,EAAE,OAAO,gBAAgB,MAC5C,kBAAkB,MAAM,OAAO,QAAQ,KAAK,IAAI,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAIxE,MAAM,eAAe,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOtB,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAM5B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAGnD,MAAM,wBAAoB,yBAAO,MAAM;AAAA,EAC5C,MAAM;AAAA,EACN,MAAM,iDAAgC,SAAS;AACjD,CAAC;AAAA;AAAA;AAIM,MAAM,yBAAqB,yBAAO,gCAAY;AAAA,EACnD,MAAM;AAAA,EACN,MAAM,iDAAgC,SAAS;AACjD,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAYyB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAM9C,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAIjD,MAAM,aAAa,wBAAO;AAAA,aACpB,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA;AAMrC,MAAM,mBAAe,yBAAO,gCAAY;AAAA,EAC7C,MAAM;AAAA,EACN,MAAM,iDAAgC,SAAS;AACjD,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WASU,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA,YACvC,CAAC,EAAE,gBAAgB,MAAO,kBAAkB,gBAAgB,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA,MAK5E,WAAW;AAAA;AAAA;AAKV,MAAM,gCAA4B,yBAAO,qBAAM;AAAA,EACpD,MAAM;AAAA,EACN,MAAM,iDAAgC,SAAS;AACjD,CAAC;AAAA,eACc,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA,IAGpD,CAAC,EAAE,UAAU,MAAM,MAAO,WAAW,eAAe,MAAM,OAAO,QAAQ,KAAK,CAAC,KAAK,EAAG;AAAA,IACvF,CAAC,EAAE,SAAS,MAAO,WAAW,+BAA+B,EAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAS5D,YAAY;AAAA,4BACQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA,iBACjD,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,uBACpC,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOxD,YAAY;AAAA,4BACQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,OAAO,GAAG,CAAC;AAAA,iBAClD,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,8BAE7B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAWlE,YAAY;AAAA;AAAA,eAEH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA,QAC/C,YAAY;AAAA;AAAA,4BAEQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAS9D,YAAY;AAAA,QACV,WAAW;AAAA;AAAA,4BAES,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAM1D,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAO/C,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA,8BAEzB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAS5D,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,wBACnC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQ1D,YAAY;AAAA,4BACQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAW1D,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,8BAE7B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAgBlE,YAAY;AAAA,0BACQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA,eACjD,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA,qBAChC,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOxD,YAAY;AAAA;AAAA;AAAA;AAAA,qBAIG,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQxD,YAAY;AAAA,0BACQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAW1D,YAAY;AAAA,0BACQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,OAAO,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAM3D,YAAY;AAAA,0BACQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA,eACnD,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA,qBAClC,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQxD,YAAY;AAAA,0BACQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,qBAC/C,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY,QAAQ;AAAA,eAC/C,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,4BAE7B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,4BAI1C,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA,4BAG1C,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAOhE,YAAY;AAAA,eACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA,4BAE3B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,QAI5D,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA,8BAE3B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA,8BAGxC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQ9D,YAAY;AAAA,0BACQ,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,eACrD,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,4BAE7B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA,4BAG1C,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA,4BAG1C,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAShE,YAAY;AAAA,eACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,QAI/C,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,UAK7C,YAAY;AAAA,mBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAM7C,YAAY;AAAA,qBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QASvD,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASrD,oBAAoB,OAAO;AAAA;AAAA;AAAA,QAGzB,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,4BAC/B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,OAAO,GAAG,CAAC;AAAA;AAAA,8BAErC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,UAI9D,YAAY;AAAA;AAAA,4BAEM,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAS9D,oBAAoB,UAAU;AAAA;AAAA;AAAA,QAG9B,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,QAKnD,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,8BAE7B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQhE,oBAAoB,QAAQ;AAAA;AAAA;AAAA,QAG5B,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,QAKnD,YAAY;AAAA,iBACH,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,8BAE7B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAajE,MAAM,2BAA2B,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOxC,MAAM,4BAAwB,yBAAO,OAAO;AAAA,EACjD,MAAM;AAAA,EACN,MAAM,iDAAgC,QAAQ;AAChD,CAAC;AAAA,0BACyB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA,cACpD,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,aAChC,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,WACjC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,OAAO,GAAG,CAAC;AAAA,eACnC,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,UAAU,GAAG,CAAC;AAAA;AAAA,sBAEtC,CAAC,EAAE,OAAO,gBAAgB,MAC5C,kBAAkB,MAAM,OAAO,QAAQ,KAAK,IAAI,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;",
6
6
  "names": []
7
7
  }
@@ -98,7 +98,7 @@ const HoursList = () => {
98
98
  innerRef: prevHourBtnRef,
99
99
  "data-testid": import_constants.ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR,
100
100
  "aria-disabled": readOnly || applyAriaDisabled,
101
- applyAriaDisabled,
101
+ applyAriaDisabled: applyAriaDisabled || readOnly,
102
102
  getOwnerProps: getProps,
103
103
  tabIndex: -1,
104
104
  type: "button",
@@ -120,7 +120,8 @@ const HoursList = () => {
120
120
  "aria-valuemin": 1,
121
121
  "aria-valuemax": 12,
122
122
  "aria-label": `${hourString} hours`,
123
- "aria-disabled": isNotAValidSelection || readOnly || applyAriaDisabled,
123
+ "aria-disabled": readOnly || applyAriaDisabled,
124
+ "aria-invalid": isNotAValidSelection,
124
125
  "aria-readonly": readOnly || applyAriaDisabled,
125
126
  onKeyDown: isTheItemVisuallyInTheCenter ? handleCurrHourOnKeyDown : void 0,
126
127
  innerRef: isTheItemVisuallyInTheCenter ? handleCurrYearRef : void 0
@@ -156,7 +157,7 @@ const HoursList = () => {
156
157
  tabIndex: -1,
157
158
  "data-testid": import_constants.ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR,
158
159
  "aria-disabled": readOnly || applyAriaDisabled,
159
- applyAriaDisabled,
160
+ applyAriaDisabled: applyAriaDisabled || readOnly,
160
161
  getOwnerProps: getProps,
161
162
  type: "button",
162
163
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronSmallDown, { color: arrowColor })