vira 32.0.0-beta.0 → 32.0.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 (288) hide show
  1. package/dist/elements/color/vira-all-color-space-sliders.element.d.ts +11 -0
  2. package/dist/elements/color/vira-all-color-space-sliders.element.js +55 -0
  3. package/dist/elements/color/vira-all-spaces-color-picker.element.d.ts +15 -0
  4. package/dist/elements/color/vira-all-spaces-color-picker.element.js +73 -0
  5. package/dist/elements/color/vira-color-details.element.d.ts +14 -0
  6. package/{src/elements/color/vira-color-details.element.ts → dist/elements/color/vira-color-details.element.js} +43 -59
  7. package/dist/elements/color/vira-color-format-sliders.element.d.ts +14 -0
  8. package/dist/elements/color/vira-color-format-sliders.element.js +60 -0
  9. package/dist/elements/color/vira-color-pair-contrast-summary.element.d.ts +9 -0
  10. package/{src/elements/color/vira-color-pair-contrast-summary.element.ts → dist/elements/color/vira-color-pair-contrast-summary.element.js} +68 -100
  11. package/dist/elements/color/vira-color-pair.element.d.ts +17 -0
  12. package/{src/elements/color/vira-color-pair.element.ts → dist/elements/color/vira-color-pair.element.js} +50 -71
  13. package/dist/elements/color/vira-color-picker.element.d.ts +20 -0
  14. package/{src/elements/color/vira-color-picker.element.ts → dist/elements/color/vira-color-picker.element.js} +92 -117
  15. package/dist/elements/color/vira-color-slider.element.d.ts +14 -0
  16. package/dist/elements/color/vira-color-slider.element.js +124 -0
  17. package/dist/elements/color/vira-color-swatch.element.d.ts +20 -0
  18. package/{src/elements/color/vira-color-swatch.element.ts → dist/elements/color/vira-color-swatch.element.js} +6 -16
  19. package/dist/elements/color/vira-contrast-indicator.element.d.ts +10 -0
  20. package/{src/elements/color/vira-contrast-indicator.element.ts → dist/elements/color/vira-contrast-indicator.element.js} +13 -28
  21. package/dist/elements/index.js +39 -0
  22. package/dist/elements/pop-up/vira-menu-item.element.d.ts +38 -0
  23. package/{src/elements/pop-up/vira-menu-item.element.ts → dist/elements/pop-up/vira-menu-item.element.js} +80 -117
  24. package/dist/elements/pop-up/vira-menu-trigger.element.d.ts +45 -0
  25. package/dist/elements/pop-up/vira-menu-trigger.element.js +100 -0
  26. package/dist/elements/pop-up/vira-menu.element.d.ts +36 -0
  27. package/{src/elements/pop-up/vira-menu.element.ts → dist/elements/pop-up/vira-menu.element.js} +28 -31
  28. package/dist/elements/pop-up/vira-pop-up-trigger.element.d.ts +109 -0
  29. package/dist/elements/pop-up/vira-pop-up-trigger.element.js +408 -0
  30. package/dist/elements/vira-absolute-time.element.d.ts +35 -0
  31. package/dist/elements/vira-absolute-time.element.js +43 -0
  32. package/dist/elements/vira-bold-text.element.d.ts +9 -0
  33. package/{src/elements/vira-bold-text.element.ts → dist/elements/vira-bold-text.element.js} +11 -10
  34. package/dist/elements/vira-button.element.d.ts +44 -0
  35. package/{src/elements/vira-button.element.ts → dist/elements/vira-button.element.js} +107 -255
  36. package/dist/elements/vira-card.element.d.ts +18 -0
  37. package/{src/elements/vira-card.element.ts → dist/elements/vira-card.element.js} +19 -18
  38. package/dist/elements/vira-checkbox.element.d.ts +44 -0
  39. package/{src/elements/vira-checkbox.element.ts → dist/elements/vira-checkbox.element.js} +48 -95
  40. package/dist/elements/vira-collapsible-card.element.d.ts +36 -0
  41. package/{src/elements/vira-collapsible-card.element.ts → dist/elements/vira-collapsible-card.element.js} +44 -71
  42. package/dist/elements/vira-collapsible-wrapper.element.d.ts +30 -0
  43. package/{src/elements/vira-collapsible-wrapper.element.ts → dist/elements/vira-collapsible-wrapper.element.js} +47 -59
  44. package/dist/elements/vira-date-input.element.d.ts +47 -0
  45. package/dist/elements/vira-date-input.element.js +142 -0
  46. package/dist/elements/vira-drawer.element.d.ts +24 -0
  47. package/{src/elements/vira-drawer.element.ts → dist/elements/vira-drawer.element.js} +98 -125
  48. package/dist/elements/vira-dropdown.element.d.ts +43 -0
  49. package/dist/elements/vira-dropdown.element.js +247 -0
  50. package/dist/elements/vira-error.element.d.ts +7 -0
  51. package/{src/elements/vira-error.element.ts → dist/elements/vira-error.element.js} +7 -8
  52. package/dist/elements/vira-form.element.d.ts +56 -0
  53. package/dist/elements/vira-form.element.js +376 -0
  54. package/dist/elements/vira-icon.element.d.ts +13 -0
  55. package/{src/elements/vira-icon.element.ts → dist/elements/vira-icon.element.js} +12 -16
  56. package/dist/elements/vira-image.element.d.ts +45 -0
  57. package/{src/elements/vira-image.element.ts → dist/elements/vira-image.element.js} +50 -70
  58. package/dist/elements/vira-input.element.d.ts +64 -0
  59. package/{src/elements/vira-input.element.ts → dist/elements/vira-input.element.js} +112 -167
  60. package/dist/elements/vira-json-form.element.d.ts +35 -0
  61. package/{src/elements/vira-json-form.element.ts → dist/elements/vira-json-form.element.js} +356 -522
  62. package/dist/elements/vira-link.element.d.ts +78 -0
  63. package/{src/elements/vira-link.element.ts → dist/elements/vira-link.element.js} +24 -83
  64. package/dist/elements/vira-modal.element.d.ts +40 -0
  65. package/{src/elements/vira-modal.element.ts → dist/elements/vira-modal.element.js} +68 -104
  66. package/dist/elements/vira-progress.element.d.ts +18 -0
  67. package/{src/elements/vira-progress.element.ts → dist/elements/vira-progress.element.js} +12 -25
  68. package/dist/elements/vira-relative-time.element.d.ts +42 -0
  69. package/dist/elements/vira-relative-time.element.js +96 -0
  70. package/dist/elements/vira-select.element.d.ts +44 -0
  71. package/{src/elements/vira-select.element.ts → dist/elements/vira-select.element.js} +89 -138
  72. package/dist/elements/vira-tabs.element.d.ts +124 -0
  73. package/{src/elements/vira-tabs.element.ts → dist/elements/vira-tabs.element.js} +242 -446
  74. package/dist/elements/vira-tag.element.d.ts +40 -0
  75. package/{src/elements/vira-tag.element.ts → dist/elements/vira-tag.element.js} +152 -266
  76. package/dist/elements/vira-text-area.element.d.ts +48 -0
  77. package/{src/elements/vira-text-area.element.ts → dist/elements/vira-text-area.element.js} +52 -70
  78. package/dist/elements/vira-theme-switcher.element.d.ts +17 -0
  79. package/{src/elements/vira-theme-switcher.element.ts → dist/elements/vira-theme-switcher.element.js} +34 -49
  80. package/dist/icons/colored-icon.d.ts +11 -0
  81. package/{src/icons/colored-icon.ts → dist/icons/colored-icon.js} +17 -24
  82. package/dist/icons/icon-css-vars.d.ts +14 -0
  83. package/{src/icons/icon-css-vars.ts → dist/icons/icon-css-vars.js} +1 -2
  84. package/{src/icons/icon-svg.ts → dist/icons/icon-svg.d.ts} +3 -15
  85. package/dist/icons/icon-svg.js +12 -0
  86. package/dist/icons/icon-svgs/16/check-16.icon.d.ts +8 -0
  87. package/{src/icons/icon-svgs/16/check-16.icon.ts → dist/icons/icon-svgs/16/check-16.icon.js} +4 -5
  88. package/dist/icons/icon-svgs/16/chevron-down-16.icon.d.ts +8 -0
  89. package/{src/icons/icon-svgs/16/chevron-down-16.icon.ts → dist/icons/icon-svgs/16/chevron-down-16.icon.js} +4 -5
  90. package/dist/icons/icon-svgs/16/chevron-up-16.icon.d.ts +8 -0
  91. package/{src/icons/icon-svgs/16/chevron-up-16.icon.ts → dist/icons/icon-svgs/16/chevron-up-16.icon.js} +4 -5
  92. package/dist/icons/icon-svgs/16/dash-16.icon.d.ts +8 -0
  93. package/{src/icons/icon-svgs/16/dash-16.icon.ts → dist/icons/icon-svgs/16/dash-16.icon.js} +4 -5
  94. package/dist/icons/icon-svgs/16/element-16.icon.d.ts +8 -0
  95. package/{src/icons/icon-svgs/16/element-16.icon.ts → dist/icons/icon-svgs/16/element-16.icon.js} +4 -5
  96. package/dist/icons/icon-svgs/16/plus-16.icon.d.ts +8 -0
  97. package/{src/icons/icon-svgs/16/plus-16.icon.ts → dist/icons/icon-svgs/16/plus-16.icon.js} +4 -5
  98. package/dist/icons/icon-svgs/16/upload-16.icon.d.ts +8 -0
  99. package/{src/icons/icon-svgs/16/upload-16.icon.ts → dist/icons/icon-svgs/16/upload-16.icon.js} +4 -5
  100. package/dist/icons/icon-svgs/16/x-16.icon.d.ts +8 -0
  101. package/{src/icons/icon-svgs/16/x-16.icon.ts → dist/icons/icon-svgs/16/x-16.icon.js} +4 -5
  102. package/dist/icons/icon-svgs/24/arrow-down-24.icon.d.ts +8 -0
  103. package/{src/icons/icon-svgs/24/arrow-down-24.icon.ts → dist/icons/icon-svgs/24/arrow-down-24.icon.js} +4 -5
  104. package/dist/icons/icon-svgs/24/arrow-left-24.icon.d.ts +8 -0
  105. package/{src/icons/icon-svgs/24/arrow-left-24.icon.ts → dist/icons/icon-svgs/24/arrow-left-24.icon.js} +4 -5
  106. package/dist/icons/icon-svgs/24/arrow-right-24.icon.d.ts +8 -0
  107. package/{src/icons/icon-svgs/24/arrow-right-24.icon.ts → dist/icons/icon-svgs/24/arrow-right-24.icon.js} +4 -5
  108. package/dist/icons/icon-svgs/24/arrow-up-24.icon.d.ts +8 -0
  109. package/{src/icons/icon-svgs/24/arrow-up-24.icon.ts → dist/icons/icon-svgs/24/arrow-up-24.icon.js} +4 -5
  110. package/dist/icons/icon-svgs/24/auto-theme-24.icon.d.ts +8 -0
  111. package/{src/icons/icon-svgs/24/auto-theme-24.icon.ts → dist/icons/icon-svgs/24/auto-theme-24.icon.js} +4 -5
  112. package/dist/icons/icon-svgs/24/bell-24.icon.d.ts +8 -0
  113. package/{src/icons/icon-svgs/24/bell-24.icon.ts → dist/icons/icon-svgs/24/bell-24.icon.js} +4 -5
  114. package/dist/icons/icon-svgs/24/chat-24.icon.d.ts +8 -0
  115. package/{src/icons/icon-svgs/24/chat-24.icon.ts → dist/icons/icon-svgs/24/chat-24.icon.js} +4 -5
  116. package/dist/icons/icon-svgs/24/check-24.icon.d.ts +8 -0
  117. package/{src/icons/icon-svgs/24/check-24.icon.ts → dist/icons/icon-svgs/24/check-24.icon.js} +4 -5
  118. package/dist/icons/icon-svgs/24/chevron-down-24.icon.d.ts +8 -0
  119. package/{src/icons/icon-svgs/24/chevron-down-24.icon.ts → dist/icons/icon-svgs/24/chevron-down-24.icon.js} +4 -5
  120. package/dist/icons/icon-svgs/24/chevron-up-24.icon.d.ts +8 -0
  121. package/{src/icons/icon-svgs/24/chevron-up-24.icon.ts → dist/icons/icon-svgs/24/chevron-up-24.icon.js} +4 -5
  122. package/dist/icons/icon-svgs/24/close-x-24.icon.d.ts +8 -0
  123. package/{src/icons/icon-svgs/24/close-x-24.icon.ts → dist/icons/icon-svgs/24/close-x-24.icon.js} +4 -5
  124. package/dist/icons/icon-svgs/24/commit-24.icon.d.ts +8 -0
  125. package/{src/icons/icon-svgs/24/commit-24.icon.ts → dist/icons/icon-svgs/24/commit-24.icon.js} +4 -5
  126. package/dist/icons/icon-svgs/24/copy-24.icon.d.ts +8 -0
  127. package/{src/icons/icon-svgs/24/copy-24.icon.ts → dist/icons/icon-svgs/24/copy-24.icon.js} +4 -5
  128. package/dist/icons/icon-svgs/24/document-24.icon.d.ts +8 -0
  129. package/{src/icons/icon-svgs/24/document-24.icon.ts → dist/icons/icon-svgs/24/document-24.icon.js} +4 -5
  130. package/dist/icons/icon-svgs/24/document-search-24.icon.d.ts +8 -0
  131. package/{src/icons/icon-svgs/24/document-search-24.icon.ts → dist/icons/icon-svgs/24/document-search-24.icon.js} +4 -5
  132. package/dist/icons/icon-svgs/24/double-chevron-24.icon.d.ts +8 -0
  133. package/{src/icons/icon-svgs/24/double-chevron-24.icon.ts → dist/icons/icon-svgs/24/double-chevron-24.icon.js} +4 -5
  134. package/dist/icons/icon-svgs/24/element-24.icon.d.ts +8 -0
  135. package/{src/icons/icon-svgs/24/element-24.icon.ts → dist/icons/icon-svgs/24/element-24.icon.js} +4 -5
  136. package/dist/icons/icon-svgs/24/external-link-24.icon.d.ts +8 -0
  137. package/{src/icons/icon-svgs/24/external-link-24.icon.ts → dist/icons/icon-svgs/24/external-link-24.icon.js} +4 -5
  138. package/dist/icons/icon-svgs/24/eye-closed-24.icon.d.ts +8 -0
  139. package/{src/icons/icon-svgs/24/eye-closed-24.icon.ts → dist/icons/icon-svgs/24/eye-closed-24.icon.js} +4 -5
  140. package/dist/icons/icon-svgs/24/eye-open-24.icon.d.ts +8 -0
  141. package/{src/icons/icon-svgs/24/eye-open-24.icon.ts → dist/icons/icon-svgs/24/eye-open-24.icon.js} +4 -5
  142. package/dist/icons/icon-svgs/24/filter-24.icon.d.ts +8 -0
  143. package/{src/icons/icon-svgs/24/filter-24.icon.ts → dist/icons/icon-svgs/24/filter-24.icon.js} +4 -5
  144. package/dist/icons/icon-svgs/24/globe-24.icon.d.ts +8 -0
  145. package/{src/icons/icon-svgs/24/globe-24.icon.ts → dist/icons/icon-svgs/24/globe-24.icon.js} +4 -5
  146. package/dist/icons/icon-svgs/24/link-24.icon.d.ts +8 -0
  147. package/{src/icons/icon-svgs/24/link-24.icon.ts → dist/icons/icon-svgs/24/link-24.icon.js} +4 -5
  148. package/dist/icons/icon-svgs/24/loader-24.icon.d.ts +8 -0
  149. package/{src/icons/icon-svgs/24/loader-24.icon.ts → dist/icons/icon-svgs/24/loader-24.icon.js} +4 -5
  150. package/dist/icons/icon-svgs/24/loader-animated-24.icon.d.ts +8 -0
  151. package/{src/icons/icon-svgs/24/loader-animated-24.icon.ts → dist/icons/icon-svgs/24/loader-animated-24.icon.js} +6 -8
  152. package/dist/icons/icon-svgs/24/lock-24.icon.d.ts +8 -0
  153. package/{src/icons/icon-svgs/24/lock-24.icon.ts → dist/icons/icon-svgs/24/lock-24.icon.js} +4 -5
  154. package/dist/icons/icon-svgs/24/magnifying-glass-24.icon.d.ts +8 -0
  155. package/{src/icons/icon-svgs/24/magnifying-glass-24.icon.ts → dist/icons/icon-svgs/24/magnifying-glass-24.icon.js} +4 -5
  156. package/dist/icons/icon-svgs/24/moon-24.icon.d.ts +8 -0
  157. package/{src/icons/icon-svgs/24/moon-24.icon.ts → dist/icons/icon-svgs/24/moon-24.icon.js} +4 -5
  158. package/dist/icons/icon-svgs/24/options-24.icon.d.ts +8 -0
  159. package/{src/icons/icon-svgs/24/options-24.icon.ts → dist/icons/icon-svgs/24/options-24.icon.js} +4 -5
  160. package/dist/icons/icon-svgs/24/pencil-24.icon.d.ts +8 -0
  161. package/{src/icons/icon-svgs/24/pencil-24.icon.ts → dist/icons/icon-svgs/24/pencil-24.icon.js} +4 -5
  162. package/dist/icons/icon-svgs/24/plus-24.icon.d.ts +8 -0
  163. package/{src/icons/icon-svgs/24/plus-24.icon.ts → dist/icons/icon-svgs/24/plus-24.icon.js} +4 -5
  164. package/dist/icons/icon-svgs/24/printer-24.icon.d.ts +8 -0
  165. package/{src/icons/icon-svgs/24/printer-24.icon.ts → dist/icons/icon-svgs/24/printer-24.icon.js} +4 -5
  166. package/dist/icons/icon-svgs/24/shield-24.icon.d.ts +8 -0
  167. package/{src/icons/icon-svgs/24/shield-24.icon.ts → dist/icons/icon-svgs/24/shield-24.icon.js} +4 -5
  168. package/dist/icons/icon-svgs/24/sort-ascending-24.icon.d.ts +8 -0
  169. package/{src/icons/icon-svgs/24/sort-ascending-24.icon.ts → dist/icons/icon-svgs/24/sort-ascending-24.icon.js} +4 -5
  170. package/dist/icons/icon-svgs/24/sort-descending-24.icon.d.ts +8 -0
  171. package/{src/icons/icon-svgs/24/sort-descending-24.icon.ts → dist/icons/icon-svgs/24/sort-descending-24.icon.js} +4 -5
  172. package/dist/icons/icon-svgs/24/sparkle-24.icon.d.ts +8 -0
  173. package/{src/icons/icon-svgs/24/sparkle-24.icon.ts → dist/icons/icon-svgs/24/sparkle-24.icon.js} +4 -5
  174. package/dist/icons/icon-svgs/24/speaker-loud-24.icon.d.ts +8 -0
  175. package/{src/icons/icon-svgs/24/speaker-loud-24.icon.ts → dist/icons/icon-svgs/24/speaker-loud-24.icon.js} +4 -5
  176. package/dist/icons/icon-svgs/24/speaker-medium-24.icon.d.ts +8 -0
  177. package/{src/icons/icon-svgs/24/speaker-medium-24.icon.ts → dist/icons/icon-svgs/24/speaker-medium-24.icon.js} +4 -5
  178. package/dist/icons/icon-svgs/24/speaker-muted-24.icon.d.ts +8 -0
  179. package/{src/icons/icon-svgs/24/speaker-muted-24.icon.ts → dist/icons/icon-svgs/24/speaker-muted-24.icon.js} +4 -5
  180. package/dist/icons/icon-svgs/24/speaker-quiet-24.icon.d.ts +8 -0
  181. package/{src/icons/icon-svgs/24/speaker-quiet-24.icon.ts → dist/icons/icon-svgs/24/speaker-quiet-24.icon.js} +4 -5
  182. package/dist/icons/icon-svgs/24/star-24.icon.d.ts +8 -0
  183. package/{src/icons/icon-svgs/24/star-24.icon.ts → dist/icons/icon-svgs/24/star-24.icon.js} +4 -5
  184. package/dist/icons/icon-svgs/24/status-failure-24.icon.d.ts +8 -0
  185. package/{src/icons/icon-svgs/24/status-failure-24.icon.ts → dist/icons/icon-svgs/24/status-failure-24.icon.js} +4 -5
  186. package/dist/icons/icon-svgs/24/status-in-progress-24.icon.d.ts +8 -0
  187. package/{src/icons/icon-svgs/24/status-in-progress-24.icon.ts → dist/icons/icon-svgs/24/status-in-progress-24.icon.js} +4 -5
  188. package/dist/icons/icon-svgs/24/status-success-24.icon.d.ts +8 -0
  189. package/{src/icons/icon-svgs/24/status-success-24.icon.ts → dist/icons/icon-svgs/24/status-success-24.icon.js} +4 -5
  190. package/dist/icons/icon-svgs/24/status-unknown-24.icon.d.ts +8 -0
  191. package/{src/icons/icon-svgs/24/status-unknown-24.icon.ts → dist/icons/icon-svgs/24/status-unknown-24.icon.js} +4 -5
  192. package/dist/icons/icon-svgs/24/status-warning-24.icon.d.ts +8 -0
  193. package/{src/icons/icon-svgs/24/status-warning-24.icon.ts → dist/icons/icon-svgs/24/status-warning-24.icon.js} +4 -5
  194. package/dist/icons/icon-svgs/24/sun-24.icon.d.ts +8 -0
  195. package/{src/icons/icon-svgs/24/sun-24.icon.ts → dist/icons/icon-svgs/24/sun-24.icon.js} +4 -5
  196. package/dist/icons/icon-svgs/24/upload-24.icon.d.ts +8 -0
  197. package/{src/icons/icon-svgs/24/upload-24.icon.ts → dist/icons/icon-svgs/24/upload-24.icon.js} +4 -5
  198. package/dist/icons/icon-svgs/24/x-24.icon.d.ts +8 -0
  199. package/{src/icons/icon-svgs/24/x-24.icon.ts → dist/icons/icon-svgs/24/x-24.icon.js} +4 -5
  200. package/dist/icons/index.d.ts +197 -0
  201. package/{src/icons/index.ts → dist/icons/index.js} +60 -65
  202. package/dist/icons/lucide-icons.d.ts +15 -0
  203. package/dist/icons/lucide-icons.js +79 -0
  204. package/dist/icons/sized-icon.d.ts +8 -0
  205. package/{src/icons/sized-icon.ts → dist/icons/sized-icon.js} +1 -3
  206. package/dist/index.js +4 -0
  207. package/dist/styles/disabled.d.ts +6 -0
  208. package/{src/styles/disabled.ts → dist/styles/disabled.js} +2 -3
  209. package/dist/styles/durations.d.ts +22 -0
  210. package/{src/styles/durations.ts → dist/styles/durations.js} +1 -2
  211. package/dist/styles/focus.d.ts +26 -0
  212. package/{src/styles/focus.ts → dist/styles/focus.js} +12 -40
  213. package/dist/styles/font.d.ts +12 -0
  214. package/{src/styles/font.ts → dist/styles/font.js} +1 -3
  215. package/dist/styles/form-styles.d.ts +46 -0
  216. package/dist/styles/form-styles.js +53 -0
  217. package/dist/styles/form-variants.d.ts +117 -0
  218. package/{src/styles/form-variants.ts → dist/styles/form-variants.js} +34 -42
  219. package/{src/styles/index.ts → dist/styles/index.d.ts} +0 -1
  220. package/dist/styles/index.js +14 -0
  221. package/dist/styles/native-styles.d.ts +13 -0
  222. package/{src/styles/native-styles.ts → dist/styles/native-styles.js} +3 -5
  223. package/dist/styles/scrollbar.d.ts +6 -0
  224. package/{src/styles/scrollbar.ts → dist/styles/scrollbar.js} +3 -4
  225. package/dist/styles/shadows.d.ts +19 -0
  226. package/{src/styles/shadows.ts → dist/styles/shadows.js} +5 -7
  227. package/dist/styles/user-select.d.ts +6 -0
  228. package/{src/styles/user-select.ts → dist/styles/user-select.js} +2 -3
  229. package/dist/styles/vira-color-palette.d.ts +178 -0
  230. package/{src/styles/vira-color-palette.ts → dist/styles/vira-color-palette.js} +1 -3
  231. package/dist/styles/vira-color-theme-object.d.ts +65 -0
  232. package/dist/styles/vira-color-theme-object.js +65 -0
  233. package/dist/styles/vira-color-theme.d.ts +2785 -0
  234. package/{src/styles/vira-color-theme.ts → dist/styles/vira-color-theme.js} +1222 -1227
  235. package/dist/util/color-local-storage.client.d.ts +4 -0
  236. package/dist/util/color-local-storage.client.js +6 -0
  237. package/dist/util/define-table.d.ts +115 -0
  238. package/dist/util/define-table.js +115 -0
  239. package/dist/util/define-vira-element.d.ts +18 -0
  240. package/dist/util/define-vira-element.js +19 -0
  241. package/dist/util/dynamic-element.d.ts +62 -0
  242. package/dist/util/dynamic-element.js +61 -0
  243. package/dist/util/index.js +11 -0
  244. package/dist/util/overflow-observer.d.ts +25 -0
  245. package/{src/util/overflow-observer.ts → dist/util/overflow-observer.js} +1 -30
  246. package/dist/util/pop-up-helpers.d.ts +59 -0
  247. package/dist/util/pop-up-helpers.js +66 -0
  248. package/dist/util/pop-up-manager.d.ts +200 -0
  249. package/dist/util/pop-up-manager.js +258 -0
  250. package/dist/util/shared-text-input-logic.d.ts +69 -0
  251. package/dist/util/shared-text-input-logic.js +114 -0
  252. package/dist/util/vira-form-fields.d.ts +145 -0
  253. package/dist/util/vira-form-fields.js +66 -0
  254. package/dist/util/vira-json-schema.d.ts +206 -0
  255. package/{src/util/vira-json-schema.ts → dist/util/vira-json-schema.js} +155 -298
  256. package/{src/util/vira-select-option.ts → dist/util/vira-select-option.d.ts} +2 -9
  257. package/dist/util/vira-select-option.js +8 -0
  258. package/dist/util/vira-theme-client.d.ts +83 -0
  259. package/dist/util/vira-theme-client.js +93 -0
  260. package/package.json +13 -13
  261. package/src/elements/color/vira-all-color-space-sliders.element.ts +0 -66
  262. package/src/elements/color/vira-all-spaces-color-picker.element.ts +0 -85
  263. package/src/elements/color/vira-color-format-sliders.element.ts +0 -78
  264. package/src/elements/color/vira-color-slider.element.ts +0 -169
  265. package/src/elements/pop-up/vira-menu-trigger.element.ts +0 -135
  266. package/src/elements/pop-up/vira-pop-up-trigger.element.ts +0 -539
  267. package/src/elements/vira-absolute-time.element.ts +0 -81
  268. package/src/elements/vira-date-input.element.ts +0 -185
  269. package/src/elements/vira-dropdown.element.ts +0 -310
  270. package/src/elements/vira-form.element.ts +0 -466
  271. package/src/elements/vira-relative-time.element.ts +0 -135
  272. package/src/icons/icon-color.test-helper.ts +0 -9
  273. package/src/icons/lucide-icons.ts +0 -120
  274. package/src/styles/form-styles.ts +0 -86
  275. package/src/styles/vira-color-palette.json +0 -170
  276. package/src/styles/vira-color-theme-object.ts +0 -170
  277. package/src/util/color-local-storage.client.ts +0 -7
  278. package/src/util/define-table.ts +0 -286
  279. package/src/util/define-vira-element.ts +0 -29
  280. package/src/util/dynamic-element.ts +0 -128
  281. package/src/util/pop-up-helpers.ts +0 -133
  282. package/src/util/pop-up-manager.ts +0 -434
  283. package/src/util/shared-text-input-logic.ts +0 -192
  284. package/src/util/vira-form-fields.ts +0 -195
  285. package/src/util/vira-theme-client.ts +0 -140
  286. /package/{src/elements/index.ts → dist/elements/index.d.ts} +0 -0
  287. /package/{src/index.ts → dist/index.d.ts} +0 -0
  288. /package/{src/util/index.ts → dist/util/index.d.ts} +0 -0
@@ -0,0 +1,40 @@
1
+ import { type PartialWithUndefined, type Primitive, type RequireExactlyOne } from '@augment-vir/common';
2
+ import { ViraColorVariant, ViraEmphasis, ViraSize } from '../styles/form-variants.js';
3
+ import { ViraThemeColorName } from '../styles/vira-color-theme-object.js';
4
+ /**
5
+ * A "tag" or "label" or "pill" element. Supports many variations including non-clickable,
6
+ * selectable, and cancellable variations.
7
+ *
8
+ * @category Elements
9
+ * @see https://electrovir.github.io/vira/book/elements/vira-tag
10
+ */
11
+ export declare const ViraTag: import("element-vir").DeclarativeElementDefinition<"vira-tag", {
12
+ text: Primitive;
13
+ } & PartialWithUndefined<{
14
+ isClickable: RequireExactlyOne<{
15
+ /**
16
+ * If set, the tag can be toggled on and off. If toggled on, a checkmark is shown.
17
+ *
18
+ * - `true`: show a checkmark
19
+ * - `false`: hide the checkmark
20
+ */
21
+ selected: boolean;
22
+ /** If set, the tag shows an x. Clicks indicate removing the tag entirely. */
23
+ cancellable: true;
24
+ }>;
25
+ /** @default ViraSize.Medium */
26
+ size: ViraSize;
27
+ /** @default ViraEmphasis.Standard */
28
+ emphasis: ViraEmphasis;
29
+ /**
30
+ * Color scheme. Accepts any {@link ViraColorVariant} or a {@link ViraThemeColorName} (e.g.,
31
+ * `ViraThemeColorName.blue`).
32
+ *
33
+ * @default ViraColorVariant.Plain
34
+ */
35
+ color: ViraColorVariant | ViraThemeColorName;
36
+ disabled: boolean;
37
+ }>, {}, {
38
+ toggle: import("element-vir").DefineElementEvent<boolean>;
39
+ cancel: import("element-vir").DefineElementEvent<void>;
40
+ }, "vira-tag-color-red" | "vira-tag-color-yellow" | "vira-tag-color-green" | "vira-tag-color-blue" | "vira-tag-color-brand" | "vira-tag-color-purple" | "vira-tag-color-plain" | "vira-tag-color-neutral" | "vira-tag-color-teal" | "vira-tag-color-pink" | "vira-tag-color-grey" | "vira-tag-selectable" | "vira-tag-checked" | "vira-tag-not-checked" | "vira-tag-cancellable" | "vira-tag-not-clickable" | "vira-tag-disabled" | "vira-tag-size-large" | "vira-tag-size-medium" | "vira-tag-size-small" | "vira-tag-emphasis-standard" | "vira-tag-emphasis-subtle", "vira-tag-text-color" | "vira-tag-background-color" | "vira-tag-border-color" | "vira-tag-hover-text-color" | "vira-tag-hover-background-color" | "vira-tag-hover-border-color" | "vira-tag-active-text-color" | "vira-tag-active-background-color" | "vira-tag-active-border-color" | "vira-tag-disabled-text-color" | "vira-tag-disabled-background-color" | "vira-tag-disabled-border-color" | "vira-tag-border-radius" | "vira-tag-gap" | "vira-tag-horizontal-padding" | "vira-tag-border-width", readonly [], readonly []>;
@@ -1,56 +1,24 @@
1
- import {check} from '@augment-vir/assert';
2
- import {
3
- arrayToObject,
4
- getObjectTypedKeys,
5
- type PartialWithUndefined,
6
- type Primitive,
7
- type RequireExactlyOne,
8
- } from '@augment-vir/common';
9
- import {ContrastLevelName} from '@electrovir/color/dist/data/contrast/contrast.js';
10
- import {css, type CSSResult, defineElementEvent, html, listen, unsafeCSS} from 'element-vir';
11
- import {type SingleCssVarDefinition} from 'lit-css-vars';
12
- import {themeDefaultKey} from 'theme-vir/dist/color-theme/color-theme.js';
13
- import {Check16Icon} from '../icons/icon-svgs/16/check-16.icon.js';
14
- import {X16Icon} from '../icons/icon-svgs/16/x-16.icon.js';
15
- import {viraFormCssVars} from '../styles/form-styles.js';
16
- import {
17
- standaloneThemeColorNames,
18
- ViraColorVariant,
19
- viraColorVariantToHostClassKey,
20
- ViraEmphasis,
21
- viraEmphasisVariants,
22
- ViraSize,
23
- viraSizeHeights,
24
- viraSizeVariants,
25
- } from '../styles/form-variants.js';
26
- import {noNativeFormStyles} from '../styles/native-styles.js';
27
- import {noUserSelect} from '../styles/user-select.js';
28
- import {viraThemeByKeys, ViraThemeColorName} from '../styles/vira-color-theme-object.js';
29
- import {viraTheme} from '../styles/vira-color-theme.js';
30
- import {defineViraElement} from '../util/define-vira-element.js';
31
- import {ViraIcon} from './vira-icon.element.js';
32
-
33
- type TagColorValue = Pick<SingleCssVarDefinition, 'value'>;
34
-
35
- const transparentColor: TagColorValue = {
36
- value: css`transparent`,
1
+ import { check } from '@augment-vir/assert';
2
+ import { arrayToObject, getObjectTypedKeys, } from '@augment-vir/common';
3
+ import { ContrastLevelName } from '@electrovir/color/dist/data/contrast/contrast.js';
4
+ import { css, defineElementEvent, html, listen, unsafeCSS } from 'element-vir';
5
+ import { themeDefaultKey } from 'theme-vir/dist/color-theme/color-theme.js';
6
+ import { Check16Icon } from '../icons/icon-svgs/16/check-16.icon.js';
7
+ import { X16Icon } from '../icons/icon-svgs/16/x-16.icon.js';
8
+ import { viraFormCssVars } from '../styles/form-styles.js';
9
+ import { standaloneThemeColorNames, ViraColorVariant, viraColorVariantToHostClassKey, ViraEmphasis, viraEmphasisVariants, ViraSize, viraSizeHeights, viraSizeVariants, } from '../styles/form-variants.js';
10
+ import { noNativeFormStyles } from '../styles/native-styles.js';
11
+ import { noUserSelect } from '../styles/user-select.js';
12
+ import { viraThemeByKeys, ViraThemeColorName } from '../styles/vira-color-theme-object.js';
13
+ import { viraTheme } from '../styles/vira-color-theme.js';
14
+ import { defineViraElement } from '../util/define-vira-element.js';
15
+ import { ViraIcon } from './vira-icon.element.js';
16
+ const transparentColor = {
17
+ value: css `transparent`,
37
18
  };
38
-
39
- type TagColorStateColors = Record<
40
- 'idle' | 'hover' | 'active',
41
- {
42
- textColor: TagColorValue;
43
- backgroundColor: TagColorValue;
44
- borderColor: TagColorValue;
45
- }
46
- >;
47
-
48
- function buildThemedTagColors(
49
- colorName: ViraThemeColorName,
50
- ): Record<Exclude<ViraEmphasis, ViraEmphasis.None>, TagColorStateColors> {
19
+ function buildThemedTagColors(colorName) {
51
20
  const behindBg = viraThemeByKeys[colorName]['behind-bg'];
52
21
  const onSelf = viraThemeByKeys[colorName]['on-self'];
53
-
54
22
  return {
55
23
  [ViraEmphasis.Standard]: {
56
24
  idle: {
@@ -88,10 +56,8 @@ function buildThemedTagColors(
88
56
  },
89
57
  };
90
58
  }
91
-
92
- function buildThemedNotCheckedColors(colorName: ViraThemeColorName): TagColorStateColors {
59
+ function buildThemedNotCheckedColors(colorName) {
93
60
  const onSelfBodyText = viraThemeByKeys[colorName]['on-self'][ContrastLevelName.BodyText];
94
-
95
61
  return {
96
62
  idle: {
97
63
  textColor: onSelfBodyText.foreground,
@@ -100,20 +66,17 @@ function buildThemedNotCheckedColors(colorName: ViraThemeColorName): TagColorSta
100
66
  },
101
67
  hover: {
102
68
  textColor: onSelfBodyText.foreground,
103
- backgroundColor:
104
- viraThemeByKeys[colorName]['behind-bg'][ContrastLevelName.Invisible].background,
69
+ backgroundColor: viraThemeByKeys[colorName]['behind-bg'][ContrastLevelName.Invisible].background,
105
70
  borderColor: onSelfBodyText.background,
106
71
  },
107
72
  active: {
108
73
  textColor: onSelfBodyText.foreground,
109
- backgroundColor:
110
- viraThemeByKeys[colorName]['behind-bg'][ContrastLevelName.Decoration].background,
74
+ backgroundColor: viraThemeByKeys[colorName]['behind-bg'][ContrastLevelName.Decoration].background,
111
75
  borderColor: onSelfBodyText.background,
112
76
  },
113
77
  };
114
78
  }
115
-
116
- const plainTagColors: Record<Exclude<ViraEmphasis, ViraEmphasis.None>, TagColorStateColors> = {
79
+ const plainTagColors = {
117
80
  [ViraEmphasis.Standard]: {
118
81
  idle: {
119
82
  backgroundColor: viraTheme.colors[themeDefaultKey].foreground,
@@ -149,8 +112,7 @@ const plainTagColors: Record<Exclude<ViraEmphasis, ViraEmphasis.None>, TagColorS
149
112
  },
150
113
  },
151
114
  };
152
-
153
- const plainNotCheckedColors: TagColorStateColors = {
115
+ const plainNotCheckedColors = {
154
116
  idle: {
155
117
  textColor: viraTheme.colors[themeDefaultKey].foreground,
156
118
  backgroundColor: transparentColor,
@@ -167,7 +129,6 @@ const plainNotCheckedColors: TagColorStateColors = {
167
129
  borderColor: viraTheme.colors['vira-grey-on-self-body'].background,
168
130
  },
169
131
  };
170
-
171
132
  /**
172
133
  * A "tag" or "label" or "pill" element. Supports many variations including non-clickable,
173
134
  * selectable, and cancellable variations.
@@ -175,181 +136,128 @@ const plainNotCheckedColors: TagColorStateColors = {
175
136
  * @category Elements
176
137
  * @see https://electrovir.github.io/vira/book/elements/vira-tag
177
138
  */
178
- export const ViraTag = defineViraElement<
179
- {
180
- text: Primitive;
181
- } & PartialWithUndefined<{
182
- isClickable: RequireExactlyOne<{
183
- /**
184
- * If set, the tag can be toggled on and off. If toggled on, a checkmark is shown.
185
- *
186
- * - `true`: show a checkmark
187
- * - `false`: hide the checkmark
188
- */
189
- selected: boolean;
190
- /** If set, the tag shows an x. Clicks indicate removing the tag entirely. */
191
- cancellable: true;
192
- }>;
193
- /** @default ViraSize.Medium */
194
- size: ViraSize;
195
- /** @default ViraEmphasis.Standard */
196
- emphasis: ViraEmphasis;
197
- /**
198
- * Color scheme. Accepts any {@link ViraColorVariant} or a {@link ViraThemeColorName} (e.g.,
199
- * `ViraThemeColorName.blue`).
200
- *
201
- * @default ViraColorVariant.Plain
202
- */
203
- color: ViraColorVariant | ViraThemeColorName;
204
- disabled: boolean;
205
- }>
206
- >()({
139
+ export const ViraTag = defineViraElement()({
207
140
  tagName: 'vira-tag',
208
141
  cssVars: {
209
142
  'vira-tag-text-color': 'transparent',
210
143
  'vira-tag-background-color': 'transparent',
211
144
  'vira-tag-border-color': 'transparent',
212
-
213
145
  'vira-tag-hover-text-color': 'transparent',
214
146
  'vira-tag-hover-background-color': 'transparent',
215
147
  'vira-tag-hover-border-color': 'transparent',
216
-
217
148
  'vira-tag-active-text-color': 'transparent',
218
149
  'vira-tag-active-background-color': 'transparent',
219
150
  'vira-tag-active-border-color': 'transparent',
220
-
221
- 'vira-tag-disabled-text-color':
222
- viraTheme.colors['vira-grey-behind-bg-decoration'].foreground.value,
223
- 'vira-tag-disabled-background-color':
224
- viraTheme.colors['vira-grey-behind-bg-decoration'].background.value,
225
- 'vira-tag-disabled-border-color':
226
- viraTheme.colors['vira-grey-behind-bg-decoration'].background.value,
227
-
151
+ 'vira-tag-disabled-text-color': viraTheme.colors['vira-grey-behind-bg-decoration'].foreground.value,
152
+ 'vira-tag-disabled-background-color': viraTheme.colors['vira-grey-behind-bg-decoration'].background.value,
153
+ 'vira-tag-disabled-border-color': viraTheme.colors['vira-grey-behind-bg-decoration'].background.value,
228
154
  'vira-tag-border-radius': '1000px',
229
155
  'vira-tag-gap': '6px',
230
156
  'vira-tag-horizontal-padding': '12px',
231
157
  'vira-tag-border-width': '1px',
232
158
  },
233
159
  events: {
234
- toggle: defineElementEvent<boolean>(),
235
- cancel: defineElementEvent<void>(),
160
+ toggle: defineElementEvent(),
161
+ cancel: defineElementEvent(),
236
162
  },
237
163
  hostClasses: {
238
- 'vira-tag-selectable': ({inputs}) => check.isBoolean(inputs.isClickable?.selected),
239
- 'vira-tag-checked': ({inputs}) => !!inputs.isClickable?.selected,
240
- 'vira-tag-not-checked': ({inputs}) => inputs.isClickable?.selected === false,
241
- 'vira-tag-cancellable': ({inputs}) => !!inputs.isClickable?.cancellable,
242
- 'vira-tag-not-clickable': ({inputs}) => !inputs.isClickable,
243
- 'vira-tag-disabled': ({inputs}) => !!inputs.disabled,
244
-
245
- 'vira-tag-size-large': ({inputs}) => inputs.size === ViraSize.Large,
246
- 'vira-tag-size-medium': ({inputs}) => !inputs.size || inputs.size === ViraSize.Medium,
247
- 'vira-tag-size-small': ({inputs}) => inputs.size === ViraSize.Small,
248
-
249
- 'vira-tag-emphasis-standard': ({inputs}) => {
164
+ 'vira-tag-selectable'({ inputs }) {
165
+ return check.isBoolean(inputs.isClickable?.selected);
166
+ },
167
+ 'vira-tag-checked'({ inputs }) {
168
+ return !!inputs.isClickable?.selected;
169
+ },
170
+ 'vira-tag-not-checked'({ inputs }) {
171
+ return inputs.isClickable?.selected === false;
172
+ },
173
+ 'vira-tag-cancellable'({ inputs }) {
174
+ return !!inputs.isClickable?.cancellable;
175
+ },
176
+ 'vira-tag-not-clickable'({ inputs }) {
177
+ return !inputs.isClickable;
178
+ },
179
+ 'vira-tag-disabled'({ inputs }) {
180
+ return !!inputs.disabled;
181
+ },
182
+ 'vira-tag-size-large'({ inputs }) {
183
+ return inputs.size === ViraSize.Large;
184
+ },
185
+ 'vira-tag-size-medium'({ inputs }) {
186
+ return !inputs.size || inputs.size === ViraSize.Medium;
187
+ },
188
+ 'vira-tag-size-small'({ inputs }) {
189
+ return inputs.size === ViraSize.Small;
190
+ },
191
+ 'vira-tag-emphasis-standard'({ inputs }) {
250
192
  return !inputs.emphasis || inputs.emphasis === ViraEmphasis.Standard;
251
193
  },
252
- 'vira-tag-emphasis-subtle': ({inputs}) => inputs.emphasis === ViraEmphasis.Subtle,
253
-
254
- ...arrayToObject(
255
- getObjectTypedKeys(viraColorVariantToHostClassKey),
256
- (colorVariant) => {
257
- const colorKey = viraColorVariantToHostClassKey[colorVariant];
258
- return {
259
- key: `vira-tag-color-${colorKey}` as const,
260
- value: ({
261
- inputs,
262
- }: {
263
- inputs: Readonly<
264
- PartialWithUndefined<{color: ViraColorVariant | ViraThemeColorName}>
265
- >;
266
- }) => {
267
- return inputs.color === colorVariant || inputs.color === colorKey;
268
- },
269
- };
270
- },
271
- {
272
- useRequired: true,
273
- },
274
- ),
275
- 'vira-tag-color-plain': ({
276
- inputs,
277
- }: {
278
- inputs: Readonly<PartialWithUndefined<{color: ViraColorVariant | ViraThemeColorName}>>;
279
- }) => !inputs.color || inputs.color === ViraColorVariant.Plain,
280
- 'vira-tag-color-neutral': ({
281
- inputs,
282
- }: {
283
- inputs: Readonly<PartialWithUndefined<{color: ViraColorVariant | ViraThemeColorName}>>;
284
- }) => inputs.color === ViraColorVariant.Neutral,
285
- ...arrayToObject(
286
- standaloneThemeColorNames,
287
- (colorName) => {
288
- return {
289
- key: `vira-tag-color-${colorName}` as const,
290
- value: ({
291
- inputs,
292
- }: {
293
- inputs: Readonly<
294
- PartialWithUndefined<{color: ViraColorVariant | ViraThemeColorName}>
295
- >;
296
- }) => {
297
- return inputs.color === colorName;
298
- },
299
- };
300
- },
301
- {
302
- useRequired: true,
303
- },
304
- ),
194
+ 'vira-tag-emphasis-subtle'({ inputs }) {
195
+ return inputs.emphasis === ViraEmphasis.Subtle;
196
+ },
197
+ ...arrayToObject(getObjectTypedKeys(viraColorVariantToHostClassKey), (colorVariant) => {
198
+ const colorKey = viraColorVariantToHostClassKey[colorVariant];
199
+ return {
200
+ key: `vira-tag-color-${colorKey}`,
201
+ value({ inputs, }) {
202
+ return inputs.color === colorVariant || inputs.color === colorKey;
203
+ },
204
+ };
205
+ }, {
206
+ useRequired: true,
207
+ }),
208
+ 'vira-tag-color-plain'({ inputs, }) {
209
+ return !inputs.color || inputs.color === ViraColorVariant.Plain;
210
+ },
211
+ 'vira-tag-color-neutral'({ inputs, }) {
212
+ return inputs.color === ViraColorVariant.Neutral;
213
+ },
214
+ ...arrayToObject(standaloneThemeColorNames, (colorName) => {
215
+ return {
216
+ key: `vira-tag-color-${colorName}`,
217
+ value({ inputs, }) {
218
+ return inputs.color === colorName;
219
+ },
220
+ };
221
+ }, {
222
+ useRequired: true,
223
+ }),
305
224
  },
306
- styles: ({cssVars, hostClasses}) => {
307
- function buildVariantCssRule({
308
- variantSelector,
309
- emphasisSelector,
310
- colors,
311
- }: Readonly<{
312
- variantSelector: CSSResult;
313
- emphasisSelector: CSSResult;
314
- colors: TagColorStateColors;
315
- }>): CSSResult {
316
- return css`
225
+ styles({ cssVars, hostClasses }) {
226
+ function buildVariantCssRule({ variantSelector, emphasisSelector, colors, }) {
227
+ return css `
317
228
  ${variantSelector}${emphasisSelector} {
318
229
  ${cssVars['vira-tag-background-color'].name}: ${colors.idle.backgroundColor
319
- .value};
230
+ .value};
320
231
  ${cssVars['vira-tag-text-color'].name}: ${colors.idle.textColor.value};
321
232
  ${cssVars['vira-tag-border-color'].name}: ${colors.idle.borderColor.value};
322
233
 
323
234
  ${cssVars['vira-tag-hover-background-color'].name}: ${colors.hover
324
- .backgroundColor.value};
235
+ .backgroundColor.value};
325
236
  ${cssVars['vira-tag-hover-text-color'].name}: ${colors.hover.textColor.value};
326
237
  ${cssVars['vira-tag-hover-border-color'].name}: ${colors.hover.borderColor
327
- .value};
238
+ .value};
328
239
 
329
240
  ${cssVars['vira-tag-active-background-color'].name}: ${colors.active
330
- .backgroundColor.value};
241
+ .backgroundColor.value};
331
242
  ${cssVars['vira-tag-active-text-color'].name}: ${colors.active.textColor.value};
332
243
  ${cssVars['vira-tag-active-border-color'].name}: ${colors.active.borderColor
333
- .value};
244
+ .value};
334
245
  }
335
246
  `;
336
247
  }
337
-
338
- function generateVariantCss(): CSSResult {
248
+ function generateVariantCss() {
339
249
  const allStyles = viraEmphasisVariants.flatMap((emphasis) => {
340
250
  const emphasisSelector = hostClasses[`vira-tag-emphasis-${emphasis}`].selector;
341
- const themedStyles = getObjectTypedKeys(viraColorVariantToHostClassKey).map(
342
- (colorVariant) => {
343
- const colorKey = viraColorVariantToHostClassKey[colorVariant];
344
- const colors = buildThemedTagColors(colorKey)[emphasis];
345
- const variantSelector = hostClasses[`vira-tag-color-${colorKey}`].selector;
346
- return buildVariantCssRule({
347
- variantSelector,
348
- emphasisSelector,
349
- colors,
350
- });
351
- },
352
- );
251
+ const themedStyles = getObjectTypedKeys(viraColorVariantToHostClassKey).map((colorVariant) => {
252
+ const colorKey = viraColorVariantToHostClassKey[colorVariant];
253
+ const colors = buildThemedTagColors(colorKey)[emphasis];
254
+ const variantSelector = hostClasses[`vira-tag-color-${colorKey}`].selector;
255
+ return buildVariantCssRule({
256
+ variantSelector,
257
+ emphasisSelector,
258
+ colors,
259
+ });
260
+ });
353
261
  const plainStyle = buildVariantCssRule({
354
262
  variantSelector: hostClasses['vira-tag-color-plain'].selector,
355
263
  emphasisSelector,
@@ -376,84 +284,64 @@ export const ViraTag = defineViraElement<
376
284
  ...standaloneStyles,
377
285
  ];
378
286
  });
379
-
380
287
  return unsafeCSS(allStyles.join('\n'));
381
288
  }
382
-
383
- function buildNotCheckedCssRule(
384
- variantSelector: CSSResult,
385
- colors: TagColorStateColors,
386
- ): CSSResult {
289
+ function buildNotCheckedCssRule(variantSelector, colors) {
387
290
  const notCheckedSelector = hostClasses['vira-tag-not-checked'].selector;
388
- return css`
291
+ return css `
389
292
  ${variantSelector}${notCheckedSelector}${notCheckedSelector}${notCheckedSelector} {
390
293
  ${cssVars['vira-tag-background-color'].name}: ${colors.idle.backgroundColor
391
- .value};
294
+ .value};
392
295
  ${cssVars['vira-tag-text-color'].name}: ${colors.idle.textColor.value};
393
296
  ${cssVars['vira-tag-border-color'].name}: ${colors.idle.borderColor.value};
394
297
 
395
298
  ${cssVars['vira-tag-hover-background-color'].name}: ${colors.hover
396
- .backgroundColor.value};
299
+ .backgroundColor.value};
397
300
  ${cssVars['vira-tag-hover-text-color'].name}: ${colors.hover.textColor.value};
398
301
  ${cssVars['vira-tag-hover-border-color'].name}: ${colors.hover.borderColor
399
- .value};
302
+ .value};
400
303
 
401
304
  ${cssVars['vira-tag-active-background-color'].name}: ${colors.active
402
- .backgroundColor.value};
305
+ .backgroundColor.value};
403
306
  ${cssVars['vira-tag-active-text-color'].name}: ${colors.active.textColor.value};
404
307
  ${cssVars['vira-tag-active-border-color'].name}: ${colors.active.borderColor
405
- .value};
308
+ .value};
406
309
  }
407
310
  `;
408
311
  }
409
-
410
- function generateNotCheckedCss(): CSSResult {
411
- const themedStyles = getObjectTypedKeys(viraColorVariantToHostClassKey).map(
412
- (colorVariant) => {
413
- const colorKey = viraColorVariantToHostClassKey[colorVariant];
414
- const colors = buildThemedNotCheckedColors(colorKey);
415
- const variantSelector = hostClasses[`vira-tag-color-${colorKey}`].selector;
416
- return buildNotCheckedCssRule(variantSelector, colors);
417
- },
418
- );
419
- const plainStyle = buildNotCheckedCssRule(
420
- hostClasses['vira-tag-color-plain'].selector,
421
- plainNotCheckedColors,
422
- );
423
- const neutralStyle = buildNotCheckedCssRule(
424
- hostClasses['vira-tag-color-neutral'].selector,
425
- buildThemedNotCheckedColors(ViraThemeColorName.grey),
426
- );
312
+ function generateNotCheckedCss() {
313
+ const themedStyles = getObjectTypedKeys(viraColorVariantToHostClassKey).map((colorVariant) => {
314
+ const colorKey = viraColorVariantToHostClassKey[colorVariant];
315
+ const colors = buildThemedNotCheckedColors(colorKey);
316
+ const variantSelector = hostClasses[`vira-tag-color-${colorKey}`].selector;
317
+ return buildNotCheckedCssRule(variantSelector, colors);
318
+ });
319
+ const plainStyle = buildNotCheckedCssRule(hostClasses['vira-tag-color-plain'].selector, plainNotCheckedColors);
320
+ const neutralStyle = buildNotCheckedCssRule(hostClasses['vira-tag-color-neutral'].selector, buildThemedNotCheckedColors(ViraThemeColorName.grey));
427
321
  const standaloneStyles = standaloneThemeColorNames.map((colorName) => {
428
322
  const colors = buildThemedNotCheckedColors(colorName);
429
323
  const variantSelector = hostClasses[`vira-tag-color-${colorName}`].selector;
430
324
  return buildNotCheckedCssRule(variantSelector, colors);
431
325
  });
432
-
433
- return unsafeCSS(
434
- [
435
- ...themedStyles,
436
- plainStyle,
437
- neutralStyle,
438
- ...standaloneStyles,
439
- ].join('\n'),
440
- );
326
+ return unsafeCSS([
327
+ ...themedStyles,
328
+ plainStyle,
329
+ neutralStyle,
330
+ ...standaloneStyles,
331
+ ].join('\n'));
441
332
  }
442
-
443
- function generateSizeVariantCss(): CSSResult {
333
+ function generateSizeVariantCss() {
444
334
  const styles = viraSizeVariants.map((sizeVariant) => {
445
- return css`
335
+ return css `
446
336
  ${hostClasses[`vira-tag-size-${sizeVariant}`].selector} button {
447
337
  height: ${viraSizeHeights[sizeVariant]}px;
448
338
  font-size: ${viraFormCssVars[`vira-form-${sizeVariant}-text-size`].value};
449
339
  }
450
340
  `;
451
341
  });
452
-
453
342
  return unsafeCSS(styles.join('\n'));
454
343
  }
455
-
456
- return css`
344
+ return css `
457
345
  :host {
458
346
  display: inline-flex;
459
347
  }
@@ -558,38 +446,36 @@ export const ViraTag = defineViraElement<
558
446
  }
559
447
  `;
560
448
  },
561
- render({inputs, dispatch, events}) {
562
- const disabled: boolean = !inputs.isClickable || !!inputs.disabled;
563
- return html`
449
+ render({ inputs, dispatch, events }) {
450
+ const disabled = !inputs.isClickable || !!inputs.disabled;
451
+ return html `
564
452
  <button
565
453
  ?disabled=${disabled}
566
454
  ${listen('click', () => {
567
- if (disabled) {
568
- return;
569
- } else if (inputs.isClickable?.selected != undefined) {
570
- dispatch(
571
- new events.toggle({
572
- detail: !inputs.isClickable.selected,
573
- }),
574
- );
575
- } else if (inputs.isClickable?.cancellable) {
576
- dispatch(
577
- new events.cancel({
578
- detail: undefined,
579
- }),
580
- );
581
- }
582
- })}
455
+ if (disabled) {
456
+ return;
457
+ }
458
+ else if (inputs.isClickable?.selected != undefined) {
459
+ dispatch(new events.toggle({
460
+ detail: !inputs.isClickable.selected,
461
+ }));
462
+ }
463
+ else if (inputs.isClickable?.cancellable) {
464
+ dispatch(new events.cancel({
465
+ detail: undefined,
466
+ }));
467
+ }
468
+ })}
583
469
  >
584
470
  <${ViraIcon.assign({
585
- icon: Check16Icon,
586
- })}
471
+ icon: Check16Icon,
472
+ })}
587
473
  class="selected-check"
588
474
  ></${ViraIcon}>
589
475
  <span class="text">${String(inputs.text)}</span>
590
476
  <${ViraIcon.assign({
591
- icon: X16Icon,
592
- })}
477
+ icon: X16Icon,
478
+ })}
593
479
  class="cancel-x"
594
480
  ></${ViraIcon}>
595
481
  </button>
@@ -0,0 +1,48 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ /**
3
+ * A multi-line text area element with all listeners properly attached. Mirrors the look and feel of
4
+ * {@link ViraInput} but for multi-line text input.
5
+ *
6
+ * @category Input
7
+ * @category Elements
8
+ * @see https://electrovir.github.io/vira/book/elements/vira-text-area
9
+ */
10
+ export declare const ViraTextArea: import("element-vir").DeclarativeElementDefinition<"vira-text-area", PartialWithUndefined<{
11
+ /** A label that is shown above the text area, if provided. */
12
+ label: string;
13
+ /** If true, applies error styling. */
14
+ hasError: boolean;
15
+ /** Number of visible text rows. Defaults to 4. */
16
+ rows: number;
17
+ /** If true, blocks the user's ability to resize the text area. */
18
+ preventResize: boolean;
19
+ }> & {
20
+ value: string;
21
+ } & PartialWithUndefined<{
22
+ placeholder: string;
23
+ disabled: boolean;
24
+ isReadonly: boolean;
25
+ allowedInputs: string | RegExp;
26
+ blockedInputs: string | RegExp;
27
+ disableBrowserHelps: boolean;
28
+ fitText: boolean;
29
+ attributePassthrough: import("element-vir").AttributeValues;
30
+ }>, {
31
+ /**
32
+ * Used to couple the label and text area together. This is not applied if no label is
33
+ * provided.
34
+ */
35
+ randomId: string;
36
+ }, {
37
+ /**
38
+ * Fires whenever a user input created a new value. Does not fire if all input letters are
39
+ * filtered out due to input restrictions.
40
+ */
41
+ valueChange: import("element-vir").DefineElementEvent<string>;
42
+ /**
43
+ * Fires when inputs are blocked. Useful for showing warnings or error messages to inform
44
+ * the user why their input did not propagate if it was blocked. This does not fire for text
45
+ * that was blocked out of programmatic "value" property assignments.
46
+ */
47
+ inputBlocked: import("element-vir").DefineElementEvent<string>;
48
+ }, "vira-text-area-disabled" | "vira-text-area-error" | "vira-text-area-prevent-resize", "vira-text-area-padding-horizontal" | "vira-text-area-padding-vertical", readonly [], readonly []>;