@davidbirchall/core 1.0.4 → 1.0.6

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 (59) hide show
  1. package/dist/core.css +1 -1
  2. package/dist/core.js +24 -0
  3. package/dist/core.js.map +1 -0
  4. package/dist/core.umd.cjs +2 -0
  5. package/dist/core.umd.cjs.map +1 -0
  6. package/dist/index.d.ts +2 -8
  7. package/dist/package.json +27 -0
  8. package/package.json +4 -1
  9. package/dist/components/Badge/Badge.stories.d.ts +0 -13
  10. package/dist/components/Badge/Badge.test.d.ts +0 -1
  11. package/dist/components/Button/Button.stories.d.ts +0 -8
  12. package/dist/components/Button/Button.test.d.ts +0 -1
  13. package/dist/components/Calendar/Calendar.stories.d.ts +0 -12
  14. package/dist/components/Calendar/Calendar.test.d.ts +0 -1
  15. package/dist/components/Card/Card.stories.d.ts +0 -8
  16. package/dist/components/Card/Card.test.d.ts +0 -1
  17. package/dist/components/Checkbox/Checkbox.stories.d.ts +0 -10
  18. package/dist/components/Checkbox/Checkbox.test.d.ts +0 -1
  19. package/dist/components/DataTable/DataTable.stories.d.ts +0 -11
  20. package/dist/components/DataTable/DataTable.test.d.ts +0 -1
  21. package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -11
  22. package/dist/components/DatePicker/DatePicker.test.d.ts +0 -1
  23. package/dist/components/Dropdown/Dropdown.stories.d.ts +0 -10
  24. package/dist/components/EmptyState/EmptyState.stories.d.ts +0 -15
  25. package/dist/components/FormGroup/FormGroup.stories.d.ts +0 -11
  26. package/dist/components/FormGroup/FormGroup.test.d.ts +0 -1
  27. package/dist/components/Heading/Heading.stories.d.ts +0 -10
  28. package/dist/components/Heading/Heading.test.d.ts +0 -1
  29. package/dist/components/Input/Input.stories.d.ts +0 -12
  30. package/dist/components/Input/Input.test.d.ts +0 -1
  31. package/dist/components/Modal/Modal.stories.d.ts +0 -12
  32. package/dist/components/Modal/Modal.test.d.ts +0 -1
  33. package/dist/components/ProgressBar/ProgressBar.stories.d.ts +0 -19
  34. package/dist/components/ProgressBar/ProgressBar.test.d.ts +0 -1
  35. package/dist/components/Select/Select.stories.d.ts +0 -11
  36. package/dist/components/Select/Select.test.d.ts +0 -1
  37. package/dist/components/StatCard/StatCard.stories.d.ts +0 -19
  38. package/dist/components/Tag/Tag.stories.d.ts +0 -8
  39. package/dist/components/Tag/Tag.test.d.ts +0 -1
  40. package/dist/components/TextArea/TextArea.stories.d.ts +0 -12
  41. package/dist/components/TextArea/TextArea.test.d.ts +0 -1
  42. package/dist/components/index.d.ts +0 -33
  43. package/dist/index.cjs +0 -1
  44. package/dist/index.js +0 -1194
  45. package/dist/test/setup.d.ts +0 -1
  46. /package/dist/{components/Button → Button}/types.d.ts +0 -0
  47. /package/dist/{components/Calendar → Calendar}/types.d.ts +0 -0
  48. /package/dist/{components/Card → Card}/types.d.ts +0 -0
  49. /package/dist/{components/Checkbox → Checkbox}/types.d.ts +0 -0
  50. /package/dist/{components/DataTable → DataTable}/types.d.ts +0 -0
  51. /package/dist/{components/Dropdown → Dropdown}/types.d.ts +0 -0
  52. /package/dist/{components/EmptyState → EmptyState}/types.d.ts +0 -0
  53. /package/dist/{components/ErrorSummary → ErrorSummary}/types.d.ts +0 -0
  54. /package/dist/{components/Heading → Heading}/types.d.ts +0 -0
  55. /package/dist/{components/Input → Input}/types.d.ts +0 -0
  56. /package/dist/{components/Select → Select}/types.d.ts +0 -0
  57. /package/dist/{components/StatCard → StatCard}/types.d.ts +0 -0
  58. /package/dist/{components/Tag → Tag}/types.d.ts +0 -0
  59. /package/dist/{components/TextArea → TextArea}/types.d.ts +0 -0
package/dist/core.css CHANGED
@@ -1 +1 @@
1
- .btn[data-v-86500989]{padding:.5rem 1rem;border:none;border-radius:.25rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn[data-v-86500989]:hover:not(.btn--disabled){transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.btn--primary[data-v-86500989]{background-color:#3b82f6;color:#fff}.btn--primary[data-v-86500989]:hover:not(.btn--disabled){background-color:#2563eb}.btn--secondary[data-v-86500989]{background-color:#6b7280;color:#fff}.btn--secondary[data-v-86500989]:hover:not(.btn--disabled){background-color:#4b5563}.btn--danger[data-v-86500989]{background-color:#ef4444;color:#fff}.btn--danger[data-v-86500989]:hover:not(.btn--disabled){background-color:#dc2626}.btn--disabled[data-v-86500989]{opacity:.5;cursor:not-allowed;pointer-events:none}.sr-only[data-v-86500989]{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.badge[data-v-f310f0d4]{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:.375rem;white-space:nowrap;transition:all .2s}.badge--small[data-v-f310f0d4]{padding:.125rem .5rem;font-size:.75rem;line-height:1.25}.badge--medium[data-v-f310f0d4]{padding:.25rem .75rem;font-size:.875rem;line-height:1.25}.badge--large[data-v-f310f0d4]{padding:.375rem 1rem;font-size:.9375rem;line-height:1.5}.badge--primary[data-v-f310f0d4]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.badge--secondary[data-v-f310f0d4]{background:#f3f4f6;color:#374151}.badge--success[data-v-f310f0d4]{background:#dcfce7;color:#166534}.badge--warning[data-v-f310f0d4]{background:#fef3c7;color:#92400e}.badge--danger[data-v-f310f0d4]{background:#fee2e2;color:#991b1b}.badge--info[data-v-f310f0d4]{background:#dbeafe;color:#1e40af}.calendar[data-v-446fa187]{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;width:100%;max-width:320px;-webkit-user-select:none;user-select:none}.calendar-header[data-v-446fa187]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #f3f4f6}.calendar-title[data-v-446fa187]{display:flex;gap:.5rem;align-items:center}.calendar-month-btn[data-v-446fa187],.calendar-year-btn[data-v-446fa187]{background:none;border:none;font-size:1rem;font-weight:600;color:#1f2937;cursor:pointer;padding:.25rem .5rem;border-radius:.375rem;transition:all .2s}.calendar-month-btn[data-v-446fa187]:hover,.calendar-year-btn[data-v-446fa187]:hover{background:#f3f4f6}.calendar-nav[data-v-446fa187]{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s}.calendar-nav[data-v-446fa187]:hover{background:#f3f4f6;color:#1f2937}.calendar-body[data-v-446fa187]{display:flex;flex-direction:column}.calendar-weekdays[data-v-446fa187]{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.calendar-weekday[data-v-446fa187]{text-align:center;font-size:.75rem;font-weight:600;color:#6b7280;padding:.5rem 0}.calendar-days[data-v-446fa187]{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-day[data-v-446fa187]{aspect-ratio:1;border:none;background:none;font-size:.875rem;color:#1f2937;cursor:pointer;border-radius:.375rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.calendar-day[data-v-446fa187]:hover:not(:disabled){background:#f3f4f6}.calendar-day--other-month[data-v-446fa187]{color:#d1d5db}.calendar-day--today[data-v-446fa187]{font-weight:700;color:#667eea}.calendar-day--selected[data-v-446fa187]{background:#667eea;color:#fff;font-weight:600}.calendar-day--selected[data-v-446fa187]:hover{background:#5568d3}.calendar-day--in-range[data-v-446fa187]{background:#eef2ff;color:#667eea}.calendar-day--disabled[data-v-446fa187]{color:#d1d5db;cursor:not-allowed}.calendar-day--disabled[data-v-446fa187]:hover{background:none}.calendar-picker[data-v-446fa187]{display:flex;flex-direction:column;gap:.5rem}.calendar-picker-nav[data-v-446fa187]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;margin-bottom:.5rem;border-bottom:1px solid #f3f4f6}.calendar-picker-range[data-v-446fa187]{font-size:.875rem;font-weight:600;color:#1f2937}.calendar-picker-grid[data-v-446fa187]{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.calendar-picker-item[data-v-446fa187]{background:none;border:1px solid #e5e7eb;padding:.75rem;border-radius:.375rem;font-size:.875rem;color:#1f2937;cursor:pointer;transition:all .2s}.calendar-picker-item[data-v-446fa187]:hover{background:#f3f4f6;border-color:#667eea}.calendar-picker-item--selected[data-v-446fa187]{background:#667eea;color:#fff;border-color:#667eea}.calendar-picker-item--selected[data-v-446fa187]:hover{background:#5568d3}.card[data-v-3c027648]{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.card--hoverable[data-v-3c027648]{transition:all .2s ease-in-out;cursor:pointer}.card--hoverable[data-v-3c027648]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card__header[data-v-3c027648]{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:1.125rem}.card__body[data-v-3c027648]{padding:1.5rem}.card__footer[data-v-3c027648]{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb}.checkbox-wrapper[data-v-ce644bb9]{display:flex;flex-direction:column;gap:.25rem}.checkbox-label[data-v-ce644bb9]{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;position:relative}.checkbox-label--disabled[data-v-ce644bb9]{cursor:not-allowed;opacity:.6}.checkbox-input[data-v-ce644bb9]{position:absolute;opacity:0;width:0;height:0}.checkbox-box[data-v-ce644bb9]{width:1.25rem;height:1.25rem;border:2px solid #d1d5db;border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;background:#fff;flex-shrink:0}.checkbox-input:checked+.checkbox-box[data-v-ce644bb9]{background:#3b82f6;border-color:#3b82f6}.checkbox-input:checked+.checkbox-box[data-v-ce644bb9]:after{content:"";width:.375rem;height:.75rem;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:.125rem}.checkbox-input:focus+.checkbox-box[data-v-ce644bb9]{outline:2px solid #3b82f6;outline-offset:2px}.checkbox-input:disabled+.checkbox-box[data-v-ce644bb9]{background:#f3f4f6;cursor:not-allowed}.checkbox-text[data-v-ce644bb9]{font-size:.875rem;color:#374151;-webkit-user-select:none;user-select:none}.checkbox-error[data-v-ce644bb9]{font-size:.75rem;color:#ef4444;margin-left:1.75rem}.data-table[data-v-511dc0a4]{width:100%}.data-table__wrapper[data-v-511dc0a4]{overflow-x:auto}.data-table__table[data-v-511dc0a4]{min-width:100%;border-collapse:collapse}.data-table__head[data-v-511dc0a4]{background-color:#f9fafb}.data-table__header[data-v-511dc0a4]{padding:.75rem 1.5rem;text-align:left;font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.data-table__header--sortable[data-v-511dc0a4]{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table__header--sortable[data-v-511dc0a4]:hover{background-color:#f3f4f6}.data-table__header-content[data-v-511dc0a4]{display:flex;align-items:center;gap:.5rem}.data-table__sort-icon[data-v-511dc0a4]{font-size:.75rem;color:#6b7280}.data-table__sort-icon--inactive[data-v-511dc0a4]{color:#d1d5db}.data-table__row[data-v-511dc0a4]{border-bottom:1px solid #e5e7eb}.data-table__cell[data-v-511dc0a4]{padding:1rem 1.5rem;font-size:.875rem;color:#6b7280}.data-table__cell--empty[data-v-511dc0a4]{text-align:center;color:#9ca3af;font-style:italic}.date-picker[data-v-0b550c0b]{position:relative;width:100%}.date-picker-input[data-v-0b550c0b]{position:relative;display:flex;align-items:center;cursor:pointer}.date-input[data-v-0b550c0b]{width:100%;padding:.75rem 2.5rem .75rem .875rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;line-height:1.5;height:48px;cursor:pointer;background:#fff;color:#1f2937;transition:all .2s ease-in-out;box-sizing:border-box}.date-input[data-v-0b550c0b]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-input--error[data-v-0b550c0b]{border-color:#fca5a5;border-bottom:2px solid #dc2626;background:#fef2f2}.date-input--error[data-v-0b550c0b]:focus{border-color:#fca5a5;border-bottom:2px solid #dc2626;box-shadow:0 0 0 3px #ef44441f}.date-input[data-v-0b550c0b]:disabled{background:#f3f4f6;cursor:not-allowed;color:#9ca3af}.date-input[data-v-0b550c0b]::placeholder{color:#9ca3af}.date-error[data-v-0b550c0b]{margin-top:.35rem;color:#dc2626;font-size:.8rem}.date-icon[data-v-0b550c0b]{position:absolute;right:.75rem;pointer-events:none;font-size:1rem}.date-picker-overlay[data-v-0b550c0b]{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;z-index:9998}.date-picker-dropdown[data-v-0b550c0b]{position:absolute;z-index:9999;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-radius:.75rem;background:#fff}.dropdown[data-v-d2e8b407]{position:relative;display:inline-block}.dropdown--disabled[data-v-d2e8b407]{opacity:.5;cursor:not-allowed}.dropdown__trigger[data-v-d2e8b407]{cursor:pointer}.dropdown__button[data-v-d2e8b407]{padding:.5rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.dropdown__button[data-v-d2e8b407]:hover{background:#f9fafb;border-color:#9ca3af}.dropdown__menu[data-v-d2e8b407]{position:fixed;z-index:1000;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;overflow:hidden}.dropdown__header[data-v-d2e8b407],.dropdown__footer[data-v-d2e8b407]{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.dropdown__footer[data-v-d2e8b407]{border-top:1px solid #e5e7eb;border-bottom:none}.dropdown__content[data-v-d2e8b407]{padding:.5rem 0;max-height:300px;overflow-y:auto}.dropdown__item[data-v-d2e8b407]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border:none;background:transparent;text-align:left;font-size:.875rem;color:#374151;cursor:pointer;transition:background-color .15s}.dropdown__item[data-v-d2e8b407]:hover{background:#f3f4f6}.dropdown__item[data-v-d2e8b407]:active{background:#e5e7eb}.dropdown__item--disabled[data-v-d2e8b407]{color:#9ca3af;cursor:not-allowed;opacity:.5}.dropdown__item--disabled[data-v-d2e8b407]:hover{background:transparent}.dropdown__item-icon[data-v-d2e8b407]{font-size:1.125rem;flex-shrink:0}.dropdown__item-label[data-v-d2e8b407]{flex:1}.dropdown__divider[data-v-d2e8b407]{height:1px;margin:.5rem 0;background:#e5e7eb}.dropdown-fade-enter-active[data-v-d2e8b407],.dropdown-fade-leave-active[data-v-d2e8b407]{transition:opacity .15s ease,transform .15s ease}.dropdown-fade-enter-from[data-v-d2e8b407],.dropdown-fade-leave-to[data-v-d2e8b407]{opacity:0;transform:translateY(-8px)}.dropdown__content[data-v-d2e8b407]::-webkit-scrollbar{width:6px}.dropdown__content[data-v-d2e8b407]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.dropdown__content[data-v-d2e8b407]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.dropdown__content[data-v-d2e8b407]::-webkit-scrollbar-thumb:hover{background:#9ca3af}.empty-state[data-v-24e65287]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;color:#6b7280}.empty-state--small[data-v-24e65287]{padding:1.5rem 1rem}.empty-state--large[data-v-24e65287]{padding:4rem 2rem}.empty-state__icon[data-v-24e65287]{margin-bottom:1.5rem;color:#9ca3af}.empty-state--small .empty-state__icon[data-v-24e65287]{margin-bottom:1rem}.empty-state__icon-text[data-v-24e65287]{font-size:3rem;line-height:1}.empty-state--small .empty-state__icon-text[data-v-24e65287]{font-size:2rem}.empty-state--large .empty-state__icon-text[data-v-24e65287]{font-size:4rem}.empty-state__content[data-v-24e65287]{max-width:480px;margin-bottom:1.5rem}.empty-state--small .empty-state__content[data-v-24e65287]{max-width:360px;margin-bottom:1rem}.empty-state--large .empty-state__content[data-v-24e65287]{max-width:600px;margin-bottom:2rem}.empty-state__title[data-v-24e65287]{margin:0 0 .75rem;font-size:1.25rem;font-weight:600;color:#374151}.empty-state--small .empty-state__title[data-v-24e65287]{font-size:1rem;margin-bottom:.5rem}.empty-state--large .empty-state__title[data-v-24e65287]{font-size:1.5rem;margin-bottom:1rem}.empty-state__description[data-v-24e65287]{margin:0;font-size:.875rem;line-height:1.5;color:#6b7280}.empty-state--small .empty-state__description[data-v-24e65287]{font-size:.8125rem}.empty-state--large .empty-state__description[data-v-24e65287]{font-size:1rem}.empty-state__body[data-v-24e65287]{margin-top:1rem}.empty-state__actions[data-v-24e65287]{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.empty-state__button[data-v-24e65287]{padding:.625rem 1.25rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.empty-state--small .empty-state__button[data-v-24e65287]{padding:.5rem 1rem;font-size:.8125rem}.empty-state--large .empty-state__button[data-v-24e65287]{padding:.75rem 1.5rem;font-size:1rem}.empty-state__button--primary[data-v-24e65287]{background:#3b82f6;color:#fff}.empty-state__button--primary[data-v-24e65287]:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}.empty-state__button--primary[data-v-24e65287]:active{transform:translateY(0)}.empty-state__button--secondary[data-v-24e65287]{background:#fff;color:#374151;border:1px solid #d1d5db}.empty-state__button--secondary[data-v-24e65287]:hover{background:#f9fafb;border-color:#9ca3af}@media(max-width:768px){.empty-state[data-v-24e65287]{padding:2rem 1rem}.empty-state--large[data-v-24e65287]{padding:3rem 1.5rem}}.error-summary[data-v-2eeef3a2]{border:1px solid #fecaca;background:#fef2f2;border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:1.25rem}.error-summary__header[data-v-2eeef3a2]{display:flex;gap:.75rem;align-items:flex-start}.error-summary__icon[data-v-2eeef3a2]{font-size:1.25rem}.error-summary__title[data-v-2eeef3a2]{margin:0;color:#991b1b;font-size:1rem;font-weight:700}.error-summary__subtitle[data-v-2eeef3a2]{margin:.25rem 0 0;color:#7f1d1d;font-size:.875rem}.error-summary__list[data-v-2eeef3a2]{margin:.75rem 0 0;padding-left:1.25rem;color:#7f1d1d}.error-summary__item+.error-summary__item[data-v-2eeef3a2]{margin-top:.35rem}.error-summary__link[data-v-2eeef3a2]{color:#7f1d1d;text-decoration:underline;font-weight:600}.form-group[data-v-328da37c]{margin-bottom:1.5rem}.form-group__label[data-v-328da37c]{display:block;font-weight:600;margin-bottom:.5rem;color:#374151;font-size:.9375rem}.form-group__hint[data-v-328da37c]{display:block;margin-top:.25rem;color:#6b7280;font-size:.875rem}.form-group__error[data-v-328da37c]{display:block;margin-top:.25rem;color:#dc2626;font-size:.875rem;font-weight:500}.heading[data-v-507e54e1]{margin:0;line-height:1.2;color:#111827}.heading--1[data-v-507e54e1]{font-size:3rem;letter-spacing:-.02em}.heading--2[data-v-507e54e1]{font-size:2.25rem;letter-spacing:-.01em}.heading--3[data-v-507e54e1]{font-size:1.875rem;letter-spacing:-.01em}.heading--4[data-v-507e54e1]{font-size:1.5rem}.heading--5[data-v-507e54e1]{font-size:1.25rem}.heading--6[data-v-507e54e1]{font-size:1rem}.heading--light[data-v-507e54e1]{font-weight:300}.heading--normal[data-v-507e54e1]{font-weight:400}.heading--medium[data-v-507e54e1]{font-weight:500}.heading--semibold[data-v-507e54e1]{font-weight:600}.heading--bold[data-v-507e54e1]{font-weight:700}.heading--left[data-v-507e54e1]{text-align:left}.heading--center[data-v-507e54e1]{text-align:center}.heading--right[data-v-507e54e1]{text-align:right}.input-wrapper[data-v-95616b7b]{display:flex;flex-direction:column;gap:.375rem}.input-label[data-v-95616b7b]{font-size:.875rem;font-weight:500;color:#374151}.input-field[data-v-95616b7b]{padding:.75rem .875rem;font-size:1rem;line-height:1.5;height:48px;border:1px solid #d1d5db;border-radius:.375rem;outline:none;transition:all .2s ease-in-out;background:#fff;color:#1f2937;box-sizing:border-box}.input-field[data-v-95616b7b]::placeholder{color:#9ca3af}.input-field[data-v-95616b7b]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-field--error[data-v-95616b7b]{border-color:#fca5a5;border-bottom:2px solid #dc2626;background:#fef2f2}.input-field--error[data-v-95616b7b]:focus{border-color:#fca5a5;border-bottom:2px solid #dc2626;box-shadow:0 0 0 3px #ef44441f}.input-field--disabled[data-v-95616b7b]{background:#f3f4f6;cursor:not-allowed;opacity:.6}.input-error[data-v-95616b7b]{font-size:.75rem;color:#ef4444}.input-hint[data-v-95616b7b]{font-size:.75rem;color:#6b7280}.modal-overlay[data-v-0621c687]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.modal-content[data-v-0621c687]{background:#fff;border-radius:1rem;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-content--small[data-v-0621c687]{max-width:400px}.modal-content--medium[data-v-0621c687]{max-width:600px}.modal-content--large[data-v-0621c687]{max-width:900px}.modal-header[data-v-0621c687]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e5e7eb;flex-shrink:0}.modal-title[data-v-0621c687]{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.modal-close[data-v-0621c687]{width:2rem;height:2rem;border:none;background:#f3f4f6;border-radius:.5rem;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;color:#6b7280;transition:all .2s;flex-shrink:0}.modal-close[data-v-0621c687]:hover{background:#e5e7eb;color:#374151}.modal-body[data-v-0621c687]{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer[data-v-0621c687]{padding:1.5rem;border-top:2px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;flex-shrink:0}.modal-enter-active[data-v-0621c687],.modal-leave-active[data-v-0621c687]{transition:opacity .3s ease}.modal-enter-active .modal-content[data-v-0621c687],.modal-leave-active .modal-content[data-v-0621c687]{transition:transform .3s ease}.modal-enter-from[data-v-0621c687],.modal-leave-to[data-v-0621c687]{opacity:0}.modal-enter-from .modal-content[data-v-0621c687],.modal-leave-to .modal-content[data-v-0621c687]{transform:scale(.95)}@media(max-width:640px){.modal-content[data-v-0621c687]{max-height:100vh;border-radius:0}.modal-overlay[data-v-0621c687]{padding:0}}.progress-bar[data-v-1ee50aa7]{width:100%}.progress-bar__header[data-v-1ee50aa7]{display:flex;justify-content:space-between;margin-bottom:.75rem;font-weight:600;color:#374151;font-size:.9375rem}.progress-bar__percentage[data-v-1ee50aa7]{color:#667eea}.progress-bar__track[data-v-1ee50aa7]{width:100%;background:#e5e7eb;border-radius:.5rem;overflow:hidden;position:relative}.progress-bar__fill[data-v-1ee50aa7]{height:100%;border-radius:.5rem;transition:width .3s ease;display:flex;align-items:center;justify-content:center;position:relative}.progress-bar__fill--animated[data-v-1ee50aa7]{transition:width .6s ease}.progress-bar__fill--primary[data-v-1ee50aa7]{background:linear-gradient(90deg,#667eea,#764ba2)}.progress-bar__fill--success[data-v-1ee50aa7]{background:linear-gradient(90deg,#10b981,#059669)}.progress-bar__fill--warning[data-v-1ee50aa7]{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-bar__fill--danger[data-v-1ee50aa7]{background:linear-gradient(90deg,#ef4444,#dc2626)}.progress-bar__text[data-v-1ee50aa7]{color:#fff;font-size:.75rem;font-weight:600}.select-wrapper[data-v-aeafe36b]{display:flex;flex-direction:column;gap:.375rem}.select-label[data-v-aeafe36b]{font-size:.875rem;font-weight:500;color:#374151}.select-field[data-v-aeafe36b]{padding:.75rem 2.5rem .75rem .875rem;font-size:1rem;line-height:1.5;height:48px;border:1px solid #d1d5db;border-radius:.375rem;outline:none;transition:all .2s ease-in-out;background:#fff;color:#1f2937;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;box-sizing:border-box}.select-field--placeholder[data-v-aeafe36b]{color:#9ca3af}.select-field[data-v-aeafe36b]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.select-field--error[data-v-aeafe36b]{border-color:#fca5a5;border-bottom:2px solid #dc2626;background-color:#fef2f2}.select-field--error[data-v-aeafe36b]:focus{border-color:#fca5a5;border-bottom:2px solid #dc2626;box-shadow:0 0 0 3px #ef44441f}.select-field--disabled[data-v-aeafe36b]{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.select-error[data-v-aeafe36b]{font-size:.75rem;color:#ef4444}.select-hint[data-v-aeafe36b]{font-size:.75rem;color:#6b7280}.stat-card[data-v-7858d875]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s ease}.stat-card[data-v-7858d875]:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.stat-card__title[data-v-7858d875]{margin:0 0 .75rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.stat-card__value-wrapper[data-v-7858d875]{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.stat-card__value[data-v-7858d875]{margin:0;font-size:2rem;font-weight:700;color:#111827;display:flex;align-items:baseline;gap:.25rem}.stat-card__value--negative[data-v-7858d875]{color:#dc2626}.stat-card__prefix[data-v-7858d875]{font-size:1.5rem;color:#6b7280;font-weight:500}.stat-card__suffix[data-v-7858d875]{font-size:1rem;color:#6b7280;font-weight:500;margin-left:.25rem}.stat-card__input-wrapper[data-v-7858d875]{display:flex;align-items:center;gap:.5rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:.5rem .75rem;transition:border-color .2s}.stat-card__input-wrapper[data-v-7858d875]:focus-within{border-color:#3b82f6}.stat-card__input[data-v-7858d875]{flex:1;border:none;background:transparent;font-size:1.5rem;font-weight:700;color:#111827;outline:none;min-width:0}.stat-card__input[data-v-7858d875]::placeholder{color:#9ca3af}.stat-card__input[data-v-7858d875]::-webkit-outer-spin-button,.stat-card__input[data-v-7858d875]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stat-card__input[type=number][data-v-7858d875]{-moz-appearance:textfield}.stat-card__trend[data-v-7858d875]{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.stat-card__trend--up[data-v-7858d875]{color:#059669;background:#d1fae5}.stat-card__trend--down[data-v-7858d875]{color:#dc2626;background:#fee2e2}.stat-card__trend-icon[data-v-7858d875]{font-size:1rem}.stat-card--success[data-v-7858d875]{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.stat-card--warning[data-v-7858d875]{border-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}.stat-card--danger[data-v-7858d875]{border-color:#ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}@media(max-width:768px){.stat-card[data-v-7858d875]{padding:1rem}.stat-card__value[data-v-7858d875]{font-size:1.5rem}.stat-card__input[data-v-7858d875]{font-size:1.25rem}}.tag[data-v-df5365be]{display:inline-flex;align-items:center;font-weight:600;border-radius:.375rem;transition:all .2s ease-in-out}.tag--small[data-v-df5365be]{padding:.25rem .5rem;font-size:.75rem}.tag--medium[data-v-df5365be]{padding:.375rem .75rem;font-size:.875rem}.tag--large[data-v-df5365be]{padding:.5rem 1rem;font-size:1rem}.tag--default[data-v-df5365be]{background-color:#f3f4f6;color:#374151}.tag--primary[data-v-df5365be]{background-color:#dbeafe;color:#1e40af}.tag--success[data-v-df5365be]{background-color:#d1fae5;color:#065f46}.tag--warning[data-v-df5365be]{background-color:#fef3c7;color:#92400e}.tag--danger[data-v-df5365be]{background-color:#fee2e2;color:#991b1b}.tag--info[data-v-df5365be]{background-color:#e0e7ff;color:#3730a3}.textarea-wrapper[data-v-00775f79]{display:flex;flex-direction:column;gap:.375rem}.textarea-label[data-v-00775f79]{font-size:.875rem;font-weight:500;color:#374151}.textarea-field[data-v-00775f79]{padding:.625rem .875rem;font-size:1rem;font-family:inherit;border:1px solid #d1d5db;border-radius:.375rem;outline:none;transition:all .2s ease-in-out;background:#fff;color:#1f2937;resize:vertical;min-height:2.5rem}.textarea-field[data-v-00775f79]::placeholder{color:#9ca3af}.textarea-field[data-v-00775f79]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.textarea-field--error[data-v-00775f79]{border-color:#fca5a5;border-bottom:2px solid #dc2626;background:#fef2f2}.textarea-field--error[data-v-00775f79]:focus{border-color:#fca5a5;border-bottom:2px solid #dc2626;box-shadow:0 0 0 3px #ef44441f}.textarea-field--disabled[data-v-00775f79]{background:#f3f4f6;cursor:not-allowed;opacity:.6;resize:none}.textarea-error[data-v-00775f79]{font-size:.75rem;color:#ef4444}.textarea-hint[data-v-00775f79]{font-size:.75rem;color:#6b7280}
1
+ .badge[data-v-f310f0d4]{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:.375rem;white-space:nowrap;transition:all .2s}.badge--small[data-v-f310f0d4]{padding:.125rem .5rem;font-size:.75rem;line-height:1.25}.badge--medium[data-v-f310f0d4]{padding:.25rem .75rem;font-size:.875rem;line-height:1.25}.badge--large[data-v-f310f0d4]{padding:.375rem 1rem;font-size:.9375rem;line-height:1.5}.badge--primary[data-v-f310f0d4]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.badge--secondary[data-v-f310f0d4]{background:#f3f4f6;color:#374151}.badge--success[data-v-f310f0d4]{background:#dcfce7;color:#166534}.badge--warning[data-v-f310f0d4]{background:#fef3c7;color:#92400e}.badge--danger[data-v-f310f0d4]{background:#fee2e2;color:#991b1b}.badge--info[data-v-f310f0d4]{background:#dbeafe;color:#1e40af}
package/dist/core.js ADDED
@@ -0,0 +1,24 @@
1
+ import { defineComponent as n, openBlock as s, createElementBlock as c, normalizeClass as d, renderSlot as l } from "vue";
2
+ const i = /* @__PURE__ */ n({
3
+ __name: "Badge",
4
+ props: {
5
+ variant: { default: "primary" },
6
+ size: { default: "medium" }
7
+ },
8
+ setup(e) {
9
+ return (t, a) => (s(), c("span", {
10
+ class: d(["badge", `badge--${e.variant}`, `badge--${e.size}`])
11
+ }, [
12
+ l(t.$slots, "default", {}, void 0, !0)
13
+ ], 2));
14
+ }
15
+ }), f = (e, t) => {
16
+ const a = e.__vccOpts || e;
17
+ for (const [o, r] of t)
18
+ a[o] = r;
19
+ return a;
20
+ }, p = /* @__PURE__ */ f(i, [["__scopeId", "data-v-f310f0d4"]]);
21
+ export {
22
+ p as Badge
23
+ };
24
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sources":["../src/components/Badge/Badge.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\ninterface Props {\n variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info'\n size?: 'small' | 'medium' | 'large'\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'Badge',\n props: {\n variant: { default: 'primary' },\n size: { default: 'medium' }\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: _normalizeClass(['badge', `badge--${__props.variant}`, `badge--${__props.size}`])\n }, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ], 2))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";AASA,MAAAA,IAA4BC,gBAAAA,EAAiB;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,SAAS,EAAE,SAAS,UAAA;AAAA,IACpB,MAAM,EAAE,SAAS,SAAA;AAAA,EAAS;AAAA,EAE5B,MAAMC,GAAc;AAItB,WAAO,CAACC,GAAUC,OACRC,EAAA,GAAcC,EAAoB,QAAQ;AAAA,MAChD,OAAOC,EAAgB,CAAC,SAAS,UAAUL,EAAQ,OAAO,IAAI,UAAUA,EAAQ,IAAI,EAAE,CAAC;AAAA,IAAA,GACtF;AAAA,MACDM,EAAYL,EAAK,QAAQ,WAAW,CAAA,GAAI,QAAW,EAAI;AAAA,IAAA,GACtD,CAAC;AAAA,EAEN;AAEA,CAAC;;;;;;"}
@@ -0,0 +1,2 @@
1
+ (function(t,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.VueComponentLibrary={},t.Vue))})(this,(function(t,e){"use strict";const s=((n,o)=>{const a=n.__vccOpts||n;for(const[d,i]of o)a[d]=i;return a})(e.defineComponent({__name:"Badge",props:{variant:{default:"primary"},size:{default:"medium"}},setup(n){return(o,a)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["badge",`badge--${n.variant}`,`badge--${n.size}`])},[e.renderSlot(o.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-f310f0d4"]]);t.Badge=s,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
2
+ //# sourceMappingURL=core.umd.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.umd.cjs","sources":["../src/components/Badge/Badge.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\ninterface Props {\n variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info'\n size?: 'small' | 'medium' | 'large'\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'Badge',\n props: {\n variant: { default: 'primary' },\n size: { default: 'medium' }\n },\n setup(__props: any) {\n\n\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: _normalizeClass(['badge', `badge--${__props.variant}`, `badge--${__props.size}`])\n }, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ], 2))\n}\n}\n\n})"],"names":["_defineComponent","__props","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":"sVAS4BA,kBAAiB,CAC3C,OAAQ,QACR,MAAO,CACL,QAAS,CAAE,QAAS,SAAA,EACpB,KAAM,CAAE,QAAS,QAAA,CAAS,EAE5B,MAAMC,EAAc,CAItB,MAAO,CAACC,EAAUC,KACRC,EAAAA,UAAA,EAAcC,EAAAA,mBAAoB,OAAQ,CAChD,MAAOC,EAAAA,eAAgB,CAAC,QAAS,UAAUL,EAAQ,OAAO,GAAI,UAAUA,EAAQ,IAAI,EAAE,CAAC,CAAA,EACtF,CACDM,EAAAA,WAAYL,EAAK,OAAQ,UAAW,CAAA,EAAI,OAAW,EAAI,CAAA,EACtD,CAAC,EAEN,CAEA,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,2 @@
1
- import type { App } from 'vue';
2
- import { Badge, Button, Calendar, Card, Checkbox, DataTable, DatePicker, Dropdown, EmptyState, ErrorSummary, FormGroup, Heading, Input, Modal, ProgressBar, Select, StatCard, Tag, TextArea } from './components';
3
- export { Badge as VBadge, Button as VButton, Calendar as VCalendar, Card as VCard, Checkbox as VCheckbox, DataTable as VDataTable, DatePicker as VDatePicker, Dropdown as VDropdown, EmptyState as VEmptyState, ErrorSummary as VErrorSummary, FormGroup as VFormGroup, Heading as VHeading, Input as VInput, Modal as VModal, ProgressBar as VProgressBar, Select as VSelect, StatCard as VStatCard, Tag as VTag, TextArea as VTextArea };
4
- export type { ButtonProps, CalendarProps, CalendarDay, CardProps, CheckboxProps, DataTableProps, DataTableColumn, DropdownProps, DropdownItem, EmptyStateProps, ErrorSummaryItem, HeadingProps, InputProps, SelectProps, SelectOption, StatCardProps, TagProps, TextAreaProps } from './components';
5
- declare const _default: {
6
- install(app: App): void;
7
- };
8
- export default _default;
1
+ import Badge from './Badge/Badge.vue';
2
+ export { Badge };
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@davidbirchall/core",
3
+ "version": "1.0.6",
4
+ "description": "Vue 3 component library with TypeScript",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./core.css": "./dist/core.css"
16
+ },
17
+ "keywords": [
18
+ "vue",
19
+ "components",
20
+ "typescript"
21
+ ],
22
+ "author": "David Birchall",
23
+ "license": "MIT",
24
+ "peerDependencies": {
25
+ "vue": "^3.4.0"
26
+ }
27
+ }
package/package.json CHANGED
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "name": "@davidbirchall/core",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Vue 3 component library with TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
+ "publishConfig": {
10
+ "directory": "dist"
11
+ },
9
12
  "exports": {
10
13
  ".": {
11
14
  "types": "./dist/index.d.ts",
@@ -1,13 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Primary: Story;
6
- export declare const Success: Story;
7
- export declare const Warning: Story;
8
- export declare const Danger: Story;
9
- export declare const Info: Story;
10
- export declare const Small: Story;
11
- export declare const Large: Story;
12
- export declare const AllVariants: Story;
13
- export declare const AllSizes: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Primary: Story;
6
- export declare const Secondary: Story;
7
- export declare const Danger: Story;
8
- export declare const Disabled: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const SingleDate: Story;
6
- export declare const MultipleDates: Story;
7
- export declare const DateRange: Story;
8
- export declare const WithMinMaxDates: Story;
9
- export declare const WithDisabledDates: Story;
10
- export declare const MondayFirstDay: Story;
11
- export declare const BookingInterface: Story;
12
- export declare const MultipleCalendars: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const WithHeader: Story;
7
- export declare const WithHeaderAndFooter: Story;
8
- export declare const Hoverable: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const Checked: Story;
7
- export declare const Disabled: Story;
8
- export declare const DisabledChecked: Story;
9
- export declare const WithError: Story;
10
- export declare const WithoutLabel: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Basic: Story;
6
- export declare const Empty: Story;
7
- export declare const CustomEmptyText: Story;
8
- export declare const NoHover: Story;
9
- export declare const ProductTable: Story;
10
- export declare const WithCustomSlots: Story;
11
- export declare const LargeDataset: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const WithValue: Story;
7
- export declare const DateRange: Story;
8
- export declare const WithMinMaxDates: Story;
9
- export declare const FormExample: Story;
10
- export declare const LongFormat: Story;
11
- export declare const Disabled: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const WithHeader: Story;
7
- export declare const WithFooter: Story;
8
- export declare const UserMenu: Story;
9
- export declare const Disabled: Story;
10
- export declare const Placements: Story;
@@ -1,15 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const WithAction: Story;
7
- export declare const NoData: Story;
8
- export declare const NoResults: Story;
9
- export declare const EmptyInbox: Story;
10
- export declare const Small: Story;
11
- export declare const Large: Story;
12
- export declare const CustomIcon: Story;
13
- export declare const ErrorState: Story;
14
- export declare const WithCustomSlots: Story;
15
- export declare const AllSizes: Story;
@@ -1,11 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const Required: Story;
7
- export declare const WithError: Story;
8
- export declare const WithTextarea: Story;
9
- export declare const WithSelect: Story;
10
- export declare const CompleteForm: Story;
11
- export declare const NoLabel: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const AllSizes: Story;
7
- export declare const AllWeights: Story;
8
- export declare const Alignment: Story;
9
- export declare const SemanticVsVisual: Story;
10
- export declare const CustomStyling: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const WithValue: Story;
7
- export declare const WithHint: Story;
8
- export declare const WithError: Story;
9
- export declare const Required: Story;
10
- export declare const Disabled: Story;
11
- export declare const Number: Story;
12
- export declare const Password: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const WithFooter: Story;
7
- export declare const Small: Story;
8
- export declare const Large: Story;
9
- export declare const NoClose: Story;
10
- export declare const CustomHeader: Story;
11
- export declare const FormModal: Story;
12
- export declare const ConfirmDialog: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,19 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const Success: Story;
7
- export declare const Warning: Story;
8
- export declare const Danger: Story;
9
- export declare const WithPercentageInBar: Story;
10
- export declare const Thin: Story;
11
- export declare const Thick: Story;
12
- export declare const NoLabel: Story;
13
- export declare const NotAnimated: Story;
14
- export declare const Animated: Story;
15
- export declare const MultipleSteps: Story;
16
- export declare const FileUpload: Story;
17
- export declare const AllVariants: Story;
18
- export declare const AllSizes: Story;
19
- export declare const TaskCompletion: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const WithValue: Story;
7
- export declare const WithHint: Story;
8
- export declare const WithError: Story;
9
- export declare const Required: Story;
10
- export declare const Disabled: Story;
11
- export declare const ManyOptions: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,19 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const WithPrefix: Story;
7
- export declare const WithSuffix: Story;
8
- export declare const Success: Story;
9
- export declare const Warning: Story;
10
- export declare const Danger: Story;
11
- export declare const WithTrendUp: Story;
12
- export declare const WithTrendDown: Story;
13
- export declare const Editable: Story;
14
- export declare const NegativeValue: Story;
15
- export declare const LargeNumber: Story;
16
- export declare const Decimal: Story;
17
- export declare const Dashboard: Story;
18
- export declare const EditableDashboard: Story;
19
- export declare const AllVariants: Story;
@@ -1,8 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const Variants: Story;
7
- export declare const Sizes: Story;
8
- export declare const SkillTags: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- import type { StoryObj } from '@storybook/vue3';
2
- declare const meta: ComponentAnnotations<import("@storybook/vue3").VueRenderer, TCmpOrArgs extends Constructor<any> ? any : TCmpOrArgs extends import("vue").FunctionalComponent<any, {}, any, {}> ? any : TCmpOrArgs>;
3
- export default meta;
4
- type Story = StoryObj<typeof meta>;
5
- export declare const Default: Story;
6
- export declare const WithValue: Story;
7
- export declare const WithHint: Story;
8
- export declare const WithError: Story;
9
- export declare const Required: Story;
10
- export declare const Disabled: Story;
11
- export declare const CustomRows: Story;
12
- export declare const LargeTextArea: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,33 +0,0 @@
1
- export { default as Button } from './Button/Button.vue';
2
- export type { ButtonProps } from './Button/types';
3
- export { default as Badge } from './Badge/Badge.vue';
4
- export { default as Calendar } from './Calendar/Calendar.vue';
5
- export type { CalendarProps, CalendarDay } from './Calendar/types';
6
- export { default as Card } from './Card/Card.vue';
7
- export type { CardProps } from './Card/types';
8
- export { default as Checkbox } from './Checkbox/Checkbox.vue';
9
- export type { CheckboxProps } from './Checkbox/types';
10
- export { default as DataTable } from './DataTable/DataTable.vue';
11
- export type { DataTableProps, DataTableColumn } from './DataTable/types';
12
- export { default as DatePicker } from './DatePicker/DatePicker.vue';
13
- export { default as Dropdown } from './Dropdown/Dropdown.vue';
14
- export type { DropdownProps, DropdownItem } from './Dropdown/types';
15
- export { default as EmptyState } from './EmptyState/EmptyState.vue';
16
- export type { EmptyStateProps } from './EmptyState/types';
17
- export { default as ErrorSummary } from './ErrorSummary/ErrorSummary.vue';
18
- export type { ErrorSummaryItem } from './ErrorSummary/types';
19
- export { default as FormGroup } from './FormGroup/FormGroup.vue';
20
- export { default as Heading } from './Heading/Heading.vue';
21
- export type { HeadingProps } from './Heading/types';
22
- export { default as Input } from './Input/Input.vue';
23
- export type { InputProps } from './Input/types';
24
- export { default as Modal } from './Modal/Modal.vue';
25
- export { default as ProgressBar } from './ProgressBar/ProgressBar.vue';
26
- export { default as Select } from './Select/Select.vue';
27
- export type { SelectProps, SelectOption } from './Select/types';
28
- export { default as StatCard } from './StatCard/StatCard.vue';
29
- export type { StatCardProps } from './StatCard/types';
30
- export { default as Tag } from './Tag/Tag.vue';
31
- export type { TagProps } from './Tag/types';
32
- export { default as TextArea } from './TextArea/TextArea.vue';
33
- export type { TextAreaProps } from './TextArea/types';
package/dist/index.cjs DELETED
@@ -1 +0,0 @@
1
- (function(g,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(g=typeof globalThis<"u"?globalThis:g||self,e(g.VueComponentLibrary={},g.Vue))})(this,(function(g,e){"use strict";const v={key:0,class:"sr-only"},ee=e.defineComponent({__name:"Button",props:{variant:{default:"primary"},disabled:{type:Boolean,default:!1},url:{},target:{default:"_self"}},emits:["click"],setup(t,{emit:c}){const a=t,d=c,s=i=>{a.disabled?(i.preventDefault(),i.stopImmediatePropagation()):d("click",i)};return(i,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.url?"a":"button"),e.mergeProps({href:t.url,target:t.url?t.target:void 0,rel:t.url&&t.target==="_blank"?"noopener noreferrer":void 0,class:["btn",`btn--${t.variant}`,{"btn--disabled":t.disabled}],disabled:!t.url&&t.disabled,"aria-disabled":t.disabled},e.toHandlers(t.url?{}:{click:s})),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default",{},void 0,!0),t.url&&t.target==="_blank"?(e.openBlock(),e.createElementBlock("span",v,"(opens in new window)")):e.createCommentVNode("",!0)]),_:3},16,["href","target","rel","class","disabled","aria-disabled"]))}}),V=(t,c)=>{const a=t.__vccOpts||t;for(const[d,s]of c)a[d]=s;return a},z=V(ee,[["__scopeId","data-v-86500989"]]),P=V(e.defineComponent({__name:"Badge",props:{variant:{default:"primary"},size:{default:"medium"}},setup(t){return(c,a)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["badge",`badge--${t.variant}`,`badge--${t.size}`])},[e.renderSlot(c.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-f310f0d4"]]),te={class:"calendar"},ae={class:"calendar-header"},oe={class:"calendar-title"},le={key:0,class:"calendar-body"},ne={class:"calendar-weekdays"},re={class:"calendar-days"},se=["onClick","disabled"],ce={key:1,class:"calendar-picker"},de={class:"calendar-picker-grid"},ie=["onClick"],me={key:2,class:"calendar-picker"},fe={class:"calendar-picker-nav"},pe={class:"calendar-picker-range"},ke={class:"calendar-picker-grid"},ue=["onClick"],T=V(e.defineComponent({__name:"Calendar",props:{modelValue:{},mode:{default:"single"},minDate:{},maxDate:{},disabledDates:{},locale:{default:"en-US"},firstDayOfWeek:{default:0},initialDate:{}},emits:["update:modelValue"],setup(t,{emit:c}){const a=t,d=c,i=(()=>{if(a.initialDate){const[o,h,r]=a.initialDate.split("-").map(Number);return new Date(o,h-1,r)}if(a.modelValue){if(typeof a.modelValue=="string"){const[o,h,r]=a.modelValue.split("-").map(Number);return new Date(o,h-1,r)}if(typeof a.modelValue=="object"&&"start"in a.modelValue&&a.modelValue.start){const[o,h,r]=a.modelValue.start.split("-").map(Number);return new Date(o,h-1,r)}if(Array.isArray(a.modelValue)&&a.modelValue.length>0){const[o,h,r]=a.modelValue[0].split("-").map(Number);return new Date(o,h-1,r)}}return new Date})(),n=e.ref(i.getMonth()),k=e.ref(i.getFullYear()),l=e.ref(null),m=e.ref(null),f=e.ref(Math.floor(i.getFullYear()/12)*12),B=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],S=["January","February","March","April","May","June","July","August","September","October","November","December"],E=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],x=e.computed(()=>S[n.value]),b=e.computed(()=>{const o=[...E];return a.firstDayOfWeek>0?[...o.slice(a.firstDayOfWeek),...o.slice(0,a.firstDayOfWeek)]:o}),p=e.computed(()=>Array.from({length:12},(o,h)=>f.value+h)),u=e.computed(()=>{const o=f.value,h=o+11;return`${o} - ${h}`}),_=e.computed(()=>{const o=[],h=new Date(k.value,n.value,1),r=new Date(k.value,n.value+1,0);let C=h.getDay()-a.firstDayOfWeek;C<0&&(C+=7);const Z=new Date(k.value,n.value,0).getDate();for(let D=C-1;D>=0;D--){const I=new Date(k.value,n.value-1,Z-D);o.push(y(I,!1))}for(let D=1;D<=r.getDate();D++){const I=new Date(k.value,n.value,D);o.push(y(I,!0))}const Zt=42-o.length;for(let D=1;D<=Zt;D++){const I=new Date(k.value,n.value+1,D);o.push(y(I,!1))}return o}),y=(o,h)=>{const r=$(o),C=$(new Date);return{date:o,dateString:r,isCurrentMonth:h,isToday:r===C,isSelected:w(r),isDisabled:N(r),isInRange:M(r)}},$=o=>{const h=o.getFullYear(),r=String(o.getMonth()+1).padStart(2,"0"),C=String(o.getDate()).padStart(2,"0");return`${h}-${r}-${C}`},w=o=>a.modelValue?a.mode==="single"?a.modelValue===o:a.mode==="multiple"&&Array.isArray(a.modelValue)?a.modelValue.includes(o):a.mode==="range"&&typeof a.modelValue=="object"&&"start"in a.modelValue?o===a.modelValue.start||o===a.modelValue.end:!1:!1,N=o=>{var h;return!!(a.minDate&&o<a.minDate||a.maxDate&&o>a.maxDate||(h=a.disabledDates)!=null&&h.includes(o))},M=o=>{if(a.mode!=="range"||typeof a.modelValue!="object"||!("start"in a.modelValue))return!1;const{start:h,end:r}=a.modelValue;return!h||!r?!1:o>h&&o<r},Wt=o=>{if(!o.isDisabled){if(a.mode==="single")d("update:modelValue",o.dateString);else if(a.mode==="multiple"){const h=Array.isArray(a.modelValue)?[...a.modelValue]:[],r=h.indexOf(o.dateString);r>-1?h.splice(r,1):h.push(o.dateString),d("update:modelValue",h)}else if(a.mode==="range")if(!m.value)m.value=o.dateString,d("update:modelValue",{start:o.dateString,end:o.dateString});else{const h=m.value<o.dateString?m.value:o.dateString,r=m.value<o.dateString?o.dateString:m.value;d("update:modelValue",{start:h,end:r}),m.value=null}}},Ht=()=>{n.value===0?(n.value=11,k.value--):n.value--},jt=()=>{n.value===11?(n.value=0,k.value++):n.value++},Ut=()=>{l.value=l.value==="month"?null:"month"},Jt=()=>{l.value!=="year"&&(f.value=Math.floor(k.value/12)*12),l.value=l.value==="year"?null:"year"},Xt=o=>{n.value=o,l.value=null},Gt=o=>{k.value=o,l.value=null},Kt=()=>{f.value-=12},Qt=()=>{f.value+=12};return(o,h)=>(e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",ae,[e.createElementVNode("button",{onClick:e.withModifiers(Ht,["stop"]),class:"calendar-nav",type:"button"}," ‹ "),e.createElementVNode("div",oe,[e.createElementVNode("button",{onClick:e.withModifiers(Ut,["stop"]),class:"calendar-month-btn",type:"button"},e.toDisplayString(x.value),1),e.createElementVNode("button",{onClick:e.withModifiers(Jt,["stop"]),class:"calendar-year-btn",type:"button"},e.toDisplayString(k.value),1)]),e.createElementVNode("button",{onClick:e.withModifiers(jt,["stop"]),class:"calendar-nav",type:"button"}," › ")]),l.value?l.value==="month"?(e.openBlock(),e.createElementBlock("div",ce,[e.createElementVNode("div",de,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(B,(r,C)=>e.createElementVNode("button",{key:r,onClick:e.withModifiers(Z=>Xt(C),["stop"]),type:"button",class:e.normalizeClass(["calendar-picker-item",{"calendar-picker-item--selected":C===n.value}])},e.toDisplayString(r),11,ie)),64))])])):l.value==="year"?(e.openBlock(),e.createElementBlock("div",me,[e.createElementVNode("div",fe,[e.createElementVNode("button",{onClick:e.withModifiers(Kt,["stop"]),class:"calendar-nav",type:"button"}," ‹ "),e.createElementVNode("span",pe,e.toDisplayString(u.value),1),e.createElementVNode("button",{onClick:e.withModifiers(Qt,["stop"]),class:"calendar-nav",type:"button"}," › ")]),e.createElementVNode("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,r=>(e.openBlock(),e.createElementBlock("button",{key:r,onClick:e.withModifiers(C=>Gt(r),["stop"]),type:"button",class:e.normalizeClass(["calendar-picker-item",{"calendar-picker-item--selected":r===k.value}])},e.toDisplayString(r),11,ue))),128))])])):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",le,[e.createElementVNode("div",ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,r=>(e.openBlock(),e.createElementBlock("div",{key:r,class:"calendar-weekday"},e.toDisplayString(r),1))),128))]),e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,r=>(e.openBlock(),e.createElementBlock("button",{key:r.dateString,onClick:C=>Wt(r),type:"button",disabled:r.isDisabled,class:e.normalizeClass(["calendar-day",{"calendar-day--other-month":!r.isCurrentMonth,"calendar-day--today":r.isToday,"calendar-day--selected":r.isSelected,"calendar-day--disabled":r.isDisabled,"calendar-day--in-range":r.isInRange}])},e.toDisplayString(r.date.getDate()),11,se))),128))])]))]))}}),[["__scopeId","data-v-446fa187"]]),he={key:0,class:"card__header"},ye={class:"card__body"},be={key:1,class:"card__footer"},L=V(e.defineComponent({__name:"Card",props:{hoverable:{type:Boolean,default:!1}},setup(t){return(c,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["card",{"card--hoverable":t.hoverable}])},[c.$slots.header?(e.openBlock(),e.createElementBlock("div",he,[e.renderSlot(c.$slots,"header",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",ye,[e.renderSlot(c.$slots,"default",{},void 0,!0)]),c.$slots.footer?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(c.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-3c027648"]]),ge={class:"checkbox-wrapper"},Ve=["checked","disabled","required"],Be={key:0,class:"checkbox-text"},_e={key:0,class:"checkbox-error"},O=V(e.defineComponent({__name:"Checkbox",props:{modelValue:{type:Boolean,default:!1},label:{},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{}},emits:["update:modelValue"],setup(t,{emit:c}){const a=c,d=s=>{const i=s.target;a("update:modelValue",i.checked)};return(s,i)=>(e.openBlock(),e.createElementBlock("div",ge,[e.createElementVNode("label",{class:e.normalizeClass(["checkbox-label",{"checkbox-label--disabled":t.disabled}])},[e.createElementVNode("input",{type:"checkbox",class:"checkbox-input",checked:t.modelValue,disabled:t.disabled,required:t.required,onChange:d},null,40,Ve),i[0]||(i[0]=e.createElementVNode("span",{class:"checkbox-box"},null,-1)),t.label?(e.openBlock(),e.createElementBlock("span",Be,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],2),t.error?(e.openBlock(),e.createElementBlock("span",_e,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-ce644bb9"]]),$e={class:"data-table"},Ee={class:"data-table__wrapper"},Ce={class:"data-table__table"},De={class:"data-table__head"},we=["onClick"],Ne={class:"data-table__header-content"},Se={key:0,class:"data-table__sort-icon"},xe={key:0},Ie={key:1,class:"data-table__sort-icon--inactive"},Me={key:0},Te=["colspan"],F=V(e.defineComponent({__name:"DataTable",props:{columns:{},data:{},hoverable:{type:Boolean,default:!0},emptyText:{default:"No data available"}},setup(t){const c=t,a=e.ref(null),d=e.ref("asc"),s=n=>{a.value===n?d.value=d.value==="asc"?"desc":"asc":(a.value=n,d.value="asc")},i=e.computed(()=>a.value?[...c.data].sort((n,k)=>{const l=n[a.value],m=k[a.value];if(l===m)return 0;let f=0;return typeof l=="number"&&typeof m=="number"?f=l-m:f=String(l).localeCompare(String(m)),d.value==="asc"?f:-f}):c.data);return(n,k)=>(e.openBlock(),e.createElementBlock("div",$e,[e.createElementVNode("div",Ee,[e.createElementVNode("table",Ce,[e.createElementVNode("thead",De,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,l=>(e.openBlock(),e.createElementBlock("th",{key:l.key,class:e.normalizeClass(["data-table__header",{"data-table__header--sortable":l.sortable}]),onClick:m=>l.sortable?s(l.key):void 0},[e.createElementVNode("div",Ne,[e.createTextVNode(e.toDisplayString(l.label)+" ",1),l.sortable?(e.openBlock(),e.createElementBlock("span",Se,[a.value===l.key?(e.openBlock(),e.createElementBlock("span",xe,e.toDisplayString(d.value==="asc"?"↑":"↓"),1)):(e.openBlock(),e.createElementBlock("span",Ie,"↕"))])):e.createCommentVNode("",!0)])],10,we))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(l,m)=>(e.openBlock(),e.createElementBlock("tr",{key:m,class:"data-table__row"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,f=>(e.openBlock(),e.createElementBlock("td",{key:f.key,class:"data-table__cell"},[e.renderSlot(n.$slots,`cell-${f.key}`,{row:l,value:l[f.key]},()=>[e.createTextVNode(e.toDisplayString(l[f.key]),1)],!0)]))),128))]))),128)),i.value.length===0?(e.openBlock(),e.createElementBlock("tr",Me,[e.createElementVNode("td",{colspan:t.columns.length,class:"data-table__cell data-table__cell--empty"},e.toDisplayString(t.emptyText),9,Te)])):e.createCommentVNode("",!0)])])])]))}}),[["__scopeId","data-v-511dc0a4"]]),ze=["id","value","placeholder","disabled"],Pe={key:0,class:"date-error"},A=V(e.defineComponent({__name:"DatePicker",props:{modelValue:{},id:{},placeholder:{default:"Select date"},disabled:{type:Boolean},format:{default:"short"},error:{},mode:{default:"single"},minDate:{},maxDate:{},disabledDates:{},locale:{},firstDayOfWeek:{default:0},initialDate:{}},emits:["update:modelValue"],setup(t,{emit:c}){const a=t,d=c,s=e.ref(!1);let i=0;const n=`date-input-${++i}`,k=e.computed(()=>a.id||n),l=e.ref(null),m=e.ref(null),f=e.ref({top:"0px",left:"0px",width:"320px"}),B=e.ref(a.modelValue);e.watch(()=>a.modelValue,y=>{B.value=y},{immediate:!0});const S=e.computed(()=>{if(!a.modelValue)return"";if(a.mode==="single"&&typeof a.modelValue=="string")return E(a.modelValue);if(a.mode==="multiple"&&Array.isArray(a.modelValue))return a.modelValue.map(y=>E(y)).join(", ");if(a.mode==="range"&&typeof a.modelValue=="object"&&"start"in a.modelValue){const{start:y,end:$}=a.modelValue;if(y&&$)return`${E(y)} - ${E($)}`;if(y)return E(y)}return""}),E=y=>{const[$,w,N]=y.split("-").map(Number),M=new Date($,w-1,N);return a.format==="long"?M.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}):M.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})},x=()=>{a.disabled||(s.value?p():b())},b=()=>{s.value=!0,setTimeout(()=>{if(l.value){const y=l.value.getBoundingClientRect(),w=window.innerHeight-y.bottom,N=400;w<N&&y.top>N?f.value={top:`${y.top-N+window.scrollY}px`,left:`${y.left+window.scrollX}px`,width:"320px"}:f.value={top:`${y.bottom+4+window.scrollY}px`,left:`${y.left+window.scrollX}px`,width:"320px"}}},0)},p=()=>{s.value=!1},u=y=>{B.value=y,d("update:modelValue",y),a.mode==="single"&&setTimeout(()=>{p()},200),a.mode==="range"&&typeof y=="object"&&"start"in y&&y.end&&setTimeout(()=>{p()},200)},_=y=>{var w,N;if(!s.value)return;const $=y.target;(w=l.value)!=null&&w.contains($)||(N=m.value)!=null&&N.contains($)||p()};return e.onMounted(()=>{document.addEventListener("click",_)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",_)}),(y,$)=>(e.openBlock(),e.createElementBlock("div",{class:"date-picker",ref_key:"datePickerRef",ref:l},[e.createElementVNode("div",{class:"date-picker-input",onClick:x},[e.createElementVNode("input",{type:"text",id:k.value,value:S.value,placeholder:t.placeholder,readonly:"",disabled:t.disabled,class:e.normalizeClass(["date-input",{"date-input--error":t.error}])},null,10,ze),$[1]||($[1]=e.createElementVNode("span",{class:"date-icon"},"📅",-1))]),t.error?(e.openBlock(),e.createElementBlock("span",Pe,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:m,class:"date-picker-dropdown",style:e.normalizeStyle(f.value)},[e.createVNode(T,{modelValue:B.value,"onUpdate:modelValue":[$[0]||($[0]=w=>B.value=w),u],mode:t.mode,"min-date":t.minDate,"max-date":t.maxDate,"disabled-dates":t.disabledDates,"first-day-of-week":t.firstDayOfWeek,"initial-date":typeof t.modelValue=="string"?t.modelValue:void 0},null,8,["modelValue","mode","min-date","max-date","disabled-dates","first-day-of-week","initial-date"])],4)):e.createCommentVNode("",!0)])),s.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"date-picker-overlay",onClick:p})):e.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-0b550c0b"]]),Le={key:0,class:"dropdown__header"},Oe={class:"dropdown__content"},Fe={key:0,class:"dropdown__divider"},Ae=["disabled","onClick"],Re={key:0,class:"dropdown__item-icon"},qe={class:"dropdown__item-label"},Ye={key:1,class:"dropdown__footer"},R=V(e.defineComponent({__name:"Dropdown",props:{items:{default:()=>[]},placement:{default:"bottom-left"},closeOnClick:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["select","open","close"],setup(t,{emit:c}){const a=t,d=c,s=e.ref(null),i=e.ref(null),n=e.ref(!1),k=e.ref({}),l=()=>{a.disabled||(n.value?f():m())},m=()=>{n.value=!0,d("open"),setTimeout(()=>{B()},0)},f=()=>{n.value=!1,d("close")},B=()=>{if(!s.value||!i.value)return;const b=s.value.getBoundingClientRect(),p=i.value.getBoundingClientRect();let u=0,_=0;switch(a.placement){case"bottom-left":u=b.bottom+8,_=b.left;break;case"bottom-right":u=b.bottom+8,_=b.right-p.width;break;case"top-left":u=b.top-p.height-8,_=b.left;break;case"top-right":u=b.top-p.height-8,_=b.right-p.width;break}k.value={top:`${u}px`,left:`${_}px`}},S=b=>{b.disabled||(d("select",b),a.closeOnClick&&f())},E=b=>{b.stopPropagation()},x=b=>{if(!s.value||!i.value)return;const p=b.target;!s.value.contains(p)&&!i.value.contains(p)&&f()};return e.onMounted(()=>{document.addEventListener("click",x),window.addEventListener("scroll",B,!0),window.addEventListener("resize",B)}),e.onUnmounted(()=>{document.removeEventListener("click",x),window.removeEventListener("scroll",B,!0),window.removeEventListener("resize",B)}),(b,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:s,class:e.normalizeClass(["dropdown",{"dropdown--disabled":t.disabled}])},[e.createElementVNode("div",{onClick:l,class:"dropdown__trigger"},[e.renderSlot(b.$slots,"trigger",{},()=>[p[0]||(p[0]=e.createElementVNode("button",{type:"button",class:"dropdown__button"}," Menu ",-1))],!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"dropdown-fade"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownMenuRef",ref:i,class:e.normalizeClass(["dropdown__menu",`dropdown__menu--${t.placement}`]),style:e.normalizeStyle(k.value),onClick:E},[b.$slots.header?(e.openBlock(),e.createElementBlock("div",Le,[e.renderSlot(b.$slots,"header",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Oe,[e.renderSlot(b.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(u,_)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:_},[u.divider?(e.openBlock(),e.createElementBlock("div",Fe)):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass(["dropdown__item",{"dropdown__item--disabled":u.disabled}]),disabled:u.disabled,onClick:()=>S(u)},[u.icon?(e.openBlock(),e.createElementBlock("span",Re,e.toDisplayString(u.icon),1)):e.createCommentVNode("",!0),e.createElementVNode("span",qe,e.toDisplayString(u.label),1)],10,Ae))],64))),128))],!0)]),b.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ye,[e.renderSlot(b.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],6)):e.createCommentVNode("",!0)]),_:3})]))],2))}}),[["__scopeId","data-v-d2e8b407"]]),We={key:0,class:"empty-state__icon"},He={class:"empty-state__icon-text"},je={class:"empty-state__content"},Ue={key:0,class:"empty-state__title"},Je={key:1,class:"empty-state__description"},Xe={key:2,class:"empty-state__body"},Ge={key:1,class:"empty-state__actions"},q=V(e.defineComponent({__name:"EmptyState",props:{title:{default:""},description:{default:""},icon:{default:""},actionText:{default:""},actionVariant:{default:"primary"},size:{default:"medium"}},emits:["action"],setup(t,{emit:c}){const a=c,d=()=>{a("action")};return(s,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["empty-state",`empty-state--${t.size}`])},[t.icon||s.$slots.icon?(e.openBlock(),e.createElementBlock("div",We,[e.renderSlot(s.$slots,"icon",{},()=>[e.createElementVNode("span",He,e.toDisplayString(t.icon),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",je,[t.title||s.$slots.title?(e.openBlock(),e.createElementBlock("h3",Ue,[e.renderSlot(s.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)])):e.createCommentVNode("",!0),t.description||s.$slots.description?(e.openBlock(),e.createElementBlock("p",Je,[e.renderSlot(s.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)],!0)])):e.createCommentVNode("",!0),s.$slots.default?(e.openBlock(),e.createElementBlock("div",Xe,[e.renderSlot(s.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)]),t.actionText||s.$slots.action?(e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(s.$slots,"action",{},()=>[t.actionText?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["empty-state__button",`empty-state__button--${t.actionVariant}`]),onClick:d},e.toDisplayString(t.actionText),3)):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-24e65287"]]),Ke={key:0,class:"error-summary",role:"alert","aria-live":"assertive"},Qe={class:"error-summary__header"},Ze={class:"error-summary__title"},ve={class:"error-summary__subtitle"},et={key:0},tt={class:"error-summary__list"},at=["href"],Y=V(e.defineComponent({__name:"ErrorSummary",props:{title:{default:"There is a problem"},errors:{}},setup(t){return(c,a)=>t.errors.length?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("div",Qe,[a[1]||(a[1]=e.createElementVNode("span",{class:"error-summary__icon"},"⚠️",-1)),e.createElementVNode("div",null,[e.createElementVNode("h4",Ze,e.toDisplayString(t.title),1),e.createElementVNode("p",ve,[e.createTextVNode("Please fix the following "+e.toDisplayString(t.errors.length)+" issue",1),t.errors.length!==1?(e.openBlock(),e.createElementBlock("span",et,"s")):e.createCommentVNode("",!0),a[0]||(a[0]=e.createTextVNode(":",-1))])])]),e.createElementVNode("ul",tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.errors,d=>(e.openBlock(),e.createElementBlock("li",{key:d.id,class:"error-summary__item"},[e.createElementVNode("a",{href:`#${d.id}`,class:"error-summary__link"},e.toDisplayString(d.message),9,at)]))),128))])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-2eeef3a2"]]),ot=["for"],lt={key:1,class:"form-group__hint"},nt={key:2,class:"form-group__error"},W=V(e.defineComponent({__name:"FormGroup",props:{label:{default:""},id:{default:""},hint:{default:""},error:{default:""},required:{type:Boolean,default:!1}},setup(t){return(c,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-group",{"form-group--error":t.error}])},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-group__label"},e.toDisplayString(t.label),9,ot)):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default",{},void 0,!0),t.hint&&!t.error?(e.openBlock(),e.createElementBlock("small",lt,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0),t.error?(e.openBlock(),e.createElementBlock("small",nt,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-328da37c"]]),H=V(e.defineComponent({__name:"Heading",props:{tag:{default:"h2"},size:{default:"2"},weight:{default:"bold"},align:{default:"left"}},setup(t){return(c,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(["heading",`heading--${t.size}`,`heading--${t.weight}`,{[`heading--${t.align}`]:t.align}])},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default",{},void 0,!0)]),_:3},8,["class"]))}}),[["__scopeId","data-v-507e54e1"]]),rt={class:"input-wrapper"},st=["for"],ct=["id","type","value","placeholder","disabled","required"],dt={key:1,class:"input-error"},it={key:2,class:"input-hint"},j=V(e.defineComponent({__name:"Input",props:{modelValue:{},id:{},label:{},type:{default:"text"},placeholder:{},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{},hint:{}},emits:["update:modelValue"],setup(t,{emit:c}){let a=0;const d=t,s=c,i=`input-${++a}`,n=e.computed(()=>d.id||i),k=l=>{const m=l.target;s("update:modelValue",m.value)};return(l,m)=>(e.openBlock(),e.createElementBlock("div",rt,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:n.value,class:"input-label"},e.toDisplayString(t.label),9,st)):e.createCommentVNode("",!0),e.createElementVNode("input",{id:n.value,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,required:t.required,class:e.normalizeClass(["input-field",{"input-field--error":t.error,"input-field--disabled":t.disabled}]),onInput:k},null,42,ct),t.error?(e.openBlock(),e.createElementBlock("span",dt,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),t.hint&&!t.error?(e.openBlock(),e.createElementBlock("span",it,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-95616b7b"]]),mt={class:"modal-header"},ft={class:"modal-title"},pt={class:"modal-body"},kt={key:0,class:"modal-footer"},U=V(e.defineComponent({__name:"Modal",props:{modelValue:{type:Boolean},title:{default:""},size:{default:"medium"},closable:{type:Boolean,default:!0},closeOnOverlay:{type:Boolean,default:!0}},emits:["update:modelValue","close"],setup(t,{emit:c}){const a=t,d=c,s=()=>{d("update:modelValue",!1),d("close")},i=e.ref(null),n=e.ref(!1),k=e.ref(!1),l=e.ref(0),m=e.ref(0),f=e.ref(null),B=e.ref(null),S=p=>{if(!n.value)return;const u=Math.abs(p.clientX-l.value),_=Math.abs(p.clientY-m.value);(u>5||_>5)&&(k.value=!0)},E=p=>{if(window.removeEventListener("pointermove",S),window.removeEventListener("pointerup",E),!n.value||B.value!=="overlay"){n.value=!1,k.value=!1,B.value=null;return}const u=i.value,_=u&&p.target===u;a.closeOnOverlay&&_&&!k.value&&s(),u&&f.value!==null&&u.hasPointerCapture(f.value)&&u.releasePointerCapture(f.value),f.value=null,n.value=!1,k.value=!1,B.value=null},x=p=>{if(!a.closeOnOverlay||p.target!==p.currentTarget)return;n.value=!0,k.value=!1,B.value="overlay",l.value=p.clientX,m.value=p.clientY;const u=i.value;u&&(f.value=p.pointerId,u.setPointerCapture(p.pointerId)),window.addEventListener("pointermove",S),window.addEventListener("pointerup",E)},b=()=>{B.value="content"};return e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",S),window.removeEventListener("pointerup",E)}),e.watch(()=>a.modelValue,p=>{p?document.body.style.overflow="hidden":document.body.style.overflow=""}),(p,u)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"modal"},{default:e.withCtx(()=>[t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"overlayRef",ref:i,class:"modal-overlay",onPointerdown:e.withModifiers(x,["self"])},[e.createElementVNode("div",{class:e.normalizeClass(["modal-content",[`modal-content--${t.size}`]]),onClick:u[0]||(u[0]=e.withModifiers(()=>{},["stop"])),onPointerdown:e.withModifiers(b,["stop"]),onPointerup:u[1]||(u[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",mt,[e.renderSlot(p.$slots,"header",{},()=>[e.createElementVNode("h3",ft,e.toDisplayString(t.title),1)],!0),t.closable?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:s,class:"modal-close","aria-label":"Close modal"}," × ")):e.createCommentVNode("",!0)]),e.createElementVNode("div",pt,[e.renderSlot(p.$slots,"default",{},void 0,!0)]),p.$slots.footer?(e.openBlock(),e.createElementBlock("div",kt,[e.renderSlot(p.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],34)],544)):e.createCommentVNode("",!0)]),_:3})]))}}),[["__scopeId","data-v-0621c687"]]),ut={class:"progress-bar"},ht={key:0,class:"progress-bar__header"},yt={class:"progress-bar__label"},bt={class:"progress-bar__percentage"},gt={key:0,class:"progress-bar__text"},J=V(e.defineComponent({__name:"ProgressBar",props:{percentage:{default:0},label:{default:""},showLabel:{type:Boolean,default:!0},showPercentageInBar:{type:Boolean,default:!1},height:{default:12},variant:{default:"primary"},animated:{type:Boolean,default:!0}},setup(t){const c=t,a=e.computed(()=>Math.min(Math.max(c.percentage,0),100)),d=e.computed(()=>Math.round(a.value));return(s,i)=>(e.openBlock(),e.createElementBlock("div",ut,[t.showLabel?(e.openBlock(),e.createElementBlock("div",ht,[e.createElementVNode("span",yt,e.toDisplayString(t.label),1),e.createElementVNode("span",bt,e.toDisplayString(d.value)+"%",1)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"progress-bar__track",style:e.normalizeStyle({height:`${t.height}px`})},[e.createElementVNode("div",{class:e.normalizeClass(["progress-bar__fill",[`progress-bar__fill--${t.variant}`,{"progress-bar__fill--animated":t.animated}]]),style:e.normalizeStyle({width:`${a.value}%`})},[t.showPercentageInBar?(e.openBlock(),e.createElementBlock("span",gt,e.toDisplayString(d.value)+"% ",1)):e.createCommentVNode("",!0)],6)],4)]))}}),[["__scopeId","data-v-1ee50aa7"]]),Vt={class:"select-wrapper"},Bt=["for"],_t=["id","value","disabled","required"],$t={key:0,value:"",disabled:""},Et=["value"],Ct={key:1,class:"select-error"},Dt={key:2,class:"select-hint"},X=V(e.defineComponent({__name:"Select",props:{modelValue:{},id:{},label:{},options:{default:()=>[]},placeholder:{},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{},hint:{}},emits:["update:modelValue"],setup(t,{emit:c}){let a=0;const d=t,s=c,i=`select-${++a}`,n=e.computed(()=>d.id||i),k=l=>{const m=l.target;s("update:modelValue",m.value)};return(l,m)=>(e.openBlock(),e.createElementBlock("div",Vt,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:n.value,class:"select-label"},e.toDisplayString(t.label),9,Bt)):e.createCommentVNode("",!0),e.createElementVNode("select",{id:n.value,value:t.modelValue,disabled:t.disabled,required:t.required,class:e.normalizeClass(["select-field",{"select-field--error":t.error,"select-field--disabled":t.disabled,"select-field--placeholder":!t.modelValue||t.modelValue===""}]),onChange:k},[t.placeholder?(e.openBlock(),e.createElementBlock("option",$t,e.toDisplayString(t.placeholder),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,f=>(e.openBlock(),e.createElementBlock("option",{key:f.value,value:f.value},e.toDisplayString(f.label),9,Et))),128))],42,_t),t.error?(e.openBlock(),e.createElementBlock("span",Ct,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),t.hint&&!t.error?(e.openBlock(),e.createElementBlock("span",Dt,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-aeafe36b"]]),wt={class:"stat-card__title"},Nt={key:0,class:"stat-card__input-wrapper"},St={key:0,class:"stat-card__prefix"},xt=["value","placeholder"],It={key:1,class:"stat-card__suffix"},Mt={key:1,class:"stat-card__value-wrapper"},Tt={key:0,class:"stat-card__prefix"},zt={key:1,class:"stat-card__suffix"},Pt={class:"stat-card__trend-icon"},Lt={class:"stat-card__trend-value"},G=V(e.defineComponent({__name:"StatCard",props:{title:{},value:{},variant:{default:"default"},prefix:{default:""},suffix:{default:""},editable:{type:Boolean,default:!1},trend:{}},emits:["input","change"],setup(t,{emit:c}){const a=t,d=c,s=e.computed(()=>typeof a.value=="number"?a.value.toLocaleString():a.value),i=e.computed(()=>typeof a.value=="number"&&a.value<0),n=l=>{const m=l.target,f=m.valueAsNumber||m.value;d("input",f)},k=l=>{const m=l.target,f=m.valueAsNumber||m.value;d("change",f)};return(l,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["stat-card",`stat-card--${t.variant}`])},[e.createElementVNode("h3",wt,e.toDisplayString(t.title),1),t.editable?(e.openBlock(),e.createElementBlock("div",Nt,[t.prefix?(e.openBlock(),e.createElementBlock("span",St,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createElementVNode("input",{value:t.value,onInput:n,onChange:k,type:"number",class:"stat-card__input",placeholder:String(t.value)},null,40,xt),t.suffix?(e.openBlock(),e.createElementBlock("span",It,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Mt,[e.createElementVNode("p",{class:e.normalizeClass(["stat-card__value",{"stat-card__value--negative":i.value}])},[t.prefix?(e.openBlock(),e.createElementBlock("span",Tt,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(s.value),1),t.suffix?(e.openBlock(),e.createElementBlock("span",zt,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)],2),t.trend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["stat-card__trend",`stat-card__trend--${t.trend.direction}`])},[e.createElementVNode("span",Pt,e.toDisplayString(t.trend.direction==="up"?"↑":"↓"),1),e.createElementVNode("span",Lt,e.toDisplayString(Math.abs(t.trend.value))+"%",1)],2)):e.createCommentVNode("",!0)])),e.renderSlot(l.$slots,"footer",{},void 0,!0)],2))}}),[["__scopeId","data-v-7858d875"]]),K=V(e.defineComponent({__name:"Tag",props:{variant:{default:"default"},size:{default:"medium"}},setup(t){return(c,a)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["tag",`tag--${t.variant}`,`tag--${t.size}`])},[e.renderSlot(c.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-df5365be"]]),Ot={class:"textarea-wrapper"},Ft=["for"],At=["id","value","placeholder","disabled","required","rows"],Rt={key:1,class:"textarea-error"},qt={key:2,class:"textarea-hint"},Q=V(e.defineComponent({__name:"TextArea",props:{modelValue:{},id:{},label:{},placeholder:{},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},rows:{default:4},error:{},hint:{}},emits:["update:modelValue"],setup(t,{emit:c}){let a=0;const d=t,s=c,i=`textarea-${++a}`,n=e.computed(()=>d.id||i),k=l=>{const m=l.target;s("update:modelValue",m.value)};return(l,m)=>(e.openBlock(),e.createElementBlock("div",Ot,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:n.value,class:"textarea-label"},e.toDisplayString(t.label),9,Ft)):e.createCommentVNode("",!0),e.createElementVNode("textarea",{id:n.value,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,required:t.required,rows:t.rows,class:e.normalizeClass(["textarea-field",{"textarea-field--error":t.error,"textarea-field--disabled":t.disabled}]),onInput:k},null,42,At),t.error?(e.openBlock(),e.createElementBlock("span",Rt,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),t.hint&&!t.error?(e.openBlock(),e.createElementBlock("span",qt,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-00775f79"]]),Yt={install(t){t.component("VBadge",P),t.component("VButton",z),t.component("VCalendar",T),t.component("VCard",L),t.component("VCheckbox",O),t.component("VDataTable",F),t.component("VDatePicker",A),t.component("VDropdown",R),t.component("VEmptyState",q),t.component("VErrorSummary",Y),t.component("VFormGroup",W),t.component("VHeading",H),t.component("VInput",j),t.component("VModal",U),t.component("VProgressBar",J),t.component("VSelect",X),t.component("VStatCard",G),t.component("VTag",K),t.component("VTextArea",Q)}};g.VBadge=P,g.VButton=z,g.VCalendar=T,g.VCard=L,g.VCheckbox=O,g.VDataTable=F,g.VDatePicker=A,g.VDropdown=R,g.VEmptyState=q,g.VErrorSummary=Y,g.VFormGroup=W,g.VHeading=H,g.VInput=j,g.VModal=U,g.VProgressBar=J,g.VSelect=X,g.VStatCard=G,g.VTag=K,g.VTextArea=Q,g.default=Yt,Object.defineProperties(g,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));