vira 31.31.6 → 32.0.0-beta.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 (274) hide show
  1. package/package.json +17 -17
  2. package/src/elements/color/vira-all-color-space-sliders.element.ts +66 -0
  3. package/src/elements/color/vira-all-spaces-color-picker.element.ts +85 -0
  4. package/src/elements/color/vira-color-details.element.ts +169 -0
  5. package/src/elements/color/vira-color-format-sliders.element.ts +78 -0
  6. package/src/elements/color/vira-color-pair-contrast-summary.element.ts +340 -0
  7. package/src/elements/color/vira-color-pair.element.ts +222 -0
  8. package/src/elements/color/vira-color-picker.element.ts +303 -0
  9. package/src/elements/color/vira-color-slider.element.ts +169 -0
  10. package/src/elements/color/vira-color-swatch.element.ts +58 -0
  11. package/src/elements/color/vira-contrast-indicator.element.ts +111 -0
  12. package/{dist/elements/index.d.ts → src/elements/index.ts} +10 -0
  13. package/{dist/elements/pop-up/vira-menu-item.element.js → src/elements/pop-up/vira-menu-item.element.ts} +116 -67
  14. package/src/elements/pop-up/vira-menu-trigger.element.ts +135 -0
  15. package/{dist/elements/pop-up/vira-menu.element.js → src/elements/pop-up/vira-menu.element.ts} +31 -23
  16. package/src/elements/pop-up/vira-pop-up-trigger.element.ts +539 -0
  17. package/src/elements/vira-absolute-time.element.ts +81 -0
  18. package/{dist/elements/vira-bold-text.element.js → src/elements/vira-bold-text.element.ts} +10 -9
  19. package/{dist/elements/vira-button.element.js → src/elements/vira-button.element.ts} +236 -97
  20. package/{dist/elements/vira-card.element.js → src/elements/vira-card.element.ts} +18 -15
  21. package/{dist/elements/vira-checkbox.element.js → src/elements/vira-checkbox.element.ts} +95 -40
  22. package/{dist/elements/vira-collapsible-card.element.js → src/elements/vira-collapsible-card.element.ts} +71 -36
  23. package/{dist/elements/vira-collapsible-wrapper.element.js → src/elements/vira-collapsible-wrapper.element.ts} +59 -43
  24. package/src/elements/vira-date-input.element.ts +185 -0
  25. package/{dist/elements/vira-drawer.element.js → src/elements/vira-drawer.element.ts} +124 -89
  26. package/src/elements/vira-dropdown.element.ts +310 -0
  27. package/{dist/elements/vira-error.element.js → src/elements/vira-error.element.ts} +8 -7
  28. package/src/elements/vira-form.element.ts +466 -0
  29. package/{dist/elements/vira-icon.element.js → src/elements/vira-icon.element.ts} +16 -10
  30. package/{dist/elements/vira-image.element.js → src/elements/vira-image.element.ts} +70 -46
  31. package/{dist/elements/vira-input.element.js → src/elements/vira-input.element.ts} +167 -98
  32. package/{dist/elements/vira-json-form.element.js → src/elements/vira-json-form.element.ts} +520 -344
  33. package/{dist/elements/vira-link.element.js → src/elements/vira-link.element.ts} +82 -21
  34. package/{dist/elements/vira-modal.element.js → src/elements/vira-modal.element.ts} +103 -59
  35. package/{dist/elements/vira-progress.element.js → src/elements/vira-progress.element.ts} +25 -12
  36. package/src/elements/vira-relative-time.element.ts +135 -0
  37. package/{dist/elements/vira-select.element.js → src/elements/vira-select.element.ts} +137 -76
  38. package/{dist/elements/vira-tabs.element.js → src/elements/vira-tabs.element.ts} +444 -226
  39. package/{dist/elements/vira-tag.element.js → src/elements/vira-tag.element.ts} +266 -124
  40. package/{dist/elements/vira-text-area.element.js → src/elements/vira-text-area.element.ts} +70 -42
  41. package/{dist/elements/vira-theme-switcher.element.js → src/elements/vira-theme-switcher.element.ts} +49 -34
  42. package/{dist/icons/colored-icon.js → src/icons/colored-icon.ts} +24 -17
  43. package/src/icons/icon-color.test-helper.ts +9 -0
  44. package/{dist/icons/icon-css-vars.js → src/icons/icon-css-vars.ts} +2 -1
  45. package/{dist/icons/icon-svg.d.ts → src/icons/icon-svg.ts} +15 -3
  46. package/{dist/icons/icon-svgs/16/check-16.icon.js → src/icons/icon-svgs/16/check-16.icon.ts} +5 -4
  47. package/{dist/icons/icon-svgs/16/chevron-down-16.icon.js → src/icons/icon-svgs/16/chevron-down-16.icon.ts} +5 -4
  48. package/{dist/icons/icon-svgs/16/chevron-up-16.icon.js → src/icons/icon-svgs/16/chevron-up-16.icon.ts} +5 -4
  49. package/{dist/icons/icon-svgs/16/dash-16.icon.js → src/icons/icon-svgs/16/dash-16.icon.ts} +5 -4
  50. package/{dist/icons/icon-svgs/16/element-16.icon.js → src/icons/icon-svgs/16/element-16.icon.ts} +5 -4
  51. package/{dist/icons/icon-svgs/16/plus-16.icon.js → src/icons/icon-svgs/16/plus-16.icon.ts} +5 -4
  52. package/{dist/icons/icon-svgs/16/upload-16.icon.js → src/icons/icon-svgs/16/upload-16.icon.ts} +5 -4
  53. package/{dist/icons/icon-svgs/16/x-16.icon.js → src/icons/icon-svgs/16/x-16.icon.ts} +5 -4
  54. package/{dist/icons/icon-svgs/24/arrow-down-24.icon.js → src/icons/icon-svgs/24/arrow-down-24.icon.ts} +5 -4
  55. package/{dist/icons/icon-svgs/24/arrow-left-24.icon.js → src/icons/icon-svgs/24/arrow-left-24.icon.ts} +5 -4
  56. package/{dist/icons/icon-svgs/24/arrow-right-24.icon.js → src/icons/icon-svgs/24/arrow-right-24.icon.ts} +5 -4
  57. package/{dist/icons/icon-svgs/24/arrow-up-24.icon.js → src/icons/icon-svgs/24/arrow-up-24.icon.ts} +5 -4
  58. package/{dist/icons/icon-svgs/24/auto-theme-24.icon.js → src/icons/icon-svgs/24/auto-theme-24.icon.ts} +5 -4
  59. package/{dist/icons/icon-svgs/24/bell-24.icon.js → src/icons/icon-svgs/24/bell-24.icon.ts} +5 -4
  60. package/{dist/icons/icon-svgs/24/chat-24.icon.js → src/icons/icon-svgs/24/chat-24.icon.ts} +5 -4
  61. package/{dist/icons/icon-svgs/24/check-24.icon.js → src/icons/icon-svgs/24/check-24.icon.ts} +5 -4
  62. package/{dist/icons/icon-svgs/24/chevron-down-24.icon.js → src/icons/icon-svgs/24/chevron-down-24.icon.ts} +5 -4
  63. package/{dist/icons/icon-svgs/24/chevron-up-24.icon.js → src/icons/icon-svgs/24/chevron-up-24.icon.ts} +5 -4
  64. package/{dist/icons/icon-svgs/24/close-x-24.icon.js → src/icons/icon-svgs/24/close-x-24.icon.ts} +5 -4
  65. package/{dist/icons/icon-svgs/24/commit-24.icon.js → src/icons/icon-svgs/24/commit-24.icon.ts} +5 -4
  66. package/{dist/icons/icon-svgs/24/copy-24.icon.js → src/icons/icon-svgs/24/copy-24.icon.ts} +5 -4
  67. package/{dist/icons/icon-svgs/24/document-24.icon.js → src/icons/icon-svgs/24/document-24.icon.ts} +5 -4
  68. package/{dist/icons/icon-svgs/24/document-search-24.icon.js → src/icons/icon-svgs/24/document-search-24.icon.ts} +5 -4
  69. package/{dist/icons/icon-svgs/24/double-chevron-24.icon.js → src/icons/icon-svgs/24/double-chevron-24.icon.ts} +5 -4
  70. package/{dist/icons/icon-svgs/24/element-24.icon.js → src/icons/icon-svgs/24/element-24.icon.ts} +5 -4
  71. package/{dist/icons/icon-svgs/24/external-link-24.icon.js → src/icons/icon-svgs/24/external-link-24.icon.ts} +5 -4
  72. package/{dist/icons/icon-svgs/24/eye-closed-24.icon.js → src/icons/icon-svgs/24/eye-closed-24.icon.ts} +5 -4
  73. package/{dist/icons/icon-svgs/24/eye-open-24.icon.js → src/icons/icon-svgs/24/eye-open-24.icon.ts} +5 -4
  74. package/{dist/icons/icon-svgs/24/filter-24.icon.js → src/icons/icon-svgs/24/filter-24.icon.ts} +5 -4
  75. package/{dist/icons/icon-svgs/24/globe-24.icon.js → src/icons/icon-svgs/24/globe-24.icon.ts} +5 -4
  76. package/{dist/icons/icon-svgs/24/link-24.icon.js → src/icons/icon-svgs/24/link-24.icon.ts} +5 -4
  77. package/{dist/icons/icon-svgs/24/loader-24.icon.js → src/icons/icon-svgs/24/loader-24.icon.ts} +5 -4
  78. package/{dist/icons/icon-svgs/24/loader-animated-24.icon.js → src/icons/icon-svgs/24/loader-animated-24.icon.ts} +8 -6
  79. package/{dist/icons/icon-svgs/24/lock-24.icon.js → src/icons/icon-svgs/24/lock-24.icon.ts} +5 -4
  80. package/{dist/icons/icon-svgs/24/magnifying-glass-24.icon.js → src/icons/icon-svgs/24/magnifying-glass-24.icon.ts} +5 -4
  81. package/{dist/icons/icon-svgs/24/moon-24.icon.js → src/icons/icon-svgs/24/moon-24.icon.ts} +5 -4
  82. package/{dist/icons/icon-svgs/24/options-24.icon.js → src/icons/icon-svgs/24/options-24.icon.ts} +5 -4
  83. package/{dist/icons/icon-svgs/24/pencil-24.icon.js → src/icons/icon-svgs/24/pencil-24.icon.ts} +5 -4
  84. package/{dist/icons/icon-svgs/24/plus-24.icon.js → src/icons/icon-svgs/24/plus-24.icon.ts} +5 -4
  85. package/{dist/icons/icon-svgs/24/printer-24.icon.js → src/icons/icon-svgs/24/printer-24.icon.ts} +5 -4
  86. package/{dist/icons/icon-svgs/24/shield-24.icon.js → src/icons/icon-svgs/24/shield-24.icon.ts} +5 -4
  87. package/{dist/icons/icon-svgs/24/sort-ascending-24.icon.js → src/icons/icon-svgs/24/sort-ascending-24.icon.ts} +5 -4
  88. package/{dist/icons/icon-svgs/24/sort-descending-24.icon.js → src/icons/icon-svgs/24/sort-descending-24.icon.ts} +5 -4
  89. package/{dist/icons/icon-svgs/24/sparkle-24.icon.js → src/icons/icon-svgs/24/sparkle-24.icon.ts} +5 -4
  90. package/{dist/icons/icon-svgs/24/speaker-loud-24.icon.js → src/icons/icon-svgs/24/speaker-loud-24.icon.ts} +5 -4
  91. package/{dist/icons/icon-svgs/24/speaker-medium-24.icon.js → src/icons/icon-svgs/24/speaker-medium-24.icon.ts} +5 -4
  92. package/{dist/icons/icon-svgs/24/speaker-muted-24.icon.js → src/icons/icon-svgs/24/speaker-muted-24.icon.ts} +5 -4
  93. package/{dist/icons/icon-svgs/24/speaker-quiet-24.icon.js → src/icons/icon-svgs/24/speaker-quiet-24.icon.ts} +5 -4
  94. package/{dist/icons/icon-svgs/24/star-24.icon.js → src/icons/icon-svgs/24/star-24.icon.ts} +5 -4
  95. package/{dist/icons/icon-svgs/24/status-failure-24.icon.js → src/icons/icon-svgs/24/status-failure-24.icon.ts} +5 -4
  96. package/{dist/icons/icon-svgs/24/status-in-progress-24.icon.js → src/icons/icon-svgs/24/status-in-progress-24.icon.ts} +5 -4
  97. package/{dist/icons/icon-svgs/24/status-success-24.icon.js → src/icons/icon-svgs/24/status-success-24.icon.ts} +5 -4
  98. package/{dist/icons/icon-svgs/24/status-unknown-24.icon.js → src/icons/icon-svgs/24/status-unknown-24.icon.ts} +5 -4
  99. package/{dist/icons/icon-svgs/24/status-warning-24.icon.js → src/icons/icon-svgs/24/status-warning-24.icon.ts} +5 -4
  100. package/{dist/icons/icon-svgs/24/sun-24.icon.js → src/icons/icon-svgs/24/sun-24.icon.ts} +5 -4
  101. package/{dist/icons/icon-svgs/24/upload-24.icon.js → src/icons/icon-svgs/24/upload-24.icon.ts} +5 -4
  102. package/{dist/icons/icon-svgs/24/x-24.icon.js → src/icons/icon-svgs/24/x-24.icon.ts} +5 -4
  103. package/{dist/icons/index.js → src/icons/index.ts} +65 -60
  104. package/src/icons/lucide-icons.ts +120 -0
  105. package/{dist/icons/sized-icon.js → src/icons/sized-icon.ts} +3 -1
  106. package/{dist/styles/disabled.js → src/styles/disabled.ts} +3 -2
  107. package/{dist/styles/durations.js → src/styles/durations.ts} +2 -1
  108. package/{dist/styles/focus.js → src/styles/focus.ts} +40 -12
  109. package/{dist/styles/font.js → src/styles/font.ts} +3 -1
  110. package/src/styles/form-styles.ts +86 -0
  111. package/{dist/styles/form-variants.js → src/styles/form-variants.ts} +42 -34
  112. package/{dist/styles/index.js → src/styles/index.ts} +1 -0
  113. package/{dist/styles/native-styles.js → src/styles/native-styles.ts} +5 -3
  114. package/{dist/styles/scrollbar.js → src/styles/scrollbar.ts} +4 -3
  115. package/{dist/styles/shadows.js → src/styles/shadows.ts} +7 -5
  116. package/{dist/styles/user-select.js → src/styles/user-select.ts} +3 -2
  117. package/src/styles/vira-color-palette.json +170 -0
  118. package/{dist/styles/vira-color-palette.js → src/styles/vira-color-palette.ts} +3 -1
  119. package/src/styles/vira-color-theme-object.ts +170 -0
  120. package/{dist/styles/vira-color-theme.js → src/styles/vira-color-theme.ts} +1227 -1222
  121. package/src/util/color-local-storage.client.ts +7 -0
  122. package/src/util/define-table.ts +286 -0
  123. package/src/util/define-vira-element.ts +29 -0
  124. package/src/util/dynamic-element.ts +128 -0
  125. package/{dist/util/overflow-observer.js → src/util/overflow-observer.ts} +30 -1
  126. package/src/util/pop-up-helpers.ts +133 -0
  127. package/src/util/pop-up-manager.ts +434 -0
  128. package/src/util/shared-text-input-logic.ts +192 -0
  129. package/src/util/vira-form-fields.ts +195 -0
  130. package/{dist/util/vira-json-schema.js → src/util/vira-json-schema.ts} +291 -148
  131. package/{dist/util/vira-select-option.d.ts → src/util/vira-select-option.ts} +9 -2
  132. package/src/util/vira-theme-client.ts +140 -0
  133. package/dist/elements/index.js +0 -29
  134. package/dist/elements/pop-up/vira-menu-item.element.d.ts +0 -38
  135. package/dist/elements/pop-up/vira-menu-trigger.element.d.ts +0 -45
  136. package/dist/elements/pop-up/vira-menu-trigger.element.js +0 -98
  137. package/dist/elements/pop-up/vira-menu.element.d.ts +0 -36
  138. package/dist/elements/pop-up/vira-pop-up-trigger.element.d.ts +0 -109
  139. package/dist/elements/pop-up/vira-pop-up-trigger.element.js +0 -394
  140. package/dist/elements/vira-absolute-time.element.d.ts +0 -35
  141. package/dist/elements/vira-absolute-time.element.js +0 -43
  142. package/dist/elements/vira-bold-text.element.d.ts +0 -9
  143. package/dist/elements/vira-button.element.d.ts +0 -51
  144. package/dist/elements/vira-card.element.d.ts +0 -18
  145. package/dist/elements/vira-checkbox.element.d.ts +0 -44
  146. package/dist/elements/vira-collapsible-card.element.d.ts +0 -36
  147. package/dist/elements/vira-collapsible-wrapper.element.d.ts +0 -30
  148. package/dist/elements/vira-date-input.element.d.ts +0 -47
  149. package/dist/elements/vira-date-input.element.js +0 -136
  150. package/dist/elements/vira-drawer.element.d.ts +0 -24
  151. package/dist/elements/vira-dropdown.element.d.ts +0 -49
  152. package/dist/elements/vira-dropdown.element.js +0 -251
  153. package/dist/elements/vira-error.element.d.ts +0 -7
  154. package/dist/elements/vira-form.element.d.ts +0 -56
  155. package/dist/elements/vira-form.element.js +0 -362
  156. package/dist/elements/vira-icon.element.d.ts +0 -13
  157. package/dist/elements/vira-image.element.d.ts +0 -45
  158. package/dist/elements/vira-input.element.d.ts +0 -64
  159. package/dist/elements/vira-json-form.element.d.ts +0 -35
  160. package/dist/elements/vira-link.element.d.ts +0 -78
  161. package/dist/elements/vira-modal.element.d.ts +0 -40
  162. package/dist/elements/vira-progress.element.d.ts +0 -18
  163. package/dist/elements/vira-relative-time.element.d.ts +0 -42
  164. package/dist/elements/vira-relative-time.element.js +0 -96
  165. package/dist/elements/vira-select.element.d.ts +0 -44
  166. package/dist/elements/vira-tabs.element.d.ts +0 -124
  167. package/dist/elements/vira-tag.element.d.ts +0 -40
  168. package/dist/elements/vira-text-area.element.d.ts +0 -48
  169. package/dist/elements/vira-theme-switcher.element.d.ts +0 -17
  170. package/dist/icons/colored-icon.d.ts +0 -11
  171. package/dist/icons/icon-color.test-helper.d.ts +0 -6
  172. package/dist/icons/icon-color.test-helper.js +0 -9
  173. package/dist/icons/icon-css-vars.d.ts +0 -14
  174. package/dist/icons/icon-svg.js +0 -12
  175. package/dist/icons/icon-svgs/16/check-16.icon.d.ts +0 -8
  176. package/dist/icons/icon-svgs/16/chevron-down-16.icon.d.ts +0 -8
  177. package/dist/icons/icon-svgs/16/chevron-up-16.icon.d.ts +0 -8
  178. package/dist/icons/icon-svgs/16/dash-16.icon.d.ts +0 -8
  179. package/dist/icons/icon-svgs/16/element-16.icon.d.ts +0 -8
  180. package/dist/icons/icon-svgs/16/plus-16.icon.d.ts +0 -8
  181. package/dist/icons/icon-svgs/16/upload-16.icon.d.ts +0 -8
  182. package/dist/icons/icon-svgs/16/x-16.icon.d.ts +0 -8
  183. package/dist/icons/icon-svgs/24/arrow-down-24.icon.d.ts +0 -8
  184. package/dist/icons/icon-svgs/24/arrow-left-24.icon.d.ts +0 -8
  185. package/dist/icons/icon-svgs/24/arrow-right-24.icon.d.ts +0 -8
  186. package/dist/icons/icon-svgs/24/arrow-up-24.icon.d.ts +0 -8
  187. package/dist/icons/icon-svgs/24/auto-theme-24.icon.d.ts +0 -8
  188. package/dist/icons/icon-svgs/24/bell-24.icon.d.ts +0 -8
  189. package/dist/icons/icon-svgs/24/chat-24.icon.d.ts +0 -8
  190. package/dist/icons/icon-svgs/24/check-24.icon.d.ts +0 -8
  191. package/dist/icons/icon-svgs/24/chevron-down-24.icon.d.ts +0 -8
  192. package/dist/icons/icon-svgs/24/chevron-up-24.icon.d.ts +0 -8
  193. package/dist/icons/icon-svgs/24/close-x-24.icon.d.ts +0 -8
  194. package/dist/icons/icon-svgs/24/commit-24.icon.d.ts +0 -8
  195. package/dist/icons/icon-svgs/24/copy-24.icon.d.ts +0 -8
  196. package/dist/icons/icon-svgs/24/document-24.icon.d.ts +0 -8
  197. package/dist/icons/icon-svgs/24/document-search-24.icon.d.ts +0 -8
  198. package/dist/icons/icon-svgs/24/double-chevron-24.icon.d.ts +0 -8
  199. package/dist/icons/icon-svgs/24/element-24.icon.d.ts +0 -8
  200. package/dist/icons/icon-svgs/24/external-link-24.icon.d.ts +0 -8
  201. package/dist/icons/icon-svgs/24/eye-closed-24.icon.d.ts +0 -8
  202. package/dist/icons/icon-svgs/24/eye-open-24.icon.d.ts +0 -8
  203. package/dist/icons/icon-svgs/24/filter-24.icon.d.ts +0 -8
  204. package/dist/icons/icon-svgs/24/globe-24.icon.d.ts +0 -8
  205. package/dist/icons/icon-svgs/24/link-24.icon.d.ts +0 -8
  206. package/dist/icons/icon-svgs/24/loader-24.icon.d.ts +0 -8
  207. package/dist/icons/icon-svgs/24/loader-animated-24.icon.d.ts +0 -8
  208. package/dist/icons/icon-svgs/24/lock-24.icon.d.ts +0 -8
  209. package/dist/icons/icon-svgs/24/magnifying-glass-24.icon.d.ts +0 -8
  210. package/dist/icons/icon-svgs/24/moon-24.icon.d.ts +0 -8
  211. package/dist/icons/icon-svgs/24/options-24.icon.d.ts +0 -8
  212. package/dist/icons/icon-svgs/24/pencil-24.icon.d.ts +0 -8
  213. package/dist/icons/icon-svgs/24/plus-24.icon.d.ts +0 -8
  214. package/dist/icons/icon-svgs/24/printer-24.icon.d.ts +0 -8
  215. package/dist/icons/icon-svgs/24/shield-24.icon.d.ts +0 -8
  216. package/dist/icons/icon-svgs/24/sort-ascending-24.icon.d.ts +0 -8
  217. package/dist/icons/icon-svgs/24/sort-descending-24.icon.d.ts +0 -8
  218. package/dist/icons/icon-svgs/24/sparkle-24.icon.d.ts +0 -8
  219. package/dist/icons/icon-svgs/24/speaker-loud-24.icon.d.ts +0 -8
  220. package/dist/icons/icon-svgs/24/speaker-medium-24.icon.d.ts +0 -8
  221. package/dist/icons/icon-svgs/24/speaker-muted-24.icon.d.ts +0 -8
  222. package/dist/icons/icon-svgs/24/speaker-quiet-24.icon.d.ts +0 -8
  223. package/dist/icons/icon-svgs/24/star-24.icon.d.ts +0 -8
  224. package/dist/icons/icon-svgs/24/status-failure-24.icon.d.ts +0 -8
  225. package/dist/icons/icon-svgs/24/status-in-progress-24.icon.d.ts +0 -8
  226. package/dist/icons/icon-svgs/24/status-success-24.icon.d.ts +0 -8
  227. package/dist/icons/icon-svgs/24/status-unknown-24.icon.d.ts +0 -8
  228. package/dist/icons/icon-svgs/24/status-warning-24.icon.d.ts +0 -8
  229. package/dist/icons/icon-svgs/24/sun-24.icon.d.ts +0 -8
  230. package/dist/icons/icon-svgs/24/upload-24.icon.d.ts +0 -8
  231. package/dist/icons/icon-svgs/24/x-24.icon.d.ts +0 -8
  232. package/dist/icons/index.d.ts +0 -197
  233. package/dist/icons/lucide-icons.d.ts +0 -15
  234. package/dist/icons/lucide-icons.js +0 -79
  235. package/dist/icons/sized-icon.d.ts +0 -8
  236. package/dist/index.js +0 -4
  237. package/dist/styles/disabled.d.ts +0 -6
  238. package/dist/styles/durations.d.ts +0 -22
  239. package/dist/styles/focus.d.ts +0 -26
  240. package/dist/styles/font.d.ts +0 -12
  241. package/dist/styles/form-styles.d.ts +0 -46
  242. package/dist/styles/form-styles.js +0 -53
  243. package/dist/styles/form-variants.d.ts +0 -117
  244. package/dist/styles/index.d.ts +0 -14
  245. package/dist/styles/native-styles.d.ts +0 -13
  246. package/dist/styles/scrollbar.d.ts +0 -6
  247. package/dist/styles/shadows.d.ts +0 -19
  248. package/dist/styles/user-select.d.ts +0 -6
  249. package/dist/styles/vira-color-palette.d.ts +0 -178
  250. package/dist/styles/vira-color-theme-object.d.ts +0 -65
  251. package/dist/styles/vira-color-theme-object.js +0 -65
  252. package/dist/styles/vira-color-theme.d.ts +0 -2785
  253. package/dist/util/define-table.d.ts +0 -115
  254. package/dist/util/define-table.js +0 -115
  255. package/dist/util/define-vira-element.d.ts +0 -18
  256. package/dist/util/define-vira-element.js +0 -19
  257. package/dist/util/dynamic-element.d.ts +0 -62
  258. package/dist/util/dynamic-element.js +0 -61
  259. package/dist/util/index.js +0 -11
  260. package/dist/util/overflow-observer.d.ts +0 -25
  261. package/dist/util/pop-up-helpers.d.ts +0 -59
  262. package/dist/util/pop-up-helpers.js +0 -66
  263. package/dist/util/pop-up-manager.d.ts +0 -200
  264. package/dist/util/pop-up-manager.js +0 -258
  265. package/dist/util/shared-text-input-logic.d.ts +0 -69
  266. package/dist/util/shared-text-input-logic.js +0 -114
  267. package/dist/util/vira-form-fields.d.ts +0 -145
  268. package/dist/util/vira-form-fields.js +0 -66
  269. package/dist/util/vira-json-schema.d.ts +0 -206
  270. package/dist/util/vira-select-option.js +0 -8
  271. package/dist/util/vira-theme-client.d.ts +0 -83
  272. package/dist/util/vira-theme-client.js +0 -93
  273. /package/{dist/index.d.ts → src/index.ts} +0 -0
  274. /package/{dist/util/index.d.ts → src/util/index.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vira",
3
- "version": "31.31.6",
3
+ "version": "32.0.0-beta.0",
4
4
  "description": "A simple and highly versatile design system using element-vir.",
5
5
  "keywords": [
6
6
  "design",
@@ -27,9 +27,9 @@
27
27
  },
28
28
  "sideEffects": false,
29
29
  "type": "module",
30
- "main": "dist/index.js",
31
- "module": "dist/index.js",
32
- "types": "dist/index.d.ts",
30
+ "main": "src/index.ts",
31
+ "module": "src/index.ts",
32
+ "types": "src/index.ts",
33
33
  "scripts": {
34
34
  "build": "npm run docs",
35
35
  "compile": "virmator compile",
@@ -38,23 +38,23 @@
38
38
  "test:docs": "virmator docs check"
39
39
  },
40
40
  "dependencies": {
41
- "@augment-vir/assert": "^32.2.2",
42
- "@augment-vir/common": "^32.2.2",
43
- "@augment-vir/web": "^32.2.2",
44
- "@electrovir/color": "^1.7.11",
41
+ "@augment-vir/assert": "^32.3.0-beta.0",
42
+ "@augment-vir/common": "^32.3.0-beta.0",
43
+ "@augment-vir/web": "^32.3.0-beta.0",
44
+ "@electrovir/color": "^2.0.0-beta.0",
45
45
  "@electrovir/local-storage-client": "^0.1.1",
46
- "date-vir": "^9.1.0",
47
- "device-navigation": "^4.7.3",
46
+ "date-vir": "^9.1.1",
47
+ "device-navigation": "^5.0.0-beta.0",
48
48
  "json-schema-to-ts": "^3.1.1",
49
49
  "lit-css-vars": "^3.6.3",
50
50
  "object-shape-tester": "^6.15.0",
51
51
  "observavir": "^2.3.3",
52
52
  "page-active": "^1.0.4",
53
- "spa-router-vir": "^6.6.1",
53
+ "spa-router-vir": "^6.8.0",
54
54
  "typed-event-target": "^4.3.3"
55
55
  },
56
56
  "devDependencies": {
57
- "@augment-vir/test": "^32.2.2",
57
+ "@augment-vir/test": "^32.3.0-beta.0",
58
58
  "@web/dev-server-esbuild": "^2.0.0",
59
59
  "@web/test-runner": "^1.0.0",
60
60
  "@web/test-runner-commands": "^1.0.1",
@@ -62,18 +62,18 @@
62
62
  "@web/test-runner-visual-regression": "^1.0.1",
63
63
  "esbuild": "^0.28.2",
64
64
  "istanbul-smart-text-reporter": "^1.1.5",
65
- "lucide-static": "^1.31.0",
65
+ "lucide-static": "^1.42.0",
66
66
  "markdown-code-example-inserter": "^3.0.6",
67
- "theme-vir": "^28.25.1",
67
+ "theme-vir": "^29.0.0-beta.0",
68
68
  "typedoc": "^0.28.20",
69
69
  "typescript": "^6.0.3",
70
- "vite": "^8.2.1",
70
+ "vite": "^8.2.2",
71
71
  "vite-tsconfig-paths": "^6.1.1"
72
72
  },
73
73
  "peerDependencies": {
74
- "element-vir": "^26",
74
+ "element-vir": "^27.0.0-beta.3",
75
75
  "lucide-static": ">=0.460",
76
- "theme-vir": ">=28"
76
+ "theme-vir": "^29.0.0-beta.0"
77
77
  },
78
78
  "engines": {
79
79
  "node": ">=22"
@@ -0,0 +1,66 @@
1
+ /* node:coverage disable */
2
+
3
+ import {getObjectTypedKeys, getObjectTypedValues} from '@augment-vir/common';
4
+ import {colorFormatsBySpace} from '@electrovir/color/dist/data/color-class/color-formats.js';
5
+ import {type Color} from '@electrovir/color/dist/data/color-class/color.js';
6
+ import {css, defineElement, defineElementEvent, html, listen} from 'element-vir';
7
+ import {ViraColorFormatSliders} from './vira-color-format-sliders.element.js';
8
+
9
+ /**
10
+ * Color sliders for all color spaces.
11
+ *
12
+ * @category Elements
13
+ */
14
+ export const ViraAllColorSpaceSliders = defineElement<{color: Readonly<Color>}>()({
15
+ tagName: 'vira-all-color-space-sliders',
16
+ styles: css`
17
+ :host {
18
+ display: flex;
19
+ flex-direction: column;
20
+ gap: 16px;
21
+ }
22
+
23
+ .color-space {
24
+ display: flex;
25
+ flex-wrap: wrap;
26
+ column-gap: 32px;
27
+ row-gap: 8px;
28
+ }
29
+ `,
30
+ events: {
31
+ colorChange: defineElementEvent<string>(),
32
+ },
33
+ render({inputs, dispatch, events}) {
34
+ const colorSpaceTemplates = getObjectTypedValues(colorFormatsBySpace).map(
35
+ (colorSpaceFormats) => {
36
+ const formatTemplates = getObjectTypedKeys(colorSpaceFormats).map(
37
+ (colorFormatName) => {
38
+ return html`
39
+ <${ViraColorFormatSliders.assign({
40
+ color: inputs.color,
41
+ colorFormatName,
42
+ showFormatName: true,
43
+ })}
44
+ ${listen(ViraColorFormatSliders.events.colorChange, (event) => {
45
+ dispatch(
46
+ new events.colorChange({
47
+ detail: event.detail,
48
+ }),
49
+ );
50
+ })}
51
+ ></${ViraColorFormatSliders}>
52
+ `;
53
+ },
54
+ );
55
+
56
+ return html`
57
+ <section class="color-space">${formatTemplates}</section>
58
+ `;
59
+ },
60
+ );
61
+
62
+ return html`
63
+ ${colorSpaceTemplates}
64
+ `;
65
+ },
66
+ });
@@ -0,0 +1,85 @@
1
+ /* node:coverage disable */
2
+
3
+ import {
4
+ type ColorSyntaxName,
5
+ getColorSyntaxFromCssString,
6
+ } from '@electrovir/color/dist/data/color-class/color-formats.js';
7
+ import {Color} from '@electrovir/color/dist/data/color-class/color.js';
8
+ import {css, defineElement, defineElementEvent, html, listen} from 'element-vir';
9
+ import {ViraAllColorSpaceSliders} from './vira-all-color-space-sliders.element.js';
10
+ import {ViraColorDetails} from './vira-color-details.element.js';
11
+
12
+ /**
13
+ * A color picker element that shows sliders for all supported color spaces at once, as well as all
14
+ * the values for all supported color spaces in a table.
15
+ *
16
+ * @category Elements
17
+ */
18
+ export const ViraAllSpacesColorPicker = defineElement<{color: string}>()({
19
+ tagName: 'vira-all-spaces-color-picker',
20
+ styles: css`
21
+ :host {
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 16px;
25
+ }
26
+ `,
27
+ events: {
28
+ colorChange: defineElementEvent<string>(),
29
+ },
30
+ state() {
31
+ return {
32
+ inputColorString: undefined as undefined | string,
33
+ overrideInputColor: undefined as undefined | ColorSyntaxName,
34
+ };
35
+ },
36
+ render({inputs, dispatch, events, state, updateState}) {
37
+ const color = new Color(inputs.color);
38
+
39
+ if (state.overrideInputColor) {
40
+ updateState({
41
+ inputColorString: color.toCss()[state.overrideInputColor],
42
+ });
43
+ }
44
+
45
+ if (state.inputColorString == undefined) {
46
+ updateState({
47
+ inputColorString: inputs.color,
48
+ });
49
+ }
50
+
51
+ return html`
52
+ <${ViraColorDetails.assign({
53
+ color: inputs.color,
54
+ showInput: true,
55
+ })}
56
+ ${listen(ViraColorDetails.events.colorChange, (event) => {
57
+ updateState({
58
+ inputColorString: event.detail,
59
+ overrideInputColor: undefined,
60
+ });
61
+ dispatch(
62
+ new events.colorChange({
63
+ detail: event.detail,
64
+ }),
65
+ );
66
+ })}
67
+ ></${ViraColorDetails}>
68
+ <${ViraAllColorSpaceSliders.assign({
69
+ color,
70
+ })}
71
+ ${listen(ViraAllColorSpaceSliders.events.colorChange, (event) => {
72
+ const colorSyntax = getColorSyntaxFromCssString(state.inputColorString || '#');
73
+ updateState({
74
+ overrideInputColor: colorSyntax,
75
+ });
76
+ dispatch(
77
+ new events.colorChange({
78
+ detail: event.detail,
79
+ }),
80
+ );
81
+ })}
82
+ ></${ViraAllColorSpaceSliders}>
83
+ `;
84
+ },
85
+ });
@@ -0,0 +1,169 @@
1
+ /* node:coverage disable */
2
+
3
+ import {check} from '@augment-vir/assert';
4
+ import {getObjectTypedEntries, mapObject} from '@augment-vir/common';
5
+ import {ColorSyntaxName} from '@electrovir/color/dist/data/color-class/color-formats.js';
6
+ import {Color} from '@electrovir/color/dist/data/color-class/color.js';
7
+ import {css, defineElement, defineElementEvent, html, listen} from 'element-vir';
8
+ import {viraFontCssVars} from '../../styles/font.js';
9
+ import {noNativeSpacing} from '../../styles/native-styles.js';
10
+ import {defineTable} from '../../util/define-table.js';
11
+ import {ViraInput} from '../vira-input.element.js';
12
+ import {ViraColorSwatch} from './vira-color-swatch.element.js';
13
+
14
+ const omittedColors: ColorSyntaxName[] = [
15
+ ColorSyntaxName.hex,
16
+ ColorSyntaxName.name,
17
+ ];
18
+
19
+ /**
20
+ * A color swatch alongside the color in all of its different supported formats.
21
+ *
22
+ * @category Internal
23
+ */
24
+ export const ViraColorDetails = defineElement<{
25
+ color: string;
26
+ /** Show a text input that triggers an event when it is edited, for changing the color. */
27
+ showInput: boolean;
28
+ }>()({
29
+ tagName: 'vira-color-details',
30
+ styles: css`
31
+ :host {
32
+ display: flex;
33
+ gap: 16px;
34
+ }
35
+
36
+ ${ViraColorSwatch} {
37
+ height: 200px;
38
+ width: 200px;
39
+ }
40
+
41
+ .swatch {
42
+ display: flex;
43
+ flex-direction: column;
44
+ gap: 8px;
45
+ align-items: center;
46
+ }
47
+
48
+ ${ViraInput} {
49
+ font-size: 14px;
50
+ font-family: ${viraFontCssVars['vira-monospace'].value};
51
+ max-width: 200px;
52
+ }
53
+
54
+ td {
55
+ font-weight: bold;
56
+ }
57
+
58
+ th {
59
+ padding: 4px 8px;
60
+ font-weight: normal;
61
+ text-align: right;
62
+ }
63
+ pre {
64
+ ${noNativeSpacing};
65
+ font-family: ${viraFontCssVars['vira-monospace'].value};
66
+ }
67
+ `,
68
+ events: {
69
+ colorChange: defineElementEvent<string>(),
70
+ },
71
+ state() {
72
+ return {
73
+ inputColorString: undefined as undefined | string,
74
+ };
75
+ },
76
+ render({inputs, dispatch, events, state, updateState}) {
77
+ const color = new Color(inputs.color);
78
+ const colorStrings = mapObject(color.toFormattedStrings(), (key, value) => {
79
+ if (check.hasValue(omittedColors, key)) {
80
+ return undefined;
81
+ } else if (key === 'hexString') {
82
+ return {
83
+ key: 'hex',
84
+ value,
85
+ };
86
+ } else {
87
+ return {
88
+ key,
89
+ value,
90
+ };
91
+ }
92
+ });
93
+
94
+ if (state.inputColorString == undefined) {
95
+ updateState({
96
+ inputColorString: inputs.color,
97
+ });
98
+ }
99
+
100
+ const {rows} = defineTable({
101
+ headers: [
102
+ {
103
+ key: 'colorFormat',
104
+ },
105
+ {
106
+ key: 'formattedString',
107
+ },
108
+ ],
109
+ originalData: getObjectTypedEntries(colorStrings),
110
+ dataMap: ([
111
+ colorFormat,
112
+ value,
113
+ ]) => {
114
+ return {
115
+ colorFormat: `${colorFormat}:`,
116
+ formattedString: html`
117
+ <pre>${value}</pre>
118
+ `,
119
+ };
120
+ },
121
+ });
122
+
123
+ const inputTemplate = inputs.showInput
124
+ ? html`
125
+ <${ViraInput.assign({
126
+ value: state.inputColorString || '',
127
+ fitText: true,
128
+ })}
129
+ ${listen(ViraInput.events.valueChange, (event) => {
130
+ updateState({
131
+ inputColorString: event.detail,
132
+ });
133
+ dispatch(
134
+ new events.colorChange({
135
+ detail: event.detail,
136
+ }),
137
+ );
138
+ })}
139
+ ></${ViraInput}>
140
+ `
141
+ : '';
142
+
143
+ return html`
144
+ <div class="swatch">
145
+ <${ViraColorSwatch.assign({
146
+ backgroundColor: inputs.color,
147
+ })}></${ViraColorSwatch}>
148
+ ${inputTemplate}
149
+ </div>
150
+ <table>
151
+ <tbody>
152
+ ${rows.map((row) => {
153
+ const cells = row.cells.map((cell, index) => {
154
+ const element = index ? 'td' : 'th';
155
+
156
+ return html`
157
+ <${element}>${cell.content}</${element}>
158
+ `;
159
+ });
160
+
161
+ return html`
162
+ <tr>${cells}</tr>
163
+ `;
164
+ })}
165
+ </tbody>
166
+ </table>
167
+ `;
168
+ },
169
+ });
@@ -0,0 +1,78 @@
1
+ /* node:coverage disable */
2
+
3
+ import {getObjectTypedKeys} from '@augment-vir/common';
4
+ import {
5
+ type ColorCoordinateName,
6
+ type ColorFormatName,
7
+ colorFormats,
8
+ } from '@electrovir/color/dist/data/color-class/color-formats.js';
9
+ import {type Color, type ColorUpdate} from '@electrovir/color/dist/data/color-class/color.js';
10
+ import {css, defineElement, defineElementEvent, html, listen, nothing} from 'element-vir';
11
+ import {noNativeSpacing} from '../../styles/native-styles.js';
12
+ import {ViraColorSlider} from './vira-color-slider.element.js';
13
+
14
+ /**
15
+ * Color sliders for all coordinates within a specific color format.
16
+ *
17
+ * @category Elements
18
+ */
19
+ export const ViraColorFormatSliders = defineElement<{
20
+ color: Readonly<Color>;
21
+ colorFormatName: ColorFormatName;
22
+ showFormatName: boolean;
23
+ }>()({
24
+ tagName: 'vira-color-format-sliders',
25
+ styles: css`
26
+ :host {
27
+ display: flex;
28
+ flex-direction: column;
29
+ }
30
+
31
+ h3 {
32
+ ${noNativeSpacing};
33
+ }
34
+ `,
35
+ events: {
36
+ colorChange: defineElementEvent<string>(),
37
+ },
38
+ render({inputs, dispatch, events}) {
39
+ const colorFormat = colorFormats[inputs.colorFormatName];
40
+
41
+ const coordinateTemplates = getObjectTypedKeys(colorFormat.coords).map(
42
+ (colorCoordinate: ColorCoordinateName) => {
43
+ return html`
44
+ <${ViraColorSlider.assign({
45
+ color: inputs.color,
46
+ colorCoordinateName: colorCoordinate,
47
+ colorFormatName: inputs.colorFormatName,
48
+ })}
49
+ ${listen(ViraColorSlider.events.valueChange, (event) => {
50
+ const newColor = inputs.color.clone();
51
+
52
+ newColor.set({
53
+ [inputs.colorFormatName]: {
54
+ [colorCoordinate]: event.detail,
55
+ },
56
+ } as ColorUpdate);
57
+ const newValue = newColor.toCss()[colorFormat.conversionFormat];
58
+ dispatch(
59
+ new events.colorChange({
60
+ detail: newValue,
61
+ }),
62
+ );
63
+ })}
64
+ ></${ViraColorSlider}>
65
+ `;
66
+ },
67
+ );
68
+
69
+ return html`
70
+ ${inputs.showFormatName
71
+ ? html`
72
+ <h3>${inputs.colorFormatName}</h3>
73
+ `
74
+ : nothing}
75
+ ${coordinateTemplates}
76
+ `;
77
+ },
78
+ });