@starci/grammar 0.3.0 → 0.4.1

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 (250) hide show
  1. package/README.md +74 -39
  2. package/dist/common/conformance.d.ts +31 -0
  3. package/dist/common/conformance.d.ts.map +1 -0
  4. package/dist/common/conformance.js +33 -0
  5. package/dist/common/conformance.js.map +1 -0
  6. package/dist/common/index.d.ts +5 -5
  7. package/dist/common/index.d.ts.map +1 -1
  8. package/dist/common/index.js +5 -10
  9. package/dist/common/index.js.map +1 -1
  10. package/dist/common/registry.d.ts +79 -0
  11. package/dist/common/registry.d.ts.map +1 -0
  12. package/dist/common/registry.js +34 -0
  13. package/dist/common/registry.js.map +1 -0
  14. package/dist/common/renderers.d.ts +41 -0
  15. package/dist/common/renderers.d.ts.map +1 -0
  16. package/dist/common/renderers.js +44 -0
  17. package/dist/common/renderers.js.map +1 -0
  18. package/dist/common/rule-catalog.generated.d.ts +40 -0
  19. package/dist/common/rule-catalog.generated.d.ts.map +1 -0
  20. package/dist/common/rule-catalog.generated.js +230 -0
  21. package/dist/common/rule-catalog.generated.js.map +1 -0
  22. package/dist/common/spacing.d.ts +20 -0
  23. package/dist/common/spacing.d.ts.map +1 -0
  24. package/dist/common/spacing.js +18 -0
  25. package/dist/common/spacing.js.map +1 -0
  26. package/dist/common/state.d.ts +6 -0
  27. package/dist/common/state.d.ts.map +1 -0
  28. package/dist/common/state.js +11 -0
  29. package/dist/common/state.js.map +1 -0
  30. package/dist/common/styles.css +1566 -2
  31. package/dist/core/OtpInput.d.ts.map +1 -1
  32. package/dist/core/OtpInput.js +2 -1
  33. package/dist/core/OtpInput.js.map +1 -1
  34. package/dist/core/branch/MarkdownArticle/index.d.ts.map +1 -1
  35. package/dist/core/branch/MarkdownArticle/index.js +2 -2
  36. package/dist/core/branch/MarkdownArticle/index.js.map +1 -1
  37. package/dist/core/branch/Rail/classNames.d.ts.map +1 -1
  38. package/dist/core/branch/Rail/classNames.js +4 -4
  39. package/dist/core/branch/Rail/classNames.js.map +1 -1
  40. package/dist/core/branch/Rail/index.d.ts +4 -0
  41. package/dist/core/branch/Rail/index.d.ts.map +1 -1
  42. package/dist/core/branch/Rail/index.js +12 -2
  43. package/dist/core/branch/Rail/index.js.map +1 -1
  44. package/dist/core/branch/Subnav/classNames.d.ts +8 -0
  45. package/dist/core/branch/Subnav/classNames.d.ts.map +1 -0
  46. package/dist/core/branch/Subnav/classNames.js +9 -0
  47. package/dist/core/branch/Subnav/classNames.js.map +1 -0
  48. package/dist/core/branch/Subnav/index.d.ts +17 -0
  49. package/dist/core/branch/Subnav/index.d.ts.map +1 -0
  50. package/dist/core/branch/Subnav/index.js +6 -0
  51. package/dist/core/branch/Subnav/index.js.map +1 -0
  52. package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts +6 -2
  53. package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts.map +1 -1
  54. package/dist/core/branch/SurfaceAccordionCard/classNames.js +14 -9
  55. package/dist/core/branch/SurfaceAccordionCard/classNames.js.map +1 -1
  56. package/dist/core/branch/SurfaceAccordionCard/index.d.ts +8 -1
  57. package/dist/core/branch/SurfaceAccordionCard/index.d.ts.map +1 -1
  58. package/dist/core/branch/SurfaceAccordionCard/index.js +29 -11
  59. package/dist/core/branch/SurfaceAccordionCard/index.js.map +1 -1
  60. package/dist/core/branch/SurfaceCard/classNames.d.ts +11 -1
  61. package/dist/core/branch/SurfaceCard/classNames.d.ts.map +1 -1
  62. package/dist/core/branch/SurfaceCard/classNames.js +16 -7
  63. package/dist/core/branch/SurfaceCard/classNames.js.map +1 -1
  64. package/dist/core/branch/SurfaceCard/index.d.ts +11 -1
  65. package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
  66. package/dist/core/branch/SurfaceCard/index.js +15 -4
  67. package/dist/core/branch/SurfaceCard/index.js.map +1 -1
  68. package/dist/core/branch/SurfaceListCard/classNames.d.ts +2 -0
  69. package/dist/core/branch/SurfaceListCard/classNames.d.ts.map +1 -1
  70. package/dist/core/branch/SurfaceListCard/classNames.js +7 -5
  71. package/dist/core/branch/SurfaceListCard/classNames.js.map +1 -1
  72. package/dist/core/branch/SurfaceListCard/index.d.ts.map +1 -1
  73. package/dist/core/branch/SurfaceListCard/index.js +3 -2
  74. package/dist/core/branch/SurfaceListCard/index.js.map +1 -1
  75. package/dist/core/branch/Tabs/classNames.d.ts +11 -0
  76. package/dist/core/branch/Tabs/classNames.d.ts.map +1 -0
  77. package/dist/core/branch/Tabs/classNames.js +13 -0
  78. package/dist/core/branch/Tabs/classNames.js.map +1 -0
  79. package/dist/core/branch/Tabs/index.d.ts +22 -0
  80. package/dist/core/branch/Tabs/index.d.ts.map +1 -0
  81. package/dist/core/branch/Tabs/index.js +28 -0
  82. package/dist/core/branch/Tabs/index.js.map +1 -0
  83. package/dist/core/branch/Tooltip/classNames.d.ts +3 -0
  84. package/dist/core/branch/Tooltip/classNames.d.ts.map +1 -0
  85. package/dist/core/branch/Tooltip/classNames.js +4 -0
  86. package/dist/core/branch/Tooltip/classNames.js.map +1 -0
  87. package/dist/core/branch/Tooltip/index.d.ts +18 -0
  88. package/dist/core/branch/Tooltip/index.d.ts.map +1 -0
  89. package/dist/core/branch/Tooltip/index.js +14 -0
  90. package/dist/core/branch/Tooltip/index.js.map +1 -0
  91. package/dist/core/classNames.d.ts.map +1 -1
  92. package/dist/core/classNames.js +3 -3
  93. package/dist/core/classNames.js.map +1 -1
  94. package/dist/core/composite/EmptyNotice/index.d.ts +17 -0
  95. package/dist/core/composite/EmptyNotice/index.d.ts.map +1 -0
  96. package/dist/core/composite/EmptyNotice/index.js +7 -0
  97. package/dist/core/composite/EmptyNotice/index.js.map +1 -0
  98. package/dist/core/composite/HorizontalScrollRegion/index.d.ts +2 -0
  99. package/dist/core/composite/HorizontalScrollRegion/index.d.ts.map +1 -1
  100. package/dist/core/composite/HorizontalScrollRegion/index.js +5 -2
  101. package/dist/core/composite/HorizontalScrollRegion/index.js.map +1 -1
  102. package/dist/core/composite/StaticStateRow/index.d.ts.map +1 -1
  103. package/dist/core/composite/StaticStateRow/index.js +1 -1
  104. package/dist/core/composite/StaticStateRow/index.js.map +1 -1
  105. package/dist/core/composite/VerticalScrollRegion/index.d.ts +2 -0
  106. package/dist/core/composite/VerticalScrollRegion/index.d.ts.map +1 -1
  107. package/dist/core/composite/VerticalScrollRegion/index.js +2 -2
  108. package/dist/core/composite/VerticalScrollRegion/index.js.map +1 -1
  109. package/dist/core/composition/ChatWorkspace/classNames.d.ts +30 -0
  110. package/dist/core/composition/ChatWorkspace/classNames.d.ts.map +1 -0
  111. package/dist/core/composition/ChatWorkspace/classNames.js +31 -0
  112. package/dist/core/composition/ChatWorkspace/classNames.js.map +1 -0
  113. package/dist/core/composition/ChatWorkspace/index.d.ts +48 -0
  114. package/dist/core/composition/ChatWorkspace/index.d.ts.map +1 -0
  115. package/dist/core/composition/ChatWorkspace/index.js +40 -0
  116. package/dist/core/composition/ChatWorkspace/index.js.map +1 -0
  117. package/dist/core/composition/NavigationFeatureNav/classNames.d.ts +9 -0
  118. package/dist/core/composition/NavigationFeatureNav/classNames.d.ts.map +1 -0
  119. package/dist/core/composition/NavigationFeatureNav/classNames.js +10 -0
  120. package/dist/core/composition/NavigationFeatureNav/classNames.js.map +1 -0
  121. package/dist/core/composition/NavigationFeatureNav/index.d.ts +26 -0
  122. package/dist/core/composition/NavigationFeatureNav/index.d.ts.map +1 -0
  123. package/dist/core/composition/NavigationFeatureNav/index.js +13 -0
  124. package/dist/core/composition/NavigationFeatureNav/index.js.map +1 -0
  125. package/dist/core/composition/PrimaryRailLayout/index.d.ts +14 -0
  126. package/dist/core/composition/PrimaryRailLayout/index.d.ts.map +1 -0
  127. package/dist/core/composition/PrimaryRailLayout/index.js +8 -0
  128. package/dist/core/composition/PrimaryRailLayout/index.js.map +1 -0
  129. package/dist/core/composition/Sidebar/index.d.ts +31 -0
  130. package/dist/core/composition/Sidebar/index.d.ts.map +1 -0
  131. package/dist/core/composition/Sidebar/index.js +40 -0
  132. package/dist/core/composition/Sidebar/index.js.map +1 -0
  133. package/dist/core/composition/WorkspaceShell/classNames.d.ts +11 -0
  134. package/dist/core/composition/WorkspaceShell/classNames.d.ts.map +1 -0
  135. package/dist/core/composition/WorkspaceShell/classNames.js +12 -0
  136. package/dist/core/composition/WorkspaceShell/classNames.js.map +1 -0
  137. package/dist/core/composition/WorkspaceShell/index.d.ts +67 -0
  138. package/dist/core/composition/WorkspaceShell/index.d.ts.map +1 -0
  139. package/dist/core/composition/WorkspaceShell/index.js +20 -0
  140. package/dist/core/composition/WorkspaceShell/index.js.map +1 -0
  141. package/dist/core/dna.d.ts +180 -0
  142. package/dist/core/dna.d.ts.map +1 -0
  143. package/dist/core/dna.js +175 -0
  144. package/dist/core/dna.js.map +1 -0
  145. package/dist/core/index.d.ts +58 -11
  146. package/dist/core/index.d.ts.map +1 -1
  147. package/dist/core/index.js +27 -11
  148. package/dist/core/index.js.map +1 -1
  149. package/dist/core/primitive/Badge/index.d.ts +12 -0
  150. package/dist/core/primitive/Badge/index.d.ts.map +1 -0
  151. package/dist/core/primitive/Badge/index.js +15 -0
  152. package/dist/core/primitive/Badge/index.js.map +1 -0
  153. package/dist/core/primitive/Button/index.d.ts +52 -0
  154. package/dist/core/primitive/Button/index.d.ts.map +1 -0
  155. package/dist/core/primitive/Button/index.js +26 -0
  156. package/dist/core/primitive/Button/index.js.map +1 -0
  157. package/dist/core/primitive/Divider/index.d.ts +7 -0
  158. package/dist/core/primitive/Divider/index.d.ts.map +1 -0
  159. package/dist/core/primitive/Divider/index.js +5 -0
  160. package/dist/core/primitive/Divider/index.js.map +1 -0
  161. package/dist/core/primitive/GrammarRoot/index.d.ts +10 -0
  162. package/dist/core/primitive/GrammarRoot/index.d.ts.map +1 -0
  163. package/dist/core/primitive/GrammarRoot/index.js +5 -0
  164. package/dist/core/primitive/GrammarRoot/index.js.map +1 -0
  165. package/dist/core/primitive/Heading/index.d.ts +15 -0
  166. package/dist/core/primitive/Heading/index.d.ts.map +1 -0
  167. package/dist/core/primitive/Heading/index.js +26 -0
  168. package/dist/core/primitive/Heading/index.js.map +1 -0
  169. package/dist/core/primitive/Icon/index.d.ts +31 -0
  170. package/dist/core/primitive/Icon/index.d.ts.map +1 -0
  171. package/dist/core/primitive/Icon/index.js +23 -0
  172. package/dist/core/primitive/Icon/index.js.map +1 -0
  173. package/dist/core/primitive/IconButton/index.d.ts +13 -0
  174. package/dist/core/primitive/IconButton/index.d.ts.map +1 -0
  175. package/dist/core/primitive/IconButton/index.js +9 -0
  176. package/dist/core/primitive/IconButton/index.js.map +1 -0
  177. package/dist/core/primitive/IconTile/index.d.ts +17 -0
  178. package/dist/core/primitive/IconTile/index.d.ts.map +1 -0
  179. package/dist/core/primitive/IconTile/index.js +32 -0
  180. package/dist/core/primitive/IconTile/index.js.map +1 -0
  181. package/dist/core/primitive/IncludedMark/index.d.ts +10 -0
  182. package/dist/core/primitive/IncludedMark/index.d.ts.map +1 -0
  183. package/dist/core/primitive/IncludedMark/index.js +8 -0
  184. package/dist/core/primitive/IncludedMark/index.js.map +1 -0
  185. package/dist/core/primitive/Input/index.d.ts +31 -0
  186. package/dist/core/primitive/Input/index.d.ts.map +1 -0
  187. package/dist/core/primitive/Input/index.js +27 -0
  188. package/dist/core/primitive/Input/index.js.map +1 -0
  189. package/dist/core/primitive/Label/classNames.d.ts +12 -0
  190. package/dist/core/primitive/Label/classNames.d.ts.map +1 -0
  191. package/dist/core/primitive/Label/classNames.js +13 -0
  192. package/dist/core/primitive/Label/classNames.js.map +1 -0
  193. package/dist/core/primitive/Label/index.d.ts +11 -0
  194. package/dist/core/primitive/Label/index.d.ts.map +1 -0
  195. package/dist/core/primitive/Label/index.js +14 -0
  196. package/dist/core/primitive/Label/index.js.map +1 -0
  197. package/dist/core/primitive/MediaFrame/index.d.ts +15 -0
  198. package/dist/core/primitive/MediaFrame/index.d.ts.map +1 -0
  199. package/dist/core/primitive/MediaFrame/index.js +8 -0
  200. package/dist/core/primitive/MediaFrame/index.js.map +1 -0
  201. package/dist/core/primitive/PageContainer/index.d.ts +9 -0
  202. package/dist/core/primitive/PageContainer/index.d.ts.map +1 -0
  203. package/dist/core/primitive/PageContainer/index.js +8 -0
  204. package/dist/core/primitive/PageContainer/index.js.map +1 -0
  205. package/dist/core/primitive/Progress/index.d.ts +11 -0
  206. package/dist/core/primitive/Progress/index.d.ts.map +1 -0
  207. package/dist/core/primitive/Progress/index.js +13 -0
  208. package/dist/core/primitive/Progress/index.js.map +1 -0
  209. package/dist/core/primitive/RankArtwork/index.d.ts +12 -0
  210. package/dist/core/primitive/RankArtwork/index.d.ts.map +1 -0
  211. package/dist/core/primitive/RankArtwork/index.js +14 -0
  212. package/dist/core/primitive/RankArtwork/index.js.map +1 -0
  213. package/dist/core/primitive/SectionHeader/index.d.ts +15 -0
  214. package/dist/core/primitive/SectionHeader/index.d.ts.map +1 -0
  215. package/dist/core/primitive/SectionHeader/index.js +6 -0
  216. package/dist/core/primitive/SectionHeader/index.js.map +1 -0
  217. package/dist/core/primitive/SurfaceCopyGroup/index.d.ts +7 -0
  218. package/dist/core/primitive/SurfaceCopyGroup/index.d.ts.map +1 -0
  219. package/dist/core/primitive/SurfaceCopyGroup/index.js +5 -0
  220. package/dist/core/primitive/SurfaceCopyGroup/index.js.map +1 -0
  221. package/dist/core/primitive/Text/index.d.ts +25 -0
  222. package/dist/core/primitive/Text/index.d.ts.map +1 -0
  223. package/dist/core/primitive/Text/index.js +57 -0
  224. package/dist/core/primitive/Text/index.js.map +1 -0
  225. package/dist/core/primitive/TextAction/index.d.ts +45 -0
  226. package/dist/core/primitive/TextAction/index.d.ts.map +1 -0
  227. package/dist/core/primitive/TextAction/index.js +112 -0
  228. package/dist/core/primitive/TextAction/index.js.map +1 -0
  229. package/dist/core/primitive/actionStyles.d.ts +5 -0
  230. package/dist/core/primitive/actionStyles.d.ts.map +1 -0
  231. package/dist/core/primitive/actionStyles.js +19 -0
  232. package/dist/core/primitive/actionStyles.js.map +1 -0
  233. package/dist/core/state.d.ts +2 -2
  234. package/dist/core/state.js +1 -1
  235. package/dist/core/styles.css +163 -592
  236. package/dist/heritage/index.d.ts +27 -0
  237. package/dist/heritage/index.d.ts.map +1 -0
  238. package/dist/heritage/index.js +44 -0
  239. package/dist/heritage/index.js.map +1 -0
  240. package/dist/heritage/styles.css +165 -0
  241. package/dist/offset-pop/index.d.ts +12 -0
  242. package/dist/offset-pop/index.d.ts.map +1 -0
  243. package/dist/offset-pop/index.js +41 -0
  244. package/dist/offset-pop/index.js.map +1 -0
  245. package/dist/offset-pop/styles.css +292 -393
  246. package/package.json +78 -68
  247. package/dist/core/scrollable-surfaces.spec.d.ts +0 -2
  248. package/dist/core/scrollable-surfaces.spec.d.ts.map +0 -1
  249. package/dist/core/scrollable-surfaces.spec.js +0 -37
  250. package/dist/core/scrollable-surfaces.spec.js.map +0 -1
@@ -1,18 +1,29 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Card } from "@heroui/react";
2
3
  import { useId } from "react";
3
4
  import { assertPresentationState, treatmentFor } from "../../state.js";
4
5
  import { VerticalScrollRegion } from "../../composite/VerticalScrollRegion/index.js";
5
- import { getSurfaceFrameClassName, surfaceCardClassName, surfaceContentClassName, surfaceLabelClassName } from "./classNames.js";
6
+ import { Label } from "../../primitive/Label/index.js";
7
+ import { getSurfaceCardClassName, getSurfaceContentClassName, getSurfaceFrameClassName, surfaceHighlightClassName, surfaceHighlightSweepClassName, surfaceLabelClassName, } from "./classNames.js";
6
8
  export const SurfaceCard = (props) => {
7
- const { label, ariaLabel, children, fact, labelEnd, depth = "top", state = "neutral", wholeAction, frame = "bounded", scroll = "page", isScrollable = false, } = props;
9
+ const { label, ariaLabel, children, fact, labelEnd, depth = "top", state = "neutral", wholeAction, frame = "bounded", scroll = "page", isScrollable = false, composition = "single", measure = "content", height = "auto", isHighlight = false, } = props;
8
10
  assertPresentationState(state);
9
11
  const headingId = useId();
10
12
  const treatment = treatmentFor(state);
11
13
  const disabled = state === "unavailable" || state === "pending";
12
14
  const accessibleName = ariaLabel ?? label;
13
15
  const contained = isScrollable || scroll === "contained";
16
+ const compositionContract = composition === "joined" ? "GAP-0 PADDING-0" : "PADDING-4";
17
+ const contentContract = [
18
+ frame === "frameless" ? "SURFACE-1" : "SURFACE-2",
19
+ compositionContract,
20
+ frame === "frameless" ? "OVERFLOW-1 OVERFLOW-2" : "OVERFLOW-2",
21
+ depth === "nested" ? "BOUNDARY-5" : "BOUNDARY-6",
22
+ ].join(" ");
23
+ const rootContract = wholeAction === undefined ? undefined : "SURFACE-4";
14
24
  const action = wholeAction?.kind === "link" ? (_jsx("a", { "aria-disabled": disabled || undefined, "aria-label": wholeAction.label, "data-grammar-whole-action": "link", href: disabled ? undefined : wholeAction.href, tabIndex: disabled ? -1 : undefined })) : wholeAction?.kind === "button" ? (_jsx("button", { "aria-label": wholeAction.label, "data-grammar-whole-action": "button", disabled: disabled, onClick: wholeAction.press, type: "button" })) : null;
15
- const surface = (_jsxs("div", { "aria-label": label === undefined ? accessibleName : undefined, "aria-labelledby": label === undefined ? undefined : headingId, className: getSurfaceFrameClassName(frame), "data-grammar-frame": frame, "data-grammar-scroll": contained ? "contained" : "page", "data-grammar-state": state, "data-grammar-surface-depth": depth, "data-grammar-treatment": treatment.tone, children: [_jsx(VerticalScrollRegion, { className: surfaceContentClassName, "data-grammar-surface-content": "true", isScrollable: contained, children: children }), action] }));
16
- return (_jsxs("section", { className: surfaceCardClassName, "data-grammar-frame": frame, "data-grammar-surface-card": "true", children: [label === undefined ? null : (_jsxs("div", { className: surfaceLabelClassName, "data-grammar-surface-label": "true", children: [_jsx("h3", { id: headingId, children: label }), labelEnd ?? (fact === undefined ? null : _jsx("span", { children: fact }))] })), surface] }));
25
+ const surface = (_jsxs(Card.Content, { "aria-label": label === undefined ? accessibleName : undefined, "aria-labelledby": label === undefined ? undefined : headingId, className: getSurfaceFrameClassName(frame) ?? "", "data-contract": contentContract, "data-grammar-frame": frame, "data-grammar-surface-composition": composition, "data-grammar-surface-height": height, "data-grammar-scroll": contained ? "contained" : "page", "data-grammar-state": state, "data-grammar-surface-depth": depth, "data-grammar-treatment": treatment.tone, children: [_jsx(VerticalScrollRegion, { className: getSurfaceContentClassName(measure, contained), "data-grammar-surface-content": "true", "data-grammar-surface-composition": composition, isScrollable: contained, children: children }), action] }));
26
+ const highlightedSurface = isHighlight && state !== "pending" ? (_jsxs("div", { className: surfaceHighlightClassName, "data-grammar-highlight": "true", children: [_jsx("div", { "aria-hidden": true, className: surfaceHighlightSweepClassName }), surface] })) : surface;
27
+ return (_jsxs(Card.Root, { className: getSurfaceCardClassName(measure, height) ?? "", "data-contract": rootContract, "data-grammar-frame": frame, "data-grammar-surface-composition": composition, "data-grammar-surface-height": height, "data-grammar-interaction": wholeAction === undefined ? "static" : "whole-action", "data-grammar-surface-labelled": label === undefined ? "false" : "true", "data-grammar-surface-card": "true", render: (cardProps) => _jsx("section", { ...cardProps }), variant: "transparent", children: [label === undefined ? null : (_jsxs(Card.Header, { className: surfaceLabelClassName ?? "", "data-contract": "GAP-2", "data-grammar-surface-label": "true", children: [_jsx(Label, { as: "h3", id: headingId, children: label }), labelEnd ?? (fact === undefined ? null : _jsx("span", { children: fact }))] })), highlightedSurface] }));
17
28
  };
18
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceCard/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAwChI,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IACnD,MAAM,EACF,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,GAAG,KAAK,EACb,KAAK,GAAG,SAAS,EACjB,WAAW,EACX,KAAK,GAAG,SAAS,EACjB,MAAM,GAAG,MAAM,EACf,YAAY,GAAG,KAAK,GACvB,GAAG,KAAK,CAAA;IACT,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,KAAK,EAAE,CAAA;IACzB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,SAAS,CAAA;IAC/D,MAAM,cAAc,GAAG,SAAS,IAAI,KAAK,CAAA;IACzC,MAAM,SAAS,GAAG,YAAY,IAAI,MAAM,KAAK,WAAW,CAAA;IAExD,MAAM,MAAM,GAAG,WAAW,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAC1C,6BACmB,QAAQ,IAAI,SAAS,gBACxB,WAAW,CAAC,KAAK,+BACH,MAAM,EAChC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAC7C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GACrC,CACL,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACjC,+BACgB,WAAW,CAAC,KAAK,+BACH,QAAQ,EAClC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,CAAC,KAAK,EAC1B,IAAI,EAAC,QAAQ,GACf,CACL,CAAC,CAAC,CAAC,IAAI,CAAA;IAER,MAAM,OAAO,GAAG,CACZ,6BACgB,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,qBAC3C,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC5D,SAAS,EAAE,wBAAwB,CAAC,KAAK,CAAC,wBACtB,KAAK,yBACJ,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,wBACjC,KAAK,gCACG,KAAK,4BACT,SAAS,CAAC,IAAI,aAEtC,KAAC,oBAAoB,IAAC,SAAS,EAAE,uBAAuB,kCAA+B,MAAM,EAAC,YAAY,EAAE,SAAS,YAChH,QAAQ,GACU,EACtB,MAAM,IACL,CACT,CAAA;IAED,OAAO,CACH,mBACI,SAAS,EAAE,oBAAoB,wBACX,KAAK,+BACC,MAAM,aAE/B,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1B,eAAK,SAAS,EAAE,qBAAqB,gCAA6B,MAAM,aACpE,aAAI,EAAE,EAAE,SAAS,YAAG,KAAK,GAAM,EAC9B,QAAQ,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAO,IAAI,GAAQ,CAAC,IAC5D,CACT,EACA,OAAO,IACF,CACb,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceCard/index.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  export declare const surfaceListClassName: import("tailwind-variants").CnReturn;
3
3
  /** Identifies the external label row shared by surface branches. */
4
4
  export declare const surfaceLabelClassName: import("tailwind-variants").CnReturn;
5
+ /** Keeps the peer fact at the same visual level as its owning label. */
6
+ export declare const getSurfaceFactClassName: (depth: "top" | "nested") => import("tailwind-variants").CnReturn;
5
7
  /** Identifies the list's bounded surface shell. */
6
8
  export declare const listShellClassName: import("tailwind-variants").CnReturn;
7
9
  /** Identifies the optional footer region. */
@@ -1 +1 @@
1
- {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceListCard/classNames.ts"],"names":[],"mappings":"AAEA,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,sCAAoC,CAAA;AACrE,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,sCAAyD,CAAA;AAC3F,mDAAmD;AACnD,eAAO,MAAM,kBAAkB,sCAAmC,CAAA;AAClE,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB,sCAA6B,CAAA;AAChE,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,GAAI,WAAW,OAAO,yCAAyD,CAAA"}
1
+ {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceListCard/classNames.ts"],"names":[],"mappings":"AAEA,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,sCAAgE,CAAA;AACjG,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,sCAEjC,CAAA;AACD,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,GAAI,OAAO,KAAK,GAAG,QAAQ,yCAG9D,CAAA;AACD,mDAAmD;AACnD,eAAO,MAAM,kBAAkB,sCAAoF,CAAA;AACnH,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB,sCAA2D,CAAA;AAC9F,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,GAAI,WAAW,OAAO,yCAAyF,CAAA"}
@@ -1,12 +1,14 @@
1
1
  import { cn } from "@heroui/react";
2
2
  /** Identifies the outer surface-list anatomy. */
3
- export const surfaceListClassName = cn("flex", "min-w-0", "flex-col");
3
+ export const surfaceListClassName = cn("starci-core-surface-list", "flex", "min-w-0", "flex-col");
4
4
  /** Identifies the external label row shared by surface branches. */
5
- export const surfaceLabelClassName = cn("flex", "items-center", "justify-between", "gap-2");
5
+ export const surfaceLabelClassName = cn("starci-core-surface-label");
6
+ /** Keeps the peer fact at the same visual level as its owning label. */
7
+ export const getSurfaceFactClassName = (depth) => cn("text-muted", depth === "nested" ? "text-xs leading-4" : "text-sm leading-5");
6
8
  /** Identifies the list's bounded surface shell. */
7
- export const listShellClassName = cn("min-w-0", "overflow-hidden");
9
+ export const listShellClassName = cn("starci-core-surface", "starci-core-list-shell", "min-w-0", "overflow-hidden");
8
10
  /** Identifies the optional footer region. */
9
- export const surfaceFooterClassName = cn("flex", "items-center");
11
+ export const surfaceFooterClassName = cn("starci-core-surface-footer", "flex", "items-center");
10
12
  /** Selects the collection treatment for verdict and ordinary lists. */
11
- export const getCollectionClassName = (isVerdict) => cn("w-full", isVerdict ? "rounded-none" : undefined);
13
+ export const getCollectionClassName = (isVerdict) => cn("starci-core-owned-collection", "w-full", isVerdict ? "rounded-none" : undefined);
12
14
  //# sourceMappingURL=classNames.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceListCard/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,iDAAiD;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;AACrE,oEAAoE;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;AAC3F,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;AAClE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAChE,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceListCard/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,iDAAiD;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;AACjG,oEAAoE;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CACnC,2BAA2B,CAC9B,CAAA;AACD,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,EAAE,CAClE,YAAY,EACZ,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CACjE,CAAA;AACD,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAA;AACnH,6CAA6C;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,4BAA4B,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;AAC9F,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,8BAA8B,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceListCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI7C,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,KAAK,qBAAqB,GAAG,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,GAAG;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG;IACvD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCAqD1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceListCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK7C,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,KAAK,qBAAqB,GAAG,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,GAAG;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG;IACvD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCA8D1D,CAAA"}
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId } from "react";
3
3
  import { VerticalScrollRegion } from "../../composite/VerticalScrollRegion/index.js";
4
- import { getCollectionClassName, listShellClassName, surfaceFooterClassName, surfaceLabelClassName, surfaceListClassName } from "./classNames.js";
4
+ import { Label } from "../../primitive/Label/index.js";
5
+ import { getCollectionClassName, getSurfaceFactClassName, listShellClassName, surfaceFooterClassName, surfaceLabelClassName, surfaceListClassName } from "./classNames.js";
5
6
  export const SurfaceListCard = (props) => {
6
7
  const { label, ariaLabel, children, fact, labelEnd, labelHidden = false, footer, depth = "top", isLoading = false, isVerdict = false, isScrollable = false, } = props;
7
8
  const headingId = useId();
8
9
  const accessibleName = ariaLabel ?? label;
9
- return (_jsxs("section", { className: surfaceListClassName, "data-grammar-label-visibility": labelHidden ? "hidden" : "visible", "data-grammar-surface-list": "true", children: [label === undefined || labelHidden ? null : (_jsxs("div", { className: surfaceLabelClassName, "data-grammar-surface-label": "true", children: [_jsx("h3", { id: headingId, children: label }), labelEnd ?? (fact === undefined ? null : _jsx("span", { children: fact }))] })), _jsx("div", { "aria-label": labelHidden || label === undefined ? accessibleName : undefined, "aria-labelledby": !labelHidden && label !== undefined ? headingId : undefined, className: listShellClassName, "data-grammar-surface": "true", "data-grammar-scroll": isScrollable ? "contained" : "page", "data-grammar-surface-depth": depth, "data-surface-context": depth === "nested" ? "nested" : "page", "data-verdict": String(isVerdict), children: _jsx(VerticalScrollRegion, { className: getCollectionClassName(isVerdict), "data-grammar-list": "true", "data-loading": String(isLoading), isScrollable: isScrollable, children: children }) }), footer === undefined ? null : (_jsx("div", { className: surfaceFooterClassName, "data-grammar-surface-footer": "true", children: footer }))] }));
10
+ return (_jsxs("section", { className: surfaceListClassName, "data-grammar-label-visibility": labelHidden ? "hidden" : "visible", "data-grammar-surface-list": "true", "data-grammar-surface-depth": depth, children: [label === undefined || labelHidden ? null : (_jsxs("div", { className: surfaceLabelClassName, "data-contract": "GAP-2", "data-grammar-surface-label": "true", children: [_jsx(Label, { as: "h3", id: headingId, depth: depth, children: label }), labelEnd ?? (fact === undefined ? null : (_jsx("span", { className: getSurfaceFactClassName(depth), "data-contract": `TONE-2 ${depth === "nested" ? "FONT-1" : "FONT-2"}`, children: fact })))] })), _jsx("div", { "aria-label": labelHidden || label === undefined ? accessibleName : undefined, "aria-labelledby": !labelHidden && label !== undefined ? headingId : undefined, className: listShellClassName, "data-contract": "SURFACE-2 PADDING-0 OVERFLOW-2", "data-grammar-surface": "true", "data-grammar-scroll": isScrollable ? "contained" : "page", "data-grammar-surface-depth": depth, "data-surface-context": depth === "nested" ? "nested" : "page", "data-verdict": String(isVerdict), children: _jsx(VerticalScrollRegion, { className: getCollectionClassName(isVerdict), "data-grammar-list": "true", "data-loading": String(isLoading), isScrollable: isScrollable, children: children }) }), footer === undefined ? null : (_jsx("div", { className: surfaceFooterClassName, "data-grammar-surface-footer": "true", children: footer }))] }));
10
11
  };
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceListCard/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AA2BjJ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC3D,MAAM,EACF,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,MAAM,EACN,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,KAAK,EACjB,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,KAAK,GACvB,GAAG,KAAK,CAAA;IACT,MAAM,SAAS,GAAG,KAAK,EAAE,CAAA;IACzB,MAAM,cAAc,GAAG,SAAS,IAAI,KAAK,CAAA;IAEzC,OAAO,CACH,mBACI,SAAS,EAAE,oBAAoB,mCACA,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,+BACvC,MAAM,aAE/B,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzC,eAAK,SAAS,EAAE,qBAAqB,gCAA6B,MAAM,aACpE,aAAI,EAAE,EAAE,SAAS,YAAG,KAAK,GAAM,EAC9B,QAAQ,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAO,IAAI,GAAQ,CAAC,IAC5D,CACT,EACD,4BACgB,WAAW,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,qBAC1D,CAAC,WAAW,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC5E,SAAS,EAAE,kBAAkB,0BACR,MAAM,yBACN,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,gCAC5B,KAAK,0BACX,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,kBAC9C,MAAM,CAAC,SAAS,CAAC,YAE/B,KAAC,oBAAoB,IACjB,SAAS,EAAE,sBAAsB,CAAC,SAAS,CAAC,uBAC1B,MAAM,kBACV,MAAM,CAAC,SAAS,CAAC,EAC/B,YAAY,EAAE,YAAY,YAEzB,QAAQ,GACU,GACrB,EACL,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3B,cAAK,SAAS,EAAE,sBAAsB,iCAA8B,MAAM,YAAE,MAAM,GAAO,CAC5F,IACK,CACb,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceListCard/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AA2B1K,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC3D,MAAM,EACF,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,MAAM,EACN,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,KAAK,EACjB,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,KAAK,GACvB,GAAG,KAAK,CAAA;IACT,MAAM,SAAS,GAAG,KAAK,EAAE,CAAA;IACzB,MAAM,cAAc,GAAG,SAAS,IAAI,KAAK,CAAA;IAEzC,OAAO,CACH,mBACI,SAAS,EAAE,oBAAoB,mCACA,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,+BACvC,MAAM,gCACJ,KAAK,aAEhC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACzC,eAAK,SAAS,EAAE,qBAAqB,mBAAgB,OAAO,gCAA4B,MAAM,aAC1F,KAAC,KAAK,IAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YAAG,KAAK,GAAS,EAC1D,QAAQ,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtC,eACI,SAAS,EAAE,uBAAuB,CAAC,KAAK,CAAC,mBAC1B,UAAU,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,YAElE,IAAI,GACF,CACV,CAAC,IACA,CACT,EACD,4BACgB,WAAW,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,qBAC1D,CAAC,WAAW,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC5E,SAAS,EAAE,kBAAkB,mBACf,gCAAgC,0BACzB,MAAM,yBACN,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,gCAC5B,KAAK,0BACX,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,kBAC9C,MAAM,CAAC,SAAS,CAAC,YAE/B,KAAC,oBAAoB,IACjB,SAAS,EAAE,sBAAsB,CAAC,SAAS,CAAC,uBAC1B,MAAM,kBACV,MAAM,CAAC,SAAS,CAAC,EAC/B,YAAY,EAAE,YAAY,YAEzB,QAAQ,GACU,GACrB,EACL,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3B,cAAK,SAAS,EAAE,sBAAsB,iCAA8B,MAAM,YAAE,MAAM,GAAO,CAC5F,IACK,CACb,CAAA;AACL,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ /** Owns the full-width peer-tab region without allowing intrinsic content to widen the page. */
2
+ export declare const tabsFrameClassName: import("tailwind-variants").CnReturn;
3
+ /** Makes clipped destinations reachable through the Core horizontal overflow treatment. */
4
+ export declare const tabsScrollClassName: import("tailwind-variants").CnReturn;
5
+ /** Preserves the tab row's intrinsic width inside its scroll owner. */
6
+ export declare const tabsClassName: import("tailwind-variants").CnReturn;
7
+ /** Keeps icon and stable label aligned as one tab identity. */
8
+ export declare const tabContentClassName: import("tailwind-variants").CnReturn;
9
+ /** Core hides labels only while the accessible name and icon remain available. */
10
+ export declare const tabLabelClassName: import("tailwind-variants").CnReturn;
11
+ //# sourceMappingURL=classNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/classNames.ts"],"names":[],"mappings":"AAGA,gGAAgG;AAChG,eAAO,MAAM,kBAAkB,sCAA+B,CAAA;AAC9D,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB,sCAAiE,CAAA;AACjG,uEAAuE;AACvE,eAAO,MAAM,aAAa,sCAAyB,CAAA;AACnD,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,sCAAgC,CAAA;AAChE,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,sCAA8B,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { cn } from "@heroui/react";
2
+ import { horizontalScrollRegionClassName } from "../../classNames.js";
3
+ /** Owns the full-width peer-tab region without allowing intrinsic content to widen the page. */
4
+ export const tabsFrameClassName = cn("starci-core-tabs-frame");
5
+ /** Makes clipped destinations reachable through the Core horizontal overflow treatment. */
6
+ export const tabsScrollClassName = cn(horizontalScrollRegionClassName, "starci-core-tabs-scroll");
7
+ /** Preserves the tab row's intrinsic width inside its scroll owner. */
8
+ export const tabsClassName = cn("starci-core-tabs");
9
+ /** Keeps icon and stable label aligned as one tab identity. */
10
+ export const tabContentClassName = cn("starci-core-tab-content");
11
+ /** Core hides labels only while the accessible name and icon remain available. */
12
+ export const tabLabelClassName = cn("starci-core-tab-label");
13
+ //# sourceMappingURL=classNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAClC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAA;AAErE,gGAAgG;AAChG,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAA;AAC9D,2FAA2F;AAC3F,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC,+BAA+B,EAAE,yBAAyB,CAAC,CAAA;AACjG,uEAAuE;AACvE,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAA;AACnD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC,yBAAyB,CAAC,CAAA;AAChE,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { type ReactNode } from "react";
2
+ /** One stable peer destination rendered by the Core tab object. */
3
+ export type TabItem = {
4
+ readonly id: string;
5
+ readonly label: string;
6
+ readonly leading?: ReactNode;
7
+ };
8
+ /** Business-neutral controlled peer tabs with one declared overflow owner. */
9
+ export type TabsProps = {
10
+ readonly label: string;
11
+ readonly selectedKey: string;
12
+ readonly items: ReadonlyArray<TabItem>;
13
+ readonly onSelect?: (key: string) => void;
14
+ readonly panelId?: (key: string) => string;
15
+ /** Keep stable labels visible when icon-only navigation would make peer views ambiguous. */
16
+ readonly labelVisibility?: "responsive" | "always";
17
+ /** Page chrome owns whether the peer strip starts at the shared page inset. */
18
+ readonly inset?: "page" | "none";
19
+ };
20
+ /** Render peer tabs through Core's selected, accessible and responsive treatment. */
21
+ export declare const Tabs: (props: TabsProps) => import("react").JSX.Element;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAUpF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,4FAA4F;IAC5F,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAA;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACnC,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,gCAgDpC,CAAA"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Tabs as HeroTabs } from "@heroui/react";
4
+ import { useEffect, useLayoutEffect, useRef, useState } from "react";
5
+ import { HorizontalScrollRegion } from "../../composite/HorizontalScrollRegion/index.js";
6
+ import { tabContentClassName, tabLabelClassName, tabsClassName, tabsFrameClassName, tabsScrollClassName, } from "./classNames.js";
7
+ /** Render peer tabs through Core's selected, accessible and responsive treatment. */
8
+ export const Tabs = (props) => {
9
+ const [isClientReady, setIsClientReady] = useState(false);
10
+ const frameRef = useRef(null);
11
+ useEffect(() => setIsClientReady(true), []);
12
+ useLayoutEffect(() => {
13
+ if (!isClientReady || props.panelId === undefined)
14
+ return;
15
+ frameRef.current?.querySelectorAll("[data-grammar-tab-id]").forEach((identity) => {
16
+ const itemId = identity.dataset.grammarTabId;
17
+ const tab = identity.closest("[role='tab']");
18
+ if (itemId !== undefined && tab !== null)
19
+ tab.setAttribute("aria-controls", props.panelId?.(itemId) ?? "");
20
+ });
21
+ }, [isClientReady, props.items, props.panelId]);
22
+ const inset = props.inset ?? "none";
23
+ const frameContract = inset === "page" ? "PADDING-5" : undefined;
24
+ if (!isClientReady)
25
+ return _jsx("div", { "aria-hidden": "true", className: tabsFrameClassName, "data-contract": frameContract, "data-grammar-tabs": "true", "data-grammar-tabs-client": "pending", "data-grammar-tabs-inset": inset, style: { minHeight: "3rem" } });
26
+ return _jsx("div", { ref: frameRef, className: tabsFrameClassName, "data-contract": frameContract, "data-grammar-tabs": "true", "data-grammar-tabs-client": "ready", "data-grammar-tabs-inset": inset, "data-grammar-tab-labels": props.labelVisibility ?? "responsive", children: _jsx(HorizontalScrollRegion, { className: tabsScrollClassName, "data-contract": "OVERFLOW-4", "data-grammar-tabs-overflow": "scroll", hideScrollBar: true, children: _jsx(HeroTabs, { variant: "secondary", selectedKey: props.selectedKey, onSelectionChange: (key) => props.onSelect?.(String(key)), className: tabsClassName ?? "", "data-contract": "FLOW-2", children: _jsx(HeroTabs.ListContainer, { children: _jsx(HeroTabs.List, { "aria-label": props.label, children: props.items.map((item) => (_jsxs(HeroTabs.Tab, { id: item.id, "aria-label": item.label, "aria-controls": props.panelId?.(item.id), "data-contract": "PADDING-3", children: [_jsxs("span", { className: tabContentClassName, "data-contract": "GAP-2", "data-grammar-tab-id": item.id, children: [item.leading, _jsx("span", { className: tabLabelClassName, style: props.labelVisibility === "always" ? { display: "inline" } : undefined, children: item.label })] }), _jsx(HeroTabs.Indicator, {})] }, item.id))) }) }) }) }) });
27
+ };
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const tooltipRootClassName: import("tailwind-variants").CnReturn;
2
+ export declare const tooltipContentClassName: import("tailwind-variants").CnReturn;
3
+ //# sourceMappingURL=classNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tooltip/classNames.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,sCAAwD,CAAA;AAEzF,eAAO,MAAM,uBAAuB,sCAAoC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { cn } from "@heroui/react";
2
+ export const tooltipRootClassName = cn("starci-core-tooltip", "inline-flex", "max-w-fit");
3
+ export const tooltipContentClassName = cn("starci-core-tooltip-content");
4
+ //# sourceMappingURL=classNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/branch/Tooltip/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,qBAAqB,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { type ReactNode } from "react";
2
+ /** Where the tooltip sits relative to its trigger. */
3
+ export type TooltipPlacement = "top" | "bottom";
4
+ /** Props for {@link Tooltip}. */
5
+ export type TooltipProps = {
6
+ /** The already-resolved words shown on hover or focus. */
7
+ readonly content: ReactNode;
8
+ readonly children: ReactNode;
9
+ readonly placement?: TooltipPlacement;
10
+ };
11
+ /**
12
+ * BRANCH - `Tooltip`: one hover/focus annotation anchored to a trigger.
13
+ *
14
+ * The trigger keeps its own semantics; this branch only owns placement, contrast and the zero-delay
15
+ * reveal rhythm shared across StarCi surfaces.
16
+ */
17
+ export declare const Tooltip: ({ content, children, placement, }: TooltipProps) => import("react").JSX.Element;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tooltip/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAG7C,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,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;CACxC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,mCAIrB,YAAY,gCAuBd,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useId } from "react";
3
+ import { tooltipContentClassName, tooltipRootClassName } from "./classNames.js";
4
+ /**
5
+ * BRANCH - `Tooltip`: one hover/focus annotation anchored to a trigger.
6
+ *
7
+ * The trigger keeps its own semantics; this branch only owns placement, contrast and the zero-delay
8
+ * reveal rhythm shared across StarCi surfaces.
9
+ */
10
+ export const Tooltip = ({ content, children, placement = "top", }) => {
11
+ const tooltipId = useId();
12
+ return (_jsxs("span", { className: tooltipRootClassName, "data-grammar-tooltip": "true", "data-grammar-tooltip-placement": placement, children: [_jsx("span", { "aria-describedby": tooltipId, "data-grammar-tooltip-trigger": "true", children: children }), _jsx("span", { id: tooltipId, role: "tooltip", className: tooltipContentClassName, "data-contract": "PADDING-1 PADDING-2 FLOW-2 FONT-1", "data-grammar-tooltip-content": "true", children: content })] }));
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Tooltip/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAa/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACpB,OAAO,EACP,QAAQ,EACR,SAAS,GAAG,KAAK,GACN,EAAE,EAAE;IACf,MAAM,SAAS,GAAG,KAAK,EAAE,CAAA;IAEzB,OAAO,CACH,gBACI,SAAS,EAAE,oBAAoB,0BACV,MAAM,oCACK,SAAS,aAEzC,mCAAwB,SAAS,kCAA+B,MAAM,YACjE,QAAQ,GACN,EACP,eACI,EAAE,EAAE,SAAS,EACb,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,uBAAuB,mBACpB,mCAAmC,kCACpB,MAAM,YAElC,OAAO,GACL,IACJ,CACV,CAAA;AACL,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../src/core/classNames.ts"],"names":[],"mappings":"AAEA,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,sCAA2B,CAAA;AAC1D,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,sCAAyC,CAAA;AAC5E,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,sCAA6C,CAAA;AAC5E,8DAA8D;AAC9D,eAAO,MAAM,sBAAsB,sCAA6C,CAAA;AAEhF,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,sCAA8B,CAAA;AAC5D,mFAAmF;AACnF,eAAO,MAAM,2BAA2B,sCAAyC,CAAA;AACjF,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,sCAAiC,CAAA;AAClE,8FAA8F;AAC9F,eAAO,MAAM,2BAA2B,sCAA0C,CAAA;AAClF,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,sCAA+B,CAAA;AAC9D,4FAA4F;AAC5F,eAAO,MAAM,8BAA8B,sCAA8C,CAAA;AACzF,iGAAiG;AACjG,eAAO,MAAM,+BAA+B,sCAA6C,CAAA"}
1
+ {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../src/core/classNames.ts"],"names":[],"mappings":"AAEA,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,sCAA2B,CAAA;AAC1D,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,sCAAuE,CAAA;AAC1G,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,sCAAuE,CAAA;AACtG,8DAA8D;AAC9D,eAAO,MAAM,sBAAsB,sCAA4E,CAAA;AAE/G,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,sCAA8B,CAAA;AAC5D,mFAAmF;AACnF,eAAO,MAAM,2BAA2B,sCAAyC,CAAA;AACjF,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,sCAAiC,CAAA;AAClE,8FAA8F;AAC9F,eAAO,MAAM,2BAA2B,sCAA0C,CAAA;AAClF,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,sCAA+B,CAAA;AAC9D,4FAA4F;AAC5F,eAAO,MAAM,8BAA8B,sCAA8C,CAAA;AACzF,iGAAiG;AACjG,eAAO,MAAM,+BAA+B,sCAA6C,CAAA"}
@@ -2,11 +2,11 @@ import { cn } from "@heroui/react";
2
2
  /** Identifies the compact state mark in the offset-pop visual layer. */
3
3
  export const stateMarkClassName = cn("size-5", "shrink-0");
4
4
  /** Identifies the quiet ordinal prefix used by ordered content. */
5
- export const leadingNumberClassName = cn("shrink-0", "font-mono", "text-sm");
5
+ export const leadingNumberClassName = cn("starci-core-leading-number", "shrink-0", "font-mono", "text-sm");
6
6
  /** Identifies one static state row shell. */
7
- export const staticRowClassName = cn("flex", "items-start", "gap-2", "py-2");
7
+ export const staticRowClassName = cn("starci-core-static-row", "flex", "items-start", "gap-2", "py-2");
8
8
  /** Identifies the text grouping inside a static state row. */
9
- export const staticRowCopyClassName = cn("flex", "min-w-0", "flex-col", "gap-1");
9
+ export const staticRowCopyClassName = cn("starci-core-static-row-copy", "flex", "min-w-0", "flex-col", "gap-1");
10
10
  /** Identifies the full page that centres one compact form surface. */
11
11
  export const formPageClassName = cn("starci-core-form-page");
12
12
  /** Identifies the bounded viewport that owns form-surface scrolling under zoom. */
@@ -1 +1 @@
1
- {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../src/core/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAC1D,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;AAC5E,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;AAC5E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAEhF,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAC5D,mFAAmF;AACnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC,kCAAkC,CAAC,CAAA;AACjF,wEAAwE;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,0BAA0B,CAAC,CAAA;AAClE,8FAA8F;AAC9F,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC,mCAAmC,CAAC,CAAA;AAClF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAA;AAC9D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC,uCAAuC,CAAC,CAAA;AACzF,iGAAiG;AACjG,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC,sCAAsC,CAAC,CAAA"}
1
+ {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../src/core/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAC1D,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,4BAA4B,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;AAC1G,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,wBAAwB,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;AACtG,8DAA8D;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,6BAA6B,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAE/G,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAC5D,mFAAmF;AACnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC,kCAAkC,CAAC,CAAA;AACjF,wEAAwE;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,0BAA0B,CAAC,CAAA;AAClE,8FAA8F;AAC9F,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC,mCAAmC,CAAC,CAAA;AAClF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAA;AAC9D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC,uCAAuC,CAAC,CAAA;AACzF,iGAAiG;AACjG,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC,sCAAsC,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from "react";
2
+ import { type ButtonVariant } from "../../primitive/Button/index.js";
3
+ import type { IconSource } from "../../primitive/Icon/index.js";
4
+ export type EmptyNoticeProps = {
5
+ readonly message: string;
6
+ readonly description?: string;
7
+ /** Optional app-owned mark for the empty condition. */
8
+ readonly iconSource?: IconSource;
9
+ readonly actionLabel?: string;
10
+ readonly actionStartContent?: ReactNode;
11
+ readonly actionVariant?: ButtonVariant;
12
+ readonly isActionPending?: boolean;
13
+ readonly onAction?: () => void;
14
+ };
15
+ /** Settled empty-region answer with an optional recovery action. */
16
+ export declare const EmptyNotice: ({ message, description, iconSource, actionLabel, actionStartContent, actionVariant, isActionPending, onAction, }: EmptyNoticeProps) => import("react").JSX.Element;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/EmptyNotice/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAG/D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAA;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAA;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACjC,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,WAAW,GAAI,kHASzB,gBAAgB,gCAsBlB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from "../../primitive/Button/index.js";
3
+ import { IconTile } from "../../primitive/IconTile/index.js";
4
+ import { Text } from "../../primitive/Text/index.js";
5
+ /** Settled empty-region answer with an optional recovery action. */
6
+ export const EmptyNotice = ({ message, description, iconSource, actionLabel, actionStartContent, actionVariant = "primary", isActionPending = false, onAction, }) => (_jsxs("div", { "data-tier": "composite", "data-component": "EmptyNotice", "data-contract": "GAP-3 PADDING-4", className: "flex flex-col items-center gap-3 p-4 text-center", children: [iconSource === undefined ? null : _jsx(IconTile, { source: iconSource, tone: "neutral", size: "md" }), _jsx(Text, { size: "sm", tone: "muted", children: message }), description === undefined ? null : _jsx(Text, { size: "xs", tone: "muted", children: description }), actionLabel === undefined ? null : (_jsx(Button, { variant: actionVariant, size: "sm", startContent: actionStartContent, isPending: isActionPending, ...(onAction === undefined ? {} : { onPress: onAction }), children: actionLabel }))] }));
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/EmptyNotice/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAsB,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AAcpD,oEAAoE;AACpE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EACxB,OAAO,EACP,WAAW,EACX,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,aAAa,GAAG,SAAS,EACzB,eAAe,GAAG,KAAK,EACvB,QAAQ,GACO,EAAE,EAAE,CAAC,CACpB,4BACc,WAAW,oBACN,aAAa,mBACd,iBAAiB,EAC/B,SAAS,EAAC,kDAAkD,aAE3D,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,GAAG,EAC5F,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,YAAE,OAAO,GAAQ,EAC5C,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,YAAE,WAAW,GAAQ,EACpF,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChC,KAAC,MAAM,IACH,OAAO,EAAE,aAAa,EACtB,IAAI,EAAC,IAAI,EACT,YAAY,EAAE,kBAAkB,EAChC,SAAS,EAAE,eAAe,KACtB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,YAExD,WAAW,GACP,CACZ,IACC,CACT,CAAA"}
@@ -1,6 +1,8 @@
1
1
  import { type ComponentProps, type ReactNode } from "react";
2
2
  export type HorizontalScrollRegionProps = Omit<ComponentProps<"div">, "children"> & {
3
3
  readonly children: ReactNode;
4
+ /** Uses the ScrollShadow-owned no-chrome treatment while retaining horizontal reachability. */
5
+ readonly hideScrollBar?: boolean;
4
6
  };
5
7
  /** Preserve intrinsic inline content and expose HeroUI's horizontal overflow affordance. */
6
8
  export declare const HorizontalScrollRegion: import("react").ForwardRefExoticComponent<Omit<HorizontalScrollRegionProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvE,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,qIAEjC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvE,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACnC,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,qIAYjC,CAAA"}
@@ -1,7 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { ScrollShadow } from "@heroui/react";
3
+ import { ScrollShadow, cn } from "@heroui/react";
4
4
  /** Preserve intrinsic inline content and expose HeroUI's horizontal overflow affordance. */
5
- export const HorizontalScrollRegion = forwardRef((props, ref) => (_jsx(ScrollShadow, { ...props, ref: ref, orientation: "horizontal" })));
5
+ export const HorizontalScrollRegion = forwardRef((props, ref) => {
6
+ const { hideScrollBar = true, className, ...regionProps } = props;
7
+ return (_jsx(ScrollShadow, { ...regionProps, ref: ref, className: cn("starci-core-horizontal-scroll-region", className), "data-contract": "PADDING-1 MEASURE-3 OVERFLOW-3 OVERFLOW-5", hideScrollBar: hideScrollBar, orientation: "horizontal" }));
8
+ });
6
9
  HorizontalScrollRegion.displayName = "HorizontalScrollRegion";
7
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuC,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAM5C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAA8C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1G,KAAC,YAAY,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAC,YAAY,GAAG,CACjE,CAAC,CAAA;AAEF,sBAAsB,CAAC,WAAW,GAAG,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuC,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAQhD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAA8C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;IACjE,OAAO,CACH,KAAC,YAAY,OACL,WAAW,EACf,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,mBAClD,2CAA2C,EACzD,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAC,YAAY,GAC1B,CACL,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,sBAAsB,CAAC,WAAW,GAAG,wBAAwB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/StaticStateRow/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGrE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CACpC,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,gCAmBxD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/StaticStateRow/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGrE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CACpC,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,gCAoBxD,CAAA"}
@@ -7,6 +7,6 @@ export const StaticStateRow = (props) => {
7
7
  const item = props.item;
8
8
  const state = item.state ?? "neutral";
9
9
  const treatment = treatmentFor(state);
10
- return (_jsxs("li", { className: staticRowClassName, "data-grammar-row": "true", "data-grammar-state": state, "data-grammar-treatment": treatment.tone, children: [_jsx(StateMark, { state: state }), _jsxs("span", { className: staticRowCopyClassName, children: [_jsx("span", { children: item.label }), item.description === undefined ? null : _jsx("span", { children: item.description })] })] }));
10
+ return (_jsxs("li", { className: staticRowClassName, "data-grammar-row": "true", "data-grammar-state": state, "data-grammar-treatment": treatment.tone, "data-contract": "GAP-3 PADDING-4 BOUNDARY-3", children: [_jsx(StateMark, { state: state }), _jsxs("span", { className: staticRowCopyClassName, "data-contract": "GAP-1", children: [_jsx("span", { children: item.label }), item.description === undefined ? null : _jsx("span", { children: item.description })] })] }));
11
11
  };
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/StaticStateRow/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAahF,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAA;IACrC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,OAAO,CACH,cACI,SAAS,EAAE,kBAAkB,sBACZ,MAAM,wBACH,KAAK,4BACD,SAAS,CAAC,IAAI,aAEtC,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,GAAI,EAC3B,gBAAM,SAAS,EAAE,sBAAsB,aACnC,yBAAO,IAAI,CAAC,KAAK,GAAQ,EACxB,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAO,IAAI,CAAC,WAAW,GAAQ,IACrE,IACN,CACR,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/StaticStateRow/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAahF,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAA;IACrC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,OAAO,CACH,cACI,SAAS,EAAE,kBAAkB,sBACZ,MAAM,wBACH,KAAK,4BACD,SAAS,CAAC,IAAI,mBACxB,4BAA4B,aAE1C,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,GAAI,EAC3B,gBAAM,SAAS,EAAE,sBAAsB,mBAAgB,OAAO,aAC1D,yBAAO,IAAI,CAAC,KAAK,GAAQ,EACxB,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAO,IAAI,CAAC,WAAW,GAAQ,IACrE,IACN,CACR,CAAA;AACL,CAAC,CAAA"}
@@ -2,6 +2,8 @@ import type { ComponentProps, ReactNode } from "react";
2
2
  export type VerticalScrollRegionProps = Omit<ComponentProps<"div">, "children"> & {
3
3
  readonly children: ReactNode;
4
4
  readonly isScrollable: boolean;
5
+ /** Hide scrollbar chrome by default while retaining wheel, touch and keyboard scrolling. */
6
+ readonly hideScrollBar?: boolean;
5
7
  };
6
8
  /** Use HeroUI's Vertical ScrollShadow without making consumers own its DOM contract. */
7
9
  export declare const VerticalScrollRegion: (props: VerticalScrollRegionProps) => import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/VerticalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtD,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAC9E,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,GAAI,OAAO,yBAAyB,gCAKpE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/VerticalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtD,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAC9E,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACnC,CAAA;AAED,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,GAAI,OAAO,yBAAyB,gCAKpE,CAAA"}
@@ -2,9 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ScrollShadow } from "@heroui/react";
3
3
  /** Use HeroUI's Vertical ScrollShadow without making consumers own its DOM contract. */
4
4
  export const VerticalScrollRegion = (props) => {
5
- const { children, isScrollable, ...regionProps } = props;
5
+ const { children, isScrollable, hideScrollBar = true, ...regionProps } = props;
6
6
  return isScrollable
7
- ? _jsx(ScrollShadow, { ...regionProps, orientation: "vertical", children: children })
7
+ ? _jsx(ScrollShadow, { ...regionProps, "data-contract": "MEASURE-7 OVERFLOW-3", hideScrollBar: hideScrollBar, orientation: "vertical", children: children })
8
8
  : _jsx("div", { ...regionProps, children: children });
9
9
  };
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/VerticalScrollRegion/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAO5C,wFAAwF;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAgC,EAAE,EAAE;IACrE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;IACxD,OAAO,YAAY;QACf,CAAC,CAAC,KAAC,YAAY,OAAK,WAAW,EAAE,WAAW,EAAC,UAAU,YAAE,QAAQ,GAAgB;QACjF,CAAC,CAAC,iBAAS,WAAW,YAAG,QAAQ,GAAO,CAAA;AAChD,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/VerticalScrollRegion/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAS5C,wFAAwF;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAgC,EAAE,EAAE;IACrE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;IAC9E,OAAO,YAAY;QACf,CAAC,CAAC,KAAC,YAAY,OAAK,WAAW,mBAAgB,sBAAsB,EAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAC,UAAU,YAAE,QAAQ,GAAgB;QACpJ,CAAC,CAAC,iBAAS,WAAW,YAAG,QAAQ,GAAO,CAAA;AAChD,CAAC,CAAA"}
@@ -0,0 +1,30 @@
1
+ /** Bounded height chain for a workbench supplied with height by its host. */
2
+ export declare const chatWorkspaceClassName: import("tailwind-variants").CnReturn;
3
+ /** Header remains outside every workspace-owned scroll region. */
4
+ export declare const chatWorkspaceHeaderClassName: import("tailwind-variants").CnReturn;
5
+ /** Compact rail disclosure has its own non-scrolling action boundary. */
6
+ export declare const chatWorkspaceRailTriggerBoundaryClassName: import("tailwind-variants").CnReturn;
7
+ /** Visible, keyboard-sized trigger for the compact supporting overlay. */
8
+ export declare const chatWorkspaceRailTriggerClassName: string;
9
+ /** Primary work region and the persistent rail share the remaining bounded height. */
10
+ export declare const chatWorkspaceLayoutClassName: import("tailwind-variants").CnReturn;
11
+ /** Bind the layout column to the same authored widths as Core Rail. */
12
+ export declare const getChatWorkspaceLayoutClassName: (_railWidth: "compact" | "standard" | "wide", hasRail: boolean) => import("tailwind-variants").CnReturn;
13
+ /** Main task owner: only its conversation child scrolls. */
14
+ export declare const chatWorkspacePrimaryClassName: import("tailwind-variants").CnReturn;
15
+ /** The conversation is the single primary bounded scroll owner. */
16
+ export declare const chatWorkspaceConversationClassName: import("tailwind-variants").CnReturn;
17
+ /** Composer remains reachable at the terminal edge without duplicating scroll padding. */
18
+ export declare const chatWorkspaceComposerClassName: import("tailwind-variants").CnReturn;
19
+ /** Persistent supporting rail fills the same bounded layout track as the task owner. */
20
+ export declare const chatWorkspaceInlineRailClassName: import("tailwind-variants").CnReturn;
21
+ /** Keep the compact vendor drawer on one safe viewport width. */
22
+ export declare const chatWorkspaceDrawerContentClassName: string;
23
+ /** The dialog and its body extend the bounded height chain into the overlay. */
24
+ export declare const chatWorkspaceDrawerDialogClassName: string;
25
+ export declare const chatWorkspaceDrawerBodyClassName: string;
26
+ /** Scroll owner inside the compact supporting overlay. */
27
+ export declare const chatWorkspaceOverlayRailClassName: import("tailwind-variants").CnReturn;
28
+ /** Make the vendor-provided overlay exit easy to target in every input mode. */
29
+ export declare const chatWorkspaceDrawerCloseClassName: string;
30
+ //# sourceMappingURL=classNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/classNames.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,sCASlC,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,4BAA4B,sCAAiE,CAAA;AAE1G,yEAAyE;AACzE,eAAO,MAAM,yCAAyC,sCAUrD,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,iCAAiC,QAsBvC,CAAA;AAEP,sFAAsF;AACtF,eAAO,MAAM,4BAA4B,sCAOxC,CAAA;AAED,uEAAuE;AACvE,eAAO,MAAM,+BAA+B,GACxC,YAAY,SAAS,GAAG,UAAU,GAAG,MAAM,EAC3C,SAAS,OAAO,yCAC+E,CAAA;AAEnG,4DAA4D;AAC5D,eAAO,MAAM,6BAA6B,sCAOzC,CAAA;AAED,mEAAmE;AACnE,eAAO,MAAM,kCAAkC,sCAY9C,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,8BAA8B,sCAO1C,CAAA;AAED,wFAAwF;AACxF,eAAO,MAAM,gCAAgC,sCAAqE,CAAA;AAElH,iEAAiE;AACjE,eAAO,MAAM,mCAAmC,QAMzC,CAAA;AAEP,gFAAgF;AAChF,eAAO,MAAM,kCAAkC,QAAwG,CAAA;AACvJ,eAAO,MAAM,gCAAgC,QAAqG,CAAA;AAElJ,0DAA0D;AAC1D,eAAO,MAAM,iCAAiC,sCAW7C,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,iCAAiC,QASvC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { cn } from "@heroui/react";
2
+ /** Bounded height chain for a workbench supplied with height by its host. */
3
+ export const chatWorkspaceClassName = cn("starci-core-chat-workspace", "flex", "h-full", "min-h-0", "min-w-0", "flex-col", "overflow-hidden", "bg-background");
4
+ /** Header remains outside every workspace-owned scroll region. */
5
+ export const chatWorkspaceHeaderClassName = cn("starci-core-chat-workspace-header", "min-w-0", "shrink-0");
6
+ /** Compact rail disclosure has its own non-scrolling action boundary. */
7
+ export const chatWorkspaceRailTriggerBoundaryClassName = cn("starci-core-chat-workspace-rail-trigger-boundary", "flex", "min-w-0", "shrink-0", "justify-end", "border-b", "border-separator", "px-4", "py-2");
8
+ /** Visible, keyboard-sized trigger for the compact supporting overlay. */
9
+ export const chatWorkspaceRailTriggerClassName = cn("starci-core-chat-workspace-rail-trigger", "inline-flex", "min-h-11", "min-w-11", "items-center", "justify-center", "rounded-lg", "border", "border-separator", "bg-surface", "px-3", "text-sm", "font-medium", "text-foreground", "shadow-sm", "outline-none", "transition-colors", "hover:bg-default-100", "focus-visible:ring-2", "focus-visible:ring-focus", "focus-visible:ring-offset-2") ?? "";
10
+ /** Primary work region and the persistent rail share the remaining bounded height. */
11
+ export const chatWorkspaceLayoutClassName = cn("starci-core-chat-workspace-layout", "grid", "min-h-0", "min-w-0", "flex-1", "gap-[var(--starci-core-region-gap,1.5rem)]");
12
+ /** Bind the layout column to the same authored widths as Core Rail. */
13
+ export const getChatWorkspaceLayoutClassName = (_railWidth, hasRail) => cn(chatWorkspaceLayoutClassName, !hasRail && "starci-core-chat-workspace-layout-without-rail");
14
+ /** Main task owner: only its conversation child scrolls. */
15
+ export const chatWorkspacePrimaryClassName = cn("starci-core-chat-workspace-primary", "flex", "min-h-0", "min-w-0", "flex-col", "overflow-hidden");
16
+ /** The conversation is the single primary bounded scroll owner. */
17
+ export const chatWorkspaceConversationClassName = cn("starci-core-chat-workspace-conversation", "min-h-0", "min-w-0", "flex-1", "overflow-y-auto", "overscroll-contain", "scroll-smooth", "focus-visible:outline-2", "focus-visible:outline-offset-[-2px]", "focus-visible:outline-focus", "motion-reduce:scroll-auto");
18
+ /** Composer remains reachable at the terminal edge without duplicating scroll padding. */
19
+ export const chatWorkspaceComposerClassName = cn("starci-core-chat-workspace-composer", "min-w-0", "shrink-0", "border-t", "border-separator", "bg-background");
20
+ /** Persistent supporting rail fills the same bounded layout track as the task owner. */
21
+ export const chatWorkspaceInlineRailClassName = cn("starci-core-chat-workspace-inline-rail", "min-h-0", "min-w-0");
22
+ /** Keep the compact vendor drawer on one safe viewport width. */
23
+ export const chatWorkspaceDrawerContentClassName = cn("starci-core-chat-workspace-drawer-content", "left-auto!", "right-0!", "w-[min(24rem,calc(100dvw-1rem))]!", "max-w-[calc(100dvw-1rem)]!") ?? "";
24
+ /** The dialog and its body extend the bounded height chain into the overlay. */
25
+ export const chatWorkspaceDrawerDialogClassName = cn("starci-core-chat-workspace-drawer-dialog", "h-full!", "min-h-0!", "w-full!", "max-w-none!") ?? "";
26
+ export const chatWorkspaceDrawerBodyClassName = cn("starci-core-chat-workspace-drawer-body", "min-h-0", "min-w-0", "overflow-hidden", "p-0") ?? "";
27
+ /** Scroll owner inside the compact supporting overlay. */
28
+ export const chatWorkspaceOverlayRailClassName = cn("starci-core-chat-workspace-overlay-rail", "h-full", "min-h-0", "min-w-0", "overflow-y-auto", "overscroll-contain", "p-4", "focus-visible:outline-2", "focus-visible:outline-offset-[-2px]", "focus-visible:outline-focus");
29
+ /** Make the vendor-provided overlay exit easy to target in every input mode. */
30
+ export const chatWorkspaceDrawerCloseClassName = cn("starci-core-chat-workspace-drawer-close", "size-10!", "rounded-full!", "border!", "border-separator!", "bg-surface!", "text-foreground!", "shadow-sm!") ?? "";
31
+ //# sourceMappingURL=classNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/classNames.ts"],"names":[],"mappings":"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"}