@sableui/react 0.13.0 → 0.13.2

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 (87) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +6 -0
  4. package/bin/sable.mjs +23 -4
  5. package/dist/blocks/index.d.ts +1 -1
  6. package/dist/components/accordion/accordion.meta.js +2 -1
  7. package/dist/components/badge/badge.meta.js +2 -1
  8. package/dist/components/banner/banner.meta.js +4 -2
  9. package/dist/components/button-group/button-group.meta.js +2 -1
  10. package/dist/components/checkbox/checkbox.meta.js +2 -1
  11. package/dist/components/collapsible/collapsible.meta.js +2 -1
  12. package/dist/components/combobox/combobox.meta.js +4 -2
  13. package/dist/components/command-menu/command-menu.meta.js +6 -3
  14. package/dist/components/context-card/context-card.meta.js +2 -1
  15. package/dist/components/dialog/dialog.meta.js +6 -3
  16. package/dist/components/disclosure-picker/disclosure-picker.meta.js +2 -1
  17. package/dist/components/inline-status/inline-status.meta.js +2 -1
  18. package/dist/components/menu/menu.meta.js +2 -1
  19. package/dist/components/menubar/menubar.meta.js +2 -1
  20. package/dist/components/meter/meter.meta.js +2 -1
  21. package/dist/components/note/note.meta.js +2 -1
  22. package/dist/components/page-loader/page-loader.meta.js +2 -1
  23. package/dist/components/pill/pill.meta.js +2 -1
  24. package/dist/components/popover/popover.meta.js +4 -2
  25. package/dist/components/progress/progress.meta.js +2 -1
  26. package/dist/components/radio/radio.meta.js +2 -1
  27. package/dist/components/segmented-bar/segmented-bar.meta.js +2 -1
  28. package/dist/components/select/select.meta.js +4 -2
  29. package/dist/components/sheet/sheet.meta.js +4 -2
  30. package/dist/components/side-nav/side-nav.meta.js +2 -1
  31. package/dist/components/skeleton/skeleton.meta.js +2 -1
  32. package/dist/components/spinner/spinner.meta.js +2 -1
  33. package/dist/components/stepper/stepper.meta.js +4 -2
  34. package/dist/components/switch/switch.meta.js +2 -1
  35. package/dist/components/table/table.meta.js +2 -1
  36. package/dist/components/tabs/tabs.meta.js +4 -2
  37. package/dist/components/thinking-orb/thinking-orb.meta.js +4 -2
  38. package/dist/components/toast/toast.meta.js +2 -1
  39. package/dist/components/toggle/toggle.meta.js +2 -1
  40. package/dist/components/toolbar/toolbar.meta.js +2 -1
  41. package/dist/components/tooltip/tooltip.meta.js +2 -1
  42. package/dist/file-hashes.json +41 -41
  43. package/dist/index.d.ts +3 -3
  44. package/dist/index.js +1 -1
  45. package/dist/{meta-DVG8ceze.d.ts → meta-DX5r5wQL.d.ts} +8 -0
  46. package/dist/patterns/index.d.ts +1 -1
  47. package/llms/components/accordion.md +1 -1
  48. package/llms/components/badge.md +1 -1
  49. package/llms/components/banner.md +2 -2
  50. package/llms/components/button-group.md +1 -1
  51. package/llms/components/checkbox.md +1 -1
  52. package/llms/components/collapsible.md +1 -1
  53. package/llms/components/combobox.md +2 -2
  54. package/llms/components/command-menu.md +3 -3
  55. package/llms/components/context-card.md +1 -1
  56. package/llms/components/dialog.md +3 -3
  57. package/llms/components/disclosure-picker.md +1 -1
  58. package/llms/components/inline-status.md +1 -1
  59. package/llms/components/menu.md +1 -1
  60. package/llms/components/menubar.md +1 -1
  61. package/llms/components/meter.md +1 -1
  62. package/llms/components/note.md +1 -1
  63. package/llms/components/page-loader.md +1 -1
  64. package/llms/components/pill.md +1 -1
  65. package/llms/components/popover.md +2 -2
  66. package/llms/components/progress.md +1 -1
  67. package/llms/components/radio.md +1 -1
  68. package/llms/components/segmented-bar.md +1 -1
  69. package/llms/components/select.md +2 -2
  70. package/llms/components/sheet.md +2 -2
  71. package/llms/components/side-nav.md +1 -1
  72. package/llms/components/skeleton.md +1 -1
  73. package/llms/components/spinner.md +1 -1
  74. package/llms/components/stepper.md +2 -2
  75. package/llms/components/switch.md +1 -1
  76. package/llms/components/table.md +1 -1
  77. package/llms/components/tabs.md +2 -2
  78. package/llms/components/thinking-orb.md +2 -2
  79. package/llms/components/toast.md +1 -1
  80. package/llms/components/toggle.md +1 -1
  81. package/llms/components/toolbar.md +1 -1
  82. package/llms/components/tooltip.md +1 -1
  83. package/llms-full.txt +62 -54
  84. package/llms.txt +14 -6
  85. package/package.json +1 -1
  86. package/registry.json +215 -49
  87. package/skills/sable/SKILL.md +13 -4
@@ -22,7 +22,8 @@ var tooltipMeta = {
22
22
  },
23
23
  {
24
24
  guidance: "dont",
25
- description: "Do not put critical instructions, errors, or interactive content inside Tooltip."
25
+ description: "Do not put critical instructions, errors, or interactive content inside Tooltip.",
26
+ instead: ["Popover", "InlineStatus"]
26
27
  },
27
28
  {
28
29
  guidance: "dont",
@@ -24,7 +24,7 @@
24
24
  "dist/blocks/goal-progress-block.meta.js": "3e5b376bf58bdb4b",
25
25
  "dist/blocks/hero-block.js": "ac74e80d4d7d2ad9",
26
26
  "dist/blocks/hero-block.meta.js": "2dd2e5be2472a563",
27
- "dist/blocks/index.d.ts": "7dc3a0506334de38",
27
+ "dist/blocks/index.d.ts": "aa7f5e8ddd18710a",
28
28
  "dist/blocks/index.js": "8116f4581aad860e",
29
29
  "dist/blocks/invite-team-block.js": "be4df15518252535",
30
30
  "dist/blocks/invite-team-block.meta.js": "fd57b632f0f32276",
@@ -83,7 +83,7 @@
83
83
  "dist/blocks/wallet-block.js": "b26565afea86592d",
84
84
  "dist/blocks/wallet-block.meta.js": "eedcf190db1dd48d",
85
85
  "dist/components/accordion/accordion.js": "4f41376e208ac29d",
86
- "dist/components/accordion/accordion.meta.js": "27e6d68cdcd712bf",
86
+ "dist/components/accordion/accordion.meta.js": "ae084a8270698acf",
87
87
  "dist/components/accordion/index.js": "4181a2720d5c1ed8",
88
88
  "dist/components/app-header/app-header.js": "2149806a151306c4",
89
89
  "dist/components/app-header/app-header.meta.js": "04631f9c2069f30d",
@@ -105,11 +105,11 @@
105
105
  "dist/components/avatar/avatar.variants.js": "55007c724a59bf1f",
106
106
  "dist/components/avatar/index.js": "12b7af50f0f54b67",
107
107
  "dist/components/badge/badge.js": "d4244f501b1ed90f",
108
- "dist/components/badge/badge.meta.js": "1ae51c389ed070e4",
108
+ "dist/components/badge/badge.meta.js": "39f5fa9e61699f3e",
109
109
  "dist/components/badge/badge.variants.js": "cea56117556206c3",
110
110
  "dist/components/badge/index.js": "9f7436ada79ea6a4",
111
111
  "dist/components/banner/banner.js": "94cbb8891671e7cf",
112
- "dist/components/banner/banner.meta.js": "aa4b44cea86316d1",
112
+ "dist/components/banner/banner.meta.js": "b216de18f23c929e",
113
113
  "dist/components/banner/banner.variants.js": "519bc767454cf0cb",
114
114
  "dist/components/banner/index.js": "94ea3a330ca07c1e",
115
115
  "dist/components/bar-chart/bar-chart.js": "c2e9f70936ad45cd",
@@ -133,7 +133,7 @@
133
133
  "dist/components/button/button.variants.js": "137c201e0c01b56f",
134
134
  "dist/components/button/index.js": "1ef5e4068111496a",
135
135
  "dist/components/button-group/button-group.js": "c0d4ba06cc16179c",
136
- "dist/components/button-group/button-group.meta.js": "84b519decddae76c",
136
+ "dist/components/button-group/button-group.meta.js": "58f36364e789b616",
137
137
  "dist/components/button-group/index.js": "a1482195b53540a9",
138
138
  "dist/components/calendar/calendar.js": "91321f1ea8843a11",
139
139
  "dist/components/calendar/calendar.meta.js": "46565db6017d2706",
@@ -153,7 +153,7 @@
153
153
  "dist/components/chat-composer/index.js": "cee4f58e29e4d1b8",
154
154
  "dist/components/checkbox/checkbox-mark.js": "751f08c4857553a6",
155
155
  "dist/components/checkbox/checkbox.js": "f1904d55f536827e",
156
- "dist/components/checkbox/checkbox.meta.js": "3b4b7d4dfd65e44a",
156
+ "dist/components/checkbox/checkbox.meta.js": "901eb0ddcd0fd373",
157
157
  "dist/components/checkbox/index.js": "aec81f03950346b9",
158
158
  "dist/components/checkbox-card/checkbox-card.js": "b01beb0d9cc1600a",
159
159
  "dist/components/checkbox-card/checkbox-card.meta.js": "942e6eb24e384fde",
@@ -166,21 +166,21 @@
166
166
  "dist/components/code-block/code-block.meta.js": "c87a6079902eacc4",
167
167
  "dist/components/code-block/index.js": "e40982950359204b",
168
168
  "dist/components/collapsible/collapsible.js": "fecb96bdc056e7bb",
169
- "dist/components/collapsible/collapsible.meta.js": "7ada61d267d61f69",
169
+ "dist/components/collapsible/collapsible.meta.js": "18cb4a8514d91606",
170
170
  "dist/components/collapsible/index.js": "072c3578300f205e",
171
171
  "dist/components/color-field/color-field.js": "f200e7dd98a4356e",
172
172
  "dist/components/color-field/color-field.meta.js": "a220bd8855dc65dd",
173
173
  "dist/components/color-field/color.js": "97931e0b9f502c02",
174
174
  "dist/components/color-field/index.js": "57e89053e9b4733d",
175
175
  "dist/components/combobox/combobox.js": "7098e0269422352c",
176
- "dist/components/combobox/combobox.meta.js": "f9a7fca96124a1f5",
176
+ "dist/components/combobox/combobox.meta.js": "fa0c7539a90cf6d5",
177
177
  "dist/components/combobox/index.js": "f8f9863cf4f7e59b",
178
178
  "dist/components/command-menu/command-menu-trigger.js": "30b1606fb611c758",
179
179
  "dist/components/command-menu/command-menu.js": "3478c25118653d88",
180
- "dist/components/command-menu/command-menu.meta.js": "c9538fd2b7d6d094",
180
+ "dist/components/command-menu/command-menu.meta.js": "f3ecf9df7b027865",
181
181
  "dist/components/command-menu/index.js": "c49dd188ea788ba5",
182
182
  "dist/components/context-card/context-card.js": "ab28de9684e32eea",
183
- "dist/components/context-card/context-card.meta.js": "81ed88a9745b31e8",
183
+ "dist/components/context-card/context-card.meta.js": "b4a0f80490c00079",
184
184
  "dist/components/context-card/index.js": "3eb8649f84654caa",
185
185
  "dist/components/context-menu/context-menu.js": "9a5f899f1fd5aa84",
186
186
  "dist/components/context-menu/context-menu.meta.js": "6915409a31be6ef0",
@@ -198,10 +198,10 @@
198
198
  "dist/components/destructive-action-modal/destructive-action-modal.meta.js": "a1a0a6d441f602b4",
199
199
  "dist/components/destructive-action-modal/index.js": "23b46c051e8c4e4e",
200
200
  "dist/components/dialog/dialog.js": "efdca40a11df5bff",
201
- "dist/components/dialog/dialog.meta.js": "4e75abcc0304be24",
201
+ "dist/components/dialog/dialog.meta.js": "98de0730d852851c",
202
202
  "dist/components/dialog/index.js": "4ed284cc7b4692d5",
203
203
  "dist/components/disclosure-picker/disclosure-picker.js": "6f7a28eee89e1c1f",
204
- "dist/components/disclosure-picker/disclosure-picker.meta.js": "eafb5afea5a60fab",
204
+ "dist/components/disclosure-picker/disclosure-picker.meta.js": "c32223ff1ff098bc",
205
205
  "dist/components/disclosure-picker/index.js": "c281ca69d9193b6b",
206
206
  "dist/components/empty-state/empty-state.js": "3ab001a50dd394fe",
207
207
  "dist/components/empty-state/empty-state.meta.js": "11a5d884fa2f5bde",
@@ -235,7 +235,7 @@
235
235
  "dist/components/gradient-art/renderer.js": "1b015305daa55b7a",
236
236
  "dist/components/inline-status/index.js": "51d8d6cbddccaecf",
237
237
  "dist/components/inline-status/inline-status.js": "fcfaef0c502d7c34",
238
- "dist/components/inline-status/inline-status.meta.js": "24727481a674bfc7",
238
+ "dist/components/inline-status/inline-status.meta.js": "c3617b4cd8b34641",
239
239
  "dist/components/inline-status/inline-status.variants.js": "7a5182736d6b8610",
240
240
  "dist/components/input/index.js": "0602bacd594a6588",
241
241
  "dist/components/input/input.js": "dad88bb52b506be7",
@@ -268,10 +268,10 @@
268
268
  "dist/components/media-tile/media-tile.variants.js": "e22c08004b4a55ad",
269
269
  "dist/components/menu/index.js": "c368589e92d3a189",
270
270
  "dist/components/menu/menu.js": "0d0644a26ea5ef11",
271
- "dist/components/menu/menu.meta.js": "7c496951b7b46e8d",
271
+ "dist/components/menu/menu.meta.js": "533a215b9ff28d85",
272
272
  "dist/components/menubar/index.js": "4e0c7717fa9f2a4d",
273
273
  "dist/components/menubar/menubar.js": "7177568e95c22fd1",
274
- "dist/components/menubar/menubar.meta.js": "3d04ce64d3f76bbb",
274
+ "dist/components/menubar/menubar.meta.js": "2d313681a64a7bfd",
275
275
  "dist/components/message/index.js": "6eff37ab509945d7",
276
276
  "dist/components/message/message.js": "43eb2b93d5d4c85b",
277
277
  "dist/components/message/message.meta.js": "5b47760e0d5d8e7b",
@@ -281,7 +281,7 @@
281
281
  "dist/components/message-scroller/message-scroller.meta.js": "07a52eedddc8dce6",
282
282
  "dist/components/meter/index.js": "e96304414fb4ad4b",
283
283
  "dist/components/meter/meter.js": "302ce0f258960602",
284
- "dist/components/meter/meter.meta.js": "ad69941502afd858",
284
+ "dist/components/meter/meter.meta.js": "534245ba3bb7bc4c",
285
285
  "dist/components/meter/meter.variants.js": "c415c47434fad178",
286
286
  "dist/components/middle-truncate/index.js": "3aac7092bb36f768",
287
287
  "dist/components/middle-truncate/middle-truncate.js": "35dc672f46f0548e",
@@ -291,7 +291,7 @@
291
291
  "dist/components/navigation-menu/navigation-menu.meta.js": "bb17288998fb4cbb",
292
292
  "dist/components/note/index.js": "e3ae5ca884a137e5",
293
293
  "dist/components/note/note.js": "e59bd3ada0d9e771",
294
- "dist/components/note/note.meta.js": "c1bd06add8ec5203",
294
+ "dist/components/note/note.meta.js": "98287475b0739b73",
295
295
  "dist/components/note/note.variants.js": "fbac3d8d05d48086",
296
296
  "dist/components/notification-badge/index.js": "9d4990abb268d9a0",
297
297
  "dist/components/notification-badge/notification-badge.js": "c2996d6951eeef67",
@@ -311,7 +311,7 @@
311
311
  "dist/components/page-header/page-header.meta.js": "94dba3334f2cfb47",
312
312
  "dist/components/page-loader/index.js": "73989c61d8df9fee",
313
313
  "dist/components/page-loader/page-loader.js": "39eb2d9a5747c950",
314
- "dist/components/page-loader/page-loader.meta.js": "d500c78e4c4abc36",
314
+ "dist/components/page-loader/page-loader.meta.js": "dc43852dd1b4dcea",
315
315
  "dist/components/pagination/index.js": "9114303fc4edb947",
316
316
  "dist/components/pagination/pagination.js": "1220c9e09285601e",
317
317
  "dist/components/pagination/pagination.meta.js": "d4b190da016cf9c8",
@@ -330,14 +330,14 @@
330
330
  "dist/components/pie-chart/pie-chart.meta.js": "f249fcf846fda014",
331
331
  "dist/components/pill/index.js": "20ff8b276a4f0515",
332
332
  "dist/components/pill/pill.js": "1c1d6180acce0e53",
333
- "dist/components/pill/pill.meta.js": "0009f4860de00dc1",
333
+ "dist/components/pill/pill.meta.js": "4cbd7d7b14986865",
334
334
  "dist/components/pill/pill.variants.js": "6b6a824b44bfae13",
335
335
  "dist/components/popover/index.js": "125e46824329b2b9",
336
336
  "dist/components/popover/popover.js": "8eb733ebc4c5c3cb",
337
- "dist/components/popover/popover.meta.js": "43404f1a9ab90faa",
337
+ "dist/components/popover/popover.meta.js": "b69532ebeaf000c6",
338
338
  "dist/components/progress/index.js": "23810e6a00af8d2e",
339
339
  "dist/components/progress/progress.js": "13f3b9f4c3c20777",
340
- "dist/components/progress/progress.meta.js": "daf2752505f6d601",
340
+ "dist/components/progress/progress.meta.js": "4ef17fe5d1a62aff",
341
341
  "dist/components/progress/progress.variants.js": "df713110d10b4b75",
342
342
  "dist/components/radar-chart/index.js": "3e0486ca894e8b9e",
343
343
  "dist/components/radar-chart/radar-chart.js": "6f959fbc3e1ab27d",
@@ -347,7 +347,7 @@
347
347
  "dist/components/radial-chart/radial-chart.meta.js": "0ac95161695f3bd9",
348
348
  "dist/components/radio/index.js": "f1398d206bdc1f2b",
349
349
  "dist/components/radio/radio.js": "dce8ff6dd0deaa5e",
350
- "dist/components/radio/radio.meta.js": "f1f93fbe8088405a",
350
+ "dist/components/radio/radio.meta.js": "83d9c6da85c7d9f0",
351
351
  "dist/components/radio-card/index.js": "ff815b13ce46e2bb",
352
352
  "dist/components/radio-card/radio-card.js": "29c459d88339f035",
353
353
  "dist/components/radio-card/radio-card.meta.js": "fb6f6d6758fcafc9",
@@ -369,11 +369,11 @@
369
369
  "dist/components/section-header/section-header.meta.js": "011c13a1916b1d04",
370
370
  "dist/components/segmented-bar/index.js": "3f544d3233ab578f",
371
371
  "dist/components/segmented-bar/segmented-bar.js": "26d87e5c14fddc87",
372
- "dist/components/segmented-bar/segmented-bar.meta.js": "fa33a4b10718960c",
372
+ "dist/components/segmented-bar/segmented-bar.meta.js": "1bc147b02b0beef0",
373
373
  "dist/components/segmented-bar/segmented-bar.variants.js": "b1f39931a499140d",
374
374
  "dist/components/select/index.js": "8e34f776320e5214",
375
375
  "dist/components/select/select.js": "087471358acc2f6a",
376
- "dist/components/select/select.meta.js": "cf7c7fc1bfc169ab",
376
+ "dist/components/select/select.meta.js": "35d55ceb9b0e58fb",
377
377
  "dist/components/separator/index.js": "07eea0cf5f1f2dff",
378
378
  "dist/components/separator/separator.js": "9ba94f5e469329c7",
379
379
  "dist/components/separator/separator.meta.js": "0930ea059401ad99",
@@ -383,21 +383,21 @@
383
383
  "dist/components/settings-menu/settings-menu.variants.js": "1eefc629793ed7b3",
384
384
  "dist/components/sheet/index.js": "b19aacba55e7de80",
385
385
  "dist/components/sheet/sheet.js": "54a4187480a655f7",
386
- "dist/components/sheet/sheet.meta.js": "d06c63e65d9c6d74",
386
+ "dist/components/sheet/sheet.meta.js": "c327b7a9c399c12a",
387
387
  "dist/components/sheet/sheet.variants.js": "80af36bc54106a55",
388
388
  "dist/components/show-more/index.js": "e7c7e37ffedde2c2",
389
389
  "dist/components/show-more/show-more.js": "5b853d0adac29029",
390
390
  "dist/components/show-more/show-more.meta.js": "25242fedc916bfa8",
391
391
  "dist/components/side-nav/index.js": "fa4e5f5e7232de1e",
392
392
  "dist/components/side-nav/side-nav.js": "4eb2676655713f43",
393
- "dist/components/side-nav/side-nav.meta.js": "699c87a4a2e75de7",
393
+ "dist/components/side-nav/side-nav.meta.js": "19050ef84bcb54b3",
394
394
  "dist/components/side-nav/side-nav.variants.js": "267eda3fb3a91034",
395
395
  "dist/components/sidebar/index.js": "eac0c8742dcaae4d",
396
396
  "dist/components/sidebar/sidebar.js": "299aa0adf1def2c7",
397
397
  "dist/components/sidebar/sidebar.meta.js": "44193ecd4f621e65",
398
398
  "dist/components/skeleton/index.js": "4e01c345b14d42f1",
399
399
  "dist/components/skeleton/skeleton.js": "5ca6d75e81a048ee",
400
- "dist/components/skeleton/skeleton.meta.js": "40743bdd3788d867",
400
+ "dist/components/skeleton/skeleton.meta.js": "9b7014b97385d773",
401
401
  "dist/components/slider/index.js": "bd4588997c43df06",
402
402
  "dist/components/slider/slider.js": "b0e26764ed233052",
403
403
  "dist/components/slider/slider.meta.js": "f4639357bb479487",
@@ -406,7 +406,7 @@
406
406
  "dist/components/sparkline/sparkline.meta.js": "8503811c53bf9419",
407
407
  "dist/components/spinner/index.js": "342ab20fdf86292c",
408
408
  "dist/components/spinner/spinner.js": "2bb1ba5b7b50fc6a",
409
- "dist/components/spinner/spinner.meta.js": "09cf5920849d737f",
409
+ "dist/components/spinner/spinner.meta.js": "9bbefd5a25c814f9",
410
410
  "dist/components/status-bar/index.js": "9db4f6fae817ca5a",
411
411
  "dist/components/status-bar/status-bar.js": "8b1f9c6d593aa037",
412
412
  "dist/components/status-bar/status-bar.meta.js": "477707fecb0718e3",
@@ -416,20 +416,20 @@
416
416
  "dist/components/status-dot/status-dot.variants.js": "fe6ff23a2696de5a",
417
417
  "dist/components/stepper/index.js": "2346537b50c95017",
418
418
  "dist/components/stepper/stepper.js": "8e1bdfc654e5aa3e",
419
- "dist/components/stepper/stepper.meta.js": "6d17c7521e2aa31e",
419
+ "dist/components/stepper/stepper.meta.js": "5ddeb5e581100e8f",
420
420
  "dist/components/stepper/stepper.variants.js": "3c343c6e38e39d80",
421
421
  "dist/components/streaming-text/index.js": "c46856aa7c0718f5",
422
422
  "dist/components/streaming-text/streaming-text.js": "e450c4d5e312a6c5",
423
423
  "dist/components/streaming-text/streaming-text.meta.js": "86b6d145a2d6c796",
424
424
  "dist/components/switch/index.js": "4712d21ce13e5578",
425
425
  "dist/components/switch/switch.js": "5f7b31327500f893",
426
- "dist/components/switch/switch.meta.js": "420df8cfac162378",
426
+ "dist/components/switch/switch.meta.js": "a18e8a74430cb644",
427
427
  "dist/components/table/index.js": "690a2dcf36ac85f6",
428
428
  "dist/components/table/table.js": "b84e3ad4a2c01c07",
429
- "dist/components/table/table.meta.js": "d0aa6f30b9ca3b1d",
429
+ "dist/components/table/table.meta.js": "12c3ac1e1bdb231b",
430
430
  "dist/components/tabs/index.js": "a48e84d7f04203f9",
431
431
  "dist/components/tabs/tabs.js": "2e4514d7659eb595",
432
- "dist/components/tabs/tabs.meta.js": "dbb53f389f87c662",
432
+ "dist/components/tabs/tabs.meta.js": "1f30b016a2d21876",
433
433
  "dist/components/textarea/index.js": "09897d89dd4083dd",
434
434
  "dist/components/textarea/textarea.js": "4a28e5f80f79239d",
435
435
  "dist/components/textarea/textarea.meta.js": "b59c00df0cec585f",
@@ -441,21 +441,21 @@
441
441
  "dist/components/theme-switcher/theme-switcher.meta.js": "fe1da9922f89318a",
442
442
  "dist/components/thinking-orb/index.js": "a692b2d577999770",
443
443
  "dist/components/thinking-orb/thinking-orb.js": "54a07545f2ad2c0b",
444
- "dist/components/thinking-orb/thinking-orb.meta.js": "dcc1982c0f9e9d01",
444
+ "dist/components/thinking-orb/thinking-orb.meta.js": "d614e8ebfded8710",
445
445
  "dist/components/thinking-orb/thinking-orb.render.js": "1d561ac1ffcd1e97",
446
446
  "dist/components/toast/index.js": "d13be0a6c335931d",
447
447
  "dist/components/toast/toast.js": "f58c5e39eb3158a3",
448
- "dist/components/toast/toast.meta.js": "ebade18a75028c79",
448
+ "dist/components/toast/toast.meta.js": "324b2b0897dd08dc",
449
449
  "dist/components/toggle/index.js": "84a0a4bf596a1b7d",
450
450
  "dist/components/toggle/toggle.js": "90d0deb9c6af0d61",
451
- "dist/components/toggle/toggle.meta.js": "8ad55c2d23ed2226",
451
+ "dist/components/toggle/toggle.meta.js": "2fa9ccde9bd406b4",
452
452
  "dist/components/toolbar/index.js": "ccd582f7d2241285",
453
453
  "dist/components/toolbar/toolbar.js": "69441ff3d9721687",
454
- "dist/components/toolbar/toolbar.meta.js": "93d007d2a76627ee",
454
+ "dist/components/toolbar/toolbar.meta.js": "3a9a9a6cd850d424",
455
455
  "dist/components/toolbar/toolbar.variants.js": "c5152cd123f8c50c",
456
456
  "dist/components/tooltip/index.js": "71ab4dac02eb039a",
457
457
  "dist/components/tooltip/tooltip.js": "5dc6db77cbd317ba",
458
- "dist/components/tooltip/tooltip.meta.js": "3ef8954eb918468f",
458
+ "dist/components/tooltip/tooltip.meta.js": "77e462580df94d90",
459
459
  "dist/components/tree/index.js": "bc79f7c353de1bd2",
460
460
  "dist/components/tree/tree.js": "ff07ce51ff1cb06f",
461
461
  "dist/components/tree/tree.meta.js": "746e8dee80041e1f",
@@ -486,8 +486,8 @@
486
486
  "dist/icon-sets/brands.js": "9a37d8739f14f2a9",
487
487
  "dist/icon-sets/reicon.d.ts": "52f6e41dc8137b4e",
488
488
  "dist/icon-sets/reicon.js": "9ec7d3b714c57172",
489
- "dist/index.d.ts": "933e9604a361c5af",
490
- "dist/index.js": "ff3e1234cfdff10a",
489
+ "dist/index.d.ts": "c411e7ecbfbce82e",
490
+ "dist/index.js": "515970f920a1920e",
491
491
  "dist/ios/chrome.css": "a7ca9e3735d8658e",
492
492
  "dist/ios/chrome.js": "37091fef7b68bd28",
493
493
  "dist/ios/frame.css": "dd2703c944ce575a",
@@ -559,7 +559,7 @@
559
559
  "dist/lib/use-resize-observer.js": "4f08e280d64be22c",
560
560
  "dist/lib/use-scroll-activity.js": "793394a8c952e697",
561
561
  "dist/lib/use-smooth-wheel.js": "9fd10f864eb40325",
562
- "dist/meta-DVG8ceze.d.ts": "60cdb0adc726bc03",
562
+ "dist/meta-DX5r5wQL.d.ts": "b15f63123088709a",
563
563
  "dist/motion/MotionProvider.js": "feeab4e6ce816a5e",
564
564
  "dist/motion/Presence.js": "21fc6f1c68207718",
565
565
  "dist/motion/Reveal.js": "b80396095aa2de96",
@@ -579,7 +579,7 @@
579
579
  "dist/patterns/dashboard-page.meta.js": "afa1ab16823686d0",
580
580
  "dist/patterns/feed-page.js": "6c34ebf590eb51df",
581
581
  "dist/patterns/feed-page.meta.js": "d87a18be1d0eebca",
582
- "dist/patterns/index.d.ts": "7511ee8632e26bbf",
582
+ "dist/patterns/index.d.ts": "07bf94356dd329a8",
583
583
  "dist/patterns/index.js": "3ff5fabb1afbf8dc",
584
584
  "dist/patterns/landing-page.js": "d27227dbb74021bf",
585
585
  "dist/patterns/landing-page.meta.js": "95d34273ee999eea",
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ClassValue } from 'clsx';
2
- import { C as ComponentMeta } from './meta-DVG8ceze.js';
3
- export { A as AnatomyMeta, a as BestPracticeMeta, E as ExampleMeta, M as MotionMeta, b as MotionSlot, c as PropMeta, R as RelatedMeta, S as SubcomponentMeta, U as UsageMeta } from './meta-DVG8ceze.js';
2
+ import { C as ComponentMeta } from './meta-DX5r5wQL.js';
3
+ export { A as AnatomyMeta, a as BestPracticeMeta, E as ExampleMeta, M as MotionMeta, b as MotionSlot, c as PropMeta, R as RelatedMeta, S as SubcomponentMeta, U as UsageMeta } from './meta-DX5r5wQL.js';
4
4
  import { T as ThemeManifest, a as ThemeMode$1 } from './_contract-CkqXDVww.js';
5
5
  export { A as ART_TOKENS, D as DENSITY_TOKENS, b as DensityToken, M as MOTION_TOKENS, c as MotionToken, P as PALETTE_TOKENS, R as RADIUS_TOKENS, d as RHYTHM_TOKENS, e as RadiusToken, f as RhythmToken, S as SEMANTIC_TOKENS, g as SemanticToken, h as TYPE_OVERLINE_TOKENS, i as TYPE_REFINEMENT_TOKENS, j as TYPE_SCALE_TOKENS, k as TYPE_UI_TOKENS, l as TypeOverlineToken, m as TypeRefinementToken, n as TypeScaleToken, o as TypeUiToken, W as WORKSPACE_SURFACE_TOKENS, p as WorkspaceSurfaceToken } from './_contract-CkqXDVww.js';
6
6
  import { T as ThemeId } from './theme-provider-CdSicAad.js';
@@ -8969,6 +8969,6 @@ declare const PALETTE_TONES: readonly ["tone-1", "tone-2", "tone-3", "tone-info"
8969
8969
  /** Everything the palette names: neutral, the families, then the tone scales. */
8970
8970
  declare const PALETTE_SCALES: readonly ["neutral", ...string[], "tone-1", "tone-2", "tone-3", "tone-info", "tone-warning", "success", "destructive"];
8971
8971
 
8972
- declare const SABLE_UI_VERSION: "0.13.0";
8972
+ declare const SABLE_UI_VERSION: "0.13.2";
8973
8973
 
8974
8974
  export { Accordion, AccordionItem, AccordionPanel, AccordionTrigger, AlertDialog, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogTitle, AlertDialogTrigger, AppHeader, type AppHeaderProps, AppShell, type AppShellProps, AreaChart, type AreaChartProps, type ArtTone, Attachment, type AttachmentProps, Avatar, AvatarFallback, AvatarGroup, AvatarGroupCount, type AvatarGroupCountProps, type AvatarGroupProps, AvatarImage, type AvatarProps, AvatarRoot, BADGE_APPEARANCES, BADGE_TONES, Badge, type BadgeAppearance, type BadgeProps, type BadgeTone, Banner, type BannerProps, BarChart, type BarChartProps, BottomNav, BottomNavItem, type BottomNavItemProps, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbPage, type BreadcrumbPageProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Breadcrumbs, type BreadcrumbsProps, Browser, type BrowserProps, Bubble, type BubbleProps, BubbleReaction, type BubbleReactionProps, BubbleReactions, type BubbleReactionsProps, Button, type ButtonBleed, ButtonGroup, type ButtonGroupProps, type ButtonProps, CHART_SERIES_COUNT, COMPONENT_GROUPS, COMPONENT_TAXONOMY, Calendar, type CalendarProps, Card, CardAction, CardContent, type CardContentProps, CardDescription, CardFooter, type CardFooterProps, CardHeader, CardList, type CardProps, CardTitle, type CardTitleProps, CaretMenu, CaretMenuItem, type CaretMenuItemProps, type CaretMenuProps, type CaretTrigger, type CaretTriggerField, type CaretTriggerMatch, Carousel, type CarouselProps, type CarouselSlidesToShow, type ChartCategories, type ChartCenterLabel, type ChartCurve, type ChartDatum, type ChartSeries, type ChartTone, type ChartTooltipIndicator, type ChartTooltipOptions, type ChartValueFormatter, ChatComposer, type ChatComposerProps, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxCardTone, CheckboxGroup, type CheckboxGroupProps, Code, CodeBlock, type CodeBlockProps, CodeHighlightProvider, type CodeHighlighter, type CodeProps, Collapsible, CollapsibleIndicator, CollapsiblePanel, CollapsibleTrigger, ColorField, type ColorFieldProps, Combobox, ComboboxChips, ComboboxClear, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, type ComboboxItemGroup, ComboboxItemIndicator, ComboboxList, ComboboxPortal, type ComboboxProps, ComboboxValue, ComboboxVirtualList, type ComboboxVirtualListProps, type CommandFilter, type CommandItem, CommandMenu, CommandMenuGroup, type CommandMenuGroupProps, CommandMenuItem, type CommandMenuItemProps, CommandMenuPanel, type CommandMenuPanelProps, type CommandMenuProps, CommandMenuTrigger, type CommandMenuTriggerProps, type ComponentGroup, type ComponentGuidance, ComponentMeta, type ComponentRegister, type ConstraintFlag, ContextCard, ContextCardArrow, ContextCardContent, ContextCardPortal, ContextCardTrigger, ContextMenu, ContextMenuContent, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuPortal, ContextMenuSeparator, ContextMenuTrigger, type CopySource, DataTable, type DataTableColumn, type DataTableProps, type DataTableRowKey, DatePicker, type DatePickerProps, DateTile, type DateTileProps, Density, DensityProvider, Density as DensityValue, DestructiveActionModal, type DestructiveActionModalProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, type DialogSize, DialogTitle, DialogTrigger, DisclosurePicker, DisclosurePickerEmpty, DisclosurePickerList, type DisclosurePickerListProps, DisclosurePickerOption, type DisclosurePickerOptionProps, DisclosurePickerPanel, type DisclosurePickerPanelProps, type DisclosurePickerProps, type DisclosurePickerSearch, DisclosurePickerTrigger, type DisclosurePickerTriggerProps, EmptyState, type EmptyStateProps, Entity, type EntityProps, Feedback, type FeedbackData, type FeedbackProps, type FeedbackRating, Field, type FieldProps, Fieldset, FieldsetContent, FieldsetDescription, FieldsetFooter, FieldsetLegend, type FieldsetVariant, FileDropzone, type FileDropzoneProps, type FileRejection, type FileRejectionCode, FontPicker, type FontPickerFont, type FontPickerOption, type FontPickerProps, Form, type FormProps, GlidingHighlight, type GlidingHighlightProps, GradientArt, type GradientArtProps, type Hsv, InlineStatus, type InlineStatusProps, type StatusTone as InlineTone, Input, InputGroup, type InputGroupProps, type InputProps$1 as InputProps, Kbd, KbdGroup, type KbdGroupProps, type KbdProps, Label, type LabelProps$2 as LabelProps, LineChart, type LineChartProps, Marker, type MarkerProps, Marquee, type MarqueeProps, MediaImage, type MediaImageProps, MediaTile, type MediaTileProps, Menu, MenuCheckboxItem, MenuContent, MenuGroup, MenuGroupLabel, MenuItem, MenuLinkItem, MenuPortal, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, Menubar, type MenubarProps, MenubarTrigger, type MenubarTriggerProps, Message, type MessageProps, MessageScroller, type MessageScrollerHandle, type MessageScrollerProps, Meter, MeterIndicator, MeterLabel, type MeterSize, type MeterTone, MeterTrack, MeterValue, MiddleTruncate, type MiddleTruncateProps, type MotionPolicy, MotionProvider, type MotionProviderProps, NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, Note, type NoteAction, type NoteProps, NotificationBadge, type NotificationBadgeProps, NumberField, type NumberFieldProps, type OrbMode, type OrbSize, OtpField, type OtpFieldProps, OverflowMenu, type OverflowMenuProps, PALETTE_COLORS, PALETTE_FAMILIES, PALETTE_SCALES, PALETTE_STEPS, PALETTE_TONES, PageHeader, type PageHeaderProps, PageLoader, type PageLoaderProps, Pagination, type PaginationProps, type PaletteColor, type PaletteFamily, type PaletteStep, Panel, PanelGroup, PanelResizer, type PanelResizerProps, PanelSection, type PanelWidthBounds, Phone, type PhoneProps, PieChart, type PieChartProps, Pill, type PillProps, Popover, PopoverArrow, PopoverClose, PopoverContent, PopoverDescription, PopoverPortal, PopoverTitle, PopoverTrigger, Presence, type PresenceProps, type Presentation, PresentationProvider, Progress, ProgressIndicator, ProgressLabel, type ProgressSize, ProgressTrack, ProgressValue, PropertyGroup, PropertyPair, PropertyRow, RadarChart, type RadarChartProps, RadialChart, type RadialChartProps, Radio, RadioCard, type RadioCardProps, type RadioCardTone, RadioGroup, RelativeTime, type RelativeTimeProps, Reveal, type RevealProps, type Rgb, SABLE_UI_VERSION, SEGMENTED_BAR_TONES, STATUS_TONES, STATUS_TONE_ICON, type ScrollCommandOptions, Scroller, type ScrollerProps, ScrubField, type ScrubFieldProps, SearchInput, type SearchInputProps, SectionHeader, type SectionHeaderProps, SegmentedBar, type SegmentedBarProps, type SegmentedBarSegment, type SegmentedBarTone, Select, SelectContent, SelectGroup, SelectGroupLabel, SelectItem, SelectPortal, SelectSeparator, SelectTrigger, SelectValue, Separator, type SeparatorProps$2 as SeparatorProps, SettingsMenu, type SettingsMenuProps, SettingsRow, type SettingsRowProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetList, SheetPortal, type SheetProps, type SheetSnapPoint, SheetTitle, SheetTrigger, ShowMore, type ShowMoreProps, SideNav, type SideNavActiveVariant, SideNavGroup, type SideNavGroupProps, SideNavItem, type SideNavItemProps, type SideNavProps, type SideNavSize, Sidebar, SidebarBrand, type SidebarBrandProps, SidebarFooter, SidebarHeader, SidebarItem, type SidebarItemProps, SidebarNav, type SidebarProps, SimpleTooltip, Skeleton, SkipLink, Slider, SliderControl, SliderIndicator, SliderRoot, SliderThumb, SliderTrack, SliderValue, type SmoothWheelOptions, Sparkline, type SparklineProps, Spinner, type SpinnerProps, StatusBar, StatusBarGroup, StatusBarSeparator, StatusDot, type StatusDotProps, type StatusTone, type StepStatus, Stepper, StepperItem, type StepperItemProps, type StepperOrientation, type StepperProps, StreamingText, type StreamingTextProps, Switch, TRANSPARENT, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsPanel as TabsContent, TabsList, TabsPanel, TabsTrigger, TextReveal, type TextRevealProps, Textarea, type TextareaProps, ThemeId, ThemeManifest, ThemeMode$1 as ThemeManifestMode, type ThemeMode, ThemePreview, type ThemePreviewProps, ThemeSelector, type ThemeSelectorProps, ThemeSwitcher, type ThemeSwitcherProps, ThinkingOrb, type ThinkingOrbProps, ToastAction, type ToastApi, ToastClose, ToastContent, ToastDescription, type ToastManagerApi, type ToastOptions, type ToastPosition, ToastProvider, type ToastProviderProps, ToastRoot, ToastTitle, type ToastType, ToastViewport, Toggle, ToggleGroup, type ToggleGroupAppearance, Toggle as ToggleGroupItem, Toolbar, ToolbarButton, type ToolbarButtonProps, ToolbarGroup, type ToolbarGroupProps, ToolbarInput, type ToolbarInputProps, ToolbarLink, type ToolbarLinkProps, type ToolbarProps, ToolbarSeparator, type ToolbarSeparatorProps, Tooltip, TooltipArrow, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, Tree, TreeAddRow, TreeEmpty, TreeRow, TreeSection, type UseCaretTriggerOptions, type UseCaretTriggerResult, type UseCopyOptions, type UseCopyResult, type UseInViewOptions, type UsePanelWidthOptions, Video, type VideoProps, ViewTransitionName, type ViewTransitionNameProps, Workspace, WorkspaceBar, WorkspaceCanvas, accordionMeta, appHeaderMeta, appShellMeta, areaChartMeta, attachmentMeta, avatarGroupVariants, avatarMeta, avatarVariants, badgeMeta, badgeVariants, bannerMeta, bannerVariants, barChartMeta, bottomNavMeta, breadcrumbsMeta, browserMeta, bubbleMeta, buttonGroupMeta, buttonMeta, buttonVariants, calendarMeta, cardMeta, caretMenuMeta, carouselMeta, chartColor, toneColor as chartToneColor, chatComposerMeta, checkboxCardMeta, checkboxMeta, cn, codeBlockMeta, codeMeta, collapsibleMeta, colorFieldMeta, comboboxMeta, commandMenuMeta, componentGuidance, componentLabel, componentSlug, componentsInGroup, contextCardMeta, contextMenuMeta, dataTableMeta, datePickerMeta, dateTileMeta, destructiveActionModalMeta, dialogMeta, disclosurePickerMeta, emptyStateMeta, entityMeta, feedbackMeta, fieldsetMeta, fileDropzoneMeta, fileDropzoneVariants, fontPickerMeta, formMeta, formatFileSize, formatHex, glidingHighlightMeta, gradientArtMeta, hsvToRgb, hueColor, inlineStatusMeta, inputGroupMeta, inputMeta, isPaletteColor, isTransparent, kbdMeta, labelMeta, lineChartMeta, markerMeta, marqueeMeta, mediaImageMeta, mediaTileMeta, menuMeta, menubarMeta, messageMeta, messageScrollerMeta, meterIndicatorVariants, meterMeta, meterTrackVariants, middleTruncateMeta, navigationMenuMeta, noteMeta, noteVariants, notificationBadgeMeta, notificationCountVariants, notificationDotVariants, numberFieldMeta, otpFieldMeta, overflowMenuMeta, pageHeaderMeta, pageLoaderMeta, paginationMeta, panelGroupMeta, panelSectionMeta, parseHex, phoneMeta, pieChartMeta, pillMeta, pillVariants, popoverMeta, progressMeta, progressTrackVariants, radarChartMeta, radialChartMeta, radioCardMeta, radioMeta, relativeTimeMeta, rgbToHsv, scrollerMeta, scrubFieldMeta, searchInputMeta, sectionHeaderMeta, segmentedBarMeta, segmentedBarSegmentVariants, segmentedBarVariants, selectMeta, separatorMeta, settingsMenuMeta, sheetMeta, sheetVariants, showMoreMeta, sideNavMeta, sidebarMeta, skeletonMeta, sliderMeta, sparklineMeta, spinnerMeta, startViewTransition, statusBarMeta, statusDotMeta, statusDotVariants, stepperConnectorVariants, stepperIndicatorVariants, stepperMeta, streamingTextMeta, supportsViewTransitions, switchMeta, tableMeta, tabsMeta, textareaMeta, themeSelectorMeta, themeSwitcherMeta, thinkingOrbMeta, toast, toastMeta, toggleMeta, toolbarGroupVariants, toolbarMeta, toolbarSeparatorVariants, toolbarVariants, tooltipMeta, treeIndent, treeMeta, useAnchoredDensity, useCaretTrigger, useComboboxFilteredItems, useCommandMenuShortcut, useCopy, useDensity, useDisclosurePicker, useInView, useMotion, usePanelWidth, usePresentation, useReducedMotion, useScrollActivity, useSidebar, useSmoothWheel, useToast, useToastManager, useTypeTier, videoMeta, workspaceMeta };
package/dist/index.js CHANGED
@@ -172,7 +172,7 @@ import {
172
172
  } from "./lib/use-caret-trigger.js";
173
173
  import { STATUS_TONES, STATUS_TONE_ICON } from "./lib/status-tone.js";
174
174
  import { PALETTE_COLORS, PALETTE_FAMILIES, PALETTE_SCALES, PALETTE_STEPS, PALETTE_TONES, isPaletteColor } from "./lib/palette.js";
175
- var SABLE_UI_VERSION = "0.13.0";
175
+ var SABLE_UI_VERSION = "0.13.2";
176
176
  export {
177
177
  ART_TOKENS,
178
178
  CHART_SERIES_COUNT,
@@ -26,6 +26,14 @@ interface BestPracticeMeta {
26
26
  guidance: "do" | "dont";
27
27
  /** Short design guidance focused on when and how to use the component. */
28
28
  description: string;
29
+ /**
30
+ * On a "dont" only: what to reach for instead — component or subcomponent
31
+ * names, checked at build. Prose that names an alternative goes stale silently
32
+ * when that component is renamed; this does not, and it lets the CLI print a
33
+ * short "not for" list at compact detail. Leave it off when the remedy is a
34
+ * way of using this same component.
35
+ */
36
+ instead?: string[];
29
37
  }
30
38
  interface AnatomyMeta {
31
39
  /** Visible or structural part name, e.g. "Label", "Trigger", "Content". */
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { P as PatternMeta } from '../meta-DVG8ceze.js';
2
+ import { P as PatternMeta } from '../meta-DX5r5wQL.js';
3
3
 
4
4
  declare function AuthPage(): react.JSX.Element;
5
5
 
@@ -15,7 +15,7 @@ Use Accordion to reveal a vertical set of related sections while keeping the sur
15
15
  - Do: Use concise trigger text that describes the content revealed below it.
16
16
  - Do: Keep section content focused so expanding one item does not feel like navigating to a new page.
17
17
  - Don't: Do not hide required fields, primary actions, or critical errors inside collapsed sections.
18
- - Don't: Do not nest an Accordion inside an Accordion. Two layers of roving focus fight each other, and the arrow keys become ambiguous — flatten the hierarchy or use a Tree.
18
+ - Don't: Do not nest an Accordion inside an Accordion. Two layers of roving focus fight each other, and the arrow keys become ambiguous — flatten the hierarchy or use a Tree. → use **Tree**
19
19
 
20
20
  ### Anatomy
21
21
 
@@ -16,7 +16,7 @@ Use Badge for any short static label: metadata, categories, tone-coded labels, a
16
16
  - Do: Use tone variants when the badge carries meaning, such as success, warning or destructive, or a decorative tone for a category or plan.
17
17
  - Do: Pair icons with text; the icon reinforces meaning but should not be the only cue.
18
18
  - Do: Choose appearance and tone separately: appearance is how loud it is (soft by default, solid for emphasis, overlay on images, plain for a status line); tone is what it means.
19
- - Don't: Use a Badge as a button. If it triggers an action, use Button, Toggle, or a menu item.
19
+ - Don't: Use a Badge as a button. If it triggers an action, use Button, Toggle, or a menu item. → use **Button**, **Toggle**
20
20
  - Don't: Stack many loud tone badges in one row; too many semantic colors compete with the actual content.
21
21
 
22
22
  ### Anatomy
@@ -16,8 +16,8 @@ Use Banner for page-level or app-level messages that affect the current experien
16
16
  - Do: Set live='polite' or live='assertive' only when the banner appears or changes dynamically.
17
17
  - Do: Include one clear action when the user can resolve or inspect the state.
18
18
  - Don't: Use multiple stacked solid banners unless the page is genuinely blocked by multiple independent states.
19
- - Don't: Use Banner for field-level validation, row status, or small local hints; use Field, InlineStatus, or Badge instead.
20
- - Don't: Use Banner inside a dialog, a form, or a section to qualify the content around it — that is Note. Banner is a full-width announcement strip for page- or app-level state, so in a modal it reads as a slab heavier than the fields it warns about, and its soft appearance has no border and no tone-colored icon: the severity survives only as a faint wash.
19
+ - Don't: Use Banner for field-level validation, row status, or small local hints; use Field, InlineStatus, or Badge instead. → use **InlineStatus**, **Badge**
20
+ - Don't: Use Banner inside a dialog, a form, or a section to qualify the content around it — that is Note. Banner is a full-width announcement strip for page- or app-level state, so in a modal it reads as a slab heavier than the fields it warns about, and its soft appearance has no border and no tone-colored icon: the severity survives only as a faint wash. → use **Note**
21
21
 
22
22
  ### Anatomy
23
23
 
@@ -16,7 +16,7 @@ Use ButtonGroup when one action has close alternatives (Copy page, with Open in
16
16
  - Do: For a split button, put the main action first and a Menu whose trigger is the chevron Button second, with an aria-label on the trigger ("More page actions").
17
17
  - Do: Name the group with aria-label when the buttons alone do not say what they act on.
18
18
  - Don't: Do not round or border the children yourself to make them meet; that is the group's job, and an override breaks under a theme's button shape.
19
- - Don't: Do not use it for a selection that stays on. That is ToggleGroup, which carries the pressed state.
19
+ - Don't: Do not use it for a selection that stays on. That is ToggleGroup, which carries the pressed state. → use **ToggleGroup**
20
20
 
21
21
  ## Props
22
22
 
@@ -14,7 +14,7 @@ Use Checkbox for independent boolean choices or for selecting multiple options i
14
14
 
15
15
  - Do: Use Checkbox when each option can be toggled independently.
16
16
  - Do: Attach a visible label that explains the consequence of checking the control.
17
- - Don't: Do not use Checkbox for mutually exclusive choices; use Radio or Select instead.
17
+ - Don't: Do not use Checkbox for mutually exclusive choices; use Radio or Select instead. → use **Radio**, **Select**
18
18
  - Don't: Do not use it without a label or an aria-label. An 18px square with no accessible name is announced as just "checkbox", which tells a screen-reader user nothing about what they are agreeing to.
19
19
  - Don't: Do not phrase the label as a negative, such as "Don't send read receipts". Paired with an unchecked box it becomes a double negative the reader has to solve before they can answer. Label the state being turned on.
20
20
 
@@ -14,7 +14,7 @@ Use Collapsible for a single piece of optional content that can expand in place.
14
14
 
15
15
  - Do: Use it for local detail, advanced settings, or secondary context.
16
16
  - Do: Make the trigger label describe the hidden content, not the mechanism.
17
- - Don't: Do not use Collapsible for multi-section navigation; use Accordion or Tabs instead.
17
+ - Don't: Do not use Collapsible for multi-section navigation; use Accordion or Tabs instead. → use **Accordion**, **Tabs**
18
18
  - Don't: Do not animate it by transitioning height from auto. Use the motion-disclosure recipe, which transitions to the measured panel height — `auto` does not animate and the panel will snap.
19
19
 
20
20
  ### Anatomy
@@ -18,8 +18,8 @@ Use Combobox when users choose from a list that benefits from typing, filtering,
18
18
  - Do: Wrap in Field when the combobox is part of a form.
19
19
  - Do: Reach for ComboboxVirtualList past roughly a thousand rows, and leave filtering to the root. It reads the filtered list through useFilteredItems(), so the rendered rows and the rows Base UI navigates cannot drift apart.
20
20
  - Do: Use `multiple` with ComboboxChips for several values from a filterable set, and keep chip labels short so the field does not turn into a paragraph.
21
- - Don't: Use Combobox for tiny option sets where Select or Radio would be easier to scan.
22
- - Don't: Use Combobox as a command launcher. Use CommandMenu for actions and navigation.
21
+ - Don't: Use Combobox for tiny option sets where Select or Radio would be easier to scan. → use **Select**, **Radio**
22
+ - Don't: Use Combobox as a command launcher. Use CommandMenu for actions and navigation. → use **CommandMenu**
23
23
  - Don't: Take filtering over with filteredItems in order to virtualize. Base UI ignores filteredItems while the untouched field still holds the selected item's label, so the list you render and the list it indexes diverge — and the symptom is clicking one row and getting another.
24
24
 
25
25
  ### Anatomy
@@ -20,9 +20,9 @@ Use CommandMenu for global or contextual keyboard-driven actions: navigation, cr
20
20
  - Do: List a command the user cannot currently run as disabled with the reason in hint, rather than filtering it away. A palette that hides what you cannot do teaches you nothing about why.
21
21
  - Do: Resize the list with listClassName rather than reaching past className into the palette's DOM. className is the dialog surface; listClassName is the Scroller that actually scrolls.
22
22
  - Do: Use CommandMenuPanel when the palette lives in the page: a sidebar launcher, a settings search, a demo. It takes the same items, filter, query and children, and keeps the same keyboard model; it is a static card, so it does not trap focus or take it on mount, and Esc clears the query instead of closing anything.
23
- - Don't: Hand-style a <button> to look like a search field, or put a SearchInput in the header that opens a dialog when focused. The first drifts from the field it imitates; the second is a text box you cannot type in. A header search that opens the palette is CommandMenuTrigger.
24
- - Don't: Use CommandMenu as a replacement for every dropdown. Simple choices belong in Select, Menu, or Tabs.
25
- - Don't: Hand-build a palette mock from a search glyph, a row of buttons and a highlight. That is CommandMenuPanel, and the hand-built one has no combobox, no filtering and no keyboard model.
23
+ - Don't: Hand-style a <button> to look like a search field, or put a SearchInput in the header that opens a dialog when focused. The first drifts from the field it imitates; the second is a text box you cannot type in. A header search that opens the palette is CommandMenuTrigger. → use **CommandMenuTrigger**
24
+ - Don't: Use CommandMenu as a replacement for every dropdown. Simple choices belong in Select, Menu, or Tabs. → use **Select**, **Menu**, **Tabs**
25
+ - Don't: Hand-build a palette mock from a search glyph, a row of buttons and a highlight. That is CommandMenuPanel, and the hand-built one has no combobox, no filtering and no keyboard model. → use **CommandMenuPanel**
26
26
  - Don't: Dump every app route and action into one uncurated list. Keep the palette opinionated.
27
27
  - Don't: Rebuild the combobox over Dialog to get consumer-owned ranking. query/onQueryChange and filter are that seam; the keyboard model, activedescendant wiring, and result-count live region come with them.
28
28
 
@@ -15,7 +15,7 @@ Use ContextCard to show richer contextual content near a trigger without taking
15
15
  - Do: Use it for previews, summaries, or supporting context tied to a specific element.
16
16
  - Do: Keep the card read-only and make the trigger the action: it is a real link to the full profile or item. Keyboard users cannot reach a button inside the card, because moving focus off the trigger closes it. If the preview needs an action (Follow, Add), use a Popover instead.
17
17
  - Don't: Do not put critical decisions, long forms, or required workflow steps inside ContextCard.
18
- - Don't: Do not open it on click. It is a hover/focus preview; making it click-triggered gives you a Popover with no dismiss affordance and no way to reach the content it previews.
18
+ - Don't: Do not open it on click. It is a hover/focus preview; making it click-triggered gives you a Popover with no dismiss affordance and no way to reach the content it previews. → use **Popover**
19
19
 
20
20
  ### Anatomy
21
21
 
@@ -18,10 +18,10 @@ Use Dialog for focused decisions, short modal forms, confirmations, and content
18
18
  - Do: In a destructive confirmation, state the consequence in DialogDescription ("This is permanent.") and reserve the destructive button variant for actions that cannot be undone.
19
19
  - Do: Use size="fullscreen" when an image, video, or gallery needs a larger view than the layout can give it. Give the popup an accessible name (aria-label on DialogContent, or a visually hidden DialogTitle) and alt text on the media.
20
20
  - Do: Use the AlertDialog family for a confirmation that must be answered (discard changes, leave without saving). It looks identical but is role="alertdialog" and a backdrop click does not dismiss it — only Cancel, Esc, or the action. For irreversible deletes, use DestructiveActionModal, which is built on it.
21
- - Don't: Put large multipage workflows in a centered dialog. Use Sheet or a page route when the task needs space.
22
- - Don't: Use size="fullscreen" for forms, confirmations, or anything that isn't media. A dialog that happens to need room is a Sheet or a page; the fullscreen affordances (dark scrim, corner close, centred content) all assume something to look at.
21
+ - Don't: Put large multipage workflows in a centered dialog. Use Sheet or a page route when the task needs space. → use **Sheet**
22
+ - Don't: Use size="fullscreen" for forms, confirmations, or anything that isn't media. A dialog that happens to need room is a Sheet or a page; the fullscreen affordances (dark scrim, corner close, centred content) all assume something to look at. → use **Sheet**
23
23
  - Don't: Hide the close button at size="fullscreen" without another visible way out. A full-bleed viewer that only Esc dismisses is a dead end for anyone who doesn't know the key.
24
- - Don't: Open a dialog for passive status updates. Use Toast, Banner, or InlineStatus instead.
24
+ - Don't: Open a dialog for passive status updates. Use Toast, Banner, or InlineStatus instead. → use **Toast**, **Banner**, **InlineStatus**
25
25
 
26
26
  ### Anatomy
27
27
 
@@ -19,7 +19,7 @@ Use DisclosurePicker for one-of-many choices in a docked panel or inspector wher
19
19
  - Do: Use it for a choice with a cost — one that opens a confirm, loads something, or resets other settings. Arrow keys only move focus; onValueChange fires once, on Enter, Space or a click, and only when the pick differs from `value`.
20
20
  - Do: Give options a leading visual with `media` (a ThemePreview tile, a swatch) instead of nesting another component's list: ThemeSelector's radio list applies each theme as the arrow keys land on it, which defeats commit-on-Enter. A list the picker cannot express (a Tree) can still close the row with `useDisclosurePicker().close()`.
21
21
  - Do: Render DisclosurePickerEmpty in place of the list when a search matches nothing, not inside it — a listbox holds only options.
22
- - Don't: Use it in a page-register form. A form field that pushes the form down on open reads as a layout jump; that is Select's job.
22
+ - Don't: Use it in a page-register form. A form field that pushes the form down on open reads as a layout jump; that is Select's job. → use **Select**
23
23
  - Don't: Rebuild the row from a Collapsible with hand-copied classes. The disclosure, the well, the hover step, the xs field shell, focus return and scroll-into-view all live here; two hand copies of this row in one panel is how it came to exist.
24
24
  - Don't: Turn search on for a short list just because the other rows have it. A search field over six options is a control with nothing to do.
25
25
 
@@ -14,7 +14,7 @@ Use InlineStatus for short state messages placed near the thing they describe.
14
14
 
15
15
  - Do: Use it beside inputs, rows, actions, or settings that need local status.
16
16
  - Do: Keep the message brief and pair color with text.
17
- - Don't: Do not use InlineStatus for global announcements or page-level alerts.
17
+ - Don't: Do not use InlineStatus for global announcements or page-level alerts. → use **Banner**
18
18
  - Don't: Do not use tone as the only signal. Colour alone fails for colour-blind users — the leading icon is what carries the meaning, so never hide it.
19
19
 
20
20
  ## Props
@@ -16,7 +16,7 @@ Use Menu for a compact list of actions opened from a visible trigger.
16
16
  - Do: Keep item labels action-oriented and easy to scan.
17
17
  - Do: Inside a <Workspace> a Menu adapts automatically — its popup re-applies the compact density across the portal, so items render on the chrome type tier and the control ladder resolves to workspace sizes. Do NOT override the size per call site; that was necessary before v0.41 and is now drift.
18
18
  - Don't: Do not use Menu for complex forms, persistent navigation, or arbitrary rich content.
19
- - Don't: Do not build a Select out of it. A menu fires actions and has no value; a Select holds one and reports changes. Swapping them loses form semantics and keyboard type-ahead.
19
+ - Don't: Do not build a Select out of it. A menu fires actions and has no value; a Select holds one and reports changes. Swapping them loses form semantics and keyboard type-ahead. → use **Select**
20
20
 
21
21
  ### Anatomy
22
22
 
@@ -16,7 +16,7 @@ Use Menubar for a tool or editor whose commands are too many for a toolbar and b
16
16
  - Do: Name the bar with aria-label ("Editor") so it is announced as the application's menus, not a list of buttons.
17
17
  - Do: Keep titles to one short word each. A reader scans a menubar left to right; a phrase in the bar is a toolbar button.
18
18
  - Don't: Do not use MenubarTrigger outside a Menubar, or a plain MenuTrigger inside one. The bar's arrow keys and hover-to-switch work on the triggers it owns; a Button trigger in the bar looks like a menu title and behaves like a stray button.
19
- - Don't: Do not use a menubar for site navigation. Its items are commands in menus (role=menuitem), not links between pages.
19
+ - Don't: Do not use a menubar for site navigation. Its items are commands in menus (role=menuitem), not links between pages. → use **NavigationMenu**
20
20
 
21
21
  ### Anatomy
22
22
 
@@ -15,7 +15,7 @@ Use Meter to show a static measurement against a known maximum — storage used,
15
15
  - Do: Label it and show the reading in units people use ("7.2 of 10 GB"), with MeterLabel and MeterValue. The bar shows proportion; the number is what gets acted on.
16
16
  - Do: Pick `tone` from thresholds you own and apply them consistently across the page — warning near the limit, destructive at or over it. The component does not guess where good becomes bad.
17
17
  - Do: Use shape="ring" when the reading is a score that belongs in a small, glanceable spot on a card. It is the same measurement drawn as a circular gauge, not a different component.
18
- - Don't: Do not use Meter for a task in flight — an upload, an install, a step count. That is Progress; Meter tells assistive tech nothing is happening.
18
+ - Don't: Do not use Meter for a task in flight — an upload, an install, a step count. That is Progress; Meter tells assistive tech nothing is happening. → use **Progress**
19
19
  - Don't: Do not use it for a value without a meaningful maximum (followers, total spend). A bar implies a full scale; an unbounded count is a stat.
20
20
 
21
21
  ### Anatomy
@@ -16,7 +16,7 @@ Use Note for helpful supporting information that should sit near the relevant co
16
16
  - Do: Reach for Note rather than Banner when the message qualifies something on the page — a warning inside a dialog, a caveat above a submit button. Banner is a full-width announcement strip for page- or app-level state; inside a form it reads as a slab, and its soft fill carries no border or tone-colored icon, so the severity stops being visible.
17
17
  - Do: Keep tone calm and concise so the note does not compete with primary content.
18
18
  - Do: When the reader can resolve the state, pass `action` rather than putting a Button in children. The prop is data — label plus handler — so the callout owns the placement and weight; a Button dropped into children inherits neither, floats in the box's padding, and (in `secondary`) punches a near-background hole in the tone fill.
19
- - Don't: Do not use Note for state the whole page or app is in (an outage, an offline session, a blocked account) — that is Banner — or for a message tied to one field, which is the field's own error text.
19
+ - Don't: Do not use Note for state the whole page or app is in (an outage, an offline session, a blocked account) — that is Banner — or for a message tied to one field, which is the field's own error text. → use **Banner**
20
20
  - Don't: Do not give a Note two actions. One remedy reads as the sentence's next move; two make it a decision point, which is a Dialog's job.
21
21
  - Don't: Do not stack several in a row. Three notes together are a wall of asides; if everything is called out, nothing is.
22
22
 
@@ -14,7 +14,7 @@ Use PageLoader for full-route or full-page pending states where the entire view
14
14
 
15
15
  - Do: Use it during route transitions, auth checks, or initial data loading.
16
16
  - Do: Prefer a clear page-level message when the wait may take noticeable time.
17
- - Don't: Do not use PageLoader for small inline waits; use Spinner, an indeterminate Progress, or Skeleton.
17
+ - Don't: Do not use PageLoader for small inline waits; use Spinner, an indeterminate Progress, or Skeleton. → use **Spinner**, **Progress**, **Skeleton**
18
18
  - Don't: Do not leave it mounted if the route's data can fail. It covers the whole viewport, so a PageLoader that never resolves is indistinguishable from a hung application — always give it a failure path.
19
19
 
20
20
  ## Props
@@ -14,7 +14,7 @@ Use Pill for a row of filters or choices a person clicks to narrow or toggle wha
14
14
 
15
15
  - Do: Use short text that names the filter or choice.
16
16
  - Do: Reflect the current choice with selected, so the active filter reads at a glance.
17
- - Don't: Do not use Pill as a static label. A pressable-looking chip that does nothing is the most common cause of dead clicks in a filter row — that is a Badge.
17
+ - Don't: Do not use Pill as a static label. A pressable-looking chip that does nothing is the most common cause of dead clicks in a filter row — that is a Badge. → use **Badge**
18
18
  - Don't: Do not use Pill for primary actions or important system status.
19
19
  - Don't: Do not restyle a Pill with border or background classes to get a quieter chip. That is appearance="outline" (and size="sm" for a small one); an override is a look that exists nowhere else in the system.
20
20