@sableui/react 0.17.0 → 0.19.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 (154) hide show
  1. package/AGENTS.md +10 -3
  2. package/CHANGELOG.md +235 -0
  3. package/README.md +11 -4
  4. package/bin/sable.mjs +266 -30
  5. package/dist/{_contract-CDa9-NdB.d.ts → _contract-DlklV0Im.d.ts} +2 -2
  6. package/dist/activity-DT8VK9fx.d.ts +25 -0
  7. package/dist/adapters/github.d.ts +41 -0
  8. package/dist/adapters/github.js +24 -0
  9. package/dist/blocks/index.d.ts +1 -1
  10. package/dist/components/activity-heatmap/activity-heatmap.js +420 -0
  11. package/dist/components/activity-heatmap/activity-heatmap.meta.js +142 -0
  12. package/dist/components/activity-heatmap/index.js +9 -0
  13. package/dist/components/avatar/avatar.js +16 -7
  14. package/dist/components/avatar/avatar.meta.js +43 -10
  15. package/dist/components/avatar/avatar.variants.js +26 -2
  16. package/dist/components/code-block/code-block.js +5 -3
  17. package/dist/components/code-block/code-block.meta.js +6 -0
  18. package/dist/components/collapsible/collapsible.js +6 -5
  19. package/dist/components/collapsible/collapsible.meta.js +14 -5
  20. package/dist/components/data-table/data-table.js +132 -45
  21. package/dist/components/data-table/data-table.meta.js +63 -4
  22. package/dist/components/date-picker/date-picker.js +13 -6
  23. package/dist/components/date-picker/date-picker.meta.js +22 -0
  24. package/dist/components/dialog/dialog.js +25 -5
  25. package/dist/components/dialog/dialog.meta.js +26 -5
  26. package/dist/components/media-image/media-image.js +3 -1
  27. package/dist/components/media-image/media-image.meta.js +15 -1
  28. package/dist/components/media-tile/media-tile.js +13 -1
  29. package/dist/components/media-tile/media-tile.meta.js +10 -0
  30. package/dist/components/menu/menu.js +2 -0
  31. package/dist/components/menu/menu.meta.js +2 -2
  32. package/dist/components/page-header/page-header.js +9 -4
  33. package/dist/components/page-header/page-header.meta.js +26 -1
  34. package/dist/components/panel-group/panel-group.js +17 -1
  35. package/dist/components/panel-group/panel-group.meta.js +43 -3
  36. package/dist/components/pill/pill.meta.js +15 -6
  37. package/dist/components/pill/pill.variants.js +1 -0
  38. package/dist/components/search-input/search-input.js +30 -5
  39. package/dist/components/search-input/search-input.meta.js +29 -4
  40. package/dist/components/section-header/section-header.js +27 -17
  41. package/dist/components/section-header/section-header.meta.js +27 -5
  42. package/dist/components/sheet/sheet.js +15 -3
  43. package/dist/components/sheet/sheet.meta.js +2 -2
  44. package/dist/components/side-nav/side-nav.variants.js +8 -3
  45. package/dist/components/sidebar/index.js +4 -0
  46. package/dist/components/sidebar/sidebar.js +90 -11
  47. package/dist/components/sidebar/sidebar.meta.js +38 -4
  48. package/dist/components/table/table.js +7 -3
  49. package/dist/components/tabs/tabs.js +10 -2
  50. package/dist/components/tabs/tabs.meta.js +4 -0
  51. package/dist/components/workspace/workspace.js +13 -3
  52. package/dist/components/workspace/workspace.meta.js +109 -1
  53. package/dist/file-hashes.json +94 -80
  54. package/dist/foundations/typography.js +13 -0
  55. package/dist/icon/Icon.js +21 -2
  56. package/dist/icon/index.d.ts +36 -1
  57. package/dist/icon/index.js +5 -0
  58. package/dist/icon/names.js +240 -0
  59. package/dist/icon-sets/reicon.js +41 -1
  60. package/dist/index.d.ts +540 -75
  61. package/dist/index.js +18 -1
  62. package/dist/layout/AspectBox.js +2 -5
  63. package/dist/layout/Bleed.js +10 -6
  64. package/dist/layout/Center.js +11 -3
  65. package/dist/layout/Columns.js +6 -3
  66. package/dist/layout/Grid.js +14 -6
  67. package/dist/layout/GridOverlay.js +7 -7
  68. package/dist/layout/Region.js +18 -3
  69. package/dist/layout/Row.js +27 -20
  70. package/dist/layout/Spacer.js +13 -2
  71. package/dist/layout/SplitPane.js +1 -1
  72. package/dist/layout/Stack.js +25 -18
  73. package/dist/layout/index.d.ts +57 -6
  74. package/dist/lib/chart/activity.js +32 -0
  75. package/dist/lib/chart/calendar.js +67 -0
  76. package/dist/lib/chart/chart-tooltip.js +2 -2
  77. package/dist/lib/chart/heat.js +55 -0
  78. package/dist/lib/cn.js +1 -0
  79. package/dist/lib/focus-return.js +53 -0
  80. package/dist/lib/taxonomy.js +1 -0
  81. package/dist/lib/use-media-query.js +41 -0
  82. package/dist/{meta-DX5r5wQL.d.ts → meta-Dfm9AExe.d.ts} +6 -0
  83. package/dist/patterns/dashboard-page.js +23 -17
  84. package/dist/patterns/index.d.ts +7 -2
  85. package/dist/patterns/index.js +5 -1
  86. package/dist/patterns/tracker-page.js +392 -0
  87. package/dist/patterns/tracker-page.meta.js +40 -0
  88. package/dist/presets/index.d.ts +1 -1
  89. package/dist/styles.css +301 -188
  90. package/dist/{theme-provider-BydfM5Z0.d.ts → theme-provider-BUBealk_.d.ts} +1 -1
  91. package/dist/themes/_contract.js +9 -1
  92. package/dist/themes/atelier/index.d.ts +1 -1
  93. package/dist/themes/ember/index.d.ts +1 -1
  94. package/dist/themes/index.d.ts +2 -2
  95. package/dist/themes/meridian/index.d.ts +1 -1
  96. package/dist/themes/poppy/index.d.ts +1 -1
  97. package/dist/themes/prism/index.d.ts +1 -1
  98. package/dist/themes/sable/index.d.ts +1 -1
  99. package/dist/themes/verdant/index.d.ts +1 -1
  100. package/llms/components/activity-heatmap.md +133 -0
  101. package/llms/components/avatar.md +32 -9
  102. package/llms/components/code-block.md +1 -0
  103. package/llms/components/collapsible.md +12 -4
  104. package/llms/components/data-table.md +40 -3
  105. package/llms/components/date-picker.md +15 -1
  106. package/llms/components/dialog.md +34 -3
  107. package/llms/components/media-image.md +12 -0
  108. package/llms/components/media-tile.md +21 -0
  109. package/llms/components/menu.md +1 -1
  110. package/llms/components/page-header.md +16 -1
  111. package/llms/components/panel-group.md +34 -2
  112. package/llms/components/pill.md +24 -5
  113. package/llms/components/search-input.md +37 -4
  114. package/llms/components/section-header.md +28 -4
  115. package/llms/components/sheet.md +2 -2
  116. package/llms/components/sidebar.md +17 -4
  117. package/llms/components/tabs.md +1 -0
  118. package/llms/components/workspace.md +81 -1
  119. package/llms/foundations/typography.md +4 -1
  120. package/llms/layout/aspect-box.md +1 -1
  121. package/llms/layout/bleed.md +1 -1
  122. package/llms/layout/center.md +1 -1
  123. package/llms/layout/columns.md +1 -1
  124. package/llms/layout/grid.md +1 -1
  125. package/llms/layout/region.md +1 -1
  126. package/llms/layout/row.md +9 -1
  127. package/llms/layout/spacer.md +1 -1
  128. package/llms/layout/split-pane.md +1 -1
  129. package/llms/layout/stack.md +1 -1
  130. package/llms/patterns/dashboard-page.md +18 -15
  131. package/llms/patterns/tracker-page.md +450 -0
  132. package/llms/reference/token-intent.md +3 -1
  133. package/llms/reference/utilities.md +4 -1
  134. package/llms/tasks/auditing-an-app.md +35 -1
  135. package/llms/tasks/building-a-page.md +3 -2
  136. package/llms/tasks/building-a-tool.md +101 -5
  137. package/llms/tasks/building-with-sable.md +11 -3
  138. package/llms/tasks/creating-a-preset.md +9 -0
  139. package/llms/tasks/getting-started.md +10 -3
  140. package/llms/tasks/using-presets.md +1 -2
  141. package/llms-full.txt +1215 -89
  142. package/llms.txt +11 -9
  143. package/package.json +7 -1
  144. package/registry.json +1021 -70
  145. package/scripts/adoption.mjs +252 -0
  146. package/scripts/agent-setup.mjs +110 -18
  147. package/scripts/app-css.mjs +129 -0
  148. package/scripts/grade.mjs +178 -2
  149. package/scripts/lint-rules.mjs +126 -0
  150. package/scripts/wiring.mjs +2 -1
  151. package/skills/entry/SKILL.md +1 -1
  152. package/skills/sable/SKILL.md +64 -6
  153. package/skills/sable/agents/openai.yaml +1 -1
  154. package/targets/ios.json +9 -0
@@ -1,5 +1,8 @@
1
1
  {
2
- "dist/_contract-CDa9-NdB.d.ts": "062fb08b461ea845",
2
+ "dist/_contract-DlklV0Im.d.ts": "62902c1191994acb",
3
+ "dist/activity-DT8VK9fx.d.ts": "528ef87bbc766d76",
4
+ "dist/adapters/github.d.ts": "7e30b303e1daa370",
5
+ "dist/adapters/github.js": "3a2c4593e2ad1e18",
3
6
  "dist/blocks/api-keys-block.js": "0c6d54126392e4fb",
4
7
  "dist/blocks/api-keys-block.meta.js": "41903f3a7743b068",
5
8
  "dist/blocks/approval-block.js": "b84f4d310ce30664",
@@ -26,7 +29,7 @@
26
29
  "dist/blocks/goal-progress-block.meta.js": "3e5b376bf58bdb4b",
27
30
  "dist/blocks/hero-block.js": "ac74e80d4d7d2ad9",
28
31
  "dist/blocks/hero-block.meta.js": "2dd2e5be2472a563",
29
- "dist/blocks/index.d.ts": "5f4a38dda1460f56",
32
+ "dist/blocks/index.d.ts": "6ce6abc6734dbd72",
30
33
  "dist/blocks/index.js": "690417c222dc4d2a",
31
34
  "dist/blocks/invite-team-block.js": "be4df15518252535",
32
35
  "dist/blocks/invite-team-block.meta.js": "fd57b632f0f32276",
@@ -89,6 +92,9 @@
89
92
  "dist/components/accordion/accordion.js": "4f41376e208ac29d",
90
93
  "dist/components/accordion/accordion.meta.js": "27ec6ddc51914b4a",
91
94
  "dist/components/accordion/index.js": "4181a2720d5c1ed8",
95
+ "dist/components/activity-heatmap/activity-heatmap.js": "a368d466be3be631",
96
+ "dist/components/activity-heatmap/activity-heatmap.meta.js": "3723ae0dd4aa5b9d",
97
+ "dist/components/activity-heatmap/index.js": "5b15c2c64908174f",
92
98
  "dist/components/app-header/app-header.js": "2149806a151306c4",
93
99
  "dist/components/app-header/app-header.meta.js": "04631f9c2069f30d",
94
100
  "dist/components/app-header/index.js": "012804273e56f06d",
@@ -106,9 +112,9 @@
106
112
  "dist/components/attachment/attachment.meta.js": "bd6839318c806693",
107
113
  "dist/components/attachment/attachment.variants.js": "6435e477e7fab33e",
108
114
  "dist/components/attachment/index.js": "133c4711cb724f18",
109
- "dist/components/avatar/avatar.js": "4d6e3af8d615054f",
110
- "dist/components/avatar/avatar.meta.js": "7f60515562e66607",
111
- "dist/components/avatar/avatar.variants.js": "55007c724a59bf1f",
115
+ "dist/components/avatar/avatar.js": "07b29a9c1a0c83a8",
116
+ "dist/components/avatar/avatar.meta.js": "22eee8ca57dbc0fd",
117
+ "dist/components/avatar/avatar.variants.js": "97468d4f1b308d70",
112
118
  "dist/components/avatar/index.js": "12b7af50f0f54b67",
113
119
  "dist/components/badge/badge.js": "d4244f501b1ed90f",
114
120
  "dist/components/badge/badge.meta.js": "4cccd768874c1ad8",
@@ -169,11 +175,11 @@
169
175
  "dist/components/code/code.js": "4be51f4cfb283bb2",
170
176
  "dist/components/code/code.meta.js": "8e5173d8b59e846b",
171
177
  "dist/components/code/index.js": "34e13acc13b39cfd",
172
- "dist/components/code-block/code-block.js": "b96d1db552e8f8f0",
173
- "dist/components/code-block/code-block.meta.js": "838282c7addf5dd2",
178
+ "dist/components/code-block/code-block.js": "b66aed579438bca7",
179
+ "dist/components/code-block/code-block.meta.js": "d7e869100f45e650",
174
180
  "dist/components/code-block/index.js": "e40982950359204b",
175
- "dist/components/collapsible/collapsible.js": "fecb96bdc056e7bb",
176
- "dist/components/collapsible/collapsible.meta.js": "5d677ef03ee2f7e9",
181
+ "dist/components/collapsible/collapsible.js": "d7c1dc37baa02104",
182
+ "dist/components/collapsible/collapsible.meta.js": "dae49ec2983fb629",
177
183
  "dist/components/collapsible/index.js": "072c3578300f205e",
178
184
  "dist/components/color-field/color-field.js": "05aa083444586cfb",
179
185
  "dist/components/color-field/color-field.meta.js": "a5815df99fdca4a2",
@@ -195,11 +201,11 @@
195
201
  "dist/components/context-menu/context-menu.js": "9a5f899f1fd5aa84",
196
202
  "dist/components/context-menu/context-menu.meta.js": "6915409a31be6ef0",
197
203
  "dist/components/context-menu/index.js": "b4a609ee13e4bdd5",
198
- "dist/components/data-table/data-table.js": "be6e1011624d580b",
199
- "dist/components/data-table/data-table.meta.js": "e8df5d8910630c0a",
204
+ "dist/components/data-table/data-table.js": "11d62363b90271a9",
205
+ "dist/components/data-table/data-table.meta.js": "cdca28cc23d28c45",
200
206
  "dist/components/data-table/index.js": "181835d5e3b6c366",
201
- "dist/components/date-picker/date-picker.js": "7dd1d41202bede97",
202
- "dist/components/date-picker/date-picker.meta.js": "fbd9d0e31affe527",
207
+ "dist/components/date-picker/date-picker.js": "974fb092a642138d",
208
+ "dist/components/date-picker/date-picker.meta.js": "bb48e03dbf11b074",
203
209
  "dist/components/date-picker/index.js": "44e1227972891934",
204
210
  "dist/components/date-tile/date-tile.js": "7458bf733bc64ab2",
205
211
  "dist/components/date-tile/date-tile.meta.js": "0bc0081c8cb73535",
@@ -207,8 +213,8 @@
207
213
  "dist/components/destructive-action-modal/destructive-action-modal.js": "3806d39cb3fb0cdf",
208
214
  "dist/components/destructive-action-modal/destructive-action-modal.meta.js": "a1a0a6d441f602b4",
209
215
  "dist/components/destructive-action-modal/index.js": "23b46c051e8c4e4e",
210
- "dist/components/dialog/dialog.js": "efdca40a11df5bff",
211
- "dist/components/dialog/dialog.meta.js": "98de0730d852851c",
216
+ "dist/components/dialog/dialog.js": "b8bfdb6f5ed94dfd",
217
+ "dist/components/dialog/dialog.meta.js": "376df87eddc07ef9",
212
218
  "dist/components/dialog/index.js": "4ed284cc7b4692d5",
213
219
  "dist/components/disclosure-picker/disclosure-picker.js": "6f7a28eee89e1c1f",
214
220
  "dist/components/disclosure-picker/disclosure-picker.meta.js": "c32223ff1ff098bc",
@@ -273,15 +279,15 @@
273
279
  "dist/components/marquee/marquee.js": "0e56221adeebb781",
274
280
  "dist/components/marquee/marquee.meta.js": "6c406bddddc5e010",
275
281
  "dist/components/media-image/index.js": "d423b869156da3f6",
276
- "dist/components/media-image/media-image.js": "f68499e9f84b6e64",
277
- "dist/components/media-image/media-image.meta.js": "0778fd790511a701",
282
+ "dist/components/media-image/media-image.js": "f5555312b3415e89",
283
+ "dist/components/media-image/media-image.meta.js": "ff488a1d4f80a5a9",
278
284
  "dist/components/media-tile/index.js": "00281f6f8cc246d1",
279
- "dist/components/media-tile/media-tile.js": "faf79c27ec15c8d4",
280
- "dist/components/media-tile/media-tile.meta.js": "6a21970f9b463812",
285
+ "dist/components/media-tile/media-tile.js": "bf91dd717a27613a",
286
+ "dist/components/media-tile/media-tile.meta.js": "a1323b8f1f945e58",
281
287
  "dist/components/media-tile/media-tile.variants.js": "e22c08004b4a55ad",
282
288
  "dist/components/menu/index.js": "c368589e92d3a189",
283
- "dist/components/menu/menu.js": "d31a3cd0d737447d",
284
- "dist/components/menu/menu.meta.js": "533a215b9ff28d85",
289
+ "dist/components/menu/menu.js": "162648914d1182eb",
290
+ "dist/components/menu/menu.meta.js": "3587ac2db429fe37",
285
291
  "dist/components/menubar/index.js": "4e0c7717fa9f2a4d",
286
292
  "dist/components/menubar/menubar.js": "7177568e95c22fd1",
287
293
  "dist/components/menubar/menubar.meta.js": "2d313681a64a7bfd",
@@ -323,8 +329,8 @@
323
329
  "dist/components/overflow-menu/overflow-menu.js": "ae21a09facac6c64",
324
330
  "dist/components/overflow-menu/overflow-menu.meta.js": "d53fec5c53db5035",
325
331
  "dist/components/page-header/index.js": "e4da1f42473e10d1",
326
- "dist/components/page-header/page-header.js": "6dc82f8bd222c2f5",
327
- "dist/components/page-header/page-header.meta.js": "94dba3334f2cfb47",
332
+ "dist/components/page-header/page-header.js": "c45cc2ebd02d1ed2",
333
+ "dist/components/page-header/page-header.meta.js": "7b0d7fc28cb748f8",
328
334
  "dist/components/page-loader/index.js": "73989c61d8df9fee",
329
335
  "dist/components/page-loader/page-loader.js": "39eb2d9a5747c950",
330
336
  "dist/components/page-loader/page-loader.meta.js": "dc43852dd1b4dcea",
@@ -332,8 +338,8 @@
332
338
  "dist/components/pagination/pagination.js": "1220c9e09285601e",
333
339
  "dist/components/pagination/pagination.meta.js": "d4b190da016cf9c8",
334
340
  "dist/components/panel-group/index.js": "8589d6450207f608",
335
- "dist/components/panel-group/panel-group.js": "c720c80c554d89b6",
336
- "dist/components/panel-group/panel-group.meta.js": "b699a78c93e63911",
341
+ "dist/components/panel-group/panel-group.js": "bee8719d8826c020",
342
+ "dist/components/panel-group/panel-group.meta.js": "c2c80330b0b36724",
337
343
  "dist/components/panel-section/index.js": "055470e0a68862e6",
338
344
  "dist/components/panel-section/panel-section.js": "04b12c7e507083df",
339
345
  "dist/components/panel-section/panel-section.meta.js": "148a7bbe63d7e58f",
@@ -346,8 +352,8 @@
346
352
  "dist/components/pie-chart/pie-chart.meta.js": "04078e0b1d7853fc",
347
353
  "dist/components/pill/index.js": "20ff8b276a4f0515",
348
354
  "dist/components/pill/pill.js": "1c1d6180acce0e53",
349
- "dist/components/pill/pill.meta.js": "4ff1e10fbef549e9",
350
- "dist/components/pill/pill.variants.js": "6b6a824b44bfae13",
355
+ "dist/components/pill/pill.meta.js": "1b8ff366e5cd39ba",
356
+ "dist/components/pill/pill.variants.js": "d3bc3ce5d3871472",
351
357
  "dist/components/popover/index.js": "125e46824329b2b9",
352
358
  "dist/components/popover/popover.js": "8eb733ebc4c5c3cb",
353
359
  "dist/components/popover/popover.meta.js": "b69532ebeaf000c6",
@@ -381,11 +387,11 @@
381
387
  "dist/components/scrub-field/scrub-field.js": "1f6ebbdd1e7b0d64",
382
388
  "dist/components/scrub-field/scrub-field.meta.js": "1cf791914578f353",
383
389
  "dist/components/search-input/index.js": "075fb823b5e7bc3f",
384
- "dist/components/search-input/search-input.js": "457351a57507282c",
385
- "dist/components/search-input/search-input.meta.js": "8bc6e7ec025c61f3",
390
+ "dist/components/search-input/search-input.js": "c5f60cd755d435bb",
391
+ "dist/components/search-input/search-input.meta.js": "a71d684f391b3a10",
386
392
  "dist/components/section-header/index.js": "11f5658b3805ce6e",
387
- "dist/components/section-header/section-header.js": "eafb346c6efc6d84",
388
- "dist/components/section-header/section-header.meta.js": "011c13a1916b1d04",
393
+ "dist/components/section-header/section-header.js": "d8ef1818ba904a7a",
394
+ "dist/components/section-header/section-header.meta.js": "b3cbb9a0a37db87f",
389
395
  "dist/components/section-rail/index.js": "30fd32b042f1721e",
390
396
  "dist/components/section-rail/section-rail.js": "0eb588ecae9c68ce",
391
397
  "dist/components/section-rail/section-rail.meta.js": "fa1993dcde9735db",
@@ -404,8 +410,8 @@
404
410
  "dist/components/settings-menu/settings-menu.meta.js": "46bdda712ce13d85",
405
411
  "dist/components/settings-menu/settings-menu.variants.js": "1eefc629793ed7b3",
406
412
  "dist/components/sheet/index.js": "b19aacba55e7de80",
407
- "dist/components/sheet/sheet.js": "9f96dceaa8f091cf",
408
- "dist/components/sheet/sheet.meta.js": "c327b7a9c399c12a",
413
+ "dist/components/sheet/sheet.js": "183a4dfb92da3bc3",
414
+ "dist/components/sheet/sheet.meta.js": "d407fb54c9eb7f62",
409
415
  "dist/components/sheet/sheet.variants.js": "80af36bc54106a55",
410
416
  "dist/components/show-more/index.js": "e7c7e37ffedde2c2",
411
417
  "dist/components/show-more/show-more.js": "842adf12a2d31a26",
@@ -413,10 +419,10 @@
413
419
  "dist/components/side-nav/index.js": "fa4e5f5e7232de1e",
414
420
  "dist/components/side-nav/side-nav.js": "4327344d1e8ce8bc",
415
421
  "dist/components/side-nav/side-nav.meta.js": "82637ce04cbd2b88",
416
- "dist/components/side-nav/side-nav.variants.js": "54086fe23a4f679f",
417
- "dist/components/sidebar/index.js": "eac0c8742dcaae4d",
418
- "dist/components/sidebar/sidebar.js": "5a2ce3bc89528fbf",
419
- "dist/components/sidebar/sidebar.meta.js": "84718479850faceb",
422
+ "dist/components/side-nav/side-nav.variants.js": "0b94d077067544d1",
423
+ "dist/components/sidebar/index.js": "570bd667f5f64241",
424
+ "dist/components/sidebar/sidebar.js": "afe8fcfb35f05d5f",
425
+ "dist/components/sidebar/sidebar.meta.js": "28cad3311519b366",
420
426
  "dist/components/skeleton/index.js": "4e01c345b14d42f1",
421
427
  "dist/components/skeleton/skeleton.js": "5ca6d75e81a048ee",
422
428
  "dist/components/skeleton/skeleton.meta.js": "9b7014b97385d773",
@@ -447,11 +453,11 @@
447
453
  "dist/components/switch/switch.js": "5f7b31327500f893",
448
454
  "dist/components/switch/switch.meta.js": "a18e8a74430cb644",
449
455
  "dist/components/table/index.js": "690a2dcf36ac85f6",
450
- "dist/components/table/table.js": "b84e3ad4a2c01c07",
456
+ "dist/components/table/table.js": "cd8aa7b71696532b",
451
457
  "dist/components/table/table.meta.js": "161e701f7e719851",
452
458
  "dist/components/tabs/index.js": "a48e84d7f04203f9",
453
- "dist/components/tabs/tabs.js": "26a15a1cda1d7a39",
454
- "dist/components/tabs/tabs.meta.js": "9622b77b090361a0",
459
+ "dist/components/tabs/tabs.js": "8dee06138a436780",
460
+ "dist/components/tabs/tabs.meta.js": "74c1da8d70dcb31a",
455
461
  "dist/components/textarea/index.js": "09897d89dd4083dd",
456
462
  "dist/components/textarea/textarea.js": "f6b0a934cacdb35b",
457
463
  "dist/components/textarea/textarea.meta.js": "2ae567e1d704c52d",
@@ -489,8 +495,8 @@
489
495
  "dist/components/video/video.js": "d916305d298d6f30",
490
496
  "dist/components/video/video.meta.js": "3c3035022b1f5d90",
491
497
  "dist/components/workspace/index.js": "bace33b15a746d71",
492
- "dist/components/workspace/workspace.js": "1d676d32bc632e30",
493
- "dist/components/workspace/workspace.meta.js": "b2f9dc7be0d6a6be",
498
+ "dist/components/workspace/workspace.js": "54d938b4954b309e",
499
+ "dist/components/workspace/workspace.meta.js": "173277771d6e38f3",
494
500
  "dist/foundations/accessibility.js": "3d5a26dac7b1d821",
495
501
  "dist/foundations/index.d.ts": "34f9553827230412",
496
502
  "dist/foundations/index.js": "37e83ca8063a4282",
@@ -500,20 +506,21 @@
500
506
  "dist/foundations/spacing.js": "49fd401256835447",
501
507
  "dist/foundations/surfaces.js": "2791d0b950ba2c42",
502
508
  "dist/foundations/types.js": "e3b0c44298fc1c14",
503
- "dist/foundations/typography.js": "a682867ef56c208c",
504
- "dist/icon/Icon.js": "bb0869322d3a61b2",
509
+ "dist/foundations/typography.js": "d1a324eed0feb558",
510
+ "dist/icon/Icon.js": "68d5200af511744d",
505
511
  "dist/icon/IconProvider.js": "35a60f03b55f92ae",
506
512
  "dist/icon/compose.js": "d9d4445aa33f867d",
507
- "dist/icon/index.d.ts": "88a0a84a2313196d",
508
- "dist/icon/index.js": "12fcd896bfc51d3e",
513
+ "dist/icon/index.d.ts": "044dbd3a068471b0",
514
+ "dist/icon/index.js": "51f70bcb1219b9a6",
515
+ "dist/icon/names.js": "1fec5b3136d91fa1",
509
516
  "dist/icon/registry.js": "e3b0c44298fc1c14",
510
517
  "dist/icon-sets/brands.d.ts": "c413ccbdd078d8b4",
511
518
  "dist/icon-sets/brands.generated.js": "901e198df0563b0b",
512
519
  "dist/icon-sets/brands.js": "9a37d8739f14f2a9",
513
520
  "dist/icon-sets/reicon.d.ts": "52f6e41dc8137b4e",
514
- "dist/icon-sets/reicon.js": "0f73074baac9b866",
515
- "dist/index.d.ts": "2eefd1036ccd7232",
516
- "dist/index.js": "8d2cf095c3399a97",
521
+ "dist/icon-sets/reicon.js": "6d3302cc2ed5a58e",
522
+ "dist/index.d.ts": "e5a512f3a1ad8bb5",
523
+ "dist/index.js": "ca9bc8552d36f795",
517
524
  "dist/ios/chrome.css": "a7ca9e3735d8658e",
518
525
  "dist/ios/chrome.js": "37091fef7b68bd28",
519
526
  "dist/ios/frame.css": "dd2703c944ce575a",
@@ -529,41 +536,45 @@
529
536
  "dist/ios/sheet.js": "9cdd685cde4609fe",
530
537
  "dist/ios/styles.css": "057885e6f8429a12",
531
538
  "dist/ios/theme.js": "dfc8112eccfb7c7a",
532
- "dist/layout/AspectBox.js": "4b50c3987baca27c",
533
- "dist/layout/Bleed.js": "cb567b6a19b85c94",
534
- "dist/layout/Center.js": "dd1543f34aed94ba",
535
- "dist/layout/Columns.js": "023a72bd3166fa1c",
536
- "dist/layout/Grid.js": "70ebd69b52edb4e6",
537
- "dist/layout/GridOverlay.js": "d07e43330b1ca3ed",
539
+ "dist/layout/AspectBox.js": "ecb51bf8689afe54",
540
+ "dist/layout/Bleed.js": "192fa3833ecda57c",
541
+ "dist/layout/Center.js": "d3b61dd229c2beed",
542
+ "dist/layout/Columns.js": "218fbaf5d486d819",
543
+ "dist/layout/Grid.js": "fe22c21836bda34a",
544
+ "dist/layout/GridOverlay.js": "626e6517d5cb2ce0",
538
545
  "dist/layout/Page.js": "a02d3a5534492c6a",
539
- "dist/layout/Region.js": "c76c75a54f405649",
540
- "dist/layout/Row.js": "83d771177f752610",
546
+ "dist/layout/Region.js": "ee32da8bd1b7d6df",
547
+ "dist/layout/Row.js": "c9a95bedbacc0dbf",
541
548
  "dist/layout/SafeArea.js": "1e4739d51e0eb71d",
542
- "dist/layout/Spacer.js": "bf8d580752acab02",
543
- "dist/layout/SplitPane.js": "2807f49a8917b70f",
544
- "dist/layout/Stack.js": "44a775e68e21f673",
549
+ "dist/layout/Spacer.js": "a601bb6c555beb43",
550
+ "dist/layout/SplitPane.js": "45ed3a3f795a924a",
551
+ "dist/layout/Stack.js": "2ab65a7c88843fe9",
545
552
  "dist/layout/_responsive.js": "8c2ca35545706660",
546
553
  "dist/layout/_safeArea.js": "7ed61b7dde139cd5",
547
- "dist/layout/index.d.ts": "57b40bbed43af5d3",
554
+ "dist/layout/index.d.ts": "c6e7f389a079bf07",
548
555
  "dist/layout/index.js": "f755ffdfe16d844c",
549
556
  "dist/lib/anchored-scroll.js": "c077ce237b964310",
550
557
  "dist/lib/bleed.js": "73fe9b97e5d528b3",
558
+ "dist/lib/chart/activity.js": "a7c35cf1f8643caa",
559
+ "dist/lib/chart/calendar.js": "25ecaa6d5279c965",
551
560
  "dist/lib/chart/cartesian.js": "27ae6dcb86dfbf45",
552
561
  "dist/lib/chart/chart-center.js": "bb826860d493ec09",
553
562
  "dist/lib/chart/chart-frame.js": "748f838a3e3c17d5",
554
563
  "dist/lib/chart/chart-legend.js": "751476cea4ec7db9",
555
- "dist/lib/chart/chart-tooltip.js": "e42c899bd2ecf521",
564
+ "dist/lib/chart/chart-tooltip.js": "97b93418bb334f57",
556
565
  "dist/lib/chart/dim.js": "e67e46858379174a",
557
566
  "dist/lib/chart/format.js": "f0256bbe226a0967",
558
567
  "dist/lib/chart/geometry.js": "10acd4c2626b0969",
568
+ "dist/lib/chart/heat.js": "2de024b5f50cbaff",
559
569
  "dist/lib/chart/motion.js": "8edb50cf54b30a1a",
560
570
  "dist/lib/chart/scale.js": "b4b329322bfdd17a",
561
571
  "dist/lib/chart/types.js": "5665ade26e2b21a7",
562
572
  "dist/lib/chart/use-arrival.js": "9c38f37cf12146f9",
563
- "dist/lib/cn.js": "d16165e3f2f3c488",
573
+ "dist/lib/cn.js": "35c2afae2a2e5753",
564
574
  "dist/lib/component-guidance.js": "add930d690472d31",
565
575
  "dist/lib/density.js": "304cdaf6733fbad1",
566
576
  "dist/lib/field-shell.js": "cd47989e26b4f1ce",
577
+ "dist/lib/focus-return.js": "7166e37a052bd125",
567
578
  "dist/lib/glyphs.js": "9164497629a3fa70",
568
579
  "dist/lib/heading-row.js": "ef1faf4955e0fec6",
569
580
  "dist/lib/highlight-glide.js": "555668682863ac0d",
@@ -578,7 +589,7 @@
578
589
  "dist/lib/segmented.js": "43c21955f7f3ae33",
579
590
  "dist/lib/selection-card.js": "43c49c8c51dde54c",
580
591
  "dist/lib/status-tone.js": "61f0a8bb4fb9c7d6",
581
- "dist/lib/taxonomy.js": "f1de3ec452d7516f",
592
+ "dist/lib/taxonomy.js": "b68841921136149d",
582
593
  "dist/lib/trim-label.js": "9998d45e03c95515",
583
594
  "dist/lib/use-active-section.js": "9cdda6529e332ac8",
584
595
  "dist/lib/use-caret-trigger.js": "e9dba2b3bc27f18e",
@@ -586,10 +597,11 @@
586
597
  "dist/lib/use-edge-fade.js": "392e8c33f072fd21",
587
598
  "dist/lib/use-isomorphic-layout-effect.js": "8b93c47e9f069454",
588
599
  "dist/lib/use-match-highlight.js": "4ab41f3a82446ebf",
600
+ "dist/lib/use-media-query.js": "9998712dac227f59",
589
601
  "dist/lib/use-resize-observer.js": "4f08e280d64be22c",
590
602
  "dist/lib/use-scroll-activity.js": "793394a8c952e697",
591
603
  "dist/lib/use-smooth-wheel.js": "735e0e004c7204fb",
592
- "dist/meta-DX5r5wQL.d.ts": "b15f63123088709a",
604
+ "dist/meta-Dfm9AExe.d.ts": "cbc99ba174d4aae3",
593
605
  "dist/motion/Burst.js": "cede90200e958908",
594
606
  "dist/motion/MotionProvider.js": "624f5502828e7fd0",
595
607
  "dist/motion/Presence.js": "21fc6f1c68207718",
@@ -608,48 +620,50 @@
608
620
  "dist/patterns/brand-landing-page.meta.js": "4483ca25391e53cd",
609
621
  "dist/patterns/chat-panel.js": "f4597a28521c26df",
610
622
  "dist/patterns/chat-panel.meta.js": "a435a08964f40f79",
611
- "dist/patterns/dashboard-page.js": "82a56a2d61381ff0",
623
+ "dist/patterns/dashboard-page.js": "0b34d8ed44b4e29d",
612
624
  "dist/patterns/dashboard-page.meta.js": "afa1ab16823686d0",
613
625
  "dist/patterns/feed-page.js": "6c34ebf590eb51df",
614
626
  "dist/patterns/feed-page.meta.js": "d87a18be1d0eebca",
615
- "dist/patterns/index.d.ts": "07bf94356dd329a8",
616
- "dist/patterns/index.js": "3ff5fabb1afbf8dc",
627
+ "dist/patterns/index.d.ts": "31c319650574425f",
628
+ "dist/patterns/index.js": "e6d7654a7cd9141b",
617
629
  "dist/patterns/landing-page.js": "d27227dbb74021bf",
618
630
  "dist/patterns/landing-page.meta.js": "95d34273ee999eea",
619
631
  "dist/patterns/list-detail-page.js": "7c124da100befd14",
620
632
  "dist/patterns/list-detail-page.meta.js": "df01b058381bd67a",
621
633
  "dist/patterns/settings-page.js": "61277b5e00a76244",
622
634
  "dist/patterns/settings-page.meta.js": "68d34a8d2ecf417a",
623
- "dist/presets/index.d.ts": "454f6f809cc08d6a",
635
+ "dist/patterns/tracker-page.js": "7d92a8f05f6aa044",
636
+ "dist/patterns/tracker-page.meta.js": "e0fe9b7416b1ace0",
637
+ "dist/presets/index.d.ts": "87fa4c7ffd7c0da8",
624
638
  "dist/presets/index.js": "fe9c4f8231bf18b2",
625
639
  "dist/registry-CyL28OzJ.d.ts": "b068fc89571517d8",
626
- "dist/styles.css": "7b8fe19fbd504785",
627
- "dist/theme-provider-BydfM5Z0.d.ts": "71808ed18b268496",
628
- "dist/themes/_contract.js": "f566700602557a22",
640
+ "dist/styles.css": "f42ee1b4773f49b0",
641
+ "dist/theme-provider-BUBealk_.d.ts": "3b8c1368c3a39296",
642
+ "dist/themes/_contract.js": "c37c09de82106fe8",
629
643
  "dist/themes/atelier/atelier.css": "ca476ee9fe980307",
630
- "dist/themes/atelier/index.d.ts": "941ec7d11a9ea429",
644
+ "dist/themes/atelier/index.d.ts": "1e0aefad2c32bb56",
631
645
  "dist/themes/atelier/index.js": "909453609097c7f7",
632
646
  "dist/themes/contrast.js": "65b057ac2613a364",
633
647
  "dist/themes/ember/ember.css": "ca5e2e60ecb52464",
634
- "dist/themes/ember/index.d.ts": "74d05c575e106131",
648
+ "dist/themes/ember/index.d.ts": "266ea5636ed7bbc9",
635
649
  "dist/themes/ember/index.js": "cffa33f1bef32147",
636
- "dist/themes/index.d.ts": "8ee47b37d061d88a",
650
+ "dist/themes/index.d.ts": "73e82f4cf28dd622",
637
651
  "dist/themes/index.js": "7f33a54fb5c24748",
638
- "dist/themes/meridian/index.d.ts": "f108ee2888fcd002",
652
+ "dist/themes/meridian/index.d.ts": "8f3d193836383ddb",
639
653
  "dist/themes/meridian/index.js": "56462cce4dca41ca",
640
654
  "dist/themes/meridian/meridian.css": "a76f7d8f8105d19d",
641
- "dist/themes/poppy/index.d.ts": "40caf47c32b61be8",
655
+ "dist/themes/poppy/index.d.ts": "c8323cd277c07f2d",
642
656
  "dist/themes/poppy/index.js": "f2e535806e5a2bf7",
643
657
  "dist/themes/poppy/poppy.css": "da551a8b7bdd30c1",
644
- "dist/themes/prism/index.d.ts": "ce69006adb495d25",
658
+ "dist/themes/prism/index.d.ts": "68650a1e59d78cf6",
645
659
  "dist/themes/prism/index.js": "ec2cee6b1265ffa1",
646
660
  "dist/themes/prism/prism.css": "51c7bfbf7dfab6ca",
647
661
  "dist/themes/registry.js": "933de6f608db253f",
648
- "dist/themes/sable/index.d.ts": "c2c7e2009c0fca7e",
662
+ "dist/themes/sable/index.d.ts": "1613fafeb268466e",
649
663
  "dist/themes/sable/index.js": "28eaf45ae57577b6",
650
664
  "dist/themes/sable/sable.css": "b0cfb24b9519f20f",
651
665
  "dist/themes/theme-provider.js": "05ad5f1f820e7dd5",
652
- "dist/themes/verdant/index.d.ts": "1832116ef671f45f",
666
+ "dist/themes/verdant/index.d.ts": "0c887c715f9b1b14",
653
667
  "dist/themes/verdant/index.js": "f7427c153f1fa913",
654
668
  "dist/themes/verdant/verdant.css": "84746574d124472f",
655
669
  "dist/themes.css": "994aa4e048ed1cd9"
@@ -73,6 +73,14 @@ var typography = {
73
73
  rule: "text-wrap: balance on headings, pretty on ledes, neither on long prose.",
74
74
  why: "balance evens short headlines; pretty only refuses a one-word last line. Both cost layout work that long prose does not repay."
75
75
  },
76
+ {
77
+ rule: "To make all the type smaller or larger, set the base: --type-base: 14 (a unitless px number; 16 is the default). Never retune tiers one by one for it.",
78
+ why: 'Every tier is authored on a 16px base and keeps its ratio to it, so one number rebuilds the whole scale, headings to captions, and the baseline step and spacing follow the body. Shrinking tiers individually breaks the ratios between them. Set it on :root, a theme scope or a preset (tokens.shared["type-base"]) so the rhythm follows too.'
79
+ },
80
+ {
81
+ rule: `Inside a Workspace, a panel's title is text-ui-title (14px \xB7 600); compact text-title-lg resolves to it. A reading view inside the tool (an overview, a document, a long form) is wrapped in <Density value="comfortable"> and gets the page tiers back.`,
82
+ why: "The compact register remaps page tiers onto the 10-12px chrome ramp, which is right for chrome and wrong for prose: an issue overview set in a tool rendered its paragraphs at 11px. The remap stops at a comfortable boundary, so the wrapper is the whole fix."
83
+ },
76
84
  {
77
85
  rule: "A mark attached to a line of type (a dot, a bullet, a timeline marker, a leading icon) sits in a box one line tall (h-[1lh] items-center) and is sized in em.",
78
86
  why: "1lh is the line-height of the text beside it, so the mark centres on that line in every tier, density and theme. A px size with a mt-[3px] nudge is right for one font at one size and wrong everywhere else."
@@ -106,6 +114,11 @@ var typography = {
106
114
  instead: "Ragged-right at body-md; body-xs only for dense data.",
107
115
  why: "Justification opens rivers on the web, which has no hyphenation control; 12px prose fails people with low vision."
108
116
  },
117
+ {
118
+ never: "Changing the root font-size (html { font-size: 14px }) to make a product denser.",
119
+ instead: '--type-base: 14, with Workspace or <Density value="compact"> for denser controls.',
120
+ why: "The root also sizes every rem the app wrote: widths, insets, media queries. --type-base moves only the type and the rhythm built on it, and density moves the controls, so each can be chosen on its own."
121
+ },
109
122
  {
110
123
  never: "A new font family, or raw font-feature-settings / font-variation-settings.",
111
124
  instead: "The theme's sans, mono and optional display; font-variant-numeric and font-weight.",
package/dist/icon/Icon.js CHANGED
@@ -1,11 +1,16 @@
1
1
  // src/icon/Icon.tsx
2
2
  import { useIconSet } from "./IconProvider.js";
3
+ import { nearestIconNames, resolveIconAlias } from "./names.js";
3
4
  import { Fragment, jsx } from "react/jsx-runtime";
4
5
  var MISSING_ICON_PROVIDER = (
5
6
  // design-lint-disable-next-line self-import -- the warning text names the consumer's import, not an import
6
7
  'Sable: <Icon> has no icon set, so icons render nothing. Wrap your app in <IconProvider set={reiconIconSet}> from "@sableui/react/icons/reicon".'
7
8
  );
8
9
  var warned = false;
10
+ var missingWarned = /* @__PURE__ */ new Set();
11
+ function missingIconMessage(name) {
12
+ return `Sable: <Icon name="${name}"> resolved to nothing in the active icon set, so it renders nothing. Nearest contract names: ${nearestIconNames(name).join(", ")}. The full list is registry.json \u2192 iconContract.names; an app's own names go in a set composed with composeIconSets.`;
13
+ }
9
14
  function isDevelopment() {
10
15
  try {
11
16
  return process.env.NODE_ENV !== "production";
@@ -22,9 +27,23 @@ function Icon({ name, variant, spin, className, title }) {
22
27
  }
23
28
  return null;
24
29
  }
25
- return /* @__PURE__ */ jsx(Fragment, { children: set({ name, variant: variant ?? defaultVariant, spin, className, title }) });
30
+ const props = { variant: variant ?? defaultVariant, spin, className, title };
31
+ let rendered = set({ name, ...props });
32
+ if (rendered == null) {
33
+ const alias = resolveIconAlias(name);
34
+ if (alias) rendered = set({ name: alias, ...props });
35
+ }
36
+ if (rendered == null) {
37
+ if (!missingWarned.has(name) && isDevelopment()) {
38
+ missingWarned.add(name);
39
+ console.warn(missingIconMessage(name));
40
+ }
41
+ return null;
42
+ }
43
+ return /* @__PURE__ */ jsx(Fragment, { children: rendered });
26
44
  }
27
45
  export {
28
46
  Icon,
29
- MISSING_ICON_PROVIDER
47
+ MISSING_ICON_PROVIDER,
48
+ missingIconMessage
30
49
  };
@@ -21,6 +21,13 @@ interface IconProps {
21
21
  * There is no built-in fallback: an app that brings its own icons ships none
22
22
  * of Reicon's artwork. Without a provider, icons render nothing, and a
23
23
  * development build says so once per page.
24
+ *
25
+ * A name the set does not have is tried once more as another library's
26
+ * spelling (`check-circle`, `settings`, `x` → the contract's `circle-check`,
27
+ * `gear`, `xmark`; see ICON_ALIASES). Still nothing, and a development build
28
+ * names the nearest contract names, once per name: a missing glyph renders as
29
+ * an empty gap that reads like a layout choice, and through an app's own
30
+ * wrapper (`<Glyph name={n} />`) no lint can see the literal.
24
31
  */
25
32
  declare function Icon({ name, variant, spin, className, title }: IconProps): react.JSX.Element | null;
26
33
 
@@ -44,6 +51,34 @@ declare function Icon({ name, variant, spin, className, title }: IconProps): rea
44
51
  */
45
52
  declare function composeIconSets(...sets: IconSet[]): IconSet;
46
53
 
54
+ /**
55
+ * The icon contract: every semantic name an app can pass to `<Icon name>` and
56
+ * expect a glyph from Sable's bundled set, plus the names other icon libraries
57
+ * use for the same glyphs.
58
+ *
59
+ * `ICON_NAMES` is the same list as `registry.json → iconContract.names`
60
+ * (asserted in reicon.test.tsx), kept here so `<Icon>` can point at the nearest
61
+ * real name when one resolves to nothing — the core graph never imports an icon
62
+ * set, so it cannot ask Reicon what it has.
63
+ */
64
+ declare const ICON_NAMES: readonly ["heart", "comment", "share", "gem", "image-stack", "home", "bell", "gear", "user", "search", "plus", "minus", "check", "xmark", "chevron-down", "chevron-up", "chevron-left", "chevron-right", "arrow-up", "arrow-up-right", "expand", "eye", "eye-off", "external", "spinner", "ellipsis", "info", "warning", "circle-check", "calendar", "copy", "file", "folder", "sun", "moon", "desktop", "lock", "list", "bars", "grid", "layout", "book", "component", "sparkles", "play", "pause", "next", "previous", "arrow-down", "arrow-left", "arrow-right", "clock", "send", "trash", "edit", "download", "upload", "link", "inbox", "mail", "logout", "star", "refresh", "filter", "bold", "italic", "eyedropper", "stop", "key", "wallet", "thumbs-up", "thumbs-down", "shuffle", "repeat", "repeat-one", "volume", "volume-low", "volume-off", "queue", "music", "tag", "paperclip", "chart", "flag", "at-sign", "replay", "motion", "emoji", "briefcase", "layers", "microphone", "video", "broadcast", "newspaper", "palette", "gamepad", "users", "archive", "kanban", "sliders", "help", "sidebar", "chevron-up-down"];
65
+ type IconName = (typeof ICON_NAMES)[number];
66
+ /**
67
+ * Other libraries' names for glyphs the contract already has. Agents and
68
+ * people reach for Lucide's and Heroicons' spellings first (`check-circle`,
69
+ * `settings`, `x`, `more-horizontal`, `cog-6-tooth`); `<Icon>` resolves these
70
+ * to the contract name before it gives up, so a guessed name still draws.
71
+ * Write the contract name in new code — lint says which one.
72
+ */
73
+ declare const ICON_ALIASES: Readonly<Record<string, IconName>>;
74
+ /** The contract name an alias stands for, or `undefined` when it is not one. */
75
+ declare function resolveIconAlias(name: string): IconName | undefined;
76
+ /**
77
+ * Up to three contract names closest to `name`: ones that share a word with it
78
+ * first (`user-avatar` → user), then by edit distance.
79
+ */
80
+ declare function nearestIconNames(name: string, limit?: number): string[];
81
+
47
82
  interface IconContextValue {
48
83
  set: IconSet | null;
49
84
  defaultVariant: IconVariant;
@@ -65,4 +100,4 @@ interface IconProviderProps {
65
100
  declare function IconProvider({ set, defaultVariant, children, }: IconProviderProps): react.JSX.Element;
66
101
  declare function useIconSet(): IconContextValue;
67
102
 
68
- export { Icon, type IconContextValue, type IconProps, IconProvider, type IconProviderProps, IconSet, IconVariant, composeIconSets, useIconSet };
103
+ export { ICON_ALIASES, ICON_NAMES, Icon, type IconContextValue, type IconName, type IconProps, IconProvider, type IconProviderProps, IconSet, IconVariant, composeIconSets, nearestIconNames, resolveIconAlias, useIconSet };
@@ -1,13 +1,18 @@
1
1
  // src/icon/index.ts
2
2
  import { Icon } from "./Icon.js";
3
3
  import { composeIconSets } from "./compose.js";
4
+ import { ICON_ALIASES, ICON_NAMES, nearestIconNames, resolveIconAlias } from "./names.js";
4
5
  import {
5
6
  IconProvider,
6
7
  useIconSet
7
8
  } from "./IconProvider.js";
8
9
  export {
10
+ ICON_ALIASES,
11
+ ICON_NAMES,
9
12
  Icon,
10
13
  IconProvider,
11
14
  composeIconSets,
15
+ nearestIconNames,
16
+ resolveIconAlias,
12
17
  useIconSet
13
18
  };