@sableui/react 0.9.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/AGENTS.md +1 -1
  2. package/CHANGELOG.md +109 -0
  3. package/CONTRIBUTING.md +2 -2
  4. package/DESIGN.md +55 -16
  5. package/README.md +12 -0
  6. package/dist/{_contract-C2M1SjBf.d.ts → _contract-CkqXDVww.d.ts} +25 -2
  7. package/dist/blocks/danger-zone-block.js +3 -3
  8. package/dist/blocks/danger-zone-block.meta.js +1 -1
  9. package/dist/blocks/faq-block.js +3 -3
  10. package/dist/blocks/goal-progress-block.js +1 -1
  11. package/dist/blocks/notification-list-block.js +1 -1
  12. package/dist/blocks/pricing-table-block.js +12 -12
  13. package/dist/blocks/product-card-block.js +3 -3
  14. package/dist/blocks/product-card-block.meta.js +3 -3
  15. package/dist/blocks/profile-card-block.js +1 -1
  16. package/dist/blocks/profile-form-block.js +3 -3
  17. package/dist/blocks/revenue-breakdown-block.js +5 -5
  18. package/dist/blocks/stat-row-block.js +3 -3
  19. package/dist/blocks/task-list-block.js +2 -2
  20. package/dist/blocks/team-members-block.js +1 -1
  21. package/dist/blocks/wallet-block.js +4 -4
  22. package/dist/blocks/wallet-block.meta.js +3 -3
  23. package/dist/components/accordion/accordion.meta.js +2 -2
  24. package/dist/components/app-header/app-header.meta.js +1 -1
  25. package/dist/components/app-shell/app-shell.meta.js +2 -2
  26. package/dist/components/area-chart/area-chart.meta.js +3 -3
  27. package/dist/components/badge/badge.js +13 -4
  28. package/dist/components/badge/badge.meta.js +24 -13
  29. package/dist/components/badge/badge.variants.js +37 -23
  30. package/dist/components/banner/banner.meta.js +8 -8
  31. package/dist/components/banner/banner.variants.js +3 -3
  32. package/dist/components/bar-chart/bar-chart.meta.js +4 -4
  33. package/dist/components/breadcrumbs/breadcrumbs.meta.js +1 -1
  34. package/dist/components/button/button.meta.js +3 -3
  35. package/dist/components/card/card.js +16 -7
  36. package/dist/components/card/card.meta.js +4 -4
  37. package/dist/components/checkbox-card/checkbox-card.meta.js +10 -10
  38. package/dist/components/checkbox-card/checkbox-card.variants.js +15 -15
  39. package/dist/components/code-block/code-block.meta.js +1 -1
  40. package/dist/components/command-menu/command-menu.meta.js +1 -1
  41. package/dist/components/context-card/context-card.meta.js +2 -2
  42. package/dist/components/destructive-action-modal/destructive-action-modal.meta.js +1 -1
  43. package/dist/components/dialog/dialog.meta.js +2 -2
  44. package/dist/components/disclosure-picker/disclosure-picker.js +48 -2
  45. package/dist/components/disclosure-picker/disclosure-picker.meta.js +3 -2
  46. package/dist/components/empty-state/empty-state.meta.js +4 -4
  47. package/dist/components/gradient-art/gradient-art.meta.js +3 -3
  48. package/dist/components/label/label.meta.js +1 -1
  49. package/dist/components/line-chart/line-chart.meta.js +3 -3
  50. package/dist/components/meter/meter.js +1 -1
  51. package/dist/components/meter/meter.meta.js +2 -2
  52. package/dist/components/meter/meter.variants.js +1 -1
  53. package/dist/components/middle-truncate/middle-truncate.meta.js +4 -4
  54. package/dist/components/note/note.meta.js +3 -3
  55. package/dist/components/page-header/page-header.js +1 -1
  56. package/dist/components/pagination/pagination.meta.js +2 -2
  57. package/dist/components/panel-section/index.js +2 -1
  58. package/dist/components/panel-section/panel-section.js +15 -0
  59. package/dist/components/panel-section/panel-section.meta.js +32 -0
  60. package/dist/components/phone/phone.meta.js +1 -1
  61. package/dist/components/pie-chart/pie-chart.meta.js +3 -3
  62. package/dist/components/pill/pill.js +4 -2
  63. package/dist/components/pill/pill.meta.js +19 -2
  64. package/dist/components/pill/pill.variants.js +23 -2
  65. package/dist/components/popover/popover.meta.js +2 -2
  66. package/dist/components/radar-chart/radar-chart.meta.js +3 -3
  67. package/dist/components/radial-chart/radial-chart.meta.js +3 -3
  68. package/dist/components/radio/radio.meta.js +2 -2
  69. package/dist/components/radio-card/radio-card.meta.js +6 -6
  70. package/dist/components/radio-card/radio-card.variants.js +15 -15
  71. package/dist/components/scroller/scroller.meta.js +1 -1
  72. package/dist/components/search-input/search-input.meta.js +1 -1
  73. package/dist/components/section-header/section-header.js +1 -1
  74. package/dist/components/segmented-bar/segmented-bar.js +1 -1
  75. package/dist/components/segmented-bar/segmented-bar.meta.js +6 -6
  76. package/dist/components/segmented-bar/segmented-bar.variants.js +4 -4
  77. package/dist/components/select/select.meta.js +2 -2
  78. package/dist/components/sheet/sheet.meta.js +1 -1
  79. package/dist/components/side-nav/side-nav.meta.js +1 -1
  80. package/dist/components/sidebar/sidebar.meta.js +1 -1
  81. package/dist/components/sparkline/sparkline.meta.js +4 -4
  82. package/dist/components/spinner/spinner.meta.js +1 -1
  83. package/dist/components/status-dot/status-dot.js +4 -1
  84. package/dist/components/status-dot/status-dot.meta.js +8 -16
  85. package/dist/components/status-dot/status-dot.variants.js +13 -4
  86. package/dist/components/table/table.meta.js +4 -4
  87. package/dist/components/tabs/tabs.meta.js +1 -1
  88. package/dist/components/textarea/textarea.meta.js +2 -2
  89. package/dist/components/toast/toast.meta.js +1 -1
  90. package/dist/components/tooltip/tooltip.meta.js +2 -2
  91. package/dist/file-hashes.json +123 -121
  92. package/dist/foundations/spacing.js +8 -8
  93. package/dist/index.d.ts +171 -76
  94. package/dist/index.js +12 -1
  95. package/dist/lib/chart/types.js +3 -3
  96. package/dist/lib/palette.js +103 -0
  97. package/dist/lib/selection-card.js +4 -4
  98. package/dist/palette.css +669 -0
  99. package/dist/patterns/auth-page.js +6 -6
  100. package/dist/patterns/auth-page.meta.js +3 -3
  101. package/dist/patterns/brand-landing-page.js +2 -2
  102. package/dist/patterns/chat-panel.js +2 -2
  103. package/dist/patterns/dashboard-page.js +71 -71
  104. package/dist/patterns/dashboard-page.meta.js +5 -5
  105. package/dist/patterns/feed-page.js +25 -25
  106. package/dist/patterns/feed-page.meta.js +3 -3
  107. package/dist/patterns/landing-page.js +1 -1
  108. package/dist/patterns/list-detail-page.js +17 -17
  109. package/dist/patterns/settings-page.js +17 -17
  110. package/dist/presets/index.d.ts +1 -1
  111. package/dist/presets/index.js +17 -2
  112. package/dist/styles.css +115 -50
  113. package/dist/{theme-provider-S0NVJs2Y.d.ts → theme-provider-CdSicAad.d.ts} +1 -1
  114. package/dist/themes/_contract.js +22 -8
  115. package/dist/themes/atelier/atelier.css +13 -13
  116. package/dist/themes/atelier/index.d.ts +1 -1
  117. package/dist/themes/ember/ember.css +13 -13
  118. package/dist/themes/ember/index.d.ts +1 -1
  119. package/dist/themes/index.d.ts +2 -2
  120. package/dist/themes/meridian/index.d.ts +1 -1
  121. package/dist/themes/meridian/meridian.css +13 -13
  122. package/dist/themes/poppy/index.d.ts +1 -1
  123. package/dist/themes/poppy/poppy.css +19 -16
  124. package/dist/themes/prism/index.d.ts +1 -1
  125. package/dist/themes/prism/prism.css +18 -15
  126. package/dist/themes/sable/index.d.ts +1 -1
  127. package/dist/themes/sable/sable.css +18 -22
  128. package/dist/themes/verdant/index.d.ts +1 -1
  129. package/dist/themes/verdant/verdant.css +15 -15
  130. package/llms/blocks/danger-zone-block.md +4 -4
  131. package/llms/blocks/faq-block.md +3 -3
  132. package/llms/blocks/goal-progress-block.md +1 -1
  133. package/llms/blocks/notification-list-block.md +1 -1
  134. package/llms/blocks/pricing-table-block.md +12 -12
  135. package/llms/blocks/product-card-block.md +6 -6
  136. package/llms/blocks/profile-card-block.md +1 -1
  137. package/llms/blocks/profile-form-block.md +3 -3
  138. package/llms/blocks/revenue-breakdown-block.md +5 -5
  139. package/llms/blocks/stat-row-block.md +3 -3
  140. package/llms/blocks/task-list-block.md +2 -2
  141. package/llms/blocks/team-members-block.md +1 -1
  142. package/llms/blocks/wallet-block.md +7 -7
  143. package/llms/components/accordion.md +2 -2
  144. package/llms/components/app-header.md +1 -1
  145. package/llms/components/app-shell.md +2 -2
  146. package/llms/components/area-chart.md +1 -1
  147. package/llms/components/badge.md +15 -7
  148. package/llms/components/banner.md +6 -6
  149. package/llms/components/bar-chart.md +2 -2
  150. package/llms/components/breadcrumbs.md +1 -1
  151. package/llms/components/button.md +3 -3
  152. package/llms/components/card.md +4 -4
  153. package/llms/components/checkbox-card.md +5 -5
  154. package/llms/components/code-block.md +1 -1
  155. package/llms/components/command-menu.md +1 -1
  156. package/llms/components/context-card.md +2 -2
  157. package/llms/components/destructive-action-modal.md +1 -1
  158. package/llms/components/dialog.md +2 -2
  159. package/llms/components/disclosure-picker.md +2 -1
  160. package/llms/components/empty-state.md +4 -4
  161. package/llms/components/gradient-art.md +3 -3
  162. package/llms/components/label.md +1 -1
  163. package/llms/components/line-chart.md +1 -1
  164. package/llms/components/meter.md +2 -2
  165. package/llms/components/middle-truncate.md +5 -5
  166. package/llms/components/note.md +3 -3
  167. package/llms/components/pagination.md +2 -2
  168. package/llms/components/panel-section.md +28 -0
  169. package/llms/components/phone.md +1 -1
  170. package/llms/components/pie-chart.md +1 -1
  171. package/llms/components/pill.md +12 -2
  172. package/llms/components/popover.md +2 -2
  173. package/llms/components/radar-chart.md +1 -1
  174. package/llms/components/radial-chart.md +1 -1
  175. package/llms/components/radio-card.md +4 -4
  176. package/llms/components/radio.md +2 -2
  177. package/llms/components/scroller.md +1 -1
  178. package/llms/components/search-input.md +1 -1
  179. package/llms/components/segmented-bar.md +7 -7
  180. package/llms/components/select.md +2 -2
  181. package/llms/components/sheet.md +1 -1
  182. package/llms/components/side-nav.md +1 -1
  183. package/llms/components/sidebar.md +1 -1
  184. package/llms/components/sparkline.md +2 -2
  185. package/llms/components/spinner.md +1 -1
  186. package/llms/components/status-dot.md +4 -4
  187. package/llms/components/table.md +8 -8
  188. package/llms/components/tabs.md +1 -1
  189. package/llms/components/textarea.md +2 -2
  190. package/llms/components/toast.md +1 -1
  191. package/llms/components/tooltip.md +2 -2
  192. package/llms/foundations/spacing.md +7 -7
  193. package/llms/layout/grid.md +1 -1
  194. package/llms/layout/page.md +1 -1
  195. package/llms/layout/region.md +1 -1
  196. package/llms/layout/split-pane.md +1 -1
  197. package/llms/patterns/auth-page.md +11 -11
  198. package/llms/patterns/brand-landing-page.md +2 -2
  199. package/llms/patterns/chat-panel.md +2 -2
  200. package/llms/patterns/dashboard-page.md +78 -78
  201. package/llms/patterns/feed-page.md +31 -31
  202. package/llms/patterns/landing-page.md +1 -1
  203. package/llms/patterns/list-detail-page.md +18 -18
  204. package/llms/patterns/settings-page.md +18 -18
  205. package/llms/reference/token-intent.md +25 -11
  206. package/llms/reference/utilities.md +1 -1
  207. package/llms/tasks/adding-a-component.md +4 -1
  208. package/llms/tasks/building-a-page.md +40 -0
  209. package/llms/tasks/converting-an-app.md +3 -1
  210. package/llms/tasks/using-presets.md +4 -0
  211. package/llms-full.txt +457 -347
  212. package/llms.txt +8 -8
  213. package/package.json +4 -4
  214. package/registry.json +397 -233
  215. package/scripts/lint-rules.mjs +26 -5
  216. package/skills/sable/SKILL.md +14 -3
@@ -2,16 +2,16 @@
2
2
  var spacing = {
3
3
  slug: "spacing",
4
4
  title: "Spacing & sizing",
5
- summary: "One 4px scale governs every gap, inset and size, and space is assigned by role. Controls read a height ladder that a density scope can retune all at once.",
6
- headline: "4px base \xB7 8px rhythm \xB7 3 roles \xB7 1 control ladder",
5
+ summary: "One scale, derived from the type: the baseline is one line of body text, split into steps every gap, inset and line height lands on. Space is assigned by role. Controls read a height ladder that a density scope can retune all at once.",
6
+ headline: "Baseline from the type \xB7 8px steps \xB7 3 roles \xB7 1 control ladder",
7
7
  vocabularies: [
8
8
  {
9
9
  title: "Spacing by role",
10
10
  note: "Steps below 2 (8px) are optical correction only.",
11
11
  terms: [
12
12
  { name: "Inset p-4", value: "16px", use: "Padding inside a surface. p-3 for a dense card, px-3 py-2 for a row." },
13
- { name: "Stack, within a group gap-1.5 \u2013 gap-2", value: "6\u20138px", use: "Label to field, title to description." },
14
- { name: "Stack, between groups gap-4 \u2013 gap-6", value: "16\u201324px", use: "Field to field, card to card." },
13
+ { name: "Stack, within a group gap-2", value: "1 step \xB7 8px", use: "Label to field, title to description." },
14
+ { name: "Stack, between groups gap-4 \u2013 gap-6", value: "2\u20133 steps \xB7 16\u201324px", use: "Field to field, card to card." },
15
15
  { name: "Stack, between sections gap-12+", value: "48px+", use: "Major regions of a page." },
16
16
  { name: "Inline gap-2 \u2013 gap-3", value: "8\u201312px", use: "Icon to label, control to control." }
17
17
  ]
@@ -38,12 +38,12 @@ var spacing = {
38
38
  ],
39
39
  rules: [
40
40
  {
41
- rule: "Every margin, padding and gap is a step on the 4px scale.",
42
- why: "Off-scale values break the rhythm that lets adjacent components line up without coordination."
41
+ rule: "Every margin, padding and gap is a step on the scale, and vertical space between blocks is whole baseline steps: an even Tailwind step (2, 4, 6, 8, 12) or a Stack/Row/Grid gap number.",
42
+ why: "The baseline is one line of body text split into steps; line heights round to it. An odd step (3, 5) is half a baseline step. It is a rhythm to keep, not a grid to force: components stay as tall as their content."
43
43
  },
44
44
  {
45
45
  rule: "Padding, gaps and insets in a component sit on the spacing scale: a step (p-4, gap-2) or --spacing(n) inside an arbitrary value (p-[var(--card-p,--spacing(6))]).",
46
- why: 'The density (Character) control works by retuning --spacing, so anything on the scale moves with it. A literal p-[1.5rem] or padding: "12px" stays put while everything around it tightens. Keep fixed rem/px for what must not scale: a 1px hairline, a ring width.',
46
+ why: '--spacing derives from the baseline step and the density (Character) control moves the leading it comes from, so anything on the scale moves with it. A literal p-[1.5rem] or padding: "12px" stays put while everything around it tightens. Keep fixed rem/px for what must not scale: a 1px hairline, a ring width.',
47
47
  enforcedBy: "design-lint: fixed-spacing (library source)"
48
48
  },
49
49
  {
@@ -110,7 +110,7 @@ var spacing = {
110
110
  title: "Grouping by space",
111
111
  before: "<Separator /> between every field",
112
112
  after: "<Stack gap={3}> between groups (24px), <Stack gap={1}> inside a group (8px)",
113
- why: "Two spacing steps do the work of every divider, with less ink. Stack's numeric gap counts --rhythm-unit \u2014 two spacing steps \u2014 so it follows the density control like every other spacing value."
113
+ why: "Spacing steps do the work of every divider, with less ink. Stack's numeric gap counts --rhythm-unit \u2014 one baseline step \u2014 so it follows the type and the density control like every other spacing value."
114
114
  }
115
115
  ],
116
116
  related: ["shape", "typography", "sable docs building-a-tool", "sable token layout"]