@mrintel/villain-ui 0.7.8 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/components/buttons/Button.svelte.d.ts +1 -1
  2. package/dist/components/buttons/IconButton.svelte.d.ts +1 -1
  3. package/dist/components/buttons/LinkButton.svelte.d.ts +1 -1
  4. package/dist/components/buttons/buttonClasses.d.ts +2 -0
  5. package/dist/components/buttons/buttonClasses.js +2 -1
  6. package/dist/components/cards/SectionHeader.svelte +8 -3
  7. package/dist/components/cards/SectionHeader.svelte.d.ts +1 -0
  8. package/dist/components/data/Data.types.d.ts +10 -0
  9. package/dist/components/data/EmptyState.svelte +42 -0
  10. package/dist/components/data/EmptyState.svelte.d.ts +13 -0
  11. package/dist/components/data/Stat.svelte +30 -2
  12. package/dist/components/data/Stat.svelte.d.ts +9 -0
  13. package/dist/components/data/WeekHeatmap.svelte +150 -0
  14. package/dist/components/data/WeekHeatmap.svelte.d.ts +47 -0
  15. package/dist/components/data/index.d.ts +3 -1
  16. package/dist/components/data/index.js +2 -0
  17. package/dist/components/forms/Checkbox.svelte +27 -21
  18. package/dist/components/forms/Checkbox.svelte.d.ts +2 -0
  19. package/dist/components/forms/DatePicker.svelte +7 -2
  20. package/dist/components/forms/DatePicker.svelte.d.ts +1 -0
  21. package/dist/components/forms/DateTimePicker.svelte +7 -2
  22. package/dist/components/forms/DateTimePicker.svelte.d.ts +1 -0
  23. package/dist/components/forms/FileUpload.svelte +7 -2
  24. package/dist/components/forms/FileUpload.svelte.d.ts +2 -0
  25. package/dist/components/forms/Input.svelte +95 -10
  26. package/dist/components/forms/Input.svelte.d.ts +8 -0
  27. package/dist/components/forms/RadioGroup.svelte +35 -25
  28. package/dist/components/forms/RadioGroup.svelte.d.ts +2 -0
  29. package/dist/components/forms/RangeSlider.svelte +6 -2
  30. package/dist/components/forms/RangeSlider.svelte.d.ts +2 -0
  31. package/dist/components/forms/Select.svelte +39 -30
  32. package/dist/components/forms/Select.svelte.d.ts +1 -0
  33. package/dist/components/forms/SelectMenu.svelte +7 -2
  34. package/dist/components/forms/SelectMenu.svelte.d.ts +1 -0
  35. package/dist/components/forms/Switch.svelte +31 -23
  36. package/dist/components/forms/Switch.svelte.d.ts +2 -0
  37. package/dist/components/forms/Textarea.svelte +28 -19
  38. package/dist/components/forms/Textarea.svelte.d.ts +1 -0
  39. package/dist/components/forms/TimePicker.svelte +7 -2
  40. package/dist/components/forms/TimePicker.svelte.d.ts +1 -0
  41. package/dist/components/overlays/ToastHost.svelte +19 -0
  42. package/dist/components/overlays/ToastHost.svelte.d.ts +8 -0
  43. package/dist/components/overlays/index.d.ts +3 -0
  44. package/dist/components/overlays/index.js +2 -0
  45. package/dist/components/overlays/toast.store.d.ts +32 -0
  46. package/dist/components/overlays/toast.store.js +34 -0
  47. package/dist/components/typography/Heading.svelte +3 -3
  48. package/dist/components/typography/Heading.svelte.d.ts +1 -0
  49. package/dist/components/typography/Text.svelte +2 -2
  50. package/dist/components/typography/Text.svelte.d.ts +1 -0
  51. package/dist/components/wizard/StepForm.svelte +22 -1
  52. package/dist/components/wizard/StepForm.svelte.d.ts +8 -1
  53. package/dist/components/wizard/step.service.js +89 -21
  54. package/dist/components/wizard/step.types.d.ts +32 -0
  55. package/dist/index.d.ts +7 -4
  56. package/dist/index.js +3 -3
  57. package/dist/theme.css +125 -0
  58. package/package.json +1 -1
package/dist/theme.css CHANGED
@@ -9,6 +9,7 @@
9
9
  --color-red-400: oklch(70.4% 0.191 22.216);
10
10
  --color-red-500: oklch(63.7% 0.237 25.331);
11
11
  --color-neutral-400: oklch(70.8% 0 0);
12
+ --color-white: #fff;
12
13
  --spacing: 0.25rem;
13
14
  --breakpoint-sm: 40rem;
14
15
  --breakpoint-md: 48rem;
@@ -29,9 +30,14 @@
29
30
  --text-xl--line-height: 1.75rem;
30
31
  --text-2xl: 1.5rem;
31
32
  --text-2xl--line-height: 2rem;
33
+ --text-3xl: 1.875rem;
34
+ --text-3xl--line-height: 2.25rem;
32
35
  --text-4xl: 2.25rem;
36
+ --text-4xl--line-height: 2.5rem;
33
37
  --text-5xl: 3rem;
34
38
  --text-5xl--line-height: 1;
39
+ --text-6xl: 3.75rem;
40
+ --text-6xl--line-height: 1;
35
41
  --text-9xl: 8rem;
36
42
  --font-weight-medium: 500;
37
43
  --font-weight-semibold: 600;
@@ -40,6 +46,7 @@
40
46
  --tracking-wider: 0.05em;
41
47
  --leading-tight: 1.25;
42
48
  --leading-snug: 1.375;
49
+ --leading-relaxed: 1.625;
43
50
  --radius-sm: 6px;
44
51
  --radius-md: 10px;
45
52
  --radius-lg: 14px;
@@ -378,6 +385,7 @@
378
385
  --duration-300: 300ms;
379
386
  --duration-1000: 1000ms;
380
387
  --opacity-0: 0;
388
+ --opacity-20: 0.2;
381
389
  --opacity-40: 0.4;
382
390
  --opacity-50: 0.5;
383
391
  --opacity-60: 0.6;
@@ -617,6 +625,9 @@
617
625
  .inset-0 {
618
626
  inset: calc(var(--spacing) * 0);
619
627
  }
628
+ .-top-2 {
629
+ top: calc(var(--spacing) * -2);
630
+ }
620
631
  .top-0 {
621
632
  top: calc(var(--spacing) * 0);
622
633
  }
@@ -701,6 +712,9 @@
701
712
  .z-\[var\(--z-50\)\] {
702
713
  z-index: var(--z-50);
703
714
  }
715
+ .col-span-2 {
716
+ grid-column: span 2 / span 2;
717
+ }
704
718
  .container {
705
719
  width: 100%;
706
720
  @media (width >= 40rem) {
@@ -740,6 +754,9 @@
740
754
  .my-2 {
741
755
  margin-block: calc(var(--spacing) * 2);
742
756
  }
757
+ .my-3 {
758
+ margin-block: calc(var(--spacing) * 3);
759
+ }
743
760
  .my-4 {
744
761
  margin-block: calc(var(--spacing) * 4);
745
762
  }
@@ -776,6 +793,9 @@
776
793
  .mt-\[19px\] {
777
794
  margin-top: 19px;
778
795
  }
796
+ .mr-1 {
797
+ margin-right: calc(var(--spacing) * 1);
798
+ }
779
799
  .mr-2 {
780
800
  margin-right: calc(var(--spacing) * 2);
781
801
  }
@@ -791,6 +811,9 @@
791
811
  .mb-4 {
792
812
  margin-bottom: calc(var(--spacing) * 4);
793
813
  }
814
+ .mb-6 {
815
+ margin-bottom: calc(var(--spacing) * 6);
816
+ }
794
817
  .mb-8 {
795
818
  margin-bottom: calc(var(--spacing) * 8);
796
819
  }
@@ -806,6 +829,9 @@
806
829
  .ml-4 {
807
830
  margin-left: calc(var(--spacing) * 4);
808
831
  }
832
+ .ml-8 {
833
+ margin-left: calc(var(--spacing) * 8);
834
+ }
809
835
  .ml-14 {
810
836
  margin-left: calc(var(--spacing) * 14);
811
837
  }
@@ -896,9 +922,15 @@
896
922
  .h-18 {
897
923
  height: var(--spacing-18);
898
924
  }
925
+ .h-20 {
926
+ height: calc(var(--spacing) * 20);
927
+ }
899
928
  .h-24 {
900
929
  height: calc(var(--spacing) * 24);
901
930
  }
931
+ .h-48 {
932
+ height: calc(var(--spacing) * 48);
933
+ }
902
934
  .h-\[60\%\] {
903
935
  height: 60%;
904
936
  }
@@ -974,6 +1006,9 @@
974
1006
  .w-24 {
975
1007
  width: calc(var(--spacing) * 24);
976
1008
  }
1009
+ .w-48 {
1010
+ width: calc(var(--spacing) * 48);
1011
+ }
977
1012
  .w-56 {
978
1013
  width: calc(var(--spacing) * 56);
979
1014
  }
@@ -1097,6 +1132,9 @@
1097
1132
  --tw-scale-y: 100%;
1098
1133
  scale: var(--tw-scale-x) var(--tw-scale-y);
1099
1134
  }
1135
+ .scale-\[1\.02\] {
1136
+ scale: 1.02;
1137
+ }
1100
1138
  .rotate-180 {
1101
1139
  rotate: 180deg;
1102
1140
  }
@@ -1154,6 +1192,9 @@
1154
1192
  .animate-spin {
1155
1193
  animation: var(--animate-spin);
1156
1194
  }
1195
+ .cursor-crosshair {
1196
+ cursor: crosshair;
1197
+ }
1157
1198
  .cursor-default {
1158
1199
  cursor: default;
1159
1200
  }
@@ -1278,6 +1319,11 @@
1278
1319
  .self-stretch {
1279
1320
  align-self: stretch;
1280
1321
  }
1322
+ .truncate {
1323
+ overflow: hidden;
1324
+ text-overflow: ellipsis;
1325
+ white-space: nowrap;
1326
+ }
1281
1327
  .overflow-auto {
1282
1328
  overflow: auto;
1283
1329
  }
@@ -1373,6 +1419,10 @@
1373
1419
  border-left-style: var(--tw-border-style);
1374
1420
  border-left-width: 2px;
1375
1421
  }
1422
+ .border-dashed {
1423
+ --tw-border-style: dashed;
1424
+ border-style: dashed;
1425
+ }
1376
1426
  .border-none {
1377
1427
  --tw-border-style: none;
1378
1428
  border-style: none;
@@ -1482,6 +1532,12 @@
1482
1532
  .bg-\[var\(--color-base-3\)\] {
1483
1533
  background-color: var(--color-base-3);
1484
1534
  }
1535
+ .bg-\[var\(--color-error\)\] {
1536
+ background-color: var(--color-error);
1537
+ }
1538
+ .bg-\[var\(--color-error-overlay-10\)\] {
1539
+ background-color: var(--color-error-overlay-10);
1540
+ }
1485
1541
  .bg-\[var\(--color-error-overlay-15\)\] {
1486
1542
  background-color: var(--color-error-overlay-15);
1487
1543
  }
@@ -1530,6 +1586,15 @@
1530
1586
  .bg-accent-overlay-10 {
1531
1587
  background-color: var(--color-accent-overlay-10);
1532
1588
  }
1589
+ .bg-accent\/20 {
1590
+ background-color: color-mix(in srgb, #6b21a8 0.2, transparent);
1591
+ @supports (color: color-mix(in lab, red, red)) {
1592
+ background-color: color-mix(in oklab, var(--color-accent) var(--opacity-20), transparent);
1593
+ }
1594
+ }
1595
+ .bg-base-1 {
1596
+ background-color: var(--color-base-1);
1597
+ }
1533
1598
  .bg-base-2 {
1534
1599
  background-color: var(--color-base-2);
1535
1600
  }
@@ -1548,6 +1613,9 @@
1548
1613
  .bg-transparent {
1549
1614
  background-color: transparent;
1550
1615
  }
1616
+ .bg-white {
1617
+ background-color: var(--color-white);
1618
+ }
1551
1619
  .bg-\[length\:16px\] {
1552
1620
  background-size: 16px;
1553
1621
  }
@@ -1623,9 +1691,21 @@
1623
1691
  .py-3\.5 {
1624
1692
  padding-block: calc(var(--spacing) * 3.5);
1625
1693
  }
1694
+ .py-4 {
1695
+ padding-block: calc(var(--spacing) * 4);
1696
+ }
1697
+ .py-6 {
1698
+ padding-block: calc(var(--spacing) * 6);
1699
+ }
1626
1700
  .py-8 {
1627
1701
  padding-block: calc(var(--spacing) * 8);
1628
1702
  }
1703
+ .py-12 {
1704
+ padding-block: calc(var(--spacing) * 12);
1705
+ }
1706
+ .py-20 {
1707
+ padding-block: calc(var(--spacing) * 20);
1708
+ }
1629
1709
  .pt-0\.5 {
1630
1710
  padding-top: calc(var(--spacing) * 0.5);
1631
1711
  }
@@ -1665,10 +1745,25 @@
1665
1745
  .font-body {
1666
1746
  font-family: var(--font-body);
1667
1747
  }
1748
+ .font-mono {
1749
+ font-family: var(--font-mono);
1750
+ }
1751
+ .text-3xl {
1752
+ font-size: var(--text-3xl);
1753
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
1754
+ }
1755
+ .text-4xl {
1756
+ font-size: var(--text-4xl);
1757
+ line-height: var(--tw-leading, var(--text-4xl--line-height));
1758
+ }
1668
1759
  .text-5xl {
1669
1760
  font-size: var(--text-5xl);
1670
1761
  line-height: var(--tw-leading, var(--text-5xl--line-height));
1671
1762
  }
1763
+ .text-6xl {
1764
+ font-size: var(--text-6xl);
1765
+ line-height: var(--tw-leading, var(--text-6xl--line-height));
1766
+ }
1672
1767
  .text-base {
1673
1768
  font-size: var(--text-base);
1674
1769
  line-height: var(--tw-leading, var(--text-base--line-height));
@@ -1710,6 +1805,10 @@
1710
1805
  .text-\[length\:var\(--text-xs\)\] {
1711
1806
  font-size: var(--text-xs);
1712
1807
  }
1808
+ .leading-relaxed {
1809
+ --tw-leading: var(--leading-relaxed);
1810
+ line-height: var(--leading-relaxed);
1811
+ }
1713
1812
  .leading-snug {
1714
1813
  --tw-leading: var(--leading-snug);
1715
1814
  line-height: var(--leading-snug);
@@ -1749,6 +1848,9 @@
1749
1848
  .whitespace-nowrap {
1750
1849
  white-space: nowrap;
1751
1850
  }
1851
+ .whitespace-pre-wrap {
1852
+ white-space: pre-wrap;
1853
+ }
1752
1854
  .text-\[\#60a5fa\] {
1753
1855
  color: #60a5fa;
1754
1856
  }
@@ -1833,6 +1935,9 @@
1833
1935
  .text-warning {
1834
1936
  color: var(--color-warning);
1835
1937
  }
1938
+ .text-white {
1939
+ color: var(--color-white);
1940
+ }
1836
1941
  .lowercase {
1837
1942
  text-transform: lowercase;
1838
1943
  }
@@ -1886,6 +1991,10 @@
1886
1991
  --tw-shadow: 0 0 12px var(--tw-shadow-color, var(--step-error-glow));
1887
1992
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1888
1993
  }
1994
+ .shadow-\[0_0_20px_var\(--color-error-overlay-30\)\] {
1995
+ --tw-shadow: 0 0 20px var(--tw-shadow-color, var(--color-error-overlay-30));
1996
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1997
+ }
1889
1998
  .shadow-\[0_0_20px_var\(--step-active-glow\)\] {
1890
1999
  --tw-shadow: 0 0 20px var(--tw-shadow-color, var(--step-active-glow));
1891
2000
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1902,6 +2011,10 @@
1902
2011
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1903
2012
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1904
2013
  }
2014
+ .ring {
2015
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2016
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2017
+ }
1905
2018
  .ring-2 {
1906
2019
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1907
2020
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2066,6 +2179,13 @@
2066
2179
  }
2067
2180
  }
2068
2181
  }
2182
+ .hover\:scale-\[1\.01\] {
2183
+ &:hover {
2184
+ @media (hover: hover) {
2185
+ scale: 1.01;
2186
+ }
2187
+ }
2188
+ }
2069
2189
  .hover\:scale-\[1\.02\] {
2070
2190
  &:hover {
2071
2191
  @media (hover: hover) {
@@ -2293,6 +2413,11 @@
2293
2413
  }
2294
2414
  }
2295
2415
  }
2416
+ .sm\:flex-row {
2417
+ @media (width >= 40rem) {
2418
+ flex-direction: row;
2419
+ }
2420
+ }
2296
2421
  .md\:ml-64 {
2297
2422
  @media (width >= 48rem) {
2298
2423
  margin-left: calc(var(--spacing) * 64);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrintel/villain-ui",
3
- "version": "0.7.8",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "A luxury Svelte 5 component library with a distinctive dark aesthetic, built with TypeScript and Tailwind CSS v4",