sp-component 0.0.2 → 0.0.3

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 (114) hide show
  1. package/dist/components/accordion/sp-accordion-item.css.js +1 -1
  2. package/dist/components/accordion/sp-accordion.css.js +1 -1
  3. package/dist/components/alert/sp-alert.css.js +1 -1
  4. package/dist/components/autocomplete/sp-autocomplete.css.js +1 -1
  5. package/dist/components/autocomplete/sp-autocomplete.template.d.ts.map +1 -1
  6. package/dist/components/autocomplete/sp-autocomplete.template.js +14 -13
  7. package/dist/components/avatar/sp-avatar.css.js +1 -1
  8. package/dist/components/badge/sp-badge.css.js +1 -1
  9. package/dist/components/badge/sp-badge.d.ts +2 -0
  10. package/dist/components/badge/sp-badge.d.ts.map +1 -1
  11. package/dist/components/badge/sp-badge.js +34 -31
  12. package/dist/components/breadcrumb/sp-breadcrumb-item.css.js +1 -1
  13. package/dist/components/breadcrumb/sp-breadcrumb.css.js +1 -1
  14. package/dist/components/button/sp-button.css.js +1 -1
  15. package/dist/components/calendar/sp-calendar-date-picker.css.js +1 -1
  16. package/dist/components/calendar/sp-calendar.css.js +1 -1
  17. package/dist/components/calendar/sp-calendar.d.ts +1 -0
  18. package/dist/components/calendar/sp-calendar.d.ts.map +1 -1
  19. package/dist/components/calendar/sp-calendar.js +29 -29
  20. package/dist/components/card/sp-card.css.js +1 -1
  21. package/dist/components/card/sp-card.template.d.ts.map +1 -1
  22. package/dist/components/card/sp-card.template.js +25 -16
  23. package/dist/components/carousel/sp-carousel-slide.css.js +2 -2
  24. package/dist/components/carousel/sp-carousel.css.js +1 -1
  25. package/dist/components/checkbox/sp-checkbox.css.js +1 -1
  26. package/dist/components/checkbox-group/sp-checkbox-group.css.js +1 -1
  27. package/dist/components/color-picker/sp-color-picker.css.js +1 -1
  28. package/dist/components/color-picker/sp-color-picker.template.d.ts.map +1 -1
  29. package/dist/components/color-picker/sp-color-picker.template.js +15 -14
  30. package/dist/components/combobox/sp-combobox.css.js +1 -1
  31. package/dist/components/combobox/sp-combobox.d.ts.map +1 -1
  32. package/dist/components/combobox/sp-combobox.js +26 -20
  33. package/dist/components/command-palette/sp-command-palette.css.js +1 -1
  34. package/dist/components/confirm-dialog/sp-confirm-dialog.css.js +1 -1
  35. package/dist/components/copy-button/sp-copy-button.css.js +1 -1
  36. package/dist/components/divider/sp-divider.css.js +1 -1
  37. package/dist/components/drawer/sp-drawer.css.js +1 -1
  38. package/dist/components/drawer/sp-drawer.d.ts +4 -0
  39. package/dist/components/drawer/sp-drawer.d.ts.map +1 -1
  40. package/dist/components/drawer/sp-drawer.js +78 -69
  41. package/dist/components/empty-state/sp-empty-state.css.js +1 -1
  42. package/dist/components/file-upload/sp-file-upload.css.js +1 -1
  43. package/dist/components/form-field/sp-form-field.css.js +1 -1
  44. package/dist/components/gallery/sp-gallery.css.js +1 -1
  45. package/dist/components/icon/sp-icon.css.js +2 -2
  46. package/dist/components/input/sp-input.css.js +1 -1
  47. package/dist/components/kbd/sp-kbd.css.js +1 -1
  48. package/dist/components/menu/sp-menu-item.css.js +1 -1
  49. package/dist/components/menu/sp-menu.css.js +1 -1
  50. package/dist/components/menu/sp-menu.d.ts +1 -0
  51. package/dist/components/menu/sp-menu.d.ts.map +1 -1
  52. package/dist/components/menu/sp-menu.js +33 -33
  53. package/dist/components/modal/sp-modal.css.js +1 -1
  54. package/dist/components/modal/sp-modal.d.ts +2 -0
  55. package/dist/components/modal/sp-modal.d.ts.map +1 -1
  56. package/dist/components/modal/sp-modal.js +60 -51
  57. package/dist/components/navbar/sp-navbar.css.js +2 -2
  58. package/dist/components/number-input/sp-number-input.css.js +1 -1
  59. package/dist/components/number-input/sp-number-input.d.ts.map +1 -1
  60. package/dist/components/number-input/sp-number-input.js +55 -52
  61. package/dist/components/otp-input/sp-otp-input.css.js +1 -1
  62. package/dist/components/pagination/sp-pagination.css.js +1 -1
  63. package/dist/components/popover/sp-popover.css.js +1 -1
  64. package/dist/components/progress-bar/sp-progress-bar.css.js +1 -1
  65. package/dist/components/radio/sp-radio-group.css.js +1 -1
  66. package/dist/components/radio/sp-radio.css.js +1 -1
  67. package/dist/components/radio/sp-radio.d.ts +1 -0
  68. package/dist/components/radio/sp-radio.d.ts.map +1 -1
  69. package/dist/components/radio/sp-radio.js +19 -16
  70. package/dist/components/rating/sp-rating.css.js +2 -2
  71. package/dist/components/scroll-area/sp-scroll-area.css.js +1 -1
  72. package/dist/components/scroll-area/sp-scroll-area.d.ts +1 -0
  73. package/dist/components/scroll-area/sp-scroll-area.d.ts.map +1 -1
  74. package/dist/components/scroll-area/sp-scroll-area.js +43 -44
  75. package/dist/components/select/sp-select.css.js +1 -1
  76. package/dist/components/sidebar/sp-sidebar.css.js +1 -1
  77. package/dist/components/skeleton/sp-skeleton.css.js +1 -1
  78. package/dist/components/slider/sp-slider.css.js +1 -1
  79. package/dist/components/spinner/sp-spinner.css.js +1 -1
  80. package/dist/components/split-panel/sp-split-panel.css.js +1 -1
  81. package/dist/components/stat/sp-stat.css.js +1 -1
  82. package/dist/components/stepper/sp-stepper.css.js +1 -1
  83. package/dist/components/switch/sp-switch.css.js +1 -1
  84. package/dist/components/table/sp-table.css.js +1 -1
  85. package/dist/components/table/sp-table.d.ts +80 -17
  86. package/dist/components/table/sp-table.d.ts.map +1 -1
  87. package/dist/components/table/sp-table.js +237 -82
  88. package/dist/components/table/sp-table.template.d.ts.map +1 -1
  89. package/dist/components/table/sp-table.template.js +337 -67
  90. package/dist/components/table/sp-table.types.d.ts +22 -0
  91. package/dist/components/table/sp-table.types.d.ts.map +1 -1
  92. package/dist/components/tabs/sp-tab.css.js +2 -2
  93. package/dist/components/tabs/sp-tabs.css.js +1 -1
  94. package/dist/components/tag/sp-tag.css.js +1 -1
  95. package/dist/components/tag-input/sp-tag-input.css.js +2 -2
  96. package/dist/components/textarea/sp-textarea.css.js +1 -1
  97. package/dist/components/time-picker/sp-time-picker.css.js +1 -1
  98. package/dist/components/timeline/sp-timeline.css.js +1 -1
  99. package/dist/components/toast/sp-toast.css.js +1 -1
  100. package/dist/components/toast/sp-toast.d.ts +1 -0
  101. package/dist/components/toast/sp-toast.d.ts.map +1 -1
  102. package/dist/components/toast/sp-toast.js +32 -33
  103. package/dist/components/toast-stack/sp-toast-stack.css.js +1 -1
  104. package/dist/components/tooltip/sp-tooltip.css.js +2 -2
  105. package/dist/components/tree/sp-tree-item.css.js +1 -1
  106. package/dist/components/tree/sp-tree.css.js +2 -2
  107. package/dist/components/visually-hidden/sp-visually-hidden.css.js +2 -2
  108. package/dist/config.d.ts +28 -0
  109. package/dist/config.d.ts.map +1 -0
  110. package/dist/config.js +44 -0
  111. package/dist/index.d.ts +2 -0
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js +2 -0
  114. package/package.json +13 -9
@@ -1,4 +1,4 @@
1
- const o = ":host{display:block}.sp-accordion-item{border-bottom:1px solid var(--sp-border-subtle, #e5e7eb)}.sp-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px;background:none;border:none;cursor:pointer;text-align:left;font-size:14px;font-weight:500;color:var(--sp-text, #111827);transition:background .15s;gap:8px}.sp-accordion-trigger:hover:not(:disabled){background:var(--sp-bg-subtle, #f9fafb)}.sp-accordion-trigger:disabled{opacity:.5;cursor:not-allowed}.sp-accordion-label{flex:1}.sp-accordion-icon{flex-shrink:0;color:var(--sp-text-muted, #6b7280);font-size:10px;transition:transform .2s}.sp-accordion-content{overflow:hidden;max-height:0;transition:max-height .3s ease}:host([open]) .sp-accordion-content{max-height:2000px}.sp-accordion-body{padding:0 16px 16px;font-size:14px;color:var(--sp-text-muted, #6b7280);line-height:1.6}.sp-accordion-trigger:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px;border-radius:4px}@media(max-width:479px){.sp-accordion-trigger{padding:12px;font-size:13px}.sp-accordion-body{padding:0 12px 12px}}@media(prefers-reduced-motion:reduce){.sp-accordion-trigger,.sp-accordion-icon,.sp-accordion-content{transition:none}}";
1
+ const o = "*,*:before,*:after{box-sizing:border-box}:host{display:block}.sp-accordion-item{border-bottom:1px solid var(--sp-border-subtle, #e5e7eb)}.sp-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px;background:none;border:none;cursor:pointer;text-align:left;font-size:14px;font-weight:500;color:var(--sp-text, #111827);transition:background .15s;gap:8px}.sp-accordion-trigger:hover:not(:disabled){background:var(--sp-bg-subtle, #f9fafb)}.sp-accordion-trigger:disabled{opacity:.5;cursor:not-allowed}.sp-accordion-label{flex:1}.sp-accordion-icon{flex-shrink:0;color:var(--sp-text-muted, #6b7280);font-size:10px;transition:transform .2s}.sp-accordion-content{overflow:hidden;max-height:0;transition:max-height .3s ease}:host([open]) .sp-accordion-content{max-height:2000px}.sp-accordion-body{padding:0 16px 16px;font-size:14px;color:var(--sp-text-muted, #6b7280);line-height:1.6}.sp-accordion-trigger:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px;border-radius:4px}@media(max-width:479px){.sp-accordion-trigger{padding:12px;font-size:13px}.sp-accordion-body{padding:0 12px 12px}}@media(prefers-reduced-motion:reduce){.sp-accordion-trigger,.sp-accordion-icon,.sp-accordion-content{transition:none}}";
2
2
  export {
3
3
  o as default
4
4
  };
@@ -1,4 +1,4 @@
1
- const o = ':host{display:block}.sp-accordion{border-radius:8px;overflow:hidden}:host([variant="default"]) .sp-accordion{background:var(--sp-bg, white);border:1px solid var(--sp-border-subtle, #e5e7eb)}:host([variant="bordered"]) .sp-accordion{border:2px solid var(--sp-primary, #3b82f6)}:host([variant="ghost"]) .sp-accordion{border:none}:host([variant="ghost"]) .sp-accordion .sp-accordion-item{border-bottom:1px solid var(--sp-bg-muted, #f3f4f6)}';
1
+ const o = '*,*:before,*:after{box-sizing:border-box}:host{display:block}.sp-accordion{border-radius:8px;overflow:hidden}:host([variant="default"]) .sp-accordion{background:var(--sp-bg, white);border:1px solid var(--sp-border-subtle, #e5e7eb)}:host([variant="bordered"]) .sp-accordion{border:2px solid var(--sp-primary, #3b82f6)}:host([variant="ghost"]) .sp-accordion{border:none}:host([variant="ghost"]) .sp-accordion .sp-accordion-item{border-bottom:1px solid var(--sp-bg-muted, #f3f4f6)}';
2
2
  export {
3
3
  o as default
4
4
  };
@@ -1,4 +1,4 @@
1
- const r = ':host{display:block}.sp-alert{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:6px;border:1px solid transparent}.sp-alert-icon{flex-shrink:0;font-size:16px;line-height:1.5}.sp-alert-body{flex:1;min-width:0}.sp-alert-title{display:block;font-size:14px;font-weight:600;margin-bottom:2px}.sp-alert-message{font-size:14px;line-height:1.5}.sp-alert-close{margin-left:auto;background:none;border:none;cursor:pointer;opacity:.6;font-size:14px;padding:2px;flex-shrink:0;line-height:1}.sp-alert-close:hover{opacity:1}:host([variant="info"]) .sp-alert{background:var(--sp-primary-bg, #eff6ff);border-color:#bfdbfe;color:#1e40af}:host([variant="success"]) .sp-alert{background:#f0fdf4;border-color:#bbf7d0;color:#166534}:host([variant="warning"]) .sp-alert{background:var(--sp-warning-bg, #FFFBE6);border-color:#fde68a;color:#92400e}:host([variant="error"]) .sp-alert{background:var(--sp-error-bg, #FFF2F0);border-color:#fecaca;color:#991b1b}.sp-alert-close:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}@media(prefers-reduced-motion:reduce){:host{transition:none!important}button,a,[role=button]{transition:none!important}}';
1
+ const r = '*,*:before,*:after{box-sizing:border-box}:host{display:block}.sp-alert{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:6px;border:1px solid transparent}.sp-alert-icon{flex-shrink:0;font-size:16px;line-height:1.5}.sp-alert-body{flex:1;min-width:0}.sp-alert-title{display:block;font-size:14px;font-weight:600;margin-bottom:2px}.sp-alert-message{font-size:14px;line-height:1.5}.sp-alert-close{margin-left:auto;background:none;border:none;cursor:pointer;opacity:.6;font-size:14px;padding:2px;flex-shrink:0;line-height:1}.sp-alert-close:hover{opacity:1}:host([variant="info"]) .sp-alert{background:var(--sp-primary-bg, #eff6ff);border-color:#bfdbfe;color:#1e40af}:host([variant="success"]) .sp-alert{background:#f0fdf4;border-color:#bbf7d0;color:#166534}:host([variant="warning"]) .sp-alert{background:var(--sp-warning-bg, #FFFBE6);border-color:#fde68a;color:#92400e}:host([variant="error"]) .sp-alert{background:var(--sp-error-bg, #FFF2F0);border-color:#fecaca;color:#991b1b}.sp-alert-close:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}@media(prefers-reduced-motion:reduce){:host{transition:none!important}button,a,[role=button]{transition:none!important}}';
2
2
  export {
3
3
  r as default
4
4
  };
@@ -1,4 +1,4 @@
1
- const e = ':host{display:block;font-family:inherit}.sp-ac-wrapper{position:relative}.sp-ac-label{display:block;font-size:14px;font-weight:500;color:var(--sp-text-secondary, #374151);margin-bottom:4px}.sp-ac-required{color:var(--sp-error, #FF4D4F)}.sp-ac-container{position:relative;display:flex;align-items:center;border:1px solid var(--sp-border, #d1d5db);border-radius:6px;background:var(--sp-bg, white);transition:border-color .2s,box-shadow .2s}.sp-ac-container--open,.sp-ac-container:focus-within{border-color:var(--sp-primary, #3b82f6);box-shadow:0 0 0 2px var(--sp-primary-focus, rgba(59,130,246,.2))}.sp-ac-container--error{border-color:var(--sp-error, #FF4D4F)}.sp-ac-container--error:focus-within{box-shadow:0 0 0 2px var(--sp-error-focus, rgba(255,77,79,.2))}.sp-ac-container--disabled{opacity:.5;cursor:not-allowed;background:var(--sp-bg-subtle, #f9fafb)}.sp-ac-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;font-family:inherit;color:var(--sp-text, #111827);padding:8px 12px;min-width:0;cursor:text}.sp-ac-input::placeholder{color:var(--sp-text-placeholder, #9ca3af)}.sp-ac-container--disabled .sp-ac-input{cursor:not-allowed}:host([size="sm"]) .sp-ac-input{padding:5px 8px;font-size:12px}:host([size="lg"]) .sp-ac-input{padding:11px 16px;font-size:16px}.sp-ac-multi-wrap{display:flex;flex-wrap:wrap;gap:4px;flex:1;align-items:center;padding:4px 6px;min-height:36px}:host([size="sm"]) .sp-ac-multi-wrap{min-height:28px;padding:3px 5px}:host([size="lg"]) .sp-ac-multi-wrap{min-height:46px;padding:6px 8px}.sp-ac-input--multi{flex:1;min-width:80px;border:none;outline:none;background:transparent;font-size:14px;font-family:inherit;color:var(--sp-text, #111827);padding:2px 4px;cursor:text}:host([size="sm"]) .sp-ac-input--multi{font-size:12px}:host([size="lg"]) .sp-ac-input--multi{font-size:16px}.sp-ac-input--multi::placeholder{color:var(--sp-text-placeholder, #9ca3af)}.sp-ac-tag{display:inline-flex;align-items:center;gap:3px;background:var(--sp-primary-bg, #eff6ff);color:var(--sp-primary-hover, #2563eb);border:1px solid var(--sp-primary-focus, rgba(59,130,246,.3));border-radius:4px;padding:2px 4px 2px 8px;font-size:12px;line-height:1.4;max-width:200px}.sp-ac-tag-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-ac-tag-remove{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--sp-primary, #3b82f6);padding:0 2px;line-height:1;font-size:14px;flex-shrink:0;border-radius:2px}.sp-ac-tag-remove:hover{color:var(--sp-error, #FF4D4F);background:var(--sp-error-bg, #FFF2F0)}.sp-ac-clear{background:none;border:none;cursor:pointer;color:var(--sp-text-placeholder, #9ca3af);padding:0 6px;flex-shrink:0;font-size:14px;line-height:1}.sp-ac-clear:hover{color:var(--sp-text-secondary, #374151)}.sp-ac-arrow-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0 10px;align-self:stretch;color:var(--sp-text-muted, #6b7280);flex-shrink:0}.sp-ac-arrow-btn:disabled{cursor:not-allowed}.sp-ac-arrow{font-size:12px;pointer-events:none;transition:transform .2s}.sp-ac-container--open .sp-ac-arrow{transform:rotate(180deg)}.sp-ac-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:var(--sp-bg, white);border:1px solid var(--sp-border-subtle, #e5e7eb);border-radius:6px;box-shadow:0 10px 25px #0000001f,0 4px 8px #0000000f;max-height:var(--sp-ac-max-height, 300px);overflow-y:auto;padding:4px 0}.sp-ac-group-label{padding:6px 12px 2px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sp-text-muted, #6b7280)}.sp-ac-option{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;cursor:pointer;transition:background .1s}.sp-ac-option:hover:not(.sp-ac-option--disabled){background:var(--sp-bg-muted, #f3f4f6)}.sp-ac-option--highlighted{background:var(--sp-bg-muted, #f3f4f6)}.sp-ac-option--selected{background:var(--sp-primary-bg, #eff6ff)}.sp-ac-option--selected.sp-ac-option--highlighted{filter:brightness(.97)}.sp-ac-option--disabled{opacity:.4;cursor:not-allowed}.sp-ac-option-check{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:var(--sp-primary, #3b82f6);display:flex;align-items:center;justify-content:center}.sp-ac-option-content{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.sp-ac-option-label{font-size:14px;color:var(--sp-text-secondary, #374151);line-height:1.4}.sp-ac-option--selected .sp-ac-option-label{color:var(--sp-primary, #3b82f6);font-weight:500}.sp-ac-option-desc{font-size:12px;color:var(--sp-text-muted, #6b7280);line-height:1.3}.sp-ac-option--create .sp-ac-option-create-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--sp-success, #52C41A)}.sp-ac-option--create{color:var(--sp-success, #52C41A);font-size:14px}.sp-ac-option--create:hover,.sp-ac-option--create.sp-ac-option--highlighted{background:var(--sp-success-bg, #F6FFED)}.sp-ac-no-results{padding:14px 12px;font-size:14px;color:var(--sp-text-placeholder, #9ca3af);text-align:center}.sp-ac-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 12px;font-size:14px;color:var(--sp-text-muted, #6b7280)}.sp-ac-spinner{width:16px;height:16px;flex-shrink:0;border:2px solid var(--sp-border, #d1d5db);border-top-color:var(--sp-primary, #3b82f6);border-radius:50%;animation:sp-ac-spin .7s linear infinite}@keyframes sp-ac-spin{to{transform:rotate(360deg)}}.sp-ac-error{display:block;font-size:12px;color:var(--sp-error, #FF4D4F);margin-top:4px}.sp-ac-hint{display:block;font-size:12px;color:var(--sp-text-muted, #6b7280);margin-top:4px}@media(max-width:479px){.sp-ac-wrapper{width:100%}.sp-ac-dropdown{left:0;right:0}}@media(prefers-reduced-motion:reduce){.sp-ac-container,.sp-ac-arrow,.sp-ac-option{transition:none}.sp-ac-spinner{animation:none}}';
1
+ const e = '*,*:before,*:after{box-sizing:border-box}:host{display:block;font-family:inherit}.sp-ac-wrapper{position:relative}.sp-ac-label{display:block;font-size:14px;font-weight:500;color:var(--sp-text-secondary, #374151);margin-bottom:4px}.sp-ac-required{color:var(--sp-error, #FF4D4F)}.sp-ac-container{position:relative;display:flex;align-items:center;border:1px solid var(--sp-border, #d1d5db);border-radius:6px;background:var(--sp-bg, white);transition:border-color .2s,box-shadow .2s}.sp-ac-container--open,.sp-ac-container:focus-within{border-color:var(--sp-primary, #3b82f6);box-shadow:0 0 0 2px var(--sp-primary-focus, rgba(59,130,246,.2))}.sp-ac-container--error{border-color:var(--sp-error, #FF4D4F)}.sp-ac-container--error:focus-within{box-shadow:0 0 0 2px var(--sp-error-focus, rgba(255,77,79,.2))}.sp-ac-container--disabled{opacity:.5;cursor:not-allowed;background:var(--sp-bg-subtle, #f9fafb)}.sp-ac-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;font-family:inherit;color:var(--sp-text, #111827);padding:8px 12px;min-width:0;cursor:text}.sp-ac-input::placeholder{color:var(--sp-text-placeholder, #9ca3af)}.sp-ac-container--disabled .sp-ac-input{cursor:not-allowed}:host([size="sm"]) .sp-ac-input{padding:5px 8px;font-size:12px}:host([size="lg"]) .sp-ac-input{padding:11px 16px;font-size:16px}.sp-ac-multi-wrap{display:flex;flex-wrap:wrap;gap:4px;flex:1;align-items:center;padding:4px 6px;min-height:36px}:host([size="sm"]) .sp-ac-multi-wrap{min-height:28px;padding:3px 5px}:host([size="lg"]) .sp-ac-multi-wrap{min-height:46px;padding:6px 8px}.sp-ac-input--multi{flex:1;min-width:80px;border:none;outline:none;background:transparent;font-size:14px;font-family:inherit;color:var(--sp-text, #111827);padding:2px 4px;cursor:text}:host([size="sm"]) .sp-ac-input--multi{font-size:12px}:host([size="lg"]) .sp-ac-input--multi{font-size:16px}.sp-ac-input--multi::placeholder{color:var(--sp-text-placeholder, #9ca3af)}.sp-ac-tag{display:inline-flex;align-items:center;gap:3px;background:var(--sp-primary-bg, #eff6ff);color:var(--sp-primary-hover, #2563eb);border:1px solid var(--sp-primary-focus, rgba(59,130,246,.3));border-radius:4px;padding:2px 4px 2px 8px;font-size:12px;line-height:1.4;max-width:200px}.sp-ac-tag-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-ac-tag-remove{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--sp-primary, #3b82f6);padding:0 2px;line-height:1;font-size:14px;flex-shrink:0;border-radius:2px}.sp-ac-tag-remove:hover{color:var(--sp-error, #FF4D4F);background:var(--sp-error-bg, #FFF2F0)}.sp-ac-clear{background:none;border:none;cursor:pointer;color:var(--sp-text-placeholder, #9ca3af);padding:0 6px;flex-shrink:0;font-size:14px;line-height:1}.sp-ac-clear:hover{color:var(--sp-text-secondary, #374151)}.sp-ac-arrow-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0 10px;align-self:stretch;color:var(--sp-text-muted, #6b7280);flex-shrink:0}.sp-ac-arrow-btn:disabled{cursor:not-allowed}.sp-ac-arrow{font-size:12px;pointer-events:none;transition:transform .2s}.sp-ac-container--open .sp-ac-arrow{transform:rotate(180deg)}.sp-ac-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:var(--sp-bg, white);border:1px solid var(--sp-border-subtle, #e5e7eb);border-radius:6px;box-shadow:0 10px 25px #0000001f,0 4px 8px #0000000f;max-height:var(--sp-ac-max-height, 300px);overflow-y:auto;padding:4px 0}.sp-ac-group-label{padding:6px 12px 2px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sp-text-muted, #6b7280)}.sp-ac-option{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;cursor:pointer;transition:background .1s}.sp-ac-option:hover:not(.sp-ac-option--disabled){background:var(--sp-bg-muted, #f3f4f6)}.sp-ac-option--highlighted{background:var(--sp-bg-muted, #f3f4f6)}.sp-ac-option--selected{background:var(--sp-primary-bg, #eff6ff)}.sp-ac-option--selected.sp-ac-option--highlighted{filter:brightness(.97)}.sp-ac-option--disabled{opacity:.4;cursor:not-allowed}.sp-ac-option-check{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:var(--sp-primary, #3b82f6);display:flex;align-items:center;justify-content:center}.sp-ac-option-content{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.sp-ac-option-label{font-size:14px;color:var(--sp-text-secondary, #374151);line-height:1.4}.sp-ac-option--selected .sp-ac-option-label{color:var(--sp-primary, #3b82f6);font-weight:500}.sp-ac-option-desc{font-size:12px;color:var(--sp-text-muted, #6b7280);line-height:1.3}.sp-ac-option--create .sp-ac-option-create-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--sp-success, #52C41A)}.sp-ac-option--create{color:var(--sp-success, #52C41A);font-size:14px}.sp-ac-option--create:hover,.sp-ac-option--create.sp-ac-option--highlighted{background:var(--sp-success-bg, #F6FFED)}.sp-ac-no-results{padding:14px 12px;font-size:14px;color:var(--sp-text-placeholder, #9ca3af);text-align:center}.sp-ac-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 12px;font-size:14px;color:var(--sp-text-muted, #6b7280)}.sp-ac-spinner{width:16px;height:16px;flex-shrink:0;border:2px solid var(--sp-border, #d1d5db);border-top-color:var(--sp-primary, #3b82f6);border-radius:50%;animation:sp-ac-spin .7s linear infinite}@keyframes sp-ac-spin{to{transform:rotate(360deg)}}.sp-ac-error{display:block;font-size:12px;color:var(--sp-error, #FF4D4F);margin-top:4px}.sp-ac-hint{display:block;font-size:12px;color:var(--sp-text-muted, #6b7280);margin-top:4px}@media(max-width:479px){.sp-ac-wrapper{width:100%}.sp-ac-dropdown{left:0;right:0}}@media(prefers-reduced-motion:reduce){.sp-ac-container,.sp-ac-arrow,.sp-ac-option{transition:none}.sp-ac-spinner{animation:none}}';
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sp-autocomplete.template.d.ts","sourceRoot":"","sources":["../../../src/components/autocomplete/sp-autocomplete.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,CAsKlF"}
1
+ {"version":3,"file":"sp-autocomplete.template.d.ts","sourceRoot":"","sources":["../../../src/components/autocomplete/sp-autocomplete.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,CAuKlF"}
@@ -1,7 +1,7 @@
1
1
  import { nothing as e, html as s } from "lit";
2
2
  import { classMap as l } from "lit/directives/class-map.js";
3
3
  function h() {
4
- const p = this.multiple ? this.values.length > 0 : !!this.value, r = this.clearable && p, n = this._renderGroups;
4
+ const r = this.multiple ? this.values.length > 0 : !!this.value, p = this.clearable && r, n = this._renderGroups;
5
5
  return s`
6
6
  <div class="sp-ac-wrapper">
7
7
  ${this.label ? s`
@@ -21,16 +21,16 @@ function h() {
21
21
  ${this.multiple ? s`
22
22
  <!-- Multiple mode: tags + inline input -->
23
23
  <div class="sp-ac-multi-wrap">
24
- ${this.values.map((t) => {
25
- const a = this.options.find((i) => i.value === t);
24
+ ${this.values.map((i) => {
25
+ const a = this.options.find((t) => t.value === i);
26
26
  return s`
27
27
  <span class="sp-ac-tag">
28
- <span class="sp-ac-tag-label">${(a == null ? void 0 : a.label) ?? t}</span>
28
+ <span class="sp-ac-tag-label">${(a == null ? void 0 : a.label) ?? i}</span>
29
29
  <button
30
30
  class="sp-ac-tag-remove"
31
31
  type="button"
32
- aria-label="Remove ${(a == null ? void 0 : a.label) ?? t}"
33
- @mousedown=${(i) => this._handleRemoveValue(t, i)}
32
+ aria-label="Remove ${(a == null ? void 0 : a.label) ?? i}"
33
+ @mousedown=${(t) => this._handleRemoveValue(i, t)}
34
34
  >×</button>
35
35
  </span>
36
36
  `;
@@ -45,6 +45,7 @@ function h() {
45
45
  aria-controls="sp-ac-listbox"
46
46
  aria-activedescendant=${this._highlightedIndex !== null ? `sp-ac-opt-${this._highlightedIndex}` : e}
47
47
  aria-invalid=${this.error ? "true" : e}
48
+ aria-describedby=${this.error || this.hint ? "sp-ac-desc" : e}
48
49
  aria-required=${this.required ? "true" : e}
49
50
  .value=${this._query}
50
51
  placeholder=${this.values.length === 0 ? this.placeholder : ""}
@@ -80,7 +81,7 @@ function h() {
80
81
  />
81
82
  `}
82
83
 
83
- ${r ? s`
84
+ ${p ? s`
84
85
  <button class="sp-ac-clear" type="button" @click=${this._handleClear} aria-label="Clear">✕</button>
85
86
  ` : e}
86
87
 
@@ -105,20 +106,20 @@ function h() {
105
106
  </div>
106
107
  ` : e}
107
108
 
108
- ${!this.loading && n.every((t) => t.options.length === 0) && !this._showCreate ? s`
109
+ ${!this.loading && n.every((i) => i.options.length === 0) && !this._showCreate ? s`
109
110
  <div class="sp-ac-no-results">${this.noResultsText}</div>
110
111
  ` : e}
111
112
 
112
- ${this.loading ? e : n.map((t) => s`
113
- ${t.label ? s`<div class="sp-ac-group-label" role="presentation">${t.label}</div>` : e}
114
- ${t.options.map(({ option: a, flatIndex: i }) => s`
113
+ ${this.loading ? e : n.map((i) => s`
114
+ ${i.label ? s`<div class="sp-ac-group-label" role="presentation">${i.label}</div>` : e}
115
+ ${i.options.map(({ option: a, flatIndex: t }) => s`
115
116
  <div
116
- id="sp-ac-opt-${i}"
117
+ id="sp-ac-opt-${t}"
117
118
  class=${l({
118
119
  "sp-ac-option": !0,
119
120
  "sp-ac-option--selected": this.multiple ? this.values.includes(a.value) : a.value === this.value,
120
121
  "sp-ac-option--disabled": !!a.disabled,
121
- "sp-ac-option--highlighted": this._highlightedIndex === i
122
+ "sp-ac-option--highlighted": this._highlightedIndex === t
122
123
  })}
123
124
  role="option"
124
125
  aria-selected=${(this.multiple ? this.values.includes(a.value) : a.value === this.value) ? "true" : "false"}
@@ -1,4 +1,4 @@
1
- const a = ':host{display:inline-flex;flex-shrink:0}.sp-avatar-wrapper{position:relative;display:inline-flex;flex-shrink:0}.sp-avatar{display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--sp-avatar-bg, #e5e7eb);color:var(--sp-avatar-color, #6b7280);font-weight:600;-webkit-user-select:none;user-select:none;flex-shrink:0}:host([shape="circle"]) .sp-avatar{border-radius:50%}:host([shape="square"]) .sp-avatar{border-radius:6px}:host([size="sm"]) .sp-avatar{width:32px;height:32px;font-size:12px}:host([size="md"]) .sp-avatar{width:40px;height:40px;font-size:14px}:host([size="lg"]) .sp-avatar{width:56px;height:56px;font-size:18px}:host([size="xl"]) .sp-avatar{width:72px;height:72px;font-size:22px}img{width:100%;height:100%;object-fit:cover;display:block}.sp-avatar-initials{line-height:1}.sp-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:60%;height:60%}.sp-avatar-placeholder svg{width:100%;height:100%}.sp-avatar-shimmer{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--sp-border-subtle, #e5e7eb) 25%,var(--sp-bg-muted, #f3f4f6) 50%,var(--sp-border-subtle, #e5e7eb) 75%);background-size:200% 100%;animation:sp-avatar-shimmer 1.5s infinite}@keyframes sp-avatar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sp-avatar-status{position:absolute;bottom:0;right:0;border-radius:50%;border:2px solid var(--sp-bg, white);display:block}:host([size="sm"]) .sp-avatar-status{width:9px;height:9px}:host([size="md"]) .sp-avatar-status{width:11px;height:11px}:host([size="lg"]) .sp-avatar-status{width:14px;height:14px}:host([size="xl"]) .sp-avatar-status{width:17px;height:17px}.sp-avatar-status--online{background:#22c55e}.sp-avatar-status--offline{background:var(--sp-text-placeholder, #9ca3af)}.sp-avatar-status--away{background:var(--sp-warning, #FAAD14)}.sp-avatar-status--busy{background:var(--sp-error, #FF4D4F)}@media(prefers-reduced-motion:reduce){:host{transition:none!important}.sp-avatar-shimmer{animation:none;background:var(--sp-border-subtle, #e5e7eb)}}';
1
+ const a = '*,*:before,*:after{box-sizing:border-box}:host{display:inline-flex;flex-shrink:0}.sp-avatar-wrapper{position:relative;display:inline-flex;flex-shrink:0}.sp-avatar{display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--sp-avatar-bg, #e5e7eb);color:var(--sp-avatar-color, #6b7280);font-weight:600;-webkit-user-select:none;user-select:none;flex-shrink:0}:host([shape="circle"]) .sp-avatar{border-radius:50%}:host([shape="square"]) .sp-avatar{border-radius:6px}:host([size="sm"]) .sp-avatar{width:32px;height:32px;font-size:12px}:host([size="md"]) .sp-avatar{width:40px;height:40px;font-size:14px}:host([size="lg"]) .sp-avatar{width:56px;height:56px;font-size:18px}:host([size="xl"]) .sp-avatar{width:72px;height:72px;font-size:22px}img{width:100%;height:100%;object-fit:cover;display:block}.sp-avatar-initials{line-height:1}.sp-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:60%;height:60%}.sp-avatar-placeholder svg{width:100%;height:100%}.sp-avatar-shimmer{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--sp-border-subtle, #e5e7eb) 25%,var(--sp-bg-muted, #f3f4f6) 50%,var(--sp-border-subtle, #e5e7eb) 75%);background-size:200% 100%;animation:sp-avatar-shimmer 1.5s infinite}@keyframes sp-avatar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sp-avatar-status{position:absolute;bottom:0;right:0;border-radius:50%;border:2px solid var(--sp-bg, white);display:block}:host([size="sm"]) .sp-avatar-status{width:9px;height:9px}:host([size="md"]) .sp-avatar-status{width:11px;height:11px}:host([size="lg"]) .sp-avatar-status{width:14px;height:14px}:host([size="xl"]) .sp-avatar-status{width:17px;height:17px}.sp-avatar-status--online{background:#22c55e}.sp-avatar-status--offline{background:var(--sp-text-placeholder, #9ca3af)}.sp-avatar-status--away{background:var(--sp-warning, #FAAD14)}.sp-avatar-status--busy{background:var(--sp-error, #FF4D4F)}@media(prefers-reduced-motion:reduce){:host{transition:none!important}.sp-avatar-shimmer{animation:none;background:var(--sp-border-subtle, #e5e7eb)}}';
2
2
  export {
3
3
  a as default
4
4
  };
@@ -1,4 +1,4 @@
1
- const e = ':host{display:inline-flex}.sp-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap}.sp-badge-content{display:inline-block;transition:transform .15s ease,opacity .15s ease}.sp-badge--animating .sp-badge-content{animation:sp-badge-pop .2s ease}@keyframes sp-badge-pop{0%{transform:scale(.85);opacity:.6}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.sp-badge-remove{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;opacity:.7;color:inherit;line-height:1;margin-left:2px}.sp-badge-remove:hover{opacity:1}.sp-badge-remove:focus-visible{outline:2px solid currentColor;outline-offset:1px;border-radius:2px}:host([pill]) .sp-badge{border-radius:9999px;padding:2px 10px}:host([variant="primary"]) .sp-badge{background:var(--sp-primary-bg-hover, #dbeafe);color:var(--sp-primary-active, #1d4ed8)}:host([variant="secondary"]) .sp-badge{background:var(--sp-bg-muted, #f3f4f6);color:var(--sp-text-secondary, #374151)}:host([variant="success"]) .sp-badge{background:#dcfce7;color:#15803d}:host([variant="warning"]) .sp-badge{background:#fef9c3;color:#a16207}:host([variant="danger"]) .sp-badge{background:#fee2e2;color:#b91c1c}:host([variant="neutral"]) .sp-badge{background:var(--sp-border-subtle, #e5e7eb);color:#4b5563}:host([pulsing]) .sp-badge{animation:sp-pulse 1.5s infinite}@keyframes sp-pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}';
1
+ const e = '*,*:before,*:after{box-sizing:border-box}:host{display:inline-flex}.sp-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap}.sp-badge-content{display:inline-block;transition:transform .15s ease,opacity .15s ease}.sp-badge--animating .sp-badge-content{animation:sp-badge-pop .2s ease}@keyframes sp-badge-pop{0%{transform:scale(.85);opacity:.6}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.sp-badge-remove{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;opacity:.7;color:inherit;line-height:1;margin-left:2px}.sp-badge-remove:hover{opacity:1}.sp-badge-remove:focus-visible{outline:2px solid currentColor;outline-offset:1px;border-radius:2px}:host([pill]) .sp-badge{border-radius:9999px;padding:2px 10px}:host([variant="primary"]) .sp-badge{background:var(--sp-primary-bg-hover, #dbeafe);color:var(--sp-primary-active, #1d4ed8)}:host([variant="secondary"]) .sp-badge{background:var(--sp-bg-muted, #f3f4f6);color:var(--sp-text-secondary, #374151)}:host([variant="success"]) .sp-badge{background:#dcfce7;color:#15803d}:host([variant="warning"]) .sp-badge{background:#fef9c3;color:#a16207}:host([variant="danger"]) .sp-badge{background:#fee2e2;color:#b91c1c}:host([variant="neutral"]) .sp-badge{background:var(--sp-border-subtle, #e5e7eb);color:#4b5563}:host([pulsing]) .sp-badge{animation:sp-pulse 1.5s infinite}@keyframes sp-pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}';
2
2
  export {
3
3
  e as default
4
4
  };
@@ -24,10 +24,12 @@ export declare class SpBadgeComponent extends LitElement {
24
24
  removable: boolean;
25
25
  _prevContent: string;
26
26
  _animating: boolean;
27
+ private _animTimer;
27
28
  /** Returns the capped display label when the slotted text is a number exceeding `max`. */
28
29
  _getDisplayContent(rawText: string): string;
29
30
  readonly _handleRemove: (e: Event) => void;
30
31
  readonly _handleSlotChange: (e: Event) => void;
32
+ disconnectedCallback(): void;
31
33
  render(): import('lit-html').TemplateResult;
32
34
  }
33
35
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"sp-badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/sp-badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IAC9C,OAAgB,MAAM,0BAAqB;IAG3C,OAAO,EAAE,cAAc,CAAa;IAGpC,IAAI,UAAS;IAGb,OAAO,UAAS;IAGhB,GAAG,SAAM;IAGT,SAAS,UAAS;IAGlB,YAAY,SAAM;IAGlB,UAAU,UAAS;IAEnB,0FAA0F;IAC1F,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQ3C,QAAQ,CAAC,aAAa,GAAI,GAAG,KAAK,KAAG,IAAI,CAGvC;IAEF,QAAQ,CAAC,iBAAiB,GAAI,GAAG,KAAK,KAAG,IAAI,CAQ3C;IAEO,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,gBAAgB,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"sp-badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/sp-badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IAC9C,OAAgB,MAAM,0BAAqB;IAG3C,OAAO,EAAE,cAAc,CAAa;IAGpC,IAAI,UAAS;IAGb,OAAO,UAAS;IAGhB,GAAG,SAAM;IAGT,SAAS,UAAS;IAGlB,YAAY,SAAM;IAGlB,UAAU,UAAS;IAEnB,OAAO,CAAC,UAAU,CAA8C;IAEhE,0FAA0F;IAC1F,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQ3C,QAAQ,CAAC,aAAa,GAAI,GAAG,KAAK,KAAG,IAAI,CAGvC;IAEF,QAAQ,CAAC,iBAAiB,GAAI,GAAG,KAAK,KAAG,IAAI,CAY3C;IAEO,oBAAoB,IAAI,IAAI;IAQ5B,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,gBAAgB,CAAC;KAC9B;CACF"}
@@ -1,56 +1,59 @@
1
1
  import { unsafeCSS as u, LitElement as h } from "lit";
2
- import { property as i, state as m, customElement as f } from "lit/decorators.js";
3
- import v from "./sp-badge.css.js";
4
- import { badgeTemplate as y } from "./sp-badge.template.js";
5
- var _ = Object.defineProperty, c = Object.getOwnPropertyDescriptor, o = (e, r, n, p) => {
6
- for (var s = p > 1 ? void 0 : p ? c(r, n) : r, a = e.length - 1, l; a >= 0; a--)
7
- (l = e[a]) && (s = (p ? l(r, n, s) : l(s)) || s);
8
- return p && s && _(r, n, s), s;
2
+ import { property as a, state as p, customElement as _ } from "lit/decorators.js";
3
+ import c from "./sp-badge.css.js";
4
+ import { badgeTemplate as f } from "./sp-badge.template.js";
5
+ var v = Object.defineProperty, y = Object.getOwnPropertyDescriptor, r = (e, i, s, o) => {
6
+ for (var n = o > 1 ? void 0 : o ? y(i, s) : i, l = e.length - 1, m; l >= 0; l--)
7
+ (m = e[l]) && (n = (o ? m(i, s, n) : m(n)) || n);
8
+ return o && n && v(i, s, n), n;
9
9
  };
10
10
  let t = class extends h {
11
11
  constructor() {
12
- super(...arguments), this.variant = "primary", this.pill = !1, this.pulsing = !1, this.max = 99, this.removable = !1, this._prevContent = "", this._animating = !1, this._handleRemove = (e) => {
12
+ super(...arguments), this.variant = "primary", this.pill = !1, this.pulsing = !1, this.max = 99, this.removable = !1, this._prevContent = "", this._animating = !1, this._animTimer = null, this._handleRemove = (e) => {
13
13
  e.stopPropagation(), this.dispatchEvent(new CustomEvent("sp-remove", { bubbles: !0, composed: !0 }));
14
14
  }, this._handleSlotChange = (e) => {
15
- const n = e.target.assignedNodes().map((p) => p.textContent ?? "").join("").trim();
16
- n !== this._prevContent && (this._animating = !0, this._prevContent = n, setTimeout(() => {
17
- this._animating = !1, this.requestUpdate();
15
+ const s = e.target.assignedNodes().map((o) => o.textContent ?? "").join("").trim();
16
+ s !== this._prevContent && (this._animating = !0, this._prevContent = s, this._animTimer !== null && clearTimeout(this._animTimer), this._animTimer = setTimeout(() => {
17
+ this._animTimer = null, this._animating = !1;
18
18
  }, 200));
19
19
  };
20
20
  }
21
21
  /** Returns the capped display label when the slotted text is a number exceeding `max`. */
22
22
  _getDisplayContent(e) {
23
- const r = Number(e.trim());
24
- return !Number.isNaN(r) && r > this.max ? `${this.max}+` : e;
23
+ const i = Number(e.trim());
24
+ return !Number.isNaN(i) && i > this.max ? `${this.max}+` : e;
25
+ }
26
+ disconnectedCallback() {
27
+ super.disconnectedCallback(), this._animTimer !== null && (clearTimeout(this._animTimer), this._animTimer = null);
25
28
  }
26
29
  render() {
27
- return y.call(this);
30
+ return f.call(this);
28
31
  }
29
32
  };
30
- t.styles = u(v);
31
- o([
32
- i({ type: String, reflect: !0 })
33
+ t.styles = u(c);
34
+ r([
35
+ a({ type: String, reflect: !0 })
33
36
  ], t.prototype, "variant", 2);
34
- o([
35
- i({ type: Boolean, reflect: !0 })
37
+ r([
38
+ a({ type: Boolean, reflect: !0 })
36
39
  ], t.prototype, "pill", 2);
37
- o([
38
- i({ type: Boolean, reflect: !0 })
40
+ r([
41
+ a({ type: Boolean, reflect: !0 })
39
42
  ], t.prototype, "pulsing", 2);
40
- o([
41
- i({ type: Number })
43
+ r([
44
+ a({ type: Number })
42
45
  ], t.prototype, "max", 2);
43
- o([
44
- i({ type: Boolean, reflect: !0 })
46
+ r([
47
+ a({ type: Boolean, reflect: !0 })
45
48
  ], t.prototype, "removable", 2);
46
- o([
47
- m()
49
+ r([
50
+ p()
48
51
  ], t.prototype, "_prevContent", 2);
49
- o([
50
- m()
52
+ r([
53
+ p()
51
54
  ], t.prototype, "_animating", 2);
52
- t = o([
53
- f("sp-badge")
55
+ t = r([
56
+ _("sp-badge")
54
57
  ], t);
55
58
  export {
56
59
  t as SpBadgeComponent
@@ -1,4 +1,4 @@
1
- const e = ":host{display:contents}.sp-breadcrumb-item{display:inline-flex;align-items:center;gap:4px}.sp-breadcrumb-link{color:var(--sp-primary, #3b82f6);text-decoration:none;font-size:14px}.sp-breadcrumb-link:hover{text-decoration:underline}.sp-breadcrumb-separator{color:var(--sp-text-placeholder, #9ca3af);font-size:14px}.sp-breadcrumb-current{color:var(--sp-text-muted, #6b7280);font-size:14px}.sp-breadcrumb-link:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}@media(prefers-reduced-motion:reduce){:host{transition:none!important}button,a,[role=button]{transition:none!important}}";
1
+ const e = "*,*:before,*:after{box-sizing:border-box}:host{display:contents}.sp-breadcrumb-item{display:inline-flex;align-items:center;gap:4px}.sp-breadcrumb-link{color:var(--sp-primary, #3b82f6);text-decoration:none;font-size:14px}.sp-breadcrumb-link:hover{text-decoration:underline}.sp-breadcrumb-separator{color:var(--sp-text-placeholder, #9ca3af);font-size:14px}.sp-breadcrumb-current{color:var(--sp-text-muted, #6b7280);font-size:14px}.sp-breadcrumb-link:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}@media(prefers-reduced-motion:reduce){:host{transition:none!important}button,a,[role=button]{transition:none!important}}";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1,4 +1,4 @@
1
- const e = ":host{display:block}.sp-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;list-style:none;margin:0;padding:0;font-size:14px}.sp-breadcrumb-ellipsis-item{display:inline-flex;align-items:center;gap:4px}.sp-breadcrumb-ellipsis{background:none;border:none;cursor:pointer;font-size:14px;color:var(--sp-text-muted, #6b7280);padding:0 4px;border-radius:4px}.sp-breadcrumb-ellipsis:hover{color:var(--sp-text-secondary, #374151);background:var(--sp-bg-muted, #f3f4f6)}.sp-breadcrumb-ellipsis:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}@media(max-width:480px){::slotted(sp-breadcrumb-item:not(:nth-last-child(-n+2))){display:none}}@media(prefers-reduced-motion:reduce){:host{transition:none!important}}";
1
+ const e = "*,*:before,*:after{box-sizing:border-box}:host{display:block}.sp-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;list-style:none;margin:0;padding:0;font-size:14px}.sp-breadcrumb-ellipsis-item{display:inline-flex;align-items:center;gap:4px}.sp-breadcrumb-ellipsis{background:none;border:none;cursor:pointer;font-size:14px;color:var(--sp-text-muted, #6b7280);padding:0 4px;border-radius:4px}.sp-breadcrumb-ellipsis:hover{color:var(--sp-text-secondary, #374151);background:var(--sp-bg-muted, #f3f4f6)}.sp-breadcrumb-ellipsis:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}@media(max-width:480px){::slotted(sp-breadcrumb-item:not(:nth-last-child(-n+2))){display:none}}@media(prefers-reduced-motion:reduce){:host{transition:none!important}}";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1,4 +1,4 @@
1
- const t = ':host{display:inline-block}:host([full-width]){display:block;width:100%}button,a{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;border:none;border-radius:var(--sp-button-radius, 4px);font-size:var(--sp-button-font-size, 14px);font-family:inherit;font-weight:500;cursor:pointer;transition:var(--sp-button-transition, opacity .2s);line-height:1;text-decoration:none;box-sizing:border-box}:host([size="sm"]) button,:host([size="sm"]) a{padding:6px 12px;font-size:12px}:host([size="md"]) button,:host([size="md"]) a{padding:8px 16px;font-size:14px}:host([size="lg"]) button,:host([size="lg"]) a{padding:12px 24px;font-size:16px}:host([variant="primary"]) button,:host([variant="primary"]) a{background-color:var(--sp-primary, #3b82f6);color:var(--sp-bg, #ffffff)}:host([variant="secondary"]) button,:host([variant="secondary"]) a{background-color:var(--sp-text-muted, #6b7280);color:var(--sp-bg, #ffffff)}:host([variant="ghost"]) button,:host([variant="ghost"]) a{background-color:transparent;color:var(--sp-primary, #3b82f6);border:1px solid var(--sp-primary, #3b82f6)}:host([variant="destructive"]) button,:host([variant="destructive"]) a{background-color:var(--sp-error, #FF4D4F);color:var(--sp-bg, #ffffff)}:host(:not([disabled]):not([loading])) button:hover,:host(:not([disabled]):not([loading])) a:hover{opacity:.85}:host([disabled]) button,:host([disabled]) a{opacity:.5;cursor:not-allowed;pointer-events:none}:host([loading]) button,:host([loading]) a{cursor:wait;opacity:.75;pointer-events:none}.sp-spinner{display:inline-block;width:var(--sp-button-spinner-size, 1em);height:var(--sp-button-spinner-size, 1em);border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:sp-spin .6s linear infinite;flex-shrink:0}@keyframes sp-spin{to{transform:rotate(360deg)}}button:focus-visible,a:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}';
1
+ const t = '*,*:before,*:after{box-sizing:border-box}:host{display:inline-block}:host([full-width]){display:block;width:100%}button,a{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;border:none;border-radius:var(--sp-button-radius, 4px);font-size:var(--sp-button-font-size, 14px);font-family:inherit;font-weight:500;cursor:pointer;transition:var(--sp-button-transition, opacity .2s);line-height:1;text-decoration:none;box-sizing:border-box}:host([size="sm"]) button,:host([size="sm"]) a{padding:6px 12px;font-size:12px}:host([size="md"]) button,:host([size="md"]) a{padding:8px 16px;font-size:14px}:host([size="lg"]) button,:host([size="lg"]) a{padding:12px 24px;font-size:16px}:host([variant="primary"]) button,:host([variant="primary"]) a{background-color:var(--sp-primary, #3b82f6);color:var(--sp-bg, #ffffff)}:host([variant="secondary"]) button,:host([variant="secondary"]) a{background-color:var(--sp-text-muted, #6b7280);color:var(--sp-bg, #ffffff)}:host([variant="ghost"]) button,:host([variant="ghost"]) a{background-color:transparent;color:var(--sp-primary, #3b82f6);border:1px solid var(--sp-primary, #3b82f6)}:host([variant="destructive"]) button,:host([variant="destructive"]) a{background-color:var(--sp-error, #FF4D4F);color:var(--sp-bg, #ffffff)}:host(:not([disabled]):not([loading])) button:hover,:host(:not([disabled]):not([loading])) a:hover{opacity:.85}:host([disabled]) button,:host([disabled]) a{opacity:.5;cursor:not-allowed;pointer-events:none}:host([loading]) button,:host([loading]) a{cursor:wait;opacity:.75;pointer-events:none}.sp-spinner{display:inline-block;width:var(--sp-button-spinner-size, 1em);height:var(--sp-button-spinner-size, 1em);border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:sp-spin .6s linear infinite;flex-shrink:0}@keyframes sp-spin{to{transform:rotate(360deg)}}button:focus-visible,a:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}';
2
2
  export {
3
3
  t as default
4
4
  };
@@ -1,4 +1,4 @@
1
- const r = ":host{display:inline-block;--sp-dp-bg: var(--sp-bg, #ffffff);--sp-dp-border: var(--sp-border, #e2e8f0);--sp-dp-border-focus: var(--sp-primary, #6366f1);--sp-dp-radius: 8px;--sp-dp-color: var(--sp-text, #1e293b);--sp-dp-placeholder-color: var(--sp-text-placeholder, #94a3b8);--sp-dp-label-color: var(--sp-text-secondary, #374151);--sp-dp-hint-color: var(--sp-text-muted, #64748b);--sp-dp-error-color: var(--sp-error, #FF4D4F);--sp-dp-disabled-bg: var(--sp-bg-subtle, #f8fafc);--sp-dp-disabled-color: var(--sp-border-subtle, #cbd5e1);--sp-dp-shadow: 0 4px 24px rgba(0, 0, 0, .08);--sp-dp-icon-color: var(--sp-text-placeholder, #94a3b8);font-family:inherit}.sp-date-picker{display:inline-flex;flex-direction:column;gap:4px;position:relative}.sp-date-picker__label{font-size:.82rem;font-weight:600;color:var(--sp-dp-label-color);line-height:1.4}.sp-date-picker__field{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1.5px solid var(--sp-dp-border);border-radius:var(--sp-dp-radius);background:var(--sp-dp-bg);cursor:pointer;transition:border-color .15s,box-shadow .15s;min-width:200px;position:relative}.sp-date-picker__field:hover:not(.sp-date-picker__field--disabled){border-color:var(--sp-primary-bg-hover, #a5b4fc)}.sp-date-picker__field:focus-within,.sp-date-picker__field--open{border-color:var(--sp-dp-border-focus);box-shadow:0 0 0 3px var(--sp-primary-focus, rgba(99, 102, 241, .12));outline:none}.sp-date-picker__field--disabled{background:var(--sp-dp-disabled-bg);cursor:not-allowed;opacity:.6}.sp-date-picker__field--error{border-color:var(--sp-dp-error-color)}.sp-date-picker__field--error:hover:not(.sp-date-picker__field--disabled){border-color:var(--sp-dp-error-color)}.sp-date-picker__field--error:focus-within{box-shadow:0 0 0 3px var(--sp-error-focus, rgba(255, 77, 79, .12))}.sp-date-picker__input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--sp-dp-color);font-family:inherit;cursor:pointer;min-width:0;outline:none}.sp-date-picker__input::placeholder{color:var(--sp-dp-placeholder-color)}.sp-date-picker__input:read-only{cursor:pointer}.sp-date-picker__icon{color:var(--sp-dp-icon-color);flex-shrink:0;width:16px;height:16px}.sp-date-picker__popover{position:absolute;top:calc(100% + 4px);left:0;z-index:9999;display:none}.sp-date-picker__popover--open{display:block}.sp-date-picker__hint{font-size:.78rem;color:var(--sp-dp-hint-color);line-height:1.4}.sp-date-picker__error{font-size:.78rem;color:var(--sp-dp-error-color);line-height:1.4}:host([disabled]) .sp-date-picker__field{pointer-events:none}@media(prefers-reduced-motion:reduce){.sp-date-picker__field{transition:none}}";
1
+ const r = "*,*:before,*:after{box-sizing:border-box}:host{display:inline-block;--sp-dp-bg: var(--sp-bg, #ffffff);--sp-dp-border: var(--sp-border, #e2e8f0);--sp-dp-border-focus: var(--sp-primary, #6366f1);--sp-dp-radius: 8px;--sp-dp-color: var(--sp-text, #1e293b);--sp-dp-placeholder-color: var(--sp-text-placeholder, #94a3b8);--sp-dp-label-color: var(--sp-text-secondary, #374151);--sp-dp-hint-color: var(--sp-text-muted, #64748b);--sp-dp-error-color: var(--sp-error, #FF4D4F);--sp-dp-disabled-bg: var(--sp-bg-subtle, #f8fafc);--sp-dp-disabled-color: var(--sp-border-subtle, #cbd5e1);--sp-dp-shadow: 0 4px 24px rgba(0, 0, 0, .08);--sp-dp-icon-color: var(--sp-text-placeholder, #94a3b8);font-family:inherit}.sp-date-picker{display:inline-flex;flex-direction:column;gap:4px;position:relative}.sp-date-picker__label{font-size:.82rem;font-weight:600;color:var(--sp-dp-label-color);line-height:1.4}.sp-date-picker__field{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1.5px solid var(--sp-dp-border);border-radius:var(--sp-dp-radius);background:var(--sp-dp-bg);cursor:pointer;transition:border-color .15s,box-shadow .15s;min-width:200px;position:relative}.sp-date-picker__field:hover:not(.sp-date-picker__field--disabled){border-color:var(--sp-primary-bg-hover, #a5b4fc)}.sp-date-picker__field:focus-within,.sp-date-picker__field--open{border-color:var(--sp-dp-border-focus);box-shadow:0 0 0 3px var(--sp-primary-focus, rgba(99, 102, 241, .12));outline:none}.sp-date-picker__field--disabled{background:var(--sp-dp-disabled-bg);cursor:not-allowed;opacity:.6}.sp-date-picker__field--error{border-color:var(--sp-dp-error-color)}.sp-date-picker__field--error:hover:not(.sp-date-picker__field--disabled){border-color:var(--sp-dp-error-color)}.sp-date-picker__field--error:focus-within{box-shadow:0 0 0 3px var(--sp-error-focus, rgba(255, 77, 79, .12))}.sp-date-picker__input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--sp-dp-color);font-family:inherit;cursor:pointer;min-width:0;outline:none}.sp-date-picker__input::placeholder{color:var(--sp-dp-placeholder-color)}.sp-date-picker__input:read-only{cursor:pointer}.sp-date-picker__icon{color:var(--sp-dp-icon-color);flex-shrink:0;width:16px;height:16px}.sp-date-picker__popover{position:absolute;top:calc(100% + 4px);left:0;z-index:9999;display:none}.sp-date-picker__popover--open{display:block}.sp-date-picker__hint{font-size:.78rem;color:var(--sp-dp-hint-color);line-height:1.4}.sp-date-picker__error{font-size:.78rem;color:var(--sp-dp-error-color);line-height:1.4}:host([disabled]) .sp-date-picker__field{pointer-events:none}@media(prefers-reduced-motion:reduce){.sp-date-picker__field{transition:none}}";
2
2
  export {
3
3
  r as default
4
4
  };
@@ -1,4 +1,4 @@
1
- const a = ':host{display:inline-block;--sp-cal-bg: var(--sp-bg, #ffffff);--sp-cal-border: var(--sp-border-subtle, #e2e8f0);--sp-cal-radius: 12px;--sp-cal-header-color: var(--sp-text, #0f172a);--sp-cal-weekday-color: var(--sp-text-placeholder, #94a3b8);--sp-cal-day-color: var(--sp-text-secondary, #1e293b);--sp-cal-day-outside-color: var(--sp-border-strong, #cbd5e1);--sp-cal-day-hover-bg: var(--sp-bg-subtle, #f1f5f9);--sp-cal-today-color: #6366f1;--sp-cal-selected-bg: #6366f1;--sp-cal-selected-color: #ffffff;--sp-cal-disabled-color: #e2e8f0;--sp-cal-shadow: 0 4px 24px rgba(0, 0, 0, .08);--sp-cal-range-bg: #e0e7ff;--sp-cal-range-preview-bg: #f0f3ff;--sp-cal-event-dot-color: #FAAD14;--sp-cal-preset-border: #e2e8f0;--sp-cal-preset-hover-bg: #f1f5f9;font-family:inherit}.sp-calendar{background:var(--sp-cal-bg);border:1px solid var(--sp-cal-border);border-radius:var(--sp-cal-radius);box-shadow:var(--sp-cal-shadow);display:inline-block;-webkit-user-select:none;user-select:none}.sp-calendar--with-presets{display:flex}.sp-calendar-body{padding:20px;min-width:280px}.sp-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:4px}.sp-calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-header-color);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.sp-calendar-nav-btn:hover:not(:disabled){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-nav-btn:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}.sp-calendar-nav-btn svg{width:16px;height:16px}.sp-calendar-nav-btn:disabled{opacity:.3;cursor:not-allowed}.sp-calendar-title{flex:1;padding:4px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-header-color);font-size:.9rem;font-weight:600;cursor:pointer;text-align:center;transition:background .15s,border-color .15s;white-space:nowrap}.sp-calendar-title:hover:not(:disabled){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-title:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}.sp-calendar-title--static{display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:var(--sp-cal-header-color);cursor:default}.sp-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.sp-calendar-weekday{height:32px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;color:var(--sp-cal-weekday-color);text-transform:uppercase;letter-spacing:.04em}.sp-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.sp-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;height:36px;width:100%;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-day-color);font-size:.85rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.sp-calendar-day:hover:not(:disabled):not(.sp-calendar-day--selected){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border);box-shadow:0 1px 4px #00000014}.sp-calendar-day:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px;z-index:1}.sp-calendar-day--outside{color:var(--sp-cal-day-outside-color)}.sp-calendar-day--today:not(.sp-calendar-day--selected){color:var(--sp-cal-today-color);font-weight:700;box-shadow:inset 0 0 0 1.5px var(--sp-cal-today-color)}.sp-calendar-day--selected{background:var(--sp-cal-selected-bg);color:var(--sp-cal-selected-color);border-color:var(--sp-cal-selected-bg);font-weight:600}.sp-calendar-day--selected:hover{background:#4f46e5;border-color:#4f46e5}.sp-calendar-day--disabled,.sp-calendar-day:disabled{color:var(--sp-cal-disabled-color);cursor:not-allowed;pointer-events:none}.sp-calendar-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px 0}.sp-calendar-month-btn{padding:10px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-day-color);font-size:.82rem;cursor:pointer;text-align:center;text-transform:capitalize;transition:background .15s,border-color .15s}.sp-calendar-month-btn:hover:not(:disabled){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-month-btn:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}.sp-calendar-month-btn--active{background:var(--sp-cal-selected-bg);color:var(--sp-cal-selected-color);border-color:var(--sp-cal-selected-bg);font-weight:600}.sp-calendar-month-btn:disabled{opacity:.3;cursor:not-allowed}.sp-calendar-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px 0}.sp-calendar-year-btn{padding:10px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-day-color);font-size:.85rem;cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.sp-calendar-year-btn:hover:not(:disabled){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-year-btn:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}.sp-calendar-year-btn--active{background:var(--sp-cal-selected-bg);color:var(--sp-cal-selected-color);border-color:var(--sp-cal-selected-bg);font-weight:600}.sp-calendar-year-btn:disabled{opacity:.3;cursor:not-allowed}.sp-calendar-day--in-range{background:var(--sp-cal-range-bg);border-radius:0;color:var(--sp-cal-day-color)}.sp-calendar-day--range-start{border-radius:8px 0 0 8px}.sp-calendar-day--range-end{border-radius:0 8px 8px 0}.sp-calendar-day--range-start.sp-calendar-day--range-end{border-radius:8px}.sp-calendar-day--in-range-preview{background:var(--sp-cal-range-preview-bg);border-radius:0;color:var(--sp-cal-day-color)}.sp-calendar-month-panel:not(:last-child) .sp-calendar-day--range-end{border-radius:8px 0 0 8px}.sp-calendar-month-panel:not(:first-child) .sp-calendar-day--range-start{border-radius:0 8px 8px 0}.sp-calendar-day--has-event{padding-bottom:6px}.sp-calendar-day--has-event:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--sp-cal-event-dot-color, #FAAD14)}@keyframes sp-slide-in-from-right{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes sp-slide-in-from-left{0%{transform:translate(-24px);opacity:0}to{transform:translate(0);opacity:1}}.sp-calendar-grid--slide-left{animation:sp-slide-in-from-right .3s ease forwards}.sp-calendar-grid--slide-right{animation:sp-slide-in-from-left .3s ease forwards}.sp-calendar-months{display:flex;gap:0}.sp-calendar-month-panel{flex:1;min-width:260px}.sp-calendar-month-panel:not(:last-child){padding-right:20px;border-right:1px solid var(--sp-cal-border);margin-right:20px}.sp-calendar-nav-placeholder{display:inline-block;width:32px;height:32px;flex-shrink:0}.sp-calendar-presets{display:flex;flex-direction:column;gap:4px;padding:20px 12px;border-right:1px solid var(--sp-cal-preset-border);min-width:130px}.sp-calendar-preset-btn{padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-day-color);font-size:.82rem;cursor:pointer;text-align:left;white-space:nowrap;transition:background .15s,border-color .15s}.sp-calendar-preset-btn:hover:not(:disabled){background:var(--sp-cal-preset-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-preset-btn:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}:host([disabled]) .sp-calendar{opacity:.5;pointer-events:none}@media(prefers-reduced-motion:reduce){.sp-calendar-day,.sp-calendar-nav-btn,.sp-calendar-title,.sp-calendar-month-btn,.sp-calendar-year-btn{transition:none;transform:none!important}.sp-calendar-grid--slide-left,.sp-calendar-grid--slide-right{animation:none}}';
1
+ const a = '*,*:before,*:after{box-sizing:border-box}:host{display:inline-block;--sp-cal-bg: var(--sp-bg, #ffffff);--sp-cal-border: var(--sp-border-subtle, #e2e8f0);--sp-cal-radius: 12px;--sp-cal-header-color: var(--sp-text, #0f172a);--sp-cal-weekday-color: var(--sp-text-placeholder, #94a3b8);--sp-cal-day-color: var(--sp-text-secondary, #1e293b);--sp-cal-day-outside-color: var(--sp-border-strong, #cbd5e1);--sp-cal-day-hover-bg: var(--sp-bg-subtle, #f1f5f9);--sp-cal-today-color: #6366f1;--sp-cal-selected-bg: #6366f1;--sp-cal-selected-color: #ffffff;--sp-cal-disabled-color: #e2e8f0;--sp-cal-shadow: 0 4px 24px rgba(0, 0, 0, .08);--sp-cal-range-bg: #e0e7ff;--sp-cal-range-preview-bg: #f0f3ff;--sp-cal-event-dot-color: #FAAD14;--sp-cal-preset-border: #e2e8f0;--sp-cal-preset-hover-bg: #f1f5f9;font-family:inherit}.sp-calendar{background:var(--sp-cal-bg);border:1px solid var(--sp-cal-border);border-radius:var(--sp-cal-radius);box-shadow:var(--sp-cal-shadow);display:inline-block;-webkit-user-select:none;user-select:none}.sp-calendar--with-presets{display:flex}.sp-calendar-body{padding:20px;min-width:280px}.sp-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:4px}.sp-calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-header-color);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.sp-calendar-nav-btn:hover:not(:disabled){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-nav-btn:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}.sp-calendar-nav-btn svg{width:16px;height:16px}.sp-calendar-nav-btn:disabled{opacity:.3;cursor:not-allowed}.sp-calendar-title{flex:1;padding:4px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-header-color);font-size:.9rem;font-weight:600;cursor:pointer;text-align:center;transition:background .15s,border-color .15s;white-space:nowrap}.sp-calendar-title:hover:not(:disabled){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-title:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}.sp-calendar-title--static{display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:var(--sp-cal-header-color);cursor:default}.sp-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.sp-calendar-weekday{height:32px;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;color:var(--sp-cal-weekday-color);text-transform:uppercase;letter-spacing:.04em}.sp-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.sp-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;height:36px;width:100%;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-day-color);font-size:.85rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.sp-calendar-day:hover:not(:disabled):not(.sp-calendar-day--selected){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border);box-shadow:0 1px 4px #00000014}.sp-calendar-day:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px;z-index:1}.sp-calendar-day--outside{color:var(--sp-cal-day-outside-color)}.sp-calendar-day--today:not(.sp-calendar-day--selected){color:var(--sp-cal-today-color);font-weight:700;box-shadow:inset 0 0 0 1.5px var(--sp-cal-today-color)}.sp-calendar-day--selected{background:var(--sp-cal-selected-bg);color:var(--sp-cal-selected-color);border-color:var(--sp-cal-selected-bg);font-weight:600}.sp-calendar-day--selected:hover{background:#4f46e5;border-color:#4f46e5}.sp-calendar-day--disabled,.sp-calendar-day:disabled{color:var(--sp-cal-disabled-color);cursor:not-allowed;pointer-events:none}.sp-calendar-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px 0}.sp-calendar-month-btn{padding:10px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-day-color);font-size:.82rem;cursor:pointer;text-align:center;text-transform:capitalize;transition:background .15s,border-color .15s}.sp-calendar-month-btn:hover:not(:disabled){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-month-btn:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}.sp-calendar-month-btn--active{background:var(--sp-cal-selected-bg);color:var(--sp-cal-selected-color);border-color:var(--sp-cal-selected-bg);font-weight:600}.sp-calendar-month-btn:disabled{opacity:.3;cursor:not-allowed}.sp-calendar-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px 0}.sp-calendar-year-btn{padding:10px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-day-color);font-size:.85rem;cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.sp-calendar-year-btn:hover:not(:disabled){background:var(--sp-cal-day-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-year-btn:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}.sp-calendar-year-btn--active{background:var(--sp-cal-selected-bg);color:var(--sp-cal-selected-color);border-color:var(--sp-cal-selected-bg);font-weight:600}.sp-calendar-year-btn:disabled{opacity:.3;cursor:not-allowed}.sp-calendar-day--in-range{background:var(--sp-cal-range-bg);border-radius:0;color:var(--sp-cal-day-color)}.sp-calendar-day--range-start{border-radius:8px 0 0 8px}.sp-calendar-day--range-end{border-radius:0 8px 8px 0}.sp-calendar-day--range-start.sp-calendar-day--range-end{border-radius:8px}.sp-calendar-day--in-range-preview{background:var(--sp-cal-range-preview-bg);border-radius:0;color:var(--sp-cal-day-color)}.sp-calendar-month-panel:not(:last-child) .sp-calendar-day--range-end{border-radius:8px 0 0 8px}.sp-calendar-month-panel:not(:first-child) .sp-calendar-day--range-start{border-radius:0 8px 8px 0}.sp-calendar-day--has-event{padding-bottom:6px}.sp-calendar-day--has-event:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--sp-cal-event-dot-color, #FAAD14)}@keyframes sp-slide-in-from-right{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes sp-slide-in-from-left{0%{transform:translate(-24px);opacity:0}to{transform:translate(0);opacity:1}}.sp-calendar-grid--slide-left{animation:sp-slide-in-from-right .3s ease forwards}.sp-calendar-grid--slide-right{animation:sp-slide-in-from-left .3s ease forwards}.sp-calendar-months{display:flex;gap:0}.sp-calendar-month-panel{flex:1;min-width:260px}.sp-calendar-month-panel:not(:last-child){padding-right:20px;border-right:1px solid var(--sp-cal-border);margin-right:20px}.sp-calendar-nav-placeholder{display:inline-block;width:32px;height:32px;flex-shrink:0}.sp-calendar-presets{display:flex;flex-direction:column;gap:4px;padding:20px 12px;border-right:1px solid var(--sp-cal-preset-border);min-width:130px}.sp-calendar-preset-btn{padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sp-cal-day-color);font-size:.82rem;cursor:pointer;text-align:left;white-space:nowrap;transition:background .15s,border-color .15s}.sp-calendar-preset-btn:hover:not(:disabled){background:var(--sp-cal-preset-hover-bg);border-color:var(--sp-cal-border)}.sp-calendar-preset-btn:focus-visible{outline:2px solid var(--sp-cal-today-color);outline-offset:2px}:host([disabled]) .sp-calendar{opacity:.5;pointer-events:none}@media(prefers-reduced-motion:reduce){.sp-calendar-day,.sp-calendar-nav-btn,.sp-calendar-title,.sp-calendar-month-btn,.sp-calendar-year-btn{transition:none;transform:none!important}.sp-calendar-grid--slide-left,.sp-calendar-grid--slide-right{animation:none}}';
2
2
  export {
3
3
  a as default
4
4
  };
@@ -65,6 +65,7 @@ export declare class SpCalendarComponent extends LitElement {
65
65
  /** Slide animation direction */
66
66
  _slideDir: SpCalendarSlideDir;
67
67
  private _navigating;
68
+ private _slideDirTimer;
68
69
  render(): import('lit-html').TemplateResult;
69
70
  connectedCallback(): void;
70
71
  disconnectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"sp-calendar.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/sp-calendar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sp-calendar.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/sp-calendar.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { unsafeCSS as p, LitElement as g } from "lit";
2
- import { property as o, state as _, customElement as c } from "lit/decorators.js";
2
+ import { property as o, state as D, customElement as c } from "lit/decorators.js";
3
3
  import f from "./sp-calendar.css.js";
4
- import { calendarTemplate as w } from "./sp-calendar.template.js";
5
- var y = Object.defineProperty, m = Object.getOwnPropertyDescriptor, r = (t, e, s, a) => {
6
- for (var l = a > 1 ? void 0 : a ? m(e, s) : e, n = t.length - 1, u; n >= 0; n--)
4
+ import { calendarTemplate as m } from "./sp-calendar.template.js";
5
+ var w = Object.defineProperty, y = Object.getOwnPropertyDescriptor, r = (t, e, s, a) => {
6
+ for (var l = a > 1 ? void 0 : a ? y(e, s) : e, n = t.length - 1, u; n >= 0; n--)
7
7
  (u = t[n]) && (l = (a ? u(e, s, l) : u(l)) || l);
8
- return a && l && y(e, s, l), l;
8
+ return a && l && w(e, s, l), l;
9
9
  };
10
10
  let i = class extends g {
11
11
  constructor() {
12
- super(...arguments), this.value = "", this.valueStart = "", this.valueEnd = "", this.values = "", this.min = "", this.max = "", this.locale = "", this.firstDayOfWeek = 1, this.disabled = !1, this.readonly = !1, this.mode = "single", this.events = "", this.disabledDates = "", this.disabledDaysOfWeek = "", this.months = 1, this.showPresets = !1, this._viewDate = /* @__PURE__ */ new Date(), this._view = "days", this._focusedDate = null, this._rangeStart = null, this._rangeEnd = null, this._hoverDate = null, this._multipleValues = /* @__PURE__ */ new Set(), this._slideDir = "", this._navigating = !1, this._handleKeydown = (t) => {
12
+ super(...arguments), this.value = "", this.valueStart = "", this.valueEnd = "", this.values = "", this.min = "", this.max = "", this.locale = "", this.firstDayOfWeek = 1, this.disabled = !1, this.readonly = !1, this.mode = "single", this.events = "", this.disabledDates = "", this.disabledDaysOfWeek = "", this.months = 1, this.showPresets = !1, this._viewDate = /* @__PURE__ */ new Date(), this._view = "days", this._focusedDate = null, this._rangeStart = null, this._rangeEnd = null, this._hoverDate = null, this._multipleValues = /* @__PURE__ */ new Set(), this._slideDir = "", this._navigating = !1, this._slideDirTimer = null, this._handleKeydown = (t) => {
13
13
  if (this.disabled || this._view !== "days") return;
14
14
  const e = new Date(
15
15
  this._viewDate.getFullYear(),
@@ -52,7 +52,7 @@ let i = class extends g {
52
52
  };
53
53
  }
54
54
  render() {
55
- return w.call(this);
55
+ return m.call(this);
56
56
  }
57
57
  connectedCallback() {
58
58
  if (super.connectedCallback(), this.addEventListener("keydown", this._handleKeydown), this.value) {
@@ -65,7 +65,7 @@ let i = class extends g {
65
65
  this._syncPropsToState();
66
66
  }
67
67
  disconnectedCallback() {
68
- super.disconnectedCallback(), this.removeEventListener("keydown", this._handleKeydown);
68
+ super.disconnectedCallback(), this.removeEventListener("keydown", this._handleKeydown), this._slideDirTimer !== null && (clearTimeout(this._slideDirTimer), this._slideDirTimer = null);
69
69
  }
70
70
  updated(t) {
71
71
  super.updated(t), (t.has("valueStart") || t.has("valueEnd") || t.has("values")) && this._syncPropsToState();
@@ -131,15 +131,15 @@ let i = class extends g {
131
131
  const e = t ?? this._viewDate, s = e.getFullYear(), a = e.getMonth(), l = new Date(s, a, 1), n = new Date(s, a + 1, 0);
132
132
  let u = l.getDay() - this.firstDayOfWeek;
133
133
  u < 0 && (u += 7);
134
- const v = [];
134
+ const _ = [];
135
135
  for (let h = u - 1; h >= 0; h--)
136
- v.push({ date: new Date(s, a, -h), isCurrentMonth: !1 });
136
+ _.push({ date: new Date(s, a, -h), isCurrentMonth: !1 });
137
137
  for (let h = 1; h <= n.getDate(); h++)
138
- v.push({ date: new Date(s, a, h), isCurrentMonth: !0 });
139
- const d = 42 - v.length;
138
+ _.push({ date: new Date(s, a, h), isCurrentMonth: !0 });
139
+ const d = 42 - _.length;
140
140
  for (let h = 1; h <= d; h++)
141
- v.push({ date: new Date(s, a + 1, h), isCurrentMonth: !1 });
142
- return v;
141
+ _.push({ date: new Date(s, a + 1, h), isCurrentMonth: !1 });
142
+ return _;
143
143
  }
144
144
  _getMonthName(t) {
145
145
  return new Intl.DateTimeFormat(this._getLocale(), { month: "long" }).format(new Date(2e3, t, 1));
@@ -164,13 +164,13 @@ let i = class extends g {
164
164
  const n = this._toISO(t);
165
165
  this._multipleValues.has(n) && s.push("sp-calendar-day--selected");
166
166
  } else if (this.mode === "range") {
167
- const n = this._rangeStart, u = this._rangeEnd, v = this._hoverDate;
167
+ const n = this._rangeStart, u = this._rangeEnd, _ = this._hoverDate;
168
168
  if (n && this._isSameDay(t, n) && (s.push("sp-calendar-day--range-start"), s.push("sp-calendar-day--selected")), u && this._isSameDay(t, u) && (s.push("sp-calendar-day--range-end"), s.push("sp-calendar-day--selected")), n && u) {
169
169
  const d = t.getTime();
170
170
  d > n.getTime() && d < u.getTime() && s.push("sp-calendar-day--in-range");
171
- } else if (n && !u && v) {
172
- const d = t.getTime(), h = n.getTime(), D = v.getTime();
173
- D > h ? d > h && d < D && s.push("sp-calendar-day--in-range-preview") : D < h && d < h && d > D && s.push("sp-calendar-day--in-range-preview");
171
+ } else if (n && !u && _) {
172
+ const d = t.getTime(), h = n.getTime(), v = _.getTime();
173
+ v > h ? d > h && d < v && s.push("sp-calendar-day--in-range-preview") : v < h && d < h && d > v && s.push("sp-calendar-day--in-range-preview");
174
174
  }
175
175
  }
176
176
  return s.join(" ");
@@ -183,9 +183,9 @@ let i = class extends g {
183
183
  this._navigating || (this._navigating = !0, this._slideDir = "left", this._viewDate = new Date(this._viewDate.getFullYear(), this._viewDate.getMonth() + 1, 1), this._resetSlideDir());
184
184
  }
185
185
  _resetSlideDir() {
186
- requestAnimationFrame(() => {
187
- setTimeout(() => {
188
- this._slideDir = "", this._navigating = !1;
186
+ this._slideDirTimer !== null && clearTimeout(this._slideDirTimer), requestAnimationFrame(() => {
187
+ this._slideDirTimer = setTimeout(() => {
188
+ this._slideDirTimer = null, this._slideDir = "", this._navigating = !1;
189
189
  }, 300);
190
190
  });
191
191
  }
@@ -378,28 +378,28 @@ r([
378
378
  o({ type: Boolean, attribute: "show-presets" })
379
379
  ], i.prototype, "showPresets", 2);
380
380
  r([
381
- _()
381
+ D()
382
382
  ], i.prototype, "_viewDate", 2);
383
383
  r([
384
- _()
384
+ D()
385
385
  ], i.prototype, "_view", 2);
386
386
  r([
387
- _()
387
+ D()
388
388
  ], i.prototype, "_focusedDate", 2);
389
389
  r([
390
- _()
390
+ D()
391
391
  ], i.prototype, "_rangeStart", 2);
392
392
  r([
393
- _()
393
+ D()
394
394
  ], i.prototype, "_rangeEnd", 2);
395
395
  r([
396
- _()
396
+ D()
397
397
  ], i.prototype, "_hoverDate", 2);
398
398
  r([
399
- _()
399
+ D()
400
400
  ], i.prototype, "_multipleValues", 2);
401
401
  r([
402
- _()
402
+ D()
403
403
  ], i.prototype, "_slideDir", 2);
404
404
  i = r([
405
405
  c("sp-calendar")
@@ -1,4 +1,4 @@
1
- const o = ':host{display:block;width:100%;box-sizing:border-box}.sp-card{position:relative;background:var(--sp-bg, white);border-radius:8px;overflow:hidden;box-sizing:border-box;transition:box-shadow .2s,transform .2s}.sp-card--clickable{cursor:pointer}.sp-card--clickable:hover{box-shadow:0 8px 20px #00000026!important;transform:translateY(-1px)}.sp-card--clickable:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}.sp-card-link{display:block;color:inherit;text-decoration:none}.sp-card-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#e5e7ebb3 25%,#f3f4f6b3,#e5e7ebb3 75%);background-size:200% 100%;animation:sp-card-shimmer 1.5s infinite;border-radius:inherit;z-index:1}@keyframes sp-card-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:640px){:host{display:block;width:100%}}:host([shadow="none"]) .sp-card{box-shadow:none}:host([shadow="sm"]) .sp-card{box-shadow:0 1px 3px #0000001a}:host([shadow="md"]) .sp-card{box-shadow:0 4px 6px #0000001a}:host([shadow="lg"]) .sp-card{box-shadow:0 10px 15px #0000001a}:host([bordered]) .sp-card{border:1px solid var(--sp-border-subtle, #e5e7eb)}::slotted([slot="image"]){display:block;width:100%}::slotted([slot="header"]){display:block;padding-bottom:12px;border-bottom:1px solid var(--sp-bg-muted, #f3f4f6);margin-bottom:12px;font-weight:600;font-size:16px;color:var(--sp-text, #111827)}::slotted([slot="footer"]){display:block;padding-top:12px;border-top:1px solid var(--sp-bg-muted, #f3f4f6);margin-top:12px}@media(prefers-reduced-motion:reduce){:host{transition:none!important}.sp-card{transition:none!important}.sp-card-loading-overlay{animation:none;background:#e5e7ebb3}button,a,[role=button]{transition:none!important}}';
1
+ const o = '*,*:before,*:after{box-sizing:border-box}:host{display:block;width:100%;box-sizing:border-box}.sp-card{position:relative;background:var(--sp-bg, white);border-radius:8px;overflow:hidden;box-sizing:border-box;transition:box-shadow .2s,transform .2s}.sp-card--clickable{cursor:pointer}.sp-card--clickable:hover{box-shadow:0 8px 20px #00000026!important;transform:translateY(-1px)}.sp-card--clickable:focus-visible{outline:2px solid var(--sp-primary, #3b82f6);outline-offset:2px}.sp-card-link{display:block;color:inherit;text-decoration:none}.sp-card-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#e5e7ebb3 25%,#f3f4f6b3,#e5e7ebb3 75%);background-size:200% 100%;animation:sp-card-shimmer 1.5s infinite;border-radius:inherit;z-index:1}@keyframes sp-card-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sp-card-skeleton{padding:4px 0}.sp-card-skeleton-line{height:12px;border-radius:4px;background:linear-gradient(90deg,var(--sp-bg-muted, #f0f0f0) 25%,var(--sp-border-subtle, #e0e0e0) 50%,var(--sp-bg-muted, #f0f0f0) 75%);background-size:200% 100%;animation:sp-card-shimmer 1.5s infinite}.sp-card-skeleton-title{height:16px;width:60%;margin-bottom:16px}.sp-card-skeleton-body{display:flex;flex-direction:column;gap:8px}@media(max-width:640px){:host{display:block;width:100%}}:host([shadow="none"]) .sp-card{box-shadow:none}:host([shadow="sm"]) .sp-card{box-shadow:0 1px 3px #0000001a}:host([shadow="md"]) .sp-card{box-shadow:0 4px 6px #0000001a}:host([shadow="lg"]) .sp-card{box-shadow:0 10px 15px #0000001a}:host([bordered]) .sp-card{border:1px solid var(--sp-border-subtle, #e5e7eb)}::slotted([slot="image"]){display:block;width:100%}::slotted([slot="header"]){display:block;padding-bottom:12px;border-bottom:1px solid var(--sp-bg-muted, #f3f4f6);margin-bottom:12px;font-weight:600;font-size:16px;color:var(--sp-text, #111827)}::slotted([slot="footer"]){display:block;padding-top:12px;border-top:1px solid var(--sp-bg-muted, #f3f4f6);margin-top:12px}@media(prefers-reduced-motion:reduce){:host{transition:none!important}.sp-card{transition:none!important}.sp-card-loading-overlay{animation:none;background:#e5e7ebb3}button,a,[role=button]{transition:none!important}}';
2
2
  export {
3
3
  o as default
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sp-card.template.d.ts","sourceRoot":"","sources":["../../../src/components/card/sp-card.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,CA2BlE"}
1
+ {"version":3,"file":"sp-card.template.d.ts","sourceRoot":"","sources":["../../../src/components/card/sp-card.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,CAwClE"}