@duro-app/ui 5.5.0 → 5.7.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 (115) hide show
  1. package/dist/{Table-DYN-bp0e.js → Table-Dj7PXqO_.js} +405 -387
  2. package/dist/Table-Dj7PXqO_.js.map +1 -0
  3. package/dist/components/Button/Button.d.ts +2 -1
  4. package/dist/components/Button/Button.d.ts.map +1 -1
  5. package/dist/components/Button/styles.css.d.ts +1 -0
  6. package/dist/components/Button/styles.css.d.ts.map +1 -1
  7. package/dist/components/ButtonGroup/ButtonGroup.stories.d.ts +14 -0
  8. package/dist/components/ButtonGroup/ButtonGroup.stories.d.ts.map +1 -1
  9. package/dist/components/DragDrop/DragDrop.d.ts +95 -14
  10. package/dist/components/DragDrop/DragDrop.d.ts.map +1 -1
  11. package/dist/components/DragDrop/DragDrop.meta.d.ts.map +1 -1
  12. package/dist/components/DragDrop/DragDropBoard.stories.d.ts +69 -0
  13. package/dist/components/DragDrop/DragDropBoard.stories.d.ts.map +1 -0
  14. package/dist/components/DragDrop/styles.css.d.ts +80 -3
  15. package/dist/components/DragDrop/styles.css.d.ts.map +1 -1
  16. package/dist/components/LinkButton/styles.css.d.ts +1 -0
  17. package/dist/components/LinkButton/styles.css.d.ts.map +1 -1
  18. package/dist/components/Menu/Menu.d.ts +4 -1
  19. package/dist/components/Menu/Menu.d.ts.map +1 -1
  20. package/dist/components/Menu/styles.css.d.ts +14 -0
  21. package/dist/components/Menu/styles.css.d.ts.map +1 -1
  22. package/dist/components/Meter/Meter.d.ts +17 -0
  23. package/dist/components/Meter/Meter.d.ts.map +1 -0
  24. package/dist/components/Meter/Meter.meta.d.ts +3 -0
  25. package/dist/components/Meter/Meter.meta.d.ts.map +1 -0
  26. package/dist/components/Meter/Meter.stories.d.ts +12 -0
  27. package/dist/components/Meter/Meter.stories.d.ts.map +1 -0
  28. package/dist/components/Meter/styles.css.d.ts +34 -0
  29. package/dist/components/Meter/styles.css.d.ts.map +1 -0
  30. package/dist/components/Popover/Popover.d.ts +14 -2
  31. package/dist/components/Popover/Popover.d.ts.map +1 -1
  32. package/dist/components/Popover/Popover.meta.d.ts.map +1 -1
  33. package/dist/components/Popover/PopoverLayerContext.d.ts +3 -0
  34. package/dist/components/Popover/PopoverLayerContext.d.ts.map +1 -1
  35. package/dist/components/Popover/PopoverRaised.stories.d.ts +28 -0
  36. package/dist/components/Popover/PopoverRaised.stories.d.ts.map +1 -0
  37. package/dist/components/Popover/styles.css.d.ts +15 -0
  38. package/dist/components/Popover/styles.css.d.ts.map +1 -1
  39. package/dist/components/Select/Select.d.ts +4 -1
  40. package/dist/components/Select/Select.d.ts.map +1 -1
  41. package/dist/components/Select/styles.css.d.ts +9 -0
  42. package/dist/components/Select/styles.css.d.ts.map +1 -1
  43. package/dist/components/Timeline/Timeline.d.ts +71 -0
  44. package/dist/components/Timeline/Timeline.d.ts.map +1 -0
  45. package/dist/components/Timeline/Timeline.meta.d.ts +3 -0
  46. package/dist/components/Timeline/Timeline.meta.d.ts.map +1 -0
  47. package/dist/components/Timeline/Timeline.stories.d.ts +26 -0
  48. package/dist/components/Timeline/Timeline.stories.d.ts.map +1 -0
  49. package/dist/components/Timeline/styles.css.d.ts +158 -0
  50. package/dist/components/Timeline/styles.css.d.ts.map +1 -0
  51. package/dist/components/Toast/Toast.meta.d.ts.map +1 -1
  52. package/dist/components/Toast/Toast.stories.d.ts +9 -0
  53. package/dist/components/Toast/Toast.stories.d.ts.map +1 -1
  54. package/dist/components/Toast/ToastProvider.d.ts +11 -5
  55. package/dist/components/Toast/ToastProvider.d.ts.map +1 -1
  56. package/dist/components/Toast/index.d.ts +1 -1
  57. package/dist/components/Toast/index.d.ts.map +1 -1
  58. package/dist/components/Toast/styles.css.d.ts +6 -0
  59. package/dist/components/Toast/styles.css.d.ts.map +1 -1
  60. package/dist/components/Toggle/Toggle.d.ts +2 -1
  61. package/dist/components/Toggle/Toggle.d.ts.map +1 -1
  62. package/dist/components/Toggle/styles.css.d.ts +1 -0
  63. package/dist/components/Toggle/styles.css.d.ts.map +1 -1
  64. package/dist/index.css +1 -1
  65. package/dist/index.d.ts +6 -2
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +4992 -3845
  68. package/dist/index.js.map +1 -1
  69. package/dist/shared/ModalContext.d.ts +7 -0
  70. package/dist/shared/ModalContext.d.ts.map +1 -1
  71. package/dist/shared/exports.typecheck.d.ts +9 -0
  72. package/dist/shared/exports.typecheck.d.ts.map +1 -0
  73. package/dist/shared/types.d.ts +2 -0
  74. package/dist/shared/types.d.ts.map +1 -1
  75. package/dist/table.js +1 -1
  76. package/package.json +2 -2
  77. package/src/components/Button/Button.tsx +2 -1
  78. package/src/components/Button/styles.css.ts +3 -0
  79. package/src/components/ButtonGroup/ButtonGroup.stories.tsx +172 -14
  80. package/src/components/DragDrop/DragDrop.meta.ts +22 -21
  81. package/src/components/DragDrop/DragDrop.tsx +1147 -246
  82. package/src/components/DragDrop/DragDropBoard.stories.tsx +668 -0
  83. package/src/components/DragDrop/styles.css.ts +74 -4
  84. package/src/components/LinkButton/styles.css.ts +4 -0
  85. package/src/components/Menu/Menu.meta.ts +1 -1
  86. package/src/components/Menu/Menu.tsx +17 -2
  87. package/src/components/Menu/styles.css.ts +18 -0
  88. package/src/components/Meter/Meter.meta.ts +24 -0
  89. package/src/components/Meter/Meter.stories.tsx +64 -0
  90. package/src/components/Meter/Meter.tsx +55 -0
  91. package/src/components/Meter/styles.css.ts +30 -0
  92. package/src/components/Popover/Popover.meta.ts +2 -1
  93. package/src/components/Popover/Popover.tsx +29 -4
  94. package/src/components/Popover/PopoverLayerContext.ts +3 -0
  95. package/src/components/Popover/PopoverRaised.stories.tsx +334 -0
  96. package/src/components/Popover/styles.css.ts +21 -0
  97. package/src/components/Select/Select.meta.ts +1 -1
  98. package/src/components/Select/Select.tsx +5 -1
  99. package/src/components/Select/styles.css.ts +12 -0
  100. package/src/components/Timeline/Timeline.meta.ts +46 -0
  101. package/src/components/Timeline/Timeline.stories.tsx +238 -0
  102. package/src/components/Timeline/Timeline.tsx +332 -0
  103. package/src/components/Timeline/styles.css.ts +162 -0
  104. package/src/components/Toast/Toast.meta.ts +2 -1
  105. package/src/components/Toast/Toast.stories.tsx +84 -0
  106. package/src/components/Toast/ToastProvider.tsx +49 -11
  107. package/src/components/Toast/index.ts +7 -1
  108. package/src/components/Toast/styles.css.ts +2 -0
  109. package/src/components/Toggle/Toggle.tsx +2 -1
  110. package/src/components/Toggle/styles.css.ts +2 -0
  111. package/src/index.ts +18 -0
  112. package/src/shared/ModalContext.ts +8 -1
  113. package/src/shared/exports.typecheck.ts +16 -0
  114. package/src/shared/types.ts +3 -0
  115. package/dist/Table-DYN-bp0e.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
+ import { SpacingToken } from '@duro-app/tokens/keys';
2
3
  export interface DragDropItemData<T = unknown> {
3
4
  readonly id: string;
4
5
  readonly zone: string;
@@ -14,36 +15,100 @@ export interface DragDropEvent<T = unknown> {
14
15
  readonly item: DragDropItemData<T>;
15
16
  readonly target: DragDropTarget;
16
17
  }
18
+ /** What a zone's `accepts` answers: `true` takes the item, `false` lets it
19
+ * pass silently (an outer zone may take it), and `{ok: false, reason}`
20
+ * refuses it out loud — the reason is shown on the ghost and announced. */
21
+ export type DragDropVerdict = boolean | {
22
+ readonly ok: false;
23
+ readonly reason: string;
24
+ };
25
+ export interface DragDropRefusal {
26
+ readonly zone: string;
27
+ readonly reason: string;
28
+ }
29
+ export interface DragDropOverEvent<T = unknown> {
30
+ readonly item: DragDropItemData<T>;
31
+ /** Where the item would land now; null over nothing that accepts it. */
32
+ readonly target: DragDropTarget | null;
33
+ /** The innermost zone that refused with a reason, when nothing accepted. */
34
+ readonly refused: DragDropRefusal | null;
35
+ readonly keyboard: boolean;
36
+ }
37
+ export interface DragDropAnnouncement {
38
+ readonly kind: 'pick' | 'move' | 'drop' | 'cancel' | 'refuse';
39
+ /** The item's label. */
40
+ readonly item: string;
41
+ /** The zone's label (pick, move, drop, refuse). */
42
+ readonly zone?: string;
43
+ /** 1-based position in the zone, counting the item itself. */
44
+ readonly position?: number;
45
+ /** How many items the zone holds with the item in it. */
46
+ readonly count?: number;
47
+ /** The zone's refusal (refuse). */
48
+ readonly reason?: string;
49
+ /** Whether the drag is a keyboard one. */
50
+ readonly keyboard: boolean;
51
+ }
52
+ export interface DragDropPlaceholderInfo {
53
+ readonly zone: string;
54
+ readonly index: number;
55
+ /** The zone's label, e.g. for "→ In progress". */
56
+ readonly label: string;
57
+ }
58
+ export type DragDropRenderPlaceholder = (info: DragDropPlaceholderInfo) => ReactNode;
17
59
  export interface DragDropRootProps<T = unknown> {
18
- /** Called when an item is released over a zone that accepts it. Reordering
19
- * inside the item's own zone arrives here too, with the new index. */
60
+ /** Called when an item is released over a zone that accepts it (or dropped
61
+ * with Space/Enter). Reordering inside the item's own zone arrives here
62
+ * too, with the new index. */
20
63
  onDrop: (event: DragDropEvent<T>) => void;
21
- /** Overrides the default screen-reader announcements. */
22
- announce?: (event: {
23
- kind: 'pick' | 'drop' | 'cancel';
24
- item: string;
25
- zone?: string;
26
- }) => string;
64
+ /** Called whenever the target under the drag changes — a new zone or
65
+ * index, nothing, or a refusal. */
66
+ onDragOver?: (event: DragDropOverEvent<T>) => void;
67
+ /** Supplies every live-region string (pick, move, drop, cancel, refuse),
68
+ * e.g. from the app's message catalog. Defaults to English. */
69
+ announce?: (event: DragDropAnnouncement) => string;
70
+ /** What marks the insertion point in a zone while dragging; a Zone's own
71
+ * renderPlaceholder wins. Without one, only the zone lights up. */
72
+ renderPlaceholder?: DragDropRenderPlaceholder;
73
+ /** Read by screen readers on a focused Handle. */
74
+ instructions?: string;
27
75
  children: ReactNode;
28
76
  }
29
- declare function Root<T = unknown>({ onDrop, announce, children }: DragDropRootProps<T>): import("react/jsx-runtime").JSX.Element;
77
+ declare function Root<T = unknown>({ onDrop, onDragOver, announce, renderPlaceholder, instructions, children, }: DragDropRootProps<T>): import("react/jsx-runtime").JSX.Element;
30
78
  export interface DragDropZoneProps<T = unknown> {
31
79
  id: string;
32
- /** Read to screen readers when an item is dropped here. */
80
+ /** Read to screen readers when an item moves or drops here; the list's
81
+ * accessible name with `list`. */
33
82
  label: string;
34
83
  /** Which axis items flow along; decides how the insertion index is read
35
84
  * from the pointer. */
36
85
  orientation?: 'horizontal' | 'vertical';
37
- /** Refuse an item; the zone then never lights up for it. */
38
- accepts?: (item: DragDropItemData<T>) => boolean;
86
+ /** Take the item (`true`), let it pass to an outer zone (`false`), or
87
+ * refuse it with a reason that is shown and announced
88
+ * (`{ok: false, reason}`). Omitted: every item is taken. */
89
+ accepts?: (item: DragDropItemData<T>) => DragDropVerdict;
90
+ /** Keyboard order across zones (Left/Right); zones without one follow, in
91
+ * DOM order. */
92
+ order?: number;
93
+ /** Marks the insertion point in this zone; overrides the Root's. */
94
+ renderPlaceholder?: DragDropRenderPlaceholder;
95
+ /** Render the zone as a labelled list (`role="list"`) laid out along
96
+ * `orientation`, its Items as list items. Put the Items directly in it. */
97
+ list?: boolean;
98
+ /** Gap between the Items of a `list` zone. */
99
+ gap?: SpacingToken;
100
+ /** Stretch to fill the parent (a Timeline bar, a card) instead of sizing
101
+ * to the content. */
102
+ fill?: boolean;
39
103
  children: ReactNode;
40
104
  }
41
- declare function Zone<T = unknown>({ id, label, orientation, accepts, children, }: DragDropZoneProps<T>): import("react/jsx-runtime").JSX.Element;
105
+ declare function Zone<T = unknown>({ id, label, orientation, accepts, order, renderPlaceholder, list, gap, fill, children, }: DragDropZoneProps<T>): import("react/jsx-runtime").JSX.Element;
42
106
  export interface DragDropItemProps<T = unknown> {
43
107
  id: string;
44
108
  /** The zone this item currently lives in. */
45
109
  zone: string;
46
- /** Read to screen readers when picked up or dropped. */
110
+ /** Read to screen readers when picked up or dropped; a Handle's default
111
+ * accessible name. */
47
112
  label: string;
48
113
  /** Carried to onDrop untouched. */
49
114
  data?: T;
@@ -53,15 +118,31 @@ export interface DragDropItemProps<T = unknown> {
53
118
  children: ReactNode;
54
119
  }
55
120
  declare function Item<T = unknown>({ id, zone, label, data, preview, disabled, children, }: DragDropItemProps<T>): import("react/jsx-runtime").JSX.Element;
121
+ export interface DragDropHandleProps {
122
+ /** Defaults to the Item's label. */
123
+ 'aria-label'?: string;
124
+ /** What the handle shows: a grip, or the item's whole face. Keep other
125
+ * controls out of it — a handle is one widget. */
126
+ children: ReactNode;
127
+ }
128
+ /**
129
+ * The keyboard path into an Item: one focusable widget (`role="button"`) per
130
+ * item, a roving tab stop per zone. Space picks the item up, the arrow keys
131
+ * move it, Space or Enter drops it, Escape cancels.
132
+ */
133
+ declare function Handle({ 'aria-label': ariaLabel, children }: DragDropHandleProps): import("react/jsx-runtime").JSX.Element;
56
134
  /** Current drag, for consumers that render their own placeholder or ghost. */
57
135
  export declare function useDragDrop(): {
58
136
  readonly dragging: string | null;
59
137
  readonly over: DragDropTarget | null;
138
+ readonly refused: DragDropRefusal | null;
139
+ readonly keyboard: boolean;
60
140
  };
61
141
  export declare const DragDrop: {
62
142
  Root: typeof Root;
63
143
  Zone: typeof Zone;
64
144
  Item: typeof Item;
145
+ Handle: typeof Handle;
65
146
  };
66
147
  export {};
67
148
  //# sourceMappingURL=DragDrop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragDrop.d.ts","sourceRoot":"","sources":["../../../src/components/DragDrop/DragDrop.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AA6Bd,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;4EACwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC;AAqED,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C;2EACuE;IACvE,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACzC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,KAAK,MAAM,CAAA;IAC7F,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,iBAAS,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CAiP5E;AAMD,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAA;IACb;4BACwB;IACxB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IAChD,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,iBAAS,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,EACzB,EAAE,EACF,KAAK,EACL,WAA0B,EAC1B,OAAO,EACP,QAAQ,GACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA0BtB;AAMD,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,mCAAmC;IACnC,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,0DAA0D;IAC1D,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,iBAAS,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,EACzB,EAAE,EACF,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,OAAO,EACP,QAAgB,EAChB,QAAQ,GACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA4CtB;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,IAAI;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;CACrC,CAGA;AAED,eAAO,MAAM,QAAQ;;;;CAAqB,CAAA"}
1
+ {"version":3,"file":"DragDrop.d.ts","sourceRoot":"","sources":["../../../src/components/DragDrop/DragDrop.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DragDrop.meta.d.ts","sourceRoot":"","sources":["../../../src/components/DragDrop/DragDrop.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAEpD,eAAO,MAAM,IAAI,EAAE,aA8ClB,CAAA"}
1
+ {"version":3,"file":"DragDrop.meta.d.ts","sourceRoot":"","sources":["../../../src/components/DragDrop/DragDrop.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAEpD,eAAO,MAAM,IAAI,EAAE,aA+ClB,CAAA"}
@@ -0,0 +1,69 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { DragDropEvent, DragDropOverEvent } from './DragDrop';
3
+ /**
4
+ * The board shapes DragDrop 5.x is for: columns that are labelled lists,
5
+ * cards with a keyboard handle, a card zone nested in a column zone (attach),
6
+ * a refusal with a reason, edge auto-scroll, and a 300-card board for the
7
+ * render budget.
8
+ */
9
+ interface Args {
10
+ onDrop?: (e: DragDropEvent<Card>) => void;
11
+ onDragOver?: (e: DragDropOverEvent<Card>) => void;
12
+ }
13
+ declare const meta: Meta<Args>;
14
+ export default meta;
15
+ type Story = StoryObj<Args>;
16
+ interface Card {
17
+ readonly id: string;
18
+ readonly title: string;
19
+ readonly kind: 'task' | 'activity';
20
+ }
21
+ /** Three labelled list columns. Tab reaches one card per column; arrows walk
22
+ * the cards; Space picks a card up, arrows move it, Space drops, Escape
23
+ * cancels. Mouse drags show the same placeholder. */
24
+ export declare const Kanban3: Story;
25
+ /** Space, arrows, Space: the card moves; announcements are list-style and
26
+ * focus comes back to the card. */
27
+ export declare const KeyboardMove: Story;
28
+ /** Escape puts the card back, focused, and nothing is dropped. */
29
+ export declare const KeyboardCancel: Story;
30
+ /** Arrow keys walk the handles without picking: Up/Down in a column,
31
+ * Left/Right across columns. */
32
+ export declare const KeyboardRoving: Story;
33
+ /** `order` decides Left/Right, not the DOM: here Done comes before In
34
+ * progress. */
35
+ export declare const ExplicitZoneOrder: Story;
36
+ /** A mouse drag shows the placeholder where the card would land, calls
37
+ * onDragOver as the target changes, and drops there. */
38
+ export declare const PointerReorder: Story;
39
+ /** An inbox of activities beside two columns of tasks. Drop an activity on a
40
+ * task card to attach it (the card's zone sits inside the column's); drop
41
+ * it on a column and the column refuses, with its reason. */
42
+ export declare const NestedZones: Story;
43
+ /** The card's own zone wins over its column (innermost zone): an activity
44
+ * dropped on a card attaches to it. */
45
+ export declare const NestedAttach: Story;
46
+ /** A task dragged over another task passes through the card's zone (it
47
+ * only takes activities) to the column, which reorders. */
48
+ export declare const NestedFallsThrough: Story;
49
+ /** A column refuses an activity with a reason: the ghost shows it, it is
50
+ * announced, and releasing there drops nothing. */
51
+ export declare const RefusalWithReason: Story;
52
+ /** A 30-card column that scrolls: hold a dragged card near its edge. */
53
+ export declare const ScrollingColumn: Story;
54
+ /** Holding a card near the bottom edge of a scrolling column scrolls it, and
55
+ * the drop lands among the cards scrolled into view. */
56
+ export declare const EdgeAutoScroll: Story;
57
+ declare global {
58
+ interface Window {
59
+ __dragDropRenders?: number;
60
+ }
61
+ }
62
+ /**
63
+ * 300 cards. A pointer drag across a column re-renders at most a handful of
64
+ * zones and items per frame (the two around the moving placeholder); the
65
+ * ghost moves without rendering. The play function counts Profiler commits
66
+ * per frame and asserts fewer than 5.
67
+ */
68
+ export declare const Perf300: Story;
69
+ //# sourceMappingURL=DragDropBoard.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragDropBoard.stories.d.ts","sourceRoot":"","sources":["../../../src/components/DragDrop/DragDropBoard.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAIpD,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAA;AASnB;;;;;GAKG;AACH,UAAU,IAAI;IACZ,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;IACzC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;CAClD;AAED,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CAIpB,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;AA4D3B,UAAU,IAAI;IACZ,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CACnC;AAkMD;;sDAEsD;AACtD,eAAO,MAAM,OAAO,EAAE,KAGrB,CAAA;AAED;oCACoC;AACpC,eAAO,MAAM,YAAY,EAAE,KAqC1B,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,cAAc,EAAE,KAe5B,CAAA;AAED;iCACiC;AACjC,eAAO,MAAM,cAAc,EAAE,KAY5B,CAAA;AAED;gBACgB;AAChB,eAAO,MAAM,iBAAiB,EAAE,KAW/B,CAAA;AAED;yDACyD;AACzD,eAAO,MAAM,cAAc,EAAE,KAmB5B,CAAA;AAgDD;;8DAE8D;AAC9D,eAAO,MAAM,WAAW,EAAE,KAGzB,CAAA;AAED;wCACwC;AACxC,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAA;AAED;4DAC4D;AAC5D,eAAO,MAAM,kBAAkB,EAAE,KAYhC,CAAA;AAED;oDACoD;AACpD,eAAO,MAAM,iBAAiB,EAAE,KAmB/B,CAAA;AAqBD,wEAAwE;AACxE,eAAO,MAAM,eAAe,EAAE,KAE7B,CAAA;AAED;yDACyD;AACzD,eAAO,MAAM,cAAc,EAAE,KAkB5B,CAAA;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B;CACF;AAyCD;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,KAwCrB,CAAA"}
@@ -15,12 +15,59 @@ export declare const styles: Readonly<{
15
15
  readonly opacity: css.StyleXClassNameFor<"opacity", 0.4>;
16
16
  readonly cursor: css.StyleXClassNameFor<"cursor", "grabbing">;
17
17
  }>;
18
+ readonly handle: Readonly<{
19
+ readonly borderRadius: css.StyleXClassNameFor<"borderRadius", string>;
20
+ readonly outlineStyle: css.StyleXClassNameFor<"outlineStyle", "none" | "solid">;
21
+ readonly outlineWidth: css.StyleXClassNameFor<"outlineWidth", string>;
22
+ readonly outlineColor: css.StyleXClassNameFor<"outlineColor", string>;
23
+ readonly outlineOffset: css.StyleXClassNameFor<"outlineOffset", string>;
24
+ }>;
25
+ readonly handlePicked: Readonly<{
26
+ readonly outlineStyle: css.StyleXClassNameFor<"outlineStyle", "dashed">;
27
+ }>;
18
28
  readonly zone: Readonly<{
19
29
  readonly borderRadius: css.StyleXClassNameFor<"borderRadius", string>;
20
30
  readonly transitionProperty: css.StyleXClassNameFor<"transitionProperty", "box-shadow, background-color">;
21
31
  readonly transitionDuration: css.StyleXClassNameFor<"transitionDuration", string>;
22
32
  readonly transitionTimingFunction: css.StyleXClassNameFor<"transitionTimingFunction", string>;
23
33
  }>;
34
+ readonly listVertical: Readonly<{
35
+ readonly display: css.StyleXClassNameFor<"display", "flex">;
36
+ readonly flexDirection: css.StyleXClassNameFor<"flexDirection", "column">;
37
+ }>;
38
+ readonly listHorizontal: Readonly<{
39
+ readonly display: css.StyleXClassNameFor<"display", "flex">;
40
+ readonly flexDirection: css.StyleXClassNameFor<"flexDirection", "row">;
41
+ }>;
42
+ readonly gapXs: Readonly<{
43
+ readonly gap: css.StyleXClassNameFor<"gap", string>;
44
+ }>;
45
+ readonly gapSm: Readonly<{
46
+ readonly gap: css.StyleXClassNameFor<"gap", string>;
47
+ }>;
48
+ readonly gapMs: Readonly<{
49
+ readonly gap: css.StyleXClassNameFor<"gap", string>;
50
+ }>;
51
+ readonly gapMd: Readonly<{
52
+ readonly gap: css.StyleXClassNameFor<"gap", string>;
53
+ }>;
54
+ readonly gapLg: Readonly<{
55
+ readonly gap: css.StyleXClassNameFor<"gap", string>;
56
+ }>;
57
+ readonly gapXl: Readonly<{
58
+ readonly gap: css.StyleXClassNameFor<"gap", string>;
59
+ }>;
60
+ readonly gapXxl: Readonly<{
61
+ readonly gap: css.StyleXClassNameFor<"gap", string>;
62
+ }>;
63
+ readonly gapXxxl: Readonly<{
64
+ readonly gap: css.StyleXClassNameFor<"gap", string>;
65
+ }>;
66
+ readonly fill: Readonly<{
67
+ readonly boxSizing: css.StyleXClassNameFor<"boxSizing", "border-box">;
68
+ readonly width: css.StyleXClassNameFor<"width", "100%">;
69
+ readonly height: css.StyleXClassNameFor<"height", "100%">;
70
+ }>;
24
71
  readonly zoneReady: Readonly<{
25
72
  readonly boxShadow: css.StyleXClassNameFor<"boxShadow", string>;
26
73
  readonly outlineStyle: css.StyleXClassNameFor<"outlineStyle", "solid">;
@@ -36,6 +83,16 @@ export declare const styles: Readonly<{
36
83
  readonly outlineColor: css.StyleXClassNameFor<"outlineColor", "transparent">;
37
84
  readonly outlineOffset: css.StyleXClassNameFor<"outlineOffset", `calc(-1 * ${css.StyleXVar<string>})`>;
38
85
  }>;
86
+ readonly zoneRefused: Readonly<{
87
+ readonly backgroundColor: css.StyleXClassNameFor<"backgroundColor", string>;
88
+ readonly outlineStyle: css.StyleXClassNameFor<"outlineStyle", "dashed">;
89
+ readonly outlineWidth: css.StyleXClassNameFor<"outlineWidth", string>;
90
+ readonly outlineColor: css.StyleXClassNameFor<"outlineColor", string>;
91
+ readonly outlineOffset: css.StyleXClassNameFor<"outlineOffset", `calc(-1 * ${css.StyleXVar<string>})`>;
92
+ }>;
93
+ readonly placeholder: Readonly<{
94
+ readonly flexShrink: css.StyleXClassNameFor<"flexShrink", 0>;
95
+ }>;
39
96
  readonly ghost: Readonly<{
40
97
  readonly position: css.StyleXClassNameFor<"position", "fixed">;
41
98
  readonly top: css.StyleXClassNameFor<"top", 0>;
@@ -45,10 +102,30 @@ export declare const styles: Readonly<{
45
102
  readonly opacity: css.StyleXClassNameFor<"opacity", 0.9>;
46
103
  readonly cursor: css.StyleXClassNameFor<"cursor", "grabbing">;
47
104
  }>;
48
- readonly ghostAt: (x: number, y: number, width: number, height: number) => readonly [Readonly<{
105
+ readonly ghostTilt: Readonly<{
106
+ readonly transform: css.StyleXClassNameFor<"transform", "none" | "rotate(2deg)">;
107
+ }>;
108
+ readonly refusal: Readonly<{
109
+ readonly marginTop: css.StyleXClassNameFor<"marginTop", string>;
110
+ readonly paddingTop: css.StyleXClassNameFor<"paddingTop", string>;
111
+ readonly paddingBottom: css.StyleXClassNameFor<"paddingBottom", string>;
112
+ readonly paddingLeft: css.StyleXClassNameFor<"paddingLeft", string>;
113
+ readonly paddingRight: css.StyleXClassNameFor<"paddingRight", string>;
114
+ readonly borderRadius: css.StyleXClassNameFor<"borderRadius", string>;
115
+ readonly borderWidth: css.StyleXClassNameFor<"borderWidth", string>;
116
+ readonly borderStyle: css.StyleXClassNameFor<"borderStyle", "solid">;
117
+ readonly borderColor: css.StyleXClassNameFor<"borderColor", string>;
118
+ readonly backgroundColor: css.StyleXClassNameFor<"backgroundColor", string>;
119
+ readonly color: css.StyleXClassNameFor<"color", string>;
120
+ readonly fontSize: css.StyleXClassNameFor<"fontSize", string>;
121
+ readonly lineHeight: css.StyleXClassNameFor<"lineHeight", string>;
122
+ readonly boxShadow: css.StyleXClassNameFor<"boxShadow", string>;
123
+ readonly width: css.StyleXClassNameFor<"width", "max-content">;
124
+ readonly maxWidth: css.StyleXClassNameFor<"maxWidth", "100%">;
125
+ }>;
126
+ readonly ghostSize: (width: number, height: number) => readonly [Readonly<{
49
127
  width: css.StyleXClassNameFor<"width", number>;
50
- height: css.StyleXClassNameFor<"height", number>;
51
- transform: css.StyleXClassNameFor<"transform", string>;
128
+ minHeight: css.StyleXClassNameFor<"minHeight", number>;
52
129
  }>, css.InlineStyles];
53
130
  }>;
54
131
  //# sourceMappingURL=styles.css.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/components/DragDrop/styles.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAQpC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DjB,CAAA"}
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/components/DragDrop/styles.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AASpC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmIjB,CAAA"}
@@ -28,6 +28,7 @@ export declare const styles: Readonly<{
28
28
  readonly paddingLeft: css.StyleXClassNameFor<"paddingLeft", string>;
29
29
  readonly paddingRight: css.StyleXClassNameFor<"paddingRight", string>;
30
30
  readonly fontSize: css.StyleXClassNameFor<"fontSize", string>;
31
+ readonly minHeight: css.StyleXClassNameFor<"minHeight", string>;
31
32
  }>;
32
33
  readonly primary: Readonly<{
33
34
  readonly backgroundColor: css.StyleXClassNameFor<"backgroundColor", string>;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/components/LinkButton/styles.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAOpC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDjB,CAAA"}
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/components/LinkButton/styles.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAQpC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqDjB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { ReactNode, Ref } from 'react';
2
+ import { ControlSize } from '../../shared/types';
2
3
  interface RootProps {
3
4
  children: ReactNode;
4
5
  /** Controlled open state. */
@@ -16,9 +17,11 @@ interface TriggerProps {
16
17
  'aria-label'?: string;
17
18
  /** `ghost`: no border or fill until hover, for toolbars. Default: `default`. */
18
19
  variant?: MenuTriggerVariant;
20
+ /** `small` matches a small Toggle or Button beside it; a small ghost trigger is `iconButtonSm`. Default: `default`. */
21
+ size?: ControlSize;
19
22
  ref?: Ref<HTMLButtonElement>;
20
23
  }
21
- declare function Trigger({ children, 'aria-label': ariaLabel, variant, ref }: TriggerProps): import("react/jsx-runtime").JSX.Element;
24
+ declare function Trigger({ children, 'aria-label': ariaLabel, variant, size, ref, }: TriggerProps): import("react/jsx-runtime").JSX.Element;
22
25
  interface PopupProps {
23
26
  children: ReactNode;
24
27
  align?: 'start' | 'end';
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,GAAG,EAOT,MAAM,OAAO,CAAA;AAed,UAAU,SAAS;IACjB,QAAQ,EAAE,SAAS,CAAA;IACnB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACvC;AAED,iBAAS,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAC,EAAE,SAAS,2CAUnE;AAQD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAA;AAEpD,UAAU,YAAY;IACpB,QAAQ,EAAE,SAAS,CAAA;IACnB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B;AAED,iBAAS,OAAO,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,OAAmB,EAAE,GAAG,EAAC,EAAE,YAAY,2CA2C3F;AAGD,UAAU,UAAU;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;CACxB;AAKD,iBAAS,KAAK,CAAC,EAAC,QAAQ,EAAE,KAAe,EAAC,EAAE,UAAU,sCAkDrD;AAGD,UAAU,SAAS;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,iBAAS,IAAI,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAE,SAAS,2CA6B3C;AAGD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,iBAAS,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,aAAa,2CAyBhD;AAMD,iBAAS,SAAS,4CAEjB;AAED,eAAO,MAAM,IAAI;;;;;;;CAOhB,CAAA"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,GAAG,EAOT,MAAM,OAAO,CAAA;AAQd,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAA;AAQnD,UAAU,SAAS;IACjB,QAAQ,EAAE,SAAS,CAAA;IACnB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACvC;AAED,iBAAS,IAAI,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAC,EAAE,SAAS,2CAUnE;AAQD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAA;AAEpD,UAAU,YAAY;IACpB,QAAQ,EAAE,SAAS,CAAA;IACnB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,uHAAuH;IACvH,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B;AAED,iBAAS,OAAO,CAAC,EACf,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,OAAmB,EACnB,IAAgB,EAChB,GAAG,GACJ,EAAE,YAAY,2CAiDd;AAGD,UAAU,UAAU;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;CACxB;AAKD,iBAAS,KAAK,CAAC,EAAC,QAAQ,EAAE,KAAe,EAAC,EAAE,UAAU,sCAkDrD;AAGD,UAAU,SAAS;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,iBAAS,IAAI,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAE,SAAS,2CA6B3C;AAGD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,iBAAS,QAAQ,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,aAAa,2CAyBhD;AAMD,iBAAS,SAAS,4CAEjB;AAED,eAAO,MAAM,IAAI;;;;;;;CAOhB,CAAA"}
@@ -34,6 +34,20 @@ export declare const styles: Readonly<{
34
34
  readonly paddingRight: css.StyleXClassNameFor<"paddingRight", string>;
35
35
  readonly borderColor: css.StyleXClassNameFor<"borderColor", "transparent">;
36
36
  }>;
37
+ readonly triggerSmall: Readonly<{
38
+ readonly gap: css.StyleXClassNameFor<"gap", string>;
39
+ readonly paddingTop: css.StyleXClassNameFor<"paddingTop", string>;
40
+ readonly paddingBottom: css.StyleXClassNameFor<"paddingBottom", string>;
41
+ readonly paddingLeft: css.StyleXClassNameFor<"paddingLeft", string>;
42
+ readonly paddingRight: css.StyleXClassNameFor<"paddingRight", string>;
43
+ readonly fontSize: css.StyleXClassNameFor<"fontSize", string>;
44
+ readonly minHeight: css.StyleXClassNameFor<"minHeight", string>;
45
+ }>;
46
+ readonly triggerGhostSmall: Readonly<{
47
+ readonly fontSize: css.StyleXClassNameFor<"fontSize", string>;
48
+ readonly minWidth: css.StyleXClassNameFor<"minWidth", string>;
49
+ readonly minHeight: css.StyleXClassNameFor<"minHeight", string>;
50
+ }>;
37
51
  readonly popup: Readonly<{
38
52
  readonly position: css.StyleXClassNameFor<"position", "fixed">;
39
53
  readonly top: css.StyleXClassNameFor<"top", 0>;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/styles.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAUpC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0GjB,CAAA"}
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/styles.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAUpC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4HjB,CAAA"}
@@ -0,0 +1,17 @@
1
+ export type MeterTone = 'accent' | 'success' | 'warning' | 'error';
2
+ export interface MeterProps {
3
+ value: number;
4
+ /** Defaults to 0. */
5
+ min?: number;
6
+ /** Defaults to 1, so a fraction needs nothing else. */
7
+ max?: number;
8
+ /** The accessible name, e.g. "In progress WIP". */
9
+ label: string;
10
+ /** What screen readers read for the value, e.g. "4 of 3, over the limit".
11
+ * Defaults to the percentage. */
12
+ valueText?: string;
13
+ /** The fill's colour; defaults to accent. */
14
+ tone?: MeterTone;
15
+ }
16
+ export declare function Meter({ value, min, max, label, valueText, tone }: MeterProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=Meter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Meter.d.ts","sourceRoot":"","sources":["../../../src/components/Meter/Meter.tsx"],"names":[],"mappings":"AAUA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AAElE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb;sCACkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AASD,wBAAgB,KAAK,CAAC,EAAC,KAAK,EAAE,GAAO,EAAE,GAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAe,EAAC,EAAE,UAAU,2CAoB7F"}
@@ -0,0 +1,3 @@
1
+ import { ComponentMeta } from '../component-meta';
2
+ export declare const meta: ComponentMeta;
3
+ //# sourceMappingURL=Meter.meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Meter.meta.d.ts","sourceRoot":"","sources":["../../../src/components/Meter/Meter.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAEpD,eAAO,MAAM,IAAI,EAAE,aAqBlB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { Meter } from './Meter';
3
+ declare const meta: Meta<typeof Meter>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Meter>;
6
+ export declare const Default: Story;
7
+ /** Tones for a level against a limit: under, at, over. */
8
+ export declare const Tones: Story;
9
+ /** Over the maximum, aria-valuenow stays in range and the text carries the
10
+ * true value; the bar fills, no further. */
11
+ export declare const OverTheLimit: Story;
12
+ //# sourceMappingURL=Meter.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Meter.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Meter/Meter.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAGpD,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAU7B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CAK5B,CAAA;AACD,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAA;AAEnC,eAAO,MAAM,OAAO,EAAE,KASrB,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,KAAK,EAAE,KAanB,CAAA;AAED;6CAC6C;AAC7C,eAAO,MAAM,YAAY,EAAE,KAY1B,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { css } from 'react-strict-dom';
2
+ export declare const styles: Readonly<{
3
+ readonly track: Readonly<{
4
+ readonly position: css.StyleXClassNameFor<"position", "relative">;
5
+ readonly width: css.StyleXClassNameFor<"width", "100%">;
6
+ readonly height: css.StyleXClassNameFor<"height", string>;
7
+ readonly borderRadius: css.StyleXClassNameFor<"borderRadius", string>;
8
+ readonly backgroundColor: css.StyleXClassNameFor<"backgroundColor", string>;
9
+ readonly overflow: css.StyleXClassNameFor<"overflow", "hidden">;
10
+ }>;
11
+ readonly fill: Readonly<{
12
+ readonly height: css.StyleXClassNameFor<"height", "100%">;
13
+ readonly borderRadius: css.StyleXClassNameFor<"borderRadius", string>;
14
+ readonly transitionProperty: css.StyleXClassNameFor<"transitionProperty", "width">;
15
+ readonly transitionDuration: css.StyleXClassNameFor<"transitionDuration", string>;
16
+ readonly transitionTimingFunction: css.StyleXClassNameFor<"transitionTimingFunction", string>;
17
+ }>;
18
+ readonly accent: Readonly<{
19
+ readonly backgroundColor: css.StyleXClassNameFor<"backgroundColor", string>;
20
+ }>;
21
+ readonly success: Readonly<{
22
+ readonly backgroundColor: css.StyleXClassNameFor<"backgroundColor", string>;
23
+ }>;
24
+ readonly warning: Readonly<{
25
+ readonly backgroundColor: css.StyleXClassNameFor<"backgroundColor", string>;
26
+ }>;
27
+ readonly error: Readonly<{
28
+ readonly backgroundColor: css.StyleXClassNameFor<"backgroundColor", string>;
29
+ }>;
30
+ readonly fillAt: (percent: number) => readonly [Readonly<{
31
+ width: css.StyleXClassNameFor<"width", string>;
32
+ }>, css.InlineStyles];
33
+ }>;
34
+ //# sourceMappingURL=styles.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/components/Meter/styles.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAMpC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBjB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { ReactNode, Ref } from 'react';
2
2
  import { PopoverAlign, PopoverSide } from './position';
3
+ import { ControlSize } from '../../shared/types';
3
4
  type IgnoreEntry = Element | null | (() => Element | null);
4
5
  export interface PopoverHandle {
5
6
  /** Re-measure the anchor and re-place the popup. */
@@ -23,16 +24,27 @@ interface TriggerProps {
23
24
  children: ReactNode;
24
25
  /** Accessible name: required when the label is an icon only. */
25
26
  'aria-label'?: string;
27
+ /** `small` matches a small Toggle or Button beside it. Default: `default`. */
28
+ size?: ControlSize;
26
29
  /** The trigger <button>, e.g. to measure it or return focus to it. */
27
30
  ref?: Ref<HTMLButtonElement>;
28
31
  }
29
- declare function Trigger({ children, 'aria-label': ariaLabel, ref }: TriggerProps): import("react/jsx-runtime").JSX.Element;
32
+ declare function Trigger({ children, 'aria-label': ariaLabel, size, ref }: TriggerProps): import("react/jsx-runtime").JSX.Element;
30
33
  interface PopupProps {
31
34
  children: ReactNode;
32
35
  /** Accessible name for the dialog. */
33
36
  label: string;
37
+ /**
38
+ * Draw over another floating surface: `layers.floatingRaised` outside a
39
+ * modal, `layers.popoverRaised` inside a Dialog or Drawer, instead of
40
+ * `floating` / `popover`. For one floating thing that must cover a sibling
41
+ * one (a link editor over a format bar), never for covering a modal: a
42
+ * Dialog opened later still covers it. A Popover nested inside a raised one
43
+ * is raised too. Default: inherited, else `false`.
44
+ */
45
+ raised?: boolean;
34
46
  }
35
- declare function Popup({ children, label }: PopupProps): import('react').ReactPortal | null;
47
+ declare function Popup({ children, label, raised }: PopupProps): import('react').ReactPortal | null;
36
48
  declare function Close({ children }: {
37
49
  children: ReactNode;
38
50
  }): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,GAAG,EAWT,MAAM,OAAO,CAAA;AAKd,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAC,MAAM,YAAY,CAAA;AAUtF,KAAK,WAAW,GAAG,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAA;AA6B1D,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,UAAU,SAAS;IACjB,QAAQ,EAAE,SAAS,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,OAAO,CAAA;IACtB,kFAAkF;IAClF,MAAM,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IACnC,GAAG,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;CACzB;AAED,iBAAS,IAAI,CAAC,EACZ,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,WAAmB,EACnB,YAAY,EACZ,IAAe,EACf,KAAe,EACf,MAAM,EACN,MAAM,EACN,GAAG,GACJ,EAAE,SAAS,2CA4GX;AAKD,UAAU,YAAY;IACpB,QAAQ,EAAE,SAAS,CAAA;IACnB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sEAAsE;IACtE,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B;AAED,iBAAS,OAAO,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAC,EAAE,YAAY,2CAoBtE;AAID,UAAU,UAAU;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,iBAAS,KAAK,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAC,EAAE,UAAU,sCA+D3C;AAID,iBAAS,KAAK,CAAC,EAAC,QAAQ,EAAC,EAAE;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAC,2CAQ/C;AAED,eAAO,MAAM,OAAO;;;;;CAKnB,CAAA"}
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,GAAG,EAWT,MAAM,OAAO,CAAA;AAKd,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAC,MAAM,YAAY,CAAA;AAMtF,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAA;AAKnD,KAAK,WAAW,GAAG,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAA;AA6B1D,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,UAAU,SAAS;IACjB,QAAQ,EAAE,SAAS,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,OAAO,CAAA;IACtB,kFAAkF;IAClF,MAAM,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IACnC,GAAG,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;CACzB;AAED,iBAAS,IAAI,CAAC,EACZ,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,WAAmB,EACnB,YAAY,EACZ,IAAe,EACf,KAAe,EACf,MAAM,EACN,MAAM,EACN,GAAG,GACJ,EAAE,SAAS,2CA8GX;AAKD,UAAU,YAAY;IACpB,QAAQ,EAAE,SAAS,CAAA;IACnB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,sEAAsE;IACtE,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B;AAED,iBAAS,OAAO,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,IAAgB,EAAE,GAAG,EAAC,EAAE,YAAY,2CAoBxF;AAID,UAAU,UAAU;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,iBAAS,KAAK,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAC,EAAE,UAAU,sCA0EnD;AAID,iBAAS,KAAK,CAAC,EAAC,QAAQ,EAAC,EAAE;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAC,2CAQ/C;AAED,eAAO,MAAM,OAAO;;;;;CAKnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.meta.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAEpD,eAAO,MAAM,IAAI,EAAE,aAyElB,CAAA"}
1
+ {"version":3,"file":"Popover.meta.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAEpD,eAAO,MAAM,IAAI,EAAE,aA0ElB,CAAA"}
@@ -1,6 +1,9 @@
1
1
  import { RefObject } from 'react';
2
2
  export interface PopoverLayerContextValue {
3
3
  register: (el: Element) => () => void;
4
+ /** Set by a `raised` Popup for what it holds, so a Popover nested in it is
5
+ * raised too and is not drawn under its parent. */
6
+ raised?: boolean;
4
7
  }
5
8
  export declare const PopoverLayerContext: import('react').Context<PopoverLayerContextValue | null>;
6
9
  /** Register the ref's element as part of the enclosing Popover's layer while `active`. */
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverLayerContext.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/PopoverLayerContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,SAAS,EAA6C,MAAM,OAAO,CAAA;AAKhF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,MAAM,IAAI,CAAA;CACtC;AAED,eAAO,MAAM,mBAAmB,0DAAuD,CAAA;AAEvF,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAC,MAAM,EAAC,EAAE;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,QAO1F"}
1
+ {"version":3,"file":"PopoverLayerContext.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/PopoverLayerContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,SAAS,EAA6C,MAAM,OAAO,CAAA;AAKhF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,MAAM,IAAI,CAAA;IACrC;wDACoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,eAAO,MAAM,mBAAmB,0DAAuD,CAAA;AAEvF,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAC,MAAM,EAAC,EAAE;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,QAO1F"}
@@ -0,0 +1,28 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ /**
3
+ * `Popover.Popup raised`: one floating surface over another (a link editor
4
+ * over a selection format bar). Outside a modal it is `floatingRaised` (60),
5
+ * inside a Dialog or Drawer `popoverRaised` (1041). The raised Popover renders
6
+ * first, so without the layer the plain one, portalled after it, would be on
7
+ * top.
8
+ */
9
+ declare const meta: Meta;
10
+ export default meta;
11
+ type Story = StoryObj;
12
+ /** Outside a modal: the raised editor (60) is over the bar (50). */
13
+ export declare const RaisedOverFloating: Story;
14
+ /** Inside an open Dialog: the raised editor (1041) is over the bar (1040),
15
+ * and both are over the Dialog panel. */
16
+ export declare const RaisedInDialog: Story;
17
+ /** A raised Popover held open, then a Dialog: the Popover is still mounted
18
+ * and the Dialog covers it at the Dialog's centre. */
19
+ export declare const DialogOverRaised: Story;
20
+ export declare const NestedInRaised_NoModal: Story;
21
+ export declare const NestedInRaised_InDialog: Story;
22
+ /** A Select opened from a raised Popover in a Dialog: its listbox (popup,
23
+ * 1050) is on top. */
24
+ export declare const SelectInRaisedInDialog: Story;
25
+ /** `useInModal()`: true in a Dialog and a Drawer, false outside. Its export
26
+ * from the package root is checked by shared/exports.typecheck.ts. */
27
+ export declare const UseInModal: Story;
28
+ //# sourceMappingURL=PopoverRaised.stories.d.ts.map