@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
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button as HeroButton, Spinner as HeroSpinner, buttonVariants, skeletonVariants } from "@heroui/react";
3
+ const VARIANTS = {
4
+ primary: "primary",
5
+ secondary: "secondary",
6
+ tertiary: "tertiary",
7
+ outline: "outline",
8
+ ghost: "ghost",
9
+ };
10
+ const SIZES = { sm: "sm", md: "md", lg: "lg" };
11
+ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base({
12
+ className: "select-none text-transparent",
13
+ });
14
+ /** Button-shaped action: an anchor for a destination, the vendor button for a command. */
15
+ export const Button = (props) => {
16
+ const { children, variant = "secondary", size = "md", startContent, endContent, isDisabled = false, isSkeleton = false, isPending = false, } = props;
17
+ const unavailable = isDisabled || isPending || isSkeleton;
18
+ const content = (_jsxs(_Fragment, { children: [isSkeleton ? null : isPending ? _jsx(HeroSpinner, { size: "sm", color: "current", "aria-hidden": "true" }) : startContent, _jsx("span", { "aria-busy": isPending || undefined, children: children }), isPending || isSkeleton ? null : endContent] }));
19
+ if (props.href !== undefined) {
20
+ const { href, target, rel, download, onFollow } = props;
21
+ return (_jsx("a", { "data-tier": "atom", "data-component": "Button", "data-element": "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", role: unavailable ? "link" : undefined, "aria-disabled": unavailable || undefined, "aria-busy": isPending || undefined, "aria-hidden": isSkeleton || undefined, className: buttonVariants({ variant: VARIANTS[variant], size: SIZES[size], className: isSkeleton ? SKELETON_CLASS_NAME : undefined }), ...(unavailable ? {} : { href }), ...(target === undefined ? {} : { target }), ...(rel === undefined ? target === "_blank" ? { rel: "noopener noreferrer" } : {} : { rel }), ...(download === undefined ? {} : { download }), ...(onFollow === undefined || unavailable ? {} : { onClick: onFollow }), children: content }));
22
+ }
23
+ const { onPress, type = "button" } = props;
24
+ return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "data-element": "button", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", type: type, variant: VARIANTS[variant], size: SIZES[size], isDisabled: unavailable, isPending: isPending, ...(isSkeleton ? { className: SKELETON_CLASS_NAME } : {}), ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
25
+ };
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type DividerProps = {
2
+ /** Visible, localized word naming the alternative boundary. */
3
+ readonly label: string;
4
+ };
5
+ /** Labelled alternative boundary with intrinsic separator semantics. */
6
+ export declare const Divider: ({ label }: DividerProps) => import("react").JSX.Element;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Divider/index.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,wEAAwE;AACxE,eAAO,MAAM,OAAO,GAAI,WAAW,YAAY,gCAa9C,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from "../Text/index.js";
3
+ /** Labelled alternative boundary with intrinsic separator semantics. */
4
+ export const Divider = ({ label }) => (_jsxs("div", { "data-tier": "atom", "data-component": "Divider", role: "separator", "aria-label": label, "data-contract": "GAP-3", className: "flex flex-row items-center gap-3", children: [_jsx("span", { "aria-hidden": "true", "data-contract": "BOUNDARY-5", className: "h-px grow bg-border" }), _jsx(Text, { as: "span", size: "sm", tone: "muted", children: label }), _jsx("span", { "aria-hidden": "true", "data-contract": "BOUNDARY-5", className: "h-px grow bg-border" })] }));
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Divider/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAOvC,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,EAAgB,EAAE,EAAE,CAAC,CAChD,4BACc,MAAM,oBACD,SAAS,EACxB,IAAI,EAAC,WAAW,gBACJ,KAAK,mBACH,OAAO,EACrB,SAAS,EAAC,kCAAkC,aAE5C,8BAAkB,MAAM,mBAAe,YAAY,EAAC,SAAS,EAAC,qBAAqB,GAAG,EACtF,KAAC,IAAI,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,YAAE,KAAK,GAAQ,EACrD,8BAAkB,MAAM,mBAAe,YAAY,EAAC,SAAS,EAAC,qBAAqB,GAAG,IACpF,CACT,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { ComponentPropsWithoutRef } from "react";
2
+ export type GrammarRootProps = Omit<ComponentPropsWithoutRef<"div">, "color"> & {
3
+ /** `system` follows the reader unless an explicit light or dark scope is requested. */
4
+ readonly theme?: "system" | "light" | "dark";
5
+ /** Visual families install their scoped material contract on this neutral root. */
6
+ readonly "data-grammar-family"?: string;
7
+ };
8
+ /** Neutral Common boundary. Select a visual family with its `scopeProps`. */
9
+ export declare const GrammarRoot: ({ className, theme, ...props }: GrammarRootProps) => import("react").JSX.Element;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/GrammarRoot/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAErD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5E,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;IAC5C,mFAAmF;IACnF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC1C,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,WAAW,GAAI,gCAA2C,gBAAgB,gCAOtF,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "@heroui/react";
3
+ /** Neutral Common boundary. Select a visual family with its `scopeProps`. */
4
+ export const GrammarRoot = ({ className, theme = "system", ...props }) => (_jsx("div", { ...props, className: cn("grammar-common-root", className), "data-grammar": "common", "data-grammar-theme": theme }));
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/GrammarRoot/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAUlC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAoB,EAAE,EAAE,CAAC,CACxF,iBACQ,KAAK,EACT,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,kBAClC,QAAQ,wBACD,KAAK,GAC3B,CACL,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from "react";
2
+ export type HeadingLevel = 1 | 2 | 3 | 4;
3
+ export type HeadingScale = "standard" | "display";
4
+ export type HeadingProps = {
5
+ readonly children: ReactNode;
6
+ /** Outline semantics and the standard visual recipe move together. */
7
+ readonly level?: HeadingLevel;
8
+ /** Display changes emphasis without changing the document outline. */
9
+ readonly scale?: HeadingScale;
10
+ readonly isSkeleton?: boolean;
11
+ readonly isVisuallyHidden?: boolean;
12
+ };
13
+ /** Semantic heading whose outline level never changes merely to obtain a visual size. */
14
+ export declare const Heading: ({ children, level, scale, isSkeleton, isVisuallyHidden, }: HeadingProps) => import("react").JSX.Element;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Heading/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACxC,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,CAAA;AAEjD,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CACtC,CAAA;AAqBD,yFAAyF;AACzF,eAAO,MAAM,OAAO,GAAI,2DAMrB,YAAY,gCAwBd,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Typography, cn, skeletonVariants } from "@heroui/react";
3
+ const LEVEL_CLASS_NAMES = {
4
+ 1: "text-xl font-semibold tracking-tight",
5
+ 2: "text-base font-semibold",
6
+ 3: "text-sm font-medium",
7
+ 4: "text-xs font-medium text-muted",
8
+ };
9
+ const DISPLAY_CLASS_NAME = "text-4xl font-semibold leading-tight tracking-tight";
10
+ /** font.md Scale: FONT-4/FONT-3/FONT-2/FONT-1 for level 1..4; level 4 also matches tone.md TONE-2 via its `text-muted`. */
11
+ const FONT_RULE_BY_LEVEL = {
12
+ 1: "FONT-4",
13
+ 2: "FONT-3",
14
+ 3: "FONT-2",
15
+ 4: "FONT-1",
16
+ };
17
+ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base({
18
+ className: "select-none text-transparent",
19
+ });
20
+ /** Semantic heading whose outline level never changes merely to obtain a visual size. */
21
+ export const Heading = ({ children, level = 2, scale = "standard", isSkeleton = false, isVisuallyHidden = false, }) => (_jsx(Typography.Heading, { "data-tier": "atom", "data-component": "Heading", "data-level": level, "data-scale": scale, "data-loading": isSkeleton ? "true" : "false", "aria-hidden": isSkeleton || undefined, "data-contract": scale === "display"
22
+ ? "FONT-6"
23
+ : level === 4
24
+ ? `${FONT_RULE_BY_LEVEL[4]} TONE-2`
25
+ : FONT_RULE_BY_LEVEL[level], level: level, className: cn(scale === "display" ? DISPLAY_CLASS_NAME : LEVEL_CLASS_NAMES[level], isSkeleton ? SKELETON_CLASS_NAME : undefined, isVisuallyHidden ? "sr-only" : undefined) ?? "", children: children }));
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Heading/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAgBhE,MAAM,iBAAiB,GAAG;IACtB,CAAC,EAAE,sCAAsC;IACzC,CAAC,EAAE,yBAAyB;IAC5B,CAAC,EAAE,qBAAqB;IACxB,CAAC,EAAE,gCAAgC;CAC7B,CAAA;AAEV,MAAM,kBAAkB,GAAG,qDAAqD,CAAA;AAChF,2HAA2H;AAC3H,MAAM,kBAAkB,GAAG;IACvB,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,QAAQ;CACL,CAAA;AACV,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,8BAA8B;CAC5C,CAAC,CAAA;AAEF,yFAAyF;AACzF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACpB,QAAQ,EACR,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,UAAU,EAClB,UAAU,GAAG,KAAK,EAClB,gBAAgB,GAAG,KAAK,GACb,EAAE,EAAE,CAAC,CAChB,KAAC,UAAU,CAAC,OAAO,iBACL,MAAM,oBACD,SAAS,gBACZ,KAAK,gBACL,KAAK,kBACH,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,iBAC9B,UAAU,IAAI,SAAS,mBAEhC,KAAK,KAAK,SAAS;QACf,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,KAAK,KAAK,CAAC;YACT,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,SAAS;YACnC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAEvC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CACT,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACnE,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,EAC5C,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAC3C,IAAI,EAAE,YAEN,QAAQ,GACQ,CACxB,CAAA"}
@@ -0,0 +1,31 @@
1
+ export type IconUsage = "heading" | "leading" | "chip";
2
+ /**
3
+ * Minimal structural contract passed to an app-owned SVG glyph.
4
+ *
5
+ * This deliberately does not expose React's SVGProps in the public declaration. File-linked
6
+ * consumers can carry a different compatible @types/react installation, whose private ref symbol
7
+ * must not become part of Grammar's package boundary.
8
+ */
9
+ export type IconSourceProps = {
10
+ readonly className?: string;
11
+ readonly focusable?: "false";
12
+ readonly role?: "img";
13
+ readonly "aria-hidden"?: boolean;
14
+ readonly "aria-label"?: string;
15
+ readonly "data-tier"?: string;
16
+ readonly "data-component"?: string;
17
+ readonly "data-usage"?: string;
18
+ };
19
+ /** Function or class SVG glyph selected by the consuming app's icon registry. */
20
+ export type IconSource = ((props: IconSourceProps) => unknown) | (new (props: IconSourceProps) => unknown);
21
+ export type IconProps = {
22
+ /** App-owned glyph identity. Grammar owns only its usage geometry and accessibility. */
23
+ readonly source: IconSource;
24
+ readonly usage?: IconUsage;
25
+ /** Omit for a decorative glyph; provide when the icon itself carries meaning. */
26
+ readonly ariaLabel?: string;
27
+ readonly isSkeleton?: boolean;
28
+ };
29
+ /** Product-neutral icon carrier; semantic glyph names and libraries remain app authority. */
30
+ export declare const Icon: ({ source: Source, usage, ariaLabel, isSkeleton }: IconProps) => import("react").JSX.Element;
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Icon/index.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;AACtD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAChB,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,GACrC,CAAC,KAAK,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,CAAA;AAE/C,MAAM,MAAM,SAAS,GAAG;IACpB,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAYD,6FAA6F;AAC7F,eAAO,MAAM,IAAI,GAAI,kDAAmE,SAAS,gCAoBhG,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { skeletonVariants } from "@heroui/react";
3
+ const USAGE_CLASS_NAMES = {
4
+ heading: "size-6 shrink-0",
5
+ leading: "size-5 shrink-0",
6
+ chip: "size-4 shrink-0",
7
+ };
8
+ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base({
9
+ className: "size-5 shrink-0 rounded-full",
10
+ });
11
+ /** Product-neutral icon carrier; semantic glyph names and libraries remain app authority. */
12
+ export const Icon = ({ source: Source, usage = "chip", ariaLabel, isSkeleton = false }) => {
13
+ if (isSkeleton) {
14
+ return _jsx("span", { "data-tier": "atom", "data-component": "Icon", "data-loading": "true", "aria-hidden": true, className: SKELETON_CLASS_NAME });
15
+ }
16
+ // The private cast is the only React-type identity boundary. Consumers see the structural
17
+ // IconSource contract above, while JSX still receives the local React component type.
18
+ const SourceComponent = Source;
19
+ return (_jsx(SourceComponent, { "data-tier": "atom", "data-component": "Icon", "data-usage": usage, focusable: "false", className: USAGE_CLASS_NAMES[usage], ...(ariaLabel === undefined
20
+ ? { "aria-hidden": true }
21
+ : { "aria-label": ariaLabel, role: "img" }) }));
22
+ };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Icon/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAoChD,MAAM,iBAAiB,GAAG;IACtB,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,iBAAiB;CACjB,CAAA;AAEV,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,8BAA8B;CAC5C,CAAC,CAAA;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,KAAK,EAAa,EAAE,EAAE;IACjG,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,4BAAgB,MAAM,oBAAgB,MAAM,kBAAc,MAAM,uBAAa,SAAS,EAAE,mBAAmB,GAAI,CAAA;IAC1H,CAAC;IAED,0FAA0F;IAC1F,sFAAsF;IACtF,MAAM,eAAe,GAAG,MAAgD,CAAA;IACxE,OAAO,CACH,KAAC,eAAe,iBACF,MAAM,oBACD,MAAM,gBACT,KAAK,EACjB,SAAS,EAAC,OAAO,EACjB,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAC/B,CAAC,SAAS,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE,aAAa,EAAE,IAAa,EAAE;YAClC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAc,EAAE,CAAC,GAC1D,CACL,CAAA;AACL,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { type IconSource } from "../Icon/index.js";
2
+ export type IconButtonProps = {
3
+ readonly source: IconSource;
4
+ /** Required accessible name for the glyph-only action. */
5
+ readonly label: string;
6
+ readonly isActive?: boolean;
7
+ readonly isDisabled?: boolean;
8
+ readonly isSkeleton?: boolean;
9
+ readonly onPress?: () => void;
10
+ };
11
+ /** Circular glyph-only action with a mandatory accessible name. */
12
+ export declare const IconButton: ({ source, label, isActive, isDisabled, isSkeleton, onPress, }: IconButtonProps) => import("react").JSX.Element;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;AAMD,mEAAmE;AACnE,eAAO,MAAM,UAAU,GAAI,+DAOxB,eAAe,gCAgBjB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Button as HeroButton, skeletonVariants } from "@heroui/react";
3
+ import { Icon } from "../Icon/index.js";
4
+ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base({
5
+ className: "rounded-full",
6
+ });
7
+ /** Circular glyph-only action with a mandatory accessible name. */
8
+ export const IconButton = ({ source, label, isActive = false, isDisabled = false, isSkeleton = false, onPress, }) => (_jsx(HeroButton, { "data-tier": "atom", "data-component": "IconButton", "data-active": isActive ? "true" : "false", "data-loading": isSkeleton ? "true" : "false", type: "button", variant: "tertiary", className: isSkeleton ? SKELETON_CLASS_NAME : "rounded-full", isIconOnly: true, isDisabled: isDisabled || isSkeleton, "aria-label": label, ...(isDisabled || isSkeleton || onPress === undefined ? {} : { onPress }), children: isSkeleton ? null : _jsx(Icon, { source: source, usage: "leading" }) }));
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAA;AAYxD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,cAAc;CAC5B,CAAC,CAAA;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,MAAM,EACN,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,KAAK,EAClB,UAAU,GAAG,KAAK,EAClB,OAAO,GACO,EAAE,EAAE,CAAC,CACnB,KAAC,UAAU,iBACG,MAAM,oBACD,YAAY,iBACd,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,kBAC1B,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC3C,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,UAAU,EAClB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,EAC5D,UAAU,QACV,UAAU,EAAE,UAAU,IAAI,UAAU,gBACxB,KAAK,KACb,CAAC,UAAU,IAAI,UAAU,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,YAEzE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,GAAG,GACpD,CAChB,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from "react";
2
+ import { type IconSource } from "../Icon/index.js";
3
+ export type IconTileTone = "neutral" | "accent" | "success" | "warning" | "danger";
4
+ export type IconTileSize = "sm" | "md";
5
+ export type IconTileProps = {
6
+ /** Fallback glyph selected by the app's semantic icon map. */
7
+ readonly source: IconSource;
8
+ /** Optional app-owned artwork replaces the fallback glyph without changing plate geometry. */
9
+ readonly artwork?: ReactNode;
10
+ readonly ariaLabel?: string;
11
+ readonly tone?: IconTileTone;
12
+ readonly size?: IconTileSize;
13
+ readonly isSkeleton?: boolean;
14
+ };
15
+ /** Filled icon plate with one owned size, radius, tone pair, and loading geometry. */
16
+ export declare const IconTile: ({ source, artwork, ariaLabel, tone, size, isSkeleton, }: IconTileProps) => import("react").JSX.Element;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconTile/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAClF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAA;AAEtC,MAAM,MAAM,aAAa,GAAG;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AA4BD,sFAAsF;AACtF,eAAO,MAAM,QAAQ,GAAI,yDAOtB,aAAa,gCAwBf,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn, skeletonVariants } from "@heroui/react";
3
+ import { Icon } from "../Icon/index.js";
4
+ const SIZE_CLASS_NAMES = {
5
+ sm: "size-8 rounded-lg",
6
+ md: "size-10 rounded-xl",
7
+ };
8
+ const TONE_CLASS_NAMES = {
9
+ neutral: "bg-default text-muted",
10
+ accent: "bg-accent-soft text-accent-soft-foreground",
11
+ success: "bg-success-soft text-success-soft-foreground",
12
+ warning: "bg-warning-soft text-warning-soft-foreground",
13
+ danger: "bg-danger-soft text-danger-soft-foreground",
14
+ };
15
+ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base();
16
+ /**
17
+ * surface.md Catalog / tone.md Scale: only these tone classes have a published rule for their exact
18
+ * pairing. `bg-default` (neutral) and the warning/danger soft pairs are not catalogued, so they are
19
+ * left unclaimed.
20
+ */
21
+ const TONE_CONTRACT = {
22
+ neutral: "TONE-2",
23
+ accent: "SURFACE-4",
24
+ success: "SURFACE-5",
25
+ };
26
+ /** Filled icon plate with one owned size, radius, tone pair, and loading geometry. */
27
+ export const IconTile = ({ source, artwork, ariaLabel, tone = "neutral", size = "sm", isSkeleton = false, }) => {
28
+ const showsArtwork = !isSkeleton && artwork != null;
29
+ const toneRule = isSkeleton || showsArtwork ? undefined : TONE_CONTRACT[tone];
30
+ return (_jsx("span", { "data-tier": "atom", "data-component": "IconTile", "data-tone": tone, "data-size": size, "data-artwork": showsArtwork ? "true" : "false", "data-loading": isSkeleton ? "true" : "false", "aria-hidden": isSkeleton || undefined, "data-contract": ["OVERFLOW-2", toneRule].filter(Boolean).join(" "), className: cn("inline-flex shrink-0 items-center justify-center overflow-hidden", SIZE_CLASS_NAMES[size], isSkeleton ? SKELETON_CLASS_NAME : showsArtwork ? undefined : TONE_CLASS_NAMES[tone]), children: isSkeleton ? null : showsArtwork ? artwork : (_jsx(Icon, { source: source, usage: "leading", ...(ariaLabel === undefined ? {} : { ariaLabel }) })) }));
31
+ };
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/IconTile/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAA;AAgBxD,MAAM,gBAAgB,GAAG;IACrB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,oBAAoB;CAClB,CAAA;AAEV,MAAM,gBAAgB,GAAG;IACrB,OAAO,EAAE,uBAAuB;IAChC,MAAM,EAAE,4CAA4C;IACpD,OAAO,EAAE,8CAA8C;IACvD,OAAO,EAAE,8CAA8C;IACvD,MAAM,EAAE,4CAA4C;CAC9C,CAAA;AAEV,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AAEjF;;;;GAIG;AACH,MAAM,aAAa,GAA0C;IACzD,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,WAAW;CACvB,CAAA;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACrB,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,IAAI,EACX,UAAU,GAAG,KAAK,GACN,EAAE,EAAE;IAChB,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI,OAAO,IAAI,IAAI,CAAA;IACnD,MAAM,QAAQ,GAAG,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC7E,OAAO,CACH,4BACc,MAAM,oBACD,UAAU,eACd,IAAI,eACJ,IAAI,kBACD,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,kBAC/B,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,iBAC9B,UAAU,IAAI,SAAS,mBACrB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACjE,SAAS,EAAE,EAAE,CACT,kEAAkE,EAClE,gBAAgB,CAAC,IAAI,CAAC,EACtB,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACvF,YAEA,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAC1C,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAI,CAC/F,GACE,CACV,CAAA;AACL,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { ComponentPropsWithoutRef } from "react";
2
+ export type IncludedMarkProps = Omit<ComponentPropsWithoutRef<"svg">, "children"> & {
3
+ readonly label?: string;
4
+ };
5
+ /**
6
+ * Purpose-named offering marker: an outlined 20px circle-check in inherited
7
+ * foreground. It deliberately does not reuse affirmative/completion state.
8
+ */
9
+ export declare const IncludedMark: ({ className, label, ...props }: IncludedMarkProps) => import("react").JSX.Element;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IncludedMark/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAGrD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,gCAAgC,iBAAiB,gCAc7E,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "@heroui/react";
3
+ /**
4
+ * Purpose-named offering marker: an outlined 20px circle-check in inherited
5
+ * foreground. It deliberately does not reuse affirmative/completion state.
6
+ */
7
+ export const IncludedMark = ({ className, label, ...props }) => (_jsxs("svg", { ...props, "aria-hidden": label === undefined ? "true" : undefined, "aria-label": label, className: cn("starci-core-included-mark", className), "data-grammar-included-mark": "true", focusable: "false", role: label === undefined ? undefined : "img", viewBox: "0 0 20 20", children: [_jsx("circle", { cx: "10", cy: "10", fill: "none", r: "8", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("path", { d: "m6.5 10.25 2.2 2.2 4.8-5", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.75" })] }));
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/IncludedMark/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAMlC;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAqB,EAAE,EAAE,CAAC,CAC/E,kBACQ,KAAK,iBACI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBACzC,KAAK,EACjB,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,gCAC1B,MAAM,EACjC,SAAS,EAAC,OAAO,EACjB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAC7C,OAAO,EAAC,WAAW,aAEnB,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,GAAG,EACpF,eAAM,CAAC,EAAC,0BAA0B,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,GAAG,IACrI,CACT,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { type ComponentType, type ReactNode } from "react";
2
+ export type InputKind = "email" | "password" | "newPassword" | "code" | "text";
3
+ export type InputVariant = "primary" | "secondary";
4
+ type InputIcon = ComponentType<{
5
+ readonly className?: string;
6
+ }>;
7
+ export type InputProps = {
8
+ readonly id: string;
9
+ readonly name: string;
10
+ readonly label: ReactNode;
11
+ readonly kind?: InputKind;
12
+ readonly variant?: InputVariant;
13
+ readonly placeholder?: string;
14
+ readonly defaultValue?: string;
15
+ readonly value?: string;
16
+ readonly hint?: ReactNode;
17
+ readonly errorMessage?: ReactNode;
18
+ readonly isError?: boolean;
19
+ readonly isDisabled?: boolean;
20
+ readonly isRequired?: boolean;
21
+ readonly isSkeleton?: boolean;
22
+ readonly revealLabel?: string;
23
+ readonly hideLabel?: string;
24
+ readonly revealIcon?: InputIcon;
25
+ readonly hideIcon?: InputIcon;
26
+ readonly onValueChange?: (value: string) => void;
27
+ };
28
+ /** Core ownership boundary for label, guidance, control state, and validation copy. */
29
+ export declare const Input: ({ id, name, label, kind: kindName, variant, placeholder, defaultValue, value, hint, errorMessage, isError, isDisabled, isRequired, isSkeleton, revealLabel, hideLabel, revealIcon: RevealIcon, hideIcon: HideIcon, onValueChange, }: InputProps) => import("react").JSX.Element;
30
+ export {};
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Input/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAWpE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAC9E,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,CAAA;AAElD,KAAK,SAAS,GAAG,aAAa,CAAC;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE/D,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnD,CAAA;AAUD,uFAAuF;AACvF,eAAO,MAAM,KAAK,GAAI,qOAoBnB,UAAU,gCA8DZ,CAAA"}
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { Description as HeroDescription, ErrorMessage as HeroErrorMessage, Input as HeroInput, Label as HeroLabel, Skeleton as HeroSkeleton, TextField as HeroTextField, cn, } from "@heroui/react";
5
+ const KINDS = {
6
+ email: { type: "email", autoComplete: "email", inputMode: "email" },
7
+ password: { type: "password", autoComplete: "current-password", inputMode: "text" },
8
+ newPassword: { type: "password", autoComplete: "new-password", inputMode: "text" },
9
+ code: { type: "text", autoComplete: "one-time-code", inputMode: "numeric" },
10
+ text: { type: "text", autoComplete: "off", inputMode: "text" },
11
+ };
12
+ /** Core ownership boundary for label, guidance, control state, and validation copy. */
13
+ export const Input = ({ id, name, label, kind: kindName = "text", variant = "primary", placeholder, defaultValue, value, hint, errorMessage, isError = false, isDisabled = false, isRequired = false, isSkeleton = false, revealLabel, hideLabel, revealIcon: RevealIcon, hideIcon: HideIcon, onValueChange, }) => {
14
+ const [isRevealed, setIsRevealed] = useState(false);
15
+ const kind = KINDS[kindName];
16
+ const isSecret = kindName === "password" || kindName === "newPassword";
17
+ const invalid = isError || errorMessage != null;
18
+ const toggleLabel = isRevealed ? hideLabel : revealLabel;
19
+ const ToggleIcon = isRevealed ? HideIcon : RevealIcon;
20
+ if (isSkeleton) {
21
+ return (_jsxs("div", { "data-tier": "atom", "data-component": "Input", "data-state": "skeleton", "data-contract": "GAP-2", className: "grid gap-2", children: [_jsx(HeroSkeleton, { className: "h-4 w-1/3 rounded-md" }), _jsx(HeroSkeleton, { className: "h-10 w-full rounded-field" })] }));
22
+ }
23
+ return (_jsxs(HeroTextField, { "data-tier": "atom", "data-component": "Input", fullWidth: true, variant: variant, isInvalid: invalid, isDisabled: isDisabled, isRequired: isRequired, "data-contract": "GAP-2", className: "grid gap-2", children: [_jsx(HeroLabel, { children: label }), hint == null ? null : _jsx(HeroDescription, { children: hint }), _jsxs("div", { className: "relative flex items-center", children: [_jsx(HeroInput, { id: id, name: name, type: isSecret && isRevealed ? "text" : kind.type, autoComplete: kind.autoComplete, inputMode: kind.inputMode, ...(placeholder === undefined ? {} : { placeholder }), ...(value === undefined
24
+ ? defaultValue === undefined ? {} : { defaultValue }
25
+ : { value }), fullWidth: true, className: cn(isSecret && toggleLabel !== undefined ? "pr-9" : undefined) ?? "", onChange: (event) => onValueChange?.(event.target.value) }), !isSecret || toggleLabel === undefined ? null : (_jsx("button", { type: "button", "aria-label": toggleLabel, disabled: isDisabled, "data-contract": "TONE-2", className: "text-muted absolute right-2 top-1/2 -translate-y-1/2 cursor-pointer disabled:cursor-default [&_svg]:size-4", onClick: () => setIsRevealed((current) => !current), children: ToggleIcon === undefined ? _jsx("span", { "data-contract": "FONT-1", className: "text-xs", children: toggleLabel }) : _jsx(ToggleIcon, { className: "size-4" }) }))] }), errorMessage == null ? null : _jsx(HeroErrorMessage, { children: errorMessage })] }));
26
+ };
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Input/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Select surface label copy that recedes when the owner is nested. */
2
+ export declare const getLabelClassName: (depth: "top" | "nested") => import("tailwind-variants").CnReturn;
3
+ /**
4
+ * Rule ids this element can claim for the presentation classes above.
5
+ * `text-xs`/`leading-4` and `text-sm`/`leading-5` match FONT-1 and FONT-2 on the
6
+ * closed type scale (font.md `## Scale`). `font-semibold` (weight) and `min-w-0`
7
+ * (measure) carry no rule id in their topic files and stay unclaimed.
8
+ * `.starci-core-label { margin: 0 }` (common/styles.css) is unconditional across both
9
+ * depths and matches margin.md's "Label | 0 | MARGIN-0" row.
10
+ */
11
+ export declare const getLabelContract: (depth: "top" | "nested") => "FONT-1 MARGIN-0" | "FONT-2 MARGIN-0";
12
+ //# sourceMappingURL=classNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Label/classNames.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,GAAG,QAAQ,yCAKxD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,GAAG,QAAQ,0CAA+D,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { cn } from "@heroui/react";
2
+ /** Select surface label copy that recedes when the owner is nested. */
3
+ export const getLabelClassName = (depth) => cn("starci-core-label", "min-w-0", "font-semibold", depth === "nested" ? "text-xs leading-4" : "text-sm leading-5");
4
+ /**
5
+ * Rule ids this element can claim for the presentation classes above.
6
+ * `text-xs`/`leading-4` and `text-sm`/`leading-5` match FONT-1 and FONT-2 on the
7
+ * closed type scale (font.md `## Scale`). `font-semibold` (weight) and `min-w-0`
8
+ * (measure) carry no rule id in their topic files and stay unclaimed.
9
+ * `.starci-core-label { margin: 0 }` (common/styles.css) is unconditional across both
10
+ * depths and matches margin.md's "Label | 0 | MARGIN-0" row.
11
+ */
12
+ export const getLabelContract = (depth) => depth === "nested" ? "FONT-1 MARGIN-0" : "FONT-2 MARGIN-0";
13
+ //# sourceMappingURL=classNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/primitive/Label/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,EAAE,CAC5D,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CACjE,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { ReactNode } from "react";
2
+ export type LabelProps = {
3
+ readonly id?: string;
4
+ readonly children: ReactNode;
5
+ readonly depth?: "top" | "nested";
6
+ /** A surface branch may promote its visible name into the document outline. */
7
+ readonly as?: "span" | "h3";
8
+ };
9
+ /** Names a bounded surface region without claiming document-outline heading rank. */
10
+ export declare const Label: ({ id, children, depth, as }: LabelProps) => import("react").JSX.Element;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Label/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,KAAK,GAAI,6BAA8C,UAAU,gCAU7E,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { getLabelClassName, getLabelContract } from "./classNames.js";
3
+ /** Names a bounded surface region without claiming document-outline heading rank. */
4
+ export const Label = ({ id, children, depth = "top", as = "span" }) => {
5
+ const shared = {
6
+ id,
7
+ className: getLabelClassName(depth),
8
+ "data-grammar-label": "true",
9
+ "data-grammar-label-depth": depth,
10
+ "data-contract": getLabelContract(depth),
11
+ };
12
+ return as === "h3" ? _jsx("h3", { ...shared, children: children }) : _jsx("span", { ...shared, children: children });
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Label/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAUrE,qFAAqF;AACrF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,GAAG,MAAM,EAAc,EAAE,EAAE;IAC9E,MAAM,MAAM,GAAG;QACX,EAAE;QACF,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC;QACnC,oBAAoB,EAAE,MAAM;QAC5B,0BAA0B,EAAE,KAAK;QACjC,eAAe,EAAE,gBAAgB,CAAC,KAAK,CAAC;KAClC,CAAA;IAEV,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAQ,MAAM,YAAG,QAAQ,GAAM,CAAC,CAAC,CAAC,kBAAU,MAAM,YAAG,QAAQ,GAAQ,CAAA;AAC9F,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from "react";
2
+ export type MediaFrameProps = {
3
+ readonly children: ReactNode;
4
+ readonly caption?: ReactNode;
5
+ readonly aspect?: "landscape" | "portrait" | "square" | "auto";
6
+ readonly fit?: "cover" | "contain";
7
+ readonly treatment?: "framed" | "plain";
8
+ readonly className?: string;
9
+ };
10
+ /**
11
+ * Product-family frame for an approved illustration, photograph or generated bitmap.
12
+ * Asset purpose and generation authority stay with the consuming product workflow.
13
+ */
14
+ export declare const MediaFrame: ({ children, caption, aspect, fit, treatment, className, }: MediaFrameProps) => import("react").JSX.Element;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/MediaFrame/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC9D,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,2DAOxB,eAAe,gCAejB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "@heroui/react";
3
+ /**
4
+ * Product-family frame for an approved illustration, photograph or generated bitmap.
5
+ * Asset purpose and generation authority stay with the consuming product workflow.
6
+ */
7
+ export const MediaFrame = ({ children, caption, aspect = "landscape", fit = "cover", treatment = "framed", className, }) => (_jsxs("figure", { className: cn("starci-core-media-frame", className), "data-contract": "GAP-2 MARGIN-0", "data-grammar-media-aspect": aspect, "data-grammar-media-fit": fit, "data-grammar-media-treatment": treatment, children: [_jsx("div", { className: "starci-core-media-viewport", "data-contract": treatment === "plain" ? "OVERFLOW-2 SURFACE-1" : "OVERFLOW-2 BOUNDARY-5 SURFACE-3", "data-grammar-media": "true", children: children }), caption === undefined ? null : _jsx("figcaption", { className: "starci-core-media-caption", "data-contract": "FLOW-3", children: caption })] }));
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/MediaFrame/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAYlC;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,MAAM,GAAG,WAAW,EACpB,GAAG,GAAG,OAAO,EACb,SAAS,GAAG,QAAQ,EACpB,SAAS,GACK,EAAE,EAAE,CAAC,CACnB,kBACI,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,mBACrC,gBAAgB,+BACH,MAAM,4BACT,GAAG,kCACG,SAAS,aAEvC,cACI,SAAS,EAAC,4BAA4B,mBACvB,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,iCAAiC,wBAC9E,MAAM,YAC3B,QAAQ,GAAO,EAChB,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAY,SAAS,EAAC,2BAA2B,mBAAe,QAAQ,YAAE,OAAO,GAAc,IAC1H,CACZ,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { ComponentPropsWithoutRef } from "react";
2
+ export type PageContainerProps = ComponentPropsWithoutRef<"div"> & {
3
+ readonly measure?: "reading" | "product" | "full";
4
+ /** Additional rule ids a composing branch already knows apply to this same element. */
5
+ readonly ["data-contract"]?: string;
6
+ };
7
+ /** Centred responsive page inset using the packaged StarCi measure scale. */
8
+ export declare const PageContainer: ({ className, measure, ...props }: PageContainerProps) => import("react").JSX.Element;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/PageContainer/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAErD,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;IACjD,uFAAuF;IACvF,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAA;CACtC,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,aAAa,GAAI,kCAA8C,kBAAkB,gCAU7F,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "@heroui/react";
3
+ /** Centred responsive page inset using the packaged StarCi measure scale. */
4
+ export const PageContainer = ({ className, measure = "product", ...props }) => {
5
+ const { "data-contract": composedContract, ...rest } = props;
6
+ return (_jsx("div", { ...rest, className: cn("starci-core-page-container", className), "data-contract": ["MARGIN-AUTO", "MEASURE-1", composedContract].filter(Boolean).join(" "), "data-grammar-page-measure": measure }));
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/PageContainer/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AASlC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,EAAsB,EAAE,EAAE;IAC9F,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC5D,OAAO,CACH,iBACQ,IAAI,EACR,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,mBACvC,CAAC,aAAa,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,+BAC5D,OAAO,GACpC,CACL,CAAA;AACL,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ export type ProgressProps = {
2
+ /** What the bar measures. Required because the visible bar has no drawn label. */
3
+ readonly label: string;
4
+ /** Completion from 0 to 100. Validation remains with the resolving application. */
5
+ readonly value?: number;
6
+ /** Initial unresolved-content geometry, not a zero-valued measurement. */
7
+ readonly isSkeleton?: boolean;
8
+ };
9
+ /** Accessible, full-width completion bar with an inert initial-loading shape. */
10
+ export declare const Progress: ({ label, value, isSkeleton }: ProgressProps) => import("react").JSX.Element;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAMD,iFAAiF;AACjF,eAAO,MAAM,QAAQ,GAAI,8BAA0C,aAAa,gCAoC/E,CAAA"}