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
@@ -1,37 +1,28 @@
1
1
  /* node:coverage disable */
2
-
3
- import {checkWrap} from '@augment-vir/assert';
4
- import {getObjectTypedValues, type PartialWithUndefined} from '@augment-vir/common';
5
- import {
6
- ColorFormatName,
7
- colorFormats,
8
- } from '@electrovir/color/dist/data/color-class/color-formats.js';
9
- import {Color} from '@electrovir/color/dist/data/color-class/color.js';
10
- import {css, defineElement, defineElementEvent, html, listen, nothing} from 'element-vir';
11
- import {CssVarSyntaxName} from 'lit-css-vars';
12
- import {Copy24Icon} from '../../icons/icon-svgs/24/copy-24.icon.js';
13
- import {viraFontCssVars} from '../../styles/font.js';
14
- import {viraFormCssVars} from '../../styles/form-styles.js';
15
- import {noNativeFormStyles} from '../../styles/native-styles.js';
16
- import {viraShadows} from '../../styles/shadows.js';
17
- import {colorLocalStorageClient} from '../../util/color-local-storage.client.js';
18
- import {type ViraSelectOption} from '../../util/vira-select-option.js';
19
- import {ViraPopUpTrigger} from '../pop-up/vira-pop-up-trigger.element.js';
20
- import {ViraIcon} from '../vira-icon.element.js';
21
- import {ViraInput} from '../vira-input.element.js';
22
- import {ViraSelect} from '../vira-select.element.js';
23
- import {ViraColorFormatSliders} from './vira-color-format-sliders.element.js';
24
- import {ViraColorSwatch} from './vira-color-swatch.element.js';
25
-
26
- const colorFormatOptions: ReadonlyArray<Readonly<ViraSelectOption>> = getObjectTypedValues(
27
- ColorFormatName,
28
- ).map((formatName) => {
2
+ import { checkWrap } from '@augment-vir/assert';
3
+ import { getObjectTypedValues } from '@augment-vir/common';
4
+ import { ColorFormatName, colorFormats, } from '@electrovir/color/dist/data/color-class/color-formats.js';
5
+ import { Color } from '@electrovir/color/dist/data/color-class/color.js';
6
+ import { css, defineElement, defineElementEvent, html, listen, nothing } from 'element-vir';
7
+ import { CssVarSyntaxName } from 'lit-css-vars';
8
+ import { Copy24Icon } from '../../icons/icon-svgs/24/copy-24.icon.js';
9
+ import { viraFontCssVars } from '../../styles/font.js';
10
+ import { viraFormCssVars } from '../../styles/form-styles.js';
11
+ import { noNativeFormStyles } from '../../styles/native-styles.js';
12
+ import { viraShadows } from '../../styles/shadows.js';
13
+ import { colorLocalStorageClient } from '../../util/color-local-storage.client.js';
14
+ import { ViraPopUpTrigger } from '../pop-up/vira-pop-up-trigger.element.js';
15
+ import { ViraIcon } from '../vira-icon.element.js';
16
+ import { ViraInput } from '../vira-input.element.js';
17
+ import { ViraSelect } from '../vira-select.element.js';
18
+ import { ViraColorFormatSliders } from './vira-color-format-sliders.element.js';
19
+ import { ViraColorSwatch } from './vira-color-swatch.element.js';
20
+ const colorFormatOptions = getObjectTypedValues(ColorFormatName).map((formatName) => {
29
21
  return {
30
22
  value: formatName,
31
23
  label: formatName.toUpperCase(),
32
24
  };
33
25
  });
34
-
35
26
  /**
36
27
  * A color picker element with a swatch that opens a popup with color format sliders.
37
28
  *
@@ -39,16 +30,7 @@ const colorFormatOptions: ReadonlyArray<Readonly<ViraSelectOption>> = getObjectT
39
30
  *
40
31
  * @category Elements
41
32
  */
42
- export const ViraColorPicker = defineElement<
43
- Readonly<
44
- {
45
- color: string | Readonly<Color> | undefined;
46
- } & PartialWithUndefined<{
47
- alwaysShowPicker: boolean;
48
- showHexValue: boolean;
49
- }>
50
- >
51
- >()({
33
+ export const ViraColorPicker = defineElement()({
52
34
  tagName: 'vira-color-picker',
53
35
  cssVars: {
54
36
  'vira-color-picker-swatch-width': {
@@ -63,14 +45,16 @@ export const ViraColorPicker = defineElement<
63
45
  state() {
64
46
  return {
65
47
  selectedFormatName: colorLocalStorageClient.get.lastFormat() || ColorFormatName.rgb,
66
- rawInput: undefined as undefined | string,
48
+ rawInput: undefined,
67
49
  };
68
50
  },
69
51
  hostClasses: {
70
- 'vira-color-picker-always-show': ({inputs}) => !!inputs.alwaysShowPicker,
52
+ 'vira-color-picker-always-show'({ inputs }) {
53
+ return !!inputs.alwaysShowPicker;
54
+ },
71
55
  },
72
- styles: ({cssVars, hostClasses}) => {
73
- return css`
56
+ styles({ cssVars, hostClasses }) {
57
+ return css `
74
58
  :host {
75
59
  display: inline-flex;
76
60
  }
@@ -164,129 +148,120 @@ export const ViraColorPicker = defineElement<
164
148
  `;
165
149
  },
166
150
  events: {
167
- colorChange: defineElementEvent<string>(),
151
+ colorChange: defineElementEvent(),
168
152
  },
169
- render({inputs, dispatch, events, state, updateState}) {
170
- const color: Readonly<Color> = Color.isColor(inputs.color)
153
+ render({ inputs, dispatch, events, state, updateState }) {
154
+ const color = Color.isColor(inputs.color)
171
155
  ? inputs.color
172
156
  : new Color(inputs.color || 'black');
173
157
  const formatDefinition = colorFormats[state.selectedFormatName];
174
-
175
158
  const rawInput = state.rawInput ?? color.toCss()[formatDefinition.rawSyntax];
176
-
177
- const rawInputTemplate = html`
159
+ const rawInputTemplate = html `
178
160
  <div class="raw-input-wrapper">
179
161
  <${ViraInput.assign({
180
- value: rawInput,
181
- })}
162
+ value: rawInput,
163
+ })}
182
164
  ${listen(ViraInput.events.valueChange, (event) => {
183
- const rawInput = event.detail;
184
- updateState({
185
- rawInput,
186
- });
187
- if (Color.isValidColorString(rawInput)) {
188
- dispatch(
189
- new events.colorChange({
190
- detail: rawInput,
191
- }),
192
- );
193
- }
194
- })}
165
+ const rawInput = event.detail;
166
+ updateState({
167
+ rawInput,
168
+ });
169
+ if (Color.isValidColorString(rawInput)) {
170
+ dispatch(new events.colorChange({
171
+ detail: rawInput,
172
+ }));
173
+ }
174
+ })}
195
175
  ></${ViraInput}>
196
176
  <button
197
177
  class="code-button"
198
178
  ${listen('click', async () => {
199
- await globalThis.navigator.clipboard.writeText(rawInput);
200
- })}
179
+ await globalThis.navigator.clipboard.writeText(rawInput);
180
+ })}
201
181
  >
202
182
  <${ViraIcon.assign({
203
- icon: Copy24Icon,
204
- fitContainer: true,
205
- })}></${ViraIcon}>
183
+ icon: Copy24Icon,
184
+ fitContainer: true,
185
+ })}></${ViraIcon}>
206
186
  </button>
207
187
  </div>
208
188
  `;
209
-
210
- const hexValueTemplate = html`
189
+ const hexValueTemplate = html `
211
190
  <button
212
191
  class="code-button"
213
192
  ${listen('click', async () => {
214
- await globalThis.navigator.clipboard.writeText(color.hexString);
215
- })}
193
+ await globalThis.navigator.clipboard.writeText(color.hexString);
194
+ })}
216
195
  >
217
196
  <span>${color.hexString}</span>
218
197
  <${ViraIcon.assign({
219
- icon: Copy24Icon,
220
- fitContainer: true,
221
- })}></${ViraIcon}>
198
+ icon: Copy24Icon,
199
+ fitContainer: true,
200
+ })}></${ViraIcon}>
222
201
  </button>
223
202
  `;
224
-
225
- const swatchTemplate = html`
203
+ const swatchTemplate = html `
226
204
  <div class="swatch-wrapper">
227
205
  <${ViraColorSwatch.assign({
228
- backgroundColor: color,
229
- })}></${ViraColorSwatch}>
206
+ backgroundColor: color,
207
+ })}></${ViraColorSwatch}>
230
208
  ${inputs.showHexValue ? hexValueTemplate : nothing}
231
209
  </div>
232
210
  `;
233
-
234
- const pickerTemplate = html`
211
+ const pickerTemplate = html `
235
212
  <div class="picker">
236
213
  <${ViraSelect.assign({
237
- options: colorFormatOptions,
238
- value: state.selectedFormatName,
239
- })}
214
+ options: colorFormatOptions,
215
+ value: state.selectedFormatName,
216
+ })}
240
217
  ${listen(ViraSelect.events.valueChange, (event) => {
241
- const selectedFormat = checkWrap.isEnumValue(event.detail, ColorFormatName);
242
- if (selectedFormat) {
243
- updateState({
244
- selectedFormatName: selectedFormat,
245
- });
246
- colorLocalStorageClient.set.lastFormat(selectedFormat);
247
- }
248
- })}
218
+ const selectedFormat = checkWrap.isEnumValue(event.detail, ColorFormatName);
219
+ if (selectedFormat) {
220
+ updateState({
221
+ selectedFormatName: selectedFormat,
222
+ });
223
+ colorLocalStorageClient.set.lastFormat(selectedFormat);
224
+ }
225
+ })}
249
226
  ></${ViraSelect}>
250
227
  ${rawInputTemplate}
251
228
  <${ViraColorFormatSliders.assign({
252
- color,
253
- colorFormatName: state.selectedFormatName,
254
- showFormatName: false,
255
- })}
229
+ color,
230
+ colorFormatName: state.selectedFormatName,
231
+ showFormatName: false,
232
+ })}
256
233
  ${listen(ViraColorFormatSliders.events.colorChange, (event) => {
257
- dispatch(
258
- new events.colorChange({
259
- detail: event.detail,
260
- }),
261
- );
262
- updateState({
263
- rawInput: undefined,
264
- });
265
- })}
234
+ dispatch(new events.colorChange({
235
+ detail: event.detail,
236
+ }));
237
+ updateState({
238
+ rawInput: undefined,
239
+ });
240
+ })}
266
241
  ></${ViraColorFormatSliders}>
267
242
  </div>
268
243
  `;
269
-
270
244
  if (inputs.alwaysShowPicker) {
271
- return html`
245
+ return html `
272
246
  ${swatchTemplate} ${pickerTemplate}
273
247
  `;
274
- } else {
275
- return html`
248
+ }
249
+ else {
250
+ return html `
276
251
  <${ViraPopUpTrigger.assign({
277
- keepOpenAfterInteraction: true,
278
- })}>
252
+ keepOpenAfterInteraction: true,
253
+ })}>
279
254
  <button
280
255
  class="trigger"
281
256
  slot=${ViraPopUpTrigger.slotNames['vira-pop-up-trigger-trigger']}
282
257
  ${listen('mousedown', () => {
283
- const storedFormat = colorLocalStorageClient.get.lastFormat();
284
- if (storedFormat) {
285
- updateState({
286
- selectedFormatName: storedFormat,
287
- });
288
- }
289
- })}
258
+ const storedFormat = colorLocalStorageClient.get.lastFormat();
259
+ if (storedFormat) {
260
+ updateState({
261
+ selectedFormatName: storedFormat,
262
+ });
263
+ }
264
+ })}
290
265
  >
291
266
  ${swatchTemplate}
292
267
  </button>
@@ -0,0 +1,14 @@
1
+ import { type ColorCoordinateName, type ColorFormatName } from '@electrovir/color/dist/data/color-class/color-formats.js';
2
+ import { Color } from '@electrovir/color/dist/data/color-class/color.js';
3
+ /**
4
+ * A slider for a specific color coordinate in a specific color space in a specific color.
5
+ *
6
+ * @category Elements
7
+ */
8
+ export declare const ViraColorSlider: import("element-vir").DeclarativeElementDefinition<"vira-color-slider", {
9
+ color: Readonly<Color>;
10
+ colorFormatName: ColorFormatName;
11
+ colorCoordinateName: ColorCoordinateName;
12
+ }, {}, {
13
+ valueChange: import("element-vir").DefineElementEvent<number>;
14
+ }, "vira-color-slider-", "vira-color-slider-gradient", readonly [], readonly []>;
@@ -0,0 +1,124 @@
1
+ /* node:coverage disable */
2
+ import { assert, assertWrap } from '@augment-vir/assert';
3
+ import { createArray } from '@augment-vir/common';
4
+ import { extractEventTarget } from '@augment-vir/web';
5
+ import { colorFormats, } 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, onDomRendered, unsafeCSS, } from 'element-vir';
8
+ import { viraFontCssVars } from '../../styles/font.js';
9
+ import { ViraInput } from '../vira-input.element.js';
10
+ /**
11
+ * A slider for a specific color coordinate in a specific color space in a specific color.
12
+ *
13
+ * @category Elements
14
+ */
15
+ export const ViraColorSlider = defineElement()({
16
+ tagName: 'vira-color-slider',
17
+ cssVars: {
18
+ 'vira-color-slider-gradient': 'black',
19
+ },
20
+ styles({ cssVars }) {
21
+ return css `
22
+ :host {
23
+ display: flex;
24
+ align-items: center;
25
+ font-family: ${viraFontCssVars['vira-monospace'].value};
26
+ gap: 2px;
27
+ }
28
+
29
+ input[type='range'] {
30
+ flex-grow: 1;
31
+ appearance: none;
32
+ background: ${cssVars['vira-color-slider-gradient'].value};
33
+ height: 9px;
34
+ border-radius: 4px;
35
+ cursor: pointer;
36
+ }
37
+
38
+ ${ViraInput} {
39
+ width: 76px;
40
+ }
41
+
42
+ .coordinate {
43
+ font-size: 18px;
44
+ margin-top: -4px;
45
+ }
46
+ `;
47
+ },
48
+ events: {
49
+ valueChange: defineElementEvent(),
50
+ },
51
+ render({ inputs, events, dispatch, cssVars }) {
52
+ const formatDefinition = colorFormats[inputs.colorFormatName];
53
+ const coordinateDefinition = formatDefinition.coords[inputs.colorCoordinateName];
54
+ if (!coordinateDefinition) {
55
+ throw new Error(`Invalid color coordinate '${inputs.colorCoordinateName}' for color format '${inputs.colorFormatName}'`);
56
+ }
57
+ const totalStops = 10;
58
+ const colorStops = createArray(totalStops, (index) => {
59
+ const value = coordinateDefinition.min +
60
+ (coordinateDefinition.max - coordinateDefinition.min) * (index / totalStops);
61
+ const stopColor = new Color({
62
+ [inputs.colorFormatName]: {
63
+ ...inputs.color[inputs.colorFormatName],
64
+ [inputs.colorCoordinateName]: value,
65
+ },
66
+ });
67
+ return stopColor.toCss()[formatDefinition.conversionFormat];
68
+ });
69
+ const gradient = css `linear-gradient(to right, ${unsafeCSS(colorStops.join(','))})`;
70
+ const coordinateValue = assertWrap.isNumber(inputs.color[inputs.colorFormatName][inputs.colorCoordinateName]);
71
+ const displayValue = coordinateDefinition.radix
72
+ ? Math.round(coordinateValue)
73
+ .toString(coordinateDefinition.radix)
74
+ .toUpperCase()
75
+ .padStart(coordinateDefinition.radixPad || 0, '0')
76
+ : String(coordinateValue);
77
+ return html `
78
+ <span class="coordinate">${inputs.colorCoordinateName.toUpperCase()}</span>
79
+ <input
80
+ type="range"
81
+ style=${css `
82
+ ${cssVars['vira-color-slider-gradient'].name}: ${gradient};
83
+ `}
84
+ step=${Math.pow(10, coordinateDefinition.digits ? -coordinateDefinition.digits : 0)}
85
+ ${onDomRendered((element) => {
86
+ /**
87
+ * We must set these imperatively to force the input element to match the
88
+ * inputs, otherwise when swapping color formats these color sliders don't
89
+ * update correctly.
90
+ */
91
+ assert.instanceOf(element, HTMLInputElement);
92
+ element.min = String(coordinateDefinition.min);
93
+ element.max = String(coordinateDefinition.max);
94
+ element.value = String(coordinateValue);
95
+ })}
96
+ ${listen('input', (event) => {
97
+ const element = extractEventTarget(event, HTMLInputElement);
98
+ const newValue = Number(element.value);
99
+ if (isNaN(newValue)) {
100
+ return;
101
+ }
102
+ dispatch(new events.valueChange({
103
+ detail: newValue,
104
+ }));
105
+ })}
106
+ />
107
+ <${ViraInput.assign({
108
+ value: displayValue,
109
+ })}
110
+ ${listen(ViraInput.events.valueChange, (event) => {
111
+ const newValue = coordinateDefinition.radix
112
+ ? parseInt(event.detail, coordinateDefinition.radix)
113
+ : Number(event.detail);
114
+ if (isNaN(newValue)) {
115
+ return;
116
+ }
117
+ dispatch(new events.valueChange({
118
+ detail: newValue,
119
+ }));
120
+ })}
121
+ ></${ViraInput}>
122
+ `;
123
+ },
124
+ });
@@ -0,0 +1,20 @@
1
+ import { type Color } from '@electrovir/color/dist/data/color-class/color.js';
2
+ /**
3
+ * Show a background and/or foreground color. Note that if a foreground color is provided that it is
4
+ * not actually applied to anything, you must provide a child element for it to be applied to.
5
+ *
6
+ * @category Elements
7
+ */
8
+ export declare const ViraColorSwatch: import("element-vir").DeclarativeElementDefinition<"vira-color-swatch", ((Required<Pick<{
9
+ foregroundColor: string | Readonly<Color>;
10
+ backgroundColor: string | Readonly<Color>;
11
+ }, "foregroundColor">> & Partial<Pick<{
12
+ foregroundColor: string | Readonly<Color>;
13
+ backgroundColor: string | Readonly<Color>;
14
+ }, "backgroundColor">>) | (Required<Pick<{
15
+ foregroundColor: string | Readonly<Color>;
16
+ backgroundColor: string | Readonly<Color>;
17
+ }, "backgroundColor">> & Partial<Pick<{
18
+ foregroundColor: string | Readonly<Color>;
19
+ backgroundColor: string | Readonly<Color>;
20
+ }, "foregroundColor">>)) & {}, {}, {}, "vira-color-swatch-", "vira-color-swatch-", readonly [], readonly []>;
@@ -1,23 +1,14 @@
1
1
  /* node:coverage disable */
2
-
3
- import {type RequireAtLeastOne} from '@augment-vir/common';
4
- import {type Color} from '@electrovir/color/dist/data/color-class/color.js';
5
- import {css, defineElement, html, unsafeCSS} from 'element-vir';
6
-
2
+ import { css, defineElement, html, unsafeCSS } from 'element-vir';
7
3
  /**
8
4
  * Show a background and/or foreground color. Note that if a foreground color is provided that it is
9
5
  * not actually applied to anything, you must provide a child element for it to be applied to.
10
6
  *
11
7
  * @category Elements
12
8
  */
13
- export const ViraColorSwatch = defineElement<
14
- RequireAtLeastOne<{
15
- foregroundColor: string | Readonly<Color>;
16
- backgroundColor: string | Readonly<Color>;
17
- }>
18
- >()({
9
+ export const ViraColorSwatch = defineElement()({
19
10
  tagName: 'vira-color-swatch',
20
- styles: css`
11
+ styles: css `
21
12
  :host {
22
13
  display: flex;
23
14
  height: 400px;
@@ -40,13 +31,12 @@ export const ViraColorSwatch = defineElement<
40
31
  align-items: center;
41
32
  }
42
33
  `,
43
- render({inputs}) {
34
+ render({ inputs }) {
44
35
  const backgroundColor = inputs.backgroundColor || inputs.foregroundColor;
45
36
  const foregroundColor = inputs.foregroundColor || 'transparent';
46
-
47
- return html`
37
+ return html `
48
38
  <div
49
- style=${css`
39
+ style=${css `
50
40
  background-color: ${unsafeCSS(backgroundColor)};
51
41
  color: ${unsafeCSS(foregroundColor)};
52
42
  `}
@@ -0,0 +1,10 @@
1
+ import { type CalculatedContrast, type FontWeight } from '@electrovir/color/dist/data/contrast/contrast.js';
2
+ /**
3
+ * Show contrast details for a calculated contrast.
4
+ *
5
+ * @category Elements
6
+ */
7
+ export declare const ViraContrastIndicator: import("element-vir").DeclarativeElementDefinition<"vira-contrast-indicator", {
8
+ contrast: Readonly<CalculatedContrast>;
9
+ fontWeight: FontWeight;
10
+ }, {}, {}, "vira-contrast-indicator-", "vira-contrast-indicator-", readonly [], readonly []>;
@@ -1,25 +1,14 @@
1
1
  /* node:coverage disable */
2
-
3
- import {
4
- contrastLevelLabel,
5
- ContrastLevelName,
6
- contrastLevels,
7
- type CalculatedContrast,
8
- type FontWeight,
9
- } from '@electrovir/color/dist/data/contrast/contrast.js';
10
- import {classMap, css, defineElement, html, unsafeCSS} from 'element-vir';
11
-
2
+ import { contrastLevelLabel, ContrastLevelName, contrastLevels, } from '@electrovir/color/dist/data/contrast/contrast.js';
3
+ import { classMap, css, defineElement, html, unsafeCSS } from 'element-vir';
12
4
  /**
13
5
  * Show contrast details for a calculated contrast.
14
6
  *
15
7
  * @category Elements
16
8
  */
17
- export const ViraContrastIndicator = defineElement<{
18
- contrast: Readonly<CalculatedContrast>;
19
- fontWeight: FontWeight;
20
- }>()({
9
+ export const ViraContrastIndicator = defineElement()({
21
10
  tagName: 'vira-contrast-indicator',
22
- styles: css`
11
+ styles: css `
23
12
  :host {
24
13
  display: inline-flex;
25
14
  max-width: 100%;
@@ -70,32 +59,28 @@ export const ViraContrastIndicator = defineElement<{
70
59
  padding-left: 1ex;
71
60
  }
72
61
  `,
73
- render({inputs}) {
62
+ render({ inputs }) {
74
63
  const gaugeLevels = contrastLevels
75
64
  .toReversed()
76
65
  .slice(1)
77
66
  .map((level) => {
78
- return html`
67
+ return html `
79
68
  <div
80
69
  class="gauge-level ${classMap({
81
- active: level.min <= Math.abs(inputs.contrast.contrast),
82
- })}"
70
+ active: level.min <= Math.abs(inputs.contrast.contrast),
71
+ })}"
83
72
  ></div>
84
73
  `;
85
- });
86
-
74
+ });
87
75
  const title = [
88
76
  inputs.contrast.contrastLevel.description,
89
77
  '\nFont weights to font sizes:',
90
78
  JSON.stringify(inputs.contrast.fontSizes, null, 4),
91
79
  ].join('\n');
92
-
93
- const fontSize =
94
- inputs.contrast.fontSizes[inputs.fontWeight] > 150
95
- ? '-'
96
- : `${inputs.contrast.fontSizes[inputs.fontWeight]}px`;
97
-
98
- return html`
80
+ const fontSize = inputs.contrast.fontSizes[inputs.fontWeight] > 150
81
+ ? '-'
82
+ : `${inputs.contrast.fontSizes[inputs.fontWeight]}px`;
83
+ return html `
99
84
  <div title=${title} class="wrapper ${inputs.contrast.contrastLevel.name}">
100
85
  <div class="gauge">${gaugeLevels}</div>
101
86
  <span>
@@ -0,0 +1,39 @@
1
+ export * from './color/vira-all-color-space-sliders.element.js';
2
+ export * from './color/vira-all-spaces-color-picker.element.js';
3
+ export * from './color/vira-color-details.element.js';
4
+ export * from './color/vira-color-format-sliders.element.js';
5
+ export * from './color/vira-color-pair-contrast-summary.element.js';
6
+ export * from './color/vira-color-pair.element.js';
7
+ export * from './color/vira-color-picker.element.js';
8
+ export * from './color/vira-color-slider.element.js';
9
+ export * from './color/vira-color-swatch.element.js';
10
+ export * from './color/vira-contrast-indicator.element.js';
11
+ export * from './pop-up/vira-menu-item.element.js';
12
+ export * from './pop-up/vira-menu-trigger.element.js';
13
+ export * from './pop-up/vira-menu.element.js';
14
+ export * from './pop-up/vira-pop-up-trigger.element.js';
15
+ export * from './vira-absolute-time.element.js';
16
+ export * from './vira-bold-text.element.js';
17
+ export * from './vira-button.element.js';
18
+ export * from './vira-card.element.js';
19
+ export * from './vira-checkbox.element.js';
20
+ export * from './vira-collapsible-card.element.js';
21
+ export * from './vira-collapsible-wrapper.element.js';
22
+ export * from './vira-date-input.element.js';
23
+ export * from './vira-drawer.element.js';
24
+ export * from './vira-dropdown.element.js';
25
+ export * from './vira-error.element.js';
26
+ export * from './vira-form.element.js';
27
+ export * from './vira-icon.element.js';
28
+ export * from './vira-image.element.js';
29
+ export * from './vira-input.element.js';
30
+ export * from './vira-json-form.element.js';
31
+ export * from './vira-link.element.js';
32
+ export * from './vira-modal.element.js';
33
+ export * from './vira-progress.element.js';
34
+ export * from './vira-relative-time.element.js';
35
+ export * from './vira-select.element.js';
36
+ export * from './vira-tabs.element.js';
37
+ export * from './vira-tag.element.js';
38
+ export * from './vira-text-area.element.js';
39
+ export * from './vira-theme-switcher.element.js';
@@ -0,0 +1,38 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ import { type ViraIconSvg } from '../../icons/icon-svg.js';
3
+ /**
4
+ * An element for an individual menu item.
5
+ *
6
+ * @category PopUp
7
+ * @category Elements
8
+ */
9
+ export declare const ViraMenuItem: import("element-vir").DeclarativeElementDefinition<"vira-menu-item", PartialWithUndefined<{
10
+ selected: boolean;
11
+ disabled: boolean;
12
+ /**
13
+ * Set this to `true` to disable the default `ViraMenuItem` hover and active styles so you
14
+ * can apply your own.
15
+ */
16
+ disablePointerStyles: boolean;
17
+ /**
18
+ * If provided, this will override the checkmark icon. If this is provided, the icon will
19
+ * _always_ be shown, even if `selected` is set to `false`.
20
+ */
21
+ iconOverride: ViraIconSvg;
22
+ /**
23
+ * When `true`, activating this item will _not_ close the containing pop-up.
24
+ *
25
+ * @default false
26
+ */
27
+ keepOpenAfterInteraction: boolean;
28
+ }>, {
29
+ /** Removes event listeners registered during init. */
30
+ cleanupListeners: undefined | (() => void);
31
+ }, {
32
+ /**
33
+ * Fired when this menu item is activated by the user (a non-disabled click). Pop-up
34
+ * containers (e.g. `ViraPopUpTrigger`) listen to this to close the pop-up on selection,
35
+ * gated by `keepOpenAfterInteraction`.
36
+ */
37
+ activate: import("element-vir").DefineElementEvent<undefined>;
38
+ }, "vira-menu-item-selected" | "vira-menu-item-disabled" | "vira-menu-item-enabled" | "vira-menu-item-default-icon" | "vira-menu-item-default-styles", "vira-menu-item-icon-gap" | "vira-menu-item-padding" | "vira-menu-item-border-radius", readonly [], readonly []>;