@servicetitan/anvil2 2.6.1 → 2.7.1
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 +36 -0
- package/dist/{Avatar-CCnbKkCm.js → Avatar-BckUfs1N.js} +48 -46
- package/dist/{Avatar-CCnbKkCm.js.map → Avatar-BckUfs1N.js.map} +1 -1
- package/dist/Avatar-ChybzixS.js +35 -0
- package/dist/Avatar-ChybzixS.js.map +1 -0
- package/dist/Avatar.js +2 -2
- package/dist/Breadcrumbs-C_WK9Yul.js +107 -0
- package/dist/Breadcrumbs-C_WK9Yul.js.map +1 -0
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Calendar-B5d2SUrH.js → Calendar-BTStJPV1.js} +2 -2
- package/dist/{Calendar-B5d2SUrH.js.map → Calendar-BTStJPV1.js.map} +1 -1
- package/dist/{Calendar-B0u3EgCY.js → Calendar-Frpv5rRY.js} +129 -118
- package/dist/Calendar-Frpv5rRY.js.map +1 -0
- package/dist/Calendar.css +51 -51
- package/dist/Calendar.js +2 -2
- package/dist/Checkbox-CTZdZym4.js +52 -0
- package/dist/Checkbox-CTZdZym4.js.map +1 -0
- package/dist/{Checkbox-BwULIo4D.js → Checkbox-Drgai_lS.js} +16 -7
- package/dist/Checkbox-Drgai_lS.js.map +1 -0
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-DjTAR0va.js → Chip-CVyEctAz.js} +2 -2
- package/dist/{Chip-DjTAR0va.js.map → Chip-CVyEctAz.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/{Combobox-Clymsgli.js → Combobox-BRtfrYyZ.js} +185 -182
- package/dist/{Combobox-Clymsgli.js.map → Combobox-BRtfrYyZ.js.map} +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-qoseu_e2.js → DataTable-BmVPjMMg.js} +680 -628
- package/dist/DataTable-BmVPjMMg.js.map +1 -0
- package/dist/{DateFieldRange-rks7jQor.js → DateFieldRange-D9DtlkSQ.js} +18 -4
- package/dist/DateFieldRange-D9DtlkSQ.js.map +1 -0
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-C0WXU7H1.js → DateFieldSingle-CkdeCUJv.js} +6 -6
- package/dist/{DateFieldSingle-C0WXU7H1.js.map → DateFieldSingle-CkdeCUJv.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-2p3a7Xgo.js → DateFieldYearless-b81ZcYdp.js} +3 -3
- package/dist/{DateFieldYearless-2p3a7Xgo.js.map → DateFieldYearless-b81ZcYdp.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-DLmhPug8.js → DateFieldYearlessRange-ClAFzIDD.js} +3 -3
- package/dist/{DateFieldYearlessRange-DLmhPug8.js.map → DateFieldYearlessRange-ClAFzIDD.js.map} +1 -1
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-BR32AA32.js → DaysOfTheWeek-2Zeh79oR.js} +3 -3
- package/dist/{DaysOfTheWeek-BR32AA32.js.map → DaysOfTheWeek-2Zeh79oR.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-Dxq_v3Qg.js → Details-CZOIpNP_.js} +8 -8
- package/dist/Details-CZOIpNP_.js.map +1 -0
- package/dist/Details.js +1 -1
- package/dist/{Dialog-CMhypnCD.js → Dialog-CloZWa1Q.js} +70 -70
- package/dist/Dialog-CloZWa1Q.js.map +1 -0
- package/dist/Dialog.js +1 -1
- package/dist/DndSort.js +3 -5
- package/dist/DndSort.js.map +1 -1
- package/dist/{Drawer-CSelPi8t.js → Drawer-CfkoH081.js} +83 -83
- package/dist/Drawer-CfkoH081.js.map +1 -0
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{FieldLabel-DbMosKtd.js → FieldLabel-CQ5QGTVq.js} +2 -2
- package/dist/{FieldLabel-DbMosKtd.js.map → FieldLabel-CQ5QGTVq.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/Grid-DeYIx5k4.js +149 -0
- package/dist/Grid-DeYIx5k4.js.map +1 -0
- package/dist/Grid.js +1 -1
- package/dist/{InputMask-BKs-x6ds.js → InputMask-CI4Q5UwG.js} +2 -2
- package/dist/{InputMask-BKs-x6ds.js.map → InputMask-CI4Q5UwG.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{Layout-VfhlilMG.js → Layout-CISAxILX.js} +34 -33
- package/dist/Layout-CISAxILX.js.map +1 -0
- package/dist/Layout.js +1 -1
- package/dist/List--KhCpjZn.js +103 -0
- package/dist/List--KhCpjZn.js.map +1 -0
- package/dist/List.js +1 -1
- package/dist/{ListView-CeGwrRbt.js → ListView-DAbBuss4.js} +6 -6
- package/dist/ListView-DAbBuss4.js.map +1 -0
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-BtAgBDRS.js → Listbox-D_T55BFX.js} +5 -4
- package/dist/Listbox-D_T55BFX.js.map +1 -0
- package/dist/Listbox.js +1 -1
- package/dist/{Menu-BXsmCP20.js → Menu-CRoJYJ53.js} +366 -365
- package/dist/Menu-CRoJYJ53.js.map +1 -0
- package/dist/Menu.js +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-EELhdoD6.js → MultiSelectFieldSync-CSOitvtu.js} +5 -5
- package/dist/{MultiSelectFieldSync-EELhdoD6.js.map → MultiSelectFieldSync-CSOitvtu.js.map} +1 -1
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-CAPhhkK1.js → MultiSelectMenuSync-62OeGmkz.js} +29 -9
- package/dist/MultiSelectMenuSync-62OeGmkz.js.map +1 -0
- package/dist/{NumberField-svhZp1kB.js → NumberField-CHBXBMSj.js} +2 -2
- package/dist/{NumberField-svhZp1kB.js.map → NumberField-CHBXBMSj.js.map} +1 -1
- package/dist/NumberField.js +1 -1
- package/dist/Overflow.css +27 -26
- package/dist/Overflow.js +11 -11
- package/dist/{Page-BpV1yHkm.js → Page-DtSjnBJL.js} +277 -224
- package/dist/Page-DtSjnBJL.js.map +1 -0
- package/dist/Page.css +87 -73
- package/dist/Page.js +1 -1
- package/dist/{Pagination-BAwqfl_2.js → Pagination-CbBte3GQ.js} +17 -15
- package/dist/Pagination-CbBte3GQ.js.map +1 -0
- package/dist/Pagination.js +1 -1
- package/dist/Popover-CQhLSNYR.js +537 -0
- package/dist/Popover-CQhLSNYR.js.map +1 -0
- package/dist/{Popover-Br6qPgKe.js → Popover-Rha0q-Pv.js} +353 -353
- package/dist/Popover-Rha0q-Pv.js.map +1 -0
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-JpRDW5vG.js → ProgressBar-DEaMqbM-.js} +2 -2
- package/dist/{ProgressBar-JpRDW5vG.js.map → ProgressBar-DEaMqbM-.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-8DmfWHYq.js → Radio-Bw2LDl9G.js} +13 -4
- package/dist/{Radio-8DmfWHYq.js.map → Radio-Bw2LDl9G.js.map} +1 -1
- package/dist/Radio-CCvu8mbI.js +60 -0
- package/dist/Radio-CCvu8mbI.js.map +1 -0
- package/dist/Radio.js +1 -1
- package/dist/{SegmentedControl-7fDLhgvh.js → SegmentedControl-BAi4pnFe.js} +79 -75
- package/dist/{SegmentedControl-7fDLhgvh.js.map → SegmentedControl-BAi4pnFe.js.map} +1 -1
- package/dist/SegmentedControl.js +1 -1
- package/dist/SelectCard-ZaAD0wR1.js +325 -0
- package/dist/SelectCard-ZaAD0wR1.js.map +1 -0
- package/dist/SelectCard.css +23 -18
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-Dr8HeW3N.js → SelectFieldLabel-EJCXA02B.js} +2 -2
- package/dist/{SelectFieldLabel-Dr8HeW3N.js.map → SelectFieldLabel-EJCXA02B.js.map} +1 -1
- package/dist/{SelectFieldSync-BPopU0om.js → SelectFieldSync-DA54WXOk.js} +4 -4
- package/dist/{SelectFieldSync-BPopU0om.js.map → SelectFieldSync-DA54WXOk.js.map} +1 -1
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DeMYO1m_.js → SelectMenuSync-BQaSTcaN.js} +29 -9
- package/dist/SelectMenuSync-BQaSTcaN.js.map +1 -0
- package/dist/{SelectOptions-DBe5ZN_-.js → SelectOptions-D-DzWmKE.js} +2 -2
- package/dist/{SelectOptions-DBe5ZN_-.js.map → SelectOptions-D-DzWmKE.js.map} +1 -1
- package/dist/{SelectTrigger-ObsnAKNp.js → SelectTrigger-DWyRndmY.js} +3 -3
- package/dist/{SelectTrigger-ObsnAKNp.js.map → SelectTrigger-DWyRndmY.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-DKfOL2RJ.js → SelectTriggerBase-B6aZd2a6.js} +3 -3
- package/dist/{SelectTriggerBase-DKfOL2RJ.js.map → SelectTriggerBase-B6aZd2a6.js.map} +1 -1
- package/dist/{SideNav-KksbSQn7.js → SideNav-CxHemV3H.js} +127 -125
- package/dist/{SideNav-KksbSQn7.js.map → SideNav-CxHemV3H.js.map} +1 -1
- package/dist/SideNav.js +1 -1
- package/dist/{Stepper-Dt8_ImvJ.js → Stepper-CQUXV6P4.js} +156 -156
- package/dist/{Stepper-Dt8_ImvJ.js.map → Stepper-CQUXV6P4.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{Tab-DO7LaUbw.js → Tab-BGGNcz9S.js} +225 -221
- package/dist/Tab-BGGNcz9S.js.map +1 -0
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{TextField--co7QJ4r.js → TextField-CMv9CpBq.js} +2 -2
- package/dist/{TextField--co7QJ4r.js.map → TextField-CMv9CpBq.js.map} +1 -1
- package/dist/{TextField-Cax4UeNl.js → TextField-o8zvVFDk.js} +8 -3
- package/dist/TextField-o8zvVFDk.js.map +1 -0
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-DyqdMTvQ.js → Textarea-B4bBvO8c.js} +2 -2
- package/dist/{Textarea-DyqdMTvQ.js.map → Textarea-B4bBvO8c.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{TimeField-BfcLCWMG.js → TimeField-BEgnjk4R.js} +4 -5
- package/dist/{TimeField-BfcLCWMG.js.map → TimeField-BEgnjk4R.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-b0-Ub3yt.js → Toaster-6_LVKok2.js} +2 -2
- package/dist/{Toaster-b0-Ub3yt.js.map → Toaster-6_LVKok2.js.map} +1 -1
- package/dist/{Toaster-DikGo_hR.js → Toaster-B38WlKC7.js} +2 -2
- package/dist/{Toaster-DikGo_hR.js.map → Toaster-B38WlKC7.js.map} +1 -1
- package/dist/{Toolbar-DqYMc_w8.js → Toolbar-0EKhrvZN.js} +147 -146
- package/dist/{Toolbar-DqYMc_w8.js.map → Toolbar-0EKhrvZN.js.map} +1 -1
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-Bupqao9B.js → Tooltip-BHwSTwsv.js} +224 -226
- package/dist/Tooltip-BHwSTwsv.js.map +1 -0
- package/dist/Tooltip.js +1 -1
- package/dist/{YearlessDateInputWithPicker-aq99rKJU.js → YearlessDateInputWithPicker-BC4lRuny.js} +2 -3
- package/dist/YearlessDateInputWithPicker-BC4lRuny.js.map +1 -0
- package/dist/beta/components/MultiSelectMenu/types.d.ts +15 -0
- package/dist/beta/components/SelectMenu/internal/useMenuInteraction.d.ts +3 -1
- package/dist/beta/components/SelectMenu/types.d.ts +15 -0
- package/dist/beta/components/Table/DataTable/DataTable.d.ts +9 -16
- package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectAsyncCell.d.ts +35 -0
- package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableMultiselectCell.d.ts +4 -3
- package/dist/beta/components/Table/DataTable/internal/editable-cells/DataTableEditableSelectAsyncCell.d.ts +7 -0
- package/dist/beta/components/Table/DataTable/internal/editable-cells/useEditableMenuCell.d.ts +34 -0
- package/dist/beta/components/Table/DataTable/internal/util/getTanStackColumnDef.d.ts +9 -5
- package/dist/beta/components/Table/DataTable/types.d.ts +18 -1
- package/dist/beta/components/Table/createColumnHelper.d.ts +29 -68
- package/dist/beta/components/Table/types.d.ts +222 -40
- package/dist/beta/components/Toolbar/Toolbar.d.ts +168 -41
- package/dist/beta.js +9 -9
- package/dist/components/Announcement/Announcement.figma.d.ts +1 -0
- package/dist/components/Avatar/Avatar.d.ts +14 -0
- package/dist/components/Calendar/Calendar.d.ts +84 -26
- package/dist/components/Checkbox/internal/Checkbox.d.ts +8 -0
- package/dist/components/Combobox/Combobox.d.ts +172 -1
- package/dist/components/Dialog/Dialog.d.ts +96 -28
- package/dist/components/DndSort/internal/test-utils.d.ts +15 -8
- package/dist/components/DrillDown/DrillDown.d.ts +7 -1
- package/dist/components/FieldMessage/FieldMessage.figma.d.ts +1 -0
- package/dist/components/Layout/Layout.d.ts +52 -44
- package/dist/components/ListView/ListView.d.ts +5 -5
- package/dist/components/Listbox/Listbox.d.ts +5 -23
- package/dist/components/Menu/Menu.d.ts +1 -4
- package/dist/components/Page/Page.d.ts +1 -1
- package/dist/components/Page/PageContent.d.ts +5 -5
- package/dist/components/Page/PageContext.d.ts +2 -0
- package/dist/components/Page/PageFooter.d.ts +1 -0
- package/dist/components/Radio/internal/Radio.d.ts +8 -0
- package/dist/components/Toolbar/Toolbar.d.ts +3 -1
- package/dist/index.js +126 -126
- package/dist/index.js.map +1 -1
- package/dist/internal/components/Popover/Popover.d.ts +2 -2
- package/dist/internal/components/Popover/internal/PopoverContext.d.ts +2 -2
- package/dist/{syncFilterUtils-BRKjFwxk.js → syncFilterUtils-B03Pc941.js} +190 -190
- package/dist/{syncFilterUtils-BRKjFwxk.js.map → syncFilterUtils-B03Pc941.js.map} +1 -1
- package/dist/{useDrilldown-CqBBB_r1.js → useDrilldown-BW2XkUcK.js} +40 -38
- package/dist/{useDrilldown-CqBBB_r1.js.map → useDrilldown-BW2XkUcK.js.map} +1 -1
- package/dist/{useMenuInteraction-zR_78KQC.js → useMenuInteraction-BwZ2ORo9.js} +8 -3
- package/dist/useMenuInteraction-BwZ2ORo9.js.map +1 -0
- package/dist/{useToggleSelection-JD62Jzqu.js → useToggleSelection-Dip0eimQ.js} +2 -2
- package/dist/{useToggleSelection-JD62Jzqu.js.map → useToggleSelection-Dip0eimQ.js.map} +1 -1
- package/package.json +10 -9
- package/dist/Avatar--CnTAnfD.js +0 -35
- package/dist/Avatar--CnTAnfD.js.map +0 -1
- package/dist/Breadcrumbs-3Y7jnj-F.js +0 -105
- package/dist/Breadcrumbs-3Y7jnj-F.js.map +0 -1
- package/dist/Calendar-B0u3EgCY.js.map +0 -1
- package/dist/Checkbox-BwULIo4D.js.map +0 -1
- package/dist/Checkbox-CIj37_vY.js +0 -50
- package/dist/Checkbox-CIj37_vY.js.map +0 -1
- package/dist/DataTable-qoseu_e2.js.map +0 -1
- package/dist/DateFieldRange-rks7jQor.js.map +0 -1
- package/dist/Details-Dxq_v3Qg.js.map +0 -1
- package/dist/Dialog-CMhypnCD.js.map +0 -1
- package/dist/Drawer-CSelPi8t.js.map +0 -1
- package/dist/Grid-ONcUpb__.js +0 -147
- package/dist/Grid-ONcUpb__.js.map +0 -1
- package/dist/Layout-VfhlilMG.js.map +0 -1
- package/dist/List-CJZjElAQ.js +0 -101
- package/dist/List-CJZjElAQ.js.map +0 -1
- package/dist/ListView-CeGwrRbt.js.map +0 -1
- package/dist/Listbox-BtAgBDRS.js.map +0 -1
- package/dist/Menu-BXsmCP20.js.map +0 -1
- package/dist/MultiSelectMenuSync-CAPhhkK1.js.map +0 -1
- package/dist/Page-BpV1yHkm.js.map +0 -1
- package/dist/Pagination-BAwqfl_2.js.map +0 -1
- package/dist/Popover-Br6qPgKe.js.map +0 -1
- package/dist/Popover-Dkw_8dZx.js +0 -535
- package/dist/Popover-Dkw_8dZx.js.map +0 -1
- package/dist/Radio-M7lc0BsU.js +0 -60
- package/dist/Radio-M7lc0BsU.js.map +0 -1
- package/dist/SelectCard-D5dcOIuf.js +0 -311
- package/dist/SelectCard-D5dcOIuf.js.map +0 -1
- package/dist/SelectMenuSync-DeMYO1m_.js.map +0 -1
- package/dist/Tab-DO7LaUbw.js.map +0 -1
- package/dist/TextField-Cax4UeNl.js.map +0 -1
- package/dist/Tooltip-Bupqao9B.js.map +0 -1
- package/dist/YearlessDateInputWithPicker-aq99rKJU.js.map +0 -1
- package/dist/useMenuInteraction-zR_78KQC.js.map +0 -1
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { BooleanFormatterOptions, CurrencyFormatterOptions, DateFormatterOptions, DateTimeFormatterOptions, NumberFormatterOptions, PercentFormatterOptions, TimeFormatterOptions } from './formatters';
|
|
3
|
+
import { SelectMenuOption, SelectMenuGroupByValue } from '../SelectMenu';
|
|
4
|
+
import { SelectMenuSyncProps } from '../SelectMenu/SelectMenuSync';
|
|
5
|
+
import { SelectMenuProps } from '../SelectMenu/types';
|
|
6
|
+
import { MultiSelectMenuOption } from '../MultiSelectMenu';
|
|
7
|
+
import { MultiSelectMenuSyncProps } from '../MultiSelectMenu/MultiSelectMenuSync';
|
|
8
|
+
import { MultiSelectMenuProps } from '../MultiSelectMenu/types';
|
|
3
9
|
/**
|
|
4
10
|
* Column type literals for display configuration.
|
|
5
11
|
* Each type maps to a default formatter and alignment.
|
|
@@ -36,15 +42,10 @@ export type ColumnTypeConfig<T extends ColumnType = ColumnType> = T | {
|
|
|
36
42
|
type: T;
|
|
37
43
|
options: ColumnTypeOptionsMap[T];
|
|
38
44
|
};
|
|
39
|
-
/**
|
|
40
|
-
* Utility type that extracts the element type from an array type.
|
|
41
|
-
* Used for multiselect options type inference.
|
|
42
|
-
*/
|
|
43
|
-
type ArrayElement<T> = T extends (infer U)[] ? U : never;
|
|
44
45
|
/**
|
|
45
46
|
* Edit mode literals for editable cells.
|
|
46
47
|
*/
|
|
47
|
-
export type EditMode = "text" | "number" | "select" | "multiselect" | "boolean";
|
|
48
|
+
export type EditMode = "text" | "number" | "select" | "select-async" | "multiselect" | "multiselect-async" | "boolean";
|
|
48
49
|
/**
|
|
49
50
|
* Base edit configuration shared by all edit modes.
|
|
50
51
|
* @template T - The row data type
|
|
@@ -107,42 +108,235 @@ export type NumberEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
|
|
|
107
108
|
*/
|
|
108
109
|
minimumFractionDigits?: number;
|
|
109
110
|
};
|
|
111
|
+
type SelectMenuCellPassthroughProps = Omit<SelectMenuSyncProps, "trigger" | "label" | "value" | "onSelectedOptionChange" | "options" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
|
|
112
|
+
type MultiSelectMenuCellPassthroughProps = Omit<MultiSelectMenuSyncProps, "trigger" | "label" | "value" | "onSelectedOptionsChange" | "options" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
|
|
110
113
|
/**
|
|
111
114
|
* Edit configuration for select mode cells.
|
|
112
115
|
* @template T - The row data type
|
|
113
116
|
* @template K - The column key
|
|
114
117
|
*/
|
|
115
|
-
export type SelectEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
|
|
118
|
+
export type SelectEditConfig<T, K extends keyof T> = Omit<BaseEditConfig<T, K>, "onChange"> & {
|
|
116
119
|
/**
|
|
117
|
-
* Select edit mode - renders a
|
|
120
|
+
* Select edit mode - renders a SelectMenu popover.
|
|
118
121
|
*/
|
|
119
122
|
mode: "select";
|
|
120
123
|
/**
|
|
121
124
|
* The options available for selection.
|
|
122
125
|
*/
|
|
123
|
-
options:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
options: SelectMenuOption[];
|
|
127
|
+
/**
|
|
128
|
+
* Callback fired when the selected option changes.
|
|
129
|
+
* @param option - The newly selected option, or null if cleared
|
|
130
|
+
* @param rowId - The id of the row being edited
|
|
131
|
+
*/
|
|
132
|
+
onChange: (option: SelectMenuOption | null, rowId: string) => void;
|
|
133
|
+
} & SelectMenuCellPassthroughProps;
|
|
128
134
|
/**
|
|
129
135
|
* Edit configuration for multiselect mode cells.
|
|
130
136
|
* @template T - The row data type
|
|
131
137
|
* @template K - The column key
|
|
132
138
|
*/
|
|
133
|
-
export type MultiselectEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
|
|
139
|
+
export type MultiselectEditConfig<T, K extends keyof T> = Omit<BaseEditConfig<T, K>, "onChange"> & {
|
|
134
140
|
/**
|
|
135
|
-
* Multiselect edit mode - renders a searchable
|
|
141
|
+
* Multiselect edit mode - renders a searchable MultiSelectMenu popover.
|
|
136
142
|
*/
|
|
137
143
|
mode: "multiselect";
|
|
138
144
|
/**
|
|
139
145
|
* The options available for selection.
|
|
140
146
|
*/
|
|
141
|
-
options:
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
147
|
+
options: MultiSelectMenuOption[];
|
|
148
|
+
/**
|
|
149
|
+
* Callback fired when the selected options change.
|
|
150
|
+
* @param options - The newly selected options
|
|
151
|
+
* @param rowId - The id of the row being edited
|
|
152
|
+
*/
|
|
153
|
+
onChange: (options: MultiSelectMenuOption[], rowId: string) => void;
|
|
154
|
+
} & MultiSelectMenuCellPassthroughProps;
|
|
155
|
+
type SelectMenuAsyncCellPassthroughProps = Omit<SelectMenuProps, "trigger" | "label" | "value" | "onSelectedOptionChange" | "loadOptions" | "lazy" | "lazyOptions" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
|
|
156
|
+
type MultiSelectMenuAsyncCellPassthroughProps = Omit<MultiSelectMenuProps, "trigger" | "label" | "value" | "onSelectedOptionsChange" | "loadOptions" | "lazy" | "lazyOptions" | "onMenuKeyDown" | "onImplicitClose" | "onExplicitClose">;
|
|
157
|
+
/**
|
|
158
|
+
* Context passed to `loadOptions` for async edit configs.
|
|
159
|
+
* Provides row data for per-row option loading.
|
|
160
|
+
* @template T - The row data type
|
|
161
|
+
* @property row - The full row data object
|
|
162
|
+
* @property rowId - The string id of the row
|
|
163
|
+
*/
|
|
164
|
+
export type AsyncCellContext<T> = {
|
|
165
|
+
row: T;
|
|
166
|
+
rowId: string;
|
|
145
167
|
};
|
|
168
|
+
/**
|
|
169
|
+
* Eager loader for `mode: "select-async"` — returns all matching options at once.
|
|
170
|
+
* @template T - The row data type
|
|
171
|
+
*/
|
|
172
|
+
export type SelectAsyncCellEagerLoader<T> = (searchValue: string, context: AsyncCellContext<T>) => SelectMenuOption[] | Promise<SelectMenuOption[]>;
|
|
173
|
+
/**
|
|
174
|
+
* Page-based lazy loader for `mode: "select-async"`.
|
|
175
|
+
* @template T - The row data type
|
|
176
|
+
*/
|
|
177
|
+
export type SelectAsyncCellPageLoader<T> = (searchValue: string, pageNumber: number, pageSize: number, context: AsyncCellContext<T>) => {
|
|
178
|
+
options: SelectMenuOption[];
|
|
179
|
+
hasMore?: boolean;
|
|
180
|
+
} | Promise<{
|
|
181
|
+
options: SelectMenuOption[];
|
|
182
|
+
hasMore?: boolean;
|
|
183
|
+
}>;
|
|
184
|
+
/**
|
|
185
|
+
* Offset-based lazy loader for `mode: "select-async"`.
|
|
186
|
+
* @template T - The row data type
|
|
187
|
+
*/
|
|
188
|
+
export type SelectAsyncCellOffsetLoader<T> = (searchValue: string, offset: number, limit: number, context: AsyncCellContext<T>) => {
|
|
189
|
+
options: SelectMenuOption[];
|
|
190
|
+
hasMore?: boolean;
|
|
191
|
+
} | Promise<{
|
|
192
|
+
options: SelectMenuOption[];
|
|
193
|
+
hasMore?: boolean;
|
|
194
|
+
}>;
|
|
195
|
+
/**
|
|
196
|
+
* Group-based lazy loader for `mode: "select-async"`.
|
|
197
|
+
* @template T - The row data type
|
|
198
|
+
*/
|
|
199
|
+
export type SelectAsyncCellGroupLoader<T> = (searchValue: string, previousGroupKey: SelectMenuGroupByValue | null, context: AsyncCellContext<T>) => {
|
|
200
|
+
options: SelectMenuOption[];
|
|
201
|
+
hasMore?: boolean;
|
|
202
|
+
} | Promise<{
|
|
203
|
+
options: SelectMenuOption[];
|
|
204
|
+
hasMore?: boolean;
|
|
205
|
+
}>;
|
|
206
|
+
/**
|
|
207
|
+
* Eager loader for `mode: "multiselect-async"` — returns all matching options at once.
|
|
208
|
+
* @template T - The row data type
|
|
209
|
+
*/
|
|
210
|
+
export type MultiselectAsyncCellEagerLoader<T> = (searchValue: string, context: AsyncCellContext<T>) => MultiSelectMenuOption[] | Promise<MultiSelectMenuOption[]>;
|
|
211
|
+
/**
|
|
212
|
+
* Page-based lazy loader for `mode: "multiselect-async"`.
|
|
213
|
+
* @template T - The row data type
|
|
214
|
+
*/
|
|
215
|
+
export type MultiselectAsyncCellPageLoader<T> = (searchValue: string, pageNumber: number, pageSize: number, context: AsyncCellContext<T>) => {
|
|
216
|
+
options: MultiSelectMenuOption[];
|
|
217
|
+
hasMore?: boolean;
|
|
218
|
+
} | Promise<{
|
|
219
|
+
options: MultiSelectMenuOption[];
|
|
220
|
+
hasMore?: boolean;
|
|
221
|
+
}>;
|
|
222
|
+
/**
|
|
223
|
+
* Offset-based lazy loader for `mode: "multiselect-async"`.
|
|
224
|
+
* @template T - The row data type
|
|
225
|
+
*/
|
|
226
|
+
export type MultiselectAsyncCellOffsetLoader<T> = (searchValue: string, offset: number, limit: number, context: AsyncCellContext<T>) => {
|
|
227
|
+
options: MultiSelectMenuOption[];
|
|
228
|
+
hasMore?: boolean;
|
|
229
|
+
} | Promise<{
|
|
230
|
+
options: MultiSelectMenuOption[];
|
|
231
|
+
hasMore?: boolean;
|
|
232
|
+
}>;
|
|
233
|
+
/**
|
|
234
|
+
* Group-based lazy loader for `mode: "multiselect-async"`.
|
|
235
|
+
* @template T - The row data type
|
|
236
|
+
*/
|
|
237
|
+
export type MultiselectAsyncCellGroupLoader<T> = (searchValue: string, previousGroupKey: SelectMenuGroupByValue | null, context: AsyncCellContext<T>) => {
|
|
238
|
+
options: MultiSelectMenuOption[];
|
|
239
|
+
hasMore?: boolean;
|
|
240
|
+
} | Promise<{
|
|
241
|
+
options: MultiSelectMenuOption[];
|
|
242
|
+
hasMore?: boolean;
|
|
243
|
+
}>;
|
|
244
|
+
type SelectAsyncEditConfigBase = {
|
|
245
|
+
/**
|
|
246
|
+
* Callback fired when the selected option changes.
|
|
247
|
+
* @param option - The newly selected option, or null if cleared
|
|
248
|
+
* @param rowId - The id of the row being edited
|
|
249
|
+
*/
|
|
250
|
+
onChange: (option: SelectMenuOption | null, rowId: string) => void;
|
|
251
|
+
} & SelectMenuAsyncCellPassthroughProps;
|
|
252
|
+
/**
|
|
253
|
+
* Edit configuration for async select mode cells.
|
|
254
|
+
* Uses `SelectMenu` directly (not `SelectMenuSync`) to support server-side option loading.
|
|
255
|
+
*
|
|
256
|
+
* The `loadOptions` function receives a `context` argument as its last parameter,
|
|
257
|
+
* containing the current row data and row id. This enables per-row option loading.
|
|
258
|
+
*
|
|
259
|
+
* By default, caching is disabled to prevent cross-row cache pollution when `loadOptions`
|
|
260
|
+
* uses row context. Pass `cache={{ enabled: true }}` to override.
|
|
261
|
+
*
|
|
262
|
+
* Cell value is expected to be a primitive that matches a `SelectMenuOption.id`.
|
|
263
|
+
*
|
|
264
|
+
* @template T - The row data type
|
|
265
|
+
*/
|
|
266
|
+
export type SelectAsyncEditConfig<T> = (SelectAsyncEditConfigBase & {
|
|
267
|
+
mode: "select-async";
|
|
268
|
+
lazy?: false;
|
|
269
|
+
loadOptions: SelectAsyncCellEagerLoader<T>;
|
|
270
|
+
lazyOptions?: never;
|
|
271
|
+
}) | (SelectAsyncEditConfigBase & {
|
|
272
|
+
mode: "select-async";
|
|
273
|
+
lazy: "page";
|
|
274
|
+
loadOptions: SelectAsyncCellPageLoader<T>;
|
|
275
|
+
lazyOptions?: {
|
|
276
|
+
pageSize?: number;
|
|
277
|
+
};
|
|
278
|
+
}) | (SelectAsyncEditConfigBase & {
|
|
279
|
+
mode: "select-async";
|
|
280
|
+
lazy: "offset";
|
|
281
|
+
loadOptions: SelectAsyncCellOffsetLoader<T>;
|
|
282
|
+
lazyOptions?: {
|
|
283
|
+
limit?: number;
|
|
284
|
+
};
|
|
285
|
+
}) | (SelectAsyncEditConfigBase & {
|
|
286
|
+
mode: "select-async";
|
|
287
|
+
lazy: "group";
|
|
288
|
+
loadOptions: SelectAsyncCellGroupLoader<T>;
|
|
289
|
+
lazyOptions?: object;
|
|
290
|
+
});
|
|
291
|
+
type MultiselectAsyncEditConfigBase = {
|
|
292
|
+
/**
|
|
293
|
+
* Callback fired when the selected options change.
|
|
294
|
+
* @param options - The newly selected options (full option objects)
|
|
295
|
+
* @param rowId - The id of the row being edited
|
|
296
|
+
*/
|
|
297
|
+
onChange: (options: MultiSelectMenuOption[], rowId: string) => void;
|
|
298
|
+
} & MultiSelectMenuAsyncCellPassthroughProps;
|
|
299
|
+
/**
|
|
300
|
+
* Edit configuration for async multiselect mode cells.
|
|
301
|
+
* Uses `MultiSelectMenu` directly (not `MultiSelectMenuSync`) to support server-side option loading.
|
|
302
|
+
*
|
|
303
|
+
* The `loadOptions` function receives a `context` argument as its last parameter,
|
|
304
|
+
* containing the current row data and row id. This enables per-row option loading.
|
|
305
|
+
*
|
|
306
|
+
* By default, caching is disabled to prevent cross-row cache pollution when `loadOptions`
|
|
307
|
+
* uses row context. Pass `cache={{ enabled: true }}` to override.
|
|
308
|
+
*
|
|
309
|
+
* **Value contract**: Unlike `mode: "multiselect"` (which stores ID arrays), the cell value
|
|
310
|
+
* for `mode: "multiselect-async"` must be `MultiSelectMenuOption[]` — full option objects.
|
|
311
|
+
* The `onChange` callback receives these objects directly and the consumer stores them wholesale.
|
|
312
|
+
*
|
|
313
|
+
* @template T - The row data type
|
|
314
|
+
*/
|
|
315
|
+
export type MultiselectAsyncEditConfig<T> = (MultiselectAsyncEditConfigBase & {
|
|
316
|
+
mode: "multiselect-async";
|
|
317
|
+
lazy?: false;
|
|
318
|
+
loadOptions: MultiselectAsyncCellEagerLoader<T>;
|
|
319
|
+
lazyOptions?: never;
|
|
320
|
+
}) | (MultiselectAsyncEditConfigBase & {
|
|
321
|
+
mode: "multiselect-async";
|
|
322
|
+
lazy: "page";
|
|
323
|
+
loadOptions: MultiselectAsyncCellPageLoader<T>;
|
|
324
|
+
lazyOptions?: {
|
|
325
|
+
pageSize?: number;
|
|
326
|
+
};
|
|
327
|
+
}) | (MultiselectAsyncEditConfigBase & {
|
|
328
|
+
mode: "multiselect-async";
|
|
329
|
+
lazy: "offset";
|
|
330
|
+
loadOptions: MultiselectAsyncCellOffsetLoader<T>;
|
|
331
|
+
lazyOptions?: {
|
|
332
|
+
limit?: number;
|
|
333
|
+
};
|
|
334
|
+
}) | (MultiselectAsyncEditConfigBase & {
|
|
335
|
+
mode: "multiselect-async";
|
|
336
|
+
lazy: "group";
|
|
337
|
+
loadOptions: MultiselectAsyncCellGroupLoader<T>;
|
|
338
|
+
lazyOptions?: object;
|
|
339
|
+
});
|
|
146
340
|
/**
|
|
147
341
|
* Edit configuration for boolean mode cells.
|
|
148
342
|
* Renders a dropdown menu with predefined true/false options and an optional null option.
|
|
@@ -200,8 +394,8 @@ export type BooleanEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
|
|
|
200
394
|
* // Select editing
|
|
201
395
|
* editConfig: {
|
|
202
396
|
* mode: "select",
|
|
203
|
-
* options: [{
|
|
204
|
-
* onChange: (
|
|
397
|
+
* options: [{ id: "active", label: "Active" }],
|
|
398
|
+
* onChange: (option, rowId) => save(option?.id, rowId)
|
|
205
399
|
* }
|
|
206
400
|
*
|
|
207
401
|
* // Boolean editing
|
|
@@ -213,7 +407,7 @@ export type BooleanEditConfig<T, K extends keyof T> = BaseEditConfig<T, K> & {
|
|
|
213
407
|
* }
|
|
214
408
|
* ```
|
|
215
409
|
*/
|
|
216
|
-
export type EditConfig<T, K extends keyof T> = TextEditConfig<T, K> | NumberEditConfig<T, K> | SelectEditConfig<T, K> | MultiselectEditConfig<T, K> | BooleanEditConfig<T, K>;
|
|
410
|
+
export type EditConfig<T, K extends keyof T> = TextEditConfig<T, K> | NumberEditConfig<T, K> | SelectEditConfig<T, K> | SelectAsyncEditConfig<T> | MultiselectEditConfig<T, K> | MultiselectAsyncEditConfig<T> | BooleanEditConfig<T, K>;
|
|
217
411
|
/**
|
|
218
412
|
* The type for a table row
|
|
219
413
|
* @extends T
|
|
@@ -327,17 +521,18 @@ export type ColumnDef<T> = {
|
|
|
327
521
|
* // Select editing
|
|
328
522
|
* editConfig: {
|
|
329
523
|
* mode: "select",
|
|
330
|
-
* options: [{
|
|
331
|
-
* onChange: (
|
|
524
|
+
* options: [{ id: "active", label: "Active" }],
|
|
525
|
+
* onChange: (option, rowId) => save(option?.id, rowId)
|
|
332
526
|
* }
|
|
333
527
|
* ```
|
|
334
528
|
*/
|
|
335
529
|
editConfig?: EditConfig<T, keyof T>;
|
|
336
530
|
/**
|
|
337
|
-
*
|
|
338
|
-
*
|
|
531
|
+
* Custom content to display when a cell value is empty (null, undefined, or empty string).
|
|
532
|
+
* Overrides the default em dash. When set on both the column and the DataTable,
|
|
533
|
+
* the column-level value takes precedence.
|
|
339
534
|
*/
|
|
340
|
-
|
|
535
|
+
emptyCellContent?: ReactNode;
|
|
341
536
|
/**
|
|
342
537
|
* The content of the footer cell. An array will display multiple footer rows
|
|
343
538
|
*/
|
|
@@ -350,19 +545,6 @@ export type ColumnDef<T> = {
|
|
|
350
545
|
* The minimum width of the column, in pixels
|
|
351
546
|
*/
|
|
352
547
|
minWidth?: number;
|
|
353
|
-
/**
|
|
354
|
-
* The function to call when the value of an editable cell is saved.
|
|
355
|
-
* @deprecated Move inside `editConfig`. Example: `editConfig: { mode: "text", onChange: ... }`
|
|
356
|
-
*/
|
|
357
|
-
onChange?: (value: T[keyof T], rowId: string) => void;
|
|
358
|
-
/**
|
|
359
|
-
* The options for the select or multiselect cells.
|
|
360
|
-
* @deprecated Move inside `editConfig`. Example: `editConfig: { mode: "select", options: [...], onChange: ... }`
|
|
361
|
-
*/
|
|
362
|
-
options?: {
|
|
363
|
-
value: T[keyof T];
|
|
364
|
-
label: string;
|
|
365
|
-
}[];
|
|
366
548
|
/**
|
|
367
549
|
* The pinning location of the column
|
|
368
550
|
*/
|
|
@@ -57,7 +57,7 @@ export type ToolbarProps = ComponentPropsWithoutRef<"div"> & LayoutUtilProps & {
|
|
|
57
57
|
* />
|
|
58
58
|
* </Toolbar>
|
|
59
59
|
*/
|
|
60
|
-
export declare const
|
|
60
|
+
export declare const Toolbar: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & LayoutUtilProps & {
|
|
61
61
|
/**
|
|
62
62
|
* Description of the content this toolbar is associated with, used for accessibility
|
|
63
63
|
*/
|
|
@@ -81,46 +81,173 @@ export declare const ToolbarElement: import('react').ForwardRefExoticComponent<O
|
|
|
81
81
|
* @default xsmall
|
|
82
82
|
*/
|
|
83
83
|
size?: ToolbarSize;
|
|
84
|
-
} & import('react').RefAttributes<HTMLDivElement
|
|
85
|
-
/**
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
84
|
+
} & import('react').RefAttributes<HTMLDivElement>> & {
|
|
85
|
+
/**
|
|
86
|
+
* ToolbarButton component for standard clickable actions within a toolbar with anvil2 tracking.
|
|
87
|
+
*
|
|
88
|
+
* Features:
|
|
89
|
+
* - Designed specifically for toolbar integration
|
|
90
|
+
* - Consistent styling with other toolbar items
|
|
91
|
+
* - Automatic tooltip for icon-only buttons
|
|
92
|
+
* - Overflow menu support
|
|
93
|
+
* - Accessibility enforcement for aria-labels
|
|
94
|
+
* - Ghost and primary appearance options
|
|
95
|
+
* - Automatic tracking ID generation for analytics
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* <Toolbar.Button icon={BoldIcon} aria-label="Bold text" />
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* <Toolbar.Button appearance="primary">
|
|
102
|
+
* Save
|
|
103
|
+
* </Toolbar.Button>
|
|
104
|
+
*/
|
|
105
|
+
Button: import('react').ForwardRefExoticComponent<import('./ToolbarButton').ToolbarButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
106
|
+
/**
|
|
107
|
+
* ToolbarButtonToggle component for toggleable actions within a toolbar with anvil2 tracking.
|
|
108
|
+
*
|
|
109
|
+
* Features:
|
|
110
|
+
* - Toggle state management
|
|
111
|
+
* - Designed specifically for toolbar integration
|
|
112
|
+
* - Consistent styling with other toolbar items
|
|
113
|
+
* - Overflow menu support
|
|
114
|
+
* - Accessibility enforcement for aria-labels
|
|
115
|
+
* - Ghost and primary appearance options
|
|
116
|
+
* - Automatic tracking ID generation for analytics
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* <Toolbar.ButtonToggle icon={BoldIcon} aria-label="Bold" checked={isBold} />
|
|
120
|
+
*/
|
|
121
|
+
ButtonToggle: import('react').ForwardRefExoticComponent<import('./ToolbarButtonToggle').ToolbarButtonToggleProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
122
|
+
/**
|
|
123
|
+
* ToolbarButtonLink component for link actions within a toolbar with anvil2 tracking.
|
|
124
|
+
*
|
|
125
|
+
* Features:
|
|
126
|
+
* - Link functionality with href support
|
|
127
|
+
* - Designed specifically for toolbar integration
|
|
128
|
+
* - Consistent styling with other toolbar items
|
|
129
|
+
* - Overflow menu support
|
|
130
|
+
* - Accessibility enforcement for aria-labels
|
|
131
|
+
* - Ghost and primary appearance options
|
|
132
|
+
* - Automatic tracking ID generation for analytics
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* <Toolbar.ButtonLink href="/help">
|
|
136
|
+
* Help
|
|
137
|
+
* </Toolbar.ButtonLink>
|
|
138
|
+
*/
|
|
139
|
+
ButtonLink: import('react').ForwardRefExoticComponent<import('./ToolbarButtonLink').ToolbarButtonLinkProps & import('react').RefAttributes<HTMLAnchorElement>>;
|
|
140
|
+
/**
|
|
141
|
+
* ToolbarSelect component provides a dropdown selector within a toolbar with anvil2 tracking.
|
|
142
|
+
*
|
|
143
|
+
* Features:
|
|
144
|
+
* - Dropdown menu with selectable options
|
|
145
|
+
* - Controlled and uncontrolled usage patterns
|
|
146
|
+
* - Automatic overflow menu integration
|
|
147
|
+
* - Accessibility support with proper ARIA labels
|
|
148
|
+
* - Ghost and primary appearance options
|
|
149
|
+
* - Dropdown arrow icon indicator
|
|
150
|
+
* - Listbox integration for keyboard navigation
|
|
151
|
+
* - Automatic tracking ID generation for analytics
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* <Toolbar.Select
|
|
155
|
+
* items={fontOptions}
|
|
156
|
+
* selected="arial"
|
|
157
|
+
* accessibleLabel="Font family"
|
|
158
|
+
* onChange={(id) => setFont(id)}
|
|
159
|
+
* />
|
|
160
|
+
*/
|
|
161
|
+
Select: import('react').ForwardRefExoticComponent<Omit<Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
|
|
162
|
+
appearance?: import('../../..').ButtonAppearance;
|
|
163
|
+
size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
|
|
164
|
+
loading?: boolean;
|
|
165
|
+
} & {
|
|
166
|
+
children?: ComponentPropsWithoutRef<"button">["children"];
|
|
167
|
+
icon?: import('../../..').IconProps["svg"] | {
|
|
168
|
+
after: import('../../..').IconProps["svg"];
|
|
169
|
+
} | {
|
|
170
|
+
before: import('../../..').IconProps["svg"];
|
|
171
|
+
};
|
|
172
|
+
} & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref"> | Omit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & {
|
|
173
|
+
appearance?: import('../../..').ButtonAppearance;
|
|
174
|
+
size?: Extract<import('../../..').Size, "xsmall" | "small" | "medium" | "large">;
|
|
175
|
+
loading?: boolean;
|
|
176
|
+
} & {
|
|
177
|
+
children?: never;
|
|
178
|
+
icon?: import('../../..').IconProps["svg"];
|
|
179
|
+
} & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>, "ref">, "onChange" | "appearance"> & {
|
|
180
|
+
appearance?: import('./types').ToolbarItemAppearance;
|
|
181
|
+
onChange?: (optionId: string) => void;
|
|
182
|
+
selected?: string;
|
|
183
|
+
items: (Record<string, unknown> & {
|
|
184
|
+
id: string;
|
|
185
|
+
} & {
|
|
186
|
+
label: string;
|
|
187
|
+
disabled?: boolean;
|
|
188
|
+
})[];
|
|
189
|
+
accessibleLabel: string;
|
|
190
|
+
} & import('../../..').DataTrackingId & import('react').RefAttributes<HTMLButtonElement>>;
|
|
191
|
+
/**
|
|
192
|
+
* FilterGroup component displays a group of filters with toggles and a clear button.
|
|
193
|
+
* Also contains the FilterDrawer for additional filter options.
|
|
194
|
+
*
|
|
195
|
+
* Features:
|
|
196
|
+
* - Renders filter toggles and popovers for all filter types
|
|
197
|
+
* - Supports controlled and uncontrolled filtering
|
|
198
|
+
* - Integrates with FilterDrawer for batch filter editing
|
|
199
|
+
* - Provides a clear all filters button
|
|
200
|
+
* - Handles overflow and hidden filters
|
|
201
|
+
* - Shares filter state via context for child components
|
|
202
|
+
* - Supports boolean, custom, single-select, multi-select, date, and date range filter types
|
|
203
|
+
* - Date filters include calendar popup for easy selection
|
|
204
|
+
* - Date range filters support start and end date selection
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* <Toolbar.Filters
|
|
208
|
+
* filters={filters}
|
|
209
|
+
* onFilterChange={handleFilter}
|
|
210
|
+
* controlledFiltering={true}
|
|
211
|
+
* />
|
|
212
|
+
*/
|
|
213
|
+
Filters: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & LayoutUtilProps & {
|
|
214
|
+
filters: import('.').Filter[];
|
|
215
|
+
onFilterChange?: (filters: import('.').Filter[]) => void;
|
|
216
|
+
controlledFiltering?: boolean;
|
|
217
|
+
} & import('react').RefAttributes<HTMLDivElement>>;
|
|
218
|
+
/**
|
|
219
|
+
* ToolbarControlGroup component provides a flex container for grouping related toolbar controls.
|
|
220
|
+
* Can be used for filters, buttons, or other toolbar items.
|
|
221
|
+
*
|
|
222
|
+
* Features:
|
|
223
|
+
* - Groups related toolbar controls in a flex container
|
|
224
|
+
* - Supports accessibility with aria-label
|
|
225
|
+
* - Handles overflow and wrapping based on toolbar context
|
|
226
|
+
* - Integrates with layout utilities for spacing and alignment
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* <Toolbar.ControlGroup aria-label="Formatting controls">
|
|
230
|
+
* <Toolbar.Button icon={BoldIcon} aria-label="Bold" />
|
|
231
|
+
* <Toolbar.Button icon={ItalicIcon} aria-label="Italic" />
|
|
232
|
+
* </Toolbar.ControlGroup>
|
|
233
|
+
*/
|
|
234
|
+
ControlGroup: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & LayoutUtilProps & {
|
|
235
|
+
"aria-label"?: string;
|
|
236
|
+
} & import('react').RefAttributes<HTMLDivElement>>;
|
|
237
|
+
/**
|
|
238
|
+
* ToolbarSearchField component renders a search field for use in toolbars.
|
|
239
|
+
*
|
|
240
|
+
* Features:
|
|
241
|
+
* - Renders a search field styled for toolbar usage
|
|
242
|
+
* - Supports all SearchField props except size
|
|
243
|
+
* - Integrates with toolbar layouts and accessibility
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* <Toolbar.Search placeholder="Search..." />
|
|
247
|
+
*/
|
|
248
|
+
Search: import('react').ForwardRefExoticComponent<import('./ToolbarSearchField').ToolbarSearchFieldProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
249
|
+
};
|
|
250
|
+
export declare const ToolbarElement: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & LayoutUtilProps & {
|
|
124
251
|
/**
|
|
125
252
|
* Description of the content this toolbar is associated with, used for accessibility
|
|
126
253
|
*/
|
package/dist/beta.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, h as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, i as timeFormatter, y as yearlessDateFormatter } from './DataTable-
|
|
2
|
-
export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-
|
|
3
|
-
export { u as useCalendarBetaProps } from './Calendar-
|
|
4
|
-
export { C as Calendar } from './Calendar-
|
|
5
|
-
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-
|
|
6
|
-
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-
|
|
7
|
-
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-
|
|
8
|
-
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-
|
|
1
|
+
export { C as COLUMN_TYPE_DEFAULTS, D as DataTable, b as booleanFormatter, a as chipsFormatter, c as createColumnHelper, d as currencyFormatter, h as dateFormatPresets, e as dateFormatter, f as dateTimeFormatter, g as getColumnTypeDefaults, n as numberFormatter, p as percentFormatter, r as resolveColumnTypeConfig, t as timeFormatPresets, i as timeFormatter, y as yearlessDateFormatter } from './DataTable-BmVPjMMg.js';
|
|
2
|
+
export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-0EKhrvZN.js';
|
|
3
|
+
export { u as useCalendarBetaProps } from './Calendar-Frpv5rRY.js';
|
|
4
|
+
export { C as Calendar } from './Calendar-BTStJPV1.js';
|
|
5
|
+
export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-DA54WXOk.js';
|
|
6
|
+
export { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-CSOitvtu.js';
|
|
7
|
+
export { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-BQaSTcaN.js';
|
|
8
|
+
export { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-62OeGmkz.js';
|
|
9
9
|
export { I as InteractiveCard } from './InteractiveCard-GTYbR6Xy.js';
|
|
10
|
-
export { u as useAdaptiveView } from './syncFilterUtils-
|
|
10
|
+
export { u as useAdaptiveView } from './syncFilterUtils-B03Pc941.js';
|
|
11
11
|
//# sourceMappingURL=beta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -15,6 +15,20 @@ import { DistributiveOmit } from '../../types';
|
|
|
15
15
|
export type AvatarProps = DistributiveOmit<CoreAvatarProps, "size"> & {
|
|
16
16
|
size?: Extract<CoreAvatarProps["size"], "small" | "medium" | "large">;
|
|
17
17
|
};
|
|
18
|
+
/**
|
|
19
|
+
* Avatar component for displaying user avatars with initials or images.
|
|
20
|
+
*
|
|
21
|
+
* Features:
|
|
22
|
+
* - Displays user initials when no image is provided
|
|
23
|
+
* - Supports custom colors and sizes
|
|
24
|
+
* - Shows online/offline status
|
|
25
|
+
* - Fully accessible with screen reader support
|
|
26
|
+
* - Automatic image fallback handling
|
|
27
|
+
* - Automatic tracking ID generation for analytics
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* <Avatar name="John Doe" size="medium" status="online" />
|
|
31
|
+
*/
|
|
18
32
|
export declare const Avatar: import('react').ForwardRefExoticComponent<Omit<CoreAvatarProps, "size"> & {
|
|
19
33
|
size?: Extract<CoreAvatarProps["size"], "small" | "medium" | "large">;
|
|
20
34
|
} & import('react').RefAttributes<HTMLSpanElement>> & {
|