@servicetitan/anvil2 3.4.1 → 3.5.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 +34 -0
- package/dist/{AiMark-BL2p0EKB.js → AiMark-D3nw58ho.js} +2 -2
- package/dist/AiMark-D3nw58ho.js.map +1 -0
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-Cgo8pwhb.js → Alert-CSV4hRBD.js} +2 -2
- package/dist/{Alert-Cgo8pwhb.js.map → Alert-CSV4hRBD.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{AnvilProvider-CwAHiQ_0.js → AnvilProvider-b3gvW6Md.js} +4 -29
- package/dist/AnvilProvider-b3gvW6Md.js.map +1 -0
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Breadcrumbs-DcMJdSC5.js → Breadcrumbs-BkZVA_ux.js} +2 -2
- package/dist/{Breadcrumbs-DcMJdSC5.js.map → Breadcrumbs-BkZVA_ux.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Calendar-Dmsp_qIo.js → Calendar-CJaZFWmO.js} +2 -2
- package/dist/{Calendar-Dmsp_qIo.js.map → Calendar-CJaZFWmO.js.map} +1 -1
- package/dist/{Calendar-C05ESFqK.js → Calendar-Cw2UKiof.js} +7 -2
- package/dist/Calendar-Cw2UKiof.js.map +1 -0
- package/dist/Calendar.js +2 -2
- package/dist/{Checkbox-DqY9bRng.js → Checkbox-7KubQWJc.js} +3 -3
- package/dist/{Checkbox-DqY9bRng.js.map → Checkbox-7KubQWJc.js.map} +1 -1
- package/dist/{Checkbox-DEU2CtNu.js → Checkbox-Bq2EfltF.js} +2 -2
- package/dist/{Checkbox-DEU2CtNu.js.map → Checkbox-Bq2EfltF.js.map} +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-Cb3dnZht.js → Chip-yyEbwLdG.js} +2 -2
- package/dist/{Chip-Cb3dnZht.js.map → Chip-yyEbwLdG.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-QWgY5s7o.js → DataTable-BgD9Sh-7.js} +19 -7
- package/dist/{DataTable-QWgY5s7o.js.map → DataTable-BgD9Sh-7.js.map} +1 -1
- package/dist/{DateFieldRange-BWE-utxz.js → DateFieldRange-OlkU5oeu.js} +4 -4
- package/dist/{DateFieldRange-BWE-utxz.js.map → DateFieldRange-OlkU5oeu.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-DOJZRbkP.js → DateFieldSingle-BGGlLAID.js} +4 -4
- package/dist/{DateFieldSingle-DOJZRbkP.js.map → DateFieldSingle-BGGlLAID.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-BHGGAa4K.js → DateFieldYearless-X9_F3VFM.js} +4 -4
- package/dist/{DateFieldYearless-BHGGAa4K.js.map → DateFieldYearless-X9_F3VFM.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-CxEaZnI6.js → DateFieldYearlessRange-CWdTbFDF.js} +3 -3
- package/dist/{DateFieldYearlessRange-CxEaZnI6.js.map → DateFieldYearlessRange-CWdTbFDF.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-or-V9aOL.js → DaysOfTheWeek-DfNYEwbg.js} +2 -2
- package/dist/{DaysOfTheWeek-or-V9aOL.js.map → DaysOfTheWeek-DfNYEwbg.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Dialog-D7wWgUiC.js → Dialog-BpS3KScw.js} +3 -3
- package/dist/{Dialog-D7wWgUiC.js.map → Dialog-BpS3KScw.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-rHhrkb8I.js → Drawer-CxVIDCIB.js} +3 -3
- package/dist/{Drawer-rHhrkb8I.js.map → Drawer-CxVIDCIB.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{EditCard-BygUiJyq.js → EditCard-T5mbl573.js} +2 -2
- package/dist/{EditCard-BygUiJyq.js.map → EditCard-T5mbl573.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-BLH70tsq.js → FieldLabel-Dfg4wEra.js} +2 -2
- package/dist/{FieldLabel-BLH70tsq.js.map → FieldLabel-Dfg4wEra.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/{FilterBar-kN4R0B_m.js → FilterBar-CA4MDEF-.js} +27 -6
- package/dist/FilterBar-CA4MDEF-.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/{InputMask-G9TeTPS8.js → InputMask-C8ZAwqFi.js} +3 -3
- package/dist/{InputMask-G9TeTPS8.js.map → InputMask-C8ZAwqFi.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{InteractiveCard-CyUR_VLW.js → InteractiveCard-C0g5PxB6.js} +5 -2
- package/dist/InteractiveCard-C0g5PxB6.js.map +1 -0
- package/dist/InteractiveCard.js +1 -1
- package/dist/{ListView-A4v-kbPH.js → ListView-BMo04Epa.js} +2 -2
- package/dist/{ListView-A4v-kbPH.js.map → ListView-BMo04Epa.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-DTxGVQQ9.js → Listbox-BQRMsA0L.js} +2 -2
- package/dist/{Listbox-DTxGVQQ9.js.map → Listbox-BQRMsA0L.js.map} +1 -1
- package/dist/Listbox.js +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-Zr6ObmiY.js → MultiSelectFieldSync-Cn3tNZcf.js} +13 -11
- package/dist/MultiSelectFieldSync-Cn3tNZcf.js.map +1 -0
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-Cdsp2_ZA.js → MultiSelectMenuSync-FH_hXlIa.js} +23 -10
- package/dist/MultiSelectMenuSync-FH_hXlIa.js.map +1 -0
- package/dist/{NumberField-CigVFXzW.js → NumberField-DdaBRyCJ.js} +3 -3
- package/dist/{NumberField-CigVFXzW.js.map → NumberField-DdaBRyCJ.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/{Page-DMvEouPp.js → Page-DpUv1L7T.js} +21 -16
- package/dist/Page-DpUv1L7T.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/{Pagination-Bur581V_.js → Pagination-Dm10ZvKj.js} +2 -2
- package/dist/{Pagination-Bur581V_.js.map → Pagination-Dm10ZvKj.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{ProgressBar-CJwF0L2j.js → ProgressBar-fwE4FkQt.js} +2 -2
- package/dist/{ProgressBar-CJwF0L2j.js.map → ProgressBar-fwE4FkQt.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-CspG2mD_.js → Radio-BuzABI6-.js} +3 -3
- package/dist/{Radio-CspG2mD_.js.map → Radio-BuzABI6-.js.map} +1 -1
- package/dist/{Radio-DAsbQWNO.js → Radio-DUKkDky9.js} +2 -2
- package/dist/{Radio-DAsbQWNO.js.map → Radio-DUKkDky9.js.map} +1 -1
- package/dist/Radio.js +1 -1
- package/dist/{RichTextEditor-D1IBYQyU.js → RichTextEditor-x0anoUnS.js} +7 -7
- package/dist/{RichTextEditor-D1IBYQyU.js.map → RichTextEditor-x0anoUnS.js.map} +1 -1
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-CtClXIW1.js → SavedFiltersButton-DgP-7upC.js} +9 -9
- package/dist/{SavedFiltersButton-CtClXIW1.js.map → SavedFiltersButton-DgP-7upC.js.map} +1 -1
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/{SearchField-BfOMhmIc.js → SearchField-GMJ6vfV9.js} +2 -2
- package/dist/{SearchField-BfOMhmIc.js.map → SearchField-GMJ6vfV9.js.map} +1 -1
- package/dist/{SearchField-D9ZMOcbo.js → SearchField-hjWzcHZF.js} +2 -2
- package/dist/{SearchField-D9ZMOcbo.js.map → SearchField-hjWzcHZF.js.map} +1 -1
- package/dist/SearchField.js +1 -1
- package/dist/{SelectCard-Bk2JEIie.js → SelectCard-CKlBGGSW.js} +3 -3
- package/dist/{SelectCard-Bk2JEIie.js.map → SelectCard-CKlBGGSW.js.map} +1 -1
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-VLPS25_a.js → SelectFieldLabel-_LjbBRaT.js} +2 -2
- package/dist/{SelectFieldLabel-VLPS25_a.js.map → SelectFieldLabel-_LjbBRaT.js.map} +1 -1
- package/dist/{SelectFieldSync-DO03WeCx.js → SelectFieldSync-DUwFm6OH.js} +7 -7
- package/dist/SelectFieldSync-DUwFm6OH.js.map +1 -0
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DStox_Zy.js → SelectMenuSync-BZ3iXj3n.js} +5 -5
- package/dist/{SelectMenuSync-DStox_Zy.js.map → SelectMenuSync-BZ3iXj3n.js.map} +1 -1
- package/dist/{SelectOptions-DmqnJbq5.js → SelectOptions-DDindDgw.js} +2 -2
- package/dist/{SelectOptions-DmqnJbq5.js.map → SelectOptions-DDindDgw.js.map} +1 -1
- package/dist/{SelectTrigger-C--mlQPY.js → SelectTrigger-DZ33_p3P.js} +2 -2
- package/dist/{SelectTrigger-C--mlQPY.js.map → SelectTrigger-DZ33_p3P.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-DCdVK5FM.js → SelectTriggerBase-DcP0Fsia.js} +3 -3
- package/dist/{SelectTriggerBase-DCdVK5FM.js.map → SelectTriggerBase-DcP0Fsia.js.map} +1 -1
- package/dist/{SideNav-BFkruKa4.js → SideNav-BNMwTm1u.js} +5 -2
- package/dist/{SideNav-BFkruKa4.js.map → SideNav-BNMwTm1u.js.map} +1 -1
- package/dist/SideNav.js +1 -1
- package/dist/{Switch-97v6BcuM.js → Switch-DEDfnLGU.js} +2 -2
- package/dist/{Switch-97v6BcuM.js.map → Switch-DEDfnLGU.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-CXf0c8th.js → Text-Dp-1foEc.js} +2 -2
- package/dist/{Text-CXf0c8th.js.map → Text-Dp-1foEc.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-ttW-PfxW.js → TextField-B0iTBGho.js} +3 -3
- package/dist/{TextField-ttW-PfxW.js.map → TextField-B0iTBGho.js.map} +1 -1
- package/dist/{TextField-B_LS82U2.js → TextField-CwJliCi7.js} +2 -2
- package/dist/{TextField-B_LS82U2.js.map → TextField-CwJliCi7.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-B58yhkqk.js → Textarea-CU3j_Yo0.js} +3 -3
- package/dist/{Textarea-B58yhkqk.js.map → Textarea-CU3j_Yo0.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{TimeField-CacCU22y.js → TimeField-CpMwgKDi.js} +4 -4
- package/dist/{TimeField-CacCU22y.js.map → TimeField-CpMwgKDi.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-CggpDaEy.js → Toaster-D75ZXkU1.js} +2 -2
- package/dist/{Toaster-CggpDaEy.js.map → Toaster-D75ZXkU1.js.map} +1 -1
- package/dist/{Toaster-BMUQLR4X.js → Toaster-Djn0LfKr.js} +3 -3
- package/dist/{Toaster-BMUQLR4X.js.map → Toaster-Djn0LfKr.js.map} +1 -1
- package/dist/{Toolbar-CGI7ilfn.js → Toolbar--psHvtjP.js} +3 -3
- package/dist/{Toolbar-CGI7ilfn.js.map → Toolbar--psHvtjP.js.map} +1 -1
- package/dist/{Toolbar-BObGbcb3.js → Toolbar-DjkQ2_cV.js} +5 -5
- package/dist/{Toolbar-BObGbcb3.js.map → Toolbar-DjkQ2_cV.js.map} +1 -1
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-DsaG1BWZ.js → ToolbarButtonToggle-D62XxVp0.js} +6 -3
- package/dist/ToolbarButtonToggle-D62XxVp0.js.map +1 -0
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-BHSzJlYx.js → TreeSelectFieldSync-DR0Tzn2b.js} +5 -5
- package/dist/{TreeSelectFieldSync-BHSzJlYx.js.map → TreeSelectFieldSync-DR0Tzn2b.js.map} +1 -1
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-BfYc8PHd.js → TreeSelectMenuSync-B8GmAstR.js} +4 -4
- package/dist/{TreeSelectMenuSync-BfYc8PHd.js.map → TreeSelectMenuSync-B8GmAstR.js.map} +1 -1
- package/dist/{TypeaheadTextField-DU10rQHH.js → TypeaheadTextField-N_6q6ojK.js} +2 -2
- package/dist/{TypeaheadTextField-DU10rQHH.js.map → TypeaheadTextField-N_6q6ojK.js.map} +1 -1
- package/dist/TypeaheadTextField.js +1 -1
- package/dist/{YearlessDateInputWithPicker-DtikVrWk.js → YearlessDateInputWithPicker-w3VGYELR.js} +2 -2
- package/dist/{YearlessDateInputWithPicker-DtikVrWk.js.map → YearlessDateInputWithPicker-w3VGYELR.js.map} +1 -1
- package/dist/assets/icons/st/ai_mark_gradient.svg +1 -1
- package/dist/beta.js +17 -17
- package/dist/{useToggleSelection-qzKkgwTj.js → bulkActionTypes-wU7Cby5y.js} +8 -3
- package/dist/bulkActionTypes-wU7Cby5y.js.map +1 -0
- package/dist/{filter-state-BL17jEUz.js → filter-state-CSA3wjAR.js} +344 -66
- package/dist/filter-state-CSA3wjAR.js.map +1 -0
- package/dist/{index-Deyzt7C3.js → index-BN9SK9L3.js} +2 -2
- package/dist/{index-Deyzt7C3.js.map → index-BN9SK9L3.js.map} +1 -1
- package/dist/index.js +42 -42
- package/dist/src/beta/components/Calendar/Calendar.figma.d.ts +1 -0
- package/dist/src/beta/components/FilterBar/FilterSearchField.d.ts +28 -0
- package/dist/src/beta/components/FilterBar/index.d.ts +1 -1
- package/dist/src/beta/components/FilterBar/internal/adapters/search.d.ts +3 -0
- package/dist/src/beta/components/FilterBar/internal/adapters/types.d.ts +2 -1
- package/dist/src/beta/components/FilterBar/internal/types.d.ts +72 -6
- package/dist/src/beta/components/FilterBar/internal/utils/dateConstraints.d.ts +38 -0
- package/dist/src/beta/components/FilterBar/internal/utils/test.d.ts +2 -1
- package/dist/src/beta/components/InteractiveCard/InteractiveCard.figma.d.ts +1 -0
- package/dist/src/beta/components/InteractiveCard/types.d.ts +3 -3
- package/dist/src/beta/components/RichTextEditor/RichTextEditor.figma.d.ts +1 -0
- package/dist/src/beta/components/Table/DataTable/DataTable.figma.d.ts +1 -0
- package/dist/src/beta/components/Toolbar/Toolbar.figma.d.ts +1 -0
- package/dist/src/components/AiMark/AiMark.figma.d.ts +1 -0
- package/dist/src/components/ButtonLink/ButtonLink.figma.d.ts +1 -0
- package/dist/src/components/ButtonToggle/ButtonToggle.figma.d.ts +1 -0
- package/dist/src/components/Combobox/Combobox.d.ts +8 -4
- package/dist/src/components/Combobox/ComboboxSelect.d.ts +2 -2
- package/dist/src/components/DateFieldRange/DateFieldRange.figma.d.ts +1 -0
- package/dist/src/components/DateFieldSingle/DateFieldSingle.figma.d.ts +1 -0
- package/dist/src/components/DateFieldYearless/DateFieldYearless.figma.d.ts +1 -0
- package/dist/src/components/DateFieldYearlessRange/DateFieldYearlessRange.figma.d.ts +1 -0
- package/dist/src/components/DaysOfTheWeek/DaysOfTheWeek.figma.d.ts +1 -0
- package/dist/src/components/Details/Details.figma.d.ts +1 -0
- package/dist/src/components/Dialog/Dialog.figma.d.ts +1 -0
- package/dist/src/components/Dnd/Dnd.figma.d.ts +1 -0
- package/dist/src/components/DndSort/DndSort.figma.d.ts +1 -0
- package/dist/src/components/Drawer/Drawer.figma.d.ts +1 -0
- package/dist/src/components/Layout/Layout.figma.d.ts +1 -0
- package/dist/src/components/LinkButton/LinkButton.figma.d.ts +1 -0
- package/dist/src/components/ListView/ListView.figma.d.ts +1 -0
- package/dist/src/components/Listbox/Listbox.figma.d.ts +1 -0
- package/dist/src/components/Menu/Menu.figma.d.ts +1 -0
- package/dist/src/components/MultiSelectField/MultiSelectField.figma.d.ts +1 -0
- package/dist/src/components/MultiSelectField/types.d.ts +3 -0
- package/dist/src/components/MultiSelectMenu/MultiSelectMenu.figma.d.ts +1 -0
- package/dist/src/components/MultiSelectMenu/types.d.ts +5 -0
- package/dist/src/components/NumberField/NumberField.figma.d.ts +1 -0
- package/dist/src/components/Overflow/Overflow.figma.d.ts +1 -0
- package/dist/src/components/Page/Page.figma.d.ts +1 -0
- package/dist/src/components/Pagination/Pagination.figma.d.ts +1 -0
- package/dist/src/components/Popover/Popover.figma.d.ts +1 -0
- package/dist/src/components/SearchField/SearchField.figma.d.ts +1 -0
- package/dist/src/components/SegmentedControl/SegmentedControl.figma.d.ts +1 -0
- package/dist/src/components/SelectCard/SelectCard.figma.d.ts +1 -0
- package/dist/src/components/SelectField/SelectField.figma.d.ts +1 -0
- package/dist/src/components/SelectMenu/SelectMenu.figma.d.ts +1 -0
- package/dist/src/components/SideNav/SideNav.figma.d.ts +1 -0
- package/dist/src/components/Skeleton/Skeleton.figma.d.ts +1 -0
- package/dist/src/components/Stepper/Stepper.figma.d.ts +1 -0
- package/dist/src/components/Tab/Tab.figma.d.ts +1 -0
- package/dist/src/components/Text/Text.figma.d.ts +1 -0
- package/dist/src/components/TextField/TextField.figma.d.ts +1 -0
- package/dist/src/components/Textarea/Textarea.figma.d.ts +1 -0
- package/dist/src/components/TimeField/TimeField.figma.d.ts +1 -0
- package/dist/src/internal/types/bulkActionTypes.d.ts +27 -2
- package/dist/src/providers/AnvilProvider/AnvilProviderContext.d.ts +12 -0
- package/dist/{stripInlineMarkdown-D8j76cz_.js → stripInlineMarkdown-_rZx_gXG.js} +2 -2
- package/dist/{stripInlineMarkdown-D8j76cz_.js.map → stripInlineMarkdown-_rZx_gXG.js.map} +1 -1
- package/dist/{syncFilterUtils-DV1H8ZIz.js → syncFilterUtils-CpDXQtFA.js} +3 -3
- package/dist/{syncFilterUtils-DV1H8ZIz.js.map → syncFilterUtils-CpDXQtFA.js.map} +1 -1
- package/dist/{treeSync-DluwQlVs.js → treeSync-Dcq1ntVm.js} +3 -3
- package/dist/{treeSync-DluwQlVs.js.map → treeSync-Dcq1ntVm.js.map} +1 -1
- package/dist/{useAdaptiveView-0Cd-y9FC.js → useAdaptiveView-B8-BkcBX.js} +6 -6
- package/dist/{useAdaptiveView-0Cd-y9FC.js.map → useAdaptiveView-B8-BkcBX.js.map} +1 -1
- package/dist/useAdaptiveView.css +6 -4
- package/dist/{useDrilldown-C5jP2l0a.js → useDrilldown-DmILG6sb.js} +2 -2
- package/dist/{useDrilldown-C5jP2l0a.js.map → useDrilldown-DmILG6sb.js.map} +1 -1
- package/dist/{useInfiniteCombobox-BlP6jZ6d.js → useInfiniteCombobox-BfM3muPW.js} +7 -5
- package/dist/useInfiniteCombobox-BfM3muPW.js.map +1 -0
- package/package.json +1 -1
- package/dist/AiMark-BL2p0EKB.js.map +0 -1
- package/dist/AnvilProvider-CwAHiQ_0.js.map +0 -1
- package/dist/Calendar-C05ESFqK.js.map +0 -1
- package/dist/FilterBar-kN4R0B_m.js.map +0 -1
- package/dist/InteractiveCard-CyUR_VLW.js.map +0 -1
- package/dist/MultiSelectFieldSync-Zr6ObmiY.js.map +0 -1
- package/dist/MultiSelectMenuSync-Cdsp2_ZA.js.map +0 -1
- package/dist/Page-DMvEouPp.js.map +0 -1
- package/dist/SelectFieldSync-DO03WeCx.js.map +0 -1
- package/dist/ToolbarButtonToggle-DsaG1BWZ.js.map +0 -1
- package/dist/a2-border.css +0 -25
- package/dist/a2-color.css +0 -223
- package/dist/a2-font.css +0 -21
- package/dist/a2-spacing.css +0 -238
- package/dist/a2-utils.css +0 -500
- package/dist/filter-state-BL17jEUz.js.map +0 -1
- package/dist/useInfiniteCombobox-BlP6jZ6d.js.map +0 -1
- package/dist/useToggleSelection-qzKkgwTj.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectFieldSync-DO03WeCx.js","sources":["../src/components/SelectField/internal/SelectFieldInput.tsx","../src/components/SelectField/internal/useCombo.tsx","../src/components/SelectField/internal/SelectFieldComboboxMode.tsx","../src/components/SelectField/internal/SelectFieldTrigger.tsx","../src/components/SelectField/internal/useSelectMode.ts","../src/components/SelectField/internal/SelectFieldSelectMode.tsx","../src/components/SelectField/SelectField.tsx","../src/components/SelectField/SelectFieldSync.tsx"],"sourcesContent":["import styles from \"../../../components/SelectTrigger/internal/SelectTriggerBase.module.scss\";\nimport cx from \"classnames\";\nimport { PassThroughProps, Size } from \"../../../types\";\nimport { Button } from \"../../../components/Button\";\nimport Chevron_Right from \"@servicetitan/hammer-icon/mdi/round/chevron_right.svg\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport { ReactElement, RefObject } from \"react\";\n\n/**\n * Props for the SelectFieldInput component\n * @property {string} [placeholder] - Placeholder text displayed when input is empty\n * @property {Extract<Size, \"small\" | \"medium\" | \"large\">} [size] - Size variant of the input\n * @property {boolean} [disableClearButton] - Hides the clear button when true\n * @property {boolean} [disableToggleButton] - Hides the toggle button when true\n * @property {boolean} [disabled] - Disables the input entirely\n * @property {boolean} [readOnly] - Cannot be modified but remains interactive\n * @property {boolean} [isHighlighted] - Applies a subdued primary background to draw attention to the field\n * @property {boolean} [required] - Marks the input as required for form validation\n * @property {boolean} [error] - Shows error styling on the input when true\n * @property {() => void} [onClear] - Callback fired when the clear button is clicked\n * @property {string} [id] - HTML id attribute for the input element\n * @property {RefObject<HTMLDivElement>} [inputWrapperRef] - Ref for the input wrapper div element\n * @property {PassThroughProps<\"div\">} [htmlInputWrapperProps] - Additional props passed to the wrapper div\n * @property {PassThroughProps<\"input\">} [inputProps] - Additional props passed to the input element\n * @property {PassThroughProps<\"button\">} [toggleButtonProps] - Additional props passed to the toggle button\n * @property {string | ReactElement} [prefix] - Content to display before the input\n * @property {string | ReactElement} [suffix] - Content to display after the input\n */\nexport type SelectFieldInputProps = {\n placeholder?: string;\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n disableClearButton?: boolean;\n disableToggleButton?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n isHighlighted?: boolean;\n required?: boolean;\n error?: boolean;\n onClear?: () => void;\n id?: string;\n inputWrapperRef?: RefObject<HTMLDivElement>;\n htmlInputWrapperProps?: PassThroughProps<\"div\">;\n inputProps?: PassThroughProps<\"input\">;\n toggleButtonProps?: PassThroughProps<\"button\">;\n prefix?: string | ReactElement;\n suffix?: string | ReactElement;\n};\n\n/**\n * Internal input component for the SelectField that provides the text input and action buttons.\n *\n * Features:\n * - Text input for filtering and displaying selected values\n * - Optional clear button for removing the current selection\n * - Optional toggle button for opening/closing the dropdown menu\n * - Supports multiple size variants (small, medium, large)\n * - Fully accessible with proper ARIA labels on buttons\n * - Supports pass-through props for customization of internal elements\n * - Optional prefix and suffix content\n * - Error state styling\n *\n * @example\n * <SelectFieldInput\n * placeholder=\"Search...\"\n * size=\"medium\"\n * onClear={() => handleClear()}\n * prefix=\"$\"\n * />\n */\nexport const SelectFieldInput = ({\n placeholder,\n size,\n disableClearButton,\n disableToggleButton,\n disabled,\n readOnly,\n isHighlighted,\n required,\n error,\n onClear,\n id,\n inputWrapperRef,\n htmlInputWrapperProps,\n inputProps,\n toggleButtonProps,\n prefix,\n suffix,\n}: SelectFieldInputProps) => {\n const inputWrapperClassNames = cx(styles[\"input-wrapper\"], {\n [styles[\"small\"]]: size === \"small\",\n [styles[\"large\"]]: size === \"large\",\n [styles[\"no-clear-button\"]]: disableClearButton,\n [styles[\"no-toggle-button\"]]: disableToggleButton,\n [styles[\"disabled\"]]: disabled || readOnly,\n [styles[\"highlight\"]]: isHighlighted,\n });\n\n return (\n <div\n ref={inputWrapperRef}\n {...htmlInputWrapperProps}\n className={cx(inputWrapperClassNames, htmlInputWrapperProps?.className)}\n >\n {prefix ? <div className={styles[\"prefix\"]}>{prefix}</div> : null}\n <input\n type=\"text\"\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n {...inputProps}\n className={cx(styles[\"input\"], inputProps?.className, {\n [styles[\"error\"]]: error,\n })}\n />\n {suffix ? <div className={styles[\"suffix\"]}>{suffix}</div> : null}\n <div className={styles[\"buttons-wrapper\"]}>\n {disableClearButton ? null : (\n <div className={styles[\"close-button-wrapper\"]}>\n <Button\n icon={Close}\n aria-label=\"clear selection\"\n appearance=\"ghost\"\n size=\"small\"\n className={styles[\"close-button\"]}\n onClick={() => {\n onClear?.();\n }}\n />\n </div>\n )}\n {disableToggleButton ? null : (\n <div className={styles[\"toggle-button-wrapper\"]}>\n <Button\n icon={Chevron_Right}\n aria-label=\"toggle menu\"\n appearance=\"ghost\"\n size=\"small\"\n disabled={disabled}\n {...toggleButtonProps}\n className={cx(\n styles[\"toggle-button\"],\n toggleButtonProps?.className,\n )}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nSelectFieldInput.displayName = \"SelectFieldInput\";\n","import {\n useCombobox,\n UseComboboxProps,\n UseComboboxState,\n UseComboboxStateChangeOptions,\n} from \"downshift\";\nimport { useDownshiftEnvironment } from \"../../../internal/hooks\";\nimport {\n SelectFieldGroupByValue,\n SelectFieldOption,\n SelectFieldPinnedOptions,\n} from \"../types\";\nimport { useMemo, useState } from \"react\";\nimport {\n SectionMeta,\n SelectItem,\n} from \"../../../internal/types/selectFieldInternalTypes\";\nimport { useProcessedOptions } from \"../../../internal/hooks/useProcessedOptions\";\nimport {\n buildSelectItems,\n toSelectItem,\n} from \"../../../internal/functions/buildSelectItems\";\n\nexport type { SectionMeta };\n\nexport type UseComboOptions = {\n // An array of currently loaded options\n options: SelectFieldOption[];\n // Pinned options configuration (raw prop)\n pinned?: SelectFieldPinnedOptions;\n // Function to convert a group value to a display label\n groupToString?: (groupValue: SelectFieldGroupByValue) => string;\n // Function to sort group sections\n groupSorter?: (\n a: SelectFieldGroupByValue,\n b: SelectFieldGroupByValue,\n ) => number;\n selectedOption: SelectFieldOption | null;\n onSelectedOptionChange: (option: SelectFieldOption | null) => void;\n displayAs: \"popover\" | \"dialog\";\n disableHighlightOnOpen?: boolean;\n disabled: boolean;\n virtualize?: boolean;\n onScrollToHighlight?: (index: number) => void;\n} & Pick<UseComboboxProps<SelectItem>, \"onInputValueChange\" | \"onIsOpenChange\">;\n\n/**\n * The purpose of useCombo is to provide an abstraction over the downshift combobox hook.\n */\nexport const useCombo = ({\n options,\n pinned,\n groupToString,\n groupSorter,\n selectedOption,\n onSelectedOptionChange,\n onInputValueChange,\n onIsOpenChange,\n displayAs = \"popover\",\n disableHighlightOnOpen = false,\n disabled,\n virtualize = false,\n onScrollToHighlight,\n}: UseComboOptions) => {\n // Controlled input value state - needed so usePinnedOptions can access it\n // before useCombobox is called\n const [inputValue, setInputValue] = useState(selectedOption?.label ?? \"\");\n\n // Compute effective search value (empty if showing selected option's label)\n const effectiveSearchValue =\n selectedOption?.label === inputValue ? \"\" : inputValue;\n\n const { pinnedSections, ungroupedItems, groupSections } = useProcessedOptions(\n {\n options,\n pinned,\n searchValue: effectiveSearchValue,\n groupToString,\n groupSorter,\n },\n );\n\n const { items, sectionsMeta } = useMemo(\n () =>\n buildSelectItems({\n pinnedSections,\n groupSections,\n ungroupedItems,\n }),\n [pinnedSections, groupSections, ungroupedItems],\n );\n\n const selectedDownshiftItem = useMemo(() => {\n return selectedOption ? toSelectItem(selectedOption) : null;\n }, [selectedOption]);\n\n const { ref: wrapperDivRef, environment } = useDownshiftEnvironment();\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n closeMenu,\n openMenu,\n setHighlightedIndex,\n } = useCombobox({\n isItemDisabled: (item, _index) => {\n if (!item) {\n return false; // Downshift passes -1 index with an undefined item. Ignore it.\n }\n return (disabled || item.disabled) ?? false;\n },\n environment: environment,\n selectedItem: selectedDownshiftItem,\n inputValue, // Controlled input value\n onSelectedItemChange: ({\n selectedItem: si,\n }: {\n selectedItem: SelectItem;\n }) => {\n // Regular, pinned, and grouped options are all selectable\n if (\n si &&\n (si.type === \"option\" ||\n si.type === \"pinned-option\" ||\n si.type === \"grouped-option\")\n ) {\n onSelectedOptionChange(si.original);\n } else {\n onSelectedOptionChange(null);\n }\n },\n onInputValueChange: (changes) => {\n // Update local state\n setInputValue(changes.inputValue ?? \"\");\n // Call external handler\n onInputValueChange?.(changes);\n },\n onHighlightedIndexChange: ({ type, highlightedIndex: idx }) => {\n if (type !== useCombobox.stateChangeTypes.ItemMouseMove && idx >= 0) {\n onScrollToHighlight?.(idx);\n }\n },\n onIsOpenChange: (changes) => {\n onIsOpenChange?.(changes);\n if (changes.isOpen && !disableHighlightOnOpen) {\n const selectedItemIndex = items.findIndex(\n (item) => item.original.id === selectedOption?.id,\n );\n setHighlightedIndex(selectedItemIndex);\n }\n },\n items: items,\n itemToString(item: SelectItem | null) {\n return item?.original.label ?? \"\";\n },\n stateReducer: (state, actionAndChanges) =>\n stateReducer(state, actionAndChanges, displayAs),\n ...(virtualize && { scrollIntoView: () => {} }),\n });\n\n return {\n inputValue,\n wrapperDivRef,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n highlightedIndex,\n isOpen,\n items,\n sectionsMeta,\n closeMenu,\n openMenu,\n };\n};\n\nfunction stateReducer(\n state: UseComboboxState<SelectItem>,\n actionAndChanges: UseComboboxStateChangeOptions<SelectItem>,\n displayAs: \"popover\" | \"dialog\",\n) {\n const { type, changes } = actionAndChanges;\n // this prevents the menu from being closed when the user selects an item with 'Enter' or mouse\n switch (type) {\n case useCombobox.stateChangeTypes.InputBlur:\n // keep the dialog open if the user blurs the input while the dialog is open\n if (displayAs === \"dialog\" && state.isOpen) {\n return {\n ...changes,\n isOpen: state.isOpen,\n };\n }\n return {\n ...changes,\n inputValue: state.selectedItem?.original.label ?? state.inputValue,\n };\n case useCombobox.stateChangeTypes.InputKeyDownEscape:\n case useCombobox.stateChangeTypes.FunctionCloseMenu:\n return {\n ...changes,\n inputValue: state.selectedItem?.original.label ?? state.inputValue,\n };\n case useCombobox.stateChangeTypes.InputClick:\n if (displayAs === \"dialog\" && state.isOpen) {\n // keep the dialog open if the user clicks the input while the dialog is open\n return {\n ...changes,\n isOpen: state.isOpen,\n };\n }\n return changes;\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n return changes;\n default:\n return changes; // otherwise business as usual.\n }\n}\n","import { useCallback, useEffect, useRef } from \"react\";\nimport { SelectOptions } from \"../../../internal/components/SelectOptions\";\nimport { OptionsPanelHandle } from \"../../../internal/components/OptionsPanel\";\nimport { SelectFieldInput } from \"./SelectFieldInput\";\nimport { SelectFieldLabel } from \"./SelectFieldLabel\";\nimport { useDebouncedCallback } from \"../../../internal/hooks/useDebouncedCallback\";\nimport styles from \"../../../components/SelectTrigger/internal/SelectTriggerBase.module.scss\";\nimport { useCombo } from \"./useCombo\";\nimport { OptionsPopover } from \"../../../internal/components/OptionsPopover/OptionsPopover\";\nimport { OptionsDialog } from \"../../../internal/components/OptionsDialog/OptionsDialog\";\nimport { AddNewItemButton } from \"../../../internal/components/AddNewItemButton\";\nimport { FieldMessage } from \"../../../components/FieldMessage\";\nimport { SelectFieldComboboxInternalProps } from \"../../../internal/types/selectFieldInternalTypes\";\n\n/**\n * Combobox mode: searchable select using useCombobox.\n * This is the default behavior when disableSearch is false.\n */\nexport const SelectFieldComboboxMode = ({\n id,\n helperUid,\n selectedOption,\n onSelectedOptionChange,\n displayAs,\n isDisabledOrReadOnly,\n disabled,\n labelAiMark,\n readOnly,\n isHighlighted,\n required,\n placeholder,\n size,\n error,\n hasHelperText,\n disableClearButton,\n prefix,\n suffix,\n label,\n hideLabel,\n hint,\n moreInfo,\n moreInfoId,\n errorMessages,\n warning,\n description,\n className,\n style,\n layoutStyles,\n pinned,\n groupToString,\n groupSorter,\n virtualize,\n options,\n loading,\n loadingMore,\n hasMore,\n loadOptions,\n loadMore,\n initialLoad,\n initialLoadPerformed,\n setInitialLoadPerformed,\n inputWrapperRef,\n debounceMs,\n addItemLabel,\n onAddNewItem,\n}: SelectFieldComboboxInternalProps) => {\n const listRef = useRef<OptionsPanelHandle>(null);\n\n const debouncedOptionLoader = useDebouncedCallback((inputValue: string) => {\n loadOptions(selectedOption?.label === inputValue ? \"\" : inputValue, {\n initial: true,\n });\n }, debounceMs);\n\n const adjustInputValueForSelectedOption = useCallback(\n (inputValue: string) => {\n return selectedOption?.label === inputValue ? \"\" : inputValue;\n },\n [selectedOption?.label],\n );\n\n const {\n isOpen,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n wrapperDivRef,\n highlightedIndex,\n getItemProps,\n inputValue,\n items,\n closeMenu,\n sectionsMeta,\n } = useCombo({\n displayAs,\n disabled: isDisabledOrReadOnly,\n options,\n pinned,\n groupToString,\n groupSorter,\n selectedOption,\n virtualize,\n onSelectedOptionChange: (opt) => onSelectedOptionChange(opt),\n async onIsOpenChange(changes) {\n if (initialLoad === \"open\" && !initialLoadPerformed && changes.isOpen) {\n await loadOptions(adjustInputValueForSelectedOption(inputValue), {\n initial: true,\n });\n setInitialLoadPerformed(true);\n }\n },\n onInputValueChange: ({ inputValue: iv }) => {\n debouncedOptionLoader(iv ?? \"\");\n },\n onScrollToHighlight: (i) => listRef.current?.scrollToIndex(i),\n });\n\n useEffect(() => {\n const performInitialLoad = async () => {\n if (initialLoad === \"immediate\" && !initialLoadPerformed) {\n await loadOptions(adjustInputValueForSelectedOption(inputValue), {\n initial: true,\n });\n setInitialLoadPerformed(true);\n }\n };\n performInitialLoad();\n }, [\n loadOptions,\n initialLoadPerformed,\n initialLoad,\n inputValue,\n adjustInputValueForSelectedOption,\n setInitialLoadPerformed,\n ]);\n\n const handleLoadMore = async () => {\n await loadMore(adjustInputValueForSelectedOption(inputValue));\n };\n\n const addNewItemButton = onAddNewItem ? (\n <AddNewItemButton\n searchText={inputValue}\n addItemLabel={addItemLabel}\n onAddNewItem={onAddNewItem}\n onCloseMenu={closeMenu}\n />\n ) : null;\n\n if (displayAs === \"dialog\") {\n return (\n <div\n className={\n className\n ? `${styles[\"search-field\"]} ${className}`\n : styles[\"search-field\"]\n }\n style={{ ...layoutStyles, ...style }}\n ref={wrapperDivRef}\n >\n <SelectFieldLabel\n aiMark={labelAiMark}\n label={label}\n hideLabel={hideLabel}\n getLabelProps={getLabelProps}\n required={required}\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n <SelectFieldInput\n disabled={disabled}\n readOnly={readOnly}\n isHighlighted={isHighlighted}\n required={required}\n disableToggleButton={false}\n placeholder={placeholder}\n disableClearButton={disableClearButton}\n toggleButtonProps={getToggleButtonProps()}\n onClear={() => onSelectedOptionChange(null)}\n id={`${id}-input`}\n inputProps={getInputProps({\n \"aria-describedby\":\n [hasHelperText && helperUid, moreInfo && moreInfoId]\n .filter(Boolean)\n .join(\" \") || undefined,\n \"aria-invalid\": error ? true : undefined,\n })}\n size={size}\n error={!!error}\n prefix={prefix}\n suffix={suffix}\n />\n {hasHelperText ? (\n <FieldMessage\n id={helperUid}\n hint={hint}\n error={errorMessages}\n warning={warning}\n description={description}\n />\n ) : null}\n <OptionsDialog\n id={`${id}-dialog`}\n isOpen={isOpen}\n onClose={closeMenu}\n title={label}\n field={\n <SelectFieldInput\n disabled={disabled}\n readOnly={readOnly}\n isHighlighted={isHighlighted}\n inputProps={getInputProps()}\n disableToggleButton\n placeholder={placeholder}\n disableClearButton={disableClearButton}\n onClear={() => onSelectedOptionChange(null)}\n id={`${id}-dialog-input`}\n inputWrapperRef={inputWrapperRef}\n size=\"medium\"\n error={!!error}\n prefix={prefix}\n suffix={suffix}\n />\n }\n initialFocusResolver={(elements) => {\n return (\n elements.find((element) => element.tagName === \"INPUT\") ||\n elements[0]\n );\n }}\n footer={addNewItemButton ?? undefined}\n >\n <SelectOptions\n ref={listRef}\n isOpen\n items={items}\n sectionsMeta={sectionsMeta}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n highlightedIndex={highlightedIndex}\n selectedOption={selectedOption}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loading={loading}\n loadingMore={loadingMore}\n disabled={isDisabledOrReadOnly}\n virtualize={virtualize}\n />\n </OptionsDialog>\n </div>\n );\n }\n\n return (\n <div\n className={\n className\n ? `${styles[\"search-field\"]} ${className}`\n : styles[\"search-field\"]\n }\n style={{ ...layoutStyles, ...style }}\n >\n <SelectFieldLabel\n aiMark={labelAiMark}\n label={label}\n hideLabel={hideLabel}\n getLabelProps={getLabelProps}\n required={required}\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n <SelectFieldInput\n disabled={disabled}\n readOnly={readOnly}\n isHighlighted={isHighlighted}\n required={required}\n inputProps={getInputProps({\n popovertarget: `${id}-popover`,\n \"aria-describedby\":\n [hasHelperText && helperUid, moreInfo && moreInfoId]\n .filter(Boolean)\n .join(\" \") || undefined,\n \"aria-invalid\": error ? true : undefined,\n })}\n toggleButtonProps={getToggleButtonProps()}\n disableToggleButton={false}\n placeholder={placeholder}\n disableClearButton={disableClearButton}\n onClear={() => onSelectedOptionChange(null)}\n id={`${id}-input`}\n inputWrapperRef={inputWrapperRef}\n size={size}\n error={!!error}\n prefix={prefix}\n suffix={suffix}\n />\n {hasHelperText ? (\n <FieldMessage\n id={helperUid}\n hint={hint}\n error={errorMessages}\n warning={warning}\n description={description}\n />\n ) : null}\n\n <OptionsPopover\n id={`${id}-popover`}\n referenceElement={inputWrapperRef}\n open={isOpen && displayAs === \"popover\"}\n onClose={closeMenu}\n width=\"reference\"\n footer={addNewItemButton ?? undefined}\n >\n <SelectOptions\n ref={listRef}\n isOpen={isOpen}\n items={items}\n sectionsMeta={sectionsMeta}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n highlightedIndex={highlightedIndex}\n selectedOption={selectedOption}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loading={loading}\n loadingMore={loadingMore}\n disabled={isDisabledOrReadOnly}\n virtualize={virtualize}\n />\n </OptionsPopover>\n </div>\n );\n};\n","import styles from \"../../../components/SelectTrigger/internal/SelectTriggerBase.module.scss\";\nimport cx from \"classnames\";\nimport { Size } from \"../../../types\";\nimport { Button } from \"../../../components/Button\";\nimport Chevron_Right from \"@servicetitan/hammer-icon/mdi/round/chevron_right.svg\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport { ReactElement, RefObject } from \"react\";\nimport { useMergeRefs } from \"../../../hooks/useMergeRefs/useMergeRefs\";\n\nexport type SelectFieldTriggerProps = {\n placeholder?: string;\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n disableClearButton?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n isHighlighted?: boolean;\n error?: boolean;\n onClear?: () => void;\n id?: string;\n popoverTarget?: string;\n inputWrapperRef?: RefObject<HTMLDivElement>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n toggleButtonProps?: Record<string, any>;\n /** The display text (selected option label or empty) */\n displayValue?: string;\n prefix?: string | ReactElement;\n suffix?: string | ReactElement;\n};\n\n/**\n * Non-searchable select trigger for SelectField when disableSearch is true.\n * Renders a div-based trigger instead of an input, suitable for the listbox ARIA pattern.\n */\nexport const SelectFieldTrigger = ({\n placeholder,\n size,\n disableClearButton,\n disabled,\n readOnly,\n isHighlighted,\n error,\n onClear,\n id,\n inputWrapperRef,\n toggleButtonProps,\n displayValue,\n prefix,\n suffix,\n popoverTarget,\n}: SelectFieldTriggerProps) => {\n const { ref: downshiftRef, ...restToggleButtonProps } =\n toggleButtonProps ?? {};\n const mergedRef = useMergeRefs([inputWrapperRef, downshiftRef]);\n\n const inputWrapperClassNames = cx(styles[\"input-wrapper\"], {\n [styles[\"small\"]]: size === \"small\",\n [styles[\"large\"]]: size === \"large\",\n [styles[\"no-clear-button\"]]: disableClearButton,\n [styles[\"disabled\"]]: disabled || readOnly,\n [styles[\"highlight\"]]: isHighlighted,\n });\n\n return (\n <div style={{ position: \"relative\" }}>\n <div\n ref={mergedRef}\n {...restToggleButtonProps}\n // @ts-expect-error: popovertarget is a valid HTML attribute\n popovertarget={popoverTarget}\n id={id}\n className={cx(inputWrapperClassNames, restToggleButtonProps?.className)}\n >\n {prefix ? <div className={styles[\"prefix\"]}>{prefix}</div> : null}\n <div\n className={cx(styles[\"input\"], {\n [styles[\"error\"]]: error,\n })}\n >\n {displayValue ? (\n <span>{displayValue}</span>\n ) : (\n <span className={styles[\"fake-placeholder\"]}>{placeholder}</span>\n )}\n </div>\n {suffix ? <div className={styles[\"suffix\"]}>{suffix}</div> : null}\n <div className={styles[\"buttons-wrapper\"]}>\n <div className={styles[\"toggle-button-wrapper\"]}>\n <Button\n icon={Chevron_Right}\n aria-label=\"toggle menu\"\n appearance=\"ghost\"\n size=\"small\"\n disabled={disabled}\n tabIndex={-1}\n className={styles[\"toggle-button\"]}\n />\n </div>\n </div>\n </div>\n {disableClearButton ? null : (\n <div\n className={styles[\"buttons-wrapper\"]}\n style={{ insetInlineEnd: \"2rem\", insetBlockStart: \"0.25rem\" }}\n >\n <div className={styles[\"close-button-wrapper\"]}>\n <Button\n icon={Close}\n aria-label=\"clear selection\"\n appearance=\"ghost\"\n size=\"small\"\n className={styles[\"close-button\"]}\n onClick={(e) => {\n e.stopPropagation();\n onClear?.();\n }}\n />\n </div>\n </div>\n )}\n </div>\n );\n};\n\nSelectFieldTrigger.displayName = \"SelectFieldTrigger\";\n","import {\n useSelect,\n UseSelectState,\n UseSelectStateChangeOptions,\n} from \"downshift\";\nimport { useDownshiftEnvironment } from \"../../../internal/hooks\";\nimport {\n SelectFieldGroupByValue,\n SelectFieldOption,\n SelectFieldPinnedOptions,\n} from \"../types\";\nimport { SelectItem } from \"../../../internal/types/selectFieldInternalTypes\";\nimport { useMemo } from \"react\";\nimport { useProcessedOptions } from \"../../../internal/hooks/useProcessedOptions\";\nimport {\n buildSelectItems,\n toSelectItem,\n} from \"../../../internal/functions/buildSelectItems\";\n\nexport type UseSelectModeOptions = {\n options: SelectFieldOption[];\n pinned?: SelectFieldPinnedOptions;\n groupToString?: (groupValue: SelectFieldGroupByValue) => string;\n groupSorter?: (\n a: SelectFieldGroupByValue,\n b: SelectFieldGroupByValue,\n ) => number;\n selectedOption: SelectFieldOption | null;\n onSelectedOptionChange: (option: SelectFieldOption | null) => void;\n onIsOpenChange?: (changes: { isOpen?: boolean }) => void;\n displayAs: \"popover\" | \"dialog\";\n disableHighlightOnOpen?: boolean;\n disabled: boolean;\n virtualize?: boolean;\n onScrollToHighlight?: (index: number) => void;\n};\n\n/**\n * Wraps downshift's useSelect for non-searchable select fields.\n * Returns a compatible interface to useCombo (minus getInputProps/inputValue).\n */\nexport const useSelectMode = ({\n options,\n pinned,\n groupToString,\n groupSorter,\n selectedOption,\n onSelectedOptionChange,\n onIsOpenChange,\n displayAs = \"popover\",\n disableHighlightOnOpen = false,\n disabled,\n virtualize = false,\n onScrollToHighlight,\n}: UseSelectModeOptions) => {\n const { pinnedSections, ungroupedItems, groupSections } = useProcessedOptions(\n {\n options,\n pinned,\n searchValue: \"\",\n groupToString,\n groupSorter,\n },\n );\n\n const { items, sectionsMeta } = useMemo(\n () =>\n buildSelectItems({\n pinnedSections,\n groupSections,\n ungroupedItems,\n }),\n [pinnedSections, groupSections, ungroupedItems],\n );\n\n const selectedDownshiftItem = useMemo(() => {\n return selectedOption ? toSelectItem(selectedOption) : null;\n }, [selectedOption]);\n\n const { ref: wrapperDivRef, environment } = useDownshiftEnvironment();\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n closeMenu,\n openMenu,\n setHighlightedIndex,\n } = useSelect({\n isItemDisabled: (item) => {\n if (!item) return false;\n return (disabled || item.disabled) ?? false;\n },\n environment,\n selectedItem: selectedDownshiftItem,\n onSelectedItemChange: ({\n selectedItem: si,\n }: {\n selectedItem: SelectItem;\n }) => {\n if (\n si &&\n (si.type === \"option\" ||\n si.type === \"pinned-option\" ||\n si.type === \"grouped-option\")\n ) {\n onSelectedOptionChange(si.original);\n } else {\n onSelectedOptionChange(null);\n }\n },\n onHighlightedIndexChange: ({ type, highlightedIndex: idx }) => {\n if (type !== useSelect.stateChangeTypes.ItemMouseMove && idx >= 0) {\n onScrollToHighlight?.(idx);\n }\n },\n onIsOpenChange: (changes) => {\n onIsOpenChange?.(changes);\n if (changes.isOpen && !disableHighlightOnOpen) {\n const selectedItemIndex = items.findIndex(\n (item) => item.original.id === selectedOption?.id,\n );\n setHighlightedIndex(selectedItemIndex);\n }\n },\n items: items,\n itemToString(item: SelectItem | null) {\n return item?.original.label ?? \"\";\n },\n stateReducer: (state, actionAndChanges) =>\n stateReducer(state, actionAndChanges, displayAs),\n ...(virtualize && { scrollIntoView: () => {} }),\n });\n\n return {\n wrapperDivRef,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps,\n highlightedIndex,\n isOpen,\n items,\n sectionsMeta,\n closeMenu,\n openMenu,\n };\n};\n\nfunction stateReducer(\n state: UseSelectState<SelectItem>,\n actionAndChanges: UseSelectStateChangeOptions<SelectItem>,\n displayAs: \"popover\" | \"dialog\",\n) {\n const { type, changes } = actionAndChanges;\n switch (type) {\n case useSelect.stateChangeTypes.ToggleButtonBlur:\n if (displayAs === \"dialog\" && state.isOpen) {\n return { ...changes, isOpen: state.isOpen };\n }\n return changes;\n case useSelect.stateChangeTypes.ToggleButtonKeyDownEscape:\n case useSelect.stateChangeTypes.FunctionCloseMenu:\n return changes;\n case useSelect.stateChangeTypes.ToggleButtonClick:\n if (displayAs === \"dialog\" && state.isOpen) {\n return { ...changes, isOpen: state.isOpen };\n }\n return changes;\n case useSelect.stateChangeTypes.ToggleButtonKeyDownEnter:\n case useSelect.stateChangeTypes.ItemClick:\n return changes;\n default:\n return changes;\n }\n}\n","import { useEffect, useRef } from \"react\";\nimport { SelectOptions } from \"../../../internal/components/SelectOptions\";\nimport { OptionsPanelHandle } from \"../../../internal/components/OptionsPanel\";\nimport { SelectFieldTrigger } from \"./SelectFieldTrigger\";\nimport { SelectFieldLabel } from \"./SelectFieldLabel\";\nimport styles from \"../../../components/SelectTrigger/internal/SelectTriggerBase.module.scss\";\nimport { useSelectMode } from \"./useSelectMode\";\nimport { OptionsPopover } from \"../../../internal/components/OptionsPopover/OptionsPopover\";\nimport { OptionsDialog } from \"../../../internal/components/OptionsDialog/OptionsDialog\";\nimport { AddNewItemButton } from \"../../../internal/components/AddNewItemButton\";\nimport { FieldMessage } from \"../../../components/FieldMessage\";\nimport { SelectFieldBaseInternalProps } from \"../../../internal/types/selectFieldInternalTypes\";\n\n/**\n * Select mode: non-searchable select using useSelect.\n * Active when disableSearch is true.\n */\nexport const SelectFieldSelectMode = ({\n labelAiMark,\n id,\n helperUid,\n selectedOption,\n onSelectedOptionChange,\n displayAs,\n isDisabledOrReadOnly,\n disabled,\n readOnly,\n isHighlighted,\n placeholder,\n size,\n error,\n hasHelperText,\n disableClearButton,\n prefix,\n suffix,\n label,\n hideLabel,\n hint,\n moreInfo,\n moreInfoId,\n errorMessages,\n warning,\n description,\n className,\n style,\n layoutStyles,\n pinned,\n groupToString,\n groupSorter,\n virtualize,\n options,\n loading,\n loadingMore,\n hasMore,\n loadOptions,\n loadMore,\n initialLoad,\n initialLoadPerformed,\n setInitialLoadPerformed,\n inputWrapperRef,\n required,\n addItemLabel,\n onAddNewItem,\n}: SelectFieldBaseInternalProps) => {\n const listRef = useRef<OptionsPanelHandle>(null);\n\n const {\n isOpen,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n wrapperDivRef,\n highlightedIndex,\n getItemProps,\n items,\n closeMenu,\n sectionsMeta,\n } = useSelectMode({\n displayAs,\n disabled: isDisabledOrReadOnly,\n options,\n pinned,\n groupToString,\n groupSorter,\n selectedOption,\n virtualize,\n onSelectedOptionChange: (opt) => onSelectedOptionChange(opt),\n async onIsOpenChange(changes) {\n if (initialLoad === \"open\" && !initialLoadPerformed && changes.isOpen) {\n await loadOptions(\"\", { initial: true });\n setInitialLoadPerformed(true);\n }\n },\n onScrollToHighlight: (i) => listRef.current?.scrollToIndex(i),\n });\n\n useEffect(() => {\n const performInitialLoad = async () => {\n if (initialLoad === \"immediate\" && !initialLoadPerformed) {\n await loadOptions(\"\", { initial: true });\n setInitialLoadPerformed(true);\n }\n };\n performInitialLoad();\n }, [loadOptions, initialLoadPerformed, initialLoad, setInitialLoadPerformed]);\n\n const handleLoadMore = async () => {\n await loadMore(\"\");\n };\n\n const addNewItemButton = onAddNewItem ? (\n <AddNewItemButton\n searchText=\"\"\n addItemLabel={addItemLabel}\n onAddNewItem={onAddNewItem}\n onCloseMenu={closeMenu}\n />\n ) : null;\n\n const toggleButtonProps = getToggleButtonProps({\n disabled: !!disabled,\n \"aria-required\": required ? true : undefined,\n \"aria-describedby\":\n [hasHelperText && helperUid, moreInfo && moreInfoId]\n .filter(Boolean)\n .join(\" \") || undefined,\n \"aria-invalid\": error ? true : undefined,\n } as Record<string, unknown>);\n\n if (displayAs === \"dialog\") {\n return (\n <div\n className={\n className\n ? `${styles[\"search-field\"]} ${className}`\n : styles[\"search-field\"]\n }\n style={{ ...layoutStyles, ...style }}\n ref={wrapperDivRef}\n >\n <SelectFieldLabel\n aiMark={labelAiMark}\n label={label}\n hideLabel={hideLabel}\n getLabelProps={getLabelProps}\n required={required}\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n <SelectFieldTrigger\n disabled={disabled}\n readOnly={readOnly}\n isHighlighted={isHighlighted}\n placeholder={placeholder}\n disableClearButton={disableClearButton}\n toggleButtonProps={toggleButtonProps}\n onClear={() => onSelectedOptionChange(null)}\n id={`${id}-trigger`}\n inputWrapperRef={inputWrapperRef}\n displayValue={selectedOption?.label}\n size={size}\n error={!!error}\n prefix={prefix}\n suffix={suffix}\n />\n {hasHelperText ? (\n <FieldMessage\n id={helperUid}\n hint={hint}\n error={errorMessages}\n warning={warning}\n description={description}\n />\n ) : null}\n <OptionsDialog\n id={`${id}-dialog`}\n isOpen={isOpen}\n onClose={closeMenu}\n title={label}\n footer={addNewItemButton ?? undefined}\n >\n <SelectOptions\n ref={listRef}\n isOpen\n items={items}\n sectionsMeta={sectionsMeta}\n getMenuProps={(opts) =>\n getMenuProps({\n ...opts,\n style: { ...opts?.style, outline: \"none\" },\n onKeyDown: toggleButtonProps.onKeyDown,\n tabIndex: 0,\n \"aria-activedescendant\":\n toggleButtonProps[\"aria-activedescendant\"],\n })\n }\n getItemProps={getItemProps}\n highlightedIndex={highlightedIndex}\n selectedOption={selectedOption}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loading={loading}\n loadingMore={loadingMore}\n disabled={isDisabledOrReadOnly}\n virtualize={virtualize}\n />\n </OptionsDialog>\n </div>\n );\n }\n\n return (\n <div\n className={\n className\n ? `${styles[\"search-field\"]} ${className}`\n : styles[\"search-field\"]\n }\n style={{ ...layoutStyles, ...style }}\n >\n <SelectFieldLabel\n aiMark={labelAiMark}\n label={label}\n hideLabel={hideLabel}\n getLabelProps={getLabelProps}\n required={required}\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n <SelectFieldTrigger\n disabled={disabled}\n readOnly={readOnly}\n isHighlighted={isHighlighted}\n placeholder={placeholder}\n disableClearButton={disableClearButton}\n toggleButtonProps={toggleButtonProps}\n onClear={() => onSelectedOptionChange(null)}\n id={`${id}-trigger`}\n popoverTarget={`${id}-popover`}\n inputWrapperRef={inputWrapperRef}\n displayValue={selectedOption?.label}\n size={size}\n error={!!error}\n prefix={prefix}\n suffix={suffix}\n />\n {hasHelperText ? (\n <FieldMessage\n id={helperUid}\n hint={hint}\n error={errorMessages}\n warning={warning}\n description={description}\n />\n ) : null}\n\n <OptionsPopover\n id={`${id}-popover`}\n referenceElement={inputWrapperRef}\n open={isOpen && displayAs === \"popover\"}\n onClose={closeMenu}\n width=\"reference\"\n footer={addNewItemButton ?? undefined}\n >\n <SelectOptions\n ref={listRef}\n isOpen={isOpen}\n items={items}\n sectionsMeta={sectionsMeta}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n highlightedIndex={highlightedIndex}\n selectedOption={selectedOption}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loading={loading}\n loadingMore={loadingMore}\n disabled={isDisabledOrReadOnly}\n virtualize={virtualize}\n />\n </OptionsPopover>\n </div>\n );\n};\n","import { SelectFieldHandle, SelectFieldProps } from \"./types\";\nimport { forwardRef, useId, useRef } from \"react\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks/useLayoutPropsUtil\";\nimport { warnDeprecatedErrorUsage } from \"../../components/FieldMessage\";\nimport { SelectFieldComboboxMode } from \"./internal/SelectFieldComboboxMode\";\nimport { SelectFieldSelectMode } from \"./internal/SelectFieldSelectMode\";\nimport {\n SelectFieldBaseInternalProps,\n SelectFieldComboboxInternalProps,\n} from \"../../internal/types/selectFieldInternalTypes\";\nimport { useSelectOrchestration } from \"../../internal/hooks/useSelectOrchestration\";\n\n/**\n * SelectField component for selecting a single option from a searchable dropdown.\n *\n * Features:\n * - Async option loading with caching, lazy pagination (page, offset, group), and debounced search\n * - Supports pinned option sections (static or dynamically loaded)\n * - Grouped options with custom sort and label functions\n * - Combobox mode (searchable) and select mode (non-searchable) via disableSearch\n * - Dialog and popover display modes with auto-detection based on viewport\n * - Imperative handle for cache management (clearCache, invalidate)\n * - Optional \"Add new item\" affordance below the option list with consumer-owned dialog\n * - Supports layout utilities for positioning and spacing\n *\n * @example\n * <SelectField\n * label=\"Technician\"\n * value={selected}\n * onSelectedOptionChange={setSelected}\n * loadOptions={async (search) => fetchTechnicians(search)}\n * />\n */\nexport const SelectField = forwardRef<SelectFieldHandle, SelectFieldProps>(\n (propsWithLayout, ref) => {\n const { layoutStyles, componentProps } =\n useLayoutPropsUtil(propsWithLayout);\n\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n\n const {\n id: idProp,\n value: selectedOption,\n initialLoad: initialLoadProp,\n displayMenuAs: displayMenuAsProp,\n lazy,\n loadOptions: loadOptionsProp,\n label,\n labelAiMark,\n hideLabel,\n placeholder,\n disableClearButton: disableClearButtonProp = false,\n debounceMs = 200,\n onSelectedOptionChange,\n cache,\n size,\n error,\n hint,\n moreInfo,\n description,\n errorAriaLive: _errorAriaLive,\n required,\n disabled,\n readOnly,\n isHighlighted,\n prefix,\n suffix,\n warning,\n className,\n style,\n pinned,\n virtualize,\n disableSearch,\n addItemLabel,\n onAddNewItem,\n } = componentProps;\n\n const groupToString =\n \"groupToString\" in componentProps\n ? componentProps.groupToString\n : undefined;\n const groupSorter =\n \"groupSorter\" in componentProps ? componentProps.groupSorter : undefined;\n\n const autoId = useId();\n const id = idProp ?? autoId;\n const helperUid = useId();\n const moreInfoUid = useId();\n\n warnDeprecatedErrorUsage(\"SelectField\", error);\n\n const errorMessages =\n typeof error === \"boolean\" || error === undefined ? undefined : error;\n const hasHelperText = !!(hint || errorMessages || warning || description);\n const isDisabledOrReadOnly = (disabled || readOnly) ?? false;\n\n const {\n displayAs,\n initialLoad,\n initialLoadPerformed,\n setInitialLoadPerformed,\n options,\n loading,\n loadingMore,\n hasMore,\n loadOptions,\n loadMore,\n } = useSelectOrchestration({\n lazy,\n loadOptions: loadOptionsProp,\n cache,\n lazyOptions:\n \"lazyOptions\" in componentProps\n ? componentProps.lazyOptions\n : undefined,\n initialLoad: initialLoadProp,\n displayMenuAs: displayMenuAsProp,\n ref,\n });\n\n const disableClearButton =\n disableClearButtonProp || !selectedOption || isDisabledOrReadOnly;\n\n const baseProps: SelectFieldBaseInternalProps = {\n id,\n helperUid,\n selectedOption,\n onSelectedOptionChange,\n displayAs,\n isDisabledOrReadOnly,\n disabled,\n readOnly,\n isHighlighted,\n required,\n placeholder,\n size,\n error,\n hasHelperText,\n disableClearButton,\n prefix,\n suffix,\n label,\n labelAiMark,\n hideLabel,\n hint,\n moreInfo,\n moreInfoId: moreInfo ? moreInfoUid : undefined,\n errorMessages,\n warning,\n description,\n className,\n style,\n layoutStyles,\n pinned,\n groupToString,\n groupSorter,\n virtualize,\n addItemLabel,\n onAddNewItem,\n options,\n loading,\n loadingMore,\n hasMore,\n loadOptions,\n loadMore,\n initialLoad,\n initialLoadPerformed,\n setInitialLoadPerformed,\n inputWrapperRef,\n };\n\n if (disableSearch) {\n return <SelectFieldSelectMode {...baseProps} />;\n }\n\n const comboboxProps: SelectFieldComboboxInternalProps = {\n ...baseProps,\n debounceMs,\n };\n\n return <SelectFieldComboboxMode {...comboboxProps} />;\n },\n);\n\nSelectField.displayName = \"SelectField\";\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { MatchSorterOptions } from \"match-sorter\";\nimport { SelectField } from \"./SelectField\";\nimport {\n SelectFieldHandle,\n SelectFieldProps,\n SelectFieldOption,\n SelectFieldGroupByValue,\n} from \"./types\";\nimport {\n SyncFilterFn,\n defaultSyncFilter,\n toSyncFilterFn,\n sortByGroup,\n} from \"../../internal/functions/syncFilterUtils\";\n\nexport type SelectFieldSyncProps = Omit<\n SelectFieldProps,\n \"loadOptions\" | \"lazy\" | \"debounceMs\" | \"cache\" | \"initialLoad\"\n> & {\n /**\n * The options to display in the select field.\n */\n options: SelectFieldOption[];\n /**\n * Controls how options are filtered and sorted when the user types a search value.\n * Can be a function that returns options in the desired display order,\n * or a MatchSorterOptions object to customize the default match-sorter behavior.\n *\n * Before any search is performed, options appear in the order they are supplied.\n * By default, options are filtered by `label` and `searchText` using match-sorter,\n * which also ranks results by match quality (best matches first).\n *\n * @example\n * <SelectFieldSync\n * options={options}\n * filter={(options, searchValue) => {\n * return options.filter((option) => {\n * return option.label?.toLowerCase().includes(searchValue.toLowerCase());\n * });\n * }}\n * />\n *\n * @example\n * <SelectFieldSync\n * options={options}\n * filter={{ keys: [\"label\"] }}\n * />\n */\n filter?: SyncFilterFn | MatchSorterOptions<SelectFieldOption>;\n /**\n * Function to compare two group values for sorting.\n * When provided, options are sorted by group using this comparator,\n * then by match-sort order within each group.\n * @param a - First group value to compare\n * @param b - Second group value to compare\n * @returns Negative if a < b, positive if a > b, zero if equal\n */\n groupSorter?: (\n a: SelectFieldGroupByValue,\n b: SelectFieldGroupByValue,\n ) => number;\n};\n\n/**\n * SelectFieldSync is a simplified version of SelectField that is used to display a list of options in a select field.\n *\n * Features:\n * - Accepts `options` instead of `loadOptions` and `lazy`.\n * - Performs client-side filtering of the options.\n * - Optionally accepts a function to filter the options, or a MatchSorterOptions object to customize the default filtering.\n * - Supports grouping with optional group sorting via `groupSorter`.\n * - Supports all the other props of SelectField.\n */\nexport const SelectFieldSync = (props: SelectFieldSyncProps) => {\n const {\n options,\n filter: filterProp = defaultSyncFilter,\n groupSorter,\n ...rest\n } = props;\n\n const filter = useMemo(() => toSyncFilterFn(filterProp), [filterProp]);\n\n const loadOptions = (searchValue: string) => {\n const filtered = filter(options, searchValue);\n return groupSorter ? sortByGroup(filtered, groupSorter) : filtered;\n };\n\n const fieldRef = useRef<SelectFieldHandle>(null);\n const prevOptionsRef = useRef(options);\n\n useEffect(() => {\n if (prevOptionsRef.current !== options) {\n prevOptionsRef.current = options;\n fieldRef.current?.invalidate();\n }\n }, [options]);\n\n return (\n <SelectField\n ref={fieldRef}\n lazy={false}\n loadOptions={loadOptions}\n debounceMs={0}\n {...rest}\n />\n );\n};\n"],"names":["Close","Chevron_Right","stateReducer","inputValue"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarButtonToggle-DsaG1BWZ.js","sources":["../src/beta/components/Toolbar/internal/ToolbarContext.tsx","../src/beta/components/Toolbar/internal/utils/accessibility.ts","../src/beta/components/Toolbar/internal/ToolbarItemWrapper.tsx","../src/beta/components/Toolbar/internal/ToolbarItemOverflowContext.tsx","../src/beta/components/Toolbar/ToolbarButtonToggle.tsx"],"sourcesContent":["import { createContext, RefObject, useContext } from \"react\";\nimport { ToolbarItemProps, ToolbarOverflowTypes, ToolbarSize } from \"../types\";\n\n/**\n * Context for sharing toolbar state with child components\n */\nexport type ToolbarContextProps = {\n /**\n * Array of toolbar items that should appear in the overflow menu\n */\n overflowItems: ToolbarItemProps[];\n /**\n * Function to add an item to the overflow menu\n */\n addItem: (element: ToolbarItemProps) => void;\n /**\n * Function to remove an item from the overflow menu\n */\n removeItem: (element: ToolbarItemProps) => void;\n /**\n * Reference to the toolbar container element\n */\n toolbarRef: RefObject<HTMLDivElement>;\n /**\n * Array of item IDs in their original order\n */\n orderedIds?: string[];\n /**\n * Overflow behavior type. Defaults to wrap behavior when omitted.\n * @default \"wrap\"\n */\n overflow?: ToolbarOverflowTypes;\n /**\n * Size of toolbar child components\n */\n size: ToolbarSize;\n};\n\n/**\n * Context for managing toolbar state including overflow and size\n */\nexport const ToolbarContext = createContext<ToolbarContextProps>({\n overflowItems: [],\n addItem: () => {\n return;\n },\n removeItem: () => {\n return;\n },\n toolbarRef: { current: null },\n orderedIds: [],\n overflow: \"wrap\",\n size: \"xsmall\",\n});\n\n/**\n * Hook to access the toolbar size from context\n * @returns The current toolbar size\n */\nexport const useToolbarSize = (): ToolbarSize =>\n useContext(ToolbarContext).size;\n","import { KeyboardEvent } from \"react\";\nimport { getKeyboardFocusableElements } from \"../../../../../internal/functions\";\n\n/**\n * Gets all visible focusable elements for a specific toolbar instance.\n * Filters out hidden items and includes the overflow trigger if present.\n */\nexport function getToolbarElements(toolbarElement: HTMLElement) {\n const toolbarContent = toolbarElement.querySelector<HTMLElement>(\n '[data-anv=\"toolbar-content\"]',\n );\n\n const mainItems = getKeyboardFocusableElements(toolbarContent).filter(\n (item) => {\n // Exclude focusables that live inside floating content (popovers,\n // dialogs, menus, drawers) or are explicitly aria-hidden. Floating\n // containers using `display: none` / the `popover` API don't propagate\n // their hidden state to descendants via `getComputedStyle`, so we have\n // to detect them structurally.\n const isHidden = !item.closest('[aria-hidden=\"true\"]');\n const isInDrawer = !item.closest('[data-anv=\"filter-group-drawer\"]');\n const isInPopover = !item.closest('[data-anv=\"popover-content\"]');\n const isInDialog = !item.closest(\"dialog\");\n const isNotInMenuContent = !item.closest('[data-anv=\"menu-content\"]');\n return (\n isHidden &&\n isInDrawer &&\n isInPopover &&\n isInDialog &&\n isNotInMenuContent\n );\n },\n );\n\n const overflowTrigger = toolbarElement.querySelector<HTMLElement>(\n '[data-anv=\"toolbar-overflow-trigger\"]',\n );\n\n return overflowTrigger ? [...mainItems, overflowTrigger] : mainItems;\n}\n\n/**\n * Updates tabindex values for all items in a toolbar.\n * Sets tabindex=\"0\" for the active item and tabindex=\"-1\" for all others.\n */\nexport function updateToolbarItemsTabIndex(\n toolbarElement: HTMLElement,\n activeItem?: Element | number,\n) {\n if (!toolbarElement) return;\n\n // Get all toolbar items\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n\n // Determine the active index - default to the first item\n let activeIndex = 0;\n\n if (typeof activeItem === \"number\") {\n // If activeItem is a number, use it directly\n activeIndex = Math.max(0, Math.min(activeItem, items.length - 1));\n } else if (activeItem instanceof Element) {\n // If activeItem is an element, find its index\n const foundIndex = items.indexOf(activeItem);\n if (foundIndex !== -1) {\n activeIndex = foundIndex;\n }\n }\n\n // Update tabindex values\n items.forEach((item, index) => {\n item.setAttribute(\"tabindex\", index === activeIndex ? \"0\" : \"-1\");\n });\n\n return items[activeIndex];\n}\n\n/**\n * Handles keyboard navigation within the toolbar component following ARIA practices.\n *\n * Navigation behavior:\n * - Left/Right arrows move focus in horizontal toolbars\n * - Up/Down arrows move focus in vertical toolbars\n * - Home/End move to first/last items\n * - Navigation wraps around at the ends\n * - Only visible items are included in navigation\n */\nexport function handleToolbarKeyDown(\n event: KeyboardEvent<HTMLElement>,\n toolbarElement: HTMLElement,\n) {\n if (!toolbarElement || event.altKey || event.ctrlKey || event.metaKey) return;\n\n const items = getToolbarElements(toolbarElement);\n if (!items.length) return;\n\n const activeElement = event.target as HTMLElement;\n if (!toolbarElement.contains(activeElement)) return;\n\n const activeItem = items.find(\n (item) =>\n item === activeElement ||\n Array.from(item.children).some((child) => child === activeElement),\n );\n\n const activeIndex = activeItem ? items.indexOf(activeItem) : -1;\n if (activeIndex === -1) return;\n\n let nextIndex = activeIndex;\n const isVertical =\n toolbarElement.getAttribute(\"aria-orientation\") === \"vertical\";\n\n switch (event.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n event.preventDefault();\n if (\n (isVertical && event.key === \"ArrowUp\") ||\n (!isVertical && event.key === \"ArrowLeft\")\n ) {\n nextIndex = activeIndex <= 0 ? items.length - 1 : activeIndex - 1;\n }\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n event.preventDefault();\n if (\n (isVertical && event.key === \"ArrowDown\") ||\n (!isVertical && event.key === \"ArrowRight\")\n ) {\n nextIndex = activeIndex >= items.length - 1 ? 0 : activeIndex + 1;\n }\n break;\n\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n\n case \"End\":\n event.preventDefault();\n nextIndex = items.length - 1;\n break;\n\n default:\n return;\n }\n\n updateToolbarItemsTabIndex(toolbarElement, nextIndex);\n (items[nextIndex] as HTMLElement)?.focus();\n}\n\n/**\n * Handles keyboard navigation within overflow menu using arrow keys\n */\nexport const handleMenuKeyboardNavigation = (\n event: KeyboardEvent<HTMLUListElement>,\n) => {\n const menuItems = Array.from(\n event.currentTarget.querySelectorAll('[role=\"menuitem\"]'),\n ).map((menuItem) => {\n // Get first focusable element or fallback to menuitem itself\n return getKeyboardFocusableElements(menuItem as HTMLElement)[0] || menuItem;\n });\n\n if (!menuItems.length) return;\n\n const currentIndex = menuItems.indexOf(document.activeElement as HTMLElement);\n if (currentIndex === -1) return;\n\n let nextIndex = currentIndex;\n const isModifierKey = event.altKey || event.ctrlKey || event.metaKey;\n\n if (isModifierKey) return;\n\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowUp\": {\n event.preventDefault();\n const direction = event.key === \"ArrowDown\" ? 1 : -1;\n nextIndex =\n (currentIndex + direction + menuItems.length) % menuItems.length;\n break;\n }\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n nextIndex = menuItems.length - 1;\n break;\n default:\n return;\n }\n\n (menuItems[nextIndex] as HTMLElement)?.focus();\n};\n","import { useContext, useEffect, useId, useRef, useCallback } from \"react\";\nimport { ToolbarItemProps } from \"../types\";\nimport { ToolbarContext } from \"./ToolbarContext\";\nimport { useIntersectionObserver } from \"../../../../internal/hooks\";\nimport { updateToolbarItemsTabIndex } from \"./utils/accessibility\";\n\nimport cx from \"classnames\";\nimport styles from \"../Toolbar.module.scss\";\n\n/**\n * Props for the ToolbarItemWrapper component\n */\nexport type ToolbarItemWrapperProps = {\n /**\n * Toolbar item configuration without ID (ID is generated internally)\n */\n item: Omit<ToolbarItemProps, \"id\">;\n /**\n * The toolbar item component to wrap\n */\n children: React.ReactNode;\n /** Optional override for the intersection observer root element */\n observerRoot?: Element | null;\n /** Optional override for visibility change handling */\n onVisibilityChange?: (isVisible: boolean) => void;\n /** Optional margin offset for the intersection observer root */\n rootMargin?: string;\n /** Optional class name to apply to the wrapper element */\n className?: string;\n};\n\n/**\n * ToolbarItemWrapper manages item visibility and focus behavior within a toolbar.\n *\n * Features:\n * - Intersection observation for overflow detection\n * - Automatic overflow menu integration in collapse mode\n * - Focus management and keyboard navigation\n * - ARIA compliance for accessibility\n * - Visibility state management\n * - Proper tab index handling\n * - Context integration with toolbar state\n *\n * @example\n * <ToolbarItemWrapper item={{ itemType: \"button\", itemProps: buttonProps }}>\n * <ToolbarButton {...buttonProps} />\n * </ToolbarItemWrapper>\n */\nexport const ToolbarItemWrapper = ({\n item,\n children,\n observerRoot,\n onVisibilityChange,\n rootMargin,\n className,\n}: ToolbarItemWrapperProps) => {\n const { addItem, removeItem, toolbarRef, overflow } =\n useContext(ToolbarContext);\n const itemId = useId();\n const elementRef = useRef<HTMLDivElement | null>(null);\n const isCollapseMode = overflow === \"collapse\";\n const prevIntersectingRef = useRef<boolean>(true); // Start as visible\n\n /**\n * Handles visibility changes from intersection observer in collapse mode\n * In collapse mode:\n * - When item becomes visible, removes it from overflow menu\n * - When item becomes hidden, adds it to overflow menu\n */\n const handleVisibilityChange = useCallback(\n (isVisible: boolean) => {\n if (!isCollapseMode || prevIntersectingRef.current === isVisible) return;\n\n if (onVisibilityChange) {\n onVisibilityChange(isVisible);\n } else if (item) {\n const itemWithId = { ...item, id: itemId };\n if (isVisible) {\n removeItem(itemWithId);\n } else {\n addItem(itemWithId);\n }\n }\n prevIntersectingRef.current = isVisible;\n },\n [isCollapseMode, onVisibilityChange, item, itemId, addItem, removeItem],\n );\n\n const { isIntersecting, ref } = useIntersectionObserver({\n root: isCollapseMode ? (observerRoot ?? toolbarRef.current) : null,\n threshold: 1,\n initialIsIntersecting: true, // Start as visible\n onChange: handleVisibilityChange,\n rootMargin,\n });\n\n const setRefCallback = useCallback(\n (node: HTMLDivElement | null) => {\n elementRef.current = node;\n // Only set up intersection observer in collapse mode\n if (isCollapseMode) {\n ref(node);\n }\n },\n [ref, isCollapseMode],\n );\n\n /**\n * Manages focus behavior between toolbar items using accessibility utils\n * - Uses updateToolbarItemsTabIndex to manage focus state\n * - Ensures proper keyboard navigation support\n * - Maintains ARIA compliance for focus management\n */\n const handleFocusOrClick = useCallback(() => {\n if (!toolbarRef.current || !elementRef.current) return;\n\n const currentElement = elementRef.current.querySelector(\"button, a, input\");\n if (!currentElement) return;\n\n updateToolbarItemsTabIndex(toolbarRef.current, currentElement);\n }, [toolbarRef]);\n\n // Set up focus management\n useEffect(() => {\n const interactiveEl = elementRef.current?.querySelector(\"button, a, input\");\n if (!interactiveEl) return;\n\n interactiveEl.addEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.addEventListener(\"click\", handleFocusOrClick);\n\n return () => {\n interactiveEl.removeEventListener(\"focus\", handleFocusOrClick);\n interactiveEl.removeEventListener(\"click\", handleFocusOrClick);\n };\n }, [handleFocusOrClick]);\n\n const toolbarItemClassName = cx(styles[\"toolbar-item\"], className);\n const isHidden = isCollapseMode && !isIntersecting;\n\n return (\n <div\n ref={setRefCallback}\n className={toolbarItemClassName}\n style={{ visibility: isHidden ? \"hidden\" : \"visible\" }}\n aria-hidden={isHidden}\n {...{ inert: isHidden ? \"\" : undefined }}\n data-id={itemId}\n data-anv=\"toolbar-item\"\n >\n {children}\n </div>\n );\n};\n","import { createContext, useContext } from \"react\";\n\n/**\n * Context for denoting if the current item is rendered in the overflow menu\n */\ntype OverflowItemContextType = {\n /**\n * Whether the current item is rendered inside the overflow menu\n */\n isInOverflowMenu: boolean;\n};\n\n/**\n * Context for managing overflow menu state\n */\nexport const OverflowItemContext = createContext<OverflowItemContextType>({\n isInOverflowMenu: false,\n});\n\n/**\n * Hook for accessing overflow menu context\n * @returns OverflowItemContextType - The overflow menu context\n */\nexport const useOverFlowItemContext = () => useContext(OverflowItemContext);\n","import { forwardRef } from \"react\";\nimport ButtonToggle, {\n ButtonToggleProps,\n} from \"../../../components/ButtonToggle\";\nimport { WithAriaLabelEnforcement } from \"./types\";\nimport { DataTrackingId } from \"../../../types\";\nimport { useOverFlowItemContext } from \"./internal/ToolbarItemOverflowContext\";\nimport Tooltip from \"../../../components/Tooltip\";\nimport { ToolbarItemWrapper } from \"./internal/ToolbarItemWrapper\";\nimport { useTrackingId } from \"../../../hooks\";\nimport { useToolbarSize } from \"./internal/ToolbarContext\";\n\nimport cx from \"classnames\";\nimport styles from \"./Toolbar.module.scss\";\n\n/**\n * Base props for the ToolbarButtonToggle component\n * @extends Omit<ButtonToggleProps, \"aria-label\" | \"children\">\n */\ntype ToolbarButtonToggleBaseProps = Omit<\n ButtonToggleProps,\n \"aria-label\" | \"children\"\n> & {\n /**\n * Is this toolbar control a filter?\n */\n isFilter?: boolean;\n};\n\n/**\n * Props for the ToolbarButtonToggle component\n * @extends WithAriaLabelEnforcement<ToolbarButtonToggleBaseProps>\n */\nexport type ToolbarButtonToggleProps =\n WithAriaLabelEnforcement<ToolbarButtonToggleBaseProps> & DataTrackingId;\n\n/**\n * ToolbarButtonToggle component for toggleable actions within a toolbar.\n *\n * Features:\n * - Toggle state management (on/off)\n * - Designed specifically for toolbar integration\n * - Consistent styling with other toolbar items\n * - Automatic tooltip for icon-only toggles\n * - Overflow menu support\n * - Accessibility enforcement for aria-labels\n * - Visual feedback for toggle state\n * - Proper ARIA attributes for toggle semantics\n *\n * @example\n * <ToolbarButtonToggle icon={BoldIcon} aria-label=\"Bold\" checked={isBold} />\n *\n * @example\n * <ToolbarButtonToggle checked={isItalic}>\n * Italic\n * </ToolbarButtonToggle>\n */\nexport const ToolbarButtonToggle = forwardRef<\n HTMLButtonElement,\n ToolbarButtonToggleProps\n>((props, _ref) => {\n const { className, children, isFilter, ...rest } = props;\n\n // Checks if this component is rendered inside the overflow menu and fallbacks when the context is unavailable\n const { isInOverflowMenu = false } = useOverFlowItemContext?.() || {};\n const size = useToolbarSize();\n\n const trackingId = useTrackingId({\n name: \"ToolbarButtonToggle\",\n data: {\n checked: props.checked,\n disabled: props.disabled,\n \"aria-label\": props[\"aria-label\"],\n children: props.children,\n },\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const buttonToggleClassNames = cx(\n className,\n styles[\"toolbar-button-item\"],\n styles[\"toolbar-button-toggle-item\"],\n );\n\n const item = children ? (\n <ButtonToggle\n data-tracking-id={trackingId}\n size={size}\n data-anv=\"toolbar-button-toggle\"\n className={buttonToggleClassNames}\n {...rest}\n >\n {children}\n </ButtonToggle>\n ) : (\n <Tooltip>\n <Tooltip.Trigger>\n <ButtonToggle\n data-tracking-id={trackingId}\n size={size}\n data-anv=\"toolbar-button-toggle\"\n className={buttonToggleClassNames}\n {...rest}\n />\n </Tooltip.Trigger>\n <Tooltip.Content>{rest[\"aria-label\"]}</Tooltip.Content>\n </Tooltip>\n );\n\n if (isInOverflowMenu || isFilter) {\n return item;\n }\n\n return (\n <ToolbarItemWrapper item={{ itemProps: props, itemType: \"buttonToggle\" }}>\n {item}\n </ToolbarItemWrapper>\n );\n});\n\nToolbarButtonToggle.displayName = \"ToolbarButtonToggle\";\n"],"names":[],"mappings":";;;;;;;;;AAyCO,MAAM,iBAAiB,aAAA,CAAmC;AAAA,EAC/D,eAAe,EAAC;AAAA,EAChB,SAAS,MAAM;AACb,IAAA;AAAA,EACF,CAAA;AAAA,EACA,YAAY,MAAM;AAChB,IAAA;AAAA,EACF,CAAA;AAAA,EACA,UAAA,EAAY,EAAE,OAAA,EAAS,IAAA,EAAK;AAAA,EAC5B,YAAY,EAAC;AAAA,EACb,QAAA,EAAU,MAAA;AAAA,EACV,IAAA,EAAM;AACR,CAAC;AAMM,MAAM,cAAA,GAAiB,MAC5B,UAAA,CAAW,cAAc,CAAA,CAAE;;ACrDtB,SAAS,mBAAmB,cAAA,EAA6B;AAC9D,EAAA,MAAM,iBAAiB,cAAA,CAAe,aAAA;AAAA,IACpC;AAAA,GACF;AAEA,EAAA,MAAM,SAAA,GAAY,4BAAA,CAA6B,cAAc,CAAA,CAAE,MAAA;AAAA,IAC7D,CAAC,IAAA,KAAS;AAMR,MAAA,MAAM,QAAA,GAAW,CAAC,IAAA,CAAK,OAAA,CAAQ,sBAAsB,CAAA;AACrD,MAAA,MAAM,UAAA,GAAa,CAAC,IAAA,CAAK,OAAA,CAAQ,kCAAkC,CAAA;AACnE,MAAA,MAAM,WAAA,GAAc,CAAC,IAAA,CAAK,OAAA,CAAQ,8BAA8B,CAAA;AAChE,MAAA,MAAM,UAAA,GAAa,CAAC,IAAA,CAAK,OAAA,CAAQ,QAAQ,CAAA;AACzC,MAAA,MAAM,kBAAA,GAAqB,CAAC,IAAA,CAAK,OAAA,CAAQ,2BAA2B,CAAA;AACpE,MAAA,OACE,QAAA,IACA,UAAA,IACA,WAAA,IACA,UAAA,IACA,kBAAA;AAAA,IAEJ;AAAA,GACF;AAEA,EAAA,MAAM,kBAAkB,cAAA,CAAe,aAAA;AAAA,IACrC;AAAA,GACF;AAEA,EAAA,OAAO,eAAA,GAAkB,CAAC,GAAG,SAAA,EAAW,eAAe,CAAA,GAAI,SAAA;AAC7D;AAMO,SAAS,0BAAA,CACd,gBACA,UAAA,EACA;AACA,EAAA,IAAI,CAAC,cAAA,EAAgB;AAGrB,EAAA,MAAM,KAAA,GAAQ,mBAAmB,cAAc,CAAA;AAC/C,EAAA,IAAI,CAAC,MAAM,MAAA,EAAQ;AAGnB,EAAA,IAAI,WAAA,GAAc,CAAA;AAElB,EAAA,IAAI,OAAO,eAAe,QAAA,EAAU;AAElC,IAAA,WAAA,GAAc,IAAA,CAAK,IAAI,CAAA,EAAG,IAAA,CAAK,IAAI,UAAA,EAAY,KAAA,CAAM,MAAA,GAAS,CAAC,CAAC,CAAA;AAAA,EAClE,CAAA,MAAA,IAAW,sBAAsB,OAAA,EAAS;AAExC,IAAA,MAAM,UAAA,GAAa,KAAA,CAAM,OAAA,CAAQ,UAAU,CAAA;AAC3C,IAAA,IAAI,eAAe,EAAA,EAAI;AACrB,MAAA,WAAA,GAAc,UAAA;AAAA,IAChB;AAAA,EACF;AAGA,EAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,IAAA,EAAM,KAAA,KAAU;AAC7B,IAAA,IAAA,CAAK,YAAA,CAAa,UAAA,EAAY,KAAA,KAAU,WAAA,GAAc,MAAM,IAAI,CAAA;AAAA,EAClE,CAAC,CAAA;AAED,EAAA,OAAO,MAAM,WAAW,CAAA;AAC1B;AAYO,SAAS,oBAAA,CACd,OACA,cAAA,EACA;AACA,EAAA,IAAI,CAAC,cAAA,IAAkB,KAAA,CAAM,UAAU,KAAA,CAAM,OAAA,IAAW,MAAM,OAAA,EAAS;AAEvE,EAAA,MAAM,KAAA,GAAQ,mBAAmB,cAAc,CAAA;AAC/C,EAAA,IAAI,CAAC,MAAM,MAAA,EAAQ;AAEnB,EAAA,MAAM,gBAAgB,KAAA,CAAM,MAAA;AAC5B,EAAA,IAAI,CAAC,cAAA,CAAe,QAAA,CAAS,aAAa,CAAA,EAAG;AAE7C,EAAA,MAAM,aAAa,KAAA,CAAM,IAAA;AAAA,IACvB,CAAC,IAAA,KACC,IAAA,KAAS,aAAA,IACT,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,QAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,KAAA,KAAU,UAAU,aAAa;AAAA,GACrE;AAEA,EAAA,MAAM,WAAA,GAAc,UAAA,GAAa,KAAA,CAAM,OAAA,CAAQ,UAAU,CAAA,GAAI,EAAA;AAC7D,EAAA,IAAI,gBAAgB,EAAA,EAAI;AAExB,EAAA,IAAI,SAAA,GAAY,WAAA;AAChB,EAAA,MAAM,UAAA,GACJ,cAAA,CAAe,YAAA,CAAa,kBAAkB,CAAA,KAAM,UAAA;AAEtD,EAAA,QAAQ,MAAM,GAAA;AAAK,IACjB,KAAK,WAAA;AAAA,IACL,KAAK,SAAA;AACH,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,IACG,UAAA,IAAc,MAAM,GAAA,KAAQ,SAAA,IAC5B,CAAC,UAAA,IAAc,KAAA,CAAM,QAAQ,WAAA,EAC9B;AACA,QAAA,SAAA,GAAY,WAAA,IAAe,CAAA,GAAI,KAAA,CAAM,MAAA,GAAS,IAAI,WAAA,GAAc,CAAA;AAAA,MAClE;AACA,MAAA;AAAA,IAEF,KAAK,YAAA;AAAA,IACL,KAAK,WAAA;AACH,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,IACG,UAAA,IAAc,MAAM,GAAA,KAAQ,WAAA,IAC5B,CAAC,UAAA,IAAc,KAAA,CAAM,QAAQ,YAAA,EAC9B;AACA,QAAA,SAAA,GAAY,WAAA,IAAe,KAAA,CAAM,MAAA,GAAS,CAAA,GAAI,IAAI,WAAA,GAAc,CAAA;AAAA,MAClE;AACA,MAAA;AAAA,IAEF,KAAK,MAAA;AACH,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,SAAA,GAAY,CAAA;AACZ,MAAA;AAAA,IAEF,KAAK,KAAA;AACH,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,SAAA,GAAY,MAAM,MAAA,GAAS,CAAA;AAC3B,MAAA;AAAA,IAEF;AACE,MAAA;AAAA;AAGJ,EAAA,0BAAA,CAA2B,gBAAgB,SAAS,CAAA;AACpD,EAAC,KAAA,CAAM,SAAS,CAAA,EAAmB,KAAA,EAAM;AAC3C;AAKO,MAAM,4BAAA,GAA+B,CAC1C,KAAA,KACG;AACH,EAAA,MAAM,YAAY,KAAA,CAAM,IAAA;AAAA,IACtB,KAAA,CAAM,aAAA,CAAc,gBAAA,CAAiB,mBAAmB;AAAA,GAC1D,CAAE,GAAA,CAAI,CAAC,QAAA,KAAa;AAElB,IAAA,OAAO,4BAAA,CAA6B,QAAuB,CAAA,CAAE,CAAC,CAAA,IAAK,QAAA;AAAA,EACrE,CAAC,CAAA;AAED,EAAA,IAAI,CAAC,UAAU,MAAA,EAAQ;AAEvB,EAAA,MAAM,YAAA,GAAe,SAAA,CAAU,OAAA,CAAQ,QAAA,CAAS,aAA4B,CAAA;AAC5E,EAAA,IAAI,iBAAiB,EAAA,EAAI;AAEzB,EAAA,IAAI,SAAA,GAAY,YAAA;AAChB,EAAA,MAAM,aAAA,GAAgB,KAAA,CAAM,MAAA,IAAU,KAAA,CAAM,WAAW,KAAA,CAAM,OAAA;AAE7D,EAAA,IAAI,aAAA,EAAe;AAEnB,EAAA,QAAQ,MAAM,GAAA;AAAK,IACjB,KAAK,WAAA;AAAA,IACL,KAAK,SAAA,EAAW;AACd,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,MAAM,SAAA,GAAY,KAAA,CAAM,GAAA,KAAQ,WAAA,GAAc,CAAA,GAAI,EAAA;AAClD,MAAA,SAAA,GAAA,CACG,YAAA,GAAe,SAAA,GAAY,SAAA,CAAU,MAAA,IAAU,SAAA,CAAU,MAAA;AAC5D,MAAA;AAAA,IACF;AAAA,IACA,KAAK,MAAA;AACH,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,SAAA,GAAY,CAAA;AACZ,MAAA;AAAA,IACF,KAAK,KAAA;AACH,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,SAAA,GAAY,UAAU,MAAA,GAAS,CAAA;AAC/B,MAAA;AAAA,IACF;AACE,MAAA;AAAA;AAGJ,EAAC,SAAA,CAAU,SAAS,CAAA,EAAmB,KAAA,EAAM;AAC/C;;;;;;;;;;;;;;;ACtJO,MAAM,qBAAqB,CAAC;AAAA,EACjC,IAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,kBAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,KAA+B;AAC7B,EAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAY,YAAY,QAAA,EAAS,GAChD,WAAW,cAAc,CAAA;AAC3B,EAAA,MAAM,SAAS,KAAA,EAAM;AACrB,EAAA,MAAM,UAAA,GAAa,OAA8B,IAAI,CAAA;AACrD,EAAA,MAAM,iBAAiB,QAAA,KAAa,UAAA;AACpC,EAAA,MAAM,mBAAA,GAAsB,OAAgB,IAAI,CAAA;AAQhD,EAAA,MAAM,sBAAA,GAAyB,WAAA;AAAA,IAC7B,CAAC,SAAA,KAAuB;AACtB,MAAA,IAAI,CAAC,cAAA,IAAkB,mBAAA,CAAoB,OAAA,KAAY,SAAA,EAAW;AAElE,MAAA,IAAI,kBAAA,EAAoB;AACtB,QAAA,kBAAA,CAAmB,SAAS,CAAA;AAAA,MAC9B,WAAW,IAAA,EAAM;AACf,QAAA,MAAM,UAAA,GAAa,EAAE,GAAG,IAAA,EAAM,IAAI,MAAA,EAAO;AACzC,QAAA,IAAI,SAAA,EAAW;AACb,UAAA,UAAA,CAAW,UAAU,CAAA;AAAA,QACvB,CAAA,MAAO;AACL,UAAA,OAAA,CAAQ,UAAU,CAAA;AAAA,QACpB;AAAA,MACF;AACA,MAAA,mBAAA,CAAoB,OAAA,GAAU,SAAA;AAAA,IAChC,CAAA;AAAA,IACA,CAAC,cAAA,EAAgB,kBAAA,EAAoB,IAAA,EAAM,MAAA,EAAQ,SAAS,UAAU;AAAA,GACxE;AAEA,EAAA,MAAM,EAAE,cAAA,EAAgB,GAAA,EAAI,GAAI,uBAAA,CAAwB;AAAA,IACtD,IAAA,EAAM,cAAA,GAAkB,YAAA,IAAgB,UAAA,CAAW,OAAA,GAAW,IAAA;AAAA,IAC9D,SAAA,EAAW,CAAA;AAAA,IACX,qBAAA,EAAuB,IAAA;AAAA;AAAA,IACvB,QAAA,EAAU,sBAAA;AAAA,IACV;AAAA,GACD,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,WAAA;AAAA,IACrB,CAAC,IAAA,KAAgC;AAC/B,MAAA,UAAA,CAAW,OAAA,GAAU,IAAA;AAErB,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,GAAA,CAAI,IAAI,CAAA;AAAA,MACV;AAAA,IACF,CAAA;AAAA,IACA,CAAC,KAAK,cAAc;AAAA,GACtB;AAQA,EAAA,MAAM,kBAAA,GAAqB,YAAY,MAAM;AAC3C,IAAA,IAAI,CAAC,UAAA,CAAW,OAAA,IAAW,CAAC,WAAW,OAAA,EAAS;AAEhD,IAAA,MAAM,cAAA,GAAiB,UAAA,CAAW,OAAA,CAAQ,aAAA,CAAc,kBAAkB,CAAA;AAC1E,IAAA,IAAI,CAAC,cAAA,EAAgB;AAErB,IAAA,0BAAA,CAA2B,UAAA,CAAW,SAAS,cAAc,CAAA;AAAA,EAC/D,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAGf,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,aAAA,GAAgB,UAAA,CAAW,OAAA,EAAS,aAAA,CAAc,kBAAkB,CAAA;AAC1E,IAAA,IAAI,CAAC,aAAA,EAAe;AAEpB,IAAA,aAAA,CAAc,gBAAA,CAAiB,SAAS,kBAAkB,CAAA;AAC1D,IAAA,aAAA,CAAc,gBAAA,CAAiB,SAAS,kBAAkB,CAAA;AAE1D,IAAA,OAAO,MAAM;AACX,MAAA,aAAA,CAAc,mBAAA,CAAoB,SAAS,kBAAkB,CAAA;AAC7D,MAAA,aAAA,CAAc,mBAAA,CAAoB,SAAS,kBAAkB,CAAA;AAAA,IAC/D,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAEvB,EAAA,MAAM,oBAAA,GAAuB,EAAA,CAAG,MAAA,CAAO,cAAc,GAAG,SAAS,CAAA;AACjE,EAAA,MAAM,QAAA,GAAW,kBAAkB,CAAC,cAAA;AAEpC,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,cAAA;AAAA,MACL,SAAA,EAAW,oBAAA;AAAA,MACX,KAAA,EAAO,EAAE,UAAA,EAAY,QAAA,GAAW,WAAW,SAAA,EAAU;AAAA,MACrD,aAAA,EAAa,QAAA;AAAA,MACZ,GAAG,EAAE,KAAA,EAAO,QAAA,GAAW,KAAK,MAAA,EAAU;AAAA,MACvC,SAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAS,cAAA;AAAA,MAER;AAAA;AAAA,GACH;AAEJ;;ACzIO,MAAM,sBAAsB,aAAA,CAAuC;AAAA,EACxE,gBAAA,EAAkB;AACpB,CAAC;AAMM,MAAM,sBAAA,GAAyB,MAAM,UAAA,CAAW,mBAAmB;;ACkCnE,MAAM,mBAAA,GAAsB,UAAA,CAGjC,CAAC,KAAA,EAAO,IAAA,KAAS;AACjB,EAAA,MAAM,EAAE,SAAA,EAAW,QAAA,EAAU,QAAA,EAAU,GAAG,MAAK,GAAI,KAAA;AAGnD,EAAA,MAAM,EAAE,gBAAA,GAAmB,KAAA,EAAM,GAAI,sBAAA,QAA8B,EAAC;AACpE,EAAA,MAAM,OAAO,cAAA,EAAe;AAE5B,EAAA,MAAM,aAAa,aAAA,CAAc;AAAA,IAC/B,IAAA,EAAM,qBAAA;AAAA,IACN,IAAA,EAAM;AAAA,MACJ,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,YAAA,EAAc,MAAM,YAAY,CAAA;AAAA,MAChC,UAAU,KAAA,CAAM;AAAA,KAClB;AAAA,IACA,WAAA,EAAa,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,GACxC,CAAA;AAED,EAAA,MAAM,sBAAA,GAAyB,EAAA;AAAA,IAC7B,SAAA;AAAA,IACA,OAAO,qBAAqB,CAAA;AAAA,IAC5B,OAAO,4BAA4B;AAAA,GACrC;AAEA,EAAA,MAAM,OAAO,QAAA,mBACX,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,kBAAA,EAAkB,UAAA;AAAA,MAClB,IAAA;AAAA,MACA,UAAA,EAAS,uBAAA;AAAA,MACT,SAAA,EAAW,sBAAA;AAAA,MACV,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH,wBAEC,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,OAAA,CAAQ,SAAR,EACC,QAAA,kBAAA,GAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,kBAAA,EAAkB,UAAA;AAAA,QAClB,IAAA;AAAA,QACA,UAAA,EAAS,uBAAA;AAAA,QACT,SAAA,EAAW,sBAAA;AAAA,QACV,GAAG;AAAA;AAAA,KACN,EACF,CAAA;AAAA,wBACC,OAAA,CAAQ,OAAA,EAAR,EAAiB,QAAA,EAAA,IAAA,CAAK,YAAY,CAAA,EAAE;AAAA,GAAA,EACvC,CAAA;AAGF,EAAA,IAAI,oBAAoB,QAAA,EAAU;AAChC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,GAAA,CAAC,sBAAmB,IAAA,EAAM,EAAE,WAAW,KAAA,EAAO,QAAA,EAAU,cAAA,EAAe,EACpE,QAAA,EAAA,IAAA,EACH,CAAA;AAEJ,CAAC;AAED,mBAAA,CAAoB,WAAA,GAAc,qBAAA;;;;"}
|
package/dist/a2-border.css
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
.anvil2 .a2-border-color-danger {border-color: var(--a2-border-color-danger, var(--a2-color-red-600, #d62100))}
|
|
2
|
-
.anvil2 .a2-border-color-default {border-color: var(--a2-border-color-default, var(--a2-color-neutral-400, #8b8b8b))}
|
|
3
|
-
.anvil2 .a2-border-color-primary {border-color: var(--a2-border-color-primary, var(--a2-color-blue-600, #0265dc))}
|
|
4
|
-
.anvil2 .a2-border-color-strong {border-color: var(--a2-border-color-strong, var(--a2-color-neutral-700, #404040))}
|
|
5
|
-
.anvil2 .a2-border-color-subdued {border-color: var(--a2-border-color-subdued, var(--a2-color-neutral-80, #e6e6e6))}
|
|
6
|
-
.anvil2 .a2-border-color-success {border-color: var(--a2-border-color-success, var(--a2-color-green-600, #077e50))}
|
|
7
|
-
.anvil2 .a2-border-color-warning {border-color: var(--a2-border-color-warning, var(--a2-color-yellow-700, #c98600))}
|
|
8
|
-
.anvil2 .a2-border-radius-circular {border-radius: var(--a2-border-radius-circular, 100%)}
|
|
9
|
-
.anvil2 .a2-border-radius-large {border-radius: var(--a2-border-radius-large, var(--a2-radius-4, 0.75rem))}
|
|
10
|
-
.anvil2 .a2-border-radius-medium {border-radius: var(--a2-border-radius-medium, var(--a2-radius-2, 0.375rem))}
|
|
11
|
-
.anvil2 .a2-border-radius-none {border-radius: var(--a2-border-radius-none, var(--a2-radius-0, 0rem))}
|
|
12
|
-
.anvil2 .a2-border-radius-small {border-radius: var(--a2-border-radius-small, var(--a2-radius-1, 0.1875rem))}
|
|
13
|
-
.anvil2 .a2-border-radius-xlarge {border-radius: var(--a2-border-radius-xlarge, var(--a2-radius-8, 1.5rem))}
|
|
14
|
-
.anvil2 .a2-border-width-default {border-width: var(--a2-border-width-default, var(--a2-size-quarter, 0.0625rem))}
|
|
15
|
-
.anvil2 .a2-border-width-none {border-width: var(--a2-border-width-none, var(--a2-size-0, 0rem))}
|
|
16
|
-
.anvil2 .a2-border-width-strong {border-width: var(--a2-border-width-strong, var(--a2-size-half, 0.125rem))}
|
|
17
|
-
@supports (color: light-dark(#fff, #000)) {
|
|
18
|
-
.anvil2 .a2-border-color-danger {border-color: var(--a2-border-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-200, #ffac9e)))}
|
|
19
|
-
.anvil2 .a2-border-color-default {border-color: var(--a2-border-color-default, light-dark(var(--a2-color-neutral-400, #8b8b8b), var(--a2-color-neutral-600, #545454)))}
|
|
20
|
-
.anvil2 .a2-border-color-primary {border-color: var(--a2-border-color-primary, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-200, #9ecaff)))}
|
|
21
|
-
.anvil2 .a2-border-color-strong {border-color: var(--a2-border-color-strong, light-dark(var(--a2-color-neutral-700, #404040), var(--a2-color-neutral-80, #e6e6e6)))}
|
|
22
|
-
.anvil2 .a2-border-color-subdued {border-color: var(--a2-border-color-subdued, light-dark(var(--a2-color-neutral-80, #e6e6e6), var(--a2-color-neutral-700, #404040)))}
|
|
23
|
-
.anvil2 .a2-border-color-success {border-color: var(--a2-border-color-success, light-dark(var(--a2-color-green-600, #077e50), var(--a2-color-green-200, #70ebbc)))}
|
|
24
|
-
.anvil2 .a2-border-color-warning {border-color: var(--a2-border-color-warning, light-dark(var(--a2-color-yellow-700, #c98600), var(--a2-color-yellow-200, #fff0b1)))}
|
|
25
|
-
}
|
package/dist/a2-color.css
DELETED
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
.anvil2 .a2-bg-danger {background-color: var(--a2-background-color-danger, var(--a2-status-color-danger, var(--a2-color-red-600, #d62100)))}
|
|
2
|
-
.anvil2 .a2-bg-danger-active {background-color: var(--a2-background-color-danger-active, var(--a2-color-red-800, #731100))}
|
|
3
|
-
.anvil2 .a2-bg-danger-faint {background-color: var(--a2-background-color-danger-faint, var(--a2-color-red-10, #fffbfa))}
|
|
4
|
-
.anvil2 .a2-bg-danger-faint-active {background-color: var(--a2-background-color-danger-faint-active, var(--a2-color-red-100, #ffd4cc))}
|
|
5
|
-
.anvil2 .a2-bg-danger-faint-hover {background-color: var(--a2-background-color-danger-faint-hover, var(--a2-color-red-50, #ffe9e5))}
|
|
6
|
-
.anvil2 .a2-bg-danger-hover {background-color: var(--a2-background-color-danger-hover, var(--a2-color-red-700, #a31900))}
|
|
7
|
-
.anvil2 .a2-bg-danger-subdued {background-color: var(--a2-background-color-danger-subdued, var(--a2-color-red-50, #ffe9e5))}
|
|
8
|
-
.anvil2 .a2-bg-danger-subdued-active {background-color: var(--a2-background-color-danger-subdued-active, var(--a2-color-red-200, #ffac9e))}
|
|
9
|
-
.anvil2 .a2-bg-danger-subdued-hover {background-color: var(--a2-background-color-danger-subdued-hover, var(--a2-color-red-100, #ffd4cc))}
|
|
10
|
-
.anvil2 .a2-bg-default {background-color: var(--a2-background-color-default, var(--a2-color-neutral-0, #ffffff))}
|
|
11
|
-
.anvil2 .a2-bg-default-active {background-color: var(--a2-background-color-default-active, var(--a2-color-neutral-40, #f1f1f1))}
|
|
12
|
-
.anvil2 .a2-bg-default-hover {background-color: var(--a2-background-color-default-hover, var(--a2-color-neutral-20, #f9f9f9))}
|
|
13
|
-
.anvil2 .a2-bg-disabled {background-color: var(--a2-background-color-disabled, var(--a2-color-neutral-600, #545454))}
|
|
14
|
-
.anvil2 .a2-bg-inverted {background-color: var(--a2-background-color-inverted, var(--a2-color-neutral-800, #292929))}
|
|
15
|
-
.anvil2 .a2-bg-inverted-active {background-color: var(--a2-background-color-inverted-active, var(--a2-color-neutral-800, #292929))}
|
|
16
|
-
.anvil2 .a2-bg-inverted-hover {background-color: var(--a2-background-color-inverted-hover, var(--a2-color-neutral-800, #292929))}
|
|
17
|
-
.anvil2 .a2-bg-inverted-strong {background-color: var(--a2-background-color-inverted-strong, var(--a2-color-neutral-900, #1a1a1a))}
|
|
18
|
-
.anvil2 .a2-bg-inverted-strong-active {background-color: var(--a2-background-color-inverted-strong-active, var(--a2-color-neutral-900, #1a1a1a))}
|
|
19
|
-
.anvil2 .a2-bg-inverted-strong-hover {background-color: var(--a2-background-color-inverted-strong-hover, var(--a2-color-neutral-900, #1a1a1a))}
|
|
20
|
-
.anvil2 .a2-bg-primary {background-color: var(--a2-background-color-primary, var(--a2-status-color-info, var(--a2-color-blue-600, #0265dc)))}
|
|
21
|
-
.anvil2 .a2-bg-primary-active {background-color: var(--a2-background-color-primary-active, var(--a2-color-blue-800, #003472))}
|
|
22
|
-
.anvil2 .a2-bg-primary-faint {background-color: var(--a2-background-color-primary-faint, var(--a2-color-blue-10, #fafcff))}
|
|
23
|
-
.anvil2 .a2-bg-primary-faint-active {background-color: var(--a2-background-color-primary-faint-active, var(--a2-color-blue-100, #cce3ff))}
|
|
24
|
-
.anvil2 .a2-bg-primary-faint-hover {background-color: var(--a2-background-color-primary-faint-hover, var(--a2-color-blue-50, #e6f1ff))}
|
|
25
|
-
.anvil2 .a2-bg-primary-hover {background-color: var(--a2-background-color-primary-hover, var(--a2-color-blue-700, #1d4ca3))}
|
|
26
|
-
.anvil2 .a2-bg-primary-subdued {background-color: var(--a2-background-color-primary-subdued, var(--a2-color-blue-50, #e6f1ff))}
|
|
27
|
-
.anvil2 .a2-bg-primary-subdued-active {background-color: var(--a2-background-color-primary-subdued-active, var(--a2-color-blue-200, #9ecaff))}
|
|
28
|
-
.anvil2 .a2-bg-primary-subdued-hover {background-color: var(--a2-background-color-primary-subdued-hover, var(--a2-color-blue-100, #cce3ff))}
|
|
29
|
-
.anvil2 .a2-bg-secondary {background-color: var(--a2-background-color-secondary, color-mix(in srgb, var(--a2-color-neutral-950, #040404) 6%, transparent))}
|
|
30
|
-
.anvil2 .a2-bg-secondary-active {background-color: var(--a2-background-color-secondary-active, color-mix(in srgb, var(--a2-color-neutral-950, #040404) 16%, transparent))}
|
|
31
|
-
.anvil2 .a2-bg-secondary-hover {background-color: var(--a2-background-color-secondary-hover, color-mix(in srgb, var(--a2-color-neutral-950, #040404) 8%, transparent))}
|
|
32
|
-
.anvil2 .a2-bg-secondary-strong {background-color: var(--a2-background-color-secondary-strong, color-mix(in srgb, var(--a2-color-neutral-950, #040404) 15%, transparent))}
|
|
33
|
-
.anvil2 .a2-bg-secondary-strong-active {background-color: var(--a2-background-color-secondary-strong-active, color-mix(in srgb, var(--a2-color-neutral-950, #040404) 30%, transparent))}
|
|
34
|
-
.anvil2 .a2-bg-secondary-strong-hover {background-color: var(--a2-background-color-secondary-strong-hover, color-mix(in srgb, var(--a2-color-neutral-950, #040404) 25%, transparent))}
|
|
35
|
-
.anvil2 .a2-bg-status-danger {background-color: var(--a2-status-color-danger, var(--a2-color-red-600, #d62100))}
|
|
36
|
-
.anvil2 .a2-bg-status-info {background-color: var(--a2-status-color-info, var(--a2-color-blue-600, #0265dc))}
|
|
37
|
-
.anvil2 .a2-bg-status-success {background-color: var(--a2-status-color-success, var(--a2-color-green-600, #077e50))}
|
|
38
|
-
.anvil2 .a2-bg-status-warning {background-color: var(--a2-status-color-warning, var(--a2-color-yellow-500, #ffbe00))}
|
|
39
|
-
.anvil2 .a2-bg-strong {background-color: var(--a2-background-color-strong, var(--a2-color-neutral-20, #f9f9f9))}
|
|
40
|
-
.anvil2 .a2-bg-strong-active {background-color: var(--a2-background-color-strong-active, var(--a2-color-neutral-70, #e8e8e8))}
|
|
41
|
-
.anvil2 .a2-bg-strong-hover {background-color: var(--a2-background-color-strong-hover, var(--a2-color-neutral-50, #eeeeee))}
|
|
42
|
-
.anvil2 .a2-bg-stronger {background-color: var(--a2-background-color-stronger, var(--a2-color-neutral-50, #eeeeee))}
|
|
43
|
-
.anvil2 .a2-bg-stronger-active {background-color: var(--a2-background-color-stronger-active, var(--a2-color-neutral-100, #dfdfdf))}
|
|
44
|
-
.anvil2 .a2-bg-stronger-hover {background-color: var(--a2-background-color-stronger-hover, var(--a2-color-neutral-90, #e5e5e5))}
|
|
45
|
-
.anvil2 .a2-bg-strongest {background-color: var(--a2-background-color-strongest, var(--a2-color-neutral-200, #c4c4c4))}
|
|
46
|
-
.anvil2 .a2-bg-strongest-active {background-color: var(--a2-background-color-strongest-active, var(--a2-color-neutral-400, #8b8b8b))}
|
|
47
|
-
.anvil2 .a2-bg-strongest-hover {background-color: var(--a2-background-color-strongest-hover, var(--a2-color-neutral-300, #a8a8a8))}
|
|
48
|
-
.anvil2 .a2-bg-success {background-color: var(--a2-background-color-success, var(--a2-status-color-success, var(--a2-color-green-600, #077e50)))}
|
|
49
|
-
.anvil2 .a2-bg-success-active {background-color: var(--a2-background-color-success-active, var(--a2-color-green-800, #04482e))}
|
|
50
|
-
.anvil2 .a2-bg-success-faint {background-color: var(--a2-background-color-success-faint, var(--a2-color-green-10, #f5fefb))}
|
|
51
|
-
.anvil2 .a2-bg-success-faint-active {background-color: var(--a2-background-color-success-faint-active, var(--a2-color-green-100, #b8f5dd))}
|
|
52
|
-
.anvil2 .a2-bg-success-faint-hover {background-color: var(--a2-background-color-success-faint-hover, var(--a2-color-green-50, #d3fded))}
|
|
53
|
-
.anvil2 .a2-bg-success-hover {background-color: var(--a2-background-color-success-hover, var(--a2-color-green-700, #05613e))}
|
|
54
|
-
.anvil2 .a2-bg-success-subdued {background-color: var(--a2-background-color-success-subdued, var(--a2-color-green-50, #d3fded))}
|
|
55
|
-
.anvil2 .a2-bg-success-subdued-active {background-color: var(--a2-background-color-success-subdued-active, var(--a2-color-green-200, #70ebbc))}
|
|
56
|
-
.anvil2 .a2-bg-success-subdued-hover {background-color: var(--a2-background-color-success-subdued-hover, var(--a2-color-green-100, #b8f5dd))}
|
|
57
|
-
.anvil2 .a2-bg-transparent-danger {background-color: var(--a2-background-color-transparent-danger, rgba(0, 0, 0, 0))}
|
|
58
|
-
.anvil2 .a2-bg-transparent-danger-active {background-color: var(--a2-background-color-transparent-danger-active, color-mix(in srgb, var(--a2-color-red-500, #ff3914) 30%, transparent))}
|
|
59
|
-
.anvil2 .a2-bg-transparent-danger-hover {background-color: var(--a2-background-color-transparent-danger-hover, color-mix(in srgb, var(--a2-color-red-500, #ff3914) 10%, transparent))}
|
|
60
|
-
.anvil2 .a2-bg-transparent-default {background-color: var(--a2-background-color-transparent-default, rgba(0, 0, 0, 0))}
|
|
61
|
-
.anvil2 .a2-bg-transparent-default-active {background-color: var(--a2-background-color-transparent-default-active, color-mix(in srgb, var(--a2-color-neutral-400, #8b8b8b) 16%, transparent))}
|
|
62
|
-
.anvil2 .a2-bg-transparent-default-hover {background-color: var(--a2-background-color-transparent-default-hover, color-mix(in srgb, var(--a2-color-neutral-400, #8b8b8b) 8%, transparent))}
|
|
63
|
-
.anvil2 .a2-bg-transparent-primary {background-color: var(--a2-background-color-transparent-primary, rgba(0, 0, 0, 0))}
|
|
64
|
-
.anvil2 .a2-bg-transparent-primary-active {background-color: var(--a2-background-color-transparent-primary-active, color-mix(in srgb, var(--a2-color-blue-500, #1a82ff) 30%, transparent))}
|
|
65
|
-
.anvil2 .a2-bg-transparent-primary-hover {background-color: var(--a2-background-color-transparent-primary-hover, color-mix(in srgb, var(--a2-color-blue-500, #1a82ff) 10%, transparent))}
|
|
66
|
-
.anvil2 .a2-bg-warning {background-color: var(--a2-background-color-warning, var(--a2-status-color-warning, var(--a2-color-yellow-500, #ffbe00)))}
|
|
67
|
-
.anvil2 .a2-bg-warning-active {background-color: var(--a2-background-color-warning-active, var(--a2-color-yellow-600, #de9500))}
|
|
68
|
-
.anvil2 .a2-bg-warning-faint {background-color: var(--a2-background-color-warning-faint, var(--a2-color-yellow-10, #fffef8))}
|
|
69
|
-
.anvil2 .a2-bg-warning-faint-active {background-color: var(--a2-background-color-warning-faint-active, var(--a2-color-yellow-100, #fff9e2))}
|
|
70
|
-
.anvil2 .a2-bg-warning-faint-hover {background-color: var(--a2-background-color-warning-faint-hover, var(--a2-color-yellow-50, #fffcf0))}
|
|
71
|
-
.anvil2 .a2-bg-warning-hover {background-color: var(--a2-background-color-warning-hover, var(--a2-color-yellow-600, #de9500))}
|
|
72
|
-
.anvil2 .a2-bg-warning-subdued {background-color: var(--a2-background-color-warning-subdued, var(--a2-color-yellow-100, #fff9e2))}
|
|
73
|
-
.anvil2 .a2-bg-warning-subdued-active {background-color: var(--a2-background-color-warning-subdued-active, var(--a2-color-yellow-300, #ffe278))}
|
|
74
|
-
.anvil2 .a2-bg-warning-subdued-hover {background-color: var(--a2-background-color-warning-subdued-hover, var(--a2-color-yellow-200, #fff0b1))}
|
|
75
|
-
.anvil2 .a2-border-color-danger {border-color: var(--a2-border-color-danger, var(--a2-color-red-600, #d62100))}
|
|
76
|
-
.anvil2 .a2-border-color-default {border-color: var(--a2-border-color-default, var(--a2-color-neutral-400, #8b8b8b))}
|
|
77
|
-
.anvil2 .a2-border-color-primary {border-color: var(--a2-border-color-primary, var(--a2-color-blue-600, #0265dc))}
|
|
78
|
-
.anvil2 .a2-border-color-status-info {border-color: var(--a2-status-color-info, var(--a2-color-blue-600, #0265dc))}
|
|
79
|
-
.anvil2 .a2-border-color-status-success {border-color: var(--a2-status-color-success, var(--a2-color-green-600, #077e50))}
|
|
80
|
-
.anvil2 .a2-border-color-status-warning {border-color: var(--a2-status-color-warning, var(--a2-color-yellow-500, #ffbe00))}
|
|
81
|
-
.anvil2 .a2-border-color-strong {border-color: var(--a2-border-color-strong, var(--a2-color-neutral-700, #404040))}
|
|
82
|
-
.anvil2 .a2-border-color-subdued {border-color: var(--a2-border-color-subdued, var(--a2-color-neutral-80, #e6e6e6))}
|
|
83
|
-
.anvil2 .a2-border-color-success {border-color: var(--a2-border-color-success, var(--a2-color-green-600, #077e50))}
|
|
84
|
-
.anvil2 .a2-border-color-warning {border-color: var(--a2-border-color-warning, var(--a2-color-yellow-700, #c98600))}
|
|
85
|
-
.anvil2 .a2-c-danger {color: var(--a2-foreground-color-danger, var(--a2-color-red-600, #d62100))}
|
|
86
|
-
.anvil2 .a2-c-danger-active {color: var(--a2-foreground-color-danger-active, var(--a2-color-red-800, #731100))}
|
|
87
|
-
.anvil2 .a2-c-danger-hover {color: var(--a2-foreground-color-danger-hover, var(--a2-color-red-700, #a31900))}
|
|
88
|
-
.anvil2 .a2-c-default {color: var(--a2-foreground-color-default, var(--a2-color-neutral-950, #040404))}
|
|
89
|
-
.anvil2 .a2-c-default-active {color: var(--a2-foreground-color-default-active, var(--a2-color-neutral-950, #040404))}
|
|
90
|
-
.anvil2 .a2-c-default-hover {color: var(--a2-foreground-color-default-hover, var(--a2-color-neutral-950, #040404))}
|
|
91
|
-
.anvil2 .a2-c-inverted {color: var(--a2-foreground-color-inverted, var(--a2-color-neutral-0, #ffffff))}
|
|
92
|
-
.anvil2 .a2-c-on-danger {color: var(--a2-foreground-color-on-danger, var(--a2-color-neutral-0, #ffffff))}
|
|
93
|
-
.anvil2 .a2-c-on-danger-active {color: var(--a2-foreground-color-on-danger-active, var(--a2-color-neutral-0, #ffffff))}
|
|
94
|
-
.anvil2 .a2-c-on-danger-hover {color: var(--a2-foreground-color-on-danger-hover, var(--a2-color-neutral-0, #ffffff))}
|
|
95
|
-
.anvil2 .a2-c-on-danger-subdued {color: var(--a2-foreground-color-on-danger-subdued, var(--a2-color-red-700, #a31900))}
|
|
96
|
-
.anvil2 .a2-c-on-danger-subdued-active {color: var(--a2-foreground-color-on-danger-subdued-active, var(--a2-color-red-900, #470b00))}
|
|
97
|
-
.anvil2 .a2-c-on-danger-subdued-hover {color: var(--a2-foreground-color-on-danger-subdued-hover, var(--a2-color-red-800, #731100))}
|
|
98
|
-
.anvil2 .a2-c-on-primary {color: var(--a2-foreground-color-on-primary, var(--a2-color-neutral-0, #ffffff))}
|
|
99
|
-
.anvil2 .a2-c-on-primary-active {color: var(--a2-foreground-color-on-primary-active, var(--a2-color-neutral-0, #ffffff))}
|
|
100
|
-
.anvil2 .a2-c-on-primary-hover {color: var(--a2-foreground-color-on-primary-hover, var(--a2-color-neutral-0, #ffffff))}
|
|
101
|
-
.anvil2 .a2-c-on-success {color: var(--a2-foreground-color-on-success, var(--a2-color-neutral-0, #ffffff))}
|
|
102
|
-
.anvil2 .a2-c-on-warning {color: var(--a2-foreground-color-on-warning, var(--a2-color-neutral-900, #1a1a1a))}
|
|
103
|
-
.anvil2 .a2-c-primary {color: var(--a2-foreground-color-primary, var(--a2-color-blue-600, #0265dc))}
|
|
104
|
-
.anvil2 .a2-c-primary-active {color: var(--a2-foreground-color-primary-active, var(--a2-color-blue-800, #003472))}
|
|
105
|
-
.anvil2 .a2-c-primary-hover {color: var(--a2-foreground-color-primary-hover, var(--a2-color-blue-700, #1d4ca3))}
|
|
106
|
-
.anvil2 .a2-c-status-danger {color: var(--a2-status-color-danger, var(--a2-color-red-600, #d62100))}
|
|
107
|
-
.anvil2 .a2-c-status-info {color: var(--a2-status-color-info, var(--a2-color-blue-600, #0265dc))}
|
|
108
|
-
.anvil2 .a2-c-status-success {color: var(--a2-status-color-success, var(--a2-color-green-600, #077e50))}
|
|
109
|
-
.anvil2 .a2-c-status-warning {color: var(--a2-status-color-warning, var(--a2-color-yellow-500, #ffbe00))}
|
|
110
|
-
.anvil2 .a2-c-subdued {color: var(--a2-foreground-color-subdued, var(--a2-color-neutral-500, #707070))}
|
|
111
|
-
.anvil2 .a2-c-subdued-active {color: var(--a2-foreground-color-subdued-active, var(--a2-color-neutral-600, #545454))}
|
|
112
|
-
.anvil2 .a2-c-subdued-hover {color: var(--a2-foreground-color-subdued-hover, var(--a2-color-neutral-500, #707070))}
|
|
113
|
-
@supports (color: light-dark(#fff, #000)) {
|
|
114
|
-
.anvil2 .a2-bg-danger {background-color: var(--a2-background-color-danger, var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d))))}
|
|
115
|
-
.anvil2 .a2-bg-danger-active {background-color: var(--a2-background-color-danger-active, light-dark(var(--a2-color-red-800, #731100), var(--a2-color-red-200, #ffac9e)))}
|
|
116
|
-
.anvil2 .a2-bg-danger-faint {background-color: var(--a2-background-color-danger-faint, light-dark(var(--a2-color-red-10, #fffbfa), var(--a2-color-red-950, #0a0200)))}
|
|
117
|
-
.anvil2 .a2-bg-danger-faint-active {background-color: var(--a2-background-color-danger-faint-active, light-dark(var(--a2-color-red-100, #ffd4cc), var(--a2-color-red-700, #a31900)))}
|
|
118
|
-
.anvil2 .a2-bg-danger-faint-hover {background-color: var(--a2-background-color-danger-faint-hover, light-dark(var(--a2-color-red-50, #ffe9e5), var(--a2-color-red-800, #731100)))}
|
|
119
|
-
.anvil2 .a2-bg-danger-hover {background-color: var(--a2-background-color-danger-hover, light-dark(var(--a2-color-red-700, #a31900), var(--a2-color-red-300, #ff8670)))}
|
|
120
|
-
.anvil2 .a2-bg-danger-subdued {background-color: var(--a2-background-color-danger-subdued, light-dark(var(--a2-color-red-50, #ffe9e5), color-mix(in srgb, var(--a2-color-red-300, #ff8670) 20%, transparent)))}
|
|
121
|
-
.anvil2 .a2-bg-danger-subdued-active {background-color: var(--a2-background-color-danger-subdued-active, light-dark(var(--a2-color-red-200, #ffac9e), color-mix(in srgb, var(--a2-color-red-300, #ff8670) 40%, transparent)))}
|
|
122
|
-
.anvil2 .a2-bg-danger-subdued-hover {background-color: var(--a2-background-color-danger-subdued-hover, light-dark(var(--a2-color-red-100, #ffd4cc), color-mix(in srgb, var(--a2-color-red-300, #ff8670) 30%, transparent)))}
|
|
123
|
-
.anvil2 .a2-bg-default {background-color: var(--a2-background-color-default, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))}
|
|
124
|
-
.anvil2 .a2-bg-default-active {background-color: var(--a2-background-color-default-active, light-dark(var(--a2-color-neutral-40, #f1f1f1), var(--a2-color-neutral-700, #404040)))}
|
|
125
|
-
.anvil2 .a2-bg-default-hover {background-color: var(--a2-background-color-default-hover, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)))}
|
|
126
|
-
.anvil2 .a2-bg-disabled {background-color: var(--a2-background-color-disabled, light-dark(var(--a2-color-neutral-600, #545454), var(--a2-color-neutral-500, #707070)))}
|
|
127
|
-
.anvil2 .a2-bg-inverted {background-color: var(--a2-background-color-inverted, light-dark(var(--a2-color-neutral-800, #292929), var(--a2-color-neutral-20, #f9f9f9)))}
|
|
128
|
-
.anvil2 .a2-bg-inverted-active {background-color: var(--a2-background-color-inverted-active, light-dark(var(--a2-color-neutral-800, #292929), var(--a2-color-neutral-20, #f9f9f9)))}
|
|
129
|
-
.anvil2 .a2-bg-inverted-hover {background-color: var(--a2-background-color-inverted-hover, light-dark(var(--a2-color-neutral-800, #292929), var(--a2-color-neutral-20, #f9f9f9)))}
|
|
130
|
-
.anvil2 .a2-bg-inverted-strong {background-color: var(--a2-background-color-inverted-strong, light-dark(var(--a2-color-neutral-900, #1a1a1a), var(--a2-color-neutral-0, #ffffff)))}
|
|
131
|
-
.anvil2 .a2-bg-inverted-strong-active {background-color: var(--a2-background-color-inverted-strong-active, light-dark(var(--a2-color-neutral-900, #1a1a1a), var(--a2-color-neutral-0, #ffffff)))}
|
|
132
|
-
.anvil2 .a2-bg-inverted-strong-hover {background-color: var(--a2-background-color-inverted-strong-hover, light-dark(var(--a2-color-neutral-900, #1a1a1a), var(--a2-color-neutral-0, #ffffff)))}
|
|
133
|
-
.anvil2 .a2-bg-primary {background-color: var(--a2-background-color-primary, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))))}
|
|
134
|
-
.anvil2 .a2-bg-primary-active {background-color: var(--a2-background-color-primary-active, light-dark(var(--a2-color-blue-800, #003472), var(--a2-color-blue-100, #cce3ff)))}
|
|
135
|
-
.anvil2 .a2-bg-primary-faint {background-color: var(--a2-background-color-primary-faint, light-dark(var(--a2-color-blue-10, #fafcff), var(--a2-color-blue-950, #000b19)))}
|
|
136
|
-
.anvil2 .a2-bg-primary-faint-active {background-color: var(--a2-background-color-primary-faint-active, light-dark(var(--a2-color-blue-100, #cce3ff), var(--a2-color-blue-700, #1d4ca3)))}
|
|
137
|
-
.anvil2 .a2-bg-primary-faint-hover {background-color: var(--a2-background-color-primary-faint-hover, light-dark(var(--a2-color-blue-50, #e6f1ff), var(--a2-color-blue-800, #003472)))}
|
|
138
|
-
.anvil2 .a2-bg-primary-hover {background-color: var(--a2-background-color-primary-hover, light-dark(var(--a2-color-blue-700, #1d4ca3), var(--a2-color-blue-200, #9ecaff)))}
|
|
139
|
-
.anvil2 .a2-bg-primary-subdued {background-color: var(--a2-background-color-primary-subdued, light-dark(var(--a2-color-blue-50, #e6f1ff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 20%, transparent)))}
|
|
140
|
-
.anvil2 .a2-bg-primary-subdued-active {background-color: var(--a2-background-color-primary-subdued-active, light-dark(var(--a2-color-blue-200, #9ecaff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 40%, transparent)))}
|
|
141
|
-
.anvil2 .a2-bg-primary-subdued-hover {background-color: var(--a2-background-color-primary-subdued-hover, light-dark(var(--a2-color-blue-100, #cce3ff), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 30%, transparent)))}
|
|
142
|
-
.anvil2 .a2-bg-secondary {background-color: var(--a2-background-color-secondary, light-dark(color-mix(in srgb, var(--a2-color-neutral-950, #040404) 6%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 8%, transparent)))}
|
|
143
|
-
.anvil2 .a2-bg-secondary-active {background-color: var(--a2-background-color-secondary-active, light-dark(color-mix(in srgb, var(--a2-color-neutral-950, #040404) 16%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 16%, transparent)))}
|
|
144
|
-
.anvil2 .a2-bg-secondary-hover {background-color: var(--a2-background-color-secondary-hover, light-dark(color-mix(in srgb, var(--a2-color-neutral-950, #040404) 8%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 12%, transparent)))}
|
|
145
|
-
.anvil2 .a2-bg-secondary-strong {background-color: var(--a2-background-color-secondary-strong, light-dark(color-mix(in srgb, var(--a2-color-neutral-950, #040404) 15%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 55%, transparent)))}
|
|
146
|
-
.anvil2 .a2-bg-secondary-strong-active {background-color: var(--a2-background-color-secondary-strong-active, light-dark(color-mix(in srgb, var(--a2-color-neutral-950, #040404) 30%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 75%, transparent)))}
|
|
147
|
-
.anvil2 .a2-bg-secondary-strong-hover {background-color: var(--a2-background-color-secondary-strong-hover, light-dark(color-mix(in srgb, var(--a2-color-neutral-950, #040404) 25%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 65%, transparent)))}
|
|
148
|
-
.anvil2 .a2-bg-status-danger {background-color: var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d)))}
|
|
149
|
-
.anvil2 .a2-bg-status-info {background-color: var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff)))}
|
|
150
|
-
.anvil2 .a2-bg-status-success {background-color: var(--a2-status-color-success, light-dark(var(--a2-color-green-600, #077e50), var(--a2-color-green-400, #0bd085)))}
|
|
151
|
-
.anvil2 .a2-bg-status-warning {background-color: var(--a2-status-color-warning, light-dark(var(--a2-color-yellow-500, #ffbe00), var(--a2-color-yellow-300, #ffe278)))}
|
|
152
|
-
.anvil2 .a2-bg-strong {background-color: var(--a2-background-color-strong, light-dark(var(--a2-color-neutral-20, #f9f9f9), var(--a2-color-neutral-800, #292929)))}
|
|
153
|
-
.anvil2 .a2-bg-strong-active {background-color: var(--a2-background-color-strong-active, light-dark(var(--a2-color-neutral-70, #e8e8e8), var(--a2-color-neutral-600, #545454)))}
|
|
154
|
-
.anvil2 .a2-bg-strong-hover {background-color: var(--a2-background-color-strong-hover, light-dark(var(--a2-color-neutral-50, #eeeeee), var(--a2-color-neutral-700, #404040)))}
|
|
155
|
-
.anvil2 .a2-bg-stronger {background-color: var(--a2-background-color-stronger, light-dark(var(--a2-color-neutral-50, #eeeeee), var(--a2-color-neutral-700, #404040)))}
|
|
156
|
-
.anvil2 .a2-bg-stronger-active {background-color: var(--a2-background-color-stronger-active, light-dark(var(--a2-color-neutral-100, #dfdfdf), var(--a2-color-neutral-500, #707070)))}
|
|
157
|
-
.anvil2 .a2-bg-stronger-hover {background-color: var(--a2-background-color-stronger-hover, light-dark(var(--a2-color-neutral-90, #e5e5e5), var(--a2-color-neutral-600, #545454)))}
|
|
158
|
-
.anvil2 .a2-bg-strongest {background-color: var(--a2-background-color-strongest, light-dark(var(--a2-color-neutral-200, #c4c4c4), var(--a2-color-neutral-500, #707070)))}
|
|
159
|
-
.anvil2 .a2-bg-strongest-active {background-color: var(--a2-background-color-strongest-active, light-dark(var(--a2-color-neutral-400, #8b8b8b), var(--a2-color-neutral-300, #a8a8a8)))}
|
|
160
|
-
.anvil2 .a2-bg-strongest-hover {background-color: var(--a2-background-color-strongest-hover, light-dark(var(--a2-color-neutral-300, #a8a8a8), var(--a2-color-neutral-400, #8b8b8b)))}
|
|
161
|
-
.anvil2 .a2-bg-success {background-color: var(--a2-background-color-success, var(--a2-status-color-success, light-dark(var(--a2-color-green-600, #077e50), var(--a2-color-green-400, #0bd085))))}
|
|
162
|
-
.anvil2 .a2-bg-success-active {background-color: var(--a2-background-color-success-active, light-dark(var(--a2-color-green-800, #04482e), var(--a2-color-green-50, #d3fded)))}
|
|
163
|
-
.anvil2 .a2-bg-success-faint {background-color: var(--a2-background-color-success-faint, light-dark(var(--a2-color-green-10, #f5fefb), var(--a2-color-green-950, #010f0a)))}
|
|
164
|
-
.anvil2 .a2-bg-success-faint-active {background-color: var(--a2-background-color-success-faint-active, light-dark(var(--a2-color-green-100, #b8f5dd), var(--a2-color-green-700, #05613e)))}
|
|
165
|
-
.anvil2 .a2-bg-success-faint-hover {background-color: var(--a2-background-color-success-faint-hover, light-dark(var(--a2-color-green-50, #d3fded), var(--a2-color-green-800, #04482e)))}
|
|
166
|
-
.anvil2 .a2-bg-success-hover {background-color: var(--a2-background-color-success-hover, light-dark(var(--a2-color-green-700, #05613e), var(--a2-color-green-300, #3be3a2)))}
|
|
167
|
-
.anvil2 .a2-bg-success-subdued {background-color: var(--a2-background-color-success-subdued, light-dark(var(--a2-color-green-50, #d3fded), color-mix(in srgb, var(--a2-color-green-300, #3be3a2) 20%, transparent)))}
|
|
168
|
-
.anvil2 .a2-bg-success-subdued-active {background-color: var(--a2-background-color-success-subdued-active, light-dark(var(--a2-color-green-200, #70ebbc), color-mix(in srgb, var(--a2-color-green-300, #3be3a2) 40%, transparent)))}
|
|
169
|
-
.anvil2 .a2-bg-success-subdued-hover {background-color: var(--a2-background-color-success-subdued-hover, light-dark(var(--a2-color-green-100, #b8f5dd), color-mix(in srgb, var(--a2-color-green-300, #3be3a2) 30%, transparent)))}
|
|
170
|
-
.anvil2 .a2-bg-transparent-danger-active {background-color: var(--a2-background-color-transparent-danger-active, light-dark(color-mix(in srgb, var(--a2-color-red-500, #ff3914) 30%, transparent), color-mix(in srgb, var(--a2-color-red-300, #ff8670) 25%, transparent)))}
|
|
171
|
-
.anvil2 .a2-bg-transparent-danger-hover {background-color: var(--a2-background-color-transparent-danger-hover, light-dark(color-mix(in srgb, var(--a2-color-red-500, #ff3914) 10%, transparent), color-mix(in srgb, var(--a2-color-red-300, #ff8670) 10%, transparent)))}
|
|
172
|
-
.anvil2 .a2-bg-transparent-default-active {background-color: var(--a2-background-color-transparent-default-active, light-dark(color-mix(in srgb, var(--a2-color-neutral-400, #8b8b8b) 16%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 16%, transparent)))}
|
|
173
|
-
.anvil2 .a2-bg-transparent-default-hover {background-color: var(--a2-background-color-transparent-default-hover, light-dark(color-mix(in srgb, var(--a2-color-neutral-400, #8b8b8b) 8%, transparent), color-mix(in srgb, var(--a2-color-neutral-0, #ffffff) 8%, transparent)))}
|
|
174
|
-
.anvil2 .a2-bg-transparent-primary-active {background-color: var(--a2-background-color-transparent-primary-active, light-dark(color-mix(in srgb, var(--a2-color-blue-500, #1a82ff) 30%, transparent), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 25%, transparent)))}
|
|
175
|
-
.anvil2 .a2-bg-transparent-primary-hover {background-color: var(--a2-background-color-transparent-primary-hover, light-dark(color-mix(in srgb, var(--a2-color-blue-500, #1a82ff) 10%, transparent), color-mix(in srgb, var(--a2-color-blue-300, #70b1ff) 10%, transparent)))}
|
|
176
|
-
.anvil2 .a2-bg-warning {background-color: var(--a2-background-color-warning, var(--a2-status-color-warning, light-dark(var(--a2-color-yellow-500, #ffbe00), var(--a2-color-yellow-300, #ffe278))))}
|
|
177
|
-
.anvil2 .a2-bg-warning-active {background-color: var(--a2-background-color-warning-active, light-dark(var(--a2-color-yellow-600, #de9500), var(--a2-color-yellow-100, #fff9e2)))}
|
|
178
|
-
.anvil2 .a2-bg-warning-faint {background-color: var(--a2-background-color-warning-faint, light-dark(var(--a2-color-yellow-10, #fffef8), var(--a2-color-yellow-950, #191100)))}
|
|
179
|
-
.anvil2 .a2-bg-warning-faint-active {background-color: var(--a2-background-color-warning-faint-active, light-dark(var(--a2-color-yellow-100, #fff9e2), var(--a2-color-yellow-700, #c98600)))}
|
|
180
|
-
.anvil2 .a2-bg-warning-faint-hover {background-color: var(--a2-background-color-warning-faint-hover, light-dark(var(--a2-color-yellow-50, #fffcf0), var(--a2-color-yellow-800, #704b00)))}
|
|
181
|
-
.anvil2 .a2-bg-warning-hover {background-color: var(--a2-background-color-warning-hover, light-dark(var(--a2-color-yellow-600, #de9500), var(--a2-color-yellow-100, #fff9e2)))}
|
|
182
|
-
.anvil2 .a2-bg-warning-subdued {background-color: var(--a2-background-color-warning-subdued, light-dark(var(--a2-color-yellow-100, #fff9e2), color-mix(in srgb, var(--a2-color-yellow-400, #ffc902) 20%, transparent)))}
|
|
183
|
-
.anvil2 .a2-bg-warning-subdued-active {background-color: var(--a2-background-color-warning-subdued-active, light-dark(var(--a2-color-yellow-300, #ffe278), color-mix(in srgb, var(--a2-color-yellow-400, #ffc902) 40%, transparent)))}
|
|
184
|
-
.anvil2 .a2-bg-warning-subdued-hover {background-color: var(--a2-background-color-warning-subdued-hover, light-dark(var(--a2-color-yellow-200, #fff0b1), color-mix(in srgb, var(--a2-color-yellow-400, #ffc902) 30%, transparent)))}
|
|
185
|
-
.anvil2 .a2-border-color-danger {border-color: var(--a2-border-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-200, #ffac9e)))}
|
|
186
|
-
.anvil2 .a2-border-color-default {border-color: var(--a2-border-color-default, light-dark(var(--a2-color-neutral-400, #8b8b8b), var(--a2-color-neutral-600, #545454)))}
|
|
187
|
-
.anvil2 .a2-border-color-primary {border-color: var(--a2-border-color-primary, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-200, #9ecaff)))}
|
|
188
|
-
.anvil2 .a2-border-color-status-info {border-color: var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff)))}
|
|
189
|
-
.anvil2 .a2-border-color-status-success {border-color: var(--a2-status-color-success, light-dark(var(--a2-color-green-600, #077e50), var(--a2-color-green-400, #0bd085)))}
|
|
190
|
-
.anvil2 .a2-border-color-status-warning {border-color: var(--a2-status-color-warning, light-dark(var(--a2-color-yellow-500, #ffbe00), var(--a2-color-yellow-300, #ffe278)))}
|
|
191
|
-
.anvil2 .a2-border-color-strong {border-color: var(--a2-border-color-strong, light-dark(var(--a2-color-neutral-700, #404040), var(--a2-color-neutral-80, #e6e6e6)))}
|
|
192
|
-
.anvil2 .a2-border-color-subdued {border-color: var(--a2-border-color-subdued, light-dark(var(--a2-color-neutral-80, #e6e6e6), var(--a2-color-neutral-700, #404040)))}
|
|
193
|
-
.anvil2 .a2-border-color-success {border-color: var(--a2-border-color-success, light-dark(var(--a2-color-green-600, #077e50), var(--a2-color-green-200, #70ebbc)))}
|
|
194
|
-
.anvil2 .a2-border-color-warning {border-color: var(--a2-border-color-warning, light-dark(var(--a2-color-yellow-700, #c98600), var(--a2-color-yellow-200, #fff0b1)))}
|
|
195
|
-
.anvil2 .a2-c-danger {color: var(--a2-foreground-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d)))}
|
|
196
|
-
.anvil2 .a2-c-danger-active {color: var(--a2-foreground-color-danger-active, light-dark(var(--a2-color-red-800, #731100), var(--a2-color-red-200, #ffac9e)))}
|
|
197
|
-
.anvil2 .a2-c-danger-hover {color: var(--a2-foreground-color-danger-hover, light-dark(var(--a2-color-red-700, #a31900), var(--a2-color-red-300, #ff8670)))}
|
|
198
|
-
.anvil2 .a2-c-default {color: var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)))}
|
|
199
|
-
.anvil2 .a2-c-default-active {color: var(--a2-foreground-color-default-active, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)))}
|
|
200
|
-
.anvil2 .a2-c-default-hover {color: var(--a2-foreground-color-default-hover, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff)))}
|
|
201
|
-
.anvil2 .a2-c-inverted {color: var(--a2-foreground-color-inverted, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))}
|
|
202
|
-
.anvil2 .a2-c-on-danger {color: var(--a2-foreground-color-on-danger, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))}
|
|
203
|
-
.anvil2 .a2-c-on-danger-active {color: var(--a2-foreground-color-on-danger-active, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))}
|
|
204
|
-
.anvil2 .a2-c-on-danger-hover {color: var(--a2-foreground-color-on-danger-hover, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))}
|
|
205
|
-
.anvil2 .a2-c-on-danger-subdued {color: var(--a2-foreground-color-on-danger-subdued, light-dark(var(--a2-color-red-700, #a31900), var(--a2-color-neutral-0, #ffffff)))}
|
|
206
|
-
.anvil2 .a2-c-on-danger-subdued-active {color: var(--a2-foreground-color-on-danger-subdued-active, light-dark(var(--a2-color-red-900, #470b00), var(--a2-color-neutral-0, #ffffff)))}
|
|
207
|
-
.anvil2 .a2-c-on-danger-subdued-hover {color: var(--a2-foreground-color-on-danger-subdued-hover, light-dark(var(--a2-color-red-800, #731100), var(--a2-color-neutral-0, #ffffff)))}
|
|
208
|
-
.anvil2 .a2-c-on-primary {color: var(--a2-foreground-color-on-primary, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))}
|
|
209
|
-
.anvil2 .a2-c-on-primary-active {color: var(--a2-foreground-color-on-primary-active, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))}
|
|
210
|
-
.anvil2 .a2-c-on-primary-hover {color: var(--a2-foreground-color-on-primary-hover, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))}
|
|
211
|
-
.anvil2 .a2-c-on-success {color: var(--a2-foreground-color-on-success, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a)))}
|
|
212
|
-
.anvil2 .a2-c-on-warning {color: var(--a2-foreground-color-on-warning, var(--a2-color-neutral-900, #1a1a1a))}
|
|
213
|
-
.anvil2 .a2-c-primary {color: var(--a2-foreground-color-primary, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff)))}
|
|
214
|
-
.anvil2 .a2-c-primary-active {color: var(--a2-foreground-color-primary-active, light-dark(var(--a2-color-blue-800, #003472), var(--a2-color-blue-200, #9ecaff)))}
|
|
215
|
-
.anvil2 .a2-c-primary-hover {color: var(--a2-foreground-color-primary-hover, light-dark(var(--a2-color-blue-700, #1d4ca3), var(--a2-color-blue-200, #9ecaff)))}
|
|
216
|
-
.anvil2 .a2-c-status-danger {color: var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d)))}
|
|
217
|
-
.anvil2 .a2-c-status-info {color: var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff)))}
|
|
218
|
-
.anvil2 .a2-c-status-success {color: var(--a2-status-color-success, light-dark(var(--a2-color-green-600, #077e50), var(--a2-color-green-400, #0bd085)))}
|
|
219
|
-
.anvil2 .a2-c-status-warning {color: var(--a2-status-color-warning, light-dark(var(--a2-color-yellow-500, #ffbe00), var(--a2-color-yellow-300, #ffe278)))}
|
|
220
|
-
.anvil2 .a2-c-subdued {color: var(--a2-foreground-color-subdued, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4)))}
|
|
221
|
-
.anvil2 .a2-c-subdued-active {color: var(--a2-foreground-color-subdued-active, light-dark(var(--a2-color-neutral-600, #545454), var(--a2-color-neutral-100, #dfdfdf)))}
|
|
222
|
-
.anvil2 .a2-c-subdued-hover {color: var(--a2-foreground-color-subdued-hover, light-dark(var(--a2-color-neutral-500, #707070), var(--a2-color-neutral-200, #c4c4c4)))}
|
|
223
|
-
}
|
package/dist/a2-font.css
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
.anvil2 .a2-ff-heading {font-family: 'Sofia Pro', SofiaPro, sans-serif}
|
|
2
|
-
.anvil2 .a2-ff-label {font-family: 'Nunito Sans', sans-serif}
|
|
3
|
-
.anvil2 .a2-ff-paragraph {font-family: 'Nunito Sans', sans-serif}
|
|
4
|
-
.anvil2 .a2-fs-heading-default {font-size: 1.25rem}
|
|
5
|
-
.anvil2 .a2-fs-heading-large {font-size: 1.5rem}
|
|
6
|
-
.anvil2 .a2-fs-heading-small {font-size: 1rem}
|
|
7
|
-
.anvil2 .a2-fs-heading-xlarge {font-size: 2rem}
|
|
8
|
-
.anvil2 .a2-fs-heading-xsmall {font-size: 0.875rem}
|
|
9
|
-
.anvil2 .a2-fs-label-default {font-size: 0.875rem}
|
|
10
|
-
.anvil2 .a2-fs-label-large {font-size: 1rem}
|
|
11
|
-
.anvil2 .a2-fs-label-small {font-size: 0.75rem}
|
|
12
|
-
.anvil2 .a2-fs-label-xlarge {font-size: 1.25rem}
|
|
13
|
-
.anvil2 .a2-fs-label-xsmall {font-size: 0.625rem}
|
|
14
|
-
.anvil2 .a2-fs-paragraph-default {font-size: 1rem}
|
|
15
|
-
.anvil2 .a2-fs-paragraph-large {font-size: 1.25rem}
|
|
16
|
-
.anvil2 .a2-fs-paragraph-small {font-size: 0.875rem}
|
|
17
|
-
.anvil2 .a2-fs-paragraph-xlarge {font-size: 1.5rem}
|
|
18
|
-
.anvil2 .a2-fs-paragraph-xsmall {font-size: 0.75rem}
|
|
19
|
-
.anvil2 .a2-fw-heading {font-weight: 700}
|
|
20
|
-
.anvil2 .a2-fw-label {font-weight: 600}
|
|
21
|
-
.anvil2 .a2-fw-paragraph {font-weight: 400}
|