@oracle/oraclejet-preact 19.0.0 → 19.0.2
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.
- package/amd/ActionCard-eb924a00.js +1 -1
- package/amd/BarChart-8521c53a.js +2 -0
- package/amd/BarChart-8521c53a.js.map +1 -0
- package/amd/BareButton-7b68bbbf.js +2 -0
- package/amd/BareButton-7b68bbbf.js.map +1 -0
- package/amd/BaseButton-d69319ea.js +2 -0
- package/amd/BaseButton-d69319ea.js.map +1 -0
- package/amd/BaseCardView-bc694015.js +1 -1
- package/amd/BaseCardViewSelectionTest-4fae7370.js +2 -0
- package/amd/BaseCardViewSelectionTest-4fae7370.js.map +1 -0
- package/amd/BaseNavigationListItem-cb5c260b.js +1 -1
- package/amd/BaseRichSelection-7f20b3af.js +2 -0
- package/amd/BaseRichSelection-7f20b3af.js.map +1 -0
- package/amd/BaseSwatchView-4d204ce0.js +1 -1
- package/amd/BaseTabBarItem-cdec0e90.js +1 -1
- package/amd/Button-d6bbc57f.js +2 -0
- package/amd/Button-d6bbc57f.js.map +1 -0
- package/amd/ButtonSet-ce95318d.js +1 -1
- package/amd/ButtonSetButton-af5f14b6.js +2 -0
- package/amd/ButtonSetButton-af5f14b6.js.map +1 -0
- package/amd/ButtonSetIconButton-f3c6a05e.js +2 -0
- package/amd/ButtonSetIconButton-f3c6a05e.js.map +1 -0
- package/amd/ButtonSetItem-0f8f7660.js +2 -0
- package/amd/ButtonSetItem-0f8f7660.js.map +1 -0
- package/amd/Card-6e7189a3.js +2 -0
- package/amd/Card-6e7189a3.js.map +1 -0
- package/amd/Center-50b6397c.js +2 -0
- package/amd/Center-50b6397c.js.map +1 -0
- package/amd/Chart-061335fe.js +2 -0
- package/amd/Chart-061335fe.js.map +1 -0
- package/amd/Checkbox-8160d2e6.js +2 -0
- package/amd/Checkbox-8160d2e6.js.map +1 -0
- package/amd/CheckboxControl-c5240f9a.js +2 -0
- package/amd/CheckboxControl-c5240f9a.js.map +1 -0
- package/amd/CheckboxRadioField-18bf3cc2.js +2 -0
- package/amd/CheckboxRadioField-18bf3cc2.js.map +1 -0
- package/amd/CheckboxRadioLabelValueLayout-edb44215.js +2 -0
- package/amd/CheckboxRadioLabelValueLayout-edb44215.js.map +1 -0
- package/amd/CheckboxSet-678ea1d4.js +2 -0
- package/amd/CheckboxSet-678ea1d4.js.map +1 -0
- package/amd/CheckboxStyles.styles.css +6 -0
- package/amd/Chip-b62a8126.js +1 -1
- package/amd/ClearIcon-13bd61d3.js +2 -0
- package/amd/ClearIcon-13bd61d3.js.map +1 -0
- package/amd/CollapseIcon-8d26ba2a.js +1 -1
- package/amd/Collapsible-bf6945f6.js +1 -1
- package/amd/ColorPalette-b26f3861.js +2 -0
- package/amd/ColorPalette-b26f3861.js.map +1 -0
- package/amd/ColorPicker-d578df9c.js +2 -0
- package/amd/ColorPicker-d578df9c.js.map +1 -0
- package/amd/ColorSwatch-57d78771.js +2 -0
- package/amd/ColorSwatch-57d78771.js.map +1 -0
- package/amd/ComboChart-f3876b51.js +2 -0
- package/amd/ComboChart-f3876b51.js.map +1 -0
- package/amd/CompactHelpSource-103a8263.js +1 -1
- package/amd/CompactLabelAssistance-deb90940.js +2 -0
- package/amd/CompactLabelAssistance-deb90940.js.map +1 -0
- package/amd/CompactUserAssistance-5ef03b0a.js +2 -0
- package/amd/CompactUserAssistance-5ef03b0a.js.map +1 -0
- package/amd/ComponentMessageContainer-7d775a43.js +2 -0
- package/amd/ComponentMessageContainer-7d775a43.js.map +1 -0
- package/amd/ConveyorBelt-b9ab13cc.js +2 -0
- package/amd/ConveyorBelt-b9ab13cc.js.map +1 -0
- package/amd/DatePicker-a07542a8.js +2 -0
- package/amd/DatePicker-a07542a8.js.map +1 -0
- package/amd/DatePickerHeader-25b87f04.js +2 -0
- package/amd/DatePickerHeader-25b87f04.js.map +1 -0
- package/amd/Diagram-461719eb.js +2 -0
- package/amd/Diagram-461719eb.js.map +1 -0
- package/amd/Dialog-304ce274.js +2 -0
- package/amd/Dialog-304ce274.js.map +1 -0
- package/amd/DirectionalCollapseArrowIcon-6777ae07.js +1 -1
- package/amd/DirectionalExpandArrowIcon-21d0b1d5.js +1 -1
- package/amd/DragHandle-9d141cf3.js +2 -0
- package/amd/DragHandle-9d141cf3.js.map +1 -0
- package/amd/DrawerPopup-2b59d7f3.js +2 -0
- package/amd/DrawerPopup-2b59d7f3.js.map +1 -0
- package/amd/Dropdown-c119d072.js +2 -0
- package/amd/Dropdown-c119d072.js.map +1 -0
- package/amd/EmbeddedIconButton-23c53268.js +2 -0
- package/amd/EmbeddedIconButton-23c53268.js.map +1 -0
- package/amd/EnvironmentProvider-d538fcb2.js +2 -0
- package/amd/EnvironmentProvider-d538fcb2.js.map +1 -0
- package/amd/ExpandableList-08269646.js +2 -0
- package/amd/ExpandableList-08269646.js.map +1 -0
- package/amd/Expander-9efeb845.js +2 -0
- package/amd/Expander-9efeb845.js.map +1 -0
- package/amd/FilePicker-e5a20eaa.js +1 -1
- package/amd/FlatTreeView-6545afce.js +2 -0
- package/amd/FlatTreeView-6545afce.js.map +1 -0
- package/amd/Flex-07d2aa5b.js +2 -0
- package/amd/Flex-07d2aa5b.js.map +1 -0
- package/amd/Floating-8192acb2.js +2 -0
- package/amd/Floating-8192acb2.js.map +1 -0
- package/amd/FormLayout-ce4e956c.js +1 -1
- package/amd/Gantt-ad770490.js +2 -0
- package/amd/Gantt-ad770490.js.map +1 -0
- package/amd/Grid-d415ba8d.js +2 -0
- package/amd/Grid-d415ba8d.js.map +1 -0
- package/amd/Gridlines-c6c1fbb5.js +2 -0
- package/amd/Gridlines-c6c1fbb5.js.map +1 -0
- package/amd/GroupLoadingIndicator-87f32efc.js +1 -1
- package/amd/HighlightText-ecd2e5ce.js +2 -0
- package/amd/HighlightText-ecd2e5ce.js.map +1 -0
- package/amd/Icon-865b3c78.js +1 -1
- package/amd/IconButton-232d63fc.js +2 -0
- package/amd/IconButton-232d63fc.js.map +1 -0
- package/amd/IconMenuButton-eef4b2da.js +2 -0
- package/amd/IconMenuButton-eef4b2da.js.map +1 -0
- package/amd/IconProgressButton-f9cdb23a.js +2 -0
- package/amd/IconProgressButton-f9cdb23a.js.map +1 -0
- package/amd/IconSwitchButton-5be99684.js +2 -0
- package/amd/IconSwitchButton-5be99684.js.map +1 -0
- package/amd/IconToggleButton-b783604a.js +2 -0
- package/amd/IconToggleButton-b783604a.js.map +1 -0
- package/amd/IconUserAssistance-0c55d53f.js +2 -0
- package/amd/IconUserAssistance-0c55d53f.js.map +1 -0
- package/amd/Indexer-bbb763a7.js +1 -1
- package/amd/InlineHelpSource-34ec0779.js +1 -1
- package/amd/InlineSelectSingle-bebf92d3.js +2 -0
- package/amd/InlineSelectSingle-bebf92d3.js.map +1 -0
- package/amd/InlineUserAssistance-e406e352.js +2 -0
- package/amd/InlineUserAssistance-e406e352.js.map +1 -0
- package/amd/InputColor-192a309b.js +2 -0
- package/amd/InputColor-192a309b.js.map +1 -0
- package/amd/InputDateMask-2fdb6f26.js +2 -0
- package/amd/InputDateMask-2fdb6f26.js.map +1 -0
- package/amd/InputDatePicker-a1eea599.js +2 -0
- package/amd/InputDatePicker-a1eea599.js.map +1 -0
- package/amd/InputPassword-72147893.js +2 -0
- package/amd/InputPassword-72147893.js.map +1 -0
- package/amd/InputSensitiveText-28cebe14.js +2 -0
- package/amd/InputSensitiveText-28cebe14.js.map +1 -0
- package/amd/InputText-83b55089.js +2 -0
- package/amd/InputText-83b55089.js.map +1 -0
- package/amd/Label-3c17bcc9.js +2 -0
- package/amd/Label-3c17bcc9.js.map +1 -0
- package/amd/LabelValueLayout-39dc1be3.js +1 -1
- package/amd/Layer-c91c7141.js +2 -0
- package/amd/Layer-c91c7141.js.map +1 -0
- package/amd/LayerHost-daf96749.js +2 -0
- package/amd/LayerHost-daf96749.js.map +1 -0
- package/amd/LayerManager-8bad71b0.js +2 -0
- package/amd/LayerManager-8bad71b0.js.map +1 -0
- package/amd/Legend-a8e9f523.js +1 -1
- package/amd/LineAreaChart-07848f77.js +2 -0
- package/amd/LineAreaChart-07848f77.js.map +1 -0
- package/amd/Link-c772dbef.js +2 -0
- package/amd/Link-c772dbef.js.map +1 -0
- package/amd/LinkVariants.styles.css +2 -1
- package/amd/LinkVariants.styles2.css +2 -1
- package/amd/List-5b5b3bd7.js +1 -1
- package/amd/ListItemLayout-50d0c8fa.js +2 -0
- package/amd/ListItemLayout-50d0c8fa.js.map +1 -0
- package/amd/ListItemLayoutStyles.styles.css +13 -18
- package/amd/ListItemTextLayout-9667dc64.js +2 -0
- package/amd/ListItemTextLayout-9667dc64.js.map +1 -0
- package/amd/ListView-02b5ba6d.js +1 -1
- package/amd/LiveRegion-ef77cf92.js +2 -0
- package/amd/LiveRegion-ef77cf92.js.map +1 -0
- package/amd/MaxLengthLiveRegion-04832e9d.js +2 -0
- package/amd/MaxLengthLiveRegion-04832e9d.js.map +1 -0
- package/amd/Menu-45a26116.js +1 -1
- package/amd/MenuButton-0a9c6e8e.js +2 -0
- package/amd/MenuButton-0a9c6e8e.js.map +1 -0
- package/amd/MenuItem-ff1cd14d.js +1 -1
- package/amd/Message-d715942d.js +2 -0
- package/amd/Message-d715942d.js.map +1 -0
- package/amd/MessageLayer-5a8ba5af.js +2 -0
- package/amd/MessageLayer-5a8ba5af.js.map +1 -0
- package/amd/MessageToast-44f7b49d.js +2 -0
- package/amd/MessageToast-44f7b49d.js.map +1 -0
- package/amd/MessagesManager-1a6283c1.js +1 -1
- package/amd/MeterBar-e417440c.js +1 -1
- package/amd/MeterCircle-d2ac0a67.js +1 -1
- package/amd/Modal-1b3cd230.js +2 -0
- package/amd/Modal-1b3cd230.js.map +1 -0
- package/amd/MonthView-e2744696.js +2 -0
- package/amd/MonthView-e2744696.js.map +1 -0
- package/amd/NavigationListItem-73686e95.js +1 -1
- package/amd/NavigationListLinkItem-87d5ca3d.js +2 -0
- package/amd/NavigationListLinkItem-87d5ca3d.js.map +1 -0
- package/amd/NumberInputText-01c1859f.js +2 -0
- package/amd/NumberInputText-01c1859f.js.map +1 -0
- package/amd/OverflowTabBar-b43ccbc1.js +2 -0
- package/amd/OverflowTabBar-b43ccbc1.js.map +1 -0
- package/amd/OverflowTabBarItem-b75ebe9b.js +2 -0
- package/amd/OverflowTabBarItem-b75ebe9b.js.map +1 -0
- package/amd/PRIVATE_BaseCardView.js +1 -1
- package/amd/PRIVATE_BaseSwatchView.js +1 -1
- package/amd/PRIVATE_Chart.js +1 -1
- package/amd/PRIVATE_CheckboxControl.js +1 -1
- package/amd/PRIVATE_CheckboxRadioField.js +1 -1
- package/amd/PRIVATE_ClearIcon.js +1 -1
- package/amd/PRIVATE_ContainerDiagram.js +1 -1
- package/amd/PRIVATE_DatePickerHeader.js +1 -1
- package/amd/PRIVATE_DatePickerLayout.js +1 -1
- package/amd/PRIVATE_EmbeddedIconButton.js +1 -1
- package/amd/PRIVATE_Expander.js +1 -1
- package/amd/PRIVATE_FormControls.js +1 -1
- package/amd/PRIVATE_IconSwitchButton.js +1 -1
- package/amd/PRIVATE_Icons/CheckboxCrossed.js +1 -1
- package/amd/PRIVATE_Icons/CheckboxMixed.js +1 -1
- package/amd/PRIVATE_Icons/CheckboxOff.js +1 -1
- package/amd/PRIVATE_Icons/CheckboxOn.js +1 -1
- package/amd/PRIVATE_Icons/DragV.js +1 -1
- package/amd/PRIVATE_Icons/None.js +1 -1
- package/amd/PRIVATE_List.js +1 -1
- package/amd/PRIVATE_Message.js +1 -1
- package/amd/PRIVATE_MessageLayer.js +1 -1
- package/amd/PRIVATE_MonthView.js +1 -1
- package/amd/PRIVATE_MonthYearGridView.js +1 -1
- package/amd/PRIVATE_PlotArea.js +1 -1
- package/amd/PRIVATE_RevealToggleIcon.js +1 -1
- package/amd/PRIVATE_RichSelectionCommon.js +1 -1
- package/amd/PRIVATE_SelectCommon.js +1 -1
- package/amd/PRIVATE_StyledCard.js +1 -1
- package/amd/PRIVATE_StyledCheckbox.js +1 -1
- package/amd/PRIVATE_SwatchFlexView.js +1 -1
- package/amd/PRIVATE_Table.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CalendarIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ChartPanIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ChartZoomIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckboxCrossedIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckboxOffIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CheckboxOnIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CloseIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CollapseIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/CollapseUpIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DecrementIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DeleteIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DragHandleIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/DropdownArrowIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ExpandIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/HelpIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/IncrementIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MessageErrorIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MessageInfoIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MessageWarningIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/MinusIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/NavDownIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/None.js +1 -1
- package/amd/PRIVATE_ThemedIcons/OverviewHorizontalDragHandleIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/PlusIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/RadioOffIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/RadioOnIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/SortAscendingIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/SortDescendingIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ViewHideIcon.js +1 -1
- package/amd/PRIVATE_ThemedIcons/ViewIcon.js +1 -1
- package/amd/PRIVATE_TimeComponent.js +1 -1
- package/amd/PRIVATE_VisOverview.js +1 -1
- package/amd/PRIVATE_VisTabularDatatip.js +1 -1
- package/amd/PictoChart-34f56e1c.js +2 -0
- package/amd/PictoChart-34f56e1c.js.map +1 -0
- package/amd/PieChart-c934e8f0.js +1 -1
- package/amd/Popup-695781d6.js +2 -0
- package/amd/Popup-695781d6.js.map +1 -0
- package/amd/ProgressBar-70983add.js +2 -0
- package/amd/ProgressBar-70983add.js.map +1 -0
- package/amd/ProgressButton-e6a1d457.js +2 -0
- package/amd/ProgressButton-e6a1d457.js.map +1 -0
- package/amd/ProgressButtonLabelLayout-0931b1d5.js +1 -1
- package/amd/ProgressCircle-551b98ed.js +2 -0
- package/amd/ProgressCircle-551b98ed.js.map +1 -0
- package/amd/RadioItem-49626d64.js +2 -0
- package/amd/RadioItem-49626d64.js.map +1 -0
- package/amd/RadioSet-8b525038.js +2 -0
- package/amd/RadioSet-8b525038.js.map +1 -0
- package/amd/RatingGauge-e7a36731.js +1 -1
- package/amd/ReadonlyTextFieldInput-e5723c48.js +1 -1
- package/amd/RemovableTabBarItem-c7dd457b.js +2 -0
- package/amd/RemovableTabBarItem-c7dd457b.js.map +1 -0
- package/amd/ReorderableTabBar-5d664f67.js +1 -1
- package/amd/RevealToggleIcon-28c5efc5.js +2 -0
- package/amd/RevealToggleIcon-28c5efc5.js.map +1 -0
- package/amd/ScatterChart-292935ff.js +2 -0
- package/amd/ScatterChart-292935ff.js.map +1 -0
- package/amd/SectionalLegend-a37ee0ec.js +1 -1
- package/amd/SectionedContent-054e2fc2.js +2 -0
- package/amd/SectionedContent-054e2fc2.js.map +1 -0
- package/amd/SelectMobileFieldInput-3650e1fe.js +2 -0
- package/amd/SelectMobileFieldInput-3650e1fe.js.map +1 -0
- package/amd/SelectMultiple-8dce10da.js +2 -0
- package/amd/SelectMultiple-8dce10da.js.map +1 -0
- package/amd/SelectSingle-6d1f640f.js +2 -0
- package/amd/SelectSingle-6d1f640f.js.map +1 -0
- package/amd/SelectionCard-601660df.js +2 -0
- package/amd/SelectionCard-601660df.js.map +1 -0
- package/amd/Selector-470f114d.js +1 -1
- package/amd/SelectorAll-82589ce2.js +2 -0
- package/amd/SelectorAll-82589ce2.js.map +1 -0
- package/amd/Sheet-c7f3fe2d.js +2 -0
- package/amd/Sheet-c7f3fe2d.js.map +1 -0
- package/amd/SortControl-6d8e62c0.js +2 -0
- package/amd/SortControl-6d8e62c0.js.map +1 -0
- package/amd/SplitMenuButton-ba7fc113.js +2 -0
- package/amd/SplitMenuButton-ba7fc113.js.map +1 -0
- package/amd/StyledCard-8dbd5d58.js +2 -0
- package/amd/StyledCard-8dbd5d58.js.map +1 -0
- package/amd/StyledLabelValueLayout-5737d116.js +2 -0
- package/amd/StyledLabelValueLayout-5737d116.js.map +1 -0
- package/amd/StyledTextField-5e554e5b.js +1 -1
- package/amd/Submenu-d0c548f0.js +1 -1
- package/amd/TabBar-fa06f492.js +1 -1
- package/amd/TabBarContextMenu-cad0a362.js +1 -1
- package/amd/TabBarLayout-9f802535.js +1 -1
- package/amd/TabBarMixed-2d5bc172.js +1 -1
- package/amd/TabBarMixedSeparator-07022bdc.js +2 -0
- package/amd/TabBarMixedSeparator-07022bdc.js.map +1 -0
- package/amd/Table-d0cc2468.js +2 -0
- package/amd/Table-d0cc2468.js.map +1 -0
- package/amd/TableView-610de105.js +2 -0
- package/amd/TableView-610de105.js.map +1 -0
- package/amd/TagCloud-ccd75f37.js +2 -0
- package/amd/TagCloud-ccd75f37.js.map +1 -0
- package/amd/TextArea-ddd1d6b9.js +2 -0
- package/amd/TextArea-ddd1d6b9.js.map +1 -0
- package/amd/TextAreaAutosize-3cf8e06c.js +2 -0
- package/amd/TextAreaAutosize-3cf8e06c.js.map +1 -0
- package/amd/TextField-51b63f5f.js +1 -1
- package/amd/TextFieldInput-eb40adaa.js +1 -1
- package/amd/Theme-redwood/theme.css +105 -105
- package/amd/Theme-stable/theme.css +214 -214
- package/amd/TimeComponentCanvas2D-02d13a18.js +2 -0
- package/amd/TimeComponentCanvas2D-02d13a18.js.map +1 -0
- package/amd/ToggleButton-9201e07b.js +2 -0
- package/amd/ToggleButton-9201e07b.js.map +1 -0
- package/amd/Toolbar-4b2c5d5e.js +1 -1
- package/amd/TruncatingBadge-2d00ef48.js +1 -1
- package/amd/TruncatingText-459021db.js +1 -1
- package/amd/UNSAFE_ActionCard.js +1 -1
- package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
- package/amd/UNSAFE_BarChart.js +1 -1
- package/amd/UNSAFE_BareButton.js +1 -1
- package/amd/UNSAFE_BaseButton.js +1 -1
- package/amd/UNSAFE_Button.js +1 -1
- package/amd/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +1 -1
- package/amd/UNSAFE_ButtonSet.js +1 -1
- package/amd/UNSAFE_ButtonSetButton.js +1 -1
- package/amd/UNSAFE_ButtonSetIconButton.js +1 -1
- package/amd/UNSAFE_ButtonSetItem.js +1 -1
- package/amd/UNSAFE_ButtonSetMultiple.js +1 -1
- package/amd/UNSAFE_ButtonSetSingle.js +1 -1
- package/amd/UNSAFE_Card.js +1 -1
- package/amd/UNSAFE_CardFlexView.js +1 -1
- package/amd/UNSAFE_CardGridView.js +1 -1
- package/amd/UNSAFE_Center.js +1 -1
- package/amd/UNSAFE_Checkbox/themes/CheckboxStyles.css.js +1 -1
- package/amd/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js +1 -1
- package/amd/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js.map +1 -1
- package/amd/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js +1 -1
- package/amd/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js +1 -1
- package/amd/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js.map +1 -1
- package/amd/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js +1 -1
- package/amd/UNSAFE_Checkbox.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js.map +1 -1
- package/amd/UNSAFE_CheckboxRadioField.js +1 -1
- package/amd/UNSAFE_CheckboxSet.js +1 -1
- package/amd/UNSAFE_Chip.js +1 -1
- package/amd/UNSAFE_Collapsible.js +1 -1
- package/amd/UNSAFE_ColorPalette.js +1 -1
- package/amd/UNSAFE_ColorPicker.js +1 -1
- package/amd/UNSAFE_ColorSwatch.js +1 -1
- package/amd/UNSAFE_ComboChart.js +1 -1
- package/amd/UNSAFE_ComponentMessage.js +1 -1
- package/amd/UNSAFE_ConveyorBelt.js +1 -1
- package/amd/UNSAFE_DatePicker.js +1 -1
- package/amd/UNSAFE_Diagram.js +1 -1
- package/amd/UNSAFE_Dialog.js +1 -1
- package/amd/UNSAFE_DragHandle.js +1 -1
- package/amd/UNSAFE_DrawerLayout.js +1 -1
- package/amd/UNSAFE_DrawerPopup.js +1 -1
- package/amd/UNSAFE_Dropdown.js +1 -1
- package/amd/UNSAFE_Environment.js +1 -1
- package/amd/UNSAFE_ExpandableList.js +1 -1
- package/amd/UNSAFE_FilePicker.js +1 -1
- package/amd/UNSAFE_FlatTreeView.js +1 -1
- package/amd/UNSAFE_Flex.js +1 -1
- package/amd/UNSAFE_Floating.js +1 -1
- package/amd/UNSAFE_FormLayout.js +1 -1
- package/amd/UNSAFE_Gantt.js +1 -1
- package/amd/UNSAFE_Grid.js +1 -1
- package/amd/UNSAFE_HighlightText.js +1 -1
- package/amd/UNSAFE_Icon.js +1 -1
- package/amd/UNSAFE_IconButton.js +1 -1
- package/amd/UNSAFE_IconMenuButton.js +1 -1
- package/amd/UNSAFE_IconProgressButton.js +1 -1
- package/amd/UNSAFE_IconToggleButton.js +1 -1
- package/amd/UNSAFE_Indexer.js +1 -1
- package/amd/UNSAFE_InlineSelectSingle.js +1 -1
- package/amd/UNSAFE_InputColor.js +1 -1
- package/amd/UNSAFE_InputDateMask.js +1 -1
- package/amd/UNSAFE_InputDatePicker.js +1 -1
- package/amd/UNSAFE_InputPassword.js +1 -1
- package/amd/UNSAFE_InputSensitiveText.js +1 -1
- package/amd/UNSAFE_InputText.js +1 -1
- package/amd/UNSAFE_InputTimeMask.js +1 -1
- package/amd/UNSAFE_Label.js +1 -1
- package/amd/UNSAFE_LabelValueLayout.js +1 -1
- package/amd/UNSAFE_LabelledLink.js +1 -1
- package/amd/UNSAFE_Layer.js +1 -1
- package/amd/UNSAFE_Legend.js +1 -1
- package/amd/UNSAFE_LineAreaChart.js +1 -1
- package/amd/UNSAFE_Link/themes/LinkStyles.css.js +1 -1
- package/amd/UNSAFE_Link.js +1 -1
- package/amd/UNSAFE_ListItemLayout/themes/ListItemLayoutStyles.css.js +1 -1
- package/amd/UNSAFE_ListItemLayout.js +1 -1
- package/amd/UNSAFE_ListView.js +1 -1
- package/amd/UNSAFE_LiveRegion.js +1 -1
- package/amd/UNSAFE_Menu.js +1 -1
- package/amd/UNSAFE_MenuButton.js +1 -1
- package/amd/UNSAFE_MessageBanner.js +1 -1
- package/amd/UNSAFE_MessageToast.js +1 -1
- package/amd/UNSAFE_MeterBar.js +1 -1
- package/amd/UNSAFE_MeterCircle.js +1 -1
- package/amd/UNSAFE_Modal.js +1 -1
- package/amd/UNSAFE_NavigationList.js +1 -1
- package/amd/UNSAFE_NavigationListCommon.js +1 -1
- package/amd/UNSAFE_NumberInputText.js +1 -1
- package/amd/UNSAFE_OverflowTabBar.js +1 -1
- package/amd/UNSAFE_PictoChart.js +1 -1
- package/amd/UNSAFE_PieChart/__test__/PieChart.spec.js +1 -1
- package/amd/UNSAFE_PieChart.js +1 -1
- package/amd/UNSAFE_Popup.js +1 -1
- package/amd/UNSAFE_ProgressBar.js +1 -1
- package/amd/UNSAFE_ProgressButton.js +1 -1
- package/amd/UNSAFE_ProgressButtonLabelLayout.js +1 -1
- package/amd/UNSAFE_ProgressCircle.js +1 -1
- package/amd/UNSAFE_RadioItem.js +1 -1
- package/amd/UNSAFE_RadioSet.js +1 -1
- package/amd/UNSAFE_RatingGauge.js +1 -1
- package/amd/UNSAFE_ReorderableTabBar.js +1 -1
- package/amd/UNSAFE_RichCheckboxSet.js +1 -1
- package/amd/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/amd/UNSAFE_RichRadioSet.js +1 -1
- package/amd/UNSAFE_RichRadioSet.js.map +1 -1
- package/amd/UNSAFE_RichSelectionItem.js +1 -1
- package/amd/UNSAFE_RichSelectionItem.js.map +1 -1
- package/amd/UNSAFE_ScatterChart.js +1 -1
- package/amd/UNSAFE_SectionalLegend.js +1 -1
- package/amd/UNSAFE_SelectMultiple.js +1 -1
- package/amd/UNSAFE_SelectSingle.js +1 -1
- package/amd/UNSAFE_SelectionCard.js +1 -1
- package/amd/UNSAFE_Selector.js +1 -1
- package/amd/UNSAFE_SelectorAll.js +1 -1
- package/amd/UNSAFE_Sheet/__test__/Sheet.spec.js +1 -1
- package/amd/UNSAFE_Sheet.js +1 -1
- package/amd/UNSAFE_SortControl.js +1 -1
- package/amd/UNSAFE_SplitMenuButton.js +1 -1
- package/amd/UNSAFE_TabBar.js +1 -1
- package/amd/UNSAFE_TabBarCommon.js +1 -1
- package/amd/UNSAFE_TabBarMixed.js +1 -1
- package/amd/UNSAFE_TableView.js +1 -1
- package/amd/UNSAFE_TagCloud.js +1 -1
- package/amd/UNSAFE_TextArea.js +1 -1
- package/amd/UNSAFE_TextAreaAutosize.js +1 -1
- package/amd/UNSAFE_TextField.js +1 -1
- package/amd/UNSAFE_ToggleButton.js +1 -1
- package/amd/UNSAFE_Toolbar/tests/Toolbar.spec.js +1 -1
- package/amd/UNSAFE_Toolbar.js +1 -1
- package/amd/UNSAFE_Train.js +1 -1
- package/amd/UNSAFE_TruncatingBadge.js +1 -1
- package/amd/UNSAFE_TruncatingText.js +1 -1
- package/amd/UNSAFE_UserAssistance.js +1 -1
- package/amd/UNSAFE_View.js +1 -1
- package/amd/UNSAFE_VirtualizedListView.js +1 -1
- package/amd/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +1 -1
- package/amd/UNSAFE_VisProgressiveLoader.js +1 -1
- package/amd/UNSAFE_VisStatusMessage.js +1 -1
- package/amd/UNSAFE_WindowOverlay.js +1 -1
- package/amd/View-ab4d3a33.js +2 -0
- package/amd/View-ab4d3a33.js.map +1 -0
- package/amd/VisNoData-adbb8750.js +2 -0
- package/amd/VisNoData-adbb8750.js.map +1 -0
- package/amd/VisProgressiveLoader-e5f7abe1.js +2 -0
- package/amd/VisProgressiveLoader-e5f7abe1.js.map +1 -0
- package/amd/VisTabularDatatip-e95bbf79.js +2 -0
- package/amd/VisTabularDatatip-e95bbf79.js.map +1 -0
- package/amd/WindowOverlay-69da5337.js +2 -0
- package/amd/WindowOverlay-69da5337.js.map +1 -0
- package/amd/YearsGridView-855ba9af.js +2 -0
- package/amd/YearsGridView-855ba9af.js.map +1 -0
- package/amd/hoc/PRIVATE_withDirectionIcon.js +1 -1
- package/amd/hoc/PRIVATE_withThemeIcon.js +1 -1
- package/amd/hoc/UNSAFE_withThemeProps.js +1 -1
- package/amd/hooks/PRIVATE_useChartContextMenu.js +1 -1
- package/amd/hooks/PRIVATE_useChartDatatip.js +1 -1
- package/amd/hooks/PRIVATE_useChartEvents.js +1 -1
- package/amd/hooks/PRIVATE_useChartMarquee.js +1 -1
- package/amd/hooks/PRIVATE_useCssVars.js +1 -1
- package/amd/hooks/PRIVATE_useCurrentKey.js +1 -1
- package/amd/hooks/PRIVATE_useDatatip.js +1 -1
- package/amd/hooks/PRIVATE_useFloating.js +1 -1
- package/amd/hooks/PRIVATE_useListCommon.js +1 -1
- package/amd/hooks/PRIVATE_useOutsideMousedown.js +1 -1
- package/amd/hooks/PRIVATE_useReorderable.js +1 -1
- package/amd/hooks/PRIVATE_useRovingTabIndexContainer.js +1 -1
- package/amd/hooks/PRIVATE_useSelection.js +1 -1
- package/amd/hooks/PRIVATE_useTabBar.js +1 -1
- package/amd/hooks/PRIVATE_useTooltipOnTruncation.js +1 -1
- package/amd/hooks/PRIVATE_useVisContextMenu.js +1 -1
- package/amd/hooks/PRIVATE_useVisDragModeControls.js +1 -1
- package/amd/hooks/PRIVATE_useVisEvents.js +1 -1
- package/amd/hooks/PRIVATE_useVisMeterEvents.js +1 -1
- package/amd/hooks/PRIVATE_useVisSelection.js +1 -1
- package/amd/hooks/UNSAFE_useBareButton.js +1 -1
- package/amd/hooks/UNSAFE_useColorScheme.js +1 -1
- package/amd/hooks/UNSAFE_useCurrentBgColor.js +1 -1
- package/amd/hooks/UNSAFE_useDensity.js +1 -1
- package/amd/hooks/UNSAFE_useHiddenTestMethod.js +1 -1
- package/amd/hooks/UNSAFE_useOutsideClick.js +1 -1
- package/amd/hooks/UNSAFE_usePrefixSuffix.js +1 -1
- package/amd/hooks/UNSAFE_usePressClick.js +1 -1
- package/amd/hooks/UNSAFE_useScale.js +1 -1
- package/amd/hooks/UNSAFE_useTestId.js +1 -1
- package/amd/hooks/UNSAFE_useTheme.js +1 -1
- package/amd/hooks/UNSAFE_useThemeInterpolations.js +1 -1
- package/amd/hooks/UNSAFE_useTooltip.js +1 -1
- package/amd/hooks/UNSAFE_useTranslationBundle.js +1 -1
- package/amd/hooks/UNSAFE_useUser.js +1 -1
- package/amd/index-c11efa38.js +2 -0
- package/amd/index-c11efa38.js.map +1 -0
- package/amd/listViewSelectionTests-a58ee4c0.js +1 -1
- package/amd/popupUtils-019ff48f.js +2 -0
- package/amd/popupUtils-019ff48f.js.map +1 -0
- package/amd/render-7cdd2fd1.js +2 -0
- package/amd/render-7cdd2fd1.js.map +1 -0
- package/amd/tabbableUtils-b1a61a1b.js +2 -0
- package/amd/tabbableUtils-b1a61a1b.js.map +1 -0
- package/amd/testData-c9985c4d.js +2 -0
- package/amd/testData-c9985c4d.js.map +1 -0
- package/amd/tooltipUtils-ae57629b.js +2 -0
- package/amd/tooltipUtils-ae57629b.js.map +1 -0
- package/amd/useBareButton-3f7e0c0c.js +2 -0
- package/amd/useBareButton-3f7e0c0c.js.map +1 -0
- package/amd/useCellNavigation-43a992b6.js +2 -0
- package/amd/useCellNavigation-43a992b6.js.map +1 -0
- package/amd/useChartContextMenu-59688a67.js +1 -1
- package/amd/useChartDatatip-7beb4b24.js +2 -0
- package/amd/useChartDatatip-7beb4b24.js.map +1 -0
- package/amd/useChartMarquee-33a329da.js +2 -0
- package/amd/useChartMarquee-33a329da.js.map +1 -0
- package/amd/useColorScheme-3022ec9a.js +2 -0
- package/amd/useColorScheme-3022ec9a.js.map +1 -0
- package/amd/useContextMenu-4bd1c23a.js +1 -1
- package/amd/useCssVars-5b3bc31e.js +2 -0
- package/amd/useCssVars-5b3bc31e.js.map +1 -0
- package/amd/useCurrentBgColor-11b82a49.js +2 -0
- package/amd/useCurrentBgColor-11b82a49.js.map +1 -0
- package/amd/useCurrentKey-8e979c7a.js +2 -0
- package/amd/useCurrentKey-8e979c7a.js.map +1 -0
- package/amd/useDatatip-be0adcf0.js +2 -0
- package/amd/useDatatip-be0adcf0.js.map +1 -0
- package/amd/useDensity-cb21e58e.js +2 -0
- package/amd/useDensity-cb21e58e.js.map +1 -0
- package/amd/useDisplayValue-fa0fbc23.js +2 -0
- package/amd/useDisplayValue-fa0fbc23.js.map +1 -0
- package/amd/useExpandCollapse-99ff9bec.js +2 -0
- package/amd/useExpandCollapse-99ff9bec.js.map +1 -0
- package/amd/useFloating-25daefd7.js +2 -0
- package/amd/useFloating-25daefd7.js.map +1 -0
- package/amd/useHiddenTestMethod-90b5bff5.js +2 -0
- package/amd/useHiddenTestMethod-90b5bff5.js.map +1 -0
- package/amd/useKeyboardEvents-e4599671.js +2 -0
- package/amd/useKeyboardEvents-e4599671.js.map +1 -0
- package/amd/useLegendContextMenu-acabb503.js +1 -1
- package/amd/useMeterDatatip-934d034d.js +2 -0
- package/amd/useMeterDatatip-934d034d.js.map +1 -0
- package/amd/useNavigation-a6a2218f.js +1 -1
- package/amd/useOutsideClick-1b59c507.js +2 -0
- package/amd/useOutsideClick-1b59c507.js.map +1 -0
- package/amd/useOutsideMousedown-ce3f7207.js +2 -0
- package/amd/useOutsideMousedown-ce3f7207.js.map +1 -0
- package/amd/usePopupAnimation-f8e212f7.js +2 -0
- package/amd/usePopupAnimation-f8e212f7.js.map +1 -0
- package/amd/usePrefixSuffix-b26030fe.js +2 -0
- package/amd/usePrefixSuffix-b26030fe.js.map +1 -0
- package/amd/usePressClick-b5bf4243.js +2 -0
- package/amd/usePressClick-b5bf4243.js.map +1 -0
- package/amd/useReorderableItem-13c24764.js +2 -0
- package/amd/useReorderableItem-13c24764.js.map +1 -0
- package/amd/useRovingTabIndexContainer-be2d51cf.js +2 -0
- package/amd/useRovingTabIndexContainer-be2d51cf.js.map +1 -0
- package/amd/useScale-fa445112.js +2 -0
- package/amd/useScale-fa445112.js.map +1 -0
- package/amd/useSelectCommon-f04454d2.js +1 -1
- package/amd/useSelectDrill-3b31318e.js +2 -0
- package/amd/useSelectDrill-3b31318e.js.map +1 -0
- package/amd/useSelection-7638353f.js +2 -0
- package/amd/useSelection-7638353f.js.map +1 -0
- package/amd/useSelection-d2a32b37.js +2 -0
- package/amd/useSelection-d2a32b37.js.map +1 -0
- package/amd/useTabBar-ce36c510.js +1 -1
- package/amd/useTestId-9afc201a.js +2 -0
- package/amd/useTestId-9afc201a.js.map +1 -0
- package/amd/useTheme-0ee6fb01.js +2 -0
- package/amd/useTheme-0ee6fb01.js.map +1 -0
- package/amd/useThemeInterpolations-14ffb628.js +2 -0
- package/amd/useThemeInterpolations-14ffb628.js.map +1 -0
- package/amd/useTooltip-75a63697.js +2 -0
- package/amd/useTooltip-75a63697.js.map +1 -0
- package/amd/useTooltipControlled-558b2a13.js +2 -0
- package/amd/useTooltipControlled-558b2a13.js.map +1 -0
- package/amd/useTooltipOnTruncation-7c9b6e6b.js +2 -0
- package/amd/useTooltipOnTruncation-7c9b6e6b.js.map +1 -0
- package/amd/useTranslationBundle-8e42d505.js +2 -0
- package/amd/useTranslationBundle-8e42d505.js.map +1 -0
- package/amd/useUser-12ec03f1.js +2 -0
- package/amd/useUser-12ec03f1.js.map +1 -0
- package/amd/useVisDragModeControls-4fcf2261.js +2 -0
- package/amd/useVisDragModeControls-4fcf2261.js.map +1 -0
- package/amd/useVisEvents-e7b8669b.js +2 -0
- package/amd/useVisEvents-e7b8669b.js.map +1 -0
- package/amd/utils/PRIVATE_tooltipUtils.js +1 -1
- package/amd/utils/PRIVATE_visTestUtils.js +1 -1
- package/amd/utils/UNSAFE_popupUtils.js +1 -1
- package/amd/withDirectionIcon-170ce869.js +2 -0
- package/amd/withDirectionIcon-170ce869.js.map +1 -0
- package/amd/withThemeProps-0ef51fd1.js +1 -1
- package/cjs/BareButton-5a989b01.js +36 -0
- package/cjs/BareButton-5a989b01.js.map +1 -0
- package/cjs/BaseButton-acda944a.js +85 -0
- package/cjs/BaseButton-acda944a.js.map +1 -0
- package/cjs/BaseRichSelection-9b1ada4d.js +345 -0
- package/cjs/BaseRichSelection-9b1ada4d.js.map +1 -0
- package/cjs/Button-170bea0b.js +24 -0
- package/cjs/Button-170bea0b.js.map +1 -0
- package/cjs/ButtonSetButton-97ceb927.js +35 -0
- package/cjs/ButtonSetButton-97ceb927.js.map +1 -0
- package/cjs/ButtonSetIconButton-5bad7aa5.js +40 -0
- package/cjs/ButtonSetIconButton-5bad7aa5.js.map +1 -0
- package/cjs/ButtonSetItem-9a4b42a1.js +67 -0
- package/cjs/ButtonSetItem-9a4b42a1.js.map +1 -0
- package/cjs/Chart-55c4cd8f.js +617 -0
- package/cjs/Chart-55c4cd8f.js.map +1 -0
- package/cjs/CheckboxControl-45f11f7e.js +117 -0
- package/cjs/CheckboxControl-45f11f7e.js.map +1 -0
- package/cjs/CheckboxRadioField-c707f81f.js +111 -0
- package/cjs/CheckboxRadioField-c707f81f.js.map +1 -0
- package/cjs/CheckboxRadioLabelValueLayout-e9110e5f.js +84 -0
- package/cjs/CheckboxRadioLabelValueLayout-e9110e5f.js.map +1 -0
- package/cjs/CheckboxSet-ee5f6850.js +53 -0
- package/cjs/CheckboxSet-ee5f6850.js.map +1 -0
- package/cjs/CheckboxStyles.styles.css +6 -0
- package/cjs/ClearIcon-d2d959a1.js +23 -0
- package/cjs/ClearIcon-d2d959a1.js.map +1 -0
- package/cjs/ColorPalette-ea5e1bed.js +83 -0
- package/cjs/ColorPalette-ea5e1bed.js.map +1 -0
- package/cjs/ColorPicker-30ee6033.js +25 -0
- package/cjs/ColorPicker-30ee6033.js.map +1 -0
- package/cjs/ColorSwatch-590183e3.js +129 -0
- package/cjs/ColorSwatch-590183e3.js.map +1 -0
- package/cjs/CompactUserAssistance-58a6899d.js +49 -0
- package/cjs/CompactUserAssistance-58a6899d.js.map +1 -0
- package/cjs/ComponentMessageContainer-1b9e8036.js +84 -0
- package/cjs/ComponentMessageContainer-1b9e8036.js.map +1 -0
- package/cjs/DatePicker-0e143849.js +601 -0
- package/cjs/DatePicker-0e143849.js.map +1 -0
- package/cjs/DatePickerHeader-305234ff.js +47 -0
- package/cjs/DatePickerHeader-305234ff.js.map +1 -0
- package/cjs/Dialog-152ab89d.js +363 -0
- package/cjs/Dialog-152ab89d.js.map +1 -0
- package/cjs/EmbeddedIconButton-88b1a5cd.js +13 -0
- package/cjs/EmbeddedIconButton-88b1a5cd.js.map +1 -0
- package/cjs/Expander-96ce2888.js +31 -0
- package/cjs/Expander-96ce2888.js.map +1 -0
- package/cjs/IconButton-7ebfcb64.js +38 -0
- package/cjs/IconButton-7ebfcb64.js.map +1 -0
- package/cjs/IconSwitchButton-84e07848.js +44 -0
- package/cjs/IconSwitchButton-84e07848.js.map +1 -0
- package/cjs/IconToggleButton-5cb32026.js +43 -0
- package/cjs/IconToggleButton-5cb32026.js.map +1 -0
- package/cjs/InlineUserAssistance-74680664.js +85 -0
- package/cjs/InlineUserAssistance-74680664.js.map +1 -0
- package/cjs/InputDateMask-8a4b2660.js +1142 -0
- package/cjs/InputDateMask-8a4b2660.js.map +1 -0
- package/cjs/Label-670472a7.js +158 -0
- package/cjs/Label-670472a7.js.map +1 -0
- package/cjs/Link-33dcecc2.js +35 -0
- package/cjs/Link-33dcecc2.js.map +1 -0
- package/cjs/LinkVariants.styles.css +2 -1
- package/cjs/LinkVariants.styles2.css +2 -1
- package/cjs/ListItemLayoutStyles.styles.css +13 -18
- package/cjs/Message-4dfcf417.js +208 -0
- package/cjs/Message-4dfcf417.js.map +1 -0
- package/cjs/MonthView-cd65e44a.js +210 -0
- package/cjs/MonthView-cd65e44a.js.map +1 -0
- package/cjs/NavigationListItem-24abe2ab.js +302 -0
- package/cjs/NavigationListItem-24abe2ab.js.map +1 -0
- package/cjs/NavigationListLinkItem-35f33123.js +170 -0
- package/cjs/NavigationListLinkItem-35f33123.js.map +1 -0
- package/cjs/NumberInputText-565c84b9.js +230 -0
- package/cjs/NumberInputText-565c84b9.js.map +1 -0
- package/cjs/OverflowTabBarItem-c8809159.js +268 -0
- package/cjs/OverflowTabBarItem-c8809159.js.map +1 -0
- package/cjs/PRIVATE_Chart.js +13 -13
- package/cjs/PRIVATE_CheckboxControl.js +7 -6
- package/cjs/PRIVATE_CheckboxControl.js.map +1 -1
- package/cjs/PRIVATE_CheckboxRadioField.js +11 -10
- package/cjs/PRIVATE_CheckboxRadioField.js.map +1 -1
- package/cjs/PRIVATE_ClearIcon.js +6 -6
- package/cjs/PRIVATE_ContainerDiagram.js +10 -10
- package/cjs/PRIVATE_DatePickerHeader.js +7 -7
- package/cjs/PRIVATE_EmbeddedIconButton.js +5 -5
- package/cjs/PRIVATE_Expander.js +6 -6
- package/cjs/PRIVATE_IconSwitchButton.js +5 -5
- package/cjs/PRIVATE_Message.js +6 -6
- package/cjs/PRIVATE_MonthView.js +2 -2
- package/cjs/PRIVATE_MonthYearGridView.js +2 -2
- package/cjs/PRIVATE_RevealToggleIcon.js +6 -6
- package/cjs/PRIVATE_RichSelectionCommon.js +10 -9
- package/cjs/PRIVATE_RichSelectionCommon.js.map +1 -1
- package/cjs/PRIVATE_SelectCommon.js +9 -9
- package/cjs/PRIVATE_Table.js +15 -15
- package/cjs/PRIVATE_TimeComponent.js +5 -5
- package/cjs/RevealToggleIcon-98b44cc6.js +28 -0
- package/cjs/RevealToggleIcon-98b44cc6.js.map +1 -0
- package/cjs/SelectMobileFieldInput-33427c18.js +246 -0
- package/cjs/SelectMobileFieldInput-33427c18.js.map +1 -0
- package/cjs/SortControl-7be650eb.js +35 -0
- package/cjs/SortControl-7be650eb.js.map +1 -0
- package/cjs/TabBarLinkItem-4e4f8da0.js +15 -0
- package/cjs/TabBarLinkItem-4e4f8da0.js.map +1 -0
- package/cjs/Table-0bca32d4.js +6069 -0
- package/cjs/Table-0bca32d4.js.map +1 -0
- package/cjs/Theme-redwood/theme.css +153 -153
- package/cjs/Theme-stable/theme.css +178 -178
- package/cjs/TimeComponentCanvas2D-471abe04.js +591 -0
- package/cjs/TimeComponentCanvas2D-471abe04.js.map +1 -0
- package/cjs/ToggleButton-14cd62ef.js +30 -0
- package/cjs/ToggleButton-14cd62ef.js.map +1 -0
- package/cjs/UNSAFE_BarChart.js +13 -13
- package/cjs/UNSAFE_BareButton.js +3 -3
- package/cjs/UNSAFE_BaseButton.js +4 -4
- package/cjs/UNSAFE_Button.js +5 -5
- package/cjs/UNSAFE_ButtonSetButton.js +5 -5
- package/cjs/UNSAFE_ButtonSetIconButton.js +5 -5
- package/cjs/UNSAFE_ButtonSetItem.js +7 -7
- package/cjs/UNSAFE_Checkbox/themes/CheckboxStyles.css.js +1 -0
- package/cjs/UNSAFE_Checkbox/themes/CheckboxStyles.css.js.map +1 -1
- package/cjs/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js +1 -0
- package/cjs/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js.map +1 -1
- package/cjs/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js +1 -0
- package/cjs/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js.map +1 -1
- package/cjs/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js +1 -0
- package/cjs/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js.map +1 -1
- package/cjs/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js +1 -0
- package/cjs/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js.map +1 -1
- package/cjs/UNSAFE_Checkbox.js +9 -8
- package/cjs/UNSAFE_Checkbox.js.map +1 -1
- package/cjs/UNSAFE_CheckboxItem.js +13 -12
- package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
- package/cjs/UNSAFE_CheckboxRadioField.js +2 -1
- package/cjs/UNSAFE_CheckboxRadioField.js.map +1 -1
- package/cjs/UNSAFE_CheckboxSet.js +12 -11
- package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_ColorPalette.js +69 -69
- package/cjs/UNSAFE_ColorPicker.js +44 -44
- package/cjs/UNSAFE_ColorSwatch.js +6 -6
- package/cjs/UNSAFE_ComboChart.js +13 -13
- package/cjs/UNSAFE_ComponentMessage.js +6 -6
- package/cjs/UNSAFE_ConveyorBelt.js +4 -4
- package/cjs/UNSAFE_DatePicker.js +12 -12
- package/cjs/UNSAFE_Diagram.js +10 -10
- package/cjs/UNSAFE_Dialog.js +6 -6
- package/cjs/UNSAFE_ExpandableList.js +5 -5
- package/cjs/UNSAFE_FlatTreeView.js +6 -6
- package/cjs/UNSAFE_Gantt.js +6 -6
- package/cjs/UNSAFE_IconButton.js +5 -5
- package/cjs/UNSAFE_IconMenuButton.js +4 -4
- package/cjs/UNSAFE_IconProgressButton.js +4 -4
- package/cjs/UNSAFE_IconToggleButton.js +5 -5
- package/cjs/UNSAFE_InlineSelectSingle.js +9 -9
- package/cjs/UNSAFE_InputColor.js +21 -21
- package/cjs/UNSAFE_InputDateMask.js +10 -10
- package/cjs/UNSAFE_InputDatePicker.js +105 -105
- package/cjs/UNSAFE_InputDatePicker.js.map +1 -1
- package/cjs/UNSAFE_InputPassword.js +12 -12
- package/cjs/UNSAFE_InputSensitiveText.js +12 -12
- package/cjs/UNSAFE_InputText.js +10 -10
- package/cjs/UNSAFE_InputTimeMask.js +9 -9
- package/cjs/UNSAFE_Label.js +6 -6
- package/cjs/UNSAFE_LabelledLink.js +9 -9
- package/cjs/UNSAFE_LineAreaChart.js +13 -13
- package/cjs/UNSAFE_Link/themes/LinkStyles.css.js +1 -1
- package/cjs/UNSAFE_Link.js +2 -2
- package/cjs/UNSAFE_ListItemLayout/themes/ListItemLayoutStyles.css.js +1 -1
- package/cjs/UNSAFE_ListItemLayout.js +2 -2
- package/cjs/UNSAFE_ListItemLayout.js.map +1 -1
- package/cjs/UNSAFE_MenuButton.js +4 -4
- package/cjs/UNSAFE_MessageBanner.js +6 -6
- package/cjs/UNSAFE_MessageToast.js +6 -6
- package/cjs/UNSAFE_NavigationList.js +7 -7
- package/cjs/UNSAFE_NavigationListCommon.js +6 -6
- package/cjs/UNSAFE_NumberInputText.js +10 -10
- package/cjs/UNSAFE_OverflowTabBar.js +9 -9
- package/cjs/UNSAFE_PictoChart.js +5 -5
- package/cjs/UNSAFE_ProgressButton.js +4 -4
- package/cjs/UNSAFE_RadioItem.js +5 -5
- package/cjs/UNSAFE_RadioSet.js +11 -10
- package/cjs/UNSAFE_RadioSet.js.map +1 -1
- package/cjs/UNSAFE_RichCheckboxSet.js +13 -12
- package/cjs/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_RichRadioSet.js +10 -9
- package/cjs/UNSAFE_RichRadioSet.js.map +1 -1
- package/cjs/UNSAFE_RichSelectionItem.js +12 -11
- package/cjs/UNSAFE_RichSelectionItem.js.map +1 -1
- package/cjs/UNSAFE_ScatterChart.js +13 -13
- package/cjs/UNSAFE_SelectMultiple.js +12 -12
- package/cjs/UNSAFE_SelectSingle.js +12 -12
- package/cjs/UNSAFE_SortControl.js +6 -6
- package/cjs/UNSAFE_SplitMenuButton.js +4 -4
- package/cjs/UNSAFE_TabBar.js +9 -9
- package/cjs/UNSAFE_TabBarCommon.js +9 -9
- package/cjs/UNSAFE_TabBarMixed.js +8 -8
- package/cjs/UNSAFE_TableView.js +15 -15
- package/cjs/UNSAFE_TagCloud.js +5 -5
- package/cjs/UNSAFE_TextArea.js +9 -9
- package/cjs/UNSAFE_TextAreaAutosize.js +9 -9
- package/cjs/UNSAFE_ToggleButton.js +5 -5
- package/cjs/UNSAFE_UserAssistance.js +8 -8
- package/cjs/YearsGridView-804c9377.js +190 -0
- package/cjs/YearsGridView-804c9377.js.map +1 -0
- package/cjs/hooks/PRIVATE_useChartEvents.js +6 -6
- package/cjs/hooks/PRIVATE_useChartMarquee.js +10 -10
- package/cjs/hooks/PRIVATE_useVisDragModeControls.js +9 -9
- package/cjs/hooks/PRIVATE_useVisSelection.js +5 -5
- package/cjs/hooks/UNSAFE_useBareButton.js +2 -2
- package/cjs/hooks/UNSAFE_usePressClick.js +1 -1
- package/cjs/useBareButton-3c8d1a5d.js +94 -0
- package/cjs/useBareButton-3c8d1a5d.js.map +1 -0
- package/cjs/useCellNavigation-d5b07844.js +125 -0
- package/cjs/useCellNavigation-d5b07844.js.map +1 -0
- package/cjs/useChartMarquee-41c7ea4e.js +302 -0
- package/cjs/useChartMarquee-41c7ea4e.js.map +1 -0
- package/cjs/useDisplayValue-981e83e0.js +81 -0
- package/cjs/useDisplayValue-981e83e0.js.map +1 -0
- package/cjs/usePressClick-7a34624a.js +41 -0
- package/cjs/usePressClick-7a34624a.js.map +1 -0
- package/cjs/useSelectDrill-97935ff4.js +111 -0
- package/cjs/useSelectDrill-97935ff4.js.map +1 -0
- package/cjs/useSelection-1ffadc6e.js +188 -0
- package/cjs/useSelection-1ffadc6e.js.map +1 -0
- package/cjs/useVisDragModeControls-6acfca25.js +89 -0
- package/cjs/useVisDragModeControls-6acfca25.js.map +1 -0
- package/es/BareButton-2df3f3eb.js +34 -0
- package/es/BareButton-2df3f3eb.js.map +1 -0
- package/es/BaseButton-93d2f16c.js +83 -0
- package/es/BaseButton-93d2f16c.js.map +1 -0
- package/es/BaseRichSelection-533f2231.js +343 -0
- package/es/BaseRichSelection-533f2231.js.map +1 -0
- package/es/Button-daabfd1b.js +22 -0
- package/es/Button-daabfd1b.js.map +1 -0
- package/es/ButtonSetButton-a7b01fb2.js +33 -0
- package/es/ButtonSetButton-a7b01fb2.js.map +1 -0
- package/es/ButtonSetIconButton-6c171897.js +38 -0
- package/es/ButtonSetIconButton-6c171897.js.map +1 -0
- package/es/ButtonSetItem-b3dc082a.js +65 -0
- package/es/ButtonSetItem-b3dc082a.js.map +1 -0
- package/es/Chart-9aec139e.js +615 -0
- package/es/Chart-9aec139e.js.map +1 -0
- package/es/CheckboxControl-6fb2836d.js +115 -0
- package/es/CheckboxControl-6fb2836d.js.map +1 -0
- package/es/CheckboxRadioField-4ca01498.js +109 -0
- package/es/CheckboxRadioField-4ca01498.js.map +1 -0
- package/es/CheckboxRadioLabelValueLayout-1af018de.js +82 -0
- package/es/CheckboxRadioLabelValueLayout-1af018de.js.map +1 -0
- package/es/CheckboxStyles.styles.css +6 -0
- package/es/ClearIcon-112c6200.js +21 -0
- package/es/ClearIcon-112c6200.js.map +1 -0
- package/es/ColorPalette-765bbe22.js +81 -0
- package/es/ColorPalette-765bbe22.js.map +1 -0
- package/es/ColorPicker-94212b50.js +23 -0
- package/es/ColorPicker-94212b50.js.map +1 -0
- package/es/ColorSwatch-e98ed8ec.js +127 -0
- package/es/ColorSwatch-e98ed8ec.js.map +1 -0
- package/es/CompactUserAssistance-308c2ad3.js +47 -0
- package/es/CompactUserAssistance-308c2ad3.js.map +1 -0
- package/es/ComponentMessageContainer-dc2b5f81.js +81 -0
- package/es/ComponentMessageContainer-dc2b5f81.js.map +1 -0
- package/es/DatePicker-86c5eebd.js +599 -0
- package/es/DatePicker-86c5eebd.js.map +1 -0
- package/es/DatePickerHeader-cd95c0f1.js +45 -0
- package/es/DatePickerHeader-cd95c0f1.js.map +1 -0
- package/es/DiagramStyles.styles.css +10 -16
- package/es/DiagramStyles.styles2.css +16 -10
- package/es/Dialog-1b1a87ff.js +361 -0
- package/es/Dialog-1b1a87ff.js.map +1 -0
- package/es/EmbeddedIconButton-9027fc97.js +11 -0
- package/es/EmbeddedIconButton-9027fc97.js.map +1 -0
- package/es/Expander-f035d214.js +27 -0
- package/es/Expander-f035d214.js.map +1 -0
- package/es/IconButton-e7787aeb.js +36 -0
- package/es/IconButton-e7787aeb.js.map +1 -0
- package/es/IconSwitchButton-2b69f5c2.js +42 -0
- package/es/IconSwitchButton-2b69f5c2.js.map +1 -0
- package/es/IconToggleButton-f2a9d54a.js +41 -0
- package/es/IconToggleButton-f2a9d54a.js.map +1 -0
- package/es/InlineUserAssistance-af01b717.js +81 -0
- package/es/InlineUserAssistance-af01b717.js.map +1 -0
- package/es/InputDateMask-840db1a2.js +1138 -0
- package/es/InputDateMask-840db1a2.js.map +1 -0
- package/es/Label-17e1d221.js +156 -0
- package/es/Label-17e1d221.js.map +1 -0
- package/es/Link-d7ad7267.js +33 -0
- package/es/Link-d7ad7267.js.map +1 -0
- package/es/LinkVariants.styles.css +2 -1
- package/es/LinkVariants.styles2.css +2 -1
- package/es/ListItemLayoutStyles.styles.css +13 -18
- package/es/MaxLengthCounter-d622f964.js +25 -0
- package/es/MaxLengthCounter-d622f964.js.map +1 -0
- package/es/Message-b2ab3a28.js +203 -0
- package/es/Message-b2ab3a28.js.map +1 -0
- package/es/MonthView-04900992.js +208 -0
- package/es/MonthView-04900992.js.map +1 -0
- package/es/NavigationListItem-70f70367.js +301 -0
- package/es/NavigationListItem-70f70367.js.map +1 -0
- package/es/NavigationListLinkItem-8a575042.js +165 -0
- package/es/NavigationListLinkItem-8a575042.js.map +1 -0
- package/es/NumberInputText-4a0cff76.js +227 -0
- package/es/NumberInputText-4a0cff76.js.map +1 -0
- package/es/OverflowTabBarItem-187bd359.js +263 -0
- package/es/OverflowTabBarItem-187bd359.js.map +1 -0
- package/es/PRIVATE_Chart.js +16 -16
- package/es/PRIVATE_CheckboxControl.js +7 -6
- package/es/PRIVATE_CheckboxControl.js.map +1 -1
- package/es/PRIVATE_CheckboxRadioField.js +11 -10
- package/es/PRIVATE_CheckboxRadioField.js.map +1 -1
- package/es/PRIVATE_ClearIcon.js +6 -6
- package/es/PRIVATE_ContainerDiagram/themes/DiagramStyles.css.js +1 -1
- package/es/PRIVATE_ContainerDiagram.js +11 -11
- package/es/PRIVATE_DatePickerHeader.js +7 -7
- package/es/PRIVATE_EmbeddedIconButton.js +5 -5
- package/es/PRIVATE_Expander.js +6 -6
- package/es/PRIVATE_IconSwitchButton.js +5 -5
- package/es/PRIVATE_Message.js +6 -6
- package/es/PRIVATE_MonthView.js +2 -2
- package/es/PRIVATE_MonthYearGridView.js +2 -2
- package/es/PRIVATE_RevealToggleIcon.js +6 -6
- package/es/PRIVATE_RichSelectionCommon.js +10 -9
- package/es/PRIVATE_RichSelectionCommon.js.map +1 -1
- package/es/PRIVATE_SelectCommon.js +9 -9
- package/es/PRIVATE_Table.js +15 -15
- package/es/PRIVATE_TimeComponent.js +5 -5
- package/es/RevealToggleIcon-0cc8250a.js +26 -0
- package/es/RevealToggleIcon-0cc8250a.js.map +1 -0
- package/es/SelectMobileFieldInput-373047db.js +239 -0
- package/es/SelectMobileFieldInput-373047db.js.map +1 -0
- package/es/SortControl-36062682.js +33 -0
- package/es/SortControl-36062682.js.map +1 -0
- package/es/TabBar-218d6e96.js +66 -0
- package/es/TabBar-218d6e96.js.map +1 -0
- package/es/TabBarLinkItem-574d7229.js +13 -0
- package/es/TabBarLinkItem-574d7229.js.map +1 -0
- package/es/Table-3f93cee3.js +6067 -0
- package/es/Table-3f93cee3.js.map +1 -0
- package/es/Theme-redwood/theme.css +361 -361
- package/es/Theme-stable/theme.css +486 -486
- package/es/TimeComponentCanvas2D-9336e008.js +568 -0
- package/es/TimeComponentCanvas2D-9336e008.js.map +1 -0
- package/es/ToggleButton-0253034c.js +28 -0
- package/es/ToggleButton-0253034c.js.map +1 -0
- package/es/UNSAFE_BarChart.js +16 -16
- package/es/UNSAFE_BareButton.js +3 -3
- package/es/UNSAFE_BaseButton.js +4 -4
- package/es/UNSAFE_Button.js +5 -5
- package/es/UNSAFE_ButtonSetButton.js +5 -5
- package/es/UNSAFE_ButtonSetIconButton.js +5 -5
- package/es/UNSAFE_ButtonSetItem.js +7 -7
- package/es/UNSAFE_Checkbox/themes/CheckboxStyles.css.js +1 -0
- package/es/UNSAFE_Checkbox/themes/CheckboxStyles.css.js.map +1 -1
- package/es/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js +1 -0
- package/es/UNSAFE_Checkbox/themes/redwood/CheckboxTheme.js.map +1 -1
- package/es/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js +1 -0
- package/es/UNSAFE_Checkbox/themes/redwood/CheckboxVariants.css.js.map +1 -1
- package/es/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js +1 -0
- package/es/UNSAFE_Checkbox/themes/stable/CheckboxTheme.js.map +1 -1
- package/es/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js +1 -0
- package/es/UNSAFE_Checkbox/themes/stable/CheckboxVariants.css.js.map +1 -1
- package/es/UNSAFE_Checkbox.js +9 -8
- package/es/UNSAFE_Checkbox.js.map +1 -1
- package/es/UNSAFE_CheckboxItem.js +7 -6
- package/es/UNSAFE_CheckboxItem.js.map +1 -1
- package/es/UNSAFE_CheckboxRadioField.js +2 -1
- package/es/UNSAFE_CheckboxRadioField.js.map +1 -1
- package/es/UNSAFE_CheckboxSet.js +11 -10
- package/es/UNSAFE_CheckboxSet.js.map +1 -1
- package/es/UNSAFE_ColorPalette.js +7 -7
- package/es/UNSAFE_ColorPicker.js +32 -32
- package/es/UNSAFE_ColorSwatch.js +6 -6
- package/es/UNSAFE_ComboChart.js +16 -16
- package/es/UNSAFE_ComponentMessage.js +6 -6
- package/es/UNSAFE_ConveyorBelt.js +4 -4
- package/es/UNSAFE_DatePicker.js +12 -12
- package/es/UNSAFE_Diagram/themes/DiagramStyles.css.js +1 -1
- package/es/UNSAFE_Diagram.js +11 -11
- package/es/UNSAFE_Dialog.js +6 -6
- package/es/UNSAFE_ExpandableList.js +5 -5
- package/es/UNSAFE_FlatTreeView.js +6 -6
- package/es/UNSAFE_Gantt.js +6 -6
- package/es/UNSAFE_IconButton.js +5 -5
- package/es/UNSAFE_IconMenuButton.js +4 -4
- package/es/UNSAFE_IconProgressButton.js +4 -4
- package/es/UNSAFE_IconToggleButton.js +5 -5
- package/es/UNSAFE_InlineSelectSingle.js +9 -9
- package/es/UNSAFE_InputColor.js +14 -14
- package/es/UNSAFE_InputDateMask.js +10 -10
- package/es/UNSAFE_InputDatePicker.js +105 -105
- package/es/UNSAFE_InputDatePicker.js.map +1 -1
- package/es/UNSAFE_InputPassword.js +12 -12
- package/es/UNSAFE_InputSensitiveText.js +12 -12
- package/es/UNSAFE_InputText.js +10 -10
- package/es/UNSAFE_InputTimeMask.js +9 -9
- package/es/UNSAFE_Label.js +6 -6
- package/es/UNSAFE_LabelledLink.js +9 -9
- package/es/UNSAFE_LineAreaChart.js +16 -16
- package/es/UNSAFE_Link/themes/LinkStyles.css.js +1 -1
- package/es/UNSAFE_Link.js +2 -2
- package/es/UNSAFE_ListItemLayout/themes/ListItemLayoutStyles.css.js +1 -1
- package/es/UNSAFE_ListItemLayout.js +2 -2
- package/es/UNSAFE_ListItemLayout.js.map +1 -1
- package/es/UNSAFE_MenuButton.js +4 -4
- package/es/UNSAFE_MessageBanner.js +6 -6
- package/es/UNSAFE_MessageToast.js +6 -6
- package/es/UNSAFE_NavigationList.js +7 -7
- package/es/UNSAFE_NavigationListCommon.js +6 -6
- package/es/UNSAFE_NumberInputText.js +10 -10
- package/es/UNSAFE_OverflowTabBar.js +10 -10
- package/es/UNSAFE_PictoChart.js +5 -5
- package/es/UNSAFE_ProgressButton.js +4 -4
- package/es/UNSAFE_RadioItem.js +5 -5
- package/es/UNSAFE_RadioSet.js +11 -10
- package/es/UNSAFE_RadioSet.js.map +1 -1
- package/es/UNSAFE_ReorderableTabBar.js +5 -5
- package/es/UNSAFE_RichCheckboxSet.js +10 -9
- package/es/UNSAFE_RichCheckboxSet.js.map +1 -1
- package/es/UNSAFE_RichRadioSet.js +10 -9
- package/es/UNSAFE_RichRadioSet.js.map +1 -1
- package/es/UNSAFE_ScatterChart.js +16 -16
- package/es/UNSAFE_SelectMultiple.js +12 -12
- package/es/UNSAFE_SelectSingle.js +12 -12
- package/es/UNSAFE_SortControl.js +6 -6
- package/es/UNSAFE_SplitMenuButton.js +4 -4
- package/es/UNSAFE_TabBar.js +10 -10
- package/es/UNSAFE_TabBarCommon.js +9 -9
- package/es/UNSAFE_TabBarMixed.js +8 -8
- package/es/UNSAFE_TableView.js +15 -15
- package/es/UNSAFE_TagCloud.js +5 -5
- package/es/UNSAFE_TextArea.js +225 -110
- package/es/UNSAFE_TextArea.js.map +1 -1
- package/es/UNSAFE_TextAreaAutosize.js +10 -10
- package/es/UNSAFE_ToggleButton.js +5 -5
- package/es/UNSAFE_UserAssistance.js +8 -8
- package/es/YearsGridView-3858303c.js +187 -0
- package/es/YearsGridView-3858303c.js.map +1 -0
- package/es/hooks/PRIVATE_useChartEvents.js +6 -6
- package/es/hooks/PRIVATE_useChartMarquee.js +10 -10
- package/es/hooks/PRIVATE_useVisDragModeControls.js +9 -9
- package/es/hooks/PRIVATE_useVisSelection.js +5 -5
- package/es/hooks/UNSAFE_useBareButton.js +2 -2
- package/es/hooks/UNSAFE_usePressClick.js +1 -1
- package/es/useBareButton-31066c02.js +92 -0
- package/es/useBareButton-31066c02.js.map +1 -0
- package/es/useCellNavigation-260b7166.js +122 -0
- package/es/useCellNavigation-260b7166.js.map +1 -0
- package/es/useChartMarquee-35d0b6ed.js +300 -0
- package/es/useChartMarquee-35d0b6ed.js.map +1 -0
- package/es/useDisplayValue-a5e6601d.js +77 -0
- package/es/useDisplayValue-a5e6601d.js.map +1 -0
- package/es/usePressClick-945cc43b.js +39 -0
- package/es/usePressClick-945cc43b.js.map +1 -0
- package/es/useSelectDrill-7cd3819f.js +108 -0
- package/es/useSelectDrill-7cd3819f.js.map +1 -0
- package/es/useSelection-a3c695f6.js +186 -0
- package/es/useSelection-a3c695f6.js.map +1 -0
- package/es/useVisDragModeControls-a6c518c5.js +87 -0
- package/es/useVisDragModeControls-a6c518c5.js.map +1 -0
- package/package.json +4 -3
- package/types/UNSAFE_DatePicker/useCellNavigation.d.ts +0 -1
- package/types/UNSAFE_DatePicker/useDatePicker.d.ts +0 -22
- package/types/UNSAFE_DatePicker/useDatePickerState.d.ts +1 -2
- package/types/UNSAFE_Link/themes/LinkStyles.css.d.ts +2 -1
- package/types/UNSAFE_Link/themes/redwood/LinkVariants.css.d.ts +2 -1
- package/types/UNSAFE_Link/themes/stable/LinkVariants.css.d.ts +2 -1
- package/types/UNSAFE_ListItemLayout/themes/ListItemLayoutStyles.css.d.ts +0 -1
- package/types/hooks/UNSAFE_usePressClick/usePressClick.d.ts +1 -0
- package/amd/BarChart-ed6364d0.js +0 -2
- package/amd/BarChart-ed6364d0.js.map +0 -1
- package/amd/BareButton-6152c7c2.js +0 -2
- package/amd/BareButton-6152c7c2.js.map +0 -1
- package/amd/BaseButton-d2266b25.js +0 -2
- package/amd/BaseButton-d2266b25.js.map +0 -1
- package/amd/BaseCardViewSelectionTest-7f4c1ca1.js +0 -2
- package/amd/BaseCardViewSelectionTest-7f4c1ca1.js.map +0 -1
- package/amd/BaseRichSelection-0fdc29a8.js +0 -2
- package/amd/BaseRichSelection-0fdc29a8.js.map +0 -1
- package/amd/Button-29507a64.js +0 -2
- package/amd/Button-29507a64.js.map +0 -1
- package/amd/ButtonSetButton-722af7d2.js +0 -2
- package/amd/ButtonSetButton-722af7d2.js.map +0 -1
- package/amd/ButtonSetIconButton-e65f43db.js +0 -2
- package/amd/ButtonSetIconButton-e65f43db.js.map +0 -1
- package/amd/ButtonSetItem-1f7c8a9f.js +0 -2
- package/amd/ButtonSetItem-1f7c8a9f.js.map +0 -1
- package/amd/Card-b62c2442.js +0 -2
- package/amd/Card-b62c2442.js.map +0 -1
- package/amd/Center-45b0c778.js +0 -2
- package/amd/Center-45b0c778.js.map +0 -1
- package/amd/Chart-eda7af0e.js +0 -2
- package/amd/Chart-eda7af0e.js.map +0 -1
- package/amd/Checkbox-dd283124.js +0 -2
- package/amd/Checkbox-dd283124.js.map +0 -1
- package/amd/CheckboxControl-3b7f3843.js +0 -2
- package/amd/CheckboxControl-3b7f3843.js.map +0 -1
- package/amd/CheckboxRadioField-c014b79b.js +0 -2
- package/amd/CheckboxRadioField-c014b79b.js.map +0 -1
- package/amd/CheckboxRadioLabelValueLayout-073b18d4.js +0 -2
- package/amd/CheckboxRadioLabelValueLayout-073b18d4.js.map +0 -1
- package/amd/CheckboxSet-d8b81a91.js +0 -2
- package/amd/CheckboxSet-d8b81a91.js.map +0 -1
- package/amd/ClearIcon-06fd3b05.js +0 -2
- package/amd/ClearIcon-06fd3b05.js.map +0 -1
- package/amd/ColorPalette-ecd83e4b.js +0 -2
- package/amd/ColorPalette-ecd83e4b.js.map +0 -1
- package/amd/ColorPicker-31f8e75b.js +0 -2
- package/amd/ColorPicker-31f8e75b.js.map +0 -1
- package/amd/ColorSwatch-393ad564.js +0 -2
- package/amd/ColorSwatch-393ad564.js.map +0 -1
- package/amd/ComboChart-09c90d6d.js +0 -2
- package/amd/ComboChart-09c90d6d.js.map +0 -1
- package/amd/CompactLabelAssistance-7ec99e08.js +0 -2
- package/amd/CompactLabelAssistance-7ec99e08.js.map +0 -1
- package/amd/CompactUserAssistance-e2f42bce.js +0 -2
- package/amd/CompactUserAssistance-e2f42bce.js.map +0 -1
- package/amd/ComponentMessageContainer-4d5cfe71.js +0 -2
- package/amd/ComponentMessageContainer-4d5cfe71.js.map +0 -1
- package/amd/ConveyorBelt-9982a911.js +0 -2
- package/amd/ConveyorBelt-9982a911.js.map +0 -1
- package/amd/DatePicker-26834e69.js +0 -2
- package/amd/DatePicker-26834e69.js.map +0 -1
- package/amd/DatePickerHeader-0572351a.js +0 -2
- package/amd/DatePickerHeader-0572351a.js.map +0 -1
- package/amd/Diagram-c8ca8f7a.js +0 -2
- package/amd/Diagram-c8ca8f7a.js.map +0 -1
- package/amd/Dialog-b6be33fd.js +0 -2
- package/amd/Dialog-b6be33fd.js.map +0 -1
- package/amd/DragHandle-68918f40.js +0 -2
- package/amd/DragHandle-68918f40.js.map +0 -1
- package/amd/DrawerPopup-8d62ed90.js +0 -2
- package/amd/DrawerPopup-8d62ed90.js.map +0 -1
- package/amd/Dropdown-9d52501e.js +0 -2
- package/amd/Dropdown-9d52501e.js.map +0 -1
- package/amd/EmbeddedIconButton-f15114e8.js +0 -2
- package/amd/EmbeddedIconButton-f15114e8.js.map +0 -1
- package/amd/EnvironmentProvider-fb09fcfb.js +0 -2
- package/amd/EnvironmentProvider-fb09fcfb.js.map +0 -1
- package/amd/ExpandableList-6f79ec92.js +0 -2
- package/amd/ExpandableList-6f79ec92.js.map +0 -1
- package/amd/Expander-8209c6c7.js +0 -2
- package/amd/Expander-8209c6c7.js.map +0 -1
- package/amd/FlatTreeView-537ceabc.js +0 -2
- package/amd/FlatTreeView-537ceabc.js.map +0 -1
- package/amd/Flex-4bc3a394.js +0 -2
- package/amd/Flex-4bc3a394.js.map +0 -1
- package/amd/Floating-366a30f8.js +0 -2
- package/amd/Floating-366a30f8.js.map +0 -1
- package/amd/Gantt-844026a4.js +0 -2
- package/amd/Gantt-844026a4.js.map +0 -1
- package/amd/Grid-2ddec30a.js +0 -2
- package/amd/Grid-2ddec30a.js.map +0 -1
- package/amd/Gridlines-545ae30a.js +0 -2
- package/amd/Gridlines-545ae30a.js.map +0 -1
- package/amd/HighlightText-ace1b6c4.js +0 -2
- package/amd/HighlightText-ace1b6c4.js.map +0 -1
- package/amd/IconButton-b4b83d00.js +0 -2
- package/amd/IconButton-b4b83d00.js.map +0 -1
- package/amd/IconMenuButton-d43de0e2.js +0 -2
- package/amd/IconMenuButton-d43de0e2.js.map +0 -1
- package/amd/IconProgressButton-264e5118.js +0 -2
- package/amd/IconProgressButton-264e5118.js.map +0 -1
- package/amd/IconSwitchButton-6453dcf0.js +0 -2
- package/amd/IconSwitchButton-6453dcf0.js.map +0 -1
- package/amd/IconToggleButton-f6dc5222.js +0 -2
- package/amd/IconToggleButton-f6dc5222.js.map +0 -1
- package/amd/IconUserAssistance-af9839fb.js +0 -2
- package/amd/IconUserAssistance-af9839fb.js.map +0 -1
- package/amd/InlineSelectSingle-c8a5cba5.js +0 -2
- package/amd/InlineSelectSingle-c8a5cba5.js.map +0 -1
- package/amd/InlineUserAssistance-b485c235.js +0 -2
- package/amd/InlineUserAssistance-b485c235.js.map +0 -1
- package/amd/InputColor-ba95f9f3.js +0 -2
- package/amd/InputColor-ba95f9f3.js.map +0 -1
- package/amd/InputDateMask-81cd129f.js +0 -2
- package/amd/InputDateMask-81cd129f.js.map +0 -1
- package/amd/InputDatePicker-a2f74124.js +0 -2
- package/amd/InputDatePicker-a2f74124.js.map +0 -1
- package/amd/InputPassword-204ab4f5.js +0 -2
- package/amd/InputPassword-204ab4f5.js.map +0 -1
- package/amd/InputSensitiveText-6627f003.js +0 -2
- package/amd/InputSensitiveText-6627f003.js.map +0 -1
- package/amd/InputText-676f6608.js +0 -2
- package/amd/InputText-676f6608.js.map +0 -1
- package/amd/Label-46fd3625.js +0 -2
- package/amd/Label-46fd3625.js.map +0 -1
- package/amd/Layer-dc3c1ac9.js +0 -2
- package/amd/Layer-dc3c1ac9.js.map +0 -1
- package/amd/LayerHost-7d4aa6d3.js +0 -2
- package/amd/LayerHost-7d4aa6d3.js.map +0 -1
- package/amd/LayerManager-4983f21c.js +0 -2
- package/amd/LayerManager-4983f21c.js.map +0 -1
- package/amd/LineAreaChart-2c71d134.js +0 -2
- package/amd/LineAreaChart-2c71d134.js.map +0 -1
- package/amd/Link-0392b449.js +0 -2
- package/amd/Link-0392b449.js.map +0 -1
- package/amd/ListItemLayout-0a2977b3.js +0 -2
- package/amd/ListItemLayout-0a2977b3.js.map +0 -1
- package/amd/ListItemTextLayout-eee36c04.js +0 -2
- package/amd/ListItemTextLayout-eee36c04.js.map +0 -1
- package/amd/LiveRegion-4b9317e5.js +0 -2
- package/amd/LiveRegion-4b9317e5.js.map +0 -1
- package/amd/MaxLengthCounter-cadff1c7.js +0 -2
- package/amd/MaxLengthCounter-cadff1c7.js.map +0 -1
- package/amd/MaxLengthLiveRegion-1f30f975.js +0 -2
- package/amd/MaxLengthLiveRegion-1f30f975.js.map +0 -1
- package/amd/MenuButton-35e80b87.js +0 -2
- package/amd/MenuButton-35e80b87.js.map +0 -1
- package/amd/Message-0c5fa65f.js +0 -2
- package/amd/Message-0c5fa65f.js.map +0 -1
- package/amd/MessageLayer-8df59ea9.js +0 -2
- package/amd/MessageLayer-8df59ea9.js.map +0 -1
- package/amd/MessageToast-8cb4ca1e.js +0 -2
- package/amd/MessageToast-8cb4ca1e.js.map +0 -1
- package/amd/Modal-8d647f76.js +0 -2
- package/amd/Modal-8d647f76.js.map +0 -1
- package/amd/MonthView-03070f25.js +0 -2
- package/amd/MonthView-03070f25.js.map +0 -1
- package/amd/NavigationListLinkItem-c2e2709c.js +0 -2
- package/amd/NavigationListLinkItem-c2e2709c.js.map +0 -1
- package/amd/NumberInputText-fd006d16.js +0 -2
- package/amd/NumberInputText-fd006d16.js.map +0 -1
- package/amd/OverflowTabBar-25824baa.js +0 -2
- package/amd/OverflowTabBar-25824baa.js.map +0 -1
- package/amd/OverflowTabBarItem-70c4684c.js +0 -2
- package/amd/OverflowTabBarItem-70c4684c.js.map +0 -1
- package/amd/PictoChart-a85dfa1b.js +0 -2
- package/amd/PictoChart-a85dfa1b.js.map +0 -1
- package/amd/Popup-062b66ff.js +0 -2
- package/amd/Popup-062b66ff.js.map +0 -1
- package/amd/ProgressBar-9aed0a47.js +0 -2
- package/amd/ProgressBar-9aed0a47.js.map +0 -1
- package/amd/ProgressButton-b317a3e5.js +0 -2
- package/amd/ProgressButton-b317a3e5.js.map +0 -1
- package/amd/ProgressCircle-0001dec1.js +0 -2
- package/amd/ProgressCircle-0001dec1.js.map +0 -1
- package/amd/RadioItem-e0bf1ae8.js +0 -2
- package/amd/RadioItem-e0bf1ae8.js.map +0 -1
- package/amd/RadioSet-ab50c3fd.js +0 -2
- package/amd/RadioSet-ab50c3fd.js.map +0 -1
- package/amd/RemovableTabBarItem-83d0c52b.js +0 -2
- package/amd/RemovableTabBarItem-83d0c52b.js.map +0 -1
- package/amd/RevealToggleIcon-81410b46.js +0 -2
- package/amd/RevealToggleIcon-81410b46.js.map +0 -1
- package/amd/ScatterChart-208763f2.js +0 -2
- package/amd/ScatterChart-208763f2.js.map +0 -1
- package/amd/SectionedContent-bae8af88.js +0 -2
- package/amd/SectionedContent-bae8af88.js.map +0 -1
- package/amd/SelectMobileFieldInput-094c2a5e.js +0 -2
- package/amd/SelectMobileFieldInput-094c2a5e.js.map +0 -1
- package/amd/SelectMultiple-15c9c741.js +0 -2
- package/amd/SelectMultiple-15c9c741.js.map +0 -1
- package/amd/SelectSingle-c336458e.js +0 -2
- package/amd/SelectSingle-c336458e.js.map +0 -1
- package/amd/SelectionCard-e5665725.js +0 -2
- package/amd/SelectionCard-e5665725.js.map +0 -1
- package/amd/SelectorAll-ac6005c5.js +0 -2
- package/amd/SelectorAll-ac6005c5.js.map +0 -1
- package/amd/Sheet-fdd314ac.js +0 -2
- package/amd/Sheet-fdd314ac.js.map +0 -1
- package/amd/SortControl-542ddc7d.js +0 -2
- package/amd/SortControl-542ddc7d.js.map +0 -1
- package/amd/SplitMenuButton-1cc37777.js +0 -2
- package/amd/SplitMenuButton-1cc37777.js.map +0 -1
- package/amd/StyledCard-f72bdcc4.js +0 -2
- package/amd/StyledCard-f72bdcc4.js.map +0 -1
- package/amd/StyledLabelValueLayout-5a476d38.js +0 -2
- package/amd/StyledLabelValueLayout-5a476d38.js.map +0 -1
- package/amd/TabBarMixedSeparator-4c6ad368.js +0 -2
- package/amd/TabBarMixedSeparator-4c6ad368.js.map +0 -1
- package/amd/Table-77cabff4.js +0 -2
- package/amd/Table-77cabff4.js.map +0 -1
- package/amd/TableView-65a3dc6c.js +0 -2
- package/amd/TableView-65a3dc6c.js.map +0 -1
- package/amd/TagCloud-f8ce653b.js +0 -2
- package/amd/TagCloud-f8ce653b.js.map +0 -1
- package/amd/TextArea-da8547eb.js +0 -2
- package/amd/TextArea-da8547eb.js.map +0 -1
- package/amd/TextAreaAutosize-2725467a.js +0 -2
- package/amd/TextAreaAutosize-2725467a.js.map +0 -1
- package/amd/TimeComponentCanvas2D-d563bdbb.js +0 -2
- package/amd/TimeComponentCanvas2D-d563bdbb.js.map +0 -1
- package/amd/ToggleButton-627f7646.js +0 -2
- package/amd/ToggleButton-627f7646.js.map +0 -1
- package/amd/View-5520bcf5.js +0 -2
- package/amd/View-5520bcf5.js.map +0 -1
- package/amd/VisNoData-d70d0d82.js +0 -2
- package/amd/VisNoData-d70d0d82.js.map +0 -1
- package/amd/VisProgressiveLoader-07978120.js +0 -2
- package/amd/VisProgressiveLoader-07978120.js.map +0 -1
- package/amd/VisTabularDatatip-ab3b0b91.js +0 -2
- package/amd/VisTabularDatatip-ab3b0b91.js.map +0 -1
- package/amd/WindowOverlay-bd810e3b.js +0 -2
- package/amd/WindowOverlay-bd810e3b.js.map +0 -1
- package/amd/YearsGridView-325ea5c8.js +0 -2
- package/amd/YearsGridView-325ea5c8.js.map +0 -1
- package/amd/index-89934afc.js +0 -2
- package/amd/index-89934afc.js.map +0 -1
- package/amd/popupUtils-e19b93b5.js +0 -2
- package/amd/popupUtils-e19b93b5.js.map +0 -1
- package/amd/render-88108768.js +0 -2
- package/amd/render-88108768.js.map +0 -1
- package/amd/tabbableUtils-147c1073.js +0 -2
- package/amd/tabbableUtils-147c1073.js.map +0 -1
- package/amd/testData-845e2489.js +0 -2
- package/amd/testData-845e2489.js.map +0 -1
- package/amd/tooltipUtils-3c8a0253.js +0 -2
- package/amd/tooltipUtils-3c8a0253.js.map +0 -1
- package/amd/useBareButton-98f047f8.js +0 -2
- package/amd/useBareButton-98f047f8.js.map +0 -1
- package/amd/useCellNavigation-403623a8.js +0 -2
- package/amd/useCellNavigation-403623a8.js.map +0 -1
- package/amd/useChartDatatip-cdfc4089.js +0 -2
- package/amd/useChartDatatip-cdfc4089.js.map +0 -1
- package/amd/useChartMarquee-84054198.js +0 -2
- package/amd/useChartMarquee-84054198.js.map +0 -1
- package/amd/useColorScheme-f2a81610.js +0 -2
- package/amd/useColorScheme-f2a81610.js.map +0 -1
- package/amd/useCssVars-d782da3d.js +0 -2
- package/amd/useCssVars-d782da3d.js.map +0 -1
- package/amd/useCurrentBgColor-4326d3d6.js +0 -2
- package/amd/useCurrentBgColor-4326d3d6.js.map +0 -1
- package/amd/useCurrentKey-2f1ca19e.js +0 -2
- package/amd/useCurrentKey-2f1ca19e.js.map +0 -1
- package/amd/useDatatip-36aa820b.js +0 -2
- package/amd/useDatatip-36aa820b.js.map +0 -1
- package/amd/useDensity-bee3cef4.js +0 -2
- package/amd/useDensity-bee3cef4.js.map +0 -1
- package/amd/useDisplayValue-2d2e6206.js +0 -2
- package/amd/useDisplayValue-2d2e6206.js.map +0 -1
- package/amd/useExpandCollapse-4478c2eb.js +0 -2
- package/amd/useExpandCollapse-4478c2eb.js.map +0 -1
- package/amd/useFloating-0df4b3d3.js +0 -2
- package/amd/useFloating-0df4b3d3.js.map +0 -1
- package/amd/useHiddenTestMethod-2f1d2e7e.js +0 -2
- package/amd/useHiddenTestMethod-2f1d2e7e.js.map +0 -1
- package/amd/useKeyboardEvents-a684ba76.js +0 -2
- package/amd/useKeyboardEvents-a684ba76.js.map +0 -1
- package/amd/useMeterDatatip-b7dc96a3.js +0 -2
- package/amd/useMeterDatatip-b7dc96a3.js.map +0 -1
- package/amd/useOutsideClick-9c4ceb18.js +0 -2
- package/amd/useOutsideClick-9c4ceb18.js.map +0 -1
- package/amd/useOutsideMousedown-b0021878.js +0 -2
- package/amd/useOutsideMousedown-b0021878.js.map +0 -1
- package/amd/usePopupAnimation-9f80595b.js +0 -2
- package/amd/usePopupAnimation-9f80595b.js.map +0 -1
- package/amd/usePrefixSuffix-66563417.js +0 -2
- package/amd/usePrefixSuffix-66563417.js.map +0 -1
- package/amd/usePressClick-b7b38da2.js +0 -2
- package/amd/usePressClick-b7b38da2.js.map +0 -1
- package/amd/useReorderableItem-013ac2e8.js +0 -2
- package/amd/useReorderableItem-013ac2e8.js.map +0 -1
- package/amd/useRovingTabIndexContainer-b11a404b.js +0 -2
- package/amd/useRovingTabIndexContainer-b11a404b.js.map +0 -1
- package/amd/useScale-5d246769.js +0 -2
- package/amd/useScale-5d246769.js.map +0 -1
- package/amd/useSelectDrill-d58a7229.js +0 -2
- package/amd/useSelectDrill-d58a7229.js.map +0 -1
- package/amd/useSelection-205a2bda.js +0 -2
- package/amd/useSelection-205a2bda.js.map +0 -1
- package/amd/useSelection-87a6bea9.js +0 -2
- package/amd/useSelection-87a6bea9.js.map +0 -1
- package/amd/useTestId-a2e433c2.js +0 -2
- package/amd/useTestId-a2e433c2.js.map +0 -1
- package/amd/useTheme-af7bfac1.js +0 -2
- package/amd/useTheme-af7bfac1.js.map +0 -1
- package/amd/useThemeInterpolations-1dff2f9d.js +0 -2
- package/amd/useThemeInterpolations-1dff2f9d.js.map +0 -1
- package/amd/useTooltip-e14d62f1.js +0 -2
- package/amd/useTooltip-e14d62f1.js.map +0 -1
- package/amd/useTooltipControlled-f7e07ed4.js +0 -2
- package/amd/useTooltipControlled-f7e07ed4.js.map +0 -1
- package/amd/useTooltipOnTruncation-e6d20cc0.js +0 -2
- package/amd/useTooltipOnTruncation-e6d20cc0.js.map +0 -1
- package/amd/useTranslationBundle-27bf6340.js +0 -2
- package/amd/useTranslationBundle-27bf6340.js.map +0 -1
- package/amd/useUser-988f7da2.js +0 -2
- package/amd/useUser-988f7da2.js.map +0 -1
- package/amd/useVisDragModeControls-f3a420dc.js +0 -2
- package/amd/useVisDragModeControls-f3a420dc.js.map +0 -1
- package/amd/useVisEvents-3839d74f.js +0 -2
- package/amd/useVisEvents-3839d74f.js.map +0 -1
- package/amd/withDirectionIcon-2bb38763.js +0 -2
- package/amd/withDirectionIcon-2bb38763.js.map +0 -1
- package/cjs/BareButton-814ae4b7.js +0 -36
- package/cjs/BareButton-814ae4b7.js.map +0 -1
- package/cjs/BaseButton-eadd18ed.js +0 -85
- package/cjs/BaseButton-eadd18ed.js.map +0 -1
- package/cjs/BaseRichSelection-1d4ef67b.js +0 -345
- package/cjs/BaseRichSelection-1d4ef67b.js.map +0 -1
- package/cjs/Button-110731d5.js +0 -24
- package/cjs/Button-110731d5.js.map +0 -1
- package/cjs/ButtonSetButton-9106a899.js +0 -35
- package/cjs/ButtonSetButton-9106a899.js.map +0 -1
- package/cjs/ButtonSetIconButton-8c52036a.js +0 -40
- package/cjs/ButtonSetIconButton-8c52036a.js.map +0 -1
- package/cjs/ButtonSetItem-7c81cf63.js +0 -67
- package/cjs/ButtonSetItem-7c81cf63.js.map +0 -1
- package/cjs/Chart-376785c5.js +0 -617
- package/cjs/Chart-376785c5.js.map +0 -1
- package/cjs/CheckboxControl-3334a89b.js +0 -117
- package/cjs/CheckboxControl-3334a89b.js.map +0 -1
- package/cjs/CheckboxRadioField-0a6614cc.js +0 -111
- package/cjs/CheckboxRadioField-0a6614cc.js.map +0 -1
- package/cjs/CheckboxRadioLabelValueLayout-20d3187e.js +0 -84
- package/cjs/CheckboxRadioLabelValueLayout-20d3187e.js.map +0 -1
- package/cjs/CheckboxSet-65fb2139.js +0 -53
- package/cjs/CheckboxSet-65fb2139.js.map +0 -1
- package/cjs/ClearIcon-dc495fdb.js +0 -23
- package/cjs/ClearIcon-dc495fdb.js.map +0 -1
- package/cjs/ColorPalette-68945111.js +0 -83
- package/cjs/ColorPalette-68945111.js.map +0 -1
- package/cjs/ColorPicker-e6097318.js +0 -25
- package/cjs/ColorPicker-e6097318.js.map +0 -1
- package/cjs/ColorSwatch-8410a4cd.js +0 -129
- package/cjs/ColorSwatch-8410a4cd.js.map +0 -1
- package/cjs/CompactUserAssistance-aaa774e8.js +0 -49
- package/cjs/CompactUserAssistance-aaa774e8.js.map +0 -1
- package/cjs/ComponentMessageContainer-0a029bed.js +0 -84
- package/cjs/ComponentMessageContainer-0a029bed.js.map +0 -1
- package/cjs/DatePicker-bfda90da.js +0 -622
- package/cjs/DatePicker-bfda90da.js.map +0 -1
- package/cjs/DatePickerHeader-52ee0e9e.js +0 -47
- package/cjs/DatePickerHeader-52ee0e9e.js.map +0 -1
- package/cjs/Dialog-b46f321b.js +0 -363
- package/cjs/Dialog-b46f321b.js.map +0 -1
- package/cjs/EmbeddedIconButton-acd640d1.js +0 -13
- package/cjs/EmbeddedIconButton-acd640d1.js.map +0 -1
- package/cjs/Expander-8dab69bc.js +0 -31
- package/cjs/Expander-8dab69bc.js.map +0 -1
- package/cjs/IconButton-217314e6.js +0 -38
- package/cjs/IconButton-217314e6.js.map +0 -1
- package/cjs/IconSwitchButton-92922dad.js +0 -44
- package/cjs/IconSwitchButton-92922dad.js.map +0 -1
- package/cjs/IconToggleButton-52c12187.js +0 -43
- package/cjs/IconToggleButton-52c12187.js.map +0 -1
- package/cjs/InlineUserAssistance-2fba4481.js +0 -85
- package/cjs/InlineUserAssistance-2fba4481.js.map +0 -1
- package/cjs/InputDateMask-caf79f8d.js +0 -1142
- package/cjs/InputDateMask-caf79f8d.js.map +0 -1
- package/cjs/Label-afee809f.js +0 -158
- package/cjs/Label-afee809f.js.map +0 -1
- package/cjs/Link-c066941c.js +0 -35
- package/cjs/Link-c066941c.js.map +0 -1
- package/cjs/Message-1153fc51.js +0 -208
- package/cjs/Message-1153fc51.js.map +0 -1
- package/cjs/MonthView-2e74479d.js +0 -221
- package/cjs/MonthView-2e74479d.js.map +0 -1
- package/cjs/NavigationListItem-e4be63fc.js +0 -302
- package/cjs/NavigationListItem-e4be63fc.js.map +0 -1
- package/cjs/NavigationListLinkItem-a06a8a6a.js +0 -170
- package/cjs/NavigationListLinkItem-a06a8a6a.js.map +0 -1
- package/cjs/NumberInputText-d187704a.js +0 -230
- package/cjs/NumberInputText-d187704a.js.map +0 -1
- package/cjs/OverflowTabBarItem-7bff3461.js +0 -268
- package/cjs/OverflowTabBarItem-7bff3461.js.map +0 -1
- package/cjs/RevealToggleIcon-1717c2be.js +0 -28
- package/cjs/RevealToggleIcon-1717c2be.js.map +0 -1
- package/cjs/SelectMobileFieldInput-cd6ee053.js +0 -246
- package/cjs/SelectMobileFieldInput-cd6ee053.js.map +0 -1
- package/cjs/SortControl-72e4f04e.js +0 -35
- package/cjs/SortControl-72e4f04e.js.map +0 -1
- package/cjs/TabBarLinkItem-bc212b10.js +0 -15
- package/cjs/TabBarLinkItem-bc212b10.js.map +0 -1
- package/cjs/Table-d4dd9535.js +0 -6069
- package/cjs/Table-d4dd9535.js.map +0 -1
- package/cjs/TimeComponentCanvas2D-98d4fd81.js +0 -591
- package/cjs/TimeComponentCanvas2D-98d4fd81.js.map +0 -1
- package/cjs/ToggleButton-79e06472.js +0 -30
- package/cjs/ToggleButton-79e06472.js.map +0 -1
- package/cjs/YearsGridView-c023c408.js +0 -208
- package/cjs/YearsGridView-c023c408.js.map +0 -1
- package/cjs/useBareButton-8c4f3b41.js +0 -94
- package/cjs/useBareButton-8c4f3b41.js.map +0 -1
- package/cjs/useCellNavigation-24305f7b.js +0 -130
- package/cjs/useCellNavigation-24305f7b.js.map +0 -1
- package/cjs/useChartMarquee-02a04456.js +0 -302
- package/cjs/useChartMarquee-02a04456.js.map +0 -1
- package/cjs/useDisplayValue-633a13f9.js +0 -81
- package/cjs/useDisplayValue-633a13f9.js.map +0 -1
- package/cjs/usePressClick-421494df.js +0 -33
- package/cjs/usePressClick-421494df.js.map +0 -1
- package/cjs/useSelectDrill-fb3f1255.js +0 -111
- package/cjs/useSelectDrill-fb3f1255.js.map +0 -1
- package/cjs/useSelection-3a9071fe.js +0 -188
- package/cjs/useSelection-3a9071fe.js.map +0 -1
- package/cjs/useVisDragModeControls-56c2f3c3.js +0 -89
- package/cjs/useVisDragModeControls-56c2f3c3.js.map +0 -1
- package/es/BareButton-0954f33d.js +0 -34
- package/es/BareButton-0954f33d.js.map +0 -1
- package/es/BaseButton-c9db8d61.js +0 -83
- package/es/BaseButton-c9db8d61.js.map +0 -1
- package/es/BaseRichSelection-253b1661.js +0 -343
- package/es/BaseRichSelection-253b1661.js.map +0 -1
- package/es/Button-e9718a5b.js +0 -22
- package/es/Button-e9718a5b.js.map +0 -1
- package/es/ButtonSetButton-a34aeeb0.js +0 -33
- package/es/ButtonSetButton-a34aeeb0.js.map +0 -1
- package/es/ButtonSetIconButton-1beb1197.js +0 -38
- package/es/ButtonSetIconButton-1beb1197.js.map +0 -1
- package/es/ButtonSetItem-6ef8402d.js +0 -65
- package/es/ButtonSetItem-6ef8402d.js.map +0 -1
- package/es/Chart-a834358f.js +0 -615
- package/es/Chart-a834358f.js.map +0 -1
- package/es/CheckboxControl-f2d72b06.js +0 -115
- package/es/CheckboxControl-f2d72b06.js.map +0 -1
- package/es/CheckboxRadioField-9684d0a0.js +0 -109
- package/es/CheckboxRadioField-9684d0a0.js.map +0 -1
- package/es/CheckboxRadioLabelValueLayout-6e130aa4.js +0 -82
- package/es/CheckboxRadioLabelValueLayout-6e130aa4.js.map +0 -1
- package/es/ClearIcon-07365168.js +0 -21
- package/es/ClearIcon-07365168.js.map +0 -1
- package/es/ColorPalette-76ede708.js +0 -81
- package/es/ColorPalette-76ede708.js.map +0 -1
- package/es/ColorPicker-728b1d99.js +0 -23
- package/es/ColorPicker-728b1d99.js.map +0 -1
- package/es/ColorSwatch-52f47316.js +0 -127
- package/es/ColorSwatch-52f47316.js.map +0 -1
- package/es/CompactUserAssistance-935892f2.js +0 -47
- package/es/CompactUserAssistance-935892f2.js.map +0 -1
- package/es/ComponentMessageContainer-6149c829.js +0 -81
- package/es/ComponentMessageContainer-6149c829.js.map +0 -1
- package/es/DatePicker-010bccd8.js +0 -620
- package/es/DatePicker-010bccd8.js.map +0 -1
- package/es/DatePickerHeader-efb0c3dc.js +0 -45
- package/es/DatePickerHeader-efb0c3dc.js.map +0 -1
- package/es/Dialog-177999ab.js +0 -361
- package/es/Dialog-177999ab.js.map +0 -1
- package/es/EmbeddedIconButton-3734542e.js +0 -11
- package/es/EmbeddedIconButton-3734542e.js.map +0 -1
- package/es/Expander-26f2b92c.js +0 -27
- package/es/Expander-26f2b92c.js.map +0 -1
- package/es/IconButton-c91faa06.js +0 -36
- package/es/IconButton-c91faa06.js.map +0 -1
- package/es/IconSwitchButton-7bd22adc.js +0 -42
- package/es/IconSwitchButton-7bd22adc.js.map +0 -1
- package/es/IconToggleButton-2ac4cd72.js +0 -41
- package/es/IconToggleButton-2ac4cd72.js.map +0 -1
- package/es/InlineUserAssistance-f57a9043.js +0 -81
- package/es/InlineUserAssistance-f57a9043.js.map +0 -1
- package/es/InputDateMask-46cd7a7c.js +0 -1138
- package/es/InputDateMask-46cd7a7c.js.map +0 -1
- package/es/Label-5c64c52d.js +0 -156
- package/es/Label-5c64c52d.js.map +0 -1
- package/es/Link-8f4968d6.js +0 -33
- package/es/Link-8f4968d6.js.map +0 -1
- package/es/Message-9727fbd1.js +0 -203
- package/es/Message-9727fbd1.js.map +0 -1
- package/es/MonthView-667f34b4.js +0 -219
- package/es/MonthView-667f34b4.js.map +0 -1
- package/es/NavigationListItem-d4657cbc.js +0 -301
- package/es/NavigationListItem-d4657cbc.js.map +0 -1
- package/es/NavigationListLinkItem-19da4fa3.js +0 -165
- package/es/NavigationListLinkItem-19da4fa3.js.map +0 -1
- package/es/NumberInputText-9c8015e1.js +0 -227
- package/es/NumberInputText-9c8015e1.js.map +0 -1
- package/es/OverflowTabBarItem-3b712670.js +0 -263
- package/es/OverflowTabBarItem-3b712670.js.map +0 -1
- package/es/RevealToggleIcon-cc88f0d7.js +0 -26
- package/es/RevealToggleIcon-cc88f0d7.js.map +0 -1
- package/es/SelectMobileFieldInput-3f7d2156.js +0 -239
- package/es/SelectMobileFieldInput-3f7d2156.js.map +0 -1
- package/es/SortControl-9b6f598d.js +0 -33
- package/es/SortControl-9b6f598d.js.map +0 -1
- package/es/TabBar-e40838e4.js +0 -66
- package/es/TabBar-e40838e4.js.map +0 -1
- package/es/TabBarLinkItem-3b446d5f.js +0 -13
- package/es/TabBarLinkItem-3b446d5f.js.map +0 -1
- package/es/Table-e2d60706.js +0 -6067
- package/es/Table-e2d60706.js.map +0 -1
- package/es/TextArea-2293815b.js +0 -184
- package/es/TextArea-2293815b.js.map +0 -1
- package/es/TimeComponentCanvas2D-d936eaa0.js +0 -568
- package/es/TimeComponentCanvas2D-d936eaa0.js.map +0 -1
- package/es/ToggleButton-5741d15b.js +0 -28
- package/es/ToggleButton-5741d15b.js.map +0 -1
- package/es/YearsGridView-a5eb83cd.js +0 -205
- package/es/YearsGridView-a5eb83cd.js.map +0 -1
- package/es/useBareButton-07a3eef9.js +0 -92
- package/es/useBareButton-07a3eef9.js.map +0 -1
- package/es/useCellNavigation-aabee5c0.js +0 -127
- package/es/useCellNavigation-aabee5c0.js.map +0 -1
- package/es/useChartMarquee-2d60324d.js +0 -300
- package/es/useChartMarquee-2d60324d.js.map +0 -1
- package/es/useDisplayValue-13d53b0b.js +0 -77
- package/es/useDisplayValue-13d53b0b.js.map +0 -1
- package/es/usePressClick-2ec8e098.js +0 -31
- package/es/usePressClick-2ec8e098.js.map +0 -1
- package/es/useSelectDrill-9d9cda7e.js +0 -108
- package/es/useSelectDrill-9d9cda7e.js.map +0 -1
- package/es/useSelection-7f6d51eb.js +0 -186
- package/es/useSelection-7f6d51eb.js.map +0 -1
- package/es/useVisDragModeControls-92ddac92.js +0 -87
- package/es/useVisDragModeControls-92ddac92.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputColor-192a309b.js","sources":["../../src/UNSAFE_InputColor/InputColorPickerDropdown.tsx","../../src/UNSAFE_InputColor/useInputColorState.ts","../../src/UNSAFE_InputColor/useInputColor.ts","../../src/UNSAFE_InputColor/InputColor.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps } from 'preact';\nimport { useCallback, useState } from 'preact/hooks';\nimport { BundleType } from '../resources/nls/bundle';\nimport { ColorPicker } from '#UNSAFE_ColorPicker';\nimport { type CloseDetail as DropdownCloseDetail } from '#UNSAFE_Dropdown';\nimport { getClientHints } from '#utils/PRIVATE_clientHints';\nimport { FormFieldContext } from '../hooks/UNSAFE_useFormFieldContext';\nimport { InlineUserAssistance } from '../UNSAFE_UserAssistance';\nimport { dropdownStyles, userAssistanceStyles } from './themes/InputColorPickerDropdownStyles.css';\nimport { PositionData } from '../UNSAFE_Floating';\nimport { StickyPositioningDropdown } from '#PRIVATE_FormControls';\nimport { SectionedContent } from '#PRIVATE_FormControls';\nimport { type CloseDetail as SheetCloseDetail, Sheet } from '#UNSAFE_Sheet';\nimport type { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { SizeOptions } from '#UNSAFE_Floating/Floating';\nimport { InputColorPublicProps as InputColorProps } from './InputColor.types';\n\ntype StickyPositioningDropdownProps = ComponentProps<typeof StickyPositioningDropdown>;\ntype ColorPickerProps = ComponentProps<typeof ColorPicker>;\ntype PickedPropsFromColorPicker = Pick<ColorPickerProps, 'value' | 'onCommit'>;\ntype PickedPropsFromDropdown = Omit<StickyPositioningDropdownProps, 'onClose'>;\ntype CloseDetail = SheetCloseDetail | DropdownCloseDetail;\ntype PickedPropsFromInputColor = Pick<\n InputColorProps,\n | 'swatchSize'\n | 'palette'\n | 'value'\n | 'aria-describedby'\n | 'assistiveText'\n | 'columnSpan'\n | 'helpSourceLink'\n | 'helpSourceText'\n | 'isDisabled'\n | 'isReadonly'\n | 'isRequired'\n | 'isRequiredShown'\n | 'label'\n | 'labelEdge'\n | 'labelStartWidth'\n | 'messages'\n | 'textAlign'\n | 'testId'\n | 'userAssistanceDensity'\n | 'variant'\n>;\n\ntype Props = PickedPropsFromColorPicker &\n PickedPropsFromInputColor &\n PickedPropsFromDropdown &\n TestIdProps & {\n /**\n * Called when the dropdown or sheet is supposed to be closed.\n */\n onClose?: (detail: CloseDetail) => void;\n };\n\n/**\n * Component that renders ColorPicker either inside a dropdown or sheet; in mobile,\n * it renders inside a sheet. Additionally, when a dropdown is being shown beneath\n * the component, we also show any user assistance text or messages below the picker\n * because otherwise that information would be obscured from view. When a sheet is being\n * shown, it will always display UA and messages at the bottom of the sheet.\n */\nconst InputColorPickerDropdown = ({\n anchorRef,\n assistiveText,\n swatchSize,\n palette,\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isOpen,\n isReadonly,\n label,\n onClose,\n onCommit,\n messages,\n testId,\n userAssistanceDensity,\n value\n}: Props) => {\n // If the dropdown opens above the component, we don't want to show UA or messages.\n const [isDropdownAbove, setDropdownAbove] = useState(false);\n const [prevIsOpen, setPrevIsOpen] = useState(isOpen);\n const handleDropdownPosition = useCallback<\n NonNullable<StickyPositioningDropdownProps['onPosition']>\n >((data: PositionData) => {\n setDropdownAbove(data.placement.startsWith('top'));\n }, []);\n // Reset the flag when the dropdown is closed.\n if (prevIsOpen !== isOpen) {\n setPrevIsOpen(isOpen);\n if (!isOpen) {\n setDropdownAbove(false);\n }\n }\n\n const sizeOptions: SizeOptions = {\n isMaxWidthAdjusted: false,\n isMaxHeightAdjusted: true\n };\n\n // On mobile phones, the dropdown becomes a sheet.\n const shouldShowSheet = isPhone();\n\n const { colorPicker_label } = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const colorPickerAriaLabel = colorPicker_label();\n\n const colorPickerMainContent = (\n <ColorPicker\n height={!shouldShowSheet ? 'auto' : undefined}\n onCommit={onCommit}\n // for sheet, we want the width to grow to the width of the sheet, otherwise it will use the theme default.\n maxWidth={shouldShowSheet ? '100%' : undefined}\n width=\"100%\"\n swatchSize={swatchSize}\n palette={palette}\n testId={testId}\n value={value}\n />\n );\n\n const inlineUserAssistanceFooter =\n isOpen &&\n (!isDropdownAbove || shouldShowSheet) &&\n !isDisabled &&\n !isReadonly &&\n (assistiveText || helpSourceLink || (messages && messages.length > 0)) &&\n (userAssistanceDensity === 'efficient' || userAssistanceDensity === 'reflow') ? (\n <FormFieldContext.Provider value={{ isFocused: true }}>\n <div class={userAssistanceStyles}>\n <InlineUserAssistance\n assistiveText={assistiveText}\n fieldLabel={label}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n />\n </div>\n </FormFieldContext.Provider>\n ) : undefined;\n\n const contentTestId = testId ? testId + (shouldShowSheet ? '_sheet' : '_dropdown') : undefined;\n\n // The same content is displayed either in a dropdown or sheet: color picker and inline UA.\n // Add styling to the dropdown to enforce a fixed width.\n const dropdownContent = (\n <div class={dropdownStyles}>\n <SectionedContent\n paddingBlockEnd=\"3.5x\"\n paddingBlockStart=\"3.5x\"\n paddingInlineEnd=\"3.5x\"\n paddingInlineStart=\"3.5x\"\n aria-label={colorPickerAriaLabel}\n footer={inlineUserAssistanceFooter}\n hasFocusTrap={true}\n main={colorPickerMainContent}\n role=\"dialog\"\n testId={contentTestId}\n />\n </div>\n );\n\n const dropdown = shouldShowSheet ? (\n <Sheet isOpen={isOpen} onClose={onClose}>\n <SectionedContent\n aria-label={colorPickerAriaLabel}\n footer={inlineUserAssistanceFooter}\n hasFocusTrap={true}\n main={colorPickerMainContent}\n role=\"dialog\"\n testId={contentTestId}\n />\n </Sheet>\n ) : (\n <StickyPositioningDropdown\n anchorRef={anchorRef}\n isOpen={isOpen}\n onClose={onClose}\n onPosition={handleDropdownPosition}\n sizeOptions={sizeOptions}>\n {dropdownContent}\n </StickyPositioningDropdown>\n );\n\n return dropdown;\n};\n\nconst isPhone = () => {\n return getClientHints().deviceType === 'phone';\n};\n\nexport { InputColorPickerDropdown, type CloseDetail };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useReducer } from 'preact/hooks';\nimport { type ColorValue } from '#utils/UNSAFE_color';\n\ntype InputColorState = {\n /**\n * Represents the current color value of the component. The user either selected\n * the color in the picker, or typed it into the color field.\n */\n colorValue?: ColorValue;\n};\n\ntype ColorChangedAction = { type: 'colorChanged'; data?: ColorValue };\ntype ColorResetAction = { type: 'reset'; data?: ColorValue };\ntype ColorSelectedAction = { type: 'colorSelected'; data?: ColorValue };\ntype InputColorReducerAction = ColorChangedAction | ColorResetAction | ColorSelectedAction;\n\n// Use a reducer function to manage InputColorState.\nconst inputColorReducer = (\n state: InputColorState,\n action: InputColorReducerAction\n): InputColorState => {\n switch (action.type) {\n case 'colorChanged': {\n return {\n ...state,\n colorValue: action.data\n };\n }\n case 'colorSelected': {\n return { ...state, colorValue: action.data };\n }\n case 'reset': {\n return {\n colorValue: action.data\n };\n }\n default:\n return state;\n }\n};\n\ntype Props = {\n /**\n * The value of the InputColor, or undefined.\n */\n value?: ColorValue;\n};\n\n/**\n * useInputColorState calls useReducer to determine the initial state. Any changes to that state\n * are managed by dispatching actions to the reducer function.\n */\nconst useInputColorState = ({ value }: Props) => {\n const [state, dispatch] = useReducer(inputColorReducer, {\n colorValue: value\n });\n\n return { state, dispatch };\n};\n\nexport { useInputColorState };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { ComponentProps, RefObject } from 'preact';\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks';\nimport { ElementRef } from 'preact/compat';\nimport { colorsAreDifferent, type ColorValue } from '#utils/UNSAFE_color';\nimport { ColorPicker } from '#UNSAFE_ColorPicker';\nimport { ColorSwatch } from '#UNSAFE_ColorSwatch';\nimport { CloseDetail, InputColorPickerDropdown } from './InputColorPickerDropdown';\nimport { IconButton } from '#UNSAFE_IconButton';\nimport { useInputColorState } from './useInputColorState';\nimport type { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { useDownToggle } from '#hooks/UNSAFE_useDownToggle';\nimport { InputColorPublicProps as InputColorProps } from './InputColor.types';\n\ntype SwatchHandle = ElementRef<typeof ColorSwatch>;\n\ntype ColorPickerProps = ComponentProps<typeof ColorPicker>;\ntype IconButtonProps = ComponentProps<typeof IconButton>;\ntype DropdownProps = ComponentProps<typeof InputColorPickerDropdown>;\n\ntype Props = {\n onCommit: InputColorProps['onCommit'];\n onInput: InputColorProps['onInput'];\n value: InputColorProps['value'];\n};\n\n/**\n * Hook that provides handlers and other functionality for InputColor.\n */\nconst useInputColor = ({ onCommit, onInput, value: currentValue }: Props) => {\n // Whether the dropdown is open.\n const [isOpen, setIsOpen] = useState<boolean>(false);\n\n // Ref to the swatch icon button.\n const iconRef: RefObject<SwatchHandle> = useRef<SwatchHandle>(null);\n\n // Ref to the text input which holds color value\n const colorRef: RefObject<HTMLInputElement> = useRef<HTMLInputElement>(null);\n\n // Keep track of whether the dropdown was just dismissed from an outside mousedown event.\n const outsideMousedownRef = useRef<boolean>(false);\n const outsideMousedownTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>();\n\n // Keep track of the last color values passed to onInput and onCommit.\n const lastCommittedColorRef = useRef<ColorValue | undefined>(currentValue);\n const lastColorRef = useRef<ColorValue | undefined>(currentValue);\n\n // Keep track of the last controlled value passed from the parent, so we can detect a programmatic change.\n const lastValueFromParentRef = useRef<ColorValue | undefined>(currentValue);\n\n // Keep track of whether a color was selected in the color picker.\n const colorSelectedRef = useRef<boolean>(false);\n\n const { state, dispatch } = useInputColorState({ value: currentValue });\n\n // If a new value is being pushed from the parent, and that value differs from\n // the current value of the reducer, then this is a programmatic update\n // and we need to call 'reset' to update the reducer state. Otherwise, the only\n // time the reducer state is updated from the value is on mount.\n if (colorsAreDifferent(lastValueFromParentRef.current, currentValue)) {\n lastValueFromParentRef.current = currentValue;\n if (colorsAreDifferent(currentValue, state.colorValue)) {\n dispatch({ type: 'reset', data: currentValue });\n lastColorRef.current = currentValue;\n lastCommittedColorRef.current = currentValue;\n }\n }\n\n // Reducer updates are async, so wait until the state updates and then call our callbacks.\n useEffect(() => {\n if (colorsAreDifferent(state.colorValue, lastColorRef.current)) {\n onInput({ previousValue: lastColorRef.current, value: state.colorValue });\n lastColorRef.current = state.colorValue;\n }\n if (\n colorSelectedRef.current &&\n colorsAreDifferent(state.colorValue, lastCommittedColorRef.current)\n ) {\n onCommit?.({ previousValue: lastCommittedColorRef.current, value: state.colorValue });\n lastCommittedColorRef.current = state.colorValue;\n colorSelectedRef.current = false;\n }\n }, [onCommit, onInput, state.colorValue]);\n\n // Handle onInput from InputColor as values are entered in the input field.\n // We wait for the state to update before calling onInput.\n const colorInputHandler = useCallback<InputColorProps['onInput']>(\n (detail: ValueUpdateDetail<ColorValue>) => {\n dispatch({ type: 'colorChanged', data: detail.value });\n },\n [dispatch]\n );\n\n // Handle onCommit from InputColor, which is called when the user presses Enter or the field is blurred.\n const colorCommitHandler = useCallback<NonNullable<InputColorProps['onCommit']>>(() => {\n // If the current color value differs from the last committed value, then call onCommit.\n if (colorsAreDifferent(lastCommittedColorRef.current, state.colorValue)) {\n onCommit?.({ value: state.colorValue, previousValue: lastCommittedColorRef.current });\n lastCommittedColorRef.current = state.colorValue;\n }\n }, [onCommit, state.colorValue]);\n\n // Respond to onAction event from the swatch icon button. Toggles the color picker dropdown.\n const colorIconActionHandler = useCallback<NonNullable<IconButtonProps['onAction']>>(() => {\n // Only toggle the value of isOpen if we didn't just dismiss the dropdown.\n if (!outsideMousedownRef.current) {\n setIsOpen((prevIsOpen) => !prevIsOpen);\n }\n outsideMousedownRef.current = false;\n }, []);\n\n const dropdownCloseHandler = useCallback<NonNullable<DropdownProps['onClose']>>(\n (detail: CloseDetail) => {\n // Keep track of when the dropdown is closed via outside mousedown, including when the swatch icon\n // is clicked. We need this in order to toggle visibility of the picker and dropdown.\n if (detail.reason === 'outsideMousedown') {\n outsideMousedownRef.current = true;\n clearTimeout(outsideMousedownTimerRef.current);\n\n // Clear the flag after a short delay to ensure the dropdown can be opened again.\n outsideMousedownTimerRef.current = setTimeout(() => {\n outsideMousedownRef.current = false;\n }, 200);\n } else if (detail.reason === 'dismissed' || detail.reason === 'keyboardDismissed') {\n // Focus the swatch icon when the dropdown is closed.\n iconRef.current?.focus();\n }\n setIsOpen(false);\n },\n []\n );\n\n // Handle color selection in the picker.\n // - Updates the value in state.\n // - Closes the dropdown.\n // - Sets focus to the color field.\n const colorPickerCommitHandler = useCallback<ColorPickerProps['onCommit']>(\n (detail: ValueUpdateDetail<ColorValue>) => {\n // Set focus to the swatch when a color is selected.\n iconRef.current?.focus();\n\n // Set a ref indicating a color was selected.\n colorSelectedRef.current = true;\n dispatch({ type: 'colorSelected', data: detail.value });\n setIsOpen(false);\n },\n [dispatch]\n );\n\n // The Redwood UX design calls for the dropdown to open when the down arrow is pressed.\n // Handle opening the dropdown when the down arrow is pressed in the text edit field.\n const colorPickerDownHandler = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const { triggerProps: containerDropdownProps } = useDownToggle({\n isOpen,\n onToggle: colorPickerDownHandler\n });\n\n return {\n colorIconActionHandler,\n colorPickerCommitHandler,\n dropdownCloseHandler,\n containerDropdownProps,\n colorValue: state.colorValue,\n iconRef,\n isOpen,\n colorCommitHandler,\n colorInputHandler,\n colorRef\n };\n};\n\nexport { useInputColor };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { Ref } from 'preact';\nimport { forwardRef, ElementRef } from 'preact/compat';\nimport { useCallback, useImperativeHandle, useRef } from 'preact/hooks';\nimport { type BundleType } from '../resources/nls/bundle';\nimport { type ColorValue, isValidColorValue } from '#utils/UNSAFE_color';\nimport { InputColorPickerDropdown } from './InputColorPickerDropdown';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport { ColorSwatch } from '#UNSAFE_ColorSwatch';\nimport { useInputColor } from './useInputColor';\n\nimport { useClearIcon } from '../hooks/UNSAFE_useClearIcon';\nimport { FocusableHandle, useFocusableTextField } from '../hooks/UNSAFE_useFocusableTextField';\nimport { useFormContext } from '../hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '../hooks/UNSAFE_useFormFieldContext';\nimport { useHover } from '../hooks/UNSAFE_useHover';\nimport { useTextField } from '../hooks/UNSAFE_useTextField';\nimport { Label } from '../UNSAFE_Label';\n\nimport {\n ReadonlyTextField,\n ReadonlyTextFieldInput,\n TextField,\n TextFieldInput\n} from '../UNSAFE_TextField';\nimport { CompactUserAssistance, InlineUserAssistance } from '../UNSAFE_UserAssistance';\nimport { getClientHints } from '../utils/PRIVATE_clientHints';\nimport { ClearIcon } from '../PRIVATE_ClearIcon/ClearIcon';\nimport { useCurrentValueReducer } from '../hooks/UNSAFE_useCurrentValueReducer';\nimport { SelectableHandle, useSelectableTextField } from '#hooks/UNSAFE_useSelectableTextField';\nimport { mergeProps } from '#utils/UNSAFE_mergeProps';\nimport { InputColorPublicProps as Props } from './InputColor.types';\n\ntype SwatchHandle = ElementRef<typeof ColorSwatch>;\n\ntype FocusSelectHandle = FocusableHandle & SelectableHandle;\n\n/**\n * An Input Color is a form field that allows users to select or input a color value,\n * using a color picker or by enterihg a HEX code.\n */\nexport const InputColor = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n swatchSize,\n palette,\n value,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n isRequiredShown = false,\n isRequired = false,\n placeholder,\n hasClearIcon,\n columnSpan,\n textAlign: propTextAlign,\n autoComplete,\n messages,\n assistiveText,\n helpSourceLink,\n helpSourceText,\n label,\n onCommit,\n onInput,\n testId,\n variant,\n userAssistanceDensity: propUserAssistanceDensity\n }: Props,\n ref?: Ref<FocusSelectHandle>\n ) => {\n const {\n colorIconActionHandler,\n colorPickerCommitHandler,\n dropdownCloseHandler,\n colorValue,\n containerDropdownProps,\n iconRef,\n isOpen,\n colorCommitHandler,\n colorInputHandler,\n colorRef: enabledElementRef\n } = useInputColor({\n onCommit,\n onInput,\n value\n });\n\n const mainFieldRef = useRef<HTMLDivElement>(null);\n const { inputColor_selectColor } = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const colorIconAriaLabel = inputColor_selectColor();\n const { onKeyDown, ...inputContainerAriaProps } = containerDropdownProps;\n\n const { currentCommitValue, dispatch } = useCurrentValueReducer({ value: colorValue });\n const onInputAndDispatch = useCallback(\n (detail: ValueUpdateDetail<ColorValue>) => {\n // Should dispatch happen first? This will queue up a re-render, ordering should not cause issues (this is async)\n dispatch({ type: 'input', payload: detail.value });\n colorInputHandler?.(detail);\n },\n [colorInputHandler, dispatch]\n );\n const onCommitAndDispatch = useCallback(\n (detail: ValueUpdateDetail<ColorValue>) => {\n // Should dispatch happen first? This will queue up a re-render, ordering should not cause issues (this is async)\n dispatch({ type: 'commit', payload: detail.value });\n colorCommitHandler?.(detail);\n },\n [colorCommitHandler, dispatch]\n );\n\n const startContent = () => (\n <ColorSwatch\n size=\"xs\"\n aria-haspopup={palette ? 'grid' : undefined} // with only palette, grid is a better choice than dialog for now.\n aria-label={palette ? colorIconAriaLabel : undefined}\n isDisabled={isDisabled}\n isButton={true}\n isTooltipDisabled={isOpen}\n ref={iconRef as Ref<SwatchHandle>}\n testId={testId ? testId + '_colorIcon' : undefined}\n value={currentCommitValue as ColorValue}\n onToggle={isDisabled || !palette ? undefined : colorIconActionHandler}\n />\n );\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n textAlign: formTextAlign,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n const textAlign = propTextAlign ?? formTextAlign;\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n const readonlyElementRef = useRef<HTMLDivElement>(null);\n\n const {\n focusProps,\n isFocused,\n methods: focusMethods\n } = useFocusableTextField<HTMLInputElement, HTMLDivElement>({\n isDisabled,\n isReadonly,\n enabledElementRef,\n readonlyElementRef\n });\n\n const { methods: selectMethods } = useSelectableTextField<HTMLInputElement>(enabledElementRef);\n\n useImperativeHandle(ref!, () => mergeProps(focusMethods, selectMethods), [\n focusMethods,\n selectMethods\n ]);\n\n const { hoverProps, isHover } = useHover({ isDisabled: isReadonly || isDisabled || false });\n\n const { formFieldContext, inputProps, labelProps, textFieldProps, userAssistanceProps } =\n useTextField({\n ariaDescribedBy,\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isFocused: isFocused || isOpen,\n isReadonly,\n isRequiredShown,\n labelEdge,\n messages,\n styleVariant: variant,\n userAssistanceDensity,\n value: colorValue\n });\n\n const onClickClearIcon = useCallback(() => {\n // Clicking the clear icon should put the focus on the input field\n enabledElementRef.current?.focus();\n // Send an event to clear the field's value\n onInputAndDispatch?.({ previousValue: colorValue, value: undefined });\n }, [onInputAndDispatch, colorValue, enabledElementRef]);\n\n const maybeClearIcon = useClearIcon({\n clearIcon: <ClearIcon onClick={onClickClearIcon} testId={`${testId}_clearicon`} />,\n display: hasClearIcon,\n hasValue: formFieldContext.hasValue,\n isFocused,\n isEnabled: !isReadonly && !isDisabled,\n isHover\n });\n\n const hasInsideLabel = label !== undefined && labelEdge === 'inside';\n\n const labelComp = labelEdge !== 'none' ? <Label {...labelProps}>{label}</Label> : undefined;\n\n const fieldLabelProps = {\n label: labelEdge !== 'none' ? labelComp : undefined,\n labelEdge: labelEdge !== 'none' ? labelEdge : undefined,\n labelStartWidth: labelEdge !== 'none' ? labelStartWidth : undefined\n };\n\n const ariaLabel = labelEdge === 'none' ? label : undefined;\n const isInlineDensity =\n userAssistanceDensity === 'efficient' || userAssistanceDensity === 'reflow';\n\n const inlineUserAssistance = isInlineDensity ? (\n isDisabled || isReadonly ? (\n // save space for user assistance if density is 'efficient', even though we don't\n // render user assistance for disabled or readonly fields\n userAssistanceDensity !== 'efficient' ? undefined : (\n <InlineUserAssistance\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : (\n <InlineUserAssistance\n assistiveText={assistiveText}\n fieldLabel={label}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n messages={messages}\n isRequiredShown={isRequiredShown}\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : undefined;\n\n const aRef = useRef<HTMLDivElement>(null);\n const anchorRef = mainFieldRef ?? aRef;\n\n const compactUserAssistance =\n userAssistanceDensity === 'compact' ? (\n <CompactUserAssistance\n anchorRef={anchorRef}\n messages={messages}\n assistiveText={assistiveText}\n {...userAssistanceProps}\n />\n ) : undefined;\n\n const mainContent = isReadonly ? (\n <ReadonlyTextFieldInput\n aria-describedby={inputProps['aria-describedby']}\n aria-label={ariaLabel}\n aria-labelledby={labelProps.id}\n as=\"div\"\n elementRef={readonlyElementRef}\n textAlign={textAlign}\n value={colorValue}\n hasEmptyLabel={label === '' && labelEdge === 'none'}\n hasInsideLabel={hasInsideLabel}\n />\n ) : (\n <TextFieldInput\n aria-labelledby={labelProps.id}\n aria-label={ariaLabel}\n autoComplete={autoComplete}\n currentCommitValue={currentCommitValue}\n hasEmptyLabel={label === '' && labelEdge === 'none'}\n hasEndContent={false}\n hasInsideLabel={labelComp !== undefined && labelEdge === 'inside'}\n hasStartContent={true}\n inputRef={enabledElementRef}\n isRequired={isRequired}\n placeholder={placeholder}\n textAlign={textAlign}\n type={isMobile() ? 'text' : undefined}\n value={colorValue}\n onCommit={\n onCommitAndDispatch as (detail: ValueUpdateDetail<string>) => {\n value: string;\n }\n }\n onInput={\n onInputAndDispatch as (detail: ValueUpdateDetail<string>) => {\n value: string;\n }\n }\n onKeyDown={onKeyDown}\n {...inputProps}\n />\n );\n\n return (\n <>\n <FormFieldContext.Provider value={formFieldContext}>\n {isReadonly ? (\n <ReadonlyTextField\n role=\"presentation\"\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n inlineUserAssistance={inlineUserAssistance}\n onBlur={focusProps.onFocusOut}\n onFocus={focusProps.onFocusIn}\n ref={anchorRef}\n mainContent={mainContent}\n testId={testId}\n {...fieldLabelProps}></ReadonlyTextField>\n ) : (\n <TextField\n endContent={maybeClearIcon}\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n inlineUserAssistance={inlineUserAssistance}\n mainContent={mainContent}\n onBlur={focusProps.onFocusOut}\n onFocus={focusProps.onFocusIn}\n startContent={startContent()}\n mainFieldRef={anchorRef}\n hasZeroStartMargin={true}\n testId={testId}\n {...textFieldProps}\n {...fieldLabelProps}\n {...hoverProps}\n {...inputContainerAriaProps}\n />\n )}\n </FormFieldContext.Provider>\n\n {isOpen && !isReadonly && !isDisabled && (\n <InputColorPickerDropdown\n anchorRef={mainFieldRef}\n assistiveText={assistiveText}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isOpen={isOpen}\n label={label}\n onClose={dropdownCloseHandler}\n onCommit={colorPickerCommitHandler}\n messages={messages}\n testId={testId ? testId + '_colorPicker' : undefined}\n userAssistanceDensity={userAssistanceDensity}\n // memoize this for performance\n value={colorValue && isValidColorValue(colorValue) ? colorValue : undefined}\n palette={palette}\n swatchSize={swatchSize}\n />\n )}\n </>\n );\n }\n);\n\n/**\n * Helper function to determine whether the current device is a mobile device\n * @returns true if running on a mobile device, false otherwise\n */\nfunction isMobile() {\n const deviceType = getClientHints().deviceType;\n return deviceType === 'phone' || deviceType === 'tablet';\n}\nInputColor.displayName = 'InputColor';\n"],"names":["InputColorPickerDropdown","anchorRef","assistiveText","swatchSize","palette","helpSourceLink","helpSourceText","isDisabled","isOpen","isReadonly","label","onClose","onCommit","messages","testId","userAssistanceDensity","value","isDropdownAbove","setDropdownAbove","useState","prevIsOpen","setPrevIsOpen","handleDropdownPosition","useCallback","data","placement","startsWith","shouldShowSheet","isPhone","colorPicker_label","useTranslationBundle","colorPickerAriaLabel","colorPickerMainContent","_jsx","ColorPicker","height","undefined","maxWidth","width","inlineUserAssistanceFooter","length","FormFieldContext","Provider","isFocused","children","jsx","class","userAssistanceStyles","InlineUserAssistance","fieldLabel","contentTestId","dropdownContent","dropdownStyles","SectionedContent","paddingBlockEnd","paddingBlockStart","paddingInlineEnd","paddingInlineStart","footer","hasFocusTrap","main","role","Sheet","StickyPositioningDropdown","onPosition","sizeOptions","isMaxWidthAdjusted","isMaxHeightAdjusted","getClientHints","deviceType","inputColorReducer","state","action","type","colorValue","useInputColor","onInput","currentValue","setIsOpen","iconRef","useRef","colorRef","outsideMousedownRef","outsideMousedownTimerRef","lastCommittedColorRef","lastColorRef","lastValueFromParentRef","colorSelectedRef","dispatch","useReducer","useInputColorState","colorsAreDifferent","current","useEffect","previousValue","colorInputHandler","detail","colorCommitHandler","colorIconActionHandler","dropdownCloseHandler","reason","clearTimeout","setTimeout","focus","colorPickerCommitHandler","colorPickerDownHandler","triggerProps","containerDropdownProps","useDownToggle","onToggle","InputColor","forwardRef","ariaDescribedBy","propIsDisabled","propIsReadonly","labelEdge","propLabelEdge","labelStartWidth","propLabelStartWidth","isRequiredShown","isRequired","placeholder","hasClearIcon","columnSpan","textAlign","propTextAlign","autoComplete","variant","propUserAssistanceDensity","ref","enabledElementRef","mainFieldRef","inputColor_selectColor","colorIconAriaLabel","onKeyDown","inputContainerAriaProps","currentCommitValue","useCurrentValueReducer","onInputAndDispatch","payload","onCommitAndDispatch","isFormDisabled","isFormReadonly","formLabelEdge","formLabelStartWidth","formTextAlign","formUserAssistanceDensity","useFormContext","readonlyElementRef","focusProps","methods","focusMethods","useFocusableTextField","selectMethods","useSelectableTextField","useImperativeHandle","mergeProps","hoverProps","isHover","useHover","formFieldContext","inputProps","labelProps","textFieldProps","userAssistanceProps","useTextField","styleVariant","onClickClearIcon","maybeClearIcon","useClearIcon","clearIcon","ClearIcon","onClick","display","hasValue","isEnabled","hasInsideLabel","labelComp","Label","fieldLabelProps","ariaLabel","inlineUserAssistance","aRef","compactUserAssistance","CompactUserAssistance","mainContent","ReadonlyTextFieldInput","id","as","elementRef","hasEmptyLabel","TextFieldInput","hasEndContent","hasStartContent","inputRef","isMobile","_jsxs","ReadonlyTextField","onBlur","onFocusOut","onFocus","onFocusIn","TextField","endContent","startContent","ColorSwatch","size","isButton","isTooltipDisabled","hasZeroStartMargin","isValidColorValue","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', 'preact/compat', 'preact/hooks', './Label-3c17bcc9', './keyboardUtils-fb6219eb', './TextFieldInput-eb40adaa', 'css!./ObfuscatedTextFieldInputStyles.styles.css', './ReadonlyTextFieldInput-e5723c48', './StyledTextField-5e554e5b', './TextField-51b63f5f', './useTranslationBundle-8e42d505', 'css!./LiveRegionStyles.styles.css', './LayerHost-daf96749', './UNSAFE_TextField/themes/TextFieldStyles.css', 'css!./SkeletonStyles.styles.css', 'css!./TextFieldLoadingStyles.styles.css', 'css!./TextFieldStyles.styles.css', 'module', './UNSAFE_TextField/themes/redwood/TextFieldVariants.css', './logger-0f873e29', './TabbableModeContext-a9c97640', 'css!./UserAssistanceStyles.styles.css', 'module', './UNSAFE_UserAssistance/themes/redwood/UserAssistanceVariants.css', './InlineUserAssistance-e406e352', './CompactUserAssistance-5ef03b0a', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-ae57629b', 'preact', 'css!./IconStyle.styles.css', './Popup-695781d6', 'css!./LabelStyles.styles.css', 'module', './UNSAFE_Label/themes/redwood/LabelVariants.css', './InputGroupContext-372087af', 'css!./HiddenAccessibleStyles.styles.css', 'module', './UNSAFE_Popup/themes/redwood/PopupVariants.css', './useFocusableTextField-8b755b15', './FormContext-6b0879a0', './useFormContext-b8cbbb21', './FormFieldContext-a024b891', './useTextField-3ab0a23b', './useUser-12ec03f1', './getFormatParse-7ea0c25b', './calendarDateUtils-dd5b75ee', './maskUtils-8e7a7701', './stringUtils-4ffd9d59', './useComponentTheme-5aa41a8f', './useFormFieldContext-9260f081', './Flex-07d2aa5b', './HiddenAccessible-037ef42d', './LiveRegion-ef77cf92', './UNSAFE_TextField/themes/redwood/TextFieldInputTheme', './formControlUtils-de035f75', './classNames-08d99695', './clientHints-6d361eaa', './UNSAFE_InputDateMask/themes/SegmentStyles.css', './useDoubleTap-b6bf5458', './useTabbableMode-df433329'], (function(e,t,a,s,n,i,r,o,l,d,c,u,m,p,y,g,b,f,h,v,x,D,S,C,T,F,k,A,I,w,R,P,U,E,L,_,M,B,j,H,O,N,V,q,Y,W,K,$,z,X,Z,G,J,Q,ee,te,ae,se,ne,ie,re,oe,le){"use strict";const de=e=>{e.preventDefault()},ce=()=>"ios"===ie.getClientHints().platform,ue=({"aria-label":e,"aria-valuemax":a,"aria-valuemin":n,"aria-valuenow":r,"aria-valuetext":o,inputRef:l,isComplete:d,isDisabled:c,isHidden:m,isHighlighted:p,isInvalid:y,isRequired:g,isSelected:b,onChange:f,placeholder:h,text:v,type:x})=>{const D=v&&v.length>0,S=ne.classNames([re.segmentStyles.base,b&&re.segmentStyles.selected,p&&re.segmentStyles.highlighted]),C=ne.classNames([re.segmentStyles.placeholder,m||D?re.segmentStyles.hidden:re.segmentStyles.notHidden]),T=u.useTranslationBundle("@oracle/oraclejet-preact").inputDateMask_empty_segment(),F=s.useRef(null),k=l??F,A=s.useRef(!1),{locale:I}=K.useUser(),w=s.useCallback((e=>{if(!c&&"Tab"!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key&&"Enter"!==e.key&&"Escape"!==e.key&&!i.isSelectAll(e)){if(p){if(i.isBackspaceOrDelete(e)||"Backspace"===e.key)return}else"0"!==e.key||!d&&void 0!==v?X.isNumberOnlyString(e.key)?(f?.({actionType:"updateSegment",data:{type:x,text:e.key,hasLeadingZero:A.current,locale:I}}),A.current=!1):i.isBackspaceOrDelete(e)||"Backspace"===e.key?(f?.({actionType:"clearSegment",data:{type:x}}),A.current=!1):"ArrowUp"===e.key?(f?.({actionType:"step",data:{direction:"increase",locale:I,type:x}}),A.current=!1):"ArrowDown"===e.key?(f?.({actionType:"step",data:{direction:"decrease",locale:I,type:x}}),A.current=!1):"PageUp"===e.key?(f?.({actionType:"page",data:{direction:"increase",locale:I,type:x}}),A.current=!1):"PageDown"===e.key?(f?.({actionType:"page",data:{direction:"decrease",locale:I,type:x}}),A.current=!1):"Home"===e.key?(f?.({actionType:"goToHome",data:{locale:I,type:x}}),A.current=!1):"End"===e.key&&(f?.({actionType:"goToEnd",data:{locale:I,type:x}}),A.current=!1):A.current=!0;e.preventDefault(),e.stopPropagation()}}),[d,c,p,I,f,v,x]);s.useEffect((()=>{b&&k.current?.focus()}),[b,k]);const R={"data-segment":[x]},P=void 0===o?T:r?.toString()===o?void 0:o;return t.jsx("div",{children:t.jsxs("div",{ref:k,role:ce()?"textbox":"spinbutton","aria-disabled":c,"aria-invalid":y||void 0,"aria-label":e,"aria-multiline":!ce()&&void 0,"aria-required":g,"aria-valuemin":ce()?void 0:n,"aria-valuemax":ce()?void 0:a,"aria-valuenow":ce()?void 0:r,"aria-valuetext":ce()?void 0:P,autocapitalize:"off",autocorrect:"off",class:S,contentEditable:!c,...R,enterkeyhint:c?void 0:"done",inputMode:c?"none":"numeric",onCut:de,onKeyDown:w,onPaste:de,spellcheck:!1,tabIndex:b?0:-1,children:[t.jsx("span",{"aria-hidden":"true",class:C,...R,children:h}),v]})})},me=({isHidden:e,isHighlighted:a,isPlaceholder:s,text:n})=>{const i=ne.classNames([re.segmentStyles.literalBase,s&&re.segmentStyles.placeholder,a&&re.segmentStyles.highlighted,e?re.segmentStyles.hidden:re.segmentStyles.notHidden]);return t.jsx("span",{"aria-hidden":"true",class:i,children:n})},pe=(e,t)=>{if("reset"===t.actionType)return t.data;switch(t.actionType){case"clearDate":{const t=Pe(Ie(e.segments),e.orderedSegments);return je(e,t,!1)}case"clearSegment":{const a=Ae(be(e.segments,t.data.type));return ke(e,t.data.type,a)}case"deselectAndComplete":{let t=qe(e.segments);return t=Me(t),je(e,t,!1)}case"commitOnBlur":{const t=qe(e.segments),a=Me(t);return{...je(e,a,!1),isCommitting:!0}}case"commitOnEnter":{const t=qe(e.segments);return{...je(e,t,!1),isCommitting:!0}}case"committed":return{...e,isCommitting:!1};case"goToEnd":{const a=Ne(t.data.type,be(e.segments,t.data.type),e.segments,t.data.locale);return ke(e,t.data.type,a,!1)}case"goToHome":{const a=Oe(t.data.type,be(e.segments,t.data.type),e.segments,t.data.locale);return ke(e,t.data.type,a,!1)}case"page":{const a=t.data.direction,s=t.data.locale,n=Ve(t.data.type,be(e.segments,t.data.type),e.segments,"page",a,s);return ke(e,t.data.type,n,!1)}case"selectDateOrSegment":return Be(e);case"selectFirst":{const t=Pe(e.segments,e.orderedSegments);return je(e,t,!1)}case"selectNext":{const t=Le(e.segments,e.orderedSegments);return je(e,t,!1)}case"selectPrevious":{const t=_e(e.segments,e.orderedSegments);return je(e,t,!1)}case"selectSegment":{const a=Re(e.segments,t.data.type);return je(e,a,!1)}case"step":{const a=t.data.direction,s=t.data.locale,n=Ve(t.data.type,be(e.segments,t.data.type),e.segments,"step",a,s);return ke(e,t.data.type,n,!1)}case"updateSegment":{const a=we(t.data.type,be(e.segments,t.data.type),t,e.segments);return ke(e,t.data.type,a)}default:throw new Error("Unknown action type")}},ye=e=>+e,ge=e=>e.toString(),be=(e,t)=>e.find((e=>e.type===t)),fe=e=>e.every((e=>e.text&&e.text.length>0)),he=e=>e.some((e=>void 0!==e["aria-valuenow"])),ve=e=>{if(!he(e))return;const t=e.map((e=>({[e.type]:e["aria-valuenow"]}))).values();let a={};for(const e of t)a={...a,...e};return a},xe=e=>be(e,"year")["aria-valuenow"],De=(e,t,a)=>`${t} - ${X.getMonthName(e,t,a??"*","long")}`,Se=e=>[...e.orderedSegments],Ce=(e,t,a)=>e.map((e=>e.type===t?a:e)),Te=(e,t,a,s,n)=>{const i=Ce(e,a,s);let r=i;if("month"===a||"year"===a){const e=be(i,"day");if(e){const t="month"==a?s["aria-valuenow"]:be(i,"month")["aria-valuenow"],o="year"===a?s["aria-valuenow"]:xe(i),l=t&&2===t&&o&&o<1e3&&"year"===a&&n?29:z.getDaysInMonth(t??"*",o??"*"),d=e["aria-valuenow"],c=d&&d>l?l:d,u=void 0!==c?ge(c):void 0,m={...e,"aria-valuemax":l,"aria-valuenow":c,"aria-valuetext":u,text:u};r=Ce(i,"day",m)}}return r=s.isComplete&&n?Le(r,t):r,r},Fe=(e,t)=>({isCommitting:e.isCommitting,currentDate:ve(t),isCompleteDate:fe(t),isDateSelected:e.isDateSelected,isPartialDate:he(t),orderedSegments:Se(e),segments:t}),ke=(e,t,a,s=!0)=>{const n=Te(e.segments,e.orderedSegments,t,a,s);return Fe(e,n)},Ae=e=>({...e,"aria-valuetext":void 0,"aria-valuenow":void 0,text:void 0,isComplete:!1}),Ie=e=>e.map((e=>{const t=Ae(e),a="year"===t.type?z.MAX_ISO_YEAR:"month"===t.type?z.getMonthsInYear("*"):z.getDaysInMonth("*","*");return{...t,"aria-valuemax":a}})),we=(e,t,a,s)=>{const n=a.data.text,i=a.data.hasLeadingZero,r=a.data.locale,o=t["aria-valuemin"],l=t["aria-valuemax"],d=t.isComplete?n:t.text+n,c=ye(d),u=(p=l,(m=c)>=o&&m<=p);var m,p;const y=u?d:n,g=u?c:ye(n),b=((e,t)=>ye(ge(e)+"0")>t)(g,l)||!!i&&"year"!==e,f="month"===e?De(r,g,xe(s)):y;return{...t,"aria-valuetext":f,"aria-valuenow":g,text:y,isComplete:b}},Re=(e,t)=>qe(e).map((e=>({...e,isSelected:e.type===t}))),Pe=(e,t)=>Re(e,t[0]),Ue=(e,t)=>{const a=e.find((e=>!0===e.isSelected));return void 0===a?-1:t.findIndex((e=>e===a.type))},Ee=e=>e.map((e=>e.isSelected?{...e,isComplete:!0}:e)),Le=(e,t)=>{const a=Ue(e,t);return a===t.length-1?e:Re(Ee(e),t[a+1])},_e=(e,t)=>{const a=Ue(e,t);return 0===a?e:-1===a?Pe(e,t):Re(Ee(e),t[a-1])},Me=e=>e.map((e=>({...e,isSelected:!1,isComplete:!!e.text}))),Be=e=>{if(e.isCompleteDate)return je(e,e.segments.map((e=>({...e,isSelected:!1}))),!0);{const t=Pe(e.segments,e.orderedSegments);return Fe(e,t)}},je=(e,t,a)=>({isCommitting:e.isCommitting,currentDate:ve(t),isCompleteDate:fe(t),isDateSelected:a,isPartialDate:he(t),orderedSegments:Se(e),segments:t}),He=(e,t,a,s,n)=>{const i=ge(e);return{...s,"aria-valuetext":"month"===a?De(t,e,xe(n)):i,"aria-valuenow":e,text:i,isComplete:!0}},Oe=(e,t,a,s)=>{const n=((e,t)=>"year"===e?1900:t["aria-valuemin"])(e,t);return He(n,s,e,t,a)},Ne=(e,t,a,s)=>{const n=((e,t)=>"year"===e?2100:t["aria-valuemax"])(e,t);return He(n,s,e,t,a)},Ve=(e,t,a,s,n,i)=>{const r=t["aria-valuenow"],o=t["aria-valuemin"],l=t["aria-valuemax"],d=void 0===r?(e=>{const{year:t,month:a,day:s}=X.getTodayAsCalendarDate();return{year:t,month:a,day:s}[e]})(e):"page"===s?((e,t,a,s,n)=>{const i="month"===n?2:"year"===n?5:7;return"increase"===t?e+i>s?(e+i)%s:e+i:e-i<a?e-i+s:e-i})(r,n,o,l,e):((e,t,a,s)=>"increase"===t?e+1>s?a:e+1:e-1<a?s:e-1)(r,n,o,l);return He(d,i,e,t,a)},qe=e=>{const t=e.find((e=>"month"===e.type)),a=e.find((e=>"day"===e.type)),s=e.find((e=>"year"===e.type)),n=s?.["aria-valuenow"];if(void 0!==n&&n<1e3&&!$.isLeapYear(n)&&2===t?.["aria-valuenow"]&&29===a?.["aria-valuenow"]){const t={...a,"aria-valuemax":28,"aria-valuenow":28,"aria-valuetext":"28",text:"28"};return Ce(e,"day",t)}return e};const Ye=({dateResetRef:e,direction:t,dispatch:a,groupRef:n,isDisabled:r,isInputFocused:o,onCommit:l,onInput:d,state:c,value:u})=>{const{tabbableModeProps:m}=le.useTabbableMode(),{tabIndex:p}=m,y=c.segments.some((e=>!!e.isSelected)),g=-1===p||y||r?-1:0,b=s.useRef(c.currentDate),f=s.useRef(c.currentDate),h=s.useRef(!1);e.current&&(b.current=u,f.current=u);const v=s.useCallback((()=>{X.calendarDatesAreDifferent(f.current,c.currentDate)&&(l?.({value:c.currentDate}),f.current=c.currentDate)}),[l,c.currentDate]),x=s.useCallback((()=>{a({actionType:"commitOnBlur"})}),[a]),D=s.useCallback((e=>{a(e)}),[a]),S=s.useCallback((e=>{const t=e.target.getAttribute("data-segment");a(null!==t?{actionType:"selectSegment",data:{type:t}}:{actionType:"selectFirst"})}),[a]),C=s.useCallback(((e=!0)=>{c.isCompleteDate&&(a({actionType:"selectDateOrSegment"}),e&&n?.current?.focus())}),[a,n,c.isCompleteDate]),T=s.useCallback((()=>{C()}),[C]),F=s.useCallback((e=>{e.target.getAttribute("data-segment")&&C(!1)}),[C]),k=oe.useDoubleTap({onDoubleTap:F,onSingleTap:S}),A=s.useCallback((e=>{"ltr"===t&&"ArrowLeft"===e.key||"rtl"===t&&"ArrowRight"===e.key?(a({actionType:"selectPrevious"}),e.stopPropagation()):"ltr"===t&&"ArrowRight"===e.key||"rtl"===t&&"ArrowLeft"===e.key?(a({actionType:"selectNext"}),e.stopPropagation()):(i.isBackspaceOrDelete(e)||"Backspace"===e.key)&&c.isDateSelected?(a({actionType:"clearDate"}),h.current=!0,e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation()):i.isSelectAll(e)?(C(),e.preventDefault(),e.stopPropagation()):"Enter"===e.key&&(a({actionType:"commitOnEnter"}),e.preventDefault(),e.stopPropagation())}),[t,a,C,c.isDateSelected]);s.useLayoutEffect((()=>{if(X.calendarDatesAreDifferent(b.current,c.currentDate)&&!e.current){const e=void 0!==c.currentDate?Object.freeze({...c.currentDate}):c.currentDate;d({value:e}),b.current=e}e.current=!1}),[d,c.currentDate,e]),s.useLayoutEffect((()=>{c.isCommitting&&(v(),a({actionType:"committed"}))}),[a,v,c.isCommitting]);const I=s.useRef(!1),w=s.useRef();s.useEffect((()=>{o&&!I.current&&a({actionType:"selectFirst"}),!o&&!I.current&&a({actionType:"deselectAndComplete"}),I.current=!1}),[a,o]);const R=function(){const e=ie.getClientHints().deviceType;return"phone"===e||"tablet"===e}()?{...k,onKeyDown:A}:{onClick:S,onDoubleClick:T,onKeyDown:A,onPointerDown:()=>{I.current=!0,clearTimeout(w.current),w.current=setTimeout((()=>{I.current=!1}),200)}};return{dateClearedRef:h,dateFieldHandlers:r?{}:R,handleCommitOnBlur:x,segmentHandlers:r?{}:{onChange:D},tabIndex:g}},We=(e,t)=>e.find((e=>e.type===t)),Ke=a.forwardRef((({"aria-describedby":e,"aria-invalid":a,"aria-label":n,"aria-labelledby":i,baseId:r,fieldRef:o,granularity:l="day",hasInsideLabel:d,isRequired:c,masks:m,onBlur:p,onCommit:y,onFocus:g,onInput:b,textAlign:f,value:h,variant:v="default"},x)=>{const D=u.useTranslationBundle("@oracle/oraclejet-preact"),S=D.inputDateMask_date_cleared(),C={month:D.formControl_month(),day:D.formControl_day(),year:D.formControl_year()},{direction:T,locale:F}=K.useUser(),{isDisabled:k,isFocused:A,isInputFocused:I}=J.useFormFieldContext(),w=void 0!==h,{classes:R}=G.useComponentTheme(ae.TextFieldInputRedwoodTheme,{type:"notPassword",styleVariant:se.isEmbeddedVariant(v)?"embedded":"default",textarea:"notTextArea",input:"notInput",div:"isDiv",prefix:"noPrefix",suffix:"noSuffix",startContent:"noStartContent",endContent:"noEndContent",insideLabel:d?"hasInsideLabel":"noInsideLabel",value:w?"hasValue":"noValue",focused:A?"isFocused":"notFocused",disabled:k?"isDisabled":"notDisabled"}),P=ne.classNames([R]),{state:U,dispatch:E,dateResetRef:L}=(({ariaLabels:e,dateMasks:t,granularity:a,locale:n,value:i})=>{const r=t.filter((({type:e})=>"literal"!==e)).map((({type:e})=>e)),o=i?.year,l=i?.month,d=i?.day,c=z.getMonthsInYear(o??"*"),u=z.getDaysInMonth(l??"*",o??"*"),m=!(!o||!l||"month"!==a&&!d),p=!!o||!!l||!!d,y=o?ge(o):void 0,g=l?ge(l):void 0,b=d?ge(d):void 0,f=l?De(n,l,o):void 0,h=[{type:"day","aria-label":e.day,"aria-valuemin":z.MIN_ISO_DAY,"aria-valuemax":u,"aria-valuenow":d,"aria-valuetext":b,isComplete:!!d,isSelected:!1,text:b}],v={isCommitting:!1,currentDate:i,isCompleteDate:m,isDateSelected:!1,isPartialDate:p,orderedSegments:r,segments:[{type:"year","aria-label":e.year,"aria-valuemin":z.MIN_ISO_YEAR,"aria-valuemax":z.MAX_ISO_YEAR,"aria-valuenow":o,"aria-valuetext":y,isComplete:!!o,isSelected:!1,text:y},{type:"month","aria-label":e.month,"aria-valuemin":z.MIN_ISO_MONTH,"aria-valuemax":c,"aria-valuenow":l,"aria-valuetext":f,isComplete:!!l,isSelected:!1,text:g},..."day"===a?h:[]]},[x,D]=s.useReducer(pe,v),S=s.useRef(i),C=s.useRef(!1);return X.calendarDatesAreDifferent(S.current,i)&&(S.current=i,X.calendarDatesAreDifferent(i,x.currentDate)&&(D({actionType:"reset",data:v}),C.current=!0)),{dateResetRef:C,dispatch:D,state:x}})({ariaLabels:C,dateMasks:m,granularity:l,locale:F,value:h}),{isDateSelected:_,isPartialDate:M,segments:B}=U,j={year:We(B,"year"),month:We(B,"month"),day:"day"===l?We(B,"day"):void 0},H=s.useRef(null),{dateClearedRef:O,dateFieldHandlers:N,handleCommitOnBlur:V,segmentHandlers:q,tabIndex:Y}=Ye({dateResetRef:L,direction:T,dispatch:E,groupRef:H,isDisabled:k,isInputFocused:I,onCommit:y,onInput:b,state:U,value:h});s.useImperativeHandle(x,(()=>({handleCommitOnBlur:V})),[V]);const W=void 0===h&&d&&!A,$=U.isCompleteDate?z.formatFullCalendarDate(F,U.currentDate,l):"",ie=`${r}-date`,re=U.isCompleteDate?t.jsx(ee.HiddenAccessible,{id:ie,children:$}):void 0,oe=U.isCompleteDate?Z.l([e,ie]):e,le=O.current?S:"",de=U.orderedSegments[0];return t.jsxs("div",{"aria-describedby":oe,"aria-label":n,"aria-labelledby":i,class:P,onFocusIn:g,onFocusOut:p,ref:H,role:"group",tabIndex:Y,...N,children:[t.jsx(Q.Flex,{direction:"row",wrap:"nowrap",justify:f,children:m.map((({type:e,value:s})=>{const n="literal"!==e?j[e]:{};return"literal"===e?t.jsx(me,{isHidden:W,isHighlighted:_,isPlaceholder:!M,text:s}):t.jsx(ue,{inputRef:e===de?o:void 0,isDisabled:k,isInvalid:!!a,isHidden:W,isHighlighted:_,isRequired:c,placeholder:s,type:e,...q,...n})}))}),re,t.jsx(te.LiveRegion,{children:le})]})})),$e=P.createContext({isInputDatePickerParent:!1,isDropdownOpen:!1}),ze=()=>s.useContext($e),Xe=a.forwardRef((({"aria-describedby":e,assistiveText:a,columnSpan:i,endContent:r,granularity:o="day",helpSourceLink:m,helpSourceText:p,isDisabled:y,isReadonly:g,isRequired:b,isRequiredShown:f,label:h,labelEdge:v,labelStartWidth:x,mainFieldRef:D,messages:S,masks:C,testId:T,textAlign:A,userAssistanceDensity:I,value:w,variant:R,onCommit:P,onInput:U},E)=>{const{isDisabled:L,isReadonly:_,labelEdge:M,labelStartWidth:B,textAlign:j,userAssistanceDensity:H}=q.useFormContext(),O=y??L,V=g??_,$=v??M,Z=x??B,G=A??j??"start",J=I??H,Q=s.useRef(null),ee=s.useRef(null),te=s.useRef(null),ae=D??te,se=s.useRef(null),{isDropdownOpen:ne,isInputDatePickerParent:ie}=ze(),re=s.useCallback((()=>{(!ie||!ne)&&se.current?.handleCommitOnBlur()}),[ne,ie]),{focusProps:oe,isFocused:le,methods:de}=N.useFocusableTextField({isDisabled:O,isReadonly:V,enabledElementRef:Q,onBlurWithin:re,readonlyElementRef:ee});s.useImperativeHandle(E,(()=>de),[de]);const ce=le||ie&&ne,{baseId:ue,formFieldContext:me,inputProps:pe,labelProps:ye,textFieldProps:ge,userAssistanceProps:be}=W.useTextField({ariaDescribedBy:e,helpSourceLink:m,helpSourceText:p,isDisabled:O,isFocused:ce,isReadonly:V,isRequiredShown:f,labelEdge:$,messages:S,styleVariant:R,userAssistanceDensity:J,value:w}),{forId:fe,...he}=ye,{id:ve,...xe}=pe,De=he.id,Se=s.useCallback((()=>{Q.current?.focus()}),[Q]),Ce="none"!==$?t.jsx(n.Label,{...O||V?{}:{onClick:Se},...he,children:h}):void 0,Te={label:"none"!==$?Ce:void 0,labelEdge:"none"!==$?$:void 0,labelStartWidth:"none"!==$?Z:void 0,labelText:"inside"!==$||O?void 0:h},Fe="none"===$?h:void 0,ke=void 0!==h&&"inside"===$,Ae="efficient"===J||"reflow"===J?O?"efficient"!==J?void 0:t.jsx(F.InlineUserAssistance,{userAssistanceDensity:J,...be}):V?t.jsx(F.InlineUserAssistance,{fieldLabel:h,messages:S,userAssistanceDensity:J,...be}):t.jsx(F.InlineUserAssistance,{assistiveText:a,fieldLabel:h,helpSourceLink:m,helpSourceText:p,messages:S,isRequiredShown:f,userAssistanceDensity:J,...be}):void 0,Ie="compact"===J?t.jsx(k.CompactUserAssistance,{anchorRef:ae,messages:S,assistiveText:a,...be}):void 0,{locale:we}=K.useUser(),Re=u.useTranslationBundle("@oracle/oraclejet-preact"),Pe=Re.inputDateMask_monthPlaceholder(),Ue=Re.inputDateMask_dayPlaceholder(),Ee=Re.inputDateMask_yearPlaceholder();if(C&&("day"===o&&5!==C.length||"month"===o&&3!==C.length))throw new Error("Specified masks must match the granularity");const Le=s.useMemo((()=>C?X.translateCustomMasks(C,Pe,Ue,Ee):z.getDatePlaceholderMasks(we,o,Pe,Ue,Ee)),[C,we,o,Ue,Pe,Ee]);if(V)return t.jsx(Y.FormFieldContext.Provider,{value:me,children:t.jsx(d.ReadonlyTextField,{role:"presentation",columnSpan:i,compactUserAssistance:Ie,inlineUserAssistance:Ae,onBlur:oe.onFocusOut,onFocus:oe.onFocusIn,ref:ae,testId:T,mainContent:t.jsx(l.ReadonlyTextFieldInput,{"aria-describedby":xe["aria-describedby"],"aria-label":Fe,"aria-labelledby":he.id,as:"div",elementRef:ee,textAlign:G,value:void 0===w?"":z.formatShortCalendarDate(w,o,Le),hasEmptyLabel:""===h&&"none"===$,hasInsideLabel:ke,onBlur:pe.onBlur,onFocus:pe.onFocus}),...Te})});const _e=t.jsx(Ke,{"aria-label":Fe,"aria-labelledby":De,baseId:ue,fieldRef:Q,granularity:o,hasInsideLabel:void 0!==Ce&&"inside"===$,isRequired:b,masks:Le,onCommit:P,onInput:U,ref:se,textAlign:G,value:w,...xe});return t.jsx(Y.FormFieldContext.Provider,{value:me,children:t.jsx(c.TextField,{columnSpan:i,compactUserAssistance:Ie,endContent:r,inlineUserAssistance:Ae,mainContent:_e,onBlur:oe.onFocusOut,onFocus:oe.onFocusIn,mainFieldRef:ae,testId:T,...ge,...Te})})}));e.InputDateMask=Xe,e.InputDateMaskContext=$e,e.useInputDateMaskContext=ze}));
|
|
2
|
+
//# sourceMappingURL=InputDateMask-2fdb6f26.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputDateMask-2fdb6f26.js","sources":["../../src/UNSAFE_InputDateMask/DateSegment.tsx","../../src/UNSAFE_InputDateMask/LiteralSegment.tsx","../../src/UNSAFE_InputDateMask/dateReducer.ts","../../src/UNSAFE_InputDateMask/useDateFieldHandlers.ts","../../src/UNSAFE_InputDateMask/DateField.tsx","../../src/UNSAFE_InputDateMask/useDateField.ts","../../src/UNSAFE_InputDateMask/InputDateMaskContext.ts","../../src/UNSAFE_InputDateMask/InputDateMask.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport type { RefObject, JSX } from 'preact';\nimport { useCallback, useEffect, useRef } from 'preact/hooks';\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\nimport { BundleType } from '#resources/nls/bundle';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { DateReducerAction } from './dateReducer';\nimport { getClientHints } from '#utils/PRIVATE_clientHints';\nimport { EditableDateSegment } from './types';\nimport { isBackspaceOrDelete, isSelectAll } from '#utils/PRIVATE_keyboardUtils';\nimport { isNumberOnlyString } from '#utils/PRIVATE_dayUtils';\nimport { segmentStyles } from './themes/SegmentStyles.css';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { useUser } from '#hooks/UNSAFE_useUser';\n\ntype AriaProps = Pick<\n UnpackSignals<JSX.AriaAttributes>,\n 'aria-label' | 'aria-valuemax' | 'aria-valuemin' | 'aria-valuenow' | 'aria-valuetext'\n>;\n\ntype Props = AriaProps & {\n /** A ref that is provided for the first segment in a date field. */\n inputRef?: RefObject<HTMLDivElement>;\n\n /**\n * True if the segment is complete in the sense that it contains a complete valid value.\n * For instance, entering '0' and then '1-9' is considered a complete value for month and day.\n * Also true if typing any additional digit would cause the segment value to exceed the max.\n */\n isComplete?: boolean;\n\n /**\n * True if the segment is disabled.\n */\n isDisabled?: boolean;\n\n /**\n * True if the segment should be hidden.\n */\n isHidden?: boolean;\n\n /**\n * True if the segment is highlighted.\n */\n isHighlighted?: boolean;\n\n /**\n * True if the segment is invalid.\n */\n isInvalid?: boolean;\n\n /**\n * Specifies for accessibility purposes whether a value is required.\n */\n isRequired?: boolean;\n\n /**\n * True if the segment is selected.\n */\n isSelected?: boolean;\n\n /**\n * Placeholder displayed when the segment has no display value.\n */\n placeholder?: string;\n\n /**\n * The text to display for this segment.\n */\n text?: string;\n\n /**\n * The segment of a calendar date which is being represented, i.e. the month, day, or year.\n */\n type: EditableDateSegment;\n\n /**\n * Callback invoked when a change to the segment is requested via user action, such as typing\n * a new value or pressing the Backspace or Delete keys.\n */\n onChange?: (action: DateReducerAction) => void;\n};\n\n// Used to disable browser cut and paste, which don't really work with segments (copy is fine).\nconst preventDefaultHandler = (e: Event) => {\n e.preventDefault();\n};\n\nconst isIos = () => getClientHints().platform === 'ios';\n\n/**\n * A DateSegment renders a part of a calendar date, e.g. the day, month, or year.\n * It can be used as a spinbutton to step or spin its value.\n */\nexport const DateSegment = ({\n 'aria-label': ariaLabel,\n 'aria-valuemax': ariaValueMax,\n 'aria-valuemin': ariaValueMin,\n 'aria-valuenow': ariaValueNow,\n 'aria-valuetext': ariaValueText,\n inputRef,\n isComplete,\n isDisabled,\n isHidden,\n isHighlighted,\n isInvalid,\n isRequired,\n isSelected,\n onChange,\n placeholder,\n text,\n type\n}: Props) => {\n const hasDisplayValue = text && text.length > 0;\n const rootClasses = classNames([\n segmentStyles.base,\n isSelected && segmentStyles.selected,\n isHighlighted && segmentStyles.highlighted\n ]);\n const placeholderClasses = classNames([\n segmentStyles.placeholder,\n isHidden || hasDisplayValue ? segmentStyles.hidden : segmentStyles.notHidden\n ]);\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const emptySegmentValueText = translations.inputDateMask_empty_segment();\n\n // If a ref was passed in, use it, otherwise get a ref.\n const sRef = useRef<HTMLDivElement>(null);\n const segmentRef = inputRef ?? sRef;\n\n const hasLeadingZero = useRef<boolean>(false);\n const { locale } = useUser();\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (\n isDisabled ||\n event.key === 'Tab' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight' ||\n event.key === 'Enter' ||\n // JET-73224: let Escape pass through in order to close a popup or dialog.\n event.key === 'Escape' ||\n isSelectAll(event)\n ) {\n // Let the event pass through.\n return;\n }\n\n if (isHighlighted) {\n // If date is selected, ignore edits and let backspace/delete pass through to clear.\n if (isBackspaceOrDelete(event) || event.key === 'Backspace') {\n return;\n }\n } else if (event.key === '0' && (isComplete || text === undefined)) {\n // Typing '0' is considered a leading zero if the segment is complete, in which case\n // the user is typing a new value, or if there is no current value.\n hasLeadingZero.current = true;\n } else if (isNumberOnlyString(event.key)) {\n onChange?.({\n actionType: 'updateSegment',\n data: { type, text: event.key, hasLeadingZero: hasLeadingZero.current, locale }\n });\n hasLeadingZero.current = false;\n } else if (isBackspaceOrDelete(event) || event.key === 'Backspace') {\n // Android sends Backspace as event.key, not event.code, so check for it.\n onChange?.({ actionType: 'clearSegment', data: { type } });\n hasLeadingZero.current = false;\n } else if (event.key === 'ArrowUp') {\n onChange?.({ actionType: 'step', data: { direction: 'increase', locale, type } });\n hasLeadingZero.current = false;\n } else if (event.key === 'ArrowDown') {\n onChange?.({ actionType: 'step', data: { direction: 'decrease', locale, type } });\n hasLeadingZero.current = false;\n } else if (event.key === 'PageUp') {\n onChange?.({ actionType: 'page', data: { direction: 'increase', locale, type } });\n hasLeadingZero.current = false;\n } else if (event.key === 'PageDown') {\n onChange?.({ actionType: 'page', data: { direction: 'decrease', locale, type } });\n hasLeadingZero.current = false;\n } else if (event.key === 'Home') {\n onChange?.({ actionType: 'goToHome', data: { locale, type } });\n hasLeadingZero.current = false;\n } else if (event.key === 'End') {\n onChange?.({ actionType: 'goToEnd', data: { locale, type } });\n hasLeadingZero.current = false;\n }\n event.preventDefault();\n event.stopPropagation();\n },\n [isComplete, isDisabled, isHighlighted, locale, onChange, text, type]\n );\n\n // Used to focus the segment when isSelected is true.\n useEffect(() => {\n if (isSelected) {\n segmentRef.current?.focus();\n }\n }, [isSelected, segmentRef]);\n\n // This attribute is used to distinguish between segments when clicked (see DateField.tsx).\n const customDataAttribute = { 'data-segment': [type] };\n\n // If ariaValueText is undefined, substitute a string that indicates the segment is empty.\n // If ariaValueNow and ariaValueText represent the same value, omit the value text; this\n // is the same as what we do in NumberInputText.\n const valueText =\n ariaValueText === undefined\n ? emptySegmentValueText\n : ariaValueNow?.toString() === ariaValueText\n ? undefined\n : ariaValueText;\n\n return (\n // Introduce a div wrapper around the contentEditable element to prevent it from grabbing focus.\n // https://stackoverflow.com/questions/34354085/clicking-outside-a-contenteditable-div-stills-give-focus-to-it\n // JET-64874: We change the segment's role to \"textbox\" on iOS to work around a VoiceOver bug, and when we do that\n // we need to add aria-multiline={false}\n <div>\n <div\n ref={segmentRef}\n role={isIos() ? 'textbox' : 'spinbutton'}\n aria-disabled={isDisabled}\n aria-invalid={isInvalid || undefined}\n aria-label={ariaLabel}\n aria-multiline={isIos() ? false : undefined}\n aria-required={isRequired}\n aria-valuemin={isIos() ? undefined : ariaValueMin}\n aria-valuemax={isIos() ? undefined : ariaValueMax}\n aria-valuenow={isIos() ? undefined : ariaValueNow}\n aria-valuetext={isIos() ? undefined : valueText}\n autocapitalize=\"off\"\n autocorrect=\"off\"\n class={rootClasses}\n contentEditable={!isDisabled}\n {...customDataAttribute}\n enterkeyhint={isDisabled ? undefined : 'done'}\n inputMode={isDisabled ? 'none' : 'numeric'}\n onCut={preventDefaultHandler}\n onKeyDown={onKeyDown}\n onPaste={preventDefaultHandler}\n spellcheck={false}\n tabIndex={isSelected ? 0 : -1}>\n <span aria-hidden=\"true\" class={placeholderClasses} {...customDataAttribute}>\n {placeholder}\n </span>\n {text}\n </div>\n </div>\n );\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { segmentStyles } from './themes/SegmentStyles.css';\n\ntype Props = {\n /**\n * True if the segment should be hidden.\n */\n isHidden?: boolean;\n\n /**\n * True if the segment should be highlighted.\n */\n isHighlighted?: boolean;\n\n /**\n * True if the literal is part of a date placeholder, such as mm/dd/yyyy.\n * If the date is partially specified or complete, this is false.\n */\n isPlaceholder?: boolean;\n\n /**\n * The text to display for this segment.\n */\n text: string;\n};\n\n/**\n * LiteralSegment is used to represent a literal separator in a calendar date,\n * such as the '/' in 11/29/2023.\n */\nexport const LiteralSegment = ({ isHidden, isHighlighted, isPlaceholder, text }: Props) => {\n const spanClasses = classNames([\n segmentStyles.literalBase,\n isPlaceholder && segmentStyles.placeholder,\n isHighlighted && segmentStyles.highlighted,\n isHidden ? segmentStyles.hidden : segmentStyles.notHidden\n ]);\n\n return (\n <span aria-hidden=\"true\" class={spanClasses}>\n {text}\n </span>\n );\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { DateFieldState, DateSegmentState } from './useDateField';\nimport { BCP47Locale } from '#UNSAFE_IntlDateTime';\nimport { CalendarDate, EditableDateSegment, IsoMonth } from './types';\nimport { getMonthName, getTodayAsCalendarDate } from '#utils/PRIVATE_dayUtils';\nimport { getDaysInMonth, getMonthsInYear, MAX_ISO_YEAR } from '#utils/UNSAFE_calendarDateUtils';\nimport { isLeapYear } from '#UNSAFE_IntlDateTime/dateTimeUtils';\n\ntype DirectionType = 'increase' | 'decrease';\ntype SegmentActionData = Pick<DateSegmentState, 'type'>;\ntype HomeEndActionData = SegmentActionData & {\n locale: BCP47Locale;\n};\ntype PageStepActionData = SegmentActionData & {\n direction: DirectionType;\n locale: BCP47Locale;\n};\ntype UpdateActionData = SegmentActionData & {\n text: string;\n hasLeadingZero: boolean;\n locale: BCP47Locale;\n};\ntype DateReducerAction =\n | { actionType: 'clearDate'; data?: never }\n | { actionType: 'clearSegment'; data: SegmentActionData }\n | { actionType: 'commitOnBlur'; data?: never }\n | { actionType: 'commitOnEnter'; data?: never }\n | { actionType: 'committed'; data?: never }\n | { actionType: 'deselectAndComplete'; data?: never }\n | { actionType: 'goToEnd'; data: HomeEndActionData }\n | { actionType: 'goToHome'; data: HomeEndActionData }\n | { actionType: 'page'; data: PageStepActionData }\n | { actionType: 'selectDateOrSegment'; data?: never }\n | { actionType: 'selectFirst'; data?: never }\n | { actionType: 'selectNext'; data?: never }\n | { actionType: 'selectPrevious'; data?: never }\n | { actionType: 'selectSegment'; data: SegmentActionData }\n | { actionType: 'step'; data: PageStepActionData }\n | { actionType: 'updateSegment'; data: UpdateActionData }\n | { actionType: 'reset'; data: DateFieldState };\n\n/**\n * Reducer function for updating DateFieldState per the specified action.\n * @param state\n * @param action\n */\nconst dateReducer = (state: DateFieldState, action: DateReducerAction) => {\n // On mount, the reducer is initialized with initial state derived from the DateField's value.\n // If that value is changed programmatically afterwards, the only way to push that update\n // into the reducer is to define a \"reset\" action.\n if (action.actionType === 'reset') {\n return action.data;\n }\n\n switch (action.actionType) {\n case 'clearDate': {\n const updatedSegments = selectFirst(clearDate(state.segments), state.orderedSegments);\n return createDateFieldStateWithSelectedDate(state, updatedSegments, false);\n }\n case 'clearSegment': {\n const updatedSegment = clearSegment(findSegment(state.segments, action.data.type));\n return createDateFieldState(state, action.data.type, updatedSegment);\n }\n case 'deselectAndComplete': {\n let updatedSegments = checkFeb29EdgeCase(state.segments);\n updatedSegments = clearSelectionAndComplete(updatedSegments);\n return createDateFieldStateWithSelectedDate(state, updatedSegments, false);\n }\n case 'commitOnBlur': {\n const updatedSegments = checkFeb29EdgeCase(state.segments);\n const updatedSegmentsClearedAndComplete = clearSelectionAndComplete(updatedSegments);\n const newState = createDateFieldStateWithSelectedDate(\n state,\n updatedSegmentsClearedAndComplete,\n false\n );\n return { ...newState, isCommitting: true };\n }\n case 'commitOnEnter': {\n const updatedSegments = checkFeb29EdgeCase(state.segments);\n const newState = createDateFieldStateWithSelectedDate(state, updatedSegments, false);\n return { ...newState, isCommitting: true };\n }\n case 'committed': {\n return { ...state, isCommitting: false };\n }\n case 'goToEnd': {\n const updatedSegment = goToEnd(\n action.data.type,\n findSegment(state.segments, action.data.type),\n state.segments,\n action.data.locale\n );\n return createDateFieldState(state, action.data.type, updatedSegment, false);\n }\n case 'goToHome': {\n const updatedSegment = goToHome(\n action.data.type,\n findSegment(state.segments, action.data.type),\n state.segments,\n action.data.locale\n );\n return createDateFieldState(state, action.data.type, updatedSegment, false);\n }\n case 'page': {\n const direction = action.data.direction;\n const locale = action.data.locale;\n const updatedSegment = doStepOrPage(\n action.data.type,\n findSegment(state.segments, action.data.type),\n state.segments,\n 'page',\n direction,\n locale\n );\n return createDateFieldState(state, action.data.type, updatedSegment, false);\n }\n case 'selectDateOrSegment': {\n return selectDateOrSegment(state);\n }\n case 'selectFirst': {\n const updatedSegments = selectFirst(state.segments, state.orderedSegments);\n return createDateFieldStateWithSelectedDate(state, updatedSegments, false);\n }\n case 'selectNext': {\n const updatedSegments = selectNext(state.segments, state.orderedSegments);\n return createDateFieldStateWithSelectedDate(state, updatedSegments, false);\n }\n case 'selectPrevious': {\n const updatedSegments = selectPrevious(state.segments, state.orderedSegments);\n return createDateFieldStateWithSelectedDate(state, updatedSegments, false);\n }\n case 'selectSegment': {\n const updatedSegments = selectSegment(state.segments, action.data.type);\n return createDateFieldStateWithSelectedDate(state, updatedSegments, false);\n }\n case 'step': {\n const direction = action.data.direction;\n const locale = action.data.locale;\n const updatedSegment = doStepOrPage(\n action.data.type,\n findSegment(state.segments, action.data.type),\n state.segments,\n 'step',\n direction,\n locale\n );\n return createDateFieldState(state, action.data.type, updatedSegment, false);\n }\n case 'updateSegment': {\n const updatedSegment = updateSegment(\n action.data.type,\n findSegment(state.segments, action.data.type),\n action,\n state.segments\n );\n return createDateFieldState(state, action.data.type, updatedSegment);\n }\n default: {\n throw new Error('Unknown action type');\n }\n }\n};\n\nconst stringToNumber = (s: string) => +s;\nconst numberToString = (n: number) => n.toString();\nconst withinRange = (n: number, min: number, max: number) => n >= min && n <= max;\n\nconst findSegment = (segments: DateSegmentState[], type: EditableDateSegment): DateSegmentState => {\n return segments.find((segment) => segment.type === type)!;\n};\n\n// A segment is considered complete if appending a zero to the current value causes it\n// to exceed the max. For instance, if you type 2-9 into month or 4-9 into day, the\n// segment is complete because you can't type any more digits and have it be a valid value.\nconst isSegmentComplete = (val: number, max: number) => {\n const num = stringToNumber(numberToString(val) + '0');\n return num > max;\n};\n\n// A date is considered complete if all of its segments have values.\nconst isDateComplete = (allSegments: DateSegmentState[]) => {\n return allSegments.every((seg) => seg.text && seg.text.length > 0);\n};\n\n// A date is considered a partial date if at least one segment has a value.\nconst isPartialDate = (allSegments: DateSegmentState[]) => {\n return allSegments.some((seg) => seg['aria-valuenow'] !== undefined);\n};\n\n// Construct a calendar date that reflects the values of each segment.\n// If none of the segments have a value, return undefined.\nconst createCalendarDateFromSegments = (segments: DateSegmentState[]) => {\n const hasAnySegmentWithAValue = isPartialDate(segments);\n if (!hasAnySegmentWithAValue) {\n return undefined;\n }\n\n // This returns something that looks like [ {month: 12}, {day: 25}, {year: 2020} ].\n // Note: we use the aria-valuenow to get the current value as a number (not string).\n const segmentValues = segments.map((seg) => {\n return { [seg.type]: seg['aria-valuenow'] };\n });\n\n // Iterate over segmentValues and spread each value to get {month: 12, day:25, year: 2020}.\n const iterator = segmentValues.values();\n let cd: CalendarDate = {};\n for (const segValue of iterator) {\n cd = { ...cd, ...segValue };\n }\n return cd;\n};\n\n// Find the current value for year.\nconst getYearValue = (segments: DateSegmentState[]) => {\n const yearState = findSegment(segments, 'year');\n return yearState['aria-valuenow'];\n};\n\n// Find the current value for month.\nconst getMonthValue = (segments: DateSegmentState[]) => {\n const monthState = findSegment(segments, 'month');\n return monthState['aria-valuenow'] as IsoMonth;\n};\n\n// Determine the aria-valuetext for the given month, which includes the month name.\nconst getMonthAria = (locale: BCP47Locale, month: IsoMonth, year: number | undefined) => {\n const monthName = getMonthName(locale, month, year ?? '*', 'long');\n return `${month} - ${monthName}`;\n};\n\n// Return a copy of the ordered segments array.\nconst getOrderedSegments = (currentState: DateFieldState) => {\n return [...currentState.orderedSegments];\n};\n\n// Replace the updated segment and return a new DateSegmentState[].\nconst replaceDateSegment = (\n existingSegments: DateSegmentState[],\n updatedSegmentType: EditableDateSegment,\n updatedSegment: DateSegmentState\n) => {\n return existingSegments.map((seg) => (seg.type === updatedSegmentType ? updatedSegment : seg));\n};\n\n// Return a new DateSegmentState[] that reflects changes across all segments.\n// When you change the month this can affect the day, for instance.\nconst createDateSegmentStates = (\n existingSegments: DateSegmentState[],\n orderedSegments: EditableDateSegment[],\n updatedSegmentType: EditableDateSegment,\n updatedSegment: DateSegmentState,\n autoAdvance: boolean\n) => {\n const modifiedSegments = replaceDateSegment(existingSegments, updatedSegmentType, updatedSegment);\n let updatedSegments = modifiedSegments;\n\n if (updatedSegmentType === 'month' || updatedSegmentType === 'year') {\n // If month was changed, update the day as needed; this includes adjusting the\n // day value if it now exceeds the max number of days in the month.\n // If year was changed, that can also affect the max number of days (if month is February).\n const daySeg = findSegment(modifiedSegments, 'day');\n if (daySeg) {\n const monthValue =\n updatedSegmentType == 'month'\n ? (updatedSegment['aria-valuenow'] as IsoMonth)\n : getMonthValue(modifiedSegments);\n const yearValue =\n updatedSegmentType === 'year'\n ? updatedSegment['aria-valuenow']\n : getYearValue(modifiedSegments);\n\n // We will leave dayMax for Feb to 29 until the year is a 4-digit year when the user is typing.\n // JET-75124 Leap year date of 02/29 is converted to 28 automatically (as soon as you type the first number of the year)\n const isFebAndLessThanFourDigitYear =\n monthValue && monthValue === 2 && yearValue && yearValue < 1000;\n // autoAdvance is true when you type and it is false when you spin. If the user is typing into the year,\n // then we want max day to be 29.\n const dayMax =\n isFebAndLessThanFourDigitYear && updatedSegmentType === 'year' && autoAdvance\n ? 29\n : getDaysInMonth(monthValue ?? '*', yearValue ?? '*');\n const currentDay = daySeg['aria-valuenow'];\n const dayValue = !!currentDay && currentDay > dayMax ? dayMax : currentDay;\n const dayValueStr = dayValue !== undefined ? numberToString(dayValue) : undefined;\n const updatedDaySeg = {\n ...daySeg,\n 'aria-valuemax': dayMax,\n 'aria-valuenow': dayValue,\n 'aria-valuetext': dayValueStr,\n text: dayValueStr\n };\n updatedSegments = replaceDateSegment(modifiedSegments, 'day', updatedDaySeg);\n }\n }\n\n // If the updatedSegment is complete, automatically select the next segment.\n updatedSegments =\n updatedSegment.isComplete && autoAdvance\n ? selectNext(updatedSegments, orderedSegments)\n : updatedSegments;\n\n return updatedSegments;\n};\n\n// Construct a new DateFieldState from a set of updated segments.\nconst createDateFieldStateFromSegments = (\n currentState: DateFieldState,\n updatedSegments: DateSegmentState[]\n) => {\n return {\n isCommitting: currentState.isCommitting,\n currentDate: createCalendarDateFromSegments(updatedSegments),\n isCompleteDate: isDateComplete(updatedSegments),\n isDateSelected: currentState.isDateSelected,\n isPartialDate: isPartialDate(updatedSegments),\n orderedSegments: getOrderedSegments(currentState),\n segments: updatedSegments\n };\n};\n\n// Construct a new DateFieldState given an updated segment, which may affect other segments.\nconst createDateFieldState = (\n currentState: DateFieldState,\n updatedSegmentType: EditableDateSegment,\n updatedSegment: DateSegmentState,\n autoAdvance = true\n): DateFieldState => {\n const updatedSegments = createDateSegmentStates(\n currentState.segments,\n currentState.orderedSegments,\n updatedSegmentType,\n updatedSegment,\n autoAdvance\n );\n\n return createDateFieldStateFromSegments(currentState, updatedSegments);\n};\n\n// Return a new copy of the segment with the value cleared.\nconst clearSegment = (segmentState: DateSegmentState) => {\n return {\n ...segmentState,\n 'aria-valuetext': undefined,\n 'aria-valuenow': undefined,\n text: undefined,\n isComplete: false\n };\n};\n\n// Return a new copy of segments with all values cleared and aria-valuemax adjusted.\nconst clearDate = (segments: DateSegmentState[]) => {\n return segments.map((segmentState) => {\n const cleared = clearSegment(segmentState);\n const valueMax =\n cleared.type === 'year'\n ? MAX_ISO_YEAR\n : cleared.type === 'month'\n ? getMonthsInYear('*')\n : getDaysInMonth('*', '*');\n return { ...cleared, 'aria-valuemax': valueMax };\n });\n};\n\n// Return a new copy of the segment with updated values.\nconst updateSegment = (\n segmentType: EditableDateSegment,\n segmentState: DateSegmentState,\n action: Extract<DateReducerAction, { actionType: 'updateSegment' }>,\n segments: DateSegmentState[]\n) => {\n const actionText = action.data.text;\n const hasLeadingZero = action.data.hasLeadingZero;\n const locale = action.data.locale;\n const minValue = segmentState['aria-valuemin']!;\n const maxValue = segmentState['aria-valuemax']!;\n const wasComplete = segmentState.isComplete;\n\n // If the segment was already complete, replace any existing text with actionText.\n // Otherwise append actionText onto existing text to get the requested string.\n // For instance if the existing text is '1' and actionText (i.e. that the user typed)\n // is '2' then requestedValStr is '12'.\n const requestedValStr = wasComplete ? actionText : segmentState.text + actionText;\n\n // If the requested value is out of range, discard the existing text/value and only\n // keep the new one. Check if the segment is complete.\n const requestedVal = stringToNumber(requestedValStr);\n const inRange = withinRange(requestedVal, minValue, maxValue);\n const newValStr = inRange ? requestedValStr : actionText;\n const newVal = inRange ? requestedVal : stringToNumber(actionText);\n const isComplete =\n isSegmentComplete(newVal, maxValue) || (!!hasLeadingZero && segmentType !== 'year');\n\n // For month changes, aria-valuetext includes the month name.\n const ariaValueText =\n segmentType === 'month'\n ? getMonthAria(locale, newVal as IsoMonth, getYearValue(segments))\n : newValStr;\n\n // Create a new segment state that reflects the updated value.\n return {\n ...segmentState,\n 'aria-valuetext': ariaValueText,\n 'aria-valuenow': newVal,\n text: newValStr,\n isComplete\n };\n};\n\n// Return a new DateSegmentState[] where the specified segment is selected, all others cleared.\nconst selectSegment = (segments: DateSegmentState[], segmentType: EditableDateSegment) => {\n const updatedSegments = checkFeb29EdgeCase(segments);\n return updatedSegments.map((seg) => {\n return { ...seg, isSelected: seg.type === segmentType ? true : false };\n });\n};\n\n// Return a new DateSegmentState[] where the first segment is selected.\nconst selectFirst = (segments: DateSegmentState[], orderedSegments: EditableDateSegment[]) => {\n return selectSegment(segments, orderedSegments[0]);\n};\n\n// Find the index of the selected segment in the ordered list; return -1 if there is no selection.\nconst getSelectedSegmentIndex = (\n segments: DateSegmentState[],\n orderedSegments: EditableDateSegment[]\n) => {\n const sel = segments.find((seg) => seg.isSelected === true);\n return sel === undefined ? -1 : orderedSegments.findIndex((type) => type === sel.type);\n};\n\n// Convenience function to mark the selected segment complete.\nconst markSelectedSegmentComplete = (segments: DateSegmentState[]) => {\n return segments.map((seg) => (seg.isSelected ? { ...seg, isComplete: true } : seg));\n};\n\n// Select the segment following the one that is currently selected.\nconst selectNext = (segments: DateSegmentState[], orderedSegments: EditableDateSegment[]) => {\n const selectedIndex = getSelectedSegmentIndex(segments, orderedSegments);\n const max = orderedSegments.length - 1;\n\n // If we're already at the last position, do nothing. Note if nothing was currently selected\n // then selectedIndex is -1. The first segment will be selected.\n return selectedIndex === max\n ? segments\n : selectSegment(markSelectedSegmentComplete(segments), orderedSegments[selectedIndex + 1]);\n};\n\n// Select the segment prior to the one that is currently selected.\nconst selectPrevious = (segments: DateSegmentState[], orderedSegments: EditableDateSegment[]) => {\n const selectedIndex = getSelectedSegmentIndex(segments, orderedSegments);\n return selectedIndex === 0\n ? segments\n : selectedIndex === -1\n ? selectFirst(segments, orderedSegments)\n : selectSegment(markSelectedSegmentComplete(segments), orderedSegments[selectedIndex - 1]);\n};\n\n// Return a new DateSegmentState[] where all segments are unselected and any values are\n// marked complete. We want to do this when the user commits the DateField value (on blur).\nconst clearSelectionAndComplete = (segments: DateSegmentState[]) => {\n return segments.map((seg) => {\n return { ...seg, isSelected: false, isComplete: !!seg.text };\n });\n};\n\n// Return a new DateSegmentState[] where all segments are unselected.\nconst clearSelection = (segments: DateSegmentState[]) => {\n return segments.map((seg) => {\n return { ...seg, isSelected: false };\n });\n};\n\n// Return a new DateFieldState where the entire date is selected if the date is complete,\n// or the first segment is selected.\nconst selectDateOrSegment = (currentState: DateFieldState) => {\n if (currentState.isCompleteDate) {\n return createDateFieldStateWithSelectedDate(\n currentState,\n clearSelection(currentState.segments),\n true\n );\n } else {\n const updatedSegments = selectFirst(currentState.segments, currentState.orderedSegments);\n return createDateFieldStateFromSegments(currentState, updatedSegments);\n }\n};\n\n// Create a new DateFieldState from the updatedSegments and isDateSelected params.\nconst createDateFieldStateWithSelectedDate = (\n currentState: DateFieldState,\n updatedSegments: DateSegmentState[],\n isDateSelected: boolean\n) => {\n return {\n isCommitting: currentState.isCommitting,\n currentDate: createCalendarDateFromSegments(updatedSegments),\n isCompleteDate: isDateComplete(updatedSegments),\n isDateSelected,\n isPartialDate: isPartialDate(updatedSegments),\n orderedSegments: getOrderedSegments(currentState),\n segments: updatedSegments\n };\n};\n\nconst YEAR_HOME_VALUE = 1900;\nconst YEAR_END_VALUE = 2100;\n\n// If a segment is empty, use today's date as a starting point for any step or page action.\nconst getDefaultSegmentValue = (segmentType: EditableDateSegment) => {\n const { year: yearDefault, month: monthDefault, day: dayDefault } = getTodayAsCalendarDate();\n const defaults = { year: yearDefault, month: monthDefault, day: dayDefault };\n return defaults[segmentType];\n};\n\n// Get the minimum value for the segment.\nconst getHomeSegmentValue = (segmentType: EditableDateSegment, segmentState: DateSegmentState) => {\n return segmentType === 'year' ? YEAR_HOME_VALUE : segmentState['aria-valuemin']!;\n};\n\n// Get the maximum value for the segment (for year, this is YEAR_END_VALUE).\nconst getEndSegmentValue = (segmentType: EditableDateSegment, segmentState: DateSegmentState) => {\n return segmentType === 'year' ? YEAR_END_VALUE : segmentState['aria-valuemax']!;\n};\n\n// Return the result of stepping currentValue in the requested direction, taking into account min and max.\nconst getSteppedSegmentValue = (\n currentValue: number,\n direction: DirectionType,\n min: number,\n max: number\n) => {\n const newValue =\n direction === 'increase'\n ? currentValue + 1 > max\n ? min\n : currentValue + 1\n : currentValue - 1 < min\n ? max\n : currentValue - 1;\n return newValue;\n};\n\n// Return the result of paging the value up or down, taking into account min and max.\nconst getPagedSegmentValue = (\n currentValue: number,\n direction: DirectionType,\n min: number,\n max: number,\n segmentType: EditableDateSegment\n) => {\n const step = segmentType === 'month' ? 2 : segmentType === 'year' ? 5 : 7;\n const newValue =\n direction === 'increase'\n ? currentValue + step > max\n ? (currentValue + step) % max\n : currentValue + step\n : currentValue - step < min\n ? currentValue - step + max\n : currentValue - step;\n return newValue;\n};\n\n// Create a new segment with an updated value from a keyboard action such as step, page, Home, or End.\nconst createSegmentFromKeyboardAction = (\n newVal: number,\n locale: BCP47Locale,\n segmentType: EditableDateSegment,\n segmentState: DateSegmentState,\n segments: DateSegmentState[]\n) => {\n const newValStr = numberToString(newVal);\n // For month changes, aria-valuetext includes the month name.\n const ariaValueText =\n segmentType === 'month'\n ? getMonthAria(locale, newVal as IsoMonth, getYearValue(segments))\n : newValStr;\n\n // Create a new segment state that reflects the updated value.\n // After any keyboard action, the value is complete so that if the user types anything,\n // it will replace the stepped value.\n return {\n ...segmentState,\n 'aria-valuetext': ariaValueText,\n 'aria-valuenow': newVal,\n text: newValStr,\n isComplete: true\n };\n};\n\n// Set the segment to its minimum value.\nconst goToHome = (\n segmentType: EditableDateSegment,\n segmentState: DateSegmentState,\n segments: DateSegmentState[],\n locale: BCP47Locale\n) => {\n const newValue = getHomeSegmentValue(segmentType, segmentState);\n return createSegmentFromKeyboardAction(newValue, locale, segmentType, segmentState, segments);\n};\n\n// Set the segment to its maximum value.\nconst goToEnd = (\n segmentType: EditableDateSegment,\n segmentState: DateSegmentState,\n segments: DateSegmentState[],\n locale: BCP47Locale\n) => {\n const newValue = getEndSegmentValue(segmentType, segmentState);\n return createSegmentFromKeyboardAction(newValue, locale, segmentType, segmentState, segments);\n};\n\n// Step or page a segment's value.\nconst doStepOrPage = (\n segmentType: EditableDateSegment,\n segmentState: DateSegmentState,\n segments: DateSegmentState[],\n type: 'step' | 'page',\n direction: DirectionType,\n locale: BCP47Locale\n) => {\n const valueNow = segmentState['aria-valuenow'];\n const min = segmentState['aria-valuemin']!;\n const max = segmentState['aria-valuemax']!;\n const newValue =\n valueNow === undefined\n ? getDefaultSegmentValue(segmentType)\n : type === 'page'\n ? getPagedSegmentValue(valueNow, direction, min, max, segmentType)\n : getSteppedSegmentValue(valueNow, direction, min, max);\n\n return createSegmentFromKeyboardAction(newValue, locale, segmentType, segmentState, segments);\n};\n\n// This is for an edge case where the month is February, the day is 29, and the year is < 1000, and it is not a leap year.\n// If so, we update the daySegment to 28. This function is called on 'commit'.\n// JET-75124 Leap year date of 02/29 is converted to 28 automatically (as soon as you type the first number in the year)\nconst checkFeb29EdgeCase = (stateSegments: DateSegmentState[]) => {\n const monthSegment = stateSegments.find((seg) => seg.type === 'month');\n const daySegment = stateSegments.find((seg) => seg.type === 'day');\n const yearSegment = stateSegments.find((seg) => seg.type === 'year');\n\n const year = yearSegment?.['aria-valuenow'];\n\n if (\n year !== undefined &&\n year < 1000 &&\n !isLeapYear(year) &&\n monthSegment?.['aria-valuenow'] === 2 &&\n daySegment?.['aria-valuenow'] === 29\n ) {\n const updatedDaySeg = {\n ...daySegment,\n 'aria-valuemax': 28,\n 'aria-valuenow': 28,\n 'aria-valuetext': '28',\n text: '28'\n };\n return replaceDateSegment(stateSegments, 'day', updatedDaySeg);\n }\n return stateSegments;\n};\n\nexport { dateReducer, getMonthAria, numberToString, stringToNumber };\nexport type { DateReducerAction, DirectionType };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { ComponentProps, RefObject } from 'preact';\nimport {\n Dispatch,\n MutableRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef\n} from 'preact/hooks';\nimport { calendarDatesAreDifferent } from '#utils/PRIVATE_dayUtils';\nimport { DateReducerAction } from './dateReducer';\nimport { DateFieldState } from './useDateField';\nimport { CalendarDate, EditableDateSegment } from './types';\nimport { getClientHints } from '#utils/PRIVATE_clientHints';\nimport { isBackspaceOrDelete, isSelectAll } from '#utils/PRIVATE_keyboardUtils';\nimport { InputDateMask } from './InputDateMask';\nimport { useDoubleTap } from '#hooks/UNSAFE_useDoubleTap';\nimport { useTabbableMode } from '#hooks/UNSAFE_useTabbableMode';\n\ntype InputDateMaskProps = ComponentProps<typeof InputDateMask>;\n\ntype Props = {\n dateResetRef: MutableRef<boolean>;\n direction: 'ltr' | 'rtl';\n dispatch: Dispatch<DateReducerAction>;\n groupRef?: RefObject<HTMLDivElement>;\n isDisabled?: boolean;\n isInputFocused?: boolean;\n onCommit: InputDateMaskProps['onCommit'];\n onInput: InputDateMaskProps['onInput'];\n state: DateFieldState;\n value?: CalendarDate;\n};\n\ntype CommitHandle = {\n handleCommitOnBlur: () => void;\n};\n\nfunction isMobile() {\n const deviceType = getClientHints().deviceType;\n return deviceType === 'phone' || deviceType === 'tablet';\n}\n\n/**\n * A hook that creates various handlers and manages effects for a DateField.\n */\nconst useDateFieldHandlers = ({\n dateResetRef,\n direction,\n dispatch,\n groupRef,\n isDisabled,\n isInputFocused,\n onCommit,\n onInput,\n state,\n value: currentValue\n}: Props) => {\n const { tabbableModeProps } = useTabbableMode();\n const { tabIndex: tabbableModeIndex } = tabbableModeProps;\n const anySegmentSelected = state.segments.some((segment) => !!segment.isSelected);\n\n // If any segment is selected, it is contenteditable=true and it has the focus. If you shift-Tab, you will\n // land on the outer div (DateField) first meaning it takes 2 shift-tab keys to get the previous element.\n // To prevent this, if any segment is selected the tabindex on the div is set to -1.\n // We also need to set tabindex to -1 for the disabled case, since we are dealing with a div instead\n // of an intrinsic input and have to handle it directly.\n const updatedTabIndex = tabbableModeIndex === -1 || anySegmentSelected || isDisabled ? -1 : 0;\n\n // Keep track of the last changed and last committed date values.\n const lastDateRef = useRef<CalendarDate | undefined>(state.currentDate);\n const lastCommittedDateRef = useRef<CalendarDate | undefined>(state.currentDate);\n // Keep track whether the date was cleared.\n const dateClearedRef = useRef<boolean>(false);\n\n // If the value was programmatically changed (see useDateField.ts), then update the\n // last changed and last committed date refs to stay in sync.\n // currentValue is the controlled value passed from the parent.\n if (dateResetRef.current) {\n lastDateRef.current = currentValue;\n lastCommittedDateRef.current = currentValue;\n }\n\n // Call onCommit, only if the value is different.\n const doCommitIfNeeded = useCallback(() => {\n if (calendarDatesAreDifferent(lastCommittedDateRef.current, state.currentDate)) {\n onCommit?.({ value: state.currentDate });\n lastCommittedDateRef.current = state.currentDate;\n }\n }, [onCommit, state.currentDate]);\n\n // This is called when onFocusOut is called on the date field. We dispatch\n // 'commitOnBlur' to clear any selected segments and mark non-empty segments as\n // complete. It also puts the state into 'isCommitting' that will trigger\n // a re-render in which we doCommitIfNeeded based on that state.\n const handleCommitOnBlur = useCallback(() => {\n dispatch({ actionType: 'commitOnBlur' }); // sets 'isCommitting' state. This might update the state, so we need to wait before calling onCommit.\n }, [dispatch]);\n\n // Handle requested segment changes by calling the reducer dispatch function.\n const onChange = useCallback(\n (action: DateReducerAction) => {\n dispatch(action);\n },\n [dispatch]\n );\n\n // If the user clicked on a segment, dispatch a request to select it.\n // If they clicked on the date field itself, select the first segment.\n const onClick = useCallback(\n (e: Event) => {\n const segmentType = (e.target as HTMLElement).getAttribute(\n 'data-segment'\n ) as EditableDateSegment | null;\n\n if (segmentType !== null) {\n dispatch({ actionType: 'selectSegment', data: { type: segmentType } });\n } else {\n dispatch({ actionType: 'selectFirst' });\n }\n },\n [dispatch]\n );\n\n // If complete, select the date.\n const selectAll = useCallback(\n (isGroupFocus = true) => {\n if (state.isCompleteDate) {\n dispatch({ actionType: 'selectDateOrSegment' });\n // Focus can end up in different places depending on if the user selected a segment\n // first (via click or arrow key), and then did select all. To make shift-tabbing\n // consistent in all cases, set focus to the group when selecting the date.\n isGroupFocus && groupRef?.current?.focus();\n }\n },\n [dispatch, groupRef, state.isCompleteDate]\n );\n\n const onDoubleClick = useCallback(() => {\n selectAll();\n }, [selectAll]);\n\n const onDoubleTap = useCallback(\n (e: Event) => {\n const segmentType = (e.target as HTMLElement).getAttribute(\n 'data-segment'\n ) as EditableDateSegment;\n\n // Only do select all if a segment was double tapped, which means the\n // mobile keyboard will stay up.\n !!segmentType && selectAll(false);\n },\n [selectAll]\n );\n\n const doubleTapHandlers = useDoubleTap({ onDoubleTap: onDoubleTap, onSingleTap: onClick });\n\n // Handle arrow key navigation between segments. If no segment is currently selected, then select the first one.\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (\n (direction === 'ltr' && event.key === 'ArrowLeft') ||\n (direction === 'rtl' && event.key === 'ArrowRight')\n ) {\n // Select the previous segment when pressing Left arrow (or Right arrow in rtl).\n dispatch({ actionType: 'selectPrevious' });\n event.stopPropagation();\n } else if (\n (direction === 'ltr' && event.key === 'ArrowRight') ||\n (direction === 'rtl' && event.key === 'ArrowLeft')\n ) {\n // Select the next segment when pressing Right arrow (or Left arrow in rtl).\n dispatch({ actionType: 'selectNext' });\n event.stopPropagation();\n } else if (\n (isBackspaceOrDelete(event) || event.key === 'Backspace') &&\n state.isDateSelected\n ) {\n // Clear the entire date.\n dispatch({ actionType: 'clearDate' });\n dateClearedRef.current = true;\n // Kill the event to prevent weird issue with placeholders getting deleted on iOS only.\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n } else if (isSelectAll(event)) {\n selectAll();\n event.preventDefault();\n event.stopPropagation();\n } else if (event.key === 'Enter') {\n // Hitting Enter commits any changes.\n dispatch({ actionType: 'commitOnEnter' });\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [direction, dispatch, selectAll, state.isDateSelected]\n );\n\n // If you try to call onInput from onChange directly it doesn't work. The value of\n // state.currentDate is from the current render, not the render *after* the dispatch.\n // So wait for the state to finish updating.\n useLayoutEffect(() => {\n if (\n calendarDatesAreDifferent(lastDateRef.current, state.currentDate) &&\n !dateResetRef.current\n ) {\n const frozenDate =\n state.currentDate !== undefined\n ? Object.freeze({ ...state.currentDate })\n : state.currentDate;\n onInput({ value: frozenDate });\n lastDateRef.current = frozenDate;\n }\n dateResetRef.current = false;\n }, [onInput, state.currentDate, dateResetRef]);\n\n // Check state.isCommitting which is set when we are done updating the state's value\n // on Enter or Blur and ready to call onCommit. We do not want to call onCommit during render,\n // so we use useLayoutEffect. useEffect might trigger this issue - JET-73689 oj-c-input-date-picker onValueChange triggered after button submit function.\n useLayoutEffect(() => {\n if (state.isCommitting) {\n doCommitIfNeeded();\n // This will update the state.isCommitting to false.\n dispatch({ actionType: 'committed' });\n }\n }, [dispatch, doCommitIfNeeded, state.isCommitting]);\n\n // The following is a simplified version of how we detect keyboard vs. mouse focus\n // in the useCollectionFocusRing hook. If the user tabs onto the field, we want to\n // automatically select the first segment.\n const recentPointerRef = useRef<boolean>(false);\n const pointerDownTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>();\n const onPointerDown = () => {\n recentPointerRef.current = true;\n clearTimeout(pointerDownTimerRef.current);\n\n pointerDownTimerRef.current = setTimeout(() => {\n recentPointerRef.current = false;\n }, 200);\n };\n\n useEffect(() => {\n // If we receive focus that is *not* due to the user clicking in the field, i.e. the user\n // tabbed onto the field, then select the first segment.\n // Note: we cannot check isFocused because it includes the ? icon in compact UAD, and we don't\n // want the date selected when the help icon is focused.\n isInputFocused && !recentPointerRef.current && dispatch({ actionType: 'selectFirst' });\n\n // If we lose focus due to the keyboard, i.e. shift-tabbing onto the compact UAD help icon,\n // then 'deselectAndComplete' which will clear any selected segments.\n !isInputFocused && !recentPointerRef.current && dispatch({ actionType: 'deselectAndComplete' });\n recentPointerRef.current = false;\n }, [dispatch, isInputFocused]);\n\n const handlers = isMobile()\n ? { ...doubleTapHandlers, onKeyDown }\n : { onClick, onDoubleClick, onKeyDown, onPointerDown };\n\n return {\n dateClearedRef,\n dateFieldHandlers: isDisabled ? {} : handlers,\n handleCommitOnBlur,\n segmentHandlers: isDisabled ? {} : { onChange },\n tabIndex: updatedTabIndex\n };\n};\n\nexport { useDateFieldHandlers };\nexport type { CommitHandle };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { ComponentProps, Ref, RefObject, JSX } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useImperativeHandle, useRef } from 'preact/hooks';\n\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\nimport { merge } from '@oracle/oraclejet-internal-utilities/stringUtils';\n\nimport { useComponentTheme } from '#hooks/UNSAFE_useComponentTheme';\nimport { useFormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport type { BundleType } from '#resources/nls/bundle';\nimport { Flex } from '#UNSAFE_Flex';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\nimport { LiveRegion } from '#UNSAFE_LiveRegion';\nimport { TextFieldInputRedwoodTheme } from '#UNSAFE_TextField/themes/redwood/TextFieldInputTheme';\nimport type { TextFieldInputVariantOptions } from '#UNSAFE_TextField/themes/TextFieldInputStyles.css';\nimport { isEmbeddedVariant } from '#utils/PRIVATE_formControlUtils';\nimport { formatFullCalendarDate } from '#utils/UNSAFE_calendarDateUtils';\nimport { classNames } from '#utils/UNSAFE_classNames';\nimport { DateSegment } from './DateSegment';\nimport type { InputDateMask } from './InputDateMask';\nimport { LiteralSegment } from './LiteralSegment';\nimport type { DatePlaceholders, EditableDateSegment } from './types';\nimport { type DateSegmentState, useDateField } from './useDateField';\nimport { type CommitHandle, useDateFieldHandlers } from './useDateFieldHandlers';\n\ntype InputDateMaskProps = ComponentProps<typeof InputDateMask>;\n\ntype AriaProps = Pick<\n UnpackSignals<JSX.AriaAttributes>,\n 'aria-describedby' | 'aria-invalid' | 'aria-label' | 'aria-labelledby'\n>;\n\ntype HTMLElementProps = Pick<UnpackSignals<JSX.IntrinsicElements['div']>, 'onBlur' | 'onFocus'>;\n\nexport type Props = AriaProps &\n HTMLElementProps & {\n /**\n * A base id prefix.\n */\n baseId: string;\n\n /**\n * A ref to the element that receives focus when the field's label is clicked,\n * or when the component is toggled between readonly and enabled. This is the\n * first segment in the field.\n */\n fieldRef?: RefObject<HTMLDivElement>;\n\n /**\n * Specifies the smallest date unit that is displayed by the component.\n * If set to month, only month and year are shown.\n * If set to day then month, day, and year are shown.\n */\n granularity?: InputDateMaskProps['granularity'];\n\n /**\n * True if the component has an inside label.\n */\n hasInsideLabel?: boolean;\n\n /**\n * Specifies for accessibility purposes whether a value is required.\n */\n isRequired?: InputDateMaskProps['isRequired'];\n\n /**\n * The placeholder masks used by the date field.\n */\n masks: DatePlaceholders;\n\n /**\n * Specifies how to align text within the field.\n */\n textAlign?: InputDateMaskProps['textAlign'];\n\n /**\n * The current display value of the component.\n */\n value?: InputDateMaskProps['value'];\n\n /**\n * The style variant of the component.\n */\n variant?: InputDateMaskProps['variant'];\n\n /**\n * Callback invoked each time the user changes the value of a segment For example, if the user\n * types '12' into the month segment, this callback will be called twice to change the month\n * first to '1' and then '12'.\n */\n onInput: InputDateMaskProps['onInput'];\n\n /**\n * Callback invoked when the user commits the entered value by blurring or hitting the enter key.\n */\n onCommit: InputDateMaskProps['onCommit'];\n };\n\nconst findSegment = (segments: DateSegmentState[], type: EditableDateSegment): DateSegmentState => {\n return segments.find((segment) => segment.type === type)!;\n};\n\n/**\n * Container for Segment children that represent different parts of a date with no time.\n */\nconst DateField = forwardRef(\n (\n {\n 'aria-describedby': describedBy,\n 'aria-invalid': ariaInvalid,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n baseId,\n fieldRef,\n granularity = 'day',\n hasInsideLabel,\n isRequired,\n masks: dateMasks,\n onBlur,\n onCommit,\n onFocus,\n onInput,\n textAlign,\n value,\n variant = 'default'\n }: Props,\n ref?: Ref<CommitHandle>\n ) => {\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const announceDateCleared = translations.inputDateMask_date_cleared();\n const labels = {\n month: translations.formControl_month(),\n day: translations.formControl_day(),\n year: translations.formControl_year()\n };\n\n const { direction, locale } = useUser();\n\n const { isDisabled, isFocused, isInputFocused } = useFormFieldContext();\n const hasValue = value !== undefined;\n\n // DateField is similar to TextFieldInput for styling. The main difference\n // is TextFieldInput renders a textarea or input and DateField renders a div, so the positioning with\n // padding is different. DateField and TextFieldInput are both the mainContent\n // of a TextField component.\n const { classes } = useComponentTheme<TextFieldInputVariantOptions>(\n TextFieldInputRedwoodTheme,\n {\n type: 'notPassword',\n styleVariant: isEmbeddedVariant(variant) ? 'embedded' : 'default',\n textarea: 'notTextArea',\n input: 'notInput',\n div: 'isDiv',\n prefix: 'noPrefix',\n suffix: 'noSuffix',\n startContent: 'noStartContent',\n endContent: 'noEndContent',\n insideLabel: hasInsideLabel ? 'hasInsideLabel' : 'noInsideLabel',\n value: hasValue ? 'hasValue' : 'noValue',\n focused: isFocused ? 'isFocused' : 'notFocused',\n disabled: isDisabled ? 'isDisabled' : 'notDisabled'\n }\n );\n\n const compClasses = classNames([classes]);\n\n const { state, dispatch, dateResetRef } = useDateField({\n ariaLabels: labels,\n dateMasks,\n granularity,\n locale,\n value\n });\n const { isDateSelected, isPartialDate, segments: editableSegments } = state;\n const yearSegment = findSegment(editableSegments, 'year');\n const monthSegment = findSegment(editableSegments, 'month');\n const daySegment = granularity === 'day' ? findSegment(editableSegments, 'day') : undefined;\n const segmentsMap = {\n year: yearSegment,\n month: monthSegment,\n day: daySegment\n };\n\n const groupRef = useRef<HTMLDivElement>(null);\n const { dateClearedRef, dateFieldHandlers, handleCommitOnBlur, segmentHandlers, tabIndex } =\n useDateFieldHandlers({\n dateResetRef,\n direction,\n dispatch,\n groupRef,\n isDisabled,\n isInputFocused,\n onCommit,\n onInput,\n state,\n value\n });\n\n useImperativeHandle(\n ref!,\n () => {\n return {\n handleCommitOnBlur\n };\n },\n [handleCommitOnBlur]\n );\n\n // Like other form components, don't show placeholders for inside labels unless focused.\n // This flag causes the segment placeholders to be hidden.\n const isHidden = value === undefined && hasInsideLabel && !isFocused;\n\n // If the date is complete, create a hidden accessible region with the full formatted date.\n const formattedDateStr = !state.isCompleteDate\n ? ''\n : formatFullCalendarDate(locale, state.currentDate!, granularity);\n\n const formattedDateAriaId = `${baseId}-date`;\n const formattedDateAria = state.isCompleteDate ? (\n <HiddenAccessible id={formattedDateAriaId}>{formattedDateStr}</HiddenAccessible>\n ) : undefined;\n const ariaDescribedBy = state.isCompleteDate\n ? merge([describedBy, formattedDateAriaId])\n : describedBy;\n\n // Add an announcement to the live region if the date was cleared.\n // Note: we deliberately do not reset dateClearedRef because there are multiple\n // rerenders after clearing the date and we want to make sure the announcement\n // has time to be heard.\n const announceText = dateClearedRef.current ? announceDateCleared : '';\n\n // firstSegmentType is 'day', 'month', or 'year' and is used to determine\n // where to put the fieldRef.\n const firstSegmentType = state.orderedSegments[0];\n\n return (\n <div\n aria-describedby={ariaDescribedBy}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n class={compClasses}\n onFocusIn={onFocus}\n onFocusOut={onBlur}\n ref={groupRef}\n role=\"group\"\n tabIndex={tabIndex}\n {...dateFieldHandlers}>\n <Flex direction=\"row\" wrap=\"nowrap\" justify={textAlign}>\n {dateMasks.map(({ type, value: placeholder }) => {\n const segmentProps = type !== 'literal' ? segmentsMap[type] : {};\n if (type === 'literal') {\n return (\n <LiteralSegment\n isHidden={isHidden}\n isHighlighted={isDateSelected}\n isPlaceholder={!isPartialDate}\n text={placeholder}></LiteralSegment>\n );\n } else {\n return (\n <DateSegment\n inputRef={type === firstSegmentType ? fieldRef : undefined}\n isDisabled={isDisabled}\n isInvalid={!!ariaInvalid}\n isHidden={isHidden}\n isHighlighted={isDateSelected}\n isRequired={isRequired}\n placeholder={placeholder}\n type={type}\n {...segmentHandlers}\n {...segmentProps}></DateSegment>\n );\n }\n })}\n </Flex>\n {formattedDateAria}\n <LiveRegion>{announceText}</LiveRegion>\n </div>\n );\n }\n);\n\nexport { DateField, findSegment };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps } from 'preact';\nimport { useReducer, useRef } from 'preact/hooks';\nimport { BCP47Locale } from '#UNSAFE_IntlDateTime';\nimport { DateField } from './DateField';\nimport { CalendarDate, DateGranularity, DatePlaceholders, EditableDateSegment } from './types';\nimport { DateSegment } from './DateSegment';\nimport { dateReducer, getMonthAria, numberToString } from './dateReducer';\nimport { calendarDatesAreDifferent } from '../utils/PRIVATE_dayUtils';\nimport {\n getDaysInMonth,\n getMonthsInYear,\n MIN_ISO_YEAR,\n MAX_ISO_YEAR,\n MIN_ISO_DAY,\n MIN_ISO_MONTH\n} from '../utils/UNSAFE_calendarDateUtils';\n\ntype DateFieldType = ComponentProps<typeof DateField>;\n\ntype useDateFieldProps = {\n ariaLabels: Record<EditableDateSegment, string>;\n dateMasks: DatePlaceholders;\n granularity: DateGranularity;\n locale: BCP47Locale;\n value: DateFieldType['value'];\n};\n\ntype DateSegmentState = Readonly<ComponentProps<typeof DateSegment>>;\n\ntype DateFieldState = {\n readonly isCommitting: boolean;\n readonly currentDate: CalendarDate | undefined;\n readonly isCompleteDate: boolean;\n readonly isDateSelected: boolean;\n readonly isPartialDate: boolean;\n readonly orderedSegments: EditableDateSegment[];\n readonly segments: DateSegmentState[];\n};\n\n/**\n * Hook that returns a DateFieldState and a dispatch method to request changes to that state.\n */\nconst useDateField = ({\n ariaLabels,\n dateMasks,\n granularity,\n locale,\n value: currentValue\n}: useDateFieldProps) => {\n // Construct an ordered list of the editable segments, i.e. ['month', 'day', 'year'].\n const fdm = dateMasks.filter(({ type }) => type !== 'literal');\n const orderedSegments = fdm.map(({ type }) => type) as EditableDateSegment[];\n\n // Derive some data from currentValue that will become part of our initial state.\n const yearValue = currentValue?.year;\n const monthValue = currentValue?.month;\n const dayValue = currentValue?.day;\n const monthMax = getMonthsInYear(yearValue ?? '*');\n const dayMax = getDaysInMonth(monthValue ?? '*', yearValue ?? '*');\n const isCompleteDate = !!yearValue && !!monthValue && (granularity === 'month' || !!dayValue);\n const isPartialDate = !!yearValue || !!monthValue || !!dayValue;\n const yearValueStr = yearValue ? numberToString(yearValue) : undefined;\n const monthValueStr = monthValue ? numberToString(monthValue) : undefined;\n const dayValueStr = dayValue ? numberToString(dayValue) : undefined;\n const monthAria = monthValue ? getMonthAria(locale, monthValue, yearValue) : undefined;\n\n const daySeg = [\n {\n type: 'day' as EditableDateSegment,\n 'aria-label': ariaLabels.day,\n 'aria-valuemin': MIN_ISO_DAY,\n 'aria-valuemax': dayMax,\n 'aria-valuenow': dayValue,\n 'aria-valuetext': dayValueStr,\n isComplete: !!dayValue,\n isSelected: false,\n text: dayValueStr\n }\n ];\n\n // Create state for each editable segment of a date, i.e. year, month, or day.\n const editableSegments = [\n {\n type: 'year' as EditableDateSegment,\n 'aria-label': ariaLabels.year,\n 'aria-valuemin': MIN_ISO_YEAR,\n 'aria-valuemax': MAX_ISO_YEAR,\n 'aria-valuenow': yearValue,\n 'aria-valuetext': yearValueStr,\n isComplete: !!yearValue,\n isSelected: false,\n text: yearValueStr\n },\n {\n type: 'month' as EditableDateSegment,\n 'aria-label': ariaLabels.month,\n 'aria-valuemin': MIN_ISO_MONTH,\n 'aria-valuemax': monthMax,\n 'aria-valuenow': monthValue,\n 'aria-valuetext': monthAria,\n isComplete: !!monthValue,\n isSelected: false,\n text: monthValueStr\n },\n ...(granularity === 'day' ? daySeg : [])\n ];\n\n // Create the initial state to pass to our reducer.\n const initialState: DateFieldState = {\n isCommitting: false,\n currentDate: currentValue,\n isCompleteDate,\n isDateSelected: false,\n isPartialDate,\n orderedSegments,\n segments: editableSegments\n };\n\n const [state, dispatch] = useReducer(dateReducer, initialState);\n\n // currentValue is the controlled value passed from the parent.\n const lastValueFromParentRef = useRef<CalendarDate | undefined>(currentValue);\n const dateResetRef = useRef<boolean>(false);\n\n // If a new value is being pushed from the parent, and that value differs from\n // the current value of the reducer, then this is a programmatic update\n // and we need to call 'reset' to update the reducer state. Otherwise, the only\n // time the reducer state is updated from the value is on mount.\n if (calendarDatesAreDifferent(lastValueFromParentRef.current, currentValue)) {\n lastValueFromParentRef.current = currentValue;\n if (calendarDatesAreDifferent(currentValue, state.currentDate)) {\n dispatch({ actionType: 'reset', data: initialState });\n dateResetRef.current = true;\n }\n }\n\n return { dateResetRef, dispatch, state };\n};\n\nexport { useDateField };\nexport type { DateFieldState, DateSegmentState };\n","import { createContext } from 'preact';\nimport { useContext } from 'preact/hooks';\n\ntype InputDateMaskContextProps = {\n isInputDatePickerParent: boolean;\n isDropdownOpen: boolean;\n};\n\n/**\n * Context used to indicate when the component is being used in\n * composition within some parent, such as InputDatePicker.\n */\nconst InputDateMaskContext = createContext<InputDateMaskContextProps>({\n isInputDatePickerParent: false,\n isDropdownOpen: false\n});\n\nconst useInputDateMaskContext = () => useContext(InputDateMaskContext);\n\nexport { InputDateMaskContext, useInputDateMaskContext };\nexport type { InputDateMaskContextProps };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { ComponentProps, ContextType, Ref, RefObject, JSX } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useCallback, useImperativeHandle, useMemo, useRef } from 'preact/hooks';\n\nimport type { UnpackSignals } from '@oracle/oraclejet-internal-utilities/attributeUtils';\n\nimport { Label } from '#UNSAFE_Label';\nimport { ReadonlyTextField, ReadonlyTextFieldInput, TextField } from '#UNSAFE_TextField';\nimport { TextFieldContent } from '#UNSAFE_TextField/TextFieldContent';\nimport {\n CompactUserAssistance,\n InlineUserAssistance,\n type UserAssistanceDensityType\n} from '#UNSAFE_UserAssistance';\nimport { type FocusableHandle, useFocusableTextField } from '#hooks/UNSAFE_useFocusableTextField';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { FormFieldContext } from '#hooks/UNSAFE_useFormFieldContext';\nimport type { FormVariantContext } from '#hooks/UNSAFE_useFormVariantContext';\nimport type { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { useTextField } from '#hooks/UNSAFE_useTextField';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport type { BundleType } from '#resources/nls/bundle';\nimport { translateCustomMasks } from '#utils/PRIVATE_dayUtils';\nimport { formatShortCalendarDate, getDatePlaceholderMasks } from '#utils/UNSAFE_calendarDateUtils';\nimport type { TextProps } from '#utils/UNSAFE_interpolations/text';\nimport type { Size } from '#utils/UNSAFE_size';\nimport type { LayoutColumnSpan } from '#utils/UNSAFE_styles/Layout';\nimport type { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\nimport type { CommitHandle } from './useDateFieldHandlers';\nimport { DateField } from './DateField';\nimport { useInputDateMaskContext } from './InputDateMaskContext';\nimport type { CalendarDate, DatePlaceholders } from './types';\n\ntype InlineUserAssistanceProps = ComponentProps<typeof InlineUserAssistance>;\n\ntype TextFieldContentProps = ComponentProps<typeof TextFieldContent>;\n\ntype Props = TestIdProps & {\n /**\n * The ID of an element (or space separated IDs of multiple elements) that\n * describes the input.\n */\n 'aria-describedby'?: UnpackSignals<JSX.AriaAttributes>['aria-describedby'];\n\n /**\n * Text to provide guidance to help the user understand what data to enter.\n */\n assistiveText?: InlineUserAssistanceProps['assistiveText'];\n\n /**\n * Specifies how many columns to span in a FormLayout with direction === 'row'\n */\n columnSpan?: LayoutColumnSpan;\n\n /**\n * Use this property to provide content for the end slot, such as a calendar icon.\n */\n endContent?: TextFieldContentProps['endContent'];\n\n /**\n * Specifies the smallest date unit that is displayed by the component.\n * If set to month, only month and year are shown.\n * If set to day then month, day, and year are shown.\n */\n granularity?: 'month' | 'day';\n\n /**\n * Help source URL associated with the component.\n */\n helpSourceLink?: InlineUserAssistanceProps['helpSourceLink'];\n\n /**\n * Custom text to be rendered for the <code>helpSourceLink</code>.\n */\n helpSourceText?: InlineUserAssistanceProps['helpSourceText'];\n\n /**\n * Specifies whether the component is disabled.\n */\n isDisabled?: boolean;\n\n /**\n * Specifies whether the component is readonly.\n */\n isReadonly?: boolean;\n\n /**\n * Specifies for accessibility purposes whether a value is required.\n *\n * Setting this property to <code>false</code> means that a value is not required to be\n * committed by the user. Setting this property to <code>true</code> means that a value\n * is required to be committed by the user.\n */\n isRequired?: boolean;\n\n /**\n * Specifies whether to show an indicator on screen that a value is required, for example\n * before the user has committed a value.\n */\n isRequiredShown?: InlineUserAssistanceProps['isRequiredShown'];\n\n /**\n * Specifies the label associated with the field.\n */\n label: string;\n\n /**\n * Specifies where the label is positioned relative to the field.\n */\n labelEdge?: 'inside' | 'start' | 'top' | 'none';\n\n /**\n * Specifies the width of the label when <code>labelEdge</code> is <code>\"start\"</code>.\n */\n labelStartWidth?: Size;\n\n /**\n * A ref to the component field. This can be used when you are composing with InputDateMask\n * and need to provide an anchor ref to a floating component.\n */\n mainFieldRef?: RefObject<HTMLDivElement>;\n\n /**\n * If specified, overrides the locale specific order of the individual date segments as\n * well as the locale specific separator. The value of each placeholder is only used\n * when the type is 'literal', otherwise it is replaced with a translated placeholder\n * for month, day, or year. If masks are specified and granularity = day, then the\n * placeholders must include month, day, and year. If granularity = month, then the\n * placeholders must include month and year, but not day.\n */\n masks?: DatePlaceholders;\n\n /**\n * Messages to show on screen that are associated with the component.\n */\n messages?: InlineUserAssistanceProps['messages'];\n\n /**\n * Specifies how to align text within the field.\n */\n textAlign?: TextProps['textAlign'];\n\n /**\n * Specifies the density of the user assistance presentation. It can be set to:\n * <ul>\n * <li><code>'efficient'</code>: Show inline and reserve space to prevent layout reflow when user\n * assistance text is displayed.</li>\n * <li><code>'reflow'</code>: Show inline. Layout will reflow when text is displayed.</li>\n * <li><code>'compact'</code>: Messages, help, hints, and required will not be shown inline; they will show in a mode that keeps the screen more compact, like a popup for the messages, and a required icon to indicate Required. </li>\n * </ul>\n */\n userAssistanceDensity?: UserAssistanceDensityType;\n\n /**\n * The current display value of the component.\n */\n value?: CalendarDate;\n\n /**\n * The style variant of the component.\n */\n variant?: ContextType<typeof FormVariantContext>;\n\n /**\n * Callback invoked when the user commits the entered value by blurring or hitting the enter key.\n */\n onCommit?: (detail: ValueUpdateDetail<CalendarDate>) => void;\n\n /**\n * Callback invoked each time the user changes the value of a segment For example, if the user\n * types '12' into the month segment, this callback will be called twice to change the month\n * first to '1' and then '12'.\n */\n onInput: (detail: ValueUpdateDetail<CalendarDate>) => void;\n};\n\n/**\n * An InputDateMask allows you to edit the month, day, and year fields of a calendar date.\n */\nexport const InputDateMask = forwardRef(\n (\n {\n 'aria-describedby': ariaDescribedBy,\n assistiveText,\n columnSpan,\n endContent,\n granularity = 'day',\n helpSourceLink,\n helpSourceText,\n isDisabled: propIsDisabled,\n isReadonly: propIsReadonly,\n isRequired,\n isRequiredShown,\n label,\n labelEdge: propLabelEdge,\n labelStartWidth: propLabelStartWidth,\n mainFieldRef,\n messages,\n masks,\n testId,\n textAlign: propTextAlign,\n userAssistanceDensity: propUserAssistanceDensity,\n value,\n variant,\n onCommit,\n onInput\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const {\n isDisabled: isFormDisabled,\n isReadonly: isFormReadonly,\n labelEdge: formLabelEdge,\n labelStartWidth: formLabelStartWidth,\n textAlign: formTextAlign,\n userAssistanceDensity: formUserAssistanceDensity\n } = useFormContext();\n // default to FormContext values if component properties are not specified\n const isDisabled = propIsDisabled ?? isFormDisabled;\n const isReadonly = propIsReadonly ?? isFormReadonly;\n const labelEdge = propLabelEdge ?? formLabelEdge;\n const labelStartWidth = propLabelStartWidth ?? formLabelStartWidth;\n // JET-72775 - Form control alignment in tables\n // default to 'start' if no text align is set\n const textAlign = propTextAlign ?? formTextAlign ?? 'start';\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n const enabledElementRef = useRef<HTMLDivElement>(null);\n const readonlyElementRef = useRef<HTMLDivElement>(null);\n\n const aRef = useRef<HTMLDivElement>(null);\n const anchorRef = mainFieldRef ?? aRef;\n const dateFieldRef = useRef<CommitHandle>(null);\n\n const { isDropdownOpen, isInputDatePickerParent } = useInputDateMaskContext();\n\n // JET-73689: When we get onFocusOut on the text field that is not due to\n // interaction with the dropdown, we delegate isCommitting to DateField.\n const onTextFieldFocusOut = useCallback(() => {\n (!isInputDatePickerParent || !isDropdownOpen) && dateFieldRef.current?.handleCommitOnBlur();\n }, [isDropdownOpen, isInputDatePickerParent]);\n\n const {\n focusProps,\n isFocused,\n methods: focusMethods\n } = useFocusableTextField<HTMLDivElement, HTMLDivElement>({\n isDisabled,\n isReadonly,\n enabledElementRef,\n onBlurWithin: onTextFieldFocusOut,\n readonlyElementRef\n });\n\n useImperativeHandle(ref!, () => focusMethods, [focusMethods]);\n\n const isComponentFocused = isFocused || (isInputDatePickerParent && isDropdownOpen);\n\n const {\n baseId,\n formFieldContext,\n inputProps,\n labelProps: origLabelProps,\n textFieldProps,\n userAssistanceProps\n } = useTextField({\n ariaDescribedBy,\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isFocused: isComponentFocused,\n isReadonly,\n isRequiredShown,\n labelEdge,\n messages,\n styleVariant: variant,\n userAssistanceDensity,\n value\n });\n\n // When using a div with role=group (i.e. DateField), you need aria-labelledby instead of a\n // for-id association with a label. Remove forId and id and use aria-labelledby instead.\n const { forId, ...labelProps } = origLabelProps;\n const { id, ...dateFieldProps } = inputProps;\n const ariaLabelledBy = labelProps.id;\n // Because we don't use for-id, clicking the label does not automatically focus the field.\n // We have to do it manually.\n const onClick = useCallback(() => {\n enabledElementRef.current?.focus();\n }, [enabledElementRef]);\n\n const labelComp =\n labelEdge !== 'none' ? (\n <Label {...(!isDisabled && !isReadonly ? { onClick } : {})} {...labelProps}>\n {label}\n </Label>\n ) : undefined;\n\n const fieldLabelProps = {\n label: labelEdge !== 'none' ? labelComp : undefined,\n labelEdge: labelEdge !== 'none' ? labelEdge : undefined,\n labelStartWidth: labelEdge !== 'none' ? labelStartWidth : undefined,\n labelText: labelEdge === 'inside' && !isDisabled ? label : undefined\n };\n\n const ariaLabel = labelEdge === 'none' ? label : undefined;\n const hasInsideLabel = label !== undefined && labelEdge === 'inside';\n const isInlineDensity =\n userAssistanceDensity === 'efficient' || userAssistanceDensity === 'reflow';\n\n const inlineUserAssistance = isInlineDensity ? (\n isDisabled ? (\n // save space for user assistance if density is 'efficient', even though we don't\n // render user assistance for disabled fields\n userAssistanceDensity !== 'efficient' ? undefined : (\n <InlineUserAssistance\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : isReadonly ? (\n <InlineUserAssistance\n fieldLabel={label}\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n ) : (\n <InlineUserAssistance\n assistiveText={assistiveText}\n fieldLabel={label}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n messages={messages}\n isRequiredShown={isRequiredShown}\n userAssistanceDensity={userAssistanceDensity}\n {...userAssistanceProps}\n />\n )\n ) : undefined;\n\n const compactUserAssistance =\n userAssistanceDensity === 'compact' ? (\n <CompactUserAssistance\n anchorRef={anchorRef}\n messages={messages}\n assistiveText={assistiveText}\n {...userAssistanceProps}\n />\n ) : undefined;\n\n const { locale } = useUser();\n\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const monthPlaceholder = translations.inputDateMask_monthPlaceholder();\n const dayPlaceholder = translations.inputDateMask_dayPlaceholder();\n const yearPlaceholder = translations.inputDateMask_yearPlaceholder();\n\n // The DatePlaceholders type already ensures the masks contain the right placeholders,\n // for either full calendar dates or month-year dates. This check ensures the masks,\n // if provided, match the granularity. E.g. for granularity=month, you should pass\n // month and year placeholders, and a separator.\n if (\n masks &&\n ((granularity === 'day' && masks.length !== 5) ||\n (granularity === 'month' && masks.length !== 3))\n ) {\n throw new Error('Specified masks must match the granularity');\n }\n\n const dateMasks = useMemo(() => {\n // Determine the locale specific placeholder masks and separators in the correct order\n // for the locale, unless a custom set of masks was passed in. Each mask represents a\n // placeholder for a segment of a date (i.e. mm/dd/yyyy). Memoize because we shouldn't\n // need to recreate this data often.\n const placeholderMasks = masks\n ? translateCustomMasks(masks, monthPlaceholder, dayPlaceholder, yearPlaceholder)\n : getDatePlaceholderMasks(\n locale,\n granularity,\n monthPlaceholder,\n dayPlaceholder,\n yearPlaceholder\n );\n\n return placeholderMasks;\n }, [masks, locale, granularity, dayPlaceholder, monthPlaceholder, yearPlaceholder]);\n\n if (isReadonly) {\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <ReadonlyTextField\n role=\"presentation\"\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n inlineUserAssistance={inlineUserAssistance}\n onBlur={focusProps.onFocusOut}\n onFocus={focusProps.onFocusIn}\n ref={anchorRef}\n testId={testId}\n mainContent={\n <ReadonlyTextFieldInput\n aria-describedby={dateFieldProps['aria-describedby']}\n aria-label={ariaLabel}\n aria-labelledby={labelProps.id}\n as=\"div\"\n elementRef={readonlyElementRef}\n textAlign={textAlign}\n value={\n value === undefined ? '' : formatShortCalendarDate(value, granularity, dateMasks)\n }\n hasEmptyLabel={label === '' && labelEdge === 'none'}\n hasInsideLabel={hasInsideLabel}\n onBlur={inputProps.onBlur}\n onFocus={inputProps.onFocus}\n />\n }\n {...fieldLabelProps}></ReadonlyTextField>\n </FormFieldContext.Provider>\n );\n }\n\n // The main content inside TextField is a DateField (not TextFieldInput) in this case.\n // We reuse the TextField building blocks and hooks, but recompose them.\n const mainContent = (\n <DateField\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n baseId={baseId}\n fieldRef={enabledElementRef}\n granularity={granularity}\n hasInsideLabel={labelComp !== undefined && labelEdge === 'inside'}\n isRequired={isRequired}\n masks={dateMasks}\n onCommit={onCommit}\n onInput={onInput}\n ref={dateFieldRef}\n textAlign={textAlign}\n value={value}\n {...dateFieldProps}\n />\n );\n\n return (\n <FormFieldContext.Provider value={formFieldContext}>\n <TextField\n columnSpan={columnSpan}\n compactUserAssistance={compactUserAssistance}\n endContent={endContent}\n inlineUserAssistance={inlineUserAssistance}\n mainContent={mainContent}\n onBlur={focusProps.onFocusOut}\n onFocus={focusProps.onFocusIn}\n mainFieldRef={anchorRef}\n testId={testId}\n {...textFieldProps}\n {...fieldLabelProps}\n />\n </FormFieldContext.Provider>\n );\n }\n);\n"],"names":["preventDefaultHandler","e","preventDefault","isIos","getClientHints","platform","DateSegment","ariaLabel","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","inputRef","isComplete","isDisabled","isHidden","isHighlighted","isInvalid","isRequired","isSelected","onChange","placeholder","text","type","hasDisplayValue","length","rootClasses","classNames","segmentStyles","base","selected","highlighted","placeholderClasses","hidden","notHidden","emptySegmentValueText","useTranslationBundle","inputDateMask_empty_segment","sRef","useRef","segmentRef","hasLeadingZero","locale","useUser","onKeyDown","useCallback","event","key","isSelectAll","isBackspaceOrDelete","undefined","isNumberOnlyString","actionType","data","current","direction","stopPropagation","useEffect","focus","customDataAttribute","valueText","toString","_jsx","children","_jsxs","ref","role","autocapitalize","autocorrect","class","contentEditable","enterkeyhint","inputMode","onCut","onPaste","spellcheck","tabIndex","LiteralSegment","isPlaceholder","spanClasses","literalBase","jsx","dateReducer","state","action","updatedSegments","selectFirst","clearDate","segments","orderedSegments","createDateFieldStateWithSelectedDate","updatedSegment","clearSegment","findSegment","createDateFieldState","checkFeb29EdgeCase","clearSelectionAndComplete","updatedSegmentsClearedAndComplete","isCommitting","goToEnd","goToHome","doStepOrPage","selectDateOrSegment","selectNext","selectPrevious","selectSegment","updateSegment","Error","stringToNumber","s","numberToString","n","find","segment","isDateComplete","allSegments","every","seg","isPartialDate","some","createCalendarDateFromSegments","iterator","map","values","cd","segValue","getYearValue","getMonthAria","month","year","getMonthName","getOrderedSegments","currentState","replaceDateSegment","existingSegments","updatedSegmentType","createDateSegmentStates","autoAdvance","modifiedSegments","daySeg","monthValue","yearValue","dayMax","getDaysInMonth","currentDay","dayValue","dayValueStr","updatedDaySeg","createDateFieldStateFromSegments","currentDate","isCompleteDate","isDateSelected","segmentState","cleared","valueMax","MAX_ISO_YEAR","getMonthsInYear","segmentType","actionText","minValue","maxValue","requestedValStr","requestedVal","inRange","max","newValStr","newVal","val","isSegmentComplete","getSelectedSegmentIndex","sel","findIndex","markSelectedSegmentComplete","selectedIndex","createSegmentFromKeyboardAction","newValue","getHomeSegmentValue","getEndSegmentValue","valueNow","min","yearDefault","monthDefault","day","dayDefault","getTodayAsCalendarDate","getDefaultSegmentValue","currentValue","step","getPagedSegmentValue","getSteppedSegmentValue","stateSegments","monthSegment","daySegment","yearSegment","isLeapYear","useDateFieldHandlers","dateResetRef","dispatch","groupRef","isInputFocused","onCommit","onInput","value","tabbableModeProps","useTabbableMode","tabbableModeIndex","anySegmentSelected","updatedTabIndex","lastDateRef","lastCommittedDateRef","dateClearedRef","doCommitIfNeeded","calendarDatesAreDifferent","handleCommitOnBlur","onClick","target","getAttribute","selectAll","isGroupFocus","onDoubleClick","onDoubleTap","doubleTapHandlers","useDoubleTap","onSingleTap","stopImmediatePropagation","useLayoutEffect","frozenDate","Object","freeze","recentPointerRef","pointerDownTimerRef","handlers","deviceType","isMobile","onPointerDown","clearTimeout","setTimeout","dateFieldHandlers","segmentHandlers","DateField","forwardRef","describedBy","ariaInvalid","ariaLabelledBy","baseId","fieldRef","granularity","hasInsideLabel","masks","dateMasks","onBlur","onFocus","textAlign","variant","translations","announceDateCleared","inputDateMask_date_cleared","labels","formControl_month","formControl_day","formControl_year","isFocused","useFormFieldContext","hasValue","classes","useComponentTheme","TextFieldInputRedwoodTheme","styleVariant","isEmbeddedVariant","textarea","input","div","prefix","suffix","startContent","endContent","insideLabel","focused","disabled","compClasses","ariaLabels","filter","monthMax","yearValueStr","monthValueStr","monthAria","MIN_ISO_DAY","initialState","MIN_ISO_YEAR","MIN_ISO_MONTH","useReducer","lastValueFromParentRef","useDateField","editableSegments","segmentsMap","useImperativeHandle","formattedDateStr","formatFullCalendarDate","formattedDateAriaId","formattedDateAria","HiddenAccessible","id","ariaDescribedBy","merge","announceText","firstSegmentType","jsxs","onFocusIn","onFocusOut","Flex","wrap","justify","segmentProps","LiveRegion","InputDateMaskContext","createContext","isInputDatePickerParent","isDropdownOpen","useInputDateMaskContext","useContext","InputDateMask","assistiveText","columnSpan","helpSourceLink","helpSourceText","propIsDisabled","isReadonly","propIsReadonly","isRequiredShown","label","labelEdge","propLabelEdge","labelStartWidth","propLabelStartWidth","mainFieldRef","messages","testId","propTextAlign","userAssistanceDensity","propUserAssistanceDensity","isFormDisabled","isFormReadonly","formLabelEdge","formLabelStartWidth","formTextAlign","formUserAssistanceDensity","useFormContext","enabledElementRef","readonlyElementRef","aRef","anchorRef","dateFieldRef","onTextFieldFocusOut","focusProps","methods","focusMethods","useFocusableTextField","onBlurWithin","isComponentFocused","formFieldContext","inputProps","labelProps","origLabelProps","textFieldProps","userAssistanceProps","useTextField","forId","dateFieldProps","labelComp","Label","fieldLabelProps","labelText","inlineUserAssistance","InlineUserAssistance","fieldLabel","compactUserAssistance","CompactUserAssistance","monthPlaceholder","inputDateMask_monthPlaceholder","dayPlaceholder","inputDateMask_dayPlaceholder","yearPlaceholder","inputDateMask_yearPlaceholder","useMemo","translateCustomMasks","getDatePlaceholderMasks","FormFieldContext","Provider","ReadonlyTextField","mainContent","ReadonlyTextFieldInput","as","elementRef","formatShortCalendarDate","hasEmptyLabel","TextField"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', 'preact/compat', 'preact/hooks', './Calendar-47e39e3e', './HiddenAccessible-037ef42d', './IconButton-232d63fc', './clientHints-6d361eaa', './FormFieldContext-a024b891', './logger-0f873e29', './TabbableModeContext-a9c97640', './useTranslationBundle-8e42d505', 'css!./UserAssistanceStyles.styles.css', 'module', './UNSAFE_UserAssistance/themes/redwood/UserAssistanceVariants.css', './InlineUserAssistance-e406e352', './Flex-07d2aa5b', 'css!./MessageBannerStyles.styles.css', 'module', './UNSAFE_MessageBanner/themes/redwood/MessageBannerVariants.css', 'preact', './LayerHost-daf96749', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-ae57629b', 'css!./IconStyle.styles.css', 'css!./MessageStyles.styles.css', './MessageFormattingUtils-ea0be23e', './TransitionGroup-3b9d81b6', './MessagesContext-602a69a2', 'css!./HiddenAccessibleStyles.styles.css', 'css!./ComponentMessageStyles.styles.css', 'module', './UNSAFE_ComponentMessage/themes/redwood/ComponentMessageVariants.css', './Popup-695781d6', './UNSAFE_Separator/themes/SeparatorStyles.css', 'css!./LabelStyles.styles.css', 'module', './UNSAFE_Label/themes/redwood/LabelVariants.css', './InputGroupContext-372087af', 'module', './UNSAFE_Popup/themes/redwood/PopupVariants.css', './UNSAFE_InputDatePicker/themes/InputDatePickerDropdownStyles.css', './Sheet-c7f3fe2d', './DatePicker-a07542a8', './SectionedContent-054e2fc2', './stringUtils-4ffd9d59', './FormContext-6b0879a0', './useFormContext-b8cbbb21', './useId-c9578d26', './getFormatParse-7ea0c25b', './maskUtils-8e7a7701', './useHiddenTestMethod-90b5bff5', './calendarDateUtils-dd5b75ee', './useTestId-9afc201a', './InputDateMask-2fdb6f26'], (function(e,s,t,a,n,o,r,i,l,d,u,c,m,p,h,y,f,b,C,D,v,S,k,x,A,T,g,F,I,V,P,R,w,M,U,_,j,H,B,E,N,L,O,Y,Z,W,z,G,q,J,K,Q,X,$,ee,se,te){"use strict";const ae=({anchorRef:e,assistiveText:t,dayFormatter:n,daysOutsideMonth:o,helpSourceLink:r,helpSourceText:i,isDisabled:d,isOpen:u,isReadonly:m,label:p,onClose:h,onCommit:f,max:b,messages:C,min:D,monthAndYearPicker:v,testId:S,todayButton:k,todayTimeZone:x,userAssistanceDensity:A,value:T,weekDisplay:g})=>{const[F,I]=a.useState(!1),[V,P]=a.useState(u),R=a.useCallback((e=>{I(e.placement.startsWith("top"))}),[]);V!==u&&(P(u),u||I(!1));const w=ne(),{datePicker_label:M}=c.useTranslationBundle("@oracle/oraclejet-preact"),U=M(),_=s.jsx(W.DatePicker,{dayFormatter:n,daysOutsideMonth:o,height:w?void 0:"auto",onCommit:f,max:b,min:D,maxWidth:w?"100%":void 0,width:"100%",monthAndYearPicker:v,testId:S,todayTimeZone:x,todayButton:k,value:T,weekDisplay:g}),j=!u||F&&!w||d||m||!(t||r||C&&C.length>0)||"efficient"!==A&&"reflow"!==A?void 0:s.jsx(l.FormFieldContext.Provider,{value:{isFocused:!0},children:s.jsx("div",{class:Y.userAssistanceStyles,children:s.jsx(y.InlineUserAssistance,{assistiveText:t,fieldLabel:p,helpSourceLink:r,helpSourceText:i,messages:C,userAssistanceDensity:A})})}),H=S?S+(w?"_sheet":"_dropdown"):void 0,B=s.jsx("div",{class:Y.dropdownStyles,children:s.jsx(z.SectionedContent,{"aria-label":U,footer:j,hasFocusTrap:!0,main:_,role:"dialog",testId:H})});return w?s.jsx(Z.Sheet,{initialFocus:"firstFocusable",isOpen:u,onClose:h,children:s.jsx(z.SectionedContent,{"aria-label":U,footer:j,hasFocusTrap:!0,main:_,role:"dialog",testId:H})}):s.jsx(z.StickyPositioningDropdown,{anchorRef:e,initialFocus:"firstFocusable",isOpen:u,onClose:h,onPosition:R,sizeOptions:{isMaxWidthAdjusted:!1,isMaxHeightAdjusted:!0},children:B})},ne=()=>"phone"===i.getClientHints().deviceType,oe=e=>e&&ee.isCompleteCalendarDate(e)?e:void 0,re=(e,s)=>{switch(s.type){case"dateChanged":return{...e,dateValue:s.data,completeDateValue:oe(s.data)};case"dateSelected":return{...e,dateValue:s.data,completeDateValue:s.data};case"reset":return{completeDateValue:oe(s.data),dateValue:s.data};default:return e}},ie=({isDisabled:e,isReadonly:s,onCommit:t,onInput:n,rootRef:o,value:r})=>{const[i,l]=a.useState(!1),d=a.useRef(null),u=a.useRef(null),c=a.useRef(!1),m=a.useRef(),p=a.useRef(r),h=a.useRef(r),y=a.useRef(r),f=a.useRef(!1),{state:b,dispatch:C}=(({value:e})=>{const[s,t]=a.useReducer(re,{completeDateValue:oe(e),dateValue:e});return{state:s,dispatch:t}})({value:r});X.calendarDatesAreDifferent(y.current,r)&&(y.current=r,X.calendarDatesAreDifferent(r,b.dateValue)&&(C({type:"reset",data:r}),h.current=r,p.current=r)),a.useEffect((()=>{X.calendarDatesAreDifferent(b.dateValue,h.current)&&(n({previousValue:h.current,value:b.dateValue}),h.current=b.dateValue),f.current&&X.calendarDatesAreDifferent(b.dateValue,p.current)&&(t?.({previousValue:p.current,value:b.dateValue}),p.current=b.dateValue,f.current=!1)}),[t,n,b.dateValue]);const D=a.useCallback((e=>{C({type:"dateChanged",data:e.value})}),[C]),v=a.useCallback((e=>{X.calendarDatesAreDifferent(p.current,e.value)&&(t?.({value:e.value,previousValue:p.current}),p.current=e.value)}),[t]),S=a.useCallback((()=>{c.current||l((e=>!e)),c.current=!1}),[]),k=a.useCallback((e=>{"outsideMousedown"===e.reason?(c.current=!0,clearTimeout(m.current),m.current=setTimeout((()=>{c.current=!1}),200)):"dismissed"!==e.reason&&"keyboardDismissed"!==e.reason||d.current?.focus(),l(!1)}),[]),x=a.useCallback((e=>{d.current?.focus(),f.current=!0,C({type:"dateSelected",data:e.value}),l(!1)}),[C]),A=a.useCallback((a=>s||e?Promise.reject("Component is readonly or disabled"):(n({value:a,previousValue:r}),t?.({value:a,previousValue:r}),Promise.resolve())),[r,e,s,t,n]);return $.useHiddenTestMethod({elementRef:o,method:A,name:"_changeValue"}),{calendarIconActionHandler:S,datePickerCommitHandler:x,dropdownCloseHandler:k,completeDateValue:b.completeDateValue,dateValue:b.dateValue,iconRef:d,isOpen:i,maskCommitHandler:v,maskInputHandler:D,maskRef:u}},le=t.forwardRef((({"aria-describedby":e,assistiveText:t,dayFormatter:i,daysOutsideMonth:l,helpSourceLink:d,helpSourceText:u,isDisabled:m,isReadonly:p,label:h,max:y,messages:f,min:b,monthAndYearPicker:C,todayTimeZone:D,todayButton:v,value:S,onCommit:k,onInput:x,testId:A,userAssistanceDensity:T,weekDisplay:g,...F},I)=>{const V=se.useTestId(A),P=a.useRef(null),{calendarIconActionHandler:R,datePickerCommitHandler:w,completeDateValue:M,dateValue:U,dropdownCloseHandler:_,iconRef:j,isOpen:H,maskCommitHandler:B,maskInputHandler:E,maskRef:N}=ie({isDisabled:m,isReadonly:p,onCommit:k,onInput:x,rootRef:P,value:S}),L=a.useRef(null),{inputDatePicker_selectDate:O,inputDatePicker_instruction:Y}=c.useTranslationBundle("@oracle/oraclejet-preact"),Z=O(),{userAssistanceDensity:W}=J.useFormContext(),z=T??W;a.useImperativeHandle(I,(()=>({focus:()=>{N.current?.focus()},blur:()=>{N.current?.blur()}})));const q=K.useId(),Q=Y(),X=m||p?void 0:s.jsx(o.HiddenAccessible,{id:q,isHidden:!0,children:Q}),$=m||p?e:G.l([e,q]),ee=s.jsx(r.IconButton,{"aria-haspopup":"dialog","aria-label":Z,isDisabled:m,ref:j,size:"sm",testId:A?A+"_calendarIcon":void 0,variant:"ghost",onAction:R,children:s.jsx(n.SvgCalendar,{})}),ne=H;return s.jsxs("div",{...V,ref:P,children:[s.jsx(te.InputDateMaskContext.Provider,{value:{isDropdownOpen:H,isInputDatePickerParent:!0},children:s.jsx(te.InputDateMask,{"aria-describedby":$,assistiveText:t,endContent:ee,helpSourceLink:d,helpSourceText:u,isDisabled:m,isReadonly:p,label:h,onCommit:B,onInput:E,mainFieldRef:L,messages:f,testId:A?A+"_mask":void 0,ref:N,userAssistanceDensity:T,value:U,...F})}),X,ne&&s.jsx(ae,{anchorRef:L,assistiveText:t,dayFormatter:i,daysOutsideMonth:l,helpSourceLink:d,helpSourceText:u,isDisabled:m,isReadonly:p,isOpen:H,label:h,onClose:_,onCommit:w,max:y,messages:f,min:b,monthAndYearPicker:C,testId:A?A+"_datePicker":void 0,todayTimeZone:D,todayButton:v,userAssistanceDensity:z,value:M,weekDisplay:g})]})}));e.InputDatePicker=le}));
|
|
2
|
+
//# sourceMappingURL=InputDatePicker-a1eea599.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputDatePicker-a1eea599.js","sources":["../../src/UNSAFE_InputDatePicker/InputDatePickerDropdown.tsx","../../src/UNSAFE_InputDatePicker/useInputDatePickerState.ts","../../src/UNSAFE_InputDatePicker/useInputDatePicker.ts","../../src/UNSAFE_InputDatePicker/InputDatePicker.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { ComponentProps } from 'preact';\nimport { useCallback, useState } from 'preact/hooks';\nimport { BundleType } from '../resources/nls/bundle';\nimport { DatePicker } from '#UNSAFE_DatePicker';\nimport { type CloseDetail as DropdownCloseDetail } from '#UNSAFE_Dropdown';\nimport { getClientHints } from '#utils/PRIVATE_clientHints';\nimport { FormFieldContext } from '../hooks/UNSAFE_useFormFieldContext';\nimport { InlineUserAssistance } from '../UNSAFE_UserAssistance';\nimport { InputDatePicker } from './InputDatePicker';\nimport { dropdownStyles, userAssistanceStyles } from './themes/InputDatePickerDropdownStyles.css';\nimport { PositionData } from '../UNSAFE_Floating';\nimport { StickyPositioningDropdown } from '#PRIVATE_FormControls';\nimport { SectionedContent } from '#PRIVATE_FormControls';\nimport { type CloseDetail as SheetCloseDetail, Sheet } from '#UNSAFE_Sheet';\nimport type { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { SizeOptions } from '#UNSAFE_Floating/Floating';\n\ntype StickyPositioningDropdownProps = ComponentProps<typeof StickyPositioningDropdown>;\ntype InputDatePickerProps = ComponentProps<typeof InputDatePicker>;\ntype PickedPropsFromInputDatePicker = Pick<\n InputDatePickerProps,\n | 'assistiveText'\n | 'dayFormatter'\n | 'daysOutsideMonth'\n | 'helpSourceLink'\n | 'helpSourceText'\n | 'isDisabled'\n | 'isReadonly'\n | 'label'\n | 'messages'\n | 'min'\n | 'max'\n | 'monthAndYearPicker'\n | 'todayButton'\n | 'todayTimeZone'\n | 'userAssistanceDensity'\n | 'value'\n | 'weekDisplay'\n>;\ntype DatePickerProps = ComponentProps<typeof DatePicker>;\ntype PickedPropsFromDatePicker = Pick<DatePickerProps, 'value' | 'onCommit'>;\ntype PickedPropsFromDropdown = Omit<StickyPositioningDropdownProps, 'onClose'>;\ntype CloseDetail = SheetCloseDetail | DropdownCloseDetail;\n\ntype Props = PickedPropsFromDatePicker &\n PickedPropsFromInputDatePicker &\n PickedPropsFromDropdown &\n TestIdProps & {\n /**\n * Called when the dropdown or sheet is supposed to be closed.\n */\n onClose?: (detail: CloseDetail) => void;\n };\n\n/**\n * Component that renders DatePicker either inside a dropdown or sheet; at small screen\n * widths, it renders inside a sheet. Additionally, when a dropdown is being shown beneath\n * the component, we also show any user assistance text or messages below the picker\n * because otherwise that information would be obscured from view. When a sheet is being\n * shown, it will always display UA and messages at the bottom of the sheet.\n */\nconst InputDatePickerDropdown = ({\n anchorRef,\n assistiveText,\n dayFormatter,\n daysOutsideMonth,\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isOpen,\n isReadonly,\n label,\n onClose,\n onCommit,\n max,\n messages,\n min,\n monthAndYearPicker,\n testId,\n todayButton,\n todayTimeZone,\n userAssistanceDensity,\n value,\n weekDisplay\n}: Props) => {\n // If the dropdown opens above the component, we don't want to show UA or messages.\n const [isDropdownAbove, setDropdownAbove] = useState(false);\n const [prevIsOpen, setPrevIsOpen] = useState(isOpen);\n const handleDropdownPosition = useCallback<\n NonNullable<StickyPositioningDropdownProps['onPosition']>\n >((data: PositionData) => {\n setDropdownAbove(data.placement.startsWith('top'));\n }, []);\n // Reset the flag when the dropdown is closed.\n if (prevIsOpen !== isOpen) {\n setPrevIsOpen(isOpen);\n if (!isOpen) {\n setDropdownAbove(false);\n }\n }\n\n const sizeOptions: SizeOptions = {\n isMaxWidthAdjusted: false,\n isMaxHeightAdjusted: true\n };\n\n // On mobile phones, the dropdown becomes a sheet.\n const shouldShowSheet = isPhone();\n\n const { datePicker_label } = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const datePickerAriaLabel = datePicker_label();\n\n const datePickerMainContent = (\n <DatePicker\n dayFormatter={dayFormatter}\n daysOutsideMonth={daysOutsideMonth}\n height={!shouldShowSheet ? 'auto' : undefined}\n onCommit={onCommit}\n max={max}\n min={min}\n // for sheet, we want the width to grow to the width of the sheet, otherwise it will use the theme default.\n maxWidth={shouldShowSheet ? '100%' : undefined}\n width=\"100%\"\n monthAndYearPicker={monthAndYearPicker}\n testId={testId}\n todayTimeZone={todayTimeZone}\n todayButton={todayButton}\n value={value}\n weekDisplay={weekDisplay}\n />\n );\n\n const inlineUserAssistanceFooter =\n isOpen &&\n (!isDropdownAbove || shouldShowSheet) &&\n !isDisabled &&\n !isReadonly &&\n (assistiveText || helpSourceLink || (messages && messages.length > 0)) &&\n (userAssistanceDensity === 'efficient' || userAssistanceDensity === 'reflow') ? (\n <FormFieldContext.Provider value={{ isFocused: true }}>\n <div class={userAssistanceStyles}>\n <InlineUserAssistance\n assistiveText={assistiveText}\n fieldLabel={label}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n messages={messages}\n userAssistanceDensity={userAssistanceDensity}\n />\n </div>\n </FormFieldContext.Provider>\n ) : undefined;\n\n const contentTestId = testId ? testId + (shouldShowSheet ? '_sheet' : '_dropdown') : undefined;\n\n // The same content is displayed either in a dropdown or sheet: date picker and inline UA.\n // Add styling to the dropdown to enforce a fixed width.\n const dropdownContent = (\n <div class={dropdownStyles}>\n <SectionedContent\n aria-label={datePickerAriaLabel}\n footer={inlineUserAssistanceFooter}\n hasFocusTrap={true}\n main={datePickerMainContent}\n role=\"dialog\"\n testId={contentTestId}\n />\n </div>\n );\n\n const dropdown = shouldShowSheet ? (\n <Sheet initialFocus=\"firstFocusable\" isOpen={isOpen} onClose={onClose}>\n <SectionedContent\n aria-label={datePickerAriaLabel}\n footer={inlineUserAssistanceFooter}\n hasFocusTrap={true}\n main={datePickerMainContent}\n role=\"dialog\"\n testId={contentTestId}\n />\n </Sheet>\n ) : (\n <StickyPositioningDropdown\n anchorRef={anchorRef}\n initialFocus=\"firstFocusable\"\n isOpen={isOpen}\n onClose={onClose}\n onPosition={handleDropdownPosition}\n sizeOptions={sizeOptions}>\n {dropdownContent}\n </StickyPositioningDropdown>\n );\n\n return dropdown;\n};\n\nconst isPhone = () => {\n return getClientHints().deviceType === 'phone';\n};\n\nexport { InputDatePickerDropdown, type CloseDetail };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport { useReducer } from 'preact/hooks';\nimport type { CalendarDate, CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { isCompleteCalendarDate } from '#utils/UNSAFE_calendarDateUtils';\n\ntype InputDatePickerState = {\n /**\n * If dateValue is a complete date, then completeDateValue is the same as dateValue\n * otherwise is is undefined. We need to maintain separate states because\n * InputDateMask uses CalendarDate, but DatePicker uses CalendarDateRequired.\n * If the user types a partial date then opens the picker, we treat that as\n * no selection. The picker opens to the current month showing today.\n */\n completeDateValue?: CalendarDateRequired;\n\n /**\n * Represents the current date value of the component. The user either selected\n * the date in the picker, or typed it into the date field.\n */\n dateValue?: CalendarDate;\n};\n\ntype DateChangedAction = { type: 'dateChanged'; data?: CalendarDate };\ntype DateResetAction = { type: 'reset'; data?: CalendarDate };\ntype DateSelectedAction = { type: 'dateSelected'; data?: CalendarDateRequired };\ntype InputDatePickerReducerAction = DateChangedAction | DateResetAction | DateSelectedAction;\n\n// If dateVal is a complete date, return it as a CalendarDateRequired\n// otherwise return undefined.\nconst convertToCalendarDateRequired = (dateVal?: CalendarDate) => {\n return !dateVal || !isCompleteCalendarDate(dateVal)\n ? undefined\n : (dateVal as CalendarDateRequired);\n};\n\n// Use a reducer function to manage InputDatePickerState.\nconst inputDatePickerReducer = (\n state: InputDatePickerState,\n action: InputDatePickerReducerAction\n): InputDatePickerState => {\n switch (action.type) {\n case 'dateChanged': {\n return {\n ...state,\n dateValue: action.data,\n completeDateValue: convertToCalendarDateRequired(action.data)\n };\n }\n case 'dateSelected': {\n return { ...state, dateValue: action.data, completeDateValue: action.data };\n }\n case 'reset': {\n return {\n completeDateValue: convertToCalendarDateRequired(action.data),\n dateValue: action.data\n };\n }\n default:\n return state;\n }\n};\n\ntype Props = {\n /**\n * The value of the InputDatePicker, or undefined.\n */\n value?: CalendarDate;\n};\n\n/**\n * useInputDatePickerState calls useReducer to determine the initial state. Any changes to that state\n * are managed by dispatching actions to the reducer function.\n */\nconst useInputDatePickerState = ({ value }: Props) => {\n const [state, dispatch] = useReducer(inputDatePickerReducer, {\n completeDateValue: convertToCalendarDateRequired(value),\n dateValue: value\n });\n\n return { state, dispatch };\n};\n\nexport { useInputDatePickerState };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\n\nimport type { ComponentProps, RefObject } from 'preact';\nimport type { ElementRef } from 'preact/compat';\nimport { useCallback, useEffect, useRef, useState } from 'preact/hooks';\nimport type { CalendarDate, CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { calendarDatesAreDifferent } from '#utils/PRIVATE_dayUtils';\nimport { DatePicker } from '#UNSAFE_DatePicker';\nimport { CloseDetail, InputDatePickerDropdown } from './InputDatePickerDropdown';\nimport { IconButton } from '#UNSAFE_IconButton';\nimport { InputDateMask } from '#UNSAFE_InputDateMask';\nimport { InputDatePicker } from './InputDatePicker';\nimport { useHiddenTestMethod } from '#hooks/UNSAFE_useHiddenTestMethod';\nimport { useInputDatePickerState } from './useInputDatePickerState';\nimport type { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\n\ntype InputDatePickerProps = ComponentProps<typeof InputDatePicker>;\ntype InputDateMaskProps = ComponentProps<typeof InputDateMask>;\ntype DatePickerProps = ComponentProps<typeof DatePicker>;\ntype IconButtonProps = ComponentProps<typeof IconButton>;\ntype DropdownProps = ComponentProps<typeof InputDatePickerDropdown>;\n\ntype IconButtonHandle = ElementRef<typeof IconButton>;\n\ntype Props = {\n isDisabled: InputDatePickerProps['isDisabled'];\n isReadonly: InputDatePickerProps['isReadonly'];\n onCommit: InputDatePickerProps['onCommit'];\n onInput: InputDatePickerProps['onInput'];\n rootRef: RefObject<HTMLElement>;\n value: InputDatePickerProps['value'];\n};\n\n/**\n * Hook that provides handlers and other functionality for InputDatePicker.\n */\nconst useInputDatePicker = ({\n isDisabled,\n isReadonly,\n onCommit,\n onInput,\n rootRef,\n value: currentValue\n}: Props) => {\n // Whether the dropdown is open.\n const [isOpen, setIsOpen] = useState(false);\n\n // Ref to the calendar icon button.\n const iconRef = useRef<IconButtonHandle>(null);\n\n // Ref to the InputDateMask component.\n const maskRef: RefObject<HTMLElement> = useRef<HTMLElement>(null);\n\n // Keep track of whether the dropdown was just dismissed from an outside mousedown event.\n const outsideMousedownRef = useRef<boolean>(false);\n const outsideMousedownTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>();\n\n // Keep track of the last date values passed to onInput and onCommit.\n const lastCommittedDateRef = useRef<CalendarDate | undefined>(currentValue);\n const lastDateRef = useRef<CalendarDate | undefined>(currentValue);\n\n // Keep track of the last controlled value passed from the parent, so we can detect a programmatic change.\n const lastValueFromParentRef = useRef<CalendarDate | undefined>(currentValue);\n\n // Keep track of whether a date was selected in the date picker.\n const dateSelectedRef = useRef<boolean>(false);\n\n const { state, dispatch } = useInputDatePickerState({ value: currentValue });\n\n // If a new value is being pushed from the parent, and that value differs from\n // the current value of the reducer, then this is a programmatic update\n // and we need to call 'reset' to update the reducer state. Otherwise, the only\n // time the reducer state is updated from the value is on mount.\n if (calendarDatesAreDifferent(lastValueFromParentRef.current, currentValue)) {\n lastValueFromParentRef.current = currentValue;\n if (calendarDatesAreDifferent(currentValue, state.dateValue)) {\n dispatch({ type: 'reset', data: currentValue });\n lastDateRef.current = currentValue;\n lastCommittedDateRef.current = currentValue;\n }\n }\n\n // Reducer updates are async, so wait until the state updates and then call our callbacks.\n useEffect(() => {\n if (calendarDatesAreDifferent(state.dateValue, lastDateRef.current)) {\n onInput({ previousValue: lastDateRef.current, value: state.dateValue });\n lastDateRef.current = state.dateValue;\n }\n if (\n dateSelectedRef.current &&\n calendarDatesAreDifferent(state.dateValue, lastCommittedDateRef.current)\n ) {\n onCommit?.({ previousValue: lastCommittedDateRef.current, value: state.dateValue });\n lastCommittedDateRef.current = state.dateValue;\n dateSelectedRef.current = false;\n }\n }, [onCommit, onInput, state.dateValue]);\n\n // Handle onInput from InputDateMask as segment values are being added or changed in the input field.\n // We wait for the state to update before calling onInput.\n const maskInputHandler = useCallback<InputDateMaskProps['onInput']>(\n (detail: ValueUpdateDetail<CalendarDate>) => {\n dispatch({ type: 'dateChanged', data: detail.value });\n },\n [dispatch]\n );\n\n // Handle onCommit from InputDateMask, which is called when the user presses Enter or the field is blurred.\n const maskCommitHandler = useCallback<NonNullable<InputDateMaskProps['onCommit']>>(\n (detail: ValueUpdateDetail<CalendarDate>) => {\n // If the value we get from InputDateMask's onCommit differs from the last committed value, then call onCommit.\n if (calendarDatesAreDifferent(lastCommittedDateRef.current, detail.value)) {\n onCommit?.({ value: detail.value, previousValue: lastCommittedDateRef.current });\n lastCommittedDateRef.current = detail.value;\n }\n },\n [onCommit]\n );\n\n // Respond to onAction event from the calendar icon button. Toggles the date picker dropdown.\n const calendarIconActionHandler = useCallback<NonNullable<IconButtonProps['onAction']>>(() => {\n // Only toggle the value of isOpen if we didn't just dismiss the dropdown.\n if (!outsideMousedownRef.current) {\n setIsOpen((prevIsOpen) => !prevIsOpen);\n }\n outsideMousedownRef.current = false;\n }, []);\n\n const dropdownCloseHandler = useCallback<NonNullable<DropdownProps['onClose']>>(\n (detail: CloseDetail) => {\n // Keep track of when the dropdown is closed via outside mousedown, including when the calendar icon\n // is clicked. We need this in order to toggle visibility of the picker and dropdown.\n if (detail.reason === 'outsideMousedown') {\n outsideMousedownRef.current = true;\n clearTimeout(outsideMousedownTimerRef.current);\n\n // Clear the flag after a short delay to ensure the dropdown can be opened again.\n outsideMousedownTimerRef.current = setTimeout(() => {\n outsideMousedownRef.current = false;\n }, 200);\n } else if (detail.reason === 'dismissed' || detail.reason === 'keyboardDismissed') {\n // Focus the calendar icon when the dropdown is closed.\n iconRef.current?.focus();\n }\n setIsOpen(false);\n },\n []\n );\n\n // Handle date selection in the picker.\n // - Updates the value in state.\n // - Closes the dropdown.\n // - Sets focus to the date field.\n const datePickerCommitHandler = useCallback<DatePickerProps['onCommit']>(\n (detail: ValueUpdateDetail<CalendarDateRequired>) => {\n // Set focus to the calendar icon when a date is selected.\n iconRef.current?.focus();\n\n // Set a ref indicating a date was selected.\n dateSelectedRef.current = true;\n dispatch({ type: 'dateSelected', data: detail.value });\n setIsOpen(false);\n },\n [dispatch]\n );\n\n // Create a changeValue method that can be called by a test adapter to simulate a user\n // changing the value and committing it.\n const changeValue = useCallback(\n (newValue?: CalendarDate) => {\n // We always want this method available on the DOM element so that a test can call it,\n // but we only want it to change the value when the component is enabled because that's\n // the only time the user could change the value through the UI.\n if (!isReadonly && !isDisabled) {\n onInput({ value: newValue, previousValue: currentValue });\n onCommit?.({ value: newValue, previousValue: currentValue });\n return Promise.resolve();\n }\n return Promise.reject('Component is readonly or disabled');\n },\n [currentValue, isDisabled, isReadonly, onCommit, onInput]\n );\n // Expose _changeValue as a hidden method on the root DOM.\n useHiddenTestMethod({\n elementRef: rootRef,\n method: changeValue,\n name: '_changeValue'\n });\n\n return {\n calendarIconActionHandler,\n datePickerCommitHandler,\n dropdownCloseHandler,\n completeDateValue: state.completeDateValue,\n dateValue: state.dateValue,\n iconRef,\n isOpen,\n maskCommitHandler,\n maskInputHandler,\n maskRef\n };\n};\n\nexport { useInputDatePicker };\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { ComponentProps, Ref } from 'preact';\nimport { forwardRef } from 'preact/compat';\nimport { useImperativeHandle, useRef } from 'preact/hooks';\nimport { BundleType } from '../resources/nls/bundle';\nimport { CalendarIcon } from '#PRIVATE_ThemedIcons/CalendarIcon';\nimport {\n CalendarDate,\n CalendarDatePlaceholders,\n InputDateMask,\n InputDateMaskContext\n} from '#UNSAFE_InputDateMask';\nimport { DatePicker } from '#UNSAFE_DatePicker';\nimport { HiddenAccessible } from '#UNSAFE_HiddenAccessible';\nimport { IconButton } from '#UNSAFE_IconButton';\nimport { InputDatePickerDropdown } from './InputDatePickerDropdown';\nimport { FocusableHandle } from '#hooks/UNSAFE_useFocusableTextField';\nimport { merge } from '@oracle/oraclejet-internal-utilities/stringUtils';\nimport { useFormContext } from '#hooks/UNSAFE_useFormContext';\nimport { useId } from '#hooks/UNSAFE_useId';\nimport { useInputDatePicker } from './useInputDatePicker';\nimport { useTestId } from '#hooks/UNSAFE_useTestId';\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { ValueUpdateDetail } from '#utils/UNSAFE_valueUpdateDetail';\n\ntype InputDateMaskProps = ComponentProps<typeof InputDateMask>;\ntype PickedPropsFromInputDateMask = Pick<\n InputDateMaskProps,\n | 'aria-describedby'\n | 'assistiveText'\n | 'columnSpan'\n | 'helpSourceLink'\n | 'helpSourceText'\n | 'isDisabled'\n | 'isReadonly'\n | 'isRequired'\n | 'isRequiredShown'\n | 'label'\n | 'labelEdge'\n | 'labelStartWidth'\n | 'messages'\n | 'textAlign'\n | 'testId'\n | 'userAssistanceDensity'\n | 'variant'\n>;\n\ntype DatePickerProps = ComponentProps<typeof DatePicker>;\ntype PickedPropsFromDatePicker = Pick<\n DatePickerProps,\n | 'dayFormatter'\n | 'daysOutsideMonth'\n | 'max'\n | 'min'\n | 'monthAndYearPicker'\n | 'todayTimeZone'\n | 'todayButton'\n | 'weekDisplay'\n>;\n\ntype Props = PickedPropsFromInputDateMask &\n PickedPropsFromDatePicker & {\n /**\n * If specified, overrides the locale specific order of the individual date segments\n * in the date field as well as the locale specific separator. The value of each placeholder\n * is only used when the type is 'literal', otherwise it is replaced with a translated\n * placeholder for month, day, or year. The placeholders must include month, day, and year.\n */\n masks?: CalendarDatePlaceholders;\n\n /**\n * The current display value of the component.\n * This is a CalendarDate, not CalendarDateRequired, because this is a controlled component and\n * the user may type the month, day, and year separately. If a selection is made in the date\n * picker, then the value is a complete date.\n */\n value?: CalendarDate;\n\n /**\n * Callback invoked when the user commits the entered value by blurring or hitting the enter key.\n * It is also called when a selection is made in the date picker.\n */\n onCommit?: (detail: ValueUpdateDetail<CalendarDate>) => void;\n\n /**\n * Callback invoked each time the user changes the value of a segment. For example, if the user\n * types '12' into the month segment, this callback will be called twice to change the month\n * first to '1' and then '12'.\n */\n onInput: (detail: ValueUpdateDetail<CalendarDate>) => void;\n };\n\n/**\n * InputDatePicker allows users to enter or select a single date using a calendar interface.\n */\nexport const InputDatePicker = forwardRef(\n (\n {\n 'aria-describedby': propDescribedBy,\n assistiveText,\n dayFormatter,\n daysOutsideMonth,\n helpSourceLink,\n helpSourceText,\n isDisabled,\n isReadonly,\n label,\n max,\n messages,\n min,\n monthAndYearPicker,\n todayTimeZone,\n todayButton,\n value,\n onCommit,\n onInput,\n testId,\n userAssistanceDensity: propUserAssistanceDensity,\n weekDisplay,\n ...dateMaskProps\n }: Props,\n ref?: Ref<FocusableHandle>\n ) => {\n const testIdProps = useTestId(testId);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const {\n calendarIconActionHandler,\n datePickerCommitHandler,\n completeDateValue,\n dateValue,\n dropdownCloseHandler,\n iconRef,\n isOpen,\n maskCommitHandler,\n maskInputHandler,\n maskRef\n } = useInputDatePicker({\n isDisabled,\n isReadonly,\n onCommit,\n onInput,\n rootRef,\n value\n });\n\n const mainFieldRef = useRef<HTMLDivElement>(null);\n const { inputDatePicker_selectDate, inputDatePicker_instruction } =\n useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const calendarIconAriaLabel = inputDatePicker_selectDate();\n\n // We need this to determine if UA/messaging should be shown in the dropdown.\n const { userAssistanceDensity: formUserAssistanceDensity } = useFormContext();\n const userAssistanceDensity = propUserAssistanceDensity ?? formUserAssistanceDensity;\n\n useImperativeHandle(ref!, () => ({\n focus: () => {\n maskRef.current?.focus();\n },\n blur: () => {\n maskRef.current?.blur();\n }\n }));\n\n const maskFieldInstructionId = useId();\n const maskFieldInstructionText = inputDatePicker_instruction();\n const maskFieldInstruction =\n !isDisabled && !isReadonly ? (\n <HiddenAccessible id={maskFieldInstructionId} isHidden={true}>\n {maskFieldInstructionText}\n </HiddenAccessible>\n ) : undefined;\n const ariaDescribedBy =\n !isDisabled && !isReadonly\n ? merge([propDescribedBy, maskFieldInstructionId])\n : propDescribedBy;\n\n const endContent = (\n <IconButton\n aria-haspopup=\"dialog\"\n aria-label={calendarIconAriaLabel}\n isDisabled={isDisabled}\n ref={iconRef}\n size=\"sm\"\n testId={testId ? testId + '_calendarIcon' : undefined}\n variant=\"ghost\"\n onAction={calendarIconActionHandler}>\n <CalendarIcon />\n </IconButton>\n );\n\n const shouldShowDropdown = isOpen as boolean;\n\n return (\n <div {...testIdProps} ref={rootRef}>\n <InputDateMaskContext.Provider\n value={{ isDropdownOpen: isOpen, isInputDatePickerParent: true }}>\n <InputDateMask\n aria-describedby={ariaDescribedBy}\n assistiveText={assistiveText}\n endContent={endContent}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n label={label}\n onCommit={maskCommitHandler}\n onInput={maskInputHandler}\n mainFieldRef={mainFieldRef}\n messages={messages}\n testId={testId ? testId + '_mask' : undefined}\n ref={maskRef}\n userAssistanceDensity={propUserAssistanceDensity}\n value={dateValue}\n {...dateMaskProps}\n />\n </InputDateMaskContext.Provider>\n\n {maskFieldInstruction}\n\n {shouldShowDropdown && (\n <InputDatePickerDropdown\n anchorRef={mainFieldRef}\n assistiveText={assistiveText}\n dayFormatter={dayFormatter}\n daysOutsideMonth={daysOutsideMonth}\n helpSourceLink={helpSourceLink}\n helpSourceText={helpSourceText}\n isDisabled={isDisabled}\n isReadonly={isReadonly}\n isOpen={isOpen}\n label={label}\n onClose={dropdownCloseHandler}\n onCommit={datePickerCommitHandler}\n max={max}\n messages={messages}\n min={min}\n monthAndYearPicker={monthAndYearPicker}\n testId={testId ? testId + '_datePicker' : undefined}\n todayTimeZone={todayTimeZone}\n todayButton={todayButton}\n userAssistanceDensity={userAssistanceDensity}\n value={completeDateValue}\n weekDisplay={weekDisplay}\n />\n )}\n </div>\n );\n }\n);\n"],"names":["InputDatePickerDropdown","anchorRef","assistiveText","dayFormatter","daysOutsideMonth","helpSourceLink","helpSourceText","isDisabled","isOpen","isReadonly","label","onClose","onCommit","max","messages","min","monthAndYearPicker","testId","todayButton","todayTimeZone","userAssistanceDensity","value","weekDisplay","isDropdownAbove","setDropdownAbove","useState","prevIsOpen","setPrevIsOpen","handleDropdownPosition","useCallback","data","placement","startsWith","shouldShowSheet","isPhone","datePicker_label","useTranslationBundle","datePickerAriaLabel","datePickerMainContent","_jsx","DatePicker","height","undefined","maxWidth","width","inlineUserAssistanceFooter","length","FormFieldContext","Provider","isFocused","children","jsx","class","userAssistanceStyles","InlineUserAssistance","fieldLabel","contentTestId","dropdownContent","dropdownStyles","SectionedContent","footer","hasFocusTrap","main","role","Sheet","initialFocus","StickyPositioningDropdown","onPosition","sizeOptions","isMaxWidthAdjusted","isMaxHeightAdjusted","getClientHints","deviceType","convertToCalendarDateRequired","dateVal","isCompleteCalendarDate","inputDatePickerReducer","state","action","type","dateValue","completeDateValue","useInputDatePicker","onInput","rootRef","currentValue","setIsOpen","iconRef","useRef","maskRef","outsideMousedownRef","outsideMousedownTimerRef","lastCommittedDateRef","lastDateRef","lastValueFromParentRef","dateSelectedRef","dispatch","useReducer","useInputDatePickerState","calendarDatesAreDifferent","current","useEffect","previousValue","maskInputHandler","detail","maskCommitHandler","calendarIconActionHandler","dropdownCloseHandler","reason","clearTimeout","setTimeout","focus","datePickerCommitHandler","changeValue","newValue","Promise","reject","resolve","useHiddenTestMethod","elementRef","method","name","InputDatePicker","forwardRef","propDescribedBy","propUserAssistanceDensity","dateMaskProps","ref","testIdProps","useTestId","mainFieldRef","inputDatePicker_selectDate","inputDatePicker_instruction","calendarIconAriaLabel","formUserAssistanceDensity","useFormContext","useImperativeHandle","blur","maskFieldInstructionId","useId","maskFieldInstructionText","maskFieldInstruction","HiddenAccessible","id","isHidden","ariaDescribedBy","merge","endContent","IconButton","size","variant","onAction","CalendarIcon","shouldShowDropdown","_jsxs","InputDateMaskContext","isDropdownOpen","isInputDatePickerParent","InputDateMask"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(['exports', 'preact/jsx-runtime', 'preact/compat', 'preact/hooks', './useFocusableTextField-8b755b15', './FormContext-6b0879a0', './useFormContext-b8cbbb21', './FormFieldContext-a024b891', './useTextField-3ab0a23b', './useHover-8b8a1496', './Label-3c17bcc9', './keyboardUtils-fb6219eb', './TextFieldInput-eb40adaa', 'css!./ObfuscatedTextFieldInputStyles.styles.css', './ReadonlyTextFieldInput-e5723c48', './StyledTextField-5e554e5b', './TextField-51b63f5f', './useTranslationBundle-8e42d505', 'css!./LiveRegionStyles.styles.css', './LayerHost-daf96749', './UNSAFE_TextField/themes/TextFieldStyles.css', 'css!./SkeletonStyles.styles.css', 'css!./TextFieldLoadingStyles.styles.css', 'css!./TextFieldStyles.styles.css', 'module', './UNSAFE_TextField/themes/redwood/TextFieldVariants.css', './logger-0f873e29', './TabbableModeContext-a9c97640', 'css!./UserAssistanceStyles.styles.css', 'module', './UNSAFE_UserAssistance/themes/redwood/UserAssistanceVariants.css', './InlineUserAssistance-e406e352', './CompactUserAssistance-5ef03b0a', './useToggle-a29f97af', './mergeProps-bcfa6a92', 'css!./TooltipContentStyles.styles.css', 'module', './hooks/UNSAFE_useTooltip/themes/redwood/TooltipContentVariants.css', './tooltipUtils-ae57629b', 'preact', 'css!./IconStyle.styles.css', './Popup-695781d6', 'css!./LabelStyles.styles.css', 'module', './UNSAFE_Label/themes/redwood/LabelVariants.css', './InputGroupContext-372087af', 'css!./HiddenAccessibleStyles.styles.css', 'module', './UNSAFE_Popup/themes/redwood/PopupVariants.css', './useClearIcon-05225968', './componentUtils-c14d7fce', './ClearIcon-13bd61d3', './useCurrentValueReducer-faded381', './useSelectableTextField-900d2860', './formControlUtils-de035f75', './RevealToggleIcon-28c5efc5'], (function(e,s,t,l,a,o,i,n,d,r,c,u,p,b,m,x,F,y,h,T,f,S,v,A,C,g,I,U,R,w,E,L,P,V,_,j,k,B,D,N,H,q,W,O,$,G,M,z,J,K,Q,X,Y,Z,ee,se){"use strict";const te=t.forwardRef((({"aria-describedby":e,assistiveText:t,autoComplete:o="off",autoFocus:u=!1,columnSpan:b,hasClearIcon:h,hasRevealToggle:T="always",helpSourceLink:f,helpSourceText:S,isDisabled:v,isReadonly:A,isRequired:C=!1,isRequiredShown:g,label:I,labelEdge:U,labelStartWidth:R,messages:w,placeholder:E,textAlign:j,userAssistanceDensity:k,value:B,variant:D="default",onInput:N,onCommit:H,testId:q},W)=>{const{currentCommitValue:O,dispatch:$}=Y.useCurrentValueReducer({value:B}),G=l.useCallback((e=>{$({type:"input",payload:e.value}),N?.(e)}),[N,$]),M=l.useCallback((e=>{$({type:"commit",payload:e.value}),H?.(e)}),[H,$]),{isDisabled:z,isReadonly:J,labelEdge:te,labelStartWidth:le,textAlign:ae,userAssistanceDensity:oe}=i.useFormContext(),ie=v??z,ne=A??J,de=U??te,re=R??le,ce=j??ae??ee.defaultTextAlignForVariant(D),ue=k??oe,{bool:pe,setFalse:be,setTrue:me}=V.useToggle(!1),xe=l.useRef(null),Fe=l.useRef(null),{focusProps:ye,isFocused:he,methods:Te}=a.useFocusableTextField({enabledElementRef:xe,readonlyElementRef:Fe,isDisabled:ie,isReadonly:ne,onBlurWithin:be}),{methods:fe}=Z.useSelectableTextField(xe);l.useImperativeHandle(W,(()=>_.mergeProps(Te,fe)),[Te,fe]);const{hoverProps:Se,isHover:ve}=r.useHover({isDisabled:ne||ie||!1}),{formFieldContext:Ae,inputProps:Ce,labelProps:ge,textFieldProps:Ie,userAssistanceProps:Ue}=d.useTextField({ariaDescribedBy:e,helpSourceLink:f,helpSourceText:S,isDisabled:ie,isFocused:he,isReadonly:ne,isRequiredShown:g,labelEdge:de,messages:w,styleVariant:D,userAssistanceDensity:ue,value:B}),Re=l.useCallback((()=>{pe?be():me()}),[pe,be,me]),we=y.useTranslationBundle("@oracle/oraclejet-preact"),Ee=we.inputPassword_hidden(),Le=we.inputPassword_show(),Pe=we.inputPassword_hide(),Ve=ie||"always"!==T?null:s.jsx(se.RevealToggleIcon,{accessibleLabel:Ee,isRevealed:pe,onToggle:Re,tooltipHide:Pe,tooltipShow:Le,testId:`${q}_toggleicon`}),_e=l.useCallback((()=>{xe.current?.focus(),G?.({previousValue:B,value:""})}),[G,B,xe]),je=K.useClearIcon({clearIcon:s.jsx(X.ClearIcon,{onClick:_e,testId:`${q}_clearicon`}),display:h,hasValue:Ae.hasValue,isFocused:he,isEnabled:!ne&&!ie,isHover:ve}),ke=Q.beforeVNode(Ve,je),Be="none"!==de?s.jsx(c.Label,{...ge,children:I}):void 0,De={label:"none"!==de?Be:void 0,labelEdge:"none"!==de?de:void 0,labelStartWidth:"none"!==de?re:void 0,labelText:"inside"!==de||ie?void 0:I},Ne="none"===de?I:void 0,He="efficient"===ue||"reflow"===ue?ie?"efficient"!==ue?void 0:s.jsx(L.InlineUserAssistance,{userAssistanceDensity:ue,...Ue}):ne?s.jsx(L.InlineUserAssistance,{fieldLabel:I,messages:w,userAssistanceDensity:ue,...Ue}):s.jsx(L.InlineUserAssistance,{assistiveText:t,fieldLabel:I,helpSourceLink:f,helpSourceText:S,messages:w,isRequiredShown:g,userAssistanceDensity:ue,...Ue}):void 0,qe=l.useRef(null),We="compact"===ue?s.jsx(P.CompactUserAssistance,{anchorRef:qe,messages:w,assistiveText:t,...Ue}):void 0;if(ne){const e=s.jsx(m.ReadonlyTextFieldInput,{"aria-describedby":Ce["aria-describedby"],"aria-label":Ne,"aria-labelledby":ge.id,as:"input",autoFocus:u,elementRef:Fe,formVariant:D,textAlign:ce,type:"password",value:B,hasEmptyLabel:""===I&&"none"===de,hasInsideLabel:void 0!==I&&"inside"===de,onBlur:Ce.onBlur,onFocus:Ce.onFocus});return s.jsx(n.FormFieldContext.Provider,{value:Ae,children:s.jsx(x.ReadonlyTextField,{role:"presentation",columnSpan:b,compactUserAssistance:We,inlineUserAssistance:He,ref:qe,mainContent:e,testId:q,...De})})}const Oe=s.jsx(p.TextFieldInput,{"aria-label":Ne,autoComplete:o,autoFocus:u,currentCommitValue:O,hasEndContent:!(!je&&!Ve),hasEmptyLabel:""===I&&"none"===de,hasInsideLabel:void 0!==Be&&"inside"===de,inputRef:xe,isRequired:C,onInput:G,onCommit:M,placeholder:E,textAlign:ce,value:B,type:pe?"text":"password",...Ce});return s.jsx(n.FormFieldContext.Provider,{value:Ae,children:s.jsx(F.TextField,{columnSpan:b,endContent:ke,inlineUserAssistance:He,compactUserAssistance:We,mainContent:Oe,onBlur:ye.onFocusOut,onFocus:ye.onFocusIn,mainFieldRef:qe,testId:q,...Ie,...De,...Se})})}));e.InputPassword=te}));
|
|
2
|
+
//# sourceMappingURL=InputPassword-72147893.js.map
|