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,145 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ import { type FullDate, type Timezone } from 'date-vir';
3
+ import { type HtmlInterpolation } from 'element-vir';
4
+ import { type ViraIconSvg } from '../icons/icon-svg.js';
5
+ import { type ViraSelectOption } from './vira-select-option.js';
6
+ /**
7
+ * Form field types for {@link ViraFormField}.
8
+ *
9
+ * @category Internal
10
+ */
11
+ export declare enum ViraFormFieldType {
12
+ Text = "text",
13
+ /** Allows auto complete for _existing_ passwords used on this website (for login). */
14
+ ExistingPassword = "existing-password",
15
+ /** Allows auto complete for _new_ passwords used on this website (for login). */
16
+ NewPassword = "new-password",
17
+ /** Uses a password input without any attributes applied for auto complete hints. */
18
+ PlainPassword = "plain-password",
19
+ Email = "email",
20
+ Number = "number",
21
+ Select = "select",
22
+ Checkbox = "checkbox",
23
+ TextArea = "text-area",
24
+ Date = "date"
25
+ }
26
+ /**
27
+ * {@link ViraFormField} properties that are shared between all field types.
28
+ *
29
+ * @category Internal
30
+ */
31
+ export type CommonViraFormFields = {
32
+ label: string;
33
+ } & PartialWithUndefined<{
34
+ /** Applies a test id to the form field element. */
35
+ testId: string;
36
+ /**
37
+ * When `true`, visually indicates the form field as required and affects form validation.
38
+ *
39
+ * @default false
40
+ */
41
+ isRequired: boolean;
42
+ /**
43
+ * When `true`, marks this form field element with error styling.
44
+ *
45
+ * @default false
46
+ */
47
+ hasError: boolean;
48
+ /**
49
+ * When `true`, hides this form field entirely.
50
+ *
51
+ * @default false
52
+ */
53
+ isHidden: boolean;
54
+ /**
55
+ * When `true`, continues showing the form field but prevents edits.
56
+ *
57
+ * @default false
58
+ */
59
+ isDisabled: boolean;
60
+ }>;
61
+ /**
62
+ * An individual form field for {@link ViraFormFields}.
63
+ *
64
+ * @category Internal
65
+ */
66
+ export type ViraFormField = ({
67
+ type: ViraFormFieldType.Text | ViraFormFieldType.ExistingPassword | ViraFormFieldType.NewPassword | ViraFormFieldType.PlainPassword | ViraFormFieldType.Email;
68
+ value: string | undefined;
69
+ } & PartialWithUndefined<{
70
+ placeholder: string;
71
+ icon: ViraIconSvg;
72
+ isUsername: boolean;
73
+ }> & CommonViraFormFields) | ({
74
+ type: ViraFormFieldType.Select;
75
+ value: string | undefined;
76
+ options: ReadonlyArray<Readonly<ViraSelectOption>>;
77
+ } & PartialWithUndefined<{
78
+ placeholder: string;
79
+ icon: ViraIconSvg;
80
+ }> & CommonViraFormFields) | ({
81
+ type: ViraFormFieldType.Checkbox;
82
+ value: boolean | undefined;
83
+ /**
84
+ * Label for the checkbox. Unlike other field types, this accepts arbitrary HTML so the
85
+ * checkbox's label slot can be filled with rich content.
86
+ */
87
+ label: HtmlInterpolation;
88
+ } & PartialWithUndefined<{
89
+ /** The checkbox will be filled with a form selection color when it is checked. */
90
+ fillWhenChecked: boolean;
91
+ /** The checkbox will be filled with a form error color when it is unchecked. */
92
+ fillWhenUnchecked: boolean;
93
+ }> & Omit<CommonViraFormFields, 'label'>) | ({
94
+ type: ViraFormFieldType.Number;
95
+ value: number | undefined;
96
+ } & PartialWithUndefined<{
97
+ placeholder: string;
98
+ icon: ViraIconSvg;
99
+ min: number;
100
+ max: number;
101
+ step: number;
102
+ }> & CommonViraFormFields) | ({
103
+ type: ViraFormFieldType.TextArea;
104
+ value: string | undefined;
105
+ } & PartialWithUndefined<{
106
+ placeholder: string;
107
+ rows: number;
108
+ preventResize: boolean;
109
+ }> & CommonViraFormFields) | ({
110
+ type: ViraFormFieldType.Date;
111
+ value: FullDate | undefined;
112
+ } & PartialWithUndefined<{
113
+ /** Lower bound for selectable dates. Defaults to `1800-01-01` when omitted. */
114
+ min: FullDate;
115
+ /** Upper bound for selectable dates. Defaults to 10 years from now when omitted. */
116
+ max: FullDate;
117
+ /** Timezone used to interpret the selected date. Defaults to the user's timezone. */
118
+ timezone: Timezone;
119
+ /** Only show the date part of the selected date when in readonly mode. */
120
+ showDateOnly: boolean;
121
+ /** Only show the time part of the selected date when in readonly mode. */
122
+ showTimeOnly: boolean;
123
+ }> & CommonViraFormFields);
124
+ /**
125
+ * A collection of form fields for `ViraForm`.
126
+ *
127
+ * @category Internal
128
+ */
129
+ export type ViraFormFields = Record<string, ViraFormField>;
130
+ /**
131
+ * Appends a `'*'` to a label if it exist sand if it is required.
132
+ *
133
+ * @category Internal
134
+ */
135
+ export declare function applyRequiredLabel(label: string | undefined, isRequired: boolean): string | undefined;
136
+ /**
137
+ * Checks if all the {@link ViraFormField} entries in a given {@link ViraFormFields} are valid through
138
+ * the following checks:
139
+ *
140
+ * - Checks that required fields are provided (not `undefined`)
141
+ * - Ignores hidden fields
142
+ *
143
+ * @category Internal
144
+ */
145
+ export declare function areFormFieldsValid(formFields: Readonly<ViraFormFields>): boolean;
@@ -0,0 +1,66 @@
1
+ import { check } from '@augment-vir/assert';
2
+ import { addSuffix, getObjectTypedValues } from '@augment-vir/common';
3
+ /**
4
+ * Form field types for {@link ViraFormField}.
5
+ *
6
+ * @category Internal
7
+ */
8
+ export var ViraFormFieldType;
9
+ (function (ViraFormFieldType) {
10
+ ViraFormFieldType["Text"] = "text";
11
+ /** Allows auto complete for _existing_ passwords used on this website (for login). */
12
+ ViraFormFieldType["ExistingPassword"] = "existing-password";
13
+ /** Allows auto complete for _new_ passwords used on this website (for login). */
14
+ ViraFormFieldType["NewPassword"] = "new-password";
15
+ /** Uses a password input without any attributes applied for auto complete hints. */
16
+ ViraFormFieldType["PlainPassword"] = "plain-password";
17
+ ViraFormFieldType["Email"] = "email";
18
+ ViraFormFieldType["Number"] = "number";
19
+ ViraFormFieldType["Select"] = "select";
20
+ ViraFormFieldType["Checkbox"] = "checkbox";
21
+ ViraFormFieldType["TextArea"] = "text-area";
22
+ ViraFormFieldType["Date"] = "date";
23
+ })(ViraFormFieldType || (ViraFormFieldType = {}));
24
+ /**
25
+ * Appends a `'*'` to a label if it exist sand if it is required.
26
+ *
27
+ * @category Internal
28
+ */
29
+ export function applyRequiredLabel(label, isRequired) {
30
+ if (label) {
31
+ if (isRequired) {
32
+ return addSuffix({
33
+ value: label,
34
+ suffix: '*',
35
+ });
36
+ }
37
+ else {
38
+ return label;
39
+ }
40
+ }
41
+ else {
42
+ return undefined;
43
+ }
44
+ }
45
+ /**
46
+ * Checks if all the {@link ViraFormField} entries in a given {@link ViraFormFields} are valid through
47
+ * the following checks:
48
+ *
49
+ * - Checks that required fields are provided (not `undefined`)
50
+ * - Ignores hidden fields
51
+ *
52
+ * @category Internal
53
+ */
54
+ export function areFormFieldsValid(formFields) {
55
+ return getObjectTypedValues(formFields).every((formField) => {
56
+ if (formField.isHidden || !formField.isRequired) {
57
+ return true;
58
+ }
59
+ else if (check.isString(formField.value)) {
60
+ return !!formField.value;
61
+ }
62
+ else {
63
+ return formField.value != undefined;
64
+ }
65
+ });
66
+ }
@@ -0,0 +1,206 @@
1
+ import { type JsonValue } from '@augment-vir/common';
2
+ import { type JSONSchema } from 'json-schema-to-ts';
3
+ /**
4
+ * The JSON Schema type used by `ViraJsonForm`. Re-exported from `json-schema-to-ts` so that callers
5
+ * can pass standard JSON Schema objects.
6
+ *
7
+ * @category Internal
8
+ */
9
+ export type ViraJsonSchema = JSONSchema;
10
+ /**
11
+ * A non-boolean JSON Schema object. Boolean schemas (`true` / `false`) are valid JSON Schemas but
12
+ * don't constrain the editor in useful ways, so we normalize them away during traversal.
13
+ *
14
+ * @category Internal
15
+ */
16
+ export type ViraJsonSchemaObject = Exclude<ViraJsonSchema, boolean>;
17
+ /**
18
+ * The JSON types supported by `ViraJsonForm`.
19
+ *
20
+ * @category Internal
21
+ */
22
+ export declare enum ViraJsonType {
23
+ String = "string",
24
+ Number = "number",
25
+ Integer = "integer",
26
+ Boolean = "boolean",
27
+ Null = "null",
28
+ Object = "object",
29
+ Array = "array"
30
+ }
31
+ /**
32
+ * Human-friendly labels for each {@link ViraJsonType}.
33
+ *
34
+ * @category Internal
35
+ */
36
+ export declare const viraJsonTypeLabels: Readonly<Record<ViraJsonType, string>>;
37
+ /**
38
+ * Classifies a JSON value's runtime type. Note that {@link ViraJsonType.Integer} is never returned;
39
+ * it only appears in schemas. All numbers (whole or fractional) classify as
40
+ * {@link ViraJsonType.Number}, since JSON has no separate integer type at runtime.
41
+ *
42
+ * @category Internal
43
+ */
44
+ export declare function getJsonType(value: JsonValue | undefined): ViraJsonType;
45
+ /**
46
+ * Normalizes a schema to a non-boolean object form. `true` becomes an unconstrained schema (`{}`),
47
+ * `false` becomes `undefined` (nothing is allowed; treated as "no schema available").
48
+ *
49
+ * @category Internal
50
+ */
51
+ export declare function normalizeSchema(schema: ViraJsonSchema | undefined): ViraJsonSchemaObject | undefined;
52
+ /**
53
+ * Context used while resolving `$ref` entries against a root schema's `$defs` (or `definitions`)
54
+ * map. A stack of seen refs prevents infinite recursion from cyclical schemas.
55
+ *
56
+ * @category Internal
57
+ */
58
+ export type SchemaResolveContext = {
59
+ root: ViraJsonSchemaObject | undefined;
60
+ seenRefs: ReadonlySet<string>;
61
+ };
62
+ /** @category Internal */
63
+ export declare function createResolveContext(schema: ViraJsonSchema | undefined): SchemaResolveContext;
64
+ /**
65
+ * Resolves a schema through `$ref` (via its root's `$defs`/`definitions`), returning the resolved
66
+ * schema and an updated resolve context. Non-ref schemas are returned as-is.
67
+ *
68
+ * @category Internal
69
+ */
70
+ export declare function resolveSchema(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): {
71
+ resolved: ViraJsonSchemaObject | undefined;
72
+ context: SchemaResolveContext;
73
+ };
74
+ /**
75
+ * Flattens `anyOf` / `oneOf` branches into a single list of non-union schemas so that the editor
76
+ * can treat them uniformly.
77
+ *
78
+ * @category Internal
79
+ */
80
+ export declare function expandSchemaBranches(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<ViraJsonSchemaObject>;
81
+ /**
82
+ * Computes the set of JSON types that a given schema allows.
83
+ *
84
+ * @category Internal
85
+ */
86
+ export declare function getAllowedJsonTypes(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<ViraJsonType>;
87
+ /** @category Internal */
88
+ export declare function createDefaultForJsonType(type: ViraJsonType): JsonValue;
89
+ /**
90
+ * Picks the first schema branch whose `type` contains (or is) the given JSON type. Used to narrow
91
+ * the schema when traversing into a concrete value.
92
+ *
93
+ * @category Internal
94
+ */
95
+ export declare function pickBranchForType(schema: ViraJsonSchema | undefined, valueType: ViraJsonType, context: SchemaResolveContext): ViraJsonSchemaObject | undefined;
96
+ /**
97
+ * Finds the sub-schema for a given object property key, considering `properties`,
98
+ * `patternProperties`, and `additionalProperties`.
99
+ *
100
+ * @category Internal
101
+ */
102
+ export declare function getPropertySchema(parentSchema: ViraJsonSchema | undefined, key: string, context: SchemaResolveContext): ViraJsonSchema | undefined;
103
+ /**
104
+ * Finds the sub-schema for an array item at a given index, considering tuple `items` arrays and
105
+ * `additionalItems` fallbacks.
106
+ *
107
+ * @category Internal
108
+ */
109
+ export declare function getItemSchema(parentSchema: ViraJsonSchema | undefined, index: number, context: SchemaResolveContext): ViraJsonSchema | undefined;
110
+ /**
111
+ * Returns the schema used when appending a new item to an array. Falls back to `additionalItems`
112
+ * when `items` is a tuple array and the new index is beyond the tuple's length.
113
+ *
114
+ * @category Internal
115
+ */
116
+ export declare function getNewItemSchema(parentSchema: ViraJsonSchema | undefined, currentLength: number, context: SchemaResolveContext): ViraJsonSchema | undefined;
117
+ /**
118
+ * Returns the schema used when adding an arbitrary new field to an object. When no schema is
119
+ * provided at all the editor is unconstrained, so additions are allowed; once a schema is provided,
120
+ * additions are only allowed when the schema explicitly opts in via `additionalProperties: true` or
121
+ * an `additionalProperties` sub-schema. This is stricter than JSON Schema's `true` default — UI
122
+ * authors must opt in.
123
+ *
124
+ * @category Internal
125
+ */
126
+ export declare function getAdditionalPropertiesSchema(parentSchema: ViraJsonSchema | undefined, context: SchemaResolveContext): {
127
+ allowed: boolean;
128
+ schema: ViraJsonSchema | undefined;
129
+ };
130
+ /**
131
+ * Returns the `enum` values defined by any resolved branch of a schema. Aggregates across
132
+ * `anyOf`/`oneOf` branches and includes `const` values so the editor can offer them as a select.
133
+ *
134
+ * @category Internal
135
+ */
136
+ export declare function getSchemaEnumValues(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<JsonValue> | undefined;
137
+ /**
138
+ * Collects the string `enum`/`const` values declared by any branch of a schema, ignoring branches
139
+ * that declare no enum/const. Unlike {@link getSchemaEnumValues}, a schema that mixes an enum branch
140
+ * with a free-form branch still yields the enum values (rather than bailing out). Non-string enum
141
+ * entries are excluded.
142
+ *
143
+ * @category Internal
144
+ */
145
+ export declare function getStringEnumValues(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<string>;
146
+ /**
147
+ * Returns whether the schema permits an arbitrary (non-enum, non-const) string in any of its
148
+ * branches. Used alongside {@link getStringEnumValues} to detect fields that accept both a fixed set
149
+ * of enum options and free-form text.
150
+ *
151
+ * @category Internal
152
+ */
153
+ export declare function allowsFreeformString(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): boolean;
154
+ /**
155
+ * Returns the list of required property names declared by the object branch of a schema.
156
+ *
157
+ * @category Internal
158
+ */
159
+ export declare function getRequiredProperties(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): ReadonlyArray<string>;
160
+ /**
161
+ * Returns the `properties` map declared by the object branch of a schema, or an empty record when
162
+ * none is defined.
163
+ *
164
+ * @category Internal
165
+ */
166
+ export declare function getDefinedProperties(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): Readonly<Record<string, ViraJsonSchema>>;
167
+ /**
168
+ * Reads the title of a schema's first resolved branch (for display purposes).
169
+ *
170
+ * @category Internal
171
+ */
172
+ export declare function getSchemaTitle(schema: ViraJsonSchema | undefined, context: SchemaResolveContext): string | undefined;
173
+ /**
174
+ * Validates a JSON value against the (loose) JSON Schema subset supported by `ViraJsonForm`.
175
+ * Returns a list of human-readable error messages; an empty array means the value is valid. Only
176
+ * the constraints understood by the editor (`type`, `required`, `properties`, `additionalProperties
177
+ * = false`, `items`, `enum`, `const`, `anyOf`, `oneOf`, `$ref`) are checked.
178
+ *
179
+ * @category Internal
180
+ */
181
+ export declare function validateAgainstSchema(value: JsonValue, schema: ViraJsonSchema | undefined): ReadonlyArray<string>;
182
+ /**
183
+ * Type of a JSON path element. `string` selects an object key; `number` selects an array index.
184
+ *
185
+ * @category Internal
186
+ */
187
+ export type ViraJsonPath = ReadonlyArray<string | number>;
188
+ /** @category Internal */
189
+ export declare function pathToKey(path: ViraJsonPath): string;
190
+ /**
191
+ * Returns a new JSON value where the value at `path` has been replaced with `newValue`.
192
+ *
193
+ * @category Internal
194
+ */
195
+ export declare function setValueAtPath({ root, path, newValue, }: Readonly<{
196
+ root: JsonValue;
197
+ path: ViraJsonPath;
198
+ newValue: JsonValue;
199
+ }>): JsonValue;
200
+ /**
201
+ * Returns a new JSON value where the value at `path` has been removed. If `path` targets an object
202
+ * key, the key is deleted; if it targets an array index, the item is spliced out.
203
+ *
204
+ * @category Internal
205
+ */
206
+ export declare function deleteValueAtPath(root: JsonValue, path: ViraJsonPath): JsonValue;