@servicetitan/anvil2 3.13.6 → 3.14.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 +27 -0
- package/dist/{AiMark-D8dx3b1Q.js → AiMark-CWufA6pV.js} +7 -62
- package/dist/{AiMark-D8dx3b1Q.js.map → AiMark-CWufA6pV.js.map} +1 -1
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-N-Es76Om.js → Alert-RkvFtmRP.js} +2 -2
- package/dist/{Alert-N-Es76Om.js.map → Alert-RkvFtmRP.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{AnvilProvider-DcYAaAvs.js → AnvilProvider-DagOuc9c.js} +13 -7
- package/dist/AnvilProvider-DagOuc9c.js.map +1 -0
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Avatar-D31JDNrs.js → Avatar-DZxHhMTP.js} +2 -4
- package/dist/Avatar-DZxHhMTP.js.map +1 -0
- package/dist/{Avatar-DXI-w1Vi.js → Avatar-DkWoRhJu.js} +2 -2
- package/dist/{Avatar-DXI-w1Vi.js.map → Avatar-DkWoRhJu.js.map} +1 -1
- package/dist/Avatar.js +2 -2
- package/dist/{Breadcrumbs-Di0HJmcH.js → Breadcrumbs-DbOrdao2.js} +2 -2
- package/dist/{Breadcrumbs-Di0HJmcH.js.map → Breadcrumbs-DbOrdao2.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/Button-Dwh_Nd4l.js.map +1 -1
- package/dist/{Calendar-DnK6UwPE.js → Calendar-CK-AAaSG.js} +33 -41
- package/dist/Calendar-CK-AAaSG.js.map +1 -0
- package/dist/{Calendar-C1mgmbWt.js → Calendar-DLnn6dJE.js} +2 -2
- package/dist/{Calendar-C1mgmbWt.js.map → Calendar-DLnn6dJE.js.map} +1 -1
- package/dist/Calendar.css +50 -48
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-CknwM231.js → Checkbox-CboZhOtU.js} +3 -3
- package/dist/{Checkbox-CknwM231.js.map → Checkbox-CboZhOtU.js.map} +1 -1
- package/dist/{Checkbox-FvMXGsgi.js → Checkbox-Cn4iNLW_.js} +2 -2
- package/dist/{Checkbox-FvMXGsgi.js.map → Checkbox-Cn4iNLW_.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-AILbiVZ6.js → Chip-UbrxYEqs.js} +4 -6
- package/dist/Chip-UbrxYEqs.js.map +1 -0
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-BE1YvSto.js → DataTable-COExZbOC.js} +11 -25
- package/dist/DataTable-COExZbOC.js.map +1 -0
- package/dist/{DateFieldRange-VK82YRwV.js → DateFieldRange-CpTxlASD.js} +5 -5
- package/dist/{DateFieldRange-VK82YRwV.js.map → DateFieldRange-CpTxlASD.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-BikPSISX.js → DateFieldSingle-DR2kfrzh.js} +5 -5
- package/dist/{DateFieldSingle-BikPSISX.js.map → DateFieldSingle-DR2kfrzh.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-DQIEBYKe.js → DateFieldYearless-4mS_2Mgw.js} +5 -5
- package/dist/{DateFieldYearless-DQIEBYKe.js.map → DateFieldYearless-4mS_2Mgw.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-BpQqvD9U.js → DateFieldYearlessRange-C-yvKBkJ.js} +4 -4
- package/dist/{DateFieldYearlessRange-BpQqvD9U.js.map → DateFieldYearlessRange-C-yvKBkJ.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-Re26vN8g.js → DaysOfTheWeek-Bo4w8SsT.js} +2 -2
- package/dist/{DaysOfTheWeek-Re26vN8g.js.map → DaysOfTheWeek-Bo4w8SsT.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Dialog-BMPFoRQh.js → Dialog-Ds25dKQp.js} +4 -4
- package/dist/{Dialog-BMPFoRQh.js.map → Dialog-Ds25dKQp.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-BCw_ZHSD.js → Drawer-Da-bj_6o.js} +4 -4
- package/dist/{Drawer-BCw_ZHSD.js.map → Drawer-Da-bj_6o.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-CTEk64eN.js → EditCard-CocV93gS.js} +2 -2
- package/dist/{EditCard-CTEk64eN.js.map → EditCard-CocV93gS.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-CYCk2rz-.js → FieldLabel-6aFKQfyD.js} +2 -2
- package/dist/FieldLabel-6aFKQfyD.js.map +1 -0
- package/dist/FieldLabel.js +1 -1
- package/dist/{FilterBar-XMZ-Q-aW.js → FilterBar-CZT1ryz_.js} +6 -7
- package/dist/FilterBar-CZT1ryz_.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/Helper-BHpOgh7k.js.map +1 -1
- package/dist/Icon-B5zwN7GD.js.map +1 -1
- package/dist/{InputMask-Bm7ZYtQy.js → InputMask-CNV0Ucli.js} +3 -3
- package/dist/{InputMask-Bm7ZYtQy.js.map → InputMask-CNV0Ucli.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{ListView-Bkv1ZCSu.js → ListView-DFAWrwzi.js} +2 -2
- package/dist/ListView-DFAWrwzi.js.map +1 -0
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-BWy_uBqm.js → Listbox-BErqErNN.js} +2 -2
- package/dist/Listbox-BErqErNN.js.map +1 -0
- package/dist/Listbox.js +1 -1
- package/dist/LocalizationContext-UsmB5mnR.js.map +1 -1
- package/dist/LocalizationProvider-BPcOU7YX.js.map +1 -1
- package/dist/{MenuFooter--lBF8OjJ.js → MenuFooter-fGSZYh8e.js} +2 -2
- package/dist/MenuFooter-fGSZYh8e.js.map +1 -0
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-C57Hms2z.js → MultiSelectFieldSync-CqWUidCm.js} +8 -8
- package/dist/MultiSelectFieldSync-CqWUidCm.js.map +1 -0
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-DxU1AtCL.js → MultiSelectMenuSync-DG3rKyQc.js} +6 -6
- package/dist/{MultiSelectMenuSync-DxU1AtCL.js.map → MultiSelectMenuSync-DG3rKyQc.js.map} +1 -1
- package/dist/{NumberField-BOLMhpdk.js → NumberField-DRYYJHec.js} +3 -3
- package/dist/{NumberField-BOLMhpdk.js.map → NumberField-DRYYJHec.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/{Page-CBmCe-YR.js → Page-BmpojvuI.js} +8 -8
- package/dist/{Page-CBmCe-YR.js.map → Page-BmpojvuI.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Pagination-Hjalx9ZX.js → Pagination-Bc4fhdNm.js} +3 -3
- package/dist/{Pagination-Hjalx9ZX.js.map → Pagination-Bc4fhdNm.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-BQ-R2hs0.js → Popover-BgVOsP4J.js} +2 -2
- package/dist/{Popover-BQ-R2hs0.js.map → Popover-BgVOsP4J.js.map} +1 -1
- package/dist/Popover.js +1 -1
- package/dist/PortalProvider-Cj_y3gbC.js.map +1 -1
- package/dist/{ProgressBar-BUmYFa81.js → ProgressBar-Chb0uKfL.js} +2 -2
- package/dist/{ProgressBar-BUmYFa81.js.map → ProgressBar-Chb0uKfL.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-BgbBIhPS.js → Radio-DcNlFfSu.js} +3 -3
- package/dist/{Radio-BgbBIhPS.js.map → Radio-DcNlFfSu.js.map} +1 -1
- package/dist/{Radio-C2pWQ84U.js → Radio-gpMEsFss.js} +2 -2
- package/dist/{Radio-C2pWQ84U.js.map → Radio-gpMEsFss.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-Chzl-zeW.js → RichTextEditor-DeO4p-S-.js} +8 -8
- package/dist/{RichTextEditor-Chzl-zeW.js.map → RichTextEditor-DeO4p-S-.js.map} +1 -1
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-DFy_R8yv.js → SavedFiltersButton-Cvf1mJk8.js} +10 -10
- package/dist/{SavedFiltersButton-DFy_R8yv.js.map → SavedFiltersButton-Cvf1mJk8.js.map} +1 -1
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/{SelectCard-BGTB3ay0.js → SelectCard-bp5hRyHK.js} +3 -3
- package/dist/{SelectCard-BGTB3ay0.js.map → SelectCard-bp5hRyHK.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-CcX2GAym.js → SelectFieldLabel-DZqxaZsp.js} +2 -2
- package/dist/SelectFieldLabel-DZqxaZsp.js.map +1 -0
- package/dist/{SelectFieldSync-CLpTOgdr.js → SelectFieldSync-Wkx6DGpg.js} +7 -7
- package/dist/{SelectFieldSync-CLpTOgdr.js.map → SelectFieldSync-Wkx6DGpg.js.map} +1 -1
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DqUIPJtu.js → SelectMenuSync-O55TODxn.js} +6 -6
- package/dist/{SelectMenuSync-DqUIPJtu.js.map → SelectMenuSync-O55TODxn.js.map} +1 -1
- package/dist/{SelectOptions-BkqBzRiG.js → SelectOptions-0A8BYx1q.js} +2 -2
- package/dist/SelectOptions-0A8BYx1q.js.map +1 -0
- package/dist/{SelectTrigger-DdIvzkNw.js → SelectTrigger-BfJ7DWYq.js} +3 -3
- package/dist/{SelectTrigger-DdIvzkNw.js.map → SelectTrigger-BfJ7DWYq.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-f2z0XQDf.js → SelectTriggerBase-DvsI-kSG.js} +3 -3
- package/dist/{SelectTriggerBase-f2z0XQDf.js.map → SelectTriggerBase-DvsI-kSG.js.map} +1 -1
- package/dist/StatusIcon-BqorkNJf.js.map +1 -1
- package/dist/{Switch-DWaFomvP.js → Switch-CrDmBj4D.js} +2 -2
- package/dist/{Switch-DWaFomvP.js.map → Switch-CrDmBj4D.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-D2TIPmZ2.js → Text-CZccJAnm.js} +2 -2
- package/dist/{Text-D2TIPmZ2.js.map → Text-CZccJAnm.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-wIc7ic0E.js → TextField-D0f9LwgQ.js} +3 -3
- package/dist/{TextField-wIc7ic0E.js.map → TextField-D0f9LwgQ.js.map} +1 -1
- package/dist/{TextField-DJaBZ4Je.js → TextField-DX5qyWPo.js} +2 -2
- package/dist/{TextField-DJaBZ4Je.js.map → TextField-DX5qyWPo.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-D4c6VjNs.js → Textarea-CdTcekFd.js} +3 -3
- package/dist/{Textarea-D4c6VjNs.js.map → Textarea-CdTcekFd.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/ThemeProvider-DW-Mflv6.js.map +1 -1
- package/dist/ThemeProviderContext-l52GohYT.js.map +1 -1
- package/dist/{TimeField-DpnX_t31.js → TimeField-BxNglWQt.js} +4 -4
- package/dist/TimeField-BxNglWQt.js.map +1 -0
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-Cl9BSxHs.js → Toaster-C-Z_FMbW.js} +3 -3
- package/dist/{Toaster-Cl9BSxHs.js.map → Toaster-C-Z_FMbW.js.map} +1 -1
- package/dist/{Toaster-11pmgwx5.js → Toaster-nyQgF9Ki.js} +2 -2
- package/dist/{Toaster-11pmgwx5.js.map → Toaster-nyQgF9Ki.js.map} +1 -1
- package/dist/{Toolbar-C9_Z1wAt.js → Toolbar-BUbMtBVz.js} +4 -4
- package/dist/{Toolbar-C9_Z1wAt.js.map → Toolbar-BUbMtBVz.js.map} +1 -1
- package/dist/{Toolbar-Dq9KOJoH.js → Toolbar-BxAFPvbn.js} +5 -5
- package/dist/{Toolbar-Dq9KOJoH.js.map → Toolbar-BxAFPvbn.js.map} +1 -1
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-BGnYIt6-.js → ToolbarButtonToggle-NSJ2XfXT.js} +2 -2
- package/dist/{ToolbarButtonToggle-BGnYIt6-.js.map → ToolbarButtonToggle-NSJ2XfXT.js.map} +1 -1
- package/dist/TrackingProvider-Co4lyoI9.js.map +1 -1
- package/dist/TrackingProviderContext-CrVA7KHv.js.map +1 -1
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-nD0qctC8.js → TreeSelectFieldSync-DpvwlM7B.js} +6 -6
- package/dist/{TreeSelectFieldSync-nD0qctC8.js.map → TreeSelectFieldSync-DpvwlM7B.js.map} +1 -1
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-B8pwy4dA.js → TreeSelectMenuSync-BDitYX_k.js} +5 -5
- package/dist/{TreeSelectMenuSync-B8pwy4dA.js.map → TreeSelectMenuSync-BDitYX_k.js.map} +1 -1
- package/dist/{TypeaheadTextField-2kW-oCMo.js → TypeaheadTextField-Cj09sEji.js} +3 -3
- package/dist/{TypeaheadTextField-2kW-oCMo.js.map → TypeaheadTextField-Cj09sEji.js.map} +1 -1
- package/dist/TypeaheadTextField.js +1 -1
- package/dist/{YearlessDateInputWithPicker-CuHWd_Vp.js → YearlessDateInputWithPicker-CoomgSEK.js} +8 -6
- package/dist/YearlessDateInputWithPicker-CoomgSEK.js.map +1 -0
- package/dist/anvParts-DFVq7-Cm.js +25 -0
- package/dist/anvParts-DFVq7-Cm.js.map +1 -0
- package/dist/arrayIdsEqual-DnevhwqN.js.map +1 -1
- package/dist/assets/icons/st/gnav_automations_active.svg +1 -0
- package/dist/assets/icons/st/gnav_automations_inactive.svg +1 -0
- package/dist/assets/icons/st/gnav_command_center_active.svg +1 -0
- package/dist/assets/icons/st/gnav_command_center_inactive.svg +1 -0
- package/dist/assets/icons/st.ts +4 -0
- package/dist/beta.js +17 -17
- package/dist/{bulkActionTypes-cnslVUIT.js → bulkActionTypes-DAo3_ECS.js} +2 -2
- package/dist/bulkActionTypes-DAo3_ECS.js.map +1 -0
- package/dist/childrenToString-Bz9MqbHb.js.map +1 -1
- package/dist/confirmationTypes-DeRtO_Cw.js.map +1 -1
- package/dist/{downshift.esm-xtSnQp44.js → downshift.esm-U4VMqrF-.js} +3 -1
- package/dist/downshift.esm-U4VMqrF-.js.map +1 -0
- package/dist/{filter-state-B7lCzjsR.js → filter-state-CZcczj37.js} +21 -21
- package/dist/{filter-state-B7lCzjsR.js.map → filter-state-CZcczj37.js.map} +1 -1
- package/dist/floating-ui.react-dom-BIKT960u.js.map +1 -1
- package/dist/getActiveElement-BcSyVE7S.js.map +1 -1
- package/dist/getKeyboardFocusableElements-B_U9rt6y.js.map +1 -1
- package/dist/{index-BHztJ8H6.js → index-BFxzUzoz.js} +2 -2
- package/dist/{index-BHztJ8H6.js.map → index-BFxzUzoz.js.map} +1 -1
- package/dist/index.js +44 -45
- package/dist/index.js.map +1 -1
- package/dist/portalScopeClassNames-DA28LrXe.js.map +1 -1
- package/dist/src/components/DateFieldYearless/internal/YearlessDateSelectionPopover.d.ts +2 -2
- package/dist/src/hooks/useAccessibleColor/useAccessibleColor.d.ts +3 -28
- package/dist/src/hooks/useBreakpoint/useBreakpoint.d.ts +15 -60
- package/dist/src/hooks/useMergeRefs/useMergeRefs.d.ts +3 -20
- package/dist/src/hooks/usePrefersColorScheme/usePrefersColorScheme.d.ts +2 -11
- package/dist/src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.d.ts +2 -10
- package/dist/src/hooks/useSize/index.d.ts +2 -13
- package/dist/src/hooks/useSwipe/useSwipe.d.ts +3 -20
- package/dist/src/hooks/useTrackingId/index.d.ts +6 -17
- package/dist/src/internal/components/AddNewItemButton.d.ts +4 -30
- package/dist/src/internal/components/Helper/Helper.d.ts +12 -8
- package/dist/src/internal/components/InView.d.ts +4 -24
- package/dist/src/internal/components/InlineMarkdown/InlineMarkdown.d.ts +2 -19
- package/dist/src/internal/components/Label/Label.d.ts +12 -51
- package/dist/src/internal/components/ManualTestLayout/ManualTestLayout.d.ts +3 -2
- package/dist/src/internal/components/MenuFooter/MenuFooter.d.ts +11 -17
- package/dist/src/internal/components/MultiSelectOptions.d.ts +15 -0
- package/dist/src/internal/components/OptionCheckbox.d.ts +2 -0
- package/dist/src/internal/components/OptionContentArea.d.ts +4 -0
- package/dist/src/internal/components/OptionRow.d.ts +4 -0
- package/dist/src/internal/components/OptionsDialog/OptionsDialog.d.ts +13 -1
- package/dist/src/internal/components/OptionsPanel.d.ts +16 -0
- package/dist/src/internal/components/OptionsPopover/OptionsPopover.d.ts +9 -14
- package/dist/src/internal/components/Popover/Popover.d.ts +45 -180
- package/dist/src/internal/components/Popover/PopoverButton.d.ts +0 -20
- package/dist/src/internal/components/Popover/PopoverClose.d.ts +0 -20
- package/dist/src/internal/components/Popover/PopoverContent.d.ts +4 -25
- package/dist/src/internal/components/Popover/PopoverTrigger.d.ts +1 -23
- package/dist/src/internal/components/Popover/internal/PopoverContext.d.ts +0 -21
- package/dist/src/internal/components/Popover/internal/usePopoverContext.d.ts +1 -3
- package/dist/src/internal/components/SelectOption.d.ts +8 -0
- package/dist/src/internal/components/SelectOptions.d.ts +15 -0
- package/dist/src/internal/components/Shadow/Shadow.d.ts +1 -0
- package/dist/src/internal/components/StatusIcon/StatusIcon.d.ts +4 -33
- package/dist/src/internal/components/Surface/Surface.d.ts +40 -73
- package/dist/src/internal/components/Surface/surfaceGeometry.d.ts +12 -0
- package/dist/src/internal/components/VirtualizedOptionsPanel.d.ts +1 -0
- package/dist/src/internal/components/YearSelector/YearSelector.d.ts +14 -48
- package/dist/src/internal/components/YearSelector/internal/YearItem.d.ts +1 -0
- package/dist/src/internal/components/YearSelector/internal/useYearSelectorKeys.d.ts +4 -0
- package/dist/src/internal/constants/anvParts.d.ts +3 -55
- package/dist/src/internal/flubber/a2c.d.ts +0 -4
- package/dist/src/internal/flubber/arc.d.ts +0 -4
- package/dist/src/internal/flubber/bezier.d.ts +0 -4
- package/dist/src/internal/flubber/errors.d.ts +0 -4
- package/dist/src/internal/flubber/index.d.ts +0 -4
- package/dist/src/internal/flubber/interpolate.d.ts +3 -0
- package/dist/src/internal/flubber/linear.d.ts +0 -4
- package/dist/src/internal/flubber/parse.d.ts +0 -4
- package/dist/src/internal/flubber/path-properties.d.ts +0 -4
- package/dist/src/internal/functions/areOptionsValueEqual.d.ts +2 -5
- package/dist/src/internal/functions/buildSelectItems.d.ts +2 -4
- package/dist/src/internal/functions/childrenToString.d.ts +3 -21
- package/dist/src/internal/functions/getActiveElement.d.ts +4 -0
- package/dist/src/internal/functions/getInitial.d.ts +3 -13
- package/dist/src/internal/functions/getKeyboardFocusableElements.d.ts +6 -30
- package/dist/src/internal/functions/inlineMarkdown.d.ts +3 -16
- package/dist/src/internal/functions/isThenable.d.ts +1 -1
- package/dist/src/internal/functions/kebabize.d.ts +3 -13
- package/dist/src/internal/functions/mapOrder.d.ts +4 -0
- package/dist/src/internal/functions/popoverTargetDomProps.d.ts +1 -1
- package/dist/src/internal/functions/portalScopeClassNames.d.ts +6 -13
- package/dist/src/internal/functions/safePopover.d.ts +2 -0
- package/dist/src/internal/functions/sizeToToken.d.ts +1 -0
- package/dist/src/internal/functions/stripInlineMarkdown.d.ts +3 -5
- package/dist/src/internal/functions/syncFilterUtils.d.ts +4 -2
- package/dist/src/internal/functions/warnOnce.d.ts +1 -2
- package/dist/src/internal/hooks/useBulkActionRunner.d.ts +4 -27
- package/dist/src/internal/hooks/useCommitSelectionIfChanged.d.ts +7 -14
- package/dist/src/internal/hooks/useConfirmationDraft.d.ts +4 -4
- package/dist/src/internal/hooks/useContainerQuery/useContainerQuery.d.ts +2 -33
- package/dist/src/internal/hooks/useDebouncedCallback/useDebouncedCallback.d.ts +3 -25
- package/dist/src/internal/hooks/useDialogScrollLock/useDialogScrollLock.d.ts +6 -31
- package/dist/src/internal/hooks/useDialogTransitionStates/useDialogTransitionStates.d.ts +2 -27
- package/dist/src/internal/hooks/useDownshiftEnvironment/useDownshiftEnvironment.d.ts +8 -24
- package/dist/src/internal/hooks/useFocusWithin/useFocusWithin.d.ts +3 -14
- package/dist/src/internal/hooks/useGroupedOptions.d.ts +4 -22
- package/dist/src/internal/hooks/useIntersectionObserver/useIntersectionObserver.d.ts +4 -47
- package/dist/src/internal/hooks/useInvalidateOnOptionsChange.d.ts +2 -7
- package/dist/src/internal/hooks/useIsScrollable/useIsScrollable.d.ts +1 -5
- package/dist/src/internal/hooks/useKeyboardFocusables/useKeyboardFocusables.d.ts +1 -38
- package/dist/src/internal/hooks/useLayoutPropsUtil/useLayoutPropsUtil.d.ts +2 -38
- package/dist/src/internal/hooks/useNumberField/internal/createNumberMaskOptions.d.ts +2 -5
- package/dist/src/internal/hooks/useNumberField/internal/createTrailingZerosHandlers.d.ts +1 -2
- package/dist/src/internal/hooks/useNumberField/internal/numberMaskUtils.d.ts +0 -6
- package/dist/src/internal/hooks/useNumberField/internal/useNumberFieldInputMode.d.ts +2 -17
- package/dist/src/internal/hooks/useNumberField/internal/useNumberFieldKeys.d.ts +4 -30
- package/dist/src/internal/hooks/useNumberField/useNumberField.d.ts +19 -65
- package/dist/src/internal/hooks/useOnClickOutside/useOnClickOutside.d.ts +5 -33
- package/dist/src/internal/hooks/useOpenCloseTransitionStates/useOpenCloseTransitionStates.d.ts +4 -28
- package/dist/src/internal/hooks/useOptionallyControlledState/useOptionallyControlledState.d.ts +2 -46
- package/dist/src/internal/hooks/useOptionsSections.d.ts +4 -9
- package/dist/src/internal/hooks/usePinnedOptions.d.ts +4 -24
- package/dist/src/internal/hooks/usePlatform/usePlatform.d.ts +3 -50
- package/dist/src/internal/hooks/usePopoverCloseDelayWorkaround/usePopoverCloseDelayWorkaround.d.ts +4 -0
- package/dist/src/internal/hooks/usePopoverTransitionStates/usePopoverTransitionStates.d.ts +1 -21
- package/dist/src/internal/hooks/usePrevious/usePrevious.d.ts +1 -0
- package/dist/src/internal/hooks/useProcessedOptions.d.ts +2 -3
- package/dist/src/internal/hooks/useSelectFieldLoading/useSelectFieldLoading.d.ts +18 -61
- package/dist/src/internal/hooks/useSelectOrchestration.d.ts +4 -3
- package/dist/src/internal/hooks/useToggleSelection.d.ts +3 -3
- package/dist/src/internal/hooks/useTypeAhead/useTypeAhead.d.ts +3 -11
- package/dist/src/internal/testing/anvPartsContract.d.ts +9 -9
- package/dist/src/internal/testing/prefersColorScheme.d.ts +7 -0
- package/dist/src/internal/testing/reactHostProps.d.ts +2 -2
- package/dist/src/internal/types/addNewItemTypes.d.ts +14 -16
- package/dist/src/internal/types/argTypes.d.ts +2 -0
- package/dist/src/internal/types/bulkActionTypes.d.ts +12 -41
- package/dist/src/internal/types/confirmationTypes.d.ts +6 -7
- package/dist/src/internal/types/optionContent.d.ts +6 -9
- package/dist/src/internal/types/props.d.ts +6 -1
- package/dist/src/internal/types/selectFieldInternalTypes.d.ts +10 -12
- package/dist/src/internal/utils/arrayIdsEqual.d.ts +1 -5
- package/dist/src/internal/utils/generateChromaticStickersheetProps.d.ts +4 -8
- package/dist/src/internal/utils/inlineMarkdownRegex.d.ts +0 -4
- package/dist/src/internal/utils/layerManager.d.ts +5 -28
- package/dist/src/internal/utils/uniquifySvgDomIds.d.ts +0 -2
- package/dist/src/providers/AnvilProvider/AnvilProvider.d.ts +4 -0
- package/dist/src/providers/AnvilProvider/AnvilProviderContext.d.ts +16 -6
- package/dist/src/providers/LocalizationProvider/LocalizationContext.d.ts +7 -0
- package/dist/src/providers/LocalizationProvider/LocalizationProvider.d.ts +6 -0
- package/dist/src/providers/LocalizationProvider/LocalizationStoryWrapper.d.ts +1 -0
- package/dist/src/providers/LocalizationProvider/useTranslations.d.ts +6 -0
- package/dist/src/providers/PortalProvider/PortalProvider.d.ts +1 -0
- package/dist/src/providers/PortalProvider/PortalProviderContext.d.ts +3 -0
- package/dist/src/providers/ThemeProvider/ThemeProvider.d.ts +16 -0
- package/dist/src/providers/ThemeProvider/index.d.ts +1 -1
- package/dist/src/providers/ThemeProvider/internal/ThemeProviderContext.d.ts +2 -0
- package/dist/src/providers/ThemeProvider/themeToCssVars.d.ts +3 -4
- package/dist/src/providers/ThemeProvider/useTheme.d.ts +5 -0
- package/dist/src/providers/TrackingProvider/TrackingProvider.d.ts +1 -0
- package/dist/src/providers/TrackingProvider/TrackingProviderContext.d.ts +7 -0
- package/dist/src/providers/TrackingProvider/useTrackingContext.d.ts +5 -0
- package/dist/src/themes/carto.d.ts +3 -43
- package/dist/src/types/DataTrackingId.d.ts +1 -0
- package/dist/src/types/DistributiveOmit.d.ts +1 -14
- package/dist/src/types/MaxLengthCounterProps.d.ts +4 -0
- package/dist/src/types/PassThroughProps.d.ts +3 -0
- package/dist/src/types/ai-marks.d.ts +14 -45
- package/dist/src/types/ianaZones.d.ts +2 -0
- package/dist/src/types/locales.d.ts +1 -0
- package/dist/src/types/props.d.ts +14 -16
- package/dist/{stripInlineMarkdown-82hVO9EP.js → stripInlineMarkdown-CosQSmBr.js} +2 -2
- package/dist/stripInlineMarkdown-CosQSmBr.js.map +1 -0
- package/dist/{syncFilterUtils-CMH8ApTo.js → syncFilterUtils-_uwyt6FD.js} +20 -19
- package/dist/syncFilterUtils-_uwyt6FD.js.map +1 -0
- package/dist/themes.js.map +1 -1
- package/dist/token/core/component-variables.scss +156 -0
- package/dist/token/core/component.d.ts +78 -0
- package/dist/token/core/component.js +1018 -0
- package/dist/token/core/component.scss +82 -0
- package/dist/token.js +1096 -0
- package/dist/token.js.map +1 -1
- package/dist/{treeSync-8byHuYib.js → treeSync-Bp80Xduj.js} +4 -4
- package/dist/{treeSync-8byHuYib.js.map → treeSync-Bp80Xduj.js.map} +1 -1
- package/dist/useAccessibleColor-BYKjkGRg.js.map +1 -1
- package/dist/useBreakpoint-BBNRlMGZ.js.map +1 -1
- package/dist/useDebouncedCallback-DLkapjcP.js.map +1 -1
- package/dist/useDialogScrollLock-BW-aVboo.js.map +1 -1
- package/dist/{useDrilldown-CicFEJpD.js → useDrilldown-D5XGfAUT.js} +3 -3
- package/dist/{useDrilldown-CicFEJpD.js.map → useDrilldown-D5XGfAUT.js.map} +1 -1
- package/dist/useFocusWithin-hi77jsrB.js.map +1 -1
- package/dist/{useInfiniteCombobox-BS7W8JkW.js → useInfiniteCombobox-ORhH44Rp.js} +7 -7
- package/dist/{useInfiniteCombobox-BS7W8JkW.js.map → useInfiniteCombobox-ORhH44Rp.js.map} +1 -1
- package/dist/{useInitialFocus-BIvXK1Rp.js → useInitialFocus-CGybEc6x.js} +2 -6
- package/dist/useInitialFocus-CGybEc6x.js.map +1 -0
- package/dist/useIntersectionObserver-BEmMDO3P.js.map +1 -1
- package/dist/{useInvalidateOnOptionsChange-BKKS9HXb.js → useInvalidateOnOptionsChange-ieSgbkwT.js} +5 -5
- package/dist/useInvalidateOnOptionsChange-ieSgbkwT.js.map +1 -0
- package/dist/useLayoutPropsUtil-DjqeAJZ9.js.map +1 -1
- package/dist/useMergeRefs-Dfmtq9cI.js.map +1 -1
- package/dist/useNumberField-CXFYUZ_n.js.map +1 -1
- package/dist/useOnClickOutside-Zw5vzxSq.js.map +1 -1
- package/dist/useOptionallyControlledState-DbDuos5L.js.map +1 -1
- package/dist/{usePopoverTransitionStates-B1opfxxn.js → usePopoverTransitionStates-CDXCdyKa.js} +2 -1
- package/dist/usePopoverTransitionStates-CDXCdyKa.js.map +1 -0
- package/dist/usePrefersColorScheme-CwOF0TjZ.js.map +1 -1
- package/dist/usePrefersReducedMotion-DR9B_D6w.js.map +1 -1
- package/dist/usePrevious-Bvq-5auG.js.map +1 -1
- package/dist/useSize.js.map +1 -1
- package/dist/useSwipe-Cp-CJxLU.js.map +1 -1
- package/dist/useTheme-B4i6a3bM.js.map +1 -1
- package/dist/useTrackingContext-C522P4sv.js.map +1 -1
- package/dist/useTrackingId.js.map +1 -1
- package/dist/warnOnce-Y9PRHcU4.js.map +1 -1
- package/package.json +3 -3
- package/dist/AnvilProvider-DcYAaAvs.js.map +0 -1
- package/dist/Avatar-D31JDNrs.js.map +0 -1
- package/dist/Calendar-DnK6UwPE.js.map +0 -1
- package/dist/Chip-AILbiVZ6.js.map +0 -1
- package/dist/DataTable-BE1YvSto.js.map +0 -1
- package/dist/FieldLabel-CYCk2rz-.js.map +0 -1
- package/dist/FilterBar-XMZ-Q-aW.js.map +0 -1
- package/dist/ListView-Bkv1ZCSu.js.map +0 -1
- package/dist/Listbox-BWy_uBqm.js.map +0 -1
- package/dist/MenuFooter--lBF8OjJ.js.map +0 -1
- package/dist/MultiSelectFieldSync-C57Hms2z.js.map +0 -1
- package/dist/SelectFieldLabel-CcX2GAym.js.map +0 -1
- package/dist/SelectOptions-BkqBzRiG.js.map +0 -1
- package/dist/TimeField-DpnX_t31.js.map +0 -1
- package/dist/YearlessDateInputWithPicker-CuHWd_Vp.js.map +0 -1
- package/dist/anvParts-BGg5dgfl.js +0 -43
- package/dist/anvParts-BGg5dgfl.js.map +0 -1
- package/dist/bulkActionTypes-cnslVUIT.js.map +0 -1
- package/dist/downshift.esm-xtSnQp44.js.map +0 -1
- package/dist/stripInlineMarkdown-82hVO9EP.js.map +0 -1
- package/dist/syncFilterUtils-CMH8ApTo.js.map +0 -1
- package/dist/useInitialFocus-BIvXK1Rp.js.map +0 -1
- package/dist/useInvalidateOnOptionsChange-BKKS9HXb.js.map +0 -1
- package/dist/usePopoverTransitionStates-B1opfxxn.js.map +0 -1
package/dist/AiMark.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as AiMark } from './AiMark-
|
|
1
|
+
export { A as AiMark } from './AiMark-CWufA6pV.js';
|
|
2
2
|
//# sourceMappingURL=AiMark.js.map
|
|
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
3
|
import { S as SvgClose } from './close-DZj38AEh.js';
|
|
4
4
|
import { B as Button } from './Button-Dwh_Nd4l.js';
|
|
5
|
-
import { T as Text } from './Text-
|
|
5
|
+
import { T as Text } from './Text-CZccJAnm.js';
|
|
6
6
|
import { c as cx } from './index-De1g9FRV.js';
|
|
7
7
|
import { S as StatusIcon } from './StatusIcon-BqorkNJf.js';
|
|
8
8
|
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
|
|
@@ -113,4 +113,4 @@ const Alert = forwardRef(
|
|
|
113
113
|
Alert.displayName = "Alert";
|
|
114
114
|
|
|
115
115
|
export { Alert as A };
|
|
116
|
-
//# sourceMappingURL=Alert-
|
|
116
|
+
//# sourceMappingURL=Alert-RkvFtmRP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert-
|
|
1
|
+
{"version":3,"file":"Alert-RkvFtmRP.js","sources":["../src/components/Alert/Alert.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type MouseEvent,\n type Ref,\n forwardRef,\n} from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport type {\n DataTrackingId,\n LayoutUtilProps,\n OnCloseProps,\n Status,\n} from \"../../types\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport Button from \"../Button\";\nimport { Text } from \"../Text\";\nimport type { AiMarkWithTooltipOrPopoverConfig } from \"../../types/ai-marks\";\n\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\n\nimport cx from \"classnames\";\nimport styles from \"./Alert.module.scss\";\nimport {\n StatusIcon,\n type StatusIconVariant,\n} from \"../../internal/components/StatusIcon/StatusIcon\";\n\n/**\n * Props for the Alert component\n * @extends ComponentPropsWithoutRef<\"div\">\n * @extends LayoutUtilProps\n * @extends OnCloseProps\n */\nexport type AlertProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps &\n OnCloseProps & {\n /**\n * The visual style of an alert.\n * @default info\n */\n status?: Status;\n /**\n * The title text displayed in the alert.\n */\n title: string;\n /**\n * When set, displays the AI mark inline after the title.\n * Use `true` for the sparkle only, or pass tooltip/popover configuration.\n */\n aiMark?: boolean | AiMarkWithTooltipOrPopoverConfig;\n } /**\n * Data tracking id\n */ & DataTrackingId;\n\n/**\n * Alert component for displaying an inline banner message that communicates status to users — errors, warnings, success, or important information within page content.\n *\n * Features:\n * - Supports different visual styles (info, success, warning, danger)\n * - Optional close button for dismissible alerts\n * - Optional AI mark inline after the title\n * - Customizable title and content\n * - Accessible with proper ARIA roles\n * - Includes status-specific icons\n * - Supports layout utilities for positioning and spacing\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Alert\n * title=\"System Update\"\n * onClose={() => console.log('Alert closed')}\n * >\n * The system will be updated tonight.\n * </Alert>\n *\n * @example\n * <Alert\n * status=\"success\"\n * title=\"Operation Complete\"\n * >\n * Your changes have been saved successfully.\n * </Alert>\n */\nexport const Alert = forwardRef(\n (props: AlertProps, ref: Ref<HTMLDivElement>) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n children,\n className,\n title,\n status = \"info\",\n style,\n onClose,\n aiMark,\n ...rest\n } = componentProps;\n\n const data = {\n title,\n status,\n };\n\n const trackingId = useTrackingId({\n name: \"Alert\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const alertCx = cx(styles[\"alert\"], className, {\n [styles[\"success\"]]: status === \"success\",\n [styles[\"warning\"]]: status === \"warning\",\n [styles[\"danger\"]]: status === \"danger\",\n });\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <div\n data-tracking-id={trackingId}\n data-anv=\"alert\"\n role=\"status\"\n className={alertCx}\n style={styleCombined}\n {...rest}\n ref={ref}\n >\n <div className={styles[\"top\"]}>\n <span className={styles[\"title-container\"]}>\n <StatusIcon\n className={styles[\"status-icon\"]}\n size=\"medium\"\n variant={\n status === \"danger\" ? \"error\" : (status as StatusIconVariant)\n }\n />\n <Text\n variant=\"headline\"\n el=\"h6\"\n size=\"small\"\n className={styles[\"title\"]}\n aiMark={aiMark || undefined}\n >\n {title}\n </Text>\n </span>\n {!!onClose && (\n <span className={styles[\"close-container\"]}>\n <Button\n icon={Close}\n size=\"small\"\n appearance=\"ghost\"\n className={styles[\"close-button\"]}\n onClick={(e: MouseEvent<HTMLButtonElement>) => onClose(e)}\n aria-label={`Dismiss ${status} alert`}\n />\n </span>\n )}\n </div>\n {children && <div className={styles[\"content\"]}>{children}</div>}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n"],"names":["Close"],"mappings":"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"}
|
package/dist/Alert.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as Alert, A as default } from './Alert-
|
|
1
|
+
export { A as Alert, A as default } from './Alert-RkvFtmRP.js';
|
|
2
2
|
//# sourceMappingURL=Alert.js.map
|
|
@@ -13,15 +13,20 @@ import './AnvilProvider.css';const AnvilProviderContext = createContext(
|
|
|
13
13
|
);
|
|
14
14
|
const TooltipLegacyGroupContext = createContext(null);
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const BODY_SCOPE_REFCOUNT_KEY = Symbol.for("ST_ANVIL2_BODY_SCOPE_REFCOUNT");
|
|
17
|
+
function getBodyScopeRefcount() {
|
|
18
|
+
return globalThis[BODY_SCOPE_REFCOUNT_KEY] ?? 0;
|
|
19
|
+
}
|
|
20
|
+
function setBodyScopeRefcount(n) {
|
|
21
|
+
globalThis[BODY_SCOPE_REFCOUNT_KEY] = n;
|
|
22
|
+
}
|
|
17
23
|
const AnvilProvider = (props) => {
|
|
18
24
|
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
19
25
|
const {
|
|
20
26
|
themeData,
|
|
21
27
|
localizationData,
|
|
22
28
|
trackingIdData,
|
|
23
|
-
//
|
|
24
|
-
// AnvilProviderProps.cssUtils for the replacement.
|
|
29
|
+
// Consume the deprecated no-op so it is not forwarded to the wrapper.
|
|
25
30
|
cssUtils: _cssUtils,
|
|
26
31
|
children,
|
|
27
32
|
className,
|
|
@@ -49,11 +54,12 @@ const AnvilProvider = (props) => {
|
|
|
49
54
|
};
|
|
50
55
|
const breakpoint = useBreakpoint();
|
|
51
56
|
useEffect(() => {
|
|
52
|
-
|
|
57
|
+
setBodyScopeRefcount(getBodyScopeRefcount() + 1);
|
|
53
58
|
document.body.classList.add("anvil2");
|
|
54
59
|
return () => {
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
const next = Math.max(0, getBodyScopeRefcount() - 1);
|
|
61
|
+
setBodyScopeRefcount(next);
|
|
62
|
+
if (next === 0) {
|
|
57
63
|
document.body.classList.remove("anvil2");
|
|
58
64
|
}
|
|
59
65
|
};
|
|
@@ -87,4 +93,4 @@ const AnvilProvider = (props) => {
|
|
|
87
93
|
};
|
|
88
94
|
|
|
89
95
|
export { AnvilProvider as A, AnvilProviderContext as a };
|
|
90
|
-
//# sourceMappingURL=AnvilProvider-
|
|
96
|
+
//# sourceMappingURL=AnvilProvider-DagOuc9c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnvilProvider-DagOuc9c.js","sources":["../src/providers/AnvilProvider/AnvilProviderContext.tsx","../src/providers/AnvilProvider/AnvilProvider.tsx"],"sourcesContent":["import type { ThemeProviderProps } from \"../ThemeProvider\";\nimport {\n type ComponentPropsWithoutRef,\n type Dispatch,\n type ReactNode,\n type SetStateAction,\n createContext,\n useContext,\n} from \"react\";\nimport type { LayoutUtilProps } from \"../../types\";\nimport type { ITranslations } from \"../LocalizationProvider/LocalizationProvider\";\nimport type { BreakpointReturnProps } from \"../../hooks/useBreakpoint\";\n\n/**\n * @deprecated No longer has any effect. Import the required\n * `@servicetitan/anvil2/assets/css-utils/*.css` files directly.\n */\nexport type CssUtilsOptions =\n | boolean\n | {\n spacing?: boolean;\n color?: boolean;\n border?: boolean;\n font?: boolean;\n };\n\nexport type AnvilProviderProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps & {\n children?: ReactNode;\n\n /** Configures the nested theme provider; omitted values inherit. */\n themeData?: {\n /** Custom token values. Inherits the nearest theme when omitted. */\n theme?: ThemeProviderProps[\"theme\"];\n /** Color mode. Inherits the nearest mode when omitted. */\n mode?: ThemeProviderProps[\"mode\"];\n };\n\n /** Establishes locale, direction, and messages for localized descendants. */\n localizationData?: {\n /** Language tag exposed to localized descendants. Defaults to `\"en\"`. */\n locale?: ITranslations[\"locale\"];\n /** Text direction applied to the provider wrapper. Defaults to `\"ltr\"`. */\n dir?: ITranslations[\"dir\"];\n /** Messages resolved by localized descendants. Defaults to an empty map. */\n translations?: ITranslations[\"translations\"];\n };\n\n /**\n * @deprecated No longer has any effect. Import the\n * `@servicetitan/anvil2/assets/css-utils/*.css` file(s) you need\n * directly instead.\n */\n cssUtils?: CssUtilsOptions;\n } & {\n /** Controls the scope and opt-out policy for descendant tracking IDs. */\n trackingIdData?: {\n /** Prefix included in generated tracking IDs. Defaults to `\"ST\"`. */\n scope?: string;\n /** Whether descendants should omit tracking IDs. Defaults to `false`. */\n optOut?: boolean;\n };\n };\n\nexport type AnvilProviderContextProps = {\n /** Current viewport breakpoint, or `undefined` when unavailable. */\n breakpoint?: BreakpointReturnProps;\n};\n\n/** Breakpoint context populated by {@link AnvilProvider}. */\nexport const AnvilProviderContext = createContext<AnvilProviderContextProps>(\n {},\n);\n\nexport const TooltipLegacyGroupContext = createContext<{\n disableDelayGroup: Dispatch<SetStateAction<boolean>>;\n} | null>(null);\n\n/** Reads legacy tooltip delay-group controls from {@link AnvilProvider}. */\nexport const useTooltipLegacyGroup = () => {\n const context = useContext(TooltipLegacyGroupContext);\n\n if (context == null) {\n throw new Error(\n \"Tooltip components must be wrapped in <AnvilProvider /> or <TooltipGroupContext.Provider />\",\n );\n }\n\n return context;\n};\n","import \"@servicetitan/anvil-fonts/dist/css/anvil-fonts.css\";\nimport { ThemeProvider } from \"../ThemeProvider\";\nimport themeStyles from \"../ThemeProvider/ThemeProvider.module.scss\";\nimport { useMemo, useState, useEffect } from \"react\";\nimport cx from \"classnames\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport { useTranslations } from \"../LocalizationProvider/useTranslations\";\nimport { LocalizationContext } from \"../LocalizationProvider\";\nimport TrackingProvider from \"../TrackingProvider\";\nimport {\n AnvilProviderContext,\n type AnvilProviderProps,\n TooltipLegacyGroupContext,\n} from \"./AnvilProviderContext\";\n\n// Refcount of mounted AnvilProviders. Coordinates the body class so the last\n// unmount removes it, but a remount (e.g. story switch, hot reload) keeps it.\n//\n// Stored in the global Symbol registry so all module instances share the same\n// counter. The expose-loader used by the MFE framework re-executes module code\n// per MFE scope, giving each scope its own `let` binding. Without this, a\n// light-bundle MFE's AnvilProvider cleanup decrements its own counter to 0 and\n// strips the class while the host's AnvilProvider is still mounted.\nconst BODY_SCOPE_REFCOUNT_KEY = Symbol.for(\"ST_ANVIL2_BODY_SCOPE_REFCOUNT\");\nfunction getBodyScopeRefcount(): number {\n return (globalThis as Record<symbol, number>)[BODY_SCOPE_REFCOUNT_KEY] ?? 0;\n}\nfunction setBodyScopeRefcount(n: number): void {\n (globalThis as Record<symbol, number>)[BODY_SCOPE_REFCOUNT_KEY] = n;\n}\n\n/**\n * Root provider for an Anvil2 application subtree. Establishes the scoped\n * styles and shared defaults expected by Anvil2 components.\n */\nexport const AnvilProvider = (props: AnvilProviderProps) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n\n const {\n themeData,\n localizationData,\n trackingIdData,\n // Consume the deprecated no-op so it is not forwarded to the wrapper.\n cssUtils: _cssUtils,\n children,\n className,\n style,\n ...rest\n } = componentProps;\n\n const {\n locale = \"en\",\n dir = \"ltr\",\n translations = {},\n } = localizationData ?? {};\n\n const { scope = \"ST\", optOut } = trackingIdData ?? {};\n\n const classNameCombined = cx(\n className,\n \"anvil2\",\n [themeStyles[\"theme-core\"]],\n {\n [themeStyles[\"mode-dark\"]]: themeData?.mode === \"dark\",\n [themeStyles[\"mode-light\"]]: themeData?.mode === \"light\",\n },\n );\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const breakpoint = useBreakpoint();\n\n // Anvil1 takeover components (Modal/Dialog/Drawer) `createPortal` their\n // children into `document.body`, escaping AnvilProvider's `.anvil2` scope and\n // leaving descendant Anvil2 components without matching selectors. Mirroring\n // the class onto body lets those selectors match for portaled content while\n // leaving theme variables and typography resets on the local element.\n useEffect(() => {\n setBodyScopeRefcount(getBodyScopeRefcount() + 1);\n document.body.classList.add(\"anvil2\");\n return () => {\n const next = Math.max(0, getBodyScopeRefcount() - 1);\n setBodyScopeRefcount(next);\n if (next === 0) {\n document.body.classList.remove(\"anvil2\");\n }\n };\n }, []);\n\n const [disableDelayGroup, setDisableDelayGroup] = useState(false);\n\n const { translations: t } = useTranslations(translations);\n\n const localizationContextValue = useMemo(() => ({ locale, t }), [locale, t]);\n const tooltipLegacyGroupContextValue = useMemo(\n () => ({ disableDelayGroup: setDisableDelayGroup }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [disableDelayGroup],\n );\n\n return (\n <AnvilProviderContext.Provider value={{ breakpoint }}>\n <ThemeProvider\n className={classNameCombined}\n style={styleCombined}\n theme={themeData?.theme}\n mode={themeData?.mode}\n dir={dir}\n {...rest}\n >\n <TooltipLegacyGroupContext.Provider\n value={tooltipLegacyGroupContextValue}\n >\n <LocalizationContext.Provider value={localizationContextValue}>\n <TrackingProvider scope={scope} optOut={optOut}>\n {children}\n </TrackingProvider>\n </LocalizationContext.Provider>\n </TooltipLegacyGroupContext.Provider>\n </ThemeProvider>\n </AnvilProviderContext.Provider>\n );\n};\n"],"names":[],"mappings":"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"}
|
package/dist/AnvilProvider.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as AnvilProvider, a as AnvilProviderContext, A as default } from './AnvilProvider-
|
|
1
|
+
export { A as AnvilProvider, a as AnvilProviderContext, A as default } from './AnvilProvider-DagOuc9c.js';
|
|
2
2
|
//# sourceMappingURL=AnvilProvider.js.map
|
|
@@ -4,7 +4,6 @@ import { c as cx } from './index-De1g9FRV.js';
|
|
|
4
4
|
import { u as useAccessibleColor, t as tinycolor } from './useAccessibleColor-BYKjkGRg.js';
|
|
5
5
|
import { S as SrOnly } from './SrOnly-pnf8ajnh.js';
|
|
6
6
|
import { T as ThemeProviderContext } from './ThemeProviderContext-l52GohYT.js';
|
|
7
|
-
import { u as usePrefersColorScheme } from './usePrefersColorScheme-CwOF0TjZ.js';
|
|
8
7
|
import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
|
|
9
8
|
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
|
|
10
9
|
|
|
@@ -74,8 +73,7 @@ const AvatarBase = forwardRef(
|
|
|
74
73
|
[avatarBaseStyles["online"]]: status && status === "online"
|
|
75
74
|
});
|
|
76
75
|
const { mode: themeMode } = useContext(ThemeProviderContext);
|
|
77
|
-
const
|
|
78
|
-
const mode = themeMode ?? sysMode;
|
|
76
|
+
const mode = themeMode ?? "light";
|
|
79
77
|
const { foreground, background, border } = useAccessibleColor(color, mode);
|
|
80
78
|
const styleWithColor = {
|
|
81
79
|
"--a2-inline-avatar-background-color": color && background,
|
|
@@ -260,4 +258,4 @@ const Avatar = Object.assign(
|
|
|
260
258
|
Avatar.displayName = "Avatar";
|
|
261
259
|
|
|
262
260
|
export { AvatarGroup as A, Avatar as a };
|
|
263
|
-
//# sourceMappingURL=Avatar-
|
|
261
|
+
//# sourceMappingURL=Avatar-DZxHhMTP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar-DZxHhMTP.js","sources":["../src/internal/functions/getInitial.ts","../src/components/Avatar/internal/AvatarBase.tsx","../src/components/Avatar/AvatarGroup.tsx","../src/components/Avatar/internal/Avatar.tsx"],"sourcesContent":["/**\n * Initials from a space-split name. Multiple words: first and last, both\n * uppercased. One word: first two characters as title case, or a single\n * uppercased character. Empty / falsy input is `undefined`.\n */\nexport function getInitial(name: string) {\n if (!name) return undefined;\n\n const nameArray = name.split(\" \").filter(Boolean);\n\n if (nameArray.length > 1)\n return `${nameArray[0][0]?.toUpperCase()}${nameArray[\n nameArray.length - 1\n ][0].toUpperCase()}`;\n\n if (nameArray[0][1]) {\n return `${nameArray[0][0].toUpperCase()}${nameArray[0][1].toLowerCase()}`;\n }\n return `${nameArray[0][0].toUpperCase()}`;\n}\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n useContext,\n useRef,\n useState,\n useEffect,\n useMemo,\n} from \"react\";\nimport cx from \"classnames\";\nimport tinycolor from \"tinycolor2\";\n\nimport type { LayoutUtilProps, Size } from \"../../../types\";\nimport { SrOnly } from \"../../SrOnly\";\nimport { useAccessibleColor, useMergeRefs } from \"../../../hooks\";\n\nimport styles from \"./AvatarBase.module.scss\";\nimport { ThemeProviderContext } from \"../../../providers/ThemeProvider/internal/ThemeProviderContext\";\n\n/**\n * Props for the AvatarBase component\n * @extends ComponentPropsWithoutRef<\"span\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n */\nexport type AvatarBaseProps = ComponentPropsWithoutRef<\"span\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\"> & {\n /**\n * Full name\n * @accessibility This is used for alt text and Screenreader\n */\n name: string;\n /**\n * Custom color of the AvatarBase\n */\n color?: string;\n /**\n * Image source to be used for AvatarBase\n */\n image?: string;\n /**\n * Initials to display if no image is provided\n */\n initials?: string;\n /**\n * @default medium\n */\n size?: Extract<Size, \"xsmall\" | \"small\" | \"medium\" | \"large\">;\n /**\n * Online status of the AvatarBase\n */\n status?: \"online\" | \"offline\";\n };\n\n/**\n * Base Avatar component that handles the core avatar functionality.\n *\n * Features:\n * - Renders user avatars with images or initials\n * - Supports custom colors with accessible contrast\n * - Shows online/offline status indicator\n * - Handles image loading errors gracefully\n * - Supports light and dark themes\n * - Fully accessible with screen reader support\n *\n * @example\n * <AvatarBase name=\"John Doe\" size=\"medium\" status=\"online\" />\n */\nexport const AvatarBase = forwardRef<HTMLSpanElement, AvatarBaseProps>(\n (props, ref) => {\n const {\n className,\n color,\n status,\n name,\n image,\n initials,\n style,\n size,\n ...rest\n } = props;\n\n const elRef = useRef<HTMLSpanElement>(null);\n const imgRef = useRef<HTMLImageElement>(null);\n const [hasImageErrored, setHasImageErrored] = useState(false);\n const avatarBaseClassNames = cx(styles[\"avatar-base\"], className, {\n [styles[`${size}`]]: size && size !== \"medium\",\n });\n const onlineIndicatorClassNames = cx(styles[\"indicator\"], {\n [styles[\"offline\"]]: !status || status === \"offline\",\n [styles[\"online\"]]: status && status === \"online\",\n });\n\n const { mode: themeMode } = useContext(ThemeProviderContext);\n const mode = themeMode ?? \"light\";\n\n const { foreground, background, border } = useAccessibleColor(color, mode);\n\n const styleWithColor = {\n \"--a2-inline-avatar-background-color\": color && background,\n \"--a2-inline-avatar-font-color\": color && foreground,\n \"--a2-inline-avatar-border-color\": color && border,\n ...style,\n };\n\n const onlineIndicatorBorderColor = useMemo(() => {\n if (mode === \"dark\") {\n if (color) {\n return tinycolor(background).brighten(20).toHexString();\n }\n }\n return \"var(--a2-background-color-default)\";\n }, [color, mode, background]);\n\n const onlineIndicatorStyles = {\n \"--a2-inline-avatar-border-color\": onlineIndicatorBorderColor,\n } as React.CSSProperties;\n\n const onlineString = status;\n const srOnly = [name, onlineString].filter(Boolean).join(\" \");\n\n // if the image prop updates, also reset the error state for the new image\n useEffect(() => {\n if (image) {\n setHasImageErrored(false);\n }\n }, [image]);\n\n // if the image is already complete on our first render (likely due to SSR),\n // check the error state of the already complete image\n useEffect(() => {\n if (image && imgRef.current && imgRef.current.complete) {\n const img = new Image();\n const handleError = () => setHasImageErrored(true);\n\n img.addEventListener(\"error\", handleError);\n img.src = image;\n\n return () => {\n img.removeEventListener(\"error\", handleError);\n img.src = \"\";\n };\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <span\n className={avatarBaseClassNames}\n style={styleWithColor}\n data-anv=\"avatarBase\"\n {...rest}\n ref={useMergeRefs([elRef, ref])}\n >\n {image && !hasImageErrored ? (\n <img\n className={styles[\"img\"]}\n aria-hidden\n src={image}\n alt={name}\n onError={() => setHasImageErrored(true)}\n ref={imgRef}\n />\n ) : initials ? (\n <span className={styles[\"initial\"]} aria-hidden>\n {initials}\n </span>\n ) : (\n <span aria-hidden>?</span>\n )}\n\n {status && (\n <span\n aria-hidden\n className={onlineIndicatorClassNames}\n style={onlineIndicatorStyles}\n />\n )}\n\n <SrOnly>{srOnly}</SrOnly>\n </span>\n );\n },\n);\n\nAvatarBase.displayName = \"AvatarBase\";\n","import {\n type ComponentPropsWithoutRef,\n forwardRef,\n Children,\n isValidElement,\n cloneElement,\n type CSSProperties,\n type ReactElement,\n} from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./AvatarGroup.module.scss\";\nimport avatarBaseStyles from \"./internal/AvatarBase.module.scss\";\nimport type { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { AvatarBase } from \"./internal/AvatarBase\";\n\n/**\n * Props for the AvatarGroup component\n * @property {number} [max] - Maximum number of avatars to display before truncating\n * @extends LayoutUtilProps\n * @extends ComponentPropsWithoutRef<\"span\">\n */\nexport type AvatarGroupProps = LayoutUtilProps &\n ComponentPropsWithoutRef<\"span\"> & {\n /**\n * Max child to show before truncating\n */\n max?: number;\n };\n\n/**\n * AvatarGroup component for displaying multiple avatars in a group.\n *\n * Features:\n * - Displays multiple avatars in a stacked layout\n * - Handles overflow with a count indicator\n * - Maintains consistent sizing across all avatars\n * - Supports custom styling and layout\n * - Automatically adjusts z-index for proper stacking\n * - Fully accessible with screen reader support\n *\n * @example\n * <Avatar.Group max={3}>\n * <Avatar name=\"John Doe\" />\n * <Avatar name=\"Jane Smith\" />\n * <Avatar name=\"Bob Johnson\" />\n * <Avatar name=\"Alice Brown\" />\n * </Avatar.Group>\n */\nexport const AvatarGroup = forwardRef<HTMLSpanElement, AvatarGroupProps>(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { className, max, style, children, ...rest } = componentProps;\n const childrenArr = Children.toArray(children);\n const inferredSize =\n (isValidElement(childrenArr[0]) && childrenArr[0].props.size) ?? \"medium\";\n const isOverflowing = max ? max < childrenArr.length : false;\n\n const overflowCount = max && childrenArr.length - max;\n\n const avatarGroupClassNames = cx(styles[\"avatar-group\"], className, {\n [styles[`${inferredSize}`]]: inferredSize,\n });\n\n const avatarBaseOverflowClassNames = cx(\n avatarBaseStyles[\"avatar-base-overflow\"],\n {\n [avatarBaseStyles[\"overflow-ten-plus\"]]:\n overflowCount && overflowCount > 9,\n },\n );\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n return (\n <span\n ref={ref}\n className={avatarGroupClassNames}\n style={styleCombined}\n data-anv=\"avatar-group\"\n {...rest}\n >\n {childrenArr.map((child, i) => {\n let childEl = child;\n if (isValidElement(child)) {\n const nIndex = childrenArr.length - i;\n const nStyle: CSSProperties = {\n ...child.props.style,\n zIndex: nIndex,\n };\n childEl = cloneElement(child as ReactElement, {\n style: nStyle,\n });\n }\n\n if (!max) return childEl;\n if (i < max) return childEl;\n return null;\n })}\n {isOverflowing && max && (\n <AvatarBase\n className={avatarBaseOverflowClassNames}\n name={`+${overflowCount}`}\n initials={`+${overflowCount}`}\n size={inferredSize}\n />\n )}\n </span>\n );\n },\n);\n\nAvatarGroup.displayName = \"AvatarGroup\";\n","import { type ComponentPropsWithoutRef, forwardRef, useMemo } from \"react\";\nimport { AvatarGroup } from \"../AvatarGroup\";\nimport type { LayoutUtilProps } from \"../../../types\";\nimport { getInitial } from \"../../../internal/functions\";\n\nimport { useLayoutPropsUtil } from \"../../../internal/hooks\";\nimport { AvatarBase, type AvatarBaseProps } from \"./AvatarBase\";\n\n/**\n * Props for the Avatar component\n * @property {string} name - Full name of the user. Used for alt text and screen reader announcements\n * @property {string} [color] - Custom color of the avatar. Should maintain sufficient contrast ratio for accessibility\n * @property {string} [image] - Image source to be used for avatar. Falls back to initials if image fails to load\n * @property {Extract<Size, \"small\" | \"medium\" | \"large\">} [size] - Size of the Avatar\n * @property {\"online\" | \"offline\"} [status] - Online status of the Avatar\n * @extends ComponentPropsWithoutRef<\"span\">\n * @extends Omit<AvatarBaseProps, \"initials\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n */\nexport type AvatarProps = ComponentPropsWithoutRef<\"span\"> &\n Omit<AvatarBaseProps, \"initials\"> &\n Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">;\n\n/**\n * Avatar component for displaying user avatars with initials or images.\n *\n * Features:\n * - Displays user initials when no image is provided\n * - Supports custom colors and sizes\n * - Shows online/offline status\n * - Fully accessible with screen reader support\n * - Automatic image fallback handling\n * - Supports layout utilities for positioning and spacing\n *\n * @example\n * <Avatar\n * name=\"John Doe\"\n * image=\"https://example.com/avatar.jpg\"\n * size=\"medium\"\n * status=\"online\"\n * />\n */\nexport const Avatar = Object.assign(\n forwardRef<HTMLSpanElement, AvatarProps>(function AvatarInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { name, style, ...rest } = componentProps;\n\n const styleWithLayout = useMemo(() => {\n return {\n ...layoutStyles,\n ...style,\n };\n }, [layoutStyles, style]);\n\n const initials = getInitial(name);\n\n return (\n <AvatarBase\n style={styleWithLayout}\n data-anv=\"avatar\"\n name={name}\n ref={ref}\n initials={rest.size === \"small\" ? initials?.[0] : initials}\n {...rest}\n />\n );\n }),\n {\n /**\n * AvatarGroup component for displaying multiple avatars in a group.\n *\n * Features:\n * - Displays multiple avatars in a stacked layout\n * - Handles overflow with a count indicator\n * - Maintains consistent sizing across all avatars\n * - Supports custom styling and layout\n * - Automatically adjusts z-index for proper stacking\n * - Fully accessible with screen reader support\n *\n * @example\n * <Avatar.Group max={3}>\n * <Avatar name=\"John Doe\" />\n * <Avatar name=\"Jane Smith\" />\n * <Avatar name=\"Bob Johnson\" />\n * <Avatar name=\"Alice Brown\" />\n * </Avatar.Group>\n */\n Group: AvatarGroup,\n },\n);\nAvatar.displayName = \"Avatar\";\n"],"names":["styles"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { a as Avatar$1, A as AvatarGroup } from './Avatar-
|
|
2
|
+
import { a as Avatar$1, A as AvatarGroup } from './Avatar-DZxHhMTP.js';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
|
|
5
5
|
const Avatar = Object.assign(
|
|
@@ -32,4 +32,4 @@ const Avatar = Object.assign(
|
|
|
32
32
|
Avatar.displayName = Avatar$1.displayName;
|
|
33
33
|
|
|
34
34
|
export { Avatar as A };
|
|
35
|
-
//# sourceMappingURL=Avatar-
|
|
35
|
+
//# sourceMappingURL=Avatar-DkWoRhJu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar-
|
|
1
|
+
{"version":3,"file":"Avatar-DkWoRhJu.js","sources":["../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import {\n Avatar as CoreAvatar,\n type AvatarProps as CoreAvatarProps,\n} from \"./internal/Avatar\";\nimport { forwardRef } from \"react\";\nimport type { DistributiveOmit } from \"../../types\";\nimport { AvatarGroup } from \"./AvatarGroup\";\n\n/**\n * Props for the Avatar component\n * @property {string} name - Full name used for alt text and screen reader\n * @property {string} [color] - Custom color of the Avatar\n * @property {string} [image] - Image source to be used for Avatar\n * @property {\"small\" | \"medium\" | \"large\"} [size] - Size of the Avatar\n * @property {\"online\" | \"offline\"} [status] - Online status of the Avatar\n * @extends ComponentPropsWithoutRef<\"span\">\n * @extends Omit<AvatarBaseProps, \"initials\">\n * @extends Omit<LayoutUtilProps, \"flex\" | \"flexBasis\" | \"flexGrow\" | \"flexShrink\">\n * @extends DataTrackingId\n */\nexport type AvatarProps = DistributiveOmit<CoreAvatarProps, \"size\"> & {\n size?: Extract<CoreAvatarProps[\"size\"], \"small\" | \"medium\" | \"large\">;\n};\n\n/**\n * Avatar component for displaying user avatars with initials or images.\n *\n * Features:\n * - Displays user initials when no image is provided\n * - Supports custom colors and sizes\n * - Shows online/offline status\n * - Fully accessible with screen reader support\n * - Automatic image fallback handling\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Avatar name=\"John Doe\" size=\"medium\" status=\"online\" />\n */\nexport const Avatar = Object.assign(\n forwardRef<HTMLSpanElement, AvatarProps>(function AvatarInner(props, ref) {\n return <CoreAvatar ref={ref} {...props} />;\n }),\n {\n /**\n * AvatarGroup component for displaying multiple avatars in a group.\n *\n * Features:\n * - Displays multiple avatars in a stacked layout\n * - Handles overflow with a count indicator\n * - Maintains consistent sizing across all avatars\n * - Supports custom styling and layout\n * - Automatically adjusts z-index for proper stacking\n * - Fully accessible with screen reader support\n *\n * @example\n * <Avatar.Group max={3}>\n * <Avatar name=\"John Doe\" />\n * <Avatar name=\"Jane Smith\" />\n * <Avatar name=\"Bob Johnson\" />\n * <Avatar name=\"Alice Brown\" />\n * </Avatar.Group>\n */\n Group: AvatarGroup,\n },\n);\nAvatar.displayName = CoreAvatar.displayName;\n"],"names":["CoreAvatar"],"mappings":";;;;AAsCO,MAAM,SAAS,MAAA,CAAO,MAAA;AAAA,EAC3B,UAAA,CAAyC,SAAS,WAAA,CAAY,KAAA,EAAO,GAAA,EAAK;AACxE,IAAA,uBAAO,GAAA,CAACA,QAAA,EAAA,EAAW,GAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAAA,EAC1C,CAAC,CAAA;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAoBE,KAAA,EAAO;AAAA;AAEX;AACA,MAAA,CAAO,cAAcA,QAAA,CAAW,WAAA;;;;"}
|
package/dist/Avatar.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as Avatar, A as default } from './Avatar-
|
|
2
|
-
export { A as AvatarGroup } from './Avatar-
|
|
1
|
+
export { A as Avatar, A as default } from './Avatar-DkWoRhJu.js';
|
|
2
|
+
export { A as AvatarGroup } from './Avatar-DZxHhMTP.js';
|
|
3
3
|
//# sourceMappingURL=Avatar.js.map
|
|
@@ -4,7 +4,7 @@ import { forwardRef, Children, cloneElement } from 'react';
|
|
|
4
4
|
import { c as cx } from './index-De1g9FRV.js';
|
|
5
5
|
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
|
|
6
6
|
import { L as Link } from './Link-D7ycmfQ_.js';
|
|
7
|
-
import { T as Text } from './Text-
|
|
7
|
+
import { T as Text } from './Text-CZccJAnm.js';
|
|
8
8
|
import { I as Icon } from './Icon-B5zwN7GD.js';
|
|
9
9
|
|
|
10
10
|
import './Breadcrumbs.css';const SvgChevronRight = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }));
|
|
@@ -96,4 +96,4 @@ const Breadcrumbs = Object.assign(
|
|
|
96
96
|
Breadcrumbs.displayName = "Breadcrumbs";
|
|
97
97
|
|
|
98
98
|
export { Breadcrumbs as B };
|
|
99
|
-
//# sourceMappingURL=Breadcrumbs-
|
|
99
|
+
//# sourceMappingURL=Breadcrumbs-DbOrdao2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs-
|
|
1
|
+
{"version":3,"file":"Breadcrumbs-DbOrdao2.js","sources":["../../hammer-icon/mdi/filled/chevron_right.svg","../src/components/Breadcrumbs/BreadcrumbsLink.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" }));\nexport default SvgChevronRight;\n","import { type ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport cx from \"classnames\";\n\nimport type { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Link, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\n\n/**\n * Props for the BreadcrumbsLink component\n * @extends ComponentPropsWithoutRef<\"a\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsLinkProps = ComponentPropsWithoutRef<\"a\"> &\n LayoutUtilProps;\n\n/**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <BreadcrumbsLink href=\"/dashboard\">Dashboard</BreadcrumbsLink>\n */\nexport const BreadcrumbsLink = forwardRef<\n HTMLAnchorElement,\n BreadcrumbsLinkProps\n>((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs-link\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n return (\n <Link\n tabIndex={0}\n data-anv=\"breadcrumbs-link\"\n style={styleCombined}\n appearance=\"secondary\"\n className={classes}\n {...rest}\n ref={ref}\n >\n <Text size=\"small\" inline>\n {children}\n </Text>\n </Link>\n );\n});\n\nBreadcrumbsLink.displayName = \"BreadcrumbsLink\";\n","import {\n Children,\n type ComponentPropsWithoutRef,\n type ReactElement,\n cloneElement,\n forwardRef,\n} from \"react\";\nimport cx from \"classnames\";\nimport ChevronRight from \"@servicetitan/hammer-icon/mdi/filled/chevron_right.svg\";\n\nimport type { LayoutUtilProps } from \"../../types\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Icon, Text } from \"../\";\n\nimport styles from \"./Breadcrumbs.module.scss\";\nimport { BreadcrumbsLink, type BreadcrumbsLinkProps } from \"./BreadcrumbsLink\";\n\n/**\n * Props for the Breadcrumbs component\n * @extends ComponentPropsWithoutRef<\"nav\">\n * @extends LayoutUtilProps\n */\nexport type BreadcrumbsProps = ComponentPropsWithoutRef<\"nav\"> &\n LayoutUtilProps & {\n /**\n * Breadcrumb links to display. The last child will be rendered as non-clickable text.\n */\n children:\n | ReactElement<BreadcrumbsLinkProps>\n | ReactElement<BreadcrumbsLinkProps>[];\n };\n\n/**\n * Breadcrumbs component for displaying navigation hierarchy.\n *\n * Features:\n * - Displays a series of navigation links with chevron separators\n * - Automatically renders the last item as non-clickable text\n * - Includes proper ARIA labeling for accessibility\n * - Supports layout utilities for positioning and spacing\n * - Uses chevron icons as visual separators between links\n * - Responsive design with flexbox layout\n *\n * @example\n * <Breadcrumbs>\n * <Breadcrumbs.Link href=\"/home\">Home</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/products\">Products</Breadcrumbs.Link>\n * <Breadcrumbs.Link href=\"/electronics\">Electronics</Breadcrumbs.Link>\n * </Breadcrumbs>\n */\nexport const Breadcrumbs = Object.assign(\n forwardRef<HTMLElement, BreadcrumbsProps>(\n function BreadcrumbsInner(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { children, className, style, ...rest } = componentProps;\n\n const classes = cx([styles[\"breadcrumbs\"]], className, {});\n\n const styleCombined = {\n ...style,\n ...layoutStyles,\n };\n\n const linkCount = Children.count(children);\n\n return (\n <nav\n data-anv=\"breadcrumbs\"\n style={styleCombined}\n className={classes}\n aria-label=\"Breadcrumb\"\n {...rest}\n ref={ref}\n >\n {Children.map(children, (link, i) => {\n if (i + 1 === linkCount) {\n return (\n <Text inline size=\"small\" className={styles[\"current\"]}>\n {link.props.children}\n </Text>\n );\n } else {\n return (\n <>\n {cloneElement(link as ReactElement)}\n <Icon svg={ChevronRight} aria-hidden=\"true\" />\n </>\n );\n }\n })}\n </nav>\n );\n },\n ),\n {\n /**\n * BreadcrumbsLink component for individual breadcrumb navigation items.\n *\n * Features:\n * - Renders as a clickable link with secondary appearance\n * - Supports all standard anchor element props\n * - Includes layout utilities for positioning and spacing\n * - Uses small text size for consistent styling\n * - Fully accessible with proper focus management\n * - Automatically applies secondary link styling\n *\n * @example\n * <Breadcrumbs.Link href=\"/dashboard\">Dashboard</Breadcrumbs.Link>\n */\n Link: BreadcrumbsLink,\n },\n);\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"names":["ChevronRight"],"mappings":"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"}
|
package/dist/Breadcrumbs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { B as Breadcrumbs, B as default } from './Breadcrumbs-
|
|
1
|
+
export { B as Breadcrumbs, B as default } from './Breadcrumbs-DbOrdao2.js';
|
|
2
2
|
//# sourceMappingURL=Breadcrumbs.js.map
|