@servicetitan/anvil2 2.7.1 → 2.8.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 +47 -1
- package/dist/{floating-ui.react-aKYfs-aw.js → AiMark-Cwc9KoyE.js} +767 -5
- package/dist/AiMark-Cwc9KoyE.js.map +1 -0
- package/dist/AiMark.css +260 -0
- package/dist/AiMark.d.ts +2 -0
- package/dist/AiMark.js +2 -0
- package/dist/AiMark.js.map +1 -0
- package/dist/{Alert-C_o2f78C.js → Alert-5qhkSUN3.js} +27 -13
- package/dist/Alert-5qhkSUN3.js.map +1 -0
- package/dist/Alert.css +23 -15
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-CyrTvgP4.js → Announcement-fQmFNysn.js} +2 -2
- package/dist/{Announcement-CyrTvgP4.js.map → Announcement-fQmFNysn.js.map} +1 -1
- package/dist/Announcement.js +1 -1
- package/dist/{Breadcrumbs-C_WK9Yul.js → Breadcrumbs-BXo2FO2n.js} +3 -3
- package/dist/{Breadcrumbs-C_WK9Yul.js.map → Breadcrumbs-BXo2FO2n.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/Button-a_D7tUgM.js +4517 -0
- package/dist/Button-a_D7tUgM.js.map +1 -0
- package/dist/Button.js +1 -1
- package/dist/{ButtonToggle-DaYJWso_.js → ButtonToggle-CmY77gUp.js} +2 -2
- package/dist/{ButtonToggle-DaYJWso_.js.map → ButtonToggle-CmY77gUp.js.map} +1 -1
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-Frpv5rRY.js → Calendar-Bd_WELZC.js} +3 -3
- package/dist/{Calendar-Frpv5rRY.js.map → Calendar-Bd_WELZC.js.map} +1 -1
- package/dist/{Calendar-BTStJPV1.js → Calendar-d2owsYe9.js} +2 -2
- package/dist/{Calendar-BTStJPV1.js.map → Calendar-d2owsYe9.js.map} +1 -1
- package/dist/Calendar.js +2 -2
- package/dist/Card-wz71dEVA.js.map +1 -1
- package/dist/{Checkbox-Drgai_lS.js → Checkbox-BlFc6ZWy.js} +24 -13
- package/dist/Checkbox-BlFc6ZWy.js.map +1 -0
- package/dist/{Checkbox-CTZdZym4.js → Checkbox-DbaZrUE2.js} +2 -2
- package/dist/{Checkbox-CTZdZym4.js.map → Checkbox-DbaZrUE2.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-CVyEctAz.js → Chip-BnofwIUN.js} +42 -12
- package/dist/Chip-BnofwIUN.js.map +1 -0
- package/dist/Chip.css +44 -28
- package/dist/Chip.js +1 -1
- package/dist/{Combobox-BRtfrYyZ.js → Combobox-BOxAzG9v.js} +4 -4
- package/dist/{Combobox-BRtfrYyZ.js.map → Combobox-BOxAzG9v.js.map} +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-BmVPjMMg.js → DataTable-DK9xRjnq.js} +104 -38
- package/dist/DataTable-DK9xRjnq.js.map +1 -0
- package/dist/DataTable.css +84 -74
- package/dist/{DateFieldRange-D9DtlkSQ.js → DateFieldRange-5Jrz6dLl.js} +6 -6
- package/dist/{DateFieldRange-D9DtlkSQ.js.map → DateFieldRange-5Jrz6dLl.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-CkdeCUJv.js → DateFieldSingle-DWFr6Ew4.js} +6 -6
- package/dist/{DateFieldSingle-CkdeCUJv.js.map → DateFieldSingle-DWFr6Ew4.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-b81ZcYdp.js → DateFieldYearless-UU22A5-E.js} +22 -6
- package/dist/DateFieldYearless-UU22A5-E.js.map +1 -0
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-ClAFzIDD.js → DateFieldYearlessRange-BoPLxm6t.js} +3 -3
- package/dist/DateFieldYearlessRange-BoPLxm6t.js.map +1 -0
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-2Zeh79oR.js → DaysOfTheWeek-4cfTmjzm.js} +4 -4
- package/dist/{DaysOfTheWeek-2Zeh79oR.js.map → DaysOfTheWeek-4cfTmjzm.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Dialog-CloZWa1Q.js → Dialog-Dn836WQM.js} +5 -5
- package/dist/{Dialog-CloZWa1Q.js.map → Dialog-Dn836WQM.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{DialogCancelButton-DQDMzGeT.js → DialogCancelButton-B-jfihJr.js} +2 -2
- package/dist/{DialogCancelButton-DQDMzGeT.js.map → DialogCancelButton-B-jfihJr.js.map} +1 -1
- package/dist/{Drawer-CfkoH081.js → Drawer-CdDWt_Ba.js} +5 -5
- package/dist/{Drawer-CfkoH081.js.map → Drawer-CdDWt_Ba.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-CLN0GBN_.js → EditCard-CZibhEfS.js} +3 -3
- package/dist/{EditCard-CLN0GBN_.js.map → EditCard-CZibhEfS.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/FieldLabel-Dr41PRxH.js +180 -0
- package/dist/FieldLabel-Dr41PRxH.js.map +1 -0
- package/dist/FieldLabel.css +33 -73
- package/dist/FieldLabel.js +1 -1
- package/dist/{InputMask-CI4Q5UwG.js → InputMask-CcXqzqdx.js} +3 -3
- package/dist/{InputMask-CI4Q5UwG.js.map → InputMask-CcXqzqdx.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{ListView-DAbBuss4.js → ListView-D9cZUVer.js} +2 -2
- package/dist/{ListView-DAbBuss4.js.map → ListView-D9cZUVer.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-D_T55BFX.js → Listbox-CgDwzRfz.js} +2 -2
- package/dist/{Listbox-D_T55BFX.js.map → Listbox-CgDwzRfz.js.map} +1 -1
- package/dist/Listbox.js +1 -1
- package/dist/{Menu-CRoJYJ53.js → Menu-CPbuIsqC.js} +3 -4
- package/dist/{Menu-CRoJYJ53.js.map → Menu-CPbuIsqC.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-CSOitvtu.js → MultiSelectFieldSync-Ei7DXzvs.js} +31 -18
- package/dist/MultiSelectFieldSync-Ei7DXzvs.js.map +1 -0
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-62OeGmkz.js → MultiSelectMenuSync-B_mXpTEe.js} +3 -3
- package/dist/{MultiSelectMenuSync-62OeGmkz.js.map → MultiSelectMenuSync-B_mXpTEe.js.map} +1 -1
- package/dist/{NumberField-CHBXBMSj.js → NumberField-C5t47Obp.js} +16 -5
- package/dist/NumberField-C5t47Obp.js.map +1 -0
- package/dist/NumberField.js +1 -1
- package/dist/{Page-DtSjnBJL.js → Page-2hbQxUj6.js} +16 -12
- package/dist/{Page-DtSjnBJL.js.map → Page-2hbQxUj6.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Pagination-CbBte3GQ.js → Pagination-CjGmJ_rU.js} +5 -5
- package/dist/{Pagination-CbBte3GQ.js.map → Pagination-CjGmJ_rU.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-Rha0q-Pv.js → Popover-CpU9VAcb.js} +4 -6
- package/dist/{Popover-Rha0q-Pv.js.map → Popover-CpU9VAcb.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-DEaMqbM-.js → ProgressBar-FMuK8viJ.js} +2 -2
- package/dist/{ProgressBar-DEaMqbM-.js.map → ProgressBar-FMuK8viJ.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-Bw2LDl9G.js → Radio-CZZd8phn.js} +24 -13
- package/dist/Radio-CZZd8phn.js.map +1 -0
- package/dist/{Radio-CCvu8mbI.js → Radio-DmtVWAmN.js} +2 -2
- package/dist/{Radio-CCvu8mbI.js.map → Radio-DmtVWAmN.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{SegmentedControl-BAi4pnFe.js → SegmentedControl-B9NWUF7s.js} +3 -3
- package/dist/{SegmentedControl-BAi4pnFe.js.map → SegmentedControl-B9NWUF7s.js.map} +1 -1
- package/dist/SegmentedControl.js +1 -1
- package/dist/{SelectCard-ZaAD0wR1.js → SelectCard-8OmIDl1m.js} +51 -24
- package/dist/SelectCard-8OmIDl1m.js.map +1 -0
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-EJCXA02B.js → SelectFieldLabel-C8PrXxDU.js} +5 -4
- package/dist/SelectFieldLabel-C8PrXxDU.js.map +1 -0
- package/dist/{SelectFieldSync-DA54WXOk.js → SelectFieldSync-DGK8F2G9.js} +13 -13
- package/dist/SelectFieldSync-DGK8F2G9.js.map +1 -0
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-BQaSTcaN.js → SelectMenuSync-CuZp9mnt.js} +3 -3
- package/dist/{SelectMenuSync-BQaSTcaN.js.map → SelectMenuSync-CuZp9mnt.js.map} +1 -1
- package/dist/{SelectOptions-D-DzWmKE.js → SelectOptions-CmElsiTd.js} +2 -2
- package/dist/{SelectOptions-D-DzWmKE.js.map → SelectOptions-CmElsiTd.js.map} +1 -1
- package/dist/{SelectTrigger-DWyRndmY.js → SelectTrigger-KF8w6Ynk.js} +7 -5
- package/dist/SelectTrigger-KF8w6Ynk.js.map +1 -0
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-B6aZd2a6.js → SelectTriggerBase-Bxmv6oXk.js} +4 -4
- package/dist/{SelectTriggerBase-B6aZd2a6.js.map → SelectTriggerBase-Bxmv6oXk.js.map} +1 -1
- package/dist/{SideNav-CxHemV3H.js → SideNav-CrxYExjh.js} +11 -11
- package/dist/{SideNav-CxHemV3H.js.map → SideNav-CrxYExjh.js.map} +1 -1
- package/dist/SideNav.css +72 -55
- package/dist/SideNav.js +1 -1
- package/dist/Skeleton.css +18 -12
- package/dist/Skeleton.js +24 -11
- package/dist/Skeleton.js.map +1 -1
- package/dist/{Stepper-CQUXV6P4.js → Stepper-_27Lmm2K.js} +3 -3
- package/dist/{Stepper-CQUXV6P4.js.map → Stepper-_27Lmm2K.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-DpPHr3G3.js → Switch-DPGz7wC_.js} +14 -2
- package/dist/Switch-DPGz7wC_.js.map +1 -0
- package/dist/Switch.js +1 -1
- package/dist/{Tab-BGGNcz9S.js → Tab-BZpTCG0i.js} +3 -3
- package/dist/{Tab-BGGNcz9S.js.map → Tab-BZpTCG0i.js.map} +1 -1
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-BJo4oMI2.js → Text-MVxRo6yx.js} +30 -12
- package/dist/Text-MVxRo6yx.js.map +1 -0
- package/dist/Text.css +37 -20
- package/dist/Text.js +1 -1
- package/dist/{TextField-o8zvVFDk.js → TextField-BpSxZa0z.js} +21 -5
- package/dist/TextField-BpSxZa0z.js.map +1 -0
- package/dist/{TextField-CMv9CpBq.js → TextField-D93iv_pk.js} +2 -2
- package/dist/{TextField-CMv9CpBq.js.map → TextField-D93iv_pk.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-B4bBvO8c.js → Textarea-1u2fSMTh.js} +21 -5
- package/dist/Textarea-1u2fSMTh.js.map +1 -0
- package/dist/Textarea.js +1 -1
- package/dist/{TimeField-BEgnjk4R.js → TimeField-B4gLlBQJ.js} +6 -5
- package/dist/{TimeField-BEgnjk4R.js.map → TimeField-B4gLlBQJ.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-6_LVKok2.js → Toaster-CSJfSOHx.js} +5 -5
- package/dist/Toaster-CSJfSOHx.js.map +1 -0
- package/dist/{Toaster-B38WlKC7.js → Toaster-DbWYnF_t.js} +2 -2
- package/dist/{Toaster-B38WlKC7.js.map → Toaster-DbWYnF_t.js.map} +1 -1
- package/dist/{Toolbar-0EKhrvZN.js → Toolbar-CWRk523l.js} +15 -15
- package/dist/{Toolbar-0EKhrvZN.js.map → Toolbar-CWRk523l.js.map} +1 -1
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-BHwSTwsv.js → Tooltip-C1PBRnJv.js} +2 -3
- package/dist/{Tooltip-BHwSTwsv.js.map → Tooltip-C1PBRnJv.js.map} +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/{YearlessDateInputWithPicker-BC4lRuny.js → YearlessDateInputWithPicker-BSl5z2zo.js} +2 -3
- package/dist/{YearlessDateInputWithPicker-BC4lRuny.js.map → YearlessDateInputWithPicker-BSl5z2zo.js.map} +1 -1
- package/dist/assets/icons/st/ai_mark_gradient.svg +1 -1
- package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
- package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +3 -2
- package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
- package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldTrigger.d.ts +3 -2
- package/dist/beta/components/MultiSelectField/internal/types.d.ts +4 -3
- package/dist/beta/components/MultiSelectField/types.d.ts +28 -7
- package/dist/beta/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
- package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +4 -4
- package/dist/beta/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
- package/dist/beta/components/SelectField/types.d.ts +5 -5
- package/dist/beta/components/Table/DataTable/DataTable.d.ts +2 -2
- package/dist/beta/components/Table/DataTable/internal/usePageDataCache.d.ts +29 -0
- package/dist/beta/components/Table/DataTable/types.d.ts +30 -0
- package/dist/beta/components/Toolbar/Toolbar.d.ts +10 -6
- package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +5 -3
- package/dist/beta.js +9 -9
- package/dist/components/AiMark/AiMark.d.ts +87 -0
- package/dist/components/AiMark/index.d.ts +1 -0
- package/dist/components/AiMark/internal/AiMarkIconAnimated.d.ts +30 -0
- package/dist/components/AiMark/internal/AiMarkInteractive.d.ts +10 -0
- package/dist/components/AiMark/stories/aiMarkStoryArgTypes.d.ts +16 -0
- package/dist/components/Alert/Alert.d.ts +12 -0
- package/dist/components/Button/Button.d.ts +14 -6
- package/dist/components/Button/internal/buttonAiMarkUtils.d.ts +18 -0
- package/dist/components/Button/internal/index.d.ts +1 -0
- package/dist/components/Card/Card.d.ts +6 -1
- package/dist/components/Checkbox/Checkbox.d.ts +2 -0
- package/dist/components/Checkbox/CheckboxGroup.d.ts +27 -6
- package/dist/components/Chip/Chip.d.ts +10 -1
- package/dist/components/Chip/internal/Chip.d.ts +4 -0
- package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
- package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
- package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
- package/dist/components/DateFieldYearless/DateFieldYearless.d.ts +8 -1
- package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
- package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
- package/dist/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +7 -0
- package/dist/components/FieldLabel/FieldLabel.d.ts +2 -1
- package/dist/components/FieldLabel/internal/FieldLabelButton.d.ts +3 -2
- package/dist/components/NumberField/NumberField.d.ts +29 -2
- package/dist/components/Radio/Radio.d.ts +2 -0
- package/dist/components/Radio/RadioGroup.d.ts +27 -6
- package/dist/components/SelectCard/SelectCard.d.ts +1 -1
- package/dist/components/SelectCard/SelectCardGroup.d.ts +18 -1
- package/dist/components/SelectCard/internal/SelectCardContext.d.ts +11 -0
- package/dist/components/SelectCard/internal/SelectCardProvider.d.ts +11 -1
- package/dist/components/Skeleton/SkeletonCircle.d.ts +8 -0
- package/dist/components/Skeleton/SkeletonPill.d.ts +8 -0
- package/dist/components/Skeleton/SkeletonRectangle.d.ts +8 -0
- package/dist/components/Skeleton/SkeletonText.d.ts +6 -1
- package/dist/components/Skeleton/index.d.ts +3 -0
- package/dist/components/Switch/Switch.d.ts +11 -1
- package/dist/components/Text/types.d.ts +9 -0
- package/dist/components/TextField/internal/TextField.d.ts +11 -0
- package/dist/components/Textarea/Textarea.d.ts +9 -2
- package/dist/components/Toast/internal/Toast.d.ts +5 -0
- package/dist/components/Toast/toast.d.ts +1 -1
- package/dist/components/Toolbar/Toolbar.d.ts +5 -3
- package/dist/components/Toolbar/ToolbarSelect.d.ts +5 -3
- package/dist/components/index.d.ts +1 -0
- package/dist/{floating-ui.react-dom-imrk9N49.js → floating-ui.react-dom-CHrYz13o.js} +17 -2
- package/dist/floating-ui.react-dom-CHrYz13o.js.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/usePrefersReducedMotion/index.d.ts +1 -0
- package/dist/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts +15 -0
- package/dist/index.js +46 -44
- package/dist/index.js.map +1 -1
- package/dist/internal/components/InlineMarkdown/InlineMarkdown.d.ts +23 -0
- package/dist/internal/components/InlineMarkdown/index.d.ts +1 -0
- package/dist/internal/components/Label/Label.d.ts +1 -1
- package/dist/internal/components/Popover/Popover.d.ts +3 -1
- package/dist/internal/components/index.d.ts +2 -1
- package/dist/internal/functions/index.d.ts +2 -0
- package/dist/internal/functions/inlineMarkdown.d.ts +20 -0
- package/dist/internal/functions/stripInlineMarkdown.d.ts +8 -0
- package/dist/internal/types/props.d.ts +2 -1
- package/dist/internal/types/selectFieldInternalTypes.d.ts +2 -2
- package/dist/internal/utils/index.d.ts +1 -0
- package/dist/internal/utils/inlineMarkdownRegex.d.ts +5 -0
- package/dist/{proxy-BbFHSE6L.js → proxy-DEehATlA.js} +8 -2
- package/dist/{proxy-BbFHSE6L.js.map → proxy-DEehATlA.js.map} +1 -1
- package/dist/stripInlineMarkdown-DyqLAQnf.js +25 -0
- package/dist/stripInlineMarkdown-DyqLAQnf.js.map +1 -0
- package/dist/{syncFilterUtils-B03Pc941.js → syncFilterUtils-CsbCnI1-.js} +7 -7
- package/dist/{syncFilterUtils-B03Pc941.js.map → syncFilterUtils-CsbCnI1-.js.map} +1 -1
- package/dist/types/ai-marks.d.ts +72 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/{use-reduced-motion-DSpxmqyT.js → use-reduced-motion-CqjZZ5QB.js} +2 -2
- package/dist/{use-reduced-motion-DSpxmqyT.js.map → use-reduced-motion-CqjZZ5QB.js.map} +1 -1
- package/dist/{useDrilldown-BW2XkUcK.js → useDrilldown-C7eMBl68.js} +4 -4
- package/dist/{useDrilldown-BW2XkUcK.js.map → useDrilldown-C7eMBl68.js.map} +1 -1
- package/dist/{useInitialFocus-BRRbylek.js → useInitialFocus-DbaB-x5T.js} +2 -3
- package/dist/{useInitialFocus-BRRbylek.js.map → useInitialFocus-DbaB-x5T.js.map} +1 -1
- package/dist/{index.esm-K9kxJhLx.js → usePopoverTransitionStates-B1opfxxn.js} +88 -3
- package/dist/usePopoverTransitionStates-B1opfxxn.js.map +1 -0
- package/dist/usePrefersReducedMotion-DR9B_D6w.js +37 -0
- package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +1 -0
- package/dist/usePrefersReducedMotion.d.ts +2 -0
- package/dist/usePrefersReducedMotion.js +2 -0
- package/dist/usePrefersReducedMotion.js.map +1 -0
- package/dist/{useToggleSelection-Dip0eimQ.js → useToggleSelection-BM8asdFj.js} +2 -2
- package/dist/{useToggleSelection-Dip0eimQ.js.map → useToggleSelection-BM8asdFj.js.map} +1 -1
- package/package.json +6 -4
- package/dist/Alert-C_o2f78C.js.map +0 -1
- package/dist/Button-CVsGhVJz.js +0 -113
- package/dist/Button-CVsGhVJz.js.map +0 -1
- package/dist/Checkbox-Drgai_lS.js.map +0 -1
- package/dist/Chip-CVyEctAz.js.map +0 -1
- package/dist/DataTable-BmVPjMMg.js.map +0 -1
- package/dist/DateFieldYearless-b81ZcYdp.js.map +0 -1
- package/dist/DateFieldYearlessRange-ClAFzIDD.js.map +0 -1
- package/dist/FieldLabel-CQ5QGTVq.js +0 -125
- package/dist/FieldLabel-CQ5QGTVq.js.map +0 -1
- package/dist/MultiSelectFieldSync-CSOitvtu.js.map +0 -1
- package/dist/NumberField-CHBXBMSj.js.map +0 -1
- package/dist/Popover-CQhLSNYR.js +0 -537
- package/dist/Popover-CQhLSNYR.js.map +0 -1
- package/dist/Popover2.css +0 -68
- package/dist/Radio-Bw2LDl9G.js.map +0 -1
- package/dist/SelectCard-ZaAD0wR1.js.map +0 -1
- package/dist/SelectFieldLabel-EJCXA02B.js.map +0 -1
- package/dist/SelectFieldSync-DA54WXOk.js.map +0 -1
- package/dist/SelectTrigger-DWyRndmY.js.map +0 -1
- package/dist/Switch-DpPHr3G3.js.map +0 -1
- package/dist/Text-BJo4oMI2.js.map +0 -1
- package/dist/TextField-o8zvVFDk.js.map +0 -1
- package/dist/Textarea-B4bBvO8c.js.map +0 -1
- package/dist/Toaster-6_LVKok2.js.map +0 -1
- package/dist/floating-ui.react-aKYfs-aw.js.map +0 -1
- package/dist/floating-ui.react-dom-imrk9N49.js.map +0 -1
- package/dist/index.esm-K9kxJhLx.js.map +0 -1
- package/dist/safePopover-BDso-xSH.js +0 -17
- package/dist/safePopover-BDso-xSH.js.map +0 -1
- package/dist/useOpenCloseTransitionStates-CiTYrLGi.js +0 -68
- package/dist/useOpenCloseTransitionStates-CiTYrLGi.js.map +0 -1
- package/dist/usePopoverTransitionStates-CDIoNUuf.js +0 -24
- package/dist/usePopoverTransitionStates-CDIoNUuf.js.map +0 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TableRow } from '../../types';
|
|
2
|
+
import { DataTableCacheOptions, SortedColumn } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Hook for caching resolved page data in DataTable.
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Caches resolved page data per page index using a Map stored in a ref
|
|
8
|
+
* - Returns cached data synchronously on cache hit, avoiding unnecessary API calls
|
|
9
|
+
* - Synchronously clears cache during render when invalidation triggers change
|
|
10
|
+
* - Size-based eviction (FIFO) when cache exceeds maxSize: oldest entry is dropped to make room
|
|
11
|
+
*
|
|
12
|
+
* @param config - Configuration including loadPageData function, cache options, and invalidation triggers
|
|
13
|
+
* @returns Object containing getOrLoad function and clearCache function
|
|
14
|
+
*/
|
|
15
|
+
export declare function usePageDataCache<T>(config: {
|
|
16
|
+
loadPageData?: (params: {
|
|
17
|
+
pageIndex: number;
|
|
18
|
+
pageSize: number;
|
|
19
|
+
sorting?: SortedColumn;
|
|
20
|
+
}) => TableRow<T>[] | Promise<TableRow<T>[]>;
|
|
21
|
+
cache?: DataTableCacheOptions;
|
|
22
|
+
refreshKey?: string | number;
|
|
23
|
+
refreshCounter: number;
|
|
24
|
+
rowsPerPage: number;
|
|
25
|
+
sorting?: SortedColumn;
|
|
26
|
+
}): {
|
|
27
|
+
getOrLoad: (pageIndex: number, pageSize: number, sorting?: SortedColumn) => TableRow<T>[] | Promise<TableRow<T>[]>;
|
|
28
|
+
clearCache: () => void;
|
|
29
|
+
};
|
|
@@ -32,6 +32,26 @@ export type DataTableEmptyState = {
|
|
|
32
32
|
*/
|
|
33
33
|
content?: ReactNode;
|
|
34
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Configuration for caching loadPageData results in DataTable.
|
|
37
|
+
* When enabled, resolved page data is cached per page index, allowing
|
|
38
|
+
* instant restoration when returning to a previously loaded page.
|
|
39
|
+
* @property {boolean} [enabled] - Whether caching is enabled. Defaults to true.
|
|
40
|
+
* @property {number} [maxSize] - Maximum number of pages to cache. Oldest entry is evicted (FIFO) when the limit is reached. Defaults to 15.
|
|
41
|
+
*/
|
|
42
|
+
export type DataTableCacheOptions = {
|
|
43
|
+
/**
|
|
44
|
+
* Whether caching is enabled.
|
|
45
|
+
* @default true
|
|
46
|
+
*/
|
|
47
|
+
enabled?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Maximum number of pages to cache. When the limit is reached, the oldest cached page is
|
|
50
|
+
* evicted (FIFO) to make room for the new entry.
|
|
51
|
+
* @default 15
|
|
52
|
+
*/
|
|
53
|
+
maxSize?: number;
|
|
54
|
+
};
|
|
35
55
|
/**
|
|
36
56
|
* Configuration for pagination in DataTable
|
|
37
57
|
*/
|
|
@@ -92,10 +112,16 @@ export type DataTablePaginationConfig<T> = {
|
|
|
92
112
|
* When changed, the page index automatically resets to 0.
|
|
93
113
|
*/
|
|
94
114
|
refreshKey?: string | number;
|
|
115
|
+
/**
|
|
116
|
+
* Configuration for caching loadPageData results.
|
|
117
|
+
* Caching is enabled by default. Set `{ enabled: false }` to disable.
|
|
118
|
+
*/
|
|
119
|
+
cache?: DataTableCacheOptions;
|
|
95
120
|
};
|
|
96
121
|
/**
|
|
97
122
|
* Ref handle for DataTable component
|
|
98
123
|
* @property {function} refresh - Triggers a data refetch and resets the page index to 0. Useful for manually refreshing data after external changes (e.g., after a mutation).
|
|
124
|
+
* @property {function} clearCache - Clears the page data cache without triggering a refetch.
|
|
99
125
|
*/
|
|
100
126
|
export type DataTableRef = {
|
|
101
127
|
/**
|
|
@@ -104,4 +130,8 @@ export type DataTableRef = {
|
|
|
104
130
|
* When using controlled pagination, this will call `onPageChange(0)`.
|
|
105
131
|
*/
|
|
106
132
|
refresh: () => void;
|
|
133
|
+
/**
|
|
134
|
+
* Clears the page data cache without triggering a refetch.
|
|
135
|
+
*/
|
|
136
|
+
clearCache: () => void;
|
|
107
137
|
};
|
|
@@ -158,7 +158,8 @@ export declare const Toolbar: import('react').ForwardRefExoticComponent<Omit<imp
|
|
|
158
158
|
* onChange={(id) => setFont(id)}
|
|
159
159
|
* />
|
|
160
160
|
*/
|
|
161
|
-
Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
|
|
161
|
+
Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
|
|
162
|
+
aiMark?: boolean | import('../../..').AiIconName;
|
|
162
163
|
appearance?: import('../../..').ButtonAppearance;
|
|
163
164
|
size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
|
|
164
165
|
loading?: boolean;
|
|
@@ -169,14 +170,15 @@ export declare const Toolbar: import('react').ForwardRefExoticComponent<Omit<imp
|
|
|
169
170
|
} | {
|
|
170
171
|
before: import('../../..').IconProps["svg"];
|
|
171
172
|
};
|
|
172
|
-
} & import('
|
|
173
|
+
} & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
|
|
174
|
+
aiMark?: boolean | import('../../..').AiIconName;
|
|
173
175
|
appearance?: import('../../..').ButtonAppearance;
|
|
174
176
|
size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
|
|
175
177
|
loading?: boolean;
|
|
176
178
|
} & {
|
|
177
179
|
children?: never;
|
|
178
180
|
icon?: import('../../..').IconProps["svg"];
|
|
179
|
-
} & import('
|
|
181
|
+
} & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
|
|
180
182
|
appearance?: import('./types').ToolbarItemAppearance;
|
|
181
183
|
onChange?: (optionId: string) => void;
|
|
182
184
|
selected?: string;
|
|
@@ -348,7 +350,8 @@ export declare const ToolbarElement: import('react').ForwardRefExoticComponent<O
|
|
|
348
350
|
* onChange={(id) => setFont(id)}
|
|
349
351
|
* />
|
|
350
352
|
*/
|
|
351
|
-
Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
|
|
353
|
+
Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
|
|
354
|
+
aiMark?: boolean | import('../../..').AiIconName;
|
|
352
355
|
appearance?: import('../../..').ButtonAppearance;
|
|
353
356
|
size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
|
|
354
357
|
loading?: boolean;
|
|
@@ -359,14 +362,15 @@ export declare const ToolbarElement: import('react').ForwardRefExoticComponent<O
|
|
|
359
362
|
} | {
|
|
360
363
|
before: import('../../..').IconProps["svg"];
|
|
361
364
|
};
|
|
362
|
-
} & import('
|
|
365
|
+
} & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../../..').DataTrackingId & {
|
|
366
|
+
aiMark?: boolean | import('../../..').AiIconName;
|
|
363
367
|
appearance?: import('../../..').ButtonAppearance;
|
|
364
368
|
size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
|
|
365
369
|
loading?: boolean;
|
|
366
370
|
} & {
|
|
367
371
|
children?: never;
|
|
368
372
|
icon?: import('../../..').IconProps["svg"];
|
|
369
|
-
} & import('
|
|
373
|
+
} & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
|
|
370
374
|
appearance?: import('./types').ToolbarItemAppearance;
|
|
371
375
|
onChange?: (optionId: string) => void;
|
|
372
376
|
selected?: string;
|
|
@@ -63,7 +63,8 @@ export type ToolbarSelectProps<T = Record<string, unknown>> = Omit<React.Compone
|
|
|
63
63
|
* accessibleLabel="Text color"
|
|
64
64
|
* />
|
|
65
65
|
*/
|
|
66
|
-
export declare const ToolbarSelect: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & {
|
|
66
|
+
export declare const ToolbarSelect: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & DataTrackingId & {
|
|
67
|
+
aiMark?: boolean | import('../../..').AiIconName;
|
|
67
68
|
appearance?: import('../../..').ButtonAppearance;
|
|
68
69
|
size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
|
|
69
70
|
loading?: boolean;
|
|
@@ -74,14 +75,15 @@ export declare const ToolbarSelect: import('react').ForwardRefExoticComponent<Om
|
|
|
74
75
|
} | {
|
|
75
76
|
before: import('../../..').IconProps["svg"];
|
|
76
77
|
};
|
|
77
|
-
} &
|
|
78
|
+
} & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & import('../../..').LayoutUtilProps & DataTrackingId & {
|
|
79
|
+
aiMark?: boolean | import('../../..').AiIconName;
|
|
78
80
|
appearance?: import('../../..').ButtonAppearance;
|
|
79
81
|
size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
|
|
80
82
|
loading?: boolean;
|
|
81
83
|
} & {
|
|
82
84
|
children?: never;
|
|
83
85
|
icon?: import('../../..').IconProps["svg"];
|
|
84
|
-
} &
|
|
86
|
+
} & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
|
|
85
87
|
/**
|
|
86
88
|
* Visual appearance of the select button
|
|
87
89
|
* @default ghost
|
package/dist/beta.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, h as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, i as timeFormatter, y as yearlessDateFormatter } from './DataTable-
|
|
2
|
-
export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-
|
|
3
|
-
export { u as useCalendarBetaProps } from './Calendar-
|
|
4
|
-
export { C as Calendar } from './Calendar-
|
|
5
|
-
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-
|
|
6
|
-
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-
|
|
7
|
-
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-
|
|
8
|
-
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-
|
|
1
|
+
export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, h as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, i as timeFormatter, y as yearlessDateFormatter } from './DataTable-DK9xRjnq.js';
|
|
2
|
+
export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-CWRk523l.js';
|
|
3
|
+
export { u as useCalendarBetaProps } from './Calendar-Bd_WELZC.js';
|
|
4
|
+
export { C as Calendar } from './Calendar-d2owsYe9.js';
|
|
5
|
+
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-DGK8F2G9.js';
|
|
6
|
+
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-Ei7DXzvs.js';
|
|
7
|
+
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-CuZp9mnt.js';
|
|
8
|
+
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-B_mXpTEe.js';
|
|
9
9
|
export { I as InteractiveCard } from './InteractiveCard-GTYbR6Xy.js';
|
|
10
|
-
export { u as useAdaptiveView } from './syncFilterUtils-
|
|
10
|
+
export { u as useAdaptiveView } from './syncFilterUtils-CsbCnI1-.js';
|
|
11
11
|
//# sourceMappingURL=beta.js.map
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { IconProps } from '../Icon';
|
|
2
|
+
import { AiMarkCollapsePadding, AiMarkWithTooltipOrPopoverConfig } from '../../types/ai-marks';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the AiMark component
|
|
5
|
+
* @property {"default" | "gradient"} [type] - The visual style of the AI mark
|
|
6
|
+
* @property {AiMarkWithTooltipOrPopoverConfig} [popoverOrTooltipConfig] - Configuration for popover or tooltip display with content and props
|
|
7
|
+
* @property {boolean} [forceAnimate] - Forces the pulsing animation to play, intended for use within interactive parent components (e.g. on hover or focus of the parent)
|
|
8
|
+
* @property {AiMarkCollapsePadding} [collapsePadding] - Collapses the component's layout footprint to match a plain icon on the chosen axes.
|
|
9
|
+
* @extends Omit<IconProps, "svg">
|
|
10
|
+
*/
|
|
11
|
+
export type AiMarkProps = Omit<IconProps, "svg"> & {
|
|
12
|
+
/**
|
|
13
|
+
* The visual style of the AI mark.
|
|
14
|
+
* @default default
|
|
15
|
+
*/
|
|
16
|
+
type?: "default" | "gradient";
|
|
17
|
+
/**
|
|
18
|
+
* Configuration for popover or tooltip display.
|
|
19
|
+
* Includes content, trigger label, and optional props for customization.
|
|
20
|
+
* Popover config takes precedence over tooltip config.
|
|
21
|
+
*/
|
|
22
|
+
popoverOrTooltipConfig?: AiMarkWithTooltipOrPopoverConfig;
|
|
23
|
+
/**
|
|
24
|
+
* When true, forces the pulsing morph animation to play regardless of
|
|
25
|
+
* hover/focus state. Useful when AiMark is embedded inside an interactive
|
|
26
|
+
* parent component (e.g. a Chip or Button) and the parent controls when
|
|
27
|
+
* the animation should be active via its own hover or focus state.
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
forceAnimate?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Collapses padding on the chosen axes so the component's layout footprint
|
|
33
|
+
* matches a plain inline icon on those axes.
|
|
34
|
+
*
|
|
35
|
+
* For interactive variants (tooltip/popover), the ghost button's hit area is
|
|
36
|
+
* unchanged — only the container's layout box shrinks.
|
|
37
|
+
*
|
|
38
|
+
* For non-interactive variants, padding equal to the ghost button's padding is
|
|
39
|
+
* added to the non-collapsed axes, and omitted on the collapsed axes.
|
|
40
|
+
*
|
|
41
|
+
* - `"inline"` — collapse the inline axis (left/right)
|
|
42
|
+
* - `"block"` — collapse the block axis (top/bottom)
|
|
43
|
+
* - `"all"` — collapse both axes
|
|
44
|
+
*/
|
|
45
|
+
collapsePadding?: AiMarkCollapsePadding;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Component for displaying the ServiceTitan AI mark with optional tooltip or popover.
|
|
49
|
+
*
|
|
50
|
+
* Features:
|
|
51
|
+
* - Two visual styles: default and gradient variants
|
|
52
|
+
* - Optional tooltip on hover for contextual information
|
|
53
|
+
* - Optional popover on click for more detailed content
|
|
54
|
+
* - Forced animation mode for use within interactive parent components
|
|
55
|
+
* - Uses ghost button appearance for subtle interaction
|
|
56
|
+
* - Inherits all icon properties for size and styling customization
|
|
57
|
+
* - Accessible with proper ARIA attributes from Button component
|
|
58
|
+
* - Prevents event propagation when used with popover
|
|
59
|
+
* - Configurable via popoverOrTooltipConfig for advanced customization
|
|
60
|
+
* - Optional `collapsePadding` to reduce layout footprint to match a plain icon
|
|
61
|
+
* - Animates on hover and focus when used with tooltip or popover
|
|
62
|
+
* - Automatically respects the user's reduced motion preference
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* <AiMark
|
|
66
|
+
* type="default"
|
|
67
|
+
* popoverOrTooltipConfig={{
|
|
68
|
+
* type: "tooltip",
|
|
69
|
+
* content: "Powered by AI",
|
|
70
|
+
* triggerLabel: "AI feature information"
|
|
71
|
+
* }}
|
|
72
|
+
* />
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* <AiMark
|
|
76
|
+
* type="gradient"
|
|
77
|
+
* popoverOrTooltipConfig={{
|
|
78
|
+
* type: "popover",
|
|
79
|
+
* content: <Text>AI feature details</Text>,
|
|
80
|
+
* triggerLabel: "Learn about AI features"
|
|
81
|
+
* }}
|
|
82
|
+
* />
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* <AiMark type="default" forceAnimate={isHovered} />
|
|
86
|
+
*/
|
|
87
|
+
export declare const AiMark: (props: AiMarkProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AiMark';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props for the AiMarkIconAnimated component
|
|
3
|
+
* @property {boolean} [animate] - Whether to trigger animations (on hover or focus)
|
|
4
|
+
* @property {number} [size] - Size of the icon in pixels
|
|
5
|
+
* @property {boolean} [inheritColor] - Whether to inherit color from parent instead of using gradient
|
|
6
|
+
* @property {boolean} [spin] - Whether to enable the rotation animation in addition to the morph pulse
|
|
7
|
+
*/
|
|
8
|
+
interface AiMarkIconAnimatedProps {
|
|
9
|
+
animate?: boolean;
|
|
10
|
+
size?: number;
|
|
11
|
+
inheritColor?: boolean;
|
|
12
|
+
spin?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* AiMarkIconAnimated renders two animated Atlas AI star icons with rotation and morph effects.
|
|
16
|
+
*
|
|
17
|
+
* Features:
|
|
18
|
+
* - Displays two stars in different sizes positioned in a composition
|
|
19
|
+
* - Animates morphing on hover
|
|
20
|
+
* - Supports rotation animation via spin prop
|
|
21
|
+
* - Supports gradient or inherited color
|
|
22
|
+
* - Automatically respects reduced motion preferences
|
|
23
|
+
* - Configurable size
|
|
24
|
+
* - Unique gradient IDs prevent conflicts when multiple icons render
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* <AiMarkIconAnimated animate={isActive} size={24} />
|
|
28
|
+
*/
|
|
29
|
+
export declare const AiMarkIconAnimated: ({ animate, size, inheritColor, spin, }: AiMarkIconAnimatedProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IconProps } from '../../Icon';
|
|
2
|
+
import { AiMarkWithTooltipOrPopoverConfig } from '../../../types/ai-marks';
|
|
3
|
+
export type AiMarkInteractiveProps = {
|
|
4
|
+
config: AiMarkWithTooltipOrPopoverConfig;
|
|
5
|
+
size: NonNullable<IconProps["size"]>;
|
|
6
|
+
inheritColor: boolean;
|
|
7
|
+
containerClassName: string;
|
|
8
|
+
forceAnimate?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const AiMarkInteractive: ({ config, size, inheritColor, containerClassName, forceAnimate, }: AiMarkInteractiveProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AiMarkWithTooltipOrPopoverConfig } from '../../../types/ai-marks';
|
|
2
|
+
export declare const AI_MARK_STORY_OPTIONS: readonly ["false", "true", "tooltip (default)", "tooltip (custom)", "popover (default)", "popover (custom)"];
|
|
3
|
+
export type AiMarkStoryOption = (typeof AI_MARK_STORY_OPTIONS)[number];
|
|
4
|
+
/**
|
|
5
|
+
* Maps Storybook `aiMark` dropdown values to `AiMark` / `aiMark` prop values.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveAiMarkStoryOption(option: AiMarkStoryOption | undefined): boolean | AiMarkWithTooltipOrPopoverConfig | undefined;
|
|
8
|
+
export declare const argTypesAiMarkStory: {
|
|
9
|
+
aiMarkStory: {
|
|
10
|
+
name: string;
|
|
11
|
+
options: ("true" | "false" | "tooltip (default)" | "tooltip (custom)" | "popover (default)" | "popover (custom)")[];
|
|
12
|
+
control: {
|
|
13
|
+
type: "select";
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef } from 'react';
|
|
2
2
|
import { DataTrackingId, LayoutUtilProps, OnCloseProps, Status } from '../../types';
|
|
3
|
+
import { AiMarkWithTooltipOrPopoverConfig } from '../../types/ai-marks';
|
|
3
4
|
/**
|
|
4
5
|
* Props for the Alert component
|
|
5
6
|
* @extends ComponentPropsWithoutRef<"div">
|
|
@@ -16,6 +17,11 @@ export type AlertProps = ComponentPropsWithoutRef<"div"> & LayoutUtilProps & OnC
|
|
|
16
17
|
* The title text displayed in the alert.
|
|
17
18
|
*/
|
|
18
19
|
title: string;
|
|
20
|
+
/**
|
|
21
|
+
* When set, displays the AI mark inline after the title.
|
|
22
|
+
* Use `true` for the sparkle only, or pass tooltip/popover configuration.
|
|
23
|
+
*/
|
|
24
|
+
aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;
|
|
19
25
|
} &
|
|
20
26
|
/**
|
|
21
27
|
* Data tracking id
|
|
@@ -27,6 +33,7 @@ DataTrackingId;
|
|
|
27
33
|
* Features:
|
|
28
34
|
* - Supports different visual styles (info, success, warning, danger)
|
|
29
35
|
* - Optional close button for dismissible alerts
|
|
36
|
+
* - Optional AI mark inline after the title
|
|
30
37
|
* - Customizable title and content
|
|
31
38
|
* - Accessible with proper ARIA roles
|
|
32
39
|
* - Includes status-specific icons
|
|
@@ -59,4 +66,9 @@ export declare const Alert: import('react').ForwardRefExoticComponent<Omit<impor
|
|
|
59
66
|
* The title text displayed in the alert.
|
|
60
67
|
*/
|
|
61
68
|
title: string;
|
|
69
|
+
/**
|
|
70
|
+
* When set, displays the AI mark inline after the title.
|
|
71
|
+
* Use `true` for the sparkle only, or pass tooltip/popover configuration.
|
|
72
|
+
*/
|
|
73
|
+
aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;
|
|
62
74
|
} & DataTrackingId & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
import { ButtonAppearance, Size, DataTrackingId, LayoutUtilProps } from '../../types';
|
|
2
2
|
import { ComponentPropsWithoutRef } from 'react';
|
|
3
3
|
import { IconProps } from '../Icon';
|
|
4
|
+
import { AiIconName } from './internal';
|
|
5
|
+
export type { AiIconName };
|
|
4
6
|
/**
|
|
5
7
|
* Props for the Button component
|
|
6
8
|
* @extends Omit<ComponentPropsWithoutRef<"button">, "children">
|
|
7
9
|
* @extends LayoutUtilProps
|
|
10
|
+
* @extends DataTrackingId
|
|
8
11
|
*/
|
|
9
|
-
export type ButtonProps = Omit<ComponentPropsWithoutRef<"button">, "children"> & LayoutUtilProps & {
|
|
12
|
+
export type ButtonProps = Omit<ComponentPropsWithoutRef<"button">, "children"> & LayoutUtilProps & DataTrackingId & {
|
|
13
|
+
/**
|
|
14
|
+
* When `true` or an icon name, shows an AI indicator. With button text, any leading
|
|
15
|
+
* `icon` (plain Svg or `icon.before`) is not shown—the AI icon is used instead.
|
|
16
|
+
* On an icon-only button, `icon` is not shown—the AI icon is used instead.
|
|
17
|
+
* Icon-only usage must include an accessible name (for example `aria-label`).
|
|
18
|
+
* In development, a console warning is logged when `icon` is overridden.
|
|
19
|
+
*/
|
|
20
|
+
aiMark?: boolean | AiIconName;
|
|
10
21
|
/**
|
|
11
22
|
* The visual variant of the button.
|
|
12
23
|
* @default secondary
|
|
@@ -39,11 +50,7 @@ export type ButtonProps = Omit<ComponentPropsWithoutRef<"button">, "children"> &
|
|
|
39
50
|
* The icon of the icon only button.
|
|
40
51
|
*/
|
|
41
52
|
icon?: IconProps["svg"];
|
|
42
|
-
})
|
|
43
|
-
/**
|
|
44
|
-
* Data tracking id
|
|
45
|
-
*/
|
|
46
|
-
DataTrackingId;
|
|
53
|
+
});
|
|
47
54
|
/**
|
|
48
55
|
* Button component for triggering actions and user interactions.
|
|
49
56
|
*
|
|
@@ -52,6 +59,7 @@ DataTrackingId;
|
|
|
52
59
|
* - Four size options (xsmall, small, medium, large)
|
|
53
60
|
* - Loading state with spinner animation
|
|
54
61
|
* - Icon support (before, after, or icon-only)
|
|
62
|
+
* - Optional AI mark / named AI icons via `aiMark`
|
|
55
63
|
* - Full accessibility support with ARIA attributes
|
|
56
64
|
* - Supports layout utilities for positioning and spacing
|
|
57
65
|
* - Automatic disabled state when loading
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IconProps } from '../../Icon';
|
|
2
|
+
/**
|
|
3
|
+
* AI icon names for `Button` `aiMark`. `"mark"` (or boolean `true`) uses the animated AI mark;
|
|
4
|
+
* other values use static AI icons.
|
|
5
|
+
*/
|
|
6
|
+
export type AiIconName = "chat" | "edit" | "form" | "mark" | "mic" | "search";
|
|
7
|
+
export declare const AI_ICON_MAP: Record<Exclude<AiIconName, "mark">, IconProps["svg"]>;
|
|
8
|
+
export type ButtonAiMarkSize = "xsmall" | "small" | "medium" | "large";
|
|
9
|
+
/**
|
|
10
|
+
* Icon-only AI icon container size (px). Medium/large match custom icon-only parity.
|
|
11
|
+
*/
|
|
12
|
+
export declare const ICON_ONLY_AI_SIZE_PX: Record<ButtonAiMarkSize, number>;
|
|
13
|
+
export declare function iconHasLeadingSlot(icon: IconProps["svg"] | {
|
|
14
|
+
before: IconProps["svg"];
|
|
15
|
+
} | {
|
|
16
|
+
after: IconProps["svg"];
|
|
17
|
+
} | undefined): boolean;
|
|
18
|
+
export declare function aiMarkShowsAnimatedMark(aiMark?: boolean | AiIconName): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { type AiIconName, type ButtonAiMarkSize, AI_ICON_MAP, ICON_ONLY_AI_SIZE_PX, aiMarkShowsAnimatedMark, iconHasLeadingSlot, } from './buttonAiMarkUtils';
|
|
@@ -20,9 +20,14 @@ export type CardProps = ComponentPropsWithoutRef<"div"> & LayoutUtilProps & {
|
|
|
20
20
|
/**
|
|
21
21
|
* Card component for displaying content in a contained, elevated container.
|
|
22
22
|
*
|
|
23
|
+
* Features:
|
|
24
|
+
* - Optional background variants (strong, stronger)
|
|
25
|
+
* - Configurable padding sizes
|
|
26
|
+
* - Supports layout utilities for positioning and spacing
|
|
27
|
+
*
|
|
23
28
|
* @example
|
|
24
29
|
* <Card padding="large" background="strong">
|
|
25
|
-
* <h2>Card Title</
|
|
30
|
+
* <Text variant="headline" el="h2">Card Title</Text>
|
|
26
31
|
* <p>Card content goes here</p>
|
|
27
32
|
* </Card>
|
|
28
33
|
*/
|
|
@@ -61,10 +61,12 @@ export declare const Checkbox: import('react').ForwardRefExoticComponent<Omit<Co
|
|
|
61
61
|
Group: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref"> & import('..').LayoutUtilProps & Omit<import('../../internal').FieldLabelProps, "labelProps"> & {
|
|
62
62
|
required?: boolean;
|
|
63
63
|
legend: string | import('react').ReactElement;
|
|
64
|
+
legendProps?: Omit<import('..').FieldLabelProps, "el">;
|
|
64
65
|
error?: boolean | string | import('react').ReactElement | string[];
|
|
65
66
|
errorAriaLive?: import('../../internal').HelperProps["errorAriaLive"];
|
|
66
67
|
warning?: string | string[];
|
|
67
68
|
description?: import('../../internal').HelperProps["description"];
|
|
68
69
|
hint?: import('../../internal').HelperProps["hint"];
|
|
70
|
+
hideLabel?: boolean;
|
|
69
71
|
} & import('react').RefAttributes<HTMLFieldSetElement>>;
|
|
70
72
|
};
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef, ReactElement } from 'react';
|
|
2
2
|
import { LayoutUtilProps } from '../../types';
|
|
3
|
-
import { FieldLabelProps } from '
|
|
3
|
+
import { FieldLabelProps as FieldLabelElementProps } from '../FieldLabel';
|
|
4
|
+
import { FieldLabelProps as InternalFieldLabelProps } from '../../internal/types';
|
|
4
5
|
import { HelperProps } from '../../internal/components';
|
|
5
6
|
/**
|
|
6
7
|
* Props for the CheckboxGroup component
|
|
7
8
|
* @extends ComponentPropsWithoutRef<"fieldset">
|
|
8
9
|
* @extends LayoutUtilProps
|
|
9
|
-
* @extends Omit<
|
|
10
|
+
* @extends Omit<InternalFieldLabelProps, "labelProps">
|
|
10
11
|
*/
|
|
11
|
-
export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUtilProps & Omit<
|
|
12
|
+
export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUtilProps & Omit<InternalFieldLabelProps, "labelProps"> & {
|
|
12
13
|
/**
|
|
13
14
|
* required flag for label
|
|
14
15
|
* @accessibility This does not enforce error when nothing is selected.
|
|
@@ -16,9 +17,14 @@ export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUt
|
|
|
16
17
|
*/
|
|
17
18
|
required?: boolean;
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
+
* Legend for the fieldset.
|
|
21
|
+
* Passing `ReactNode` is deprecated — use a plain string with inline markdown instead.
|
|
20
22
|
*/
|
|
21
23
|
legend: string | ReactElement;
|
|
24
|
+
/**
|
|
25
|
+
* Additional props for the legend `FieldLabel` (for example `aiMark`, `className`).
|
|
26
|
+
*/
|
|
27
|
+
legendProps?: Omit<FieldLabelElementProps, "el">;
|
|
22
28
|
/**
|
|
23
29
|
* Error state for the field. Pass `true` to indicate error styling without a message.
|
|
24
30
|
* Pass a string, string[], or ReactElement (deprecated) for error messages.
|
|
@@ -40,6 +46,11 @@ export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUt
|
|
|
40
46
|
* Hint text to display below the field.
|
|
41
47
|
*/
|
|
42
48
|
hint?: HelperProps["hint"];
|
|
49
|
+
/**
|
|
50
|
+
* When `true`, hides the visual label row. The sr-only `<legend>` always remains for screen readers.
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
hideLabel?: boolean;
|
|
43
54
|
};
|
|
44
55
|
/**
|
|
45
56
|
* CheckboxGroup component for grouping related checkboxes together.
|
|
@@ -61,7 +72,7 @@ export type CheckboxGroupProps = ComponentPropsWithoutRef<"fieldset"> & LayoutUt
|
|
|
61
72
|
* <Checkbox label="Music" />
|
|
62
73
|
* </CheckboxGroup>
|
|
63
74
|
*/
|
|
64
|
-
export declare const CheckboxGroup: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref"> & LayoutUtilProps & Omit<
|
|
75
|
+
export declare const CheckboxGroup: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref"> & LayoutUtilProps & Omit<InternalFieldLabelProps, "labelProps"> & {
|
|
65
76
|
/**
|
|
66
77
|
* required flag for label
|
|
67
78
|
* @accessibility This does not enforce error when nothing is selected.
|
|
@@ -69,9 +80,14 @@ export declare const CheckboxGroup: import('react').ForwardRefExoticComponent<Om
|
|
|
69
80
|
*/
|
|
70
81
|
required?: boolean;
|
|
71
82
|
/**
|
|
72
|
-
*
|
|
83
|
+
* Legend for the fieldset.
|
|
84
|
+
* Passing `ReactNode` is deprecated — use a plain string with inline markdown instead.
|
|
73
85
|
*/
|
|
74
86
|
legend: string | ReactElement;
|
|
87
|
+
/**
|
|
88
|
+
* Additional props for the legend `FieldLabel` (for example `aiMark`, `className`).
|
|
89
|
+
*/
|
|
90
|
+
legendProps?: Omit<FieldLabelElementProps, "el">;
|
|
75
91
|
/**
|
|
76
92
|
* Error state for the field. Pass `true` to indicate error styling without a message.
|
|
77
93
|
* Pass a string, string[], or ReactElement (deprecated) for error messages.
|
|
@@ -93,4 +109,9 @@ export declare const CheckboxGroup: import('react').ForwardRefExoticComponent<Om
|
|
|
93
109
|
* Hint text to display below the field.
|
|
94
110
|
*/
|
|
95
111
|
hint?: HelperProps["hint"];
|
|
112
|
+
/**
|
|
113
|
+
* When `true`, hides the visual label row. The sr-only `<legend>` always remains for screen readers.
|
|
114
|
+
* @default false
|
|
115
|
+
*/
|
|
116
|
+
hideLabel?: boolean;
|
|
96
117
|
} & import('react').RefAttributes<HTMLFieldSetElement>>;
|
|
@@ -2,11 +2,13 @@ import { ChipProps as CoreChipProps } from './internal/Chip';
|
|
|
2
2
|
import { IconProps as CoreIconProps } from '../Icon';
|
|
3
3
|
import { AvatarProps as CoreAvatarProps } from '../Avatar/internal/Avatar';
|
|
4
4
|
import { DataTrackingId, DistributiveOmit } from '../../types';
|
|
5
|
+
import { AiMarkBooleanProps } from '../../types/ai-marks';
|
|
5
6
|
/**
|
|
6
7
|
* Props for the Chip component
|
|
7
8
|
* @property {string} label - The text that displays in the chip
|
|
8
9
|
* @property {"small" | "medium"} [size] - The size of the chip
|
|
9
10
|
* @property {string} [color] - Color of the Chip
|
|
11
|
+
* @property {boolean} [aiMark] - Whether to display an AI mark icon in the chip
|
|
10
12
|
* @property {(e?: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClick] - Callback for when the Chip is clicked
|
|
11
13
|
* @property {(e: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void} [onClose] - Called when the component is closed
|
|
12
14
|
* @property {boolean} [textWrap] - Wraps text when it overflows
|
|
@@ -14,8 +16,9 @@ import { DataTrackingId, DistributiveOmit } from '../../types';
|
|
|
14
16
|
* @property {string} [avatar] - Image URL to display in an avatar before the chip text.
|
|
15
17
|
* @extends CoreChipProps
|
|
16
18
|
* @extends DataTrackingId
|
|
19
|
+
* @extends AiMarkBooleanProps
|
|
17
20
|
*/
|
|
18
|
-
export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar"> & DataTrackingId & ({
|
|
21
|
+
export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar" | "suffix"> & DataTrackingId & AiMarkBooleanProps & ({
|
|
19
22
|
icon?: CoreIconProps["svg"];
|
|
20
23
|
avatar?: never;
|
|
21
24
|
} | {
|
|
@@ -30,6 +33,9 @@ export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar"> & D
|
|
|
30
33
|
* - Custom color support with automatic contrast calculation
|
|
31
34
|
* - Optional click handler for interactive chips
|
|
32
35
|
* - Optional close button for removable chips
|
|
36
|
+
* - Optional AI mark icon to indicate AI-generated content
|
|
37
|
+
* - Automatic AI mark type selection: gradient on default chips, inherited color on colored chips
|
|
38
|
+
* - AI mark on clickable chips (hover/focus morph temporarily disabled; see @TODO in source)
|
|
33
39
|
* - Text wrapping support for long labels
|
|
34
40
|
* - Full accessibility support with ARIA attributes
|
|
35
41
|
* - Keyboard navigation (Enter/Space to click, Delete/Backspace to close)
|
|
@@ -45,5 +51,8 @@ export type ChipProps = DistributiveOmit<CoreChipProps, "prefix" | "avatar"> & D
|
|
|
45
51
|
* onClose={(e) => console.log('Chip removed')}
|
|
46
52
|
* onClick={(e) => console.log('Chip clicked')}
|
|
47
53
|
* />
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* <Chip label="AI Generated" aiMark />
|
|
48
57
|
*/
|
|
49
58
|
export declare const Chip: import('react').ForwardRefExoticComponent<ChipProps & import('react').RefAttributes<HTMLSpanElement>>;
|
|
@@ -27,6 +27,10 @@ export type ChipBaseProps = Omit<ComponentPropsWithoutRef<"span">, "prefix"> & O
|
|
|
27
27
|
* Image URL to display in an avatar before the chip text.
|
|
28
28
|
*/
|
|
29
29
|
avatar?: AvatarProps["image"];
|
|
30
|
+
/**
|
|
31
|
+
* Content displayed in the chip, after the text.
|
|
32
|
+
*/
|
|
33
|
+
suffix?: ReactNode;
|
|
30
34
|
};
|
|
31
35
|
type ChipClickHandler = (e?: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void;
|
|
32
36
|
type ChipCloseHandler = (e: MouseEvent<HTMLSpanElement> | KeyboardEvent<HTMLSpanElement>) => void;
|
|
@@ -32,7 +32,7 @@ export type MaskedDateRangeInputRef = HTMLInputElement & {
|
|
|
32
32
|
* @param props.endDate - The end date.
|
|
33
33
|
* @param props.disableHint - Whether to disable the hint.
|
|
34
34
|
*/
|
|
35
|
-
export declare const MaskedDateRangeInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "
|
|
35
|
+
export declare const MaskedDateRangeInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "onChange" | "ref" | "value" | "prefix" | "hint" | "showCounter"> & {
|
|
36
36
|
onChange: MaskedDateRangeInputChangeHandler;
|
|
37
37
|
mode?: DateMode;
|
|
38
38
|
startDate: DateTime | null;
|
|
@@ -20,7 +20,7 @@ export declare const useDateFieldRangeConversion: (props: DateFieldRangeProps) =
|
|
|
20
20
|
maxDate: DateTime<boolean> | null | undefined;
|
|
21
21
|
unavailable: {
|
|
22
22
|
dates: DateTime<boolean>[] | undefined;
|
|
23
|
-
daysOfWeek: (
|
|
23
|
+
daysOfWeek: (1 | 2 | 3 | 6 | 4 | 5 | 7)[] | undefined;
|
|
24
24
|
};
|
|
25
25
|
onChange: (change: Omit<DateFieldRangeChange, "startDate" | "endDate"> & {
|
|
26
26
|
startDate: DateTime | null;
|