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,64 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ import { type ViraIconSvg } from '../icons/index.js';
3
+ export * from '../util/shared-text-input-logic.js';
4
+ /**
5
+ * Input types for {@link ViraInput}.
6
+ *
7
+ * @category Internal
8
+ */
9
+ export declare enum ViraInputType {
10
+ Default = "text",
11
+ Password = "password",
12
+ Email = "email",
13
+ Number = "number"
14
+ }
15
+ /**
16
+ * A single line input element with all listeners properly attached. Multiple types are allowed with
17
+ * {@link ViraInputType}.
18
+ *
19
+ * @category Input
20
+ * @category Elements
21
+ * @see https://electrovir.github.io/vira/book/elements/vira-input
22
+ */
23
+ export declare const ViraInput: import("element-vir").DeclarativeElementDefinition<"vira-input", PartialWithUndefined<{
24
+ icon: Pick<ViraIconSvg, "svgTemplate">;
25
+ /** A suffix that, if provided, is shown following the input field. */
26
+ suffix: string;
27
+ /** A label that is shown above the input, if provided. */
28
+ label: string;
29
+ /** If true, applies error styling. */
30
+ hasError: boolean;
31
+ showClearButton: boolean;
32
+ type: ViraInputType;
33
+ }> & {
34
+ value: string;
35
+ } & PartialWithUndefined<{
36
+ placeholder: string;
37
+ disabled: boolean;
38
+ isReadonly: boolean;
39
+ allowedInputs: string | RegExp;
40
+ blockedInputs: string | RegExp;
41
+ disableBrowserHelps: boolean;
42
+ fitText: boolean;
43
+ attributePassthrough: import("element-vir").AttributeValues;
44
+ }>, {
45
+ forcedInputWidth: number;
46
+ showPassword: boolean;
47
+ /**
48
+ * Used to couple the label and input together. This is not applied if no label is
49
+ * provided.
50
+ */
51
+ randomId: string;
52
+ }, {
53
+ /**
54
+ * Fires whenever a user input created a new value. Does not fire if all input letters are
55
+ * filtered out due to input restrictions.
56
+ */
57
+ valueChange: import("element-vir").DefineElementEvent<string>;
58
+ /**
59
+ * Fires when inputs are blocked. Useful for showing warnings or error messages to inform
60
+ * the user why their input did not propagate if it was blocked. This does not fire for text
61
+ * that was blocked out of programmatic "value" property assignments.
62
+ */
63
+ inputBlocked: import("element-vir").DefineElementEvent<string>;
64
+ }, "vira-input-disabled" | "vira-input-fit-text" | "vira-input-clear-button-shown" | "vira-input-error", "vira-input-padding-horizontal" | "vira-input-padding-vertical", readonly [], readonly []>;
@@ -1,47 +1,31 @@
1
- import {assertWrap} from '@augment-vir/assert';
2
- import {type PartialWithUndefined, randomString} from '@augment-vir/common';
3
- import {extractEventTarget} from '@augment-vir/web';
4
- import {
5
- attributes,
6
- css,
7
- defineElementEvent,
8
- html,
9
- ifDefined,
10
- listen,
11
- nothing,
12
- onResize,
13
- renderIf,
14
- } from 'element-vir';
15
- import {CloseX24Icon} from '../icons/icon-svgs/24/close-x-24.icon.js';
16
- import {EyeClosed24Icon, EyeOpen24Icon, type ViraIconSvg} from '../icons/index.js';
17
- import {createFocusStyles} from '../styles/focus.js';
18
- import {viraFontCssVars} from '../styles/font.js';
19
- import {viraFormCssVars} from '../styles/form-styles.js';
20
- import {ViraSize, viraSizeHeights} from '../styles/form-variants.js';
21
- import {noUserSelect, viraAnimationDurations, viraDisabledStyles} from '../styles/index.js';
22
- import {noNativeFormStyles} from '../styles/native-styles.js';
23
- import {defineViraElement} from '../util/define-vira-element.js';
24
- import {
25
- type SharedTextInputElementInputs,
26
- filterTextInputValue,
27
- textInputListener,
28
- } from '../util/shared-text-input-logic.js';
29
- import {ViraIcon} from './vira-icon.element.js';
30
-
1
+ import { assertWrap } from '@augment-vir/assert';
2
+ import { randomString } from '@augment-vir/common';
3
+ import { extractEventTarget } from '@augment-vir/web';
4
+ import { attributes, css, defineElementEvent, html, ifDefined, listen, nothing, onResize, renderIf, } from 'element-vir';
5
+ import { CloseX24Icon } from '../icons/icon-svgs/24/close-x-24.icon.js';
6
+ import { EyeClosed24Icon, EyeOpen24Icon } from '../icons/index.js';
7
+ import { createFocusStyles } from '../styles/focus.js';
8
+ import { viraFontCssVars } from '../styles/font.js';
9
+ import { viraFormCssVars } from '../styles/form-styles.js';
10
+ import { ViraSize, viraSizeHeights } from '../styles/form-variants.js';
11
+ import { noUserSelect, viraAnimationDurations, viraDisabledStyles } from '../styles/index.js';
12
+ import { noNativeFormStyles } from '../styles/native-styles.js';
13
+ import { defineViraElement } from '../util/define-vira-element.js';
14
+ import { filterTextInputValue, textInputListener, } from '../util/shared-text-input-logic.js';
15
+ import { ViraIcon } from './vira-icon.element.js';
31
16
  export * from '../util/shared-text-input-logic.js';
32
-
33
17
  /**
34
18
  * Input types for {@link ViraInput}.
35
19
  *
36
20
  * @category Internal
37
21
  */
38
- export enum ViraInputType {
39
- Default = 'text',
40
- Password = 'password',
41
- Email = 'email',
42
- Number = 'number',
43
- }
44
-
22
+ export var ViraInputType;
23
+ (function (ViraInputType) {
24
+ ViraInputType["Default"] = "text";
25
+ ViraInputType["Password"] = "password";
26
+ ViraInputType["Email"] = "email";
27
+ ViraInputType["Number"] = "number";
28
+ })(ViraInputType || (ViraInputType = {}));
45
29
  /**
46
30
  * A single line input element with all listeners properly attached. Multiple types are allowed with
47
31
  * {@link ViraInputType}.
@@ -50,27 +34,14 @@ export enum ViraInputType {
50
34
  * @category Elements
51
35
  * @see https://electrovir.github.io/vira/book/elements/vira-input
52
36
  */
53
- export const ViraInput = defineViraElement<
54
- PartialWithUndefined<{
55
- icon: Pick<ViraIconSvg, 'svgTemplate'>;
56
- /** A suffix that, if provided, is shown following the input field. */
57
- suffix: string;
58
- /** A label that is shown above the input, if provided. */
59
- label: string;
60
- /** If true, applies error styling. */
61
- hasError: boolean;
62
- showClearButton: boolean;
63
- type: ViraInputType;
64
- }> &
65
- SharedTextInputElementInputs
66
- >()({
37
+ export const ViraInput = defineViraElement()({
67
38
  tagName: 'vira-input',
68
39
  cssVars: {
69
40
  'vira-input-padding-horizontal': '12px',
70
41
  'vira-input-padding-vertical': '4px',
71
42
  },
72
- styles: ({hostClasses, cssVars}) => {
73
- return css`
43
+ styles({ hostClasses, cssVars }) {
44
+ return css `
74
45
  :host {
75
46
  position: relative;
76
47
  display: inline-flex;
@@ -208,19 +179,19 @@ export const ViraInput = defineViraElement<
208
179
 
209
180
  &:focus:focus-visible:not([disabled]) ~ .focus-border {
210
181
  ${createFocusStyles({
211
- elementBorderSize: '1px',
212
- noNesting: true,
213
- })}
182
+ elementBorderSize: '1px',
183
+ noNesting: true,
184
+ })}
214
185
  }
215
186
  }
216
187
 
217
188
  ::selection {
218
189
  background: ${viraFormCssVars['vira-form-text-selection-color']
219
- .value}; /* WebKit/Blink Browsers */
190
+ .value}; /* WebKit/Blink Browsers */
220
191
  }
221
192
  ::-moz-selection {
222
193
  background: ${viraFormCssVars['vira-form-text-selection-color']
223
- .value}; /* Gecko Browsers */
194
+ .value}; /* Gecko Browsers */
224
195
  }
225
196
 
226
197
  input:placeholder-shown {
@@ -298,13 +269,13 @@ export const ViraInput = defineViraElement<
298
269
  * Fires whenever a user input created a new value. Does not fire if all input letters are
299
270
  * filtered out due to input restrictions.
300
271
  */
301
- valueChange: defineElementEvent<string>(),
272
+ valueChange: defineElementEvent(),
302
273
  /**
303
274
  * Fires when inputs are blocked. Useful for showing warnings or error messages to inform
304
275
  * the user why their input did not propagate if it was blocked. This does not fire for text
305
276
  * that was blocked out of programmatic "value" property assignments.
306
277
  */
307
- inputBlocked: defineElementEvent<string>(),
278
+ inputBlocked: defineElementEvent(),
308
279
  },
309
280
  state() {
310
281
  return {
@@ -318,92 +289,86 @@ export const ViraInput = defineViraElement<
318
289
  };
319
290
  },
320
291
  hostClasses: {
321
- 'vira-input-disabled': ({inputs}) => !!inputs.disabled,
322
- 'vira-input-fit-text': ({inputs}) => !!inputs.fitText,
323
- 'vira-input-clear-button-shown': ({inputs}) => !!inputs.showClearButton,
324
- 'vira-input-error': ({inputs}) => !!inputs.hasError,
292
+ 'vira-input-disabled'({ inputs }) {
293
+ return !!inputs.disabled;
294
+ },
295
+ 'vira-input-fit-text'({ inputs }) {
296
+ return !!inputs.fitText;
297
+ },
298
+ 'vira-input-clear-button-shown'({ inputs }) {
299
+ return !!inputs.showClearButton;
300
+ },
301
+ 'vira-input-error'({ inputs }) {
302
+ return !!inputs.hasError;
303
+ },
325
304
  },
326
- render: ({inputs, dispatch, state, updateState, events, host}) => {
327
- const {filtered: filteredValue} = filterTextInputValue({
305
+ render({ inputs, dispatch, state, updateState, events, host }) {
306
+ const { filtered: filteredValue } = filterTextInputValue({
328
307
  value: inputs.value,
329
308
  allowed: inputs.allowedInputs,
330
309
  blocked: inputs.blockedInputs,
331
310
  });
332
-
333
311
  if (inputs.isReadonly) {
334
- const readonlyValueTemplate = html`
312
+ const readonlyValueTemplate = html `
335
313
  <span class="readonly-value">${filteredValue}</span>
336
314
  `;
337
-
338
315
  if (inputs.label) {
339
- return html`
316
+ return html `
340
317
  <label>
341
318
  <span class="input-label">${inputs.label}</span>
342
319
  ${readonlyValueTemplate}
343
320
  </label>
344
321
  `;
345
- } else {
322
+ }
323
+ else {
346
324
  return readonlyValueTemplate;
347
325
  }
348
326
  }
349
-
350
327
  const iconTemplate = inputs.icon
351
- ? html`
328
+ ? html `
352
329
  <${ViraIcon.assign({
353
- icon: inputs.icon,
354
- })}
330
+ icon: inputs.icon,
331
+ })}
355
332
  class="left-side-icon"
356
333
  ></${ViraIcon}>
357
334
  `
358
335
  : nothing;
359
-
360
336
  const forcedInputWidthStyles = inputs.fitText
361
- ? css`
337
+ ? css `
362
338
  width: ${state.forcedInputWidth}px;
363
339
  `
364
340
  : nothing;
365
-
366
341
  const mousedownListener = listen('mousedown', (event) => {
367
342
  const eventTarget = extractEventTarget(event, HTMLElement, {
368
343
  useOriginalTarget: true,
369
344
  });
370
- const inputElement = assertWrap.instanceOf(
371
- host.shadowRoot.querySelector('input'),
372
- HTMLInputElement,
373
- );
374
-
345
+ const inputElement = assertWrap.instanceOf(host.shadowRoot.querySelector('input'), HTMLInputElement);
375
346
  if (eventTarget !== inputElement) {
376
347
  event.preventDefault();
377
348
  inputElement.focus();
378
349
  }
379
350
  });
380
-
381
- const shouldBlockBrowserHelps =
382
- inputs.disableBrowserHelps ||
351
+ const shouldBlockBrowserHelps = inputs.disableBrowserHelps ||
383
352
  /**
384
353
  * Some browsers leaks passwords with their browser helps (like Chrome with
385
354
  * spellchecking).
386
355
  */
387
356
  inputs.type === ViraInputType.Password;
388
-
389
- const inputTemplate = html`
357
+ const inputTemplate = html `
390
358
  <span class="input-wrapper" ${inputs.label ? nothing : mousedownListener}>
391
359
  ${iconTemplate}
392
- ${renderIf(
393
- !!inputs.fitText,
394
- html`
360
+ ${renderIf(!!inputs.fitText, html `
395
361
  <span
396
362
  class="size-span"
397
- ${onResize(({contentRect}) => {
398
- updateState({
399
- forcedInputWidth: contentRect.width,
400
- });
401
- })}
363
+ ${onResize(({ contentRect }) => {
364
+ updateState({
365
+ forcedInputWidth: contentRect.width,
366
+ });
367
+ })}
402
368
  >
403
369
  <pre>${filteredValue || inputs.placeholder || nothing}</pre>
404
370
  </span>
405
- `,
406
- )}
371
+ `)}
407
372
 
408
373
  <input
409
374
  id=${ifDefined(inputs.label ? state.randomId : undefined)}
@@ -418,86 +383,71 @@ export const ViraInput = defineViraElement<
418
383
  ?disabled=${inputs.disabled}
419
384
  .value=${filteredValue}
420
385
  ${listen('input', (event) => {
421
- textInputListener({
422
- inputs,
423
- previousValue: filteredValue,
424
- event,
425
- inputBlockedCallback(blockedInput) {
426
- dispatch(
427
- new events.inputBlocked({
428
- detail: blockedInput,
429
- }),
430
- );
431
- },
432
- newValueCallback(newValue) {
433
- dispatch(
434
- new events.valueChange({
435
- detail: newValue,
436
- }),
437
- );
438
- },
439
- });
440
- })}
386
+ textInputListener({
387
+ inputs,
388
+ previousValue: filteredValue,
389
+ event,
390
+ inputBlockedCallback(blockedInput) {
391
+ dispatch(new events.inputBlocked({
392
+ detail: blockedInput,
393
+ }));
394
+ },
395
+ newValueCallback(newValue) {
396
+ dispatch(new events.valueChange({
397
+ detail: newValue,
398
+ }));
399
+ },
400
+ });
401
+ })}
441
402
  placeholder=${ifDefined(inputs.placeholder || undefined)}
442
403
  ${attributes(inputs.attributePassthrough)}
443
404
  />
444
405
 
445
- ${renderIf(
446
- !!(inputs.showClearButton && inputs.value),
447
- html`
406
+ ${renderIf(!!(inputs.showClearButton && inputs.value), html `
448
407
  <button
449
408
  class="clear-x-button"
450
409
  title="clear"
451
410
  ${listen('mousedown', (event) => {
452
- event.stopImmediatePropagation();
453
- event.preventDefault();
454
- })}
411
+ event.stopImmediatePropagation();
412
+ event.preventDefault();
413
+ })}
455
414
  ${listen('click', () => {
456
- if (inputs.disabled) {
457
- return;
458
- }
459
- dispatch(
460
- new events.valueChange({
461
- detail: '',
462
- }),
463
- );
464
- })}
415
+ if (inputs.disabled) {
416
+ return;
417
+ }
418
+ dispatch(new events.valueChange({
419
+ detail: '',
420
+ }));
421
+ })}
465
422
  >
466
423
  <${ViraIcon.assign({
467
- icon: CloseX24Icon,
468
- })}></${ViraIcon}>
424
+ icon: CloseX24Icon,
425
+ })}></${ViraIcon}>
469
426
  </button>
470
- `,
471
- )}
472
- ${renderIf(
473
- inputs.type === ViraInputType.Password,
474
- html`
427
+ `)}
428
+ ${renderIf(inputs.type === ViraInputType.Password, html `
475
429
  <button
476
430
  class="show-password-button"
477
431
  title="show password"
478
432
  ${listen('mousedown', (event) => {
479
- /** Prevent focus of the input. */
480
- event.stopImmediatePropagation();
481
- event.preventDefault();
482
- })}
433
+ /** Prevent focus of the input. */
434
+ event.stopImmediatePropagation();
435
+ event.preventDefault();
436
+ })}
483
437
  ${listen('click', () => {
484
- updateState({
485
- showPassword: !state.showPassword,
486
- });
487
- })}
438
+ updateState({
439
+ showPassword: !state.showPassword,
440
+ });
441
+ })}
488
442
  >
489
443
  <${ViraIcon.assign({
490
- icon: state.showPassword ? EyeOpen24Icon : EyeClosed24Icon,
491
- })}></${ViraIcon}>
444
+ icon: state.showPassword ? EyeOpen24Icon : EyeClosed24Icon,
445
+ })}></${ViraIcon}>
492
446
  </button>
493
- `,
494
- )}
495
- ${renderIf(
496
- !!inputs.suffix,
497
- html`
447
+ `)}
448
+ ${renderIf(!!inputs.suffix, html `
498
449
  <div class="suffix">${inputs.suffix}</div>
499
- `,
500
- )}
450
+ `)}
501
451
 
502
452
  <!--
503
453
  These separate style elements are necessary so that we can select them as
@@ -509,27 +459,22 @@ export const ViraInput = defineViraElement<
509
459
  <div class="border-style wrapper-border"></div>
510
460
  </span>
511
461
  `;
512
-
513
462
  if (inputs.label) {
514
- return html`
463
+ return html `
515
464
  <label for=${state.randomId} ${mousedownListener}>
516
465
  <span class="input-label">${inputs.label}</span>
517
466
  ${inputTemplate}
518
467
  </label>
519
468
  `;
520
- } else {
469
+ }
470
+ else {
521
471
  return inputTemplate;
522
472
  }
523
473
  },
524
474
  });
525
-
526
- function calculateEffectiveInputType(
527
- type: ViraInputType | undefined,
528
- showPassword: boolean,
529
- ): ViraInputType {
475
+ function calculateEffectiveInputType(type, showPassword) {
530
476
  if (type === ViraInputType.Password && showPassword) {
531
477
  return ViraInputType.Default;
532
478
  }
533
-
534
479
  return type || ViraInputType.Default;
535
480
  }
@@ -0,0 +1,35 @@
1
+ import { type JsonValue, type PartialWithUndefined } from '@augment-vir/common';
2
+ import { ViraJsonType, type ViraJsonSchema } from '../util/vira-json-schema.js';
3
+ /**
4
+ * Editing mode for a string field that offers both a fixed set of enum options and free-form text.
5
+ *
6
+ * @category Internal
7
+ */
8
+ export declare enum ViraJsonStringMode {
9
+ /** Pick from the schema's enum options via a dropdown. */
10
+ Options = "options",
11
+ /** Enter an arbitrary string via a text input. */
12
+ Custom = "custom"
13
+ }
14
+ /**
15
+ * An editor for arbitrary JSON values, optionally constrained by a standard JSON Schema
16
+ * ({@link ViraJsonSchema}).
17
+ *
18
+ * @category Elements
19
+ */
20
+ export declare const ViraJsonForm: import("element-vir").DeclarativeElementDefinition<"vira-json-form", {
21
+ value: JsonValue;
22
+ } & PartialWithUndefined<{
23
+ schema: Readonly<ViraJsonSchema>;
24
+ isDisabled: boolean;
25
+ }>, {
26
+ pendingKeys: Readonly<Record<string, string>>;
27
+ pendingTypes: Readonly<Record<string, ViraJsonType>>;
28
+ pendingArrayValues: Readonly<Record<string, JsonValue>>;
29
+ stringModes: Readonly<Record<string, ViraJsonStringMode>>;
30
+ showRaw: boolean;
31
+ rawDraft: string | undefined;
32
+ rawError: string | undefined;
33
+ }, {
34
+ valueChange: import("element-vir").DefineElementEvent<JsonValue>;
35
+ }, "vira-json-form-", "vira-json-form-", readonly [], readonly []>;