@persona/design-system 0.10.2 → 0.10.4

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.
Files changed (94) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/{Breadcrumb-BDbY1Ffu.d.mts → Breadcrumb-CA0vAzUN.d.mts} +7 -2
  3. package/dist/Breadcrumb.d.mts +2 -2
  4. package/dist/{Breadcrumbs-C2ThOYJ-.d.mts → Breadcrumbs-47jYLqNP.d.mts} +2 -2
  5. package/dist/{Breadcrumbs-CQUe9VTM.mjs → Breadcrumbs-gRAsKF4R.mjs} +50 -10
  6. package/dist/Breadcrumbs-gRAsKF4R.mjs.map +1 -0
  7. package/dist/Breadcrumbs.d.mts +1 -1
  8. package/dist/{Combobox-BXHCfVpE.mjs → Combobox-CBM-oY-e.mjs} +6 -4
  9. package/dist/{Combobox-BXHCfVpE.mjs.map → Combobox-CBM-oY-e.mjs.map} +1 -1
  10. package/dist/{CompactBar-CfrrZ69k.d.mts → CompactBar-D9egXqY_.d.mts} +2 -2
  11. package/dist/CompactBar.d.mts +1 -1
  12. package/dist/{ConfigFormGroup-BE3yR_VU.mjs → ConfigFormGroup-CidT_cE9.mjs} +1 -1
  13. package/dist/{ConfigFormGroup-BE3yR_VU.mjs.map → ConfigFormGroup-CidT_cE9.mjs.map} +1 -1
  14. package/dist/{ControlBar-D9KflqmH.d.mts → ControlBar-RIz-xjxs.d.mts} +18 -1
  15. package/dist/ControlBar.d.mts +1 -1
  16. package/dist/{DataTable-BdKUCgcZ.d.mts → DataTable-D15C5lfd.d.mts} +3 -2
  17. package/dist/{DataTable-F9R-aQCg.mjs → DataTable-DQ8axNfo.mjs} +7 -7
  18. package/dist/{DataTable-F9R-aQCg.mjs.map → DataTable-DQ8axNfo.mjs.map} +1 -1
  19. package/dist/DataTable.d.mts +1 -1
  20. package/dist/{DatePicker-CkNQjfCN.mjs → DatePicker-D0cvVbzq.mjs} +2 -2
  21. package/dist/{DatePicker-CkNQjfCN.mjs.map → DatePicker-D0cvVbzq.mjs.map} +1 -1
  22. package/dist/{FormField-D0y1uRV5.mjs → FormField-C0cd1zVd.mjs} +5 -5
  23. package/dist/{FormField-D0y1uRV5.mjs.map → FormField-C0cd1zVd.mjs.map} +1 -1
  24. package/dist/{HoverCopyableField-DkOosH8z.mjs → HoverCopyableField-D-BubaRd.mjs} +2 -2
  25. package/dist/{HoverCopyableField-DkOosH8z.mjs.map → HoverCopyableField-D-BubaRd.mjs.map} +1 -1
  26. package/dist/IndexTableLayout.d.mts +4 -4
  27. package/dist/{Link-BSuXrvTu.mjs → Link-Cf__H8gD.mjs} +1 -1
  28. package/dist/{Link-BSuXrvTu.mjs.map → Link-Cf__H8gD.mjs.map} +1 -1
  29. package/dist/{ListBox-BLoJVezh.mjs → ListBox-eoyBHtnJ.mjs} +2 -2
  30. package/dist/{ListBox-BLoJVezh.mjs.map → ListBox-eoyBHtnJ.mjs.map} +1 -1
  31. package/dist/{Modal-IJdbLORi.mjs → Modal-kjUptzg1.mjs} +1 -1
  32. package/dist/{Modal-IJdbLORi.mjs.map → Modal-kjUptzg1.mjs.map} +1 -1
  33. package/dist/{PageHeader-Czj42pyK.d.mts → PageHeader-CnpDVOck.d.mts} +2 -2
  34. package/dist/{PageHeader-DJF7nxgN.mjs → PageHeader-D2j2XHD9.mjs} +6 -2
  35. package/dist/PageHeader-D2j2XHD9.mjs.map +1 -0
  36. package/dist/PageHeader.d.mts +1 -1
  37. package/dist/{Pagination-C5ANr9M0.mjs → Pagination-DtK-jbEY.mjs} +2 -2
  38. package/dist/{Pagination-C5ANr9M0.mjs.map → Pagination-DtK-jbEY.mjs.map} +1 -1
  39. package/dist/{Pii-G16_b7Yk.mjs → Pii-DueIK287.mjs} +1 -1
  40. package/dist/{Pii-G16_b7Yk.mjs.map → Pii-DueIK287.mjs.map} +1 -1
  41. package/dist/{Popover-532iYFek.mjs → Popover-BcII7usF.mjs} +1 -1
  42. package/dist/{Popover-532iYFek.mjs.map → Popover-BcII7usF.mjs.map} +1 -1
  43. package/dist/{Select-hnXfPywt.mjs → Select-BJ9ACmRD.mjs} +1 -1
  44. package/dist/{Select-hnXfPywt.mjs.map → Select-BJ9ACmRD.mjs.map} +1 -1
  45. package/dist/SelectionCard.d.mts +0 -5
  46. package/dist/{Spinner-AnIk8d9M.mjs → Spinner-7Camx1vs.mjs} +4 -3
  47. package/dist/{Spinner-AnIk8d9M.mjs.map → Spinner-7Camx1vs.mjs.map} +1 -1
  48. package/dist/{Table-CmuWqmVN.mjs → Table-BIDaC0uS.mjs} +2 -2
  49. package/dist/{Table-CmuWqmVN.mjs.map → Table-BIDaC0uS.mjs.map} +1 -1
  50. package/dist/{TableBox-BRJunn09.mjs → TableBox-Bn_XZEYd.mjs} +4 -4
  51. package/dist/{TableBox-BRJunn09.mjs.map → TableBox-Bn_XZEYd.mjs.map} +1 -1
  52. package/dist/{TableControls-DCtTiWk6.d.mts → TableControls-ETB0Xk5X.d.mts} +3 -2
  53. package/dist/{TableControls-C5fNNdmT.mjs → TableControls-qxoq5abn.mjs} +102 -60
  54. package/dist/TableControls-qxoq5abn.mjs.map +1 -0
  55. package/dist/TableControls.d.mts +1 -1
  56. package/dist/components/Breadcrumbs/index.d.mts +1 -1
  57. package/dist/components/Breadcrumbs/index.mjs +1 -1
  58. package/dist/components/Combobox/index.mjs +1 -1
  59. package/dist/components/ConfigFormGroup/index.mjs +1 -1
  60. package/dist/components/DataTable/TableControls/index.d.mts +3 -3
  61. package/dist/components/DataTable/TableControls/index.mjs +1 -1
  62. package/dist/components/DataTable/index.d.mts +1 -1
  63. package/dist/components/DataTable/index.mjs +1 -1
  64. package/dist/components/DatePicker/index.mjs +1 -1
  65. package/dist/components/FormField/index.mjs +1 -1
  66. package/dist/components/HoverCopyableField/index.mjs +1 -1
  67. package/dist/components/Link/index.mjs +1 -1
  68. package/dist/components/ListBox/index.mjs +1 -1
  69. package/dist/components/Modal/index.mjs +1 -1
  70. package/dist/components/PageHeader/index.d.mts +1 -1
  71. package/dist/components/PageHeader/index.mjs +1 -1
  72. package/dist/components/Pagination/index.mjs +1 -1
  73. package/dist/components/Pii/index.mjs +1 -1
  74. package/dist/components/Popover/index.mjs +1 -1
  75. package/dist/components/Select/index.mjs +1 -1
  76. package/dist/components/SelectionCard/index.mjs +32 -24
  77. package/dist/components/SelectionCard/index.mjs.map +1 -1
  78. package/dist/components/SmartTextInput/index.mjs +1 -1
  79. package/dist/components/Spinner/index.mjs +1 -1
  80. package/dist/components/Table/index.mjs +1 -1
  81. package/dist/components/TableBox/index.mjs +1 -1
  82. package/dist/components/VersionHistory/index.mjs +2 -2
  83. package/dist/patterns/IndexTableLayout/index.mjs +2 -2
  84. package/dist/patterns/LayoutLoadingShimmer/index.mjs +2 -2
  85. package/dist/patterns/WizardModal/index.mjs +1 -1
  86. package/llms.txt +2 -1
  87. package/package.json +2 -2
  88. package/skills/ui-authoring/SKILL.md +8 -0
  89. package/skills/ui-authoring/STANDARD.md +137 -0
  90. package/skills/ui-authoring/TOKENS.md +3 -1
  91. package/skills/ui-authoring/lanes.json +22 -0
  92. package/dist/Breadcrumbs-CQUe9VTM.mjs.map +0 -1
  93. package/dist/PageHeader-DJF7nxgN.mjs.map +0 -1
  94. package/dist/TableControls-C5fNNdmT.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { n as HStackProps } from "./Stack-BZyboHQl.mjs";
2
- import { n as ControlBarProps } from "./ControlBar-D9KflqmH.mjs";
2
+ import { n as ControlBarProps } from "./ControlBar-RIz-xjxs.mjs";
3
3
  import * as _$styled_components0 from "styled-components";
4
4
  import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5
 
@@ -18,4 +18,4 @@ type CompactBarProps = Pick<ControlBarProps, 'title' | 'searchProps' | 'showFilt
18
18
  declare const CompactBar: React.FC<CompactBarProps>;
19
19
  //#endregion
20
20
  export { DataTableCompactBar as n, CompactBar as t };
21
- //# sourceMappingURL=CompactBar-CfrrZ69k.d.mts.map
21
+ //# sourceMappingURL=CompactBar-D9egXqY_.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as DataTableCompactBar, t as CompactBar } from "./CompactBar-CfrrZ69k.mjs";
1
+ import { n as DataTableCompactBar, t as CompactBar } from "./CompactBar-D9egXqY_.mjs";
2
2
  export { DataTableCompactBar, CompactBar as default };
@@ -25,4 +25,4 @@ const ConfigFormGroup = forwardRef(function ConfigFormGroup(props, ref) {
25
25
  //#endregion
26
26
  export { ConfigFormGroup as t };
27
27
 
28
- //# sourceMappingURL=ConfigFormGroup-BE3yR_VU.mjs.map
28
+ //# sourceMappingURL=ConfigFormGroup-CidT_cE9.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigFormGroup-BE3yR_VU.mjs","names":[],"sources":["../components/ConfigFormGroup/ConfigFormGroup.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nimport { FormGroupContext } from './useFormGroup';\n\n/**\n * Use to wrap a group of config fields.\n * Provides consistent spacing between the fields.\n */\nconst FormGroup = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${Spacing[5]};\n`;\n\nexport const ConfigFormGroup = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n function ConfigFormGroup(props, ref) {\n return (\n <FormGroupContext.Provider value={{ configField: true }}>\n <FormGroup ref={ref} {...props} />\n </FormGroupContext.Provider>\n );\n },\n);\n\nexport default ConfigFormGroup;\n"],"mappings":";;;;;;;;;;AAWA,MAAM,YAAY,OAAO,GAAG;;;SAGnB,QAAQ,GAAG;;AAGpB,MAAa,kBAAkB,WAC7B,SAAS,gBAAgB,OAAO,KAAK;AACnC,QACE,oBAAC,iBAAiB,UAAlB;EAA2B,OAAO,EAAE,aAAa,MAAM;YACrD,oBAAC,WAAD;GAAgB;GAAK,GAAI;GAAS,CAAA;EACR,CAAA;EAGjC"}
1
+ {"version":3,"file":"ConfigFormGroup-CidT_cE9.mjs","names":[],"sources":["../components/ConfigFormGroup/ConfigFormGroup.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\n\nimport { FormGroupContext } from './useFormGroup';\n\n/**\n * Use to wrap a group of config fields.\n * Provides consistent spacing between the fields.\n */\nconst FormGroup = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${Spacing[5]};\n`;\n\nexport const ConfigFormGroup = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n function ConfigFormGroup(props, ref) {\n return (\n <FormGroupContext.Provider value={{ configField: true }}>\n <FormGroup ref={ref} {...props} />\n </FormGroupContext.Provider>\n );\n },\n);\n\nexport default ConfigFormGroup;\n"],"mappings":";;;;;;;;;;AAWA,MAAM,YAAY,OAAO,GAAG;;;SAGnB,QAAQ,GAAG;;AAGpB,MAAa,kBAAkB,WAC7B,SAAS,gBAAgB,OAAO,KAAK;AACnC,QACE,oBAAC,iBAAiB,UAAlB;EAA2B,OAAO,EAAE,aAAa,MAAM;YACrD,oBAAC,WAAD;GAAgB;GAAK,GAAI;GAAS,CAAA;EACR,CAAA;EAGjC"}
@@ -89,6 +89,23 @@ interface BaseControlBarProps extends EventHandlers {
89
89
  * Table view tabs
90
90
  */
91
91
  views?: TableViewConfig[];
92
+ /**
93
+ * Stars the default view instead of locking the built-in "Default view" tab. The view marked
94
+ * `isDefault` is pinned to the leftmost slot with a star; its menu offers only Save and Duplicate
95
+ * (plus its name field), and it cannot be deleted, hidden, reordered, or unset. Setting another
96
+ * view as default moves the star and the pinned slot to it. Every other view keeps the full menu.
97
+ * While a view is the default, the built-in tab is not shown and a `null` `currentView` displays
98
+ * the starred view as selected.
99
+ *
100
+ * Presentational only: rename and Duplicate on the starred view call `onViewNameChange` and
101
+ * `onDuplicateView` with its id, like on any view. Save calls `onSaveView()` with no id, saving
102
+ * whatever the consumer treats as the current view. A null `currentView` is shown as the starred
103
+ * view, so `onSaveView` and toolbar Save must treat null as the starred view. While an
104
+ * `isDefault` view exists, pass its id as `currentView` rather than null. While no view is marked
105
+ * `isDefault`, the built-in tab is shown leftmost and starred, read-only, and selected when
106
+ * `currentView` is `null`.
107
+ */
108
+ starredDefaultView?: boolean;
92
109
  /**
93
110
  * Ids of views hidden from the tab bar. Hidden views are listed in the overflow menu; opening one
94
111
  * shows it again.
@@ -191,4 +208,4 @@ type ControlBarProps = BaseControlBarProps & DefaultViewActions;
191
208
  declare const ControlBar: FC<ControlBarProps>;
192
209
  //#endregion
193
210
  export { ControlBarProps as n, ControlBar as t };
194
- //# sourceMappingURL=ControlBar-D9KflqmH.d.mts.map
211
+ //# sourceMappingURL=ControlBar-RIz-xjxs.d.mts.map
@@ -1,2 +1,2 @@
1
- import { n as ControlBarProps, t as ControlBar } from "./ControlBar-D9KflqmH.mjs";
1
+ import { n as ControlBarProps, t as ControlBar } from "./ControlBar-RIz-xjxs.mjs";
2
2
  export { ControlBarProps, ControlBar as default };
@@ -1,6 +1,6 @@
1
1
  import { t as Pagination } from "./Pagination-COcFWlha.mjs";
2
2
  import { i as BaseFilterConfig, n as AttributeColumn, s as FilterConfig } from "./types-CrRWZ0Ia.mjs";
3
- import { r as TableControlsProps, t as TableControls } from "./TableControls-DCtTiWk6.mjs";
3
+ import { r as TableControlsProps, t as TableControls } from "./TableControls-ETB0Xk5X.mjs";
4
4
  import { C as RowAction, O as SortProps, _ as DataTableColumns, l as DataTableColumnFormat, t as BulkAction } from "./types-DxJyE_U8.mjs";
5
5
  import { t as RenderFormatFn } from "./useTableColumns-DSXRInPb.mjs";
6
6
  import { ComponentProps } from "react";
@@ -38,6 +38,7 @@ declare const StyledDataTableControls: _$styled_components0.StyledComponent<(<TF
38
38
  canEditViews,
39
39
  onSelectView,
40
40
  views,
41
+ starredDefaultView,
41
42
  hiddenViewIds,
42
43
  currentView,
43
44
  onAddView,
@@ -438,4 +439,4 @@ declare const DataTable: <TData extends RowData, TFilter extends BaseFilterConfi
438
439
  }: DataTableProps<TData, TFilter>) => _$react_jsx_runtime0.JSX.Element;
439
440
  //#endregion
440
441
  export { FloatingActionBarContainer as a, DataTableProps as i, DataTableContainer as n, DataTableControls as r, DataTable as t };
441
- //# sourceMappingURL=DataTable-BdKUCgcZ.d.mts.map
442
+ //# sourceMappingURL=DataTable-D15C5lfd.d.mts.map
@@ -15,12 +15,12 @@ import { n as Button, t as IconButton } from "./IconButton-HWx5Hlmi.mjs";
15
15
  import { n as Sticker } from "./Sticker-yhxtIYH8.mjs";
16
16
  import { n as DropdownMenu_default } from "./DropdownMenu-CedsmO5h.mjs";
17
17
  import { t as Checkbox } from "./Checkbox-BaJ-dGdX.mjs";
18
- import { t as Pagination_default } from "./Pagination-C5ANr9M0.mjs";
19
- import { a as StickyTH, d as TableTR, f as TableTH, i as StickyTD, o as TableActionTD, p as TableRow, s as TableCell, t as TableLayout, u as TableTD } from "./Table-CmuWqmVN.mjs";
20
- import { t as HoverCopyableField } from "./HoverCopyableField-DkOosH8z.mjs";
21
- import { t as Link } from "./Link-BSuXrvTu.mjs";
22
- import { t as Pii_default } from "./Pii-G16_b7Yk.mjs";
23
- import { I as isFilterActive, f as TableViewConfigurationDropdown, u as TableControls, v as isEmptyState } from "./TableControls-C5fNNdmT.mjs";
18
+ import { t as Pagination_default } from "./Pagination-DtK-jbEY.mjs";
19
+ import { a as StickyTH, d as TableTR, f as TableTH, i as StickyTD, o as TableActionTD, p as TableRow, s as TableCell, t as TableLayout, u as TableTD } from "./Table-BIDaC0uS.mjs";
20
+ import { t as HoverCopyableField } from "./HoverCopyableField-D-BubaRd.mjs";
21
+ import { t as Link } from "./Link-Cf__H8gD.mjs";
22
+ import { t as Pii_default } from "./Pii-DueIK287.mjs";
23
+ import { I as isFilterActive, f as TableViewConfigurationDropdown, u as TableControls, v as isEmptyState } from "./TableControls-qxoq5abn.mjs";
24
24
  import { BorderRadius, Color, Spacing } from "@persona/design-tokens";
25
25
  import { createElement, useCallback, useEffect, useMemo, useRef, useState } from "react";
26
26
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1544,4 +1544,4 @@ const DataTable = ({ data, columns, detailComponent, expandColumnVisibility = "a
1544
1544
  //#endregion
1545
1545
  export { getFilterFnName as S, renderAsString as _, useTableColumns as a, getColumnWidths as b, renderAsCheckboxHeader as c, renderAsDatetime as d, renderAsLightweightImage as f, renderAsSticker as g, renderAsPii as h, FloatingActionBarContainer as i, renderAsCopyableString as l, renderAsPDSFormat as m, DataTableContainer as n, Inserter as o, renderAsNumber as p, DataTableControls as r, renderAsCheckbox as s, DataTable as t, renderAsDate as u, renderAsURL as v, generateClientFilters as x, FloatingActionBar as y };
1546
1546
 
1547
- //# sourceMappingURL=DataTable-F9R-aQCg.mjs.map
1547
+ //# sourceMappingURL=DataTable-DQ8axNfo.mjs.map