@oracle/oraclejet-preact 17.0.6 → 17.0.7
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/{BarChart-6c921af0.js → BarChart-be1d51d4.js} +2 -2
- package/amd/{BarChart-6c921af0.js.map → BarChart-be1d51d4.js.map} +1 -1
- package/amd/{Chart-0f54dae3.js → Chart-4796be31.js} +2 -2
- package/amd/{Chart-0f54dae3.js.map → Chart-4796be31.js.map} +1 -1
- package/amd/CheckboxSetContext-2e486ea8.js +2 -0
- package/{cjs/CheckboxSetContext-c62db26d.js.map → amd/CheckboxSetContext-2e486ea8.js.map} +1 -1
- package/amd/InputDatePicker-0012b304.js +2 -0
- package/amd/{InputDatePicker-da5d8728.js.map → InputDatePicker-0012b304.js.map} +1 -1
- package/amd/{LineAreaChart-337cac30.js → LineAreaChart-2057f8b4.js} +2 -2
- package/amd/{LineAreaChart-337cac30.js.map → LineAreaChart-2057f8b4.js.map} +1 -1
- package/amd/MaxLengthCounter-caafceef.js +2 -0
- package/amd/MaxLengthCounter-caafceef.js.map +1 -0
- package/amd/NavigationListItem-c96ac144.js +2 -0
- package/amd/{NavigationListItem-0a4f8a9c.js.map → NavigationListItem-c96ac144.js.map} +1 -1
- package/amd/{OverflowTabBarItem-aae4eb2f.js → OverflowTabBarItem-f781e527.js} +2 -2
- package/amd/{OverflowTabBarItem-aae4eb2f.js.map → OverflowTabBarItem-f781e527.js.map} +1 -1
- package/amd/PRIVATE_Chart.js +1 -1
- package/amd/TextArea-44c90bc4.js +2 -0
- package/amd/TextArea-44c90bc4.js.map +1 -0
- package/amd/TextAreaAutosize-0a023972.js +2 -0
- package/amd/{TextAreaAutosize-9dc5bffe.js.map → TextAreaAutosize-0a023972.js.map} +1 -1
- package/amd/Theme-redwood/theme.css +341 -341
- package/amd/Theme-stable/theme.css +242 -242
- package/amd/UNSAFE_BarChart/__test__/BarChart.spec.js +1 -1
- package/amd/UNSAFE_BarChart.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js +1 -1
- package/amd/UNSAFE_CheckboxItem.js.map +1 -1
- package/amd/UNSAFE_CheckboxSet.js +1 -1
- package/amd/UNSAFE_CheckboxSet.js.map +1 -1
- package/amd/UNSAFE_InputDatePicker.js +1 -1
- package/amd/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +1 -1
- package/amd/UNSAFE_LineAreaChart.js +1 -1
- package/amd/UNSAFE_NavigationList.js +1 -1
- package/amd/UNSAFE_OverflowTabBar.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_TextArea.js +1 -1
- package/amd/UNSAFE_TextAreaAutosize.js +1 -1
- package/cjs/ActionCard-aade4e40.js +1 -1
- package/cjs/{BarChart-acda079d.js → BarChart-11c56b6a.js} +4 -4
- package/cjs/{BarChart-acda079d.js.map → BarChart-11c56b6a.js.map} +1 -1
- package/cjs/BaseButton-ff6f39f2.js +2 -2
- package/cjs/{BaseCardView-badf6df3.js → BaseCardView-99f89fbf.js} +8 -8
- package/cjs/{BaseCardView-badf6df3.js.map → BaseCardView-99f89fbf.js.map} +1 -1
- package/cjs/{BaseCardViewSelectionTest-fe6cdb4a.js → BaseCardViewSelectionTest-1d3dd9f3.js} +6 -6
- package/cjs/{BaseCardViewSelectionTest-fe6cdb4a.js.map → BaseCardViewSelectionTest-1d3dd9f3.js.map} +1 -1
- package/cjs/{useNavigationListItem-74009187.js → BaseNavigationListItem-070d75bc.js} +40 -2
- package/cjs/BaseNavigationListItem-070d75bc.js.map +1 -0
- package/cjs/ButtonSet-dc50f9d4.js +2 -2
- package/cjs/ButtonSetIconButton-50543cd6.js +2 -2
- package/cjs/{CardFlexView-d44dfed5.js → CardFlexView-48f39ef2.js} +2 -2
- package/cjs/{CardFlexView-d44dfed5.js.map → CardFlexView-48f39ef2.js.map} +1 -1
- package/cjs/{CardGridView-dd7c777f.js → CardGridView-6bb427fe.js} +2 -2
- package/cjs/{CardGridView-dd7c777f.js.map → CardGridView-6bb427fe.js.map} +1 -1
- package/cjs/{Center-dce9d477.js → Center-a76dcdfe.js} +2 -2
- package/cjs/{Center-dce9d477.js.map → Center-a76dcdfe.js.map} +1 -1
- package/cjs/{Chart-c55ecfa4.js → Chart-6684fa6d.js} +11 -11
- package/cjs/{Chart-c55ecfa4.js.map → Chart-6684fa6d.js.map} +1 -1
- package/cjs/CheckboxControl-24658cde.js +6 -6
- package/cjs/CheckboxRadioField-0d4b2c66.js +5 -5
- package/cjs/CheckboxSet-13a5c10c.js +53 -0
- package/{amd/CheckboxSet-9c883a32.js.map → cjs/CheckboxSet-13a5c10c.js.map} +1 -1
- package/cjs/Chip-a24817e0.js +1 -1
- package/cjs/ClearIcon-50725213.js +1 -1
- package/cjs/CollapseIcon-a1da1523.js +1 -1
- package/cjs/Collapsible-95f66549.js +2 -2
- package/cjs/CompactHelpSource-f4e9198b.js +2 -2
- package/cjs/{CompactLabelAssistance-ae678fbd.js → CompactLabelAssistance-7dd6ac2c.js} +4 -4
- package/cjs/{CompactLabelAssistance-ae678fbd.js.map → CompactLabelAssistance-7dd6ac2c.js.map} +1 -1
- package/cjs/CompactUserAssistance-f88519f9.js +4 -4
- package/cjs/ComponentMessageContainer-a9195577.js +4 -4
- package/cjs/ConveyorBeltItem-a0d53a2f.js +2 -2
- package/cjs/{DatePicker-3be1de5c.js → DatePicker-3c46ec73.js} +6 -6
- package/cjs/{DatePicker-3be1de5c.js.map → DatePicker-3c46ec73.js.map} +1 -1
- package/cjs/DatePickerHeader-589e8b78.js +3 -3
- package/cjs/{Diagram-522fe974.js → Diagram-5e7f1aec.js} +5 -5
- package/cjs/{Diagram-522fe974.js.map → Diagram-5e7f1aec.js.map} +1 -1
- package/cjs/DirectionalCollapseArrowIcon-d2b24ac3.js +1 -1
- package/cjs/DirectionalExpandArrowIcon-adf981f6.js +1 -1
- package/cjs/DragHandle-d35fc8ac.js +1 -1
- package/cjs/{Dropdown-820dc3fe.js → Dropdown-7baf2926.js} +5 -5
- package/cjs/{Dropdown-820dc3fe.js.map → Dropdown-7baf2926.js.map} +1 -1
- package/cjs/{EnvironmentProvider-42b2b998.js → EnvironmentProvider-e5a93f24.js} +3 -3
- package/cjs/{EnvironmentProvider-42b2b998.js.map → EnvironmentProvider-e5a93f24.js.map} +1 -1
- package/cjs/FilePicker-47c7bc3f.js +2 -2
- package/cjs/{Flex-fbba4ad6.js → Flex-6529d995.js} +2 -2
- package/cjs/{Flex-fbba4ad6.js.map → Flex-6529d995.js.map} +1 -1
- package/cjs/{Floating-1280c2ce.js → Floating-9e569e63.js} +4 -4
- package/cjs/{Floating-1280c2ce.js.map → Floating-9e569e63.js.map} +1 -1
- package/cjs/FormLayout-ab6f90b8.js +1 -1
- package/cjs/Gantt-912df32a.js +9 -9
- package/cjs/{Grid-03d487e5.js → Grid-fe4fef40.js} +2 -2
- package/cjs/{Grid-03d487e5.js.map → Grid-fe4fef40.js.map} +1 -1
- package/cjs/{Gridlines-33618268.js → Gridlines-b31d8972.js} +2 -2
- package/cjs/{Gridlines-33618268.js.map → Gridlines-b31d8972.js.map} +1 -1
- package/cjs/GroupLoadingIndicator-3c9d8341.js +2 -2
- package/cjs/{HighlightText-c76eb17a.js → HighlightText-da873ed3.js} +2 -2
- package/cjs/{HighlightText-c76eb17a.js.map → HighlightText-da873ed3.js.map} +1 -1
- package/cjs/Icon-3ffd13dc.js +2 -2
- package/cjs/IconButton-94f8ca5c.js +2 -2
- package/cjs/IconMenuButton-426f2aa8.js +4 -4
- package/cjs/IconSwitchButton-094ace3a.js +2 -2
- package/cjs/IconToggleButton-0c415743.js +2 -2
- package/cjs/{IconUserAssistance-c31c2875.js → IconUserAssistance-cee464a4.js} +3 -3
- package/cjs/{IconUserAssistance-c31c2875.js.map → IconUserAssistance-cee464a4.js.map} +1 -1
- package/cjs/{Indexer-563ea09d.js → Indexer-0663a593.js} +6 -6
- package/cjs/{Indexer-563ea09d.js.map → Indexer-0663a593.js.map} +1 -1
- package/cjs/InlineHelpSource-7b793104.js +1 -1
- package/cjs/InlineUserAssistance-ad3fa8cc.js +5 -5
- package/cjs/InputDateMask-f15d926d.js +7 -7
- package/cjs/{InputDatePicker-91be7790.js → InputDatePicker-005c03d0.js} +10 -10
- package/cjs/{InputDatePicker-91be7790.js.map → InputDatePicker-005c03d0.js.map} +1 -1
- package/cjs/InputPassword-16e31428.js +4 -4
- package/cjs/InputText-75ae1f44.js +6 -6
- package/cjs/Label-d9ad059f.js +5 -5
- package/cjs/LabelValueLayout-24937fa5.js +1 -1
- package/cjs/{Layer-3700cd37.js → Layer-845cc772.js} +3 -3
- package/cjs/{Layer-3700cd37.js.map → Layer-845cc772.js.map} +1 -1
- package/cjs/{LayerHost-46e4d858.js → LayerHost-a6007465.js} +2 -2
- package/cjs/{LayerHost-46e4d858.js.map → LayerHost-a6007465.js.map} +1 -1
- package/cjs/{LayerManager-fa20a462.js → LayerManager-6fa20e12.js} +2 -2
- package/cjs/{LayerManager-fa20a462.js.map → LayerManager-6fa20e12.js.map} +1 -1
- package/cjs/Legend-a03cbeb5.js +3 -3
- package/cjs/{LineAreaChart-2320dafa.js → LineAreaChart-e8165e93.js} +4 -4
- package/cjs/{LineAreaChart-2320dafa.js.map → LineAreaChart-e8165e93.js.map} +1 -1
- package/cjs/Link-98de6624.js +1 -1
- package/cjs/{List-bd9ecebb.js → List-8802ce35.js} +8 -9
- package/cjs/{List-bd9ecebb.js.map → List-8802ce35.js.map} +1 -1
- package/cjs/{ListItemLayout-ba6c98cc.js → ListItemLayout-24a81393.js} +2 -2
- package/cjs/{ListItemLayout-ba6c98cc.js.map → ListItemLayout-24a81393.js.map} +1 -1
- package/cjs/{ListView-d67f49db.js → ListView-f7871b48.js} +5 -5
- package/cjs/{ListView-d67f49db.js.map → ListView-f7871b48.js.map} +1 -1
- package/cjs/{LiveRegion-1315adeb.js → LiveRegion-fcb0bb37.js} +2 -2
- package/cjs/{LiveRegion-1315adeb.js.map → LiveRegion-fcb0bb37.js.map} +1 -1
- package/cjs/{LoadMoreCollection-73112ff0.js → LoadMoreCollection-69bc038c.js} +2 -2
- package/cjs/{LoadMoreCollection-73112ff0.js.map → LoadMoreCollection-69bc038c.js.map} +1 -1
- package/cjs/{MaxLengthLiveRegion-85913361.js → MaxLengthLiveRegion-2dba8c9c.js} +3 -3
- package/cjs/{MaxLengthLiveRegion-85913361.js.map → MaxLengthLiveRegion-2dba8c9c.js.map} +1 -1
- package/cjs/{Menu-7f8ca235.js → Menu-afcc3db8.js} +8 -8
- package/cjs/{Menu-7f8ca235.js.map → Menu-afcc3db8.js.map} +1 -1
- package/cjs/MenuButton-58fd9f46.js +3 -3
- package/cjs/MenuItem-9a73694f.js +1 -1
- package/cjs/Message-b703f9e4.js +2 -2
- package/cjs/{MessageLayer-40ccf675.js → MessageLayer-b2a48a1f.js} +6 -6
- package/cjs/{MessageLayer-40ccf675.js.map → MessageLayer-b2a48a1f.js.map} +1 -1
- package/cjs/MessageToast-4462ab8d.js +8 -8
- package/cjs/MessagesManager-9cc43d3a.js +3 -3
- package/cjs/MeterBar-97378f96.js +4 -4
- package/cjs/MeterCircle-71fd9b44.js +4 -4
- package/cjs/{Modal-52fa4530.js → Modal-fd178291.js} +3 -3
- package/cjs/{Modal-52fa4530.js.map → Modal-fd178291.js.map} +1 -1
- package/cjs/{MonthView-94676cd6.js → MonthView-de994aa0.js} +4 -4
- package/cjs/{MonthView-94676cd6.js.map → MonthView-de994aa0.js.map} +1 -1
- package/cjs/{NavigationList-5218562e.js → NavigationListItem-994a877b.js} +10 -5
- package/cjs/NavigationListItem-994a877b.js.map +1 -0
- package/cjs/NumberInputText-8771fbad.js +6 -6
- package/cjs/{OverflowTabBarItem-1de46588.js → OverflowTabBarItem-47fb81c4.js} +7 -8
- package/cjs/{OverflowTabBarItem-1de46588.js.map → OverflowTabBarItem-47fb81c4.js.map} +1 -1
- package/cjs/PRIVATE_BaseCardView.js +22 -22
- package/cjs/PRIVATE_Chart.js +33 -33
- package/cjs/PRIVATE_CheckboxControl.js +21 -21
- package/cjs/PRIVATE_CheckboxRadioField.js +22 -22
- package/cjs/PRIVATE_ClearIcon.js +16 -16
- package/cjs/PRIVATE_DatePickerHeader.js +18 -18
- package/cjs/PRIVATE_DatePickerLayout.js +4 -4
- package/cjs/PRIVATE_EmbeddedIconButton.js +3 -3
- package/cjs/PRIVATE_FormControls.js +19 -19
- package/cjs/PRIVATE_IconSwitchButton.js +14 -14
- package/cjs/PRIVATE_Icons/CheckboxMixed.js +14 -14
- package/cjs/PRIVATE_Icons/CheckboxOff.js +14 -14
- package/cjs/PRIVATE_Icons/CheckboxOn.js +14 -14
- package/cjs/PRIVATE_Icons/RadiobuttonOff.js +14 -14
- package/cjs/PRIVATE_Icons/RadiobuttonOn.js +14 -14
- package/cjs/PRIVATE_Icons/WarningS.js +14 -14
- package/cjs/PRIVATE_List.js +22 -22
- package/cjs/PRIVATE_LoadMoreCollection.js +2 -2
- package/cjs/PRIVATE_Message.js +17 -17
- package/cjs/PRIVATE_MessageLayer.js +11 -11
- package/cjs/PRIVATE_MonthView.js +7 -7
- package/cjs/PRIVATE_MonthYearGridView.js +7 -7
- package/cjs/PRIVATE_PlotArea.js +4 -4
- package/cjs/PRIVATE_RevealToggleIcon.js +15 -15
- package/cjs/PRIVATE_SelectCommon.js +31 -31
- package/cjs/PRIVATE_StyledCheckbox.js +14 -14
- package/cjs/PRIVATE_Table.js +19 -19
- package/cjs/PRIVATE_ThemedIcons/CalendarIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/ChartMarqueeSelectIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/ChartPanIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/ChartZoomIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/CheckIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/CheckboxMixedIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/CheckboxOffIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/CheckboxOnIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/CloseIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/CollapseIcon.js +15 -15
- package/cjs/PRIVATE_ThemedIcons/CollapseUpIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/DecrementIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/DeleteIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/DirectionalCollapseArrowIcon.js +15 -15
- package/cjs/PRIVATE_ThemedIcons/DirectionalExpandArrowIcon.js +15 -15
- package/cjs/PRIVATE_ThemedIcons/DropdownArrowIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/ExpandIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/HelpIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/IncrementIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/MenuButtonDropdownIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/MessageConfirmationIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/MessageErrorIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/MessageInfoIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/MessageWarningIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/MinusIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/NavDownIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/PlusIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/RadioOffIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/RadioOnIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/SortAscendingIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/SortDefaultIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/SortDescendingIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/ViewHideIcon.js +14 -14
- package/cjs/PRIVATE_ThemedIcons/ViewIcon.js +14 -14
- package/cjs/PRIVATE_TimeComponent.js +17 -17
- package/cjs/PRIVATE_VirtualizedCollection.js +2 -2
- package/cjs/PRIVATE_VisTabularDatatip.js +4 -4
- package/cjs/PictoChart-bbd66c57.js +6 -6
- package/cjs/{PieChart-bd68cc0d.js → PieChart-af6fad17.js} +5 -5
- package/cjs/{PieChart-bd68cc0d.js.map → PieChart-af6fad17.js.map} +1 -1
- package/cjs/{Popup-881aae20.js → Popup-a793c4a2.js} +9 -9
- package/cjs/{Popup-881aae20.js.map → Popup-a793c4a2.js.map} +1 -1
- package/cjs/{ProgressBar-4a4d56b0.js → ProgressBar-c1bfc481.js} +3 -3
- package/cjs/{ProgressBar-4a4d56b0.js.map → ProgressBar-c1bfc481.js.map} +1 -1
- package/cjs/{ProgressCircle-2524339b.js → ProgressCircle-579da214.js} +2 -2
- package/cjs/{ProgressCircle-2524339b.js.map → ProgressCircle-579da214.js.map} +1 -1
- package/cjs/RadioItem-f53a057a.js +6 -6
- package/cjs/RatingGauge-bafed83c.js +7 -7
- package/cjs/ReadonlyTextFieldInput-fb7ffa5e.js +1 -1
- package/cjs/{RemovableNavigationListItem-eb2c8156.js → RemovableNavigationListItem-6231df42.js} +4 -5
- package/cjs/{RemovableNavigationListItem-eb2c8156.js.map → RemovableNavigationListItem-6231df42.js.map} +1 -1
- package/cjs/RemovableTabBarItem-df8144f5.js +2 -2
- package/cjs/{ReorderableTabBar-025a0d71.js → ReorderableTabBar-5743c66a.js} +4 -4
- package/cjs/{ReorderableTabBar-025a0d71.js.map → ReorderableTabBar-5743c66a.js.map} +1 -1
- package/cjs/RevealToggleIcon-b5738e5e.js +1 -1
- package/cjs/SectionalLegend-959d7977.js +4 -4
- package/cjs/{SectionedContent-0c0f96fb.js → SectionedContent-5e956228.js} +5 -5
- package/cjs/{SectionedContent-0c0f96fb.js.map → SectionedContent-5e956228.js.map} +1 -1
- package/cjs/{SelectMultiple-3af44d48.js → SelectMultiple-fcfb029a.js} +10 -10
- package/cjs/{SelectMultiple-3af44d48.js.map → SelectMultiple-fcfb029a.js.map} +1 -1
- package/cjs/{SelectSingle-315c9871.js → SelectSingle-40cb868a.js} +9 -9
- package/cjs/{SelectSingle-315c9871.js.map → SelectSingle-40cb868a.js.map} +1 -1
- package/cjs/{SelectionCard-aa300118.js → SelectionCard-9a4f325f.js} +2 -2
- package/cjs/{SelectionCard-aa300118.js.map → SelectionCard-9a4f325f.js.map} +1 -1
- package/cjs/Selector-cc35dbb1.js +1 -1
- package/cjs/SelectorAll-d8d3cb7b.js +5 -5
- package/cjs/{Sheet-a6267b5f.js → Sheet-c3a675fc.js} +3 -3
- package/cjs/{Sheet-a6267b5f.js.map → Sheet-c3a675fc.js.map} +1 -1
- package/cjs/SplitMenuButton-336bb8d6.js +3 -3
- package/cjs/StyledTextField-351ea57e.js +3 -3
- package/cjs/Submenu-b7daab71.js +1 -1
- package/cjs/{TabBar-e77706d0.js → TabBar-73bb6c97.js} +7 -12
- package/cjs/{TabBar-e77706d0.js.map → TabBar-73bb6c97.js.map} +1 -1
- package/cjs/TabBarItem-2b3039aa.js +3 -3
- package/cjs/TabBarLayout-c2efbeb3.js +1 -1
- package/cjs/{TabBarMixed-bc696a46.js → TabBarMixed-426fcaf1.js} +7 -12
- package/cjs/{TabBarMixed-bc696a46.js.map → TabBarMixed-426fcaf1.js.map} +1 -1
- package/cjs/{TabBarMixedSeparator-6388ccda.js → TabBarMixedSeparator-e949e3c9.js} +2 -2
- package/cjs/{TabBarMixedSeparator-6388ccda.js.map → TabBarMixedSeparator-e949e3c9.js.map} +1 -1
- package/cjs/{Table-ecf57a09.js → Table-17b3dbc3.js} +5 -5
- package/cjs/{Table-ecf57a09.js.map → Table-17b3dbc3.js.map} +1 -1
- package/cjs/{TableView-756b9d98.js → TableView-26f85ff8.js} +2 -2
- package/cjs/{TableView-756b9d98.js.map → TableView-26f85ff8.js.map} +1 -1
- package/cjs/TagCloud-26a38c04.js +9 -9
- package/cjs/TextArea-b2646d51.js +5 -5
- package/cjs/TextAreaAutosize-d8cad6ce.js +5 -5
- package/cjs/TextField-0f4e945f.js +3 -3
- package/cjs/TextFieldInput-4904c227.js +1 -1
- package/cjs/Theme-redwood/theme.css +169 -169
- package/cjs/Theme-stable/theme.css +237 -237
- package/cjs/TimeComponentCanvas2D-babbee35.js +4 -4
- package/cjs/Toolbar-415d636a.js +1 -1
- package/cjs/TruncatingBadge-7516b73e.js +2 -2
- package/cjs/TruncatingText-238fc336.js +2 -2
- package/cjs/UNSAFE_ActionCard.js +2 -2
- package/cjs/UNSAFE_BarChart/__test__/BarChart.spec.js +34 -34
- package/cjs/UNSAFE_BarChart.js +34 -34
- package/cjs/UNSAFE_BaseButton.js +3 -3
- package/cjs/UNSAFE_Button.js +3 -3
- package/cjs/UNSAFE_ButtonLayout/tests/ButtonLayout.spec.js +18 -18
- package/cjs/UNSAFE_ButtonSet.js +4 -4
- package/cjs/UNSAFE_ButtonSetButton.js +3 -3
- package/cjs/UNSAFE_ButtonSetIconButton.js +14 -14
- package/cjs/UNSAFE_ButtonSetItem.js +14 -14
- package/cjs/UNSAFE_ButtonSetMultiple.js +4 -4
- package/cjs/UNSAFE_ButtonSetSingle.js +4 -4
- package/cjs/UNSAFE_CardFlexView.js +23 -23
- package/cjs/UNSAFE_CardGridView.js +23 -23
- package/cjs/UNSAFE_Center.js +5 -5
- package/cjs/UNSAFE_ChartWithLegend.js +4 -4
- package/cjs/UNSAFE_Checkbox.js +21 -21
- package/cjs/UNSAFE_CheckboxItem.js +100 -50
- package/cjs/UNSAFE_CheckboxItem.js.map +1 -1
- package/cjs/UNSAFE_CheckboxSet.js +36 -65
- package/cjs/UNSAFE_CheckboxSet.js.map +1 -1
- package/cjs/UNSAFE_Chip.js +2 -2
- package/cjs/UNSAFE_Collapsible.js +16 -16
- package/cjs/UNSAFE_ComponentMessage.js +17 -17
- package/cjs/UNSAFE_ConveyorBelt.js +14 -14
- package/cjs/UNSAFE_DatePicker.js +23 -23
- package/cjs/UNSAFE_Diagram.js +15 -15
- package/cjs/UNSAFE_Dialog.js +9 -9
- package/cjs/UNSAFE_DragHandle.js +15 -15
- package/cjs/UNSAFE_DrawerLayout.js +11 -11
- package/cjs/UNSAFE_DrawerPopup.js +10 -10
- package/cjs/UNSAFE_Dropdown.js +12 -12
- package/cjs/UNSAFE_Environment.js +4 -4
- package/cjs/UNSAFE_ExpandableList.js +24 -24
- package/cjs/UNSAFE_FilePicker.js +4 -4
- package/cjs/UNSAFE_Flex.js +4 -4
- package/cjs/UNSAFE_Floating.js +10 -10
- package/cjs/UNSAFE_FormLayout.js +2 -2
- package/cjs/UNSAFE_Gantt.js +21 -21
- package/cjs/UNSAFE_Grid.js +4 -4
- package/cjs/UNSAFE_HighlightText.js +4 -4
- package/cjs/UNSAFE_Icon.js +14 -14
- package/cjs/UNSAFE_IconButton.js +14 -14
- package/cjs/UNSAFE_IconMenuButton.js +18 -18
- package/cjs/UNSAFE_IconToggleButton.js +14 -14
- package/cjs/UNSAFE_Indexer.js +8 -8
- package/cjs/UNSAFE_InputDateMask.js +22 -22
- package/cjs/UNSAFE_InputDatePicker.js +107 -107
- package/cjs/UNSAFE_InputPassword.js +21 -21
- package/cjs/UNSAFE_InputSensitiveText.js +23 -23
- package/cjs/UNSAFE_InputText.js +24 -24
- package/cjs/UNSAFE_Label.js +21 -21
- package/cjs/UNSAFE_LabelValueLayout.js +4 -4
- package/cjs/UNSAFE_LabelledLink.js +23 -23
- package/cjs/UNSAFE_Layer.js +7 -7
- package/cjs/UNSAFE_Legend.js +22 -22
- package/cjs/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +33 -33
- package/cjs/UNSAFE_LineAreaChart.js +34 -34
- package/cjs/UNSAFE_Link.js +2 -2
- package/cjs/UNSAFE_ListItemLayout.js +5 -5
- package/cjs/UNSAFE_ListView.js +29 -29
- package/cjs/UNSAFE_LiveRegion.js +4 -4
- package/cjs/UNSAFE_Menu.js +20 -20
- package/cjs/UNSAFE_MenuButton.js +18 -18
- package/cjs/UNSAFE_MessageBanner.js +17 -17
- package/cjs/UNSAFE_MessageToast.js +20 -20
- package/cjs/UNSAFE_MeterBar.js +14 -14
- package/cjs/UNSAFE_MeterCircle.js +14 -14
- package/cjs/UNSAFE_Modal.js +7 -7
- package/cjs/UNSAFE_NavigationList.js +32 -34
- package/cjs/UNSAFE_NavigationList.js.map +1 -1
- package/cjs/UNSAFE_NavigationListCommon.js +67 -68
- package/cjs/UNSAFE_NavigationListCommon.js.map +1 -1
- package/cjs/UNSAFE_NumberInputText.js +23 -23
- package/cjs/UNSAFE_OverflowTabBar.js +43 -45
- package/cjs/UNSAFE_OverflowTabBar.js.map +1 -1
- package/cjs/UNSAFE_PictoChart.js +13 -13
- package/cjs/UNSAFE_PieChart/__test__/PieChart.spec.js +14 -14
- package/cjs/UNSAFE_PieChart.js +14 -14
- package/cjs/UNSAFE_Popup.js +15 -15
- package/cjs/UNSAFE_ProgressBar.js +5 -5
- package/cjs/UNSAFE_ProgressCircle.js +4 -4
- package/cjs/UNSAFE_RadioItem.js +21 -21
- package/cjs/UNSAFE_RadioSet.js +21 -21
- package/cjs/UNSAFE_RatingGauge.js +15 -15
- package/cjs/UNSAFE_ReorderableTabBar.js +27 -41
- package/cjs/UNSAFE_ReorderableTabBar.js.map +1 -1
- package/cjs/UNSAFE_SectionalLegend.js +23 -23
- package/cjs/UNSAFE_SelectMultiple.js +35 -35
- package/cjs/UNSAFE_SelectSingle.js +35 -35
- package/cjs/UNSAFE_SelectionCard.js +4 -4
- package/cjs/UNSAFE_Selector.js +14 -14
- package/cjs/UNSAFE_SelectorAll.js +17 -17
- package/cjs/UNSAFE_Sheet/__test__/Sheet.spec.js +13 -13
- package/cjs/UNSAFE_Sheet.js +10 -10
- package/cjs/UNSAFE_SplitMenuButton.js +18 -18
- package/cjs/UNSAFE_TabBar.js +45 -47
- package/cjs/UNSAFE_TabBar.js.map +1 -1
- package/cjs/UNSAFE_TabBarCommon.js +40 -42
- package/cjs/UNSAFE_TabBarCommon.js.map +1 -1
- package/cjs/UNSAFE_TabBarMixed.js +48 -50
- package/cjs/UNSAFE_TabBarMixed.js.map +1 -1
- package/cjs/UNSAFE_TableView.js +20 -20
- package/cjs/UNSAFE_TagCloud.js +22 -22
- package/cjs/UNSAFE_TextArea.js +23 -23
- package/cjs/UNSAFE_TextAreaAutosize.js +23 -23
- package/cjs/UNSAFE_TextField.js +7 -7
- package/cjs/UNSAFE_ToggleButton.js +3 -3
- package/cjs/UNSAFE_Toolbar/tests/Toolbar.spec.js +20 -20
- package/cjs/UNSAFE_Toolbar.js +4 -4
- package/cjs/UNSAFE_Train.js +15 -15
- package/cjs/UNSAFE_TruncatingBadge.js +15 -15
- package/cjs/UNSAFE_TruncatingText.js +15 -15
- package/cjs/UNSAFE_UserAssistance.js +22 -22
- package/cjs/UNSAFE_View.js +7 -7
- package/cjs/UNSAFE_VirtualizedListView.js +23 -23
- package/cjs/UNSAFE_VisProgressiveLoader/__test__/VisProgressiveLoader.spec.js +8 -8
- package/cjs/UNSAFE_VisProgressiveLoader.js +6 -6
- package/cjs/UNSAFE_VisStatusMessage.js +6 -6
- package/cjs/UNSAFE_WindowOverlay.js +4 -4
- package/cjs/{View-011404a7.js → View-8f49d970.js} +5 -5
- package/cjs/{View-011404a7.js.map → View-8f49d970.js.map} +1 -1
- package/cjs/{VirtualizedCollection-00aedb8b.js → VirtualizedCollection-9e8c48b9.js} +2 -2
- package/cjs/{VirtualizedCollection-00aedb8b.js.map → VirtualizedCollection-9e8c48b9.js.map} +1 -1
- package/cjs/{VirtualizedListView-a07fe73b.js → VirtualizedListView-b4147305.js} +2 -2
- package/cjs/{VirtualizedListView-a07fe73b.js.map → VirtualizedListView-b4147305.js.map} +1 -1
- package/cjs/{VisNoData-9afdc618.js → VisNoData-b3159e5a.js} +3 -3
- package/cjs/{VisNoData-9afdc618.js.map → VisNoData-b3159e5a.js.map} +1 -1
- package/cjs/{VisProgressiveLoader-ad546cec.js → VisProgressiveLoader-2cf7074b.js} +3 -3
- package/cjs/{VisProgressiveLoader-ad546cec.js.map → VisProgressiveLoader-2cf7074b.js.map} +1 -1
- package/cjs/{VisTabularDatatip-3b3341f9.js → VisTabularDatatip-96e5fcf3.js} +2 -2
- package/cjs/{VisTabularDatatip-3b3341f9.js.map → VisTabularDatatip-96e5fcf3.js.map} +1 -1
- package/cjs/{WindowOverlay-d255542f.js → WindowOverlay-bb51c0ee.js} +2 -2
- package/cjs/{WindowOverlay-d255542f.js.map → WindowOverlay-bb51c0ee.js.map} +1 -1
- package/cjs/{YearsGridView-95c9ae3d.js → YearsGridView-6affda7f.js} +4 -4
- package/cjs/{YearsGridView-95c9ae3d.js.map → YearsGridView-6affda7f.js.map} +1 -1
- package/cjs/hoc/PRIVATE_withDirectionIcon.js +4 -4
- package/cjs/hoc/PRIVATE_withThemeIcon.js +3 -3
- package/cjs/hoc/UNSAFE_withThemeProps.js +3 -3
- package/cjs/hooks/PRIVATE_useChartContextMenu.js +18 -18
- package/cjs/hooks/PRIVATE_useChartDatatip.js +13 -13
- package/cjs/hooks/PRIVATE_useChartEvents.js +17 -17
- package/cjs/hooks/PRIVATE_useChartMarquee.js +16 -16
- package/cjs/hooks/PRIVATE_useCssVars.js +7 -7
- package/cjs/hooks/PRIVATE_useCurrentKey.js +4 -4
- package/cjs/hooks/PRIVATE_useDatatip.js +11 -11
- package/cjs/hooks/PRIVATE_useFloating.js +4 -4
- package/cjs/hooks/PRIVATE_useReorderable.js +4 -4
- package/cjs/hooks/PRIVATE_useRovingTabIndexContainer.js +4 -4
- package/cjs/hooks/PRIVATE_useSelection.js +4 -4
- package/cjs/hooks/PRIVATE_useTabBar.js +5 -5
- package/cjs/hooks/PRIVATE_useVisContextMenu.js +18 -18
- package/cjs/hooks/PRIVATE_useVisEvents.js +4 -4
- package/cjs/hooks/PRIVATE_useVisMeterEvents.js +13 -13
- package/cjs/hooks/PRIVATE_useVisSelection.js +12 -12
- package/cjs/hooks/UNSAFE_useColorScheme.js +3 -3
- package/cjs/hooks/UNSAFE_useContainerBreakpointValues.js +1 -1
- package/cjs/hooks/UNSAFE_useCurrentBgColor.js +3 -3
- package/cjs/hooks/UNSAFE_useDensity.js +3 -3
- package/cjs/hooks/UNSAFE_useOutsideClick.js +7 -7
- package/cjs/hooks/UNSAFE_usePrefixSuffix.js +4 -4
- package/cjs/hooks/UNSAFE_useScale.js +3 -3
- package/cjs/hooks/UNSAFE_useTestId.js +3 -3
- package/cjs/hooks/UNSAFE_useTheme.js +3 -3
- package/cjs/hooks/UNSAFE_useThemeInterpolations.js +5 -5
- package/cjs/hooks/UNSAFE_useTooltip.js +15 -15
- package/cjs/hooks/UNSAFE_useTranslationBundle.js +3 -3
- package/cjs/hooks/UNSAFE_useUser.js +3 -3
- package/cjs/{index-c679f28a.js → index-5049ab6c.js} +2 -2
- package/cjs/index-5049ab6c.js.map +1 -0
- package/cjs/listViewSelectionTests-3d07b4e3.js +4 -4
- package/cjs/{render-7a552b40.js → render-7538ab25.js} +3 -3
- package/cjs/{render-7a552b40.js.map → render-7538ab25.js.map} +1 -1
- package/cjs/{tabbableUtils-6d07309a.js → tabbableUtils-5502f80e.js} +3 -3
- package/cjs/{tabbableUtils-6d07309a.js.map → tabbableUtils-5502f80e.js.map} +1 -1
- package/cjs/{testData-f91dbc33.js → testData-afbc1647.js} +3 -3
- package/cjs/{testData-f91dbc33.js.map → testData-afbc1647.js.map} +1 -1
- package/cjs/useCellNavigation-24bff833.js +1 -1
- package/cjs/useChartContextMenu-d7ed939f.js +3 -3
- package/cjs/{useChartDatatip-7b7f757f.js → useChartDatatip-b838368c.js} +4 -4
- package/cjs/{useChartDatatip-7b7f757f.js.map → useChartDatatip-b838368c.js.map} +1 -1
- package/cjs/useChartMarquee-ab7c89ea.js +1 -1
- package/cjs/{useColorScheme-d2c4adcc.js → useColorScheme-b0ea4a49.js} +2 -2
- package/cjs/{useColorScheme-d2c4adcc.js.map → useColorScheme-b0ea4a49.js.map} +1 -1
- package/cjs/useContextMenu-f3cf0db8.js +3 -3
- package/cjs/{useCssVars-4f061513.js → useCssVars-839ce507.js} +5 -5
- package/cjs/{useCssVars-4f061513.js.map → useCssVars-839ce507.js.map} +1 -1
- package/cjs/{useCurrentBgColor-ccc9db95.js → useCurrentBgColor-2d0db090.js} +2 -2
- package/cjs/{useCurrentBgColor-ccc9db95.js.map → useCurrentBgColor-2d0db090.js.map} +1 -1
- package/cjs/{useCurrentKey-3b4c8a44.js → useCurrentKey-9c158ccc.js} +2 -2
- package/cjs/{useCurrentKey-3b4c8a44.js.map → useCurrentKey-9c158ccc.js.map} +1 -1
- package/cjs/{useDatatip-ff0c568c.js → useDatatip-1f5535bb.js} +4 -4
- package/cjs/{useDatatip-ff0c568c.js.map → useDatatip-1f5535bb.js.map} +1 -1
- package/cjs/{useDensity-6e80ddff.js → useDensity-edb16927.js} +2 -2
- package/cjs/{useDensity-6e80ddff.js.map → useDensity-edb16927.js.map} +1 -1
- package/cjs/{useFloating-7800fd56.js → useFloating-f4bbd8c4.js} +2 -2
- package/cjs/{useFloating-7800fd56.js.map → useFloating-f4bbd8c4.js.map} +1 -1
- package/cjs/{useKeyboardEvents-f1a1dfef.js → useKeyboardEvents-1b2187c2.js} +2 -2
- package/cjs/{useKeyboardEvents-f1a1dfef.js.map → useKeyboardEvents-1b2187c2.js.map} +1 -1
- package/cjs/useLegendContextMenu-a10bd2fc.js +5 -5
- package/cjs/{useMeterDatatip-5db0b026.js → useMeterDatatip-93d199d6.js} +3 -3
- package/cjs/{useMeterDatatip-5db0b026.js.map → useMeterDatatip-93d199d6.js.map} +1 -1
- package/cjs/{useOutsideClick-7420644b.js → useOutsideClick-b22e1d4a.js} +2 -2
- package/cjs/{useOutsideClick-7420644b.js.map → useOutsideClick-b22e1d4a.js.map} +1 -1
- package/cjs/{usePopupAnimation-78a173e8.js → usePopupAnimation-d58b2664.js} +2 -2
- package/cjs/{usePopupAnimation-78a173e8.js.map → usePopupAnimation-d58b2664.js.map} +1 -1
- package/cjs/{usePrefixSuffix-edb21dad.js → usePrefixSuffix-544b49ad.js} +2 -2
- package/cjs/{usePrefixSuffix-edb21dad.js.map → usePrefixSuffix-544b49ad.js.map} +1 -1
- package/cjs/useReorderableItem-02ed8243.js +2 -2
- package/cjs/{useRovingTabIndexContainer-ff6fef9d.js → useRovingTabIndexContainer-c03da9ff.js} +2 -2
- package/cjs/{useRovingTabIndexContainer-ff6fef9d.js.map → useRovingTabIndexContainer-c03da9ff.js.map} +1 -1
- package/cjs/{useScale-74bd6456.js → useScale-c5e9172c.js} +2 -2
- package/cjs/{useScale-74bd6456.js.map → useScale-c5e9172c.js.map} +1 -1
- package/cjs/{useSelectCommon-8aaf62bd.js → useSelectCommon-d39e90e2.js} +13 -13
- package/cjs/{useSelectCommon-8aaf62bd.js.map → useSelectCommon-d39e90e2.js.map} +1 -1
- package/cjs/{useSelectDrill-64289234.js → useSelectDrill-303b8cba.js} +3 -3
- package/cjs/{useSelectDrill-64289234.js.map → useSelectDrill-303b8cba.js.map} +1 -1
- package/cjs/{useSelection-b53f8255.js → useSelection-05fa772e.js} +2 -2
- package/cjs/{useSelection-b53f8255.js.map → useSelection-05fa772e.js.map} +1 -1
- package/cjs/{useSelection-8f71759b.js → useSelection-1fe0f2c2.js} +5 -5
- package/cjs/{useSelection-8f71759b.js.map → useSelection-1fe0f2c2.js.map} +1 -1
- package/cjs/{useTabBar-35edcdb1.js → useTabBar-8bd94c1b.js} +2 -2
- package/cjs/{useTabBar-35edcdb1.js.map → useTabBar-8bd94c1b.js.map} +1 -1
- package/cjs/{useTestId-8234ec1e.js → useTestId-71c3de70.js} +2 -2
- package/cjs/{useTestId-8234ec1e.js.map → useTestId-71c3de70.js.map} +1 -1
- package/cjs/{useTheme-9b0dc066.js → useTheme-f85b8938.js} +2 -2
- package/cjs/{useTheme-9b0dc066.js.map → useTheme-f85b8938.js.map} +1 -1
- package/cjs/{useThemeInterpolations-25313f34.js → useThemeInterpolations-50ce3d68.js} +4 -4
- package/cjs/{useThemeInterpolations-25313f34.js.map → useThemeInterpolations-50ce3d68.js.map} +1 -1
- package/cjs/{useTooltip-468c1c92.js → useTooltip-29b90247.js} +2 -2
- package/cjs/{useTooltip-468c1c92.js.map → useTooltip-29b90247.js.map} +1 -1
- package/cjs/{useTooltipControlled-706a3651.js → useTooltipControlled-a907e06c.js} +8 -8
- package/cjs/{useTooltipControlled-706a3651.js.map → useTooltipControlled-a907e06c.js.map} +1 -1
- package/cjs/{useTranslationBundle-9da032d6.js → useTranslationBundle-7fcd8bd5.js} +2 -2
- package/cjs/{useTranslationBundle-9da032d6.js.map → useTranslationBundle-7fcd8bd5.js.map} +1 -1
- package/cjs/{useUser-a6d15333.js → useUser-c8e9a94a.js} +2 -2
- package/cjs/{useUser-a6d15333.js.map → useUser-c8e9a94a.js.map} +1 -1
- package/cjs/{useVisEvents-3d806e47.js → useVisEvents-b000a96f.js} +2 -2
- package/cjs/{useVisEvents-3d806e47.js.map → useVisEvents-b000a96f.js.map} +1 -1
- package/cjs/utils/PRIVATE_visTestUtils.js +5 -5
- package/cjs/{withDirectionIcon-d9c7c79f.js → withDirectionIcon-b6772ee8.js} +2 -2
- package/cjs/{withDirectionIcon-d9c7c79f.js.map → withDirectionIcon-b6772ee8.js.map} +1 -1
- package/es/{BarChart-c8f78f4b.js → BarChart-72948598.js} +2 -2
- package/es/{BarChart-c8f78f4b.js.map → BarChart-72948598.js.map} +1 -1
- package/es/{Chart-793bd008.js → Chart-304043b3.js} +2 -2
- package/es/{Chart-793bd008.js.map → Chart-304043b3.js.map} +1 -1
- package/es/{InputDatePicker-aa02a34c.js → InputDatePicker-7f9852d0.js} +2 -2
- package/es/{InputDatePicker-aa02a34c.js.map → InputDatePicker-7f9852d0.js.map} +1 -1
- package/es/{LineAreaChart-413e0043.js → LineAreaChart-c6564934.js} +2 -2
- package/es/{LineAreaChart-413e0043.js.map → LineAreaChart-c6564934.js.map} +1 -1
- package/es/MaxLengthCounter-cead2dac.js +25 -0
- package/es/MaxLengthCounter-cead2dac.js.map +1 -0
- package/es/{NavigationListItem-ea899fab.js → NavigationListItem-f44c1083.js} +1 -11
- package/es/{NavigationListItem-ea899fab.js.map → NavigationListItem-f44c1083.js.map} +1 -1
- package/es/{OverflowTabBarItem-8f35961d.js → OverflowTabBarItem-f4360269.js} +2 -2
- package/es/{OverflowTabBarItem-8f35961d.js.map → OverflowTabBarItem-f4360269.js.map} +1 -1
- package/es/PRIVATE_Chart.js +4 -4
- package/es/{TextArea-979496a0.js → TextArea-d97aac1f.js} +8 -25
- package/es/TextArea-d97aac1f.js.map +1 -0
- package/es/{TextAreaAutosize-b73aaa2f.js → TextAreaAutosize-68a4786d.js} +2 -2
- package/es/{TextAreaAutosize-b73aaa2f.js.map → TextAreaAutosize-68a4786d.js.map} +1 -1
- package/es/Theme-redwood/theme.css +381 -381
- package/es/Theme-stable/theme.css +475 -475
- package/es/UNSAFE_BarChart/__test__/BarChart.spec.js +5 -5
- package/es/UNSAFE_BarChart.js +5 -5
- package/es/UNSAFE_InputDatePicker.js +88 -88
- package/es/UNSAFE_LineAreaChart/__test__/LineChart.spec.js +5 -5
- package/es/UNSAFE_LineAreaChart.js +5 -5
- package/es/UNSAFE_NavigationList.js +4 -4
- package/es/UNSAFE_OverflowTabBar.js +2 -2
- package/es/UNSAFE_TabBar.js +2 -2
- package/es/UNSAFE_TabBarCommon.js +2 -2
- package/es/UNSAFE_TabBarMixed.js +2 -2
- package/es/UNSAFE_TextArea.js +3 -2
- package/es/UNSAFE_TextArea.js.map +1 -1
- package/es/UNSAFE_TextAreaAutosize.js +2 -2
- package/package.json +2 -2
- package/amd/CheckboxSet-9c883a32.js +0 -2
- package/amd/InputDatePicker-da5d8728.js +0 -2
- package/amd/NavigationListItem-0a4f8a9c.js +0 -2
- package/amd/TextArea-2c7af40c.js +0 -2
- package/amd/TextArea-2c7af40c.js.map +0 -1
- package/amd/TextAreaAutosize-9dc5bffe.js +0 -2
- package/cjs/BaseNavigationListItem-175a3f35.js +0 -49
- package/cjs/BaseNavigationListItem-175a3f35.js.map +0 -1
- package/cjs/CheckboxSetContext-c62db26d.js +0 -12
- package/cjs/NavigationList-5218562e.js.map +0 -1
- package/cjs/NavigationListItem-b80c41dc.js +0 -12
- package/cjs/NavigationListItem-b80c41dc.js.map +0 -1
- package/cjs/index-c679f28a.js.map +0 -1
- package/cjs/useNavigationListItem-74009187.js.map +0 -1
- package/es/TextArea-979496a0.js.map +0 -1
package/cjs/MenuItem-9a73694f.js
CHANGED
|
@@ -8,7 +8,7 @@ var classNames = require('./classNames-c14c6ef3.js');
|
|
|
8
8
|
var useId = require('./useId-6c0eeb27.js');
|
|
9
9
|
var mergeProps = require('./mergeProps-e3da7237.js');
|
|
10
10
|
var usePress = require('./usePress-00deca01.js');
|
|
11
|
-
var useUser = require('./useUser-
|
|
11
|
+
var useUser = require('./useUser-c8e9a94a.js');
|
|
12
12
|
var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
|
|
13
13
|
var mergeInterpolations = require('./mergeInterpolations-6727b536.js');
|
|
14
14
|
var flexitem = require('./flexitem-fee13e26.js');
|
package/cjs/Message-b703f9e4.js
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
5
|
var hooks = require('preact/hooks');
|
|
6
|
-
var Flex = require('./Flex-
|
|
6
|
+
var Flex = require('./Flex-6529d995.js');
|
|
7
7
|
var UNSAFE_MessageBanner_themes_redwood_MessageBannerTheme = require('./UNSAFE_MessageBanner/themes/redwood/MessageBannerTheme.js');
|
|
8
8
|
var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
|
|
9
9
|
var timer = require('./timer-c32f7725.js');
|
|
10
10
|
var classNames = require('./classNames-c14c6ef3.js');
|
|
11
11
|
var Close = require('./Close-2adc0f0f.js');
|
|
12
12
|
var IconButton = require('./IconButton-94f8ca5c.js');
|
|
13
|
-
var useTranslationBundle = require('./useTranslationBundle-
|
|
13
|
+
var useTranslationBundle = require('./useTranslationBundle-7fcd8bd5.js');
|
|
14
14
|
var PRIVATE_Message_themes_MessageStyles_css = require('./PRIVATE_Message/themes/MessageStyles.css.js');
|
|
15
15
|
var preact = require('preact');
|
|
16
16
|
var MessageFormattingUtils = require('./MessageFormattingUtils-42d84399.js');
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
|
-
var Flex = require('./Flex-
|
|
6
|
-
var WindowOverlay = require('./WindowOverlay-
|
|
7
|
-
var useUser = require('./useUser-
|
|
8
|
-
var Layer = require('./Layer-
|
|
5
|
+
var Flex = require('./Flex-6529d995.js');
|
|
6
|
+
var WindowOverlay = require('./WindowOverlay-bb51c0ee.js');
|
|
7
|
+
var useUser = require('./useUser-c8e9a94a.js');
|
|
8
|
+
var Layer = require('./Layer-845cc772.js');
|
|
9
9
|
require('preact/compat');
|
|
10
|
-
require('./LayerHost-
|
|
10
|
+
require('./LayerHost-a6007465.js');
|
|
11
11
|
|
|
12
12
|
const positions = [
|
|
13
13
|
'top',
|
|
@@ -58,4 +58,4 @@ const MessageLayer = ({ children, offset, testId, position = 'bottom' }) => {
|
|
|
58
58
|
|
|
59
59
|
exports.MessageLayer = MessageLayer;
|
|
60
60
|
exports.positions = positions;
|
|
61
|
-
//# sourceMappingURL=MessageLayer-
|
|
61
|
+
//# sourceMappingURL=MessageLayer-b2a48a1f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageLayer-
|
|
1
|
+
{"version":3,"file":"MessageLayer-b2a48a1f.js","sources":["../../src/PRIVATE_MessageLayer/MessageLayer.tsx"],"sourcesContent":["import { ComponentChildren } from 'preact';\nimport { Flex } from '../UNSAFE_Flex';\nimport { WindowOverlay, WindowOverlayPlacement } from '../UNSAFE_WindowOverlay';\nimport { useUser } from '../hooks/UNSAFE_useUser';\nimport { Layer } from '../UNSAFE_Layer';\n\nconst positions = [\n 'top',\n 'top-left',\n 'top-right',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-left',\n 'bottom-right',\n 'bottom-start',\n 'bottom-end'\n] as const;\n\ntype Position = (typeof positions)[number];\n\ntype Offset =\n | number\n | {\n horizontal?: number;\n vertical?: number;\n };\n\ntype Props = {\n children: ComponentChildren;\n\n /**\n * Defines the fixed position where the notifications will to be placed on the screen.\n * - top-start resolves to top-left in LTR (top-right in RTL)\n * - top-end resolves to top-right in LTR (top-left in RTL)\n * - bottom-start resolves to bottom-left in LTR (bottom-right in RTL)\n * - bottom-end resolves to bottom-right in LTR (bottom-left in RTL)\n *\n * default bottom\n */\n position?: Position;\n\n /**\n * Defines an offset (in pixels) in the placement. Value can be supplied as a number or\n * an object with horizontal and vertical values.\n *\n * default 0\n */\n offset?: Offset;\n\n /**\n * The test id which is assigned to the \"data-testid\" for the component's element.\n * Used for test automation, it is assigned to the wrapper element rendered by the component.\n */\n testId?: string;\n};\n\nconst MessageLayer = ({ children, offset, testId, position = 'bottom' }: Props) => {\n const side = position.split('-')[0];\n let windowOverlayOffset;\n if (typeof offset === 'number') {\n windowOverlayOffset = { mainAxis: offset, crossAxis: offset };\n } else if (side == 'top' || side == 'bottom') {\n windowOverlayOffset = { mainAxis: offset?.vertical, crossAxis: offset?.horizontal };\n } else {\n windowOverlayOffset = { mainAxis: offset?.horizontal, crossAxis: offset?.vertical };\n }\n\n const { direction } = useUser();\n const isLtr = direction === 'ltr';\n let windowOverlayPlacement: WindowOverlayPlacement | undefined;\n switch (position) {\n case 'top-left':\n windowOverlayPlacement = isLtr ? 'top-start' : 'top-end';\n break;\n case 'top-right':\n windowOverlayPlacement = isLtr ? 'top-end' : 'top-start';\n break;\n case 'bottom-left':\n windowOverlayPlacement = isLtr ? 'bottom-start' : 'bottom-end';\n break;\n case 'bottom-right':\n windowOverlayPlacement = isLtr ? 'bottom-end' : 'bottom-start';\n break;\n default:\n windowOverlayPlacement = position;\n break;\n }\n return (\n <Layer priority=\"messages\" level=\"topLevel\">\n <WindowOverlay placement={windowOverlayPlacement} offset={windowOverlayOffset}>\n <div data-testid={testId}>\n <Flex direction=\"column\" gap=\"2x\">\n {children}\n </Flex>\n </div>\n </WindowOverlay>\n </Layer>\n );\n};\n\nexport type { Position, Offset };\nexport { MessageLayer, positions };\n"],"names":["useUser","_jsx","Layer","WindowOverlay","Flex"],"mappings":";;;;;;;;;;;AAMA,MAAM,SAAS,GAAG;IAChB,KAAK;IACL,UAAU;IACV,WAAW;IACX,WAAW;IACX,SAAS;IACT,QAAQ;IACR,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;EACH;AAwCX,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAS,KAAI;IAChF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,IAAA,IAAI,mBAAmB,CAAC;AACxB,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;KAC/D;SAAM,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE;AAC5C,QAAA,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;KACrF;SAAM;AACL,QAAA,mBAAmB,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACrF;AAED,IAAA,MAAM,EAAE,SAAS,EAAE,GAAGA,eAAO,EAAE,CAAC;AAChC,IAAA,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,CAAC;AAClC,IAAA,IAAI,sBAA0D,CAAC;IAC/D,QAAQ,QAAQ;AACd,QAAA,KAAK,UAAU;YACb,sBAAsB,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;YACzD,MAAM;AACR,QAAA,KAAK,WAAW;YACd,sBAAsB,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;YACzD,MAAM;AACR,QAAA,KAAK,aAAa;YAChB,sBAAsB,GAAG,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC;YAC/D,MAAM;AACR,QAAA,KAAK,cAAc;YACjB,sBAAsB,GAAG,KAAK,GAAG,YAAY,GAAG,cAAc,CAAC;YAC/D,MAAM;AACR,QAAA;YACE,sBAAsB,GAAG,QAAQ,CAAC;YAClC,MAAM;KACT;AACD,IAAA,QACEC,cAAC,CAAAC,WAAK,IAAC,QAAQ,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,EAAA,QAAA,EACzCD,eAACE,2BAAa,EAAA,EAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,EAC3E,QAAA,EAAAF,cAAA,CAAA,KAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EACtB,QAAA,EAAAA,cAAA,CAACG,SAAI,EAAC,EAAA,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,IAAI,YAC9B,QAAQ,EAAA,CACJ,GACH,EACQ,CAAA,EAAA,CACV,EACR;AACJ;;;;;"}
|
|
@@ -3,29 +3,29 @@
|
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
5
|
var hooks = require('preact/hooks');
|
|
6
|
-
require('./LayerHost-
|
|
7
|
-
var EnvironmentProvider = require('./EnvironmentProvider-
|
|
6
|
+
require('./LayerHost-a6007465.js');
|
|
7
|
+
var EnvironmentProvider = require('./EnvironmentProvider-e5a93f24.js');
|
|
8
8
|
var useMessagesFocusManager = require('./useMessagesFocusManager-1bf493a6.js');
|
|
9
9
|
var useBreakpointValues = require('./useBreakpointValues-77cb15bb.js');
|
|
10
10
|
require('./MessagesContext-4e939750.js');
|
|
11
11
|
var useMessagesContext = require('./useMessagesContext-23d62331.js');
|
|
12
|
-
var useTranslationBundle = require('./useTranslationBundle-
|
|
12
|
+
var useTranslationBundle = require('./useTranslationBundle-7fcd8bd5.js');
|
|
13
13
|
var Message = require('./Message-b703f9e4.js');
|
|
14
14
|
require('preact');
|
|
15
15
|
var utils = require('./utils-b7099be5.js');
|
|
16
|
-
require('./useTooltipControlled-
|
|
16
|
+
require('./useTooltipControlled-a907e06c.js');
|
|
17
17
|
|
|
18
18
|
require('./IconButton-94f8ca5c.js');
|
|
19
19
|
|
|
20
20
|
require('./MessageFormattingUtils-42d84399.js');
|
|
21
21
|
var MessagesManager = require('./MessagesManager-9cc43d3a.js');
|
|
22
|
-
var Flex = require('./Flex-
|
|
23
|
-
var useTestId = require('./useTestId-
|
|
22
|
+
var Flex = require('./Flex-6529d995.js');
|
|
23
|
+
var useTestId = require('./useTestId-71c3de70.js');
|
|
24
24
|
var FocusTrap = require('./FocusTrap-0a03f5a2.js');
|
|
25
|
-
var LiveRegion = require('./LiveRegion-
|
|
25
|
+
var LiveRegion = require('./LiveRegion-fcb0bb37.js');
|
|
26
26
|
var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
|
|
27
27
|
var UNSAFE_MessageToast_themes_redwood_MessageToastTheme = require('./UNSAFE_MessageToast/themes/redwood/MessageToastTheme.js');
|
|
28
|
-
var MessageLayer = require('./MessageLayer-
|
|
28
|
+
var MessageLayer = require('./MessageLayer-b2a48a1f.js');
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Animation states for toast messages
|
|
@@ -7,10 +7,10 @@ var SuccessS = require('./SuccessS-862e9e4b.js');
|
|
|
7
7
|
var ErrorS = require('./ErrorS-bfe081e3.js');
|
|
8
8
|
var InformationS = require('./InformationS-5bf32f4c.js');
|
|
9
9
|
var WarningS = require('./WarningS-d18b9e00.js');
|
|
10
|
-
var Flex = require('./Flex-
|
|
10
|
+
var Flex = require('./Flex-6529d995.js');
|
|
11
11
|
var PRIVATE_Message_themes_MessageStyles_css = require('./PRIVATE_Message/themes/MessageStyles.css.js');
|
|
12
|
-
var useTranslationBundle = require('./useTranslationBundle-
|
|
13
|
-
var useTestId = require('./useTestId-
|
|
12
|
+
var useTranslationBundle = require('./useTranslationBundle-7fcd8bd5.js');
|
|
13
|
+
var useTestId = require('./useTestId-71c3de70.js');
|
|
14
14
|
var logger = require('./logger-2b636482.js');
|
|
15
15
|
var soundUtils = require('./soundUtils-ff3c9c0d.js');
|
|
16
16
|
var MessageFormattingUtils = require('./MessageFormattingUtils-42d84399.js');
|
package/cjs/MeterBar-97378f96.js
CHANGED
|
@@ -7,9 +7,9 @@ var size = require('./size-4e606ce4.js');
|
|
|
7
7
|
var classNames = require('./classNames-c14c6ef3.js');
|
|
8
8
|
var mergeProps = require('./mergeProps-e3da7237.js');
|
|
9
9
|
var hooks = require('preact/hooks');
|
|
10
|
-
var useUser = require('./useUser-
|
|
11
|
-
var useMeterDatatip = require('./useMeterDatatip-
|
|
12
|
-
var useKeyboardEvents = require('./useKeyboardEvents-
|
|
10
|
+
var useUser = require('./useUser-c8e9a94a.js');
|
|
11
|
+
var useMeterDatatip = require('./useMeterDatatip-93d199d6.js');
|
|
12
|
+
var useKeyboardEvents = require('./useKeyboardEvents-1b2187c2.js');
|
|
13
13
|
var meterUtils = require('./meterUtils-b625ddb8.js');
|
|
14
14
|
var UNSAFE_MeterBar_themes_MeterBarStyles_css = require('./UNSAFE_MeterBar/themes/MeterBarStyles.css.js');
|
|
15
15
|
var utils = require('./utils-395027fe.js');
|
|
@@ -17,7 +17,7 @@ require('./TabbableModeContext-e99d527e.js');
|
|
|
17
17
|
var useTabbableMode = require('./useTabbableMode-5c8fd9e5.js');
|
|
18
18
|
var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
|
|
19
19
|
var UNSAFE_MeterBar_themes_redwood_MeterBarTheme = require('./UNSAFE_MeterBar/themes/redwood/MeterBarTheme.js');
|
|
20
|
-
var useTestId = require('./useTestId-
|
|
20
|
+
var useTestId = require('./useTestId-71c3de70.js');
|
|
21
21
|
var UNSAFE_MeterBar_themes_MeterBarContract_css = require('./UNSAFE_MeterBar/themes/MeterBarContract.css.js');
|
|
22
22
|
var utils$1 = require('./utils-b7099be5.js');
|
|
23
23
|
var LinearMeter = require('./LinearMeter-3d06349c.js');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
|
-
var useUser = require('./useUser-
|
|
5
|
+
var useUser = require('./useUser-c8e9a94a.js');
|
|
6
6
|
var hooks = require('preact/hooks');
|
|
7
7
|
var mergeProps = require('./mergeProps-e3da7237.js');
|
|
8
8
|
var classNames = require('./classNames-c14c6ef3.js');
|
|
@@ -14,13 +14,13 @@ var TrackResizeContainer = require('./TrackResizeContainer-cd09fc87.js');
|
|
|
14
14
|
var UNSAFE_MeterCircle_themes_MeterCircleContract_css = require('./UNSAFE_MeterCircle/themes/MeterCircleContract.css.js');
|
|
15
15
|
var Common_themes_themeContract_css = require('./Common/themes/themeContract.css.js');
|
|
16
16
|
var utils$1 = require('./utils-b7099be5.js');
|
|
17
|
-
var useMeterDatatip = require('./useMeterDatatip-
|
|
18
|
-
var useKeyboardEvents = require('./useKeyboardEvents-
|
|
17
|
+
var useMeterDatatip = require('./useMeterDatatip-93d199d6.js');
|
|
18
|
+
var useKeyboardEvents = require('./useKeyboardEvents-1b2187c2.js');
|
|
19
19
|
require('./TabbableModeContext-e99d527e.js');
|
|
20
20
|
var useTabbableMode = require('./useTabbableMode-5c8fd9e5.js');
|
|
21
21
|
var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
|
|
22
22
|
var UNSAFE_MeterCircle_themes_redwood_MeterCircleTheme = require('./UNSAFE_MeterCircle/themes/redwood/MeterCircleTheme.js');
|
|
23
|
-
var useTestId = require('./useTestId-
|
|
23
|
+
var useTestId = require('./useTestId-71c3de70.js');
|
|
24
24
|
var CircularMeter = require('./CircularMeter-fd47e0e5.js');
|
|
25
25
|
|
|
26
26
|
function CircularReferenceLine({ color, angle, radius, length, section = 'full' }) {
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
5
|
var compat = require('preact/compat');
|
|
6
|
-
var Layer = require('./Layer-
|
|
7
|
-
require('./LayerHost-
|
|
6
|
+
var Layer = require('./Layer-845cc772.js');
|
|
7
|
+
require('./LayerHost-a6007465.js');
|
|
8
8
|
var UNSAFE_Modal_themes_ModalStyles_css = require('./UNSAFE_Modal/themes/ModalStyles.css.js');
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -255,4 +255,4 @@ const Modal = ({ children, isOpen, onBackdropClick, backdropVariant }) => {
|
|
|
255
255
|
|
|
256
256
|
exports.Modal = Modal;
|
|
257
257
|
exports.useModal = useModal;
|
|
258
|
-
//# sourceMappingURL=Modal-
|
|
258
|
+
//# sourceMappingURL=Modal-fd178291.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal-52fa4530.js","sources":["../../src/UNSAFE_Modal/hooks/useModal.ts","../../src/UNSAFE_Modal/ModalBackdrop.tsx","../../src/UNSAFE_Modal/ModalManager.ts","../../src/UNSAFE_Modal/Modal.tsx"],"sourcesContent":["import { useRef, useCallback, useEffect } from 'preact/compat';\n\nexport type UseModalProps = Readonly<{\n /**\n * Determines whether the Modal is open.\n */\n isOpen: boolean;\n /**\n * On backdrop click callback.\n */\n onBackdropClick?: (event: MouseEvent) => void;\n}>;\n\n/**\n *\n * @param props\n */\nexport const useModal = (props: UseModalProps) => {\n const { isOpen, onBackdropClick: onBackdropClickProp } = props;\n\n const backdropRef = useRef<HTMLDivElement>(null);\n\n const mouseDownTarget = useRef<EventTarget | null>(null);\n\n const onMouseDown = useCallback((event: MouseEvent) => {\n if (backdropRef.current === event.target) {\n mouseDownTarget.current = event.target;\n }\n }, []);\n\n const onBackdropClick = useCallback(\n (event: MouseEvent) => {\n if (backdropRef.current === event.target) {\n event.stopPropagation();\n // event should originate on the same target\n if (mouseDownTarget.current === event.target) {\n onBackdropClickProp?.(event);\n }\n }\n },\n [onBackdropClickProp]\n );\n\n useEffect(() => {\n const modal = backdropRef.current;\n\n if (modal) {\n modal.addEventListener('mousedown', onMouseDown);\n modal.addEventListener('click', onBackdropClick);\n\n return () => {\n modal.removeEventListener('mousedown', onMouseDown);\n modal.removeEventListener('click', onBackdropClick);\n };\n }\n\n return () => {};\n }, [isOpen, onMouseDown, onBackdropClick]);\n\n return {\n backdropRef\n };\n};\n\nexport default useModal;\n","import { forwardRef, ForwardedRef } from 'preact/compat';\nimport { multiVariantStyles } from './themes/ModalStyles.css';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\n\ntype Props = IntrinsicProps & {\n /**\n * Specifies the backdrop is visible or transparent. Default is 'scrim' (visible).\n */\n variant?: 'scrim' | 'transparent';\n};\n\nconst ModalBackdrop = forwardRef<HTMLDivElement, Props>(\n ({ variant = 'scrim' }, ref: ForwardedRef<HTMLDivElement | null>) => {\n const variantClasses = multiVariantStyles({\n backdrop: variant === 'transparent' ? 'transparent' : 'scrim'\n });\n\n return <div ref={ref} class={variantClasses} />;\n }\n);\n\nexport default ModalBackdrop;\n","interface Modal {\n modalRef?: HTMLDivElement | null;\n}\n\n/**\n * CSS property backup type.\n */\ntype StyleBackup = Array<{\n property: string;\n value: string;\n}>;\n\n/**\n * ModalDescriptor. Associates an open Modal with overlayed aria-hidden children.\n */\ntype ModalDescriptor = {\n modal: Modal;\n ariaHiddenChildren: Element[];\n};\n\n/**\n * Returns an array of element's siblings.\n *\n * @param elem\n * @returns\n */\nfunction getSiblings(elem: Element): Element[] {\n const siblings: Element[] = [];\n let sibling = elem.previousSibling;\n while (sibling != null) {\n if (sibling.nodeType === 1) {\n siblings.push(sibling as Element);\n }\n sibling = sibling.previousSibling;\n }\n sibling = elem.nextSibling;\n while (sibling != null) {\n if (sibling.nodeType === 1) {\n siblings.push(sibling as Element);\n }\n sibling = sibling.nextSibling;\n }\n return siblings;\n}\n\n/**\n * Sets aria-hidden=true on Modal ancestors and siblings.\n *\n * @param modal\n * @returns An array of modified elements.\n */\nfunction setAriaHiddenOnBackgroundElements(modal: Modal) {\n if (!modal.modalRef) {\n return [];\n }\n const ariaHiddenElements: Element[] = [];\n let node: Element | null = modal.modalRef.parentElement as Element;\n\n do {\n if (!node) {\n break;\n }\n const siblings = getSiblings(node);\n siblings.forEach((elem: Element) => {\n if (elem.tagName.toLowerCase() !== 'script' && elem.getAttribute('aria-hidden') !== 'true') {\n ariaHiddenElements.push(elem);\n elem.setAttribute('aria-hidden', 'true');\n }\n });\n node = node.parentElement;\n } while (node && node.tagName.toLowerCase() !== 'body');\n\n return ariaHiddenElements;\n}\n\n/**\n * Resets the aria-hidden state on previously aria-hidden elements.\n *\n * @param elements\n */\nfunction resetAriaHiddenOnBackgroundElements(elements: Element[]) {\n elements.forEach((elem) => {\n elem.removeAttribute('aria-hidden');\n });\n}\n\nexport default class ModalManager {\n /**\n * Array of ModalDescriptors managed by ModalManager\n */\n private modals: ModalDescriptor[];\n /**\n * Backup of the main container's (body) CSS props potentially altered by Modal.\n */\n private styleBackup: StyleBackup;\n\n constructor() {\n this.modals = [];\n this.styleBackup = [];\n }\n\n /**\n * Registers a modal with ModalManager\n *\n * @param modal\n * @returns\n */\n push(modal: Modal) {\n const modalIndex = this._findModalIndex(modal);\n\n if (modalIndex !== -1) {\n // Do not try to register the same modal multiple times\n return;\n }\n\n this.modals.push({\n modal: modal,\n ariaHiddenChildren: setAriaHiddenOnBackgroundElements(modal)\n });\n\n // if this is the first modal in the container, block container scrolling\n if (this.modals.length === 1) {\n const ownerDocument = this._getOwnerDocument(modal.modalRef);\n const scrollContainer = ownerDocument.body;\n\n const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarWidth > 1) {\n // in RTL, scrollbar is on the left\n const scrollBarLeft =\n Math.round(document.documentElement.getBoundingClientRect().left) +\n document.documentElement.scrollLeft;\n\n if (scrollBarLeft) {\n this.styleBackup.push({\n property: 'padding-left',\n value: scrollContainer.style.paddingLeft\n });\n scrollContainer.style.paddingLeft = `${scrollBarWidth}px`;\n } else {\n this.styleBackup.push({\n property: 'padding-right',\n value: scrollContainer.style.paddingRight\n });\n scrollContainer.style.paddingRight = `${scrollBarWidth}px`;\n }\n }\n\n this.styleBackup.push({ property: 'overflow', value: scrollContainer.style.overflow });\n this.styleBackup.push({ property: 'overflow-x', value: scrollContainer.style.overflowX });\n this.styleBackup.push({ property: 'overflow-y', value: scrollContainer.style.overflowY });\n\n scrollContainer.style.overflow = 'hidden';\n }\n }\n\n /**\n * Unegisters a modal from ModalManager\n *\n * @param modal\n * @returns\n */\n pop(modal: Modal) {\n const modalIndex = this._findModalIndex(modal);\n\n if (modalIndex === -1) {\n // modal to be removed not found!'\n return;\n }\n\n if (modalIndex !== this.modals.length - 1) {\n // trying to remove modal out of order!\n return;\n }\n\n const modalDescriptor = this.modals.pop();\n\n if (modalDescriptor) {\n resetAriaHiddenOnBackgroundElements(modalDescriptor?.ariaHiddenChildren);\n }\n\n // if this was the last modal in the container, restore its overflow props\n if (this.modals.length === 0) {\n const ownerDocument = this._getOwnerDocument(modal.modalRef);\n const scrollContainer = ownerDocument.body;\n\n this.styleBackup.forEach(({ property, value }) => {\n scrollContainer.style.setProperty(property, value);\n });\n }\n }\n\n isTopModal(modal: Modal): boolean {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n\n private _findModalIndex(modal: Modal): number {\n let index = -1;\n this.modals.forEach((elem, idx) => {\n if (elem.modal === modal) {\n index = idx;\n return;\n }\n });\n return index;\n }\n\n private _getOwnerDocument(node: Node | null | undefined): Document {\n return (node && node.ownerDocument) || document;\n }\n}\n","import { useEffect, useRef } from 'preact/compat';\nimport { useModal } from './hooks/useModal';\nimport { Layer } from '../UNSAFE_Layer';\nimport ModalBackdrop from './ModalBackdrop';\nimport ModalManager from './ModalManager';\nimport { baseStyle } from './themes/ModalStyles.css';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\n\n// Global ModalManager singleton instance\nconst globalModalManager = new ModalManager();\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\ntype UseModalProps = Parameters<typeof useModal>[0];\ntype Props = UseModalProps &\n IntrinsicProps & {\n /**\n * Determines if the modal is active.\n */\n isOpen: boolean;\n /**\n * Specifies if modal backdrop is visible or transparent. Default is 'scrim' (visible).\n */\n backdropVariant?: 'scrim' | 'transparent';\n /**\n * A callback to be invoked when a click on the modal backdrop occurs.\n */\n onBackdropClick?: (event: MouseEvent) => void;\n };\n\n/**\n * Modal is a low-level component that provides the 'modality' feature with built-in overlay (scrim).\n * It is typically used for building higher-level components (such as 'Dialog' or 'Popup') that need\n * to support modal behavior preventing interaction with the rest of the page while the modal is open.\n */\nconst Modal = ({ children, isOpen, onBackdropClick, backdropVariant }: Props) => {\n // get the global ModalContext instance\n const modalManager = globalModalManager;\n\n const { backdropRef } = useModal({ isOpen, onBackdropClick });\n // main modal element ref\n const modalRef = useRef<HTMLDivElement>(null);\n\n // modal ref cache, required to lookup the item in modal manger when the actual ref is unmounted\n const modal = useRef<{\n modalRef?: typeof modalRef.current;\n }>({});\n\n // populates and returns the modal ref cache\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n return modal.current;\n };\n\n useEffect(() => {\n if (isOpen && modalRef.current) {\n modalManager?.push(getModal());\n } else {\n if (modal.current.modalRef) {\n modalManager?.pop(getModal());\n }\n }\n }, [isOpen, modalManager]);\n\n useEffect(() => {\n const modalRef = modal.current.modalRef;\n return () => {\n if (modalRef) {\n modalManager?.pop(getModal());\n }\n };\n }, [modalManager]);\n\n return isOpen ? (\n <Layer>\n <div ref={modalRef} class={baseStyle}>\n <ModalBackdrop ref={backdropRef} variant={backdropVariant} />\n {children}\n </div>\n </Layer>\n ) : null;\n};\n\nexport default Modal;\n"],"names":["useRef","useCallback","useEffect","forwardRef","multiVariantStyles","_jsx","Layer","_jsxs","baseStyle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal-fd178291.js","sources":["../../src/UNSAFE_Modal/hooks/useModal.ts","../../src/UNSAFE_Modal/ModalBackdrop.tsx","../../src/UNSAFE_Modal/ModalManager.ts","../../src/UNSAFE_Modal/Modal.tsx"],"sourcesContent":["import { useRef, useCallback, useEffect } from 'preact/compat';\n\nexport type UseModalProps = Readonly<{\n /**\n * Determines whether the Modal is open.\n */\n isOpen: boolean;\n /**\n * On backdrop click callback.\n */\n onBackdropClick?: (event: MouseEvent) => void;\n}>;\n\n/**\n *\n * @param props\n */\nexport const useModal = (props: UseModalProps) => {\n const { isOpen, onBackdropClick: onBackdropClickProp } = props;\n\n const backdropRef = useRef<HTMLDivElement>(null);\n\n const mouseDownTarget = useRef<EventTarget | null>(null);\n\n const onMouseDown = useCallback((event: MouseEvent) => {\n if (backdropRef.current === event.target) {\n mouseDownTarget.current = event.target;\n }\n }, []);\n\n const onBackdropClick = useCallback(\n (event: MouseEvent) => {\n if (backdropRef.current === event.target) {\n event.stopPropagation();\n // event should originate on the same target\n if (mouseDownTarget.current === event.target) {\n onBackdropClickProp?.(event);\n }\n }\n },\n [onBackdropClickProp]\n );\n\n useEffect(() => {\n const modal = backdropRef.current;\n\n if (modal) {\n modal.addEventListener('mousedown', onMouseDown);\n modal.addEventListener('click', onBackdropClick);\n\n return () => {\n modal.removeEventListener('mousedown', onMouseDown);\n modal.removeEventListener('click', onBackdropClick);\n };\n }\n\n return () => {};\n }, [isOpen, onMouseDown, onBackdropClick]);\n\n return {\n backdropRef\n };\n};\n\nexport default useModal;\n","import { forwardRef, ForwardedRef } from 'preact/compat';\nimport { multiVariantStyles } from './themes/ModalStyles.css';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\n\ntype Props = IntrinsicProps & {\n /**\n * Specifies the backdrop is visible or transparent. Default is 'scrim' (visible).\n */\n variant?: 'scrim' | 'transparent';\n};\n\nconst ModalBackdrop = forwardRef<HTMLDivElement, Props>(\n ({ variant = 'scrim' }, ref: ForwardedRef<HTMLDivElement | null>) => {\n const variantClasses = multiVariantStyles({\n backdrop: variant === 'transparent' ? 'transparent' : 'scrim'\n });\n\n return <div ref={ref} class={variantClasses} />;\n }\n);\n\nexport default ModalBackdrop;\n","interface Modal {\n modalRef?: HTMLDivElement | null;\n}\n\n/**\n * CSS property backup type.\n */\ntype StyleBackup = Array<{\n property: string;\n value: string;\n}>;\n\n/**\n * ModalDescriptor. Associates an open Modal with overlayed aria-hidden children.\n */\ntype ModalDescriptor = {\n modal: Modal;\n ariaHiddenChildren: Element[];\n};\n\n/**\n * Returns an array of element's siblings.\n *\n * @param elem\n * @returns\n */\nfunction getSiblings(elem: Element): Element[] {\n const siblings: Element[] = [];\n let sibling = elem.previousSibling;\n while (sibling != null) {\n if (sibling.nodeType === 1) {\n siblings.push(sibling as Element);\n }\n sibling = sibling.previousSibling;\n }\n sibling = elem.nextSibling;\n while (sibling != null) {\n if (sibling.nodeType === 1) {\n siblings.push(sibling as Element);\n }\n sibling = sibling.nextSibling;\n }\n return siblings;\n}\n\n/**\n * Sets aria-hidden=true on Modal ancestors and siblings.\n *\n * @param modal\n * @returns An array of modified elements.\n */\nfunction setAriaHiddenOnBackgroundElements(modal: Modal) {\n if (!modal.modalRef) {\n return [];\n }\n const ariaHiddenElements: Element[] = [];\n let node: Element | null = modal.modalRef.parentElement as Element;\n\n do {\n if (!node) {\n break;\n }\n const siblings = getSiblings(node);\n siblings.forEach((elem: Element) => {\n if (elem.tagName.toLowerCase() !== 'script' && elem.getAttribute('aria-hidden') !== 'true') {\n ariaHiddenElements.push(elem);\n elem.setAttribute('aria-hidden', 'true');\n }\n });\n node = node.parentElement;\n } while (node && node.tagName.toLowerCase() !== 'body');\n\n return ariaHiddenElements;\n}\n\n/**\n * Resets the aria-hidden state on previously aria-hidden elements.\n *\n * @param elements\n */\nfunction resetAriaHiddenOnBackgroundElements(elements: Element[]) {\n elements.forEach((elem) => {\n elem.removeAttribute('aria-hidden');\n });\n}\n\nexport default class ModalManager {\n /**\n * Array of ModalDescriptors managed by ModalManager\n */\n private modals: ModalDescriptor[];\n /**\n * Backup of the main container's (body) CSS props potentially altered by Modal.\n */\n private styleBackup: StyleBackup;\n\n constructor() {\n this.modals = [];\n this.styleBackup = [];\n }\n\n /**\n * Registers a modal with ModalManager\n *\n * @param modal\n * @returns\n */\n push(modal: Modal) {\n const modalIndex = this._findModalIndex(modal);\n\n if (modalIndex !== -1) {\n // Do not try to register the same modal multiple times\n return;\n }\n\n this.modals.push({\n modal: modal,\n ariaHiddenChildren: setAriaHiddenOnBackgroundElements(modal)\n });\n\n // if this is the first modal in the container, block container scrolling\n if (this.modals.length === 1) {\n const ownerDocument = this._getOwnerDocument(modal.modalRef);\n const scrollContainer = ownerDocument.body;\n\n const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarWidth > 1) {\n // in RTL, scrollbar is on the left\n const scrollBarLeft =\n Math.round(document.documentElement.getBoundingClientRect().left) +\n document.documentElement.scrollLeft;\n\n if (scrollBarLeft) {\n this.styleBackup.push({\n property: 'padding-left',\n value: scrollContainer.style.paddingLeft\n });\n scrollContainer.style.paddingLeft = `${scrollBarWidth}px`;\n } else {\n this.styleBackup.push({\n property: 'padding-right',\n value: scrollContainer.style.paddingRight\n });\n scrollContainer.style.paddingRight = `${scrollBarWidth}px`;\n }\n }\n\n this.styleBackup.push({ property: 'overflow', value: scrollContainer.style.overflow });\n this.styleBackup.push({ property: 'overflow-x', value: scrollContainer.style.overflowX });\n this.styleBackup.push({ property: 'overflow-y', value: scrollContainer.style.overflowY });\n\n scrollContainer.style.overflow = 'hidden';\n }\n }\n\n /**\n * Unegisters a modal from ModalManager\n *\n * @param modal\n * @returns\n */\n pop(modal: Modal) {\n const modalIndex = this._findModalIndex(modal);\n\n if (modalIndex === -1) {\n // modal to be removed not found!'\n return;\n }\n\n if (modalIndex !== this.modals.length - 1) {\n // trying to remove modal out of order!\n return;\n }\n\n const modalDescriptor = this.modals.pop();\n\n if (modalDescriptor) {\n resetAriaHiddenOnBackgroundElements(modalDescriptor?.ariaHiddenChildren);\n }\n\n // if this was the last modal in the container, restore its overflow props\n if (this.modals.length === 0) {\n const ownerDocument = this._getOwnerDocument(modal.modalRef);\n const scrollContainer = ownerDocument.body;\n\n this.styleBackup.forEach(({ property, value }) => {\n scrollContainer.style.setProperty(property, value);\n });\n }\n }\n\n isTopModal(modal: Modal): boolean {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n\n private _findModalIndex(modal: Modal): number {\n let index = -1;\n this.modals.forEach((elem, idx) => {\n if (elem.modal === modal) {\n index = idx;\n return;\n }\n });\n return index;\n }\n\n private _getOwnerDocument(node: Node | null | undefined): Document {\n return (node && node.ownerDocument) || document;\n }\n}\n","import { useEffect, useRef } from 'preact/compat';\nimport { useModal } from './hooks/useModal';\nimport { Layer } from '../UNSAFE_Layer';\nimport ModalBackdrop from './ModalBackdrop';\nimport ModalManager from './ModalManager';\nimport { baseStyle } from './themes/ModalStyles.css';\nimport { HTMLAttributesSignalExcluded } from '../utils/UNSAFE_attributeUtils';\n\n// Global ModalManager singleton instance\nconst globalModalManager = new ModalManager();\n\ntype IntrinsicProps = Pick<HTMLAttributesSignalExcluded<HTMLDivElement>, 'children'>;\ntype UseModalProps = Parameters<typeof useModal>[0];\ntype Props = UseModalProps &\n IntrinsicProps & {\n /**\n * Determines if the modal is active.\n */\n isOpen: boolean;\n /**\n * Specifies if modal backdrop is visible or transparent. Default is 'scrim' (visible).\n */\n backdropVariant?: 'scrim' | 'transparent';\n /**\n * A callback to be invoked when a click on the modal backdrop occurs.\n */\n onBackdropClick?: (event: MouseEvent) => void;\n };\n\n/**\n * Modal is a low-level component that provides the 'modality' feature with built-in overlay (scrim).\n * It is typically used for building higher-level components (such as 'Dialog' or 'Popup') that need\n * to support modal behavior preventing interaction with the rest of the page while the modal is open.\n */\nconst Modal = ({ children, isOpen, onBackdropClick, backdropVariant }: Props) => {\n // get the global ModalContext instance\n const modalManager = globalModalManager;\n\n const { backdropRef } = useModal({ isOpen, onBackdropClick });\n // main modal element ref\n const modalRef = useRef<HTMLDivElement>(null);\n\n // modal ref cache, required to lookup the item in modal manger when the actual ref is unmounted\n const modal = useRef<{\n modalRef?: typeof modalRef.current;\n }>({});\n\n // populates and returns the modal ref cache\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n return modal.current;\n };\n\n useEffect(() => {\n if (isOpen && modalRef.current) {\n modalManager?.push(getModal());\n } else {\n if (modal.current.modalRef) {\n modalManager?.pop(getModal());\n }\n }\n }, [isOpen, modalManager]);\n\n useEffect(() => {\n const modalRef = modal.current.modalRef;\n return () => {\n if (modalRef) {\n modalManager?.pop(getModal());\n }\n };\n }, [modalManager]);\n\n return isOpen ? (\n <Layer>\n <div ref={modalRef} class={baseStyle}>\n <ModalBackdrop ref={backdropRef} variant={backdropVariant} />\n {children}\n </div>\n </Layer>\n ) : null;\n};\n\nexport default Modal;\n"],"names":["useRef","useCallback","useEffect","forwardRef","multiVariantStyles","_jsx","Layer","_jsxs","baseStyle"],"mappings":"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"}
|
|
@@ -7,12 +7,12 @@ require('./getFormatParse-4a697b8f.js');
|
|
|
7
7
|
require('./logger-2b636482.js');
|
|
8
8
|
var calendarDateUtils = require('./calendarDateUtils-ca9bde6d.js');
|
|
9
9
|
var StyledDatePickerButton = require('./StyledDatePickerButton-d6fb1f86.js');
|
|
10
|
-
var useUser = require('./useUser-
|
|
10
|
+
var useUser = require('./useUser-c8e9a94a.js');
|
|
11
11
|
var compat = require('preact/compat');
|
|
12
|
-
var useTranslationBundle = require('./useTranslationBundle-
|
|
12
|
+
var useTranslationBundle = require('./useTranslationBundle-7fcd8bd5.js');
|
|
13
13
|
var useCellNavigation = require('./useCellNavigation-24bff833.js');
|
|
14
14
|
var PRIVATE_MonthView_themes_DayCellStyles_css = require('./PRIVATE_MonthView/themes/DayCellStyles.css.js');
|
|
15
|
-
var Grid = require('./Grid-
|
|
15
|
+
var Grid = require('./Grid-fe4fef40.js');
|
|
16
16
|
var PRIVATE_MonthView_themes_redwood_MonthViewTheme = require('./PRIVATE_MonthView/themes/redwood/MonthViewTheme.js');
|
|
17
17
|
var useComponentTheme = require('./useComponentTheme-082fc8e4.js');
|
|
18
18
|
var PRIVATE_MonthView_themes_MonthViewContract_css = require('./PRIVATE_MonthView/themes/MonthViewContract.css.js');
|
|
@@ -151,4 +151,4 @@ function isOutOfMonth(date1, currentMonthDate) {
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
exports.MonthView = MonthView;
|
|
154
|
-
//# sourceMappingURL=MonthView-
|
|
154
|
+
//# sourceMappingURL=MonthView-de994aa0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonthView-94676cd6.js","sources":["../../src/PRIVATE_MonthView/useDayCell.ts","../../src/PRIVATE_MonthView/DayCell.tsx","../../src/PRIVATE_MonthView/MonthView.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 type { CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { formatFullCalendarDate, toJSDate } from '#utils/UNSAFE_calendarDateUtils';\nimport { ComponentProps, useCallback } from 'preact/compat';\n\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { useFocusableCell } from '#UNSAFE_DatePicker/useFocusableCell';\nimport { useCellNavigation } from '#UNSAFE_DatePicker/useCellNavigation';\nimport { StyledDatePickerButton } from '#PRIVATE_StyledDatePickerButton';\n\ntype NavigationDirections =\n | 'previousDay'\n | 'nextDay'\n | 'previousWeek'\n | 'nextWeek'\n | 'previousMonth'\n | 'nextMonth'\n | 'previousYear'\n | 'nextYear'\n | 'firstDayOfMonth'\n | 'lastDayOfMonth'\n | 'today';\n\nexport type DayFormatOptions = {\n state: 'enabled' | 'disabled' | 'restricted';\n};\n\n// These are the properties the useDayCell hook takes.\nexport type UseDayCellProps = {\n /**\n * Date of the day cell. This will be formatted as a full date and put in the aria-label.\n */\n date: CalendarDateRequired;\n /**\n * A function that receives a date and returns an object specifying how to format the provided date.\n * This function is called for each date that is rendered and this can be used to control how individual\n * dates are rendered - disabled, restricted, or enabled.\n * @param date The date to format\n * @returns The format options\n */\n dayFormatter?: (date: CalendarDateRequired) => DayFormatOptions;\n /**\n * Whether the day cell is in an adjacent month, not the current month.\n */\n isAdjacentMonth: boolean;\n /**\n * Whether the day cell is disabled, like if it is out of the min/max range.\n */\n isDisabled?: boolean;\n /**\n * Whether the day cell is focusable, meaning it will have tabIndex 0.\n */\n isFocusable: boolean;\n /**\n * Whether the day cell has focus.\n */\n isFocused: boolean;\n /**\n * Whether the day cell is hidden. For example, days outside of the current month are hidden by default.\n */\n isHidden: boolean;\n /**\n * Whether the day cell is readonly. It is not activeable.\n */\n isReadonly: boolean;\n /**\n * Whether the day cell looks selected.\n */\n isSelected: boolean;\n /**\n * Whether the day cell's date is today.\n */\n isToday: boolean;\n /**\n * A callback that will be invoked when the user selects the date by clicking on a day cell or selecting the enter or space key on a day cell.\n * @param payload The payload containing the date represented by this cell.\n */\n onAction: (payload: { date: CalendarDateRequired }) => void;\n /**\n * A callback that will be invoked when the user navigates.\n */\n onNavigation: (detail: { direction: NavigationDirections; date: CalendarDateRequired }) => void;\n};\n\n/**\n * The useDayCell hook returns properties for an individual DayCell. The properties returned should be spread on the StyledDatePickerButton.\n * These include the event handlers for keydown and click.\n */\nexport const useDayCell = ({\n date,\n dayFormatter = defaultDayFormatter,\n isAdjacentMonth,\n isDisabled,\n isFocusable,\n isFocused,\n isHidden,\n isReadonly,\n isSelected,\n isToday,\n onAction,\n onNavigation\n}: UseDayCellProps) => {\n const { locale } = useUser();\n\n // apply day formatting\n const { state } = dayFormatter(date);\n const isDisabledFormat = state === 'disabled';\n const isRestrictedFormat = state === 'restricted';\n\n // Focus the day cell with isFocused true when the state updates.\n const buttonProps = useFocusableCell({ isFocusable, isFocused });\n // Override onAction to not call it if disabled, readonly or restricted\n const handleAction: UseDayCellProps['onAction'] = useCallback(\n (payload) => {\n if (isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat) return;\n onAction(payload);\n },\n [isDisabled, isDisabledFormat, isReadonly, isRestrictedFormat, onAction]\n );\n const buttonEventHandlers = useCellNavigation({\n navigationMap: {\n ArrowLeft: { ltr: 'previousDay', rtl: 'nextDay' },\n ArrowRight: { ltr: 'nextDay', rtl: 'previousDay' },\n ArrowDown: 'nextWeek',\n ArrowUp: 'previousWeek',\n PageDown: 'nextMonth',\n PageUp: 'previousMonth',\n Home: 'firstDayOfMonth',\n End: 'lastDayOfMonth',\n ShiftPageDown: 'nextYear',\n ShiftPageUp: 'previousYear',\n CtrlAltT: 'today'\n },\n payload: { date },\n onAction: handleAction,\n onNavigation\n });\n\n // For accessibility, we want a full date.\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const today = translations.datePicker_today();\n const selected = translations.datePicker_selected();\n const restricted = translations.datePicker_restricted();\n\n const formattedDate = formatFullCalendarDate(locale, date, 'day');\n let ariaLabel = isToday ? `${today}, ${formattedDate}` : formattedDate;\n ariaLabel = isRestrictedFormat ? `${ariaLabel}, ${restricted}` : ariaLabel;\n ariaLabel = isSelected ? `${ariaLabel}, ${selected}` : ariaLabel;\n const dayOfMonth = toJSDate(date.year, date.month, date.day).getDate().toString();\n\n return {\n buttonProps: {\n 'aria-label': ariaLabel,\n ...((isHidden || isDisabled || isDisabledFormat || isRestrictedFormat) && {\n 'aria-disabled': true\n }),\n isActivable: !(isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat),\n isAdjacentMonth,\n isDimmed: isDisabled || isDisabledFormat,\n isHidden,\n isHoverable: !(isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat),\n isReadonly,\n isSelected,\n isRestricted: isRestrictedFormat,\n isToday,\n label: dayOfMonth,\n ...buttonProps,\n ...buttonEventHandlers\n } as ComponentProps<typeof StyledDatePickerButton>\n };\n};\n\n/**\n * A default day formatter that always formats as enabled state.\n */\nconst defaultDayFormatter = () => ({ state: 'enabled' }) as DayFormatOptions;\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { StyledDatePickerButton } from '#PRIVATE_StyledDatePickerButton';\nimport { UseDayCellProps, useDayCell } from './useDayCell';\nimport { dayCellStyles } from './themes/DayCellStyles.css';\n\ntype PickedUseDayCellProps = Pick<\n UseDayCellProps,\n | 'date'\n | 'dayFormatter'\n | 'isAdjacentMonth'\n | 'isDisabled'\n | 'isFocusable'\n | 'isFocused'\n | 'isHidden'\n | 'isReadonly'\n | 'isSelected'\n | 'isToday'\n | 'onAction'\n | 'onNavigation'\n>;\n\ntype DayCellProps = PickedUseDayCellProps;\n\n/**\n * The DayCell is the cell within the DatePicker's month view that contains the day in the month view.\n * This component will format the date for the aria-label.\n * The DayCell components uses the useDayCell hook to handle the user interactions with the day cell.\n */\nexport const DayCell = (props: DayCellProps) => {\n const { buttonProps } = useDayCell(props);\n // buttonProps, e.g., tabIndex, aria-label, onclick, onkeydown and visual states\n return (\n <div role=\"gridcell\" class={dayCellStyles}>\n <StyledDatePickerButton {...buttonProps} />\n </div>\n );\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport {\n getWeeksInMonth,\n getDatesInWeek,\n getStartOfWeek,\n getDaysOfWeekNames,\n WeekInMonthIndex\n} from '#utils/PRIVATE_dayUtils';\nimport { ComponentProps } from 'preact/compat';\nimport {\n CalendarDateRequired,\n formatFullCalendarDate,\n isDateOutOfRange\n} from '#utils/UNSAFE_calendarDateUtils';\nimport { DayCell } from './DayCell';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { Grid } from '#UNSAFE_Grid';\nimport { MonthViewVariantOptions } from '#PRIVATE_MonthView/themes/MonthViewStyles.css';\nimport { MonthViewRedwoodTheme } from '#PRIVATE_MonthView/themes/redwood/MonthViewTheme';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { monthViewScaleVars } from '#PRIVATE_MonthView/themes/MonthViewContract.css';\n\ntype PickedDayCellProps = Pick<\n ComponentProps<typeof DayCell>,\n 'dayFormatter' | 'onAction' | 'onNavigation'\n>;\n\ntype MonthViewProps = TestIdProps &\n PickedDayCellProps & {\n /**\n * The daysOutsideMonth property affects the day cells that are outside of the current month.\n * If set to 'hidden', then the days outside of the current month will be hidden.\n * If set to 'selectable', then the days outside of the current month will be visible and selectable.\n * This defaults to 'hidden'.\n */\n daysOutsideMonth?: 'hidden' | 'selectable';\n /**\n * The MonthView renders with the month of the focusableDate.\n * The focusableDate is the only day in the MonthView that has tabIndex: 0 on it.\n * The focusableDate doesn't have focus until the user tabs in to the Month View.\n * The focusableDate is never undefined.\n */\n focusableDate: CalendarDateRequired;\n /**\n * If set to true, the focusableDate will be focused and you will see the focus ring. It will be\n * false when no date has focus.\n * @default false\n */\n isFocused?: boolean;\n /**\n * Specifies whether the component is readonly.\n */\n isReadonly?: boolean;\n /**\n * The maximum selectable date. The max must be greater than the min if they are both specified.\n */\n max?: CalendarDateRequired;\n /**\n * The minimum selectable date. The min must be less than the max if they are both specified.\n */\n min?: CalendarDateRequired;\n /**\n * The selected date of the MonthView, or undefined is there is no selected date. This\n * is used to highlight the selected day cell if it is within the min/max range.\n */\n selectedDate?: CalendarDateRequired;\n /**\n * Today's date. This is used to highlight the Today day cell.\n */\n todaysDate: CalendarDateRequired;\n };\n\n/**\n * A MonthView is a month interface that allows users to select a single date. The MonthView is the week day header\n * abbreviations and the days of the month. A MonthView is used inside of a DatePicker\n * along with the DatePickerHeader and the MonthGridView and YearGridView.\n */\nexport const MonthView = ({\n dayFormatter,\n daysOutsideMonth = 'hidden',\n isReadonly = false,\n max,\n min,\n onAction,\n onNavigation,\n selectedDate,\n focusableDate,\n isFocused = false,\n testId,\n todaysDate\n}: MonthViewProps) => {\n const { locale } = useUser();\n const weeksInMonth = getWeeksInMonth(focusableDate.year, focusableDate.month, locale);\n const { baseTheme, styles } = useComponentTheme<MonthViewVariantOptions>(\n MonthViewRedwoodTheme,\n {}\n );\n\n const renderMonthViewHeaderRow = () => {\n const weekDays = getDaysOfWeekNames(locale, 'short');\n return (\n <Grid\n role=\"row\"\n aria-hidden=\"true\"\n gridTemplateColumns=\"repeat(7, 1fr)\"\n gap={monthViewScaleVars.columnGap}>\n {weekDays.map((day) => (\n <div role=\"columnheader\" class={styles['doyOfTheWeek']}>\n <span>{day}</span>\n </div>\n ))}\n </Grid>\n );\n };\n\n const renderMonthView = () => {\n const calendarGrid: JSX.Element[] = [];\n\n for (let weekIndex = 0; weekIndex < weeksInMonth; weekIndex++) {\n const startDateOfWeek = getStartOfWeek(focusableDate.year, focusableDate.month, 1, locale);\n const weekDates = getDatesInWeek(\n weekIndex as WeekInMonthIndex,\n startDateOfWeek.year,\n startDateOfWeek.month,\n startDateOfWeek.day\n );\n\n const weekCells = weekDates.map((dayCellDate) => {\n // This figures out the visual state of the DayCell.\n const isDisabled = isDateOutOfRange(dayCellDate, min, max);\n\n // Even if the selected date is out of range, the UX design shows it as selected.\n const isSelected = selectedDate ? isSameDate(dayCellDate, selectedDate) : false;\n const isToday = isSameDate(dayCellDate, todaysDate);\n const isFocusable = isSameDate(dayCellDate, focusableDate);\n const isAdjacentMonth = isOutOfMonth(dayCellDate, focusableDate);\n const isHidden = isAdjacentMonth && daysOutsideMonth === 'hidden';\n\n return (\n <DayCell\n key={`${dayCellDate.year}-${dayCellDate.month}-${dayCellDate.day}`}\n date={dayCellDate}\n dayFormatter={dayFormatter}\n isAdjacentMonth={isAdjacentMonth}\n isDisabled={isDisabled}\n isFocusable={isFocusable}\n isFocused={isFocusable && isFocused}\n isHidden={isHidden}\n isReadonly={isReadonly}\n isSelected={isSelected}\n isToday={isToday}\n onAction={onAction}\n onNavigation={onNavigation}></DayCell>\n );\n });\n\n calendarGrid.push(\n <Grid\n key={weekIndex}\n role=\"row\"\n gridTemplateColumns=\"repeat(7, 1fr)\"\n gap={monthViewScaleVars.columnGap}>\n {weekCells}\n </Grid>\n );\n }\n\n return calendarGrid;\n };\n\n const monthViewAriaLabel = formatFullCalendarDate(locale, focusableDate, 'month');\n return (\n <div class={baseTheme}>\n <Grid\n gap={monthViewScaleVars.rowGap}\n aria-label={monthViewAriaLabel}\n role=\"grid\"\n testId={testId}>\n {renderMonthViewHeaderRow()}\n {renderMonthView()}\n </Grid>\n </div>\n );\n};\n\nfunction isSameDate(date1: CalendarDateRequired, date2: CalendarDateRequired) {\n return date1.year === date2.year && date1.month === date2.month && date1.day === date2.day;\n}\n\nfunction isOutOfMonth(date1: CalendarDateRequired, currentMonthDate: CalendarDateRequired) {\n return date1.month !== currentMonthDate.month;\n}\n"],"names":["useUser","useFocusableCell","useCallback","useCellNavigation","useTranslationBundle","formatFullCalendarDate","toJSDate","_jsx","dayCellStyles","StyledDatePickerButton","getWeeksInMonth","useComponentTheme","MonthViewRedwoodTheme","getDaysOfWeekNames","Grid","monthViewScaleVars","getStartOfWeek","getDatesInWeek","isDateOutOfRange","_jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MonthView-de994aa0.js","sources":["../../src/PRIVATE_MonthView/useDayCell.ts","../../src/PRIVATE_MonthView/DayCell.tsx","../../src/PRIVATE_MonthView/MonthView.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 type { CalendarDateRequired } from '#utils/UNSAFE_calendarDateUtils';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { formatFullCalendarDate, toJSDate } from '#utils/UNSAFE_calendarDateUtils';\nimport { ComponentProps, useCallback } from 'preact/compat';\n\nimport { useTranslationBundle } from '#hooks/UNSAFE_useTranslationBundle';\nimport { BundleType } from '#resources/nls/bundle';\nimport { useFocusableCell } from '#UNSAFE_DatePicker/useFocusableCell';\nimport { useCellNavigation } from '#UNSAFE_DatePicker/useCellNavigation';\nimport { StyledDatePickerButton } from '#PRIVATE_StyledDatePickerButton';\n\ntype NavigationDirections =\n | 'previousDay'\n | 'nextDay'\n | 'previousWeek'\n | 'nextWeek'\n | 'previousMonth'\n | 'nextMonth'\n | 'previousYear'\n | 'nextYear'\n | 'firstDayOfMonth'\n | 'lastDayOfMonth'\n | 'today';\n\nexport type DayFormatOptions = {\n state: 'enabled' | 'disabled' | 'restricted';\n};\n\n// These are the properties the useDayCell hook takes.\nexport type UseDayCellProps = {\n /**\n * Date of the day cell. This will be formatted as a full date and put in the aria-label.\n */\n date: CalendarDateRequired;\n /**\n * A function that receives a date and returns an object specifying how to format the provided date.\n * This function is called for each date that is rendered and this can be used to control how individual\n * dates are rendered - disabled, restricted, or enabled.\n * @param date The date to format\n * @returns The format options\n */\n dayFormatter?: (date: CalendarDateRequired) => DayFormatOptions;\n /**\n * Whether the day cell is in an adjacent month, not the current month.\n */\n isAdjacentMonth: boolean;\n /**\n * Whether the day cell is disabled, like if it is out of the min/max range.\n */\n isDisabled?: boolean;\n /**\n * Whether the day cell is focusable, meaning it will have tabIndex 0.\n */\n isFocusable: boolean;\n /**\n * Whether the day cell has focus.\n */\n isFocused: boolean;\n /**\n * Whether the day cell is hidden. For example, days outside of the current month are hidden by default.\n */\n isHidden: boolean;\n /**\n * Whether the day cell is readonly. It is not activeable.\n */\n isReadonly: boolean;\n /**\n * Whether the day cell looks selected.\n */\n isSelected: boolean;\n /**\n * Whether the day cell's date is today.\n */\n isToday: boolean;\n /**\n * A callback that will be invoked when the user selects the date by clicking on a day cell or selecting the enter or space key on a day cell.\n * @param payload The payload containing the date represented by this cell.\n */\n onAction: (payload: { date: CalendarDateRequired }) => void;\n /**\n * A callback that will be invoked when the user navigates.\n */\n onNavigation: (detail: { direction: NavigationDirections; date: CalendarDateRequired }) => void;\n};\n\n/**\n * The useDayCell hook returns properties for an individual DayCell. The properties returned should be spread on the StyledDatePickerButton.\n * These include the event handlers for keydown and click.\n */\nexport const useDayCell = ({\n date,\n dayFormatter = defaultDayFormatter,\n isAdjacentMonth,\n isDisabled,\n isFocusable,\n isFocused,\n isHidden,\n isReadonly,\n isSelected,\n isToday,\n onAction,\n onNavigation\n}: UseDayCellProps) => {\n const { locale } = useUser();\n\n // apply day formatting\n const { state } = dayFormatter(date);\n const isDisabledFormat = state === 'disabled';\n const isRestrictedFormat = state === 'restricted';\n\n // Focus the day cell with isFocused true when the state updates.\n const buttonProps = useFocusableCell({ isFocusable, isFocused });\n // Override onAction to not call it if disabled, readonly or restricted\n const handleAction: UseDayCellProps['onAction'] = useCallback(\n (payload) => {\n if (isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat) return;\n onAction(payload);\n },\n [isDisabled, isDisabledFormat, isReadonly, isRestrictedFormat, onAction]\n );\n const buttonEventHandlers = useCellNavigation({\n navigationMap: {\n ArrowLeft: { ltr: 'previousDay', rtl: 'nextDay' },\n ArrowRight: { ltr: 'nextDay', rtl: 'previousDay' },\n ArrowDown: 'nextWeek',\n ArrowUp: 'previousWeek',\n PageDown: 'nextMonth',\n PageUp: 'previousMonth',\n Home: 'firstDayOfMonth',\n End: 'lastDayOfMonth',\n ShiftPageDown: 'nextYear',\n ShiftPageUp: 'previousYear',\n CtrlAltT: 'today'\n },\n payload: { date },\n onAction: handleAction,\n onNavigation\n });\n\n // For accessibility, we want a full date.\n const translations = useTranslationBundle<BundleType>('@oracle/oraclejet-preact');\n const today = translations.datePicker_today();\n const selected = translations.datePicker_selected();\n const restricted = translations.datePicker_restricted();\n\n const formattedDate = formatFullCalendarDate(locale, date, 'day');\n let ariaLabel = isToday ? `${today}, ${formattedDate}` : formattedDate;\n ariaLabel = isRestrictedFormat ? `${ariaLabel}, ${restricted}` : ariaLabel;\n ariaLabel = isSelected ? `${ariaLabel}, ${selected}` : ariaLabel;\n const dayOfMonth = toJSDate(date.year, date.month, date.day).getDate().toString();\n\n return {\n buttonProps: {\n 'aria-label': ariaLabel,\n ...((isHidden || isDisabled || isDisabledFormat || isRestrictedFormat) && {\n 'aria-disabled': true\n }),\n isActivable: !(isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat),\n isAdjacentMonth,\n isDimmed: isDisabled || isDisabledFormat,\n isHidden,\n isHoverable: !(isDisabled || isReadonly || isDisabledFormat || isRestrictedFormat),\n isReadonly,\n isSelected,\n isRestricted: isRestrictedFormat,\n isToday,\n label: dayOfMonth,\n ...buttonProps,\n ...buttonEventHandlers\n } as ComponentProps<typeof StyledDatePickerButton>\n };\n};\n\n/**\n * A default day formatter that always formats as enabled state.\n */\nconst defaultDayFormatter = () => ({ state: 'enabled' }) as DayFormatOptions;\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport { StyledDatePickerButton } from '#PRIVATE_StyledDatePickerButton';\nimport { UseDayCellProps, useDayCell } from './useDayCell';\nimport { dayCellStyles } from './themes/DayCellStyles.css';\n\ntype PickedUseDayCellProps = Pick<\n UseDayCellProps,\n | 'date'\n | 'dayFormatter'\n | 'isAdjacentMonth'\n | 'isDisabled'\n | 'isFocusable'\n | 'isFocused'\n | 'isHidden'\n | 'isReadonly'\n | 'isSelected'\n | 'isToday'\n | 'onAction'\n | 'onNavigation'\n>;\n\ntype DayCellProps = PickedUseDayCellProps;\n\n/**\n * The DayCell is the cell within the DatePicker's month view that contains the day in the month view.\n * This component will format the date for the aria-label.\n * The DayCell components uses the useDayCell hook to handle the user interactions with the day cell.\n */\nexport const DayCell = (props: DayCellProps) => {\n const { buttonProps } = useDayCell(props);\n // buttonProps, e.g., tabIndex, aria-label, onclick, onkeydown and visual states\n return (\n <div role=\"gridcell\" class={dayCellStyles}>\n <StyledDatePickerButton {...buttonProps} />\n </div>\n );\n};\n","/**\n * @license\n * Copyright (c) %FIRST_YEAR% %CURRENT_YEAR%, Oracle and/or its affiliates.\n * Licensed under The Universal Permissive License (UPL), Version 1.0\n * as shown at https://oss.oracle.com/licenses/upl/\n * @ignore\n */\nimport {\n getWeeksInMonth,\n getDatesInWeek,\n getStartOfWeek,\n getDaysOfWeekNames,\n WeekInMonthIndex\n} from '#utils/PRIVATE_dayUtils';\nimport { ComponentProps } from 'preact/compat';\nimport {\n CalendarDateRequired,\n formatFullCalendarDate,\n isDateOutOfRange\n} from '#utils/UNSAFE_calendarDateUtils';\nimport { DayCell } from './DayCell';\nimport { useUser } from '#hooks/UNSAFE_useUser';\nimport { TestIdProps } from '#hooks/UNSAFE_useTestId';\nimport { Grid } from '#UNSAFE_Grid';\nimport { MonthViewVariantOptions } from '#PRIVATE_MonthView/themes/MonthViewStyles.css';\nimport { MonthViewRedwoodTheme } from '#PRIVATE_MonthView/themes/redwood/MonthViewTheme';\nimport { useComponentTheme } from '../hooks/UNSAFE_useComponentTheme';\nimport { monthViewScaleVars } from '#PRIVATE_MonthView/themes/MonthViewContract.css';\n\ntype PickedDayCellProps = Pick<\n ComponentProps<typeof DayCell>,\n 'dayFormatter' | 'onAction' | 'onNavigation'\n>;\n\ntype MonthViewProps = TestIdProps &\n PickedDayCellProps & {\n /**\n * The daysOutsideMonth property affects the day cells that are outside of the current month.\n * If set to 'hidden', then the days outside of the current month will be hidden.\n * If set to 'selectable', then the days outside of the current month will be visible and selectable.\n * This defaults to 'hidden'.\n */\n daysOutsideMonth?: 'hidden' | 'selectable';\n /**\n * The MonthView renders with the month of the focusableDate.\n * The focusableDate is the only day in the MonthView that has tabIndex: 0 on it.\n * The focusableDate doesn't have focus until the user tabs in to the Month View.\n * The focusableDate is never undefined.\n */\n focusableDate: CalendarDateRequired;\n /**\n * If set to true, the focusableDate will be focused and you will see the focus ring. It will be\n * false when no date has focus.\n * @default false\n */\n isFocused?: boolean;\n /**\n * Specifies whether the component is readonly.\n */\n isReadonly?: boolean;\n /**\n * The maximum selectable date. The max must be greater than the min if they are both specified.\n */\n max?: CalendarDateRequired;\n /**\n * The minimum selectable date. The min must be less than the max if they are both specified.\n */\n min?: CalendarDateRequired;\n /**\n * The selected date of the MonthView, or undefined is there is no selected date. This\n * is used to highlight the selected day cell if it is within the min/max range.\n */\n selectedDate?: CalendarDateRequired;\n /**\n * Today's date. This is used to highlight the Today day cell.\n */\n todaysDate: CalendarDateRequired;\n };\n\n/**\n * A MonthView is a month interface that allows users to select a single date. The MonthView is the week day header\n * abbreviations and the days of the month. A MonthView is used inside of a DatePicker\n * along with the DatePickerHeader and the MonthGridView and YearGridView.\n */\nexport const MonthView = ({\n dayFormatter,\n daysOutsideMonth = 'hidden',\n isReadonly = false,\n max,\n min,\n onAction,\n onNavigation,\n selectedDate,\n focusableDate,\n isFocused = false,\n testId,\n todaysDate\n}: MonthViewProps) => {\n const { locale } = useUser();\n const weeksInMonth = getWeeksInMonth(focusableDate.year, focusableDate.month, locale);\n const { baseTheme, styles } = useComponentTheme<MonthViewVariantOptions>(\n MonthViewRedwoodTheme,\n {}\n );\n\n const renderMonthViewHeaderRow = () => {\n const weekDays = getDaysOfWeekNames(locale, 'short');\n return (\n <Grid\n role=\"row\"\n aria-hidden=\"true\"\n gridTemplateColumns=\"repeat(7, 1fr)\"\n gap={monthViewScaleVars.columnGap}>\n {weekDays.map((day) => (\n <div role=\"columnheader\" class={styles['doyOfTheWeek']}>\n <span>{day}</span>\n </div>\n ))}\n </Grid>\n );\n };\n\n const renderMonthView = () => {\n const calendarGrid: JSX.Element[] = [];\n\n for (let weekIndex = 0; weekIndex < weeksInMonth; weekIndex++) {\n const startDateOfWeek = getStartOfWeek(focusableDate.year, focusableDate.month, 1, locale);\n const weekDates = getDatesInWeek(\n weekIndex as WeekInMonthIndex,\n startDateOfWeek.year,\n startDateOfWeek.month,\n startDateOfWeek.day\n );\n\n const weekCells = weekDates.map((dayCellDate) => {\n // This figures out the visual state of the DayCell.\n const isDisabled = isDateOutOfRange(dayCellDate, min, max);\n\n // Even if the selected date is out of range, the UX design shows it as selected.\n const isSelected = selectedDate ? isSameDate(dayCellDate, selectedDate) : false;\n const isToday = isSameDate(dayCellDate, todaysDate);\n const isFocusable = isSameDate(dayCellDate, focusableDate);\n const isAdjacentMonth = isOutOfMonth(dayCellDate, focusableDate);\n const isHidden = isAdjacentMonth && daysOutsideMonth === 'hidden';\n\n return (\n <DayCell\n key={`${dayCellDate.year}-${dayCellDate.month}-${dayCellDate.day}`}\n date={dayCellDate}\n dayFormatter={dayFormatter}\n isAdjacentMonth={isAdjacentMonth}\n isDisabled={isDisabled}\n isFocusable={isFocusable}\n isFocused={isFocusable && isFocused}\n isHidden={isHidden}\n isReadonly={isReadonly}\n isSelected={isSelected}\n isToday={isToday}\n onAction={onAction}\n onNavigation={onNavigation}></DayCell>\n );\n });\n\n calendarGrid.push(\n <Grid\n key={weekIndex}\n role=\"row\"\n gridTemplateColumns=\"repeat(7, 1fr)\"\n gap={monthViewScaleVars.columnGap}>\n {weekCells}\n </Grid>\n );\n }\n\n return calendarGrid;\n };\n\n const monthViewAriaLabel = formatFullCalendarDate(locale, focusableDate, 'month');\n return (\n <div class={baseTheme}>\n <Grid\n gap={monthViewScaleVars.rowGap}\n aria-label={monthViewAriaLabel}\n role=\"grid\"\n testId={testId}>\n {renderMonthViewHeaderRow()}\n {renderMonthView()}\n </Grid>\n </div>\n );\n};\n\nfunction isSameDate(date1: CalendarDateRequired, date2: CalendarDateRequired) {\n return date1.year === date2.year && date1.month === date2.month && date1.day === date2.day;\n}\n\nfunction isOutOfMonth(date1: CalendarDateRequired, currentMonthDate: CalendarDateRequired) {\n return date1.month !== currentMonthDate.month;\n}\n"],"names":["useUser","useFocusableCell","useCallback","useCellNavigation","useTranslationBundle","formatFullCalendarDate","toJSDate","_jsx","dayCellStyles","StyledDatePickerButton","getWeeksInMonth","useComponentTheme","MonthViewRedwoodTheme","getDaysOfWeekNames","Grid","monthViewScaleVars","getStartOfWeek","getDatesInWeek","isDateOutOfRange","_jsxs"],"mappings":"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"}
|
|
@@ -9,10 +9,10 @@ var useId = require('./useId-6c0eeb27.js');
|
|
|
9
9
|
var UNSAFE_NavigationList_themes_NavigationListStyles_css = require('./UNSAFE_NavigationList/themes/NavigationListStyles.css.js');
|
|
10
10
|
var collectionUtils = require('./collectionUtils-1535080e.js');
|
|
11
11
|
var useCollectionFocusRing = require('./useCollectionFocusRing-ca37785b.js');
|
|
12
|
-
var useCurrentKey = require('./useCurrentKey-
|
|
12
|
+
var useCurrentKey = require('./useCurrentKey-9c158ccc.js');
|
|
13
13
|
var compat = require('preact/compat');
|
|
14
|
-
var useTestId = require('./useTestId-
|
|
15
|
-
var
|
|
14
|
+
var useTestId = require('./useTestId-71c3de70.js');
|
|
15
|
+
var BaseNavigationListItem = require('./BaseNavigationListItem-070d75bc.js');
|
|
16
16
|
|
|
17
17
|
/*TODO: JET-58534. Create a hook to share some logic between navlist and tabbar. Hook will be used inside this one. */
|
|
18
18
|
function useNavigationList({ containerRef, selection, onRemove, onSelectionChange, children }) {
|
|
@@ -133,7 +133,7 @@ const NavigationList = compat.forwardRef(({ children, selection, onSelectionChan
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
}));
|
|
136
|
-
return (jsxRuntime.jsx("ul", { "aria-label": ariaLabel, "aria-labelledby": ariaLabelLedBy, role: "tablist", ref: containerRef, "aria-orientation": 'vertical', tabIndex: 0, "aria-activedescendant": currentKey ? navigationListItemPrefix + currentKey : '', ...mergeProps.mergeProps(eventProps, containerHandlers), ...testIdProps, class: navigationListClass, children: jsxRuntime.jsx(
|
|
136
|
+
return (jsxRuntime.jsx("ul", { "aria-label": ariaLabel, "aria-labelledby": ariaLabelLedBy, role: "tablist", ref: containerRef, "aria-orientation": 'vertical', tabIndex: 0, "aria-activedescendant": currentKey ? navigationListItemPrefix + currentKey : '', ...mergeProps.mergeProps(eventProps, containerHandlers), ...testIdProps, class: navigationListClass, children: jsxRuntime.jsx(BaseNavigationListItem.NavigationListContext.Provider, { value: {
|
|
137
137
|
selection,
|
|
138
138
|
onSelectionChange,
|
|
139
139
|
onCurrentKeyChange,
|
|
@@ -144,5 +144,10 @@ const NavigationList = compat.forwardRef(({ children, selection, onSelectionChan
|
|
|
144
144
|
}, children: children }) }));
|
|
145
145
|
});
|
|
146
146
|
|
|
147
|
+
function NavigationListItem({ itemKey, label, badge, metadata, severity }) {
|
|
148
|
+
return (jsxRuntime.jsx(BaseNavigationListItem.BaseNavigationListItem, { itemKey: itemKey, label: label, badge: badge, metadata: metadata, severity: severity }));
|
|
149
|
+
}
|
|
150
|
+
|
|
147
151
|
exports.NavigationList = NavigationList;
|
|
148
|
-
|
|
152
|
+
exports.NavigationListItem = NavigationListItem;
|
|
153
|
+
//# sourceMappingURL=NavigationListItem-994a877b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationListItem-994a877b.js","sources":["../../src/UNSAFE_NavigationList/useNavigationList.ts","../../src/UNSAFE_NavigationList/NavigationList.tsx","../../src/UNSAFE_NavigationList/NavigationListItem.tsx"],"sourcesContent":["import { useState, useCallback, MutableRef, useRef, useEffect } from 'preact/hooks';\nimport {\n keyExtractor,\n getFirstVisibleKey,\n getKey,\n getPrevNextKeyUsingRef,\n findElementByKey\n} from '../utils/PRIVATE_collectionUtils';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { useCollectionFocusRing } from '../hooks/PRIVATE_useCollectionFocusRing';\nimport { useCurrentKey } from '../hooks/PRIVATE_useCurrentKey';\nimport { NavigationListContextProps } from '../UNSAFE_NavigationListCommon';\n\nimport { ComponentChildren } from 'preact';\n\n/**\n * type for payload of current key change event handler\n */\ntype CurrentKeyDetail<K> = {\n value: K;\n};\n/**\n * type for payload of selection change event handler\n */\ntype SelectionDetail<K> = {\n value: K;\n reason: 'pointer' | 'keyboard';\n};\n/**\n * type for payload of remove event handler\n */\ntype RemoveDetail<K> = {\n value: K;\n};\n\n/*TODO: JET-58534. Create a hook to share some logic between navlist and tabbar. Hook will be used inside this one. */\nexport function useNavigationList<K extends string | number>({\n containerRef,\n selection,\n onRemove,\n onSelectionChange,\n children\n}: {\n containerRef: MutableRef<HTMLUListElement>;\n selection?: K;\n onRemove?: <K extends string | number>(detail: RemoveDetail<K>) => void;\n onSelectionChange?: <K extends string | number>(detail: SelectionDetail<K>) => void;\n children: ComponentChildren;\n}) {\n const ITEM_SELECTOR = '[role=\"tab\"]';\n const REMOVAL_ICON_SELECTOR = '[data-oj-navigationlist-item-remove-icon]';\n const [currentKey, setCurrentKey] = useState<K | undefined>(selection);\n\n const onCurrentKeyChange = useCallback((detail: CurrentKeyDetail<K | undefined>) => {\n setCurrentKey(detail.value);\n }, []) as NavigationListContextProps<K>['onCurrentKeyChange'];\n\n const { currentKeyProps } = useCurrentKey(\n (element) =>\n onRemove\n ? (extractOnlyItemKey(element, ITEM_SELECTOR, REMOVAL_ICON_SELECTOR) as K)\n : keyExtractor(element, ITEM_SELECTOR),\n false,\n getPrevNextKeyUsingRef(containerRef, currentKey, true, ITEM_SELECTOR),\n getPrevNextKeyUsingRef(containerRef, currentKey, false, ITEM_SELECTOR),\n undefined,\n undefined,\n currentKey,\n onCurrentKeyChange\n );\n\n const [showFocusRing, focusRingProps] = useCollectionFocusRing(containerRef, [\n 'Home',\n 'End',\n 'ArrowUp',\n 'ArrowDown'\n ]);\n\n const onFocus = useCallback(() => {\n if (containerRef.current && currentKey === undefined) {\n const key = getFirstVisibleKey(containerRef.current, ITEM_SELECTOR);\n if (key) {\n setCurrentKey(key as K);\n }\n }\n }, [currentKey, containerRef]);\n\n const onFocusProps = { onFocus };\n const prevNavItems = useRef<K[]>();\n\n useEffect(() => {\n if (containerRef.current) {\n const navListItemKeys = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n if (currentKey != null && navListItemKeys.indexOf(currentKey) !== -1) {\n const navListItem = findElementByKey(\n containerRef.current,\n currentKey,\n ITEM_SELECTOR\n ) as any;\n if (navListItem.scrollIntoViewIfNeeded) {\n // for some browsers, we'll need the non-standard scrollIntoViewIfNeeded\n navListItem.scrollIntoViewIfNeeded();\n } else {\n navListItem.scrollIntoView({ block: 'nearest' });\n }\n } else {\n if (currentKey && navListItemKeys.indexOf(currentKey) === -1) {\n prevNavItems.current\n ? setCurrentKey(findNextCurrentKey(currentKey, navListItemKeys, prevNavItems.current))\n : setCurrentKey(navListItemKeys[0] as K);\n }\n prevNavItems.current = navListItemKeys;\n }\n }\n }, [children, currentKey, containerRef]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if ((event.key === 'Home' || event.key === 'End') && containerRef.current && currentKey) {\n const navListItemKey = Array.from(\n containerRef.current.querySelectorAll(ITEM_SELECTOR),\n (elem) => getKey(elem as HTMLElement) as K\n );\n onCurrentKeyChange?.({\n value: navListItemKey[event.key === 'Home' ? 0 : navListItemKey.length - 1] as K\n });\n }\n if (currentKey && event.key === 'Enter') {\n onSelectionChange?.({\n value: currentKey as K,\n reason: 'keyboard'\n });\n }\n if (currentKey && event.key === 'Delete') {\n onRemove?.({ value: currentKey as K });\n }\n },\n [currentKey, onSelectionChange, onRemove, onCurrentKeyChange, containerRef]\n );\n\n return {\n showFocusRing,\n currentKey,\n onCurrentKeyChange,\n onKeyDown,\n containerHandlers: mergeProps(focusRingProps, currentKeyProps, onFocusProps)\n };\n}\n\nconst extractOnlyItemKey = (element: HTMLElement, itemSelector: string, itemEliminator: string) => {\n const navigationListItem = element.closest(itemSelector);\n const removeButton = element.closest(itemEliminator);\n return navigationListItem?.contains(removeButton) ? null : keyExtractor(element, itemSelector);\n};\n\nconst findNextCurrentKey = <K>(currentKey: K, currNavs: K[], prevNavs: K[]) => {\n const index = prevNavs.indexOf(currentKey);\n if (index > 0) {\n const nextIndex = index === prevNavs.length - 1 ? index - 1 : index + 1;\n const nextKey = prevNavs[nextIndex];\n if (currNavs.indexOf(nextKey) !== -1) {\n return nextKey;\n }\n }\n // update current key to be the first one if we can't find a suitable next key\n return currNavs[0];\n};\n","import { Ref } from 'preact';\nimport { MutableRef, useRef } from 'preact/hooks';\nimport { mergeProps } from '../utils/UNSAFE_mergeProps';\nimport { classNames } from '../utils/UNSAFE_classNames';\nimport { useId } from '../hooks/UNSAFE_useId';\nimport { navigationListStyles } from './themes/NavigationListStyles.css';\nimport { useNavigationList } from './useNavigationList';\nimport { forwardRef, useImperativeHandle } from 'preact/compat';\nimport { useTestId, TestIdProps } from '../hooks/UNSAFE_useTestId';\nimport { NavigationListProps, NavigationListContext } from '../UNSAFE_NavigationListCommon';\nexport { RemovableNavigationListItem } from '../UNSAFE_NavigationListCommon';\n\nexport type FocusableHandle = {\n focus: () => void;\n blur: () => void;\n};\n\nexport const NavigationList = forwardRef(\n <K extends string | number>(\n {\n children,\n selection,\n onSelectionChange,\n onRemove,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelLedBy,\n testId\n }: NavigationListProps<K> & TestIdProps,\n ref?: Ref<FocusableHandle>\n ) => {\n const containerRef = useRef<HTMLUListElement>(null);\n\n const { showFocusRing, currentKey, onCurrentKeyChange, containerHandlers, onKeyDown } =\n useNavigationList({\n containerRef: containerRef as MutableRef<HTMLUListElement>,\n selection,\n onRemove,\n onSelectionChange,\n children\n });\n\n const eventProps = { onKeyDown };\n const navigationListClass = classNames([navigationListStyles.uListStyle]);\n const navigationListItemPrefix = useId() + '_';\n const testIdProps = useTestId(testId);\n\n //Allows to call focus on rootRef without having to expose it\n useImperativeHandle(ref!, () => ({\n focus: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n },\n blur: () => {\n if (containerRef.current) {\n containerRef.current.focus();\n }\n }\n }));\n\n return (\n <ul\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelLedBy}\n role=\"tablist\"\n ref={containerRef}\n aria-orientation={'vertical'}\n tabIndex={0}\n aria-activedescendant={currentKey ? navigationListItemPrefix + currentKey : ''}\n {...mergeProps(eventProps, containerHandlers)}\n {...testIdProps}\n class={navigationListClass}>\n <NavigationListContext.Provider\n value={{\n selection,\n onSelectionChange,\n onCurrentKeyChange,\n currentKey,\n showFocusRing,\n navigationListItemPrefix,\n onRemove\n }}>\n {children}\n </NavigationListContext.Provider>\n </ul>\n );\n }\n);\n","import {\n BaseNavigationListItem,\n BaseNavigationListItemProps\n} from '../UNSAFE_NavigationListCommon/BaseNavigationListItem';\n\nexport type NavigationListItemProps<K extends string | number> = Omit<\n BaseNavigationListItemProps<K>,\n 'removeIcon'\n>;\n\nexport function NavigationListItem<K extends string | number>({\n itemKey,\n label,\n badge,\n metadata,\n severity\n}: NavigationListItemProps<K>) {\n return (\n <BaseNavigationListItem\n itemKey={itemKey}\n label={label}\n badge={badge}\n metadata={metadata}\n severity={severity}\n />\n );\n}\n"],"names":["useState","useCallback","useCurrentKey","keyExtractor","getPrevNextKeyUsingRef","useCollectionFocusRing","getFirstVisibleKey","useRef","useEffect","getKey","findElementByKey","mergeProps","forwardRef","classNames","navigationListStyles","useId","useTestId","useImperativeHandle","_jsx","NavigationListContext","BaseNavigationListItem"],"mappings":"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"}
|
|
@@ -11,14 +11,14 @@ var FormFieldContext = require('./FormFieldContext-8418dc68.js');
|
|
|
11
11
|
var useTextField = require('./useTextField-3ce8f0d0.js');
|
|
12
12
|
var Label = require('./Label-d9ad059f.js');
|
|
13
13
|
var PrefixSuffix = require('./PrefixSuffix-dd79bd7c.js');
|
|
14
|
-
var usePrefixSuffix = require('./usePrefixSuffix-
|
|
14
|
+
var usePrefixSuffix = require('./usePrefixSuffix-544b49ad.js');
|
|
15
15
|
var clientHints = require('./clientHints-9e411b6e.js');
|
|
16
16
|
var TextFieldInput = require('./TextFieldInput-4904c227.js');
|
|
17
17
|
|
|
18
18
|
var ReadonlyTextFieldInput = require('./ReadonlyTextFieldInput-fb7ffa5e.js');
|
|
19
19
|
var StyledTextField = require('./StyledTextField-351ea57e.js');
|
|
20
20
|
var TextField = require('./TextField-0f4e945f.js');
|
|
21
|
-
require('./LayerHost-
|
|
21
|
+
require('./LayerHost-a6007465.js');
|
|
22
22
|
|
|
23
23
|
require('./logger-2b636482.js');
|
|
24
24
|
var TabbableModeContext = require('./TabbableModeContext-e99d527e.js');
|
|
@@ -27,10 +27,10 @@ var TabbableModeContext = require('./TabbableModeContext-e99d527e.js');
|
|
|
27
27
|
require('./UNSAFE_UserAssistance/themes/redwood/UserAssistanceVariants.css.js');
|
|
28
28
|
var InlineUserAssistance = require('./InlineUserAssistance-ad3fa8cc.js');
|
|
29
29
|
var CompactUserAssistance = require('./CompactUserAssistance-f88519f9.js');
|
|
30
|
-
require('./useTooltipControlled-
|
|
30
|
+
require('./useTooltipControlled-a907e06c.js');
|
|
31
31
|
require('preact');
|
|
32
32
|
|
|
33
|
-
require('./Popup-
|
|
33
|
+
require('./Popup-a793c4a2.js');
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
require('./UNSAFE_Label/themes/redwood/LabelVariants.css.js');
|
|
@@ -44,8 +44,8 @@ var ChevronUp = require('./ChevronUp-11e9a7d7.js');
|
|
|
44
44
|
var Minus = require('./Minus-3aadfd1a.js');
|
|
45
45
|
var Plus = require('./Plus-cecd0d87.js');
|
|
46
46
|
var IconButton = require('./IconButton-94f8ca5c.js');
|
|
47
|
-
var useTranslationBundle = require('./useTranslationBundle-
|
|
48
|
-
var Grid = require('./Grid-
|
|
47
|
+
var useTranslationBundle = require('./useTranslationBundle-7fcd8bd5.js');
|
|
48
|
+
var Grid = require('./Grid-fe4fef40.js');
|
|
49
49
|
var useSpinning = require('./useSpinning-929c5225.js');
|
|
50
50
|
|
|
51
51
|
/**
|
|
@@ -4,20 +4,19 @@
|
|
|
4
4
|
var jsxRuntime = require('preact/jsx-runtime');
|
|
5
5
|
var preact = require('preact');
|
|
6
6
|
var hooks = require('preact/hooks');
|
|
7
|
-
var useTranslationBundle = require('./useTranslationBundle-
|
|
7
|
+
var useTranslationBundle = require('./useTranslationBundle-7fcd8bd5.js');
|
|
8
8
|
var clientHints = require('./clientHints-9e411b6e.js');
|
|
9
9
|
var mergeInterpolations = require('./mergeInterpolations-6727b536.js');
|
|
10
10
|
var flexitem = require('./flexitem-fee13e26.js');
|
|
11
11
|
var classNames = require('./classNames-c14c6ef3.js');
|
|
12
|
-
var NavigationList = require('./NavigationList-5218562e.js');
|
|
13
|
-
var NavigationListItem = require('./NavigationListItem-b80c41dc.js');
|
|
14
12
|
var Icon = require('./Icon-3ffd13dc.js');
|
|
15
13
|
var useTabBarContext = require('./useTabBarContext-2a6a796c.js');
|
|
16
|
-
var Dropdown = require('./Dropdown-
|
|
17
|
-
var Sheet = require('./Sheet-
|
|
14
|
+
var Dropdown = require('./Dropdown-7baf2926.js');
|
|
15
|
+
var Sheet = require('./Sheet-c3a675fc.js');
|
|
18
16
|
var TabBarItem = require('./TabBarItem-2b3039aa.js');
|
|
19
17
|
var UNSAFE_TabBarCommon_themes_OverflowTabBarItemStyles_css = require('./UNSAFE_TabBarCommon/themes/OverflowTabBarItemStyles.css.js');
|
|
20
|
-
var
|
|
18
|
+
var NavigationListItem = require('./NavigationListItem-994a877b.js');
|
|
19
|
+
var RemovableNavigationListItem = require('./RemovableNavigationListItem-6231df42.js');
|
|
21
20
|
|
|
22
21
|
const SvgOverflowH = (props) => (jsxRuntime.jsx(Icon.Icon, { viewBox: "0 0 24 24", ...props, children: jsxRuntime.jsx("g", { fill: "none", children: jsxRuntime.jsx("path", { d: "M6 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm8 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm8 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0z", fill: "currentcolor" }) }) }));
|
|
23
22
|
|
|
@@ -68,7 +67,7 @@ function OverflowTabBarItem({ overflowItemKey, icon, badge, overflowItems, isOpe
|
|
|
68
67
|
}
|
|
69
68
|
}, [navigationListRef]);
|
|
70
69
|
const getNavigationList = hooks.useCallback(() => {
|
|
71
|
-
return (jsxRuntime.jsx("div", { onKeyDown: handleKeyDown, tabIndex: 0, ref: navContainerRef, class: navContainerClasses, children: jsxRuntime.jsx(
|
|
70
|
+
return (jsxRuntime.jsx("div", { onKeyDown: handleKeyDown, tabIndex: 0, ref: navContainerRef, class: navContainerClasses, children: jsxRuntime.jsx(NavigationListItem.NavigationList, { ref: navigationListRef, selection: selection, onSelectionChange: handleSelectionChange, onRemove: onRemove, children: overflowItems?.map((item) => item.isRemovable ? (jsxRuntime.jsx(RemovableNavigationListItem.RemovableNavigationListItem, { itemKey: item.itemKey, label: item.label, badge: item.badge, metadata: item.metadata, severity: item.severity })) : (jsxRuntime.jsx(NavigationListItem.NavigationListItem, { itemKey: item.itemKey, label: item.label, badge: item.badge, metadata: item.metadata, severity: item.severity }))) }) }));
|
|
72
71
|
}, [
|
|
73
72
|
handleKeyDown,
|
|
74
73
|
navContainerClasses,
|
|
@@ -86,4 +85,4 @@ const getIsMobile = () => {
|
|
|
86
85
|
};
|
|
87
86
|
|
|
88
87
|
exports.OverflowTabBarItem = OverflowTabBarItem;
|
|
89
|
-
//# sourceMappingURL=OverflowTabBarItem-
|
|
88
|
+
//# sourceMappingURL=OverflowTabBarItem-47fb81c4.js.map
|