@persona/design-system 0.10.2 → 0.10.3
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 +13 -0
- package/dist/{CheckboxGroupField-BrPGNIyD.d.mts → CheckboxGroupField-6E5o6bYi.d.mts} +2 -2
- package/dist/CheckboxGroupField.d.mts +1 -1
- package/dist/{Combobox-BXHCfVpE.mjs → Combobox-CBM-oY-e.mjs} +6 -4
- package/dist/{Combobox-BXHCfVpE.mjs.map → Combobox-CBM-oY-e.mjs.map} +1 -1
- package/dist/{Combobox-D0dMN5eY.d.mts → Combobox-DTeu9_RR.d.mts} +3 -3
- package/dist/Combobox.d.mts +2 -2
- package/dist/{ComboboxBase-BlNi9OnF.d.mts → ComboboxBase-BMBdtP2Z.d.mts} +2 -2
- package/dist/ComboboxBase.d.mts +1 -1
- package/dist/{ComboboxMultiSelect-DbTYO-Yz.d.mts → ComboboxMultiSelect-DY5bAep9.d.mts} +2 -2
- package/dist/ComboboxMultiSelect.d.mts +1 -1
- package/dist/{ComboboxSingleSelect-Cd6VYdwr.d.mts → ComboboxSingleSelect-1NglA-u2.d.mts} +3 -3
- package/dist/ComboboxSingleSelect.d.mts +1 -1
- package/dist/{CompactBar-CfrrZ69k.d.mts → CompactBar-D9egXqY_.d.mts} +2 -2
- package/dist/CompactBar.d.mts +1 -1
- package/dist/{ConfigFormGroup-BE3yR_VU.mjs → ConfigFormGroup-CidT_cE9.mjs} +1 -1
- package/dist/{ConfigFormGroup-BE3yR_VU.mjs.map → ConfigFormGroup-CidT_cE9.mjs.map} +1 -1
- package/dist/{ControlBar-D9KflqmH.d.mts → ControlBar-RIz-xjxs.d.mts} +18 -1
- package/dist/ControlBar.d.mts +1 -1
- package/dist/{DataTable-F9R-aQCg.mjs → DataTable-DQ8axNfo.mjs} +7 -7
- package/dist/{DataTable-F9R-aQCg.mjs.map → DataTable-DQ8axNfo.mjs.map} +1 -1
- package/dist/{DataTable-BdKUCgcZ.d.mts → DataTable-l1bFeLXL.d.mts} +6 -5
- package/dist/DataTable.d.mts +1 -1
- package/dist/{DatePicker-CkNQjfCN.mjs → DatePicker-D0cvVbzq.mjs} +2 -2
- package/dist/{DatePicker-CkNQjfCN.mjs.map → DatePicker-D0cvVbzq.mjs.map} +1 -1
- package/dist/DropdownButton.d.mts +1 -1
- package/dist/{DropdownMenu-nxFNS1kH.d.mts → DropdownMenu-UIrnFxfG.d.mts} +2 -2
- package/dist/DropdownMenu.d.mts +1 -1
- package/dist/{FormField-D0y1uRV5.mjs → FormField-C0cd1zVd.mjs} +5 -5
- package/dist/{FormField-D0y1uRV5.mjs.map → FormField-C0cd1zVd.mjs.map} +1 -1
- package/dist/{HoverCopyableField-DkOosH8z.mjs → HoverCopyableField-D-BubaRd.mjs} +2 -2
- package/dist/{HoverCopyableField-DkOosH8z.mjs.map → HoverCopyableField-D-BubaRd.mjs.map} +1 -1
- package/dist/IndexTableLayout.d.mts +3 -3
- package/dist/InlineCombobox.d.mts +1 -1
- package/dist/InlineInput.d.mts +1 -1
- package/dist/{Link-BSuXrvTu.mjs → Link-Cf__H8gD.mjs} +1 -1
- package/dist/{Link-BSuXrvTu.mjs.map → Link-Cf__H8gD.mjs.map} +1 -1
- package/dist/{ListBox-CXFI-0nG.d.mts → ListBox-cH0dfeLN.d.mts} +2 -2
- package/dist/{ListBox-BLoJVezh.mjs → ListBox-eoyBHtnJ.mjs} +2 -2
- package/dist/{ListBox-BLoJVezh.mjs.map → ListBox-eoyBHtnJ.mjs.map} +1 -1
- package/dist/ListBox.d.mts +1 -1
- package/dist/{ListBoxField-BCOrph2k.d.mts → ListBoxField-DOpaE0q4.d.mts} +4 -4
- package/dist/ListBoxField.d.mts +1 -1
- package/dist/{LogicRow-8oYRkwz5.d.mts → LogicRow-CaxsteGU.d.mts} +2 -2
- package/dist/LogicRow.d.mts +1 -1
- package/dist/{Menu-DHnQZ5yN.d.mts → Menu-5VknNr1T.d.mts} +2 -2
- package/dist/Menu.d.mts +1 -1
- package/dist/{Modal-IJdbLORi.mjs → Modal-kjUptzg1.mjs} +1 -1
- package/dist/{Modal-IJdbLORi.mjs.map → Modal-kjUptzg1.mjs.map} +1 -1
- package/dist/{Pagination-C5ANr9M0.mjs → Pagination-DtK-jbEY.mjs} +2 -2
- package/dist/{Pagination-C5ANr9M0.mjs.map → Pagination-DtK-jbEY.mjs.map} +1 -1
- package/dist/{Pii-G16_b7Yk.mjs → Pii-DueIK287.mjs} +1 -1
- package/dist/{Pii-G16_b7Yk.mjs.map → Pii-DueIK287.mjs.map} +1 -1
- package/dist/{Popover-532iYFek.mjs → Popover-BcII7usF.mjs} +1 -1
- package/dist/{Popover-532iYFek.mjs.map → Popover-BcII7usF.mjs.map} +1 -1
- package/dist/{Select-hnXfPywt.mjs → Select-BJ9ACmRD.mjs} +1 -1
- package/dist/{Select-hnXfPywt.mjs.map → Select-BJ9ACmRD.mjs.map} +1 -1
- package/dist/{Select-CSbamhJO.d.mts → Select-CG_Xkx0m.d.mts} +2 -2
- package/dist/Select.d.mts +1 -1
- package/dist/SelectionCard.d.mts +0 -5
- package/dist/SmartTextInputField.d.mts +2 -2
- package/dist/{Spinner-AnIk8d9M.mjs → Spinner-7Camx1vs.mjs} +4 -3
- package/dist/{Spinner-AnIk8d9M.mjs.map → Spinner-7Camx1vs.mjs.map} +1 -1
- package/dist/{Table-CmuWqmVN.mjs → Table-BIDaC0uS.mjs} +2 -2
- package/dist/{Table-CmuWqmVN.mjs.map → Table-BIDaC0uS.mjs.map} +1 -1
- package/dist/{TableBox-BRJunn09.mjs → TableBox-Bn_XZEYd.mjs} +4 -4
- package/dist/{TableBox-BRJunn09.mjs.map → TableBox-Bn_XZEYd.mjs.map} +1 -1
- package/dist/TableBox.d.mts +1 -1
- package/dist/{TableBoxCell-Cag3ZYRs.d.mts → TableBoxCell-v_ag22E0.d.mts} +4 -4
- package/dist/TableBoxCell.d.mts +1 -1
- package/dist/{TableBoxField-C3Cg6Lv5.d.mts → TableBoxField-BTpSGmgW.d.mts} +5 -5
- package/dist/TableBoxField.d.mts +1 -1
- package/dist/{TableBoxRow-y5ay5lMt.d.mts → TableBoxRow-BBTztgTT.d.mts} +2 -2
- package/dist/TableBoxRow.d.mts +1 -1
- package/dist/{TableBoxRowActions-CDdVjAPQ.d.mts → TableBoxRowActions-B9QSVySz.d.mts} +2 -2
- package/dist/TableBoxRowActions.d.mts +1 -1
- package/dist/{TableControls-C5fNNdmT.mjs → TableControls-qxoq5abn.mjs} +102 -60
- package/dist/TableControls-qxoq5abn.mjs.map +1 -0
- package/dist/{TableControls-DCtTiWk6.d.mts → TableControls-wM35j3g4.d.mts} +5 -4
- package/dist/TableControls.d.mts +1 -1
- package/dist/{TableControlsContext-CzJCMrSe.d.mts → TableControlsContext-rTYwRi5S.d.mts} +2 -2
- package/dist/TableControlsContext.d.mts +1 -1
- package/dist/{TableViewConfigurationDropdown-BvOlDkJy.d.mts → TableViewConfigurationDropdown-Gut16-vY.d.mts} +2 -2
- package/dist/TableViewConfigurationDropdown.d.mts +1 -1
- package/dist/{clientFilterUtils-BqDn44aM.d.mts → clientFilterUtils-D0Bwapen.d.mts} +2 -2
- package/dist/clientFilterUtils.d.mts +1 -1
- package/dist/components/Combobox/index.d.mts +2 -2
- package/dist/components/Combobox/index.mjs +1 -1
- package/dist/components/ConfigFormGroup/index.mjs +1 -1
- package/dist/components/DataTable/TableControls/index.d.mts +7 -7
- package/dist/components/DataTable/TableControls/index.mjs +1 -1
- package/dist/components/DataTable/index.d.mts +5 -5
- package/dist/components/DataTable/index.mjs +1 -1
- package/dist/components/DataTable/types.d.mts +1 -1
- package/dist/components/DatePicker/index.mjs +1 -1
- package/dist/components/DropdownMenu/index.d.mts +1 -1
- package/dist/components/FormField/index.d.mts +4 -4
- package/dist/components/FormField/index.mjs +1 -1
- package/dist/components/HoverCopyableField/index.mjs +1 -1
- package/dist/components/Link/index.mjs +1 -1
- package/dist/components/ListBox/index.d.mts +3 -3
- package/dist/components/ListBox/index.mjs +1 -1
- package/dist/components/Menu/index.d.mts +1 -1
- package/dist/components/Modal/index.mjs +1 -1
- package/dist/components/Pagination/index.mjs +1 -1
- package/dist/components/Pii/index.mjs +1 -1
- package/dist/components/Popover/index.mjs +1 -1
- package/dist/components/Select/index.d.mts +1 -1
- package/dist/components/Select/index.mjs +1 -1
- package/dist/components/SelectionCard/index.mjs +32 -24
- package/dist/components/SelectionCard/index.mjs.map +1 -1
- package/dist/components/SmartTextInput/index.mjs +1 -1
- package/dist/components/Spinner/index.mjs +1 -1
- package/dist/components/Table/index.mjs +1 -1
- package/dist/components/TableBox/index.d.mts +1 -1
- package/dist/components/TableBox/index.mjs +1 -1
- package/dist/components/VersionHistory/index.mjs +2 -2
- package/dist/fieldPickerOptions.d.mts +1 -1
- package/dist/{filters-jG9Y3UKb.d.mts → filters-C8YLLbH3.d.mts} +2 -2
- package/dist/filters.d.mts +1 -1
- package/dist/{helpers-DCIto6aY.d.mts → helpers-DvqDI2e5.d.mts} +2 -2
- package/dist/helpers.d.mts +1 -1
- package/dist/{index-C3uFHTo0.d.mts → index-CNDe1Lij.d.mts} +3 -3
- package/dist/{inputFields-mUsms2tO.d.mts → inputFields-BZcm1UV5.d.mts} +4 -4
- package/dist/inputFields.d.mts +1 -1
- package/dist/patterns/IndexTableLayout/index.mjs +1 -1
- package/dist/patterns/LayoutLoadingShimmer/index.mjs +1 -1
- package/dist/patterns/WizardModal/index.mjs +1 -1
- package/dist/{types-CrRWZ0Ia.d.mts → types-Ci-KTHfu.d.mts} +2 -2
- package/dist/{types-DxJyE_U8.d.mts → types-SYxBPX6o.d.mts} +2 -2
- package/dist/types5.d.mts +1 -1
- package/dist/useColumnConfiguration.d.mts +2 -2
- package/dist/useComboboxFooterAction.d.mts +1 -1
- package/dist/{useTableColumns-DSXRInPb.d.mts → useTableColumns-PyxNyTD6.d.mts} +2 -2
- package/dist/useTableColumns.d.mts +1 -1
- package/dist/useTruncation.d.mts +1 -1
- package/llms.txt +2 -1
- package/package.json +2 -2
- package/skills/ui-authoring/SKILL.md +8 -0
- package/skills/ui-authoring/STANDARD.md +137 -0
- package/skills/ui-authoring/TOKENS.md +3 -1
- package/skills/ui-authoring/lanes.json +22 -0
- package/dist/TableControls-C5fNNdmT.mjs.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { n as CheckboxProps } from "./Checkbox-B2MZShdu.mjs";
|
|
2
|
-
import { n as ComboboxMultiSelectProps } from "./ComboboxMultiSelect-
|
|
3
|
-
import { n as ComboboxSingleSelectProps } from "./ComboboxSingleSelect-
|
|
2
|
+
import { n as ComboboxMultiSelectProps } from "./ComboboxMultiSelect-DY5bAep9.mjs";
|
|
3
|
+
import { n as ComboboxSingleSelectProps } from "./ComboboxSingleSelect-1NglA-u2.mjs";
|
|
4
4
|
import { n as FormFieldBaseProps } from "./FormField-mLbXDJ9B.mjs";
|
|
5
5
|
import { a as InputProps } from "./Input-Bg4bi6VZ.mjs";
|
|
6
6
|
import { n as RadioGroupProps } from "./RadioGroup-BxEmipHa.mjs";
|
|
7
7
|
import { i as SegmentedControlProps } from "./SegmentedControl-xjU-2IsJ.mjs";
|
|
8
|
-
import { i as SelectProps } from "./Select-
|
|
8
|
+
import { i as SelectProps } from "./Select-CG_Xkx0m.mjs";
|
|
9
9
|
import { t as TextAreaProps } from "./TextArea-DFn4XuG-.mjs";
|
|
10
10
|
import { n as ToggleProps } from "./Toggle-xtPgGaGD.mjs";
|
|
11
11
|
import * as _$react from "react";
|
|
@@ -68,4 +68,4 @@ type ComboboxMultiSelectFieldProps<T = string> = ImplementsFormField & ComboboxM
|
|
|
68
68
|
declare const ComboboxField: (props: ComboboxSingleSelectFieldProps | ComboboxMultiSelectFieldProps) => _$react_jsx_runtime0.JSX.Element;
|
|
69
69
|
//#endregion
|
|
70
70
|
export { ToggleField as _, ComboboxSingleSelectFieldProps as a, RadioGroupFieldProps as c, SelectField as d, SelectFieldProps as f, TextFieldProps as g, TextField as h, ComboboxMultiSelectFieldProps as i, SegmentedControlField as l, TextAreaFieldProps as m, CheckboxFieldProps as n, ImplementsFormField as o, TextAreaField as p, ComboboxField as r, RadioGroupField as s, CheckboxField as t, SegmentedControlFieldProps as u, ToggleFieldProps as v, splitOutFormFieldProps as y };
|
|
71
|
-
//# sourceMappingURL=inputFields-
|
|
71
|
+
//# sourceMappingURL=inputFields-BZcm1UV5.d.mts.map
|
package/dist/inputFields.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as ToggleField, a as ComboboxSingleSelectFieldProps, c as RadioGroupFieldProps, d as SelectField, f as SelectFieldProps, g as TextFieldProps, h as TextField, i as ComboboxMultiSelectFieldProps, l as SegmentedControlField, m as TextAreaFieldProps, n as CheckboxFieldProps, o as ImplementsFormField, p as TextAreaField, r as ComboboxField, s as RadioGroupField, t as CheckboxField, u as SegmentedControlFieldProps, v as ToggleFieldProps, y as splitOutFormFieldProps } from "./inputFields-
|
|
1
|
+
import { _ as ToggleField, a as ComboboxSingleSelectFieldProps, c as RadioGroupFieldProps, d as SelectField, f as SelectFieldProps, g as TextFieldProps, h as TextField, i as ComboboxMultiSelectFieldProps, l as SegmentedControlField, m as TextAreaFieldProps, n as CheckboxFieldProps, o as ImplementsFormField, p as TextAreaField, r as ComboboxField, s as RadioGroupField, t as CheckboxField, u as SegmentedControlFieldProps, v as ToggleFieldProps, y as splitOutFormFieldProps } from "./inputFields-BZcm1UV5.mjs";
|
|
2
2
|
export { CheckboxField, CheckboxFieldProps, ComboboxField, ComboboxMultiSelectFieldProps, ComboboxSingleSelectFieldProps, ImplementsFormField, RadioGroupField, RadioGroupFieldProps, SegmentedControlField, SegmentedControlFieldProps, SelectField, SelectFieldProps, TextAreaField, TextAreaFieldProps, TextField, TextFieldProps, ToggleField, ToggleFieldProps, splitOutFormFieldProps };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Card_default } from "../../Card-BXNxWX5C.mjs";
|
|
2
|
-
import { t as DataTable } from "../../DataTable-
|
|
2
|
+
import { t as DataTable } from "../../DataTable-DQ8axNfo.mjs";
|
|
3
3
|
import { t as PageHeader } from "../../PageHeader-DJF7nxgN.mjs";
|
|
4
4
|
import { a as Section, i as Container } from "../../PageLayout-fXJW7daI.mjs";
|
|
5
5
|
import { useMemo } from "react";
|
|
@@ -2,7 +2,7 @@ import { a as styled } from "../../styledComponentsInterop-NxwFjeA4.mjs";
|
|
|
2
2
|
import { n as Stack, t as HStack } from "../../Stack-BkC7FCdF.mjs";
|
|
3
3
|
import { t as LoadingShimmer } from "../../LoadingShimmer-Bqjdut7i.mjs";
|
|
4
4
|
import { t as Card_default } from "../../CardV2-Dp4eHSE-.mjs";
|
|
5
|
-
import { h as Table, m as TableHeaderCell, n as TableBody, p as TableRow, r as TableHead, s as TableCell } from "../../Table-
|
|
5
|
+
import { h as Table, m as TableHeaderCell, n as TableBody, p as TableRow, r as TableHead, s as TableCell } from "../../Table-BIDaC0uS.mjs";
|
|
6
6
|
import { n as PageHeaderContainer } from "../../PageHeader-DJF7nxgN.mjs";
|
|
7
7
|
import { Color, Spacing } from "@persona/design-tokens";
|
|
8
8
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -2,7 +2,7 @@ import { a as styled } from "../../styledComponentsInterop-NxwFjeA4.mjs";
|
|
|
2
2
|
import { semanticColor } from "../../lib/semanticColor.mjs";
|
|
3
3
|
import { t as HStack } from "../../Stack-BkC7FCdF.mjs";
|
|
4
4
|
import { n as Button } from "../../IconButton-HWx5Hlmi.mjs";
|
|
5
|
-
import { i as Modal_default } from "../../Modal-
|
|
5
|
+
import { i as Modal_default } from "../../Modal-kjUptzg1.mjs";
|
|
6
6
|
import { t as ProgressIndicator } from "../../ProgressIndicator-CM37EU1B.mjs";
|
|
7
7
|
import { Color, Spacing } from "@persona/design-tokens";
|
|
8
8
|
import { useState } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as ComboboxProps } from "./Combobox-
|
|
1
|
+
import { n as ComboboxProps } from "./Combobox-DTeu9_RR.mjs";
|
|
2
2
|
import { n as DateRange } from "./DateRangePicker-CLuBLF1q.mjs";
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
import { DateValue } from "@internationalized/date";
|
|
@@ -92,4 +92,4 @@ interface FilterTypeDefinition<TFilter extends BaseFilterConfig = FilterConfig>
|
|
|
92
92
|
type FilterTypeResolver<TFilter extends BaseFilterConfig = FilterConfig> = (config: TFilter) => FilterTypeDefinition<TFilter> | undefined;
|
|
93
93
|
//#endregion
|
|
94
94
|
export { ComboboxFilterConfig as a, FilterRenderOptions as c, InputFilterConfig as d, MultiSelectFilterConfig as f, BaseFilterConfig as i, FilterTypeDefinition as l, AttributeColumn as n, DateRangeFilterConfig as o, SelectFilterConfig as p, BaseActiveFilter as r, FilterConfig as s, ActiveFilter as t, FilterTypeResolver as u };
|
|
95
|
-
//# sourceMappingURL=types-
|
|
95
|
+
//# sourceMappingURL=types-Ci-KTHfu.d.mts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as MenuItemProps } from "./Menu-
|
|
1
|
+
import { l as MenuItemProps } from "./Menu-5VknNr1T.mjs";
|
|
2
2
|
import { o as StickerProps } from "./Sticker-CsUSNIH-.mjs";
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
import { Column, DeepKeys, FilterFnOption, Header, RowData, SortingState, Table } from "@tanstack/react-table";
|
|
@@ -177,4 +177,4 @@ type BulkAction = {
|
|
|
177
177
|
};
|
|
178
178
|
//#endregion
|
|
179
179
|
export { RowAction as C, RowDataWithTourTarget as D, RowDataWithSubrowsToAlwaysShowIds as E, SortProps as O, RenderValueStickerFormatConfig as S, RowDataWithSubrows as T, DataTableColumns as _, DataTableColumnBaseFormat as a, DatetimeConfig as b, DataTableColumnDatetimeFormat as c, DataTableColumnImageFormat as d, DataTableColumnNumberFormat as f, DataTableColumnURLFormat as g, DataTableColumnStringFormat as h, ColumnConfig as i, StickerMapping as k, DataTableColumnFormat as l, DataTableColumnStickerFormat as m, ClientFilterConfig as n, DataTableColumnCheckboxFormat as o, DataTableColumnPiiFormat as p, ClientFilterType as r, DataTableColumnDateFormat as s, BulkAction as t, DataTableColumnIDFormat as u, DataTableVariables as v, RowDataWithDetails as w, HeadlessFilterConfig as x, DateConfig as y };
|
|
180
|
-
//# sourceMappingURL=types-
|
|
180
|
+
//# sourceMappingURL=types-SYxBPX6o.d.mts.map
|
package/dist/types5.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ComboboxFilterConfig, c as FilterRenderOptions, d as InputFilterConfig, f as MultiSelectFilterConfig, i as BaseFilterConfig, l as FilterTypeDefinition, n as AttributeColumn, o as DateRangeFilterConfig, p as SelectFilterConfig, r as BaseActiveFilter, s as FilterConfig, t as ActiveFilter, u as FilterTypeResolver } from "./types-
|
|
1
|
+
import { a as ComboboxFilterConfig, c as FilterRenderOptions, d as InputFilterConfig, f as MultiSelectFilterConfig, i as BaseFilterConfig, l as FilterTypeDefinition, n as AttributeColumn, o as DateRangeFilterConfig, p as SelectFilterConfig, r as BaseActiveFilter, s as FilterConfig, t as ActiveFilter, u as FilterTypeResolver } from "./types-Ci-KTHfu.mjs";
|
|
2
2
|
export { ActiveFilter, AttributeColumn, BaseActiveFilter, BaseFilterConfig, ComboboxFilterConfig, DateRangeFilterConfig, FilterConfig, FilterRenderOptions, FilterTypeDefinition, FilterTypeResolver, InputFilterConfig, MultiSelectFilterConfig, SelectFilterConfig };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as TableViewConfigurationProps } from "./TableViewConfigurationDropdown-
|
|
2
|
-
import { i as ColumnConfig } from "./types-
|
|
1
|
+
import { i as TableViewConfigurationProps } from "./TableViewConfigurationDropdown-Gut16-vY.mjs";
|
|
2
|
+
import { i as ColumnConfig } from "./types-SYxBPX6o.mjs";
|
|
3
3
|
import { RowData } from "@tanstack/react-table";
|
|
4
4
|
|
|
5
5
|
//#region patterns/IndexTableLayout/useColumnConfiguration.d.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as RowAction, O as SortProps, _ as DataTableColumns, l as DataTableColumnFormat } from "./types-
|
|
1
|
+
import { C as RowAction, O as SortProps, _ as DataTableColumns, l as DataTableColumnFormat } from "./types-SYxBPX6o.mjs";
|
|
2
2
|
import { ColumnDef, Row, RowData, Table } from "@tanstack/react-table";
|
|
3
3
|
|
|
4
4
|
//#region components/DataTable/useTableColumns.d.ts
|
|
@@ -69,4 +69,4 @@ declare function useTableColumns<TData extends RowData, TFormat extends {
|
|
|
69
69
|
}[]];
|
|
70
70
|
//#endregion
|
|
71
71
|
export { UseTableColumnsParams as n, useTableColumns as r, RenderFormatFn as t };
|
|
72
|
-
//# sourceMappingURL=useTableColumns-
|
|
72
|
+
//# sourceMappingURL=useTableColumns-PyxNyTD6.d.mts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as UseTableColumnsParams, r as useTableColumns, t as RenderFormatFn } from "./useTableColumns-
|
|
1
|
+
import { n as UseTableColumnsParams, r as useTableColumns, t as RenderFormatFn } from "./useTableColumns-PyxNyTD6.mjs";
|
|
2
2
|
export { RenderFormatFn, UseTableColumnsParams, useTableColumns };
|
package/dist/useTruncation.d.mts
CHANGED
package/llms.txt
CHANGED
|
@@ -14,6 +14,7 @@ For exact prop types, prefer the published type declarations (`dist/**/*.d.mts`,
|
|
|
14
14
|
## Skills
|
|
15
15
|
|
|
16
16
|
- [ui-authoring](skills/ui-authoring/SKILL.md): design tokens, PDS implementation guidelines, table guidelines (DataTable vs TableBox vs TableLayout), routing/link adapters (react-router, TanStack, custom), localization (PDSProvider strings/locale), loading states, testing, Storybook
|
|
17
|
+
- [Product UI standard](skills/ui-authoring/STANDARD.md): the rules every screen meets (11 px minimum for copy and 8 px for labels inside charts and diagrams, WCAG AA contrast, reduced motion, status not by colour alone), the screen brief, and the `new-screen` task lane defined in `lanes.json`
|
|
17
18
|
- [Tokens](skills/ui-authoring/TOKENS.md): semantic color tokens (Fg / Surface / Border / Action / Input / Feedback / Status / Opacity) with recipes and a dark-mode checklist; Spacing / Typography catalog, radius, elevation, charts
|
|
18
19
|
- [Patterns](skills/ui-authoring/PATTERNS.md): forms, layout, index tables, indicators, feedback, empty states, charts, panels
|
|
19
20
|
- [Components](skills/ui-authoring/COMPONENTS.md): which PDS component to use (and its import path); APIs live in that component's `.mdx` when one exists, otherwise in `dist/components/<Name>/index.d.mts`
|
|
@@ -39,7 +40,7 @@ their own subpaths.
|
|
|
39
40
|
- Modal close button: localize the default with `PDSProvider strings={{ closeModal: translatedLabel }}` (English: "Close"), or override one modal with `contentProps.closeButtonLabel`.
|
|
40
41
|
- Forms: `ConfigFormGroup`, `FormField` (`TextField`, `TextAreaField`, `TableBoxField`), `Input`, `TextArea`, `Select`, `Combobox`, `Checkbox`, `Radio`, `Toggle`, `DatePicker`
|
|
41
42
|
- Status: `Sticker` (status badges), `Badge` (counts), `StatusIndicator`
|
|
42
|
-
- Saved views: `TableControls` (or `DataTable.controls`) requires `onSetDefaultView` and `onUnsetDefaultView` together, or neither. Editable views offer "Set as default" / "Unset default" based on `view.isDefault`; the design system confirms before calling either callback and warns that both changes affect the entire organization. Consumers own persistence and must remove their own confirmations to avoid double prompts. Compact controls omit saved views.
|
|
43
|
+
- Saved views: `TableControls` (or `DataTable.controls`) requires `onSetDefaultView` and `onUnsetDefaultView` together, or neither. Editable views offer "Set as default" / "Unset default" based on `view.isDefault`; the design system confirms before calling either callback and warns that both changes affect the entire organization. Consumers own persistence and must remove their own confirmations to avoid double prompts. Compact controls omit saved views. Pass `starredDefaultView` to star the default view: the `isDefault` view is pinned first with a star icon, cannot be dragged, hidden, deleted or unset, and its menu offers only Save and Duplicate (its name field still renames it); every other view gets the full menu. Rename and Duplicate on it call `onViewNameChange` / `onDuplicateView` with its id; Save calls `onSaveView()` with no id, saving whatever the consumer treats as the current view. A null `currentView` is shown as the starred view, so `onSaveView` and toolbar Save must treat null as the starred view; while an `isDefault` view exists, pass its id as `currentView` rather than null. A lazy default is a consumer-owned placeholder view with `isDefault: true`. While a view is the default the built-in tab is not shown and a `null` `currentView` is displayed as the starred view; with no `isDefault` view the built-in tab is shown starred and read-only.
|
|
43
44
|
- DataTable filters: pass `filtersV2` (`TableControlsFiltersV2Props` / `FilterBarProps`) through `DataTable.controls` or directly to `TableControls` for a first-class FilterBar; defaults visible with size derived from `compact`. Hosts own V2 data filtering and feed `onChange` back to `initialState` for active-filter messaging; hydration needs no remount key. Precedence: `filterPanel` → `filtersV2` → legacy `filters`. Legacy `filters` supports `input`, `select`, `multiselect`, `combobox`, and `daterange` with optional `filterResolver`. With `clientFiltering`, `column.filter` generates legacy-only controls backed by TanStack column-filter state, not V2 filtering.
|
|
44
45
|
- SmartTextInput: when method chains are allowed (`ValueType.MethodChain` or `{{...}}` interpolation), you MUST pass `renderFunctionForm`. PDS does not build the function-parameter form, so without it the dialog opened by placing the cursor in a call like `convert_to(...)` shows only the function name over an empty body. It receives `FunctionFormRenderProps` and must call `onComplete(nodes)` or `onCancel()`. In persona-web, `useDashboardSmartTextInputProps` supplies it (backed by `InputMethodChain/FunctionForm`). See components/SmartTextInput/SmartTextInput.mdx.
|
|
45
46
|
- FilterBar: optional `FilterField.condition`, `pickerGroup`, and `disabledReason` support host-defined individual predicates in pills and native Rules; existing aggregate fields stay unchanged. See components/DataTable/DataTable.mdx. Hosts own feature activation and serialization.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@persona/design-system",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.3",
|
|
4
4
|
"description": "React components for Persona UI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tanstack-intent"
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
"jsdom": "^27.4.0",
|
|
244
244
|
"lodash": "^4.18.1",
|
|
245
245
|
"msw": "^2.12.14",
|
|
246
|
-
"playwright": "1.
|
|
246
|
+
"playwright": "1.61.0",
|
|
247
247
|
"react": "^17.0.2",
|
|
248
248
|
"react-dom": "^17.0.2",
|
|
249
249
|
"react-router-dom": "^6.30.5",
|
|
@@ -8,6 +8,13 @@ metadata:
|
|
|
8
8
|
|
|
9
9
|
# UI Authoring
|
|
10
10
|
|
|
11
|
+
## Product UI standard
|
|
12
|
+
|
|
13
|
+
Building a screen in an app? [STANDARD.md](STANDARD.md) holds the rules every screen meets: text the
|
|
14
|
+
user reads is at least 11 px (8 px for a label inside a chart or diagram), contrast meets WCAG AA in light and dark, motion honours
|
|
15
|
+
`prefers-reduced-motion`, and status never relies on colour alone. It also defines the `new-screen`
|
|
16
|
+
lane for building one screen with no designer. Read it first, then the sections below.
|
|
17
|
+
|
|
11
18
|
## Design Tokens
|
|
12
19
|
|
|
13
20
|
```tsx
|
|
@@ -184,6 +191,7 @@ Add `ComponentName.stories.tsx` for every new component or visual variant.
|
|
|
184
191
|
|
|
185
192
|
## Resources
|
|
186
193
|
|
|
194
|
+
- [STANDARD.md](STANDARD.md) — product UI standard: accessibility values, screen brief, `new-screen` lane ([lanes.json](lanes.json)), checks, departures
|
|
187
195
|
- [TOKENS.md](TOKENS.md) — semantic color tokens (Fg / Surface / Border / Action / Input / Feedback / Status / Opacity), recipes and dark-mode checklist; Spacing / Typography catalog, radius, elevation, charts
|
|
188
196
|
- [PATTERNS.md](PATTERNS.md) — forms, layout, panels, indicators, feedback, empty states
|
|
189
197
|
- [COMPONENTS.md](COMPONENTS.md) — which PDS component to use, and its import path; APIs live in each component's `.mdx`
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Product UI standard
|
|
2
|
+
|
|
3
|
+
The rules every screen built on PDS meets, above the shared accessibility floor. This is the product
|
|
4
|
+
UI area standard of the Persona design harness. It cites `persona-id/design-harness` at
|
|
5
|
+
**`core-v0.3`**, where the product UI area's entry is `areas/product-ui.md`.
|
|
6
|
+
|
|
7
|
+
- **Owner:** Michael Hu.
|
|
8
|
+
- **Covers:** screens in Persona apps built on `@persona/design-system` (the dashboard, internal
|
|
9
|
+
apps, App Builder).
|
|
10
|
+
- **Pinned by the app's PDS version.** The installed package is the live source and beats any
|
|
11
|
+
description of it, this file included (PDH-S1).
|
|
12
|
+
|
|
13
|
+
## Ranks
|
|
14
|
+
|
|
15
|
+
PDH-P1 (honesty) and PDH-P2 (brand) rank first and second. Then:
|
|
16
|
+
|
|
17
|
+
3. **Component-first.** A PDS pattern or component over custom code. Tokens only style what no
|
|
18
|
+
component covers. The failure this guards against is one-off UI that drifts from every other
|
|
19
|
+
screen.
|
|
20
|
+
4. **Craft.** Hierarchy, spacing, copy and every state (loading, empty, error, disabled) finished,
|
|
21
|
+
not just working.
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
|
|
25
|
+
| Rule | Product UI value |
|
|
26
|
+
| ---- | ---------------- |
|
|
27
|
+
| PDH-F1 contrast | The core value, WCAG 2.2 AA, in every colour mode the screen ships (light and dark) |
|
|
28
|
+
| PDH-F2 copy | **11 CSS px** for text the user reads, the core web-copy value. 10 px styles are below it (see Checks); use `TextSmall` or `TextSmallMono` (12 px) |
|
|
29
|
+
| PDH-F2 label inside a graphic | **8 CSS px** for a label inside a chart, a diagram or rebuilt product UI, the core value |
|
|
30
|
+
| PDH-F3 reduced motion | Every animation and transition honours `prefers-reduced-motion`; flashing follows PDH-F3 |
|
|
31
|
+
| PDH-F4 status | An icon or label as well as colour. `StatusIndicator` and `Sticker` already do this |
|
|
32
|
+
|
|
33
|
+
Product UI shown in a fixed frame (a slide, a video) takes the core's fixed-frame value instead.
|
|
34
|
+
|
|
35
|
+
## Types
|
|
36
|
+
|
|
37
|
+
| Type | What | Governed by |
|
|
38
|
+
| ---- | ---- | ----------- |
|
|
39
|
+
| `screen` | A route, page, panel or modal flow in app code | This file. It bends nothing here without a departure row |
|
|
40
|
+
| `component` | A component or pattern in PDS itself | `REVIEW.md` and the `design-system-component-authoring` skill, plus this file's parameters |
|
|
41
|
+
|
|
42
|
+
No type bends the floor or PDH-P1.
|
|
43
|
+
|
|
44
|
+
## What `persona` means here
|
|
45
|
+
|
|
46
|
+
Product UI is always `persona` (PDH-M4): PDS as shipped, in the app's theme. Briefs and receipts
|
|
47
|
+
record `brand: persona` without asking. Work that needs to be `unbranded` isn't covered by this
|
|
48
|
+
standard.
|
|
49
|
+
|
|
50
|
+
## Screen brief
|
|
51
|
+
|
|
52
|
+
Record these in the PR body before building, so the source is consulted at intake (PDH-S2):
|
|
53
|
+
|
|
54
|
+
- **Intent:** who uses the screen, to do what, in one line.
|
|
55
|
+
- **Source:** the live product, a Figma link, or none. Say so if a source couldn't be reached.
|
|
56
|
+
- **PDS version:** from the app's lockfile.
|
|
57
|
+
- **Brand:** `persona`.
|
|
58
|
+
- **Lane:** `new-screen`, or none.
|
|
59
|
+
|
|
60
|
+
## Lanes
|
|
61
|
+
|
|
62
|
+
A lane is a strict path for one common task. A PR opts in with a commit trailer, and the diff is then
|
|
63
|
+
held to the lane's allow-list. Work that fits no lane goes without a trailer, through normal review;
|
|
64
|
+
don't stretch a lane to fit it.
|
|
65
|
+
|
|
66
|
+
Lanes are data, in [lanes.json](lanes.json). They name roles, not paths. Each app's harness config
|
|
67
|
+
maps roles to its own paths, so one lane works in any app.
|
|
68
|
+
|
|
69
|
+
### `new-screen`
|
|
70
|
+
|
|
71
|
+
One new screen built from PDS, with no designer (App Builder, internal apps).
|
|
72
|
+
|
|
73
|
+
- **Opt in:** a `Harness-Task: new-screen` trailer on any commit in the PR.
|
|
74
|
+
- **Allowed:** one new screen directory (`screen`), its tests and stories (`screen-tests`), and
|
|
75
|
+
locale files (`locale`).
|
|
76
|
+
- **Reported, not failed:** edits to the route table (`route-table`), so the screen can be reached.
|
|
77
|
+
- **Forbidden:** shared components (`shared`), theme (`theme`), and code mirrored from PDS
|
|
78
|
+
(`pds-mirror`). A change there is its own PR, or a PDS change.
|
|
79
|
+
- A file that matches no allowed or reported role fails. A file that matches a forbidden role is
|
|
80
|
+
forbidden, even if it also matches another role.
|
|
81
|
+
- Build only from PDS patterns, components and tokens, per [SKILL.md](SKILL.md), and finish with the
|
|
82
|
+
"Before you hand it over" list in [TOKENS.md](TOKENS.md).
|
|
83
|
+
|
|
84
|
+
### Adding a lane
|
|
85
|
+
|
|
86
|
+
Add an entry under `lanes` in `lanes.json`: a `description`, `newScreens` (how many new screen
|
|
87
|
+
directories the diff may add; `0` for an edit-only lane), and `allow`, `note` and `forbid` role
|
|
88
|
+
lists. Add a role only when no existing one covers the paths. Then describe the lane here.
|
|
89
|
+
Specialized work gets its own lane; never loosen `new-screen` to fit it.
|
|
90
|
+
|
|
91
|
+
## Checks
|
|
92
|
+
|
|
93
|
+
All of these are review until the screen checker ships. When it does, it fails only on new findings;
|
|
94
|
+
existing ones are grandfathered.
|
|
95
|
+
|
|
96
|
+
| Rule | Source | Check |
|
|
97
|
+
| ---- | ------ | ----- |
|
|
98
|
+
| Painted colours are semantic: no hex, no `Color.*` outside the `semanticColor` fallback | PDS; keeps PDH-F1 in dark mode | Review |
|
|
99
|
+
| Complete `Typography` styles, never individual font properties or a raw `font-size` | PDS; makes PDH-F2 checkable | Review |
|
|
100
|
+
| No copy under 11 px. The 10 px routes are `Typography.TextExtraSmall` and `TextExtraSmallMono`, `theme.text.paragraph.xs`, the text mixin's `xs` (`Paragraph` / `Label` `size="xs"`), and the `TextMono` + `TextExtraSmall.fontSize` composite | PDH-F2 | Review. Report-only once automated, since a text check can't tell copy from a label inside a graphic |
|
|
101
|
+
| `@keyframes`, `animation` or `transition` only with a `prefers-reduced-motion` block | PDH-F3 | Review. Report-only once automated |
|
|
102
|
+
| No hand-rolled `<table>`, `<th>` or `<td>` | PDS (Table Guidelines in SKILL.md) | Review |
|
|
103
|
+
| Contrast | PDH-F1 | Review |
|
|
104
|
+
| Status not by colour alone | PDH-F4 | Review |
|
|
105
|
+
| The diff stays within its lane | `lanes.json` | Review |
|
|
106
|
+
|
|
107
|
+
## Departure ledger
|
|
108
|
+
|
|
109
|
+
Departures from this file or the core that aren't tightenings, one row each, in the PDH-M3 format:
|
|
110
|
+
`rule ID · what changed · scope · reason (medium or audience) · owner · expiry or "standing" · date`.
|
|
111
|
+
A one-screen departure goes in that PR's brief instead.
|
|
112
|
+
|
|
113
|
+
| Rule | What changed | Scope | Reason | Owner | Expiry | Date |
|
|
114
|
+
| ---- | ------------ | ----- | ------ | ----- | ------ | ---- |
|
|
115
|
+
| PDH-F2 | 10 px mono text (`TextMono` + `TextExtraSmall.fontSize`) | `components/TechnicalSticker/TechnicalSticker.tsx`, the `font-size` in the `TechnicalText` style | PDS's existing 10 px step for dense technical identifiers; predates this standard | Michael Hu | standing | 2026-10-26 |
|
|
116
|
+
| PDH-F2 | 10 px mono pill text (`Typography.TextExtraSmall`, mono family) | `components/SmartTextInput/PillType.tsx`, the `PillType` style | PDS's existing 10 px step for type pills in the editor; predates this standard | Michael Hu | standing | 2026-10-26 |
|
|
117
|
+
| PDH-F2 | 10 px helper copy (`paragraphMixins.xs`); copy, not a label inside a graphic | `components/DataTable/TableControls/FiltersV2/FilterPopover/FilterPopover.tsx`, the `Footer` style | PDS's existing 10 px step for the filter popover's field note; predates this standard | Michael Hu | standing | 2026-10-26 |
|
|
118
|
+
| PDH-F2 | 10 px `xs` paragraph mixin (`Typography.TextExtraSmall`), reached by `Paragraph` / `Label` `size="xs"` | `mixins/text.ts` `xs` | PDS's existing 10 px step, kept for current callers; predates this standard | Michael Hu | standing | 2026-10-26 |
|
|
119
|
+
| PDH-F2 | 10 px theme value (`Typography.TextExtraSmall`) | `theme.ts` `text.paragraph.xs` | Part of the theme contract consumers compile against; predates this standard | Michael Hu | standing | 2026-10-26 |
|
|
120
|
+
|
|
121
|
+
`lib/middleTruncateText.ts` needs no row: its 10 px `DEFAULT_FONT` only measures text on a canvas
|
|
122
|
+
and paints nothing.
|
|
123
|
+
|
|
124
|
+
## Receipt
|
|
125
|
+
|
|
126
|
+
Each screen records the receipt core (design-harness `spec/receipt.md`) plus `brand: persona`,
|
|
127
|
+
`departures`, and `shared_components_touched` (the shared components changed, with every screen they
|
|
128
|
+
reach). Until the screen receipt is automated, the screen brief in the PR body stands in for it.
|
|
129
|
+
|
|
130
|
+
## Citations and tightenings
|
|
131
|
+
|
|
132
|
+
No tightenings for now: every value above is the core's value.
|
|
133
|
+
|
|
134
|
+
Core rules cited, all at `persona-id/design-harness` `core-v0.3`: PDH-P1, PDH-P2 (ranks 1–2) · PDH-F1 to PDH-F4 ·
|
|
135
|
+
PDH-S1, PDH-S2 · PDH-M1, host side (a screen hosting an illustration, such as an empty state, sets the
|
|
136
|
+
surface it sits on) · PDH-M3 · PDH-M4 · PDH-M5 (a correction meant to hold lands as a PR to this
|
|
137
|
+
file). Not cited: PDH-M2, campaigns don't apply to product UI.
|
|
@@ -634,9 +634,11 @@ Typography.TextMediumLink // 14px, regular, underlined
|
|
|
634
634
|
Typography.TextSmall // 12px, regular
|
|
635
635
|
Typography.TextSmallBold // 12px, bold
|
|
636
636
|
Typography.TextSmallLink // 12px, regular, underlined
|
|
637
|
-
Typography.TextExtraSmall // 10px
|
|
637
|
+
Typography.TextExtraSmall // 10px, below the 11px minimum for text the user reads (STANDARD.md)
|
|
638
638
|
|
|
639
639
|
Typography.TextMono // 14px, monospace
|
|
640
|
+
Typography.TextSmallMono // 12px, monospace
|
|
641
|
+
Typography.TextExtraSmallMono // 10px, monospace, below the 11px minimum for text the user reads (STANDARD.md)
|
|
640
642
|
```
|
|
641
643
|
|
|
642
644
|
## Radius
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"trailer": "Harness-Task",
|
|
4
|
+
"roles": {
|
|
5
|
+
"screen": "Files inside the screen or route directory the lane adds. The app's harness config names where screen directories live.",
|
|
6
|
+
"screen-tests": "Tests and stories for that screen kept outside its directory.",
|
|
7
|
+
"locale": "Locale (translation) files.",
|
|
8
|
+
"route-table": "The app's route or navigation table.",
|
|
9
|
+
"shared": "Components, hooks and layouts used by more than one screen.",
|
|
10
|
+
"theme": "Theme, global styles and token overrides.",
|
|
11
|
+
"pds-mirror": "Code mirrored or copied from @persona/design-system."
|
|
12
|
+
},
|
|
13
|
+
"lanes": {
|
|
14
|
+
"new-screen": {
|
|
15
|
+
"description": "One new screen built from PDS patterns and components, with no designer.",
|
|
16
|
+
"newScreens": 1,
|
|
17
|
+
"allow": ["screen", "screen-tests", "locale"],
|
|
18
|
+
"note": ["route-table"],
|
|
19
|
+
"forbid": ["shared", "theme", "pds-mirror"]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|