@crisp-ui-kit/crisp 0.2.0 → 0.7.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/README.md +20 -0
- package/dist/accordion.css +9 -1
- package/dist/appshell.css +12 -4
- package/dist/authshell.css +57 -0
- package/dist/authshell.d.ts +7 -0
- package/dist/avatargroup.css +2 -2
- package/dist/badge.css +4 -4
- package/dist/barchart.css +13 -5
- package/dist/base.css +25 -0
- package/dist/board.css +9 -1
- package/dist/bulkbar.css +11 -3
- package/dist/button.css +16 -2
- package/dist/button.d.ts +2 -1
- package/dist/card.css +8 -0
- package/dist/checkbox.css +17 -1
- package/dist/cjs/components/accordion/accordion.js +69 -0
- package/dist/cjs/components/accordion/accordion.recipe.js +26 -0
- package/dist/cjs/components/accordion/index.js +7 -0
- package/dist/cjs/components/avatar/avatar.js +44 -0
- package/dist/cjs/components/avatar/avatar.recipe.js +42 -0
- package/dist/cjs/components/avatar/index.js +7 -0
- package/dist/cjs/components/avatargroup/avatargroup.js +52 -0
- package/dist/cjs/components/avatargroup/avatargroup.recipe.js +18 -0
- package/dist/cjs/components/avatargroup/index.js +7 -0
- package/dist/cjs/components/badge/badge.js +44 -0
- package/dist/cjs/components/badge/badge.recipe.js +68 -0
- package/dist/cjs/components/badge/index.js +7 -0
- package/dist/cjs/components/barchart/barchart.js +45 -0
- package/dist/cjs/components/barchart/barchart.recipe.js +34 -0
- package/dist/cjs/components/barchart/index.js +7 -0
- package/dist/cjs/components/breadcrumb/breadcrumb.js +53 -0
- package/dist/cjs/components/breadcrumb/breadcrumb.recipe.js +21 -0
- package/dist/cjs/components/breadcrumb/index.js +7 -0
- package/dist/cjs/components/bulkbar/bulkbar.js +53 -0
- package/dist/cjs/components/bulkbar/bulkbar.recipe.js +31 -0
- package/dist/cjs/components/bulkbar/index.js +8 -0
- package/dist/cjs/components/button/button.js +62 -0
- package/dist/cjs/components/button/button.recipe.js +58 -0
- package/dist/cjs/components/button/index.js +7 -0
- package/dist/cjs/components/callout/callout.js +25 -0
- package/dist/cjs/components/callout/callout.recipe.js +29 -0
- package/dist/cjs/components/callout/index.js +7 -0
- package/dist/cjs/components/card/card.js +54 -0
- package/dist/cjs/components/card/card.recipe.js +31 -0
- package/dist/cjs/components/card/index.js +10 -0
- package/dist/cjs/components/checkbox/checkbox.js +56 -0
- package/dist/cjs/components/checkbox/checkbox.recipe.js +34 -0
- package/dist/cjs/components/checkbox/index.js +7 -0
- package/dist/cjs/components/columncalc/columncalc.js +139 -0
- package/dist/cjs/components/columncalc/columncalc.recipe.js +33 -0
- package/dist/cjs/components/columncalc/index.js +10 -0
- package/dist/cjs/components/contextmenu/contextmenu.js +78 -0
- package/dist/cjs/components/contextmenu/contextmenu.recipe.js +24 -0
- package/dist/cjs/components/contextmenu/index.js +7 -0
- package/dist/cjs/components/datatable/datatable.js +508 -0
- package/dist/cjs/components/datatable/datatable.recipe.js +113 -0
- package/dist/cjs/components/datatable/index.js +7 -0
- package/dist/cjs/components/datepicker/datepicker.js +153 -0
- package/dist/cjs/components/datepicker/datepicker.recipe.js +180 -0
- package/dist/cjs/components/datepicker/index.js +19 -0
- package/dist/cjs/components/datepickerfield/datepickerfield.js +85 -0
- package/dist/cjs/components/datepickerfield/datepickerfield.recipe.js +44 -0
- package/dist/cjs/components/datepickerfield/index.js +7 -0
- package/dist/cjs/components/dialog/dialog.js +86 -0
- package/dist/cjs/components/dialog/dialog.recipe.js +35 -0
- package/dist/cjs/components/dialog/index.js +9 -0
- package/dist/cjs/components/divider/divider.js +10 -0
- package/dist/cjs/components/divider/divider.recipe.js +17 -0
- package/dist/cjs/components/divider/index.js +7 -0
- package/dist/cjs/components/donutchart/donutchart.js +41 -0
- package/dist/cjs/components/donutchart/donutchart.recipe.js +30 -0
- package/dist/cjs/components/donutchart/index.js +7 -0
- package/dist/cjs/components/drawer/drawer.js +80 -0
- package/dist/cjs/components/drawer/drawer.recipe.js +30 -0
- package/dist/cjs/components/drawer/index.js +9 -0
- package/dist/cjs/components/emptystate/emptystate.js +10 -0
- package/dist/cjs/components/emptystate/emptystate.recipe.js +34 -0
- package/dist/cjs/components/emptystate/index.js +7 -0
- package/dist/cjs/components/formfield/formfield.js +50 -0
- package/dist/cjs/components/formfield/formfield.recipe.js +22 -0
- package/dist/cjs/components/formfield/index.js +7 -0
- package/dist/cjs/components/input/index.js +7 -0
- package/dist/cjs/components/input/input.js +47 -0
- package/dist/cjs/components/input/input.recipe.js +59 -0
- package/dist/cjs/components/kbd/index.js +7 -0
- package/dist/cjs/components/kbd/kbd.js +44 -0
- package/dist/cjs/components/kbd/kbd.recipe.js +23 -0
- package/dist/cjs/components/linechart/index.js +7 -0
- package/dist/cjs/components/linechart/linechart.js +57 -0
- package/dist/cjs/components/linechart/linechart.recipe.js +35 -0
- package/dist/cjs/components/menu/index.js +14 -0
- package/dist/cjs/components/menu/menu-keyboard.js +117 -0
- package/dist/cjs/components/menu/menu.js +144 -0
- package/dist/cjs/components/menu/menu.recipe.js +54 -0
- package/dist/cjs/components/multiselect/index.js +7 -0
- package/dist/cjs/components/multiselect/multiselect.js +161 -0
- package/dist/cjs/components/multiselect/multiselect.recipe.js +71 -0
- package/dist/cjs/components/popover/index.js +7 -0
- package/dist/cjs/components/popover/popover.js +106 -0
- package/dist/cjs/components/popover/popover.recipe.js +21 -0
- package/dist/cjs/components/progress/index.js +7 -0
- package/dist/cjs/components/progress/progress.js +26 -0
- package/dist/cjs/components/progress/progress.recipe.js +20 -0
- package/dist/cjs/components/radiogroup/index.js +8 -0
- package/dist/cjs/components/radiogroup/radiogroup.js +83 -0
- package/dist/cjs/components/radiogroup/radiogroup.recipe.js +40 -0
- package/dist/cjs/components/resizablepanel/index.js +12 -0
- package/dist/cjs/components/resizablepanel/resizablepanel.js +176 -0
- package/dist/cjs/components/resizablepanel/resizablepanel.recipe.js +69 -0
- package/dist/cjs/components/segmented/index.js +7 -0
- package/dist/cjs/components/segmented/segmented.js +95 -0
- package/dist/cjs/components/segmented/segmented.recipe.js +23 -0
- package/dist/cjs/components/select/index.js +7 -0
- package/dist/cjs/components/select/select.js +180 -0
- package/dist/cjs/components/select/select.recipe.js +79 -0
- package/dist/cjs/components/skeleton/index.js +7 -0
- package/dist/cjs/components/skeleton/skeleton.js +13 -0
- package/dist/cjs/components/skeleton/skeleton.recipe.js +17 -0
- package/dist/cjs/components/spinner/index.js +7 -0
- package/dist/cjs/components/spinner/spinner.js +15 -0
- package/dist/cjs/components/spinner/spinner.recipe.js +16 -0
- package/dist/cjs/components/stagebar/index.js +7 -0
- package/dist/cjs/components/stagebar/stagebar.js +26 -0
- package/dist/cjs/components/stagebar/stagebar.recipe.js +17 -0
- package/dist/cjs/components/statcard/index.js +7 -0
- package/dist/cjs/components/statcard/statcard.js +15 -0
- package/dist/cjs/components/statcard/statcard.recipe.js +37 -0
- package/dist/cjs/components/switch/index.js +7 -0
- package/dist/cjs/components/switch/switch.js +58 -0
- package/dist/cjs/components/switch/switch.recipe.js +29 -0
- package/dist/cjs/components/table/index.js +14 -0
- package/dist/cjs/components/table/table.js +66 -0
- package/dist/cjs/components/table/table.recipe.js +43 -0
- package/dist/cjs/components/tabletoolbar/index.js +20 -0
- package/dist/cjs/components/tabletoolbar/tabletoolbar.chrome.js +84 -0
- package/dist/cjs/components/tabletoolbar/tabletoolbar.js +237 -0
- package/dist/cjs/components/tabletoolbar/tabletoolbar.recipe.js +26 -0
- package/dist/cjs/components/tabs/index.js +7 -0
- package/dist/cjs/components/tabs/tabs.js +106 -0
- package/dist/cjs/components/tabs/tabs.recipe.js +36 -0
- package/dist/cjs/components/textarea/index.js +7 -0
- package/dist/cjs/components/textarea/textarea.js +56 -0
- package/dist/cjs/components/textarea/textarea.recipe.js +46 -0
- package/dist/cjs/components/toast/index.js +8 -0
- package/dist/cjs/components/toast/toast.js +95 -0
- package/dist/cjs/components/toast/toast.recipe.js +31 -0
- package/dist/cjs/components/tooltip/index.js +7 -0
- package/dist/cjs/components/tooltip/tooltip.js +95 -0
- package/dist/cjs/components/tooltip/tooltip.recipe.js +16 -0
- package/dist/cjs/components/wheelpicker/index.js +7 -0
- package/dist/cjs/components/wheelpicker/wheelpicker.js +134 -0
- package/dist/cjs/components/wheelpicker/wheelpicker.recipe.js +95 -0
- package/dist/cjs/core/cx.js +8 -0
- package/dist/cjs/core/define.js +6 -0
- package/dist/cjs/core/index.js +11 -0
- package/dist/cjs/core/primitive.js +49 -0
- package/dist/cjs/core/resolve.js +44 -0
- package/dist/cjs/core/types.js +2 -0
- package/dist/cjs/index.js +92 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/product/appshell/appshell.js +104 -0
- package/dist/cjs/product/appshell/appshell.recipe.js +30 -0
- package/dist/cjs/product/appshell/index.js +7 -0
- package/dist/cjs/product/authshell/authshell.js +21 -0
- package/dist/cjs/product/authshell/authshell.recipe.js +67 -0
- package/dist/cjs/product/authshell/index.js +7 -0
- package/dist/cjs/product/board/board.js +78 -0
- package/dist/cjs/product/board/board.recipe.js +31 -0
- package/dist/cjs/product/board/index.js +7 -0
- package/dist/cjs/product/command/command.js +238 -0
- package/dist/cjs/product/command/command.recipe.js +47 -0
- package/dist/cjs/product/command/index.js +8 -0
- package/dist/cjs/product/entitycard/entitycard.js +14 -0
- package/dist/cjs/product/entitycard/entitycard.recipe.js +32 -0
- package/dist/cjs/product/entitycard/index.js +7 -0
- package/dist/cjs/product/flowcanvas/flowcanvas.js +121 -0
- package/dist/cjs/product/flowcanvas/flowcanvas.recipe.js +28 -0
- package/dist/cjs/product/flowcanvas/index.js +7 -0
- package/dist/cjs/product/inbox/inbox.js +16 -0
- package/dist/cjs/product/inbox/inbox.recipe.js +46 -0
- package/dist/cjs/product/inbox/index.js +7 -0
- package/dist/cjs/product/listpage/index.js +8 -0
- package/dist/cjs/product/listpage/listpage.js +25 -0
- package/dist/cjs/product/listpage/listpage.recipe.js +46 -0
- package/dist/cjs/product/navitem/index.js +5 -0
- package/dist/cjs/product/navitem/navitem.js +44 -0
- package/dist/cjs/product/navitem/navitem.recipe.js +36 -0
- package/dist/cjs/product/onboarding/index.js +7 -0
- package/dist/cjs/product/onboarding/onboarding.js +17 -0
- package/dist/cjs/product/onboarding/onboarding.recipe.js +44 -0
- package/dist/cjs/product/recordpage/index.js +7 -0
- package/dist/cjs/product/recordpage/recordpage.js +409 -0
- package/dist/cjs/product/recordpage/recordpage.recipe.js +162 -0
- package/dist/cjs/product/recordpanel/index.js +7 -0
- package/dist/cjs/product/recordpanel/recordpanel.js +83 -0
- package/dist/cjs/product/recordpanel/recordpanel.recipe.js +51 -0
- package/dist/cjs/product/recordstable/company-logos.js +29 -0
- package/dist/cjs/product/recordstable/index.js +10 -0
- package/dist/cjs/product/recordstable/recordstable.js +1092 -0
- package/dist/cjs/product/recordstable/recordstable.recipe.js +152 -0
- package/dist/cjs/product/recordstable/recordstable.tag.js +21 -0
- package/dist/cjs/product/richtext/index.js +7 -0
- package/dist/cjs/product/richtext/richtext.js +147 -0
- package/dist/cjs/product/richtext/richtext.recipe.js +43 -0
- package/dist/cjs/product/settingssection/index.js +7 -0
- package/dist/cjs/product/settingssection/settingssection.js +14 -0
- package/dist/cjs/product/settingssection/settingssection.recipe.js +23 -0
- package/dist/cjs/product/settingsshell/index.js +7 -0
- package/dist/cjs/product/settingsshell/settingsshell.js +59 -0
- package/dist/cjs/product/settingsshell/settingsshell.recipe.js +46 -0
- package/dist/cjs/product/sidebar/index.js +13 -0
- package/dist/cjs/product/sidebar/sidebar.js +148 -0
- package/dist/cjs/product/sidebar/sidebar.recipe.js +46 -0
- package/dist/cjs/product/tasklist/index.js +7 -0
- package/dist/cjs/product/tasklist/tasklist.js +19 -0
- package/dist/cjs/product/tasklist/tasklist.recipe.js +38 -0
- package/dist/cjs/product/trialbanner/index.js +7 -0
- package/dist/cjs/product/trialbanner/trialbanner.js +13 -0
- package/dist/cjs/product/trialbanner/trialbanner.recipe.js +32 -0
- package/dist/cjs/product/viewtoggle/index.js +7 -0
- package/dist/cjs/product/viewtoggle/viewtoggle.js +55 -0
- package/dist/cjs/product/viewtoggle/viewtoggle.recipe.js +27 -0
- package/dist/cjs/tokens/contract.js +21 -0
- package/dist/cjs/tokens/elevation.js +47 -0
- package/dist/cjs/tokens/index.js +18 -0
- package/dist/cjs/tokens/palette.js +63 -0
- package/dist/cjs/tokens/scale.js +70 -0
- package/dist/cjs/tokens/semantic.js +57 -0
- package/dist/columncalc.css +26 -0
- package/dist/columncalc.d.ts +7 -0
- package/dist/command.css +34 -1
- package/dist/contextmenu.css +11 -3
- package/dist/datatable.css +106 -0
- package/dist/datatable.d.ts +7 -0
- package/dist/datepicker.css +165 -19
- package/dist/datepicker.d.ts +2 -2
- package/dist/datepickerfield.css +27 -0
- package/dist/datepickerfield.d.ts +7 -0
- package/dist/dialog.css +11 -3
- package/dist/donutchart.css +8 -0
- package/dist/drawer.css +13 -5
- package/dist/entitycard.css +10 -2
- package/dist/esm/components/accordion/accordion.js +33 -0
- package/dist/esm/components/accordion/accordion.recipe.js +23 -0
- package/dist/esm/components/accordion/index.js +2 -0
- package/dist/esm/components/avatar/avatar.js +8 -0
- package/dist/esm/components/avatar/avatar.recipe.js +39 -0
- package/dist/esm/components/avatar/index.js +2 -0
- package/dist/esm/components/avatargroup/avatargroup.js +16 -0
- package/dist/esm/components/avatargroup/avatargroup.recipe.js +15 -0
- package/dist/esm/components/avatargroup/index.js +2 -0
- package/dist/esm/components/badge/badge.js +8 -0
- package/dist/esm/components/badge/badge.recipe.js +65 -0
- package/dist/esm/components/badge/index.js +2 -0
- package/dist/esm/components/barchart/barchart.js +42 -0
- package/dist/esm/components/barchart/barchart.recipe.js +31 -0
- package/dist/esm/components/barchart/index.js +2 -0
- package/dist/esm/components/breadcrumb/breadcrumb.js +17 -0
- package/dist/esm/components/breadcrumb/breadcrumb.recipe.js +18 -0
- package/dist/esm/components/breadcrumb/index.js +2 -0
- package/dist/esm/components/bulkbar/bulkbar.js +16 -0
- package/dist/esm/components/bulkbar/bulkbar.recipe.js +28 -0
- package/dist/esm/components/bulkbar/index.js +2 -0
- package/dist/esm/components/button/button.js +26 -0
- package/dist/esm/components/button/button.recipe.js +55 -0
- package/dist/esm/components/button/index.js +2 -0
- package/dist/esm/components/callout/callout.js +22 -0
- package/dist/esm/components/callout/callout.recipe.js +26 -0
- package/dist/esm/components/callout/index.js +2 -0
- package/dist/esm/components/card/card.js +15 -0
- package/dist/esm/components/card/card.recipe.js +28 -0
- package/dist/esm/components/card/index.js +2 -0
- package/dist/esm/components/checkbox/checkbox.js +20 -0
- package/dist/esm/components/checkbox/checkbox.recipe.js +31 -0
- package/dist/esm/components/checkbox/index.js +2 -0
- package/dist/esm/components/columncalc/columncalc.js +100 -0
- package/dist/esm/components/columncalc/columncalc.recipe.js +30 -0
- package/dist/esm/components/columncalc/index.js +1 -0
- package/dist/esm/components/contextmenu/contextmenu.js +42 -0
- package/dist/esm/components/contextmenu/contextmenu.recipe.js +21 -0
- package/dist/esm/components/contextmenu/index.js +2 -0
- package/dist/esm/components/datatable/datatable.js +472 -0
- package/dist/esm/components/datatable/datatable.recipe.js +110 -0
- package/dist/esm/components/datatable/index.js +2 -0
- package/dist/esm/components/datepicker/datepicker.js +108 -0
- package/dist/esm/components/datepicker/datepicker.recipe.js +177 -0
- package/dist/esm/components/datepicker/index.js +2 -0
- package/dist/esm/components/datepickerfield/datepickerfield.js +49 -0
- package/dist/esm/components/datepickerfield/datepickerfield.recipe.js +41 -0
- package/dist/esm/components/datepickerfield/index.js +2 -0
- package/dist/esm/components/dialog/dialog.js +48 -0
- package/dist/esm/components/dialog/dialog.recipe.js +32 -0
- package/dist/esm/components/dialog/index.js +2 -0
- package/dist/esm/components/divider/divider.js +7 -0
- package/dist/esm/components/divider/divider.recipe.js +14 -0
- package/dist/esm/components/divider/index.js +2 -0
- package/dist/esm/components/donutchart/donutchart.js +38 -0
- package/dist/esm/components/donutchart/donutchart.recipe.js +27 -0
- package/dist/esm/components/donutchart/index.js +2 -0
- package/dist/esm/components/drawer/drawer.js +42 -0
- package/dist/esm/components/drawer/drawer.recipe.js +27 -0
- package/dist/esm/components/drawer/index.js +2 -0
- package/dist/esm/components/emptystate/emptystate.js +7 -0
- package/dist/esm/components/emptystate/emptystate.recipe.js +31 -0
- package/dist/esm/components/emptystate/index.js +2 -0
- package/dist/esm/components/formfield/formfield.js +14 -0
- package/dist/esm/components/formfield/formfield.recipe.js +19 -0
- package/dist/esm/components/formfield/index.js +2 -0
- package/dist/esm/components/input/index.js +2 -0
- package/dist/esm/components/input/input.js +11 -0
- package/dist/esm/components/input/input.recipe.js +56 -0
- package/dist/esm/components/kbd/index.js +2 -0
- package/dist/esm/components/kbd/kbd.js +8 -0
- package/dist/esm/components/kbd/kbd.recipe.js +20 -0
- package/dist/esm/components/linechart/index.js +2 -0
- package/dist/esm/components/linechart/linechart.js +54 -0
- package/dist/esm/components/linechart/linechart.recipe.js +32 -0
- package/dist/esm/components/menu/index.js +3 -0
- package/dist/esm/components/menu/menu-keyboard.js +80 -0
- package/dist/esm/components/menu/menu.js +104 -0
- package/dist/esm/components/menu/menu.recipe.js +51 -0
- package/dist/esm/components/multiselect/index.js +2 -0
- package/dist/esm/components/multiselect/multiselect.js +125 -0
- package/dist/esm/components/multiselect/multiselect.recipe.js +68 -0
- package/dist/esm/components/popover/index.js +2 -0
- package/dist/esm/components/popover/popover.js +70 -0
- package/dist/esm/components/popover/popover.recipe.js +18 -0
- package/dist/esm/components/progress/index.js +2 -0
- package/dist/esm/components/progress/progress.js +23 -0
- package/dist/esm/components/progress/progress.recipe.js +17 -0
- package/dist/esm/components/radiogroup/index.js +2 -0
- package/dist/esm/components/radiogroup/radiogroup.js +46 -0
- package/dist/esm/components/radiogroup/radiogroup.recipe.js +37 -0
- package/dist/esm/components/resizablepanel/index.js +2 -0
- package/dist/esm/components/resizablepanel/resizablepanel.js +135 -0
- package/dist/esm/components/resizablepanel/resizablepanel.recipe.js +66 -0
- package/dist/esm/components/segmented/index.js +2 -0
- package/dist/esm/components/segmented/segmented.js +59 -0
- package/dist/esm/components/segmented/segmented.recipe.js +20 -0
- package/dist/esm/components/select/index.js +2 -0
- package/dist/esm/components/select/select.js +144 -0
- package/dist/esm/components/select/select.recipe.js +76 -0
- package/dist/esm/components/skeleton/index.js +2 -0
- package/dist/esm/components/skeleton/skeleton.js +10 -0
- package/dist/esm/components/skeleton/skeleton.recipe.js +14 -0
- package/dist/esm/components/spinner/index.js +2 -0
- package/dist/esm/components/spinner/spinner.js +12 -0
- package/dist/esm/components/spinner/spinner.recipe.js +13 -0
- package/dist/esm/components/stagebar/index.js +2 -0
- package/dist/esm/components/stagebar/stagebar.js +23 -0
- package/dist/esm/components/stagebar/stagebar.recipe.js +14 -0
- package/dist/esm/components/statcard/index.js +2 -0
- package/dist/esm/components/statcard/statcard.js +12 -0
- package/dist/esm/components/statcard/statcard.recipe.js +34 -0
- package/dist/esm/components/switch/index.js +2 -0
- package/dist/esm/components/switch/switch.js +22 -0
- package/dist/esm/components/switch/switch.recipe.js +26 -0
- package/dist/esm/components/table/index.js +2 -0
- package/dist/esm/components/table/table.js +30 -0
- package/dist/esm/components/table/table.recipe.js +40 -0
- package/dist/esm/components/tabletoolbar/index.js +2 -0
- package/dist/esm/components/tabletoolbar/tabletoolbar.chrome.js +79 -0
- package/dist/esm/components/tabletoolbar/tabletoolbar.js +199 -0
- package/dist/esm/components/tabletoolbar/tabletoolbar.recipe.js +23 -0
- package/dist/esm/components/tabs/index.js +2 -0
- package/dist/esm/components/tabs/tabs.js +70 -0
- package/dist/esm/components/tabs/tabs.recipe.js +33 -0
- package/dist/esm/components/textarea/index.js +2 -0
- package/dist/esm/components/textarea/textarea.js +20 -0
- package/dist/esm/components/textarea/textarea.recipe.js +43 -0
- package/dist/esm/components/toast/index.js +2 -0
- package/dist/esm/components/toast/toast.js +58 -0
- package/dist/esm/components/toast/toast.recipe.js +28 -0
- package/dist/esm/components/tooltip/index.js +2 -0
- package/dist/esm/components/tooltip/tooltip.js +59 -0
- package/dist/esm/components/tooltip/tooltip.recipe.js +13 -0
- package/dist/esm/components/wheelpicker/index.js +2 -0
- package/dist/esm/components/wheelpicker/wheelpicker.js +98 -0
- package/dist/esm/components/wheelpicker/wheelpicker.recipe.js +92 -0
- package/dist/esm/core/cx.js +1 -0
- package/dist/esm/core/define.js +3 -0
- package/dist/esm/core/index.js +4 -0
- package/dist/esm/core/primitive.js +13 -0
- package/dist/esm/core/resolve.js +41 -0
- package/dist/esm/core/types.js +1 -0
- package/dist/esm/index.js +76 -0
- package/dist/esm/product/appshell/appshell.js +68 -0
- package/dist/esm/product/appshell/appshell.recipe.js +27 -0
- package/dist/esm/product/appshell/index.js +2 -0
- package/dist/esm/product/authshell/authshell.js +18 -0
- package/dist/esm/product/authshell/authshell.recipe.js +64 -0
- package/dist/esm/product/authshell/index.js +2 -0
- package/dist/esm/product/board/board.js +42 -0
- package/dist/esm/product/board/board.recipe.js +28 -0
- package/dist/esm/product/board/index.js +2 -0
- package/dist/esm/product/command/command.js +201 -0
- package/dist/esm/product/command/command.recipe.js +44 -0
- package/dist/esm/product/command/index.js +2 -0
- package/dist/esm/product/entitycard/entitycard.js +11 -0
- package/dist/esm/product/entitycard/entitycard.recipe.js +29 -0
- package/dist/esm/product/entitycard/index.js +2 -0
- package/dist/esm/product/flowcanvas/flowcanvas.js +85 -0
- package/dist/esm/product/flowcanvas/flowcanvas.recipe.js +25 -0
- package/dist/esm/product/flowcanvas/index.js +2 -0
- package/dist/esm/product/inbox/inbox.js +13 -0
- package/dist/esm/product/inbox/inbox.recipe.js +43 -0
- package/dist/esm/product/inbox/index.js +2 -0
- package/dist/esm/product/listpage/index.js +2 -0
- package/dist/esm/product/listpage/listpage.js +21 -0
- package/dist/esm/product/listpage/listpage.recipe.js +43 -0
- package/dist/esm/product/navitem/index.js +1 -0
- package/dist/esm/product/navitem/navitem.js +8 -0
- package/dist/esm/product/navitem/navitem.recipe.js +33 -0
- package/dist/esm/product/onboarding/index.js +2 -0
- package/dist/esm/product/onboarding/onboarding.js +14 -0
- package/dist/esm/product/onboarding/onboarding.recipe.js +41 -0
- package/dist/esm/product/recordpage/index.js +2 -0
- package/dist/esm/product/recordpage/recordpage.js +372 -0
- package/dist/esm/product/recordpage/recordpage.recipe.js +159 -0
- package/dist/esm/product/recordpanel/index.js +2 -0
- package/dist/esm/product/recordpanel/recordpanel.js +47 -0
- package/dist/esm/product/recordpanel/recordpanel.recipe.js +48 -0
- package/dist/esm/product/recordstable/company-logos.js +26 -0
- package/dist/esm/product/recordstable/index.js +2 -0
- package/dist/esm/product/recordstable/recordstable.js +1054 -0
- package/dist/esm/product/recordstable/recordstable.recipe.js +149 -0
- package/dist/esm/product/recordstable/recordstable.tag.js +18 -0
- package/dist/esm/product/richtext/index.js +2 -0
- package/dist/esm/product/richtext/richtext.js +111 -0
- package/dist/esm/product/richtext/richtext.recipe.js +40 -0
- package/dist/esm/product/settingssection/index.js +2 -0
- package/dist/esm/product/settingssection/settingssection.js +11 -0
- package/dist/esm/product/settingssection/settingssection.recipe.js +20 -0
- package/dist/esm/product/settingsshell/index.js +2 -0
- package/dist/esm/product/settingsshell/settingsshell.js +23 -0
- package/dist/esm/product/settingsshell/settingsshell.recipe.js +43 -0
- package/dist/esm/product/sidebar/index.js +2 -0
- package/dist/esm/product/sidebar/sidebar.js +112 -0
- package/dist/esm/product/sidebar/sidebar.recipe.js +43 -0
- package/dist/esm/product/tasklist/index.js +2 -0
- package/dist/esm/product/tasklist/tasklist.js +16 -0
- package/dist/esm/product/tasklist/tasklist.recipe.js +35 -0
- package/dist/esm/product/trialbanner/index.js +2 -0
- package/dist/esm/product/trialbanner/trialbanner.js +10 -0
- package/dist/esm/product/trialbanner/trialbanner.recipe.js +29 -0
- package/dist/esm/product/viewtoggle/index.js +2 -0
- package/dist/esm/product/viewtoggle/viewtoggle.js +19 -0
- package/dist/esm/product/viewtoggle/viewtoggle.recipe.js +24 -0
- package/dist/esm/tokens/contract.js +18 -0
- package/dist/esm/tokens/elevation.js +44 -0
- package/dist/esm/tokens/index.js +5 -0
- package/dist/esm/tokens/palette.js +60 -0
- package/dist/esm/tokens/scale.js +67 -0
- package/dist/esm/tokens/semantic.js +54 -0
- package/dist/inbox.css +9 -1
- package/dist/input.css +32 -4
- package/dist/linechart.css +5 -5
- package/dist/listpage.css +11 -3
- package/dist/menu.css +13 -5
- package/dist/multiselect.css +17 -9
- package/dist/native/tokens.d.ts +16 -0
- package/dist/native/tokens.js +221 -0
- package/dist/navitem.css +21 -1
- package/dist/onboarding.css +10 -2
- package/dist/popover.css +9 -1
- package/dist/progress.css +8 -0
- package/dist/radiogroup.css +9 -1
- package/dist/recordpage.css +26 -16
- package/dist/recordpanel.css +25 -15
- package/dist/recordstable.css +41 -27
- package/dist/resizablepanel.css +53 -0
- package/dist/resizablepanel.d.ts +7 -0
- package/dist/richtext.css +11 -3
- package/dist/segmented.css +8 -0
- package/dist/select.css +22 -8
- package/dist/select.d.ts +2 -1
- package/dist/settingsshell.css +15 -2
- package/dist/sidebar.css +34 -1
- package/dist/skeleton.css +8 -0
- package/dist/spinner.css +8 -0
- package/dist/stagebar.css +8 -0
- package/dist/statcard.css +6 -0
- package/dist/statcard.d.ts +2 -2
- package/dist/styles.css +2134 -999
- package/dist/switch.css +8 -0
- package/dist/table.css +34 -0
- package/dist/table.d.ts +8 -0
- package/dist/tabletoolbar.css +78 -0
- package/dist/tabletoolbar.d.ts +7 -0
- package/dist/tabs.css +12 -4
- package/dist/tasklist.css +8 -0
- package/dist/textarea.css +23 -3
- package/dist/toast.css +10 -2
- package/dist/tokens.css +53 -0
- package/dist/tokens.json +217 -0
- package/dist/tooltip.css +8 -0
- package/dist/trialbanner.css +8 -0
- package/dist/types/components/accordion/accordion.d.ts +10 -8
- package/dist/types/components/avatargroup/avatargroup.d.ts +2 -2
- package/dist/types/components/barchart/barchart.d.ts +4 -2
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
- package/dist/types/components/bulkbar/bulkbar.d.ts +4 -2
- package/dist/types/components/button/button.d.ts +8 -0
- package/dist/types/components/button/button.recipe.d.ts +12 -0
- package/dist/types/components/callout/callout.d.ts +2 -2
- package/dist/types/components/columncalc/columncalc.d.ts +49 -0
- package/dist/types/components/columncalc/columncalc.recipe.d.ts +3 -0
- package/dist/types/components/columncalc/index.d.ts +1 -0
- package/dist/types/components/datatable/datatable.d.ts +153 -0
- package/dist/types/components/datatable/datatable.recipe.d.ts +3 -0
- package/dist/types/components/datatable/index.d.ts +2 -0
- package/dist/types/components/datepicker/datepicker.d.ts +41 -18
- package/dist/types/components/datepicker/datepicker.recipe.d.ts +25 -2
- package/dist/types/components/datepicker/index.d.ts +1 -1
- package/dist/types/components/datepickerfield/datepickerfield.d.ts +35 -0
- package/dist/types/components/datepickerfield/datepickerfield.recipe.d.ts +5 -0
- package/dist/types/components/datepickerfield/index.d.ts +2 -0
- package/dist/types/components/dialog/dialog.d.ts +3 -1
- package/dist/types/components/divider/divider.d.ts +2 -2
- package/dist/types/components/donutchart/donutchart.d.ts +2 -2
- package/dist/types/components/drawer/drawer.d.ts +3 -1
- package/dist/types/components/emptystate/emptystate.d.ts +2 -2
- package/dist/types/components/formfield/formfield.d.ts +7 -4
- package/dist/types/components/input/input.d.ts +8 -2
- package/dist/types/components/linechart/linechart.d.ts +4 -2
- package/dist/types/components/menu/index.d.ts +1 -0
- package/dist/types/components/menu/menu-keyboard.d.ts +33 -0
- package/dist/types/components/menu/menu.d.ts +7 -1
- package/dist/types/components/multiselect/multiselect.d.ts +8 -4
- package/dist/types/components/popover/popover.d.ts +4 -1
- package/dist/types/components/progress/progress.d.ts +2 -2
- package/dist/types/components/radiogroup/radiogroup.d.ts +2 -2
- package/dist/types/components/resizablepanel/index.d.ts +2 -0
- package/dist/types/components/resizablepanel/resizablepanel.d.ts +75 -0
- package/dist/types/components/resizablepanel/resizablepanel.recipe.d.ts +3 -0
- package/dist/types/components/segmented/segmented.d.ts +2 -2
- package/dist/types/components/select/select.d.ts +4 -2
- package/dist/types/components/select/select.recipe.d.ts +12 -0
- package/dist/types/components/skeleton/skeleton.d.ts +2 -2
- package/dist/types/components/spinner/spinner.d.ts +2 -2
- package/dist/types/components/stagebar/stagebar.d.ts +2 -2
- package/dist/types/components/statcard/statcard.d.ts +7 -2
- package/dist/types/components/statcard/statcard.recipe.d.ts +12 -2
- package/dist/types/components/table/index.d.ts +2 -0
- package/dist/types/components/table/table.d.ts +53 -0
- package/dist/types/components/table/table.recipe.d.ts +21 -0
- package/dist/types/components/tabletoolbar/index.d.ts +2 -0
- package/dist/types/components/tabletoolbar/tabletoolbar.chrome.d.ts +2 -0
- package/dist/types/components/tabletoolbar/tabletoolbar.d.ts +89 -0
- package/dist/types/components/tabletoolbar/tabletoolbar.recipe.d.ts +3 -0
- package/dist/types/components/tabs/tabs.d.ts +2 -2
- package/dist/types/components/toast/toast.d.ts +7 -1
- package/dist/types/components/tooltip/tooltip.d.ts +8 -1
- package/dist/types/components/wheelpicker/index.d.ts +2 -0
- package/dist/types/components/wheelpicker/wheelpicker.d.ts +37 -0
- package/dist/types/components/wheelpicker/wheelpicker.recipe.d.ts +26 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/product/appshell/appshell.d.ts +16 -2
- package/dist/types/product/authshell/authshell.d.ts +28 -0
- package/dist/types/product/authshell/authshell.recipe.d.ts +3 -0
- package/dist/types/product/authshell/index.d.ts +2 -0
- package/dist/types/product/board/board.d.ts +2 -2
- package/dist/types/product/command/command.d.ts +25 -1
- package/dist/types/product/entitycard/entitycard.d.ts +2 -2
- package/dist/types/product/flowcanvas/flowcanvas.d.ts +9 -1
- package/dist/types/product/onboarding/onboarding.d.ts +7 -1
- package/dist/types/product/recordpage/recordpage.d.ts +65 -1
- package/dist/types/product/recordpanel/recordpanel.d.ts +8 -2
- package/dist/types/product/recordstable/company-logos.d.ts +1 -0
- package/dist/types/product/recordstable/recordstable.d.ts +131 -1
- package/dist/types/product/recordstable/recordstable.tag.d.ts +10 -0
- package/dist/types/product/richtext/richtext.d.ts +5 -1
- package/dist/types/product/settingssection/settingssection.d.ts +2 -2
- package/dist/types/product/settingsshell/settingsshell.d.ts +6 -2
- package/dist/types/product/sidebar/index.d.ts +1 -1
- package/dist/types/product/sidebar/sidebar.d.ts +93 -0
- package/dist/types/product/tasklist/tasklist.d.ts +5 -1
- package/dist/types/product/trialbanner/trialbanner.d.ts +2 -2
- package/dist/types/product/viewtoggle/viewtoggle.d.ts +11 -5
- package/dist/types/tokens/contract.d.ts +26 -3
- package/dist/types/tokens/elevation.d.ts +44 -0
- package/dist/types/tokens/index.d.ts +1 -0
- package/dist/types/tokens/palette.d.ts +88 -0
- package/dist/types/tokens/scale.d.ts +7 -0
- package/dist/types/tokens/semantic.d.ts +31 -0
- package/dist/viewtoggle.css +11 -3
- package/dist/wheelpicker.css +68 -0
- package/dist/wheelpicker.d.ts +7 -0
- package/package.json +351 -9
- package/dist/index.js +0 -9690
|
@@ -8,7 +8,7 @@ export type TabItem = {
|
|
|
8
8
|
badge?: React.ReactNode;
|
|
9
9
|
disabled?: boolean;
|
|
10
10
|
};
|
|
11
|
-
export type TabsProps = {
|
|
11
|
+
export type TabsProps = Omit<React.ComponentPropsWithoutRef<"div">, "value" | "defaultValue" | "children"> & {
|
|
12
12
|
tabs: TabItem[];
|
|
13
13
|
/** Controlled active value. Omit to let Tabs manage it (see defaultValue). */
|
|
14
14
|
value?: string;
|
|
@@ -27,7 +27,7 @@ export type TabsProps = {
|
|
|
27
27
|
* Home/End jump); activation follows focus, matching Attio. Controlled via
|
|
28
28
|
* `value`/`onValueChange`, or uncontrolled from `defaultValue`.
|
|
29
29
|
*/
|
|
30
|
-
export declare function Tabs({ tabs, value, defaultValue, onValueChange, leading, children, className, "aria-label": ariaLabel, }: TabsProps): React.JSX.Element;
|
|
30
|
+
export declare function Tabs({ tabs, value, defaultValue, onValueChange, leading, children, className, "aria-label": ariaLabel, ...rest }: TabsProps): React.JSX.Element;
|
|
31
31
|
export declare namespace Tabs {
|
|
32
32
|
var displayName: string;
|
|
33
33
|
}
|
|
@@ -20,9 +20,15 @@ type ToastApi = {
|
|
|
20
20
|
* anywhere to push a notification. Toasts stack bottom-right and auto-dismiss
|
|
21
21
|
* after `duration` (default 4s; 0 keeps them until dismissed).
|
|
22
22
|
*/
|
|
23
|
-
export declare function ToastProvider({ children, duration, }: {
|
|
23
|
+
export declare function ToastProvider({ children, duration, dismissLabel, regionLabel, }: {
|
|
24
24
|
children: React.ReactNode;
|
|
25
25
|
duration?: number;
|
|
26
|
+
/** aria-label on each toast's dismiss button (default "Dismiss"). */
|
|
27
|
+
dismissLabel?: string;
|
|
28
|
+
/** aria-label on the always-mounted notifications region (default
|
|
29
|
+
* "Notifications") — announced to screen readers on every page, whether or
|
|
30
|
+
* not a toast is ever shown. */
|
|
31
|
+
regionLabel?: string;
|
|
26
32
|
}): React.JSX.Element;
|
|
27
33
|
export declare namespace ToastProvider {
|
|
28
34
|
var displayName: string;
|
|
@@ -8,6 +8,13 @@ export type TooltipProps = {
|
|
|
8
8
|
side?: "top" | "bottom";
|
|
9
9
|
/** Delay in ms before showing (default 350). Hides immediately. */
|
|
10
10
|
delay?: number;
|
|
11
|
+
/** Controlled open state. Omit to let Tooltip manage it (see defaultOpen).
|
|
12
|
+
* A controlled tooltip shows at once — `delay` only paces hover. */
|
|
13
|
+
open?: boolean;
|
|
14
|
+
/** Initially open, when uncontrolled. */
|
|
15
|
+
defaultOpen?: boolean;
|
|
16
|
+
/** Fires with the next open state, controlled or not. */
|
|
17
|
+
onOpenChange?: (open: boolean) => void;
|
|
11
18
|
};
|
|
12
19
|
/**
|
|
13
20
|
* A hover/focus tooltip — a dark hint chip measured from Attio. Wraps its
|
|
@@ -15,7 +22,7 @@ export type TooltipProps = {
|
|
|
15
22
|
* and hides on leave / blur / Escape. The bubble is portaled and positioned
|
|
16
23
|
* above the trigger (flipping below near the top edge).
|
|
17
24
|
*/
|
|
18
|
-
export declare function Tooltip({ content, children, side, delay, }: TooltipProps): React.JSX.Element;
|
|
25
|
+
export declare function Tooltip({ content, children, side, delay, open: openProp, defaultOpen, onOpenChange, }: TooltipProps): React.JSX.Element;
|
|
19
26
|
export declare namespace Tooltip {
|
|
20
27
|
var displayName: string;
|
|
21
28
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type WheelPickerOption = {
|
|
3
|
+
value: string;
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
};
|
|
6
|
+
export type WheelPickerColumn = {
|
|
7
|
+
/** Identifies the column in `value` / `onValueChange`. */
|
|
8
|
+
key: string;
|
|
9
|
+
options: WheelPickerOption[];
|
|
10
|
+
/** Accessible name for this column's listbox. */
|
|
11
|
+
label: string;
|
|
12
|
+
};
|
|
13
|
+
export type WheelPickerProps = Omit<React.ComponentPropsWithoutRef<"div">, "onChange" | "defaultValue"> & {
|
|
14
|
+
columns: WheelPickerColumn[];
|
|
15
|
+
/** Controlled selection, keyed by column. Omit to let WheelPicker manage it. */
|
|
16
|
+
value?: Record<string, string>;
|
|
17
|
+
/** Initial selection, when uncontrolled. Defaults to each column's first option. */
|
|
18
|
+
defaultValue?: Record<string, string>;
|
|
19
|
+
/** Fires with the next selection on every change, controlled or not. */
|
|
20
|
+
onValueChange?: (value: Record<string, string>) => void;
|
|
21
|
+
size?: "small" | "medium";
|
|
22
|
+
className?: string;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* A scroll-snapping wheel, measured from seed-design. Each column snaps its
|
|
26
|
+
* rows to a centred selection band; the momentum is the browser's own, because
|
|
27
|
+
* the column is an ordinary scroll container with `scroll-snap-type: y
|
|
28
|
+
* mandatory` rather than a JavaScript animation.
|
|
29
|
+
*
|
|
30
|
+
* Keyboard: each column is a `listbox` that takes focus, with ↑/↓ moving the
|
|
31
|
+
* selection, Home/End jumping to the ends, and a visible ring on the selected
|
|
32
|
+
* row for keyboard focus only.
|
|
33
|
+
*/
|
|
34
|
+
export declare function WheelPicker({ columns, value: valueProp, defaultValue, onValueChange, size, className, ...rest }: WheelPickerProps): React.JSX.Element;
|
|
35
|
+
export declare namespace WheelPicker {
|
|
36
|
+
var displayName: string;
|
|
37
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare const config: import("../..").RecipeConfig<{
|
|
2
|
+
size: {
|
|
3
|
+
small: string;
|
|
4
|
+
medium: string;
|
|
5
|
+
};
|
|
6
|
+
}>;
|
|
7
|
+
export declare const wheelpickerRecipe: import("../..").RecipeFn<{
|
|
8
|
+
size: {
|
|
9
|
+
small: string;
|
|
10
|
+
medium: string;
|
|
11
|
+
};
|
|
12
|
+
}> & {
|
|
13
|
+
config: import("../..").RecipeConfig<{
|
|
14
|
+
size: {
|
|
15
|
+
small: string;
|
|
16
|
+
medium: string;
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
19
|
+
meta: {
|
|
20
|
+
medium: {
|
|
21
|
+
height: string;
|
|
22
|
+
itemHeight: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export default config;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -9,8 +9,11 @@ export * from "./components/button";
|
|
|
9
9
|
export * from "./components/callout";
|
|
10
10
|
export * from "./components/card";
|
|
11
11
|
export * from "./components/checkbox";
|
|
12
|
+
export * from "./components/columncalc";
|
|
12
13
|
export * from "./components/contextmenu";
|
|
14
|
+
export * from "./components/datatable";
|
|
13
15
|
export * from "./components/datepicker";
|
|
16
|
+
export * from "./components/datepickerfield";
|
|
14
17
|
export * from "./components/dialog";
|
|
15
18
|
export * from "./components/divider";
|
|
16
19
|
export * from "./components/donutchart";
|
|
@@ -25,6 +28,7 @@ export * from "./components/multiselect";
|
|
|
25
28
|
export * from "./components/popover";
|
|
26
29
|
export * from "./components/progress";
|
|
27
30
|
export * from "./components/radiogroup";
|
|
31
|
+
export * from "./components/resizablepanel";
|
|
28
32
|
export * from "./components/segmented";
|
|
29
33
|
export * from "./components/select";
|
|
30
34
|
export * from "./components/skeleton";
|
|
@@ -32,12 +36,16 @@ export * from "./components/spinner";
|
|
|
32
36
|
export * from "./components/stagebar";
|
|
33
37
|
export * from "./components/statcard";
|
|
34
38
|
export * from "./components/switch";
|
|
39
|
+
export * from "./components/table";
|
|
40
|
+
export * from "./components/tabletoolbar";
|
|
35
41
|
export * from "./components/tabs";
|
|
36
42
|
export * from "./components/textarea";
|
|
37
43
|
export * from "./components/toast";
|
|
38
44
|
export * from "./components/tooltip";
|
|
45
|
+
export * from "./components/wheelpicker";
|
|
39
46
|
export * from "./core";
|
|
40
47
|
export * from "./product/appshell";
|
|
48
|
+
export * from "./product/authshell";
|
|
41
49
|
export * from "./product/board";
|
|
42
50
|
export * from "./product/command";
|
|
43
51
|
export * from "./product/entitycard";
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
export type AppShellProps = {
|
|
2
|
+
export type AppShellProps = Omit<React.ComponentPropsWithoutRef<"div">, "children" | "onResize"> & {
|
|
3
3
|
/**
|
|
4
4
|
* The sidebar, as a render function receiving a `toggleCollapse` callback to
|
|
5
5
|
* wire to your sidebar's collapse control (e.g. `Sidebar`'s
|
|
6
6
|
* `onToggleCollapse`). Make the sidebar fill its pane (`width: 100%`).
|
|
7
7
|
*/
|
|
8
8
|
sidebar: (toggleCollapse: () => void) => React.ReactNode;
|
|
9
|
+
/** Label for the control that reopens a collapsed sidebar. */
|
|
10
|
+
expandLabel?: string;
|
|
9
11
|
children: React.ReactNode;
|
|
12
|
+
/** Controlled sidebar width in px. Omit to let AppShell manage it. */
|
|
13
|
+
width?: number;
|
|
14
|
+
/** Initial width in px when uncontrolled (default 275). */
|
|
10
15
|
defaultWidth?: number;
|
|
16
|
+
/** Fires with the final clamped width once a drag ends — not on every
|
|
17
|
+
* pointer move, matching ResizablePanel's `onSizeChange`. Persist it here. */
|
|
18
|
+
onWidthChange?: (width: number) => void;
|
|
19
|
+
/** Controlled collapsed state. Omit to let AppShell manage it. */
|
|
20
|
+
collapsed?: boolean;
|
|
21
|
+
/** Initially collapsed when uncontrolled (default false). */
|
|
22
|
+
defaultCollapsed?: boolean;
|
|
23
|
+
/** Fires with the next collapsed state, controlled or not. */
|
|
24
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
|
11
25
|
minWidth?: number;
|
|
12
26
|
maxWidth?: number;
|
|
13
27
|
className?: string;
|
|
@@ -18,7 +32,7 @@ export type AppShellProps = {
|
|
|
18
32
|
* collapse button to slide it away (a floating button brings it back). The
|
|
19
33
|
* sidebar pane clips rather than squishing, so its content never reflows.
|
|
20
34
|
*/
|
|
21
|
-
export declare function AppShell({ sidebar, children, defaultWidth, minWidth, maxWidth, className, }: AppShellProps): React.JSX.Element;
|
|
35
|
+
export declare function AppShell({ sidebar, children, width: widthProp, defaultWidth, onWidthChange, collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, minWidth, maxWidth, className, expandLabel, ...rest }: AppShellProps): React.JSX.Element;
|
|
22
36
|
export declare namespace AppShell {
|
|
23
37
|
var displayName: string;
|
|
24
38
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type * as React from "react";
|
|
2
|
+
export type AuthShellProps = Omit<React.ComponentPropsWithoutRef<"div">, "title"> & {
|
|
3
|
+
/** 0–1. Omit for no progress bar. */
|
|
4
|
+
progress?: number;
|
|
5
|
+
/** Brand mark above the card (measured 96x24). */
|
|
6
|
+
logo?: React.ReactNode;
|
|
7
|
+
/** Card heading. */
|
|
8
|
+
title?: React.ReactNode;
|
|
9
|
+
/** The form / body content. */
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
/** Right-hand product preview. Hidden under 1200px; omit for a single-pane card. */
|
|
12
|
+
preview?: React.ReactNode;
|
|
13
|
+
/** Legal / support links under the card. */
|
|
14
|
+
footer?: React.ReactNode;
|
|
15
|
+
className?: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* The Attio welcome/auth layout (app.attio.com/welcome/*) — measured live.
|
|
19
|
+
* A centered page frame: an optional top progress bar, a logo, a two-pane
|
|
20
|
+
* card (the form + an optional product preview, hidden under 1200px), and
|
|
21
|
+
* a footer. Auth-surface Input/FormField/Button treatment (flatter fields,
|
|
22
|
+
* 36px buttons) applies automatically to those crisp components when
|
|
23
|
+
* rendered as `children` — see authshell.recipe.ts.
|
|
24
|
+
*/
|
|
25
|
+
export declare function AuthShell({ progress, logo, title, children, preview, footer, className, ...rest }: AuthShellProps): React.JSX.Element;
|
|
26
|
+
export declare namespace AuthShell {
|
|
27
|
+
var displayName: string;
|
|
28
|
+
}
|
|
@@ -9,7 +9,7 @@ export type BoardCard = {
|
|
|
9
9
|
id: string;
|
|
10
10
|
columnId: string;
|
|
11
11
|
};
|
|
12
|
-
export type BoardProps<T extends BoardCard> = {
|
|
12
|
+
export type BoardProps<T extends BoardCard> = Omit<React.ComponentPropsWithoutRef<"div">, "children"> & {
|
|
13
13
|
columns: BoardColumn[];
|
|
14
14
|
cards: T[];
|
|
15
15
|
/** Called with the next cards after a drag moves one between columns. */
|
|
@@ -26,7 +26,7 @@ export type BoardProps<T extends BoardCard> = {
|
|
|
26
26
|
* (the parent owns the cards, so the move is a controlled state update).
|
|
27
27
|
* Measured from Attio's Deals pipeline.
|
|
28
28
|
*/
|
|
29
|
-
export declare function Board<T extends BoardCard>({ columns, cards, onCardsChange, renderCard, onNewCard, newCardLabel, className, }: BoardProps<T>): React.JSX.Element;
|
|
29
|
+
export declare function Board<T extends BoardCard>({ columns, cards, onCardsChange, renderCard, onNewCard, newCardLabel, className, ...rest }: BoardProps<T>): React.JSX.Element;
|
|
30
30
|
export declare namespace Board {
|
|
31
31
|
var displayName: string;
|
|
32
32
|
}
|
|
@@ -19,6 +19,30 @@ export type CommandProps = {
|
|
|
19
19
|
onOpenChange: (open: boolean) => void;
|
|
20
20
|
items?: CommandItem[];
|
|
21
21
|
placeholder?: string;
|
|
22
|
+
"aria-label"?: string;
|
|
23
|
+
/** Footer hint next to the ↑ ↓ keys (default "Navigate"). */
|
|
24
|
+
navigateLabel?: React.ReactNode;
|
|
25
|
+
/** Footer action-button fallback text, shown while no item is highlighted
|
|
26
|
+
* (once one is, the button mirrors that item's own — already translatable
|
|
27
|
+
* — label instead). Default "Select". */
|
|
28
|
+
selectLabel?: string;
|
|
29
|
+
/** Shown in the list when no item matches the query (default
|
|
30
|
+
* "No matching commands"). */
|
|
31
|
+
emptyLabel?: React.ReactNode;
|
|
32
|
+
/** The search input's text. Omit for internal state (the default) — pass
|
|
33
|
+
* this alongside `onQueryChange` to observe or drive it from outside, e.g.
|
|
34
|
+
* to search the host app's own data (records, transactions, …) and feed
|
|
35
|
+
* matching results back in via `items`. */
|
|
36
|
+
query?: string;
|
|
37
|
+
/** Called with the next query text on every keystroke, and on the
|
|
38
|
+
* open-triggered reset to `""`. Works standalone (without `query`) just to
|
|
39
|
+
* observe what the user typed. */
|
|
40
|
+
onQueryChange?: (query: string) => void;
|
|
41
|
+
/** Whether Command filters `items` against `query` itself (default true).
|
|
42
|
+
* Turn off when `items` is already filtered externally — e.g. driven by
|
|
43
|
+
* `onQueryChange` calling out to search the host app's own data — so
|
|
44
|
+
* results aren't filtered a second time here. */
|
|
45
|
+
filterItems?: boolean;
|
|
22
46
|
};
|
|
23
47
|
/**
|
|
24
48
|
* ⌘K command palette. Composes a Zag dialog machine (modal, focus trap,
|
|
@@ -26,4 +50,4 @@ export type CommandProps = {
|
|
|
26
50
|
* option list) so keyboard/focus correctness comes from the machines, not
|
|
27
51
|
* hand-rolled event handling.
|
|
28
52
|
*/
|
|
29
|
-
export declare function Command({ open, onOpenChange, items, placeholder, }: CommandProps): React.JSX.Element | null;
|
|
53
|
+
export declare function Command({ open, onOpenChange, items, placeholder, "aria-label": ariaLabel, navigateLabel, selectLabel, emptyLabel, query: queryProp, onQueryChange, filterItems, }: CommandProps): React.JSX.Element | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as React from "react";
|
|
2
|
-
export type EntityCardProps = {
|
|
2
|
+
export type EntityCardProps = Omit<React.ComponentPropsWithoutRef<"button">, "children" | "title"> & {
|
|
3
3
|
/** Author row shown at the top (e.g. avatar + name). */
|
|
4
4
|
author?: React.ReactNode;
|
|
5
5
|
title: React.ReactNode;
|
|
@@ -18,7 +18,7 @@ export type EntityCardProps = {
|
|
|
18
18
|
* card with an author row, a title, a clamped excerpt, and a footer row with a
|
|
19
19
|
* right-aligned date. Rendered as a button so the whole card is clickable.
|
|
20
20
|
*/
|
|
21
|
-
export declare function EntityCard({ author, title, excerpt, footer, date, onClick, "aria-label": ariaLabel, className, }: EntityCardProps): React.JSX.Element;
|
|
21
|
+
export declare function EntityCard({ author, title, excerpt, footer, date, onClick, "aria-label": ariaLabel, className, ...rest }: EntityCardProps): React.JSX.Element;
|
|
22
22
|
export declare namespace EntityCard {
|
|
23
23
|
var displayName: string;
|
|
24
24
|
}
|
|
@@ -9,6 +9,14 @@ export type FlowEdge = {
|
|
|
9
9
|
to: string;
|
|
10
10
|
};
|
|
11
11
|
export type FlowCanvasProps<T extends FlowNode> = {
|
|
12
|
+
/** Zoom-out control label. */
|
|
13
|
+
zoomOutLabel?: string;
|
|
14
|
+
/** Zoom-in control label. */
|
|
15
|
+
zoomInLabel?: string;
|
|
16
|
+
/** Reset-view control label. */
|
|
17
|
+
resetLabel?: string;
|
|
18
|
+
/** Accessible title for the edges layer. */
|
|
19
|
+
edgesLabel?: string;
|
|
12
20
|
nodes: T[];
|
|
13
21
|
edges: FlowEdge[];
|
|
14
22
|
/** Called with the next nodes after a node is dragged. */
|
|
@@ -26,7 +34,7 @@ export type FlowCanvasProps<T extends FlowNode> = {
|
|
|
26
34
|
* measured from Attio's Workflows editor. Drag a node to move it (fires
|
|
27
35
|
* `onNodesChange`); drag the background to pan; use the toolbar to zoom.
|
|
28
36
|
*/
|
|
29
|
-
export declare function FlowCanvas<T extends FlowNode>({ nodes, edges, onNodesChange, renderNode, nodeWidth, nodeHeight, "aria-label": ariaLabel, className, }: FlowCanvasProps<T>): React.JSX.Element;
|
|
37
|
+
export declare function FlowCanvas<T extends FlowNode>({ nodes, edges, onNodesChange, renderNode, nodeWidth, nodeHeight, "aria-label": ariaLabel, className, zoomOutLabel, zoomInLabel, resetLabel, edgesLabel, }: FlowCanvasProps<T>): React.JSX.Element;
|
|
30
38
|
export declare namespace FlowCanvas {
|
|
31
39
|
var displayName: string;
|
|
32
40
|
}
|
|
@@ -8,6 +8,12 @@ export type OnboardingStep = {
|
|
|
8
8
|
done?: boolean;
|
|
9
9
|
};
|
|
10
10
|
export type OnboardingChecklistProps = {
|
|
11
|
+
/** Label for the overflow-menu trigger. */
|
|
12
|
+
optionsLabel?: string;
|
|
13
|
+
/** Label for the minimise control. */
|
|
14
|
+
minimizeLabel?: string;
|
|
15
|
+
/** Accessible name for the progress bar. */
|
|
16
|
+
progressLabel?: string;
|
|
11
17
|
title?: React.ReactNode;
|
|
12
18
|
steps: OnboardingStep[];
|
|
13
19
|
/** Subtitle after "N/total steps completed" (default "Keep it up!"). */
|
|
@@ -25,7 +31,7 @@ export type OnboardingChecklistProps = {
|
|
|
25
31
|
* started" widget. Title + optional menu/minimize, a segmented progress bar,
|
|
26
32
|
* and step rows (completed rows strike through with a brand check).
|
|
27
33
|
*/
|
|
28
|
-
export declare function OnboardingChecklist({ title, steps, encouragement, onStepClick, onMenu, onMinimize, className, }: OnboardingChecklistProps): React.JSX.Element;
|
|
34
|
+
export declare function OnboardingChecklist({ title, steps, encouragement, onStepClick, onMenu, onMinimize, className, optionsLabel, minimizeLabel, progressLabel, }: OnboardingChecklistProps): React.JSX.Element;
|
|
29
35
|
export declare namespace OnboardingChecklist {
|
|
30
36
|
var displayName: string;
|
|
31
37
|
}
|
|
@@ -5,12 +5,76 @@ export type RecordPageProps = {
|
|
|
5
5
|
columns: Column[];
|
|
6
6
|
/** Breadcrumb label + back button target (e.g. "Companies"). */
|
|
7
7
|
collection?: string;
|
|
8
|
+
/** Partial override of the chrome strings; see `recordPageLabels`. */
|
|
9
|
+
labels?: RecordPageLabelsInput;
|
|
8
10
|
onBack?: () => void;
|
|
9
11
|
/** When provided, shows a maximise/minimise button in the top bar. */
|
|
10
12
|
onToggleFull?: () => void;
|
|
11
13
|
full?: boolean;
|
|
12
14
|
className?: string;
|
|
13
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Every chrome string RecordPage renders. Supplied as a PARTIAL map, so
|
|
18
|
+
* translating one control does not mean restating the other fifty; anything
|
|
19
|
+
* omitted keeps its English default from `recordPageLabels`.
|
|
20
|
+
*
|
|
21
|
+
* The record's own field labels and values are NOT here — those arrive through
|
|
22
|
+
* `record` and `columns`, and are the consumer's data. What this covers is the
|
|
23
|
+
* surface crisp draws around them: the tab strip, the Highlights stats (a fixed
|
|
24
|
+
* set measured from Attio, not consumer data), the action bar and the feed.
|
|
25
|
+
*/
|
|
26
|
+
export type RecordPageLabels = {
|
|
27
|
+
breadcrumb: string;
|
|
28
|
+
editRecord: string;
|
|
29
|
+
recordActions: string;
|
|
30
|
+
addToFavourites: string;
|
|
31
|
+
removeFromFavourites: string;
|
|
32
|
+
copyRecordLink: string;
|
|
33
|
+
deleteRecord: string;
|
|
34
|
+
linkRecords: string;
|
|
35
|
+
logANote: string;
|
|
36
|
+
createATask: string;
|
|
37
|
+
fullScreen: string;
|
|
38
|
+
exitFullScreen: string;
|
|
39
|
+
resizeDetails: string;
|
|
40
|
+
composeEmail: string;
|
|
41
|
+
askAttio: string;
|
|
42
|
+
addToList: string;
|
|
43
|
+
highlights: string;
|
|
44
|
+
recordDetails: string;
|
|
45
|
+
searchFields: string;
|
|
46
|
+
closeSearch: string;
|
|
47
|
+
searchPlaceholder: string;
|
|
48
|
+
viewAllValues: string;
|
|
49
|
+
setAValue: string;
|
|
50
|
+
viewAll: string;
|
|
51
|
+
showLess: string;
|
|
52
|
+
viewLess: string;
|
|
53
|
+
newNote: string;
|
|
54
|
+
newTask: string;
|
|
55
|
+
cancel: string;
|
|
56
|
+
noNotesYet: string;
|
|
57
|
+
noTasksYet: string;
|
|
58
|
+
nothingHereYet: string;
|
|
59
|
+
you: string;
|
|
60
|
+
justNow: string;
|
|
61
|
+
/** Tab names, keyed by tab. */
|
|
62
|
+
tabs: Record<"overview" | "activity" | "emails" | "calls" | "team" | "lists" | "notes" | "tasks" | "files", string>;
|
|
63
|
+
/** Highlight stat names and their empty states, keyed by stat. */
|
|
64
|
+
highlightLabels: Record<"connectionStrength" | "nextInteraction" | "team" | "estimatedArr" | "fundingRaised" | "employeeRange" | "associatedDeals", string>;
|
|
65
|
+
highlightEmpty: Record<"connectionStrength" | "nextInteraction" | "team" | "estimatedArr" | "fundingRaised" | "employeeRange" | "associatedDeals", string>;
|
|
66
|
+
/** Activity line for a changed domain, given the new value. */
|
|
67
|
+
domainSetTo: (value: React.ReactNode) => React.ReactNode;
|
|
68
|
+
/** Activity line for added categories, given how many. */
|
|
69
|
+
taggedCategories: (count: number) => React.ReactNode;
|
|
70
|
+
};
|
|
71
|
+
export declare const recordPageLabels: RecordPageLabels;
|
|
72
|
+
/** Partial override of any chrome string; the keyed maps nest. */
|
|
73
|
+
export type RecordPageLabelsInput = Partial<Omit<RecordPageLabels, "tabs" | "highlightLabels" | "highlightEmpty">> & {
|
|
74
|
+
tabs?: Partial<RecordPageLabels["tabs"]>;
|
|
75
|
+
highlightLabels?: Partial<RecordPageLabels["highlightLabels"]>;
|
|
76
|
+
highlightEmpty?: Partial<RecordPageLabels["highlightEmpty"]>;
|
|
77
|
+
};
|
|
14
78
|
/**
|
|
15
79
|
* The full-page company record view — the page Attio opens when you click into a
|
|
16
80
|
* record (as opposed to the peek [RecordPanel]). A top breadcrumb bar with
|
|
@@ -19,7 +83,7 @@ export type RecordPageProps = {
|
|
|
19
83
|
* Emails sections (Notes & Tasks are live — add and check things off). Drop it
|
|
20
84
|
* into the app's main content area.
|
|
21
85
|
*/
|
|
22
|
-
export declare function RecordPage({ record, columns, collection, onBack, onToggleFull, full, className, }: RecordPageProps): React.JSX.Element;
|
|
86
|
+
export declare function RecordPage({ record, columns, collection, labels, onBack, onToggleFull, full, className, }: RecordPageProps): React.JSX.Element;
|
|
23
87
|
export declare namespace RecordPage {
|
|
24
88
|
var displayName: string;
|
|
25
89
|
}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type Column, type Row } from "../recordstable";
|
|
3
|
-
export type RecordPanelProps = {
|
|
3
|
+
export type RecordPanelProps = Omit<React.ComponentPropsWithoutRef<"div">, "children" | "title"> & {
|
|
4
4
|
/** The record to show; render nothing when null. */
|
|
5
|
+
/** Label for the close control. */
|
|
6
|
+
closeLabel?: string;
|
|
7
|
+
/** Heading above the field list. */
|
|
8
|
+
detailsLabel?: React.ReactNode;
|
|
9
|
+
/** Shown in place of a field that has no value. */
|
|
10
|
+
emptyLabel?: React.ReactNode;
|
|
5
11
|
record: Row | null;
|
|
6
12
|
columns: Column[];
|
|
7
13
|
onClose: () => void;
|
|
@@ -13,7 +19,7 @@ export type RecordPanelProps = {
|
|
|
13
19
|
* relative` container (e.g. the app main area); it slides in from the right and
|
|
14
20
|
* overlays the content.
|
|
15
21
|
*/
|
|
16
|
-
export declare function RecordPanel({ record, columns, onClose, className, }: RecordPanelProps): React.JSX.Element | null;
|
|
22
|
+
export declare function RecordPanel({ record, columns, onClose, className, closeLabel, detailsLabel, emptyLabel, ...rest }: RecordPanelProps): React.JSX.Element | null;
|
|
17
23
|
export declare namespace RecordPanel {
|
|
18
24
|
var displayName: string;
|
|
19
25
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const companyLogos: Record<string, string>;
|
|
@@ -18,6 +18,9 @@ export type Column = {
|
|
|
18
18
|
key: string;
|
|
19
19
|
label: string;
|
|
20
20
|
type?: ColumnType;
|
|
21
|
+
/** Mark the column's values as AI-enriched — tints the cells the way Attio
|
|
22
|
+
* washes enriched values (#9b69ff at 4%). */
|
|
23
|
+
enriched?: boolean;
|
|
21
24
|
icon?: IconType;
|
|
22
25
|
width?: number;
|
|
23
26
|
/** Currency symbol for `currency` columns (default "$"). */
|
|
@@ -26,6 +29,42 @@ export type Column = {
|
|
|
26
29
|
options?: StatusOption[];
|
|
27
30
|
/** Choices for a `reference` column (a searchable record picker). */
|
|
28
31
|
refOptions?: ReferenceOption[];
|
|
32
|
+
/**
|
|
33
|
+
* Full custom cell content — an escape hatch for a display crisp can't
|
|
34
|
+
* express via `type` (sign-coloured currency, a maskable amount, a custom
|
|
35
|
+
* badge, …). Precedence is **`render` > `format` > the built-in `type`
|
|
36
|
+
* renderer**: when `render` is set it is the *only* thing drawn in the
|
|
37
|
+
* cell, replacing whatever `type` would normally render.
|
|
38
|
+
*
|
|
39
|
+
* Interaction contract for a `render` column: it keeps every grid chrome —
|
|
40
|
+
* row height, hairlines, padding, hover/selected tint, the cell focus ring,
|
|
41
|
+
* shift-click range select, the right-click row menu — but is **never**
|
|
42
|
+
* inline-editable and never shows a `type` picker (status/reference/date/
|
|
43
|
+
* tags), because crisp has no way to write a value back into custom
|
|
44
|
+
* content. Use `format` instead if the column should stay editable.
|
|
45
|
+
*
|
|
46
|
+
* ⌘C copies `format(value, row)` when the column also has one, otherwise
|
|
47
|
+
* the raw value stringified the same way a plain column would — never a
|
|
48
|
+
* serialization of the rendered node. Sort, filter, and the footer
|
|
49
|
+
* aggregation all read `row[column.key]` directly and never call `render`.
|
|
50
|
+
*/
|
|
51
|
+
render?: (value: unknown, row: Row) => React.ReactNode;
|
|
52
|
+
/**
|
|
53
|
+
* Display-only string transform. Unlike `render`, a `format` column keeps
|
|
54
|
+
* the built-in `type` renderer's chrome (a `currency`/`number` column stays
|
|
55
|
+
* right-aligned in its numeric span; `text`/`url`/`date`/the default case
|
|
56
|
+
* keep their own wrapper) — `format`'s return value simply replaces the
|
|
57
|
+
* text that renderer would otherwise show. `format` fully owns that text,
|
|
58
|
+
* so a `currency` column's `format` should include its own symbol/masking
|
|
59
|
+
* if it wants one (the built-in `$` prefix is skipped once `format` is
|
|
60
|
+
* set). A `format` column stays editable/pickable exactly like a plain
|
|
61
|
+
* `type` column — only `render` disables that.
|
|
62
|
+
*
|
|
63
|
+
* Sort, filter, and the footer aggregation all read the **raw**
|
|
64
|
+
* `row[column.key]` value, never `format`'s output — so a grouped/prefixed
|
|
65
|
+
* currency string still sums and sorts numerically.
|
|
66
|
+
*/
|
|
67
|
+
format?: (value: unknown, row: Row) => string;
|
|
29
68
|
};
|
|
30
69
|
export type EntityValue = {
|
|
31
70
|
name: string;
|
|
@@ -35,6 +74,8 @@ export type Row = {
|
|
|
35
74
|
id: string;
|
|
36
75
|
} & Record<string, any>;
|
|
37
76
|
export type RecordsTableProps = {
|
|
77
|
+
/** Partial override of the chrome strings; see `recordsTableLabels`. */
|
|
78
|
+
labels?: RecordsTableLabelsInput;
|
|
38
79
|
columns?: Column[];
|
|
39
80
|
rows?: Row[];
|
|
40
81
|
/** Controlled selection — omit for self-managed selection state. */
|
|
@@ -48,9 +89,98 @@ export type RecordsTableProps = {
|
|
|
48
89
|
onOpenRecord?: (row: Row) => void;
|
|
49
90
|
/** Called when a row's entity name is clicked — navigate to its full record page. */
|
|
50
91
|
onOpenRecordPage?: (row: Row) => void;
|
|
92
|
+
/** Tone for `entity`/`reference` avatars: `"brand"` (uniform, today's
|
|
93
|
+
* measured Attio records-grid behaviour — the default) or `"hashed"` (a
|
|
94
|
+
* stable colour per name, matching what `DataTable`'s `avatarTone` offers).
|
|
95
|
+
* Entity avatars only — `TAG_TONES`/tag/status tone logic is untouched. */
|
|
96
|
+
avatarTone?: "brand" | "hashed";
|
|
51
97
|
className?: string;
|
|
52
98
|
};
|
|
53
99
|
export declare function tagTone(t: string): string;
|
|
100
|
+
type Agg = "none" | "count" | "filled" | "sum" | "avg" | "min" | "max";
|
|
101
|
+
/**
|
|
102
|
+
* Every chrome string RecordsTable renders. Supplied as a PARTIAL map, so
|
|
103
|
+
* translating one menu item does not mean restating the other fifty; anything
|
|
104
|
+
* omitted keeps its English default from `recordsTableLabels`.
|
|
105
|
+
*
|
|
106
|
+
* The interpolated ones are formatters rather than templates because word
|
|
107
|
+
* order does not survive translation — "Sorted by Name +2" has no stable
|
|
108
|
+
* arrangement of its parts across languages (the same reason TableToolbar's
|
|
109
|
+
* triggers take formatters, #77).
|
|
110
|
+
*/
|
|
111
|
+
export type RecordsTableLabels = {
|
|
112
|
+
selectAll: string;
|
|
113
|
+
sort: string;
|
|
114
|
+
sortField: string;
|
|
115
|
+
sortDirection: string;
|
|
116
|
+
removeSort: string;
|
|
117
|
+
reorderSort: string;
|
|
118
|
+
addSort: string;
|
|
119
|
+
ascending: string;
|
|
120
|
+
descending: string;
|
|
121
|
+
noSorts: string;
|
|
122
|
+
learnSorting: string;
|
|
123
|
+
filter: string;
|
|
124
|
+
addFilter: string;
|
|
125
|
+
filterByField: string;
|
|
126
|
+
filterByPlaceholder: string;
|
|
127
|
+
filterValuePlaceholder: string;
|
|
128
|
+
selectCondition: string;
|
|
129
|
+
clearFilter: string;
|
|
130
|
+
addColumn: string;
|
|
131
|
+
columnLabel: string;
|
|
132
|
+
editColumnLabel: string;
|
|
133
|
+
hideFromView: string;
|
|
134
|
+
moveLeft: string;
|
|
135
|
+
moveRight: string;
|
|
136
|
+
sortAscending: string;
|
|
137
|
+
sortDescending: string;
|
|
138
|
+
newRecord: string;
|
|
139
|
+
createRecord: string;
|
|
140
|
+
createMore: string;
|
|
141
|
+
newButton: string;
|
|
142
|
+
more: string;
|
|
143
|
+
moreActions: string;
|
|
144
|
+
recordActions: string;
|
|
145
|
+
copy: string;
|
|
146
|
+
duplicate: string;
|
|
147
|
+
addToList: string;
|
|
148
|
+
inAList: string;
|
|
149
|
+
delete: string;
|
|
150
|
+
sendEmail: string;
|
|
151
|
+
exportCsv: string;
|
|
152
|
+
runWorkflow: string;
|
|
153
|
+
calculate: string;
|
|
154
|
+
emptyPlaceholder: string;
|
|
155
|
+
setRecordPlaceholder: string;
|
|
156
|
+
noRecords: string;
|
|
157
|
+
untitled: string;
|
|
158
|
+
/** Aggregation names, keyed by the aggregation. */
|
|
159
|
+
agg: Record<Agg, string>;
|
|
160
|
+
/** Filter operator names, keyed by the operator. */
|
|
161
|
+
op: Record<FilterOp, string>;
|
|
162
|
+
/** Title of the create dialog, given the entity column's label. */
|
|
163
|
+
newRecordTitle: (entity: string) => string;
|
|
164
|
+
/** Placeholder for a create-dialog field, given the field's label. */
|
|
165
|
+
setFieldPlaceholder: (field: string) => string;
|
|
166
|
+
/** Label for a newly added column, given how many columns exist. */
|
|
167
|
+
newColumnLabel: (index: number) => string;
|
|
168
|
+
/** The sort trigger, given the first sorted column and how many more. */
|
|
169
|
+
sortedBy: (first: string, extra: number) => string;
|
|
170
|
+
/** The filter trigger, given how many filters are active. */
|
|
171
|
+
filterCount: (active: number) => string;
|
|
172
|
+
/** The row count under the table. */
|
|
173
|
+
recordCount: (n: number) => string;
|
|
174
|
+
/** Heading above a filter chip's condition editor. */
|
|
175
|
+
conditionTitle: (field: string) => string;
|
|
176
|
+
};
|
|
177
|
+
export declare const recordsTableLabels: RecordsTableLabels;
|
|
178
|
+
/** Partial override of any chrome string; the two keyed maps nest. */
|
|
179
|
+
export type RecordsTableLabelsInput = Partial<Omit<RecordsTableLabels, "agg" | "op">> & {
|
|
180
|
+
agg?: Partial<Record<Agg, string>>;
|
|
181
|
+
op?: Partial<Record<FilterOp, string>>;
|
|
182
|
+
};
|
|
183
|
+
type FilterOp = "contains" | "is" | "isnot" | "empty" | "notempty";
|
|
54
184
|
/**
|
|
55
185
|
* Attio-style record grid — fully featured. Toolbar (search / sort status /
|
|
56
186
|
* count / New), sticky checkbox + entity columns, 36px rows, typed cells,
|
|
@@ -59,7 +189,7 @@ export declare function tagTone(t: string): string;
|
|
|
59
189
|
* and a floating bulk-action bar (delete / deselect) when rows are selected.
|
|
60
190
|
* Selection can be controlled via `selectedIds`/`onSelectionChange`.
|
|
61
191
|
*/
|
|
62
|
-
export declare function RecordsTable({ columns: columnsProp, rows: rowsProp, selectedIds, onSelectionChange, showNew, allowAddColumn, onOpenRecord, onOpenRecordPage, className, }: RecordsTableProps): React.JSX.Element;
|
|
192
|
+
export declare function RecordsTable({ labels, columns: columnsProp, rows: rowsProp, selectedIds, onSelectionChange, showNew, allowAddColumn, onOpenRecord, onOpenRecordPage, avatarTone, className, }: RecordsTableProps): React.JSX.Element;
|
|
63
193
|
export declare const defaultColumns: Column[];
|
|
64
194
|
export declare const defaultRows: Row[];
|
|
65
195
|
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The record tag/chip, measured from Attio: 22px tall, `padding: 0 4px`,
|
|
3
|
+
* `border-radius: ${c.radius.chip}`, 14px/20px at weight 500, and a 1px inset ring in the
|
|
4
|
+
* tone's colour.
|
|
5
|
+
*
|
|
6
|
+
* Shared because RecordsTable and RecordPanel render the *same* chip. It used
|
|
7
|
+
* to be pasted into both recipes, and the two copies had already started to
|
|
8
|
+
* drift — adding the measured inset ring meant patching the same rules twice.
|
|
9
|
+
*/
|
|
10
|
+
export declare const recordTagCss: string;
|