@arbor-education/design-system.components 3.1.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/.gather/skills/write-stories/README.md +8 -4
  2. package/.gather/skills/write-stories/SKILL.md +59 -5
  3. package/.github/pull_request_template.md +4 -3
  4. package/CHANGELOG.md +20 -0
  5. package/CONTRIBUTING.md +1 -0
  6. package/dist/components/breadcrumbs/Breadcrumbs.stories.d.ts +1 -0
  7. package/dist/components/breadcrumbs/Breadcrumbs.stories.d.ts.map +1 -1
  8. package/dist/components/breadcrumbs/Breadcrumbs.stories.js +103 -21
  9. package/dist/components/breadcrumbs/Breadcrumbs.stories.js.map +1 -1
  10. package/dist/components/card/Card.stories.d.ts.map +1 -1
  11. package/dist/components/card/Card.stories.js +46 -41
  12. package/dist/components/card/Card.stories.js.map +1 -1
  13. package/dist/components/editableText/EditableText.stories.d.ts.map +1 -1
  14. package/dist/components/editableText/EditableText.stories.js +19 -6
  15. package/dist/components/editableText/EditableText.stories.js.map +1 -1
  16. package/dist/components/formField/fieldset/Fieldset.stories.d.ts.map +1 -1
  17. package/dist/components/formField/fieldset/Fieldset.stories.js +5 -3
  18. package/dist/components/formField/fieldset/Fieldset.stories.js.map +1 -1
  19. package/dist/components/formField/inputs/selectDropdown/items/item/SelectDropdownItem.d.ts +2 -2
  20. package/dist/components/formField/inputs/selectDropdown/items/item/SelectDropdownItem.d.ts.map +1 -1
  21. package/dist/components/formField/inputs/selectDropdown/items/item/SelectDropdownItem.js +0 -1
  22. package/dist/components/formField/inputs/selectDropdown/items/item/SelectDropdownItem.js.map +1 -1
  23. package/dist/components/formField/inputs/time/TimeInput.d.ts +1 -1
  24. package/dist/components/formField/inputs/time/TimeInput.stories.d.ts +1 -1
  25. package/dist/components/icon/Icon.d.ts.map +1 -1
  26. package/dist/components/icon/Icon.js +18 -3
  27. package/dist/components/icon/Icon.js.map +1 -1
  28. package/dist/components/icon/Icon.stories.d.ts +4 -2
  29. package/dist/components/icon/Icon.stories.d.ts.map +1 -1
  30. package/dist/components/icon/Icon.stories.js +150 -102
  31. package/dist/components/icon/Icon.stories.js.map +1 -1
  32. package/dist/components/icon/Icon.test.js +146 -6
  33. package/dist/components/icon/Icon.test.js.map +1 -1
  34. package/dist/components/icon/LucideIcon.d.ts +17 -0
  35. package/dist/components/icon/LucideIcon.d.ts.map +1 -0
  36. package/dist/components/icon/LucideIcon.js +73 -0
  37. package/dist/components/icon/LucideIcon.js.map +1 -0
  38. package/dist/components/icon/allowedIcons.d.ts +44 -108
  39. package/dist/components/icon/allowedIcons.d.ts.map +1 -1
  40. package/dist/components/icon/allowedIcons.js +52 -112
  41. package/dist/components/icon/allowedIcons.js.map +1 -1
  42. package/dist/components/icon/types.d.ts +5 -4
  43. package/dist/components/icon/types.d.ts.map +1 -1
  44. package/dist/components/row/Row.stories.d.ts.map +1 -1
  45. package/dist/components/row/Row.stories.js +22 -13
  46. package/dist/components/row/Row.stories.js.map +1 -1
  47. package/dist/components/sidebar/Sidebar.stories.d.ts.map +1 -1
  48. package/dist/components/sidebar/Sidebar.stories.js +19 -24
  49. package/dist/components/sidebar/Sidebar.stories.js.map +1 -1
  50. package/dist/components/table/Table.stories.d.ts.map +1 -1
  51. package/dist/components/table/Table.stories.js +16 -10
  52. package/dist/components/table/Table.stories.js.map +1 -1
  53. package/dist/components/table/cellRenderers/SelectDropdownCellRenderer.stories.d.ts.map +1 -1
  54. package/dist/components/table/cellRenderers/SelectDropdownCellRenderer.stories.js +8 -5
  55. package/dist/components/table/cellRenderers/SelectDropdownCellRenderer.stories.js.map +1 -1
  56. package/dist/components/table/tableControls/TableControls.stories.d.ts +1 -1
  57. package/dist/components/table/tableControls/TableControls.stories.d.ts.map +1 -1
  58. package/dist/components/table/tableControls/TableControls.stories.js +26 -21
  59. package/dist/components/table/tableControls/TableControls.stories.js.map +1 -1
  60. package/dist/components/tabs/Tabs.d.ts +1 -1
  61. package/dist/components/tabs/Tabs.stories.d.ts +1 -1
  62. package/dist/components/tabs/Tabs.stories.js +1 -1
  63. package/dist/components/tabs/Tabs.stories.js.map +1 -1
  64. package/dist/components/tabs/TabsItem.d.ts +2 -2
  65. package/dist/components/tabs/TabsItem.d.ts.map +1 -1
  66. package/dist/components/tabs/TabsItem.stories.d.ts +5 -5
  67. package/dist/components/tabs/TabsItem.stories.d.ts.map +1 -1
  68. package/dist/components/tabs/TabsItem.stories.js +7 -4
  69. package/dist/components/tabs/TabsItem.stories.js.map +1 -1
  70. package/dist/components/widget/Widget.stories.d.ts +13 -0
  71. package/dist/components/widget/Widget.stories.d.ts.map +1 -1
  72. package/dist/components/widget/Widget.stories.js +45 -6
  73. package/dist/components/widget/Widget.stories.js.map +1 -1
  74. package/dist/components/widgetCalendar/WidgetCalendar.stories.d.ts +88 -16
  75. package/dist/components/widgetCalendar/WidgetCalendar.stories.d.ts.map +1 -1
  76. package/dist/components/widgetCalendar/WidgetCalendar.stories.js +443 -30
  77. package/dist/components/widgetCalendar/WidgetCalendar.stories.js.map +1 -1
  78. package/dist/index.css +1 -4
  79. package/dist/index.css.map +1 -1
  80. package/package.json +1 -1
  81. package/src/components/breadcrumbs/Breadcrumbs.stories.tsx +112 -21
  82. package/src/components/card/Card.stories.tsx +46 -41
  83. package/src/components/datePicker/datePicker.scss +0 -5
  84. package/src/components/editableText/EditableText.stories.tsx +26 -29
  85. package/src/components/formField/fieldset/Fieldset.stories.tsx +5 -3
  86. package/src/components/formField/inputs/selectDropdown/items/item/SelectDropdownItem.tsx +2 -2
  87. package/src/components/icon/Icon.stories.tsx +224 -119
  88. package/src/components/icon/Icon.test.tsx +178 -6
  89. package/src/components/icon/Icon.tsx +25 -3
  90. package/src/components/icon/LucideIcon.tsx +94 -0
  91. package/src/components/icon/allowedIcons.tsx +67 -207
  92. package/src/components/icon/lucideDynamic.d.ts +13 -0
  93. package/src/components/icon/types.ts +5 -4
  94. package/src/components/row/Row.stories.tsx +20 -14
  95. package/src/components/sidebar/Sidebar.stories.tsx +61 -112
  96. package/src/components/table/Table.stories.tsx +25 -10
  97. package/src/components/table/cellRenderers/SelectDropdownCellRenderer.stories.tsx +8 -5
  98. package/src/components/table/tableControls/TableControls.stories.tsx +26 -21
  99. package/src/components/tabs/Tabs.stories.tsx +1 -1
  100. package/src/components/tabs/TabsItem.stories.tsx +8 -4
  101. package/src/components/tabs/TabsItem.tsx +2 -2
  102. package/src/components/widget/Widget.stories.tsx +61 -6
  103. package/src/components/widgetCalendar/WidgetCalendar.stories.tsx +547 -74
  104. package/src/tokens.scss +1 -0
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo, useState } from 'react';
2
3
  import { Controls, Heading as DocHeading, Markdown, Primary as DocPrimary, Stories, Subtitle, Title, } from '@storybook/addon-docs/blocks';
3
4
  import { Button } from '../button/Button.js';
4
5
  import { Icon } from './Icon.js';
5
- import { allowedIcons } from './allowedIcons.js';
6
+ import { iconNames } from './allowedIcons.js';
6
7
  import { iconSizes } from './types.js';
7
8
  // ---------------------------------------------------------------------------
8
9
  // Docs page content
@@ -177,7 +178,7 @@ const DEVELOPER_NOTES = [
177
178
  '- **Status icons** — must be paired with visible text where possible (WCAG 1.4.1: use of colour).',
178
179
  ' Do not rely on icon colour alone to communicate success, warning, or error.',
179
180
  '- **Icon-only interactions** — must have accessible label + tooltip on hover/focus.',
180
- '- **Avoid `title` attributes** — Lucide SVGs sometimes include `<title>` elements; Arbor\'s `allowedIcons`',
181
+ '- **Avoid `title` attributes** — Lucide SVGs sometimes include `<title>` elements; Arbor\'s `Icon`',
181
182
  ' wrapper suppresses these via `aria-hidden`. Do not rely on SVG `title` for accessible names.',
182
183
  '- **"Opens in new tab"** — communicate this in text (`<span class="sr-only">opens in new tab</span>`),',
183
184
  ' not only via the `external-link` icon.',
@@ -195,7 +196,7 @@ const DEVELOPER_NOTES = [
195
196
  '| Type | Description |',
196
197
  '|---|---|',
197
198
  '| `Icon.Props` | Full props interface |',
198
- '| `Icon.Name` | Union of all icon name strings — see argTypes for full list |',
199
+ '| `Icon.Name` | Union of every valid name: the whole Lucide set, plus Arbor aliases and custom icons |',
199
200
  '| `Icon.Size` | `12 \\| 16 \\| 24` |',
200
201
  '| `Icon.CustomProps` | Props for custom SVG icons |',
201
202
  ].join('\n');
@@ -204,10 +205,95 @@ const RELATED_COMPONENTS = [
204
205
  '',
205
206
  '[Button](?path=/docs/components-button--docs) · [Banner](?path=/docs/components-banner--docs) · [Badge](?path=/docs/components-badge--docs) · [Dot](?path=/docs/components-dot--docs) · [Tag](?path=/docs/components-tag--docs)',
206
207
  ].join('\n');
208
+ const CATALOGUE_INTRO = [
209
+ 'The Arbor-curated names are grouped below. Every [Lucide](https://lucide.dev/icons) icon name is',
210
+ 'also valid — use the **Icon search** story above to find one by name.',
211
+ ].join('\n');
207
212
  const PROPS_INTRO = 'The preview below is wired to the **Controls** panel — tweak any prop to see the story update in real time.';
208
213
  function IconDocsPage() {
209
- return (_jsxs(_Fragment, { children: [_jsx(Title, {}), _jsx(Subtitle, {}), _jsx(Markdown, { children: DESCRIPTION_INTRO }), _jsx(DocHeading, { children: "Interactive example" }), _jsx(Markdown, { children: PROPS_INTRO }), _jsx(DocPrimary, {}), _jsx(Controls, {}), _jsx(DocHeading, { children: "Usage guidance" }), _jsx(Markdown, { children: USAGE_GUIDANCE }), _jsx(DocHeading, { children: "Developer notes" }), _jsx(Markdown, { children: DEVELOPER_NOTES }), _jsx(DocHeading, { children: "Examples" }), _jsx(Stories, { title: "" }), _jsx(DocHeading, { children: "Icon catalogue" }), _jsx(IconGalleryTemplate, {}), _jsx(Markdown, { children: RELATED_COMPONENTS })] }));
214
+ return (_jsxs(_Fragment, { children: [_jsx(Title, {}), _jsx(Subtitle, {}), _jsx(Markdown, { children: DESCRIPTION_INTRO }), _jsx(DocHeading, { children: "Interactive example" }), _jsx(Markdown, { children: PROPS_INTRO }), _jsx(DocPrimary, {}), _jsx(Controls, {}), _jsx(DocHeading, { children: "Usage guidance" }), _jsx(Markdown, { children: USAGE_GUIDANCE }), _jsx(DocHeading, { children: "Developer notes" }), _jsx(Markdown, { children: DEVELOPER_NOTES }), _jsx(DocHeading, { children: "Examples" }), _jsx(Stories, { title: "" }), _jsx(DocHeading, { children: "Icon catalogue" }), _jsx(Markdown, { children: CATALOGUE_INTRO }), _jsx(IconGalleryTemplate, {}), _jsx(Markdown, { children: RELATED_COMPONENTS })] }));
210
215
  }
216
+ const ICON_CATEGORIES = [
217
+ {
218
+ heading: 'Navigation',
219
+ icons: [
220
+ 'arrow-up', 'arrow-down', 'arrow-left', 'arrow-right',
221
+ 'arrow-right-from-line', 'arrow-up-right',
222
+ 'chevron-up', 'chevron-down', 'chevron-left', 'chevron-right',
223
+ 'chevrons-left', 'chevrons-right',
224
+ 'corner-down-left', 'menu',
225
+ 'ellipsis', 'ellipsis-vertical', '3-dot', 'grab',
226
+ ],
227
+ },
228
+ {
229
+ heading: 'Actions',
230
+ icons: [
231
+ 'pencil', 'trash', 'save', 'copy', 'download', 'upload',
232
+ 'share', 'send', 'redo', 'undo', 'plus', 'minus',
233
+ 'circle-plus', 'iteration-ccw', 'switch-camera',
234
+ ],
235
+ },
236
+ {
237
+ heading: 'Status / severity',
238
+ icons: [
239
+ 'info', 'circle-alert', 'triangle-alert',
240
+ 'circle-check', 'circle-check-big', 'circle-x',
241
+ 'circle-help', 'check', 'check-solid', 'x', 'x-solid',
242
+ ],
243
+ },
244
+ {
245
+ heading: 'Content / media',
246
+ icons: [
247
+ 'file', 'files', 'clipboard', 'clipboard-list',
248
+ 'book-open', 'camera', 'mic', 'paperclip',
249
+ 'sheet', 'table',
250
+ 'sparkles', 'party-popper', 'lightbulb',
251
+ 'favourite-outline', 'favourite-filled',
252
+ ],
253
+ },
254
+ {
255
+ heading: 'Charts / data',
256
+ icons: [
257
+ 'chart-column-increasing', 'chart-spline',
258
+ 'trending-up', 'trending-down',
259
+ 'percent', 'circle-percent',
260
+ 'sorting', 'funnel', 'sliders-horizontal', 'list-filter-plus',
261
+ ],
262
+ },
263
+ {
264
+ heading: 'People / org',
265
+ icons: [
266
+ 'user', 'guardians', 'group', 'staff', 'graduation-cap',
267
+ ],
268
+ },
269
+ {
270
+ heading: 'System / state',
271
+ icons: [
272
+ 'eye', 'eye-off', 'lock', 'lock-open', 'loader',
273
+ 'pin', 'flag', 'house', 'history', 'clock-3', 'date',
274
+ 'settings', 'expand', 'shrink', 'link', 'external-link',
275
+ 'log-out', 'search', 'mail', 'phone', 'smartphone',
276
+ 'monitor', 'projector', 'archive',
277
+ ],
278
+ },
279
+ {
280
+ heading: 'Other / misc',
281
+ icons: [
282
+ 'dot', 'layout-list', 'list', 'grid-3x3',
283
+ 'paint-bucket', 'message-square-more',
284
+ ],
285
+ },
286
+ {
287
+ heading: 'Custom / brand',
288
+ icons: ['ask-arbor', 'google'],
289
+ },
290
+ ];
291
+ /**
292
+ * The Arbor-curated names, used for the Controls select. The `name` prop accepts every Lucide icon
293
+ * too, but ~1,900 options in a dropdown is not a usable control — use the Icon search story to
294
+ * explore the full set.
295
+ */
296
+ const CURATED_ICON_NAMES = ICON_CATEGORIES.flatMap(category => category.icons);
211
297
  // ---------------------------------------------------------------------------
212
298
  // Meta
213
299
  // ---------------------------------------------------------------------------
@@ -224,12 +310,12 @@ const meta = {
224
310
  argTypes: {
225
311
  name: {
226
312
  control: 'select',
227
- options: Object.keys(allowedIcons),
313
+ options: CURATED_ICON_NAMES,
228
314
  description: [
229
315
  'Kebab-case key identifying the icon to render. Required.',
230
- 'Maps to an entry in `allowedIcons` — TypeScript errors on any unknown value.',
231
- 'There are currently 106 valid options covering navigation, actions, status,',
232
- 'content, data, people, and system contexts.',
316
+ 'Every [Lucide](https://lucide.dev) icon name is valid, plus Arbor\'s own aliases and custom',
317
+ 'icons — TypeScript errors on any unknown value. The dropdown below lists the Arbor-curated',
318
+ 'names only; use the **Icon search** story to browse the full set.',
233
319
  'Commonly used: `pencil` (edit), `trash` (delete), `plus` (add), `x` (close/remove),',
234
320
  '`check` (confirm), `3-dot` (more actions), `chevron-down` (expand), `triangle-alert` (warning).',
235
321
  ].join(' '),
@@ -440,81 +526,29 @@ const CustomSolidVariantsTemplate = () => (_jsxs("div", { style: {
440
526
  flexDirection: 'column',
441
527
  gap: 'var(--spacing-large)',
442
528
  }, children: [_jsx("p", { className: "ds-text", style: { margin: 0, color: 'var(--color-grey-600)' }, children: "Favourite/bookmark active state" }), _jsxs("div", { style: { display: 'flex', gap: 'var(--spacing-xlarge)', alignItems: 'center' }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', gap: 'var(--spacing-small)' }, children: [_jsx(Icon, { name: "favourite-outline", size: 24 }), _jsx("span", { className: "ds-text", style: { color: 'var(--color-grey-600)' }, children: "favourite-outline" })] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', gap: 'var(--spacing-small)' }, children: [_jsx(Icon, { name: "favourite-filled", size: 24, color: "var(--color-brand-600)" }), _jsx("span", { className: "ds-text", style: { color: 'var(--color-grey-600)' }, children: "favourite-filled" })] })] })] })] }));
443
- const ICON_CATEGORIES = [
444
- {
445
- heading: 'Navigation',
446
- icons: [
447
- 'arrow-up', 'arrow-down', 'arrow-left', 'arrow-right',
448
- 'arrow-right-from-line', 'arrow-up-right',
449
- 'chevron-up', 'chevron-down', 'chevron-left', 'chevron-right',
450
- 'chevrons-left', 'chevrons-right',
451
- 'corner-down-left', 'menu',
452
- 'ellipsis', 'ellipsis-vertical', '3-dot', 'grab',
453
- ],
454
- },
455
- {
456
- heading: 'Actions',
457
- icons: [
458
- 'pencil', 'trash', 'save', 'copy', 'download', 'upload',
459
- 'share', 'send', 'redo', 'undo', 'plus', 'minus',
460
- 'circle-plus', 'iteration-ccw', 'switch-camera',
461
- ],
462
- },
463
- {
464
- heading: 'Status / severity',
465
- icons: [
466
- 'info', 'circle-alert', 'triangle-alert',
467
- 'circle-check', 'circle-check-big', 'circle-x',
468
- 'circle-help', 'check', 'check-solid', 'x', 'x-solid',
469
- ],
470
- },
471
- {
472
- heading: 'Content / media',
473
- icons: [
474
- 'file', 'files', 'clipboard', 'clipboard-list',
475
- 'book-open', 'camera', 'mic', 'paperclip',
476
- 'sheet', 'table',
477
- 'sparkles', 'party-popper', 'lightbulb',
478
- 'favourite-outline', 'favourite-filled',
479
- ],
480
- },
481
- {
482
- heading: 'Charts / data',
483
- icons: [
484
- 'chart-column-increasing', 'chart-spline',
485
- 'trending-up', 'trending-down',
486
- 'percent', 'circle-percent',
487
- 'sorting', 'funnel', 'sliders-horizontal', 'list-filter-plus',
488
- ],
489
- },
490
- {
491
- heading: 'People / org',
492
- icons: [
493
- 'user', 'guardians', 'group', 'staff', 'graduation-cap',
494
- ],
495
- },
496
- {
497
- heading: 'System / state',
498
- icons: [
499
- 'eye', 'eye-off', 'lock', 'lock-open', 'loader',
500
- 'pin', 'flag', 'house', 'history', 'clock-3', 'date',
501
- 'settings', 'expand', 'shrink', 'link', 'external-link',
502
- 'log-out', 'search', 'mail', 'phone', 'smartphone',
503
- 'monitor', 'projector', 'archive',
504
- ],
505
- },
506
- {
507
- heading: 'Other / misc',
508
- icons: [
509
- 'dot', 'layout-list', 'list', 'grid-3x3',
510
- 'paint-bucket', 'message-square-more',
511
- ],
512
- },
513
- {
514
- heading: 'Custom / brand',
515
- icons: ['ask-arbor', 'google'],
516
- },
517
- ];
529
+ // ---------------------------------------------------------------------------
530
+ // IconGallery — all icons grouped by semantic category
531
+ // ---------------------------------------------------------------------------
532
+ const ICON_CARD_GRID_STYLE = {
533
+ display: 'grid',
534
+ gridTemplateColumns: 'repeat(auto-fill, minmax(7rem, 1fr))',
535
+ gap: 'var(--spacing-small)',
536
+ };
537
+ const IconCard = ({ name }) => (_jsxs("div", { style: {
538
+ display: 'flex',
539
+ flexDirection: 'column',
540
+ alignItems: 'center',
541
+ gap: 'var(--spacing-xsmall)',
542
+ padding: 'var(--spacing-medium)',
543
+ borderRadius: 'var(--border-radius-small)',
544
+ border: '1px solid var(--color-grey-200)',
545
+ background: 'var(--color-grey-100)',
546
+ }, children: [_jsx(Icon, { name: name, size: 16 }), _jsx("span", { className: "ds-text", style: {
547
+ color: 'var(--color-grey-600)',
548
+ wordBreak: 'break-word',
549
+ textAlign: 'center',
550
+ fontSize: 'var(--font-size-1-11)',
551
+ }, children: name })] }));
518
552
  const IconGalleryTemplate = () => (_jsx("div", { style: {
519
553
  padding: 'var(--spacing-xlarge)',
520
554
  width: '100%',
@@ -523,25 +557,32 @@ const IconGalleryTemplate = () => (_jsx("div", { style: {
523
557
  margin: '0 0 var(--spacing-large) 0',
524
558
  color: 'var(--color-grey-600)',
525
559
  fontWeight: 'var(--font-weight-semi-bold)',
526
- }, children: category.heading }), _jsx("div", { style: {
527
- display: 'grid',
528
- gridTemplateColumns: 'repeat(auto-fill, minmax(7rem, 1fr))',
529
- gap: 'var(--spacing-small)',
530
- }, children: category.icons.map(name => (_jsxs("div", { style: {
531
- display: 'flex',
532
- flexDirection: 'column',
533
- alignItems: 'center',
534
- gap: 'var(--spacing-xsmall)',
535
- padding: 'var(--spacing-medium)',
536
- borderRadius: 'var(--border-radius-small)',
537
- border: '1px solid var(--color-grey-200)',
538
- background: 'var(--color-grey-100)',
539
- }, children: [_jsx(Icon, { name: name, size: 16 }), _jsx("span", { className: "ds-text", style: {
540
- color: 'var(--color-grey-600)',
541
- wordBreak: 'break-word',
542
- textAlign: 'center',
543
- fontSize: 'var(--font-size-1-11)',
544
- }, children: name })] }, name))) })] }, category.heading))) }));
560
+ }, children: category.heading }), _jsx("div", { style: ICON_CARD_GRID_STYLE, children: category.icons.map(name => (_jsx(IconCard, { name: name }, name))) })] }, category.heading))) }));
561
+ // ---------------------------------------------------------------------------
562
+ // IconSearch — search the whole Lucide set without rendering ~1,900 SVGs at once
563
+ // ---------------------------------------------------------------------------
564
+ const SEARCH_RESULT_LIMIT = 120;
565
+ const IconSearchTemplate = () => {
566
+ const [query, setQuery] = useState('');
567
+ const searchTerm = query.trim().toLowerCase();
568
+ const matches = useMemo(() => (searchTerm
569
+ ? iconNames.filter(name => name.includes(searchTerm))
570
+ : CURATED_ICON_NAMES), [searchTerm]);
571
+ const visible = matches.slice(0, SEARCH_RESULT_LIMIT);
572
+ return (_jsxs("div", { style: { padding: 'var(--spacing-xlarge)', width: '100%', maxWidth: '900px' }, children: [_jsxs("label", { className: "ds-text", htmlFor: "ds-icon-search", style: {
573
+ display: 'block',
574
+ marginBottom: 'var(--spacing-xsmall)',
575
+ fontWeight: 'var(--font-weight-semi-bold)',
576
+ }, children: ["Search", ' ', iconNames.length, ' ', "icon names"] }), _jsx("input", { id: "ds-icon-search", type: "search", value: query, onChange: event => setQuery(event.target.value), placeholder: "e.g. calendar, arrow, user", style: {
577
+ width: '100%',
578
+ padding: 'var(--spacing-small)',
579
+ marginBottom: 'var(--spacing-small)',
580
+ borderRadius: 'var(--border-radius-small)',
581
+ border: '1px solid var(--color-grey-300)',
582
+ } }), _jsx("p", { className: "ds-text", style: { margin: '0 0 var(--spacing-large) 0', color: 'var(--color-grey-600)' }, children: searchTerm
583
+ ? `${matches.length} match${matches.length === 1 ? '' : 'es'}${matches.length > visible.length ? ` — showing the first ${visible.length}` : ''}`
584
+ : `Showing the ${visible.length} Arbor-curated names — type to search the full set.` }), _jsx("div", { style: ICON_CARD_GRID_STYLE, children: visible.map(name => (_jsx(IconCard, { name: name }, name))) }), searchTerm && matches.length === 0 && (_jsxs("p", { className: "ds-text", style: { margin: 0, color: 'var(--color-grey-600)' }, children: ["No icon name contains \u201C", searchTerm, "\u201D. Browse the full set at", ' ', _jsx("a", { href: "https://lucide.dev/icons", target: "_blank", rel: "noreferrer", children: "lucide.dev/icons" }), "."] }))] }));
585
+ };
545
586
  const InButtonContextTemplate = () => (_jsxs("div", { style: {
546
587
  padding: 'var(--spacing-xlarge)',
547
588
  display: 'flex',
@@ -994,4 +1035,11 @@ export default InEmptyStateContextExample;
994
1035
  'Do not use `size={24}` in list items, table cells, or button icons — reserve it for',
995
1036
  'full-area statements like this one.',
996
1037
  ].join(' '));
1038
+ export const IconSearch = withDescription({
1039
+ render: () => _jsx(IconSearchTemplate, {}),
1040
+ parameters: { layout: 'fullscreen' },
1041
+ }, [
1042
+ 'Every Lucide icon name is a valid `name`, which is far too many to render at once — search',
1043
+ 'instead. Icons load on demand, so only the ones you actually render are downloaded.',
1044
+ ].join(' '));
997
1045
  //# sourceMappingURL=Icon.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.stories.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Icon.stories.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.stories.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +1,154 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { describe, expect, test } from 'vitest';
3
- import { render, screen } from '@testing-library/react';
2
+ import { describe, expect, test, vi } from 'vitest';
3
+ import { render, screen, waitFor } from '@testing-library/react';
4
4
  import { Icon } from './Icon.js';
5
5
  import '@testing-library/jest-dom/vitest';
6
- import { allowedIcons } from './allowedIcons.js';
6
+ import { allowedIcons, customIcons, iconAliases, isIconName, } from './allowedIcons.js';
7
+ import { lucideIconNames } from './LucideIcon.js';
8
+ /**
9
+ * Every name the design system supported before the whole Lucide set was exposed. Kept as a literal
10
+ * list so that removing a name from `iconAliases`, or Lucide dropping one, fails here rather than
11
+ * in a consumer.
12
+ */
13
+ const PREVIOUSLY_SUPPORTED_NAMES = [
14
+ '3-dot', 'archive', 'arrow-down', 'arrow-left', 'arrow-right-from-line', 'arrow-right',
15
+ 'arrow-up-right', 'arrow-up', 'ask-arbor', 'book-open', 'camera', 'chart-column-increasing',
16
+ 'chart-spline', 'check', 'check-solid', 'chevron-down', 'chevron-left', 'chevron-right',
17
+ 'chevron-up', 'chevrons-left', 'chevrons-right', 'circle-alert', 'circle-check-big',
18
+ 'circle-check', 'circle-help', 'circle-percent', 'circle-plus', 'circle-x', 'clipboard-list',
19
+ 'clipboard', 'clock-3', 'cloud-upload', 'copy', 'corner-down-left', 'date', 'dot', 'download',
20
+ 'ellipsis-vertical', 'ellipsis', 'expand', 'external-link', 'eye-off', 'eye', 'favourite-filled',
21
+ 'favourite-outline', 'file', 'files', 'flag', 'funnel', 'google', 'grab', 'graduation-cap',
22
+ 'grid-3x3', 'group', 'guardians', 'history', 'house', 'info', 'iteration-ccw', 'layout-list',
23
+ 'lightbulb', 'link', 'list-filter-plus', 'list', 'list-tree', 'loader', 'lock-open', 'lock',
24
+ 'log-out', 'mail', 'menu', 'message-square-more', 'mic', 'minus', 'monitor', 'paint-bucket',
25
+ 'paperclip', 'party-popper', 'pencil', 'percent', 'phone', 'pin', 'plus', 'projector', 'redo',
26
+ 'save', 'search', 'send', 'settings', 'share', 'sheet', 'shrink', 'sliders-horizontal',
27
+ 'smartphone', 'sorting', 'sparkles', 'staff', 'switch-camera', 'table', 'trash', 'trending-down',
28
+ 'trending-up', 'triangle-alert', 'undo', 'upload', 'user', 'x', 'x-solid', 'zap',
29
+ ];
30
+ /**
31
+ * A spread of plain Lucide names rather than all ~1,900 — enough to cover the naming shapes that
32
+ * kebab-casing tends to break on (leading single letters, digits, repeated digits, letter pairs)
33
+ * plus Lucide's own deprecated aliases.
34
+ */
35
+ const SAMPLED_LUCIDE_NAMES = [
36
+ 'ban', 'shopping-cart', 'a-arrow-down', 'a-large-small', 'align-center', 'arrow-down-a-z',
37
+ 'arrow-down-0-1', 'axis-3d', 'bluetooth-connected', 'building-2', 'circle-slash-2', 'clock-12',
38
+ 'columns-3', 'file-json-2', 'git-pull-request-arrow', 'square-dashed-mouse-pointer', 'test-tube',
39
+ 'volume-2', 'wifi-off', 'zoom-out',
40
+ // Lucide's deprecated aliases still resolve, so they are supported too
41
+ 'sort-desc', 'area-chart',
42
+ ];
43
+ /**
44
+ * Waits for the loaded glyph rather than the placeholder. Both carry `role="img"`, so they are told
45
+ * apart by their contents: the placeholder is an empty SVG until the icon's chunk resolves.
46
+ */
47
+ const findLoadedIcon = async () => waitFor(() => {
48
+ const icon = screen.getByRole('img', { hidden: true });
49
+ expect(icon.childElementCount).toBeGreaterThan(0);
50
+ return icon;
51
+ });
52
+ const renderedIcon = async (name) => {
53
+ const { unmount } = render(_jsx(Icon, { name: name }));
54
+ const icon = await findLoadedIcon();
55
+ const classes = icon.getAttribute('class') ?? '';
56
+ unmount();
57
+ return { tagName: icon.tagName.toLowerCase(), classes };
58
+ };
7
59
  describe('Icon', () => {
8
- Object.keys(allowedIcons).forEach((icon) => {
9
- test(`Icon ${icon} renders`, () => {
10
- render(_jsx(Icon, { name: icon }));
60
+ describe('name allow-list', () => {
61
+ test('every previously supported name is still accepted', () => {
62
+ const rejected = PREVIOUSLY_SUPPORTED_NAMES.filter(name => !isIconName(name));
63
+ expect(rejected).toEqual([]);
64
+ });
65
+ test('the whole Lucide set is accepted', () => {
66
+ const rejected = lucideIconNames.filter(name => !isIconName(name));
67
+ expect(rejected).toEqual([]);
68
+ expect(lucideIconNames.length).toBeGreaterThan(1500);
69
+ });
70
+ test('every alias target is a real Lucide icon', () => {
71
+ const lucideNames = new Set(lucideIconNames);
72
+ const unresolved = Object.entries(iconAliases)
73
+ .filter(([, target]) => !lucideNames.has(target));
74
+ expect(unresolved).toEqual([]);
75
+ });
76
+ test('isIconName rejects names that are not icons', () => {
77
+ expect(isIconName('behaviour')).toBe(false);
78
+ expect(isIconName('not-an-icon')).toBe(false);
79
+ expect(isIconName('')).toBe(false);
80
+ expect(isIconName('toString')).toBe(false);
81
+ });
82
+ test('allowedIcons supports hasOwnProperty membership checks', () => {
83
+ // arbor-fe-library validates backend-supplied names this way, so the shape has to hold.
84
+ expect(Object.prototype.hasOwnProperty.call(allowedIcons, 'ban')).toBe(true);
85
+ expect(Object.prototype.hasOwnProperty.call(allowedIcons, 'shopping-cart')).toBe(true);
86
+ expect(Object.prototype.hasOwnProperty.call(allowedIcons, '3-dot')).toBe(true);
87
+ expect(Object.prototype.hasOwnProperty.call(allowedIcons, 'ask-arbor')).toBe(true);
88
+ expect(Object.prototype.hasOwnProperty.call(allowedIcons, 'not-an-icon')).toBe(false);
89
+ });
90
+ });
91
+ describe('rendering', () => {
92
+ test.each(Object.keys(iconAliases))('alias %s renders its target glyph', async (name) => {
93
+ const { tagName, classes } = await renderedIcon(name);
94
+ expect(tagName).toBe('svg');
95
+ // Lucide tags each glyph with its own name, which proves the alias resolved correctly.
96
+ expect(classes.split(' ')).toContain(`lucide-${iconAliases[name]}`);
97
+ expect(classes.split(' ')).toContain(`ds-icon-${name}`);
98
+ });
99
+ test.each(Object.keys(customIcons))('custom icon %s renders', async (name) => {
100
+ const { tagName, classes } = await renderedIcon(name);
101
+ expect(tagName).toBe('svg');
102
+ expect(classes.split(' ')).toContain(`ds-icon-${name}`);
103
+ });
104
+ test.each(SAMPLED_LUCIDE_NAMES)('lucide icon %s renders', async (name) => {
105
+ const { tagName, classes } = await renderedIcon(name);
106
+ expect(tagName).toBe('svg');
107
+ expect(classes.split(' ')).toContain(`ds-icon-${name}`);
108
+ });
109
+ test('an Arbor alias wins over the Lucide icon it shadows', async () => {
110
+ const { classes } = await renderedIcon('trash');
111
+ expect(classes.split(' ')).toContain('lucide-trash-2');
112
+ expect(classes.split(' ')).not.toContain('lucide-trash');
113
+ });
114
+ test('favourite-filled fills the star with the icon colour', async () => {
115
+ render(_jsx(Icon, { name: "favourite-filled", color: "rebeccapurple" }));
116
+ const icon = await findLoadedIcon();
117
+ expect(icon).toHaveAttribute('fill', 'rebeccapurple');
118
+ expect(icon.getAttribute('class')).toContain('lucide-star');
119
+ });
120
+ test('a placeholder of the right size holds the icon\'s place while it loads', () => {
121
+ // `not-yet-loaded` is only true on the very first render of an icon in this file's module
122
+ // registry, so pick one no other test touches.
123
+ render(_jsx(Icon, { name: "microscope", size: 24, className: "custom-class" }));
124
+ const placeholder = screen.getByRole('img', { hidden: true });
125
+ expect(placeholder).toHaveAttribute('width', '24');
126
+ expect(placeholder).toHaveAttribute('height', '24');
127
+ expect(placeholder).toHaveClass('custom-class', 'ds-icon', 'ds-icon-microscope');
128
+ expect(placeholder).toHaveAttribute('aria-hidden', 'true');
129
+ });
130
+ test('a loaded icon renders synchronously on later mounts', async () => {
131
+ const { unmount } = render(_jsx(Icon, { name: "rocket" }));
132
+ await findLoadedIcon();
133
+ unmount();
134
+ render(_jsx(Icon, { name: "rocket" }));
135
+ // No `await` — the module-level cache means no second placeholder frame.
136
+ expect(screen.getByRole('img', { hidden: true }).getAttribute('class'))
137
+ .toContain('lucide-rocket');
138
+ });
139
+ test.each([12, 16, 24])('renders at size %i', async (size) => {
140
+ render(_jsx(Icon, { name: "ban", size: size }));
141
+ const icon = await findLoadedIcon();
142
+ expect(icon).toHaveAttribute('width', String(size));
143
+ expect(icon).toHaveAttribute('height', String(size));
144
+ });
145
+ test('an unrecognised name renders the placeholder and reports the problem', () => {
146
+ const consoleError = vi.spyOn(console, 'error').mockImplementation(() => { });
147
+ // Consumers passing backend data can defeat the type, so this must not throw.
148
+ render(_jsx(Icon, { name: 'definitely-not-an-icon' }));
11
149
  expect(screen.getByRole('img', { hidden: true })).toBeInTheDocument();
150
+ expect(consoleError).toHaveBeenCalledWith('[design-system] "definitely-not-an-icon" is not a known icon name.');
151
+ consoleError.mockRestore();
12
152
  });
13
153
  });
14
154
  test('Screen reader text', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.test.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AAEhE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE,GAAG,EAAE;YAChC,MAAM,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAgB,GAAI,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,KAAC,IAAI,IAAC,IAAI,EAAC,aAAa,EAAC,gBAAgB,EAAC,QAAQ,GAAG,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Icon.test.js","sourceRoot":"","sources":["../../../src/components/icon/Icon.test.tsx"],"names":[],"mappings":"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"}