@brightspot/ui 1.9.0 → 1.10.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 (107) hide show
  1. package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts.map +1 -1
  2. package/dist/components/copy-to-clipboard/CopyToClipboard.js +4 -0
  3. package/dist/components/copy-to-clipboard/CopyToClipboard.js.map +1 -1
  4. package/dist/components/switch/Switch.d.ts +92 -0
  5. package/dist/components/switch/Switch.d.ts.map +1 -0
  6. package/dist/components/switch/Switch.js +189 -0
  7. package/dist/components/switch/Switch.js.map +1 -0
  8. package/dist/custom-elements.json +512 -210
  9. package/dist/effects/celebrate.d.ts +18 -0
  10. package/dist/effects/celebrate.d.ts.map +1 -0
  11. package/dist/effects/celebrate.js +81 -0
  12. package/dist/effects/celebrate.js.map +1 -0
  13. package/dist/effects/ripple.d.ts +31 -0
  14. package/dist/effects/ripple.d.ts.map +1 -0
  15. package/dist/effects/ripple.js +131 -0
  16. package/dist/effects/ripple.js.map +1 -0
  17. package/dist/effects/sparkle-worklet.d.ts +7 -0
  18. package/dist/effects/sparkle-worklet.d.ts.map +1 -0
  19. package/dist/effects/sparkle-worklet.js +211 -0
  20. package/dist/effects/sparkle-worklet.js.map +1 -0
  21. package/dist/effects/sparkle.d.ts +6 -0
  22. package/dist/effects/sparkle.d.ts.map +1 -0
  23. package/dist/effects/sparkle.js +91 -0
  24. package/dist/effects/sparkle.js.map +1 -0
  25. package/dist/storybook/BSPLogoMark.svg +3 -0
  26. package/dist/storybook/WelcomeBG.svg +292 -0
  27. package/dist/storybook/assets/{Avatar.stories-Du1qM73U.js → Avatar.stories-B26mRkkZ.js} +1 -1
  28. package/dist/storybook/assets/{AvatarGroup.stories-DxwZQE-q.js → AvatarGroup.stories-J7lVGsMY.js} +1 -1
  29. package/dist/storybook/assets/{Badge.stories-CfvkMIx2.js → Badge.stories-BpTIV61M.js} +1 -1
  30. package/dist/storybook/assets/Button-Dg-fIrzT.js +10 -0
  31. package/dist/storybook/assets/Button.stories-gPKRVbxk.js +54 -0
  32. package/dist/storybook/assets/Celebrate.stories-DbY-sKEe.js +184 -0
  33. package/dist/storybook/assets/{CircularProgress.stories-rPzKwQYD.js → CircularProgress.stories-DeH5JYX_.js} +1 -1
  34. package/dist/storybook/assets/{ClipboardMixin.stories-BlUeYDSi.js → ClipboardMixin.stories-C-lZ4uuw.js} +1 -1
  35. package/dist/storybook/assets/Color-6BZIO3FS-Cu6zVIuG.js +1 -0
  36. package/dist/storybook/assets/{Colors.stories-BspfjZ5q.js → Colors.stories-D6XYMrTD.js} +1 -1
  37. package/dist/storybook/assets/CombinedEffects.stories-jFekKTYg.js +355 -0
  38. package/dist/storybook/assets/{ComponentStatesMixin-eTV7XXqB.js → ComponentStatesMixin-g50hRCPT.js} +1 -1
  39. package/dist/storybook/assets/{ComponentStatesMixin.stories-BbLSY3df.js → ComponentStatesMixin.stories-D3Q5pR38.js} +1 -1
  40. package/dist/storybook/assets/{CopyToClipboard.stories-B2ailiFF.js → CopyToClipboard.stories-COZZ1VC2.js} +1 -1
  41. package/dist/storybook/assets/{Debounce.stories-DJmp4eNo.js → Debounce.stories-Dl10LAnx.js} +1 -1
  42. package/dist/storybook/assets/DocsRenderer-LL677BLK-CFLtMbUx.js +10 -0
  43. package/dist/storybook/assets/{Dropdown.stories-Dd6vKiDd.js → Dropdown.stories-Drwq-0Z2.js} +1 -1
  44. package/dist/storybook/assets/{Events.stories-Byj-VOM9.js → Events.stories-dODeR-g-.js} +1 -1
  45. package/dist/storybook/assets/{Heading.stories-Dqw-wzpx.js → Heading.stories-CH7_-_q3.js} +1 -1
  46. package/dist/storybook/assets/HueRipple.stories-CH1Y739k.js +310 -0
  47. package/dist/storybook/assets/{Icon.stories-Bp1nvWER.js → Icon.stories-CPjM-jTU.js} +1 -1
  48. package/dist/storybook/assets/{IconButton.stories-o9g9mGdh.js → IconButton.stories-DuzqvcnN.js} +1 -1
  49. package/dist/storybook/assets/{LinearProgress.stories-DnXQVpzX.js → LinearProgress.stories-C7IdnJd3.js} +1 -1
  50. package/dist/storybook/assets/{Pagination.stories-DQD8uvDc.js → Pagination.stories-C4cLjS_9.js} +1 -1
  51. package/dist/storybook/assets/{Popover.stories-BvavsRfq.js → Popover.stories-Ca1F-wrI.js} +3 -11
  52. package/dist/storybook/assets/{ReadyMixin-6On1MFFr.js → ReadyMixin-DNZ5dCsZ.js} +1 -1
  53. package/dist/storybook/assets/{Rtc.stories-Bb5Y-908.js → Rtc.stories-BVJc1vCA.js} +1 -1
  54. package/dist/storybook/assets/{ScrollShadow.stories-ZovRXpte.js → ScrollShadow.stories-C3W5o9ZW.js} +1 -1
  55. package/dist/storybook/assets/Switch.stories-BEEHP8mD.js +312 -0
  56. package/dist/storybook/assets/{Throttle.stories-DmP-yKke.js → Throttle.stories-C4xsYeAb.js} +1 -1
  57. package/dist/storybook/assets/{Tooltip.stories-Dl6xHBaM.js → Tooltip.stories-Ccm4AnSv.js} +3 -7
  58. package/dist/storybook/assets/Welcome.stories-Degjk-M0.js +215 -0
  59. package/dist/storybook/assets/{Widget.stories-BjXfgNjZ.js → Widget.stories-OKnZ9sDs.js} +1 -1
  60. package/dist/storybook/assets/WithTooltip-65CFNBJE-CXL3TyJ2.js +9 -0
  61. package/dist/storybook/assets/blocks-DLdUKG_W.js +707 -0
  62. package/dist/storybook/assets/celebrate-KwPoF1K3.js +21 -0
  63. package/dist/storybook/assets/formatter-EIJCOSYU-29NCxjfM.js +1 -0
  64. package/dist/storybook/assets/if-defined-BZFPaJjl.js +1 -0
  65. package/dist/storybook/assets/iframe-BqvwP3or.js +1104 -0
  66. package/dist/storybook/assets/{iframe-CNxIA3cQ.css → iframe-C5bIZMJ5.css} +1 -1
  67. package/dist/storybook/assets/index-BIyTv1BF.js +1 -0
  68. package/dist/storybook/assets/onFind-1l3EPW-I.js +1 -0
  69. package/dist/storybook/assets/{onFind.stories-B2GYLrjV.js → onFind.stories-D64-QZqf.js} +2 -2
  70. package/dist/storybook/assets/{onRemove.stories-CoLJFkWa.js → onRemove.stories-BICsnIJL.js} +1 -1
  71. package/dist/storybook/assets/{onVisible.stories-DOeZx7wi.js → onVisible.stories-DpDZP9_5.js} +2 -2
  72. package/dist/storybook/assets/position-CFNQy3J6.js +1 -0
  73. package/dist/storybook/assets/ripple-DQbyyRUw.js +251 -0
  74. package/dist/storybook/assets/{style-map-CmHqpCu1.js → style-map-CBrSnxRe.js} +1 -1
  75. package/dist/storybook/assets/syntaxhighlighter-ED5Y7EFY-Bz_DuQj8.js +6 -0
  76. package/dist/storybook/brightspot-logo.svg +19 -0
  77. package/dist/storybook/iframe.html +23 -3
  78. package/dist/storybook/index.html +42 -1
  79. package/dist/storybook/index.json +1 -1
  80. package/dist/storybook/project.json +1 -1
  81. package/dist/storybook/sb-addons/storybook-3/manager-bundle.js +3 -0
  82. package/dist/tailwind-plugin-switch.d.ts +2 -0
  83. package/dist/tailwind-plugin-switch.d.ts.map +1 -0
  84. package/dist/tailwind-plugin-switch.js +223 -0
  85. package/dist/tailwind-plugin-switch.js.map +1 -0
  86. package/dist/tailwind-plugin-switch.ts +252 -0
  87. package/dist/util/EventEmitterMixin.d.ts +5 -0
  88. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  89. package/dist/util/EventEmitterMixin.js.map +1 -1
  90. package/dist/util/position.d.ts +9 -0
  91. package/dist/util/position.d.ts.map +1 -0
  92. package/dist/util/position.js +11 -0
  93. package/dist/util/position.js.map +1 -0
  94. package/docs/components/README.md +1 -0
  95. package/docs/components/Switch.md +79 -0
  96. package/package.json +2 -1
  97. package/dist/storybook/assets/Button.stories-hDMDDh81.js +0 -63
  98. package/dist/storybook/assets/Color-6BZIO3FS-C_nQSB2u.js +0 -1
  99. package/dist/storybook/assets/DocsRenderer-LL677BLK-56Pige1J.js +0 -758
  100. package/dist/storybook/assets/WithTooltip-65CFNBJE-CGB5q-AN.js +0 -9
  101. package/dist/storybook/assets/_commonjsHelpers-CqkleIqs.js +0 -1
  102. package/dist/storybook/assets/formatter-EIJCOSYU-BhNtSFM9.js +0 -1
  103. package/dist/storybook/assets/if-defined-BFyUeSVF.js +0 -1
  104. package/dist/storybook/assets/iframe-BeKreX-l.js +0 -1061
  105. package/dist/storybook/assets/index-Uz2kGy8J.js +0 -1
  106. package/dist/storybook/assets/onFind-DqriYjEB.js +0 -1
  107. package/dist/storybook/assets/syntaxhighlighter-ED5Y7EFY-BqFfcc7x.js +0 -6
@@ -295,45 +295,67 @@
295
295
  },
296
296
  {
297
297
  "kind": "javascript-module",
298
- "path": "src/components/circular-progress/CircularProgress.ts",
298
+ "path": "src/components/badge/Badge.ts",
299
299
  "declarations": [
300
300
  {
301
301
  "kind": "class",
302
- "description": "A circular progress indicator for showing loading states or progress.",
303
- "name": "CircularProgress",
302
+ "description": "A badge component for highlighting important information.\n\nBadges help highlight notifications, status, or new messages.\nPrimarily used for communicating secondary or additional information.",
303
+ "name": "Badge",
304
304
  "cssProperties": [
305
305
  {
306
- "description": "Custom progress indicator color (overrides theme color)",
307
- "name": "--progress-color"
306
+ "description": "Text color (overrides theme color)",
307
+ "name": "--badge-color-foreground"
308
308
  },
309
309
  {
310
- "description": "Track/background color (overrides default gray-100)",
311
- "name": "--track-color"
310
+ "description": "Background color (overrides theme color)",
311
+ "name": "--badge-color-background"
312
312
  },
313
313
  {
314
- "description": "Custom size in pixels (overrides size preset)",
315
- "name": "--progress-size"
314
+ "description": "Border radius size (overrides shape default, default: 999px)",
315
+ "name": "--badge-radius-size"
316
+ },
317
+ {
318
+ "description": "Horizontal padding (overrides size default)",
319
+ "name": "--badge-px"
320
+ },
321
+ {
322
+ "description": "Vertical padding (overrides size default)",
323
+ "name": "--badge-py"
324
+ },
325
+ {
326
+ "description": "Size of the dot affordance (default: 6px)",
327
+ "name": "--badge-dot-size"
316
328
  }
317
329
  ],
318
330
  "members": [
319
331
  {
320
332
  "kind": "field",
321
- "name": "indeterminate",
333
+ "name": "variant",
334
+ "type": {
335
+ "text": "'info' | 'primary' | 'error' | 'success' | 'warning'"
336
+ },
337
+ "default": "'info'",
338
+ "description": "Style of the badge.\n- 'info': Informational (default)\n- 'primary': Primary action or emphasis\n- 'error': Error or danger state\n- 'success': Success or completion state\n- 'warning': Warning or caution state",
339
+ "attribute": "variant"
340
+ },
341
+ {
342
+ "kind": "field",
343
+ "name": "dot",
322
344
  "type": {
323
345
  "text": "boolean"
324
346
  },
325
- "default": "true",
326
- "description": "Whether the progress indicator is indeterminate (animated spinner).\nWhen false, shows determinate progress based on the progress value.",
327
- "attribute": "indeterminate"
347
+ "default": "false",
348
+ "description": "Should a dot be displayed before the label?",
349
+ "attribute": "dot"
328
350
  },
329
351
  {
330
352
  "kind": "field",
331
353
  "name": "size",
332
354
  "type": {
333
- "text": "'sm' | 'md' | 'lg'"
355
+ "text": "string"
334
356
  },
335
357
  "default": "'sm'",
336
- "description": "Size variant.\n- 'sm': Small (16px) - default\n- 'md': Medium (32px)\n- 'lg': Large (48px)",
358
+ "description": "Size variant.\n- 'sm': Small (default)\n- 'md': Medium\n- 'lg': Large",
337
359
  "attribute": "size"
338
360
  }
339
361
  ],
@@ -343,43 +365,42 @@
343
365
  "text": "CustomEvent"
344
366
  },
345
367
  "description": "Fired after first render and initialization",
346
- "name": "btu-progress-ready"
347
- },
348
- {
349
- "type": {
350
- "text": "CustomEvent"
351
- },
352
- "description": "Fired when determinate progress reaches 100",
353
- "name": "btu-progress-complete"
368
+ "name": "btu-badge-ready"
354
369
  }
355
370
  ],
356
371
  "attributes": [
357
372
  {
358
- "name": "indeterminate",
373
+ "name": "variant",
374
+ "type": {
375
+ "text": "'info' | 'primary' | 'error' | 'success' | 'warning'"
376
+ },
377
+ "default": "'info'",
378
+ "description": "Style of the badge.\n- 'info': Informational (default)\n- 'primary': Primary action or emphasis\n- 'error': Error or danger state\n- 'success': Success or completion state\n- 'warning': Warning or caution state",
379
+ "fieldName": "variant",
380
+ "attribute": "variant"
381
+ },
382
+ {
383
+ "name": "dot",
359
384
  "type": {
360
385
  "text": "boolean"
361
386
  },
362
- "default": "true",
363
- "description": "Whether the progress indicator is indeterminate (animated spinner).\nWhen false, shows determinate progress based on the progress value.",
364
- "fieldName": "indeterminate",
365
- "attribute": "indeterminate"
387
+ "default": "false",
388
+ "description": "Should a dot be displayed before the label?",
389
+ "fieldName": "dot",
390
+ "attribute": "dot"
366
391
  },
367
392
  {
368
393
  "name": "size",
369
394
  "type": {
370
- "text": "'sm' | 'md' | 'lg'"
395
+ "text": "string"
371
396
  },
372
397
  "default": "'sm'",
373
- "description": "Size variant.\n- 'sm': Small (16px) - default\n- 'md': Medium (32px)\n- 'lg': Large (48px)",
398
+ "description": "Size variant.\n- 'sm': Small (default)\n- 'md': Medium\n- 'lg': Large",
374
399
  "fieldName": "size",
375
400
  "attribute": "size"
376
401
  }
377
402
  ],
378
403
  "mixins": [
379
- {
380
- "name": "ProgressMixin",
381
- "module": "/src/util/ProgressMixin.js"
382
- },
383
404
  {
384
405
  "name": "EventEmitterMixin",
385
406
  "module": "/src/util/EventEmitterMixin.js"
@@ -393,7 +414,7 @@
393
414
  "name": "LitElement",
394
415
  "package": "lit"
395
416
  },
396
- "tagName": "btu-circular-progress",
417
+ "tagName": "btu-badge",
397
418
  "customElement": true
398
419
  }
399
420
  ],
@@ -402,83 +423,61 @@
402
423
  "kind": "js",
403
424
  "name": "default",
404
425
  "declaration": {
405
- "name": "CircularProgress",
406
- "module": "src/components/circular-progress/CircularProgress.ts"
426
+ "name": "Badge",
427
+ "module": "src/components/badge/Badge.ts"
407
428
  }
408
429
  },
409
430
  {
410
431
  "kind": "custom-element-definition",
411
- "name": "btu-circular-progress",
432
+ "name": "btu-badge",
412
433
  "declaration": {
413
- "name": "CircularProgress",
414
- "module": "src/components/circular-progress/CircularProgress.ts"
434
+ "name": "Badge",
435
+ "module": "src/components/badge/Badge.ts"
415
436
  }
416
437
  }
417
438
  ]
418
439
  },
419
440
  {
420
441
  "kind": "javascript-module",
421
- "path": "src/components/badge/Badge.ts",
442
+ "path": "src/components/circular-progress/CircularProgress.ts",
422
443
  "declarations": [
423
444
  {
424
445
  "kind": "class",
425
- "description": "A badge component for highlighting important information.\n\nBadges help highlight notifications, status, or new messages.\nPrimarily used for communicating secondary or additional information.",
426
- "name": "Badge",
446
+ "description": "A circular progress indicator for showing loading states or progress.",
447
+ "name": "CircularProgress",
427
448
  "cssProperties": [
428
449
  {
429
- "description": "Text color (overrides theme color)",
430
- "name": "--badge-color-foreground"
431
- },
432
- {
433
- "description": "Background color (overrides theme color)",
434
- "name": "--badge-color-background"
435
- },
436
- {
437
- "description": "Border radius size (overrides shape default, default: 999px)",
438
- "name": "--badge-radius-size"
439
- },
440
- {
441
- "description": "Horizontal padding (overrides size default)",
442
- "name": "--badge-px"
450
+ "description": "Custom progress indicator color (overrides theme color)",
451
+ "name": "--progress-color"
443
452
  },
444
453
  {
445
- "description": "Vertical padding (overrides size default)",
446
- "name": "--badge-py"
454
+ "description": "Track/background color (overrides default gray-100)",
455
+ "name": "--track-color"
447
456
  },
448
457
  {
449
- "description": "Size of the dot affordance (default: 6px)",
450
- "name": "--badge-dot-size"
458
+ "description": "Custom size in pixels (overrides size preset)",
459
+ "name": "--progress-size"
451
460
  }
452
461
  ],
453
462
  "members": [
454
463
  {
455
464
  "kind": "field",
456
- "name": "variant",
457
- "type": {
458
- "text": "'info' | 'primary' | 'error' | 'success' | 'warning'"
459
- },
460
- "default": "'info'",
461
- "description": "Style of the badge.\n- 'info': Informational (default)\n- 'primary': Primary action or emphasis\n- 'error': Error or danger state\n- 'success': Success or completion state\n- 'warning': Warning or caution state",
462
- "attribute": "variant"
463
- },
464
- {
465
- "kind": "field",
466
- "name": "dot",
465
+ "name": "indeterminate",
467
466
  "type": {
468
467
  "text": "boolean"
469
468
  },
470
- "default": "false",
471
- "description": "Should a dot be displayed before the label?",
472
- "attribute": "dot"
469
+ "default": "true",
470
+ "description": "Whether the progress indicator is indeterminate (animated spinner).\nWhen false, shows determinate progress based on the progress value.",
471
+ "attribute": "indeterminate"
473
472
  },
474
473
  {
475
474
  "kind": "field",
476
475
  "name": "size",
477
476
  "type": {
478
- "text": "string"
477
+ "text": "'sm' | 'md' | 'lg'"
479
478
  },
480
479
  "default": "'sm'",
481
- "description": "Size variant.\n- 'sm': Small (default)\n- 'md': Medium\n- 'lg': Large",
480
+ "description": "Size variant.\n- 'sm': Small (16px) - default\n- 'md': Medium (32px)\n- 'lg': Large (48px)",
482
481
  "attribute": "size"
483
482
  }
484
483
  ],
@@ -488,42 +487,43 @@
488
487
  "text": "CustomEvent"
489
488
  },
490
489
  "description": "Fired after first render and initialization",
491
- "name": "btu-badge-ready"
492
- }
493
- ],
494
- "attributes": [
490
+ "name": "btu-progress-ready"
491
+ },
495
492
  {
496
- "name": "variant",
497
493
  "type": {
498
- "text": "'info' | 'primary' | 'error' | 'success' | 'warning'"
494
+ "text": "CustomEvent"
499
495
  },
500
- "default": "'info'",
501
- "description": "Style of the badge.\n- 'info': Informational (default)\n- 'primary': Primary action or emphasis\n- 'error': Error or danger state\n- 'success': Success or completion state\n- 'warning': Warning or caution state",
502
- "fieldName": "variant",
503
- "attribute": "variant"
504
- },
496
+ "description": "Fired when determinate progress reaches 100",
497
+ "name": "btu-progress-complete"
498
+ }
499
+ ],
500
+ "attributes": [
505
501
  {
506
- "name": "dot",
502
+ "name": "indeterminate",
507
503
  "type": {
508
504
  "text": "boolean"
509
505
  },
510
- "default": "false",
511
- "description": "Should a dot be displayed before the label?",
512
- "fieldName": "dot",
513
- "attribute": "dot"
506
+ "default": "true",
507
+ "description": "Whether the progress indicator is indeterminate (animated spinner).\nWhen false, shows determinate progress based on the progress value.",
508
+ "fieldName": "indeterminate",
509
+ "attribute": "indeterminate"
514
510
  },
515
511
  {
516
512
  "name": "size",
517
513
  "type": {
518
- "text": "string"
514
+ "text": "'sm' | 'md' | 'lg'"
519
515
  },
520
516
  "default": "'sm'",
521
- "description": "Size variant.\n- 'sm': Small (default)\n- 'md': Medium\n- 'lg': Large",
517
+ "description": "Size variant.\n- 'sm': Small (16px) - default\n- 'md': Medium (32px)\n- 'lg': Large (48px)",
522
518
  "fieldName": "size",
523
519
  "attribute": "size"
524
520
  }
525
521
  ],
526
522
  "mixins": [
523
+ {
524
+ "name": "ProgressMixin",
525
+ "module": "/src/util/ProgressMixin.js"
526
+ },
527
527
  {
528
528
  "name": "EventEmitterMixin",
529
529
  "module": "/src/util/EventEmitterMixin.js"
@@ -537,7 +537,7 @@
537
537
  "name": "LitElement",
538
538
  "package": "lit"
539
539
  },
540
- "tagName": "btu-badge",
540
+ "tagName": "btu-circular-progress",
541
541
  "customElement": true
542
542
  }
543
543
  ],
@@ -546,16 +546,16 @@
546
546
  "kind": "js",
547
547
  "name": "default",
548
548
  "declaration": {
549
- "name": "Badge",
550
- "module": "src/components/badge/Badge.ts"
549
+ "name": "CircularProgress",
550
+ "module": "src/components/circular-progress/CircularProgress.ts"
551
551
  }
552
552
  },
553
553
  {
554
554
  "kind": "custom-element-definition",
555
- "name": "btu-badge",
555
+ "name": "btu-circular-progress",
556
556
  "declaration": {
557
- "name": "Badge",
558
- "module": "src/components/badge/Badge.ts"
557
+ "name": "CircularProgress",
558
+ "module": "src/components/circular-progress/CircularProgress.ts"
559
559
  }
560
560
  }
561
561
  ]
@@ -1812,53 +1812,129 @@
1812
1812
  },
1813
1813
  {
1814
1814
  "kind": "javascript-module",
1815
- "path": "src/components/icon-button/IconButton.ts",
1815
+ "path": "src/components/linear-progress/LinearProgress.ts",
1816
1816
  "declarations": [
1817
1817
  {
1818
1818
  "kind": "class",
1819
- "description": "Surfaces the different actions someone can perform in an interface where space is limited.\n\nUses an icon to communicate the action and supports multiple visual types and sizes.\nTooltip support is built-in for accessibility in compact layouts.",
1820
- "name": "IconButton",
1821
- "members": [
1819
+ "description": "A horizontal linear progress bar for showing task completion.",
1820
+ "name": "LinearProgress",
1821
+ "cssProperties": [
1822
1822
  {
1823
- "kind": "field",
1824
- "name": "name",
1825
- "type": {
1826
- "text": "string | undefined"
1827
- },
1828
- "description": "Optional name for the button which can be used to identify the button in a callback.",
1829
- "attribute": "name"
1823
+ "description": "Custom progress bar color (overrides theme color)",
1824
+ "name": "--progress-color"
1830
1825
  },
1831
1826
  {
1832
- "kind": "field",
1833
- "name": "type",
1834
- "type": {
1835
- "text": "IconButtonType"
1836
- },
1837
- "default": "'primary'",
1838
- "description": "Specifies the type of icon-button, controlling the visual style.",
1839
- "attribute": "type"
1840
- },
1827
+ "description": "Track/background color (overrides default gray-100)",
1828
+ "name": "--track-color"
1829
+ }
1830
+ ],
1831
+ "members": [],
1832
+ "events": [
1841
1833
  {
1842
- "kind": "field",
1843
- "name": "iconSymbol",
1844
1834
  "type": {
1845
- "text": "string | undefined"
1835
+ "text": "CustomEvent"
1846
1836
  },
1847
- "description": "Lucide icon name.",
1848
- "attribute": "icon-symbol"
1837
+ "description": "Fired after first render and initialization",
1838
+ "name": "btu-progress-ready"
1849
1839
  },
1850
1840
  {
1851
- "kind": "field",
1852
- "name": "size",
1853
1841
  "type": {
1854
- "text": "IconButtonSize"
1842
+ "text": "CustomEvent"
1855
1843
  },
1856
- "default": "'medium'",
1857
- "description": "Specifies the size of icon-button.",
1858
- "attribute": "size"
1859
- },
1844
+ "description": "Fired when progress reaches 100",
1845
+ "name": "btu-progress-complete"
1846
+ }
1847
+ ],
1848
+ "mixins": [
1860
1849
  {
1861
- "kind": "field",
1850
+ "name": "ProgressMixin",
1851
+ "module": "/src/util/ProgressMixin.js"
1852
+ },
1853
+ {
1854
+ "name": "EventEmitterMixin",
1855
+ "module": "/src/util/EventEmitterMixin.js"
1856
+ },
1857
+ {
1858
+ "name": "ReadyMixin",
1859
+ "module": "/src/util/ReadyMixin.js"
1860
+ }
1861
+ ],
1862
+ "superclass": {
1863
+ "name": "LitElement",
1864
+ "package": "lit"
1865
+ },
1866
+ "tagName": "btu-linear-progress",
1867
+ "customElement": true
1868
+ }
1869
+ ],
1870
+ "exports": [
1871
+ {
1872
+ "kind": "js",
1873
+ "name": "default",
1874
+ "declaration": {
1875
+ "name": "LinearProgress",
1876
+ "module": "src/components/linear-progress/LinearProgress.ts"
1877
+ }
1878
+ },
1879
+ {
1880
+ "kind": "custom-element-definition",
1881
+ "name": "btu-linear-progress",
1882
+ "declaration": {
1883
+ "name": "LinearProgress",
1884
+ "module": "src/components/linear-progress/LinearProgress.ts"
1885
+ }
1886
+ }
1887
+ ]
1888
+ },
1889
+ {
1890
+ "kind": "javascript-module",
1891
+ "path": "src/components/icon-button/IconButton.ts",
1892
+ "declarations": [
1893
+ {
1894
+ "kind": "class",
1895
+ "description": "Surfaces the different actions someone can perform in an interface where space is limited.\n\nUses an icon to communicate the action and supports multiple visual types and sizes.\nTooltip support is built-in for accessibility in compact layouts.",
1896
+ "name": "IconButton",
1897
+ "members": [
1898
+ {
1899
+ "kind": "field",
1900
+ "name": "name",
1901
+ "type": {
1902
+ "text": "string | undefined"
1903
+ },
1904
+ "description": "Optional name for the button which can be used to identify the button in a callback.",
1905
+ "attribute": "name"
1906
+ },
1907
+ {
1908
+ "kind": "field",
1909
+ "name": "type",
1910
+ "type": {
1911
+ "text": "IconButtonType"
1912
+ },
1913
+ "default": "'primary'",
1914
+ "description": "Specifies the type of icon-button, controlling the visual style.",
1915
+ "attribute": "type"
1916
+ },
1917
+ {
1918
+ "kind": "field",
1919
+ "name": "iconSymbol",
1920
+ "type": {
1921
+ "text": "string | undefined"
1922
+ },
1923
+ "description": "Lucide icon name.",
1924
+ "attribute": "icon-symbol"
1925
+ },
1926
+ {
1927
+ "kind": "field",
1928
+ "name": "size",
1929
+ "type": {
1930
+ "text": "IconButtonSize"
1931
+ },
1932
+ "default": "'medium'",
1933
+ "description": "Specifies the size of icon-button.",
1934
+ "attribute": "size"
1935
+ },
1936
+ {
1937
+ "kind": "field",
1862
1938
  "name": "destructive",
1863
1939
  "type": {
1864
1940
  "text": "boolean"
@@ -2025,82 +2101,6 @@
2025
2101
  }
2026
2102
  ]
2027
2103
  },
2028
- {
2029
- "kind": "javascript-module",
2030
- "path": "src/components/linear-progress/LinearProgress.ts",
2031
- "declarations": [
2032
- {
2033
- "kind": "class",
2034
- "description": "A horizontal linear progress bar for showing task completion.",
2035
- "name": "LinearProgress",
2036
- "cssProperties": [
2037
- {
2038
- "description": "Custom progress bar color (overrides theme color)",
2039
- "name": "--progress-color"
2040
- },
2041
- {
2042
- "description": "Track/background color (overrides default gray-100)",
2043
- "name": "--track-color"
2044
- }
2045
- ],
2046
- "members": [],
2047
- "events": [
2048
- {
2049
- "type": {
2050
- "text": "CustomEvent"
2051
- },
2052
- "description": "Fired after first render and initialization",
2053
- "name": "btu-progress-ready"
2054
- },
2055
- {
2056
- "type": {
2057
- "text": "CustomEvent"
2058
- },
2059
- "description": "Fired when progress reaches 100",
2060
- "name": "btu-progress-complete"
2061
- }
2062
- ],
2063
- "mixins": [
2064
- {
2065
- "name": "ProgressMixin",
2066
- "module": "/src/util/ProgressMixin.js"
2067
- },
2068
- {
2069
- "name": "EventEmitterMixin",
2070
- "module": "/src/util/EventEmitterMixin.js"
2071
- },
2072
- {
2073
- "name": "ReadyMixin",
2074
- "module": "/src/util/ReadyMixin.js"
2075
- }
2076
- ],
2077
- "superclass": {
2078
- "name": "LitElement",
2079
- "package": "lit"
2080
- },
2081
- "tagName": "btu-linear-progress",
2082
- "customElement": true
2083
- }
2084
- ],
2085
- "exports": [
2086
- {
2087
- "kind": "js",
2088
- "name": "default",
2089
- "declaration": {
2090
- "name": "LinearProgress",
2091
- "module": "src/components/linear-progress/LinearProgress.ts"
2092
- }
2093
- },
2094
- {
2095
- "kind": "custom-element-definition",
2096
- "name": "btu-linear-progress",
2097
- "declaration": {
2098
- "name": "LinearProgress",
2099
- "module": "src/components/linear-progress/LinearProgress.ts"
2100
- }
2101
- }
2102
- ]
2103
- },
2104
2104
  {
2105
2105
  "kind": "javascript-module",
2106
2106
  "path": "src/components/pagination/Pagination.ts",
@@ -2825,6 +2825,308 @@
2825
2825
  }
2826
2826
  ]
2827
2827
  },
2828
+ {
2829
+ "kind": "javascript-module",
2830
+ "path": "src/components/switch/Switch.ts",
2831
+ "declarations": [
2832
+ {
2833
+ "kind": "class",
2834
+ "description": "A toggle switch component for binary on/off states.\n\nUses a hidden checkbox internally for accessibility, styled via the\n`btu-switch` Tailwind plugin classes.",
2835
+ "name": "Switch",
2836
+ "cssProperties": [
2837
+ {
2838
+ "description": "Background color when the toggle is checked (default: var(--btu-theme-primary-700))",
2839
+ "name": "--switch-color-track-on"
2840
+ },
2841
+ {
2842
+ "description": "Background color when the toggle is unchecked (default: var(--btu-theme-gray-300))",
2843
+ "name": "--switch-color-track-off"
2844
+ },
2845
+ {
2846
+ "description": "Color of the sliding circular handle (default: var(--btu-theme-white))",
2847
+ "name": "--switch-color-knob"
2848
+ },
2849
+ {
2850
+ "description": "Distance between the switch and the text label (default: 0.75rem)",
2851
+ "name": "--switch-label-spacing"
2852
+ },
2853
+ {
2854
+ "description": "Size of the track icons (default: sm 0.5rem, md 0.625rem, lg 0.75rem)",
2855
+ "name": "--switch-track-icon-size"
2856
+ }
2857
+ ],
2858
+ "members": [
2859
+ {
2860
+ "kind": "field",
2861
+ "name": "size",
2862
+ "type": {
2863
+ "text": "'small' | 'medium' | 'large'"
2864
+ },
2865
+ "default": "'small'",
2866
+ "description": "Controls the physical dimensions of the switch and the associated label typography.",
2867
+ "attribute": "size"
2868
+ },
2869
+ {
2870
+ "kind": "field",
2871
+ "name": "label",
2872
+ "type": {
2873
+ "text": "string | undefined"
2874
+ },
2875
+ "description": "The primary text displayed next to the toggle.",
2876
+ "attribute": "label"
2877
+ },
2878
+ {
2879
+ "kind": "field",
2880
+ "name": "description",
2881
+ "type": {
2882
+ "text": "string | undefined"
2883
+ },
2884
+ "description": "Optional helper text or secondary information displayed below the label.",
2885
+ "attribute": "description"
2886
+ },
2887
+ {
2888
+ "kind": "field",
2889
+ "name": "checked",
2890
+ "type": {
2891
+ "text": "boolean"
2892
+ },
2893
+ "default": "false",
2894
+ "description": "The current state of the switch (on/off).",
2895
+ "attribute": "checked"
2896
+ },
2897
+ {
2898
+ "kind": "field",
2899
+ "name": "disabled",
2900
+ "type": {
2901
+ "text": "boolean"
2902
+ },
2903
+ "default": "false",
2904
+ "description": "If true, the toggle is non-interactive and visually muted.",
2905
+ "attribute": "disabled"
2906
+ },
2907
+ {
2908
+ "kind": "field",
2909
+ "name": "name",
2910
+ "type": {
2911
+ "text": "string | undefined"
2912
+ },
2913
+ "description": "Name of the control for form participation.",
2914
+ "attribute": "name"
2915
+ },
2916
+ {
2917
+ "kind": "field",
2918
+ "name": "labelPosition",
2919
+ "type": {
2920
+ "text": "'start' | 'end'"
2921
+ },
2922
+ "default": "'end'",
2923
+ "description": "Determines if the label appears to the left or right of the switch.",
2924
+ "attribute": "label-position"
2925
+ },
2926
+ {
2927
+ "kind": "field",
2928
+ "name": "onIcon",
2929
+ "type": {
2930
+ "text": "string | undefined"
2931
+ },
2932
+ "description": "Lucide icon name shown on the track when the switch is checked (on).",
2933
+ "attribute": "on-icon"
2934
+ },
2935
+ {
2936
+ "kind": "field",
2937
+ "name": "offIcon",
2938
+ "type": {
2939
+ "text": "string | undefined"
2940
+ },
2941
+ "description": "Lucide icon name shown on the track when the switch is unchecked (off).",
2942
+ "attribute": "off-icon"
2943
+ },
2944
+ {
2945
+ "kind": "method",
2946
+ "name": "_onInputChange",
2947
+ "privacy": "private",
2948
+ "return": {
2949
+ "type": {
2950
+ "text": "void"
2951
+ }
2952
+ },
2953
+ "parameters": [
2954
+ {
2955
+ "name": "e",
2956
+ "type": {
2957
+ "text": "Event"
2958
+ }
2959
+ }
2960
+ ]
2961
+ },
2962
+ {
2963
+ "kind": "method",
2964
+ "name": "_onFocus",
2965
+ "privacy": "private",
2966
+ "return": {
2967
+ "type": {
2968
+ "text": "void"
2969
+ }
2970
+ }
2971
+ },
2972
+ {
2973
+ "kind": "method",
2974
+ "name": "_toggleInput",
2975
+ "privacy": "private",
2976
+ "return": {
2977
+ "type": {
2978
+ "text": "void"
2979
+ }
2980
+ }
2981
+ }
2982
+ ],
2983
+ "events": [
2984
+ {
2985
+ "type": {
2986
+ "text": "CustomEvent"
2987
+ },
2988
+ "description": "Fired after the toggle is first rendered and initialized",
2989
+ "name": "btu-switch-ready"
2990
+ },
2991
+ {
2992
+ "type": {
2993
+ "text": "CustomEvent<{ checked: boolean }>"
2994
+ },
2995
+ "description": "Fired when the user toggles the switch",
2996
+ "name": "btu-switch-change"
2997
+ },
2998
+ {
2999
+ "type": {
3000
+ "text": "CustomEvent"
3001
+ },
3002
+ "description": "Fired when the component gains focus",
3003
+ "name": "btu-switch-focus"
3004
+ }
3005
+ ],
3006
+ "attributes": [
3007
+ {
3008
+ "name": "size",
3009
+ "type": {
3010
+ "text": "'small' | 'medium' | 'large'"
3011
+ },
3012
+ "default": "'small'",
3013
+ "description": "Controls the physical dimensions of the switch and the associated label typography.",
3014
+ "fieldName": "size",
3015
+ "attribute": "size"
3016
+ },
3017
+ {
3018
+ "name": "label",
3019
+ "type": {
3020
+ "text": "string | undefined"
3021
+ },
3022
+ "description": "The primary text displayed next to the toggle.",
3023
+ "fieldName": "label",
3024
+ "attribute": "label"
3025
+ },
3026
+ {
3027
+ "name": "description",
3028
+ "type": {
3029
+ "text": "string | undefined"
3030
+ },
3031
+ "description": "Optional helper text or secondary information displayed below the label.",
3032
+ "fieldName": "description",
3033
+ "attribute": "description"
3034
+ },
3035
+ {
3036
+ "name": "checked",
3037
+ "type": {
3038
+ "text": "boolean"
3039
+ },
3040
+ "default": "false",
3041
+ "description": "The current state of the switch (on/off).",
3042
+ "fieldName": "checked",
3043
+ "attribute": "checked"
3044
+ },
3045
+ {
3046
+ "name": "disabled",
3047
+ "type": {
3048
+ "text": "boolean"
3049
+ },
3050
+ "default": "false",
3051
+ "description": "If true, the toggle is non-interactive and visually muted.",
3052
+ "fieldName": "disabled",
3053
+ "attribute": "disabled"
3054
+ },
3055
+ {
3056
+ "name": "name",
3057
+ "type": {
3058
+ "text": "string | undefined"
3059
+ },
3060
+ "description": "Name of the control for form participation.",
3061
+ "fieldName": "name",
3062
+ "attribute": "name"
3063
+ },
3064
+ {
3065
+ "name": "label-position",
3066
+ "type": {
3067
+ "text": "'start' | 'end'"
3068
+ },
3069
+ "default": "'end'",
3070
+ "description": "Determines if the label appears to the left or right of the switch.",
3071
+ "fieldName": "labelPosition",
3072
+ "attribute": "label-position"
3073
+ },
3074
+ {
3075
+ "name": "on-icon",
3076
+ "type": {
3077
+ "text": "string | undefined"
3078
+ },
3079
+ "description": "Lucide icon name shown on the track when the switch is checked (on).",
3080
+ "fieldName": "onIcon",
3081
+ "attribute": "on-icon"
3082
+ },
3083
+ {
3084
+ "name": "off-icon",
3085
+ "type": {
3086
+ "text": "string | undefined"
3087
+ },
3088
+ "description": "Lucide icon name shown on the track when the switch is unchecked (off).",
3089
+ "fieldName": "offIcon",
3090
+ "attribute": "off-icon"
3091
+ }
3092
+ ],
3093
+ "mixins": [
3094
+ {
3095
+ "name": "EventEmitterMixin",
3096
+ "module": "/src/util/EventEmitterMixin.js"
3097
+ },
3098
+ {
3099
+ "name": "ReadyMixin",
3100
+ "module": "/src/util/ReadyMixin.js"
3101
+ }
3102
+ ],
3103
+ "superclass": {
3104
+ "name": "LitElement",
3105
+ "package": "lit"
3106
+ },
3107
+ "tagName": "btu-switch",
3108
+ "customElement": true
3109
+ }
3110
+ ],
3111
+ "exports": [
3112
+ {
3113
+ "kind": "js",
3114
+ "name": "default",
3115
+ "declaration": {
3116
+ "name": "Switch",
3117
+ "module": "src/components/switch/Switch.ts"
3118
+ }
3119
+ },
3120
+ {
3121
+ "kind": "custom-element-definition",
3122
+ "name": "btu-switch",
3123
+ "declaration": {
3124
+ "name": "Switch",
3125
+ "module": "src/components/switch/Switch.ts"
3126
+ }
3127
+ }
3128
+ ]
3129
+ },
2828
3130
  {
2829
3131
  "kind": "javascript-module",
2830
3132
  "path": "src/components/widget/Widget.ts",