tyrell-components 1.0.0-RC10 → 1.0.0-RC12

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 (182) hide show
  1. package/css/tyrell-brand.css +531 -283
  2. package/css/tyrell.css +38 -31
  3. package/dist/tyrell-brand.css +531 -283
  4. package/dist/tyrell.css +38 -31
  5. package/dist/tyrell.js +1 -1
  6. package/lib/base/ty-component.d.ts +7 -0
  7. package/lib/base/ty-component.d.ts.map +1 -1
  8. package/lib/base/ty-component.js +27 -0
  9. package/lib/base/ty-component.js.map +1 -1
  10. package/lib/components/button.d.ts +9 -1
  11. package/lib/components/button.d.ts.map +1 -1
  12. package/lib/components/button.js +22 -3
  13. package/lib/components/button.js.map +1 -1
  14. package/lib/components/calendar-month.d.ts +6 -0
  15. package/lib/components/calendar-month.d.ts.map +1 -1
  16. package/lib/components/calendar-month.js +52 -9
  17. package/lib/components/calendar-month.js.map +1 -1
  18. package/lib/components/calendar-navigation.d.ts +31 -5
  19. package/lib/components/calendar-navigation.d.ts.map +1 -1
  20. package/lib/components/calendar-navigation.js +71 -31
  21. package/lib/components/calendar-navigation.js.map +1 -1
  22. package/lib/components/calendar.d.ts +14 -1
  23. package/lib/components/calendar.d.ts.map +1 -1
  24. package/lib/components/calendar.js +65 -4
  25. package/lib/components/calendar.js.map +1 -1
  26. package/lib/components/checkbox.d.ts +10 -0
  27. package/lib/components/checkbox.d.ts.map +1 -1
  28. package/lib/components/checkbox.js +68 -27
  29. package/lib/components/checkbox.js.map +1 -1
  30. package/lib/components/copy.d.ts +10 -0
  31. package/lib/components/copy.d.ts.map +1 -1
  32. package/lib/components/copy.js +25 -4
  33. package/lib/components/copy.js.map +1 -1
  34. package/lib/components/date-picker.d.ts +14 -0
  35. package/lib/components/date-picker.d.ts.map +1 -1
  36. package/lib/components/date-picker.js +29 -0
  37. package/lib/components/date-picker.js.map +1 -1
  38. package/lib/components/input.d.ts +14 -0
  39. package/lib/components/input.d.ts.map +1 -1
  40. package/lib/components/input.js +80 -4
  41. package/lib/components/input.js.map +1 -1
  42. package/lib/components/modal.js +6 -0
  43. package/lib/components/modal.js.map +1 -1
  44. package/lib/components/option.d.ts +0 -16
  45. package/lib/components/option.d.ts.map +1 -1
  46. package/lib/components/option.js +9 -1
  47. package/lib/components/option.js.map +1 -1
  48. package/lib/components/radio.d.ts +1 -0
  49. package/lib/components/radio.d.ts.map +1 -1
  50. package/lib/components/radio.js +39 -8
  51. package/lib/components/radio.js.map +1 -1
  52. package/lib/components/scroll-container.d.ts +16 -0
  53. package/lib/components/scroll-container.d.ts.map +1 -1
  54. package/lib/components/scroll-container.js +105 -1
  55. package/lib/components/scroll-container.js.map +1 -1
  56. package/lib/components/{multiselect.d.ts → select.d.ts} +110 -67
  57. package/lib/components/select.d.ts.map +1 -0
  58. package/lib/components/{multiselect.js → select.js} +642 -490
  59. package/lib/components/select.js.map +1 -0
  60. package/lib/components/selected-tags.d.ts +80 -0
  61. package/lib/components/selected-tags.d.ts.map +1 -0
  62. package/lib/components/selected-tags.js +250 -0
  63. package/lib/components/selected-tags.js.map +1 -0
  64. package/lib/components/switch.d.ts +2 -0
  65. package/lib/components/switch.d.ts.map +1 -1
  66. package/lib/components/switch.js +37 -7
  67. package/lib/components/switch.js.map +1 -1
  68. package/lib/components/tabs.d.ts.map +1 -1
  69. package/lib/components/tabs.js +10 -0
  70. package/lib/components/tabs.js.map +1 -1
  71. package/lib/components/tag.d.ts +9 -1
  72. package/lib/components/tag.d.ts.map +1 -1
  73. package/lib/components/tag.js +40 -4
  74. package/lib/components/tag.js.map +1 -1
  75. package/lib/components/textarea.d.ts +3 -0
  76. package/lib/components/textarea.d.ts.map +1 -1
  77. package/lib/components/textarea.js +61 -6
  78. package/lib/components/textarea.js.map +1 -1
  79. package/lib/index.d.ts +2 -2
  80. package/lib/index.d.ts.map +1 -1
  81. package/lib/index.js +2 -2
  82. package/lib/index.js.map +1 -1
  83. package/lib/styles/button.d.ts +7 -2
  84. package/lib/styles/button.d.ts.map +1 -1
  85. package/lib/styles/button.js +75 -238
  86. package/lib/styles/button.js.map +1 -1
  87. package/lib/styles/calendar-month.d.ts +1 -1
  88. package/lib/styles/calendar-month.d.ts.map +1 -1
  89. package/lib/styles/calendar-month.js +44 -66
  90. package/lib/styles/calendar-month.js.map +1 -1
  91. package/lib/styles/calendar-navigation.d.ts +1 -1
  92. package/lib/styles/calendar-navigation.d.ts.map +1 -1
  93. package/lib/styles/calendar-navigation.js +19 -27
  94. package/lib/styles/calendar-navigation.js.map +1 -1
  95. package/lib/styles/checkbox.d.ts +5 -5
  96. package/lib/styles/checkbox.d.ts.map +1 -1
  97. package/lib/styles/checkbox.js +147 -8
  98. package/lib/styles/checkbox.js.map +1 -1
  99. package/lib/styles/copy.d.ts +1 -1
  100. package/lib/styles/copy.d.ts.map +1 -1
  101. package/lib/styles/copy.js +32 -0
  102. package/lib/styles/copy.js.map +1 -1
  103. package/lib/styles/date-picker.d.ts +1 -1
  104. package/lib/styles/date-picker.d.ts.map +1 -1
  105. package/lib/styles/date-picker.js +12 -4
  106. package/lib/styles/date-picker.js.map +1 -1
  107. package/lib/styles/input.d.ts +1 -1
  108. package/lib/styles/input.d.ts.map +1 -1
  109. package/lib/styles/input.js +28 -298
  110. package/lib/styles/input.js.map +1 -1
  111. package/lib/styles/option.d.ts +1 -1
  112. package/lib/styles/option.d.ts.map +1 -1
  113. package/lib/styles/option.js +29 -5
  114. package/lib/styles/option.js.map +1 -1
  115. package/lib/styles/radio.d.ts +1 -1
  116. package/lib/styles/radio.d.ts.map +1 -1
  117. package/lib/styles/scroll-container.d.ts +1 -1
  118. package/lib/styles/scroll-container.d.ts.map +1 -1
  119. package/lib/styles/scroll-container.js +6 -0
  120. package/lib/styles/scroll-container.js.map +1 -1
  121. package/lib/styles/select.d.ts +12 -0
  122. package/lib/styles/select.d.ts.map +1 -0
  123. package/lib/styles/select.js +240 -0
  124. package/lib/styles/select.js.map +1 -0
  125. package/lib/styles/switch.d.ts +1 -1
  126. package/lib/styles/switch.d.ts.map +1 -1
  127. package/lib/styles/tag.d.ts +1 -1
  128. package/lib/styles/tag.d.ts.map +1 -1
  129. package/lib/styles/tag.js +36 -140
  130. package/lib/styles/tag.js.map +1 -1
  131. package/lib/styles/textarea.d.ts +1 -1
  132. package/lib/styles/textarea.d.ts.map +1 -1
  133. package/lib/styles/textarea.js +67 -33
  134. package/lib/styles/textarea.js.map +1 -1
  135. package/lib/types/common.d.ts +2 -1
  136. package/lib/types/common.d.ts.map +1 -1
  137. package/lib/types/common.js +13 -1
  138. package/lib/types/common.js.map +1 -1
  139. package/lib/utils/calendar-utils.d.ts +0 -48
  140. package/lib/utils/calendar-utils.d.ts.map +1 -1
  141. package/lib/utils/calendar-utils.js +0 -69
  142. package/lib/utils/calendar-utils.js.map +1 -1
  143. package/lib/utils/flavor-sheet.d.ts +32 -0
  144. package/lib/utils/flavor-sheet.d.ts.map +1 -0
  145. package/lib/utils/flavor-sheet.js +40 -0
  146. package/lib/utils/flavor-sheet.js.map +1 -0
  147. package/lib/utils/icon-registry.d.ts +0 -13
  148. package/lib/utils/icon-registry.d.ts.map +1 -1
  149. package/lib/utils/icon-registry.js +0 -35
  150. package/lib/utils/icon-registry.js.map +1 -1
  151. package/lib/utils/locale.d.ts +0 -57
  152. package/lib/utils/locale.d.ts.map +1 -1
  153. package/lib/utils/locale.js +0 -89
  154. package/lib/utils/locale.js.map +1 -1
  155. package/lib/utils/number-format.d.ts +0 -21
  156. package/lib/utils/number-format.d.ts.map +1 -1
  157. package/lib/utils/number-format.js +0 -27
  158. package/lib/utils/number-format.js.map +1 -1
  159. package/lib/utils/positioning.d.ts +0 -24
  160. package/lib/utils/positioning.d.ts.map +1 -1
  161. package/lib/utils/positioning.js +3 -86
  162. package/lib/utils/positioning.js.map +1 -1
  163. package/lib/utils/scroll-lock.d.ts.map +1 -1
  164. package/lib/utils/scroll-lock.js +0 -1
  165. package/lib/utils/scroll-lock.js.map +1 -1
  166. package/lib/utils/styles.d.ts +0 -5
  167. package/lib/utils/styles.d.ts.map +1 -1
  168. package/lib/utils/styles.js +0 -7
  169. package/lib/utils/styles.js.map +1 -1
  170. package/lib/version.d.ts +1 -1
  171. package/lib/version.js +1 -1
  172. package/package.json +17 -9
  173. package/lib/components/dropdown.d.ts +0 -424
  174. package/lib/components/dropdown.d.ts.map +0 -1
  175. package/lib/components/dropdown.js +0 -1640
  176. package/lib/components/dropdown.js.map +0 -1
  177. package/lib/components/multiselect.d.ts.map +0 -1
  178. package/lib/components/multiselect.js.map +0 -1
  179. package/lib/styles/dropdown.d.ts +0 -12
  180. package/lib/styles/dropdown.d.ts.map +0 -1
  181. package/lib/styles/dropdown.js +0 -1081
  182. package/lib/styles/dropdown.js.map +0 -1
package/dist/tyrell.css CHANGED
@@ -176,7 +176,6 @@ Simplified from 7 variants to 5 practical variants:
176
176
  --ty-color-neutral-soft: #374151;
177
177
  --ty-color-neutral-faint: #9ca3af;
178
178
 
179
- /* Accent - brand highlights, focus rings, selection states */
180
179
 
181
180
  /* =================================================================
182
181
  BACKGROUND COLORS
@@ -226,7 +225,6 @@ BACKGROUND COLORS
226
225
  --ty-bg-neutral-bold: #cecece;
227
226
  --ty-bg-neutral-soft: #ededed;
228
227
 
229
- /* Accent backgrounds */
230
228
 
231
229
  /* =================================================================
232
230
  BORDER COLORS
@@ -336,8 +334,8 @@ COMPONENT TOKENS
336
334
  /* Input component tokens */
337
335
  --ty-input-bg: #ffffff;
338
336
  --ty-input-color: #111827;
339
- --ty-input-border: #d1d5db;
340
- --ty-input-border-hover: #9ca3af;
337
+ --ty-input-border: #e5e7eb;
338
+ --ty-input-border-hover: #d1d5db;
341
339
  --ty-input-border-focus: var(--ty-color-primary);
342
340
  --ty-input-shadow-focus: rgba(59, 130, 246, 0.1);
343
341
  --ty-input-placeholder: #9ca3af;
@@ -352,50 +350,58 @@ COMPONENT TOKENS
352
350
  --ty-input-warning-border: var(--ty-color-warning);
353
351
 
354
352
  /* =================================================================
355
- SOLID BUTTON FILLS — saturated brand backgrounds for appearance="solid"
356
- Each flavor defines:
357
- --ty-solid-{flavor} base saturated fill
358
- --ty-solid-{flavor}-strong stronger fill (for solid+ tone)
359
- --ty-solid-{flavor}-soft softer fill (for solid- tone)
360
- --ty-solid-{flavor}-fg paired text color (default white)
361
- Strong/soft default to var(--ty-color-{flavor}-strong/-soft) so they
362
- inherit from the existing color hierarchy. Override per flavor if needed.
353
+ SOLID BUTTON FILLS — plain default values (the contract). The smart
354
+ per-state derivation (hover/active/tone via OKLCH) lives in the theme
355
+ engines (tyrell-brand.css / tyrell-simple.css), not here. hover/active
356
+ alias to -strong as a simple default; a theme overrides them.
363
357
  ================================================================= */
364
358
 
365
359
  /* Primary */
366
360
  --ty-solid-primary: #4076b9;
367
361
  --ty-solid-primary-strong: var(--ty-color-primary-bold);
368
362
  --ty-solid-primary-soft: #7ea7d9;
363
+ --ty-solid-primary-hover: var(--ty-solid-primary-strong);
364
+ --ty-solid-primary-active: var(--ty-solid-primary-strong);
369
365
  --ty-solid-primary-fg: white;
370
366
 
371
367
  /* Secondary */
372
368
  --ty-solid-secondary: #7e67b4;
373
369
  --ty-solid-secondary-strong: #7d58d1;
374
370
  --ty-solid-secondary-soft: #9f8ec5;
371
+ --ty-solid-secondary-hover: var(--ty-solid-secondary-strong);
372
+ --ty-solid-secondary-active: var(--ty-solid-secondary-strong);
375
373
  --ty-solid-secondary-fg: white;
376
374
 
377
375
  /* Success */
378
376
  --ty-solid-success: #3bb68d;
379
377
  --ty-solid-success-strong: #27956e;
380
378
  --ty-solid-success-soft: #69b99e;
379
+ --ty-solid-success-hover: var(--ty-solid-success-strong);
380
+ --ty-solid-success-active: var(--ty-solid-success-strong);
381
381
  --ty-solid-success-fg: white;
382
382
 
383
383
  /* Danger */
384
384
  --ty-solid-danger: #df5b5b;
385
385
  --ty-solid-danger-strong: #cc3e3e;
386
386
  --ty-solid-danger-soft: #d57a7a;
387
+ --ty-solid-danger-hover: var(--ty-solid-danger-strong);
388
+ --ty-solid-danger-active: var(--ty-solid-danger-strong);
387
389
  --ty-solid-danger-fg: white;
388
390
 
389
391
  /* Warning */
390
392
  --ty-solid-warning: #e1a644;
391
393
  --ty-solid-warning-strong: #f59e0b;
392
394
  --ty-solid-warning-soft: #fbc56d;
395
+ --ty-solid-warning-hover: var(--ty-solid-warning-strong);
396
+ --ty-solid-warning-active: var(--ty-solid-warning-strong);
393
397
  --ty-solid-warning-fg: white;
394
398
 
395
399
  /* Neutral */
396
400
  --ty-solid-neutral: #414141;
397
401
  --ty-solid-neutral-strong: #000000;
398
402
  --ty-solid-neutral-soft: #6e6e6e;
403
+ --ty-solid-neutral-hover: var(--ty-solid-neutral-strong);
404
+ --ty-solid-neutral-active: var(--ty-solid-neutral-strong);
399
405
  --ty-solid-neutral-fg: white;
400
406
 
401
407
  /* =================================================================
@@ -613,7 +619,6 @@ Emphasis logic inverts: lighter = more emphasis
613
619
  --ty-color-neutral-soft: #696969;
614
620
  --ty-color-neutral-faint: #474747;
615
621
 
616
- /* Accent - dark mode (emphasis inverted) */
617
622
 
618
623
  /* Backgrounds for dark mode */
619
624
  --ty-bg-faint: #0f1419;
@@ -650,7 +655,6 @@ Emphasis logic inverts: lighter = more emphasis
650
655
  --ty-bg-neutral: #323232;
651
656
  --ty-bg-neutral-soft: #242424;
652
657
 
653
- /* Accent backgrounds - dark mode */
654
658
 
655
659
  /* Borders for dark mode */
656
660
  --ty-border-strong: #8c8c8c;
@@ -660,11 +664,11 @@ Emphasis logic inverts: lighter = more emphasis
660
664
  --ty-border-faint: #030712;
661
665
 
662
666
  /* Scrollbar - dark mode */
663
- --ty-scrollbar-thumb: rgba(255, 255, 255, 0.22);
664
- --ty-scrollbar-thumb-hover: rgba(255, 255, 255, 0.38);
665
- --ty-scrollbar-thumb-active: rgba(255, 255, 255, 0.48);
667
+ --ty-scrollbar-thumb: rgba(255, 255, 255, 0.13);
668
+ --ty-scrollbar-thumb-hover: rgba(255, 255, 255, 0.22);
669
+ --ty-scrollbar-thumb-active: rgba(255, 255, 255, 0.3);
666
670
  --ty-scrollbar-track: transparent;
667
- --ty-scrollbar-track-hover: rgba(255, 255, 255, 0.06);
671
+ --ty-scrollbar-track-hover: rgba(255, 255, 255, 0.04);
668
672
 
669
673
  --ty-surface-canvas: black;
670
674
  --ty-surface-content: #1a1a1a;
@@ -695,49 +699,55 @@ Emphasis logic inverts: lighter = more emphasis
695
699
  0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
696
700
  --ty-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
697
701
 
698
- /* Solid button fills for dark mode — strong/soft/fg chain through automatically.
699
- Note: --ty-color-{flavor}-strong is light-toned in dark mode (emphasis
700
- inverts), so solid+ buttons will have a light bg with white text — low
701
- contrast for some flavors. Override per flavor via --ty-solid-{flavor}-fg
702
- if a specific brand needs darker text. */
702
+ /* Solid button fills — plain dark defaults. hover/active alias -strong;
703
+ theme engines override with smart per-state derivation. */
703
704
  --ty-solid-primary: #3e536c;
704
705
  --ty-solid-primary-strong: #426084;
705
706
  --ty-solid-primary-soft: #343f4c;
707
+ --ty-solid-primary-hover: var(--ty-solid-primary-strong);
708
+ --ty-solid-primary-active: var(--ty-solid-primary-strong);
706
709
  --ty-solid-primary-fg: white;
707
710
 
708
711
  --ty-solid-secondary: #7e67b4;
709
712
  --ty-solid-secondary-strong: #8269bc;
710
713
  --ty-solid-secondary-soft: #52466a;
714
+ --ty-solid-secondary-hover: var(--ty-solid-secondary-strong);
715
+ --ty-solid-secondary-active: var(--ty-solid-secondary-strong);
711
716
  --ty-solid-secondary-fg: white;
712
717
 
713
- /* Success */
714
718
  --ty-solid-success: #3bb68d;
715
719
  --ty-solid-success-strong: #459679;
716
720
  --ty-solid-success-soft: #285748;
721
+ --ty-solid-success-hover: var(--ty-solid-success-strong);
722
+ --ty-solid-success-active: var(--ty-solid-success-strong);
717
723
  --ty-solid-success-fg: white;
718
724
 
719
- /* Danger */
720
725
  --ty-solid-danger: #df5b5b;
721
726
  --ty-solid-danger-strong: #cc3e3e;
722
727
  --ty-solid-danger-soft: #875656;
728
+ --ty-solid-danger-hover: var(--ty-solid-danger-strong);
729
+ --ty-solid-danger-active: var(--ty-solid-danger-strong);
723
730
  --ty-solid-danger-fg: white;
724
731
 
725
- /* Warning */
726
732
  --ty-solid-warning: #e1a644;
727
733
  --ty-solid-warning-strong: #f59e0b;
728
734
  --ty-solid-warning-soft: #8b6334;
735
+ --ty-solid-warning-hover: var(--ty-solid-warning-strong);
736
+ --ty-solid-warning-active: var(--ty-solid-warning-strong);
729
737
  --ty-solid-warning-fg: white;
730
738
 
731
739
  --ty-solid-neutral: #414141;
732
740
  --ty-solid-neutral-strong: #4c4c4c;
733
741
  --ty-solid-neutral-soft: #2a2a2a;
742
+ --ty-solid-neutral-hover: var(--ty-solid-neutral-strong);
743
+ --ty-solid-neutral-active: var(--ty-solid-neutral-strong);
734
744
  --ty-solid-neutral-fg: white;
735
745
 
736
746
  /* Input component tokens - dark mode */
737
747
  --ty-input-bg: #1b1b1b;
738
748
  --ty-input-color: #f9fafb;
739
- --ty-input-border: #505050;
740
- --ty-input-border-hover: #7f7f7f;
749
+ --ty-input-border: #3a3a3a;
750
+ --ty-input-border-hover: #505050;
741
751
  --ty-input-border-focus: var(--ty-color-primary);
742
752
  --ty-input-shadow-focus: rgba(96, 165, 250, 0.1);
743
753
  --ty-input-placeholder: #717171;
@@ -1084,7 +1094,6 @@ SEMANTIC BACKGROUND UTILITIES
1084
1094
  background-color: var(--ty-bg-neutral-soft);
1085
1095
  }
1086
1096
 
1087
- /* Accent backgrounds */
1088
1097
  /* =================================================================
1089
1098
  TEXT HIERARCHY UTILITIES
1090
1099
  ================================================================= */
@@ -1240,7 +1249,6 @@ SEMANTIC TEXT COLORS - 5-VARIANT SYSTEM
1240
1249
  color: var(--ty-color-neutral-faint) !important;
1241
1250
  }
1242
1251
 
1243
- /* Accent text colors */
1244
1252
  /* =================================================================
1245
1253
  BORDER UTILITIES
1246
1254
  ================================================================= */
@@ -1536,7 +1544,6 @@ INTERACTIVE STATES
1536
1544
  color: var(--ty-color-neutral-faint) !important;
1537
1545
  }
1538
1546
 
1539
- /* Accent text hover states */
1540
1547
  /* Hover states for borders */
1541
1548
  /* Base border hover states */
1542
1549
  .hover\:ty-border\+\+:hover {