@arbor-education/design-system.components 3.2.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 (56) hide show
  1. package/.gather/skills/write-stories/README.md +8 -4
  2. package/.gather/skills/write-stories/SKILL.md +59 -5
  3. package/CHANGELOG.md +10 -0
  4. package/dist/components/breadcrumbs/Breadcrumbs.stories.d.ts +1 -0
  5. package/dist/components/breadcrumbs/Breadcrumbs.stories.d.ts.map +1 -1
  6. package/dist/components/breadcrumbs/Breadcrumbs.stories.js +103 -21
  7. package/dist/components/breadcrumbs/Breadcrumbs.stories.js.map +1 -1
  8. package/dist/components/card/Card.stories.d.ts.map +1 -1
  9. package/dist/components/card/Card.stories.js +46 -41
  10. package/dist/components/card/Card.stories.js.map +1 -1
  11. package/dist/components/editableText/EditableText.stories.d.ts.map +1 -1
  12. package/dist/components/editableText/EditableText.stories.js +19 -6
  13. package/dist/components/editableText/EditableText.stories.js.map +1 -1
  14. package/dist/components/formField/fieldset/Fieldset.stories.d.ts.map +1 -1
  15. package/dist/components/formField/fieldset/Fieldset.stories.js +5 -3
  16. package/dist/components/formField/fieldset/Fieldset.stories.js.map +1 -1
  17. package/dist/components/row/Row.stories.d.ts.map +1 -1
  18. package/dist/components/row/Row.stories.js +22 -13
  19. package/dist/components/row/Row.stories.js.map +1 -1
  20. package/dist/components/sidebar/Sidebar.stories.d.ts.map +1 -1
  21. package/dist/components/sidebar/Sidebar.stories.js +19 -24
  22. package/dist/components/sidebar/Sidebar.stories.js.map +1 -1
  23. package/dist/components/table/Table.stories.d.ts.map +1 -1
  24. package/dist/components/table/Table.stories.js +16 -10
  25. package/dist/components/table/Table.stories.js.map +1 -1
  26. package/dist/components/table/cellRenderers/SelectDropdownCellRenderer.stories.d.ts.map +1 -1
  27. package/dist/components/table/cellRenderers/SelectDropdownCellRenderer.stories.js +8 -5
  28. package/dist/components/table/cellRenderers/SelectDropdownCellRenderer.stories.js.map +1 -1
  29. package/dist/components/table/tableControls/TableControls.stories.d.ts +1 -1
  30. package/dist/components/table/tableControls/TableControls.stories.d.ts.map +1 -1
  31. package/dist/components/table/tableControls/TableControls.stories.js +26 -21
  32. package/dist/components/table/tableControls/TableControls.stories.js.map +1 -1
  33. package/dist/components/widget/Widget.stories.d.ts +13 -0
  34. package/dist/components/widget/Widget.stories.d.ts.map +1 -1
  35. package/dist/components/widget/Widget.stories.js +45 -6
  36. package/dist/components/widget/Widget.stories.js.map +1 -1
  37. package/dist/components/widgetCalendar/WidgetCalendar.stories.d.ts +88 -16
  38. package/dist/components/widgetCalendar/WidgetCalendar.stories.d.ts.map +1 -1
  39. package/dist/components/widgetCalendar/WidgetCalendar.stories.js +443 -30
  40. package/dist/components/widgetCalendar/WidgetCalendar.stories.js.map +1 -1
  41. package/dist/index.css +1 -4
  42. package/dist/index.css.map +1 -1
  43. package/package.json +1 -1
  44. package/src/components/breadcrumbs/Breadcrumbs.stories.tsx +112 -21
  45. package/src/components/card/Card.stories.tsx +46 -41
  46. package/src/components/datePicker/datePicker.scss +0 -5
  47. package/src/components/editableText/EditableText.stories.tsx +26 -29
  48. package/src/components/formField/fieldset/Fieldset.stories.tsx +5 -3
  49. package/src/components/row/Row.stories.tsx +20 -14
  50. package/src/components/sidebar/Sidebar.stories.tsx +61 -112
  51. package/src/components/table/Table.stories.tsx +25 -10
  52. package/src/components/table/cellRenderers/SelectDropdownCellRenderer.stories.tsx +8 -5
  53. package/src/components/table/tableControls/TableControls.stories.tsx +26 -21
  54. package/src/components/widget/Widget.stories.tsx +61 -6
  55. package/src/components/widgetCalendar/WidgetCalendar.stories.tsx +547 -74
  56. package/src/tokens.scss +1 -0
@@ -165,6 +165,14 @@ const meta = {
165
165
  description: 'Renders an info icon with tooltip beside the header title.',
166
166
  table: { type: { summary: 'string' } },
167
167
  },
168
+ isFloating: {
169
+ control: 'boolean',
170
+ description: 'Gives the widget a permanent elevated shadow (`ds-widget--floating`), on both hover and rest, instead of the default where hovering removes the shadow entirely. Use for widgets that need to visually lift off a busy dashboard background.',
171
+ table: {
172
+ type: { summary: 'boolean' },
173
+ defaultValue: { summary: 'false' },
174
+ },
175
+ },
168
176
  isLoading: {
169
177
  control: 'boolean',
170
178
  description: 'Replaces body content with a loading indicator and sets `aria-busy` on the body.',
@@ -296,7 +304,7 @@ const WithTooltipTemplate = () => (
296
304
  );
297
305
 
298
306
  const CollapsibleTemplate = () => (
299
- <Widget collapsible defaultExpanded>
307
+ <Widget collapsible>
300
308
  <Widget.Header>Attendance summary</Widget.Header>
301
309
  <Widget.Body>
302
310
  <p style={{ margin: 0 }}>Widget body content</p>
@@ -327,9 +335,22 @@ const WithRenderLinkTemplate = () => (
327
335
  </Widget>
328
336
  );
329
337
 
338
+ const FloatingTemplate = () => (
339
+ <Widget isFloating>
340
+ <Widget.Header>Favourites</Widget.Header>
341
+ <Widget.Body>
342
+ <ul style={{ margin: 0, padding: 0, listStyle: 'none' }}>
343
+ {Array.from({ length: 6 }, (_, index) => (
344
+ <li key={index}>Favourite</li>
345
+ ))}
346
+ </ul>
347
+ </Widget.Body>
348
+ </Widget>
349
+ );
350
+
330
351
  const FixedHeightOverflowTemplate = () => (
331
352
  <FixedHeightWidgetContainer>
332
- <Widget isFloating>
353
+ <Widget>
333
354
  <Widget.Header>Favourites</Widget.Header>
334
355
  <Widget.Body>
335
356
  <ul style={{ margin: 0, padding: 0, listStyle: 'none' }}>
@@ -483,7 +504,7 @@ import { Widget } from '@arbor-education/design-system.components';
483
504
 
484
505
  function WidgetCollapsibleExample() {
485
506
  return (
486
- <Widget collapsible defaultExpanded>
507
+ <Widget collapsible>
487
508
  <Widget.Header>Attendance summary</Widget.Header>
488
509
  <Widget.Body>
489
510
  <p>Widget body content</p>
@@ -515,7 +536,9 @@ function WidgetLoadingExample() {
515
536
  return (
516
537
  <Widget isLoading loadingLabel="Loading alerts">
517
538
  <Widget.Header>Alerts</Widget.Header>
518
- <Widget.Body />
539
+ <Widget.Body>
540
+ <p>Content hidden while loading</p>
541
+ </Widget.Body>
519
542
  </Widget>
520
543
  );
521
544
  }
@@ -544,7 +567,7 @@ function WidgetRenderLinkExample() {
544
567
  <Widget
545
568
  href="/alerts"
546
569
  renderLink={({ href, className, children, linkProps }) => (
547
- <a href={href} className={className} {...linkProps}>
570
+ <a href={href} className={className} data-router-link="true" {...linkProps}>
548
571
  {children}
549
572
  </a>
550
573
  )}
@@ -577,7 +600,7 @@ import { Widget } from '@arbor-education/design-system.components';
577
600
  function WidgetFixedHeightOverflowExample() {
578
601
  return (
579
602
  <div style={{ height: 280, display: 'flex', flexDirection: 'column' }}>
580
- <Widget isFloating>
603
+ <Widget>
581
604
  <Widget.Header>Favourites</Widget.Header>
582
605
  <Widget.Body>
583
606
  <ul>
@@ -598,3 +621,35 @@ export default WidgetFixedHeightOverflowExample;
598
621
  },
599
622
  'Parent container constrains height; the widget header stays pinned while `.ds-widget__body` scrolls overflow content.',
600
623
  );
624
+
625
+ export const Floating: Story = withDescription(
626
+ {
627
+ render: FloatingTemplate,
628
+ parameters: {
629
+ controls: { disable: true },
630
+ docs: {
631
+ source: {
632
+ language: 'tsx',
633
+ code: `
634
+ import { Widget } from '@arbor-education/design-system.components';
635
+
636
+ function WidgetFloatingExample() {
637
+ return (
638
+ <Widget isFloating>
639
+ <Widget.Header>Favourites</Widget.Header>
640
+ <Widget.Body>
641
+ <ul>
642
+ <li>Favourite</li>
643
+ </ul>
644
+ </Widget.Body>
645
+ </Widget>
646
+ );
647
+ }
648
+ export default WidgetFloatingExample;
649
+ `.trim(),
650
+ },
651
+ },
652
+ },
653
+ },
654
+ '`isFloating` gives the widget a permanent elevated shadow that does not clear on hover. Use it to visually lift a widget off a busy dashboard background.',
655
+ );