@servicetitan/anvil2 3.15.0 → 3.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/{AiMark-D57s1e0T.js → AiMark-N8UfGfcV.js} +2 -2
- package/dist/{AiMark-D57s1e0T.js.map → AiMark-N8UfGfcV.js.map} +1 -1
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-DExHiAbM.js → Alert-DTKIlitZ.js} +3 -3
- package/dist/{Alert-DExHiAbM.js.map → Alert-DTKIlitZ.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-CGTv6M31.js → Announcement-Cnz80WGx.js} +2 -2
- package/dist/{Announcement-CGTv6M31.js.map → Announcement-Cnz80WGx.js.map} +1 -1
- package/dist/Announcement.js +1 -1
- package/dist/{Breadcrumbs-DtLSS0PJ.js → Breadcrumbs-B8UGx4Mq.js} +2 -2
- package/dist/{Breadcrumbs-DtLSS0PJ.js.map → Breadcrumbs-B8UGx4Mq.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-Dwh_Nd4l.js → Button-Dn6-01xl.js} +230 -67
- package/dist/Button-Dn6-01xl.js.map +1 -0
- package/dist/Button.js +1 -1
- package/dist/{ButtonToggle-DKDBD1g3.js → ButtonToggle-BSU8GBxr.js} +2 -2
- package/dist/{ButtonToggle-DKDBD1g3.js.map → ButtonToggle-BSU8GBxr.js.map} +1 -1
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-CEf7ke8X.js → Calendar-CpmaI3b6.js} +3 -3
- package/dist/Calendar-CpmaI3b6.js.map +1 -0
- package/dist/{Calendar-BUFPc5UN.js → Calendar-Cv07q_tE.js} +2 -2
- package/dist/Calendar-Cv07q_tE.js.map +1 -0
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-DVy-QESI.js → Checkbox-cB0D9W0a.js} +3 -3
- package/dist/{Checkbox-DVy-QESI.js.map → Checkbox-cB0D9W0a.js.map} +1 -1
- package/dist/{Checkbox-DBE35nMv.js → Checkbox-jomKCuAj.js} +2 -2
- package/dist/{Checkbox-DBE35nMv.js.map → Checkbox-jomKCuAj.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-B4G4zaP-.js → Chip-DivZ3OuB.js} +2 -2
- package/dist/{Chip-B4G4zaP-.js.map → Chip-DivZ3OuB.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-DbuXfDNJ.js → DataTable-_XXxSbvH.js} +16 -41
- package/dist/DataTable-_XXxSbvH.js.map +1 -0
- package/dist/{DateFieldRange-nyj8mtUP.js → DateFieldRange-31zIfcR2.js} +4 -4
- package/dist/{DateFieldRange-nyj8mtUP.js.map → DateFieldRange-31zIfcR2.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-BmCghXba.js → DateFieldSingle-DDFe1inZ.js} +4 -4
- package/dist/{DateFieldSingle-BmCghXba.js.map → DateFieldSingle-DDFe1inZ.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-Df7fA85i.js → DateFieldYearless-Cv34myLZ.js} +4 -4
- package/dist/{DateFieldYearless-Df7fA85i.js.map → DateFieldYearless-Cv34myLZ.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-DYpY4K1c.js → DateFieldYearlessRange-D_ftkt3w.js} +3 -3
- package/dist/{DateFieldYearlessRange-DYpY4K1c.js.map → DateFieldYearlessRange-D_ftkt3w.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-CyWGRqFG.js → DaysOfTheWeek-D4tUHUay.js} +3 -3
- package/dist/{DaysOfTheWeek-CyWGRqFG.js.map → DaysOfTheWeek-D4tUHUay.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-oM-nR4ju.js → Details-BxqP-5vp.js} +11 -9
- package/dist/Details-BxqP-5vp.js.map +1 -0
- package/dist/Details.css +18 -14
- package/dist/Details.js +1 -1
- package/dist/{Dialog-vSiZAR1y.js → Dialog-B2QAFibn.js} +4 -4
- package/dist/{Dialog-vSiZAR1y.js.map → Dialog-B2QAFibn.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{DialogCancelButton-DBL0aKTK.js → DialogCancelButton-C0r8hJ8Z.js} +2 -2
- package/dist/{DialogCancelButton-DBL0aKTK.js.map → DialogCancelButton-C0r8hJ8Z.js.map} +1 -1
- package/dist/{Drawer-B4pxj_2P.js → Drawer-CBIOWwh3.js} +5 -5
- package/dist/{Drawer-B4pxj_2P.js.map → Drawer-CBIOWwh3.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-CX1G7G2Q.js → EditCard-Q6WlsM4O.js} +3 -3
- package/dist/{EditCard-CX1G7G2Q.js.map → EditCard-Q6WlsM4O.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-CAusaqUY.js → FieldLabel-FsNIjn8T.js} +2 -2
- package/dist/{FieldLabel-CAusaqUY.js.map → FieldLabel-FsNIjn8T.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/{FilterBar-CKYf-1oU.js → FilterBar-PXv7_svO.js} +7 -7
- package/dist/FilterBar-PXv7_svO.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/{InputMask-xMpquXPU.js → InputMask-BgZX650-.js} +3 -3
- package/dist/{InputMask-xMpquXPU.js.map → InputMask-BgZX650-.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{InteractiveCard-C0g5PxB6.js → InteractiveCard-C2CYRtgQ.js} +3 -3
- package/dist/InteractiveCard-C2CYRtgQ.js.map +1 -0
- package/dist/InteractiveCard.js +1 -1
- package/dist/{ListView-D6l1KY92.js → ListView-aRwUEGI3.js} +2 -2
- package/dist/{ListView-D6l1KY92.js.map → ListView-aRwUEGI3.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-Dep1eJ3u.js → Listbox-BCszel4v.js} +2 -2
- package/dist/{Listbox-Dep1eJ3u.js.map → Listbox-BCszel4v.js.map} +1 -1
- package/dist/Listbox.js +1 -1
- package/dist/{Menu-eLxQwmZk.js → Menu-Da2OEN0o.js} +2 -2
- package/dist/{Menu-eLxQwmZk.js.map → Menu-Da2OEN0o.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{MenuFooter-fGSZYh8e.js → MenuFooter-D__gg92C.js} +2 -2
- package/dist/{MenuFooter-fGSZYh8e.js.map → MenuFooter-D__gg92C.js.map} +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-ZNoNOm6d.js → MultiSelectFieldSync-DY5wr7cT.js} +7 -7
- package/dist/{MultiSelectFieldSync-ZNoNOm6d.js.map → MultiSelectFieldSync-DY5wr7cT.js.map} +1 -1
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-DrgqaUJj.js → MultiSelectMenuSync-D3sfHivW.js} +5 -5
- package/dist/{MultiSelectMenuSync-DrgqaUJj.js.map → MultiSelectMenuSync-D3sfHivW.js.map} +1 -1
- package/dist/{NumberField-D5ZzEHg1.js → NumberField-CrvEEy_h.js} +4 -4
- package/dist/{NumberField-D5ZzEHg1.js.map → NumberField-CrvEEy_h.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/{Page-B2HZzNGP.js → Page-CS6x6C7Y.js} +18 -187
- package/dist/Page-CS6x6C7Y.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/{Pagination-CAgXtt9t.js → Pagination-DianLtHs.js} +5 -5
- package/dist/{Pagination-CAgXtt9t.js.map → Pagination-DianLtHs.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-CjL2ixjB.js → Popover-BsEwcuu4.js} +2 -2
- package/dist/{Popover-CjL2ixjB.js.map → Popover-BsEwcuu4.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-ClKcOcXq.js → ProgressBar-0pebwBJ0.js} +2 -2
- package/dist/{ProgressBar-ClKcOcXq.js.map → ProgressBar-0pebwBJ0.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-_ftIQSru.js → Radio-BxXN612_.js} +3 -3
- package/dist/{Radio-_ftIQSru.js.map → Radio-BxXN612_.js.map} +1 -1
- package/dist/{Radio-C2BJqWlV.js → Radio-CU2--1uW.js} +2 -2
- package/dist/{Radio-C2BJqWlV.js.map → Radio-CU2--1uW.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-TcZUnqcp.js → RichTextEditor-Dnc7vOjq.js} +18831 -20238
- package/dist/RichTextEditor-Dnc7vOjq.js.map +1 -0
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-B8lf3L2T.js → SavedFiltersButton-BWlE7UnI.js} +10 -24
- package/dist/SavedFiltersButton-BWlE7UnI.js.map +1 -0
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/{SegmentedControl-CtKoYHoO.js → SegmentedControl-BHVJmmTH.js} +3 -3
- package/dist/{SegmentedControl-CtKoYHoO.js.map → SegmentedControl-BHVJmmTH.js.map} +1 -1
- package/dist/SegmentedControl.js +1 -1
- package/dist/{SelectCard-BwIbfore.js → SelectCard-D2PAyR7T.js} +3 -3
- package/dist/{SelectCard-BwIbfore.js.map → SelectCard-D2PAyR7T.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-7VTZ83QJ.js → SelectFieldLabel-BXJJQ0zt.js} +2 -2
- package/dist/{SelectFieldLabel-7VTZ83QJ.js.map → SelectFieldLabel-BXJJQ0zt.js.map} +1 -1
- package/dist/{SelectFieldSync-CB75kkka.js → SelectFieldSync-CkWoMhrv.js} +6 -6
- package/dist/{SelectFieldSync-CB75kkka.js.map → SelectFieldSync-CkWoMhrv.js.map} +1 -1
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DIMfovCI.js → SelectMenuSync-C-6mULc_.js} +5 -5
- package/dist/{SelectMenuSync-DIMfovCI.js.map → SelectMenuSync-C-6mULc_.js.map} +1 -1
- package/dist/{SelectOptions-si_rVLEZ.js → SelectOptions-pAkVhulQ.js} +2 -2
- package/dist/{SelectOptions-si_rVLEZ.js.map → SelectOptions-pAkVhulQ.js.map} +1 -1
- package/dist/{SelectTrigger-C3-Cne3D.js → SelectTrigger-B9WUUdIu.js} +2 -2
- package/dist/{SelectTrigger-C3-Cne3D.js.map → SelectTrigger-B9WUUdIu.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-BnsTYWVb.js → SelectTriggerBase-Dq7QDlPS.js} +4 -4
- package/dist/{SelectTriggerBase-BnsTYWVb.js.map → SelectTriggerBase-Dq7QDlPS.js.map} +1 -1
- package/dist/{Stepper-C-QC9QHx.js → Stepper-l_P6VPOv.js} +3 -3
- package/dist/{Stepper-C-QC9QHx.js.map → Stepper-l_P6VPOv.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-DWq4QI8M.js → Switch-BS4bw5KF.js} +2 -2
- package/dist/{Switch-DWq4QI8M.js.map → Switch-BS4bw5KF.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/{Tab-mXEQ0ifM.js → Tab-DR5YYXkq.js} +124 -19
- package/dist/Tab-DR5YYXkq.js.map +1 -0
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-dONmlARH.js → Text-B_-Ldn9K.js} +2 -2
- package/dist/{Text-dONmlARH.js.map → Text-B_-Ldn9K.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-CtXjbtqa.js → TextField-B6tVKoxq.js} +2 -2
- package/dist/{TextField-CtXjbtqa.js.map → TextField-B6tVKoxq.js.map} +1 -1
- package/dist/{TextField-CQ7e3mC4.js → TextField-DxQ6-IhP.js} +3 -3
- package/dist/{TextField-CQ7e3mC4.js.map → TextField-DxQ6-IhP.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-DGVHQktZ.js → Textarea-oChzBuWz.js} +3 -3
- package/dist/{Textarea-DGVHQktZ.js.map → Textarea-oChzBuWz.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{TimeField-AttXPsQw.js → TimeField-Dq7l8xNU.js} +4 -4
- package/dist/{TimeField-AttXPsQw.js.map → TimeField-Dq7l8xNU.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-DYO8NLTo.js → Toaster-CsZkAOVn.js} +2 -2
- package/dist/{Toaster-DYO8NLTo.js.map → Toaster-CsZkAOVn.js.map} +1 -1
- package/dist/{Toaster-CNtAl-tF.js → Toaster-oK4dSBPK.js} +4 -4
- package/dist/{Toaster-CNtAl-tF.js.map → Toaster-oK4dSBPK.js.map} +1 -1
- package/dist/{Toolbar-BIbbaCxh.js → Toolbar-Bp-A2P4L.js} +5 -5
- package/dist/{Toolbar-BIbbaCxh.js.map → Toolbar-Bp-A2P4L.js.map} +1 -1
- package/dist/{Toolbar-B_lHD0c2.js → Toolbar-Do8KEjJJ.js} +11 -105
- package/dist/Toolbar-Do8KEjJJ.js.map +1 -0
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-BMBmBdw1.js → ToolbarButtonToggle-T8YnSJ5x.js} +2 -3
- package/dist/ToolbarButtonToggle-T8YnSJ5x.js.map +1 -0
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-CKnFwROC.js → TreeSelectFieldSync-BXfLbDBM.js} +7 -7
- package/dist/TreeSelectFieldSync-BXfLbDBM.js.map +1 -0
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-CK-x2_ne.js → TreeSelectMenuSync-D7fQIyHr.js} +4 -4
- package/dist/TreeSelectMenuSync-D7fQIyHr.js.map +1 -0
- package/dist/{TypeaheadTextField-DqnUGXj0.js → TypeaheadTextField-Dkh84OCF.js} +10 -19
- package/dist/TypeaheadTextField-Dkh84OCF.js.map +1 -0
- package/dist/TypeaheadTextField.js +1 -1
- package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js → YearlessDateInputWithPicker-7y8xhacx.js} +2 -2
- package/dist/{YearlessDateInputWithPicker-aI4UIyMD.js.map → YearlessDateInputWithPicker-7y8xhacx.js.map} +1 -1
- package/dist/assets/icons/material.ts +184 -184
- package/dist/assets/icons/st.ts +9 -9
- package/dist/beta.js +18 -18
- package/dist/{bulkActionTypes-sbwWLsDi.js → bulkActionTypes-BVJZ01mE.js} +2 -2
- package/dist/{bulkActionTypes-sbwWLsDi.js.map → bulkActionTypes-BVJZ01mE.js.map} +1 -1
- package/dist/{filter-state-DW8YmRHb.js → filter-state-CPCn-owS.js} +55 -37
- package/dist/filter-state-CPCn-owS.js.map +1 -0
- package/dist/{index-Cw2HFh0a.js → index-D1WfdON1.js} +1549 -1582
- package/dist/index-D1WfdON1.js.map +1 -0
- package/dist/index.js +48 -48
- package/dist/{proxy-DEehATlA.js → react-ORV84FjM.js} +6862 -5814
- package/dist/react-ORV84FjM.js.map +1 -0
- package/dist/src/beta/components/Calendar/Calendar.d.ts +8 -17
- package/dist/src/beta/components/Calendar/CalendarBetaPropsContext.d.ts +1 -0
- package/dist/src/beta/components/Calendar/useCalendarBetaProps.d.ts +1 -0
- package/dist/src/beta/components/FilterBar/FilterBar.d.ts +12 -53
- package/dist/src/beta/components/FilterBar/FilterDateList.d.ts +8 -0
- package/dist/src/beta/components/FilterBar/FilterDateRange.d.ts +15 -9
- package/dist/src/beta/components/FilterBar/FilterDateSingle.d.ts +15 -9
- package/dist/src/beta/components/FilterBar/FilterDrawer.d.ts +1 -14
- package/dist/src/beta/components/FilterBar/FilterItemWrapper.d.ts +0 -7
- package/dist/src/beta/components/FilterBar/FilterNumericRange.d.ts +4 -13
- package/dist/src/beta/components/FilterBar/FilterPopoverButton.d.ts +6 -8
- package/dist/src/beta/components/FilterBar/FilterSearchField.d.ts +3 -6
- package/dist/src/beta/components/FilterBar/FilterTextInput.d.ts +4 -13
- package/dist/src/beta/components/FilterBar/FilterToggleButton.d.ts +3 -14
- package/dist/src/beta/components/FilterBar/FilterTriggerButton.d.ts +3 -3
- package/dist/src/beta/components/FilterBar/internal/FilterGroupContext.d.ts +6 -20
- package/dist/src/beta/components/FilterBar/internal/adapters/index.d.ts +3 -8
- package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +7 -19
- package/dist/src/beta/components/FilterBar/internal/types.d.ts +48 -57
- package/dist/src/beta/components/FilterBar/internal/utils/dateConstraints.d.ts +3 -3
- package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +4 -7
- package/dist/src/beta/components/FilterBar/internal/utils/filter-state.d.ts +3 -24
- package/dist/src/beta/components/InteractiveCard/InteractiveCard.d.ts +2 -47
- package/dist/src/beta/components/InteractiveCard/types.d.ts +13 -71
- package/dist/src/beta/components/Page/Page.d.ts +8 -166
- package/dist/src/beta/components/Page/PageContent.d.ts +3 -17
- package/dist/src/beta/components/Page/PageContext.d.ts +9 -0
- package/dist/src/beta/components/Page/PageFooter.d.ts +2 -15
- package/dist/src/beta/components/Page/PageHeader.d.ts +38 -91
- package/dist/src/beta/components/Page/PagePanel.d.ts +17 -115
- package/dist/src/beta/components/Page/PagePanelContent.d.ts +5 -37
- package/dist/src/beta/components/Page/PagePanelFooter.d.ts +4 -27
- package/dist/src/beta/components/Page/PagePanelHeader.d.ts +3 -16
- package/dist/src/beta/components/Page/PageSidebar.d.ts +8 -41
- package/dist/src/beta/components/Page/PageSidebarHeader.d.ts +2 -20
- package/dist/src/beta/components/Page/internal/PagePanelContext.d.ts +1 -6
- package/dist/src/beta/components/Page/pageBreakpoint.d.ts +5 -18
- package/dist/src/beta/components/RichTextEditor/RichTextEditor.d.ts +2 -25
- package/dist/src/beta/components/RichTextEditor/internal/LinkPopover.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/MentionList.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/MentionPopover.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/RichTextEditorToolbar.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/YouTubeEmbedPrompt.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/YouTubePopover.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/ImageUploadExtension.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/LinkKeyboardShortcutExtension.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/MentionExtension.d.ts +5 -0
- package/dist/src/beta/components/RichTextEditor/internal/extensions/SafeImageExtension.d.ts +3 -10
- package/dist/src/beta/components/RichTextEditor/internal/extensions/YoutubeExtension.d.ts +4 -0
- package/dist/src/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +3 -17
- package/dist/src/beta/components/RichTextEditor/types.d.ts +46 -71
- package/dist/src/beta/components/SavedFiltersButton/SavedFiltersButton.d.ts +2 -33
- package/dist/src/beta/components/SavedFiltersButton/internal/AddSavedFilterDrawer.d.ts +2 -12
- package/dist/src/beta/components/SavedFiltersButton/internal/EditSavedFiltersDrawer.d.ts +2 -20
- package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +0 -23
- package/dist/src/beta/components/SavedFiltersButton/types.d.ts +36 -85
- package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +34 -84
- package/dist/src/beta/components/Table/DataTable/internal/DataTableBody.d.ts +15 -22
- package/dist/src/beta/components/Table/DataTable/internal/DataTableBodyRow.d.ts +47 -18
- package/dist/src/beta/components/Table/DataTable/internal/DataTableCellAffordance.d.ts +8 -0
- package/dist/src/beta/components/Table/DataTable/internal/DataTableFooter.d.ts +17 -23
- package/dist/src/beta/components/Table/DataTable/internal/DataTableHeader.d.ts +6 -9
- package/dist/src/beta/components/Table/DataTable/internal/DataTablePagination.d.ts +16 -0
- package/dist/src/beta/components/Table/DataTable/internal/cells/CellFocusContext.d.ts +2 -11
- package/dist/src/beta/components/Table/DataTable/internal/cells/CellStatus.d.ts +7 -5
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyCell.d.ts +4 -8
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyImmutableCell.d.ts +4 -17
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableBodyMutableCell.d.ts +4 -18
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableFooterCell.d.ts +3 -10
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +3 -15
- package/dist/src/beta/components/Table/DataTable/internal/cells/DataTableOverflowCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/cells/useCellFocusListener.d.ts +2 -6
- package/dist/src/beta/components/Table/DataTable/internal/constants.d.ts +13 -30
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusContext.d.ts +1 -6
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/DTFocusProvider.d.ts +3 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusDispatchContext.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/focus/useDTFocusStateContext.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickContext.d.ts +2 -5
- package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/DataTableRowClickProvider.d.ts +2 -5
- package/dist/src/beta/components/Table/DataTable/internal/context/rowClick/useDataTableRowClick.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorContext.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/surface/DataTableSurfaceCoordinatorProvider.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/context/surface/useDataTableSurfaceCoordinator.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/dataTableCellAffordanceHostClassName.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableBooleanCell.d.ts +6 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCellEditIcon.d.ts +1 -4
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableCustomCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +5 -25
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +3 -13
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableNumberCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +5 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableTextCell.d.ts +4 -0
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/types.d.ts +7 -20
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useCustomEditHelpers.d.ts +13 -26
- package/dist/src/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +2 -10
- package/dist/src/beta/components/Table/DataTable/internal/useAsyncData.d.ts +8 -0
- package/dist/src/beta/components/Table/DataTable/internal/useColumnOrder.d.ts +2 -2
- package/dist/src/beta/components/Table/DataTable/internal/useDataTableVirtualizer.d.ts +7 -18
- package/dist/src/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +6 -10
- package/dist/src/beta/components/Table/DataTable/internal/util/cellPositionHelpers.d.ts +0 -3
- package/dist/src/beta/components/Table/DataTable/internal/util/cellTypeHelpers.d.ts +7 -24
- package/dist/src/beta/components/Table/DataTable/internal/util/getCellInteractives.d.ts +4 -17
- package/dist/src/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +5 -29
- package/dist/src/beta/components/Table/DataTable/internal/util/shallowSortingEqual.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/parts.d.ts +3 -17
- package/dist/src/beta/components/Table/DataTable/types.d.ts +41 -64
- package/dist/src/beta/components/Table/base/TableBase.d.ts +8 -26
- package/dist/src/beta/components/Table/base/TableBody.d.ts +5 -14
- package/dist/src/beta/components/Table/base/TableContainer.d.ts +1 -11
- package/dist/src/beta/components/Table/base/TableFooter.d.ts +5 -14
- package/dist/src/beta/components/Table/base/TableHeader.d.ts +5 -14
- package/dist/src/beta/components/Table/base/cells/TableBodyCell.d.ts +4 -13
- package/dist/src/beta/components/Table/base/cells/TableEmptyCellContent.d.ts +1 -1
- package/dist/src/beta/components/Table/base/cells/TableFooterCell.d.ts +5 -13
- package/dist/src/beta/components/Table/base/cells/TableHeaderCell.d.ts +8 -25
- package/dist/src/beta/components/Table/base/cells/types.d.ts +2 -6
- package/dist/src/beta/components/Table/columnTypeDefaults.d.ts +7 -36
- package/dist/src/beta/components/Table/createColumnHelper.d.ts +38 -153
- package/dist/src/beta/components/Table/formatters/booleanFormatter.d.ts +4 -15
- package/dist/src/beta/components/Table/formatters/chipsFormatter.d.ts +7 -9
- package/dist/src/beta/components/Table/formatters/currencyFormatter.d.ts +3 -15
- package/dist/src/beta/components/Table/formatters/dateFormatter.d.ts +10 -23
- package/dist/src/beta/components/Table/formatters/dateTimeFormatter.d.ts +23 -46
- package/dist/src/beta/components/Table/formatters/htmlFormatter.d.ts +2 -11
- package/dist/src/beta/components/Table/formatters/htmlToMarkdown.d.ts +5 -10
- package/dist/src/beta/components/Table/formatters/markdownFormatter.d.ts +3 -8
- package/dist/src/beta/components/Table/formatters/numberFormatter.d.ts +8 -27
- package/dist/src/beta/components/Table/formatters/percentFormatter.d.ts +4 -15
- package/dist/src/beta/components/Table/formatters/presets.d.ts +4 -12
- package/dist/src/beta/components/Table/formatters/timeFormatter.d.ts +7 -17
- package/dist/src/beta/components/Table/formatters/yearlessDateFormatter.d.ts +9 -21
- package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +5 -9
- package/dist/src/beta/components/Table/internal/TruncateChips.d.ts +2 -11
- package/dist/src/beta/components/Table/internal/getCommonPinningClasses.d.ts +2 -1
- package/dist/src/beta/components/Table/internal/getCommonPinningStyles.d.ts +6 -2
- package/dist/src/beta/components/Table/internal/scrollCellIntoView.d.ts +3 -7
- package/dist/src/beta/components/Table/internal/types.d.ts +2 -7
- package/dist/src/beta/components/Table/types.d.ts +183 -462
- package/dist/src/beta/components/Toolbar/Toolbar.d.ts +35 -267
- package/dist/src/beta/components/Toolbar/ToolbarButton.d.ts +5 -26
- package/dist/src/beta/components/Toolbar/ToolbarButtonLink.d.ts +5 -28
- package/dist/src/beta/components/Toolbar/ToolbarButtonToggle.d.ts +5 -27
- package/dist/src/beta/components/Toolbar/ToolbarControlGroup.d.ts +6 -8
- package/dist/src/beta/components/Toolbar/ToolbarSearchField.d.ts +3 -14
- package/dist/src/beta/components/Toolbar/ToolbarSelect.d.ts +13 -65
- package/dist/src/beta/components/Toolbar/internal/ToolbarContext.d.ts +0 -32
- package/dist/src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +0 -13
- package/dist/src/beta/components/Toolbar/internal/ToolbarItemWrapper.d.ts +2 -28
- package/dist/src/beta/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +4 -21
- package/dist/src/beta/components/Toolbar/internal/utils/accessibility.d.ts +7 -15
- package/dist/src/beta/components/Toolbar/types.d.ts +7 -26
- package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +2 -23
- package/dist/src/beta/components/TreeSelectField/TreeSelectFieldSync.d.ts +10 -46
- package/dist/src/beta/components/TreeSelectField/internal/TreeContent.d.ts +5 -21
- package/dist/src/beta/components/TreeSelectField/internal/TreePanel.d.ts +1 -38
- package/dist/src/beta/components/TreeSelectField/internal/TreeRow.d.ts +6 -38
- package/dist/src/beta/components/TreeSelectField/internal/TreeSelectFieldInput.d.ts +2 -50
- package/dist/src/beta/components/TreeSelectField/internal/VirtualizedTreePanel.d.ts +2 -39
- package/dist/src/beta/components/TreeSelectField/internal/treeSync.d.ts +6 -21
- package/dist/src/beta/components/TreeSelectField/internal/treeUtils.d.ts +3 -19
- package/dist/src/beta/components/TreeSelectField/internal/useTree.d.ts +9 -50
- package/dist/src/beta/components/TreeSelectField/internal/useTreeCascade.d.ts +8 -79
- package/dist/src/beta/components/TreeSelectField/internal/useTreeKeyboard.d.ts +3 -29
- package/dist/src/beta/components/TreeSelectField/internal/useTreeLazyCascade.d.ts +8 -36
- package/dist/src/beta/components/TreeSelectField/internal/useTreeLoader.d.ts +10 -34
- package/dist/src/beta/components/TreeSelectField/parts.d.ts +3 -9
- package/dist/src/beta/components/TreeSelectField/types.d.ts +82 -68
- package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +4 -18
- package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenuSync.d.ts +9 -47
- package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +4 -4
- package/dist/src/beta/components/TreeSelectMenu/types.d.ts +44 -54
- package/dist/src/beta/components/TypeaheadTextField/TypeaheadTextField.d.ts +15 -43
- package/dist/src/beta/components/TypeaheadTextField/internal/SuggestionItem.d.ts +1 -18
- package/dist/src/beta/hooks/useAdaptiveView/useAdaptiveView.d.ts +6 -41
- package/dist/src/integration-testing/stepper-panel-flicker.spec.d.ts +1 -0
- package/dist/{stripInlineMarkdown-DmU2adBb.js → stripInlineMarkdown-CcwDEdw0.js} +2 -2
- package/dist/{stripInlineMarkdown-DmU2adBb.js.map → stripInlineMarkdown-CcwDEdw0.js.map} +1 -1
- package/dist/{syncFilterUtils-CP4dhWVs.js → syncFilterUtils-ubEYuRGQ.js} +4 -4
- package/dist/{syncFilterUtils-CP4dhWVs.js.map → syncFilterUtils-ubEYuRGQ.js.map} +1 -1
- package/dist/{treeSync-CDrgjuw8.js → treeSync-CkjyJSVq.js} +5 -11
- package/dist/treeSync-CkjyJSVq.js.map +1 -0
- package/dist/{use-reduced-motion-CqjZZ5QB.js → use-reduced-motion-yYB9Tb0D.js} +2 -2
- package/dist/use-reduced-motion-yYB9Tb0D.js.map +1 -0
- package/dist/{useDrilldown-DV4qyVOI.js → useDrilldown-DOXav1An.js} +3 -3
- package/dist/{useDrilldown-DV4qyVOI.js.map → useDrilldown-DOXav1An.js.map} +1 -1
- package/dist/{useInfiniteCombobox-DvyQpdwv.js → useInfiniteCombobox-15_SoeWw.js} +4 -4
- package/dist/{useInfiniteCombobox-DvyQpdwv.js.map → useInfiniteCombobox-15_SoeWw.js.map} +1 -1
- package/dist/{useInvalidateOnOptionsChange-D3KWg4qK.js → useInvalidateOnOptionsChange-DiRbyJFp.js} +4 -4
- package/dist/useInvalidateOnOptionsChange-DiRbyJFp.js.map +1 -0
- package/package.json +22 -20
- package/dist/Button-Dwh_Nd4l.js.map +0 -1
- package/dist/Calendar-BUFPc5UN.js.map +0 -1
- package/dist/Calendar-CEf7ke8X.js.map +0 -1
- package/dist/DataTable-DbuXfDNJ.js.map +0 -1
- package/dist/Details-oM-nR4ju.js.map +0 -1
- package/dist/FilterBar-CKYf-1oU.js.map +0 -1
- package/dist/InteractiveCard-C0g5PxB6.js.map +0 -1
- package/dist/Page-B2HZzNGP.js.map +0 -1
- package/dist/RichTextEditor-TcZUnqcp.js.map +0 -1
- package/dist/SavedFiltersButton-B8lf3L2T.js.map +0 -1
- package/dist/Tab-mXEQ0ifM.js.map +0 -1
- package/dist/Toolbar-B_lHD0c2.js.map +0 -1
- package/dist/ToolbarButtonToggle-BMBmBdw1.js.map +0 -1
- package/dist/TreeSelectFieldSync-CKnFwROC.js.map +0 -1
- package/dist/TreeSelectMenuSync-CK-x2_ne.js.map +0 -1
- package/dist/TypeaheadTextField-DqnUGXj0.js.map +0 -1
- package/dist/filter-state-DW8YmRHb.js.map +0 -1
- package/dist/index-Cw2HFh0a.js.map +0 -1
- package/dist/proxy-DEehATlA.js.map +0 -1
- package/dist/treeSync-CDrgjuw8.js.map +0 -1
- package/dist/use-reduced-motion-CqjZZ5QB.js.map +0 -1
- package/dist/useInvalidateOnOptionsChange-D3KWg4qK.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFieldYearless-Df7fA85i.js","sources":["../src/components/DateFieldYearless/DateFieldYearless.tsx"],"sourcesContent":["import {\n childrenToString,\n stripInlineMarkdown,\n warnOnce,\n} from \"../../internal/functions\";\nimport { useTrackingId } from \"../../hooks\";\nimport type {\n DataAttributes,\n DataTrackingId,\n LayoutUtilProps,\n Size,\n} from \"../../types\";\nimport { ANV_PART_ATTR } from \"../../internal/constants/anvParts\";\nimport type { YearlessDate, YearlessDateMode } from \"./types\";\nimport {\n YearlessDateInputWithPicker,\n type YearlessDateInputWithPickerRef,\n} from \"./internal/YearlessDateInputWithPicker\";\nimport { PARTS } from \"./parts\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport {\n useId,\n useRef,\n isValidElement,\n type ReactElement,\n type ReactNode,\n type ComponentPropsWithoutRef,\n} from \"react\";\nimport { FieldLabel, type FieldLabelProps } from \"../FieldLabel\";\nimport { Helper, type HelperProps } from \"../../internal/components\";\nimport { warnDeprecatedErrorUsage } from \"../FieldMessage\";\nimport styles from \"../TextField/TextField.module.scss\";\nimport cx from \"classnames\";\n\nexport type DateFieldYearlessProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n | \"onChange\"\n | \"value\"\n | \"defaultValue\"\n | \"ref\"\n | \"size\"\n | \"type\"\n | \"onFocus\"\n | \"onBlur\"\n> &\n LayoutUtilProps & {\n /** Controlled month/day. Pass `null` to clear the field. */\n value?: YearlessDate | null;\n /** Initial month/day for uncontrolled use. */\n defaultValue?: YearlessDate | null;\n /** Reports the date plus separate input-format and constraint validity. */\n onChange?: DateFieldYearlessChangeHandler;\n /** Order of the month and day segments. Defaults to `mm/dd`. */\n mode?: YearlessDateMode;\n /** Makes an empty date fail constraint validation. */\n required?: boolean;\n /** Earliest valid month/day. */\n minDate?: YearlessDate | null;\n /** Latest valid month/day. */\n maxDate?: YearlessDate | null;\n /** Dates that fail constraint validation. */\n unavailable?: {\n /** 1-based month/day objects, not ISO strings. */\n dates?: YearlessDate[];\n };\n /** Renders only the masked input without its month/day picker. */\n disablePicker?: boolean;\n /**\n * Applies error styling. A message value also renders below the field;\n * React elements are deprecated.\n */\n error?: boolean | string | ReactElement | string[];\n // TODO(v4.0.0): make label required and type string\n /**\n * Accessible field label. Omitting it or passing non-string content is\n * deprecated; use a string with inline markdown and `hideLabel` when needed.\n */\n label?: FieldLabelProps[\"children\"];\n /** Props for the visible {@link FieldLabel}. */\n labelProps?: FieldLabelProps;\n /** Secondary copy rendered below the field. */\n description?: HelperProps[\"description\"];\n /**\n * @deprecated No longer used. Error messages always use `aria-live=\"assertive\"`.\n */\n errorAriaLive?: HelperProps[\"errorAriaLive\"];\n /** Warning copy rendered below the field. */\n warning?: string | string[];\n /** Field height. Defaults to `medium`. */\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n disabled?: boolean;\n /** Shows a spinner after the input. Defaults to `false`. */\n loading?: boolean;\n /** Tooltip content for the info button after the label. */\n moreInfo?: ReactNode;\n /** Hides the expected-format hint below the input. */\n disableHint?: boolean;\n /**\n * When `true`, hides the visible label and moves it to `aria-label` on the input.\n * Requires `label` to be set — the label is always needed for accessibility.\n * Defaults to `false`.\n */\n hideLabel?: boolean;\n onFocus?: (event: React.FocusEvent) => void;\n onBlur?: (event: React.FocusEvent) => void;\n } & DataTrackingId &\n DataAttributes;\n\nexport type DateFieldYearlessChange = {\n /** Parsed month/day, with `null` segments while incomplete or empty. */\n value: YearlessDate | null;\n /** Whether both segments are complete; independent of date constraints. */\n isInputValid: boolean;\n /** Whether no date digits remain after removing the mask placeholder. */\n isInputEmpty: boolean;\n /**\n * Whether the reported date satisfies required, availability, and min/max\n * constraints; independent of input completeness.\n */\n isValid: boolean;\n};\n\n/** Receives the current date and both layers of validity. */\nexport type DateFieldYearlessChangeHandler = (\n change: DateFieldYearlessChange,\n) => void;\n\n/**\n * Masked month/day field with an optional picker. Reports input completeness\n * separately from date-constraint validity.\n */\nexport const DateFieldYearless = (props: DateFieldYearlessProps) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n value,\n defaultValue,\n minDate,\n maxDate,\n unavailable,\n required,\n disablePicker = false,\n mode = \"mm/dd\",\n error,\n errorAriaLive: _errorAriaLive,\n label,\n moreInfo,\n size,\n disabled,\n loading,\n labelProps,\n warning,\n description,\n id: idProp,\n style,\n disableHint = false,\n hideLabel = false,\n onFocus,\n onBlur,\n className,\n onChange,\n ...restProps\n } = componentProps;\n\n const inputRef = useRef<YearlessDateInputWithPickerRef>(null);\n\n const { aiMark, ...labelPropsWithoutAiMark } = labelProps || {};\n\n const data = {\n label: childrenToString(props.label),\n labelProps: labelPropsWithoutAiMark,\n description: childrenToString(props.description),\n };\n\n const trackingId = useTrackingId({\n name: \"DateFieldYearless\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const labelUid = useId();\n const id = idProp ?? labelUid;\n const helperUid = useId();\n const moreInfoUid = useId();\n\n warnDeprecatedErrorUsage(\"DateFieldYearless\", error);\n\n // TODO(v4.0.0): remove these warnings once label is required string\n if (label === undefined) {\n warnOnce(\n \"DateFieldYearless: label will be required in v4.0.0. Use hideLabel to visually hide the label.\",\n );\n } else if (typeof label !== \"string\") {\n warnOnce(\n \"DateFieldYearless: Passing ReactNode to label is deprecated. Use a plain string with inline markdown instead.\",\n );\n }\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const styleCombined = { ...style, ...layoutStyles };\n\n const ariaDescribedBy = [helperUid, moreInfo && moreInfoUid]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div\n className={cx(styles[\"textfield\"], className)}\n data-anv=\"datefield-yearless\"\n style={styleCombined}\n >\n {/* TODO(v4.0.0): simplify to !hideLabel once label is required */}\n {label && !hideLabel && (\n <FieldLabel\n moreInfo={moreInfo}\n moreInfoId={moreInfo ? moreInfoUid : undefined}\n required={required}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </FieldLabel>\n )}\n <YearlessDateInputWithPicker\n {...restProps}\n {...{ [ANV_PART_ATTR]: PARTS.input }}\n ref={inputRef}\n mode={mode}\n required={required}\n minDate={minDate}\n maxDate={maxDate}\n unavailable={unavailable}\n disablePicker={disablePicker}\n size={size}\n error={!!error}\n disabled={disabled}\n loading={loading}\n id={id}\n data-tracking-id={trackingId}\n aria-describedby={ariaDescribedBy}\n aria-invalid={error ? !!error : undefined}\n aria-label={\n // TODO(v4.0.0): remove typeof check — label will always be string\n hideLabel && typeof label === \"string\"\n ? stripInlineMarkdown(label)\n : label\n ? undefined\n : \"Select a date\"\n }\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n {errorMessages || warning || description || (!disableHint && mode) ? (\n <Helper\n id={helperUid}\n hint={disableHint ? undefined : `Format: ${mode}`}\n showCounter={false}\n error={\n typeof errorMessages === \"string\" || Array.isArray(errorMessages)\n ? errorMessages\n : undefined\n }\n warning={warning}\n errorMessage={\n isValidElement(errorMessages) ? errorMessages : undefined\n }\n description={description}\n />\n ) : null}\n </div>\n );\n};\n\nDateFieldYearless.displayName = \"DateFieldYearless\";\n"],"names":["styles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateFieldYearless-Cv34myLZ.js","sources":["../src/components/DateFieldYearless/DateFieldYearless.tsx"],"sourcesContent":["import {\n childrenToString,\n stripInlineMarkdown,\n warnOnce,\n} from \"../../internal/functions\";\nimport { useTrackingId } from \"../../hooks\";\nimport type {\n DataAttributes,\n DataTrackingId,\n LayoutUtilProps,\n Size,\n} from \"../../types\";\nimport { ANV_PART_ATTR } from \"../../internal/constants/anvParts\";\nimport type { YearlessDate, YearlessDateMode } from \"./types\";\nimport {\n YearlessDateInputWithPicker,\n type YearlessDateInputWithPickerRef,\n} from \"./internal/YearlessDateInputWithPicker\";\nimport { PARTS } from \"./parts\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport {\n useId,\n useRef,\n isValidElement,\n type ReactElement,\n type ReactNode,\n type ComponentPropsWithoutRef,\n} from \"react\";\nimport { FieldLabel, type FieldLabelProps } from \"../FieldLabel\";\nimport { Helper, type HelperProps } from \"../../internal/components\";\nimport { warnDeprecatedErrorUsage } from \"../FieldMessage\";\nimport styles from \"../TextField/TextField.module.scss\";\nimport cx from \"classnames\";\n\nexport type DateFieldYearlessProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n | \"onChange\"\n | \"value\"\n | \"defaultValue\"\n | \"ref\"\n | \"size\"\n | \"type\"\n | \"onFocus\"\n | \"onBlur\"\n> &\n LayoutUtilProps & {\n /** Controlled month/day. Pass `null` to clear the field. */\n value?: YearlessDate | null;\n /** Initial month/day for uncontrolled use. */\n defaultValue?: YearlessDate | null;\n /** Reports the date plus separate input-format and constraint validity. */\n onChange?: DateFieldYearlessChangeHandler;\n /** Order of the month and day segments. Defaults to `mm/dd`. */\n mode?: YearlessDateMode;\n /** Makes an empty date fail constraint validation. */\n required?: boolean;\n /** Earliest valid month/day. */\n minDate?: YearlessDate | null;\n /** Latest valid month/day. */\n maxDate?: YearlessDate | null;\n /** Dates that fail constraint validation. */\n unavailable?: {\n /** 1-based month/day objects, not ISO strings. */\n dates?: YearlessDate[];\n };\n /** Renders only the masked input without its month/day picker. */\n disablePicker?: boolean;\n /**\n * Applies error styling. A message value also renders below the field;\n * React elements are deprecated.\n */\n error?: boolean | string | ReactElement | string[];\n // TODO(v4.0.0): make label required and type string\n /**\n * Accessible field label. Omitting it or passing non-string content is\n * deprecated; use a string with inline markdown and `hideLabel` when needed.\n */\n label?: FieldLabelProps[\"children\"];\n /** Props for the visible {@link FieldLabel}. */\n labelProps?: FieldLabelProps;\n /** Secondary copy rendered below the field. */\n description?: HelperProps[\"description\"];\n /**\n * @deprecated No longer used. Error messages always use `aria-live=\"assertive\"`.\n */\n errorAriaLive?: HelperProps[\"errorAriaLive\"];\n /** Warning copy rendered below the field. */\n warning?: string | string[];\n /** Field height. Defaults to `medium`. */\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n disabled?: boolean;\n /** Shows a spinner after the input. Defaults to `false`. */\n loading?: boolean;\n /** Tooltip content for the info button after the label. */\n moreInfo?: ReactNode;\n /** Hides the expected-format hint below the input. */\n disableHint?: boolean;\n /**\n * When `true`, hides the visible label and moves it to `aria-label` on the input.\n * Requires `label` to be set — the label is always needed for accessibility.\n * Defaults to `false`.\n */\n hideLabel?: boolean;\n onFocus?: (event: React.FocusEvent) => void;\n onBlur?: (event: React.FocusEvent) => void;\n } & DataTrackingId &\n DataAttributes;\n\nexport type DateFieldYearlessChange = {\n /** Parsed month/day, with `null` segments while incomplete or empty. */\n value: YearlessDate | null;\n /** Whether both segments are complete; independent of date constraints. */\n isInputValid: boolean;\n /** Whether no date digits remain after removing the mask placeholder. */\n isInputEmpty: boolean;\n /**\n * Whether the reported date satisfies required, availability, and min/max\n * constraints; independent of input completeness.\n */\n isValid: boolean;\n};\n\n/** Receives the current date and both layers of validity. */\nexport type DateFieldYearlessChangeHandler = (\n change: DateFieldYearlessChange,\n) => void;\n\n/**\n * Masked month/day field with an optional picker. Reports input completeness\n * separately from date-constraint validity.\n */\nexport const DateFieldYearless = (props: DateFieldYearlessProps) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n value,\n defaultValue,\n minDate,\n maxDate,\n unavailable,\n required,\n disablePicker = false,\n mode = \"mm/dd\",\n error,\n errorAriaLive: _errorAriaLive,\n label,\n moreInfo,\n size,\n disabled,\n loading,\n labelProps,\n warning,\n description,\n id: idProp,\n style,\n disableHint = false,\n hideLabel = false,\n onFocus,\n onBlur,\n className,\n onChange,\n ...restProps\n } = componentProps;\n\n const inputRef = useRef<YearlessDateInputWithPickerRef>(null);\n\n const { aiMark, ...labelPropsWithoutAiMark } = labelProps || {};\n\n const data = {\n label: childrenToString(props.label),\n labelProps: labelPropsWithoutAiMark,\n description: childrenToString(props.description),\n };\n\n const trackingId = useTrackingId({\n name: \"DateFieldYearless\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const labelUid = useId();\n const id = idProp ?? labelUid;\n const helperUid = useId();\n const moreInfoUid = useId();\n\n warnDeprecatedErrorUsage(\"DateFieldYearless\", error);\n\n // TODO(v4.0.0): remove these warnings once label is required string\n if (label === undefined) {\n warnOnce(\n \"DateFieldYearless: label will be required in v4.0.0. Use hideLabel to visually hide the label.\",\n );\n } else if (typeof label !== \"string\") {\n warnOnce(\n \"DateFieldYearless: Passing ReactNode to label is deprecated. Use a plain string with inline markdown instead.\",\n );\n }\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const styleCombined = { ...style, ...layoutStyles };\n\n const ariaDescribedBy = [helperUid, moreInfo && moreInfoUid]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <div\n className={cx(styles[\"textfield\"], className)}\n data-anv=\"datefield-yearless\"\n style={styleCombined}\n >\n {/* TODO(v4.0.0): simplify to !hideLabel once label is required */}\n {label && !hideLabel && (\n <FieldLabel\n moreInfo={moreInfo}\n moreInfoId={moreInfo ? moreInfoUid : undefined}\n required={required}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </FieldLabel>\n )}\n <YearlessDateInputWithPicker\n {...restProps}\n {...{ [ANV_PART_ATTR]: PARTS.input }}\n ref={inputRef}\n mode={mode}\n required={required}\n minDate={minDate}\n maxDate={maxDate}\n unavailable={unavailable}\n disablePicker={disablePicker}\n size={size}\n error={!!error}\n disabled={disabled}\n loading={loading}\n id={id}\n data-tracking-id={trackingId}\n aria-describedby={ariaDescribedBy}\n aria-invalid={error ? !!error : undefined}\n aria-label={\n // TODO(v4.0.0): remove typeof check — label will always be string\n hideLabel && typeof label === \"string\"\n ? stripInlineMarkdown(label)\n : label\n ? undefined\n : \"Select a date\"\n }\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n {errorMessages || warning || description || (!disableHint && mode) ? (\n <Helper\n id={helperUid}\n hint={disableHint ? undefined : `Format: ${mode}`}\n showCounter={false}\n error={\n typeof errorMessages === \"string\" || Array.isArray(errorMessages)\n ? errorMessages\n : undefined\n }\n warning={warning}\n errorMessage={\n isValidElement(errorMessages) ? errorMessages : undefined\n }\n description={description}\n />\n ) : null}\n </div>\n );\n};\n\nDateFieldYearless.displayName = \"DateFieldYearless\";\n"],"names":["styles"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as DateFieldYearless } from './DateFieldYearless-
|
|
1
|
+
export { D as DateFieldYearless } from './DateFieldYearless-Cv34myLZ.js';
|
|
2
2
|
//# sourceMappingURL=DateFieldYearless.js.map
|
|
@@ -5,9 +5,9 @@ import { c as cx } from './index-De1g9FRV.js';
|
|
|
5
5
|
import { t as textFieldStyles } from './TextField.module-DklyLNKz.js';
|
|
6
6
|
import { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
|
|
7
7
|
import { A as ANV_PART_ATTR } from './anvParts-DFVq7-Cm.js';
|
|
8
|
-
import { F as FieldLabel } from './FieldLabel-
|
|
8
|
+
import { F as FieldLabel } from './FieldLabel-FsNIjn8T.js';
|
|
9
9
|
import { I as Icon } from './Icon-B5zwN7GD.js';
|
|
10
|
-
import { Y as YearlessDateInputWithPicker } from './YearlessDateInputWithPicker-
|
|
10
|
+
import { Y as YearlessDateInputWithPicker } from './YearlessDateInputWithPicker-7y8xhacx.js';
|
|
11
11
|
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
|
|
12
12
|
import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';
|
|
13
13
|
import { H as Helper } from './Helper-BHpOgh7k.js';
|
|
@@ -181,4 +181,4 @@ const DateFieldYearlessRange = (props) => {
|
|
|
181
181
|
};
|
|
182
182
|
|
|
183
183
|
export { DateFieldYearlessRange as D };
|
|
184
|
-
//# sourceMappingURL=DateFieldYearlessRange-
|
|
184
|
+
//# sourceMappingURL=DateFieldYearlessRange-D_ftkt3w.js.map
|
package/dist/{DateFieldYearlessRange-DYpY4K1c.js.map → DateFieldYearlessRange-D_ftkt3w.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFieldYearlessRange-DYpY4K1c.js","sources":["../../hammer-icon/mdi/filled/arrow_forward.svg","../src/components/DateFieldYearlessRange/parts.ts","../src/components/DateFieldYearlessRange/DateFieldYearlessRange.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgArrowForward = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\" }));\nexport default SvgArrowForward;\n","/**\n * `data-anv-part` names for DateFieldYearlessRange interactive sub-elements.\n *\n * Picker popover and list parts come from the shared yearless picker and\n * render in the top layer outside the fieldset.\n */\nexport const PARTS = {\n startInput: \"start-input\",\n endInput: \"end-input\",\n} as const;\n","import { type ReactElement, isValidElement, useId } from \"react\";\nimport cx from \"classnames\";\nimport textFieldStyles from \"../TextField/TextField.module.scss\";\nimport dateFieldYearlessRangeStyles from \"./DateFieldYearlessRange.module.scss\";\nimport { Helper, type HelperProps } from \"../../internal/components\";\nimport { warnDeprecatedErrorUsage } from \"../FieldMessage\";\nimport type { DataAttributes, LayoutUtilProps, Size } from \"../../types\";\nimport { ANV_PART_ATTR } from \"../../internal/constants/anvParts\";\nimport {\n useLayoutPropsUtil,\n useOptionallyControlledState,\n} from \"../../internal/hooks\";\nimport FieldLabel, { type FieldLabelProps } from \"../FieldLabel\";\nimport type {\n YearlessDate,\n YearlessDateMode,\n} from \"../DateFieldYearless/types\";\nimport Icon from \"../Icon\";\nimport ArrowForward from \"@servicetitan/hammer-icon/mdi/filled/arrow_forward.svg\";\nimport { YearlessDateInputWithPicker } from \"../DateFieldYearless/internal/YearlessDateInputWithPicker\";\nimport { PARTS } from \"./parts\";\n\n/** Start and end month/day values without a year. */\nexport type DateFieldYearlessRangeValue = {\n /** Start month/day. Pass `null` to clear the start input. */\n startDate: YearlessDate | null;\n /** End month/day. Pass `null` to clear the end input. */\n endDate: YearlessDate | null;\n};\n\n/** Month/day range reported after either input changes. */\nexport type DateFieldYearlessRangeChange = {\n /** Current start month/day; typed incomplete or empty segments are `null`. */\n startDate: YearlessDate | null;\n /** Current end month/day; typed incomplete or empty segments are `null`. */\n endDate: YearlessDate | null;\n};\n\n/** Receives the current month/day range. */\nexport type DateFieldYearlessRangeChangeHandler = (\n change: DateFieldYearlessRangeChange,\n) => void;\n\nexport type DateFieldYearlessRangeProps = {\n /** Controlled month/day range. */\n value?: DateFieldYearlessRangeValue;\n /** Initial month/day range for uncontrolled use. */\n defaultValue?: DateFieldYearlessRangeValue;\n /** Reports the range after either input changes. */\n onChange?: DateFieldYearlessRangeChangeHandler;\n /** Order of the month and day segments. Defaults to `mm/dd`. */\n mode?: YearlessDateMode;\n /** Makes each empty input fail constraint validation. */\n required?: boolean;\n /** Renders both masked inputs without their month/day pickers. */\n disablePicker?: boolean;\n /** Hides the expected-format hint below the range. */\n disableHint?: boolean;\n /**\n * Applies error styling to both inputs. A message value also renders below\n * the range; React elements are deprecated.\n */\n error?: boolean | string | ReactElement | string[];\n /** Accessible legend for the fieldset. */\n label: string;\n /**\n * Hides the visible legend while preserving it for assistive technology.\n * Defaults to `false`.\n */\n hideLabel?: boolean;\n /** Height of both inputs. Defaults to `medium`. */\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n /** Secondary copy rendered below the range. */\n description?: HelperProps[\"description\"];\n /**\n * @deprecated No longer used. Error messages always use `aria-live=\"assertive\"`.\n */\n errorAriaLive?: HelperProps[\"errorAriaLive\"];\n /** Warning copy rendered below the range. */\n warning?: string | string[];\n /** Disables both inputs and their picker buttons. */\n disabled?: boolean;\n /** Called when either input receives focus. */\n onFocus?: (event: React.FocusEvent) => void;\n /** Called when either input loses focus. */\n onBlur?: (event: React.FocusEvent) => void;\n /** Base ID; the inputs append `-start` and `-end`. */\n id?: string;\n /** Accessible name for the start input. Defaults to `Start date`. */\n startLabel?: string;\n /** Accessible name for the end input. Defaults to `End date`. */\n endLabel?: string;\n /** Props for the visible {@link FieldLabel}, except its root element. */\n legendProps?: Omit<FieldLabelProps, \"el\">;\n /** Tooltip content for the info button after the legend. */\n moreInfo?: FieldLabelProps[\"moreInfo\"];\n} & LayoutUtilProps &\n DataAttributes;\n\n/**\n * Paired masked month/day fields with optional pickers for ranges that do not\n * include a year.\n */\nexport const DateFieldYearlessRange = (props: DateFieldYearlessRangeProps) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const dataAttributes = Object.fromEntries(\n Object.entries(componentProps).filter(([key]) => key.startsWith(\"data-\")),\n ) as DataAttributes;\n\n const {\n label,\n moreInfo,\n size,\n hideLabel = false,\n required,\n id: idProp,\n legendProps,\n errorAriaLive: _errorAriaLive,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n error,\n warning,\n disabled,\n disableHint,\n description,\n mode = \"mm/dd\",\n startLabel = \"Start date\",\n endLabel = \"End date\",\n disablePicker,\n } = componentProps;\n\n const [value, setValue] =\n useOptionallyControlledState<DateFieldYearlessRangeValue>({\n controlledValue: props.value,\n defaultValue: props.defaultValue,\n onChange: props.onChange,\n });\n\n const labelUid = useId();\n const id = idProp ?? labelUid;\n const helperUid = useId();\n const moreInfoUid = useId();\n\n warnDeprecatedErrorUsage(\"DateFieldYearlessRange\", error);\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const handleStartDateChange = (startDate: YearlessDate | null) => {\n setValue({\n ...value,\n startDate,\n });\n };\n\n const handleEndDateChange = (endDate: YearlessDate | null) => {\n setValue({\n ...value,\n endDate,\n });\n };\n\n const ariaDescribedBy = [helperUid, moreInfo && moreInfoUid]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <fieldset\n {...dataAttributes}\n className={cx(\n textFieldStyles[\"textfield\"],\n dateFieldYearlessRangeStyles[\"range-root\"],\n )}\n data-anv=\"date-field-yearless-range\"\n style={layoutStyles}\n >\n <FieldLabel\n el=\"legend\"\n moreInfo={moreInfo}\n moreInfoId={moreInfo ? moreInfoUid : undefined}\n required={required}\n {...legendProps}\n className={cx(\n legendProps?.className,\n hideLabel ? dateFieldYearlessRangeStyles[\"sr-only\"] : undefined,\n )}\n >\n {label}\n </FieldLabel>\n <div className={dateFieldYearlessRangeStyles[\"range-row\"]}>\n <FieldLabel\n htmlFor={id + \"-\" + \"start\"}\n className={dateFieldYearlessRangeStyles[\"sr-only\"]}\n >\n {startLabel}\n </FieldLabel>\n <YearlessDateInputWithPicker\n id={id + \"-\" + \"start\"}\n size={size}\n error={!!error}\n required={required}\n disabled={disabled}\n mode={mode}\n value={value?.startDate}\n onChange={(change) => handleStartDateChange(change.value)}\n aria-describedby={ariaDescribedBy}\n disablePicker={disablePicker}\n onFocus={onFocusProp}\n onBlur={onBlurProp}\n {...{ [ANV_PART_ATTR]: PARTS.startInput }}\n />\n <Icon\n svg={ArrowForward}\n className={dateFieldYearlessRangeStyles[\"range-arrow\"]}\n />\n <FieldLabel\n htmlFor={id + \"-\" + \"end\"}\n className={dateFieldYearlessRangeStyles[\"sr-only\"]}\n >\n {endLabel}\n </FieldLabel>\n <YearlessDateInputWithPicker\n id={id + \"-\" + \"end\"}\n size={size}\n error={!!error}\n required={required}\n disabled={disabled}\n mode={mode}\n value={value?.endDate}\n onChange={(change) => handleEndDateChange(change.value)}\n aria-labelledby={labelUid}\n aria-describedby={ariaDescribedBy}\n disablePicker={disablePicker}\n onFocus={onFocusProp}\n onBlur={onBlurProp}\n {...{ [ANV_PART_ATTR]: PARTS.endInput }}\n />\n </div>\n {!disableHint || errorMessages || warning || description ? (\n <Helper\n id={helperUid}\n hint={disableHint ? undefined : `Format: ${mode}`}\n showCounter={false}\n error={\n typeof errorMessages === \"string\" || Array.isArray(errorMessages)\n ? errorMessages\n : undefined\n }\n warning={warning}\n errorMessage={\n isValidElement(errorMessages) ? errorMessages : undefined\n }\n description={description}\n />\n ) : null}\n </fieldset>\n );\n};\n"],"names":["ArrowForward"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateFieldYearlessRange-D_ftkt3w.js","sources":["../../hammer-icon/mdi/filled/arrow_forward.svg","../src/components/DateFieldYearlessRange/parts.ts","../src/components/DateFieldYearlessRange/DateFieldYearlessRange.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgArrowForward = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\" }));\nexport default SvgArrowForward;\n","/**\n * `data-anv-part` names for DateFieldYearlessRange interactive sub-elements.\n *\n * Picker popover and list parts come from the shared yearless picker and\n * render in the top layer outside the fieldset.\n */\nexport const PARTS = {\n startInput: \"start-input\",\n endInput: \"end-input\",\n} as const;\n","import { type ReactElement, isValidElement, useId } from \"react\";\nimport cx from \"classnames\";\nimport textFieldStyles from \"../TextField/TextField.module.scss\";\nimport dateFieldYearlessRangeStyles from \"./DateFieldYearlessRange.module.scss\";\nimport { Helper, type HelperProps } from \"../../internal/components\";\nimport { warnDeprecatedErrorUsage } from \"../FieldMessage\";\nimport type { DataAttributes, LayoutUtilProps, Size } from \"../../types\";\nimport { ANV_PART_ATTR } from \"../../internal/constants/anvParts\";\nimport {\n useLayoutPropsUtil,\n useOptionallyControlledState,\n} from \"../../internal/hooks\";\nimport FieldLabel, { type FieldLabelProps } from \"../FieldLabel\";\nimport type {\n YearlessDate,\n YearlessDateMode,\n} from \"../DateFieldYearless/types\";\nimport Icon from \"../Icon\";\nimport ArrowForward from \"@servicetitan/hammer-icon/mdi/filled/arrow_forward.svg\";\nimport { YearlessDateInputWithPicker } from \"../DateFieldYearless/internal/YearlessDateInputWithPicker\";\nimport { PARTS } from \"./parts\";\n\n/** Start and end month/day values without a year. */\nexport type DateFieldYearlessRangeValue = {\n /** Start month/day. Pass `null` to clear the start input. */\n startDate: YearlessDate | null;\n /** End month/day. Pass `null` to clear the end input. */\n endDate: YearlessDate | null;\n};\n\n/** Month/day range reported after either input changes. */\nexport type DateFieldYearlessRangeChange = {\n /** Current start month/day; typed incomplete or empty segments are `null`. */\n startDate: YearlessDate | null;\n /** Current end month/day; typed incomplete or empty segments are `null`. */\n endDate: YearlessDate | null;\n};\n\n/** Receives the current month/day range. */\nexport type DateFieldYearlessRangeChangeHandler = (\n change: DateFieldYearlessRangeChange,\n) => void;\n\nexport type DateFieldYearlessRangeProps = {\n /** Controlled month/day range. */\n value?: DateFieldYearlessRangeValue;\n /** Initial month/day range for uncontrolled use. */\n defaultValue?: DateFieldYearlessRangeValue;\n /** Reports the range after either input changes. */\n onChange?: DateFieldYearlessRangeChangeHandler;\n /** Order of the month and day segments. Defaults to `mm/dd`. */\n mode?: YearlessDateMode;\n /** Makes each empty input fail constraint validation. */\n required?: boolean;\n /** Renders both masked inputs without their month/day pickers. */\n disablePicker?: boolean;\n /** Hides the expected-format hint below the range. */\n disableHint?: boolean;\n /**\n * Applies error styling to both inputs. A message value also renders below\n * the range; React elements are deprecated.\n */\n error?: boolean | string | ReactElement | string[];\n /** Accessible legend for the fieldset. */\n label: string;\n /**\n * Hides the visible legend while preserving it for assistive technology.\n * Defaults to `false`.\n */\n hideLabel?: boolean;\n /** Height of both inputs. Defaults to `medium`. */\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n /** Secondary copy rendered below the range. */\n description?: HelperProps[\"description\"];\n /**\n * @deprecated No longer used. Error messages always use `aria-live=\"assertive\"`.\n */\n errorAriaLive?: HelperProps[\"errorAriaLive\"];\n /** Warning copy rendered below the range. */\n warning?: string | string[];\n /** Disables both inputs and their picker buttons. */\n disabled?: boolean;\n /** Called when either input receives focus. */\n onFocus?: (event: React.FocusEvent) => void;\n /** Called when either input loses focus. */\n onBlur?: (event: React.FocusEvent) => void;\n /** Base ID; the inputs append `-start` and `-end`. */\n id?: string;\n /** Accessible name for the start input. Defaults to `Start date`. */\n startLabel?: string;\n /** Accessible name for the end input. Defaults to `End date`. */\n endLabel?: string;\n /** Props for the visible {@link FieldLabel}, except its root element. */\n legendProps?: Omit<FieldLabelProps, \"el\">;\n /** Tooltip content for the info button after the legend. */\n moreInfo?: FieldLabelProps[\"moreInfo\"];\n} & LayoutUtilProps &\n DataAttributes;\n\n/**\n * Paired masked month/day fields with optional pickers for ranges that do not\n * include a year.\n */\nexport const DateFieldYearlessRange = (props: DateFieldYearlessRangeProps) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const dataAttributes = Object.fromEntries(\n Object.entries(componentProps).filter(([key]) => key.startsWith(\"data-\")),\n ) as DataAttributes;\n\n const {\n label,\n moreInfo,\n size,\n hideLabel = false,\n required,\n id: idProp,\n legendProps,\n errorAriaLive: _errorAriaLive,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n error,\n warning,\n disabled,\n disableHint,\n description,\n mode = \"mm/dd\",\n startLabel = \"Start date\",\n endLabel = \"End date\",\n disablePicker,\n } = componentProps;\n\n const [value, setValue] =\n useOptionallyControlledState<DateFieldYearlessRangeValue>({\n controlledValue: props.value,\n defaultValue: props.defaultValue,\n onChange: props.onChange,\n });\n\n const labelUid = useId();\n const id = idProp ?? labelUid;\n const helperUid = useId();\n const moreInfoUid = useId();\n\n warnDeprecatedErrorUsage(\"DateFieldYearlessRange\", error);\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n\n const handleStartDateChange = (startDate: YearlessDate | null) => {\n setValue({\n ...value,\n startDate,\n });\n };\n\n const handleEndDateChange = (endDate: YearlessDate | null) => {\n setValue({\n ...value,\n endDate,\n });\n };\n\n const ariaDescribedBy = [helperUid, moreInfo && moreInfoUid]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <fieldset\n {...dataAttributes}\n className={cx(\n textFieldStyles[\"textfield\"],\n dateFieldYearlessRangeStyles[\"range-root\"],\n )}\n data-anv=\"date-field-yearless-range\"\n style={layoutStyles}\n >\n <FieldLabel\n el=\"legend\"\n moreInfo={moreInfo}\n moreInfoId={moreInfo ? moreInfoUid : undefined}\n required={required}\n {...legendProps}\n className={cx(\n legendProps?.className,\n hideLabel ? dateFieldYearlessRangeStyles[\"sr-only\"] : undefined,\n )}\n >\n {label}\n </FieldLabel>\n <div className={dateFieldYearlessRangeStyles[\"range-row\"]}>\n <FieldLabel\n htmlFor={id + \"-\" + \"start\"}\n className={dateFieldYearlessRangeStyles[\"sr-only\"]}\n >\n {startLabel}\n </FieldLabel>\n <YearlessDateInputWithPicker\n id={id + \"-\" + \"start\"}\n size={size}\n error={!!error}\n required={required}\n disabled={disabled}\n mode={mode}\n value={value?.startDate}\n onChange={(change) => handleStartDateChange(change.value)}\n aria-describedby={ariaDescribedBy}\n disablePicker={disablePicker}\n onFocus={onFocusProp}\n onBlur={onBlurProp}\n {...{ [ANV_PART_ATTR]: PARTS.startInput }}\n />\n <Icon\n svg={ArrowForward}\n className={dateFieldYearlessRangeStyles[\"range-arrow\"]}\n />\n <FieldLabel\n htmlFor={id + \"-\" + \"end\"}\n className={dateFieldYearlessRangeStyles[\"sr-only\"]}\n >\n {endLabel}\n </FieldLabel>\n <YearlessDateInputWithPicker\n id={id + \"-\" + \"end\"}\n size={size}\n error={!!error}\n required={required}\n disabled={disabled}\n mode={mode}\n value={value?.endDate}\n onChange={(change) => handleEndDateChange(change.value)}\n aria-labelledby={labelUid}\n aria-describedby={ariaDescribedBy}\n disablePicker={disablePicker}\n onFocus={onFocusProp}\n onBlur={onBlurProp}\n {...{ [ANV_PART_ATTR]: PARTS.endInput }}\n />\n </div>\n {!disableHint || errorMessages || warning || description ? (\n <Helper\n id={helperUid}\n hint={disableHint ? undefined : `Format: ${mode}`}\n showCounter={false}\n error={\n typeof errorMessages === \"string\" || Array.isArray(errorMessages)\n ? errorMessages\n : undefined\n }\n warning={warning}\n errorMessage={\n isValidElement(errorMessages) ? errorMessages : undefined\n }\n description={description}\n />\n ) : null}\n </fieldset>\n );\n};\n"],"names":["ArrowForward"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-
|
|
1
|
+
export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-D_ftkt3w.js';
|
|
2
2
|
//# sourceMappingURL=DateFieldYearlessRange.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef, useId, useMemo } from 'react';
|
|
3
|
-
import { F as FieldLabel } from './FieldLabel-
|
|
4
|
-
import { B as ButtonToggle } from './ButtonToggle-
|
|
3
|
+
import { F as FieldLabel } from './FieldLabel-FsNIjn8T.js';
|
|
4
|
+
import { B as ButtonToggle } from './ButtonToggle-BSU8GBxr.js';
|
|
5
5
|
import { T as Tooltip } from './Tooltip-C_VcYS9P.js';
|
|
6
6
|
import { F as Flex } from './Flex-CRF7gj0_.js';
|
|
7
7
|
import { H as Helper } from './Helper-BHpOgh7k.js';
|
|
@@ -113,4 +113,4 @@ const DaysOfTheWeek = forwardRef(
|
|
|
113
113
|
DaysOfTheWeek.displayName = "DaysOfTheWeek";
|
|
114
114
|
|
|
115
115
|
export { DaysOfTheWeek as D };
|
|
116
|
-
//# sourceMappingURL=DaysOfTheWeek-
|
|
116
|
+
//# sourceMappingURL=DaysOfTheWeek-D4tUHUay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DaysOfTheWeek-
|
|
1
|
+
{"version":3,"file":"DaysOfTheWeek-D4tUHUay.js","sources":["../src/components/DaysOfTheWeek/DaysOfTheWeek.tsx"],"sourcesContent":["import {\n type AriaAttributes,\n type ReactElement,\n type Ref,\n forwardRef,\n useId,\n useMemo,\n} from \"react\";\nimport type { DataTrackingId } from \"../../types\";\nimport styles from \"./DaysOfTheWeek.module.scss\";\nimport { FieldLabel, type FieldLabelProps } from \"../FieldLabel\";\n\nimport ButtonToggle from \"../ButtonToggle\";\nimport Tooltip from \"../Tooltip\";\nimport { Helper } from \"../../internal/components\";\nimport Flex from \"../Flex\";\n\nexport type DaysOfTheWeekProps = {\n /**\n * Selected weekdays as 1–7, where Monday is 1 and Sunday is 7. Defaults to\n * an empty selection.\n */\n selectedDays?: number[];\n /** Reports the selected weekday numbers after a toggle. */\n onChange?: (selectedDays: number[]) => void;\n /**\n * `true` disables every day; a number array disables those weekdays (1–7).\n */\n disabled?: boolean | number[];\n /**\n * Weekday that starts the visible row. Rotates display only; selected values\n * stay 1–7. Defaults to `7` (Sunday).\n */\n firstDay?: number;\n /** Always-visible hint rendered below the days. */\n hint?: ReactElement | string;\n /** ID of the day-button row; generated when omitted. */\n id?: string;\n /** Secondary copy rendered below the days. */\n description?: ReactElement | string;\n /** Error copy rendered below the days. */\n error?: string | string[];\n /** Warning copy rendered below the days. */\n warning?: string | string[];\n /**\n * @deprecated Use the `error` prop instead.\n */\n errorMessage?: ReactElement | string;\n /**\n * @deprecated No longer used. Error messages always use `aria-live=\"assertive\"`.\n */\n errorAriaLive?: AriaAttributes[\"aria-live\"];\n /** Accessible field label. String children go through inline markdown. */\n label?: FieldLabelProps[\"children\"];\n /** Shows the required indicator but does not validate selection. */\n required?: boolean;\n /** Tooltip content for the info button after the label. */\n moreInfo?: FieldLabelProps[\"moreInfo\"];\n /** Props for the visible {@link FieldLabel}. */\n labelProps?: FieldLabelProps;\n} & DataTrackingId;\n\ninterface DayInfo {\n short: string;\n full: string;\n}\n\nconst DAYS: DayInfo[] = [\n { short: \"Mo\", full: \"Monday\" },\n { short: \"Tu\", full: \"Tuesday\" },\n { short: \"We\", full: \"Wednesday\" },\n { short: \"Th\", full: \"Thursday\" },\n { short: \"Fr\", full: \"Friday\" },\n { short: \"Sa\", full: \"Saturday\" },\n { short: \"Su\", full: \"Sunday\" },\n];\n\n/**\n * Toggle buttons for selecting weekdays. Values are 1–7 (Monday–Sunday);\n * `firstDay` only rotates the visible order.\n */\nexport const DaysOfTheWeek = forwardRef(\n (props: DaysOfTheWeekProps, ref: Ref<HTMLDivElement>) => {\n const {\n selectedDays = [],\n onChange,\n disabled,\n firstDay = 7,\n hint,\n id: idProp,\n description,\n error,\n warning,\n errorMessage,\n errorAriaLive,\n label,\n required,\n moreInfo,\n labelProps,\n } = props;\n\n const autoId = useId();\n const id = idProp ?? autoId;\n const labelUid = useId();\n const helperUid = useId();\n\n const hasHelperText =\n hint || error || warning || errorMessage || description;\n\n const orderedDays = useMemo(() => {\n const firstDayIndex = firstDay - 1;\n return [...DAYS.slice(firstDayIndex), ...DAYS.slice(0, firstDayIndex)];\n }, [firstDay]);\n\n const handleDayToggle = (index: number) => {\n const dayNumber = ((index + firstDay - 1) % 7) + 1;\n const newSelectedDays = selectedDays.includes(dayNumber)\n ? selectedDays.filter((d) => d !== dayNumber)\n : [...selectedDays, dayNumber];\n\n onChange?.(newSelectedDays);\n };\n\n const isDayDisabled = (dayNumber: number) => {\n if (typeof disabled === \"boolean\") {\n return disabled;\n }\n if (Array.isArray(disabled)) {\n return disabled.includes(dayNumber);\n }\n return false;\n };\n\n return (\n <div className={styles[\"days-of-the-week-container\"]}>\n {label ? (\n <FieldLabel\n moreInfo={moreInfo}\n required={required}\n id={labelUid}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </FieldLabel>\n ) : null}\n <div ref={ref} className={styles[\"days-of-the-week\"]} id={id}>\n <Flex gap={2} className={styles[\"days-of-the-week-scroller\"]}>\n {orderedDays.map((day, index) => {\n // `index` is into the rotated row, not `DAYS`.\n const dayNumber = ((index + firstDay - 1) % 7) + 1;\n return (\n <Tooltip key={day.short} placement=\"top\">\n <Tooltip.Trigger className={styles[\"button-toggle-wrapper\"]}>\n <ButtonToggle\n checked={selectedDays.includes(dayNumber)}\n onClick={() => handleDayToggle(index)}\n disabled={isDayDisabled(dayNumber)}\n className={styles[\"button-toggle\"]}\n id={label ? labelUid : undefined}\n aria-describedby={hasHelperText ? helperUid : undefined}\n >\n {day.short}\n </ButtonToggle>\n </Tooltip.Trigger>\n <Tooltip.Content>{day.full}</Tooltip.Content>\n </Tooltip>\n );\n })}\n </Flex>\n </div>\n {hasHelperText ? (\n <Helper\n id={helperUid}\n hint={hint}\n description={description}\n error={error}\n warning={warning}\n errorMessage={errorMessage}\n errorAriaLive={errorAriaLive}\n />\n ) : null}\n </div>\n );\n },\n);\nDaysOfTheWeek.displayName = \"DaysOfTheWeek\";\n"],"names":[],"mappings":"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"}
|
package/dist/DaysOfTheWeek.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as DaysOfTheWeek, D as default } from './DaysOfTheWeek-
|
|
1
|
+
export { D as DaysOfTheWeek, D as default } from './DaysOfTheWeek-D4tUHUay.js';
|
|
2
2
|
//# sourceMappingURL=DaysOfTheWeek.js.map
|
|
@@ -15,17 +15,19 @@ import './Details.css';const DetailsContext = createContext({
|
|
|
15
15
|
toggle: () => void 0
|
|
16
16
|
});
|
|
17
17
|
|
|
18
|
-
const details = "
|
|
19
|
-
const summary = "
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
18
|
+
const details = "_details_qxy6k_1";
|
|
19
|
+
const summary = "_summary_qxy6k_16";
|
|
20
|
+
const label = "_label_qxy6k_83";
|
|
21
|
+
const arrow = "_arrow_qxy6k_89";
|
|
22
|
+
const content = "_content_qxy6k_105";
|
|
23
|
+
const expanded = "_expanded_qxy6k_145";
|
|
23
24
|
const styles = {
|
|
24
25
|
details: details,
|
|
25
26
|
summary: summary,
|
|
27
|
+
label: label,
|
|
26
28
|
arrow: arrow,
|
|
27
|
-
"is-expanded": "_is-
|
|
28
|
-
"content-wrapper": "_content-
|
|
29
|
+
"is-expanded": "_is-expanded_qxy6k_101",
|
|
30
|
+
"content-wrapper": "_content-wrapper_qxy6k_105",
|
|
29
31
|
content: content,
|
|
30
32
|
expanded: expanded
|
|
31
33
|
};
|
|
@@ -70,7 +72,7 @@ const DetailsSummary = forwardRef(function DetailsSummary2({ children, onClick:
|
|
|
70
72
|
...rest,
|
|
71
73
|
children: [
|
|
72
74
|
/* @__PURE__ */ jsx(DetailsArrow, {}),
|
|
73
|
-
children
|
|
75
|
+
/* @__PURE__ */ jsx("span", { className: styles.label, children })
|
|
74
76
|
]
|
|
75
77
|
}
|
|
76
78
|
);
|
|
@@ -166,4 +168,4 @@ const Details = Object.assign(
|
|
|
166
168
|
Details.displayName = "Details";
|
|
167
169
|
|
|
168
170
|
export { Details as D };
|
|
169
|
-
//# sourceMappingURL=Details-
|
|
171
|
+
//# sourceMappingURL=Details-BxqP-5vp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Details-BxqP-5vp.js","sources":["../src/components/Details/internal/DetailsContext.tsx","../src/components/Details/internal/DetailsArrow.tsx","../src/components/Details/DetailsSummary.tsx","../src/components/Details/DetailsContent.tsx","../src/components/Details/Details.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nexport type DetailsContextProps = {\n id: string;\n isExpanded: boolean;\n expanded: () => void;\n close: () => void;\n toggle: () => void;\n};\n\nexport const DetailsContext = createContext<DetailsContextProps>({\n id: \"\",\n isExpanded: false,\n expanded: () => undefined,\n close: () => undefined,\n toggle: () => undefined,\n});\n","import { forwardRef, useContext, type ComponentPropsWithoutRef } from \"react\";\nimport Arrow_right from \"@servicetitan/hammer-icon/mdi/round/chevron_right.svg\";\nimport { DetailsContext } from \"./DetailsContext\";\nimport Icon from \"../../Icon\";\n\nimport cx from \"classnames\";\nimport styles from \"../Details.module.scss\";\n\nexport type DetailsArrowProps = ComponentPropsWithoutRef<\"span\">;\n\n/** Rotating indicator that reflects the parent Details state. */\nexport const DetailsArrow = forwardRef<HTMLSpanElement, DetailsArrowProps>(\n function DetailsArrow({ className: classNameProp, ...rest }, ref) {\n const { isExpanded } = useContext(DetailsContext);\n\n const className = cx(\n styles.arrow,\n { [styles[\"is-expanded\"]]: isExpanded },\n classNameProp,\n );\n\n return (\n <span className={className} ref={ref} {...rest}>\n <Icon size=\"large\" svg={Arrow_right} />\n </span>\n );\n },\n);\n","import {\n forwardRef,\n useContext,\n type ComponentPropsWithoutRef,\n type MouseEventHandler,\n} from \"react\";\nimport type { DataTrackingId } from \"../../types\";\nimport { DetailsContext } from \"./internal/DetailsContext\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId } from \"../../hooks\";\nimport { DetailsArrow } from \"./internal/DetailsArrow\";\n\nimport cx from \"classnames\";\nimport styles from \"./Details.module.scss\";\n\nexport type DetailsSummaryProps = ComponentPropsWithoutRef<\"button\"> &\n DataTrackingId;\n\n/**\n * Disclosure button for Details.Content. A supplied `onClick` runs before the\n * internal expanded state toggles.\n */\nexport const DetailsSummary = forwardRef<\n HTMLButtonElement,\n DetailsSummaryProps\n>(function DetailsSummary(\n { children, onClick: onClickProp, className: classNameProp, ...rest },\n ref,\n) {\n const { id, isExpanded, toggle } = useContext(DetailsContext);\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = (...args) => {\n onClickProp?.(...args);\n toggle();\n };\n\n const data = {\n children: childrenToString(children),\n };\n\n const trackingId = useTrackingId({\n name: \"DetailsSummary\",\n data,\n hasOverride: !!rest[\"data-tracking-id\"],\n });\n\n const className = cx(styles.summary, classNameProp);\n\n return (\n <button\n data-tracking-id={trackingId}\n data-anv=\"details-summary\"\n aria-controls={id}\n aria-expanded={isExpanded}\n className={className}\n onClick={handleClick}\n ref={ref}\n {...rest}\n >\n <DetailsArrow />\n <span className={styles.label}>{children}</span>\n </button>\n );\n});\n","import { forwardRef, useContext, type ComponentPropsWithoutRef } from \"react\";\nimport { DetailsContext } from \"./internal/DetailsContext\";\n\nimport cx from \"classnames\";\nimport styles from \"./Details.module.scss\";\n\nexport type DetailsContentProps = ComponentPropsWithoutRef<\"div\"> & {\n /** Fixes the inner content height and makes it scrollable when needed. */\n height?: string | number;\n /** Constrains the inner content height and makes it scrollable when needed. */\n maxHeight?: string | number;\n};\n\n/**\n * Disclosure panel associated with Details.Summary. It remains mounted while\n * its visibility follows the parent Details state.\n */\nexport const DetailsContent = forwardRef<HTMLDivElement, DetailsContentProps>(\n function DetailsContent(\n {\n className: classNameProp,\n children,\n height,\n maxHeight,\n style: styleProp,\n ...rest\n },\n ref,\n ) {\n const { id, isExpanded } = useContext(DetailsContext);\n\n const style = {\n height,\n maxHeight,\n ...(height || maxHeight ? { overflow: \"auto\" } : {}),\n ...styleProp,\n };\n\n return (\n <div\n data-anv=\"details-content\"\n id={id}\n className={cx(styles[\"content-wrapper\"], {\n [styles.expanded]: isExpanded,\n })}\n ref={ref}\n >\n <div className={styles.content}>\n <div className={classNameProp} style={style} {...rest}>\n {children}\n </div>\n </div>\n </div>\n );\n },\n);\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n useId,\n useMemo,\n useState,\n} from \"react\";\nimport type { LayoutUtilProps } from \"../../types\";\nimport { DetailsSummary } from \"./DetailsSummary\";\nimport { DetailsContent } from \"./DetailsContent\";\nimport { DetailsContext } from \"./internal/DetailsContext\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\n\nimport cx from \"classnames\";\nimport styles from \"./Details.module.scss\";\n\nexport type DetailsProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps & {\n /**\n * Controls whether the content is expanded. When set, internal toggles do\n * not change the rendered state.\n */\n expanded?: boolean;\n /** Initial state when `expanded` is omitted. Defaults to `false`. */\n defaultExpanded?: boolean;\n };\n\n/**\n * Disclosure container that coordinates its Summary and Content. Supports\n * controlled or uncontrolled expanded state.\n */\nexport const Details = Object.assign(\n forwardRef<HTMLDivElement, DetailsProps>(function DetailsInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n children,\n id: idProp,\n expanded: expandedControlled,\n defaultExpanded = false,\n style,\n className,\n ...rest\n } = componentProps;\n const id = useId();\n const [isExpanded, setIsOpen] = useState(defaultExpanded);\n\n function expanded() {\n setIsOpen(true);\n }\n\n function close() {\n setIsOpen(false);\n }\n\n function toggle() {\n setIsOpen((prevIsOpen: boolean) => !prevIsOpen);\n }\n\n const value = useMemo(\n () => ({\n id: idProp != null ? idProp : id,\n isExpanded:\n expandedControlled != null ? expandedControlled : isExpanded,\n expanded,\n close,\n toggle,\n }),\n [id, idProp, isExpanded, expandedControlled],\n );\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <DetailsContext.Provider value={value}>\n <div\n data-anv=\"details\"\n ref={ref}\n className={cx(styles.details, className)}\n style={styleCombined}\n {...rest}\n >\n {children}\n </div>\n </DetailsContext.Provider>\n );\n }),\n {\n /** Button that toggles the disclosure content. */\n Summary: DetailsSummary,\n /** Expandable content associated with the summary. */\n Content: DetailsContent,\n },\n);\nDetails.displayName = \"Details\";\n"],"names":["DetailsArrow","Arrow_right","DetailsSummary","DetailsContent"],"mappings":"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"}
|
package/dist/Details.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.anvil2 {.
|
|
1
|
+
.anvil2 {._details_qxy6k_1 {
|
|
2
2
|
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
3
3
|
font-size: 100%;
|
|
4
4
|
color: inherit;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
display: flex;
|
|
12
12
|
flex-direction: column;
|
|
13
13
|
flex-grow: 1;
|
|
14
|
-
}.
|
|
14
|
+
}._summary_qxy6k_16 {
|
|
15
15
|
--a2-internal-details-summary-background-color: var(
|
|
16
16
|
--a2-mod-details-summary-background-color
|
|
17
17
|
);
|
|
@@ -52,16 +52,16 @@
|
|
|
52
52
|
padding-inline: var(--a2-size-4, 1rem);
|
|
53
53
|
transition: outline var(--a2-mod-details-summary-transition-duration, var(--a2-duration-default, 200ms)) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
|
|
54
54
|
width: 100%;
|
|
55
|
-
}.
|
|
55
|
+
}._summary_qxy6k_16[data-interactive=focus-visible], ._summary_qxy6k_16:focus-visible {
|
|
56
56
|
--a2-mod-details-summary-outline-width: var(--a2-size-half, 0.125rem);
|
|
57
|
-
}.
|
|
57
|
+
}._summary_qxy6k_16[data-interactive=hover], ._summary_qxy6k_16:hover {
|
|
58
58
|
--a2-internal-details-summary-background-color: var(
|
|
59
59
|
--a2-mod-details-summary-background-color-hover
|
|
60
60
|
);
|
|
61
61
|
--a2-internal-details-summary-foreground-color: var(
|
|
62
62
|
--a2-mod-details-summary-foreground-color-hover
|
|
63
63
|
);
|
|
64
|
-
}.
|
|
64
|
+
}._summary_qxy6k_16[data-interactive=active], ._summary_qxy6k_16:active {
|
|
65
65
|
--a2-internal-details-summary-background-color: var(
|
|
66
66
|
--a2-mod-details-summary-background-color-active
|
|
67
67
|
);
|
|
@@ -69,21 +69,25 @@
|
|
|
69
69
|
--a2-mod-details-summary-foreground-color-active
|
|
70
70
|
);
|
|
71
71
|
}@media (prefers-reduced-motion: reduce) {
|
|
72
|
-
.
|
|
72
|
+
._summary_qxy6k_16 {
|
|
73
73
|
--a2-mod-details-summary-transition-duration: 0.01ms;
|
|
74
74
|
}
|
|
75
|
-
}.
|
|
75
|
+
}._label_qxy6k_83 {
|
|
76
|
+
flex: 1;
|
|
77
|
+
text-align: start;
|
|
78
|
+
text-box: trim-both cap alphabetic;
|
|
79
|
+
}._arrow_qxy6k_89 {
|
|
76
80
|
display: flex;
|
|
77
81
|
inset-inline-start: var(--a2-size-quarter, 0.0625rem);
|
|
78
82
|
position: relative;
|
|
79
83
|
transition: all var(--a2-mod-details-arrow-transition-duration, var(--a2-duration-default, 200ms)) var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
|
|
80
84
|
}@media (prefers-reduced-motion: reduce) {
|
|
81
|
-
.
|
|
85
|
+
._arrow_qxy6k_89 {
|
|
82
86
|
--a2-mod-details-arrow-transition-duration: 0.01ms;
|
|
83
87
|
}
|
|
84
|
-
}._is-
|
|
88
|
+
}._is-expanded_qxy6k_101 {
|
|
85
89
|
transform: rotate(90deg);
|
|
86
|
-
}._content-
|
|
90
|
+
}._content-wrapper_qxy6k_105 {
|
|
87
91
|
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
88
92
|
font-size: 100%;
|
|
89
93
|
color: inherit;
|
|
@@ -102,10 +106,10 @@
|
|
|
102
106
|
transition-timing-function: var(--a2-transition-ease-out, cubic-bezier(0, 0, 0.4, 1));
|
|
103
107
|
visibility: hidden;
|
|
104
108
|
}@media (prefers-reduced-motion: reduce) {
|
|
105
|
-
._content-
|
|
109
|
+
._content-wrapper_qxy6k_105 {
|
|
106
110
|
--a2-mod-details-content-wrapper-transition-duration: 0.01ms;
|
|
107
111
|
}
|
|
108
|
-
}.
|
|
112
|
+
}._content_qxy6k_105 {
|
|
109
113
|
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
110
114
|
font-size: 100%;
|
|
111
115
|
color: var(--a2-details-content-foreground-color, var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff))));
|
|
@@ -118,7 +122,7 @@
|
|
|
118
122
|
display: block;
|
|
119
123
|
overflow: hidden;
|
|
120
124
|
padding-inline: var(--a2-size-6, 1.5rem);
|
|
121
|
-
}.
|
|
125
|
+
}._expanded_qxy6k_145 {
|
|
122
126
|
grid-template-rows: 1fr;
|
|
123
127
|
max-height: -moz-fit-content;
|
|
124
128
|
max-height: fit-content;
|
|
@@ -126,7 +130,7 @@
|
|
|
126
130
|
padding-block-end: var(--a2-size-2, 0.5rem);
|
|
127
131
|
padding-block-start: var(--a2-size-2, 0.5rem);
|
|
128
132
|
visibility: visible;
|
|
129
|
-
}.
|
|
133
|
+
}._expanded_qxy6k_145 > ._content_qxy6k_105 {
|
|
130
134
|
--a2-mod-details-content-padding-block-end: var(--a2-size-1, 0.25rem);
|
|
131
135
|
padding-block-end: var(--a2-mod-details-content-padding-block-end);
|
|
132
136
|
}
|
package/dist/Details.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as Details, D as default } from './Details-
|
|
1
|
+
export { D as Details, D as default } from './Details-BxqP-5vp.js';
|
|
2
2
|
//# sourceMappingURL=Details.js.map
|
|
@@ -2,15 +2,15 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { forwardRef, useState, useEffect, useRef, useId, useCallback, useLayoutEffect, useMemo } from 'react';
|
|
3
3
|
import { S as SvgClose } from './close-DZj38AEh.js';
|
|
4
4
|
import { c as cx } from './index-De1g9FRV.js';
|
|
5
|
-
import { T as Text } from './Text-
|
|
6
|
-
import { u as useDialogContext, D as DialogCancelButton } from './DialogCancelButton-
|
|
5
|
+
import { T as Text } from './Text-B_-Ldn9K.js';
|
|
6
|
+
import { u as useDialogContext, D as DialogCancelButton } from './DialogCancelButton-C0r8hJ8Z.js';
|
|
7
7
|
import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
|
|
8
8
|
import { useTrackingId } from './useTrackingId.js';
|
|
9
9
|
import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
|
|
10
10
|
import { D as DialogContext } from './DialogContext-DBgtApl9.js';
|
|
11
11
|
import { d as drillDownStyles, D as DrillDownContext } from './DrillDown.module-1VBKDZRA.js';
|
|
12
12
|
import { u as useDrillDownContextState, a as useDialogTransitionStates, b as useKeyboardFocusables, c as useInitialFocus } from './useInitialFocus-0TZ78bPz.js';
|
|
13
|
-
import { a as ToastProvider, b as ToasterPopover, c as ToasterContent } from './Toaster-
|
|
13
|
+
import { a as ToastProvider, b as ToasterPopover, c as ToasterContent } from './Toaster-oK4dSBPK.js';
|
|
14
14
|
import { r as registerLayer, u as unregisterLayer, a as useOnClickOutside } from './useOnClickOutside-Zw5vzxSq.js';
|
|
15
15
|
import { u as useDialogScrollLock } from './useDialogScrollLock-BW-aVboo.js';
|
|
16
16
|
|
|
@@ -345,4 +345,4 @@ const Dialog = Object.assign(
|
|
|
345
345
|
Dialog.displayName = "Dialog";
|
|
346
346
|
|
|
347
347
|
export { Dialog as D };
|
|
348
|
-
//# sourceMappingURL=Dialog-
|
|
348
|
+
//# sourceMappingURL=Dialog-B2QAFibn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog-vSiZAR1y.js","sources":["../src/components/Dialog/DialogHeader.tsx","../src/components/Dialog/DialogFooter.tsx","../src/components/Dialog/DialogContent.tsx","../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport cx from \"classnames\";\n\nimport { Text } from \"../Text\";\nimport { DialogCancelButton } from \"./DialogCancelButton\";\n\nimport styles from \"./Dialog.module.scss\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId, useMergeRefs } from \"../../hooks\";\nimport type { DataTrackingId } from \"../../types\";\nimport { useDialogContext } from \"./internal/useDialogContext\";\n\n/** @extends ComponentPropsWithoutRef<\"header\"> */\nexport type DialogHeaderProps = ComponentPropsWithoutRef<\"header\"> &\n DataTrackingId;\n\n/** Dialog heading with a built-in close control. */\nexport const DialogHeader = forwardRef<HTMLDivElement, DialogHeaderProps>(\n (props: DialogHeaderProps, ref) => {\n const { children, className, ...rest } = props;\n const { headerRef } = useDialogContext();\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"Dialog\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const headerClassNames = cx(className, styles[\"header\"]);\n\n return (\n <header\n className={headerClassNames}\n data-anv=\"dialog-header\"\n data-tracking-id={trackingId}\n ref={useMergeRefs([ref, headerRef])}\n {...rest}\n >\n <Text variant=\"headline\" el=\"h1\" className={styles[\"title\"]}>\n {children}\n </Text>\n <span className={styles[\"close-container\"]}>\n <DialogCancelButton\n className={styles[\"close-button\"]}\n size=\"small\"\n appearance=\"ghost\"\n aria-label=\"Close dialog\"\n icon={Close}\n />\n </span>\n </header>\n );\n },\n);\n\nDialogHeader.displayName = \"DialogHeader\";\n","import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./Dialog.module.scss\";\n\n/** @extends ComponentPropsWithoutRef<\"footer\"> */\nexport type DialogFooterProps = ComponentPropsWithoutRef<\"footer\"> & {\n /** Keeps the action row visible at the bottom of scrolling content. Defaults to `false`. */\n sticky?: boolean;\n};\n\n/** Action row at the end of a dialog. */\nexport const DialogFooter = forwardRef<HTMLElement, DialogFooterProps>(\n (props, ref) => {\n const { children, className, sticky = false, ...rest } = props;\n\n const footerClassNames = cx(styles[\"footer\"], className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n return (\n <footer\n className={footerClassNames}\n data-anv=\"dialog-footer\"\n ref={ref}\n {...rest}\n >\n {children}\n </footer>\n );\n },\n);\n\nDialogFooter.displayName = \"DialogFooter\";\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useState,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./Dialog.module.scss\";\nimport { useDialogContext } from \"./internal/useDialogContext\";\n\n/** @extends ComponentPropsWithoutRef<\"div\"> */\nexport type DialogContentProps = ComponentPropsWithoutRef<\"div\"> & {\n /** Pins the content below the changing header while the dialog scrolls. Defaults to `false`. */\n sticky?: boolean;\n};\n\n/** Main content region of a `Dialog`. */\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n (props, ref) => {\n const { children, className, sticky = false, ...rest } = props;\n const { headerRef } = useDialogContext();\n const [headerHeight, setHeaderHeight] = useState(0);\n\n useEffect(() => {\n const headerElement = headerRef?.current;\n if (!sticky || !headerElement) return;\n\n const updateHeight = () => {\n setHeaderHeight(headerElement.offsetHeight || 0);\n };\n\n updateHeight();\n const resizeObserver = new ResizeObserver(updateHeight);\n resizeObserver.observe(headerElement);\n\n return () => resizeObserver.disconnect();\n }, [sticky, headerRef]);\n\n const contentClassNames = cx(styles[\"content\"], className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n const stickyStyle = sticky ? { top: `${headerHeight}px` } : undefined;\n\n return (\n <div\n className={contentClassNames}\n data-anv=\"dialog-content\"\n ref={ref}\n style={{ ...stickyStyle, ...rest.style }}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDialogContent.displayName = \"DialogContent\";\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type KeyboardEvent,\n useMemo,\n useLayoutEffect,\n} from \"react\";\nimport { DialogHeader } from \"./DialogHeader\";\nimport { DialogFooter } from \"./DialogFooter\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogCancelButton } from \"./DialogCancelButton\";\nimport {\n type OpenCloseTransitionStateEffects,\n useDialogScrollLock,\n useDialogTransitionStates,\n useKeyboardFocusables,\n useOnClickOutside,\n} from \"../../internal/hooks\";\nimport type {\n FocusableElement,\n DisableCloseOnEscapeOrClickProps,\n Size,\n} from \"../../types\";\nimport { registerLayer, unregisterLayer } from \"../../internal/utils\";\nimport {\n DialogContext,\n type DialogContextProps,\n} from \"./internal/DialogContext\";\nimport {\n DrillDownContext,\n type DrillDownContextProps,\n} from \"../DrillDown/internal/DrillDownContext\";\nimport { useDrillDownContextState } from \"../DrillDown/internal/useDrillDownContextState\";\nimport styles from \"./Dialog.module.scss\";\nimport drillDownStyles from \"../DrillDown/DrillDown.module.scss\";\nimport { useMergeRefs } from \"../../hooks\";\nimport cx from \"classnames\";\n\nimport { ToastProvider } from \"../Toast/internal/ToastProvider\";\nimport { ToasterPopover } from \"../Toast/internal/ToasterPopover\";\nimport { ToasterContent } from \"../Toast/internal/Toaster\";\nimport { useInitialFocus } from \"./internal/useInitialFocus\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"dialog\">\n * @extends OpenCloseTransitionStateEffects\n * @extends DisableCloseOnEscapeOrClickProps\n */\nexport type DialogProps = ComponentPropsWithoutRef<\"dialog\"> &\n OpenCloseTransitionStateEffects &\n DisableCloseOnEscapeOrClickProps & {\n /** Expands the dialog to the viewport instead of using `size`. Defaults to `false`. */\n fullScreen?: boolean;\n /** Width preset used outside full-screen mode. Defaults to `medium`. */\n size?: Extract<Size, \"medium\" | \"large\" | \"xlarge\">;\n\n /** Controls whether the dialog is shown. Defaults to `false`. */\n open?: boolean;\n /** Called by Escape, outside-click, and `Dialog.CancelButton` close actions. */\n onClose?: () => void;\n /** Called on an outside click even when that click is not allowed to close the dialog. */\n onClickOutside?: (e: globalThis.MouseEvent) => void;\n /** Allows scrolling to continue into the page instead of locking the shadow host. */\n enableScrollChaining?: boolean;\n /**\n * Chooses initial focus from the dialog's tabbable elements. By default,\n * cancel buttons are skipped when another target is available.\n */\n initialFocusResolver?: (focusables: FocusableElement[]) => FocusableElement;\n /** DrillDown panel opened when navigation begins. Defaults to index `0`. */\n defaultDrillDownIndex?: DrillDownContextProps[\"index\"];\n /** Receives the current DrillDown controls and whether the dialog is interactive. */\n onDrillDownContextChange?: (context: DrillDownContextProps) => void;\n };\n\n/**\n * Controlled modal dialog with focus trapping, animated transitions, and\n * compound header, content, footer, and cancel-button regions.\n */\nexport const Dialog = Object.assign(\n forwardRef<HTMLDialogElement, DialogProps>(function DialogInner(props, ref) {\n const {\n className,\n open = false,\n children,\n onClose,\n onKeyDown,\n fullScreen = false,\n disableCloseOnEscape = false,\n onClickOutside,\n disableCloseOnClickOutside = false,\n size,\n enableScrollChaining,\n onOpenAnimationStart,\n onOpenAnimationComplete,\n onCloseAnimationStart,\n onCloseAnimationComplete,\n initialFocusResolver,\n defaultDrillDownIndex,\n onDrillDownContextChange,\n ...rest\n } = props;\n\n const elRef = useRef<HTMLDialogElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const toasterRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLElement>(null);\n\n const [hasOpenPopover, setHasOpenPopover] =\n useState<DialogContextProps[\"hasOpenPopover\"]>(false);\n\n const drillDownContextValue = useDrillDownContextState({\n defaultDrillDownIndex,\n });\n\n const id = useId();\n\n const { state, isOpenOrOpening } = useDialogTransitionStates(elRef, open, {\n onOpenAnimationStart: useCallback(() => {\n onOpenAnimationStart?.();\n }, [onOpenAnimationStart]),\n onOpenAnimationComplete: useCallback(() => {\n onOpenAnimationComplete?.();\n }, [onOpenAnimationComplete]),\n onCloseAnimationStart: useCallback(() => {\n onCloseAnimationStart?.();\n }, [onCloseAnimationStart]),\n onCloseAnimationComplete: useCallback(() => {\n onCloseAnimationComplete?.();\n }, [onCloseAnimationComplete]),\n });\n\n const previousOpenRef = useRef(open);\n\n useLayoutEffect(() => {\n if (open && !previousOpenRef.current) {\n drillDownContextValue.setHostTrigger?.(\n document.activeElement instanceof HTMLElement\n ? document.activeElement\n : null,\n );\n }\n }, [open, drillDownContextValue]);\n\n useEffect(() => {\n previousOpenRef.current = open;\n }, [open]);\n\n useEffect(() => {\n if (state === \"closing\") {\n drillDownContextValue.onHostClose?.();\n }\n }, [state, drillDownContextValue]);\n\n useEffect(() => {\n if (state === \"closed\") {\n drillDownContextValue.onHostClosed?.();\n }\n }, [state, drillDownContextValue]);\n\n const drillDownContextProviderValue = useMemo(\n () => ({\n ...drillDownContextValue,\n hostIsInteractive: state !== \"closing\" && state !== \"closed\",\n }),\n [drillDownContextValue, state],\n );\n\n useLayoutEffect(() => {\n onDrillDownContextChange?.(drillDownContextProviderValue);\n }, [drillDownContextProviderValue]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const initial = useRef(true);\n useEffect(() => {\n if (initial.current) {\n initial.current = false;\n }\n }, [id, isOpenOrOpening]);\n\n const classNames = cx([styles.dialog, drillDownStyles.dialog], className, {\n [styles[\"closing\"]]: state === \"closing\",\n [styles[\"fullscreen\"]]: fullScreen,\n ...(size && size !== \"medium\" && { [styles[size]]: true }),\n });\n\n const { focusables } = useKeyboardFocusables(contentRef, {\n observeChange: true,\n });\n\n useDialogScrollLock({\n open: isOpenOrOpening,\n id,\n enableScrollChaining,\n elementRef: elRef,\n });\n\n useEffect(() => {\n if (open) {\n registerLayer(id);\n } else {\n unregisterLayer(id);\n }\n\n return () => {\n unregisterLayer(id);\n };\n }, [open, id]);\n\n useOnClickOutside({\n onClickOutsideBegin: (e) => {\n if (!open) return;\n onClickOutside?.(e);\n },\n targets: [\n contentRef.current as HTMLElement,\n toasterRef.current as HTMLElement,\n ],\n onClickOutside: () => {\n if (disableCloseOnClickOutside || !open) return;\n onClose?.();\n },\n layerId: id,\n });\n\n const computeFocus = useCallback((focusables: FocusableElement[]) => {\n return (\n focusables.find(\n (focusable) => focusable.dataset.anv !== \"dialog-cancel-button\",\n ) || focusables[0]\n );\n }, []);\n\n useInitialFocus(elRef, {\n computeFocus: initialFocusResolver || computeFocus,\n });\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLDialogElement>) => {\n onKeyDown?.(e);\n if (e.code === \"Escape\") {\n e.preventDefault();\n if (disableCloseOnEscape) return;\n if (hasOpenPopover) return;\n onClose?.();\n return;\n }\n\n if (e.code === \"Tab\") {\n if (e.shiftKey && e.target === focusables?.[0]) {\n e.preventDefault();\n (focusables[focusables.length - 1] as HTMLElement)?.focus();\n return;\n }\n if (e.target === focusables?.[focusables.length - 1] && !e.shiftKey) {\n e.preventDefault();\n focusables[0].focus();\n return;\n }\n }\n };\n\n return (\n <dialog\n className={classNames}\n data-anv=\"dialog\"\n data-anv-scroll-chaining={enableScrollChaining}\n data-anv-transition-state={state}\n ref={useMergeRefs([ref, elRef])}\n onKeyDown={onKeyDownHandler}\n {...rest}\n >\n <ToastProvider isDialogToaster={open}>\n <ToasterPopover>\n <ToasterContent id=\"dialog-toaster\" ref={toasterRef} />\n </ToasterPopover>\n </ToastProvider>\n\n <DrillDownContext.Provider value={drillDownContextProviderValue}>\n <DialogContext.Provider\n value={{\n close: () => onClose?.(),\n ref: elRef,\n hasOpenPopover,\n setHasOpenPopover,\n headerRef,\n state,\n }}\n >\n <section\n ref={contentRef}\n className={styles[\"container\"]}\n data-open={open}\n >\n <div className={styles[\"scroller\"]}>{children}</div>\n </section>\n </DialogContext.Provider>\n </DrillDownContext.Provider>\n </dialog>\n );\n }),\n {\n /** Renders the dialog title and close control. */\n Header: DialogHeader,\n /** Groups actions at the end of the dialog. */\n Footer: DialogFooter,\n /** Renders the dialog's main content region. */\n Content: DialogContent,\n /** Closes the dialog after running its own click handler. */\n CancelButton: DialogCancelButton,\n },\n);\nDialog.displayName = \"Dialog\";\nexport const DialogElement = Dialog;\n"],"names":["Close","focusables"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dialog-B2QAFibn.js","sources":["../src/components/Dialog/DialogHeader.tsx","../src/components/Dialog/DialogFooter.tsx","../src/components/Dialog/DialogContent.tsx","../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport cx from \"classnames\";\n\nimport { Text } from \"../Text\";\nimport { DialogCancelButton } from \"./DialogCancelButton\";\n\nimport styles from \"./Dialog.module.scss\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId, useMergeRefs } from \"../../hooks\";\nimport type { DataTrackingId } from \"../../types\";\nimport { useDialogContext } from \"./internal/useDialogContext\";\n\n/** @extends ComponentPropsWithoutRef<\"header\"> */\nexport type DialogHeaderProps = ComponentPropsWithoutRef<\"header\"> &\n DataTrackingId;\n\n/** Dialog heading with a built-in close control. */\nexport const DialogHeader = forwardRef<HTMLDivElement, DialogHeaderProps>(\n (props: DialogHeaderProps, ref) => {\n const { children, className, ...rest } = props;\n const { headerRef } = useDialogContext();\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"Dialog\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const headerClassNames = cx(className, styles[\"header\"]);\n\n return (\n <header\n className={headerClassNames}\n data-anv=\"dialog-header\"\n data-tracking-id={trackingId}\n ref={useMergeRefs([ref, headerRef])}\n {...rest}\n >\n <Text variant=\"headline\" el=\"h1\" className={styles[\"title\"]}>\n {children}\n </Text>\n <span className={styles[\"close-container\"]}>\n <DialogCancelButton\n className={styles[\"close-button\"]}\n size=\"small\"\n appearance=\"ghost\"\n aria-label=\"Close dialog\"\n icon={Close}\n />\n </span>\n </header>\n );\n },\n);\n\nDialogHeader.displayName = \"DialogHeader\";\n","import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./Dialog.module.scss\";\n\n/** @extends ComponentPropsWithoutRef<\"footer\"> */\nexport type DialogFooterProps = ComponentPropsWithoutRef<\"footer\"> & {\n /** Keeps the action row visible at the bottom of scrolling content. Defaults to `false`. */\n sticky?: boolean;\n};\n\n/** Action row at the end of a dialog. */\nexport const DialogFooter = forwardRef<HTMLElement, DialogFooterProps>(\n (props, ref) => {\n const { children, className, sticky = false, ...rest } = props;\n\n const footerClassNames = cx(styles[\"footer\"], className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n return (\n <footer\n className={footerClassNames}\n data-anv=\"dialog-footer\"\n ref={ref}\n {...rest}\n >\n {children}\n </footer>\n );\n },\n);\n\nDialogFooter.displayName = \"DialogFooter\";\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useState,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./Dialog.module.scss\";\nimport { useDialogContext } from \"./internal/useDialogContext\";\n\n/** @extends ComponentPropsWithoutRef<\"div\"> */\nexport type DialogContentProps = ComponentPropsWithoutRef<\"div\"> & {\n /** Pins the content below the changing header while the dialog scrolls. Defaults to `false`. */\n sticky?: boolean;\n};\n\n/** Main content region of a `Dialog`. */\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n (props, ref) => {\n const { children, className, sticky = false, ...rest } = props;\n const { headerRef } = useDialogContext();\n const [headerHeight, setHeaderHeight] = useState(0);\n\n useEffect(() => {\n const headerElement = headerRef?.current;\n if (!sticky || !headerElement) return;\n\n const updateHeight = () => {\n setHeaderHeight(headerElement.offsetHeight || 0);\n };\n\n updateHeight();\n const resizeObserver = new ResizeObserver(updateHeight);\n resizeObserver.observe(headerElement);\n\n return () => resizeObserver.disconnect();\n }, [sticky, headerRef]);\n\n const contentClassNames = cx(styles[\"content\"], className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n const stickyStyle = sticky ? { top: `${headerHeight}px` } : undefined;\n\n return (\n <div\n className={contentClassNames}\n data-anv=\"dialog-content\"\n ref={ref}\n style={{ ...stickyStyle, ...rest.style }}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDialogContent.displayName = \"DialogContent\";\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type KeyboardEvent,\n useMemo,\n useLayoutEffect,\n} from \"react\";\nimport { DialogHeader } from \"./DialogHeader\";\nimport { DialogFooter } from \"./DialogFooter\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogCancelButton } from \"./DialogCancelButton\";\nimport {\n type OpenCloseTransitionStateEffects,\n useDialogScrollLock,\n useDialogTransitionStates,\n useKeyboardFocusables,\n useOnClickOutside,\n} from \"../../internal/hooks\";\nimport type {\n FocusableElement,\n DisableCloseOnEscapeOrClickProps,\n Size,\n} from \"../../types\";\nimport { registerLayer, unregisterLayer } from \"../../internal/utils\";\nimport {\n DialogContext,\n type DialogContextProps,\n} from \"./internal/DialogContext\";\nimport {\n DrillDownContext,\n type DrillDownContextProps,\n} from \"../DrillDown/internal/DrillDownContext\";\nimport { useDrillDownContextState } from \"../DrillDown/internal/useDrillDownContextState\";\nimport styles from \"./Dialog.module.scss\";\nimport drillDownStyles from \"../DrillDown/DrillDown.module.scss\";\nimport { useMergeRefs } from \"../../hooks\";\nimport cx from \"classnames\";\n\nimport { ToastProvider } from \"../Toast/internal/ToastProvider\";\nimport { ToasterPopover } from \"../Toast/internal/ToasterPopover\";\nimport { ToasterContent } from \"../Toast/internal/Toaster\";\nimport { useInitialFocus } from \"./internal/useInitialFocus\";\n\n/**\n * @extends ComponentPropsWithoutRef<\"dialog\">\n * @extends OpenCloseTransitionStateEffects\n * @extends DisableCloseOnEscapeOrClickProps\n */\nexport type DialogProps = ComponentPropsWithoutRef<\"dialog\"> &\n OpenCloseTransitionStateEffects &\n DisableCloseOnEscapeOrClickProps & {\n /** Expands the dialog to the viewport instead of using `size`. Defaults to `false`. */\n fullScreen?: boolean;\n /** Width preset used outside full-screen mode. Defaults to `medium`. */\n size?: Extract<Size, \"medium\" | \"large\" | \"xlarge\">;\n\n /** Controls whether the dialog is shown. Defaults to `false`. */\n open?: boolean;\n /** Called by Escape, outside-click, and `Dialog.CancelButton` close actions. */\n onClose?: () => void;\n /** Called on an outside click even when that click is not allowed to close the dialog. */\n onClickOutside?: (e: globalThis.MouseEvent) => void;\n /** Allows scrolling to continue into the page instead of locking the shadow host. */\n enableScrollChaining?: boolean;\n /**\n * Chooses initial focus from the dialog's tabbable elements. By default,\n * cancel buttons are skipped when another target is available.\n */\n initialFocusResolver?: (focusables: FocusableElement[]) => FocusableElement;\n /** DrillDown panel opened when navigation begins. Defaults to index `0`. */\n defaultDrillDownIndex?: DrillDownContextProps[\"index\"];\n /** Receives the current DrillDown controls and whether the dialog is interactive. */\n onDrillDownContextChange?: (context: DrillDownContextProps) => void;\n };\n\n/**\n * Controlled modal dialog with focus trapping, animated transitions, and\n * compound header, content, footer, and cancel-button regions.\n */\nexport const Dialog = Object.assign(\n forwardRef<HTMLDialogElement, DialogProps>(function DialogInner(props, ref) {\n const {\n className,\n open = false,\n children,\n onClose,\n onKeyDown,\n fullScreen = false,\n disableCloseOnEscape = false,\n onClickOutside,\n disableCloseOnClickOutside = false,\n size,\n enableScrollChaining,\n onOpenAnimationStart,\n onOpenAnimationComplete,\n onCloseAnimationStart,\n onCloseAnimationComplete,\n initialFocusResolver,\n defaultDrillDownIndex,\n onDrillDownContextChange,\n ...rest\n } = props;\n\n const elRef = useRef<HTMLDialogElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const toasterRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLElement>(null);\n\n const [hasOpenPopover, setHasOpenPopover] =\n useState<DialogContextProps[\"hasOpenPopover\"]>(false);\n\n const drillDownContextValue = useDrillDownContextState({\n defaultDrillDownIndex,\n });\n\n const id = useId();\n\n const { state, isOpenOrOpening } = useDialogTransitionStates(elRef, open, {\n onOpenAnimationStart: useCallback(() => {\n onOpenAnimationStart?.();\n }, [onOpenAnimationStart]),\n onOpenAnimationComplete: useCallback(() => {\n onOpenAnimationComplete?.();\n }, [onOpenAnimationComplete]),\n onCloseAnimationStart: useCallback(() => {\n onCloseAnimationStart?.();\n }, [onCloseAnimationStart]),\n onCloseAnimationComplete: useCallback(() => {\n onCloseAnimationComplete?.();\n }, [onCloseAnimationComplete]),\n });\n\n const previousOpenRef = useRef(open);\n\n useLayoutEffect(() => {\n if (open && !previousOpenRef.current) {\n drillDownContextValue.setHostTrigger?.(\n document.activeElement instanceof HTMLElement\n ? document.activeElement\n : null,\n );\n }\n }, [open, drillDownContextValue]);\n\n useEffect(() => {\n previousOpenRef.current = open;\n }, [open]);\n\n useEffect(() => {\n if (state === \"closing\") {\n drillDownContextValue.onHostClose?.();\n }\n }, [state, drillDownContextValue]);\n\n useEffect(() => {\n if (state === \"closed\") {\n drillDownContextValue.onHostClosed?.();\n }\n }, [state, drillDownContextValue]);\n\n const drillDownContextProviderValue = useMemo(\n () => ({\n ...drillDownContextValue,\n hostIsInteractive: state !== \"closing\" && state !== \"closed\",\n }),\n [drillDownContextValue, state],\n );\n\n useLayoutEffect(() => {\n onDrillDownContextChange?.(drillDownContextProviderValue);\n }, [drillDownContextProviderValue]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const initial = useRef(true);\n useEffect(() => {\n if (initial.current) {\n initial.current = false;\n }\n }, [id, isOpenOrOpening]);\n\n const classNames = cx([styles.dialog, drillDownStyles.dialog], className, {\n [styles[\"closing\"]]: state === \"closing\",\n [styles[\"fullscreen\"]]: fullScreen,\n ...(size && size !== \"medium\" && { [styles[size]]: true }),\n });\n\n const { focusables } = useKeyboardFocusables(contentRef, {\n observeChange: true,\n });\n\n useDialogScrollLock({\n open: isOpenOrOpening,\n id,\n enableScrollChaining,\n elementRef: elRef,\n });\n\n useEffect(() => {\n if (open) {\n registerLayer(id);\n } else {\n unregisterLayer(id);\n }\n\n return () => {\n unregisterLayer(id);\n };\n }, [open, id]);\n\n useOnClickOutside({\n onClickOutsideBegin: (e) => {\n if (!open) return;\n onClickOutside?.(e);\n },\n targets: [\n contentRef.current as HTMLElement,\n toasterRef.current as HTMLElement,\n ],\n onClickOutside: () => {\n if (disableCloseOnClickOutside || !open) return;\n onClose?.();\n },\n layerId: id,\n });\n\n const computeFocus = useCallback((focusables: FocusableElement[]) => {\n return (\n focusables.find(\n (focusable) => focusable.dataset.anv !== \"dialog-cancel-button\",\n ) || focusables[0]\n );\n }, []);\n\n useInitialFocus(elRef, {\n computeFocus: initialFocusResolver || computeFocus,\n });\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLDialogElement>) => {\n onKeyDown?.(e);\n if (e.code === \"Escape\") {\n e.preventDefault();\n if (disableCloseOnEscape) return;\n if (hasOpenPopover) return;\n onClose?.();\n return;\n }\n\n if (e.code === \"Tab\") {\n if (e.shiftKey && e.target === focusables?.[0]) {\n e.preventDefault();\n (focusables[focusables.length - 1] as HTMLElement)?.focus();\n return;\n }\n if (e.target === focusables?.[focusables.length - 1] && !e.shiftKey) {\n e.preventDefault();\n focusables[0].focus();\n return;\n }\n }\n };\n\n return (\n <dialog\n className={classNames}\n data-anv=\"dialog\"\n data-anv-scroll-chaining={enableScrollChaining}\n data-anv-transition-state={state}\n ref={useMergeRefs([ref, elRef])}\n onKeyDown={onKeyDownHandler}\n {...rest}\n >\n <ToastProvider isDialogToaster={open}>\n <ToasterPopover>\n <ToasterContent id=\"dialog-toaster\" ref={toasterRef} />\n </ToasterPopover>\n </ToastProvider>\n\n <DrillDownContext.Provider value={drillDownContextProviderValue}>\n <DialogContext.Provider\n value={{\n close: () => onClose?.(),\n ref: elRef,\n hasOpenPopover,\n setHasOpenPopover,\n headerRef,\n state,\n }}\n >\n <section\n ref={contentRef}\n className={styles[\"container\"]}\n data-open={open}\n >\n <div className={styles[\"scroller\"]}>{children}</div>\n </section>\n </DialogContext.Provider>\n </DrillDownContext.Provider>\n </dialog>\n );\n }),\n {\n /** Renders the dialog title and close control. */\n Header: DialogHeader,\n /** Groups actions at the end of the dialog. */\n Footer: DialogFooter,\n /** Renders the dialog's main content region. */\n Content: DialogContent,\n /** Closes the dialog after running its own click handler. */\n CancelButton: DialogCancelButton,\n },\n);\nDialog.displayName = \"Dialog\";\nexport const DialogElement = Dialog;\n"],"names":["Close","focusables"],"mappings":"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"}
|
package/dist/Dialog.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as Dialog, D as default } from './Dialog-
|
|
1
|
+
export { D as Dialog, D as default } from './Dialog-B2QAFibn.js';
|
|
2
2
|
//# sourceMappingURL=Dialog.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useContext, forwardRef } from 'react';
|
|
3
|
-
import { B as Button } from './Button-
|
|
3
|
+
import { B as Button } from './Button-Dn6-01xl.js';
|
|
4
4
|
import { D as DialogContext } from './DialogContext-DBgtApl9.js';
|
|
5
5
|
import { useTrackingId } from './useTrackingId.js';
|
|
6
6
|
|
|
@@ -47,4 +47,4 @@ const DialogCancelButton = forwardRef((props, ref) => {
|
|
|
47
47
|
DialogCancelButton.displayName = "DialogCancelButton";
|
|
48
48
|
|
|
49
49
|
export { DialogCancelButton as D, useDialogContext as u };
|
|
50
|
-
//# sourceMappingURL=DialogCancelButton-
|
|
50
|
+
//# sourceMappingURL=DialogCancelButton-C0r8hJ8Z.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogCancelButton-
|
|
1
|
+
{"version":3,"file":"DialogCancelButton-C0r8hJ8Z.js","sources":["../src/components/Dialog/internal/useDialogContext.ts","../src/components/Dialog/DialogCancelButton.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { DialogContext } from \"./DialogContext\";\n\nexport function useDialogContext() {\n const context = useContext(DialogContext);\n if (!context) {\n throw new Error(\n \"useDialogContext must be used within a DialogContextProvider\",\n );\n }\n return context;\n}\n","import { type MouseEvent, forwardRef } from \"react\";\nimport { Button, type ButtonProps } from \"../Button\";\nimport { useDialogContext } from \"./internal/useDialogContext\";\nimport type { DataTrackingId } from \"../../types\";\nimport { useTrackingId } from \"../../hooks\";\n\n/** @extends ButtonProps */\nexport type DialogCancelButtonProps = ButtonProps & DataTrackingId;\n\n/** Button that runs its click handler before closing the enclosing dialog. */\nexport const DialogCancelButton = forwardRef<\n HTMLButtonElement,\n DialogCancelButtonProps\n>((props, ref) => {\n const { onClick, ...rest } = props;\n const { close } = useDialogContext();\n const data = {\n title: props.title,\n appearance: props.appearance,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"DialogCancelButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n const onClickHandler = (e: MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n close();\n };\n return (\n <Button\n aria-label=\"Close dialog\"\n data-anv=\"dialog-cancel-button\"\n data-tracking-id={trackingId}\n onClick={onClickHandler}\n ref={ref}\n {...rest}\n />\n );\n});\n\nDialogCancelButton.displayName = \"DialogCancelButton\";\n"],"names":[],"mappings":";;;;;;AAGO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,OAAA,GAAU,WAAW,aAAa,CAAA;AACxC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACA,EAAA,OAAO,OAAA;AACT;;ACDO,MAAM,kBAAA,GAAqB,UAAA,CAGhC,CAAC,KAAA,EAAO,GAAA,KAAQ;AAChB,EAAA,MAAM,EAAE,OAAA,EAAS,GAAG,IAAA,EAAK,GAAI,KAAA;AAC7B,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,gBAAA,EAAiB;AACnC,EAAA,MAAM,IAAA,GAAO;AAAA,IACX,OAAO,KAAA,CAAM,KAAA;AAAA,IACb,YAAY,KAAA,CAAM,UAAA;AAAA,IAClB,MAAM,KAAA,CAAM,IAAA;AAAA,IACZ,MAAM,KAAA,CAAM;AAAA,GACd;AAEA,EAAA,MAAM,aAAa,aAAA,CAAc;AAAA,IAC/B,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA;AAAA,IACA,WAAA,EAAa,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,GACxC,CAAA;AACD,EAAA,MAAM,cAAA,GAAiB,CAAC,CAAA,KAAqC;AAC3D,IAAA,OAAA,GAAU,CAAC,CAAA;AACX,IAAA,KAAA,EAAM;AAAA,EACR,CAAA;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAW,cAAA;AAAA,MACX,UAAA,EAAS,sBAAA;AAAA,MACT,kBAAA,EAAkB,UAAA;AAAA,MAClB,OAAA,EAAS,cAAA;AAAA,MACT,GAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;AAED,kBAAA,CAAmB,WAAA,GAAc,oBAAA;;;;"}
|