vira 32.0.0-beta.0 → 32.1.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 +40 -0
  35. package/{src/elements/vira-button.element.ts → dist/elements/vira-button.element.js} +114 -261
  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} +243 -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
@@ -1,286 +0,0 @@
1
- import {check} from '@augment-vir/assert';
2
- import {filterMap, type ArrayElement, type PartialWithUndefined} from '@augment-vir/common';
3
- import {type HtmlInterpolation} from 'element-vir';
4
-
5
- /**
6
- * An individual key definition in {@link ViraTableHeaders}.
7
- *
8
- * @category Internal
9
- */
10
- export type ViraTableKey = Readonly<
11
- {
12
- /** The key that cells must set a value to. */
13
- key: string | number;
14
- } & PartialWithUndefined<{
15
- /** If this is not provided, `key` will be used directly. */
16
- content: HtmlInterpolation;
17
- /** If set to `true`, this header (and it's column) won't be rendered. */
18
- disabled: boolean;
19
- }>
20
- >;
21
-
22
- /**
23
- * All header definitions for a {@link ViraTable} instance.
24
- *
25
- * @category Internal
26
- */
27
- export type ViraTableHeaders = ReadonlyArray<ViraTableKey>;
28
-
29
- /**
30
- * An individual entry in {@link ViraTable}. In default table orientation, this will be a row. In
31
- * horizontal orientation, this will be a column.
32
- *
33
- * @category Internal
34
- */
35
- export type ViraTableEntry<Headers extends ViraTableHeaders | undefined = undefined> = Record<
36
- HeaderKey<Headers>,
37
- HtmlInterpolation
38
- >;
39
-
40
- /**
41
- * An individual cell in {@link ViraTableRow}.
42
- *
43
- * @category Internal
44
- */
45
- export type ViraTableCell<
46
- Headers extends ViraTableHeaders | undefined = undefined,
47
- CellData = any,
48
- > = {
49
- content: HtmlInterpolation;
50
- key: HeaderKey<Headers>;
51
- /**
52
- * The original entry that created this row (in default or vertical table orientation) or column
53
- * (in horizontal table orientation). This is `undefined` in header cells.
54
- */
55
- data: CellData;
56
- };
57
-
58
- /**
59
- * An individual row in {@link ViraTable}.
60
- *
61
- * @category Internal
62
- */
63
- export type ViraTableRow<
64
- Headers extends ViraTableHeaders | undefined = undefined,
65
- CellData = any,
66
- RowData = CellData,
67
- > = {
68
- cells: ViraTableCell<Headers, CellData>[];
69
- data: RowData;
70
- };
71
-
72
- /**
73
- * All keys for the given headers.
74
- *
75
- * @category Internal
76
- */
77
- export type HeaderKey<Headers extends ViraTableHeaders | undefined = undefined> =
78
- undefined extends Headers ? string | number : ArrayElement<Exclude<Headers, undefined>>['key'];
79
-
80
- /**
81
- * Table information that can easily be mapped into a `<table>` element.
82
- *
83
- * @category Internal
84
- */
85
- export type ViraTable<
86
- Headers extends ViraTableHeaders | undefined = undefined,
87
- Orientation extends ViraTableOrientation = ViraTableOrientation.Vertical,
88
- OriginalData extends ReadonlyArray<any> = any[],
89
- > = Orientation extends ViraTableOrientation.Horizontal
90
- ? {
91
- headerRow: undefined;
92
- orientation: Orientation;
93
- rows: ViraTableRow<Headers, ArrayElement<OriginalData> | undefined, undefined>[];
94
- }
95
- : {
96
- headerRow: ViraTableCell<Headers, undefined>[];
97
- orientation: Orientation;
98
- rows: ViraTableRow<Headers, ArrayElement<OriginalData>>[];
99
- };
100
-
101
- /**
102
- * Orientation options for {@link ViraTable}.
103
- *
104
- * @category Internal
105
- */
106
- export enum ViraTableOrientation {
107
- /**
108
- * This corresponds to a _vertical_ entry sequence (as you move from entry to entry, you move
109
- * across the table vertically). This is the default table layout. Each entry becomes a new row.
110
- * Headers are in a separate row.
111
- */
112
- Vertical = 'vertical',
113
- /**
114
- * This corresponds to a _horizontal_ entry sequence (as you move from entry to entry, you move
115
- * across the table horizontally). Each entry becomes a column. Headers are the left most
116
- * column.
117
- */
118
- Horizontal = 'horizontal',
119
- }
120
-
121
- /**
122
- * Options for {@link defineTable}.
123
- *
124
- * @category Internal
125
- */
126
- export type ViraTableOptions<Orientation extends ViraTableOrientation = ViraTableOrientation> =
127
- PartialWithUndefined<{
128
- orientation: Orientation;
129
- hideHeaders: boolean;
130
- }>;
131
-
132
- /**
133
- * Accepts headers and entries and lays them out into rows according to the given
134
- * `options.orientation` (defaulting to vertical). This does not itself create a `<table>` element,
135
- * but makes it easy to loop over rows to (with `.map()`) to generate rows in a table.
136
- *
137
- * @category Table
138
- */
139
- export function defineTable<
140
- const Headers extends ViraTableHeaders,
141
- OriginalData extends ReadonlyArray<any>,
142
- const Orientation extends ViraTableOrientation = ViraTableOrientation.Vertical,
143
- >(
144
- /** The order of these keys determines the order that they render in. */
145
- {
146
- headers,
147
- originalData,
148
- dataMap,
149
- options = {},
150
- }: Readonly<{
151
- headers: Readonly<Headers>;
152
- originalData: OriginalData;
153
- dataMap: (
154
- entry: ArrayElement<OriginalData>,
155
- entryIndex: number,
156
- ) => ViraTableEntry<Headers> | undefined;
157
- options?: ViraTableOptions<Orientation>;
158
- }>,
159
- ): ViraTable<Headers, Orientation, OriginalData> {
160
- const mappedData = originalData.map((dataRow, rowIndex) => {
161
- return {
162
- cells: dataMap(dataRow, rowIndex) as ViraTableEntry | undefined,
163
- data: dataRow,
164
- };
165
- });
166
-
167
- if (options.orientation === ViraTableOrientation.Horizontal) {
168
- const rows: ViraTableRow<Headers, ArrayElement<OriginalData> | undefined, undefined>[] =
169
- filterMap(
170
- headers,
171
- (
172
- header,
173
- ):
174
- | ViraTableRow<Headers, ArrayElement<OriginalData> | undefined, undefined>
175
- | undefined => {
176
- if (header.disabled) {
177
- return undefined;
178
- }
179
-
180
- const headerCellArray: ViraTableCell<Headers>[] = options.hideHeaders
181
- ? []
182
- : [
183
- {
184
- content: header.content ?? header.key,
185
- key: header.key,
186
- data: undefined,
187
- },
188
- ];
189
-
190
- const cells: ViraTableCell<Headers, ArrayElement<OriginalData>>[] = filterMap(
191
- mappedData,
192
- ({
193
- data,
194
- cells,
195
- }): ViraTableCell<Headers, ArrayElement<OriginalData>> | undefined => {
196
- if (!cells) {
197
- return undefined;
198
- }
199
-
200
- return {
201
- content: cells[header.key],
202
- key: header.key,
203
- data,
204
- };
205
- },
206
- check.isTruthy,
207
- );
208
-
209
- const allCells = [
210
- ...headerCellArray,
211
- ...cells,
212
- ];
213
-
214
- return {
215
- cells: allCells,
216
- data: undefined,
217
- };
218
- },
219
- check.isTruthy,
220
- );
221
-
222
- return {
223
- headerRow: undefined,
224
- rows,
225
- orientation: ViraTableOrientation.Horizontal,
226
- } satisfies ViraTable<Headers, ViraTableOrientation.Horizontal> as ViraTable<
227
- Headers,
228
- Orientation
229
- >;
230
- } else {
231
- const headerRow: ViraTableCell<Headers>[] = options.hideHeaders
232
- ? []
233
- : filterMap(
234
- headers,
235
- (header): ViraTableCell<Headers> | undefined => {
236
- if (header.disabled) {
237
- return undefined;
238
- }
239
-
240
- return {
241
- content: header.content ?? header.key,
242
- key: header.key,
243
- data: undefined,
244
- };
245
- },
246
- check.isTruthy,
247
- );
248
-
249
- const rows: ViraTableRow<Headers, ArrayElement<OriginalData>>[] = filterMap(
250
- mappedData,
251
- ({cells, data}): ViraTableRow<Headers, ArrayElement<OriginalData>> | undefined => {
252
- if (!cells) {
253
- return undefined;
254
- }
255
-
256
- return {
257
- cells: filterMap(
258
- headers,
259
- (
260
- header,
261
- ): ViraTableCell<Headers, ArrayElement<OriginalData>> | undefined => {
262
- if (header.disabled) {
263
- return undefined;
264
- }
265
-
266
- return {
267
- content: cells[header.key],
268
- key: header.key,
269
- data,
270
- };
271
- },
272
- check.isTruthy,
273
- ),
274
- data,
275
- };
276
- },
277
- check.isTruthy,
278
- );
279
-
280
- return {
281
- headerRow,
282
- rows,
283
- orientation: ViraTableOrientation.Vertical,
284
- } satisfies ViraTable<Headers> as ViraTable<Headers, Orientation>;
285
- }
286
- }
@@ -1,29 +0,0 @@
1
- import {wrapDefineElement} from 'element-vir';
2
-
3
- /**
4
- * Required prefix for all vira elements.
5
- *
6
- * @category Internal
7
- */
8
- export const ViraTagNamePrefix = 'vira-';
9
- /**
10
- * Required tag name for all vira elements. This includes {@link ViraTagNamePrefix} in it.
11
- *
12
- * @category Internal
13
- */
14
- export type ViraTagName = `${typeof ViraTagNamePrefix}${string}`;
15
-
16
- /**
17
- * Define a vira element with custom requirements (like the `vira-` element tag prefix).
18
- *
19
- * @category Internal
20
- */
21
- export const defineViraElement = wrapDefineElement<ViraTagName>({
22
- assertInputs: (inputs) => {
23
- if (!inputs.tagName.startsWith(ViraTagNamePrefix)) {
24
- throw new Error(
25
- `Tag name should start with '${ViraTagNamePrefix}' but got '${inputs.tagName}'`,
26
- );
27
- }
28
- },
29
- });
@@ -1,128 +0,0 @@
1
- import {type RequireExactlyOne, type Values} from '@augment-vir/common';
2
- import {type AsyncProp, asyncProp, type DeclarativeElementDefinition} from 'element-vir';
3
-
4
- /**
5
- * Base type for loaders passed to {@link createDynamicElementLoader}.
6
- *
7
- * @category Internal
8
- */
9
- export type BaseDynamicElementLoaders = Record<string, () => Promise<DeclarativeElementDefinition>>;
10
-
11
- /**
12
- * Create a dynamic element loader. This should go in your element state. This makes deferring
13
- * element importing convenient and allows parts of your app to be placed in separate bundles. Make
14
- * sure to also use {@link renderDynamicElement} to use the output of this loader.
15
- *
16
- * @category Util
17
- * @see {@link renderDynamicElement}
18
- * @see [example usage](https://github.com/electrovir/vira/blob/dev/packages/vira-book/src/element-book/entries/dynamic-elements.book.ts)
19
- */
20
- export function createDynamicElementLoader<
21
- const Loaders extends Readonly<BaseDynamicElementLoaders>,
22
- >(loaders: Readonly<Loaders>): DynamicElementAsyncProp<Loaders> {
23
- return asyncProp<DynamicElementValue<NoInfer<Loaders>>, keyof NoInfer<Loaders>>({
24
- async updateCallback(elementKey, previousResolvedValue) {
25
- if (previousResolvedValue && elementKey in previousResolvedValue.cache) {
26
- return {
27
- cache: previousResolvedValue.cache,
28
- element: previousResolvedValue.cache[elementKey],
29
- key: elementKey,
30
- };
31
- }
32
-
33
- const imported = await loaders[elementKey]();
34
-
35
- return {
36
- cache: {
37
- ...previousResolvedValue?.cache,
38
- [elementKey]: imported,
39
- },
40
- element: imported,
41
- key: elementKey,
42
- } as any;
43
- },
44
- });
45
- }
46
-
47
- /**
48
- * The value for the async prop {@link DynamicElementAsyncProp}.
49
- *
50
- * @category Internal
51
- */
52
- export type DynamicElementValue<Loaders extends BaseDynamicElementLoaders> = {
53
- cache: Partial<Record<keyof Loaders, DeclarativeElementDefinition>>;
54
- element: Awaited<ReturnType<Values<Loaders>>>;
55
- key: keyof Loaders;
56
- };
57
- /**
58
- * An async prop for dynamic loading elements. This is the output from
59
- * {@link createDynamicElementLoader}.
60
- *
61
- * @category Internal
62
- */
63
- export type DynamicElementAsyncProp<Loaders extends BaseDynamicElementLoaders> = AsyncProp<
64
- DynamicElementValue<Loaders>,
65
- keyof Loaders
66
- >;
67
-
68
- /**
69
- * Params for the `ready` callback in {@link renderDynamicElement}.
70
- *
71
- * @category Internal
72
- */
73
- export type ReadyParams<Loaders extends Readonly<BaseDynamicElementLoaders>> = RequireExactlyOne<{
74
- [Key in keyof Loaders]: Awaited<ReturnType<Loaders[Key]>>;
75
- }>;
76
-
77
- /**
78
- * Renders the current state of a dynamic element loader. This should go in your render function.
79
- * Make sure to also use {@link createDynamicElementLoader} to create a dynamic loader in your
80
- * element's state.
81
- *
82
- * @category Util
83
- * @see {@link createDynamicElementLoader}
84
- * @see [example usage](https://github.com/electrovir/vira/blob/dev/packages/vira-book/src/element-book/entries/dynamic-elements.book.ts)
85
- */
86
- export function renderDynamicElement<
87
- const Loaders extends BaseDynamicElementLoaders,
88
- const LoadingReturnValue,
89
- const ReadyReturnValue,
90
- const ErrorReturnValue,
91
- >(
92
- asyncProp: DynamicElementAsyncProp<Loaders>,
93
- {
94
- ready,
95
- loading,
96
- error,
97
- key,
98
- }: {
99
- /**
100
- * If this is left undefined (or falsy), the current key will not be set, whatever the
101
- * existing key is will continue to be used.
102
- */
103
- key?: keyof NoInfer<Loaders> | undefined;
104
- loading(this: void, params: Promise<ReadyParams<NoInfer<Loaders>>>): LoadingReturnValue;
105
- ready(this: void, params: ReadyParams<NoInfer<Loaders>>): ReadyReturnValue;
106
- error(this: void, error: Error): ErrorReturnValue;
107
- },
108
- ): ReadyReturnValue | LoadingReturnValue | ErrorReturnValue {
109
- if (key) {
110
- (asyncProp.update as (key: keyof Loaders) => boolean)(key);
111
- }
112
-
113
- if (asyncProp.value instanceof Error) {
114
- return error(asyncProp.value);
115
- } else if (asyncProp.value instanceof Promise) {
116
- return loading(
117
- asyncProp.value.then((value) => {
118
- return {
119
- [value.key]: value.element,
120
- } as ReadyParams<Loaders>;
121
- }),
122
- );
123
- } else {
124
- return ready({
125
- [asyncProp.value.key]: asyncProp.value.element,
126
- } as ReadyParams<Loaders>);
127
- }
128
- }
@@ -1,133 +0,0 @@
1
- import {
2
- filterMap,
3
- joinWithFinalConjunction,
4
- type MaybePromise,
5
- type PartialWithUndefined,
6
- } from '@augment-vir/common';
7
- import {html, listen, type HtmlInterpolation} from 'element-vir';
8
- import {ViraMenuItem} from '../elements/pop-up/vira-menu-item.element.js';
9
- import {
10
- type PopUpManager,
11
- type PopUpManagerOptions,
12
- type ShowPopUpResult,
13
- } from './pop-up-manager.js';
14
-
15
- /**
16
- * Verifies that all items have unique ids.
17
- *
18
- * @category Internal
19
- */
20
- export function assertUniqueIdProps(items: ReadonlyArray<Readonly<{id: PropertyKey}>>) {
21
- const usedIds = new Set<PropertyKey>();
22
- const duplicateIds: PropertyKey[] = [];
23
- items.forEach((option) => {
24
- if (usedIds.has(option.id)) {
25
- duplicateIds.push(option.id);
26
- } else {
27
- usedIds.add(option.id);
28
- }
29
- });
30
-
31
- if (duplicateIds.length) {
32
- throw new Error(
33
- `Duplicate option ids were given: ${joinWithFinalConjunction(duplicateIds)}`,
34
- );
35
- }
36
- }
37
-
38
- /**
39
- * Handles toggling pop up state for `ViraDropdown`.
40
- *
41
- * @category Internal
42
- */
43
- export function triggerPopUpState({
44
- open,
45
- callback,
46
- popUpManager,
47
- host,
48
- options,
49
- }: Readonly<
50
- {
51
- open: boolean;
52
- popUpManager: PopUpManager;
53
- host: HTMLElement;
54
- } & PartialWithUndefined<{
55
- callback?: ((showPopUpResult: ShowPopUpResult | undefined) => void) | undefined;
56
- options?: Partial<PopUpManagerOptions> | undefined;
57
- }>
58
- >) {
59
- if (open) {
60
- const showPopUpResult = popUpManager.showPopUp(host, options);
61
- callback?.(showPopUpResult);
62
- } else {
63
- popUpManager.removePopUp();
64
- callback?.(undefined);
65
- }
66
- }
67
-
68
- /**
69
- * A helper type to be used with {@link renderMenuItemEntries}.
70
- *
71
- * @category PopUp
72
- */
73
- export type ViraMenuItemEntry = {
74
- content: HtmlInterpolation;
75
- } & PartialWithUndefined<{
76
- selected: boolean;
77
- /** Called when any item is activated. */
78
- onClick: MenuItemClickCallback;
79
- /**
80
- * If set to `true`, this menu item won't show up at all.
81
- *
82
- * @default false
83
- */
84
- hidden: boolean;
85
- }> &
86
- typeof ViraMenuItem.InputsType;
87
-
88
- /**
89
- * A callback for menu items getting activated, to be used with {@link renderMenuItemEntries}.
90
- *
91
- * @category PopUp
92
- */
93
- export type MenuItemClickCallback = (
94
- params: Readonly<{
95
- /** The menu item's index in the array. */
96
- index: number;
97
- event: MouseEvent;
98
- }>,
99
- ) => MaybePromise<void>;
100
-
101
- /**
102
- * A helper for rendering a bunch of menu items.
103
- *
104
- * @category PopUp
105
- */
106
- export function renderMenuItemEntries(items: ReadonlyArray<Readonly<ViraMenuItemEntry>>) {
107
- return filterMap(
108
- items,
109
- (item, index) => {
110
- return html`
111
- <${ViraMenuItem.assign({
112
- ...item,
113
- })}
114
- ${listen('click', async (event) => {
115
- if (item.disabled) {
116
- event.stopImmediatePropagation();
117
- event.preventDefault();
118
- return;
119
- }
120
-
121
- await item.onClick?.({
122
- event,
123
- index,
124
- });
125
- })}
126
- >
127
- ${item.content}
128
- </${ViraMenuItem}>
129
- `;
130
- },
131
- (template, menuItem) => !menuItem.hidden,
132
- );
133
- }