@starci/grammar 0.13.0 → 0.14.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.
Files changed (186) hide show
  1. package/README.md +26 -0
  2. package/dist/.build-stamp.json +4 -4
  3. package/dist/common/components-forms.css +27 -43
  4. package/dist/common/components-list-panel.css +8 -0
  5. package/dist/common/components-navigation.css +163 -6
  6. package/dist/common/components-overlays.css +41 -2
  7. package/dist/common/registry.d.ts +24 -21
  8. package/dist/common/registry.d.ts.map +1 -1
  9. package/dist/common/registry.js +4 -4
  10. package/dist/common/registry.js.map +1 -1
  11. package/dist/common/renderers-forms.d.ts +11 -11
  12. package/dist/common/renderers-navigation.d.ts +5 -5
  13. package/dist/common/renderers-navigation.d.ts.map +1 -1
  14. package/dist/common/renderers-navigation.js +1 -1
  15. package/dist/common/renderers-navigation.js.map +1 -1
  16. package/dist/common/renderers-overlays.d.ts +2 -2
  17. package/dist/common/renderers-overlays.d.ts.map +1 -1
  18. package/dist/common/renderers-overlays.js.map +1 -1
  19. package/dist/common/renderers.d.ts +4 -1
  20. package/dist/common/renderers.d.ts.map +1 -1
  21. package/dist/common/renderers.js +3 -0
  22. package/dist/common/renderers.js.map +1 -1
  23. package/dist/common/styles.css +229 -46
  24. package/dist/core/branch/ComboBox/index.d.ts +5 -5
  25. package/dist/core/branch/ComboBox/index.d.ts.map +1 -1
  26. package/dist/core/branch/ComboBox/index.js +9 -2
  27. package/dist/core/branch/ComboBox/index.js.map +1 -1
  28. package/dist/core/branch/DataTable/index.d.ts +20 -3
  29. package/dist/core/branch/DataTable/index.d.ts.map +1 -1
  30. package/dist/core/branch/DataTable/index.js +45 -8
  31. package/dist/core/branch/DataTable/index.js.map +1 -1
  32. package/dist/core/branch/FlowGraph/index.d.ts +26 -7
  33. package/dist/core/branch/FlowGraph/index.d.ts.map +1 -1
  34. package/dist/core/branch/FlowGraph/index.js +132 -30
  35. package/dist/core/branch/FlowGraph/index.js.map +1 -1
  36. package/dist/core/branch/FlowGraph/layout.d.ts +34 -1
  37. package/dist/core/branch/FlowGraph/layout.d.ts.map +1 -1
  38. package/dist/core/branch/FlowGraph/layout.js +82 -0
  39. package/dist/core/branch/FlowGraph/layout.js.map +1 -1
  40. package/dist/core/branch/FlowGraph/types.d.ts +13 -1
  41. package/dist/core/branch/FlowGraph/types.d.ts.map +1 -1
  42. package/dist/core/branch/ListBox/index.d.ts +4 -2
  43. package/dist/core/branch/ListBox/index.d.ts.map +1 -1
  44. package/dist/core/branch/ListBox/index.js +2 -2
  45. package/dist/core/branch/ListBox/index.js.map +1 -1
  46. package/dist/core/branch/MarkdownArticle/index.d.ts +7 -1
  47. package/dist/core/branch/MarkdownArticle/index.d.ts.map +1 -1
  48. package/dist/core/branch/MarkdownArticle/index.js +5 -2
  49. package/dist/core/branch/MarkdownArticle/index.js.map +1 -1
  50. package/dist/core/branch/Select/index.d.ts +6 -8
  51. package/dist/core/branch/Select/index.d.ts.map +1 -1
  52. package/dist/core/branch/Select/index.js +9 -5
  53. package/dist/core/branch/Select/index.js.map +1 -1
  54. package/dist/core/branch/SurfaceCard/index.d.ts +9 -0
  55. package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
  56. package/dist/core/branch/SurfaceCard/index.js +3 -2
  57. package/dist/core/branch/SurfaceCard/index.js.map +1 -1
  58. package/dist/core/branch/Tabs/index.d.ts.map +1 -1
  59. package/dist/core/branch/Tabs/index.js +17 -0
  60. package/dist/core/branch/Tabs/index.js.map +1 -1
  61. package/dist/core/branch/Tooltip/index.d.ts +9 -1
  62. package/dist/core/branch/Tooltip/index.d.ts.map +1 -1
  63. package/dist/core/branch/Tooltip/index.js +2 -2
  64. package/dist/core/branch/Tooltip/index.js.map +1 -1
  65. package/dist/core/collectionItem.d.ts +3 -3
  66. package/dist/core/collectionItem.d.ts.map +1 -1
  67. package/dist/core/composite/Alert/index.d.ts +5 -0
  68. package/dist/core/composite/Alert/index.d.ts.map +1 -1
  69. package/dist/core/composite/Alert/index.js +7 -2
  70. package/dist/core/composite/Alert/index.js.map +1 -1
  71. package/dist/core/composite/CheckboxGroup/index.d.ts +6 -5
  72. package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -1
  73. package/dist/core/composite/CheckboxGroup/index.js +10 -3
  74. package/dist/core/composite/CheckboxGroup/index.js.map +1 -1
  75. package/dist/core/composite/DescriptionList/index.d.ts +3 -2
  76. package/dist/core/composite/DescriptionList/index.d.ts.map +1 -1
  77. package/dist/core/composite/DescriptionList/index.js +5 -4
  78. package/dist/core/composite/DescriptionList/index.js.map +1 -1
  79. package/dist/core/composite/RadioGroup/index.d.ts +5 -3
  80. package/dist/core/composite/RadioGroup/index.d.ts.map +1 -1
  81. package/dist/core/composite/RadioGroup/index.js +9 -2
  82. package/dist/core/composite/RadioGroup/index.js.map +1 -1
  83. package/dist/core/composite/SegmentedControl/index.d.ts +6 -6
  84. package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -1
  85. package/dist/core/composite/SegmentedControl/index.js +9 -5
  86. package/dist/core/composite/SegmentedControl/index.js.map +1 -1
  87. package/dist/core/composite/TagGroup/index.d.ts +27 -4
  88. package/dist/core/composite/TagGroup/index.d.ts.map +1 -1
  89. package/dist/core/composite/TagGroup/index.js +132 -2
  90. package/dist/core/composite/TagGroup/index.js.map +1 -1
  91. package/dist/core/composite/Timeline/index.d.ts +5 -0
  92. package/dist/core/composite/Timeline/index.d.ts.map +1 -1
  93. package/dist/core/composite/Timeline/index.js +1 -1
  94. package/dist/core/composite/Timeline/index.js.map +1 -1
  95. package/dist/core/composition/Sidebar/index.d.ts +4 -0
  96. package/dist/core/composition/Sidebar/index.d.ts.map +1 -1
  97. package/dist/core/composition/Sidebar/index.js +4 -2
  98. package/dist/core/composition/Sidebar/index.js.map +1 -1
  99. package/dist/core/index.d.ts +1 -1
  100. package/dist/core/index.d.ts.map +1 -1
  101. package/dist/core/primitive/Avatar/index.d.ts +1 -1
  102. package/dist/core/primitive/Badge/index.d.ts +8 -5
  103. package/dist/core/primitive/Badge/index.d.ts.map +1 -1
  104. package/dist/core/primitive/Badge/index.js +14 -5
  105. package/dist/core/primitive/Badge/index.js.map +1 -1
  106. package/dist/core/primitive/Button/index.d.ts +10 -2
  107. package/dist/core/primitive/Button/index.d.ts.map +1 -1
  108. package/dist/core/primitive/Button/index.js +15 -4
  109. package/dist/core/primitive/Button/index.js.map +1 -1
  110. package/dist/core/primitive/Checkbox/index.d.ts +5 -3
  111. package/dist/core/primitive/Checkbox/index.d.ts.map +1 -1
  112. package/dist/core/primitive/Checkbox/index.js +9 -2
  113. package/dist/core/primitive/Checkbox/index.js.map +1 -1
  114. package/dist/core/primitive/Code/index.d.ts +10 -0
  115. package/dist/core/primitive/Code/index.d.ts.map +1 -0
  116. package/dist/core/primitive/Code/index.js +5 -0
  117. package/dist/core/primitive/Code/index.js.map +1 -0
  118. package/dist/core/primitive/Field/index.d.ts +12 -25
  119. package/dist/core/primitive/Field/index.d.ts.map +1 -1
  120. package/dist/core/primitive/Field/index.js +13 -14
  121. package/dist/core/primitive/Field/index.js.map +1 -1
  122. package/dist/core/primitive/GrammarRoot/index.d.ts +8 -1
  123. package/dist/core/primitive/GrammarRoot/index.d.ts.map +1 -1
  124. package/dist/core/primitive/GrammarRoot/index.js +5 -1
  125. package/dist/core/primitive/GrammarRoot/index.js.map +1 -1
  126. package/dist/core/primitive/Icon/index.d.ts.map +1 -1
  127. package/dist/core/primitive/Icon/index.js +3 -2
  128. package/dist/core/primitive/Icon/index.js.map +1 -1
  129. package/dist/core/primitive/Input/index.d.ts +9 -4
  130. package/dist/core/primitive/Input/index.d.ts.map +1 -1
  131. package/dist/core/primitive/Input/index.js +13 -8
  132. package/dist/core/primitive/Input/index.js.map +1 -1
  133. package/dist/core/primitive/Meter/index.d.ts +4 -1
  134. package/dist/core/primitive/Meter/index.d.ts.map +1 -1
  135. package/dist/core/primitive/Meter/index.js +3 -3
  136. package/dist/core/primitive/Meter/index.js.map +1 -1
  137. package/dist/core/primitive/NumberField/index.d.ts +6 -5
  138. package/dist/core/primitive/NumberField/index.d.ts.map +1 -1
  139. package/dist/core/primitive/NumberField/index.js +10 -3
  140. package/dist/core/primitive/NumberField/index.js.map +1 -1
  141. package/dist/core/primitive/PinnedActionBar/index.d.ts +25 -6
  142. package/dist/core/primitive/PinnedActionBar/index.d.ts.map +1 -1
  143. package/dist/core/primitive/PinnedActionBar/index.js +9 -4
  144. package/dist/core/primitive/PinnedActionBar/index.js.map +1 -1
  145. package/dist/core/primitive/SearchField/index.d.ts +6 -5
  146. package/dist/core/primitive/SearchField/index.d.ts.map +1 -1
  147. package/dist/core/primitive/SearchField/index.js +10 -3
  148. package/dist/core/primitive/SearchField/index.js.map +1 -1
  149. package/dist/core/primitive/SectionHeader/index.d.ts +3 -3
  150. package/dist/core/primitive/SectionHeader/index.js +2 -2
  151. package/dist/core/primitive/SectionHeader/index.js.map +1 -1
  152. package/dist/core/primitive/Skeleton/index.d.ts +11 -0
  153. package/dist/core/primitive/Skeleton/index.d.ts.map +1 -1
  154. package/dist/core/primitive/Skeleton/index.js +12 -1
  155. package/dist/core/primitive/Skeleton/index.js.map +1 -1
  156. package/dist/core/primitive/StatusDot/index.d.ts +61 -0
  157. package/dist/core/primitive/StatusDot/index.d.ts.map +1 -0
  158. package/dist/core/primitive/StatusDot/index.js +55 -0
  159. package/dist/core/primitive/StatusDot/index.js.map +1 -0
  160. package/dist/core/primitive/Switch/index.d.ts +4 -3
  161. package/dist/core/primitive/Switch/index.d.ts.map +1 -1
  162. package/dist/core/primitive/Switch/index.js +5 -2
  163. package/dist/core/primitive/Switch/index.js.map +1 -1
  164. package/dist/core/primitive/Terminal/index.d.ts +20 -0
  165. package/dist/core/primitive/Terminal/index.d.ts.map +1 -0
  166. package/dist/core/primitive/Terminal/index.js +29 -0
  167. package/dist/core/primitive/Terminal/index.js.map +1 -0
  168. package/dist/core/primitive/Text/index.d.ts +5 -1
  169. package/dist/core/primitive/Text/index.d.ts.map +1 -1
  170. package/dist/core/primitive/Text/index.js +12 -7
  171. package/dist/core/primitive/Text/index.js.map +1 -1
  172. package/dist/core/primitive/TextAction/index.d.ts.map +1 -1
  173. package/dist/core/primitive/TextAction/index.js +9 -4
  174. package/dist/core/primitive/TextAction/index.js.map +1 -1
  175. package/dist/core/primitive/Textarea/index.d.ts +8 -4
  176. package/dist/core/primitive/Textarea/index.d.ts.map +1 -1
  177. package/dist/core/primitive/Textarea/index.js +9 -5
  178. package/dist/core/primitive/Textarea/index.js.map +1 -1
  179. package/dist/core/styles.css +17 -5
  180. package/dist/offset-pop/components-forms.css +0 -17
  181. package/dist/offset-pop/components-navigation.css +30 -4
  182. package/dist/offset-pop/components-overlays.css +5 -0
  183. package/dist/offset-pop/index.d.ts +1 -1
  184. package/dist/offset-pop/index.d.ts.map +1 -1
  185. package/dist/offset-pop/styles.css +44 -0
  186. package/package.json +1 -1
@@ -17,14 +17,15 @@ export type CheckboxGroupProps = FieldControlProps & {
17
17
  /** Defaults to `secondary` inside a Grammar surface and `primary` outside (ANATOMY-2 case-1). */
18
18
  readonly variant?: "primary" | "secondary";
19
19
  /**
20
- * Initial unresolved content (knowledge STATE-8): the group label and each option label stay real text, each checkbox becomes a
21
- * Skeleton box of the same size (descriptions are not drawn); `aria-hidden` geometry, nothing focusable, root `aria-busy`.
20
+ * Initial unresolved content (knowledge STATE-8), with skeleton parity: the ready anatomy at the same props (label,
21
+ * description, control box, options) inside an inert, `aria-busy` scope, its control box painted as a Skeleton and its
22
+ * value or mark not drawn, so the loading field keeps the ready box. Nothing is invalid or pending while it loads.
22
23
  */
23
24
  readonly isSkeleton?: boolean;
24
25
  };
25
26
  /**
26
- * Several independent choices under one group name (`role="group"`, labelled by the group label).
27
- * Required means "at least one", validated by the vendor; the group owns the one error slot.
27
+ * Skeleton parity (knowledge STATE-8): `isSkeleton` renders the ready anatomy at the same props inside
28
+ * `FieldSkeletonScope` (inert, `aria-busy`, control box painted as a Skeleton), so the loading field keeps the ready box.
28
29
  */
29
- export declare const CheckboxGroup: ({ options, value, defaultValue, onValueChange, orientation, variant: requestedVariant, isSkeleton, ...field }: CheckboxGroupProps) => import("react").JSX.Element;
30
+ export declare const CheckboxGroup: ({ isSkeleton, ...props }: CheckboxGroupProps) => import("react").JSX.Element;
30
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAOH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AAGvC,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,YAAY,CAAA;AAEzD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACjD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,iGAAiG;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC1C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAcD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,+GAS3B,kBAAkB,gCAqCpB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAQH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AAGvC,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,YAAY,CAAA;AAEzD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACjD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,iGAAiG;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAcD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,0BAAkC,kBAAkB,gCAEzC,CAAA"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useFieldVariant } from "../../surfaceContext.js";
4
4
  import { Checkbox as HeroCheckbox, CheckboxGroup as HeroCheckboxGroup } from "@heroui/react";
5
- import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeleton, fieldVariantAttributes, vendorFieldProps, } from "../../primitive/Field/index.js";
5
+ import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeletonScope, loadingFieldProps, fieldVariantAttributes, vendorFieldProps, } from "../../primitive/Field/index.js";
6
6
  import { CheckboxItem } from "../../primitive/Checkbox/index.js";
7
7
  /*
8
8
  * Consumer hook: `starci-core-choice-group` names this control's root for a consumer or family
@@ -14,12 +14,19 @@ import { CheckboxItem } from "../../primitive/Checkbox/index.js";
14
14
  * stylesheet. No shipped sheet paints it: the root is drawn as a whole by `.starci-core-choice`, so
15
15
  * a rule on the hook adds to the shared anatomy and never has to replace it.
16
16
  */
17
+ /**
18
+ * Skeleton parity (knowledge STATE-8): `isSkeleton` renders the ready anatomy at the same props inside
19
+ * `FieldSkeletonScope` (inert, `aria-busy`, control box painted as a Skeleton), so the loading field keeps the ready box.
20
+ */
21
+ export const CheckboxGroup = ({ isSkeleton = false, ...props }) => isSkeleton
22
+ ? _jsx(FieldSkeletonScope, { component: "CheckboxGroup", children: _jsx(CheckboxGroupControl, { ...loadingFieldProps(props) }) })
23
+ : _jsx(CheckboxGroupControl, { ...props });
17
24
  /**
18
25
  * Several independent choices under one group name (`role="group"`, labelled by the group label).
19
26
  * Required means "at least one", validated by the vendor; the group owns the one error slot.
20
27
  */
21
- export const CheckboxGroup = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant: requestedVariant, isSkeleton = false, ...field }) => {
28
+ const CheckboxGroupControl = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant: requestedVariant, ...field }) => {
22
29
  const variant = useFieldVariant(requestedVariant);
23
- return isSkeleton ? (_jsx(FieldSkeleton, { component: "CheckboxGroup", tier: "composite", label: field.label, isLabelHidden: field.isLabelHidden, isRequired: field.isRequired, variant: variant, kind: "choices", choiceLabels: options.map((option) => option.label), orientation: orientation, className: "starci-core-choice-group" })) : (_jsxs(HeroCheckboxGroup, { "data-tier": "composite", "data-component": "CheckboxGroup", "data-contract": "A11Y-1 FEEDBACK-1 STATE-1", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue: [...defaultValue] } : { value: [...value] }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsx(HeroCheckbox, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-checkbox", variant: variant, "data-grammar-option": "true", children: _jsx(CheckboxItem, { label: option.label, description: option.description, isStandalone: false }) }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
30
+ return (_jsxs(HeroCheckboxGroup, { "data-tier": "composite", "data-component": "CheckboxGroup", "data-contract": "A11Y-1 FEEDBACK-1 STATE-1", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue: [...defaultValue] } : { value: [...value] }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsx(HeroCheckbox, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-checkbox", variant: variant, "data-grammar-option": "true", children: _jsx(CheckboxItem, { label: option.label, description: option.description, isStandalone: false }) }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
24
31
  };
25
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE5F,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AA2BhE;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,OAAO,EAAE,gBAAgB,EACzB,UAAU,GAAG,KAAK,EAClB,GAAG,KAAK,EACS,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD,OAAO,UAAU,CAAC,CAAC,CAAC,CAChB,KAAC,aAAa,IAAC,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,SAAS,EAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAC,0BAA0B,GAAG,CAC1S,CAAC,CAAC,CAAC,CACA,MAAC,iBAAiB,iBACJ,WAAW,oBACN,eAAe,mBAChB,2BAA2B,8BACf,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,OAAO,EAAE,OAAO,KACZ,sBAAsB,CAAC,OAAO,CAAC,KAC/B,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,KACrH,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,KAAC,YAAY,IAET,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAE,OAAO,yBACI,MAAM,YAE1B,KAAC,YAAY,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,GAAI,IAPtF,MAAM,CAAC,KAAK,CAQN,CAClB,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACrC,CACvB,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE5F,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AA4BhE;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,KAAK,EAAsB,EAAE,EAAE,CAAC,UAAU;IAC7F,CAAC,CAAC,KAAC,kBAAkB,IAAC,SAAS,EAAC,eAAe,YAAC,KAAC,oBAAoB,OAAK,iBAAiB,CAAC,KAAK,CAAC,GAAI,GAAqB;IAC3H,CAAC,CAAC,KAAC,oBAAoB,OAAK,KAAK,GAAI,CAAA;AAEzC;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,OAAO,EAAE,gBAAgB,EACzB,GAAG,KAAK,EAC6B,EAAE,EAAE;IACzC,MAAM,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD,OAAO,CACH,MAAC,iBAAiB,iBACJ,WAAW,oBACN,eAAe,mBAChB,2BAA2B,8BACf,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,OAAO,EAAE,OAAO,KACZ,sBAAsB,CAAC,OAAO,CAAC,KAC/B,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,KACrH,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,KAAC,YAAY,IAET,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAE,OAAO,yBACI,MAAM,YAE1B,KAAC,YAAY,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,GAAI,IAPtF,MAAM,CAAC,KAAK,CAQN,CAClB,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACrC,CACvB,CAAA;AACL,CAAC,CAAA"}
@@ -36,8 +36,9 @@ export type DescriptionListProps = (PairLayout | StatStripLayout) & {
36
36
  /** Draw a separator between pairs (between cells, for `stat-strip`). */
37
37
  readonly isDivided?: boolean;
38
38
  /**
39
- * Unresolved values (knowledge STATE-8): every `term` stays real text, each `description` (and a stat item meta)
40
- * becomes a Skeleton text line so the cells keep their size, a stat `unit` is dropped, and the list is `aria-busy`.
39
+ * Unresolved values (knowledge STATE-8): every `term` stays real text; each `description` (and a stat item meta) is
40
+ * laid out unseen under a shimmer bar, and a stat `unit` keeps its place unseen, so every cell keeps its ready size
41
+ * (skeleton parity). The list is `aria-busy`.
41
42
  */
42
43
  readonly isLoading?: boolean;
43
44
  readonly className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/DescriptionList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAI/D,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAA;CAClC,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAA;AAExE,KAAK,UAAU,GAAG;IACd;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;CACrD,CAAA;AAED,KAAK,eAAe,GAAG;IACnB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;CACzD,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC,GAAG;IAChE,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCAsC1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/DescriptionList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAI/D,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAA;CAClC,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAA;AAExE,KAAK,UAAU,GAAG;IACd;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;CACrD,CAAA;AAED,KAAK,eAAe,GAAG;IACnB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;CACzD,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC,GAAG;IAChE,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCAuC1D,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { navigationClassName } from "../../navigationClassNames.js";
3
- import { Skeleton } from "../../primitive/Skeleton/index.js";
3
+ import { SkeletonPlaceholder } from "../../primitive/Skeleton/index.js";
4
4
  import { IconTile } from "../../primitive/IconTile/index.js";
5
5
  /**
6
6
  * Term/value pairs (details, metadata, settings summaries) as a real `<dl>`.
@@ -10,10 +10,11 @@ import { IconTile } from "../../primitive/IconTile/index.js";
10
10
  */
11
11
  export const DescriptionList = (props) => {
12
12
  const { isDivided = true, isLoading = false, className } = props;
13
- const pending = _jsx(Skeleton, { shape: "text" });
13
+ // Skeleton parity: a loading value is laid out unseen under the shimmer, so the cell keeps the ready value's box.
14
+ const pending = (value) => _jsx(SkeletonPlaceholder, { children: value });
14
15
  const layout = props.layout ?? "columns";
15
16
  return (_jsx("dl", { className: navigationClassName("starci-core-description-list", className), "data-component": "DescriptionList", "data-contract": "HIERARCHY-3 TRUTH-1", "data-tier": "composite", ...(isLoading ? { "aria-busy": true, "data-loading": "true" } : {}), "data-grammar-description-layout": layout, "data-grammar-description-divided": isDivided ? "true" : "false", children: props.layout === "stat-strip"
16
- ? props.items.map((item) => (_jsxs("div", { className: "starci-core-description-pair", "data-grammar-description-pair": "true", children: [_jsxs("dt", { className: "starci-core-description-term starci-core-description-stat-term", children: [item.icon === undefined ? null : _jsx(IconTile, { source: item.icon, size: "sm", tone: "neutral" }), _jsx("span", { children: item.term })] }), _jsxs("dd", { className: "starci-core-description-value starci-core-description-figure", "data-contract": "FONT-5", children: [_jsx("span", { className: "starci-core-description-figure-value", children: isLoading ? pending : item.description }), item.unit === undefined || isLoading ? null : _jsx("span", { className: "starci-core-description-unit", children: item.unit })] }), item.meta === undefined ? null : (_jsx("dd", { className: "starci-core-description-meta", "data-contract": "FONT-2", children: isLoading ? pending : item.meta }))] }, item.id)))
17
- : props.items.map((item) => (_jsxs("div", { className: "starci-core-description-pair", "data-grammar-description-pair": "true", children: [_jsx("dt", { className: "starci-core-description-term", children: item.term }), _jsx("dd", { className: "starci-core-description-value", children: isLoading ? pending : item.description })] }, item.id))) }));
17
+ ? props.items.map((item) => (_jsxs("div", { className: "starci-core-description-pair", "data-grammar-description-pair": "true", children: [_jsxs("dt", { className: "starci-core-description-term starci-core-description-stat-term", children: [item.icon === undefined ? null : _jsx(IconTile, { source: item.icon, size: "sm", tone: "neutral" }), _jsx("span", { children: item.term })] }), _jsxs("dd", { className: "starci-core-description-value starci-core-description-figure", "data-contract": "FONT-5", children: [_jsx("span", { className: "starci-core-description-figure-value", children: isLoading ? pending(item.description) : item.description }), item.unit === undefined ? null : _jsx("span", { className: "starci-core-description-unit", children: item.unit })] }), item.meta === undefined ? null : (_jsx("dd", { className: "starci-core-description-meta", "data-contract": "FONT-2", children: isLoading ? pending(item.meta) : item.meta }))] }, item.id)))
18
+ : props.items.map((item) => (_jsxs("div", { className: "starci-core-description-pair", "data-grammar-description-pair": "true", children: [_jsx("dt", { className: "starci-core-description-term", children: item.term }), _jsx("dd", { className: "starci-core-description-value", children: isLoading ? pending(item.description) : item.description })] }, item.id))) }));
18
19
  };
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/DescriptionList/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAkD5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAChE,MAAM,OAAO,GAAG,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,GAAG,CAAA;IACzC,MAAM,MAAM,GAA0B,KAAK,CAAC,MAAM,IAAI,SAAS,CAAA;IAC/D,OAAO,CACH,aACI,SAAS,EAAE,mBAAmB,CAAC,8BAA8B,EAAE,SAAS,CAAC,oBAC1D,iBAAiB,mBAClB,qBAAqB,eACzB,WAAW,KACjB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,qCACnC,MAAM,sCACL,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAE7D,KAAK,CAAC,MAAM,KAAK,YAAY;YAC1B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,eAAmB,SAAS,EAAC,8BAA8B,mCAA+B,MAAM,aAC5F,cAAI,SAAS,EAAC,gEAAgE,aACzE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,GAAG,EAC1F,yBAAO,IAAI,CAAC,IAAI,GAAQ,IACvB,EACL,cAAI,SAAS,EAAC,8DAA8D,mBAAe,QAAQ,aAC/F,eAAM,SAAS,EAAC,sCAAsC,YAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAQ,EACrG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,8BAA8B,YAAE,IAAI,CAAC,IAAI,GAAQ,IAC/G,EACJ,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9B,aAAI,SAAS,EAAC,8BAA8B,mBAAe,QAAQ,YAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAM,CAC7G,KAXK,IAAI,CAAC,EAAE,CAYX,CACT,CAAC;YACF,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,eAAmB,SAAS,EAAC,8BAA8B,mCAA+B,MAAM,aAC5F,aAAI,SAAS,EAAC,8BAA8B,YAAE,IAAI,CAAC,IAAI,GAAM,EAC7D,aAAI,SAAS,EAAC,+BAA+B,YAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAM,KAFrF,IAAI,CAAC,EAAE,CAGX,CACT,CAAC,GACL,CACR,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/DescriptionList/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAmD5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAChE,kHAAkH;IAClH,MAAM,OAAO,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAC,mBAAmB,cAAE,KAAK,GAAuB,CAAA;IACxF,MAAM,MAAM,GAA0B,KAAK,CAAC,MAAM,IAAI,SAAS,CAAA;IAC/D,OAAO,CACH,aACI,SAAS,EAAE,mBAAmB,CAAC,8BAA8B,EAAE,SAAS,CAAC,oBAC1D,iBAAiB,mBAClB,qBAAqB,eACzB,WAAW,KACjB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,qCACnC,MAAM,sCACL,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAE7D,KAAK,CAAC,MAAM,KAAK,YAAY;YAC1B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,eAAmB,SAAS,EAAC,8BAA8B,mCAA+B,MAAM,aAC5F,cAAI,SAAS,EAAC,gEAAgE,aACzE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,GAAG,EAC1F,yBAAO,IAAI,CAAC,IAAI,GAAQ,IACvB,EACL,cAAI,SAAS,EAAC,8DAA8D,mBAAe,QAAQ,aAC/F,eAAM,SAAS,EAAC,sCAAsC,YAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAQ,EACvH,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,8BAA8B,YAAE,IAAI,CAAC,IAAI,GAAQ,IAClG,EACJ,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9B,aAAI,SAAS,EAAC,8BAA8B,mBAAe,QAAQ,YAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAM,CACxH,KAXK,IAAI,CAAC,EAAE,CAYX,CACT,CAAC;YACF,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,eAAmB,SAAS,EAAC,8BAA8B,mCAA+B,MAAM,aAC5F,aAAI,SAAS,EAAC,8BAA8B,YAAE,IAAI,CAAC,IAAI,GAAM,EAC7D,aAAI,SAAS,EAAC,+BAA+B,YAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAM,KAFvG,IAAI,CAAC,EAAE,CAGX,CACT,CAAC,GACL,CACR,CAAA;AACL,CAAC,CAAA"}
@@ -8,10 +8,12 @@ export type RadioGroupProps = FieldControlProps & {
8
8
  readonly orientation?: ChoiceOrientation;
9
9
  /** Defaults to `secondary` inside a Grammar surface and `primary` outside (ANATOMY-2 case-1). */
10
10
  readonly variant?: "primary" | "secondary";
11
+ /** Initial unresolved content (knowledge STATE-8): the same anatomy, inert, its control painted as a Skeleton. */
12
+ readonly isSkeleton?: boolean;
11
13
  };
12
14
  /**
13
- * Exactly one of a few visible choices (`role="radiogroup"`). Arrow keys move and select within the
14
- * group, Tab leaves it - roving focus is the vendor's.
15
+ * Skeleton parity (knowledge STATE-8): `isSkeleton` renders the ready anatomy at the same props inside
16
+ * `FieldSkeletonScope` (inert, `aria-busy`, control box painted as a Skeleton), so the loading field keeps the ready box.
15
17
  */
16
- export declare const RadioGroup: ({ options, value, defaultValue, onValueChange, orientation, variant: requestedVariant, ...field }: RadioGroupProps) => import("react").JSX.Element;
18
+ export declare const RadioGroup: ({ isSkeleton, ...props }: RadioGroupProps) => import("react").JSX.Element;
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAMH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAC9C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,iGAAiG;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;CAC7C,CAAA;AAcD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,mGAQxB,eAAe,gCAyCjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAQH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAC9C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,iGAAiG;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC1C,kHAAkH;IAClH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAcD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,0BAAkC,eAAe,gCAEtC,CAAA"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useFieldVariant } from "../../surfaceContext.js";
4
4
  import { Radio as HeroRadio, RadioGroup as HeroRadioGroup } from "@heroui/react";
5
- import { FieldDescription, FieldErrorText, FieldLabel, fieldVariantAttributes, vendorFieldProps, } from "../../primitive/Field/index.js";
5
+ import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeletonScope, loadingFieldProps, fieldVariantAttributes, vendorFieldProps, } from "../../primitive/Field/index.js";
6
6
  /*
7
7
  * Consumer hook: `starci-core-choice-group` names this control's root for a consumer or family
8
8
  * stylesheet. No shipped sheet paints it: the root is drawn as a whole by `.starci-core-field`, so
@@ -13,11 +13,18 @@ import { FieldDescription, FieldErrorText, FieldLabel, fieldVariantAttributes, v
13
13
  * No shipped sheet paints it: the root is drawn as a whole by `.starci-core-choice`, so a rule on
14
14
  * the hook adds to the shared anatomy and never has to replace it.
15
15
  */
16
+ /**
17
+ * Skeleton parity (knowledge STATE-8): `isSkeleton` renders the ready anatomy at the same props inside
18
+ * `FieldSkeletonScope` (inert, `aria-busy`, control box painted as a Skeleton), so the loading field keeps the ready box.
19
+ */
20
+ export const RadioGroup = ({ isSkeleton = false, ...props }) => isSkeleton
21
+ ? _jsx(FieldSkeletonScope, { component: "RadioGroup", children: _jsx(RadioGroupControl, { ...loadingFieldProps(props) }) })
22
+ : _jsx(RadioGroupControl, { ...props });
16
23
  /**
17
24
  * Exactly one of a few visible choices (`role="radiogroup"`). Arrow keys move and select within the
18
25
  * group, Tab leaves it - roving focus is the vendor's.
19
26
  */
20
- export const RadioGroup = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant: requestedVariant, ...field }) => {
27
+ const RadioGroupControl = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant: requestedVariant, ...field }) => {
21
28
  const variant = useFieldVariant(requestedVariant);
22
29
  return (_jsxs(HeroRadioGroup, { "data-tier": "composite", "data-component": "RadioGroup", "data-contract": "A11Y-1 STATE-6 FOCUS-2", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", orientation: orientation, variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue } : { value }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsxs(HeroRadio, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-radio", "data-grammar-option": "true", children: [_jsxs(HeroRadio.Content, { className: "starci-core-choice-content", "data-grammar-choice-target": "true", children: [_jsx(HeroRadio.Control, { className: "starci-core-choice-control", "data-grammar-choice-control": "radio", children: _jsx(HeroRadio.Indicator, {}) }), _jsx(FieldLabel, { children: option.label })] }), _jsx(FieldDescription, { children: option.description })] }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
23
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AAavC;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,OAAO,EAAE,gBAAgB,EACzB,GAAG,KAAK,EACM,EAAE,EAAE;IAClB,MAAM,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD,OAAO,CACH,MAAC,cAAc,iBACD,WAAW,oBACN,YAAY,mBACb,wBAAwB,8BACZ,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,KACZ,sBAAsB,CAAC,OAAO,CAAC,KAC/B,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KACtF,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,MAAC,SAAS,IAEN,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,sCAAsC,yBAC5B,MAAM,aAE1B,MAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,gCAA4B,MAAM,aACvF,KAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,iCAA6B,OAAO,YACzF,KAAC,SAAS,CAAC,SAAS,KAAG,GACP,EACpB,KAAC,UAAU,cAAE,MAAM,CAAC,KAAK,GAAc,IACvB,EACpB,KAAC,gBAAgB,cAAE,MAAM,CAAC,WAAW,GAAoB,KAZpD,MAAM,CAAC,KAAK,CAaT,CACf,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACxC,CACpB,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AAevC;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,KAAK,EAAmB,EAAE,EAAE,CAAC,UAAU;IACvF,CAAC,CAAC,KAAC,kBAAkB,IAAC,SAAS,EAAC,YAAY,YAAC,KAAC,iBAAiB,OAAK,iBAAiB,CAAC,KAAK,CAAC,GAAI,GAAqB;IACrH,CAAC,CAAC,KAAC,iBAAiB,OAAK,KAAK,GAAI,CAAA;AAEtC;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,EACvB,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,OAAO,EAAE,gBAAgB,EACzB,GAAG,KAAK,EAC0B,EAAE,EAAE;IACtC,MAAM,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD,OAAO,CACH,MAAC,cAAc,iBACD,WAAW,oBACN,YAAY,mBACb,wBAAwB,8BACZ,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,KACZ,sBAAsB,CAAC,OAAO,CAAC,KAC/B,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KACtF,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,MAAC,SAAS,IAEN,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,sCAAsC,yBAC5B,MAAM,aAE1B,MAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,gCAA4B,MAAM,aACvF,KAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,iCAA6B,OAAO,YACzF,KAAC,SAAS,CAAC,SAAS,KAAG,GACP,EACpB,KAAC,UAAU,cAAE,MAAM,CAAC,KAAK,GAAc,IACvB,EACpB,KAAC,gBAAgB,cAAE,MAAM,CAAC,WAAW,GAAoB,KAZpD,MAAM,CAAC,KAAK,CAaT,CACf,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACxC,CACpB,CAAA;AACL,CAAC,CAAA"}
@@ -21,15 +21,15 @@ export type SegmentedControlProps = FieldControlProps & {
21
21
  */
22
22
  readonly size?: SegmentedControlSize;
23
23
  /**
24
- * Initial unresolved content (knowledge STATE-8): the label stays real text and the segments become one Skeleton block of the same
25
- * height (one segment-width per option; `fill` stretches it), `aria-hidden`, nothing focusable; the root is `aria-busy`.
24
+ * Initial unresolved content (knowledge STATE-8), with skeleton parity: the ready anatomy at the same props (label,
25
+ * description, control box, options) inside an inert, `aria-busy` scope, its control box painted as a Skeleton and its
26
+ * value or mark not drawn, so the loading field keeps the ready box. Nothing is invalid or pending while it loads.
26
27
  */
27
28
  readonly isSkeleton?: boolean;
28
29
  };
29
30
  /**
30
- * One-of-few choice drawn as joined segments (a toggle-button group in single-selection mode, so it
31
- * is announced as a radio group). A segment is never deselected by pressing it again. With `name`,
32
- * the selected value is submitted through a hidden input so it works inside a Form.
31
+ * Skeleton parity (knowledge STATE-8): `isSkeleton` renders the ready anatomy at the same props inside
32
+ * `FieldSkeletonScope` (inert, `aria-busy`, control box painted as a Skeleton), so the loading field keeps the ready box.
33
33
  */
34
- export declare const SegmentedControl: ({ options, value, defaultValue, onValueChange, width, size, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, isSkeleton, }: SegmentedControlProps) => import("react").JSX.Element;
34
+ export declare const SegmentedControl: ({ isSkeleton, ...props }: SegmentedControlProps) => import("react").JSX.Element;
35
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAyE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAE9I,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;AAE1D,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACpD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,uDAAuD;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACnC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAOD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,iLAiB9B,qBAAqB,gCAwEvB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAiG,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEtK,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;AAE1D,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACpD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,uDAAuD;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACnC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAA;IACpC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAOD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,0BAAkC,qBAAqB,gCAE5C,CAAA"}
@@ -2,17 +2,24 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { ToggleButton as HeroToggleButton, ToggleButtonGroup as HeroToggleButtonGroup } from "@heroui/react";
4
4
  import { useId, useState } from "react";
5
- import { fieldStateAttributes, StaticFieldError, FieldSkeleton, isFieldInvalid } from "../../primitive/Field/index.js";
5
+ import { fieldStateAttributes, StaticFieldError, FieldSkeletonScope, loadingFieldProps, isFieldInvalid } from "../../primitive/Field/index.js";
6
6
  const firstKey = (keys) => {
7
7
  const first = keys[Symbol.iterator]().next();
8
8
  return first.done ? undefined : String(first.value);
9
9
  };
10
+ /**
11
+ * Skeleton parity (knowledge STATE-8): `isSkeleton` renders the ready anatomy at the same props inside
12
+ * `FieldSkeletonScope` (inert, `aria-busy`, control box painted as a Skeleton), so the loading field keeps the ready box.
13
+ */
14
+ export const SegmentedControl = ({ isSkeleton = false, ...props }) => isSkeleton
15
+ ? _jsx(FieldSkeletonScope, { component: "SegmentedControl", children: _jsx(SegmentedControlControl, { ...loadingFieldProps(props) }) })
16
+ : _jsx(SegmentedControlControl, { ...props });
10
17
  /**
11
18
  * One-of-few choice drawn as joined segments (a toggle-button group in single-selection mode, so it
12
19
  * is announced as a radio group). A segment is never deselected by pressing it again. With `name`,
13
20
  * the selected value is submitted through a hidden input so it works inside a Form.
14
21
  */
15
- export const SegmentedControl = ({ options, value, defaultValue, onValueChange, width = "content", size = "md", label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, isSkeleton = false, }) => {
22
+ const SegmentedControlControl = ({ options, value, defaultValue, onValueChange, width = "content", size = "md", label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }) => {
16
23
  const id = useId().replaceAll(":", "");
17
24
  const [held, setHeld] = useState(value ?? defaultValue ?? options[0]?.value);
18
25
  const selected = value ?? held;
@@ -21,9 +28,6 @@ export const SegmentedControl = ({ options, value, defaultValue, onValueChange,
21
28
  const descriptionId = description == null ? undefined : `segmented${id}-description`;
22
29
  const errorId = invalid && errorMessage != null ? `segmented${id}-error` : undefined;
23
30
  const describedBy = [descriptionId, errorId].filter((part) => part !== undefined).join(" ");
24
- if (isSkeleton) {
25
- return _jsx(FieldSkeleton, { component: "SegmentedControl", tier: "composite", label: label, isLabelHidden: isLabelHidden, isRequired: isRequired, kind: "segmented", count: options.length, fill: width === "fill", segmentedSize: size, className: "starci-core-segmented-control" });
26
- }
27
31
  return (_jsxs("div", { "data-tier": "composite", "data-component": "SegmentedControl", "data-contract": "A11Y-1 FEEDBACK-1", "data-width": width, "data-grammar-segmented-size": size, className: "starci-core-field starci-core-segmented-control", ...fieldStateAttributes({ isInvalid: invalid, isDisabled, isReadOnly, isRequired }), children: [_jsx("span", { id: labelId, className: isLabelHidden === true ? "starci-core-field-label starci-core-form-label--screen-reader" : "starci-core-field-label", "data-grammar-field-label": "true", children: label }), _jsx(HeroToggleButtonGroup, { "aria-labelledby": labelId, ...(describedBy === "" ? {} : { "aria-describedby": describedBy }), selectionMode: "single", disallowEmptySelection: true, fullWidth: width === "fill", size: size === "control" ? "lg" : size, ...(isDisabled === true ? { isDisabled: true } : {}), selectedKeys: selected === undefined ? [] : [selected], onSelectionChange: (keys) => {
28
32
  const next = firstKey(keys);
29
33
  if (isReadOnly === true || next === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ReactNode } from "react";
1
+ import { type ReactNode } from "react";
2
2
  export type TagGroupItem = {
3
3
  readonly id: string;
4
4
  readonly label: string;
@@ -25,7 +25,22 @@ type TagGroupRemoval = {
25
25
  readonly onRemove?: undefined;
26
26
  readonly removeLabel?: undefined;
27
27
  };
28
- export type TagGroupProps = TagGroupRemoval & {
28
+ type TagGroupReorder = {
29
+ /**
30
+ * Makes the tags reorderable: drag a tag onto another, or hold Alt and press an arrow key (Home and End go to the
31
+ * ends) on a focused tag. Receives every id in the new order. The app owns the order; render `items` in it.
32
+ */
33
+ readonly onReorder: (ids: ReadonlyArray<string>) => void;
34
+ /** App-owned instruction read with the group, e.g. "Hold Alt and press an arrow key to move a tag". */
35
+ readonly reorderInstructions: string;
36
+ /** App-owned announcement after a move, e.g. "Design moved to position 2 of 5". */
37
+ readonly reorderAnnouncement: (label: string, position: number, total: number) => string;
38
+ } | {
39
+ readonly onReorder?: undefined;
40
+ readonly reorderInstructions?: undefined;
41
+ readonly reorderAnnouncement?: undefined;
42
+ };
43
+ export type TagGroupProps = TagGroupRemoval & TagGroupReorder & {
29
44
  /** Names the set of tags/chips, e.g. "Filters". */
30
45
  readonly label: string;
31
46
  readonly items: ReadonlyArray<TagGroupItem>;
@@ -38,15 +53,23 @@ export type TagGroupProps = TagGroupRemoval & {
38
53
  readonly emptyContent?: ReactNode;
39
54
  readonly size?: "sm" | "md" | "lg";
40
55
  readonly className?: string;
56
+ /**
57
+ * Unresolved tags (knowledge STATE-8): the same tags at the same size, inert, each painted as a Skeleton with its
58
+ * label laid out unseen, so the group keeps its ready box (skeleton parity); the root is `aria-busy`.
59
+ */
60
+ readonly isSkeleton?: boolean;
41
61
  };
42
62
  /**
43
- * Chips/tags: static labels, selectable filters, or removable tokens.
63
+ * Chips/tags: static labels, selectable filters, removable tokens, or a reorderable set.
44
64
  *
45
65
  * Built on the vendor TagGroup, so arrow keys move between chips, Space/Enter toggle selection
46
66
  * and Delete/Backspace remove. Each chip exposes `data-grammar-selected`; chips wrap onto new lines
47
67
  * at narrow widths instead of overflowing.
68
+ * Reordering (`onReorder`) is Grammar's own layer: the vendor TagGroup has no drag-and-drop collection hooks, so the group
69
+ * wires native drag events for pointer users and Alt+arrow keys for keyboard users on top of the vendor tags, and announces
70
+ * each move through a live region.
48
71
  * Contract: root STATE-1, list FOCUS-2, chip FOCUS-1, remove A11Y-2, empty STATE-3.
49
72
  */
50
- export declare const TagGroup: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, emptyContent, size, className, }: TagGroupProps) => import("react").JSX.Element;
73
+ export declare const TagGroup: (props: TagGroupProps) => import("react").JSX.Element;
51
74
  export {};
52
75
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/TagGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,KAAK,eAAe,GAAG;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACvD,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CAClD,GAAG;IACA,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC1C,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC3C,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACjE,kCAAkC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,4IAYtB,aAAa,gCA6Cf,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/TagGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA0E,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI9G,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,KAAK,eAAe,GAAG;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACvD,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CAClD,GAAG;IACA,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;CACnC,CAAA;AAED,KAAK,eAAe,GAAG;IACnB;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACxD,uGAAuG;IACvG,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,mFAAmF;IACnF,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CAC3F,GAAG;IACA,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAA;IACxC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,eAAe,GAAG;IAC5D,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC3C,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACjE,kCAAkC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAqBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,aAAa,gCAET,CAAA"}
@@ -1,17 +1,147 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { Tag as HeroTag, TagGroup as HeroTagGroup } from "@heroui/react";
4
+ import { useEffect, useId, useRef, useState } from "react";
5
+ import { FieldSkeletonScope } from "../../primitive/Field/index.js";
4
6
  import { navigationClassName } from "../../navigationClassNames.js";
5
7
  const toIds = (selection, items) => selection === "all"
6
8
  ? items.map((item) => item.id)
7
9
  : [...selection].map(String);
10
+ const moveId = (ids, id, targetIndex) => {
11
+ const from = ids.indexOf(id);
12
+ const to = Math.min(ids.length - 1, Math.max(0, targetIndex));
13
+ if (from === -1 || from === to)
14
+ return ids;
15
+ const next = ids.filter((candidate) => candidate !== id);
16
+ next.splice(to, 0, id);
17
+ return next;
18
+ };
19
+ const tagIdOf = (target, root) => {
20
+ if (!(target instanceof Element))
21
+ return undefined;
22
+ const tag = target.closest("[data-grammar-tag-id]");
23
+ return tag !== null && root.contains(tag) ? tag.dataset.grammarTagId : undefined;
24
+ };
8
25
  /**
9
- * Chips/tags: static labels, selectable filters, or removable tokens.
26
+ * Chips/tags: static labels, selectable filters, removable tokens, or a reorderable set.
10
27
  *
11
28
  * Built on the vendor TagGroup, so arrow keys move between chips, Space/Enter toggle selection
12
29
  * and Delete/Backspace remove. Each chip exposes `data-grammar-selected`; chips wrap onto new lines
13
30
  * at narrow widths instead of overflowing.
31
+ * Reordering (`onReorder`) is Grammar's own layer: the vendor TagGroup has no drag-and-drop collection hooks, so the group
32
+ * wires native drag events for pointer users and Alt+arrow keys for keyboard users on top of the vendor tags, and announces
33
+ * each move through a live region.
14
34
  * Contract: root STATE-1, list FOCUS-2, chip FOCUS-1, remove A11Y-2, empty STATE-3.
15
35
  */
16
- export const TagGroup = ({ label, items, selectionMode = "none", selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, emptyContent, size = "md", className, }) => (_jsx(HeroTagGroup, { "aria-label": label, className: navigationClassName("starci-core-tag-group", className), "data-component": "TagGroup", "data-contract": "STATE-1", "data-tier": "composite", "data-grammar-tag-selection": selectionMode, "data-grammar-tag-removable": onRemove === undefined ? "false" : "true", selectionMode: selectionMode, size: size, ...(selectedIds === undefined ? {} : { selectedKeys: new Set(selectedIds) }), ...(defaultSelectedIds === undefined ? {} : { defaultSelectedKeys: new Set(defaultSelectedIds) }), ...(onSelectionChange === undefined ? {} : { onSelectionChange: (selection) => onSelectionChange(toIds(selection, items)) }), ...(onRemove === undefined ? {} : { onRemove: (keys) => onRemove([...keys].map(String)) }), children: _jsx(HeroTagGroup.List, { className: "starci-core-tag-list", "data-contract": "FOCUS-2", ...(emptyContent === undefined ? {} : { renderEmptyState: () => _jsx("span", { className: "starci-core-tag-empty", "data-contract": "STATE-3", "data-grammar-tag-empty": "true", children: emptyContent }) }), children: items.map((item) => (_jsx(HeroTag, { id: item.id, className: "starci-core-tag", "data-contract": "FOCUS-1", "data-grammar-tag": "true", textValue: item.isOff === true && item.offLabel !== undefined ? `${item.label}, ${item.offLabel}` : item.label, "data-grammar-tag-state": item.isOff === true ? "off" : "on", ...(item.isOff === true ? { variant: "surface" } : {}), ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: ({ isSelected, allowsRemoving }) => _jsxs(_Fragment, { children: [_jsxs("span", { className: "starci-core-tag-label", "data-grammar-tag-label": "true", "data-grammar-selected": isSelected ? "true" : "false", children: [item.leading === undefined ? null : _jsx("span", { "aria-hidden": "true", className: "starci-core-tag-leading", "data-contract": "A11Y-2", children: item.leading }), item.label, item.isOff === true && item.offLabel !== undefined ? _jsx("span", { className: "starci-core-visually-hidden", "data-grammar-tag-off-label": "true", children: `, ${item.offLabel}` }) : null] }), allowsRemoving ? _jsx(HeroTag.RemoveButton, { "aria-label": removeLabel?.(item.label) ?? item.label, className: "starci-core-tag-remove", "data-contract": "A11Y-2", "data-grammar-tag-remove": "true" }) : null] }) }, item.id))) }) }));
36
+ export const TagGroup = (props) => props.isSkeleton === true
37
+ ? _jsx(FieldSkeletonScope, { component: "TagGroup", children: _jsx(TagGroupControl, { ...props }) })
38
+ : _jsx(TagGroupControl, { ...props });
39
+ const TagGroupControl = ({ label, items, selectionMode = "none", selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, onReorder, reorderInstructions, reorderAnnouncement, emptyContent, size = "md", className, }) => {
40
+ const rootRef = useRef(null);
41
+ const instructionsId = useId();
42
+ const [announcement, setAnnouncement] = useState("");
43
+ const [draggingId, setDraggingId] = useState(undefined);
44
+ const [dropTargetId, setDropTargetId] = useState(undefined);
45
+ const ids = items.map((item) => item.id);
46
+ const reorderable = onReorder !== undefined;
47
+ // The vendor tag does not forward `draggable`, and the vendor group drops `aria-describedby`, so the group marks each
48
+ // enabled tag draggable and points the grid at the reorder instructions. The vendor collection renders its tags after
49
+ // this component's effects have run, so the marking also runs whenever the tags' DOM changes.
50
+ useEffect(() => {
51
+ const root = rootRef.current;
52
+ if (root === null || !reorderable)
53
+ return;
54
+ const mark = () => {
55
+ root.querySelectorAll("[data-grammar-tag-id]").forEach((tag) => {
56
+ const draggable = tag.getAttribute("aria-disabled") !== "true";
57
+ if (tag.draggable !== draggable)
58
+ tag.draggable = draggable;
59
+ });
60
+ const grid = root.querySelector("[role='grid']");
61
+ if (grid === null || reorderInstructions === undefined)
62
+ return;
63
+ const described = (grid.getAttribute("aria-describedby") ?? "").split(" ").filter((id) => id !== "");
64
+ if (!described.includes(instructionsId))
65
+ grid.setAttribute("aria-describedby", [...described, instructionsId].join(" "));
66
+ };
67
+ mark();
68
+ const observer = new MutationObserver(mark);
69
+ observer.observe(root, { childList: true, subtree: true, attributeFilter: ["aria-disabled", "aria-describedby"] });
70
+ return () => observer.disconnect();
71
+ }, [reorderable, reorderInstructions, instructionsId]);
72
+ const commit = (id, targetIndex) => {
73
+ if (onReorder === undefined || reorderAnnouncement === undefined)
74
+ return;
75
+ const next = moveId(ids, id, targetIndex);
76
+ if (next === ids)
77
+ return;
78
+ onReorder(next);
79
+ const item = items.find((candidate) => candidate.id === id);
80
+ setAnnouncement(reorderAnnouncement(item?.label ?? id, next.indexOf(id) + 1, next.length));
81
+ requestAnimationFrame(() => {
82
+ rootRef.current?.querySelector(`[data-grammar-tag-id="${CSS.escape(id)}"]`)?.focus();
83
+ });
84
+ };
85
+ const onKeyDown = (event) => {
86
+ const root = rootRef.current;
87
+ if (!reorderable || root === null || !event.altKey || event.ctrlKey || event.metaKey)
88
+ return;
89
+ const id = tagIdOf(event.target, root);
90
+ if (id === undefined || event.target !== root.querySelector(`[data-grammar-tag-id="${CSS.escape(id)}"]`))
91
+ return;
92
+ const rtl = getComputedStyle(root).direction === "rtl";
93
+ const index = ids.indexOf(id);
94
+ const target = event.key === "ArrowLeft" ? index + (rtl ? 1 : -1)
95
+ : event.key === "ArrowRight" ? index + (rtl ? -1 : 1)
96
+ : event.key === "ArrowUp" ? index - 1
97
+ : event.key === "ArrowDown" ? index + 1
98
+ : event.key === "Home" ? 0
99
+ : event.key === "End" ? ids.length - 1
100
+ : undefined;
101
+ if (target === undefined)
102
+ return;
103
+ event.preventDefault();
104
+ event.stopPropagation();
105
+ commit(id, target);
106
+ };
107
+ const onDragStart = (event) => {
108
+ const root = rootRef.current;
109
+ const id = root === null ? undefined : tagIdOf(event.target, root);
110
+ if (id === undefined)
111
+ return;
112
+ event.dataTransfer.effectAllowed = "move";
113
+ event.dataTransfer.setData("text/plain", id);
114
+ setDraggingId(id);
115
+ };
116
+ const onDragOver = (event) => {
117
+ const root = rootRef.current;
118
+ const id = root === null ? undefined : tagIdOf(event.target, root);
119
+ if (draggingId === undefined || id === undefined)
120
+ return;
121
+ event.preventDefault();
122
+ event.dataTransfer.dropEffect = "move";
123
+ setDropTargetId(id);
124
+ };
125
+ const onDrop = (event) => {
126
+ const root = rootRef.current;
127
+ const id = root === null ? undefined : tagIdOf(event.target, root);
128
+ if (draggingId === undefined)
129
+ return;
130
+ event.preventDefault();
131
+ if (id !== undefined)
132
+ commit(draggingId, ids.indexOf(id));
133
+ setDraggingId(undefined);
134
+ setDropTargetId(undefined);
135
+ };
136
+ const onDragEnd = () => {
137
+ setDraggingId(undefined);
138
+ setDropTargetId(undefined);
139
+ };
140
+ const tags = (_jsx(HeroTagGroup, { "aria-label": label, ...(reorderable ? { "data-grammar-tag-reorderable": "true" } : {}), className: navigationClassName("starci-core-tag-group", className), "data-component": "TagGroup", "data-contract": "STATE-1", "data-tier": "composite", "data-grammar-tag-selection": selectionMode, "data-grammar-tag-removable": onRemove === undefined ? "false" : "true", selectionMode: selectionMode, size: size, ...(selectedIds === undefined ? {} : { selectedKeys: new Set(selectedIds) }), ...(defaultSelectedIds === undefined ? {} : { defaultSelectedKeys: new Set(defaultSelectedIds) }), ...(onSelectionChange === undefined ? {} : { onSelectionChange: (selection) => onSelectionChange(toIds(selection, items)) }), ...(onRemove === undefined ? {} : { onRemove: (keys) => onRemove([...keys].map(String)) }), children: _jsx(HeroTagGroup.List, { className: "starci-core-tag-list", "data-contract": "FOCUS-2", ...(emptyContent === undefined ? {} : { renderEmptyState: () => _jsx("span", { className: "starci-core-tag-empty", "data-contract": "STATE-3", "data-grammar-tag-empty": "true", children: emptyContent }) }), children: items.map((item) => (_jsx(HeroTag, { id: item.id, className: "starci-core-tag", "data-contract": "FOCUS-1", "data-grammar-tag": "true", "data-grammar-tag-id": item.id, ...(reorderable ? { "data-grammar-tag-dragging": draggingId === item.id ? "true" : "false", "data-grammar-tag-drop-target": dropTargetId === item.id && draggingId !== item.id ? "true" : "false" } : {}), textValue: item.isOff === true && item.offLabel !== undefined ? `${item.label}, ${item.offLabel}` : item.label, "data-grammar-tag-state": item.isOff === true ? "off" : "on", ...(item.isOff === true ? { variant: "surface" } : {}), ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: ({ isSelected, allowsRemoving }) => _jsxs(_Fragment, { children: [_jsxs("span", { className: "starci-core-tag-label", "data-grammar-tag-label": "true", "data-grammar-selected": isSelected ? "true" : "false", children: [item.leading === undefined ? null : _jsx("span", { "aria-hidden": "true", className: "starci-core-tag-leading", "data-contract": "A11Y-2", children: item.leading }), item.label, item.isOff === true && item.offLabel !== undefined ? _jsx("span", { className: "starci-core-visually-hidden", "data-grammar-tag-off-label": "true", children: `, ${item.offLabel}` }) : null] }), allowsRemoving ? _jsx(HeroTag.RemoveButton, { "aria-label": removeLabel?.(item.label) ?? item.label, className: "starci-core-tag-remove", "data-contract": "A11Y-2", "data-grammar-tag-remove": "true" }) : null] }) }, item.id))) }) }));
141
+ if (!reorderable)
142
+ return tags;
143
+ // The vendor group forwards neither a ref nor key-capture and drag handlers, so the reorder layer listens on a
144
+ // wrapper of its own that lays out as if absent (`display: contents`).
145
+ return (_jsxs(_Fragment, { children: [_jsx("div", { ref: rootRef, className: "starci-core-tag-group-reorder", "data-grammar-tag-reorder": "true", onKeyDownCapture: onKeyDown, onDragStart: onDragStart, onDragOver: onDragOver, onDrop: onDrop, onDragEnd: onDragEnd, children: tags }), _jsx("span", { id: instructionsId, className: "starci-core-visually-hidden", hidden: true, children: reorderInstructions }), _jsx("span", { "aria-live": "polite", role: "status", className: "starci-core-visually-hidden", "data-grammar-tag-announcement": "true", children: announcement })] }));
146
+ };
17
147
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/TagGroup/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/TagGroup/index.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,11 @@ export type TimelineItem = {
10
10
  readonly state?: PresentationState;
11
11
  /** The entry the reader is at now (`aria-current="step"`). */
12
12
  readonly isCurrent?: boolean;
13
+ /**
14
+ * The entry needs the reader (a failed step, a pending approval): the whole row takes a tone background, not just
15
+ * the marker. The tone follows `state` (negative danger, affirmative success, informative accent, otherwise warning).
16
+ */
17
+ readonly isAttention?: boolean;
13
18
  /** App-owned marker glyph; defaults to a dot. */
14
19
  readonly marker?: ReactNode;
15
20
  };