@servicetitan/anvil2 3.4.2 → 3.6.0
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 +46 -0
- package/dist/{AiMark-BLBxE1Oj.js → AiMark-voHPSerQ.js} +27 -12
- package/dist/{AiMark-BLBxE1Oj.js.map → AiMark-voHPSerQ.js.map} +1 -1
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-nwycCmiL.js → Alert-CPe0yh6A.js} +3 -3
- package/dist/{Alert-nwycCmiL.js.map → Alert-CPe0yh6A.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-4w6XjLcB.js → Announcement-DU0J4111.js} +3 -3
- package/dist/{Announcement-4w6XjLcB.js.map → Announcement-DU0J4111.js.map} +1 -1
- package/dist/Announcement.js +1 -1
- package/dist/{AnvilProvider-BQsp0VPq.js → AnvilProvider-b3gvW6Md.js} +4 -39
- package/dist/AnvilProvider-b3gvW6Md.js.map +1 -0
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Breadcrumbs-DbV4ld8s.js → Breadcrumbs-VzOM2nBU.js} +4 -4
- package/dist/{Breadcrumbs-DbV4ld8s.js.map → Breadcrumbs-VzOM2nBU.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-CjeF1Agb.js → Button-BNzCI47m.js} +2 -2
- package/dist/{Button-CjeF1Agb.js.map → Button-BNzCI47m.js.map} +1 -1
- package/dist/Button.js +1 -1
- package/dist/{ButtonLink-BSReBbc3.js → ButtonLink-PlW08u41.js} +2 -2
- package/dist/{ButtonLink-BSReBbc3.js.map → ButtonLink-PlW08u41.js.map} +1 -1
- package/dist/ButtonLink.js +1 -1
- package/dist/{ButtonToggle-CnOsM7-u.js → ButtonToggle-DBGc7dIn.js} +2 -2
- package/dist/{ButtonToggle-CnOsM7-u.js.map → ButtonToggle-DBGc7dIn.js.map} +1 -1
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-DqQczZgw.js → Calendar-CekTYzdT.js} +8 -3
- package/dist/Calendar-CekTYzdT.js.map +1 -0
- package/dist/{Calendar-B6DqiqoX.js → Calendar-MRUB0XU7.js} +2 -2
- package/dist/Calendar-MRUB0XU7.js.map +1 -0
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-sgpRzk6a.js → Checkbox-C3rtd-Xe.js} +4 -4
- package/dist/{Checkbox-sgpRzk6a.js.map → Checkbox-C3rtd-Xe.js.map} +1 -1
- package/dist/{Checkbox-BkjA8p3F.js → Checkbox-zz9TyZWn.js} +2 -2
- package/dist/{Checkbox-BkjA8p3F.js.map → Checkbox-zz9TyZWn.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-DvmMbb5g.js → Chip-CxgryK86.js} +3 -3
- package/dist/{Chip-DvmMbb5g.js.map → Chip-CxgryK86.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-DUTfew48.js → DataTable-BpqLvU92.js} +23 -9
- package/dist/{DataTable-DUTfew48.js.map → DataTable-BpqLvU92.js.map} +1 -1
- package/dist/{DateFieldRange-CjjqTRNu.js → DateFieldRange-CP7QgS6P.js} +5 -5
- package/dist/{DateFieldRange-CjjqTRNu.js.map → DateFieldRange-CP7QgS6P.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-dSrWge6Y.js → DateFieldSingle-CgMPTi1v.js} +5 -5
- package/dist/{DateFieldSingle-dSrWge6Y.js.map → DateFieldSingle-CgMPTi1v.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-CuYYEkOz.js → DateFieldYearless-DYjvqxRb.js} +4 -4
- package/dist/{DateFieldYearless-CuYYEkOz.js.map → DateFieldYearless-DYjvqxRb.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-CHj9OXZK.js → DateFieldYearlessRange-lQdJGOaS.js} +4 -4
- package/dist/DateFieldYearlessRange-lQdJGOaS.js.map +1 -0
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-DXzW04I1.js → DaysOfTheWeek-Ci-SKebP.js} +3 -3
- package/dist/{DaysOfTheWeek-DXzW04I1.js.map → DaysOfTheWeek-Ci-SKebP.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-Xb49PJ-r.js → Details-DkteVZbk.js} +2 -2
- package/dist/{Details-Xb49PJ-r.js.map → Details-DkteVZbk.js.map} +1 -1
- package/dist/Details.js +1 -1
- package/dist/{Dialog-l0UzKEU0.js → Dialog-BxulNN8n.js} +22 -22
- package/dist/{Dialog-l0UzKEU0.js.map → Dialog-BxulNN8n.js.map} +1 -1
- package/dist/Dialog.css +32 -31
- package/dist/Dialog.js +1 -1
- package/dist/{DialogCancelButton-CIGGMaOE.js → DialogCancelButton-DmSUPuCR.js} +2 -2
- package/dist/{DialogCancelButton-CIGGMaOE.js.map → DialogCancelButton-DmSUPuCR.js.map} +1 -1
- package/dist/Dnd.js +2 -2
- package/dist/{DndHandleButton-B_Geiaeb.js → DndHandleButton-Ck5nc8w2.js} +2 -2
- package/dist/{DndHandleButton-B_Geiaeb.js.map → DndHandleButton-Ck5nc8w2.js.map} +1 -1
- package/dist/DndSort.js +2 -2
- package/dist/{Drawer-DaE-1UgB.js → Drawer-_spmOgwH.js} +5 -5
- package/dist/{Drawer-DaE-1UgB.js.map → Drawer-_spmOgwH.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-2Qt5-k2B.js → EditCard-ZpF032WP.js} +4 -4
- package/dist/{EditCard-2Qt5-k2B.js.map → EditCard-ZpF032WP.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-BgVl8hnF.js → FieldLabel-Cm5A1Jcx.js} +3 -3
- package/dist/{FieldLabel-BgVl8hnF.js.map → FieldLabel-Cm5A1Jcx.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/{FilterBar-CryC93pB.js → FilterBar-CvyMubuw.js} +29 -8
- package/dist/FilterBar-CvyMubuw.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/Icon-B4uCvMU9.js +107 -0
- package/dist/Icon-B4uCvMU9.js.map +1 -0
- package/dist/Icon.js +1 -1
- package/dist/{InputMask-Bc0nDHzb.js → InputMask-CX6XiOOm.js} +3 -3
- package/dist/{InputMask-Bc0nDHzb.js.map → InputMask-CX6XiOOm.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{InteractiveCard-CyUR_VLW.js → InteractiveCard-C0g5PxB6.js} +5 -2
- package/dist/InteractiveCard-C0g5PxB6.js.map +1 -0
- package/dist/InteractiveCard.js +1 -1
- package/dist/{Link-DI4eVVdI.js → Link-C7dtI5K6.js} +2 -2
- package/dist/{Link-DI4eVVdI.js.map → Link-C7dtI5K6.js.map} +1 -1
- package/dist/Link.js +1 -1
- package/dist/LinkButton-C0wps8r1.js.map +1 -1
- package/dist/{ListView-Blmts4nT.js → ListView-DpveXOsN.js} +2 -2
- package/dist/{ListView-Blmts4nT.js.map → ListView-DpveXOsN.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-DkzL11gb.js → Listbox-Cdwaofd2.js} +21 -21
- package/dist/Listbox-Cdwaofd2.js.map +1 -0
- package/dist/Listbox.js +1 -1
- package/dist/{Menu-BAya9Qnd.js → Menu-DmEXQLXt.js} +3 -3
- package/dist/{Menu-BAya9Qnd.js.map → Menu-DmEXQLXt.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{MenuFooter-BZTsAaOz.js → MenuFooter-Ck9L599M.js} +2 -2
- package/dist/{MenuFooter-BZTsAaOz.js.map → MenuFooter-Ck9L599M.js.map} +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-CSIU43BR.js → MultiSelectFieldSync-BHST0FEe.js} +14 -12
- package/dist/MultiSelectFieldSync-BHST0FEe.js.map +1 -0
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-CkjXjnXp.js → MultiSelectMenuSync-BaKxbMLu.js} +24 -11
- package/dist/MultiSelectMenuSync-BaKxbMLu.js.map +1 -0
- package/dist/{NumberField-Dp5tJkMC.js → NumberField-CjC6KHKl.js} +5 -5
- package/dist/NumberField-CjC6KHKl.js.map +1 -0
- package/dist/NumberField.js +1 -1
- package/dist/Overflow.js.map +1 -1
- package/dist/{Page-gMaR1lF5.js → Page-BreBQ3pG.js} +12 -12
- package/dist/{Page-gMaR1lF5.js.map → Page-BreBQ3pG.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Pagination-CfCUqyzB.js → Pagination-CmqAut6y.js} +5 -5
- package/dist/{Pagination-CfCUqyzB.js.map → Pagination-CmqAut6y.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-80nFjp83.js → Popover-CdRuNv3C.js} +3 -3
- package/dist/{Popover-80nFjp83.js.map → Popover-CdRuNv3C.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-3TSTcvbU.js → ProgressBar-065vjsQ0.js} +3 -3
- package/dist/{ProgressBar-3TSTcvbU.js.map → ProgressBar-065vjsQ0.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-Dk7dH0oM.js → Radio-D9w_-JYw.js} +2 -2
- package/dist/{Radio-Dk7dH0oM.js.map → Radio-D9w_-JYw.js.map} +1 -1
- package/dist/{Radio-B30z0TdG.js → Radio-dyLcVmUw.js} +4 -4
- package/dist/{Radio-B30z0TdG.js.map → Radio-dyLcVmUw.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-DLIh_mzJ.js → RichTextEditor-byoMZaJy.js} +14172 -7454
- package/dist/RichTextEditor-byoMZaJy.js.map +1 -0
- package/dist/RichTextEditor.css +42 -40
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-Cd_cOR1F.js → SavedFiltersButton-DlzfvW03.js} +10 -10
- package/dist/{SavedFiltersButton-Cd_cOR1F.js.map → SavedFiltersButton-DlzfvW03.js.map} +1 -1
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/{SearchField-BfOMhmIc.js → SearchField-B7fIOJf-.js} +2 -2
- package/dist/{SearchField-BfOMhmIc.js.map → SearchField-B7fIOJf-.js.map} +1 -1
- package/dist/{SearchField-D9ZMOcbo.js → SearchField-X4B7f23E.js} +3 -3
- package/dist/{SearchField-D9ZMOcbo.js.map → SearchField-X4B7f23E.js.map} +1 -1
- package/dist/SearchField.js +1 -1
- package/dist/{SegmentedControl-fBjqazBR.js → SegmentedControl-Be6jCglV.js} +2 -2
- package/dist/{SegmentedControl-fBjqazBR.js.map → SegmentedControl-Be6jCglV.js.map} +1 -1
- package/dist/SegmentedControl.js +1 -1
- package/dist/{SelectCard-BXXKD4Iy.js → SelectCard-CMSG_ba1.js} +4 -4
- package/dist/{SelectCard-BXXKD4Iy.js.map → SelectCard-CMSG_ba1.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-Dfdv0DQp.js → SelectFieldLabel-dKVBaki2.js} +2 -2
- package/dist/{SelectFieldLabel-Dfdv0DQp.js.map → SelectFieldLabel-dKVBaki2.js.map} +1 -1
- package/dist/{SelectFieldSync-BQIbfdka.js → SelectFieldSync-BqL3zlbZ.js} +8 -8
- package/dist/SelectFieldSync-BqL3zlbZ.js.map +1 -0
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-nFfKdEiV.js → SelectMenuSync-BRvi9YTw.js} +6 -6
- package/dist/{SelectMenuSync-nFfKdEiV.js.map → SelectMenuSync-BRvi9YTw.js.map} +1 -1
- package/dist/{SelectOptions-BjJ0JoQX.js → SelectOptions-LUHWLYgJ.js} +2 -2
- package/dist/{SelectOptions-BjJ0JoQX.js.map → SelectOptions-LUHWLYgJ.js.map} +1 -1
- package/dist/{SelectTrigger-BgzPogSC.js → SelectTrigger-APxYfL3V.js} +3 -3
- package/dist/SelectTrigger-APxYfL3V.js.map +1 -0
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-CnyyaWl-.js → SelectTriggerBase-lYieONTb.js} +4 -4
- package/dist/{SelectTriggerBase-CnyyaWl-.js.map → SelectTriggerBase-lYieONTb.js.map} +1 -1
- package/dist/{SideNav-BFkruKa4.js → SideNav-DoxX8Vi-.js} +6 -3
- package/dist/{SideNav-BFkruKa4.js.map → SideNav-DoxX8Vi-.js.map} +1 -1
- package/dist/SideNav.js +1 -1
- package/dist/{Stepper-Bp5XkY2q.js → Stepper-CvaR7OoT.js} +3 -3
- package/dist/{Stepper-Bp5XkY2q.js.map → Stepper-CvaR7OoT.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-BlIZayq6.js → Switch-Bm3qqjd6.js} +3 -3
- package/dist/{Switch-BlIZayq6.js.map → Switch-Bm3qqjd6.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/{Tab-FOIali7o.js → Tab-Cy4G562A.js} +2 -2
- package/dist/{Tab-FOIali7o.js.map → Tab-Cy4G562A.js.map} +1 -1
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-LXIB1J3C.js → Text-mDcQHC2U.js} +2 -2
- package/dist/{Text-LXIB1J3C.js.map → Text-mDcQHC2U.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-Syedf1LW.js → TextField-CUVsDfWo.js} +3 -3
- package/dist/{TextField-Syedf1LW.js.map → TextField-CUVsDfWo.js.map} +1 -1
- package/dist/{TextField-fE3_0jQJ.js → TextField-WQTlqKso.js} +2 -2
- package/dist/TextField-WQTlqKso.js.map +1 -0
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-CIAHsoWa.js → Textarea-CW3KGuB9.js} +3 -3
- package/dist/{Textarea-CIAHsoWa.js.map → Textarea-CW3KGuB9.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{TimeField-B3yhtYZm.js → TimeField-JA3gXyS7.js} +5 -5
- package/dist/{TimeField-B3yhtYZm.js.map → TimeField-JA3gXyS7.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-BM998ekj.js → Toaster-DMZng3Im.js} +4 -4
- package/dist/{Toaster-BM998ekj.js.map → Toaster-DMZng3Im.js.map} +1 -1
- package/dist/{Toaster-DDKuhPXX.js → Toaster-fPcgIF7Q.js} +2 -2
- package/dist/{Toaster-DDKuhPXX.js.map → Toaster-fPcgIF7Q.js.map} +1 -1
- package/dist/{Toolbar-DMUTGhNa.js → Toolbar-BfGcDXgC.js} +8 -8
- package/dist/{Toolbar-DMUTGhNa.js.map → Toolbar-BfGcDXgC.js.map} +1 -1
- package/dist/{Toolbar-DD1ieJNQ.js → Toolbar-Dlu39v69.js} +6 -6
- package/dist/{Toolbar-DD1ieJNQ.js.map → Toolbar-Dlu39v69.js.map} +1 -1
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-DsaG1BWZ.js → ToolbarButtonToggle-3xbnm1Qr.js} +7 -4
- package/dist/ToolbarButtonToggle-3xbnm1Qr.js.map +1 -0
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-C-mUoPrS.js → TreeSelectFieldSync-CdtC8d3Q.js} +6 -6
- package/dist/{TreeSelectFieldSync-C-mUoPrS.js.map → TreeSelectFieldSync-CdtC8d3Q.js.map} +1 -1
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-BWVk3vWK.js → TreeSelectMenuSync-CPuQWUNU.js} +5 -5
- package/dist/{TreeSelectMenuSync-BWVk3vWK.js.map → TreeSelectMenuSync-CPuQWUNU.js.map} +1 -1
- package/dist/{TypeaheadTextField-DX3MZTgl.js → TypeaheadTextField-BkLECKZY.js} +3 -3
- package/dist/TypeaheadTextField-BkLECKZY.js.map +1 -0
- package/dist/TypeaheadTextField.js +1 -1
- package/dist/{YearlessDateInputWithPicker-KRKpi1-s.js → YearlessDateInputWithPicker-Bd8JnTaZ.js} +3 -3
- package/dist/{YearlessDateInputWithPicker-KRKpi1-s.js.map → YearlessDateInputWithPicker-Bd8JnTaZ.js.map} +1 -1
- package/dist/beta.js +17 -17
- package/dist/{useToggleSelection-B8OnmX8Q.js → bulkActionTypes-DPC382hi.js} +8 -3
- package/dist/bulkActionTypes-DPC382hi.js.map +1 -0
- package/dist/{filter-state-6m-E0d1i.js → filter-state-BdfBSXYO.js} +346 -68
- package/dist/filter-state-BdfBSXYO.js.map +1 -0
- package/dist/{index-BxdhXRLp.js → index-B7BIlotN.js} +289 -1074
- package/dist/index-B7BIlotN.js.map +1 -0
- package/dist/{index-Bg9IAYMO.js → index-SZMmvI3D.js} +2 -2
- package/dist/{index-Bg9IAYMO.js.map → index-SZMmvI3D.js.map} +1 -1
- package/dist/index.js +55 -55
- package/dist/src/beta/components/Calendar/Calendar.d.ts +19 -0
- package/dist/src/beta/components/Calendar/Calendar.figma.d.ts +1 -0
- package/dist/src/beta/components/FilterBar/FilterSearchField.d.ts +28 -0
- package/dist/src/beta/components/FilterBar/index.d.ts +1 -1
- package/dist/src/beta/components/FilterBar/internal/adapters/search.d.ts +3 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +2 -1
- package/dist/src/beta/components/FilterBar/internal/types.d.ts +72 -6
- package/dist/src/beta/components/FilterBar/internal/utils/dateConstraints.d.ts +38 -0
- package/dist/src/beta/components/FilterBar/internal/utils/test.d.ts +2 -1
- package/dist/src/beta/components/InteractiveCard/InteractiveCard.figma.d.ts +1 -0
- package/dist/src/beta/components/InteractiveCard/types.d.ts +3 -3
- package/dist/src/beta/components/RichTextEditor/RichTextEditor.d.ts +4 -2
- package/dist/src/beta/components/RichTextEditor/RichTextEditor.figma.d.ts +1 -0
- package/dist/src/beta/components/RichTextEditor/internal/RichTextEditorProvider.d.ts +1 -1
- package/dist/src/beta/components/RichTextEditor/internal/extensions/SafeImageExtension.d.ts +13 -0
- package/dist/src/beta/components/RichTextEditor/internal/useRichTextEditor.d.ts +2 -2
- package/dist/src/beta/components/RichTextEditor/types.d.ts +42 -1
- package/dist/src/beta/components/Table/DataTable/DataTable.figma.d.ts +1 -0
- package/dist/src/beta/components/Toolbar/Toolbar.figma.d.ts +1 -0
- package/dist/src/beta/components/TypeaheadTextField/TypeaheadTextField.d.ts +19 -0
- package/dist/src/components/AiMark/AiMark.figma.d.ts +1 -0
- package/dist/src/components/ButtonLink/ButtonLink.figma.d.ts +1 -0
- package/dist/src/components/ButtonToggle/ButtonToggle.figma.d.ts +1 -0
- package/dist/src/components/Combobox/Combobox.d.ts +8 -4
- package/dist/src/components/Combobox/ComboboxSelect.d.ts +2 -2
- package/dist/src/components/DateFieldRange/DateFieldRange.d.ts +21 -0
- package/dist/src/components/DateFieldRange/DateFieldRange.figma.d.ts +1 -0
- package/dist/src/components/DateFieldSingle/DateFieldSingle.d.ts +20 -0
- package/dist/src/components/DateFieldSingle/DateFieldSingle.figma.d.ts +1 -0
- package/dist/src/components/DateFieldYearless/DateFieldYearless.figma.d.ts +1 -0
- package/dist/src/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +19 -0
- package/dist/src/components/DateFieldYearlessRange/DateFieldYearlessRange.figma.d.ts +1 -0
- package/dist/src/components/DaysOfTheWeek/DaysOfTheWeek.figma.d.ts +1 -0
- package/dist/src/components/Details/Details.figma.d.ts +1 -0
- package/dist/src/components/Dialog/Dialog.figma.d.ts +1 -0
- package/dist/src/components/Dnd/Dnd.figma.d.ts +1 -0
- package/dist/src/components/DndSort/DndSort.figma.d.ts +1 -0
- package/dist/src/components/Drawer/Drawer.figma.d.ts +1 -0
- package/dist/src/components/FieldLabel/FieldLabel.d.ts +36 -0
- package/dist/src/components/Layout/Layout.figma.d.ts +1 -0
- package/dist/src/components/LinkButton/LinkButton.d.ts +13 -0
- package/dist/src/components/LinkButton/LinkButton.figma.d.ts +1 -0
- package/dist/src/components/ListView/ListView.figma.d.ts +1 -0
- package/dist/src/components/Listbox/Listbox.d.ts +3 -3
- package/dist/src/components/Listbox/Listbox.figma.d.ts +1 -0
- package/dist/src/components/Menu/Menu.figma.d.ts +1 -0
- package/dist/src/components/MultiSelectField/MultiSelectField.figma.d.ts +1 -0
- package/dist/src/components/MultiSelectField/types.d.ts +3 -0
- package/dist/src/components/MultiSelectMenu/MultiSelectMenu.figma.d.ts +1 -0
- package/dist/src/components/MultiSelectMenu/types.d.ts +5 -0
- package/dist/src/components/NumberField/NumberField.d.ts +21 -0
- package/dist/src/components/NumberField/NumberField.figma.d.ts +1 -0
- package/dist/src/components/Overflow/Overflow.d.ts +22 -0
- package/dist/src/components/Overflow/Overflow.figma.d.ts +1 -0
- package/dist/src/components/Page/Page.figma.d.ts +1 -0
- package/dist/src/components/Pagination/Pagination.figma.d.ts +1 -0
- package/dist/src/components/Popover/Popover.figma.d.ts +1 -0
- package/dist/src/components/SearchField/SearchField.figma.d.ts +1 -0
- package/dist/src/components/SegmentedControl/SegmentedControl.figma.d.ts +1 -0
- package/dist/src/components/SelectCard/SelectCard.figma.d.ts +1 -0
- package/dist/src/components/SelectField/SelectField.figma.d.ts +1 -0
- package/dist/src/components/SelectMenu/SelectMenu.figma.d.ts +1 -0
- package/dist/src/components/SelectTrigger/SelectTrigger.d.ts +19 -0
- package/dist/src/components/SideNav/SideNav.figma.d.ts +1 -0
- package/dist/src/components/Skeleton/Skeleton.figma.d.ts +1 -0
- package/dist/src/components/Stepper/Stepper.figma.d.ts +1 -0
- package/dist/src/components/Tab/Tab.figma.d.ts +1 -0
- package/dist/src/components/Text/Text.figma.d.ts +1 -0
- package/dist/src/components/TextField/TextField.d.ts +14 -0
- package/dist/src/components/TextField/TextField.figma.d.ts +1 -0
- package/dist/src/components/Textarea/Textarea.figma.d.ts +1 -0
- package/dist/src/components/TimeField/TimeField.figma.d.ts +1 -0
- package/dist/src/internal/components/Popover/internal/PopoverContext.d.ts +4 -0
- package/dist/src/internal/types/bulkActionTypes.d.ts +27 -2
- package/dist/src/internal/utils/index.d.ts +1 -0
- package/dist/src/internal/utils/uniquifySvgDomIds.d.ts +12 -0
- package/dist/src/providers/AnvilProvider/AnvilProviderContext.d.ts +12 -0
- package/dist/{stripInlineMarkdown-mQ10Z5JU.js → stripInlineMarkdown-BZzgG-Zm.js} +2 -2
- package/dist/{stripInlineMarkdown-mQ10Z5JU.js.map → stripInlineMarkdown-BZzgG-Zm.js.map} +1 -1
- package/dist/{syncFilterUtils-DqvgB5sn.js → syncFilterUtils-Cec5y3hY.js} +5 -5
- package/dist/{syncFilterUtils-DqvgB5sn.js.map → syncFilterUtils-Cec5y3hY.js.map} +1 -1
- package/dist/{treeSync-BaEYV24N.js → treeSync-oC-VZpP0.js} +4 -4
- package/dist/{treeSync-BaEYV24N.js.map → treeSync-oC-VZpP0.js.map} +1 -1
- package/dist/{useAdaptiveView-BO9xU7Ym.js → useAdaptiveView-AvsDkChF.js} +9 -9
- package/dist/{useAdaptiveView-BO9xU7Ym.js.map → useAdaptiveView-AvsDkChF.js.map} +1 -1
- package/dist/useAdaptiveView.css +6 -4
- package/dist/{useDrilldown-22X8jHs_.js → useDrilldown-PmrZ4BXn.js} +4 -4
- package/dist/{useDrilldown-22X8jHs_.js.map → useDrilldown-PmrZ4BXn.js.map} +1 -1
- package/dist/{useInfiniteCombobox-COnx-GhH.js → useInfiniteCombobox-C78WQZx4.js} +9 -7
- package/dist/useInfiniteCombobox-C78WQZx4.js.map +1 -0
- package/dist/{useInitialFocus-BIvXK1Rp.js → useInitialFocus-BUxEDMEG.js} +2 -2
- package/dist/{useInitialFocus-BIvXK1Rp.js.map → useInitialFocus-BUxEDMEG.js.map} +1 -1
- package/dist/{usePopoverTransitionStates-B1opfxxn.js → usePopoverTransitionStates-CDXCdyKa.js} +2 -1
- package/dist/{usePopoverTransitionStates-B1opfxxn.js.map → usePopoverTransitionStates-CDXCdyKa.js.map} +1 -1
- package/package.json +17 -16
- package/dist/AnvilProvider-BQsp0VPq.js.map +0 -1
- package/dist/Calendar-B6DqiqoX.js.map +0 -1
- package/dist/Calendar-DqQczZgw.js.map +0 -1
- package/dist/DateFieldYearlessRange-CHj9OXZK.js.map +0 -1
- package/dist/FilterBar-CryC93pB.js.map +0 -1
- package/dist/Icon-BEwHECSM.js +0 -56
- package/dist/Icon-BEwHECSM.js.map +0 -1
- package/dist/InteractiveCard-CyUR_VLW.js.map +0 -1
- package/dist/Listbox-DkzL11gb.js.map +0 -1
- package/dist/MultiSelectFieldSync-CSIU43BR.js.map +0 -1
- package/dist/MultiSelectMenuSync-CkjXjnXp.js.map +0 -1
- package/dist/NumberField-Dp5tJkMC.js.map +0 -1
- package/dist/RichTextEditor-DLIh_mzJ.js.map +0 -1
- package/dist/SelectFieldSync-BQIbfdka.js.map +0 -1
- package/dist/SelectTrigger-BgzPogSC.js.map +0 -1
- package/dist/TextField-fE3_0jQJ.js.map +0 -1
- package/dist/ToolbarButtonToggle-DsaG1BWZ.js.map +0 -1
- package/dist/TypeaheadTextField-DX3MZTgl.js.map +0 -1
- package/dist/filter-state-6m-E0d1i.js.map +0 -1
- package/dist/index-BxdhXRLp.js.map +0 -1
- package/dist/useInfiniteCombobox-COnx-GhH.js.map +0 -1
- package/dist/useToggleSelection-B8OnmX8Q.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as DndHandleButton, a as DndHandle } from './DndHandleButton-
|
|
1
|
+
import { D as DndHandleButton, a as DndHandle } from './DndHandleButton-Ck5nc8w2.js';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { c as cx } from './index-De1g9FRV.js';
|
|
4
4
|
import { forwardRef } from 'react';
|
|
@@ -68,4 +68,4 @@ const Dnd = {
|
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
export { Dnd as D, DndSortLine as a, styles as s };
|
|
71
|
-
//# sourceMappingURL=index-
|
|
71
|
+
//# sourceMappingURL=index-SZMmvI3D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-SZMmvI3D.js","sources":["../src/components/Dnd/DndSortLine.tsx","../src/components/Dnd/DndZone.tsx","../src/components/Dnd/index.ts"],"sourcesContent":["import cx from \"classnames\";\n\nimport styles from \"./Dnd.module.scss\";\nimport { CSSProperties } from \"react\";\n\n/**\n * Props for the DndSortLine component\n * @extends React.ComponentPropsWithoutRef<\"div\">\n */\nexport type SortLineProps = React.ComponentPropsWithoutRef<\"div\"> & {\n /**\n * The offset of the line from the item. This is a CSS value, typically negative.\n */\n offset: string;\n /**\n * The orientation of the sort - Note this may be counterintuitive, as the line is rendered perpendicular to the sort.\n */\n orientation: \"horizontal\" | \"vertical\";\n /**\n * The position of the line relative to a target item.\n */\n position: \"before\" | \"after\";\n};\n\n/**\n * A visual indicator line that shows where an item will be dropped during drag and drop operations.\n *\n * Features:\n * - Visual feedback for drop positioning\n * - Configurable orientation (horizontal/vertical)\n * - Adjustable positioning (before/after)\n * - Customizable offset for precise placement\n * - Accessible with proper ARIA attributes\n * - Automatic CSS class management\n * - Supports all standard HTML div props\n *\n * @example\n * <DndSortLine\n * offset=\"-10px\"\n * orientation=\"vertical\"\n * position=\"after\"\n * className=\"custom-drop-line\"\n * />\n */\nexport const DndSortLine = ({\n offset,\n orientation,\n position,\n ...rest\n}: SortLineProps) => {\n const classes = cx(\n styles[\"drop-line\"],\n styles[`orientation-${orientation}`],\n styles[`position-${position}`],\n );\n\n return (\n <div\n aria-hidden\n className={classes}\n style={{ \"--a2-inline-drop-line-offset\": offset } as CSSProperties}\n {...rest}\n />\n );\n};\n","import { ElementType, forwardRef, ReactNode } from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./Dnd.module.scss\";\n\n/**\n * Props for the DndZone component\n * @extends Omit<React.ComponentPropsWithoutRef<T>, \"el\" | \"ref\">\n */\nexport type DndZoneProps<T extends ElementType = \"div\"> = {\n /**\n * The HTML element type to render. Can be any valid HTML element or React component.\n * @default \"div\"\n */\n el?: T;\n /**\n * The content to be rendered inside the drop zone.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names to apply to the drop zone.\n */\n className?: string;\n /**\n * Indicates whether a draggable item is currently over this drop zone.\n */\n isOver: boolean;\n /**\n * Indicates whether the current drag operation is valid for this drop zone.\n */\n isValid: boolean;\n /**\n * Indicates whether any item is currently being dragged.\n */\n isDragging: boolean;\n} & Omit<React.ComponentPropsWithoutRef<T>, \"el\" | \"ref\">;\n\n/**\n * Base styling component for drop zones that handles visual states and styling.\n *\n * Features:\n * - Configurable HTML element rendering with the 'el' prop\n * - Visual feedback for drag states (over, valid, dragging)\n * - Automatic CSS class management based on drag state\n * - Supports all standard HTML element props\n * - Accessible with proper ARIA attributes\n * - Flexible styling through className prop\n * - Responsive design that adapts to container\n *\n * @example\n * <DndZone\n * isOver={isOver}\n * isValid={isValid}\n * isDragging={isDragging}\n * className=\"custom-drop-zone\"\n * >\n * Drop items here\n * </DndZone>\n */\nexport const DndZone = forwardRef<HTMLDivElement, DndZoneProps<ElementType>>(\n (\n {\n el: Component = \"div\" as ElementType,\n children,\n className,\n isDragging,\n isOver,\n isValid,\n ...rest\n },\n ref,\n ) => {\n const classes = cx(className, {\n [styles[\"drop-zone\"]]: true,\n [styles[\"over-valid\"]]: isDragging && isOver && isValid,\n [styles[\"over-invalid\"]]: isDragging && isOver && !isValid,\n [styles[\"active-not-over\"]]: isDragging && !isOver,\n });\n\n return (\n <Component ref={ref} className={classes} {...rest}>\n {children}\n </Component>\n );\n },\n);\n\nDndZone.displayName = \"DndZoneBase\";\n","import { DndHandle } from \"./DndHandle\";\nimport { DndHandleButton } from \"./DndHandleButton\";\nimport { DndSortLine } from \"./DndSortLine\";\nimport { DndZone } from \"./DndZone\";\n\nexport const Dnd = {\n Handle: DndHandle,\n HandleButton: DndHandleButton,\n SortLine: DndSortLine,\n Zone: DndZone,\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AA4CO,MAAM,cAAc,CAAC;AAAA,EAC1B,MAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAqB;AACnB,EAAA,MAAM,OAAA,GAAU,EAAA;AAAA,IACd,OAAO,WAAW,CAAA;AAAA,IAClB,MAAA,CAAO,CAAA,YAAA,EAAe,WAAW,CAAA,CAAE,CAAA;AAAA,IACnC,MAAA,CAAO,CAAA,SAAA,EAAY,QAAQ,CAAA,CAAE;AAAA,GAC/B;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAW,OAAA;AAAA,MACX,KAAA,EAAO,EAAE,8BAAA,EAAgC,MAAA,EAAO;AAAA,MAC/C,GAAG;AAAA;AAAA,GACN;AAEJ;;ACLO,MAAM,OAAA,GAAU,UAAA;AAAA,EACrB,CACE;AAAA,IACE,IAAI,SAAA,GAAY,KAAA;AAAA,IAChB,QAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,OAAA,GAAU,GAAG,SAAA,EAAW;AAAA,MAC5B,CAAC,MAAA,CAAO,WAAW,CAAC,GAAG,IAAA;AAAA,MACvB,CAAC,MAAA,CAAO,YAAY,CAAC,GAAG,cAAc,MAAA,IAAU,OAAA;AAAA,MAChD,CAAC,MAAA,CAAO,cAAc,CAAC,GAAG,UAAA,IAAc,UAAU,CAAC,OAAA;AAAA,MACnD,CAAC,MAAA,CAAO,iBAAiB,CAAC,GAAG,cAAc,CAAC;AAAA,KAC7C,CAAA;AAED,IAAA,2BACG,SAAA,EAAA,EAAU,GAAA,EAAU,WAAW,OAAA,EAAU,GAAG,MAC1C,QAAA,EACH,CAAA;AAAA,EAEJ;AACF,CAAA;AAEA,OAAA,CAAQ,WAAA,GAAc,aAAA;;AClFf,MAAM,GAAA,GAAM;AAAA,EACjB,MAAA,EAAQ,SAAA;AAAA,EACR,YAAA,EAAc,eAAA;AAAA,EACd,QAAA,EAAU,WAAA;AAAA,EACV,IAAA,EAAM;AACR;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -1,75 +1,75 @@
|
|
|
1
1
|
export { DndSort, DndSortCard, DndSortZone } from './DndSort.js';
|
|
2
|
-
export { A as Alert } from './Alert-
|
|
3
|
-
export { A as AiMark } from './AiMark-
|
|
4
|
-
export { A as Announcement } from './Announcement-
|
|
2
|
+
export { A as Alert } from './Alert-CPe0yh6A.js';
|
|
3
|
+
export { A as AiMark } from './AiMark-voHPSerQ.js';
|
|
4
|
+
export { A as Announcement } from './Announcement-DU0J4111.js';
|
|
5
5
|
export { A as Avatar } from './Avatar-DX96Mxe7.js';
|
|
6
6
|
export { A as AvatarGroup } from './Avatar-CoQcOHWU.js';
|
|
7
7
|
export { B as Badge } from './Badge-BNrYBFiU.js';
|
|
8
|
-
export { B as Breadcrumbs } from './Breadcrumbs-
|
|
9
|
-
export { B as Button } from './Button-
|
|
8
|
+
export { B as Breadcrumbs } from './Breadcrumbs-VzOM2nBU.js';
|
|
9
|
+
export { B as Button } from './Button-BNzCI47m.js';
|
|
10
10
|
export { B as ButtonCompound } from './ButtonCompound-D7kA0qXr.js';
|
|
11
|
-
export { B as ButtonLink } from './ButtonLink-
|
|
12
|
-
export { B as ButtonToggle } from './ButtonToggle-
|
|
13
|
-
export { a as Calendar, g as CalendarMonth, f as CalendarMonthButton, e as CalendarNext, b as CalendarNow, d as CalendarPrev, c as CalendarYearButton } from './Calendar-
|
|
11
|
+
export { B as ButtonLink } from './ButtonLink-PlW08u41.js';
|
|
12
|
+
export { B as ButtonToggle } from './ButtonToggle-DBGc7dIn.js';
|
|
13
|
+
export { a as Calendar, g as CalendarMonth, f as CalendarMonthButton, e as CalendarNext, b as CalendarNow, d as CalendarPrev, c as CalendarYearButton } from './Calendar-CekTYzdT.js';
|
|
14
14
|
export { C as Card } from './Card-Bt0F6RTq.js';
|
|
15
|
-
export { C as Checkbox } from './Checkbox-
|
|
16
|
-
export { C as Chip } from './Chip-
|
|
17
|
-
export { C as Combobox, a as ComboboxElement, c as ComboboxList, b as ComboboxSelect, u as useInfiniteCombobox } from './useInfiniteCombobox-
|
|
18
|
-
export { D as DateFieldRange } from './DateFieldRange-
|
|
19
|
-
export { D as DateFieldSingle } from './DateFieldSingle-
|
|
20
|
-
export { D as DateFieldYearless } from './DateFieldYearless-
|
|
21
|
-
export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-
|
|
22
|
-
export { D as DaysOfTheWeek } from './DaysOfTheWeek-
|
|
23
|
-
export { D as Details } from './Details-
|
|
24
|
-
export { D as Dialog } from './Dialog-
|
|
15
|
+
export { C as Checkbox } from './Checkbox-zz9TyZWn.js';
|
|
16
|
+
export { C as Chip } from './Chip-CxgryK86.js';
|
|
17
|
+
export { C as Combobox, a as ComboboxElement, c as ComboboxList, b as ComboboxSelect, u as useInfiniteCombobox } from './useInfiniteCombobox-C78WQZx4.js';
|
|
18
|
+
export { D as DateFieldRange } from './DateFieldRange-CP7QgS6P.js';
|
|
19
|
+
export { D as DateFieldSingle } from './DateFieldSingle-CgMPTi1v.js';
|
|
20
|
+
export { D as DateFieldYearless } from './DateFieldYearless-DYjvqxRb.js';
|
|
21
|
+
export { D as DateFieldYearlessRange } from './DateFieldYearlessRange-lQdJGOaS.js';
|
|
22
|
+
export { D as DaysOfTheWeek } from './DaysOfTheWeek-Ci-SKebP.js';
|
|
23
|
+
export { D as Details } from './Details-DkteVZbk.js';
|
|
24
|
+
export { D as Dialog } from './Dialog-BxulNN8n.js';
|
|
25
25
|
export { D as Divider } from './Divider-C7fp5Xb6.js';
|
|
26
|
-
export { D as Dnd } from './index-
|
|
27
|
-
export { D as Drawer } from './Drawer-
|
|
28
|
-
export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, u as useDrillDown } from './useDrilldown-
|
|
29
|
-
export { E as EditCard } from './EditCard-
|
|
30
|
-
export { F as FieldLabel } from './FieldLabel-
|
|
26
|
+
export { D as Dnd } from './index-SZMmvI3D.js';
|
|
27
|
+
export { D as Drawer } from './Drawer-_spmOgwH.js';
|
|
28
|
+
export { D as DrillDown, b as DrillDownContent, c as DrillDownFooter, a as DrillDownHeader, d as DrillDownNextButton, e as DrillDownPrevButton, u as useDrillDown } from './useDrilldown-PmrZ4BXn.js';
|
|
29
|
+
export { E as EditCard } from './EditCard-ZpF032WP.js';
|
|
30
|
+
export { F as FieldLabel } from './FieldLabel-Cm5A1Jcx.js';
|
|
31
31
|
export { w as warnDeprecatedErrorUsage } from './utils-CM48ODEJ.js';
|
|
32
32
|
export { F as FieldMessage } from './FieldMessage-mTGdycSA.js';
|
|
33
33
|
export { F as Flex } from './Flex-Bb3iHExM.js';
|
|
34
34
|
export { G as Grid } from './Grid-ho1pGJ5L.js';
|
|
35
|
-
export { I as Icon } from './Icon-
|
|
36
|
-
export { I as InputMask } from './InputMask-
|
|
35
|
+
export { I as Icon } from './Icon-B4uCvMU9.js';
|
|
36
|
+
export { I as InputMask } from './InputMask-CX6XiOOm.js';
|
|
37
37
|
export { L as Layout, b as LayoutElement, a as LayoutItem } from './Layout-C2Q2hyLG.js';
|
|
38
|
-
export { L as Link, u as useLinkStyles } from './Link-
|
|
38
|
+
export { L as Link, u as useLinkStyles } from './Link-C7dtI5K6.js';
|
|
39
39
|
export { L as LinkButton } from './LinkButton-C0wps8r1.js';
|
|
40
40
|
export { L as List } from './List-BvzfZ9TW.js';
|
|
41
|
-
export { L as Listbox } from './Listbox-
|
|
42
|
-
export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-
|
|
43
|
-
export { M as Menu } from './Menu-
|
|
44
|
-
export { N as NumberField } from './NumberField-
|
|
41
|
+
export { L as Listbox } from './Listbox-Cdwaofd2.js';
|
|
42
|
+
export { L as ListView, a as ListViewOption, b as ListViewOptionCell } from './ListView-DpveXOsN.js';
|
|
43
|
+
export { M as Menu } from './Menu-DmEXQLXt.js';
|
|
44
|
+
export { N as NumberField } from './NumberField-CjC6KHKl.js';
|
|
45
45
|
export { Overflow, OverflowText } from './Overflow.js';
|
|
46
|
-
export { P as Page } from './Page-
|
|
47
|
-
export { P as Pagination } from './Pagination-
|
|
48
|
-
export { P as Popover } from './Popover-
|
|
49
|
-
export { P as ProgressBar } from './ProgressBar-
|
|
50
|
-
export { R as Radio } from './Radio-
|
|
51
|
-
export { S as SearchField } from './SearchField-
|
|
52
|
-
export { S as SegmentedControl, a as SegmentedControlSegment } from './SegmentedControl-
|
|
53
|
-
export { S as SelectCard } from './SelectCard-
|
|
54
|
-
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-
|
|
55
|
-
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-
|
|
56
|
-
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-
|
|
57
|
-
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-
|
|
58
|
-
export { S as SelectTrigger } from './SelectTrigger-
|
|
59
|
-
export { S as SideNav } from './SideNav-
|
|
46
|
+
export { P as Page } from './Page-BreBQ3pG.js';
|
|
47
|
+
export { P as Pagination } from './Pagination-CmqAut6y.js';
|
|
48
|
+
export { P as Popover } from './Popover-CdRuNv3C.js';
|
|
49
|
+
export { P as ProgressBar } from './ProgressBar-065vjsQ0.js';
|
|
50
|
+
export { R as Radio } from './Radio-D9w_-JYw.js';
|
|
51
|
+
export { S as SearchField } from './SearchField-B7fIOJf-.js';
|
|
52
|
+
export { S as SegmentedControl, a as SegmentedControlSegment } from './SegmentedControl-Be6jCglV.js';
|
|
53
|
+
export { S as SelectCard } from './SelectCard-CMSG_ba1.js';
|
|
54
|
+
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-BqL3zlbZ.js';
|
|
55
|
+
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-BHST0FEe.js';
|
|
56
|
+
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-BRvi9YTw.js';
|
|
57
|
+
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-BaKxbMLu.js';
|
|
58
|
+
export { S as SelectTrigger } from './SelectTrigger-APxYfL3V.js';
|
|
59
|
+
export { S as SideNav } from './SideNav-DoxX8Vi-.js';
|
|
60
60
|
export { Skeleton, SkeletonCircle, SkeletonPill, SkeletonRectangle, SkeletonText } from './Skeleton.js';
|
|
61
61
|
export { S as Spinner } from './Spinner-B7tTWcP6.js';
|
|
62
62
|
export { S as SrOnly } from './SrOnly-pnf8ajnh.js';
|
|
63
|
-
export { S as Stepper } from './Stepper-
|
|
64
|
-
export { S as Switch } from './Switch-
|
|
65
|
-
export { T as Tab } from './Tab-
|
|
66
|
-
export { T as Text } from './Text-
|
|
67
|
-
export { T as Textarea } from './Textarea-
|
|
68
|
-
export { T as TextField } from './TextField-
|
|
69
|
-
export { T as TimeField } from './TimeField-
|
|
70
|
-
export { T as Toaster } from './Toaster-
|
|
71
|
-
export { t as toast } from './Toaster-
|
|
72
|
-
export { T as Toolbar } from './Toolbar-
|
|
63
|
+
export { S as Stepper } from './Stepper-CvaR7OoT.js';
|
|
64
|
+
export { S as Switch } from './Switch-Bm3qqjd6.js';
|
|
65
|
+
export { T as Tab } from './Tab-Cy4G562A.js';
|
|
66
|
+
export { T as Text } from './Text-mDcQHC2U.js';
|
|
67
|
+
export { T as Textarea } from './Textarea-CW3KGuB9.js';
|
|
68
|
+
export { T as TextField } from './TextField-WQTlqKso.js';
|
|
69
|
+
export { T as TimeField } from './TimeField-JA3gXyS7.js';
|
|
70
|
+
export { T as Toaster } from './Toaster-fPcgIF7Q.js';
|
|
71
|
+
export { t as toast } from './Toaster-DMZng3Im.js';
|
|
72
|
+
export { T as Toolbar } from './Toolbar-Dlu39v69.js';
|
|
73
73
|
export { T as Tooltip } from './Tooltip-BC8lnFhe.js';
|
|
74
74
|
export { u as useAccessibleColor } from './useAccessibleColor-BYKjkGRg.js';
|
|
75
75
|
export { u as useBreakpoint } from './useBreakpoint-BBNRlMGZ.js';
|
|
@@ -78,7 +78,7 @@ export { u as usePrefersColorScheme } from './usePrefersColorScheme-_hT7dK7_.js'
|
|
|
78
78
|
export { u as usePrefersReducedMotion } from './usePrefersReducedMotion-DR9B_D6w.js';
|
|
79
79
|
export { u as useSwipe } from './useSwipe-Cp-CJxLU.js';
|
|
80
80
|
export { useTrackingId } from './useTrackingId.js';
|
|
81
|
-
export { A as AnvilProvider, a as AnvilProviderContext } from './AnvilProvider-
|
|
81
|
+
export { A as AnvilProvider, a as AnvilProviderContext } from './AnvilProvider-b3gvW6Md.js';
|
|
82
82
|
export { L as LocalizationProvider } from './LocalizationProvider-BPcOU7YX.js';
|
|
83
83
|
export { L as LocalizationContext, u as useLocalizationContext } from './LocalizationContext-UsmB5mnR.js';
|
|
84
84
|
export { P as PortalProvider, a as PortalProviderContext } from './PortalProvider-Cj_y3gbC.js';
|
|
@@ -9,4 +9,23 @@ export interface CalendarBetaProps {
|
|
|
9
9
|
year: number;
|
|
10
10
|
}) => void;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Beta Calendar component — wraps the stable Calendar with per-date
|
|
14
|
+
* annotations and month-view tracking, on top of its single/range date
|
|
15
|
+
* selection.
|
|
16
|
+
*
|
|
17
|
+
* Features:
|
|
18
|
+
* - All stable Calendar props and behavior (see `Calendar` in `components`)
|
|
19
|
+
* - `dateMetadata` to annotate specific dates with contextual text (e.g.
|
|
20
|
+
* "3 available time slots"), surfaced via `Calendar.Month`'s day pips
|
|
21
|
+
* - `onMonthView` callback fired whenever the visible month/year changes
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* <Calendar
|
|
25
|
+
* value="2024-01-15"
|
|
26
|
+
* onSelection={({ value }) => console.log('Selected:', value)}
|
|
27
|
+
* dateMetadata={[{ date: "2024-01-20", context: "3 available slots" }]}
|
|
28
|
+
* onMonthView={({ month, year }) => console.log('Viewing:', month, year)}
|
|
29
|
+
* />
|
|
30
|
+
*/
|
|
12
31
|
export declare const Calendar: (props: CalendarBetaProps & StableCalendarProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { SearchFilter } from './internal/types';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the FilterSearchField component
|
|
4
|
+
*/
|
|
5
|
+
export type FilterSearchFieldProps = {
|
|
6
|
+
/** The search filter — drives the placeholder */
|
|
7
|
+
filter: SearchFilter;
|
|
8
|
+
/** Current text value */
|
|
9
|
+
value: string;
|
|
10
|
+
/** Callback to update the value */
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Pinned search field for FilterBar. Unlike other filter controls it's
|
|
15
|
+
* always visible inline (no trigger button/popover) and stays natively
|
|
16
|
+
* tabbable at all times instead of joining the roving-tabindex pool that
|
|
17
|
+
* moves focus between the other filter chips — it's excluded from that pool
|
|
18
|
+
* via the `data-anv="filter-search-field"` marker below (see the matching
|
|
19
|
+
* exclusion in Toolbar's `getToolbarElements`).
|
|
20
|
+
*
|
|
21
|
+
* Arrow keys at the input's text-cursor boundaries move focus to the clear
|
|
22
|
+
* button or to the first/last filter chip; everywhere else they perform
|
|
23
|
+
* native cursor movement.
|
|
24
|
+
*/
|
|
25
|
+
export declare const FilterSearchField: {
|
|
26
|
+
({ filter, value, onChange, }: FilterSearchFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
displayName: string;
|
|
28
|
+
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './FilterBar';
|
|
2
2
|
export { FilterBar as default, type FilterBarProps } from './FilterBar';
|
|
3
|
-
export { type Filter, type BooleanFilter, type CustomFilter, type SingleSelectFilter, type MultiSelectFilter, type DateFilter, type DateRangeFilter, type DateListFilter, type DateListOption, type DateListLibraryOptionId, type AsyncSelectFilter, type AsyncMultiSelectFilter, type TreeFilter, type AsyncTreeFilter, type NumericRangeFilter, type NumericRangeValue, type TextInputFilter, type FilterValue, type FilterRenderProps, type BaseFilter, } from './internal/types';
|
|
3
|
+
export { type Filter, type BooleanFilter, type CustomFilter, type SingleSelectFilter, type MultiSelectFilter, type DateFilter, type DateRangeFilter, type DateListFilter, type DateListOption, type DateListLibraryOptionId, type AsyncSelectFilter, type AsyncMultiSelectFilter, type TreeFilter, type AsyncTreeFilter, type NumericRangeFilter, type NumericRangeValue, type TextInputFilter, type SearchFilter, type FilterValue, type FilterRenderProps, type BaseFilter, } from './internal/types';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { AsyncMultiSelectFilter, AsyncSelectFilter, BooleanFilter, CustomFilter, DateFilter, DateListFilter, DateListLibraryOptionId, DateRangeFilter, Filter, MultiSelectFilter, NumericRangeFilter, SingleSelectFilter, TextInputFilter, TreeFilter, AsyncTreeFilter } from '../types';
|
|
2
|
+
import { AsyncMultiSelectFilter, AsyncSelectFilter, BooleanFilter, CustomFilter, DateFilter, DateListFilter, DateListLibraryOptionId, DateRangeFilter, Filter, MultiSelectFilter, NumericRangeFilter, SearchFilter, SingleSelectFilter, TextInputFilter, TreeFilter, AsyncTreeFilter } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Context passed to renderBarControl — the inline FilterBar control for a filter.
|
|
5
5
|
*
|
|
@@ -71,6 +71,7 @@ export type FilterVariantMap = {
|
|
|
71
71
|
asyncTree: AsyncTreeFilter;
|
|
72
72
|
numericRange: NumericRangeFilter;
|
|
73
73
|
textInput: TextInputFilter;
|
|
74
|
+
search: SearchFilter;
|
|
74
75
|
};
|
|
75
76
|
/**
|
|
76
77
|
* Exhaustive map from Filter["type"] to its adapter. Forces compile-time
|
|
@@ -102,19 +102,65 @@ export type MultiSelectFilter = BaseFilter & {
|
|
|
102
102
|
*/
|
|
103
103
|
simpleDrawerVariant?: boolean;
|
|
104
104
|
} & DistributiveOmit<MultiSelectMenuSyncProps, "id" | "label" | "value" | "onSelectedOptionsChange" | "trigger" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose" | "clear">;
|
|
105
|
+
/**
|
|
106
|
+
* Which date constraint a typed value violated. Passed to a date filter's
|
|
107
|
+
* `getErrorMessage` so consumers can supply the error copy.
|
|
108
|
+
*/
|
|
109
|
+
export type DateFilterErrorReason = "minDate" | "maxDate" | "unavailable";
|
|
110
|
+
/** Context passed to a `date` filter's `getErrorMessage` resolver. */
|
|
111
|
+
export type DateFilterErrorContext = {
|
|
112
|
+
/** The constraint the typed value violated. */
|
|
113
|
+
reason: DateFilterErrorReason;
|
|
114
|
+
/** The offending value (ISO 8601). */
|
|
115
|
+
value: string;
|
|
116
|
+
};
|
|
117
|
+
/** Context passed to a `dateRange` filter's `getErrorMessage` resolver. */
|
|
118
|
+
export type DateRangeFilterErrorContext = {
|
|
119
|
+
/** The constraint the typed endpoint violated. */
|
|
120
|
+
reason: DateFilterErrorReason;
|
|
121
|
+
/** Which endpoint of the range violated the constraint. */
|
|
122
|
+
field: "start" | "end";
|
|
123
|
+
/** The offending value (ISO 8601). */
|
|
124
|
+
value: string;
|
|
125
|
+
} | {
|
|
126
|
+
/** The start date was after the end date. */
|
|
127
|
+
reason: "startAfterEnd";
|
|
128
|
+
};
|
|
105
129
|
/**
|
|
106
130
|
* Single date filter type using DateFieldSingle component
|
|
107
|
-
* Used for selecting a single date with calendar support
|
|
131
|
+
* Used for selecting a single date with calendar support.
|
|
132
|
+
*
|
|
133
|
+
* `minDate` / `maxDate` (ISO 8601) and `unavailable` restrict which dates are
|
|
134
|
+
* selectable in both the toolbar popover calendar and the drawer field. Typing
|
|
135
|
+
* a value outside those constraints is still allowed, but surfaces an error
|
|
136
|
+
* message on the field. Provide `getErrorMessage` to override the default copy.
|
|
108
137
|
*/
|
|
109
|
-
export type DateFilter = BaseFilter & Pick<DateFieldSingleProps, "value" | "mode"> & {
|
|
138
|
+
export type DateFilter = BaseFilter & Pick<DateFieldSingleProps, "value" | "mode" | "minDate" | "maxDate" | "unavailable"> & {
|
|
110
139
|
type: "date";
|
|
140
|
+
/**
|
|
141
|
+
* Override the error message shown when a typed value violates a
|
|
142
|
+
* constraint. Return the copy to display for the given reason. When
|
|
143
|
+
* omitted, a default message is shown.
|
|
144
|
+
*/
|
|
145
|
+
getErrorMessage?: (context: DateFilterErrorContext) => string;
|
|
111
146
|
};
|
|
112
147
|
/**
|
|
113
148
|
* Date range filter type using DateFieldRange component
|
|
114
|
-
* Used for selecting a date range with calendar support
|
|
149
|
+
* Used for selecting a date range with calendar support.
|
|
150
|
+
*
|
|
151
|
+
* `minDate` / `maxDate` (ISO 8601) and `unavailable` restrict which dates are
|
|
152
|
+
* selectable in both the toolbar popover calendar and the drawer field. Typing
|
|
153
|
+
* a value outside those constraints is still allowed, but surfaces an error
|
|
154
|
+
* message on the field. Provide `getErrorMessage` to override the default copy.
|
|
115
155
|
*/
|
|
116
|
-
export type DateRangeFilter = BaseFilter & Pick<DateFieldRangeProps, "value" | "mode"> & {
|
|
156
|
+
export type DateRangeFilter = BaseFilter & Pick<DateFieldRangeProps, "value" | "mode" | "minDate" | "maxDate" | "unavailable"> & {
|
|
117
157
|
type: "dateRange";
|
|
158
|
+
/**
|
|
159
|
+
* Override the error message shown when a typed value violates a
|
|
160
|
+
* constraint. Return the copy to display for the given reason. When
|
|
161
|
+
* omitted, a default message is shown.
|
|
162
|
+
*/
|
|
163
|
+
getErrorMessage?: (context: DateRangeFilterErrorContext) => string;
|
|
118
164
|
};
|
|
119
165
|
/**
|
|
120
166
|
* Pre-defined library options the dateList filter always renders below the
|
|
@@ -282,6 +328,26 @@ export type TextInputFilter = (TextInputFilterShared & {
|
|
|
282
328
|
/** Optional max character length; entered text is truncated to this length. */
|
|
283
329
|
maxLength?: number;
|
|
284
330
|
});
|
|
331
|
+
/**
|
|
332
|
+
* Pinned, always-visible search filter. Unlike other filter types, it never
|
|
333
|
+
* renders as a trigger button/popover — it's a persistent search field
|
|
334
|
+
* that's excluded from the toolbar's roving-tabindex pool so it stays
|
|
335
|
+
* natively tabbable at all times (see FilterSearchField).
|
|
336
|
+
*
|
|
337
|
+
* FilterBar always renders it first among the inline filters, regardless of
|
|
338
|
+
* where it sits in the `filters` array — keyboard navigation treats it as a
|
|
339
|
+
* fixed edge of the filter sequence (`ArrowLeft` on the first filter chip
|
|
340
|
+
* and `ArrowRight` on the last both jump to the search field), which only
|
|
341
|
+
* makes spatial sense at that position.
|
|
342
|
+
*/
|
|
343
|
+
export type SearchFilter = BaseFilter & {
|
|
344
|
+
/** Identifies this as a search filter */
|
|
345
|
+
type: "search";
|
|
346
|
+
/** Current text value (undefined or empty means inactive) */
|
|
347
|
+
value?: string;
|
|
348
|
+
/** Placeholder shown when the field is empty */
|
|
349
|
+
placeholder?: string;
|
|
350
|
+
};
|
|
285
351
|
/**
|
|
286
352
|
* Sync tree filter type. Backed by TreeSelectMenuSync in the toolbar and
|
|
287
353
|
* TreeSelectFieldSync in the drawer, so the consumer supplies a static
|
|
@@ -330,7 +396,7 @@ export type AsyncTreeFilter = BaseFilter & {
|
|
|
330
396
|
* Union type of all available filter types
|
|
331
397
|
* Uses unknown instead of any for better type safety
|
|
332
398
|
*/
|
|
333
|
-
export type Filter = BooleanFilter | CustomFilter<any> | SingleSelectFilter | MultiSelectFilter | DateFilter | DateRangeFilter | DateListFilter | AsyncSelectFilter | AsyncMultiSelectFilter | TreeFilter | AsyncTreeFilter | NumericRangeFilter | TextInputFilter;
|
|
399
|
+
export type Filter = BooleanFilter | CustomFilter<any> | SingleSelectFilter | MultiSelectFilter | DateFilter | DateRangeFilter | DateListFilter | AsyncSelectFilter | AsyncMultiSelectFilter | TreeFilter | AsyncTreeFilter | NumericRangeFilter | TextInputFilter | SearchFilter;
|
|
334
400
|
/** Type representing all possible filter values */
|
|
335
|
-
export type FilterValue = boolean | CustomFilter["value"] | SingleSelectFilter["selectedOption"] | MultiSelectFilter["selectedOptions"] | DateFilter["value"] | DateRangeFilter["value"] | DateListFilter["selectedOption"] | AsyncSelectFilter["selectedOption"] | AsyncMultiSelectFilter["selectedOptions"] | TreeFilter["selectedNodes"] | AsyncTreeFilter["selectedNodes"] | NumericRangeFilter["value"] | TextInputFilter["value"];
|
|
401
|
+
export type FilterValue = boolean | CustomFilter["value"] | SingleSelectFilter["selectedOption"] | MultiSelectFilter["selectedOptions"] | DateFilter["value"] | DateRangeFilter["value"] | DateListFilter["selectedOption"] | AsyncSelectFilter["selectedOption"] | AsyncMultiSelectFilter["selectedOptions"] | TreeFilter["selectedNodes"] | AsyncTreeFilter["selectedNodes"] | NumericRangeFilter["value"] | TextInputFilter["value"] | SearchFilter["value"];
|
|
336
402
|
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DateFilter, DateFilterErrorReason, DateRangeFilter } from '../types';
|
|
2
|
+
type DateConstraints = Pick<DateFilter, "minDate" | "maxDate" | "unavailable">;
|
|
3
|
+
type RangeValue = {
|
|
4
|
+
startDate: string | null;
|
|
5
|
+
endDate: string | null;
|
|
6
|
+
} | null;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the first constraint a single ISO date violates, or `null` when the
|
|
9
|
+
* value is empty, unparseable, or within all constraints. Mirrors the order of
|
|
10
|
+
* `validateDate` (unavailable, then min, then max).
|
|
11
|
+
*/
|
|
12
|
+
export declare const getDateConstraintReason: (value: string | null | undefined, { minDate, maxDate, unavailable }: DateConstraints) => DateFilterErrorReason | null;
|
|
13
|
+
/**
|
|
14
|
+
* Resolves the error message (if any) for a single-date filter's current
|
|
15
|
+
* value. Returns the consumer's `getErrorMessage` result when provided,
|
|
16
|
+
* otherwise a default message. `undefined` means the value is valid.
|
|
17
|
+
*/
|
|
18
|
+
export declare const resolveDateFilterError: (filter: DateFilter, value: string | null | undefined) => string | undefined;
|
|
19
|
+
type DateRangeViolation = {
|
|
20
|
+
reason: DateFilterErrorReason;
|
|
21
|
+
field: "start" | "end";
|
|
22
|
+
value: string;
|
|
23
|
+
} | {
|
|
24
|
+
reason: "startAfterEnd";
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Returns the first constraint a range violates, or `null` when both endpoints
|
|
28
|
+
* are within all constraints (or empty/unparseable). Checks the start endpoint,
|
|
29
|
+
* then the end endpoint, then start-after-end ordering.
|
|
30
|
+
*/
|
|
31
|
+
export declare const getDateRangeConstraintViolation: (value: RangeValue, constraints: DateConstraints) => DateRangeViolation | null;
|
|
32
|
+
/**
|
|
33
|
+
* Resolves the error message (if any) for a date-range filter's current value.
|
|
34
|
+
* Returns the consumer's `getErrorMessage` result when provided, otherwise a
|
|
35
|
+
* default message. `undefined` means the range is valid.
|
|
36
|
+
*/
|
|
37
|
+
export declare const resolveDateRangeFilterError: (filter: DateRangeFilter, value: RangeValue) => string | undefined;
|
|
38
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AsyncMultiSelectFilter, AsyncSelectFilter, Filter, BooleanFilter, CustomFilter, SingleSelectFilter, MultiSelectFilter, DateFilter, DateListFilter, DateRangeFilter, NumericRangeFilter, TextInputFilter, TreeFilter, AsyncTreeFilter } from '../types';
|
|
1
|
+
import { AsyncMultiSelectFilter, AsyncSelectFilter, Filter, BooleanFilter, CustomFilter, SingleSelectFilter, MultiSelectFilter, DateFilter, DateListFilter, DateRangeFilter, NumericRangeFilter, SearchFilter, TextInputFilter, TreeFilter, AsyncTreeFilter } from '../types';
|
|
2
2
|
export type TestValue = {
|
|
3
3
|
id: number;
|
|
4
4
|
label: string;
|
|
@@ -42,6 +42,7 @@ export declare function createMockTreeFilter(overrides?: Partial<TreeFilter>): T
|
|
|
42
42
|
export declare function createMockAsyncTreeFilter(overrides?: Partial<AsyncTreeFilter>): AsyncTreeFilter;
|
|
43
43
|
export declare function createMockNumericRangeFilter(overrides?: Partial<NumericRangeFilter>): NumericRangeFilter;
|
|
44
44
|
export declare function createMockTextInputFilter(overrides?: Partial<TextInputFilter>): TextInputFilter;
|
|
45
|
+
export declare function createMockSearchFilter(overrides?: Partial<SearchFilter>): SearchFilter;
|
|
45
46
|
export declare const setupDesktopContainer: () => void;
|
|
46
47
|
export declare const setupMobileContainer: () => void;
|
|
47
48
|
export declare const setupSmContainer: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { MouseEvent } from 'react';
|
|
2
2
|
import { CardProps } from '../../../components/Card';
|
|
3
|
-
import { PassThroughProps } from '../../../types/PassThroughProps';
|
|
3
|
+
import { PassThroughProps, PassThroughPropsWithRef } from '../../../types/PassThroughProps';
|
|
4
4
|
/**
|
|
5
5
|
* Props for the wrapper div element.
|
|
6
6
|
* Contains the group role and aria-label for screen readers.
|
|
7
|
-
* Can also include className, style, data attributes, and other div props.
|
|
7
|
+
* Can also include className, style, data attributes, ref, and other div props.
|
|
8
8
|
*/
|
|
9
|
-
export type WrapperProps = Omit<
|
|
9
|
+
export type WrapperProps = Omit<PassThroughPropsWithRef<"div">, "onClick" | "children" | "role"> & {
|
|
10
10
|
/**
|
|
11
11
|
* ARIA label for the group wrapper.
|
|
12
12
|
* Describes what the card contains.
|
|
@@ -4,12 +4,14 @@ import { RichTextEditorProps } from './types';
|
|
|
4
4
|
*
|
|
5
5
|
* Features:
|
|
6
6
|
* - Supports both controlled (`value`) and uncontrolled (`defaultValue`) modes
|
|
7
|
-
* - Emits content as
|
|
7
|
+
* - Emits content as HTML (`onChange`), TipTap JSON (`onJsonChange`), and markdown (`onMarkdownChange`)
|
|
8
|
+
* - Accepts markdown as input via `contentType="markdown"`
|
|
9
|
+
* - Extensible via `extensions` for custom nodes/marks not covered by the built-in toolbar
|
|
8
10
|
* - Text formatting toolbar: bold, italic, underline, strikethrough, inline code, blockquote
|
|
9
11
|
* - Headings (H1–H3), paragraph, font size, text alignment, and indentation
|
|
10
12
|
* - Bullet lists, ordered lists, and checklists
|
|
11
13
|
* - Link insertion and removal via popover
|
|
12
|
-
* - Image upload and YouTube video embedding via Insert dropdown (`allowMedia`)
|
|
14
|
+
* - Image upload and YouTube video embedding via Insert dropdown (`allowMedia`), with `src` restricted to `http`/`https` by default (`isAllowedImageSrc`)
|
|
13
15
|
* - Drag handle for reordering content blocks (`allowDragDrop`)
|
|
14
16
|
* - @mention typeahead with hover card support (`allowMention`)
|
|
15
17
|
* - Disabled state disables both toolbar and editor content
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { RichTextEditorProps } from '../types';
|
|
3
|
-
type RichTextEditorProviderProps = Pick<RichTextEditorProps, "value" | "defaultValue" | "onChange" | "onJsonChange" | "placeholder" | "disabled" | "allowTextFormat" | "allowTextAlignment" | "allowLists" | "allowChecklist" | "allowCode" | "allowBlockquote" | "allowLink" | "allowMedia" | "allowMention" | "allowDragDrop" | "mentionOptions" | "onMentionInputChange" | "renderMentionHoverContent" | "onImageUpload"> & {
|
|
3
|
+
type RichTextEditorProviderProps = Pick<RichTextEditorProps, "value" | "defaultValue" | "onChange" | "onJsonChange" | "contentType" | "onMarkdownChange" | "extensions" | "placeholder" | "disabled" | "allowTextFormat" | "allowTextAlignment" | "allowLists" | "allowChecklist" | "allowCode" | "allowBlockquote" | "allowLink" | "allowMedia" | "allowMention" | "allowDragDrop" | "mentionOptions" | "onMentionInputChange" | "renderMentionHoverContent" | "onImageUpload" | "isAllowedImageSrc"> & {
|
|
4
4
|
allowedMimeTypes?: `image/${string}`[];
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wraps TipTap's Image extension to restrict `src` to an allowed set of URI
|
|
3
|
+
* schemes/hosts (http/https only by default). `@tiptap/extension-image` only
|
|
4
|
+
* blocks `data:` at HTML-parse time and otherwise allows any scheme or host,
|
|
5
|
+
* including third-party tracking-pixel hosts.
|
|
6
|
+
*
|
|
7
|
+
* Disallowed `src` values are stripped from the document model (set to `null`)
|
|
8
|
+
* on every entry path — HTML (`parseHTML`), markdown (`parseMarkdown`), and
|
|
9
|
+
* programmatic insert/JSON (`appendTransaction`) — so they never reach
|
|
10
|
+
* `onJsonChange` / `onMarkdownChange`. `renderHTML` still paints a blocked
|
|
11
|
+
* placeholder for nodes whose `src` was cleared.
|
|
12
|
+
*/
|
|
13
|
+
export declare const createSafeImageExtension: (isAllowedSrc?: (src: string) => boolean) => import('@tiptap/core').Node<import('@tiptap/extension-image').ImageOptions, any>;
|
|
@@ -11,7 +11,7 @@ import { RichTextEditorProps } from '../types';
|
|
|
11
11
|
* @property {MutableRefObject<OpenLinkPopover | null>} openLinkPopoverRef - Stable ref to the function that opens the link popover, wired to the `Ctrl/Cmd+K` keyboard shortcut extension.
|
|
12
12
|
* @property {`image/${string}`[]} [allowedMimeTypes] - MIME types accepted for image upload via paste and drop.
|
|
13
13
|
*/
|
|
14
|
-
export type UseRichTextEditorParams = Pick<RichTextEditorProps, "value" | "defaultValue" | "onChange" | "onJsonChange" | "placeholder" | "disabled" | "allowTextFormat" | "allowTextAlignment" | "allowLists" | "allowChecklist" | "allowCode" | "allowBlockquote" | "allowLink" | "allowMedia" | "allowMention" | "onImageUpload"> & {
|
|
14
|
+
export type UseRichTextEditorParams = Pick<RichTextEditorProps, "value" | "defaultValue" | "onChange" | "onJsonChange" | "contentType" | "onMarkdownChange" | "extensions" | "placeholder" | "disabled" | "allowTextFormat" | "allowTextAlignment" | "allowLists" | "allowChecklist" | "allowCode" | "allowBlockquote" | "allowLink" | "allowMedia" | "allowMention" | "onImageUpload" | "isAllowedImageSrc"> & {
|
|
15
15
|
allowedMimeTypes?: `image/${string}`[];
|
|
16
16
|
onImageUploadRef: MutableRefObject<RichTextEditorProps["onImageUpload"]>;
|
|
17
17
|
mentionCallbacksRef: MutableRefObject<MentionCallbacks>;
|
|
@@ -29,4 +29,4 @@ export type UseRichTextEditorParams = Pick<RichTextEditorProps, "value" | "defau
|
|
|
29
29
|
* @param params - Configuration derived from RichTextEditorProps plus stable callback refs.
|
|
30
30
|
* @returns The TipTap `Editor` instance, or `null` during SSR / before mount.
|
|
31
31
|
*/
|
|
32
|
-
export declare const useRichTextEditor: ({ value, defaultValue, onChange, onJsonChange, placeholder, disabled, allowTextFormat, allowTextAlignment, allowLists, allowChecklist, allowCode, allowBlockquote, allowLink, allowMedia, allowMention, allowedMimeTypes, onImageUploadRef, mentionCallbacksRef, onYoutubePasteRef, openLinkPopoverRef, }: UseRichTextEditorParams) => import('@tiptap/core').Editor;
|
|
32
|
+
export declare const useRichTextEditor: ({ value, defaultValue, onChange, onJsonChange, contentType, onMarkdownChange, extensions, placeholder, disabled, allowTextFormat, allowTextAlignment, allowLists, allowChecklist, allowCode, allowBlockquote, allowLink, allowMedia, allowMention, allowedMimeTypes, isAllowedImageSrc, onImageUploadRef, mentionCallbacksRef, onYoutubePasteRef, openLinkPopoverRef, }: UseRichTextEditorParams) => import('@tiptap/core').Editor;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
-
import { JSONContent } from '@tiptap/core';
|
|
2
|
+
import { Extensions, JSONContent } from '@tiptap/core';
|
|
3
3
|
import { HelperProps } from '../../../internal/components';
|
|
4
4
|
import { FieldLabelProps } from '../../../components/FieldLabel';
|
|
5
5
|
import { LayoutUtilProps } from '../../../types';
|
|
@@ -19,6 +19,34 @@ type RichTextEditorBaseProps = {
|
|
|
19
19
|
defaultValue?: string;
|
|
20
20
|
onChange?: (html: string) => void;
|
|
21
21
|
onJsonChange?: (json: JSONContent) => void;
|
|
22
|
+
/**
|
|
23
|
+
* How `value`/`defaultValue` are parsed. Defaults to HTML. Set once — the
|
|
24
|
+
* editor instance is created on mount, so changing this afterwards
|
|
25
|
+
* re-parses the current string under the new assumption instead of
|
|
26
|
+
* converting existing content.
|
|
27
|
+
*/
|
|
28
|
+
contentType?: "html" | "markdown";
|
|
29
|
+
/**
|
|
30
|
+
* Fires with the TipTap-markdown-serialized content on every update,
|
|
31
|
+
* alongside `onChange`/`onJsonChange`, regardless of `contentType`. Uses
|
|
32
|
+
* TipTap's official `@tiptap/markdown` extension, which is BETA upstream:
|
|
33
|
+
* known limitations are single-child-per-cell tables and possible loss of
|
|
34
|
+
* HTML comments on round-trip. In markdown mode, a controlled `value`
|
|
35
|
+
* should be the exact string previously emitted here — serialization
|
|
36
|
+
* normalizes formatting and isn't guaranteed to round-trip arbitrary
|
|
37
|
+
* hand-written markdown. Markdown syntax for a feature disabled via an
|
|
38
|
+
* `allow*` flag (e.g. `- item` when `allowLists` is false) is parsed into
|
|
39
|
+
* whatever the configured schema supports; unsupported nodes are dropped
|
|
40
|
+
* or flattened rather than causing an error.
|
|
41
|
+
*/
|
|
42
|
+
onMarkdownChange?: (markdown: string) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Extra TipTap extensions appended after the built-in ones (e.g. a custom
|
|
45
|
+
* node type). An extension sharing a built-in's name overrides it. Toolbar
|
|
46
|
+
* controls don't automatically wire up to custom nodes — build any needed
|
|
47
|
+
* UI yourself.
|
|
48
|
+
*/
|
|
49
|
+
extensions?: Extensions;
|
|
22
50
|
placeholder?: string;
|
|
23
51
|
disabled?: boolean;
|
|
24
52
|
error?: boolean | string | string[];
|
|
@@ -57,11 +85,20 @@ type RichTextEditorWithMedia = {
|
|
|
57
85
|
* e.g. `["image/jpeg", "image/png"]`. When omitted, defaults to common image types.
|
|
58
86
|
*/
|
|
59
87
|
allowedMimeTypes?: `image/${string}`[];
|
|
88
|
+
/**
|
|
89
|
+
* Validates an image's `src` before it's kept in the document (and thus
|
|
90
|
+
* before it can render or be emitted via `onJsonChange`/`onMarkdownChange`),
|
|
91
|
+
* for any input path (typed, pasted, dropped/uploaded, markdown, or set via
|
|
92
|
+
* `value`/`defaultValue`). Defaults to allowing `http:`/`https:` only.
|
|
93
|
+
* Pass a custom validator to loosen or further restrict.
|
|
94
|
+
*/
|
|
95
|
+
isAllowedImageSrc?: (src: string) => boolean;
|
|
60
96
|
};
|
|
61
97
|
type RichTextEditorWithoutMedia = {
|
|
62
98
|
allowMedia?: false;
|
|
63
99
|
onImageUpload?: never;
|
|
64
100
|
allowedMimeTypes?: never;
|
|
101
|
+
isAllowedImageSrc?: never;
|
|
65
102
|
};
|
|
66
103
|
/**
|
|
67
104
|
* Props for the RichTextEditor component.
|
|
@@ -70,6 +107,9 @@ type RichTextEditorWithoutMedia = {
|
|
|
70
107
|
* @property {string} [defaultValue] - Default HTML string value for uncontrolled mode.
|
|
71
108
|
* @property {(html: string) => void} [onChange] - Callback fired with the HTML string on each content change.
|
|
72
109
|
* @property {(json: JSONContent) => void} [onJsonChange] - Callback fired with the TipTap JSON representation on each content change.
|
|
110
|
+
* @property {"html" | "markdown"} [contentType] - How `value`/`defaultValue` are parsed. Default: "html". Set once at mount.
|
|
111
|
+
* @property {(markdown: string) => void} [onMarkdownChange] - Callback fired with the markdown representation on each content change, regardless of `contentType`.
|
|
112
|
+
* @property {Extensions} [extensions] - Extra TipTap extensions appended after the built-in ones; same-named extensions override a built-in.
|
|
73
113
|
* @property {string} [placeholder] - Placeholder text shown when the editor is empty.
|
|
74
114
|
* @property {boolean} [disabled] - Disables the editor and toolbar when true.
|
|
75
115
|
* @property {boolean | string | string[]} [error] - Error state. Pass `true` for error styling only, or a string/string[] for error messages.
|
|
@@ -95,6 +135,7 @@ type RichTextEditorWithoutMedia = {
|
|
|
95
135
|
* @property {(option: RichTextEditorMentionOption) => ReactNode} [renderMentionHoverContent] - Render function for the hover card shown when hovering over an inserted mention.
|
|
96
136
|
* @property {(files: File[], onComplete: (srcs: string[]) => void) => void} [onImageUpload] - Required when `allowMedia` is true. Called when the user selects, pastes, or drops image files. Invoke the callback with the resulting URLs once upload is complete.
|
|
97
137
|
* @property {`image/${string}`[]} [allowedMimeTypes] - MIME types accepted by the file picker and paste/drop handler when `allowMedia` is true. Defaults to common image types when omitted.
|
|
138
|
+
* @property {(src: string) => boolean} [isAllowedImageSrc] - Validates an image's `src` before it's allowed to render when `allowMedia` is true. Defaults to allowing `http:`/`https:` only.
|
|
98
139
|
* @extends Omit<ComponentPropsWithoutRef<"div">, "onChange">
|
|
99
140
|
* @extends LayoutUtilProps
|
|
100
141
|
* @extends DataTrackingId
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|