@starci/grammar 0.11.0 → 0.12.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 (200) hide show
  1. package/README.md +143 -12
  2. package/dist/.build-stamp.json +4 -4
  3. package/dist/common/components-avatar-group.css +65 -0
  4. package/dist/common/components-forms.css +58 -73
  5. package/dist/common/components-list-panel.css +13 -0
  6. package/dist/common/components-navigation.css +39 -38
  7. package/dist/common/components-overlays.css +16 -1
  8. package/dist/common/components-surface-controls.css +15 -0
  9. package/dist/common/registry.d.ts +21 -20
  10. package/dist/common/registry.d.ts.map +1 -1
  11. package/dist/common/registry.js +2 -2
  12. package/dist/common/registry.js.map +1 -1
  13. package/dist/common/renderers-forms.d.ts +12 -12
  14. package/dist/common/renderers-navigation.d.ts +7 -7
  15. package/dist/common/renderers-navigation.d.ts.map +1 -1
  16. package/dist/common/renderers-navigation.js.map +1 -1
  17. package/dist/common/renderers.d.ts +2 -1
  18. package/dist/common/renderers.d.ts.map +1 -1
  19. package/dist/common/renderers.js +1 -0
  20. package/dist/common/renderers.js.map +1 -1
  21. package/dist/common/rule-catalog.generated.d.ts +2 -1
  22. package/dist/common/rule-catalog.generated.d.ts.map +1 -1
  23. package/dist/common/rule-catalog.generated.js +12 -2
  24. package/dist/common/rule-catalog.generated.js.map +1 -1
  25. package/dist/common/styles.css +163 -50
  26. package/dist/core/OtpInput.d.ts +3 -0
  27. package/dist/core/OtpInput.d.ts.map +1 -1
  28. package/dist/core/OtpInput.js +4 -2
  29. package/dist/core/OtpInput.js.map +1 -1
  30. package/dist/core/branch/AlertDialog/index.d.ts.map +1 -1
  31. package/dist/core/branch/AlertDialog/index.js +25 -20
  32. package/dist/core/branch/AlertDialog/index.js.map +1 -1
  33. package/dist/core/branch/ComboBox/index.d.ts +2 -2
  34. package/dist/core/branch/ComboBox/index.d.ts.map +1 -1
  35. package/dist/core/branch/ComboBox/index.js +3 -1
  36. package/dist/core/branch/ComboBox/index.js.map +1 -1
  37. package/dist/core/branch/DatePicker/index.d.ts +2 -2
  38. package/dist/core/branch/DatePicker/index.d.ts.map +1 -1
  39. package/dist/core/branch/DatePicker/index.js +3 -1
  40. package/dist/core/branch/DatePicker/index.js.map +1 -1
  41. package/dist/core/branch/DateRangePicker/index.d.ts +2 -2
  42. package/dist/core/branch/DateRangePicker/index.d.ts.map +1 -1
  43. package/dist/core/branch/DateRangePicker/index.js +3 -1
  44. package/dist/core/branch/DateRangePicker/index.js.map +1 -1
  45. package/dist/core/branch/Dialog/index.d.ts.map +1 -1
  46. package/dist/core/branch/Dialog/index.js +6 -2
  47. package/dist/core/branch/Dialog/index.js.map +1 -1
  48. package/dist/core/branch/Drawer/index.d.ts.map +1 -1
  49. package/dist/core/branch/Drawer/index.js +6 -2
  50. package/dist/core/branch/Drawer/index.js.map +1 -1
  51. package/dist/core/branch/DropdownMenu/index.d.ts +12 -5
  52. package/dist/core/branch/DropdownMenu/index.d.ts.map +1 -1
  53. package/dist/core/branch/DropdownMenu/index.js +13 -6
  54. package/dist/core/branch/DropdownMenu/index.js.map +1 -1
  55. package/dist/core/branch/ListBox/index.d.ts +20 -5
  56. package/dist/core/branch/ListBox/index.d.ts.map +1 -1
  57. package/dist/core/branch/ListBox/index.js +19 -9
  58. package/dist/core/branch/ListBox/index.js.map +1 -1
  59. package/dist/core/branch/Popover/index.d.ts.map +1 -1
  60. package/dist/core/branch/Popover/index.js +2 -1
  61. package/dist/core/branch/Popover/index.js.map +1 -1
  62. package/dist/core/branch/Rail/index.d.ts.map +1 -1
  63. package/dist/core/branch/Rail/index.js +4 -2
  64. package/dist/core/branch/Rail/index.js.map +1 -1
  65. package/dist/core/branch/Select/index.d.ts +6 -3
  66. package/dist/core/branch/Select/index.d.ts.map +1 -1
  67. package/dist/core/branch/Select/index.js +14 -21
  68. package/dist/core/branch/Select/index.js.map +1 -1
  69. package/dist/core/branch/SurfaceAccordionCard/index.d.ts.map +1 -1
  70. package/dist/core/branch/SurfaceAccordionCard/index.js +3 -1
  71. package/dist/core/branch/SurfaceAccordionCard/index.js.map +1 -1
  72. package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
  73. package/dist/core/branch/SurfaceCard/index.js +3 -1
  74. package/dist/core/branch/SurfaceCard/index.js.map +1 -1
  75. package/dist/core/branch/SurfaceListCard/index.d.ts.map +1 -1
  76. package/dist/core/branch/SurfaceListCard/index.js +3 -1
  77. package/dist/core/branch/SurfaceListCard/index.js.map +1 -1
  78. package/dist/core/branch/Tooltip/index.d.ts +13 -0
  79. package/dist/core/branch/Tooltip/index.d.ts.map +1 -1
  80. package/dist/core/branch/Tooltip/index.js +40 -1
  81. package/dist/core/branch/Tooltip/index.js.map +1 -1
  82. package/dist/core/composite/AvatarButton/index.d.ts +3 -1
  83. package/dist/core/composite/AvatarButton/index.d.ts.map +1 -1
  84. package/dist/core/composite/AvatarButton/index.js +1 -1
  85. package/dist/core/composite/AvatarButton/index.js.map +1 -1
  86. package/dist/core/composite/AvatarGroup/index.d.ts +11 -3
  87. package/dist/core/composite/AvatarGroup/index.d.ts.map +1 -1
  88. package/dist/core/composite/AvatarGroup/index.js +9 -5
  89. package/dist/core/composite/AvatarGroup/index.js.map +1 -1
  90. package/dist/core/composite/CheckboxGroup/index.d.ts +2 -2
  91. package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -1
  92. package/dist/core/composite/CheckboxGroup/index.js +5 -1
  93. package/dist/core/composite/CheckboxGroup/index.js.map +1 -1
  94. package/dist/core/composite/IdentityLockup/index.d.ts +4 -2
  95. package/dist/core/composite/IdentityLockup/index.d.ts.map +1 -1
  96. package/dist/core/composite/IdentityLockup/index.js +1 -1
  97. package/dist/core/composite/IdentityLockup/index.js.map +1 -1
  98. package/dist/core/composite/RadioGroup/index.d.ts +2 -2
  99. package/dist/core/composite/RadioGroup/index.d.ts.map +1 -1
  100. package/dist/core/composite/RadioGroup/index.js +5 -1
  101. package/dist/core/composite/RadioGroup/index.js.map +1 -1
  102. package/dist/core/composite/Timeline/index.js +1 -1
  103. package/dist/core/composite/Timeline/index.js.map +1 -1
  104. package/dist/core/composition/ChatWorkspace/index.d.ts.map +1 -1
  105. package/dist/core/composition/ChatWorkspace/index.js +2 -1
  106. package/dist/core/composition/ChatWorkspace/index.js.map +1 -1
  107. package/dist/core/composition/Sidebar/index.d.ts +9 -2
  108. package/dist/core/composition/Sidebar/index.d.ts.map +1 -1
  109. package/dist/core/composition/Sidebar/index.js +49 -25
  110. package/dist/core/composition/Sidebar/index.js.map +1 -1
  111. package/dist/core/composition/WorkspaceShell/classNames.d.ts +1 -0
  112. package/dist/core/composition/WorkspaceShell/classNames.d.ts.map +1 -1
  113. package/dist/core/composition/WorkspaceShell/classNames.js +1 -0
  114. package/dist/core/composition/WorkspaceShell/classNames.js.map +1 -1
  115. package/dist/core/composition/WorkspaceShell/index.d.ts +30 -0
  116. package/dist/core/composition/WorkspaceShell/index.d.ts.map +1 -1
  117. package/dist/core/composition/WorkspaceShell/index.js +10 -4
  118. package/dist/core/composition/WorkspaceShell/index.js.map +1 -1
  119. package/dist/core/dna.d.ts +5 -0
  120. package/dist/core/dna.d.ts.map +1 -1
  121. package/dist/core/dna.js +5 -0
  122. package/dist/core/dna.js.map +1 -1
  123. package/dist/core/overlayScope.d.ts +16 -0
  124. package/dist/core/overlayScope.d.ts.map +1 -1
  125. package/dist/core/overlayScope.js +12 -0
  126. package/dist/core/overlayScope.js.map +1 -1
  127. package/dist/core/primitive/Avatar/index.d.ts +11 -6
  128. package/dist/core/primitive/Avatar/index.d.ts.map +1 -1
  129. package/dist/core/primitive/Avatar/index.js +21 -4
  130. package/dist/core/primitive/Avatar/index.js.map +1 -1
  131. package/dist/core/primitive/Button/index.d.ts +1 -1
  132. package/dist/core/primitive/Button/index.d.ts.map +1 -1
  133. package/dist/core/primitive/Button/index.js +3 -3
  134. package/dist/core/primitive/Button/index.js.map +1 -1
  135. package/dist/core/primitive/Checkbox/index.d.ts +2 -2
  136. package/dist/core/primitive/Checkbox/index.d.ts.map +1 -1
  137. package/dist/core/primitive/Checkbox/index.js +5 -1
  138. package/dist/core/primitive/Checkbox/index.js.map +1 -1
  139. package/dist/core/primitive/DateField/index.d.ts +2 -2
  140. package/dist/core/primitive/DateField/index.d.ts.map +1 -1
  141. package/dist/core/primitive/DateField/index.js +5 -1
  142. package/dist/core/primitive/DateField/index.js.map +1 -1
  143. package/dist/core/primitive/Field/index.d.ts +3 -2
  144. package/dist/core/primitive/Field/index.d.ts.map +1 -1
  145. package/dist/core/primitive/Field/index.js.map +1 -1
  146. package/dist/core/primitive/IconButton/index.d.ts +2 -2
  147. package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
  148. package/dist/core/primitive/IconButton/index.js +1 -1
  149. package/dist/core/primitive/IconButton/index.js.map +1 -1
  150. package/dist/core/primitive/Input/index.d.ts +4 -1
  151. package/dist/core/primitive/Input/index.d.ts.map +1 -1
  152. package/dist/core/primitive/Input/index.js +5 -3
  153. package/dist/core/primitive/Input/index.js.map +1 -1
  154. package/dist/core/primitive/NumberField/index.d.ts +2 -2
  155. package/dist/core/primitive/NumberField/index.d.ts.map +1 -1
  156. package/dist/core/primitive/NumberField/index.js +5 -1
  157. package/dist/core/primitive/NumberField/index.js.map +1 -1
  158. package/dist/core/primitive/PlainPressable/index.d.ts +3 -1
  159. package/dist/core/primitive/PlainPressable/index.d.ts.map +1 -1
  160. package/dist/core/primitive/PlainPressable/index.js +1 -1
  161. package/dist/core/primitive/PlainPressable/index.js.map +1 -1
  162. package/dist/core/primitive/PressableField/index.d.ts +4 -1
  163. package/dist/core/primitive/PressableField/index.d.ts.map +1 -1
  164. package/dist/core/primitive/PressableField/index.js +5 -1
  165. package/dist/core/primitive/PressableField/index.js.map +1 -1
  166. package/dist/core/primitive/RelativeTime/clock.d.ts +5 -0
  167. package/dist/core/primitive/RelativeTime/clock.d.ts.map +1 -0
  168. package/dist/core/primitive/RelativeTime/clock.js +28 -0
  169. package/dist/core/primitive/RelativeTime/clock.js.map +1 -0
  170. package/dist/core/primitive/RelativeTime/index.d.ts +18 -0
  171. package/dist/core/primitive/RelativeTime/index.d.ts.map +1 -0
  172. package/dist/core/primitive/RelativeTime/index.js +45 -0
  173. package/dist/core/primitive/RelativeTime/index.js.map +1 -0
  174. package/dist/core/primitive/SearchField/index.d.ts +4 -2
  175. package/dist/core/primitive/SearchField/index.d.ts.map +1 -1
  176. package/dist/core/primitive/SearchField/index.js +5 -1
  177. package/dist/core/primitive/SearchField/index.js.map +1 -1
  178. package/dist/core/primitive/Switch/index.d.ts +9 -4
  179. package/dist/core/primitive/Switch/index.d.ts.map +1 -1
  180. package/dist/core/primitive/Switch/index.js +1 -1
  181. package/dist/core/primitive/Switch/index.js.map +1 -1
  182. package/dist/core/primitive/TextAction/index.d.ts.map +1 -1
  183. package/dist/core/primitive/TextAction/index.js +3 -1
  184. package/dist/core/primitive/TextAction/index.js.map +1 -1
  185. package/dist/core/primitive/Textarea/index.d.ts +2 -2
  186. package/dist/core/primitive/Textarea/index.d.ts.map +1 -1
  187. package/dist/core/primitive/Textarea/index.js +3 -1
  188. package/dist/core/primitive/Textarea/index.js.map +1 -1
  189. package/dist/core/primitive/TimeField/index.d.ts +2 -2
  190. package/dist/core/primitive/TimeField/index.d.ts.map +1 -1
  191. package/dist/core/primitive/TimeField/index.js +5 -1
  192. package/dist/core/primitive/TimeField/index.js.map +1 -1
  193. package/dist/core/primitive/actionStyles.d.ts +1 -1
  194. package/dist/core/primitive/actionStyles.d.ts.map +1 -1
  195. package/dist/core/surfaceContext.d.ts +11 -0
  196. package/dist/core/surfaceContext.d.ts.map +1 -0
  197. package/dist/core/surfaceContext.js +14 -0
  198. package/dist/core/surfaceContext.js.map +1 -0
  199. package/dist/offset-pop/components-overlays.css +1 -1
  200. package/package.json +8 -3
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useFieldVariant } from "../../surfaceContext.js";
3
4
  import { Checkbox as HeroCheckbox, CheckboxGroup as HeroCheckboxGroup } from "@heroui/react";
4
5
  import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeleton, fieldVariantAttributes, vendorFieldProps, } from "../../primitive/Field/index.js";
5
6
  import { CheckboxItem } from "../../primitive/Checkbox/index.js";
@@ -17,5 +18,8 @@ import { CheckboxItem } from "../../primitive/Checkbox/index.js";
17
18
  * Several independent choices under one group name (`role="group"`, labelled by the group label).
18
19
  * Required means "at least one", validated by the vendor; the group owns the one error slot.
19
20
  */
20
- export const CheckboxGroup = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant = "primary", isSkeleton = false, ...field }) => isSkeleton ? (_jsx(FieldSkeleton, { component: "CheckboxGroup", tier: "composite", label: field.label, isLabelHidden: field.isLabelHidden, isRequired: field.isRequired, variant: variant, kind: "choices", choiceLabels: options.map((option) => option.label), orientation: orientation, className: "starci-core-choice-group" })) : (_jsxs(HeroCheckboxGroup, { "data-tier": "composite", "data-component": "CheckboxGroup", "data-contract": "A11Y-1 FEEDBACK-1 STATE-1", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue: [...defaultValue] } : { value: [...value] }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsx(HeroCheckbox, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-checkbox", variant: variant, "data-grammar-option": "true", children: _jsx(CheckboxItem, { label: option.label, description: option.description, isStandalone: false }) }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
21
+ export const CheckboxGroup = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant: requestedVariant, isSkeleton = false, ...field }) => {
22
+ const variant = useFieldVariant(requestedVariant);
23
+ return isSkeleton ? (_jsx(FieldSkeleton, { component: "CheckboxGroup", tier: "composite", label: field.label, isLabelHidden: field.isLabelHidden, isRequired: field.isRequired, variant: variant, kind: "choices", choiceLabels: options.map((option) => option.label), orientation: orientation, className: "starci-core-choice-group" })) : (_jsxs(HeroCheckboxGroup, { "data-tier": "composite", "data-component": "CheckboxGroup", "data-contract": "A11Y-1 FEEDBACK-1 STATE-1", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue: [...defaultValue] } : { value: [...value] }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsx(HeroCheckbox, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-checkbox", variant: variant, "data-grammar-option": "true", children: _jsx(CheckboxItem, { label: option.label, description: option.description, isStandalone: false }) }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
24
+ };
21
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE5F,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AA2BhE;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,OAAO,GAAG,SAAS,EACnB,UAAU,GAAG,KAAK,EAClB,GAAG,KAAK,EACS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CACnC,KAAC,aAAa,IAAC,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,SAAS,EAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAC,0BAA0B,GAAG,CAC1S,CAAC,CAAC,CAAC,CACA,MAAC,iBAAiB,iBACJ,WAAW,oBACN,eAAe,mBAChB,2BAA2B,8BACf,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,OAAO,EAAE,OAAO,KACZ,sBAAsB,CAAC,OAAO,CAAC,KAC/B,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,KACrH,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,KAAC,YAAY,IAET,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAE,OAAO,yBACI,MAAM,YAE1B,KAAC,YAAY,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,GAAI,IAPtF,MAAM,CAAC,KAAK,CAQN,CAClB,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACrC,CACvB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/CheckboxGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE5F,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AA2BhE;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,OAAO,EAAE,gBAAgB,EACzB,UAAU,GAAG,KAAK,EAClB,GAAG,KAAK,EACS,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD,OAAO,UAAU,CAAC,CAAC,CAAC,CAChB,KAAC,aAAa,IAAC,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,SAAS,EAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAC,0BAA0B,GAAG,CAC1S,CAAC,CAAC,CAAC,CACA,MAAC,iBAAiB,iBACJ,WAAW,oBACN,eAAe,mBAChB,2BAA2B,8BACf,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,OAAO,EAAE,OAAO,KACZ,sBAAsB,CAAC,OAAO,CAAC,KAC/B,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,KACrH,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,KAAC,YAAY,IAET,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAE,OAAO,yBACI,MAAM,YAE1B,KAAC,YAAY,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,GAAI,IAPtF,MAAM,CAAC,KAAK,CAQN,CAClB,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACrC,CACvB,CAAA;AACL,CAAC,CAAA"}
@@ -4,10 +4,12 @@ export type IdentityLockupProps = {
4
4
  readonly title: string;
5
5
  /** The muted second line, e.g. the viewer's role. */
6
6
  readonly subtitle?: string;
7
- /** The logo image; without it (or while it loads or fails) the mark shows initials on an accent tint. */
7
+ /** The logo image; without it (or while it loads or fails) the mark shows a monogram in the same transparent box. */
8
8
  readonly logoSrc?: string;
9
9
  /** `square` (default): a transparent box with no corner, the image contained so round, square and wide logos keep their own shape. `rounded` is an explicit opt-in. */
10
10
  readonly markShape?: Extract<AvatarShape, "square" | "rounded">;
11
+ /** Gives the existing PlainPressable the navbar's shared control height. */
12
+ readonly size?: "control";
11
13
  readonly onPress?: () => void;
12
14
  readonly isDisabled?: boolean;
13
15
  };
@@ -16,5 +18,5 @@ export type IdentityLockupProps = {
16
18
  * PlainPressable, so it can trigger a menu or popover (the workspace switcher of a top bar). The name is the visible text.
17
19
  * Contract: A11Y-2 (the mark is decorative; the lines name the control).
18
20
  */
19
- export declare const IdentityLockup: ({ title, subtitle, logoSrc, markShape, onPress, isDisabled }: IdentityLockupProps) => import("react").JSX.Element;
21
+ export declare const IdentityLockup: ({ title, subtitle, logoSrc, markShape, size, onPress, isDisabled }: IdentityLockupProps) => import("react").JSX.Element;
20
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/IdentityLockup/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAG1E,MAAM,MAAM,mBAAmB,GAAG;IAC9B,mGAAmG;IACnG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,yGAAyG;IACzG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,uKAAuK;IACvK,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAA;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,8DAAyE,mBAAmB,gCAa1H,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/IdentityLockup/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAG1E,MAAM,MAAM,mBAAmB,GAAG;IAC9B,mGAAmG;IACnG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,qHAAqH;IACrH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,uKAAuK;IACvK,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAA;IAC/D,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,oEAA+E,mBAAmB,gCAchI,CAAA"}
@@ -7,5 +7,5 @@ import { PlainPressable } from "../../primitive/PlainPressable/index.js";
7
7
  * PlainPressable, so it can trigger a menu or popover (the workspace switcher of a top bar). The name is the visible text.
8
8
  * Contract: A11Y-2 (the mark is decorative; the lines name the control).
9
9
  */
10
- export const IdentityLockup = ({ title, subtitle, logoSrc, markShape = "square", onPress, isDisabled }) => (_jsx(PlainPressable, { ...(onPress === undefined ? {} : { onPress }), ...(isDisabled === undefined ? {} : { isDisabled }), children: _jsxs("span", { className: "starci-core-identity-lockup", "data-tier": "composite", "data-component": "IdentityLockup", "data-contract": "A11Y-2", children: [_jsx(Avatar, { name: title, isDecorative: true, shape: markShape, size: "md", ...(logoSrc === undefined ? {} : { src: logoSrc }) }), _jsxs("span", { className: "starci-core-identity-lockup-copy", children: [_jsx("span", { className: "starci-core-identity-lockup-title", "data-grammar-lockup-line": "title", children: title }), subtitle === undefined ? null : _jsx("span", { className: "starci-core-identity-lockup-subtitle", "data-grammar-lockup-line": "subtitle", children: subtitle })] })] }) }));
10
+ export const IdentityLockup = ({ title, subtitle, logoSrc, markShape = "square", size, onPress, isDisabled }) => (_jsx(PlainPressable, { ...(size === undefined ? {} : { size }), ...(onPress === undefined ? {} : { onPress }), ...(isDisabled === undefined ? {} : { isDisabled }), children: _jsxs("span", { className: "starci-core-identity-lockup", "data-tier": "composite", "data-component": "IdentityLockup", "data-contract": "A11Y-2", children: [_jsx(Avatar, { name: title, isDecorative: true, shape: markShape, size: "md", ...(logoSrc === undefined ? {} : { src: logoSrc }) }), _jsxs("span", { className: "starci-core-identity-lockup-copy", children: [_jsx("span", { className: "starci-core-identity-lockup-title", "data-grammar-lockup-line": "title", children: title }), subtitle === undefined ? null : _jsx("span", { className: "starci-core-identity-lockup-subtitle", "data-grammar-lockup-line": "subtitle", children: subtitle })] })] }) }));
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/IdentityLockup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAoB,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AAexE;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAuB,EAAE,EAAE,CAAC,CAC5H,KAAC,cAAc,OACP,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAC1C,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,YAEpD,gBAAM,SAAS,EAAC,6BAA6B,eAAW,WAAW,oBAAgB,gBAAgB,mBAAe,QAAQ,aACtH,KAAC,MAAM,IAAC,IAAI,EAAE,KAAK,EAAE,YAAY,QAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAI,EACrH,gBAAM,SAAS,EAAC,kCAAkC,aAC9C,eAAM,SAAS,EAAC,mCAAmC,8BAA0B,OAAO,YAAE,KAAK,GAAQ,EAClG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,sCAAsC,8BAA0B,UAAU,YAAE,QAAQ,GAAQ,IAC1I,IACJ,GACM,CACpB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/IdentityLockup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAoB,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AAiBxE;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAuB,EAAE,EAAE,CAAC,CAClI,KAAC,cAAc,OACP,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KACpC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAC1C,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,YAEpD,gBAAM,SAAS,EAAC,6BAA6B,eAAW,WAAW,oBAAgB,gBAAgB,mBAAe,QAAQ,aACtH,KAAC,MAAM,IAAC,IAAI,EAAE,KAAK,EAAE,YAAY,QAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAI,EACrH,gBAAM,SAAS,EAAC,kCAAkC,aAC9C,eAAM,SAAS,EAAC,mCAAmC,8BAA0B,OAAO,YAAE,KAAK,GAAQ,EAClG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,sCAAsC,8BAA0B,UAAU,YAAE,QAAQ,GAAQ,IAC1I,IACJ,GACM,CACpB,CAAA"}
@@ -6,12 +6,12 @@ export type RadioGroupProps = FieldControlProps & {
6
6
  readonly defaultValue?: string | null;
7
7
  readonly onValueChange?: (value: string) => void;
8
8
  readonly orientation?: ChoiceOrientation;
9
- /** Layer variant: `secondary` when the control sits on a surface (ANATOMY-2 case-1). */
9
+ /** Defaults to `secondary` inside a Grammar surface and `primary` outside (ANATOMY-2 case-1). */
10
10
  readonly variant?: "primary" | "secondary";
11
11
  };
12
12
  /**
13
13
  * Exactly one of a few visible choices (`role="radiogroup"`). Arrow keys move and select within the
14
14
  * group, Tab leaves it - roving focus is the vendor's.
15
15
  */
16
- export declare const RadioGroup: ({ options, value, defaultValue, onValueChange, orientation, variant, ...field }: RadioGroupProps) => import("react").JSX.Element;
16
+ export declare const RadioGroup: ({ options, value, defaultValue, onValueChange, orientation, variant: requestedVariant, ...field }: RadioGroupProps) => import("react").JSX.Element;
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAMH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAC9C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,wFAAwF;IACxF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;CAC7C,CAAA;AAcD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,iFAQxB,eAAe,gCAsCjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAMH,KAAK,iBAAiB,EACzB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAC9C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,iGAAiG;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;CAC7C,CAAA;AAcD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,mGAQxB,eAAe,gCAyCjB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useFieldVariant } from "../../surfaceContext.js";
3
4
  import { Radio as HeroRadio, RadioGroup as HeroRadioGroup } from "@heroui/react";
4
5
  import { FieldDescription, FieldErrorText, FieldLabel, fieldVariantAttributes, vendorFieldProps, } from "../../primitive/Field/index.js";
5
6
  /*
@@ -16,5 +17,8 @@ import { FieldDescription, FieldErrorText, FieldLabel, fieldVariantAttributes, v
16
17
  * Exactly one of a few visible choices (`role="radiogroup"`). Arrow keys move and select within the
17
18
  * group, Tab leaves it - roving focus is the vendor's.
18
19
  */
19
- export const RadioGroup = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant = "primary", ...field }) => (_jsxs(HeroRadioGroup, { "data-tier": "composite", "data-component": "RadioGroup", "data-contract": "A11Y-1 STATE-6 FOCUS-2", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", orientation: orientation, variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue } : { value }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsxs(HeroRadio, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-radio", "data-grammar-option": "true", children: [_jsxs(HeroRadio.Content, { className: "starci-core-choice-content", "data-grammar-choice-target": "true", children: [_jsx(HeroRadio.Control, { className: "starci-core-choice-control", "data-grammar-choice-control": "radio", children: _jsx(HeroRadio.Indicator, {}) }), _jsx(FieldLabel, { children: option.label })] }), _jsx(FieldDescription, { children: option.description })] }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
20
+ export const RadioGroup = ({ options, value, defaultValue, onValueChange, orientation = "vertical", variant: requestedVariant, ...field }) => {
21
+ const variant = useFieldVariant(requestedVariant);
22
+ return (_jsxs(HeroRadioGroup, { "data-tier": "composite", "data-component": "RadioGroup", "data-contract": "A11Y-1 STATE-6 FOCUS-2", "data-grammar-orientation": orientation, className: "starci-core-field starci-core-choice-group", orientation: orientation, variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue } : { value }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsx(FieldDescription, { children: field.description }), _jsx("div", { className: "starci-core-choice-group-options", "data-grammar-field-control": "true", children: options.map((option) => (_jsxs(HeroRadio, { value: option.value, isDisabled: option.isDisabled === true, className: "starci-core-choice starci-core-radio", "data-grammar-option": "true", children: [_jsxs(HeroRadio.Content, { className: "starci-core-choice-content", "data-grammar-choice-target": "true", children: [_jsx(HeroRadio.Control, { className: "starci-core-choice-control", "data-grammar-choice-control": "radio", children: _jsx(HeroRadio.Indicator, {}) }), _jsx(FieldLabel, { children: option.label })] }), _jsx(FieldDescription, { children: option.description })] }, option.value))) }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
23
+ };
20
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AAavC;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,OAAO,GAAG,SAAS,EACnB,GAAG,KAAK,EACM,EAAE,EAAE,CAAC,CACnB,MAAC,cAAc,iBACD,WAAW,oBACN,YAAY,mBACb,wBAAwB,8BACZ,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,KACZ,sBAAsB,CAAC,OAAO,CAAC,KAC/B,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KACtF,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,MAAC,SAAS,IAEN,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,sCAAsC,yBAC5B,MAAM,aAE1B,MAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,gCAA4B,MAAM,aACvF,KAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,iCAA6B,OAAO,YACzF,KAAC,SAAS,CAAC,SAAS,KAAG,GACP,EACpB,KAAC,UAAU,cAAE,MAAM,CAAC,KAAK,GAAc,IACvB,EACpB,KAAC,gBAAgB,cAAE,MAAM,CAAC,WAAW,GAAoB,KAZpD,MAAM,CAAC,KAAK,CAaT,CACf,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACxC,CACpB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/RadioGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,gCAAgC,CAAA;AAavC;;;;GAIG;AAEH;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,GAAG,UAAU,EACxB,OAAO,EAAE,gBAAgB,EACzB,GAAG,KAAK,EACM,EAAE,EAAE;IAClB,MAAM,OAAO,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACjD,OAAO,CACH,MAAC,cAAc,iBACD,WAAW,oBACN,YAAY,mBACb,wBAAwB,8BACZ,WAAW,EACrC,SAAS,EAAC,4CAA4C,EACtD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,KACZ,sBAAsB,CAAC,OAAO,CAAC,KAC/B,gBAAgB,CAAC,KAAK,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,KACjC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KACtF,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,aAEpE,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAc,EACnG,KAAC,gBAAgB,cAAE,KAAK,CAAC,WAAW,GAAoB,EACxD,cAAK,SAAS,EAAC,kCAAkC,gCAA4B,MAAM,YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,MAAC,SAAS,IAEN,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,IAAI,EACtC,SAAS,EAAC,sCAAsC,yBAC5B,MAAM,aAE1B,MAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,gCAA4B,MAAM,aACvF,KAAC,SAAS,CAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,iCAA6B,OAAO,YACzF,KAAC,SAAS,CAAC,SAAS,KAAG,GACP,EACpB,KAAC,UAAU,cAAE,MAAM,CAAC,KAAK,GAAc,IACvB,EACpB,KAAC,gBAAgB,cAAE,MAAM,CAAC,WAAW,GAAoB,KAZpD,MAAM,CAAC,KAAK,CAaT,CACf,CAAC,GACA,EACN,KAAC,cAAc,cAAE,KAAK,CAAC,YAAY,GAAkB,IACxC,CACpB,CAAA;AACL,CAAC,CAAA"}
@@ -7,7 +7,7 @@ import { Skeleton } from "../../primitive/Skeleton/index.js";
7
7
  * presentation states and `data-grammar-current`; the connector line is drawn by the stylesheet.
8
8
  * Contract: list HIERARCHY-3, entry STATE-1 TRUTH-1 (closed presentation states, neutral default), marker A11Y-2.
9
9
  */
10
- export const Timeline = ({ label, items, className, isLoading = false, loadingRows = 3 }) => (_jsx("ol", { "aria-label": label, "data-loading": String(isLoading), ...(isLoading ? { "aria-busy": true } : {}), className: navigationClassName("starci-core-timeline", className), "data-component": "Timeline", "data-contract": "HIERARCHY-3", "data-tier": "composite", children: isLoading && items.length === 0 ? Array.from({ length: Math.min(12, Math.max(1, Math.floor(Number.isFinite(loadingRows) ? loadingRows : 3))) }, (_, index) => (_jsxs("li", { "aria-hidden": "true", className: "starci-core-timeline-item", "data-contract": "STATE-1 STATE-8", "data-grammar-timeline-state": "neutral", "data-grammar-current": "false", "data-grammar-skeleton": "true", children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-timeline-marker starci-core-timeline-skeleton-marker", "data-grammar-timeline-marker": "true", children: _jsx(Skeleton, { shape: "circle", size: "sm" }) }), _jsxs("div", { className: "starci-core-timeline-copy", children: [_jsx("p", { className: "starci-core-timeline-title", children: _jsx(Skeleton, { shape: "text" }) }), _jsx("span", { className: "starci-core-timeline-time", children: _jsx(Skeleton, { shape: "text" }) }), _jsx("div", { className: "starci-core-timeline-description", children: _jsx(Skeleton, { shape: "text" }) })] })] }, index))) : items.map((item) => {
10
+ export const Timeline = ({ label, items, className, isLoading = false, loadingRows = 3 }) => (_jsx("ol", { "aria-label": label, "data-loading": String(isLoading), ...(isLoading ? { "aria-busy": true } : {}), className: navigationClassName("starci-core-timeline", className), "data-component": "Timeline", "data-contract": "HIERARCHY-3", "data-tier": "composite", children: isLoading && items.length === 0 ? Array.from({ length: Math.min(12, Math.max(1, Math.floor(Number.isFinite(loadingRows) ? loadingRows : 3))) }, (_, index) => (_jsxs("li", { "aria-hidden": "true", className: "starci-core-timeline-item", "data-contract": "STATE-1 STATE-8", "data-grammar-timeline-state": "neutral", "data-grammar-current": "false", "data-grammar-skeleton": "true", children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-timeline-marker starci-core-timeline-skeleton-marker", "data-grammar-timeline-marker": "true", children: _jsx(Skeleton, { shape: "circle", size: "sm" }) }), _jsxs("div", { className: "starci-core-timeline-copy", children: [_jsx("div", { className: "starci-core-timeline-title", children: _jsx(Skeleton, { shape: "text" }) }), _jsx("span", { className: "starci-core-timeline-time", children: _jsx(Skeleton, { shape: "text" }) }), _jsx("div", { className: "starci-core-timeline-description", children: _jsx(Skeleton, { shape: "text" }) })] })] }, index))) : items.map((item) => {
11
11
  const state = item.state ?? "neutral";
12
12
  assertPresentationState(state);
13
13
  return (_jsxs("li", { "aria-current": item.isCurrent ? "step" : undefined, className: "starci-core-timeline-item", "data-contract": "STATE-1 TRUTH-1", "data-grammar-timeline-state": state, "data-grammar-current": item.isCurrent ? "true" : "false", children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-timeline-marker", "data-contract": "A11Y-2", "data-grammar-timeline-marker": "true", children: item.marker }), _jsxs("div", { className: "starci-core-timeline-copy", children: [_jsx("p", { className: "starci-core-timeline-title", children: item.title }), item.timeLabel === undefined ? null : (_jsx("time", { className: "starci-core-timeline-time", ...(item.dateTime === undefined ? {} : { dateTime: item.dateTime }), children: item.timeLabel })), item.description === undefined ? null : _jsx("div", { className: "starci-core-timeline-description", children: item.description })] })] }, item.id));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Timeline/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Timeline/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGH,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACjB,MAAM,OAAO,CAAA;AAmCd,KAAK,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,GAAG;IACjG,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAA;IAChC,oEAAoE;IACpE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,KAAK,0BAA0B,GAAG;IAC9B,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAA;CACvD,CAAA;AAED,KAAK,6BAA6B,GAAG;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,CACtD,0BAA0B,GAAG,6BAA6B,CAC7D,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCA+JtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGH,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACjB,MAAM,OAAO,CAAA;AAoCd,KAAK,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,GAAG;IACjG,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAA;IAChC,oEAAoE;IACpE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,KAAK,0BAA0B,GAAG;IAC9B,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAA;CACvD,CAAA;AAED,KAAK,6BAA6B,GAAG;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,CACtD,0BAA0B,GAAG,6BAA6B,CAC7D,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAiKtD,CAAA"}
@@ -4,6 +4,7 @@ import { cn, Drawer } from "@heroui/react";
4
4
  import { useEffect, useSyncExternalStore, } from "react";
5
5
  import { Rail } from "../../branch/Rail/index.js";
6
6
  import { VerticalScrollRegion } from "../../composite/VerticalScrollRegion/index.js";
7
+ import { SurfaceNesting } from "../../surfaceContext.js";
7
8
  import { chatWorkspaceClassName, chatWorkspaceComposerClassName, chatWorkspaceConversationClassName, chatWorkspaceDrawerBodyClassName, chatWorkspaceDrawerCloseClassName, chatWorkspaceDrawerContentClassName, chatWorkspaceDrawerDialogClassName, chatWorkspaceHeaderClassName, chatWorkspaceInlineRailClassName, chatWorkspaceOverlayRailClassName, chatWorkspacePrimaryClassName, chatWorkspaceRailTriggerBoundaryClassName, chatWorkspaceRailTriggerClassName, getChatWorkspaceLayoutClassName, } from "./classNames.js";
8
9
  const compactRailQuery = "(max-width: 47.999rem)";
9
10
  const subscribeToCompactRail = (onStoreChange) => {
@@ -35,6 +36,6 @@ export const ChatWorkspace = (props) => {
35
36
  if (hasRail && !isCompactRail && isRailOpen)
36
37
  onRailOpenChange?.(false);
37
38
  }, [hasRail, isCompactRail, isRailOpen, onRailOpenChange]);
38
- return (_jsxs("section", { ...sectionProps, "aria-label": label, className: cn(chatWorkspaceClassName, className), "data-grammar-chat-workspace": "true", "data-component": "ChatWorkspace", "data-tier": "composition", "data-grammar-chat-workspace-rail": hasRail ? "present" : "absent", children: [header === undefined ? null : (_jsx("header", { className: chatWorkspaceHeaderClassName, "data-grammar-chat-workspace-slot": "header", children: header })), hasRail && isCompactRail ? (_jsxs(Drawer, { isOpen: railConfig.isOpen, onOpenChange: railConfig.onOpenChange, children: [_jsx("div", { className: chatWorkspaceRailTriggerBoundaryClassName, "data-contract": "BOUNDARY-1 PADDING-4 PADDING-2", children: _jsx(Drawer.Trigger, { className: chatWorkspaceRailTriggerClassName, "data-contract": "PADDING-3 SURFACE-2 FONT-2 TONE-1", children: railConfig.openLabel }) }), _jsx(Drawer.Backdrop, { children: _jsx(Drawer.Content, { className: chatWorkspaceDrawerContentClassName, placement: "right", children: _jsxs(Drawer.Dialog, { className: chatWorkspaceDrawerDialogClassName, children: [_jsx(Drawer.Header, { children: _jsx(Drawer.Heading, { children: railConfig.label }) }), _jsx(Drawer.CloseTrigger, { "aria-label": railConfig.closeLabel, className: chatWorkspaceDrawerCloseClassName, "data-contract": "SURFACE-2 TONE-1" }), _jsx(Drawer.Body, { className: chatWorkspaceDrawerBodyClassName, "data-contract": "OVERFLOW-2 PADDING-0", children: _jsx(VerticalScrollRegion, { "aria-label": railConfig.label, className: chatWorkspaceOverlayRailClassName, "data-contract": "OVERFLOW-4 OVERFLOW-5 PADDING-4", "data-grammar-chat-workspace-rail-presentation": "overlay", "data-grammar-chat-workspace-slot": "rail", isScrollable: true, role: "region", tabIndex: 0, children: railConfig.content }) })] }) }) })] })) : null, _jsxs("div", { className: getChatWorkspaceLayoutClassName(railWidth, hasRail), "data-contract": "GAP-5", "data-grammar-chat-workspace-layout": "true", "data-grammar-chat-workspace-rail-width": hasRail ? railWidth : undefined, children: [_jsxs("div", { className: chatWorkspacePrimaryClassName, "data-grammar-chat-workspace-slot": "primary", children: [_jsx(VerticalScrollRegion, { "aria-label": conversationLabel, className: chatWorkspaceConversationClassName, "data-contract": "OVERFLOW-4 OVERFLOW-5", "data-grammar-chat-workspace-scroll-owner": "conversation", "data-grammar-chat-workspace-slot": "conversation", isScrollable: true, role: "region", tabIndex: 0, children: conversation }), _jsx("div", { className: chatWorkspaceComposerClassName, "data-contract": "BOUNDARY-1", "data-grammar-chat-workspace-slot": "composer", children: composer })] }), hasRail && !isCompactRail ? (_jsx("div", { className: chatWorkspaceInlineRailClassName, children: _jsx(Rail, { height: "fill", inset: "none", isLabelHidden: true, label: railConfig.label, mode: "flow", width: railWidth, children: _jsx(VerticalScrollRegion, { "aria-label": railConfig.label, className: chatWorkspaceOverlayRailClassName, "data-contract": "OVERFLOW-4 OVERFLOW-5 PADDING-4", "data-grammar-chat-workspace-rail-presentation": "inline", "data-grammar-chat-workspace-slot": "rail", isScrollable: true, role: "region", tabIndex: 0, children: railConfig.content }) }) })) : null] })] }));
39
+ return (_jsxs("section", { ...sectionProps, "aria-label": label, className: cn(chatWorkspaceClassName, className), "data-grammar-chat-workspace": "true", "data-component": "ChatWorkspace", "data-tier": "composition", "data-grammar-chat-workspace-rail": hasRail ? "present" : "absent", children: [header === undefined ? null : (_jsx("header", { className: chatWorkspaceHeaderClassName, "data-grammar-chat-workspace-slot": "header", children: header })), hasRail && isCompactRail ? (_jsxs(Drawer, { isOpen: railConfig.isOpen, onOpenChange: railConfig.onOpenChange, children: [_jsx("div", { className: chatWorkspaceRailTriggerBoundaryClassName, "data-contract": "BOUNDARY-1 PADDING-4 PADDING-2", children: _jsx(Drawer.Trigger, { className: chatWorkspaceRailTriggerClassName, "data-contract": "PADDING-3 SURFACE-2 FONT-2 TONE-1", children: railConfig.openLabel }) }), _jsx(Drawer.Backdrop, { children: _jsx(Drawer.Content, { className: chatWorkspaceDrawerContentClassName, placement: "right", children: _jsx(Drawer.Dialog, { className: chatWorkspaceDrawerDialogClassName, "data-grammar-nesting": "surface", children: _jsxs(SurfaceNesting, { children: [_jsx(Drawer.Header, { children: _jsx(Drawer.Heading, { children: railConfig.label }) }), _jsx(Drawer.CloseTrigger, { "aria-label": railConfig.closeLabel, className: chatWorkspaceDrawerCloseClassName, "data-contract": "SURFACE-2 TONE-1" }), _jsx(Drawer.Body, { className: chatWorkspaceDrawerBodyClassName, "data-contract": "OVERFLOW-2 PADDING-0", children: _jsx(VerticalScrollRegion, { "aria-label": railConfig.label, className: chatWorkspaceOverlayRailClassName, "data-contract": "OVERFLOW-4 OVERFLOW-5 PADDING-4", "data-grammar-chat-workspace-rail-presentation": "overlay", "data-grammar-chat-workspace-slot": "rail", isScrollable: true, role: "region", tabIndex: 0, children: railConfig.content }) })] }) }) }) })] })) : null, _jsxs("div", { className: getChatWorkspaceLayoutClassName(railWidth, hasRail), "data-contract": "GAP-5", "data-grammar-chat-workspace-layout": "true", "data-grammar-chat-workspace-rail-width": hasRail ? railWidth : undefined, children: [_jsxs("div", { className: chatWorkspacePrimaryClassName, "data-grammar-chat-workspace-slot": "primary", children: [_jsx(VerticalScrollRegion, { "aria-label": conversationLabel, className: chatWorkspaceConversationClassName, "data-contract": "OVERFLOW-4 OVERFLOW-5", "data-grammar-chat-workspace-scroll-owner": "conversation", "data-grammar-chat-workspace-slot": "conversation", isScrollable: true, role: "region", tabIndex: 0, children: conversation }), _jsx("div", { className: chatWorkspaceComposerClassName, "data-contract": "BOUNDARY-1", "data-grammar-chat-workspace-slot": "composer", children: composer })] }), hasRail && !isCompactRail ? (_jsx("div", { className: chatWorkspaceInlineRailClassName, children: _jsx(Rail, { height: "fill", inset: "none", isLabelHidden: true, label: railConfig.label, mode: "flow", width: railWidth, children: _jsx(VerticalScrollRegion, { "aria-label": railConfig.label, className: chatWorkspaceOverlayRailClassName, "data-contract": "OVERFLOW-4 OVERFLOW-5 PADDING-4", "data-grammar-chat-workspace-rail-presentation": "inline", "data-grammar-chat-workspace-slot": "rail", isScrollable: true, role: "region", tabIndex: 0, children: railConfig.content }) }) })) : null] })] }));
39
40
  };
40
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/index.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,22 @@
1
- import type { ReactNode } from "react";
1
+ import { type ReactNode } from "react";
2
2
  import { type IconSource } from "../../primitive/Icon/index.js";
3
3
  export type SidebarItem = {
4
4
  readonly id: string;
5
5
  readonly label: string;
6
6
  readonly source?: IconSource;
7
7
  readonly trailing?: ReactNode;
8
+ /** Unread or pending count, visible in both the expanded sidebar and the icon rail. */
9
+ readonly badge?: number | string;
10
+ /** Count announcement, e.g. "3 unread conversations". */
11
+ readonly badgeLabel?: string;
12
+ readonly badgeMax?: number;
8
13
  readonly isDisabled?: boolean;
9
14
  };
10
15
  export type SidebarGroup = {
11
16
  readonly id: string;
12
17
  readonly label?: string;
18
+ /** Settings-type groups stay at the end, preserving their authored order. */
19
+ readonly placement?: "start" | "end";
13
20
  readonly items: ReadonlyArray<SidebarItem>;
14
21
  };
15
22
  export type SidebarProps = {
@@ -30,7 +37,7 @@ export type SidebarProps = {
30
37
  * Shared grouped sidebar renderer; apps own route, permission, copy and persistence policy.
31
38
  *
32
39
  * Geometry is owned by `.starci-core-sidebar*` in the packaged stylesheet, and the collapsed and
33
- * drawer projections are read from `data-collapsed` and `data-presentation` on this root. Nothing
40
+ * drawer projections are read from `data-collapsed` and `data-presentation` on this root. Items keep HeroUI's padding. Nothing
34
41
  * here depends on a consumer's Tailwind build scanning the package.
35
42
  */
36
43
  export declare const Sidebar: ({ label, groups, selectedKey, presentation, isCollapsed, collapseLabel, expandLabel, toggleSource, header, footer, onAction, onCollapsedChange, }: SidebarProps) => import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAerE,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5D,CAAA;AAoBD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,mJAarB,YAAY,gCAwEd,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAG/D,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAerE,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,yDAAyD;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5D,CAAA;AAOD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,mJAarB,YAAY,gCAwHd,CAAA"}
@@ -1,41 +1,65 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Header, ListBox } from "@heroui/react";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Header, ListBox, Separator } from "@heroui/react";
4
+ import { useId, useRef, useState } from "react";
5
+ import { AnchoredTooltip } from "../../branch/Tooltip/index.js";
6
+ import { SurfaceNesting } from "../../surfaceContext.js";
4
7
  import { Icon } from "../../primitive/Icon/index.js";
5
- import { IconButton } from "../../primitive/IconButton/index.js";
8
+ import { IconButton, iconButtonBadgeText } from "../../primitive/IconButton/index.js";
6
9
  import { sidebarClassName, sidebarFooterClassName, sidebarHeaderClassName, sidebarItemClassName, sidebarItemLabelClassName, sidebarItemTrailingClassName, sidebarListClassName, sidebarSectionClassName, sidebarSectionLabelClassName, sidebarToggleClassName, } from "./classNames.js";
7
- /**
8
- * Sections and items share ONE key namespace inside the collection.
9
- *
10
- * A caller naturally writes `{ id: "home", items: [{ id: "home" }] }` - the group that holds the
11
- * home destination, named after it. That duplicate key made the collection unresolvable: every
12
- * section after the first was dropped from the render, and a re-render (collapsing the rail) sent
13
- * reconciliation into a loop that never settled, which under Vitest reads as a worker that never
14
- * reports. Prefixing the section key keeps the caller's vocabulary free: a group id and an item id
15
- * may be the same word, because only the item id is ever a real collection key.
16
- */
10
+ /** Namespacing section keys lets a group and its destination share an app-owned id. */
17
11
  const sectionKey = (id) => `sidebar-section:${id}`;
18
- const firstKey = (keys) => {
19
- if (keys === "all")
20
- return undefined;
21
- const value = keys.values().next().value;
22
- return value === undefined ? undefined : String(value);
23
- };
24
12
  /**
25
13
  * Shared grouped sidebar renderer; apps own route, permission, copy and persistence policy.
26
14
  *
27
15
  * Geometry is owned by `.starci-core-sidebar*` in the packaged stylesheet, and the collapsed and
28
- * drawer projections are read from `data-collapsed` and `data-presentation` on this root. Nothing
16
+ * drawer projections are read from `data-collapsed` and `data-presentation` on this root. Items keep HeroUI's padding. Nothing
29
17
  * here depends on a consumer's Tailwind build scanning the package.
30
18
  */
31
19
  export const Sidebar = ({ label, groups, selectedKey, presentation = "rail", isCollapsed = false, collapseLabel, expandLabel, toggleSource, header, footer, onAction, onCollapsedChange, }) => {
32
20
  const collapsed = presentation === "rail" && isCollapsed;
21
+ const listId = useId();
22
+ const tooltipId = useId();
23
+ const hoveredItem = useRef(null);
24
+ const focusedItem = useRef(null);
25
+ const [tooltip, setTooltip] = useState(null);
26
+ const orderedGroups = [...groups.filter((group) => group.placement !== "end"), ...groups.filter((group) => group.placement === "end")];
27
+ const updateTooltip = () => {
28
+ const item = hoveredItem.current ?? focusedItem.current;
29
+ setTooltip(item);
30
+ };
31
+ const showTooltip = (target, item, kind) => {
32
+ if (!collapsed)
33
+ return;
34
+ const ref = kind === "hover" ? hoveredItem : focusedItem;
35
+ ref.current = { target, id: item.id, label: item.label };
36
+ updateTooltip();
37
+ };
38
+ const hideTooltip = (kind) => {
39
+ if (kind !== "focus")
40
+ hoveredItem.current = null;
41
+ if (kind !== "hover")
42
+ focusedItem.current = null;
43
+ updateTooltip();
44
+ };
33
45
  const toggleLabel = collapsed ? expandLabel : collapseLabel;
34
46
  const canToggle = presentation === "rail" && toggleSource !== undefined && toggleLabel !== undefined && onCollapsedChange !== undefined;
35
- return (_jsxs("div", { "data-tier": "composition", "data-component": "Sidebar", "data-presentation": presentation, "data-collapsed": collapsed ? "true" : "false", className: sidebarClassName, "data-contract": ["OVERFLOW-2", presentation === "drawer" ? "MEASURE-2" : "MEASURE-6"].join(" "), children: [canToggle ? (_jsx("div", { className: sidebarToggleClassName, "data-contract": "PADDING-2", children: _jsx(IconButton, { source: toggleSource, label: toggleLabel, isActive: collapsed, onPress: () => onCollapsedChange(!collapsed) }) })) : null, collapsed || header == null ? null : _jsx("div", { className: sidebarHeaderClassName, "data-contract": "PADDING-3", children: header }), _jsx(ListBox, { "aria-label": label, selectionMode: "single", selectedKeys: selectedKey === undefined ? [] : [selectedKey], onSelectionChange: (keys) => {
36
- const key = firstKey(keys);
37
- if (key !== undefined)
38
- onAction?.(key);
39
- }, className: sidebarListClassName, "data-contract": collapsed ? "GAP-1 PADDING-2" : "GAP-1 PADDING-3", children: groups.map((group) => (_jsxs(ListBox.Section, { id: sectionKey(group.id), className: sidebarSectionClassName, "data-contract": "GAP-1", children: [group.label === undefined ? null : (_jsx(Header, { className: sidebarSectionLabelClassName, ...(collapsed ? {} : { "data-contract": "PADDING-2 PADDING-1 PADDING-3 FONT-1 TONE-2" }), children: group.label })), group.items.map((item) => (_jsxs(ListBox.Item, { id: item.id, textValue: item.label, className: sidebarItemClassName, "data-contract": collapsed ? "TONE-1 SURFACE-4" : "GAP-3 PADDING-3 PADDING-2 TONE-1 SURFACE-4", ...(collapsed ? { "aria-label": item.label } : {}), ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: [item.source === undefined ? null : _jsx(Icon, { source: item.source, usage: "leading" }), collapsed ? null : _jsx("span", { className: sidebarItemLabelClassName, "data-contract": "FLOW-4 FONT-2", children: item.label }), collapsed || item.trailing == null ? null : _jsx("span", { className: sidebarItemTrailingClassName, children: item.trailing })] }, item.id)))] }, group.id))) }), collapsed || footer == null ? null : _jsx("div", { className: sidebarFooterClassName, "data-contract": "PADDING-3 PADDING-0", children: footer })] }));
47
+ const content = (_jsxs(_Fragment, { children: [_jsxs("div", { "data-tier": "composition", "data-component": "Sidebar", "data-grammar-nesting": "surface", "data-presentation": presentation, "data-collapsed": collapsed ? "true" : "false", className: sidebarClassName, "data-contract": ["FE-APP-SHELL-6", "OVERFLOW-2", presentation === "drawer" ? "MEASURE-2" : "MEASURE-6"].join(" "), children: [canToggle ? (_jsx("div", { className: sidebarToggleClassName, "data-contract": "PADDING-2", children: _jsx(IconButton, { source: toggleSource, label: toggleLabel, size: "control", isActive: collapsed, "aria-expanded": !collapsed, "aria-controls": listId, onPress: () => { hideTooltip(); onCollapsedChange(!collapsed); } }) })) : null, collapsed || header == null ? null : _jsx("div", { className: sidebarHeaderClassName, "data-contract": "PADDING-3", children: header }), _jsx(ListBox, { id: listId, "aria-label": label, selectionMode: "none", onAction: (key) => {
48
+ hideTooltip();
49
+ onAction?.(String(key));
50
+ }, className: sidebarListClassName, "data-contract": collapsed ? "GAP-1 PADDING-2" : "GAP-1 PADDING-3", children: orderedGroups.flatMap((group, groupIndex) => [
51
+ // HeroUI divides adjacent sections with its own `Separator`, so a group never forgets one.
52
+ ...(groupIndex === 0 ? [] : [_jsx(Separator, {}, `separator-${group.id}`)]),
53
+ _jsxs(ListBox.Section, { id: sectionKey(group.id), className: sidebarSectionClassName, "data-grammar-sidebar-group-placement": group.placement ?? "start", "data-grammar-sidebar-end-start": group.placement === "end" && orderedGroups[groupIndex - 1]?.placement !== "end" ? "true" : undefined, "data-contract": "GAP-1", children: [group.label === undefined ? null : (_jsx(Header, { className: sidebarSectionLabelClassName, ...(collapsed ? {} : { "data-contract": "PADDING-2 PADDING-1 PADDING-3 FONT-1 TONE-2" }), children: group.label })), group.items.map((item) => {
54
+ const badgeText = iconButtonBadgeText(item.badge, item.badgeMax);
55
+ const accessibleLabel = badgeText === null ? item.label : `${item.label}, ${item.badgeLabel ?? badgeText}`;
56
+ return (_jsxs(ListBox.Item, { id: item.id, textValue: item.label, className: sidebarItemClassName, "data-grammar-current": selectedKey === item.id ? "true" : "false", "aria-current": selectedKey === item.id ? "page" : undefined, "data-contract": collapsed ? "TONE-1 SURFACE-4" : "GAP-3 TONE-1 SURFACE-4", ...(collapsed || badgeText !== null ? { "aria-label": accessibleLabel } : {}), render: (props) => {
57
+ const describedBy = [props["aria-describedby"], collapsed && tooltip?.id === item.id ? tooltipId : undefined].filter(Boolean).join(" ") || undefined;
58
+ return "href" in props ? _jsx("a", { ...props, "aria-describedby": describedBy }) : _jsx("div", { ...props, "aria-describedby": describedBy });
59
+ }, onHoverStart: (event) => showTooltip(event.target, item, "hover"), onHoverEnd: () => hideTooltip("hover"), onFocus: (event) => showTooltip(event.target, item, "focus"), onBlur: () => hideTooltip("focus"), onKeyDown: (event) => { if (event.key === "Escape")
60
+ hideTooltip(); }, ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: [item.source === undefined ? null : _jsx(Icon, { source: item.source, usage: "leading" }), collapsed ? null : _jsx("span", { className: sidebarItemLabelClassName, "data-contract": "FLOW-4 FONT-2", children: item.label }), badgeText === null ? null : _jsx("span", { "aria-hidden": true, className: "starci-core-icon-button-badge starci-core-sidebar-item-badge", "data-grammar-sidebar-badge": "true", children: badgeText }), collapsed || item.trailing == null ? null : _jsx("span", { className: sidebarItemTrailingClassName, children: item.trailing })] }, item.id));
61
+ })] }, group.id),
62
+ ]) }), collapsed || footer == null ? null : _jsx("div", { className: sidebarFooterClassName, "data-contract": "PADDING-3 PADDING-0", children: footer })] }), _jsx(AnchoredTooltip, { id: tooltipId, target: tooltip?.target ?? null, content: tooltip?.label, isOpen: collapsed && tooltip !== null })] }));
63
+ return _jsx(SurfaceNesting, { children: content });
40
64
  };
41
65
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export declare const workspaceShellRailClassName: import("tailwind-variants").Cn
8
8
  export declare const workspaceShellLeadingRuleClassName: import("tailwind-variants").CnReturn;
9
9
  export declare const workspaceShellCompactNavigationClassName: import("tailwind-variants").CnReturn;
10
10
  export declare const workspaceShellFloatingLayerClassName: import("tailwind-variants").CnReturn;
11
+ export declare const workspaceShellOpenerClassName: import("tailwind-variants").CnReturn;
11
12
  //# sourceMappingURL=classNames.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/WorkspaceShell/classNames.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,sCAAoC,CAAA;AACxE,eAAO,MAAM,6BAA6B,sCAA2C,CAAA;AACrF,eAAO,MAAM,oCAAoC,sCAAmD,CAAA;AACpG,eAAO,MAAM,6BAA6B,sCAA2C,CAAA;AACrF,eAAO,MAAM,iCAAiC,sCAA+C,CAAA;AAC7F,eAAO,MAAM,8BAA8B,sCAA4C,CAAA;AACvF,eAAO,MAAM,2BAA2B,sCAAyC,CAAA;AACjF,eAAO,MAAM,kCAAkC,sCAAiD,CAAA;AAChG,eAAO,MAAM,wCAAwC,sCAAuD,CAAA;AAC5G,eAAO,MAAM,oCAAoC,sCAAmD,CAAA"}
1
+ {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/WorkspaceShell/classNames.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,sCAAoC,CAAA;AACxE,eAAO,MAAM,6BAA6B,sCAA2C,CAAA;AACrF,eAAO,MAAM,oCAAoC,sCAAmD,CAAA;AACpG,eAAO,MAAM,6BAA6B,sCAA2C,CAAA;AACrF,eAAO,MAAM,iCAAiC,sCAA+C,CAAA;AAC7F,eAAO,MAAM,8BAA8B,sCAA4C,CAAA;AACvF,eAAO,MAAM,2BAA2B,sCAAyC,CAAA;AACjF,eAAO,MAAM,kCAAkC,sCAAiD,CAAA;AAChG,eAAO,MAAM,wCAAwC,sCAAuD,CAAA;AAC5G,eAAO,MAAM,oCAAoC,sCAAmD,CAAA;AACpG,eAAO,MAAM,6BAA6B,sCAA2C,CAAA"}
@@ -9,4 +9,5 @@ export const workspaceShellRailClassName = cn("starci-core-workspace-shell-rail"
9
9
  export const workspaceShellLeadingRuleClassName = cn("starci-core-workspace-shell-leading-rule");
10
10
  export const workspaceShellCompactNavigationClassName = cn("starci-core-workspace-shell-compact-navigation");
11
11
  export const workspaceShellFloatingLayerClassName = cn("starci-core-workspace-shell-floating-layer");
12
+ export const workspaceShellOpenerClassName = cn("starci-core-workspace-shell-opener");
12
13
  //# sourceMappingURL=classNames.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/composition/WorkspaceShell/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAA;AACrF,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC,4CAA4C,CAAC,CAAA;AACpG,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAA;AACrF,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC,wCAAwC,CAAC,CAAA;AAC7F,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC,qCAAqC,CAAC,CAAA;AACvF,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC,kCAAkC,CAAC,CAAA;AACjF,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC,0CAA0C,CAAC,CAAA;AAChG,MAAM,CAAC,MAAM,wCAAwC,GAAG,EAAE,CAAC,gDAAgD,CAAC,CAAA;AAC5G,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC,4CAA4C,CAAC,CAAA"}
1
+ {"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/composition/WorkspaceShell/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAA;AACrF,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC,4CAA4C,CAAC,CAAA;AACpG,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAA;AACrF,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC,wCAAwC,CAAC,CAAA;AAC7F,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC,qCAAqC,CAAC,CAAA;AACvF,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC,kCAAkC,CAAC,CAAA;AACjF,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC,0CAA0C,CAAC,CAAA;AAChG,MAAM,CAAC,MAAM,wCAAwC,GAAG,EAAE,CAAC,gDAAgD,CAAC,CAAA;AAC5G,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC,4CAA4C,CAAC,CAAA;AACpG,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAA"}
@@ -1,4 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
+ import type { OverlayOpenState } from "../../overlayScope.js";
3
+ import type { IconSource } from "../../primitive/Icon/index.js";
2
4
  type SlotContent = Exclude<ReactNode, null | undefined | boolean>;
3
5
  type ShellOwnedMain = ({
4
6
  readonly primaryLabel: string;
@@ -52,6 +54,26 @@ type WithoutCompactNavigation = {
52
54
  readonly compactNavigation?: undefined;
53
55
  readonly compactNavigationLabel?: never;
54
56
  };
57
+ /**
58
+ * The compact-width opener of the navigation: below the wide breakpoint the shell hides `navigation` and draws one row under the bar
59
+ * (the bar's height, an edge-to-edge divider) holding a round tertiary icon button that opens `content` (a `Sidebar` with
60
+ * `presentation="drawer"`) in a left Drawer. The Drawer owns its state from `defaultOpen`; the shared overlay contract also
61
+ * permits controlled state when the caller needs to coordinate dismissal with another action.
62
+ */
63
+ export type WorkspaceShellNavigationDrawer = OverlayOpenState & {
64
+ /** The drawer's title and its dialog name. */
65
+ readonly title: string;
66
+ /** The opener button's accessible name. */
67
+ readonly openLabel: string;
68
+ /** The drawer close button's accessible name. */
69
+ readonly closeLabel: string;
70
+ /** The opener glyph (an ellipsis). */
71
+ readonly source: IconSource;
72
+ /** The drawer body, normally `<Sidebar presentation="drawer" ... />`. */
73
+ readonly content: ReactNode;
74
+ /** Optional text drawn beside the opener, e.g. the current section. */
75
+ readonly rowTitle?: string;
76
+ };
55
77
  /**
56
78
  * Who owns the page's single banner landmark when the shell has a `header`.
57
79
  *
@@ -72,6 +94,14 @@ export type WorkspaceShellProps = (ShellOwnedMain | CallerOwnedMain) & (WithNavi
72
94
  */
73
95
  readonly headerLandmark?: WorkspaceShellHeaderLandmark;
74
96
  readonly compactHeader?: ReactNode;
97
+ /**
98
+ * `flow` (default): the page scrolls and the shell grows with its content. `fixed`: the shell is exactly one viewport tall
99
+ * (`100dvh`), the header stays on top and the navigation, the primary region and the rail each scroll on their own, so an app
100
+ * needs no viewport-height arithmetic of its own.
101
+ */
102
+ readonly viewport?: "flow" | "fixed";
103
+ /** The compact-width navigation opener row and its Sidebar drawer (see `WorkspaceShellNavigationDrawer`). Needs `navigation`. */
104
+ readonly navigationDrawer?: WorkspaceShellNavigationDrawer;
75
105
  readonly primary: ReactNode;
76
106
  readonly primaryId?: string;
77
107
  readonly floatingLayer?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/WorkspaceShell/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/WorkspaceShell/index.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from "@heroui/react";
3
3
  import { isValidElement } from "react";
4
+ import { Drawer } from "../../branch/Drawer/index.js";
4
5
  import { Rail } from "../../branch/Rail/index.js";
6
+ import { IconButton } from "../../primitive/IconButton/index.js";
5
7
  import { NavigationFeatureNav } from "../NavigationFeatureNav/index.js";
6
8
  import { TopBar } from "../TopBar/index.js";
7
- import { workspaceShellClassName, workspaceShellCompactHeaderClassName, workspaceShellCompactNavigationClassName, workspaceShellFloatingLayerClassName, workspaceShellHeaderClassName, workspaceShellLayoutClassName, workspaceShellLeadingRuleClassName, workspaceShellNavigationClassName, workspaceShellPrimaryClassName, workspaceShellRailClassName, } from "./classNames.js";
9
+ import { workspaceShellClassName, workspaceShellCompactHeaderClassName, workspaceShellCompactNavigationClassName, workspaceShellFloatingLayerClassName, workspaceShellHeaderClassName, workspaceShellLayoutClassName, workspaceShellLeadingRuleClassName, workspaceShellNavigationClassName, workspaceShellOpenerClassName, workspaceShellPrimaryClassName, workspaceShellRailClassName, } from "./classNames.js";
10
+ /** The actual Drawer trigger owns activation, expanded state and focus restoration without a caller callback. */
11
+ const WorkspaceNavigationDrawer = ({ openLabel, source, content, rowTitle, ...drawerProps }) => (_jsxs("div", { className: workspaceShellOpenerClassName, "data-grammar-workspace-opener": "true", children: [_jsx(Drawer, { ...drawerProps, placement: "left", trigger: _jsx(IconButton, { label: openLabel, source: source, variant: "tertiary", size: "control" }), children: content }), rowTitle === undefined ? null : _jsx("span", { className: "starci-core-workspace-shell-opener-title", "data-grammar-workspace-opener-title": "true", children: rowTitle })] }));
8
12
  /** Grammar bars that own the banner themselves; hosting one flips the default to `slot`. */
9
13
  const BANNER_OWNERS = new Set([TopBar, NavigationFeatureNav]);
10
14
  /** Resolve the landmark rule: an explicit prop wins, otherwise a Grammar app bar in the slot owns it. */
@@ -12,7 +16,9 @@ export const resolveWorkspaceHeaderLandmark = (header, headerLandmark) => header
12
16
  /** Shared product workspace anatomy; connected apps supply every route and business slot. */
13
17
  export const WorkspaceShell = (props) => {
14
18
  const hasHeader = props.header != null && typeof props.header !== "boolean";
15
- const hasCompactHeader = props.compactHeader != null && typeof props.compactHeader !== "boolean";
19
+ const drawerSpec = props.navigation === undefined ? undefined : props.navigationDrawer;
20
+ const hasSlotOpener = props.viewport === "fixed" && drawerSpec === undefined;
21
+ const hasCompactHeader = (props.compactHeader != null && typeof props.compactHeader !== "boolean") || drawerSpec !== undefined;
16
22
  const hasNavigation = props.navigation !== undefined;
17
23
  const hasRail = props.rail !== undefined;
18
24
  const hasCompactNavigation = props.compactNavigation !== undefined;
@@ -22,8 +28,8 @@ export const WorkspaceShell = (props) => {
22
28
  const primary = mainLandmark === "caller" ? _jsx("div", { className: workspaceShellPrimaryClassName, "data-contract": "GAP-5", "data-grammar-workspace-primary": "true", "data-grammar-main-landmark": "caller", id: props.primaryId, tabIndex: -1, children: props.primary }) : _jsx("main", { "aria-label": props.primaryLabel, "aria-labelledby": props.primaryLabelledBy, className: workspaceShellPrimaryClassName, "data-contract": "GAP-5", "data-grammar-workspace-primary": "true", "data-grammar-main-landmark": "shell", id: props.primaryId, tabIndex: -1, children: props.primary });
23
29
  const rail = hasRail ? _jsx("div", { className: workspaceShellRailClassName, "data-grammar-workspace-rail-region": "true", children: _jsx(Rail, { inset: props.railInset ?? "none", isLabelHidden: props.isRailLabelHidden ?? true, label: props.railLabel, mode: props.railMode ?? "flow", width: props.railWidth ?? "standard", children: props.rail }) }) : null;
24
30
  const leadingRule = railPosition === "leading" ? _jsx("div", { "aria-hidden": "true", className: workspaceShellLeadingRuleClassName, "data-contract": "BOUNDARY-4", "data-grammar-workspace-leading-rule": "true" }) : null;
25
- return _jsxs("div", { className: cn(workspaceShellClassName, props.className), "data-grammar-workspace-floating": hasFloatingLayer ? "present" : "absent", "data-grammar-workspace-shell": "true", "data-component": "WorkspaceShell", "data-tier": "composition", children: [hasHeader ? (resolveWorkspaceHeaderLandmark(props.header, props.headerLandmark) === "slot"
31
+ return _jsxs("div", { className: cn(workspaceShellClassName, props.className), "data-contract": "FE-APP-SHELL-1", "data-grammar-workspace-viewport": props.viewport ?? "flow", "data-grammar-workspace-floating": hasFloatingLayer ? "present" : "absent", "data-grammar-workspace-shell": "true", "data-component": "WorkspaceShell", "data-tier": "composition", children: [hasHeader ? (resolveWorkspaceHeaderLandmark(props.header, props.headerLandmark) === "slot"
26
32
  ? _jsx("div", { className: workspaceShellHeaderClassName, "data-contract": "MARGIN-5", "data-grammar-workspace-header": "true", "data-grammar-workspace-header-landmark": "slot", children: props.header })
27
- : _jsx("header", { className: workspaceShellHeaderClassName, "data-contract": "MARGIN-5", "data-grammar-workspace-header": "true", "data-grammar-workspace-header-landmark": "shell", children: props.header })) : null, hasCompactHeader ? _jsx("div", { className: workspaceShellCompactHeaderClassName, "data-grammar-workspace-compact-header": "true", children: props.compactHeader }) : null, _jsxs("div", { className: workspaceShellLayoutClassName, "data-contract": "GAP-5 MEASURE-1", "data-grammar-workspace-align": props.align ?? "start", "data-grammar-workspace-navigation": hasNavigation ? "present" : "absent", "data-grammar-workspace-navigation-track": hasNavigation ? props.navigationTrack ?? "fixed" : undefined, "data-grammar-workspace-navigation-visibility": hasNavigation ? props.navigationVisibility ?? "always" : undefined, "data-grammar-workspace-rail": hasRail ? "present" : "absent", "data-grammar-workspace-rail-position": railPosition, "data-grammar-workspace-rail-width": hasRail ? props.railWidth ?? "standard" : undefined, children: [hasNavigation ? _jsx("nav", { "aria-label": props.navigationLabel, className: workspaceShellNavigationClassName, "data-grammar-workspace-navigation-region": "true", children: props.navigation }) : null, railPosition === "leading" ? rail : null, leadingRule, primary, railPosition === "trailing" ? rail : null] }), hasCompactNavigation ? _jsx("nav", { "aria-label": props.compactNavigationLabel, className: workspaceShellCompactNavigationClassName, "data-contract": "BOUNDARY-1", "data-grammar-workspace-compact-navigation": "true", "data-grammar-bottom-chrome": "true", children: props.compactNavigation }) : null, hasFloatingLayer ? _jsx("div", { className: workspaceShellFloatingLayerClassName, "data-contract": "OVERFLOW-4", "data-grammar-workspace-floating-layer": "true", children: props.floatingLayer }) : null] });
33
+ : _jsx("header", { className: workspaceShellHeaderClassName, "data-contract": "MARGIN-5", "data-grammar-workspace-header": "true", "data-grammar-workspace-header-landmark": "shell", children: props.header })) : null, hasCompactHeader ? _jsxs("div", { className: cn(workspaceShellCompactHeaderClassName, hasSlotOpener ? workspaceShellOpenerClassName : undefined), "data-grammar-workspace-compact-header": "true", "data-grammar-workspace-opener": hasSlotOpener ? "true" : undefined, children: [props.compactHeader, drawerSpec === undefined ? null : _jsx(WorkspaceNavigationDrawer, { ...drawerSpec })] }) : null, _jsxs("div", { className: workspaceShellLayoutClassName, "data-contract": "GAP-5 MEASURE-1", "data-grammar-workspace-align": props.align ?? "start", "data-grammar-workspace-navigation": hasNavigation ? "present" : "absent", "data-grammar-workspace-navigation-track": hasNavigation ? props.navigationTrack ?? "fixed" : undefined, "data-grammar-workspace-navigation-visibility": hasNavigation ? props.navigationVisibility ?? (drawerSpec === undefined ? "always" : "wide") : undefined, "data-grammar-workspace-rail": hasRail ? "present" : "absent", "data-grammar-workspace-rail-position": railPosition, "data-grammar-workspace-rail-width": hasRail ? props.railWidth ?? "standard" : undefined, children: [hasNavigation ? _jsx("nav", { "aria-label": props.navigationLabel, className: workspaceShellNavigationClassName, "data-grammar-workspace-navigation-region": "true", children: props.navigation }) : null, railPosition === "leading" ? rail : null, leadingRule, primary, railPosition === "trailing" ? rail : null] }), hasCompactNavigation ? _jsx("nav", { "aria-label": props.compactNavigationLabel, className: workspaceShellCompactNavigationClassName, "data-contract": "BOUNDARY-1", "data-grammar-workspace-compact-navigation": "true", "data-grammar-bottom-chrome": "true", children: props.compactNavigation }) : null, hasFloatingLayer ? _jsx("div", { className: workspaceShellFloatingLayerClassName, "data-contract": "OVERFLOW-4", "data-grammar-workspace-floating-layer": "true", children: props.floatingLayer }) : null] });
28
34
  };
29
35
  //# sourceMappingURL=index.js.map