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,67 +1,65 @@
1
- import {Check16Icon} from './icon-svgs/16/check-16.icon.js';
2
- import {ChevronDown16Icon} from './icon-svgs/16/chevron-down-16.icon.js';
3
- import {ChevronUp16Icon} from './icon-svgs/16/chevron-up-16.icon.js';
4
- import {Dash16Icon} from './icon-svgs/16/dash-16.icon.js';
5
- import {Element16Icon} from './icon-svgs/16/element-16.icon.js';
6
- import {Plus16Icon} from './icon-svgs/16/plus-16.icon.js';
7
- import {Upload16Icon} from './icon-svgs/16/upload-16.icon.js';
8
- import {X16Icon} from './icon-svgs/16/x-16.icon.js';
9
- import {ArrowDown24Icon} from './icon-svgs/24/arrow-down-24.icon.js';
10
- import {ArrowLeft24Icon} from './icon-svgs/24/arrow-left-24.icon.js';
11
- import {ArrowRight24Icon} from './icon-svgs/24/arrow-right-24.icon.js';
12
- import {ArrowUp24Icon} from './icon-svgs/24/arrow-up-24.icon.js';
13
- import {AutoTheme24Icon} from './icon-svgs/24/auto-theme-24.icon.js';
14
- import {Bell24Icon} from './icon-svgs/24/bell-24.icon.js';
15
- import {Chat24Icon} from './icon-svgs/24/chat-24.icon.js';
16
- import {Check24Icon} from './icon-svgs/24/check-24.icon.js';
17
- import {ChevronDown24Icon} from './icon-svgs/24/chevron-down-24.icon.js';
18
- import {ChevronUp24Icon} from './icon-svgs/24/chevron-up-24.icon.js';
19
- import {CloseX24Icon} from './icon-svgs/24/close-x-24.icon.js';
20
- import {Commit24Icon} from './icon-svgs/24/commit-24.icon.js';
21
- import {Copy24Icon} from './icon-svgs/24/copy-24.icon.js';
22
- import {Document24Icon} from './icon-svgs/24/document-24.icon.js';
23
- import {DocumentSearch24Icon} from './icon-svgs/24/document-search-24.icon.js';
24
- import {DoubleChevron24Icon} from './icon-svgs/24/double-chevron-24.icon.js';
25
- import {Element24Icon} from './icon-svgs/24/element-24.icon.js';
26
- import {ExternalLink24Icon} from './icon-svgs/24/external-link-24.icon.js';
27
- import {EyeClosed24Icon} from './icon-svgs/24/eye-closed-24.icon.js';
28
- import {EyeOpen24Icon} from './icon-svgs/24/eye-open-24.icon.js';
29
- import {Filter24Icon} from './icon-svgs/24/filter-24.icon.js';
30
- import {Globe24Icon} from './icon-svgs/24/globe-24.icon.js';
31
- import {Link24Icon} from './icon-svgs/24/link-24.icon.js';
32
- import {Loader24Icon} from './icon-svgs/24/loader-24.icon.js';
33
- import {LoaderAnimated24Icon} from './icon-svgs/24/loader-animated-24.icon.js';
34
- import {Lock24Icon} from './icon-svgs/24/lock-24.icon.js';
35
- import {MagnifyingGlass24Icon} from './icon-svgs/24/magnifying-glass-24.icon.js';
36
- import {Moon24Icon} from './icon-svgs/24/moon-24.icon.js';
37
- import {Options24Icon} from './icon-svgs/24/options-24.icon.js';
38
- import {Pencil24Icon} from './icon-svgs/24/pencil-24.icon.js';
39
- import {Plus24Icon} from './icon-svgs/24/plus-24.icon.js';
40
- import {Printer24Icon} from './icon-svgs/24/printer-24.icon.js';
41
- import {Shield24Icon} from './icon-svgs/24/shield-24.icon.js';
42
- import {SortAscending24Icon} from './icon-svgs/24/sort-ascending-24.icon.js';
43
- import {SortDescending24Icon} from './icon-svgs/24/sort-descending-24.icon.js';
44
- import {Sparkle24Icon} from './icon-svgs/24/sparkle-24.icon.js';
45
- import {SpeakerLoud24Icon} from './icon-svgs/24/speaker-loud-24.icon.js';
46
- import {SpeakerMedium24Icon} from './icon-svgs/24/speaker-medium-24.icon.js';
47
- import {SpeakerMuted24Icon} from './icon-svgs/24/speaker-muted-24.icon.js';
48
- import {SpeakerQuiet24Icon} from './icon-svgs/24/speaker-quiet-24.icon.js';
49
- import {Star24Icon} from './icon-svgs/24/star-24.icon.js';
50
- import {StatusFailure24Icon} from './icon-svgs/24/status-failure-24.icon.js';
51
- import {StatusInProgress24Icon} from './icon-svgs/24/status-in-progress-24.icon.js';
52
- import {StatusSuccess24Icon} from './icon-svgs/24/status-success-24.icon.js';
53
- import {StatusUnknown24Icon} from './icon-svgs/24/status-unknown-24.icon.js';
54
- import {StatusWarning24Icon} from './icon-svgs/24/status-warning-24.icon.js';
55
- import {Sun24Icon} from './icon-svgs/24/sun-24.icon.js';
56
- import {Upload24Icon} from './icon-svgs/24/upload-24.icon.js';
57
- import {X24Icon} from './icon-svgs/24/x-24.icon.js';
58
-
1
+ import { Check16Icon } from './icon-svgs/16/check-16.icon.js';
2
+ import { ChevronDown16Icon } from './icon-svgs/16/chevron-down-16.icon.js';
3
+ import { ChevronUp16Icon } from './icon-svgs/16/chevron-up-16.icon.js';
4
+ import { Dash16Icon } from './icon-svgs/16/dash-16.icon.js';
5
+ import { Element16Icon } from './icon-svgs/16/element-16.icon.js';
6
+ import { Plus16Icon } from './icon-svgs/16/plus-16.icon.js';
7
+ import { Upload16Icon } from './icon-svgs/16/upload-16.icon.js';
8
+ import { X16Icon } from './icon-svgs/16/x-16.icon.js';
9
+ import { ArrowDown24Icon } from './icon-svgs/24/arrow-down-24.icon.js';
10
+ import { ArrowLeft24Icon } from './icon-svgs/24/arrow-left-24.icon.js';
11
+ import { ArrowRight24Icon } from './icon-svgs/24/arrow-right-24.icon.js';
12
+ import { ArrowUp24Icon } from './icon-svgs/24/arrow-up-24.icon.js';
13
+ import { AutoTheme24Icon } from './icon-svgs/24/auto-theme-24.icon.js';
14
+ import { Bell24Icon } from './icon-svgs/24/bell-24.icon.js';
15
+ import { Chat24Icon } from './icon-svgs/24/chat-24.icon.js';
16
+ import { Check24Icon } from './icon-svgs/24/check-24.icon.js';
17
+ import { ChevronDown24Icon } from './icon-svgs/24/chevron-down-24.icon.js';
18
+ import { ChevronUp24Icon } from './icon-svgs/24/chevron-up-24.icon.js';
19
+ import { CloseX24Icon } from './icon-svgs/24/close-x-24.icon.js';
20
+ import { Commit24Icon } from './icon-svgs/24/commit-24.icon.js';
21
+ import { Copy24Icon } from './icon-svgs/24/copy-24.icon.js';
22
+ import { Document24Icon } from './icon-svgs/24/document-24.icon.js';
23
+ import { DocumentSearch24Icon } from './icon-svgs/24/document-search-24.icon.js';
24
+ import { DoubleChevron24Icon } from './icon-svgs/24/double-chevron-24.icon.js';
25
+ import { Element24Icon } from './icon-svgs/24/element-24.icon.js';
26
+ import { ExternalLink24Icon } from './icon-svgs/24/external-link-24.icon.js';
27
+ import { EyeClosed24Icon } from './icon-svgs/24/eye-closed-24.icon.js';
28
+ import { EyeOpen24Icon } from './icon-svgs/24/eye-open-24.icon.js';
29
+ import { Filter24Icon } from './icon-svgs/24/filter-24.icon.js';
30
+ import { Globe24Icon } from './icon-svgs/24/globe-24.icon.js';
31
+ import { Link24Icon } from './icon-svgs/24/link-24.icon.js';
32
+ import { Loader24Icon } from './icon-svgs/24/loader-24.icon.js';
33
+ import { LoaderAnimated24Icon } from './icon-svgs/24/loader-animated-24.icon.js';
34
+ import { Lock24Icon } from './icon-svgs/24/lock-24.icon.js';
35
+ import { MagnifyingGlass24Icon } from './icon-svgs/24/magnifying-glass-24.icon.js';
36
+ import { Moon24Icon } from './icon-svgs/24/moon-24.icon.js';
37
+ import { Options24Icon } from './icon-svgs/24/options-24.icon.js';
38
+ import { Pencil24Icon } from './icon-svgs/24/pencil-24.icon.js';
39
+ import { Plus24Icon } from './icon-svgs/24/plus-24.icon.js';
40
+ import { Printer24Icon } from './icon-svgs/24/printer-24.icon.js';
41
+ import { Shield24Icon } from './icon-svgs/24/shield-24.icon.js';
42
+ import { SortAscending24Icon } from './icon-svgs/24/sort-ascending-24.icon.js';
43
+ import { SortDescending24Icon } from './icon-svgs/24/sort-descending-24.icon.js';
44
+ import { Sparkle24Icon } from './icon-svgs/24/sparkle-24.icon.js';
45
+ import { SpeakerLoud24Icon } from './icon-svgs/24/speaker-loud-24.icon.js';
46
+ import { SpeakerMedium24Icon } from './icon-svgs/24/speaker-medium-24.icon.js';
47
+ import { SpeakerMuted24Icon } from './icon-svgs/24/speaker-muted-24.icon.js';
48
+ import { SpeakerQuiet24Icon } from './icon-svgs/24/speaker-quiet-24.icon.js';
49
+ import { Star24Icon } from './icon-svgs/24/star-24.icon.js';
50
+ import { StatusFailure24Icon } from './icon-svgs/24/status-failure-24.icon.js';
51
+ import { StatusInProgress24Icon } from './icon-svgs/24/status-in-progress-24.icon.js';
52
+ import { StatusSuccess24Icon } from './icon-svgs/24/status-success-24.icon.js';
53
+ import { StatusUnknown24Icon } from './icon-svgs/24/status-unknown-24.icon.js';
54
+ import { StatusWarning24Icon } from './icon-svgs/24/status-warning-24.icon.js';
55
+ import { Sun24Icon } from './icon-svgs/24/sun-24.icon.js';
56
+ import { Upload24Icon } from './icon-svgs/24/upload-24.icon.js';
57
+ import { X24Icon } from './icon-svgs/24/x-24.icon.js';
59
58
  export * from './colored-icon.js';
60
59
  export * from './icon-css-vars.js';
61
60
  export * from './icon-svg.js';
62
61
  export * from './lucide-icons.js';
63
62
  export * from './sized-icon.js';
64
-
65
63
  export * from './icon-svgs/16/check-16.icon.js';
66
64
  export * from './icon-svgs/16/chevron-down-16.icon.js';
67
65
  export * from './icon-svgs/16/chevron-up-16.icon.js';
@@ -119,7 +117,6 @@ export * from './icon-svgs/24/status-warning-24.icon.js';
119
117
  export * from './icon-svgs/24/sun-24.icon.js';
120
118
  export * from './icon-svgs/24/upload-24.icon.js';
121
119
  export * from './icon-svgs/24/x-24.icon.js';
122
-
123
120
  /**
124
121
  * All icons within vira by name.
125
122
  *
@@ -183,8 +180,7 @@ export const allIconsByName = {
183
180
  Upload24Icon,
184
181
  X16Icon,
185
182
  X24Icon,
186
- } as const;
187
-
183
+ };
188
184
  /**
189
185
  * All 24px icons within vira by name.
190
186
  *
@@ -240,8 +236,7 @@ export const all24IconsByName = {
240
236
  Sun24Icon,
241
237
  Upload24Icon,
242
238
  X24Icon,
243
- } as const;
244
-
239
+ };
245
240
  /**
246
241
  * All 16px icons within vira by name.
247
242
  *
@@ -256,4 +251,4 @@ export const all16IconsByName = {
256
251
  Plus16Icon,
257
252
  Upload16Icon,
258
253
  X16Icon,
259
- } as const;
254
+ };
@@ -0,0 +1,15 @@
1
+ import * as lucideStaticImport from 'lucide-static';
2
+ import { type ViraIconSvg } from './icon-svg.js';
3
+ /**
4
+ * All supported Lucide icon names.
5
+ *
6
+ * @category Internal
7
+ */
8
+ export type LucideIconKey = keyof typeof lucideStaticImport;
9
+ /**
10
+ * All [Lucide icons](https://lucide.dev) in a format compatible with `ViraIcon`. Each icon entry
11
+ * can be accessed directly as a {@link ViraIconSvg}.
12
+ *
13
+ * @category Icon
14
+ */
15
+ export declare const lucideIcons: Readonly<Record<LucideIconKey, ViraIconSvg>>;
@@ -0,0 +1,79 @@
1
+ import { html, unsafeHTML } from 'element-vir';
2
+ import * as lucideStaticImport from 'lucide-static';
3
+ import { viraIconCssVars } from './icon-css-vars.js';
4
+ const defaultLucideAttributes = {
5
+ fill: String(viraIconCssVars['vira-icon-fill-color'].value),
6
+ stroke: String(viraIconCssVars['vira-icon-stroke-color'].value),
7
+ 'stroke-width': String(viraIconCssVars['vira-icon-stroke-width'].value),
8
+ };
9
+ function setSvgAttribute({ svgString, attributeName, value, }) {
10
+ const escapedName = attributeName.replace(/[.*+?^${}()|[\]\\]/g, String.raw `\$&`);
11
+ const regex = new RegExp(String.raw `(\s)${escapedName}="[^"]*"`);
12
+ return regex.test(svgString)
13
+ ? svgString.replace(regex, `$1${attributeName}="${value}"`)
14
+ : svgString.replace(/<svg\b/, `<svg ${attributeName}="${value}"`);
15
+ }
16
+ function applySvgAttributes(svgString, attributes) {
17
+ return Object.entries(attributes).reduce((result, [key, value,]) => {
18
+ return setSvgAttribute({
19
+ svgString: result,
20
+ attributeName: key,
21
+ value,
22
+ });
23
+ }, svgString);
24
+ }
25
+ function isLucideIconKey(key) {
26
+ return key in lucideStaticImport;
27
+ }
28
+ function getLucideIconSvg(key) {
29
+ const svg = lucideStaticImport[key];
30
+ if (typeof svg !== 'string') {
31
+ throw new TypeError(`Lucide icon "${key}" is not a valid SVG string.`);
32
+ }
33
+ return svg;
34
+ }
35
+ function createLucideIconEntry(iconKey) {
36
+ return {
37
+ name: iconKey,
38
+ svgTemplate: html `
39
+ ${unsafeHTML(applySvgAttributes(getLucideIconSvg(iconKey), defaultLucideAttributes))}
40
+ `,
41
+ };
42
+ }
43
+ const lucideIconCache = new Map();
44
+ /**
45
+ * All [Lucide icons](https://lucide.dev) in a format compatible with `ViraIcon`. Each icon entry
46
+ * can be accessed directly as a {@link ViraIconSvg}.
47
+ *
48
+ * @category Icon
49
+ */
50
+ export const lucideIcons = new Proxy({}, {
51
+ get(_target, property) {
52
+ if (!isLucideIconKey(property)) {
53
+ return undefined;
54
+ }
55
+ const cached = lucideIconCache.get(property);
56
+ if (cached) {
57
+ return cached;
58
+ }
59
+ const entry = createLucideIconEntry(property);
60
+ lucideIconCache.set(property, entry);
61
+ return entry;
62
+ },
63
+ has(_target, property) {
64
+ return isLucideIconKey(property);
65
+ },
66
+ ownKeys() {
67
+ return Object.keys(lucideStaticImport);
68
+ },
69
+ getOwnPropertyDescriptor(_target, property) {
70
+ if (isLucideIconKey(property)) {
71
+ return {
72
+ configurable: true,
73
+ enumerable: true,
74
+ writable: false,
75
+ };
76
+ }
77
+ return undefined;
78
+ },
79
+ });
@@ -0,0 +1,8 @@
1
+ import { type ViraIconSvg } from './icon-svg.js';
2
+ /**
3
+ * Wraps an existing icon with explicit dimensions and outputs another icon that can be used
4
+ * anywhere the original icon can be used.
5
+ *
6
+ * @category Icon
7
+ */
8
+ export declare function createSizedIcon(icon: Readonly<ViraIconSvg>, size: number): ViraIconSvg;
@@ -1,12 +1,10 @@
1
- import {type ViraIconSvg} from './icon-svg.js';
2
-
3
1
  /**
4
2
  * Wraps an existing icon with explicit dimensions and outputs another icon that can be used
5
3
  * anywhere the original icon can be used.
6
4
  *
7
5
  * @category Icon
8
6
  */
9
- export function createSizedIcon(icon: Readonly<ViraIconSvg>, size: number): ViraIconSvg {
7
+ export function createSizedIcon(icon, size) {
10
8
  return {
11
9
  ...icon,
12
10
  size,
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from './elements/index.js';
2
+ export * from './icons/index.js';
3
+ export * from './styles/index.js';
4
+ export * from './util/index.js';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A chunk of CSS that styles an element with Vira's default disabled styles.
3
+ *
4
+ * @category Styles
5
+ */
6
+ export declare const viraDisabledStyles: import("element-vir").CSSResult;
@@ -1,11 +1,10 @@
1
- import {css} from 'element-vir';
2
-
1
+ import { css } from 'element-vir';
3
2
  /**
4
3
  * A chunk of CSS that styles an element with Vira's default disabled styles.
5
4
  *
6
5
  * @category Styles
7
6
  */
8
- export const viraDisabledStyles = css`
7
+ export const viraDisabledStyles = css `
9
8
  pointer-events: none;
10
9
  opacity: 0.3;
11
10
  cursor: not-allowed;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * CSS vars for animation or transition durations from Vira.
3
+ *
4
+ * @category Styles
5
+ * @category CSS Vars
6
+ */
7
+ export declare const viraAnimationDurations: import("lit-css-vars").CssVarDefinitions<{
8
+ /**
9
+ * A longer duration used to show a full animation. Use this sparingly; make sure to not block
10
+ * any user input with this animation.
11
+ */
12
+ readonly 'vira-extended-animation-duration': "1.2s";
13
+ /** A longer duration used to emphasize the animation without totally aggravating a user. */
14
+ readonly 'vira-pretty-animation-duration': "300ms";
15
+ /**
16
+ * A short duration used for user interactions. This duration is very short to ensure snappy
17
+ * responses to user interactions.
18
+ *
19
+ * The default duration of 84ms gives us 5 frames on a 60Hz screen.
20
+ */
21
+ readonly 'vira-interaction-animation-duration': "84ms";
22
+ }>;
@@ -1,5 +1,4 @@
1
- import {defineCssVars} from 'lit-css-vars';
2
-
1
+ import { defineCssVars } from 'lit-css-vars';
3
2
  /**
4
3
  * CSS vars for animation or transition durations from Vira.
5
4
  *
@@ -0,0 +1,26 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ import { type CSSResult } from 'element-vir';
3
+ import { type SingleCssVarDefinition } from 'lit-css-vars';
4
+ /**
5
+ * Create styles that look like an outline for the given selector.
6
+ *
7
+ * It is recommended to use the pseudo selector chain ":focus:focus-visible:not(:active)" to
8
+ * preventing clicking an element from creating focus styles in Chrome.
9
+ *
10
+ * @category Styles
11
+ */
12
+ export declare function createFocusStyles({ elementBorderSize, outlineGap, outlineWidth, noNesting, outlineColor, borderRadius, renderInside, }?: PartialWithUndefined<{
13
+ /**
14
+ * ElementBorderSize here is used to fix the outline when the element these styles are attached
15
+ * to has a border. The dev must specify that border size here for the offsets to be calculated
16
+ * correctly.
17
+ */
18
+ elementBorderSize: SingleCssVarDefinition | string;
19
+ outlineGap: SingleCssVarDefinition | string;
20
+ outlineWidth: SingleCssVarDefinition | string;
21
+ borderRadius: SingleCssVarDefinition | string;
22
+ outlineColor: SingleCssVarDefinition | string;
23
+ noNesting: boolean;
24
+ /** Render the focus outline inside the element instead of outside. */
25
+ renderInside: boolean;
26
+ }>): CSSResult;
@@ -1,17 +1,14 @@
1
- import {check} from '@augment-vir/assert';
2
- import {type PartialWithUndefined} from '@augment-vir/common';
3
- import {css, type CSSResult, unsafeCSS} from 'element-vir';
4
- import {type SingleCssVarDefinition} from 'lit-css-vars';
5
- import {viraFormCssVars} from './form-styles.js';
6
-
7
- function cssValueOrRaw(value: string | SingleCssVarDefinition): CSSResult {
1
+ import { check } from '@augment-vir/assert';
2
+ import { css, unsafeCSS } from 'element-vir';
3
+ import { viraFormCssVars } from './form-styles.js';
4
+ function cssValueOrRaw(value) {
8
5
  if (check.isString(value)) {
9
6
  return unsafeCSS(value);
10
- } else {
7
+ }
8
+ else {
11
9
  return value.value;
12
10
  }
13
11
  }
14
-
15
12
  /**
16
13
  * Create styles that look like an outline for the given selector.
17
14
  *
@@ -20,34 +17,11 @@ function cssValueOrRaw(value: string | SingleCssVarDefinition): CSSResult {
20
17
  *
21
18
  * @category Styles
22
19
  */
23
- export function createFocusStyles({
24
- elementBorderSize = '1px',
25
- outlineGap = '2px',
26
- outlineWidth = '2px',
27
- noNesting,
28
- outlineColor = viraFormCssVars['vira-form-focus-outline-color'],
29
- borderRadius = viraFormCssVars['vira-form-focus-outline-border-radius'],
30
- renderInside,
31
- }: PartialWithUndefined<{
32
- /**
33
- * ElementBorderSize here is used to fix the outline when the element these styles are attached
34
- * to has a border. The dev must specify that border size here for the offsets to be calculated
35
- * correctly.
36
- */
37
- elementBorderSize: SingleCssVarDefinition | string;
38
- outlineGap: SingleCssVarDefinition | string;
39
- outlineWidth: SingleCssVarDefinition | string;
40
- borderRadius: SingleCssVarDefinition | string;
41
- outlineColor: SingleCssVarDefinition | string;
42
- noNesting: boolean;
43
- /** Render the focus outline inside the element instead of outside. */
44
- renderInside: boolean;
45
- }> = {}) {
46
- const insetSpacing = css`calc(${cssValueOrRaw(outlineGap)})`;
47
- const outsetSpacing = css`calc(${cssValueOrRaw(outlineWidth)} + ${cssValueOrRaw(outlineGap)} + ${cssValueOrRaw(elementBorderSize)})`;
48
-
20
+ export function createFocusStyles({ elementBorderSize = '1px', outlineGap = '2px', outlineWidth = '2px', noNesting, outlineColor = viraFormCssVars['vira-form-focus-outline-color'], borderRadius = viraFormCssVars['vira-form-focus-outline-border-radius'], renderInside, } = {}) {
21
+ const insetSpacing = css `calc(${cssValueOrRaw(outlineGap)})`;
22
+ const outsetSpacing = css `calc(${cssValueOrRaw(outlineWidth)} + ${cssValueOrRaw(outlineGap)} + ${cssValueOrRaw(elementBorderSize)})`;
49
23
  const styles = renderInside
50
- ? css`
24
+ ? css `
51
25
  content: '';
52
26
  top: ${insetSpacing};
53
27
  left: ${insetSpacing};
@@ -60,7 +34,7 @@ export function createFocusStyles({
60
34
  border-radius: ${cssValueOrRaw(borderRadius)};
61
35
  z-index: 100;
62
36
  `
63
- : css`
37
+ : css `
64
38
  content: '';
65
39
  top: calc(${outsetSpacing} * -1);
66
40
  left: calc(${outsetSpacing} * -1);
@@ -73,12 +47,10 @@ export function createFocusStyles({
73
47
  border-radius: ${cssValueOrRaw(borderRadius)};
74
48
  z-index: 100;
75
49
  `;
76
-
77
50
  if (noNesting) {
78
51
  return styles;
79
52
  }
80
-
81
- return css`
53
+ return css `
82
54
  outline: none;
83
55
 
84
56
  &:focus {
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Use this to set font values so they can be controlled via CSS vars.
3
+ *
4
+ * @category CSS Vars
5
+ * @category Styles
6
+ */
7
+ export declare const viraFontCssVars: import("lit-css-vars").CssVarDefinitions<{
8
+ readonly 'vira-monospace': "monospace";
9
+ readonly 'vira-font-weight-normal': "normal";
10
+ readonly 'vira-font-weight-medium': "500";
11
+ readonly 'vira-font-weight-bold': "600";
12
+ }>;
@@ -1,5 +1,4 @@
1
- import {defineCssVars} from 'lit-css-vars';
2
-
1
+ import { defineCssVars } from 'lit-css-vars';
3
2
  /**
4
3
  * Use this to set font values so they can be controlled via CSS vars.
5
4
  *
@@ -8,7 +7,6 @@ import {defineCssVars} from 'lit-css-vars';
8
7
  */
9
8
  export const viraFontCssVars = defineCssVars({
10
9
  'vira-monospace': 'monospace',
11
-
12
10
  'vira-font-weight-normal': 'normal',
13
11
  'vira-font-weight-medium': '500',
14
12
  'vira-font-weight-bold': '600',
@@ -0,0 +1,46 @@
1
+ /**
2
+ * CSS vars for vira form elements.
3
+ *
4
+ * @category CSS Vars
5
+ * @category Styles
6
+ */
7
+ export declare const viraFormCssVars: import("lit-css-vars").CssVarDefinitions<{
8
+ readonly 'vira-form-border-color': import("element-vir").CSSResult;
9
+ readonly 'vira-form-placeholder-color': import("element-vir").CSSResult;
10
+ readonly 'vira-form-background-color': import("element-vir").CSSResult;
11
+ readonly 'vira-form-foreground-color': import("element-vir").CSSResult;
12
+ readonly 'vira-form-modal-backdrop-color': "rgba(0, 0, 0, 0.35)";
13
+ readonly 'vira-form-secondary-body-foreground': import("element-vir").CSSResult;
14
+ readonly 'vira-form-text-selection-color': import("element-vir").CSSResult;
15
+ readonly 'vira-form-selection-hover-color': import("element-vir").CSSResult;
16
+ readonly 'vira-form-selection-active-color': import("element-vir").CSSResult;
17
+ readonly 'vira-form-error-color': import("element-vir").CSSResult;
18
+ readonly 'vira-form-error-hover-color': import("element-vir").CSSResult;
19
+ readonly 'vira-form-error-active-color': import("element-vir").CSSResult;
20
+ readonly 'vira-form-warning-color': import("element-vir").CSSResult;
21
+ readonly 'vira-form-warning-hover-color': import("element-vir").CSSResult;
22
+ readonly 'vira-form-warning-active-color': import("element-vir").CSSResult;
23
+ readonly 'vira-form-positive-color': import("element-vir").CSSResult;
24
+ readonly 'vira-form-positive-hover-color': import("element-vir").CSSResult;
25
+ readonly 'vira-form-positive-active-color': import("element-vir").CSSResult;
26
+ readonly 'vira-form-success-color': import("element-vir").CSSResult;
27
+ readonly 'vira-form-label-font-weight': import("element-vir").CSSResult;
28
+ readonly 'vira-form-small-text-size': "14px";
29
+ readonly 'vira-form-medium-text-size': "14px";
30
+ readonly 'vira-form-large-text-size': "22px";
31
+ readonly 'vira-form-radius': "6px";
32
+ readonly 'vira-form-wrapper-radius': "12px";
33
+ readonly 'vira-form-focus-outline-color': import("element-vir").CSSResult;
34
+ readonly 'vira-form-focus-outline-border-radius': import("element-vir").CSSResult;
35
+ readonly 'vira-form-plain-color': import("element-vir").CSSResult;
36
+ readonly 'vira-form-plain-hover-color': import("element-vir").CSSResult;
37
+ readonly 'vira-form-plain-active-color': import("element-vir").CSSResult;
38
+ readonly 'vira-form-accent-primary-color': import("element-vir").CSSResult;
39
+ readonly 'vira-form-accent-primary-hover-color': import("element-vir").CSSResult;
40
+ readonly 'vira-form-accent-primary-active-color': import("element-vir").CSSResult;
41
+ readonly 'vira-form-danger-color': import("element-vir").CSSResult;
42
+ readonly 'vira-form-danger-hover-color': import("element-vir").CSSResult;
43
+ readonly 'vira-form-danger-active-color': import("element-vir").CSSResult;
44
+ readonly 'vira-form-filled-background-color': import("element-vir").CSSResult;
45
+ readonly 'vira-form-filled-active-background-color': import("element-vir").CSSResult;
46
+ }>;
@@ -0,0 +1,53 @@
1
+ import { css, unsafeCSS } from 'element-vir';
2
+ import { defineCssVars } from 'lit-css-vars';
3
+ import { themeDefaultKey } from 'theme-vir/dist/color-theme/color-theme.js';
4
+ import { viraFontCssVars } from './font.js';
5
+ import { viraColorPalette } from './vira-color-palette.js';
6
+ import { viraTheme } from './vira-color-theme.js';
7
+ const defaultViraFormRadius = '6px';
8
+ /**
9
+ * CSS vars for vira form elements.
10
+ *
11
+ * @category CSS Vars
12
+ * @category Styles
13
+ */
14
+ export const viraFormCssVars = defineCssVars({
15
+ 'vira-form-border-color': viraTheme.colors['vira-grey-foreground-decoration'].foreground.value,
16
+ 'vira-form-placeholder-color': viraTheme.colors['vira-grey-foreground-placeholder'].foreground.value,
17
+ 'vira-form-background-color': viraTheme.colors[themeDefaultKey].background.value,
18
+ 'vira-form-foreground-color': viraTheme.colors[themeDefaultKey].foreground.value,
19
+ 'vira-form-modal-backdrop-color': 'rgba(0, 0, 0, 0.35)',
20
+ 'vira-form-secondary-body-foreground': viraTheme.colors['vira-grey-foreground-header'].foreground.value,
21
+ 'vira-form-text-selection-color': viraTheme.colors['vira-brand-behind-bg-decoration'].background.value,
22
+ 'vira-form-selection-hover-color': viraTheme.colors['vira-brand-behind-bg-invisible'].background.value,
23
+ 'vira-form-selection-active-color': viraTheme.colors['vira-brand-behind-bg-decoration'].background.value,
24
+ 'vira-form-error-color': viraTheme.colors['vira-red-behind-bg-non-body'].background.value,
25
+ 'vira-form-error-hover-color': viraTheme.colors['vira-red-behind-bg-header'].background.value,
26
+ 'vira-form-error-active-color': viraTheme.colors['vira-red-behind-bg-body'].background.value,
27
+ 'vira-form-warning-color': viraTheme.colors['vira-yellow-behind-bg-non-body'].background.value,
28
+ 'vira-form-warning-hover-color': viraTheme.colors['vira-yellow-behind-bg-header'].background.value,
29
+ 'vira-form-warning-active-color': viraTheme.colors['vira-yellow-behind-bg-body'].background.value,
30
+ 'vira-form-positive-color': viraTheme.colors['vira-green-behind-bg-non-body'].background.value,
31
+ 'vira-form-positive-hover-color': viraTheme.colors['vira-green-behind-bg-header'].background.value,
32
+ 'vira-form-positive-active-color': viraTheme.colors['vira-green-behind-bg-body'].background.value,
33
+ 'vira-form-success-color': viraTheme.colors['vira-green-behind-bg-non-body'].background.value,
34
+ 'vira-form-label-font-weight': viraFontCssVars['vira-font-weight-bold'].value,
35
+ 'vira-form-small-text-size': '14px',
36
+ 'vira-form-medium-text-size': '14px',
37
+ 'vira-form-large-text-size': '22px',
38
+ 'vira-form-radius': defaultViraFormRadius,
39
+ 'vira-form-wrapper-radius': '12px',
40
+ 'vira-form-focus-outline-color': viraTheme.colors['vira-brand-foreground-header'].foreground.value,
41
+ 'vira-form-focus-outline-border-radius': css `calc(var(--vira-form-radius, ${unsafeCSS(defaultViraFormRadius)}) + 2px)`,
42
+ 'vira-form-plain-color': viraColorPalette['vira-grey-100'].value,
43
+ 'vira-form-plain-hover-color': viraTheme.colors['vira-grey-foreground-invisible'].foreground.value,
44
+ 'vira-form-plain-active-color': viraTheme.colors['vira-grey-foreground-decoration'].foreground.value,
45
+ 'vira-form-accent-primary-color': viraTheme.colors['vira-brand-behind-bg-non-body'].background.value,
46
+ 'vira-form-accent-primary-hover-color': viraTheme.colors['vira-brand-behind-bg-header'].background.value,
47
+ 'vira-form-accent-primary-active-color': viraTheme.colors['vira-brand-behind-bg-body'].background.value,
48
+ 'vira-form-danger-color': viraTheme.colors['vira-red-behind-bg-non-body'].background.value,
49
+ 'vira-form-danger-hover-color': viraTheme.colors['vira-red-behind-bg-header'].background.value,
50
+ 'vira-form-danger-active-color': viraTheme.colors['vira-red-behind-bg-body'].background.value,
51
+ 'vira-form-filled-background-color': viraTheme.colors['vira-grey-foreground-invisible'].foreground.value,
52
+ 'vira-form-filled-active-background-color': viraTheme.colors['vira-grey-foreground-decoration'].foreground.value,
53
+ });