@getmicdrop/svelte-components 5.12.0 → 5.14.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 (86) hide show
  1. package/dist/calendar/OrderSummary/OrderSummary.svelte +67 -7
  2. package/dist/calendar/OrderSummary/OrderSummary.svelte.d.ts +2 -0
  3. package/dist/calendar/OrderSummary/OrderSummary.svelte.d.ts.map +1 -1
  4. package/dist/index.spec.js +0 -1
  5. package/dist/patterns/navigation/Header.svelte +23 -27
  6. package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
  7. package/dist/primitives/AvatarButton/AvatarButton.svelte +57 -0
  8. package/dist/primitives/AvatarButton/AvatarButton.svelte.d.ts +18 -0
  9. package/dist/primitives/AvatarButton/AvatarButton.svelte.d.ts.map +1 -0
  10. package/dist/primitives/BottomSheet/BottomSheet.spec.js +19 -19
  11. package/dist/primitives/BottomSheet/BottomSheet.svelte +5 -5
  12. package/dist/primitives/BottomSheet/BottomSheet.svelte.d.ts +2 -2
  13. package/dist/primitives/BottomSheet/BottomSheet.svelte.d.ts.map +1 -1
  14. package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte +3 -3
  15. package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte.d.ts +1 -1
  16. package/dist/primitives/Button/Button.spec.js +16 -14
  17. package/dist/primitives/Button/Button.svelte +9 -45
  18. package/dist/primitives/Button/Button.svelte.d.ts.map +1 -1
  19. package/dist/primitives/CardAction/CardAction.svelte +68 -0
  20. package/dist/primitives/CardAction/CardAction.svelte.d.ts +20 -0
  21. package/dist/primitives/CardAction/CardAction.svelte.d.ts.map +1 -0
  22. package/dist/primitives/Drawer/Drawer.spec.js +33 -33
  23. package/dist/primitives/Drawer/Drawer.svelte +5 -9
  24. package/dist/primitives/Drawer/Drawer.svelte.d.ts +2 -3
  25. package/dist/primitives/Drawer/Drawer.svelte.d.ts.map +1 -1
  26. package/dist/primitives/Input/Input.svelte +1 -1
  27. package/dist/primitives/LandingButton/LandingButton.svelte +92 -0
  28. package/dist/primitives/LandingButton/LandingButton.svelte.d.ts +22 -0
  29. package/dist/primitives/LandingButton/LandingButton.svelte.d.ts.map +1 -0
  30. package/dist/primitives/MenuItem/MenuItem.svelte +85 -0
  31. package/dist/primitives/MenuItem/MenuItem.svelte.d.ts +24 -0
  32. package/dist/primitives/MenuItem/MenuItem.svelte.d.ts.map +1 -0
  33. package/dist/primitives/Modal/Modal.spec.js +7 -7
  34. package/dist/primitives/Modal/Modal.stories.svelte +3 -3
  35. package/dist/primitives/Modal/Modal.svelte +25 -18
  36. package/dist/primitives/Modal/Modal.svelte.d.ts +5 -5
  37. package/dist/primitives/Modal/Modal.svelte.d.ts.map +1 -1
  38. package/dist/primitives/Modal/ModalTestWrapper.svelte +3 -3
  39. package/dist/primitives/Modal/ModalTestWrapper.svelte.d.ts +2 -2
  40. package/dist/primitives/NavItem/NavItem.svelte +75 -0
  41. package/dist/primitives/NavItem/NavItem.svelte.d.ts +20 -0
  42. package/dist/primitives/NavItem/NavItem.svelte.d.ts.map +1 -0
  43. package/dist/primitives/SearchResultItem/SearchResultItem.svelte +109 -0
  44. package/dist/primitives/SearchResultItem/SearchResultItem.svelte.d.ts +26 -0
  45. package/dist/primitives/SearchResultItem/SearchResultItem.svelte.d.ts.map +1 -0
  46. package/dist/primitives/SidebarToggle/SidebarToggle.svelte +55 -0
  47. package/dist/primitives/SidebarToggle/SidebarToggle.svelte.d.ts +18 -0
  48. package/dist/primitives/SidebarToggle/SidebarToggle.svelte.d.ts.map +1 -0
  49. package/dist/primitives/index.d.ts +7 -0
  50. package/dist/primitives/index.js +21 -0
  51. package/dist/recipes/SuperLogin/SuperLogin.svelte +3 -3
  52. package/dist/recipes/SuperLogin/SuperLogin.svelte.d.ts.map +1 -1
  53. package/dist/recipes/inputs/index.d.ts +0 -1
  54. package/dist/recipes/inputs/index.js +0 -1
  55. package/dist/recipes/modals/AlertModal.spec.js +2 -2
  56. package/dist/recipes/modals/AlertModal.svelte +6 -6
  57. package/dist/recipes/modals/AlertModal.svelte.d.ts +3 -3
  58. package/dist/recipes/modals/ConfirmationModal.spec.js +2 -2
  59. package/dist/recipes/modals/ConfirmationModal.svelte +5 -5
  60. package/dist/recipes/modals/ConfirmationModal.svelte.d.ts +3 -3
  61. package/dist/recipes/modals/InputModal.spec.js +2 -2
  62. package/dist/recipes/modals/InputModal.svelte +4 -4
  63. package/dist/recipes/modals/InputModal.svelte.d.ts +3 -3
  64. package/dist/recipes/modals/ModalTestWrapper.spec.js +49 -49
  65. package/dist/recipes/modals/ModalTestWrapper.svelte +3 -3
  66. package/dist/recipes/modals/ModalTestWrapper.svelte.d.ts +2 -2
  67. package/dist/recipes/modals/StatusModal.spec.js +2 -2
  68. package/dist/recipes/modals/StatusModal.svelte +4 -4
  69. package/dist/recipes/modals/StatusModal.svelte.d.ts +3 -3
  70. package/dist/stories/ComponentConsolidation.stories.svelte +10 -10
  71. package/dist/stories/PrimitivesGallery.svelte +25 -21
  72. package/dist/stories/PrimitivesGallery.svelte.d.ts.map +1 -1
  73. package/dist/stories/RecipesGallery.spec.js +9 -18
  74. package/dist/stories/RecipesGallery.svelte +5 -22
  75. package/dist/stories/RecipesGallery.svelte.d.ts.map +1 -1
  76. package/dist/tokens/__tests__/sizing.test.js +5 -7
  77. package/dist/tokens/sizing.d.ts +20 -19
  78. package/dist/tokens/sizing.d.ts.map +1 -1
  79. package/dist/tokens/sizing.js +20 -19
  80. package/package.json +1 -1
  81. package/dist/recipes/inputs/SelectDropdown.spec.d.ts +0 -2
  82. package/dist/recipes/inputs/SelectDropdown.spec.d.ts.map +0 -1
  83. package/dist/recipes/inputs/SelectDropdown.spec.js +0 -518
  84. package/dist/recipes/inputs/SelectDropdown.svelte +0 -171
  85. package/dist/recipes/inputs/SelectDropdown.svelte.d.ts +0 -16
  86. package/dist/recipes/inputs/SelectDropdown.svelte.d.ts.map +0 -1
@@ -13,18 +13,18 @@ describe('ModalTestWrapper', () => {
13
13
 
14
14
  describe('Basic Rendering', () => {
15
15
  it('should not render when show is false', () => {
16
- render(ModalTestWrapper, { props: { show: false } });
16
+ render(ModalTestWrapper, { props: { open: false } });
17
17
  expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
18
18
  });
19
19
 
20
20
  it('should render when show is true', () => {
21
- render(ModalTestWrapper, { props: { show: true } });
21
+ render(ModalTestWrapper, { props: { open: true } });
22
22
  expect(screen.getByRole('dialog')).toBeInTheDocument();
23
23
  });
24
24
 
25
25
  it('should render modal without errors when no props provided', () => {
26
26
  expect(() => {
27
- render(ModalTestWrapper, { props: { show: true } });
27
+ render(ModalTestWrapper, { props: { open: true } });
28
28
  }).not.toThrow();
29
29
  expect(screen.getByRole('dialog')).toBeInTheDocument();
30
30
  });
@@ -35,7 +35,7 @@ describe('ModalTestWrapper', () => {
35
35
  expect(() => {
36
36
  render(ModalTestWrapper, {
37
37
  props: {
38
- show: true,
38
+ open: true,
39
39
  title: 'Test Modal Title'
40
40
  }
41
41
  });
@@ -46,7 +46,7 @@ describe('ModalTestWrapper', () => {
46
46
  expect(() => {
47
47
  render(ModalTestWrapper, {
48
48
  props: {
49
- show: true,
49
+ open: true,
50
50
  description: 'Test modal description'
51
51
  }
52
52
  });
@@ -57,7 +57,7 @@ describe('ModalTestWrapper', () => {
57
57
  expect(() => {
58
58
  render(ModalTestWrapper, {
59
59
  props: {
60
- show: true,
60
+ open: true,
61
61
  warningText: 'Warning message'
62
62
  }
63
63
  });
@@ -69,7 +69,7 @@ describe('ModalTestWrapper', () => {
69
69
  expect(() => {
70
70
  render(ModalTestWrapper, {
71
71
  props: {
72
- show: true,
72
+ open: true,
73
73
  oncancel
74
74
  }
75
75
  });
@@ -81,7 +81,7 @@ describe('ModalTestWrapper', () => {
81
81
  expect(() => {
82
82
  render(ModalTestWrapper, {
83
83
  props: {
84
- show: true,
84
+ open: true,
85
85
  title: 'Full Test',
86
86
  description: 'Full description',
87
87
  warningText: 'Full warning',
@@ -96,13 +96,13 @@ describe('ModalTestWrapper', () => {
96
96
  describe('Show Prop Binding', () => {
97
97
  it('should render when show is true and not render when false', () => {
98
98
  const { unmount: unmount1 } = render(ModalTestWrapper, {
99
- props: { show: true }
99
+ props: { open: true }
100
100
  });
101
101
  expect(screen.getByRole('dialog')).toBeInTheDocument();
102
102
  unmount1();
103
103
 
104
104
  render(ModalTestWrapper, {
105
- props: { show: false }
105
+ props: { open: false }
106
106
  });
107
107
  expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
108
108
  });
@@ -110,14 +110,14 @@ describe('ModalTestWrapper', () => {
110
110
  it('should support bindable show prop behavior', () => {
111
111
  // Test that show can be initially false
112
112
  const { unmount } = render(ModalTestWrapper, {
113
- props: { show: false }
113
+ props: { open: false }
114
114
  });
115
115
  expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
116
116
  unmount();
117
117
 
118
118
  // Test that show can be initially true
119
119
  render(ModalTestWrapper, {
120
- props: { show: true }
120
+ props: { open: true }
121
121
  });
122
122
  expect(screen.getByRole('dialog')).toBeInTheDocument();
123
123
  });
@@ -127,7 +127,7 @@ describe('ModalTestWrapper', () => {
127
127
  it('should not error when oncancel is not provided', () => {
128
128
  expect(() => {
129
129
  render(ModalTestWrapper, {
130
- props: { show: true }
130
+ props: { open: true }
131
131
  });
132
132
  }).not.toThrow();
133
133
  });
@@ -136,7 +136,7 @@ describe('ModalTestWrapper', () => {
136
136
  const oncancel = vi.fn();
137
137
  render(ModalTestWrapper, {
138
138
  props: {
139
- show: true,
139
+ open: true,
140
140
  oncancel
141
141
  }
142
142
  });
@@ -149,7 +149,7 @@ describe('ModalTestWrapper', () => {
149
149
  it('should update when title changes', () => {
150
150
  const { rerender } = render(ModalTestWrapper, {
151
151
  props: {
152
- show: true,
152
+ open: true,
153
153
  title: 'Original Title'
154
154
  }
155
155
  });
@@ -157,7 +157,7 @@ describe('ModalTestWrapper', () => {
157
157
  expect(screen.getByRole('dialog')).toBeInTheDocument();
158
158
 
159
159
  rerender({
160
- show: true,
160
+ open: true,
161
161
  title: 'Updated Title'
162
162
  });
163
163
 
@@ -167,7 +167,7 @@ describe('ModalTestWrapper', () => {
167
167
  it('should update when description changes', () => {
168
168
  const { rerender } = render(ModalTestWrapper, {
169
169
  props: {
170
- show: true,
170
+ open: true,
171
171
  description: 'Original Description'
172
172
  }
173
173
  });
@@ -175,7 +175,7 @@ describe('ModalTestWrapper', () => {
175
175
  expect(screen.getByRole('dialog')).toBeInTheDocument();
176
176
 
177
177
  rerender({
178
- show: true,
178
+ open: true,
179
179
  description: 'Updated Description'
180
180
  });
181
181
 
@@ -185,7 +185,7 @@ describe('ModalTestWrapper', () => {
185
185
  it('should update when warningText changes', () => {
186
186
  const { rerender } = render(ModalTestWrapper, {
187
187
  props: {
188
- show: true,
188
+ open: true,
189
189
  warningText: 'Original Warning'
190
190
  }
191
191
  });
@@ -193,7 +193,7 @@ describe('ModalTestWrapper', () => {
193
193
  expect(screen.getByRole('dialog')).toBeInTheDocument();
194
194
 
195
195
  rerender({
196
- show: true,
196
+ open: true,
197
197
  warningText: 'Updated Warning'
198
198
  });
199
199
 
@@ -203,7 +203,7 @@ describe('ModalTestWrapper', () => {
203
203
  it('should handle adding and removing warning text', () => {
204
204
  const { rerender } = render(ModalTestWrapper, {
205
205
  props: {
206
- show: true,
206
+ open: true,
207
207
  description: 'Main text'
208
208
  }
209
209
  });
@@ -211,7 +211,7 @@ describe('ModalTestWrapper', () => {
211
211
  expect(screen.getByRole('dialog')).toBeInTheDocument();
212
212
 
213
213
  rerender({
214
- show: true,
214
+ open: true,
215
215
  description: 'Main text',
216
216
  warningText: 'New warning'
217
217
  });
@@ -219,7 +219,7 @@ describe('ModalTestWrapper', () => {
219
219
  expect(screen.getByRole('dialog')).toBeInTheDocument();
220
220
 
221
221
  rerender({
222
- show: true,
222
+ open: true,
223
223
  description: 'Main text',
224
224
  warningText: ''
225
225
  });
@@ -233,7 +233,7 @@ describe('ModalTestWrapper', () => {
233
233
  expect(() => {
234
234
  render(ModalTestWrapper, {
235
235
  props: {
236
- show: true,
236
+ open: true,
237
237
  title: '',
238
238
  description: '',
239
239
  warningText: ''
@@ -247,7 +247,7 @@ describe('ModalTestWrapper', () => {
247
247
  expect(() => {
248
248
  render(ModalTestWrapper, {
249
249
  props: {
250
- show: true,
250
+ open: true,
251
251
  title: undefined,
252
252
  description: undefined,
253
253
  warningText: undefined
@@ -260,7 +260,7 @@ describe('ModalTestWrapper', () => {
260
260
  expect(() => {
261
261
  render(ModalTestWrapper, {
262
262
  props: {
263
- show: true,
263
+ open: true,
264
264
  oncancel: null
265
265
  }
266
266
  });
@@ -275,7 +275,7 @@ describe('ModalTestWrapper', () => {
275
275
  expect(() => {
276
276
  render(ModalTestWrapper, {
277
277
  props: {
278
- show: true,
278
+ open: true,
279
279
  title: longTitle,
280
280
  description: longDescription,
281
281
  warningText: longWarning
@@ -292,7 +292,7 @@ describe('ModalTestWrapper', () => {
292
292
  expect(() => {
293
293
  render(ModalTestWrapper, {
294
294
  props: {
295
- show: true,
295
+ open: true,
296
296
  title: specialTitle,
297
297
  description: specialDescription
298
298
  }
@@ -305,7 +305,7 @@ describe('ModalTestWrapper', () => {
305
305
  expect(() => {
306
306
  render(ModalTestWrapper, {
307
307
  props: {
308
- show: true,
308
+ open: true,
309
309
  title: '🎉 Success! 你好',
310
310
  description: 'Test with émojis and spëcial çharacters',
311
311
  warningText: '⚠️ Warning'
@@ -319,7 +319,7 @@ describe('ModalTestWrapper', () => {
319
319
  describe('TypeScript Interface Compliance', () => {
320
320
  it('should accept all defined Props', () => {
321
321
  const validProps = {
322
- show: true,
322
+ open: true,
323
323
  title: 'Test',
324
324
  description: 'Description',
325
325
  warningText: 'Warning',
@@ -339,7 +339,7 @@ describe('ModalTestWrapper', () => {
339
339
 
340
340
  it('should work with only show prop', () => {
341
341
  expect(() => {
342
- render(ModalTestWrapper, { props: { show: true } });
342
+ render(ModalTestWrapper, { props: { open: true } });
343
343
  }).not.toThrow();
344
344
  });
345
345
  });
@@ -347,17 +347,17 @@ describe('ModalTestWrapper', () => {
347
347
  describe('Integration with Modal Primitive', () => {
348
348
  it('should pass show prop to underlying Modal', () => {
349
349
  const { rerender } = render(ModalTestWrapper, {
350
- props: { show: false }
350
+ props: { open: false }
351
351
  });
352
352
 
353
353
  expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
354
354
 
355
- rerender({ show: true });
355
+ rerender({ open: true });
356
356
  expect(screen.getByRole('dialog')).toBeInTheDocument();
357
357
  });
358
358
 
359
359
  it('should render Modal with correct role', () => {
360
- render(ModalTestWrapper, { props: { show: true } });
360
+ render(ModalTestWrapper, { props: { open: true } });
361
361
  const dialog = screen.getByRole('dialog');
362
362
  expect(dialog).toBeInTheDocument();
363
363
  expect(dialog).toHaveAttribute('aria-modal', 'true');
@@ -368,7 +368,7 @@ describe('ModalTestWrapper', () => {
368
368
 
369
369
  render(ModalTestWrapper, {
370
370
  props: {
371
- show: true,
371
+ open: true,
372
372
  oncancel
373
373
  }
374
374
  });
@@ -380,12 +380,12 @@ describe('ModalTestWrapper', () => {
380
380
 
381
381
  describe('Accessibility', () => {
382
382
  it('should render with proper dialog role', () => {
383
- render(ModalTestWrapper, { props: { show: true } });
383
+ render(ModalTestWrapper, { props: { open: true } });
384
384
  expect(screen.getByRole('dialog')).toBeInTheDocument();
385
385
  });
386
386
 
387
387
  it('should have aria-modal attribute', () => {
388
- render(ModalTestWrapper, { props: { show: true } });
388
+ render(ModalTestWrapper, { props: { open: true } });
389
389
  const dialog = screen.getByRole('dialog');
390
390
  expect(dialog).toHaveAttribute('aria-modal', 'true');
391
391
  });
@@ -394,12 +394,12 @@ describe('ModalTestWrapper', () => {
394
394
  describe('Component Lifecycle', () => {
395
395
  it('should mount without errors', () => {
396
396
  expect(() => {
397
- render(ModalTestWrapper, { props: { show: true } });
397
+ render(ModalTestWrapper, { props: { open: true } });
398
398
  }).not.toThrow();
399
399
  });
400
400
 
401
401
  it('should unmount without errors', () => {
402
- const { unmount } = render(ModalTestWrapper, { props: { show: true } });
402
+ const { unmount } = render(ModalTestWrapper, { props: { open: true } });
403
403
  expect(() => {
404
404
  unmount();
405
405
  }).not.toThrow();
@@ -407,7 +407,7 @@ describe('ModalTestWrapper', () => {
407
407
 
408
408
  it('should handle multiple mounts and unmounts', () => {
409
409
  for (let i = 0; i < 3; i++) {
410
- const { unmount } = render(ModalTestWrapper, { props: { show: true } });
410
+ const { unmount } = render(ModalTestWrapper, { props: { open: true } });
411
411
  expect(screen.getByRole('dialog')).toBeInTheDocument();
412
412
  unmount();
413
413
  }
@@ -417,19 +417,19 @@ describe('ModalTestWrapper', () => {
417
417
  describe('Reactive Behavior', () => {
418
418
  it('should react to show prop changes', () => {
419
419
  const { rerender } = render(ModalTestWrapper, {
420
- props: { show: false }
420
+ props: { open: false }
421
421
  });
422
422
 
423
423
  expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
424
424
 
425
- rerender({ show: true });
425
+ rerender({ open: true });
426
426
  expect(screen.getByRole('dialog')).toBeInTheDocument();
427
427
  });
428
428
 
429
429
  it('should maintain modal state during prop updates', () => {
430
430
  const { rerender } = render(ModalTestWrapper, {
431
431
  props: {
432
- show: true,
432
+ open: true,
433
433
  title: 'Original'
434
434
  }
435
435
  });
@@ -437,7 +437,7 @@ describe('ModalTestWrapper', () => {
437
437
  expect(screen.getByRole('dialog')).toBeInTheDocument();
438
438
 
439
439
  rerender({
440
- show: true,
440
+ open: true,
441
441
  title: 'Updated',
442
442
  description: 'New description'
443
443
  });
@@ -451,7 +451,7 @@ describe('ModalTestWrapper', () => {
451
451
 
452
452
  const { rerender } = render(ModalTestWrapper, {
453
453
  props: {
454
- show: true,
454
+ open: true,
455
455
  oncancel: oncancel1
456
456
  }
457
457
  });
@@ -459,7 +459,7 @@ describe('ModalTestWrapper', () => {
459
459
  expect(screen.getByRole('dialog')).toBeInTheDocument();
460
460
 
461
461
  rerender({
462
- show: true,
462
+ open: true,
463
463
  oncancel: oncancel2
464
464
  });
465
465
 
@@ -471,7 +471,7 @@ describe('ModalTestWrapper', () => {
471
471
  it('should handle presence of description without warning', () => {
472
472
  render(ModalTestWrapper, {
473
473
  props: {
474
- show: true,
474
+ open: true,
475
475
  description: 'Main text only'
476
476
  }
477
477
  });
@@ -481,7 +481,7 @@ describe('ModalTestWrapper', () => {
481
481
  it('should handle warning without description', () => {
482
482
  render(ModalTestWrapper, {
483
483
  props: {
484
- show: true,
484
+ open: true,
485
485
  warningText: 'Warning only'
486
486
  }
487
487
  });
@@ -491,7 +491,7 @@ describe('ModalTestWrapper', () => {
491
491
  it('should handle both description and warning', () => {
492
492
  render(ModalTestWrapper, {
493
493
  props: {
494
- show: true,
494
+ open: true,
495
495
  description: 'Main text',
496
496
  warningText: 'Warning text'
497
497
  }
@@ -5,7 +5,7 @@
5
5
 
6
6
  interface Props {
7
7
  /** Whether the modal is visible */
8
- show?: boolean;
8
+ open?: boolean;
9
9
  /** Modal title */
10
10
  title?: string;
11
11
  /** Modal description */
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  let {
26
- show = $bindable(false),
26
+ open = $bindable(false),
27
27
  title = '',
28
28
  description = '',
29
29
  warningText = '',
@@ -62,4 +62,4 @@
62
62
  {/if}
63
63
  {/snippet}
64
64
 
65
- <Modal bind:show {oncancel} header={headerContent} body={bodyContent} footer={footerContent} />
65
+ <Modal bind:open {oncancel} header={headerContent} body={bodyContent} footer={footerContent} />
@@ -1,7 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  /** Whether the modal is visible */
4
- show?: boolean;
4
+ open?: boolean;
5
5
  /** Modal title */
6
6
  title?: string;
7
7
  /** Modal description */
@@ -17,7 +17,7 @@ interface Props {
17
17
  /** Footer content */
18
18
  footer?: Snippet;
19
19
  }
20
- declare const ModalTestWrapper: import("svelte").Component<Props, {}, "show">;
20
+ declare const ModalTestWrapper: import("svelte").Component<Props, {}, "open">;
21
21
  type ModalTestWrapper = ReturnType<typeof ModalTestWrapper>;
22
22
  export default ModalTestWrapper;
23
23
  //# sourceMappingURL=ModalTestWrapper.svelte.d.ts.map
@@ -7,7 +7,7 @@ function setupTest(args = {}) {
7
7
  const user = userEvent.setup();
8
8
  const { component } = render(StatusModal, {
9
9
  props: {
10
- show: true,
10
+ open: true,
11
11
  title: "Test Status",
12
12
  description: "This is a test description",
13
13
  ...args,
@@ -27,7 +27,7 @@ describe("StatusModal Component Tests", () => {
27
27
 
28
28
  describe("Basic Rendering", () => {
29
29
  test("Does not render when show is false", () => {
30
- render(StatusModal, { props: { show: false } });
30
+ render(StatusModal, { props: { open: false } });
31
31
  expect(screen.queryByText("Test Status")).not.toBeInTheDocument();
32
32
  });
33
33
 
@@ -6,8 +6,8 @@
6
6
  import { typography } from '../../tokens/typography';
7
7
 
8
8
  let {
9
- show = $bindable(false),
10
- size = "small",
9
+ open = $bindable(false),
10
+ size = "sm",
11
11
  title = "",
12
12
  subtitle = "",
13
13
  description = "",
@@ -45,7 +45,7 @@
45
45
  };
46
46
 
47
47
  const closeModal = () => {
48
- show = false;
48
+ open = false;
49
49
  onclose?.();
50
50
  };
51
51
 
@@ -111,7 +111,7 @@
111
111
  let buttonVariant = $derived(getButtonVariant(effectiveVariant));
112
112
  </script>
113
113
 
114
- <Modal bind:show {size} oncancel={handleClose} {...restProps}>
114
+ <Modal bind:open {size} oncancel={handleClose} {...restProps}>
115
115
  {#snippet header()}
116
116
  <div class="text-center">
117
117
  {#if closeBtn}
@@ -4,7 +4,7 @@ type StatusModal = {
4
4
  $set?(props: Partial<$$ComponentProps>): void;
5
5
  };
6
6
  declare const StatusModal: import("svelte").Component<{
7
- show?: boolean;
7
+ open?: boolean;
8
8
  size?: string;
9
9
  title?: string;
10
10
  subtitle?: string;
@@ -20,9 +20,9 @@ declare const StatusModal: import("svelte").Component<{
20
20
  closeBtn?: boolean;
21
21
  onconfirm: any;
22
22
  onclose: any;
23
- } & Record<string, any>, {}, "show">;
23
+ } & Record<string, any>, {}, "open">;
24
24
  type $$ComponentProps = {
25
- show?: boolean;
25
+ open?: boolean;
26
26
  size?: string;
27
27
  title?: string;
28
28
  subtitle?: string;
@@ -326,13 +326,13 @@ grep -r "&lt;button" /Users/peet/repos/performers-portal/src --include="*.svelte
326
326
  </div>
327
327
  </div>
328
328
 
329
- <div class="mt-4 p-3 bg-blue-50 dark:bg-blue-900/20 rounded text-sm">
330
- <strong class="text-blue-700 dark:text-blue-400">New Button variants added:</strong>
331
- <ul class="mt-2 list-disc list-inside text-blue-600 dark:text-blue-400 space-y-1">
332
- <li><code class="bg-gray-200 dark:bg-gray-700 px-1 rounded">variant="avatar"</code> - Avatar/image trigger buttons (opacity hover)</li>
333
- <li><code class="bg-gray-200 dark:bg-gray-700 px-1 rounded">variant="menu-item"</code> - Dropdown menu items (full width, left-aligned)</li>
334
- <li><code class="bg-gray-200 dark:bg-gray-700 px-1 rounded">variant="menu-item-danger"</code> - Destructive menu items (red text)</li>
335
- <li><code class="bg-gray-200 dark:bg-gray-700 px-1 rounded">variant="card"</code> - Selectable card buttons (bordered)</li>
329
+ <div class="mt-4 p-3 bg-green-50 dark:bg-green-900/20 rounded text-sm">
330
+ <strong class="text-green-700 dark:text-green-400">Extracted to dedicated components:</strong>
331
+ <ul class="mt-2 list-disc list-inside text-green-600 dark:text-green-400 space-y-1">
332
+ <li><code class="bg-gray-200 dark:bg-gray-700 px-1 rounded">&lt;AvatarButton&gt;</code> - Avatar/image trigger buttons (opacity hover)</li>
333
+ <li><code class="bg-gray-200 dark:bg-gray-700 px-1 rounded">&lt;MenuItem&gt;</code> - Dropdown menu items (full width, left-aligned)</li>
334
+ <li><code class="bg-gray-200 dark:bg-gray-700 px-1 rounded">&lt;MenuItem danger&gt;</code> - Destructive menu items (red text)</li>
335
+ <li><code class="bg-gray-200 dark:bg-gray-700 px-1 rounded">&lt;CardAction&gt;</code> - Selectable card buttons (bordered)</li>
336
336
  </ul>
337
337
  </div>
338
338
  </div>
@@ -505,7 +505,7 @@ grep -r "&lt;button" /Users/peet/repos/performers-portal/src --include="*.svelte
505
505
  </h2>
506
506
  <p class="text-sm text-green-700 dark:text-green-400">
507
507
  No raw <code class="bg-green-100 dark:bg-green-800 px-1 rounded">&lt;select&gt;</code> elements found outside of primitives.
508
- All select functionality uses custom dropdown components (MultiSelect, SelectDropdown).
508
+ All select functionality uses the MultiSelect custom dropdown component.
509
509
  </p>
510
510
  </div>
511
511
 
@@ -1161,8 +1161,8 @@ grep -r "from '\$lib/components/Button" /Users/peet/repos/micdrop-frontend/src -
1161
1161
  <br/><span class="text-blue-500 dark:text-blue-500 ml-4">→ Are these all necessary, or can some be variants of one component?</span>
1162
1162
  </li>
1163
1163
  <li>
1164
- <strong>Select vs SelectDropdown vs MultiSelect</strong>
1165
- <br/><span class="text-blue-500 dark:text-blue-500 ml-4">→ Should these share more code?</span>
1164
+ <strong>Select vs MultiSelect</strong>
1165
+ <br/><span class="text-blue-500 dark:text-blue-500 ml-4">→ Should these share more code? (SelectDropdown removed)</span>
1166
1166
  </li>
1167
1167
  <li>
1168
1168
  <strong>Input vs OTPInput vs PlaceAutocomplete</strong>
@@ -25,6 +25,10 @@
25
25
 
26
26
  // Button
27
27
  import Button from '../primitives/Button/Button.svelte';
28
+ import MenuItem from '../primitives/MenuItem/MenuItem.svelte';
29
+ import AvatarButton from '../primitives/AvatarButton/AvatarButton.svelte';
30
+ import CardAction from '../primitives/CardAction/CardAction.svelte';
31
+ import NavItem from '../primitives/NavItem/NavItem.svelte';
28
32
 
29
33
  // Card
30
34
  import Card from '../primitives/Card.svelte';
@@ -162,51 +166,51 @@
162
166
  </div>
163
167
 
164
168
  <div>
165
- <p class="text-xs {isDark ? 'text-gray-500' : 'text-gray-400'} mb-2">Nav Variant (Mobile Navigation)</p>
169
+ <p class="text-xs {isDark ? 'text-gray-500' : 'text-gray-400'} mb-2">NavItem (Mobile Navigation)</p>
166
170
  <div class="flex gap-6 items-end bg-gray-100 dark:bg-gray-800 p-4 rounded-lg">
167
- <Button variant="nav">
171
+ <NavItem>
168
172
  <Home class="w-5 h-5" />
169
173
  <span>Home</span>
170
- </Button>
171
- <Button variant="nav" active={true}>
174
+ </NavItem>
175
+ <NavItem active={true}>
172
176
  <Notification class="w-5 h-5" />
173
177
  <span>Events</span>
174
- </Button>
175
- <Button variant="nav">
178
+ </NavItem>
179
+ <NavItem>
176
180
  <Profile class="w-5 h-5" />
177
181
  <span>Profile</span>
178
- </Button>
182
+ </NavItem>
179
183
  </div>
180
184
  </div>
181
185
 
182
186
  <div>
183
- <p class="text-xs {isDark ? 'text-gray-500' : 'text-gray-400'} mb-2">Avatar, Menu & Card Variants</p>
187
+ <p class="text-xs {isDark ? 'text-gray-500' : 'text-gray-400'} mb-2">Avatar, Menu & Card Components</p>
184
188
  <div class="flex gap-6 items-start">
185
189
  <div class="flex flex-col items-center gap-2">
186
- <Button variant="avatar">
190
+ <AvatarButton>
187
191
  <Avatar src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 150'%3E%3Crect width='150' height='150' fill='%238b5cf6'/%3E%3Ccircle cx='75' cy='55' r='30' fill='%23fff'/%3E%3Cellipse cx='75' cy='130' rx='45' ry='35' fill='%23fff'/%3E%3C/svg%3E" rounded size="md" />
188
- </Button>
189
- <span class="text-xs text-gray-500">Avatar trigger</span>
192
+ </AvatarButton>
193
+ <span class="text-xs text-gray-500">AvatarButton</span>
190
194
  </div>
191
195
  <div class="w-56 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg overflow-hidden">
192
- <Button variant="menu-item">Settings</Button>
193
- <Button variant="menu-item">Profile</Button>
196
+ <MenuItem>Settings</MenuItem>
197
+ <MenuItem>Profile</MenuItem>
194
198
  <div class="h-px bg-gray-200 dark:bg-gray-700"></div>
195
- <Button variant="menu-item-danger">Sign out</Button>
199
+ <MenuItem danger>Sign out</MenuItem>
196
200
  </div>
197
201
  <div class="w-64 space-y-2">
198
- <Button variant="card">
202
+ <CardAction>
199
203
  <span class="flex flex-col">
200
204
  <span class="font-medium">Select this option</span>
201
205
  <span class="text-sm text-gray-500">Description text here</span>
202
206
  </span>
203
- </Button>
204
- <Button variant="card">
207
+ </CardAction>
208
+ <CardAction>
205
209
  <span class="flex flex-col">
206
210
  <span class="font-medium">Another option</span>
207
211
  <span class="text-sm text-gray-500">More description</span>
208
212
  </span>
209
- </Button>
213
+ </CardAction>
210
214
  </div>
211
215
  </div>
212
216
  </div>
@@ -703,7 +707,7 @@
703
707
  </section>
704
708
 
705
709
  <!-- Modal -->
706
- <Modal bind:show={showModal}>
710
+ <Modal bind:open={showModal}>
707
711
  {#snippet header()}
708
712
  <h3 class="text-lg font-semibold">Example Modal</h3>
709
713
  {/snippet}
@@ -717,7 +721,7 @@
717
721
  </Modal>
718
722
 
719
723
  <!-- Drawer -->
720
- <Drawer bind:show={showDrawer} placement="right">
724
+ <Drawer bind:open={showDrawer} placement="right">
721
725
  <div class="p-6">
722
726
  <h3 class="text-lg font-semibold mb-4">Drawer Content</h3>
723
727
  <p class="text-gray-600">This drawer slides in from the right.</p>
@@ -726,7 +730,7 @@
726
730
  </Drawer>
727
731
 
728
732
  <!-- BottomSheet -->
729
- <BottomSheet show={showBottomSheet} onclose={() => showBottomSheet = false}>
733
+ <BottomSheet open={showBottomSheet} onclose={() => showBottomSheet = false}>
730
734
  <div class="p-6">
731
735
  <h3 class="text-lg font-semibold mb-4">Bottom Sheet</h3>
732
736
  <p class="text-gray-600">This sheet slides up from the bottom on mobile.</p>
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitivesGallery.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/stories/PrimitivesGallery.svelte.ts"],"names":[],"mappings":"AAuxBA,QAAA,MAAM,iBAAiB,2DAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"PrimitivesGallery.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/stories/PrimitivesGallery.svelte.ts"],"names":[],"mappings":"AA+xBA,QAAA,MAAM,iBAAiB,2DAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}