@starci/grammar 0.12.14 → 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 (214) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +34 -31
  3. package/dist/.build-stamp.json +4 -4
  4. package/dist/common/components-forms.css +28 -44
  5. package/dist/common/components-list-panel.css +8 -0
  6. package/dist/common/components-navigation.css +163 -6
  7. package/dist/common/components-overlays.css +41 -2
  8. package/dist/common/conformance.d.ts +3 -8
  9. package/dist/common/conformance.d.ts.map +1 -1
  10. package/dist/common/conformance.js +4 -9
  11. package/dist/common/conformance.js.map +1 -1
  12. package/dist/common/registry.d.ts +24 -21
  13. package/dist/common/registry.d.ts.map +1 -1
  14. package/dist/common/registry.js +4 -4
  15. package/dist/common/registry.js.map +1 -1
  16. package/dist/common/renderers-forms.d.ts +11 -11
  17. package/dist/common/renderers-navigation.d.ts +5 -5
  18. package/dist/common/renderers-navigation.d.ts.map +1 -1
  19. package/dist/common/renderers-navigation.js +1 -1
  20. package/dist/common/renderers-navigation.js.map +1 -1
  21. package/dist/common/renderers-overlays.d.ts +2 -2
  22. package/dist/common/renderers-overlays.d.ts.map +1 -1
  23. package/dist/common/renderers-overlays.js.map +1 -1
  24. package/dist/common/renderers.d.ts +4 -1
  25. package/dist/common/renderers.d.ts.map +1 -1
  26. package/dist/common/renderers.js +3 -0
  27. package/dist/common/renderers.js.map +1 -1
  28. package/dist/common/{rule-catalog.generated.d.ts → rule-catalog.d.ts} +1 -1
  29. package/dist/common/rule-catalog.d.ts.map +1 -0
  30. package/dist/common/{rule-catalog.generated.js → rule-catalog.js} +2 -4
  31. package/dist/common/rule-catalog.js.map +1 -0
  32. package/dist/common/styles.css +236 -48
  33. package/dist/core/branch/ComboBox/index.d.ts +5 -5
  34. package/dist/core/branch/ComboBox/index.d.ts.map +1 -1
  35. package/dist/core/branch/ComboBox/index.js +9 -2
  36. package/dist/core/branch/ComboBox/index.js.map +1 -1
  37. package/dist/core/branch/DataTable/index.d.ts +20 -3
  38. package/dist/core/branch/DataTable/index.d.ts.map +1 -1
  39. package/dist/core/branch/DataTable/index.js +45 -8
  40. package/dist/core/branch/DataTable/index.js.map +1 -1
  41. package/dist/core/branch/FlowGraph/index.d.ts +26 -7
  42. package/dist/core/branch/FlowGraph/index.d.ts.map +1 -1
  43. package/dist/core/branch/FlowGraph/index.js +132 -30
  44. package/dist/core/branch/FlowGraph/index.js.map +1 -1
  45. package/dist/core/branch/FlowGraph/layout.d.ts +34 -1
  46. package/dist/core/branch/FlowGraph/layout.d.ts.map +1 -1
  47. package/dist/core/branch/FlowGraph/layout.js +82 -0
  48. package/dist/core/branch/FlowGraph/layout.js.map +1 -1
  49. package/dist/core/branch/FlowGraph/types.d.ts +13 -1
  50. package/dist/core/branch/FlowGraph/types.d.ts.map +1 -1
  51. package/dist/core/branch/ListBox/index.d.ts +4 -2
  52. package/dist/core/branch/ListBox/index.d.ts.map +1 -1
  53. package/dist/core/branch/ListBox/index.js +2 -2
  54. package/dist/core/branch/ListBox/index.js.map +1 -1
  55. package/dist/core/branch/MarkdownArticle/index.d.ts +7 -1
  56. package/dist/core/branch/MarkdownArticle/index.d.ts.map +1 -1
  57. package/dist/core/branch/MarkdownArticle/index.js +5 -2
  58. package/dist/core/branch/MarkdownArticle/index.js.map +1 -1
  59. package/dist/core/branch/Select/index.d.ts +6 -8
  60. package/dist/core/branch/Select/index.d.ts.map +1 -1
  61. package/dist/core/branch/Select/index.js +9 -5
  62. package/dist/core/branch/Select/index.js.map +1 -1
  63. package/dist/core/branch/SurfaceCard/index.d.ts +9 -0
  64. package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
  65. package/dist/core/branch/SurfaceCard/index.js +3 -2
  66. package/dist/core/branch/SurfaceCard/index.js.map +1 -1
  67. package/dist/core/branch/Tabs/index.d.ts.map +1 -1
  68. package/dist/core/branch/Tabs/index.js +17 -0
  69. package/dist/core/branch/Tabs/index.js.map +1 -1
  70. package/dist/core/branch/Tooltip/index.d.ts +9 -1
  71. package/dist/core/branch/Tooltip/index.d.ts.map +1 -1
  72. package/dist/core/branch/Tooltip/index.js +2 -2
  73. package/dist/core/branch/Tooltip/index.js.map +1 -1
  74. package/dist/core/buttonIntent.d.ts.map +1 -1
  75. package/dist/core/buttonIntent.js +1 -2
  76. package/dist/core/buttonIntent.js.map +1 -1
  77. package/dist/core/collectionItem.d.ts +3 -3
  78. package/dist/core/collectionItem.d.ts.map +1 -1
  79. package/dist/core/collectionItem.js +1 -2
  80. package/dist/core/collectionItem.js.map +1 -1
  81. package/dist/core/composite/Alert/index.d.ts +5 -0
  82. package/dist/core/composite/Alert/index.d.ts.map +1 -1
  83. package/dist/core/composite/Alert/index.js +7 -2
  84. package/dist/core/composite/Alert/index.js.map +1 -1
  85. package/dist/core/composite/CheckboxGroup/index.d.ts +6 -5
  86. package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -1
  87. package/dist/core/composite/CheckboxGroup/index.js +10 -3
  88. package/dist/core/composite/CheckboxGroup/index.js.map +1 -1
  89. package/dist/core/composite/DescriptionList/index.d.ts +3 -2
  90. package/dist/core/composite/DescriptionList/index.d.ts.map +1 -1
  91. package/dist/core/composite/DescriptionList/index.js +5 -4
  92. package/dist/core/composite/DescriptionList/index.js.map +1 -1
  93. package/dist/core/composite/RadioGroup/index.d.ts +5 -3
  94. package/dist/core/composite/RadioGroup/index.d.ts.map +1 -1
  95. package/dist/core/composite/RadioGroup/index.js +9 -2
  96. package/dist/core/composite/RadioGroup/index.js.map +1 -1
  97. package/dist/core/composite/SegmentedControl/index.d.ts +6 -6
  98. package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -1
  99. package/dist/core/composite/SegmentedControl/index.js +9 -5
  100. package/dist/core/composite/SegmentedControl/index.js.map +1 -1
  101. package/dist/core/composite/TagGroup/index.d.ts +27 -4
  102. package/dist/core/composite/TagGroup/index.d.ts.map +1 -1
  103. package/dist/core/composite/TagGroup/index.js +132 -2
  104. package/dist/core/composite/TagGroup/index.js.map +1 -1
  105. package/dist/core/composite/Timeline/index.d.ts +5 -0
  106. package/dist/core/composite/Timeline/index.d.ts.map +1 -1
  107. package/dist/core/composite/Timeline/index.js +1 -1
  108. package/dist/core/composite/Timeline/index.js.map +1 -1
  109. package/dist/core/composition/Sidebar/index.d.ts +4 -0
  110. package/dist/core/composition/Sidebar/index.d.ts.map +1 -1
  111. package/dist/core/composition/Sidebar/index.js +4 -2
  112. package/dist/core/composition/Sidebar/index.js.map +1 -1
  113. package/dist/core/dna.d.ts +1 -1
  114. package/dist/core/dna.js +1 -1
  115. package/dist/core/dna.js.map +1 -1
  116. package/dist/core/index.d.ts +1 -1
  117. package/dist/core/index.d.ts.map +1 -1
  118. package/dist/core/primitive/Avatar/index.d.ts +1 -1
  119. package/dist/core/primitive/Badge/index.d.ts +8 -5
  120. package/dist/core/primitive/Badge/index.d.ts.map +1 -1
  121. package/dist/core/primitive/Badge/index.js +14 -5
  122. package/dist/core/primitive/Badge/index.js.map +1 -1
  123. package/dist/core/primitive/Button/index.d.ts +10 -2
  124. package/dist/core/primitive/Button/index.d.ts.map +1 -1
  125. package/dist/core/primitive/Button/index.js +15 -4
  126. package/dist/core/primitive/Button/index.js.map +1 -1
  127. package/dist/core/primitive/Checkbox/index.d.ts +5 -3
  128. package/dist/core/primitive/Checkbox/index.d.ts.map +1 -1
  129. package/dist/core/primitive/Checkbox/index.js +9 -2
  130. package/dist/core/primitive/Checkbox/index.js.map +1 -1
  131. package/dist/core/primitive/Code/index.d.ts +10 -0
  132. package/dist/core/primitive/Code/index.d.ts.map +1 -0
  133. package/dist/core/primitive/Code/index.js +5 -0
  134. package/dist/core/primitive/Code/index.js.map +1 -0
  135. package/dist/core/primitive/Field/index.d.ts +12 -25
  136. package/dist/core/primitive/Field/index.d.ts.map +1 -1
  137. package/dist/core/primitive/Field/index.js +13 -14
  138. package/dist/core/primitive/Field/index.js.map +1 -1
  139. package/dist/core/primitive/GrammarRoot/index.d.ts +8 -1
  140. package/dist/core/primitive/GrammarRoot/index.d.ts.map +1 -1
  141. package/dist/core/primitive/GrammarRoot/index.js +5 -1
  142. package/dist/core/primitive/GrammarRoot/index.js.map +1 -1
  143. package/dist/core/primitive/Icon/index.d.ts.map +1 -1
  144. package/dist/core/primitive/Icon/index.js +3 -2
  145. package/dist/core/primitive/Icon/index.js.map +1 -1
  146. package/dist/core/primitive/Input/index.d.ts +9 -4
  147. package/dist/core/primitive/Input/index.d.ts.map +1 -1
  148. package/dist/core/primitive/Input/index.js +13 -8
  149. package/dist/core/primitive/Input/index.js.map +1 -1
  150. package/dist/core/primitive/Meter/index.d.ts +4 -1
  151. package/dist/core/primitive/Meter/index.d.ts.map +1 -1
  152. package/dist/core/primitive/Meter/index.js +3 -3
  153. package/dist/core/primitive/Meter/index.js.map +1 -1
  154. package/dist/core/primitive/NumberField/index.d.ts +6 -5
  155. package/dist/core/primitive/NumberField/index.d.ts.map +1 -1
  156. package/dist/core/primitive/NumberField/index.js +10 -3
  157. package/dist/core/primitive/NumberField/index.js.map +1 -1
  158. package/dist/core/primitive/PinnedActionBar/index.d.ts +25 -6
  159. package/dist/core/primitive/PinnedActionBar/index.d.ts.map +1 -1
  160. package/dist/core/primitive/PinnedActionBar/index.js +9 -4
  161. package/dist/core/primitive/PinnedActionBar/index.js.map +1 -1
  162. package/dist/core/primitive/SearchField/index.d.ts +6 -5
  163. package/dist/core/primitive/SearchField/index.d.ts.map +1 -1
  164. package/dist/core/primitive/SearchField/index.js +10 -3
  165. package/dist/core/primitive/SearchField/index.js.map +1 -1
  166. package/dist/core/primitive/SectionHeader/index.d.ts +3 -3
  167. package/dist/core/primitive/SectionHeader/index.js +2 -2
  168. package/dist/core/primitive/SectionHeader/index.js.map +1 -1
  169. package/dist/core/primitive/Skeleton/index.d.ts +11 -0
  170. package/dist/core/primitive/Skeleton/index.d.ts.map +1 -1
  171. package/dist/core/primitive/Skeleton/index.js +12 -1
  172. package/dist/core/primitive/Skeleton/index.js.map +1 -1
  173. package/dist/core/primitive/StatusDot/index.d.ts +61 -0
  174. package/dist/core/primitive/StatusDot/index.d.ts.map +1 -0
  175. package/dist/core/primitive/StatusDot/index.js +55 -0
  176. package/dist/core/primitive/StatusDot/index.js.map +1 -0
  177. package/dist/core/primitive/Switch/index.d.ts +4 -3
  178. package/dist/core/primitive/Switch/index.d.ts.map +1 -1
  179. package/dist/core/primitive/Switch/index.js +5 -2
  180. package/dist/core/primitive/Switch/index.js.map +1 -1
  181. package/dist/core/primitive/Terminal/index.d.ts +20 -0
  182. package/dist/core/primitive/Terminal/index.d.ts.map +1 -0
  183. package/dist/core/primitive/Terminal/index.js +29 -0
  184. package/dist/core/primitive/Terminal/index.js.map +1 -0
  185. package/dist/core/primitive/Text/index.d.ts +5 -1
  186. package/dist/core/primitive/Text/index.d.ts.map +1 -1
  187. package/dist/core/primitive/Text/index.js +12 -7
  188. package/dist/core/primitive/Text/index.js.map +1 -1
  189. package/dist/core/primitive/TextAction/index.d.ts.map +1 -1
  190. package/dist/core/primitive/TextAction/index.js +9 -4
  191. package/dist/core/primitive/TextAction/index.js.map +1 -1
  192. package/dist/core/primitive/Textarea/index.d.ts +8 -4
  193. package/dist/core/primitive/Textarea/index.d.ts.map +1 -1
  194. package/dist/core/primitive/Textarea/index.js +9 -5
  195. package/dist/core/primitive/Textarea/index.js.map +1 -1
  196. package/dist/core/styles.css +18 -6
  197. package/dist/offset-pop/components-forms.css +0 -17
  198. package/dist/offset-pop/components-navigation.css +30 -4
  199. package/dist/offset-pop/components-overlays.css +5 -0
  200. package/dist/offset-pop/index.d.ts +1 -1
  201. package/dist/offset-pop/index.d.ts.map +1 -1
  202. package/dist/offset-pop/styles.css +44 -0
  203. package/package.json +7 -12
  204. package/dist/common/rule-catalog.generated.d.ts.map +0 -1
  205. package/dist/common/rule-catalog.generated.js.map +0 -1
  206. package/dist/heritage/dna.d.ts +0 -63
  207. package/dist/heritage/dna.d.ts.map +0 -1
  208. package/dist/heritage/dna.js +0 -37
  209. package/dist/heritage/dna.js.map +0 -1
  210. package/dist/heritage/index.d.ts +0 -27
  211. package/dist/heritage/index.d.ts.map +0 -1
  212. package/dist/heritage/index.js +0 -46
  213. package/dist/heritage/index.js.map +0 -1
  214. package/dist/heritage/styles.css +0 -187
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tooltip/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIpD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE/C,iCAAiC;AACjC,MAAM,MAAM,YAAY,GAAG;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;CACxC,CAAA;AAED,uGAAuG;AACvG,eAAO,MAAM,OAAO,GAAI,kCAA0C,YAAY,gCAqB7E,CAAA;AAED,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,yGAAyG;AACzG,eAAO,MAAM,eAAe,GAAI,iCAAiC,oBAAoB,gCAoBpF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tooltip/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIpD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE/C,iCAAiC;AACjC,MAAM,MAAM,YAAY,GAAG;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;IACrC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,oHAAoH;IACpH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACvC,CAAA;AAED,uGAAuG;AACvG,eAAO,MAAM,OAAO,GAAI,yEAAyF,YAAY,gCA8B5H,CAAA;AAED,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,yGAAyG;AACzG,eAAO,MAAM,eAAe,GAAI,iCAAiC,oBAAoB,gCAoBpF,CAAA"}
@@ -4,9 +4,9 @@ import { Tooltip as HeroTooltip } from "@heroui/react";
4
4
  import { useOverlayContainer } from "../../overlayScope.js";
5
5
  import { tooltipContentClassName } from "./classNames.js";
6
6
  /** Hover/focus annotation with HeroUI's positioning, dismissal and accessible trigger relationship. */
7
- export const Tooltip = ({ content, children, placement = "top" }) => {
7
+ export const Tooltip = ({ content, children, placement = "top", isDisabledTrigger = false, triggerDescribedBy }) => {
8
8
  const { anchor, container } = useOverlayContainer("Tooltip");
9
- return (_jsxs(HeroTooltip, { delay: 0, children: [children, anchor, container === null ? null : (_jsx(HeroTooltip.Content, { UNSTABLE_portalContainer: container, placement: placement, className: tooltipContentClassName, "data-grammar-tooltip": "true", "data-component": "Tooltip", "data-tier": "branch", "data-grammar-tooltip-content": "true", children: content }))] }));
9
+ return (_jsxs(HeroTooltip, { delay: 0, children: [isDisabledTrigger ? (_jsx(HeroTooltip.Trigger, { className: "starci-core-tooltip-disabled-trigger", "data-grammar-tooltip-disabled-trigger": "true", role: "group", ...(triggerDescribedBy === undefined ? {} : { "aria-describedby": triggerDescribedBy }), children: children })) : children, anchor, container === null ? null : (_jsx(HeroTooltip.Content, { UNSTABLE_portalContainer: container, placement: placement, className: tooltipContentClassName, "data-grammar-tooltip": "true", "data-component": "Tooltip", "data-tier": "branch", "data-grammar-tooltip-content": "true", children: content }))] }));
10
10
  };
11
11
  /** A collection owns its trigger events; HeroUI positions the controlled annotation beside that item. */
12
12
  export const AnchoredTooltip = ({ id, target, content, isOpen }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Tooltip/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAkBzD,uGAAuG;AACvG,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAAgB,EAAE,EAAE;IAC9E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5D,OAAO,CACH,MAAC,WAAW,IAAC,KAAK,EAAE,CAAC,aAChB,QAAQ,EACR,MAAM,EACN,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzB,KAAC,WAAW,CAAC,OAAO,IAChB,wBAAwB,EAAE,SAAS,EACnC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,uBAAuB,0BACb,MAAM,oBACZ,SAAS,eACd,QAAQ,kCACW,MAAM,YAElC,OAAO,GACU,CACzB,IACS,CACjB,CAAA;AACL,CAAC,CAAA;AASD,yGAAyG;AACzG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAwB,EAAE,EAAE;IACrF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5D,OAAO,CACH,MAAC,WAAW,IAAC,MAAM,EAAE,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,aACnD,MAAM,EACN,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzB,KAAC,WAAW,CAAC,OAAO,IAChB,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC/B,wBAAwB,EAAE,SAAS,EACnC,SAAS,EAAC,OAAO,EACjB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,uBAAuB,kCACL,MAAM,qCACH,MAAM,YAEtC,eAAM,EAAE,EAAE,EAAE,YAAG,OAAO,GAAQ,GACZ,CACzB,IACS,CACjB,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Tooltip/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AA0BzD,uGAAuG;AACvG,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAAE,iBAAiB,GAAG,KAAK,EAAE,kBAAkB,EAAgB,EAAE,EAAE;IAC7H,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5D,OAAO,CACH,MAAC,WAAW,IAAC,KAAK,EAAE,CAAC,aAChB,iBAAiB,CAAC,CAAC,CAAC,CACjB,KAAC,WAAW,CAAC,OAAO,IAChB,SAAS,EAAC,sCAAsC,2CACV,MAAM,EAC5C,IAAI,EAAC,OAAO,KACR,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,YAEvF,QAAQ,GACS,CACzB,CAAC,CAAC,CAAC,QAAQ,EACX,MAAM,EACN,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzB,KAAC,WAAW,CAAC,OAAO,IAChB,wBAAwB,EAAE,SAAS,EACnC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,uBAAuB,0BACb,MAAM,oBACZ,SAAS,eACd,QAAQ,kCACW,MAAM,YAElC,OAAO,GACU,CACzB,IACS,CACjB,CAAA;AACL,CAAC,CAAA;AASD,yGAAyG;AACzG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAwB,EAAE,EAAE;IACrF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5D,OAAO,CACH,MAAC,WAAW,IAAC,MAAM,EAAE,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,aACnD,MAAM,EACN,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzB,KAAC,WAAW,CAAC,OAAO,IAChB,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC/B,wBAAwB,EAAE,SAAS,EACnC,SAAS,EAAC,OAAO,EACjB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,uBAAuB,kCACL,MAAM,qCACH,MAAM,YAEtC,eAAM,EAAE,EAAE,EAAE,YAAG,OAAO,GAAQ,GACZ,CACzB,IACS,CACjB,CAAA;AACL,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"buttonIntent.d.ts","sourceRoot":"","sources":["../../src/core/buttonIntent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAEhE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAA;AAC3F,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAA;AACjD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAA;AAE5D,2FAA2F;AAC3F,MAAM,MAAM,iBAAiB,GACvB;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GACjF;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,CAAA;AAgBzE,sGAAsG;AACtG,eAAO,MAAM,0BAA0B,GAAI,sBAAsB;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAItI,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,GAAI,iCAAyC;IAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAEhL,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,GAAI,QAAQ,YAAY,GAAG,SAAS,EAAE,MAAM,eAAe,GAAG,SAAS,EAAE,SAAS,QAAQ,GAAG,YAAY,KAAG,aAAa,GAAG,SAU9J,CAAA"}
1
+ {"version":3,"file":"buttonIntent.d.ts","sourceRoot":"","sources":["../../src/core/buttonIntent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAEhE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAA;AAC3F,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAA;AACjD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAA;AAE5D,2FAA2F;AAC3F,MAAM,MAAM,iBAAiB,GACvB;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GACjF;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,CAAA;AAgBzE,sGAAsG;AACtG,eAAO,MAAM,0BAA0B,GAAI,sBAAsB;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAItI,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,GAAI,iCAAyC;IAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAEhL,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,GAAI,QAAQ,YAAY,GAAG,SAAS,EAAE,MAAM,eAAe,GAAG,SAAS,EAAE,SAAS,QAAQ,GAAG,YAAY,KAAG,aAAa,GAAG,SAU9J,CAAA"}
@@ -3,11 +3,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { createContext, useContext } from "react";
4
4
  import { STARCI_CORE_DNA } from "./dna.js";
5
5
  import { OFFSET_POP_DNA } from "../offset-pop/dna.js";
6
- import { HERITAGE_DNA } from "../heritage/dna.js";
7
6
  const FamilyContext = createContext(STARCI_CORE_DNA.intent);
8
7
  const PlacementContext = createContext({ placement: "decision", navbar: false });
9
8
  /** Grammar roots select their own declared DNA mapping; nested roots start a fresh decision scope. */
10
- export const ButtonIntentFamilyProvider = ({ family, children }) => (_jsx(FamilyContext.Provider, { value: family === "heritage" ? HERITAGE_DNA.intent : family === "offset-pop" ? OFFSET_POP_DNA.intent : STARCI_CORE_DNA.intent, children: _jsx(ButtonPlacementProvider, { placement: "decision", children: children }) }));
9
+ export const ButtonIntentFamilyProvider = ({ family, children }) => (_jsx(FamilyContext.Provider, { value: family === "offset-pop" ? OFFSET_POP_DNA.intent : STARCI_CORE_DNA.intent, children: _jsx(ButtonPlacementProvider, { placement: "decision", children: children }) }));
11
10
  /** Placement belongs to the Grammar composition, never to a Button's appearance props. */
12
11
  export const ButtonPlacementProvider = ({ placement, navbar = false, children }) => (_jsx(PlacementContext.Provider, { value: { placement, navbar }, children: children }));
13
12
  /** Resolve a command's facts through the active family's visual mapping. */
@@ -1 +1 @@
1
- {"version":3,"file":"buttonIntent.js","sourceRoot":"","sources":["../../src/core/buttonIntent.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAuBjD,MAAM,aAAa,GAAG,aAAa,CAAgB,eAAe,CAAC,MAAM,CAAC,CAAA;AAC1E,MAAM,gBAAgB,GAAG,aAAa,CAAoE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AAEnJ,sGAAsG;AACtG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAA0E,EAAE,EAAE,CAAC,CACxI,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,YACjJ,KAAC,uBAAuB,IAAC,SAAS,EAAC,UAAU,YAAE,QAAQ,GAA2B,GAC7D,CAC5B,CAAA;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,EAAoG,EAAE,EAAE,CAAC,CAClL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAG,QAAQ,GAA6B,CAClG,CAAA;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAgC,EAAE,IAAiC,EAAE,OAAgC,EAA6B,EAAE;IACvK,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IACzC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC1D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC1C,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,KAAK,YAAY;YACrD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,CAAA;IACzE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC,CAAA"}
1
+ {"version":3,"file":"buttonIntent.js","sourceRoot":"","sources":["../../src/core/buttonIntent.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAuBrD,MAAM,aAAa,GAAG,aAAa,CAAgB,eAAe,CAAC,MAAM,CAAC,CAAA;AAC1E,MAAM,gBAAgB,GAAG,aAAa,CAAoE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AAEnJ,sGAAsG;AACtG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAA0E,EAAE,EAAE,CAAC,CACxI,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,YACnG,KAAC,uBAAuB,IAAC,SAAS,EAAC,UAAU,YAAE,QAAQ,GAA2B,GAC7D,CAC5B,CAAA;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,EAAoG,EAAE,EAAE,CAAC,CAClL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAG,QAAQ,GAA6B,CAClG,CAAA;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAgC,EAAE,IAAiC,EAAE,OAAgC,EAA6B,EAAE;IACvK,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IACzC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC1D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC1C,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,KAAK,YAAY;YACrD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,CAAA;IACzE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;AAC1B,CAAC,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { type ReactNode } from "react";
2
- /** Item previews support one, two or three visible lines; their full text remains accessible. */
3
- export type ItemDescriptionLines = 1 | 2 | 3;
2
+ /** Item previews support one, two or three visible lines, or `wrap` to show every line; their full text remains accessible. */
3
+ export type ItemDescriptionLines = 1 | 2 | 3 | "wrap";
4
4
  type CollectionItemPresentation = {
5
- readonly descriptionLines: ItemDescriptionLines;
5
+ readonly descriptionLines: Exclude<ItemDescriptionLines, "wrap">;
6
6
  readonly unreadWeight: number;
7
7
  };
8
8
  /** Each Grammar root selects its family's item typography, including inside nested family scopes. */
@@ -1 +1 @@
1
- {"version":3,"file":"collectionItem.d.ts","sourceRoot":"","sources":["../../src/core/collectionItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAKjE,iGAAiG;AACjG,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAE5C,KAAK,0BAA0B,GAAG;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAA;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAChC,CAAA;AAID,qGAAqG;AACrG,eAAO,MAAM,4BAA4B,GAAI,sBAAsB;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAIxI,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,6BAA6B,QAAO,0BAA+D,CAAA"}
1
+ {"version":3,"file":"collectionItem.d.ts","sourceRoot":"","sources":["../../src/core/collectionItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjE,+HAA+H;AAC/H,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;AAErD,KAAK,0BAA0B,GAAG;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;IAChE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAChC,CAAA;AAID,qGAAqG;AACrG,eAAO,MAAM,4BAA4B,GAAI,sBAAsB;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAIxI,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,6BAA6B,QAAO,0BAA+D,CAAA"}
@@ -2,11 +2,10 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { createContext, useContext } from "react";
4
4
  import { STARCI_CORE_DNA } from "./dna.js";
5
- import { HERITAGE_DNA } from "../heritage/dna.js";
6
5
  import { OFFSET_POP_DNA } from "../offset-pop/dna.js";
7
6
  const CollectionItemContext = createContext(STARCI_CORE_DNA.collectionItem);
8
7
  /** Each Grammar root selects its family's item typography, including inside nested family scopes. */
9
- export const CollectionItemFamilyProvider = ({ family, children }) => (_jsx(CollectionItemContext.Provider, { value: family === "heritage" ? HERITAGE_DNA.collectionItem : family === "offset-pop" ? OFFSET_POP_DNA.collectionItem : STARCI_CORE_DNA.collectionItem, children: children }));
8
+ export const CollectionItemFamilyProvider = ({ family, children }) => (_jsx(CollectionItemContext.Provider, { value: family === "offset-pop" ? OFFSET_POP_DNA.collectionItem : STARCI_CORE_DNA.collectionItem, children: children }));
10
9
  /** Shared collection renderers read their preview limits and unread weight from the active DNA. */
11
10
  export const useCollectionItemPresentation = () => useContext(CollectionItemContext);
12
11
  //# sourceMappingURL=collectionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionItem.js","sourceRoot":"","sources":["../../src/core/collectionItem.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAUrD,MAAM,qBAAqB,GAAG,aAAa,CAA6B,eAAe,CAAC,cAAc,CAAC,CAAA;AAEvG,qGAAqG;AACrG,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAA0E,EAAE,EAAE,CAAC,CAC1I,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,YAChL,QAAQ,GACoB,CACpC,CAAA;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAA+B,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA"}
1
+ {"version":3,"file":"collectionItem.js","sourceRoot":"","sources":["../../src/core/collectionItem.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAUrD,MAAM,qBAAqB,GAAG,aAAa,CAA6B,eAAe,CAAC,cAAc,CAAC,CAAA;AAEvG,qGAAqG;AACrG,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAA0E,EAAE,EAAE,CAAC,CAC1I,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,YAC1H,QAAQ,GACoB,CACpC,CAAA;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAA+B,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA"}
@@ -28,6 +28,11 @@ type AlertBase = {
28
28
  */
29
29
  readonly urgency?: AlertUrgency;
30
30
  readonly appearance?: AlertAppearance;
31
+ /**
32
+ * Unresolved banner (knowledge STATE-8): the same anatomy in the neutral tone, not announced (no status role), its
33
+ * glyph, title, description and actions laid out unseen under shimmers, so it keeps the ready box (skeleton parity).
34
+ */
35
+ readonly isSkeleton?: boolean;
31
36
  };
32
37
  /** A dismissible banner must name its close action; a permanent one has neither prop. */
33
38
  type Dismissible = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Alert/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAErE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAA;AACjD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,CAAA;AAEhD,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC7B,CAAA;AAED,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAA;CACxC,CAAA;AAED,yFAAyF;AACzF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAClC,CAAA;AAED,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA;AAsB9D;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,UAAU,uCAiDtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Alert/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAGrE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAA;AACjD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,CAAA;AAEhD,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAC7B,CAAA;AAED,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAA;IACrC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,yFAAyF;AACzF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAClC,CAAA;AAED,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA;AAsB9D;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,UAAU,uCAsDtC,CAAA"}
@@ -6,6 +6,7 @@ import { vendorStatusFor } from "../../overlayScope.js";
6
6
  import { Button } from "../../primitive/Button/index.js";
7
7
  import { CloseButton } from "../../primitive/CloseButton/index.js";
8
8
  import { Icon } from "../../primitive/Icon/index.js";
9
+ import { SkeletonPlaceholder } from "../../primitive/Skeleton/index.js";
9
10
  /**
10
11
  * The action Button variant an Alert tone takes, as HeroUI v3's own Alert examples pair them: the accent
11
12
  * Alert carries a `primary` Button ("Refresh"), the danger Alert a `danger` Button ("Retry"). HeroUI has no
@@ -38,7 +39,9 @@ const alertActionVariantFor = (tone) => {
38
39
  * Contract: root FEEDBACK-3 (status/alert urgency on the owner); actions FEEDBACK-2 (recovery in place).
39
40
  */
40
41
  export const Alert = (props) => {
41
- const { title, description, tone = "informative", action, urgency, appearance = "surface" } = props;
42
+ const { title, description, tone: readyTone = "informative", action, urgency, appearance = "surface", isSkeleton = false } = props;
43
+ const tone = isSkeleton ? "neutral" : readyTone;
44
+ const unseen = (node) => isSkeleton ? _jsx(SkeletonPlaceholder, { children: node }) : node;
42
45
  const [isDismissed, setIsDismissed] = useState(false);
43
46
  if (isDismissed)
44
47
  return null;
@@ -47,6 +50,8 @@ export const Alert = (props) => {
47
50
  setIsDismissed(true);
48
51
  props.onDismiss?.();
49
52
  };
50
- return (_jsxs(HeroAlert, { "data-tier": "composite", "data-component": "Alert", "data-grammar-tone": tone, "data-grammar-appearance": appearance, "data-urgency": resolvedUrgency, "data-contract": "FEEDBACK-3", role: resolvedUrgency === "assertive" ? "alert" : "status", status: vendorStatusFor(tone), className: "starci-core-alert", children: [_jsx(HeroAlert.Indicator, { className: "starci-core-alert-indicator", children: tone === "pending" ? _jsx(HeroSpinner, { "aria-hidden": "true", role: "presentation", size: "sm", color: "current" }) : undefined }), _jsxs(HeroAlert.Content, { className: "starci-core-alert-content", children: [_jsx(HeroAlert.Title, { className: "starci-core-alert-title", children: title }), description === undefined ? null : (_jsx(HeroAlert.Description, { className: "starci-core-alert-description", children: description }))] }), action === undefined && props.dismissLabel === undefined ? null : (_jsxs("span", { className: "starci-core-alert-actions", "data-grammar-alert-actions": "true", "data-contract": "FEEDBACK-2", children: [action === undefined ? null : (_jsx(Button, { size: "sm", variant: alertActionVariantFor(tone), onPress: action.onAction, ...(action.icon === undefined ? {} : { startContent: _jsx(Icon, { source: action.icon, usage: "leading" }) }), children: action.label })), props.dismissLabel === undefined ? null : (_jsx(CloseButton, { label: props.dismissLabel, size: "sm", onPress: dismiss }))] }))] }));
53
+ return (_jsxs(HeroAlert, { "data-tier": "composite", "data-component": "Alert", "data-grammar-tone": tone, "data-grammar-appearance": appearance, "data-urgency": resolvedUrgency, "data-contract": "FEEDBACK-3", ...(isSkeleton ? { "data-loading": "true", "aria-busy": true } : { role: resolvedUrgency === "assertive" ? "alert" : "status" }), status: vendorStatusFor(tone), className: "starci-core-alert", children: [_jsx(HeroAlert.Indicator, { className: "starci-core-alert-indicator", children: tone === "pending" ? _jsx(HeroSpinner, { "aria-hidden": "true", role: "presentation", size: "sm", color: "current" }) : undefined }), _jsxs(HeroAlert.Content, { className: "starci-core-alert-content", children: [_jsx(HeroAlert.Title, { className: "starci-core-alert-title", children: unseen(title) }), description === undefined ? null : (_jsx(HeroAlert.Description, { className: "starci-core-alert-description", children: unseen(description) }))] }), action === undefined && props.dismissLabel === undefined ? null : (_jsxs("span", { className: "starci-core-alert-actions", "data-grammar-alert-actions": "true", "data-contract": "FEEDBACK-2", children: [action === undefined ? null : (_jsx(Button, { isSkeleton: isSkeleton, size: "sm", variant: alertActionVariantFor(tone), onPress: action.onAction, ...(action.icon === undefined ? {} : { startContent: _jsx(Icon, { source: action.icon, usage: "leading" }) }), children: action.label })), props.dismissLabel === undefined ? null : (isSkeleton
54
+ ? _jsx(SkeletonPlaceholder, { shape: "circle", children: _jsx(CloseButton, { label: props.dismissLabel, size: "sm", onPress: dismiss }) })
55
+ : _jsx(CloseButton, { label: props.dismissLabel, size: "sm", onPress: dismiss }))] }))] }));
51
56
  };
52
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Alert/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Alert/index.tsx"],"names":[],"mappings":"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"}
@@ -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"}