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
@@ -0,0 +1,78 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ import { type AttributeValues, type CSSResult } from 'element-vir';
3
+ import { type SpaRoute, type SpaRouter } from 'spa-router-vir';
4
+ /**
5
+ * The route properties required for using {@link ViraLink} with a route.
6
+ *
7
+ * @category Internal
8
+ */
9
+ export type ViraLinkRoute = Readonly<{
10
+ route: SpaRoute<any, any, any>;
11
+ router: Pick<SpaRouter<any, any, any>, 'createRouteUrl' | 'setRouteOnDirectNavigation'>;
12
+ scrollToTop?: boolean;
13
+ }>;
14
+ /**
15
+ * A hyperlink wrapper element that can be configured to emit route change events rather than just
16
+ * being a raw link.
17
+ *
18
+ * @category Link
19
+ * @category Elements
20
+ * @see https://electrovir.github.io/vira/book/elements/vira-link
21
+ */
22
+ export declare const ViraLink: import("element-vir").DeclarativeElementDefinition<"vira-link", (((Required<Pick<{
23
+ /**
24
+ * A full raw URL link that will navigate the current window away or open a new tab. If this
25
+ * property is provided for the inputs, don't provide a route property.
26
+ */
27
+ link: {
28
+ url: string;
29
+ newTab: boolean;
30
+ };
31
+ /**
32
+ * A route that'll change that current page without navigating the window. If this property
33
+ * is provided for the inputs, don't provide a link property.
34
+ */
35
+ route: ViraLinkRoute;
36
+ }, "link">> & Partial<Record<"route", never>>) | (Required<Pick<{
37
+ /**
38
+ * A full raw URL link that will navigate the current window away or open a new tab. If this
39
+ * property is provided for the inputs, don't provide a route property.
40
+ */
41
+ link: {
42
+ url: string;
43
+ newTab: boolean;
44
+ };
45
+ /**
46
+ * A route that'll change that current page without navigating the window. If this property
47
+ * is provided for the inputs, don't provide a link property.
48
+ */
49
+ route: ViraLinkRoute;
50
+ }, "route">> & Partial<Record<"link", never>>)) & Omit<{
51
+ /**
52
+ * A full raw URL link that will navigate the current window away or open a new tab. If this
53
+ * property is provided for the inputs, don't provide a route property.
54
+ */
55
+ link: {
56
+ url: string;
57
+ newTab: boolean;
58
+ };
59
+ /**
60
+ * A route that'll change that current page without navigating the window. If this property
61
+ * is provided for the inputs, don't provide a link property.
62
+ */
63
+ route: ViraLinkRoute;
64
+ }, "link" | "route">) & PartialWithUndefined<{
65
+ /** Styles that will be applied directly to the inner elements. */
66
+ stylePassthrough: Readonly<PartialWithUndefined<{
67
+ a: CSSResult;
68
+ }>>;
69
+ /** Attributes that will be applied directly to the inner elements. */
70
+ attributePassthrough: Readonly<PartialWithUndefined<{
71
+ a: AttributeValues;
72
+ }>>;
73
+ /** If set to true, internal link styles are not applied. */
74
+ disableLinkStyles: boolean;
75
+ }>, {
76
+ /** Removes event listeners registered during init. */
77
+ cleanupListeners: undefined | (() => void);
78
+ }, {}, "vira-link-link-styles", "vira-link-", readonly [], readonly []>;
@@ -1,30 +1,8 @@
1
- import {assertWrap} from '@augment-vir/assert';
2
- import {type PartialWithUndefined, type RequireExactlyOne} from '@augment-vir/common';
3
- import {
4
- attributes,
5
- css,
6
- html,
7
- ifDefined,
8
- listen,
9
- type AttributeValues,
10
- type CSSResult,
11
- } from 'element-vir';
12
- import {type SpaRoute, type SpaRouter} from 'spa-router-vir';
13
- import {listenTo} from 'typed-event-target';
14
- import {viraTheme} from '../styles/vira-color-theme.js';
15
- import {defineViraElement} from '../util/define-vira-element.js';
16
-
17
- /**
18
- * The route properties required for using {@link ViraLink} with a route.
19
- *
20
- * @category Internal
21
- */
22
- export type ViraLinkRoute = Readonly<{
23
- route: SpaRoute<any, any, any>;
24
- router: Pick<SpaRouter<any, any, any>, 'createRouteUrl' | 'setRouteOnDirectNavigation'>;
25
- scrollToTop?: boolean;
26
- }>;
27
-
1
+ import { assertWrap } from '@augment-vir/assert';
2
+ import { attributes, css, html, ifDefined, listen, } from 'element-vir';
3
+ import { listenTo } from 'typed-event-target';
4
+ import { viraTheme } from '../styles/vira-color-theme.js';
5
+ import { defineViraElement } from '../util/define-vira-element.js';
28
6
  /**
29
7
  * A hyperlink wrapper element that can be configured to emit route change events rather than just
30
8
  * being a raw link.
@@ -33,43 +11,21 @@ export type ViraLinkRoute = Readonly<{
33
11
  * @category Elements
34
12
  * @see https://electrovir.github.io/vira/book/elements/vira-link
35
13
  */
36
- export const ViraLink = defineViraElement<
37
- RequireExactlyOne<{
38
- /**
39
- * A full raw URL link that will navigate the current window away or open a new tab. If this
40
- * property is provided for the inputs, don't provide a route property.
41
- */
42
- link: {
43
- url: string;
44
- newTab: boolean;
45
- };
46
- /**
47
- * A route that'll change that current page without navigating the window. If this property
48
- * is provided for the inputs, don't provide a link property.
49
- */
50
- route: ViraLinkRoute;
51
- }> &
52
- PartialWithUndefined<{
53
- /** Styles that will be applied directly to the inner elements. */
54
- stylePassthrough: Readonly<PartialWithUndefined<{a: CSSResult}>>;
55
- /** Attributes that will be applied directly to the inner elements. */
56
- attributePassthrough: Readonly<PartialWithUndefined<{a: AttributeValues}>>;
57
- /** If set to true, internal link styles are not applied. */
58
- disableLinkStyles: boolean;
59
- }>
60
- >()({
14
+ export const ViraLink = defineViraElement()({
61
15
  tagName: 'vira-link',
62
16
  state() {
63
17
  return {
64
18
  /** Removes event listeners registered during init. */
65
- cleanupListeners: undefined as undefined | (() => void),
19
+ cleanupListeners: undefined,
66
20
  };
67
21
  },
68
22
  hostClasses: {
69
- 'vira-link-link-styles': ({inputs}) => !inputs.disableLinkStyles,
23
+ 'vira-link-link-styles'({ inputs }) {
24
+ return !inputs.disableLinkStyles;
25
+ },
70
26
  },
71
- styles: ({hostClasses}) => {
72
- return css`
27
+ styles({ hostClasses }) {
28
+ return css `
73
29
  :host {
74
30
  display: inline;
75
31
  text-decoration: underline;
@@ -98,26 +54,18 @@ export const ViraLink = defineViraElement<
98
54
  }
99
55
  `;
100
56
  },
101
- init({state, updateState, host}) {
57
+ init({ state, updateState, host }) {
102
58
  state.cleanupListeners?.();
103
-
104
59
  let propagating = false;
105
-
106
60
  const listenerRemovers = [
107
61
  listenTo(host, 'click', (event) => {
108
62
  if (propagating) {
109
63
  return;
110
64
  }
111
-
112
- const anchorElement = assertWrap.instanceOf(
113
- host.shadowRoot.querySelector('a'),
114
- HTMLAnchorElement,
115
- );
116
-
65
+ const anchorElement = assertWrap.instanceOf(host.shadowRoot.querySelector('a'), HTMLAnchorElement);
117
66
  if (event.composedPath().includes(anchorElement)) {
118
67
  return;
119
68
  }
120
-
121
69
  event.preventDefault();
122
70
  event.stopPropagation();
123
71
  propagating = true;
@@ -125,30 +73,24 @@ export const ViraLink = defineViraElement<
125
73
  propagating = false;
126
74
  }),
127
75
  ];
128
-
129
76
  updateState({
130
- cleanupListeners: () => {
77
+ cleanupListeners() {
131
78
  listenerRemovers.forEach((remover) => remover());
132
79
  },
133
80
  });
134
81
  },
135
- cleanup({state, updateState}) {
82
+ cleanup({ state, updateState }) {
136
83
  state.cleanupListeners?.();
137
84
  updateState({
138
85
  cleanupListeners: undefined,
139
86
  });
140
87
  },
141
- render({inputs}) {
142
- function clickCallback(event: MouseEvent) {
88
+ render({ inputs }) {
89
+ function clickCallback(event) {
143
90
  if (!inputs.route) {
144
91
  return;
145
92
  }
146
-
147
- const routed = inputs.route.router.setRouteOnDirectNavigation(
148
- inputs.route.route,
149
- event,
150
- );
151
-
93
+ const routed = inputs.route.router.setRouteOnDirectNavigation(inputs.route.route, event);
152
94
  if (routed && inputs.route.scrollToTop) {
153
95
  window.scrollTo({
154
96
  left: 0,
@@ -157,10 +99,9 @@ export const ViraLink = defineViraElement<
157
99
  });
158
100
  }
159
101
  }
160
-
161
102
  if (inputs.link?.newTab) {
162
103
  /** Noopener and noreferrer are needed for security reasons, do not remove! */
163
- return html`
104
+ return html `
164
105
  <a
165
106
  href=${inputs.link.url}
166
107
  target="_blank"
@@ -171,13 +112,13 @@ export const ViraLink = defineViraElement<
171
112
  <slot></slot>
172
113
  </a>
173
114
  `;
174
- } else {
175
- const linkUrl: string = inputs.link
115
+ }
116
+ else {
117
+ const linkUrl = inputs.link
176
118
  ? inputs.link.url
177
119
  : inputs.route.router.createRouteUrl(inputs.route.route).url;
178
-
179
120
  /** Noopener and noreferrer are needed for security reasons, do not remove! */
180
- return html`
121
+ return html `
181
122
  <a
182
123
  href=${linkUrl}
183
124
  rel="noopener noreferrer"
@@ -0,0 +1,40 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ /**
3
+ * A modal element that uses the built-in `dialog` element.
4
+ *
5
+ * @category Elements
6
+ * @see https://electrovir.github.io/vira/book/elements/vira-modal
7
+ */
8
+ export declare const ViraModal: import("element-vir").DeclarativeElementDefinition<`vira-${string}`, {
9
+ open: boolean;
10
+ } & PartialWithUndefined<{
11
+ /** If this isn't set, make sure to use the modal title slot to fill it in. */
12
+ modalTitle: string;
13
+ /**
14
+ * If `true`, the following conditions trigger the modal to close:
15
+ *
16
+ * - The user clicks the "x" close button
17
+ * - The `open` input is set to `false`
18
+ *
19
+ * If set to `false` (the default), the following conditions trigger the modal to close:
20
+ *
21
+ * - The user clicks outside of the modal
22
+ * - The user presses the "Escape" key
23
+ * - The user clicks the "x" close button
24
+ * - The `open` input is set to `false`
25
+ *
26
+ * @default false
27
+ */
28
+ blockLightDismissal: boolean;
29
+ modalSubtitle: string;
30
+ isMobileSize: boolean;
31
+ noContentPadding: boolean;
32
+ }>, {
33
+ dialogElement: HTMLDialogElement | undefined;
34
+ contentElement: HTMLDivElement | undefined;
35
+ previousOpenValue: undefined | boolean;
36
+ /** Remove listeners. */
37
+ cleanupListeners: undefined | (() => void);
38
+ }, {
39
+ modalClose: import("element-vir").DefineElementEvent<void>;
40
+ }, "vira-modal-phone-size" | "vira-modal-no-content-padding", "vira-modal-backdrop-filter" | "vira-modal-border-radius", readonly ["vira-modal-modal-title"], readonly []>;
@@ -1,84 +1,59 @@
1
- import {assertWrap} from '@augment-vir/assert';
2
- import {type PartialWithUndefined} from '@augment-vir/common';
3
- import {colorCss} from '@electrovir/color';
4
- import {css, defineElementEvent, html, listen, nothing, onDomCreated} from 'element-vir';
5
- import {themeDefaultKey} from 'theme-vir/dist/color-theme/color-theme.js';
6
- import {listenToGlobal} from 'typed-event-target';
7
- import {X24Icon} from '../icons/icon-svgs/24/x-24.icon.js';
8
- import {viraFormCssVars} from '../styles/form-styles.js';
9
- import {noNativeFormStyles, noNativeSpacing} from '../styles/native-styles.js';
10
- import {viraShadows} from '../styles/shadows.js';
11
- import {viraTheme} from '../styles/vira-color-theme.js';
12
- import {defineViraElement} from '../util/define-vira-element.js';
13
- import {isMouseEventOnScrollbar} from '../util/pop-up-manager.js';
14
- import {ViraIcon} from './vira-icon.element.js';
15
-
1
+ import { assertWrap } from '@augment-vir/assert';
2
+ import { colorCss } from '@electrovir/color';
3
+ import { css, defineElementEvent, html, listen, nothing, onDomCreated } from 'element-vir';
4
+ import { themeDefaultKey } from 'theme-vir/dist/color-theme/color-theme.js';
5
+ import { listenToGlobal } from 'typed-event-target';
6
+ import { X24Icon } from '../icons/icon-svgs/24/x-24.icon.js';
7
+ import { viraFormCssVars } from '../styles/form-styles.js';
8
+ import { noNativeFormStyles, noNativeSpacing } from '../styles/native-styles.js';
9
+ import { viraShadows } from '../styles/shadows.js';
10
+ import { viraTheme } from '../styles/vira-color-theme.js';
11
+ import { defineViraElement } from '../util/define-vira-element.js';
12
+ import { isMouseEventOnScrollbar } from '../util/pop-up-manager.js';
13
+ import { ViraIcon } from './vira-icon.element.js';
16
14
  const globalEventsToCloseModalOn = [
17
15
  'pagehide',
18
16
  'pageshow',
19
17
  'popstate',
20
- ] as const satisfies (keyof WindowEventMap)[];
21
-
18
+ ];
22
19
  /**
23
20
  * A modal element that uses the built-in `dialog` element.
24
21
  *
25
22
  * @category Elements
26
23
  * @see https://electrovir.github.io/vira/book/elements/vira-modal
27
24
  */
28
- export const ViraModal = defineViraElement<
29
- {
30
- open: boolean;
31
- } & PartialWithUndefined<{
32
- /** If this isn't set, make sure to use the modal title slot to fill it in. */
33
- modalTitle: string;
34
- /**
35
- * If `true`, the following conditions trigger the modal to close:
36
- *
37
- * - The user clicks the "x" close button
38
- * - The `open` input is set to `false`
39
- *
40
- * If set to `false` (the default), the following conditions trigger the modal to close:
41
- *
42
- * - The user clicks outside of the modal
43
- * - The user presses the "Escape" key
44
- * - The user clicks the "x" close button
45
- * - The `open` input is set to `false`
46
- *
47
- * @default false
48
- */
49
- blockLightDismissal: boolean;
50
- modalSubtitle: string;
51
- isMobileSize: boolean;
52
- noContentPadding: boolean;
53
- }>
54
- >()({
25
+ export const ViraModal = defineViraElement()({
55
26
  tagName: 'vira-modal',
56
27
  events: {
57
- modalClose: defineElementEvent<void>(),
28
+ modalClose: defineElementEvent(),
58
29
  },
59
30
  state() {
60
31
  return {
61
- dialogElement: undefined as HTMLDialogElement | undefined,
62
- contentElement: undefined as HTMLDivElement | undefined,
63
- previousOpenValue: undefined as undefined | boolean,
32
+ dialogElement: undefined,
33
+ contentElement: undefined,
34
+ previousOpenValue: undefined,
64
35
  /** Remove listeners. */
65
- cleanupListeners: undefined as undefined | (() => void),
36
+ cleanupListeners: undefined,
66
37
  };
67
38
  },
68
- cleanup({state}) {
39
+ cleanup({ state }) {
69
40
  state.cleanupListeners?.();
70
41
  },
71
42
  hostClasses: {
72
- 'vira-modal-phone-size': ({inputs}) => !!inputs.isMobileSize,
73
- 'vira-modal-no-content-padding': ({inputs}) => !!inputs.noContentPadding,
43
+ 'vira-modal-phone-size'({ inputs }) {
44
+ return !!inputs.isMobileSize;
45
+ },
46
+ 'vira-modal-no-content-padding'({ inputs }) {
47
+ return !!inputs.noContentPadding;
48
+ },
74
49
  },
75
50
  slotNames: ['vira-modal-modal-title'],
76
51
  cssVars: {
77
52
  'vira-modal-backdrop-filter': 'blur(3px)',
78
53
  'vira-modal-border-radius': '8px',
79
54
  },
80
- styles: ({hostClasses, cssVars}) => {
81
- return css`
55
+ styles({ hostClasses, cssVars }) {
56
+ return css `
82
57
  :host {
83
58
  display: contents;
84
59
  min-width: 280px;
@@ -136,7 +111,7 @@ export const ViraModal = defineViraElement<
136
111
  & sub {
137
112
  font-size: 16px;
138
113
  color: ${viraFormCssVars['vira-form-secondary-body-foreground']
139
- .value};
114
+ .value};
140
115
  }
141
116
  }
142
117
 
@@ -148,9 +123,7 @@ export const ViraModal = defineViraElement<
148
123
  border-radius: ${viraFormCssVars['vira-form-radius'].value};
149
124
 
150
125
  &:hover {
151
- background-color: ${viraFormCssVars[
152
- 'vira-form-selection-hover-color'
153
- ].value};
126
+ background-color: ${viraFormCssVars['vira-form-selection-hover-color'].value};
154
127
  }
155
128
 
156
129
  & ${ViraIcon} {
@@ -191,15 +164,15 @@ export const ViraModal = defineViraElement<
191
164
  }
192
165
  `;
193
166
  },
194
- render({inputs, state, updateState, events, dispatch, slotNames}) {
167
+ render({ inputs, state, updateState, events, dispatch, slotNames }) {
195
168
  if (state.dialogElement && inputs.open !== state.dialogElement.open) {
196
169
  if (inputs.open) {
197
170
  state.dialogElement.showModal();
198
- } else {
171
+ }
172
+ else {
199
173
  state.dialogElement.close();
200
174
  }
201
175
  }
202
-
203
176
  if (state.previousOpenValue !== inputs.open) {
204
177
  state.cleanupListeners?.();
205
178
  updateState({
@@ -208,62 +181,53 @@ export const ViraModal = defineViraElement<
208
181
  if (inputs.open) {
209
182
  const removers = globalEventsToCloseModalOn.map((eventName) => {
210
183
  return listenToGlobal(eventName, () => {
211
- dispatch(
212
- new events.modalClose({
213
- detail: undefined,
214
- }),
215
- );
184
+ dispatch(new events.modalClose({
185
+ detail: undefined,
186
+ }));
216
187
  });
217
188
  });
218
-
219
189
  updateState({
220
- cleanupListeners: () => {
190
+ cleanupListeners() {
221
191
  removers.forEach((remover) => remover());
222
192
  },
223
193
  });
224
194
  }
225
195
  }
226
-
227
196
  function close() {
228
197
  if (inputs.open) {
229
198
  state.cleanupListeners?.();
230
- dispatch(
231
- new events.modalClose({
232
- detail: undefined,
233
- }),
234
- );
199
+ dispatch(new events.modalClose({
200
+ detail: undefined,
201
+ }));
235
202
  }
236
203
  }
237
-
238
- return html`
204
+ return html `
239
205
  <dialog
240
206
  ${onDomCreated((element) => {
241
- updateState({
242
- dialogElement: assertWrap.instanceOf(element, HTMLDialogElement),
243
- });
244
- })}
207
+ updateState({
208
+ dialogElement: assertWrap.instanceOf(element, HTMLDialogElement),
209
+ });
210
+ })}
245
211
  ${listen('close', () => {
246
- close();
247
- })}
212
+ close();
213
+ })}
248
214
  ${listen('mousedown', (event) => {
249
- if (
250
- state.contentElement &&
251
- !event.composedPath().includes(state.contentElement) &&
252
- !inputs.blockLightDismissal &&
253
- !isMouseEventOnScrollbar(event)
254
- ) {
255
- /** Background click. */
256
- close();
257
- }
258
- })}
215
+ if (state.contentElement &&
216
+ !event.composedPath().includes(state.contentElement) &&
217
+ !inputs.blockLightDismissal &&
218
+ !isMouseEventOnScrollbar(event)) {
219
+ /** Background click. */
220
+ close();
221
+ }
222
+ })}
259
223
  >
260
224
  <div
261
225
  class="modal-content-wrapper"
262
226
  ${onDomCreated((element) => {
263
- updateState({
264
- contentElement: assertWrap.instanceOf(element, HTMLDivElement),
265
- });
266
- })}
227
+ updateState({
228
+ contentElement: assertWrap.instanceOf(element, HTMLDivElement),
229
+ });
230
+ })}
267
231
  >
268
232
  <div class="header">
269
233
  <div class="header-text-wrapper">
@@ -273,30 +237,30 @@ export const ViraModal = defineViraElement<
273
237
  </slot>
274
238
  </h1>
275
239
  ${inputs.modalSubtitle
276
- ? html`
240
+ ? html `
277
241
  <sub>${inputs.modalSubtitle}</sub>
278
242
  `
279
- : nothing}
243
+ : nothing}
280
244
  </div>
281
245
  <button
282
246
  class="close"
283
247
  aria-label="Close"
284
248
  ${listen('click', () => {
285
- state.dialogElement?.close();
286
- })}
249
+ state.dialogElement?.close();
250
+ })}
287
251
  >
288
252
  <${ViraIcon.assign({
289
- icon: X24Icon,
290
- })}></${ViraIcon}>
253
+ icon: X24Icon,
254
+ })}></${ViraIcon}>
291
255
  </button>
292
256
  </div>
293
257
  ${inputs.open
294
- ? html`
258
+ ? html `
295
259
  <div class="body">
296
260
  <slot></slot>
297
261
  </div>
298
262
  `
299
- : nothing}
263
+ : nothing}
300
264
  </div>
301
265
  </dialog>
302
266
  `;
@@ -0,0 +1,18 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ /**
3
+ * A [`<progress>`](https://developer.mozilla.org/docs/Web/HTML/Reference/Elements/progress)
4
+ * alternative that supports custom styling in _all_ browsers via CSS vars _and_ prevents background
5
+ * bleed.
6
+ *
7
+ * @category Progress
8
+ * @category Elements
9
+ * @see https://electrovir.github.io/vira/book/elements/vira-progress
10
+ */
11
+ export declare const ViraProgress: import("element-vir").DeclarativeElementDefinition<"vira-progress", {
12
+ value: number;
13
+ } & PartialWithUndefined<{
14
+ /** @default 0 */
15
+ min: number;
16
+ /** @default 100 */
17
+ max: number;
18
+ }>, {}, {}, "vira-progress-", "vira-progress-border-radius" | "vira-progress-height", readonly [], readonly []>;