vira 32.0.0-beta.0 → 32.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/elements/color/vira-all-color-space-sliders.element.d.ts +11 -0
  2. package/dist/elements/color/vira-all-color-space-sliders.element.js +55 -0
  3. package/dist/elements/color/vira-all-spaces-color-picker.element.d.ts +15 -0
  4. package/dist/elements/color/vira-all-spaces-color-picker.element.js +73 -0
  5. package/dist/elements/color/vira-color-details.element.d.ts +14 -0
  6. package/{src/elements/color/vira-color-details.element.ts → dist/elements/color/vira-color-details.element.js} +43 -59
  7. package/dist/elements/color/vira-color-format-sliders.element.d.ts +14 -0
  8. package/dist/elements/color/vira-color-format-sliders.element.js +60 -0
  9. package/dist/elements/color/vira-color-pair-contrast-summary.element.d.ts +9 -0
  10. package/{src/elements/color/vira-color-pair-contrast-summary.element.ts → dist/elements/color/vira-color-pair-contrast-summary.element.js} +68 -100
  11. package/dist/elements/color/vira-color-pair.element.d.ts +17 -0
  12. package/{src/elements/color/vira-color-pair.element.ts → dist/elements/color/vira-color-pair.element.js} +50 -71
  13. package/dist/elements/color/vira-color-picker.element.d.ts +20 -0
  14. package/{src/elements/color/vira-color-picker.element.ts → dist/elements/color/vira-color-picker.element.js} +92 -117
  15. package/dist/elements/color/vira-color-slider.element.d.ts +14 -0
  16. package/dist/elements/color/vira-color-slider.element.js +124 -0
  17. package/dist/elements/color/vira-color-swatch.element.d.ts +20 -0
  18. package/{src/elements/color/vira-color-swatch.element.ts → dist/elements/color/vira-color-swatch.element.js} +6 -16
  19. package/dist/elements/color/vira-contrast-indicator.element.d.ts +10 -0
  20. package/{src/elements/color/vira-contrast-indicator.element.ts → dist/elements/color/vira-contrast-indicator.element.js} +13 -28
  21. package/dist/elements/index.js +39 -0
  22. package/dist/elements/pop-up/vira-menu-item.element.d.ts +38 -0
  23. package/{src/elements/pop-up/vira-menu-item.element.ts → dist/elements/pop-up/vira-menu-item.element.js} +80 -117
  24. package/dist/elements/pop-up/vira-menu-trigger.element.d.ts +45 -0
  25. package/dist/elements/pop-up/vira-menu-trigger.element.js +100 -0
  26. package/dist/elements/pop-up/vira-menu.element.d.ts +36 -0
  27. package/{src/elements/pop-up/vira-menu.element.ts → dist/elements/pop-up/vira-menu.element.js} +28 -31
  28. package/dist/elements/pop-up/vira-pop-up-trigger.element.d.ts +109 -0
  29. package/dist/elements/pop-up/vira-pop-up-trigger.element.js +408 -0
  30. package/dist/elements/vira-absolute-time.element.d.ts +35 -0
  31. package/dist/elements/vira-absolute-time.element.js +43 -0
  32. package/dist/elements/vira-bold-text.element.d.ts +9 -0
  33. package/{src/elements/vira-bold-text.element.ts → dist/elements/vira-bold-text.element.js} +11 -10
  34. package/dist/elements/vira-button.element.d.ts +40 -0
  35. package/{src/elements/vira-button.element.ts → dist/elements/vira-button.element.js} +114 -261
  36. package/dist/elements/vira-card.element.d.ts +18 -0
  37. package/{src/elements/vira-card.element.ts → dist/elements/vira-card.element.js} +19 -18
  38. package/dist/elements/vira-checkbox.element.d.ts +44 -0
  39. package/{src/elements/vira-checkbox.element.ts → dist/elements/vira-checkbox.element.js} +48 -95
  40. package/dist/elements/vira-collapsible-card.element.d.ts +36 -0
  41. package/{src/elements/vira-collapsible-card.element.ts → dist/elements/vira-collapsible-card.element.js} +44 -71
  42. package/dist/elements/vira-collapsible-wrapper.element.d.ts +30 -0
  43. package/{src/elements/vira-collapsible-wrapper.element.ts → dist/elements/vira-collapsible-wrapper.element.js} +47 -59
  44. package/dist/elements/vira-date-input.element.d.ts +47 -0
  45. package/dist/elements/vira-date-input.element.js +142 -0
  46. package/dist/elements/vira-drawer.element.d.ts +24 -0
  47. package/{src/elements/vira-drawer.element.ts → dist/elements/vira-drawer.element.js} +98 -125
  48. package/dist/elements/vira-dropdown.element.d.ts +43 -0
  49. package/dist/elements/vira-dropdown.element.js +247 -0
  50. package/dist/elements/vira-error.element.d.ts +7 -0
  51. package/{src/elements/vira-error.element.ts → dist/elements/vira-error.element.js} +7 -8
  52. package/dist/elements/vira-form.element.d.ts +56 -0
  53. package/dist/elements/vira-form.element.js +376 -0
  54. package/dist/elements/vira-icon.element.d.ts +13 -0
  55. package/{src/elements/vira-icon.element.ts → dist/elements/vira-icon.element.js} +12 -16
  56. package/dist/elements/vira-image.element.d.ts +45 -0
  57. package/{src/elements/vira-image.element.ts → dist/elements/vira-image.element.js} +50 -70
  58. package/dist/elements/vira-input.element.d.ts +64 -0
  59. package/{src/elements/vira-input.element.ts → dist/elements/vira-input.element.js} +112 -167
  60. package/dist/elements/vira-json-form.element.d.ts +35 -0
  61. package/{src/elements/vira-json-form.element.ts → dist/elements/vira-json-form.element.js} +356 -522
  62. package/dist/elements/vira-link.element.d.ts +78 -0
  63. package/{src/elements/vira-link.element.ts → dist/elements/vira-link.element.js} +24 -83
  64. package/dist/elements/vira-modal.element.d.ts +40 -0
  65. package/{src/elements/vira-modal.element.ts → dist/elements/vira-modal.element.js} +68 -104
  66. package/dist/elements/vira-progress.element.d.ts +18 -0
  67. package/{src/elements/vira-progress.element.ts → dist/elements/vira-progress.element.js} +12 -25
  68. package/dist/elements/vira-relative-time.element.d.ts +42 -0
  69. package/dist/elements/vira-relative-time.element.js +96 -0
  70. package/dist/elements/vira-select.element.d.ts +44 -0
  71. package/{src/elements/vira-select.element.ts → dist/elements/vira-select.element.js} +89 -138
  72. package/dist/elements/vira-tabs.element.d.ts +124 -0
  73. package/{src/elements/vira-tabs.element.ts → dist/elements/vira-tabs.element.js} +243 -446
  74. package/dist/elements/vira-tag.element.d.ts +40 -0
  75. package/{src/elements/vira-tag.element.ts → dist/elements/vira-tag.element.js} +152 -266
  76. package/dist/elements/vira-text-area.element.d.ts +48 -0
  77. package/{src/elements/vira-text-area.element.ts → dist/elements/vira-text-area.element.js} +52 -70
  78. package/dist/elements/vira-theme-switcher.element.d.ts +17 -0
  79. package/{src/elements/vira-theme-switcher.element.ts → dist/elements/vira-theme-switcher.element.js} +34 -49
  80. package/dist/icons/colored-icon.d.ts +11 -0
  81. package/{src/icons/colored-icon.ts → dist/icons/colored-icon.js} +17 -24
  82. package/dist/icons/icon-css-vars.d.ts +14 -0
  83. package/{src/icons/icon-css-vars.ts → dist/icons/icon-css-vars.js} +1 -2
  84. package/{src/icons/icon-svg.ts → dist/icons/icon-svg.d.ts} +3 -15
  85. package/dist/icons/icon-svg.js +12 -0
  86. package/dist/icons/icon-svgs/16/check-16.icon.d.ts +8 -0
  87. package/{src/icons/icon-svgs/16/check-16.icon.ts → dist/icons/icon-svgs/16/check-16.icon.js} +4 -5
  88. package/dist/icons/icon-svgs/16/chevron-down-16.icon.d.ts +8 -0
  89. package/{src/icons/icon-svgs/16/chevron-down-16.icon.ts → dist/icons/icon-svgs/16/chevron-down-16.icon.js} +4 -5
  90. package/dist/icons/icon-svgs/16/chevron-up-16.icon.d.ts +8 -0
  91. package/{src/icons/icon-svgs/16/chevron-up-16.icon.ts → dist/icons/icon-svgs/16/chevron-up-16.icon.js} +4 -5
  92. package/dist/icons/icon-svgs/16/dash-16.icon.d.ts +8 -0
  93. package/{src/icons/icon-svgs/16/dash-16.icon.ts → dist/icons/icon-svgs/16/dash-16.icon.js} +4 -5
  94. package/dist/icons/icon-svgs/16/element-16.icon.d.ts +8 -0
  95. package/{src/icons/icon-svgs/16/element-16.icon.ts → dist/icons/icon-svgs/16/element-16.icon.js} +4 -5
  96. package/dist/icons/icon-svgs/16/plus-16.icon.d.ts +8 -0
  97. package/{src/icons/icon-svgs/16/plus-16.icon.ts → dist/icons/icon-svgs/16/plus-16.icon.js} +4 -5
  98. package/dist/icons/icon-svgs/16/upload-16.icon.d.ts +8 -0
  99. package/{src/icons/icon-svgs/16/upload-16.icon.ts → dist/icons/icon-svgs/16/upload-16.icon.js} +4 -5
  100. package/dist/icons/icon-svgs/16/x-16.icon.d.ts +8 -0
  101. package/{src/icons/icon-svgs/16/x-16.icon.ts → dist/icons/icon-svgs/16/x-16.icon.js} +4 -5
  102. package/dist/icons/icon-svgs/24/arrow-down-24.icon.d.ts +8 -0
  103. package/{src/icons/icon-svgs/24/arrow-down-24.icon.ts → dist/icons/icon-svgs/24/arrow-down-24.icon.js} +4 -5
  104. package/dist/icons/icon-svgs/24/arrow-left-24.icon.d.ts +8 -0
  105. package/{src/icons/icon-svgs/24/arrow-left-24.icon.ts → dist/icons/icon-svgs/24/arrow-left-24.icon.js} +4 -5
  106. package/dist/icons/icon-svgs/24/arrow-right-24.icon.d.ts +8 -0
  107. package/{src/icons/icon-svgs/24/arrow-right-24.icon.ts → dist/icons/icon-svgs/24/arrow-right-24.icon.js} +4 -5
  108. package/dist/icons/icon-svgs/24/arrow-up-24.icon.d.ts +8 -0
  109. package/{src/icons/icon-svgs/24/arrow-up-24.icon.ts → dist/icons/icon-svgs/24/arrow-up-24.icon.js} +4 -5
  110. package/dist/icons/icon-svgs/24/auto-theme-24.icon.d.ts +8 -0
  111. package/{src/icons/icon-svgs/24/auto-theme-24.icon.ts → dist/icons/icon-svgs/24/auto-theme-24.icon.js} +4 -5
  112. package/dist/icons/icon-svgs/24/bell-24.icon.d.ts +8 -0
  113. package/{src/icons/icon-svgs/24/bell-24.icon.ts → dist/icons/icon-svgs/24/bell-24.icon.js} +4 -5
  114. package/dist/icons/icon-svgs/24/chat-24.icon.d.ts +8 -0
  115. package/{src/icons/icon-svgs/24/chat-24.icon.ts → dist/icons/icon-svgs/24/chat-24.icon.js} +4 -5
  116. package/dist/icons/icon-svgs/24/check-24.icon.d.ts +8 -0
  117. package/{src/icons/icon-svgs/24/check-24.icon.ts → dist/icons/icon-svgs/24/check-24.icon.js} +4 -5
  118. package/dist/icons/icon-svgs/24/chevron-down-24.icon.d.ts +8 -0
  119. package/{src/icons/icon-svgs/24/chevron-down-24.icon.ts → dist/icons/icon-svgs/24/chevron-down-24.icon.js} +4 -5
  120. package/dist/icons/icon-svgs/24/chevron-up-24.icon.d.ts +8 -0
  121. package/{src/icons/icon-svgs/24/chevron-up-24.icon.ts → dist/icons/icon-svgs/24/chevron-up-24.icon.js} +4 -5
  122. package/dist/icons/icon-svgs/24/close-x-24.icon.d.ts +8 -0
  123. package/{src/icons/icon-svgs/24/close-x-24.icon.ts → dist/icons/icon-svgs/24/close-x-24.icon.js} +4 -5
  124. package/dist/icons/icon-svgs/24/commit-24.icon.d.ts +8 -0
  125. package/{src/icons/icon-svgs/24/commit-24.icon.ts → dist/icons/icon-svgs/24/commit-24.icon.js} +4 -5
  126. package/dist/icons/icon-svgs/24/copy-24.icon.d.ts +8 -0
  127. package/{src/icons/icon-svgs/24/copy-24.icon.ts → dist/icons/icon-svgs/24/copy-24.icon.js} +4 -5
  128. package/dist/icons/icon-svgs/24/document-24.icon.d.ts +8 -0
  129. package/{src/icons/icon-svgs/24/document-24.icon.ts → dist/icons/icon-svgs/24/document-24.icon.js} +4 -5
  130. package/dist/icons/icon-svgs/24/document-search-24.icon.d.ts +8 -0
  131. package/{src/icons/icon-svgs/24/document-search-24.icon.ts → dist/icons/icon-svgs/24/document-search-24.icon.js} +4 -5
  132. package/dist/icons/icon-svgs/24/double-chevron-24.icon.d.ts +8 -0
  133. package/{src/icons/icon-svgs/24/double-chevron-24.icon.ts → dist/icons/icon-svgs/24/double-chevron-24.icon.js} +4 -5
  134. package/dist/icons/icon-svgs/24/element-24.icon.d.ts +8 -0
  135. package/{src/icons/icon-svgs/24/element-24.icon.ts → dist/icons/icon-svgs/24/element-24.icon.js} +4 -5
  136. package/dist/icons/icon-svgs/24/external-link-24.icon.d.ts +8 -0
  137. package/{src/icons/icon-svgs/24/external-link-24.icon.ts → dist/icons/icon-svgs/24/external-link-24.icon.js} +4 -5
  138. package/dist/icons/icon-svgs/24/eye-closed-24.icon.d.ts +8 -0
  139. package/{src/icons/icon-svgs/24/eye-closed-24.icon.ts → dist/icons/icon-svgs/24/eye-closed-24.icon.js} +4 -5
  140. package/dist/icons/icon-svgs/24/eye-open-24.icon.d.ts +8 -0
  141. package/{src/icons/icon-svgs/24/eye-open-24.icon.ts → dist/icons/icon-svgs/24/eye-open-24.icon.js} +4 -5
  142. package/dist/icons/icon-svgs/24/filter-24.icon.d.ts +8 -0
  143. package/{src/icons/icon-svgs/24/filter-24.icon.ts → dist/icons/icon-svgs/24/filter-24.icon.js} +4 -5
  144. package/dist/icons/icon-svgs/24/globe-24.icon.d.ts +8 -0
  145. package/{src/icons/icon-svgs/24/globe-24.icon.ts → dist/icons/icon-svgs/24/globe-24.icon.js} +4 -5
  146. package/dist/icons/icon-svgs/24/link-24.icon.d.ts +8 -0
  147. package/{src/icons/icon-svgs/24/link-24.icon.ts → dist/icons/icon-svgs/24/link-24.icon.js} +4 -5
  148. package/dist/icons/icon-svgs/24/loader-24.icon.d.ts +8 -0
  149. package/{src/icons/icon-svgs/24/loader-24.icon.ts → dist/icons/icon-svgs/24/loader-24.icon.js} +4 -5
  150. package/dist/icons/icon-svgs/24/loader-animated-24.icon.d.ts +8 -0
  151. package/{src/icons/icon-svgs/24/loader-animated-24.icon.ts → dist/icons/icon-svgs/24/loader-animated-24.icon.js} +6 -8
  152. package/dist/icons/icon-svgs/24/lock-24.icon.d.ts +8 -0
  153. package/{src/icons/icon-svgs/24/lock-24.icon.ts → dist/icons/icon-svgs/24/lock-24.icon.js} +4 -5
  154. package/dist/icons/icon-svgs/24/magnifying-glass-24.icon.d.ts +8 -0
  155. package/{src/icons/icon-svgs/24/magnifying-glass-24.icon.ts → dist/icons/icon-svgs/24/magnifying-glass-24.icon.js} +4 -5
  156. package/dist/icons/icon-svgs/24/moon-24.icon.d.ts +8 -0
  157. package/{src/icons/icon-svgs/24/moon-24.icon.ts → dist/icons/icon-svgs/24/moon-24.icon.js} +4 -5
  158. package/dist/icons/icon-svgs/24/options-24.icon.d.ts +8 -0
  159. package/{src/icons/icon-svgs/24/options-24.icon.ts → dist/icons/icon-svgs/24/options-24.icon.js} +4 -5
  160. package/dist/icons/icon-svgs/24/pencil-24.icon.d.ts +8 -0
  161. package/{src/icons/icon-svgs/24/pencil-24.icon.ts → dist/icons/icon-svgs/24/pencil-24.icon.js} +4 -5
  162. package/dist/icons/icon-svgs/24/plus-24.icon.d.ts +8 -0
  163. package/{src/icons/icon-svgs/24/plus-24.icon.ts → dist/icons/icon-svgs/24/plus-24.icon.js} +4 -5
  164. package/dist/icons/icon-svgs/24/printer-24.icon.d.ts +8 -0
  165. package/{src/icons/icon-svgs/24/printer-24.icon.ts → dist/icons/icon-svgs/24/printer-24.icon.js} +4 -5
  166. package/dist/icons/icon-svgs/24/shield-24.icon.d.ts +8 -0
  167. package/{src/icons/icon-svgs/24/shield-24.icon.ts → dist/icons/icon-svgs/24/shield-24.icon.js} +4 -5
  168. package/dist/icons/icon-svgs/24/sort-ascending-24.icon.d.ts +8 -0
  169. package/{src/icons/icon-svgs/24/sort-ascending-24.icon.ts → dist/icons/icon-svgs/24/sort-ascending-24.icon.js} +4 -5
  170. package/dist/icons/icon-svgs/24/sort-descending-24.icon.d.ts +8 -0
  171. package/{src/icons/icon-svgs/24/sort-descending-24.icon.ts → dist/icons/icon-svgs/24/sort-descending-24.icon.js} +4 -5
  172. package/dist/icons/icon-svgs/24/sparkle-24.icon.d.ts +8 -0
  173. package/{src/icons/icon-svgs/24/sparkle-24.icon.ts → dist/icons/icon-svgs/24/sparkle-24.icon.js} +4 -5
  174. package/dist/icons/icon-svgs/24/speaker-loud-24.icon.d.ts +8 -0
  175. package/{src/icons/icon-svgs/24/speaker-loud-24.icon.ts → dist/icons/icon-svgs/24/speaker-loud-24.icon.js} +4 -5
  176. package/dist/icons/icon-svgs/24/speaker-medium-24.icon.d.ts +8 -0
  177. package/{src/icons/icon-svgs/24/speaker-medium-24.icon.ts → dist/icons/icon-svgs/24/speaker-medium-24.icon.js} +4 -5
  178. package/dist/icons/icon-svgs/24/speaker-muted-24.icon.d.ts +8 -0
  179. package/{src/icons/icon-svgs/24/speaker-muted-24.icon.ts → dist/icons/icon-svgs/24/speaker-muted-24.icon.js} +4 -5
  180. package/dist/icons/icon-svgs/24/speaker-quiet-24.icon.d.ts +8 -0
  181. package/{src/icons/icon-svgs/24/speaker-quiet-24.icon.ts → dist/icons/icon-svgs/24/speaker-quiet-24.icon.js} +4 -5
  182. package/dist/icons/icon-svgs/24/star-24.icon.d.ts +8 -0
  183. package/{src/icons/icon-svgs/24/star-24.icon.ts → dist/icons/icon-svgs/24/star-24.icon.js} +4 -5
  184. package/dist/icons/icon-svgs/24/status-failure-24.icon.d.ts +8 -0
  185. package/{src/icons/icon-svgs/24/status-failure-24.icon.ts → dist/icons/icon-svgs/24/status-failure-24.icon.js} +4 -5
  186. package/dist/icons/icon-svgs/24/status-in-progress-24.icon.d.ts +8 -0
  187. package/{src/icons/icon-svgs/24/status-in-progress-24.icon.ts → dist/icons/icon-svgs/24/status-in-progress-24.icon.js} +4 -5
  188. package/dist/icons/icon-svgs/24/status-success-24.icon.d.ts +8 -0
  189. package/{src/icons/icon-svgs/24/status-success-24.icon.ts → dist/icons/icon-svgs/24/status-success-24.icon.js} +4 -5
  190. package/dist/icons/icon-svgs/24/status-unknown-24.icon.d.ts +8 -0
  191. package/{src/icons/icon-svgs/24/status-unknown-24.icon.ts → dist/icons/icon-svgs/24/status-unknown-24.icon.js} +4 -5
  192. package/dist/icons/icon-svgs/24/status-warning-24.icon.d.ts +8 -0
  193. package/{src/icons/icon-svgs/24/status-warning-24.icon.ts → dist/icons/icon-svgs/24/status-warning-24.icon.js} +4 -5
  194. package/dist/icons/icon-svgs/24/sun-24.icon.d.ts +8 -0
  195. package/{src/icons/icon-svgs/24/sun-24.icon.ts → dist/icons/icon-svgs/24/sun-24.icon.js} +4 -5
  196. package/dist/icons/icon-svgs/24/upload-24.icon.d.ts +8 -0
  197. package/{src/icons/icon-svgs/24/upload-24.icon.ts → dist/icons/icon-svgs/24/upload-24.icon.js} +4 -5
  198. package/dist/icons/icon-svgs/24/x-24.icon.d.ts +8 -0
  199. package/{src/icons/icon-svgs/24/x-24.icon.ts → dist/icons/icon-svgs/24/x-24.icon.js} +4 -5
  200. package/dist/icons/index.d.ts +197 -0
  201. package/{src/icons/index.ts → dist/icons/index.js} +60 -65
  202. package/dist/icons/lucide-icons.d.ts +15 -0
  203. package/dist/icons/lucide-icons.js +79 -0
  204. package/dist/icons/sized-icon.d.ts +8 -0
  205. package/{src/icons/sized-icon.ts → dist/icons/sized-icon.js} +1 -3
  206. package/dist/index.js +4 -0
  207. package/dist/styles/disabled.d.ts +6 -0
  208. package/{src/styles/disabled.ts → dist/styles/disabled.js} +2 -3
  209. package/dist/styles/durations.d.ts +22 -0
  210. package/{src/styles/durations.ts → dist/styles/durations.js} +1 -2
  211. package/dist/styles/focus.d.ts +26 -0
  212. package/{src/styles/focus.ts → dist/styles/focus.js} +12 -40
  213. package/dist/styles/font.d.ts +12 -0
  214. package/{src/styles/font.ts → dist/styles/font.js} +1 -3
  215. package/dist/styles/form-styles.d.ts +46 -0
  216. package/dist/styles/form-styles.js +53 -0
  217. package/dist/styles/form-variants.d.ts +117 -0
  218. package/{src/styles/form-variants.ts → dist/styles/form-variants.js} +34 -42
  219. package/{src/styles/index.ts → dist/styles/index.d.ts} +0 -1
  220. package/dist/styles/index.js +14 -0
  221. package/dist/styles/native-styles.d.ts +13 -0
  222. package/{src/styles/native-styles.ts → dist/styles/native-styles.js} +3 -5
  223. package/dist/styles/scrollbar.d.ts +6 -0
  224. package/{src/styles/scrollbar.ts → dist/styles/scrollbar.js} +3 -4
  225. package/dist/styles/shadows.d.ts +19 -0
  226. package/{src/styles/shadows.ts → dist/styles/shadows.js} +5 -7
  227. package/dist/styles/user-select.d.ts +6 -0
  228. package/{src/styles/user-select.ts → dist/styles/user-select.js} +2 -3
  229. package/dist/styles/vira-color-palette.d.ts +178 -0
  230. package/{src/styles/vira-color-palette.ts → dist/styles/vira-color-palette.js} +1 -3
  231. package/dist/styles/vira-color-theme-object.d.ts +65 -0
  232. package/dist/styles/vira-color-theme-object.js +65 -0
  233. package/dist/styles/vira-color-theme.d.ts +2785 -0
  234. package/{src/styles/vira-color-theme.ts → dist/styles/vira-color-theme.js} +1222 -1227
  235. package/dist/util/color-local-storage.client.d.ts +4 -0
  236. package/dist/util/color-local-storage.client.js +6 -0
  237. package/dist/util/define-table.d.ts +115 -0
  238. package/dist/util/define-table.js +115 -0
  239. package/dist/util/define-vira-element.d.ts +18 -0
  240. package/dist/util/define-vira-element.js +19 -0
  241. package/dist/util/dynamic-element.d.ts +62 -0
  242. package/dist/util/dynamic-element.js +61 -0
  243. package/dist/util/index.js +11 -0
  244. package/dist/util/overflow-observer.d.ts +25 -0
  245. package/{src/util/overflow-observer.ts → dist/util/overflow-observer.js} +1 -30
  246. package/dist/util/pop-up-helpers.d.ts +59 -0
  247. package/dist/util/pop-up-helpers.js +66 -0
  248. package/dist/util/pop-up-manager.d.ts +200 -0
  249. package/dist/util/pop-up-manager.js +258 -0
  250. package/dist/util/shared-text-input-logic.d.ts +69 -0
  251. package/dist/util/shared-text-input-logic.js +114 -0
  252. package/dist/util/vira-form-fields.d.ts +145 -0
  253. package/dist/util/vira-form-fields.js +66 -0
  254. package/dist/util/vira-json-schema.d.ts +206 -0
  255. package/{src/util/vira-json-schema.ts → dist/util/vira-json-schema.js} +155 -298
  256. package/{src/util/vira-select-option.ts → dist/util/vira-select-option.d.ts} +2 -9
  257. package/dist/util/vira-select-option.js +8 -0
  258. package/dist/util/vira-theme-client.d.ts +83 -0
  259. package/dist/util/vira-theme-client.js +93 -0
  260. package/package.json +13 -13
  261. package/src/elements/color/vira-all-color-space-sliders.element.ts +0 -66
  262. package/src/elements/color/vira-all-spaces-color-picker.element.ts +0 -85
  263. package/src/elements/color/vira-color-format-sliders.element.ts +0 -78
  264. package/src/elements/color/vira-color-slider.element.ts +0 -169
  265. package/src/elements/pop-up/vira-menu-trigger.element.ts +0 -135
  266. package/src/elements/pop-up/vira-pop-up-trigger.element.ts +0 -539
  267. package/src/elements/vira-absolute-time.element.ts +0 -81
  268. package/src/elements/vira-date-input.element.ts +0 -185
  269. package/src/elements/vira-dropdown.element.ts +0 -310
  270. package/src/elements/vira-form.element.ts +0 -466
  271. package/src/elements/vira-relative-time.element.ts +0 -135
  272. package/src/icons/icon-color.test-helper.ts +0 -9
  273. package/src/icons/lucide-icons.ts +0 -120
  274. package/src/styles/form-styles.ts +0 -86
  275. package/src/styles/vira-color-palette.json +0 -170
  276. package/src/styles/vira-color-theme-object.ts +0 -170
  277. package/src/util/color-local-storage.client.ts +0 -7
  278. package/src/util/define-table.ts +0 -286
  279. package/src/util/define-vira-element.ts +0 -29
  280. package/src/util/dynamic-element.ts +0 -128
  281. package/src/util/pop-up-helpers.ts +0 -133
  282. package/src/util/pop-up-manager.ts +0 -434
  283. package/src/util/shared-text-input-logic.ts +0 -192
  284. package/src/util/vira-form-fields.ts +0 -195
  285. package/src/util/vira-theme-client.ts +0 -140
  286. /package/{src/elements/index.ts → dist/elements/index.d.ts} +0 -0
  287. /package/{src/index.ts → dist/index.d.ts} +0 -0
  288. /package/{src/util/index.ts → dist/util/index.d.ts} +0 -0
@@ -1,47 +1,23 @@
1
- import {assertWrap} from '@augment-vir/assert';
2
- import {type PartialWithUndefined} from '@augment-vir/common';
3
- import {css, defineElementEvent, html} from 'element-vir';
4
- import {listenTo} from 'typed-event-target';
5
- import {type ViraIconSvg} from '../../icons/icon-svg.js';
6
- import {Check24Icon} from '../../icons/icon-svgs/24/check-24.icon.js';
7
- import {viraFormCssVars} from '../../styles/form-styles.js';
8
- import {noUserSelect} from '../../styles/index.js';
9
- import {defineViraElement} from '../../util/define-vira-element.js';
10
- import {ViraIcon} from '../vira-icon.element.js';
11
-
1
+ import { assertWrap } from '@augment-vir/assert';
2
+ import { css, defineElementEvent, html } from 'element-vir';
3
+ import { listenTo } from 'typed-event-target';
4
+ import { Check24Icon } from '../../icons/icon-svgs/24/check-24.icon.js';
5
+ import { viraFormCssVars } from '../../styles/form-styles.js';
6
+ import { noUserSelect } from '../../styles/index.js';
7
+ import { defineViraElement } from '../../util/define-vira-element.js';
8
+ import { ViraIcon } from '../vira-icon.element.js';
12
9
  /**
13
10
  * An element for an individual menu item.
14
11
  *
15
12
  * @category PopUp
16
13
  * @category Elements
17
14
  */
18
- export const ViraMenuItem = defineViraElement<
19
- PartialWithUndefined<{
20
- selected: boolean;
21
- disabled: boolean;
22
- /**
23
- * Set this to `true` to disable the default `ViraMenuItem` hover and active styles so you
24
- * can apply your own.
25
- */
26
- disablePointerStyles: boolean;
27
- /**
28
- * If provided, this will override the checkmark icon. If this is provided, the icon will
29
- * _always_ be shown, even if `selected` is set to `false`.
30
- */
31
- iconOverride: ViraIconSvg;
32
- /**
33
- * When `true`, activating this item will _not_ close the containing pop-up.
34
- *
35
- * @default false
36
- */
37
- keepOpenAfterInteraction: boolean;
38
- }>
39
- >()({
15
+ export const ViraMenuItem = defineViraElement()({
40
16
  tagName: 'vira-menu-item',
41
17
  state() {
42
18
  return {
43
19
  /** Removes event listeners registered during init. */
44
- cleanupListeners: undefined as undefined | (() => void),
20
+ cleanupListeners: undefined,
45
21
  };
46
22
  },
47
23
  events: {
@@ -50,14 +26,24 @@ export const ViraMenuItem = defineViraElement<
50
26
  * containers (e.g. `ViraPopUpTrigger`) listen to this to close the pop-up on selection,
51
27
  * gated by `keepOpenAfterInteraction`.
52
28
  */
53
- activate: defineElementEvent<undefined>(),
29
+ activate: defineElementEvent(),
54
30
  },
55
31
  hostClasses: {
56
- 'vira-menu-item-selected': ({inputs}) => !!inputs.selected || !!inputs.iconOverride,
57
- 'vira-menu-item-disabled': ({inputs}) => !!inputs.disabled,
58
- 'vira-menu-item-enabled': ({inputs}) => !inputs.disabled,
59
- 'vira-menu-item-default-icon': ({inputs}) => !inputs.iconOverride,
60
- 'vira-menu-item-default-styles': ({inputs}) => !inputs.disablePointerStyles,
32
+ 'vira-menu-item-selected'({ inputs }) {
33
+ return !!inputs.selected || !!inputs.iconOverride;
34
+ },
35
+ 'vira-menu-item-disabled'({ inputs }) {
36
+ return !!inputs.disabled;
37
+ },
38
+ 'vira-menu-item-enabled'({ inputs }) {
39
+ return !inputs.disabled;
40
+ },
41
+ 'vira-menu-item-default-icon'({ inputs }) {
42
+ return !inputs.iconOverride;
43
+ },
44
+ 'vira-menu-item-default-styles'({ inputs }) {
45
+ return !inputs.disablePointerStyles;
46
+ },
61
47
  },
62
48
  cssVars: {
63
49
  /** Horizontal gap between a menu item's icon and its label. */
@@ -65,8 +51,8 @@ export const ViraMenuItem = defineViraElement<
65
51
  'vira-menu-item-padding': '6px 8px',
66
52
  'vira-menu-item-border-radius': '4px',
67
53
  },
68
- styles: ({hostClasses, cssVars}) => {
69
- return css`
54
+ styles({ hostClasses, cssVars }) {
55
+ return css `
70
56
  :host {
71
57
  display: flex;
72
58
  flex-shrink: 0;
@@ -81,9 +67,7 @@ export const ViraMenuItem = defineViraElement<
81
67
  text-align: left;
82
68
  }
83
69
 
84
- ${hostClasses['vira-menu-item-disabled'].selector}${hostClasses[
85
- 'vira-menu-item-default-styles'
86
- ].selector} {
70
+ ${hostClasses['vira-menu-item-disabled'].selector}${hostClasses['vira-menu-item-default-styles'].selector} {
87
71
  cursor: not-allowed;
88
72
 
89
73
  & .slot-wrapper,
@@ -98,9 +82,7 @@ export const ViraMenuItem = defineViraElement<
98
82
  outline: none;
99
83
  }
100
84
 
101
- ${hostClasses['vira-menu-item-enabled'].selector}${hostClasses[
102
- 'vira-menu-item-default-styles'
103
- ].selector} {
85
+ ${hostClasses['vira-menu-item-enabled'].selector}${hostClasses['vira-menu-item-default-styles'].selector} {
104
86
  cursor: pointer;
105
87
 
106
88
  &:host(:focus) {
@@ -139,23 +121,22 @@ export const ViraMenuItem = defineViraElement<
139
121
  }
140
122
  `;
141
123
  },
142
- init({state, updateState, host, inputs, dispatch, events}) {
124
+ init({ state, updateState, host, inputs, dispatch, events }) {
143
125
  host.setAttribute('role', 'menuitem');
144
126
  host.setAttribute('tabindex', inputs.disabled ? '-1' : '0');
145
127
  host.setAttribute('aria-selected', String(!!inputs.selected));
146
128
  host.setAttribute('aria-disabled', String(!!inputs.disabled));
147
129
  state.cleanupListeners?.();
148
- const propagating: Record<string, boolean> = {};
149
-
150
- function propagateMouseEvent(event: Event) {
130
+ const propagating = {};
131
+ function propagateMouseEvent(event) {
151
132
  if (propagating[event.type]) {
152
133
  return;
153
- } else if (inputs.disabled) {
134
+ }
135
+ else if (inputs.disabled) {
154
136
  event.preventDefault();
155
137
  event.stopPropagation();
156
138
  return;
157
139
  }
158
-
159
140
  /**
160
141
  * Only forward `click`. Slotted content is activated by a single forwarded click, so
161
142
  * forwarding `mousedown` as well would double-trigger interactions: a `<select>`, for
@@ -167,73 +148,56 @@ export const ViraMenuItem = defineViraElement<
167
148
  if (event.type !== 'click') {
168
149
  return;
169
150
  }
170
-
171
151
  if (inputs.keepOpenAfterInteraction) {
172
152
  event.stopPropagation();
173
153
  }
174
-
175
- const slotElement = assertWrap.instanceOf(
176
- host.shadowRoot.querySelector('slot'),
177
- HTMLSlotElement,
178
- );
179
-
154
+ const slotElement = assertWrap.instanceOf(host.shadowRoot.querySelector('slot'), HTMLSlotElement);
180
155
  slotElement
181
156
  .assignedElements({
182
- flatten: true,
183
- })
157
+ flatten: true,
158
+ })
184
159
  .forEach((element) => {
185
- if (element instanceof HTMLElement && !event.composedPath().includes(element)) {
186
- event.preventDefault();
187
- event.stopPropagation();
188
- propagating[event.type] = true;
189
- const hasModifiers =
190
- event instanceof MouseEvent &&
191
- (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey);
192
-
193
- if (hasModifiers) {
194
- /**
195
- * If modifier keys are present, dispatch a synthetic MouseEvent so that
196
- * the modifier keys are preserved. This is needed so that cmd+click
197
- * opens links in a new tab.
198
- */
199
- element.dispatchEvent(new MouseEvent('click', event));
200
- } else {
201
- /**
202
- * Use `.click()` instead of dispatching a synthetic MouseEvent so that
203
- * the resulting event carries user activation. This is required for
204
- * APIs like `showPicker()` on `<select>` elements.
205
- */
206
- element.click();
207
- }
208
- delete propagating[event.type];
160
+ if (element instanceof HTMLElement && !event.composedPath().includes(element)) {
161
+ event.preventDefault();
162
+ event.stopPropagation();
163
+ propagating[event.type] = true;
164
+ const hasModifiers = event instanceof MouseEvent &&
165
+ (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey);
166
+ if (hasModifiers) {
167
+ /**
168
+ * If modifier keys are present, dispatch a synthetic MouseEvent so that
169
+ * the modifier keys are preserved. This is needed so that cmd+click
170
+ * opens links in a new tab.
171
+ */
172
+ element.dispatchEvent(new MouseEvent('click', event));
173
+ }
174
+ else {
175
+ /**
176
+ * Use `.click()` instead of dispatching a synthetic MouseEvent so that
177
+ * the resulting event carries user activation. This is required for
178
+ * APIs like `showPicker()` on `<select>` elements.
179
+ */
180
+ element.click();
209
181
  }
210
- });
182
+ delete propagating[event.type];
183
+ }
184
+ });
211
185
  }
212
-
213
186
  const listenerRemovers = [
214
187
  listenTo(host, 'click', propagateMouseEvent),
215
188
  listenTo(host, 'mousedown', propagateMouseEvent),
216
- listenTo(
217
- host,
218
- 'click',
219
- (event) => {
220
- if (
221
- propagating[event.type] ||
222
- inputs.disabled ||
223
- inputs.keepOpenAfterInteraction
224
- ) {
225
- return;
226
- }
227
- dispatch(
228
- new events.activate({
229
- detail: undefined,
230
- }),
231
- );
232
- },
233
- {
234
- capture: true,
235
- },
236
- ),
189
+ listenTo(host, 'click', (event) => {
190
+ if (propagating[event.type] ||
191
+ inputs.disabled ||
192
+ inputs.keepOpenAfterInteraction) {
193
+ return;
194
+ }
195
+ dispatch(new events.activate({
196
+ detail: undefined,
197
+ }));
198
+ }, {
199
+ capture: true,
200
+ }),
237
201
  listenTo(host, 'mouseenter', () => {
238
202
  if (!inputs.disabled) {
239
203
  host.focus();
@@ -245,24 +209,23 @@ export const ViraMenuItem = defineViraElement<
245
209
  }
246
210
  }),
247
211
  ];
248
-
249
212
  updateState({
250
- cleanupListeners: () => {
213
+ cleanupListeners() {
251
214
  listenerRemovers.forEach((remover) => remover());
252
215
  },
253
216
  });
254
217
  },
255
- cleanup({state, updateState}) {
218
+ cleanup({ state, updateState }) {
256
219
  state.cleanupListeners?.();
257
220
  updateState({
258
221
  cleanupListeners: undefined,
259
222
  });
260
223
  },
261
- render({inputs}) {
262
- return html`
224
+ render({ inputs }) {
225
+ return html `
263
226
  <${ViraIcon.assign({
264
- icon: inputs.iconOverride || Check24Icon,
265
- })}></${ViraIcon}>
227
+ icon: inputs.iconOverride || Check24Icon,
228
+ })}></${ViraIcon}>
266
229
  <div class="slot-wrapper">
267
230
  <slot>&nbsp;</slot>
268
231
  </div>
@@ -0,0 +1,45 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ import { type NavController } from 'device-navigation';
3
+ import { type PopUpManager, type ShowPopUpResult } from '../../util/pop-up-manager.js';
4
+ import { type ViraMenuCornerStyle } from './vira-menu.element.js';
5
+ import { type PopUpOffset, type PopUpTriggerPosition } from './vira-pop-up-trigger.element.js';
6
+ /**
7
+ * Test ids for {@link ViraMenuTrigger}.
8
+ *
9
+ * @category Internal
10
+ */
11
+ export declare const viraMenuTriggerTestIds: {
12
+ menu: string;
13
+ };
14
+ /**
15
+ * A more specific wrapper of `ViraPopUpTrigger` that always opens a menu.
16
+ *
17
+ * @category PopUp
18
+ * @category Elements
19
+ */
20
+ export declare const ViraMenuTrigger: import("element-vir").DeclarativeElementDefinition<`vira-${string}`, PartialWithUndefined<{
21
+ isDisabled: boolean;
22
+ z_debug_forceOpenState: boolean;
23
+ popUpOffset: PopUpOffset;
24
+ keepOpenAfterInteraction: boolean;
25
+ menuCornerStyle: ViraMenuCornerStyle;
26
+ /**
27
+ * If true, the focus outline is moved inside the element.
28
+ *
29
+ * @default false
30
+ */
31
+ useInsideFocus: boolean;
32
+ /**
33
+ * When `true`, the trigger will focus itself when the pop-up closes.
34
+ *
35
+ * @default false
36
+ */
37
+ focusOnClose: boolean;
38
+ } & PopUpTriggerPosition>, {
39
+ navController: undefined | NavController;
40
+ popUpManager: undefined | PopUpManager;
41
+ /** `undefined` means the pop up is not currently showing. */
42
+ showPopUpResult: ShowPopUpResult | undefined;
43
+ }, {
44
+ openChange: import("element-vir").DefineElementEvent<ShowPopUpResult | undefined>;
45
+ }, `vira-${string}-`, `vira-${string}-`, readonly ["vira-menu-trigger-trigger"], readonly []>;
@@ -0,0 +1,100 @@
1
+ import { classMap, css, defineElementEvent, html, listen, nothing } from 'element-vir';
2
+ import { defineViraElement } from '../../util/define-vira-element.js';
3
+ import { ViraMenu, ViraMenuPopUpDirection } from './vira-menu.element.js';
4
+ import { HorizontalAnchor, ViraPopUpTrigger, } from './vira-pop-up-trigger.element.js';
5
+ /**
6
+ * Test ids for {@link ViraMenuTrigger}.
7
+ *
8
+ * @category Internal
9
+ */
10
+ export const viraMenuTriggerTestIds = {
11
+ menu: 'menu-trigger-menu',
12
+ };
13
+ /**
14
+ * A more specific wrapper of `ViraPopUpTrigger` that always opens a menu.
15
+ *
16
+ * @category PopUp
17
+ * @category Elements
18
+ */
19
+ export const ViraMenuTrigger = defineViraElement()({
20
+ tagName: 'vira-menu-trigger',
21
+ slotNames: [
22
+ 'vira-menu-trigger-trigger',
23
+ ],
24
+ styles: css `
25
+ :host {
26
+ display: inline-flex;
27
+ box-sizing: border-box;
28
+ vertical-align: middle;
29
+ max-width: 100%;
30
+ }
31
+
32
+ ${ViraPopUpTrigger} {
33
+ width: 100%;
34
+ }
35
+
36
+ .full-width-menu {
37
+ width: 100%;
38
+ }
39
+ `,
40
+ events: {
41
+ openChange: defineElementEvent(),
42
+ },
43
+ state() {
44
+ return {
45
+ navController: undefined,
46
+ popUpManager: undefined,
47
+ /** `undefined` means the pop up is not currently showing. */
48
+ showPopUpResult: undefined,
49
+ };
50
+ },
51
+ render({ inputs, state, updateState, dispatch, events, slotNames }) {
52
+ return html `
53
+ <${ViraPopUpTrigger.assign({
54
+ ...inputs,
55
+ })}
56
+ class=${classMap({
57
+ open: !!state.showPopUpResult,
58
+ })}
59
+ ${listen(ViraPopUpTrigger.events.init, (event) => {
60
+ updateState({
61
+ navController: event.detail.navController,
62
+ popUpManager: event.detail.popUpManager,
63
+ });
64
+ })}
65
+ ${listen(ViraPopUpTrigger.events.openChange, (event) => {
66
+ if (!!state.showPopUpResult !== !!event.detail) {
67
+ dispatch(new events.openChange({
68
+ detail: event.detail,
69
+ }));
70
+ }
71
+ updateState({
72
+ showPopUpResult: event.detail,
73
+ });
74
+ })}
75
+ >
76
+ <slot
77
+ name=${slotNames['vira-menu-trigger-trigger']}
78
+ slot=${ViraPopUpTrigger.slotNames['vira-pop-up-trigger-trigger']}
79
+ ></slot>
80
+ ${state.navController && state.showPopUpResult
81
+ ? html `
82
+ <${ViraMenu.assign({
83
+ direction: state.showPopUpResult.popDown
84
+ ? ViraMenuPopUpDirection.Downwards
85
+ : ViraMenuPopUpDirection.Upwards,
86
+ cornerStyle: inputs.menuCornerStyle,
87
+ })}
88
+ slot=${ViraPopUpTrigger.slotNames['vira-pop-up-trigger-pop-up']}
89
+ class=${classMap({
90
+ 'full-width-menu': inputs.horizontalAnchor === HorizontalAnchor.Both,
91
+ })}
92
+ >
93
+ <slot></slot>
94
+ </${ViraMenu}>
95
+ `
96
+ : nothing}
97
+ </${ViraPopUpTrigger}>
98
+ `;
99
+ },
100
+ });
@@ -0,0 +1,36 @@
1
+ import { type PartialWithUndefined } from '@augment-vir/common';
2
+ /**
3
+ * Possible corner styles for {@link ViraMenu}.
4
+ *
5
+ * @category Internal
6
+ */
7
+ export declare enum ViraMenuCornerStyle {
8
+ /** Rounding of corners depends on the open direction of the menu. */
9
+ Directional = "directional",
10
+ /** All of the menus corners should be rounded. */
11
+ AllRounded = "all-rounded",
12
+ /** None of the menus corners should be rounded. */
13
+ AllSquare = "all-square"
14
+ }
15
+ /**
16
+ * Menu pop-up directions available for {@link ViraMenu}.
17
+ *
18
+ * @category Internal
19
+ */
20
+ export declare enum ViraMenuPopUpDirection {
21
+ Downwards = "downwards",
22
+ Upwards = "upwards"
23
+ }
24
+ /**
25
+ * A simple default style wrapper for pop-up menus. Consider using `renderMenuItemEntries` to help
26
+ * rendering many menu items.
27
+ *
28
+ * @category PopUp
29
+ * @category Elements
30
+ */
31
+ export declare const ViraMenu: import("element-vir").DeclarativeElementDefinition<"vira-menu", PartialWithUndefined<{
32
+ /** @default PopUpMenuDirection.Downwards */
33
+ direction: ViraMenuPopUpDirection;
34
+ /** @default PopUpMenuCornerStyle.Directional */
35
+ cornerStyle: ViraMenuCornerStyle;
36
+ }>, {}, {}, "vira-menu-open-upwards" | "vira-menu-rounded" | "vira-menu-square", "vira-menu-padding", readonly [], readonly []>;
@@ -1,33 +1,31 @@
1
- import {type PartialWithUndefined} from '@augment-vir/common';
2
- import {css, html} from 'element-vir';
3
- import {viraFormCssVars} from '../../styles/form-styles.js';
4
- import {viraShadows} from '../../styles/shadows.js';
5
- import {defineViraElement} from '../../util/define-vira-element.js';
6
-
1
+ import { css, html } from 'element-vir';
2
+ import { viraFormCssVars } from '../../styles/form-styles.js';
3
+ import { viraShadows } from '../../styles/shadows.js';
4
+ import { defineViraElement } from '../../util/define-vira-element.js';
7
5
  /**
8
6
  * Possible corner styles for {@link ViraMenu}.
9
7
  *
10
8
  * @category Internal
11
9
  */
12
- export enum ViraMenuCornerStyle {
10
+ export var ViraMenuCornerStyle;
11
+ (function (ViraMenuCornerStyle) {
13
12
  /** Rounding of corners depends on the open direction of the menu. */
14
- Directional = 'directional',
13
+ ViraMenuCornerStyle["Directional"] = "directional";
15
14
  /** All of the menus corners should be rounded. */
16
- AllRounded = 'all-rounded',
15
+ ViraMenuCornerStyle["AllRounded"] = "all-rounded";
17
16
  /** None of the menus corners should be rounded. */
18
- AllSquare = 'all-square',
19
- }
20
-
17
+ ViraMenuCornerStyle["AllSquare"] = "all-square";
18
+ })(ViraMenuCornerStyle || (ViraMenuCornerStyle = {}));
21
19
  /**
22
20
  * Menu pop-up directions available for {@link ViraMenu}.
23
21
  *
24
22
  * @category Internal
25
23
  */
26
- export enum ViraMenuPopUpDirection {
27
- Downwards = 'downwards',
28
- Upwards = 'upwards',
29
- }
30
-
24
+ export var ViraMenuPopUpDirection;
25
+ (function (ViraMenuPopUpDirection) {
26
+ ViraMenuPopUpDirection["Downwards"] = "downwards";
27
+ ViraMenuPopUpDirection["Upwards"] = "upwards";
28
+ })(ViraMenuPopUpDirection || (ViraMenuPopUpDirection = {}));
31
29
  /**
32
30
  * A simple default style wrapper for pop-up menus. Consider using `renderMenuItemEntries` to help
33
31
  * rendering many menu items.
@@ -35,25 +33,24 @@ export enum ViraMenuPopUpDirection {
35
33
  * @category PopUp
36
34
  * @category Elements
37
35
  */
38
- export const ViraMenu = defineViraElement<
39
- PartialWithUndefined<{
40
- /** @default PopUpMenuDirection.Downwards */
41
- direction: ViraMenuPopUpDirection;
42
- /** @default PopUpMenuCornerStyle.Directional */
43
- cornerStyle: ViraMenuCornerStyle;
44
- }>
45
- >()({
36
+ export const ViraMenu = defineViraElement()({
46
37
  tagName: 'vira-menu',
47
38
  hostClasses: {
48
- 'vira-menu-open-upwards': ({inputs}) => inputs.direction === ViraMenuPopUpDirection.Upwards,
49
- 'vira-menu-rounded': ({inputs}) => inputs.cornerStyle === ViraMenuCornerStyle.AllRounded,
50
- 'vira-menu-square': ({inputs}) => inputs.cornerStyle === ViraMenuCornerStyle.AllSquare,
39
+ 'vira-menu-open-upwards'({ inputs }) {
40
+ return inputs.direction === ViraMenuPopUpDirection.Upwards;
41
+ },
42
+ 'vira-menu-rounded'({ inputs }) {
43
+ return inputs.cornerStyle === ViraMenuCornerStyle.AllRounded;
44
+ },
45
+ 'vira-menu-square'({ inputs }) {
46
+ return inputs.cornerStyle === ViraMenuCornerStyle.AllSquare;
47
+ },
51
48
  },
52
49
  cssVars: {
53
50
  'vira-menu-padding': '4px',
54
51
  },
55
- styles: ({hostClasses, cssVars}) => {
56
- return css`
52
+ styles({ hostClasses, cssVars }) {
53
+ return css `
57
54
  :host {
58
55
  display: flex;
59
56
  flex-direction: column;
@@ -88,7 +85,7 @@ export const ViraMenu = defineViraElement<
88
85
  `;
89
86
  },
90
87
  render() {
91
- return html`
88
+ return html `
92
89
  <slot>&nbsp;</slot>
93
90
  `;
94
91
  },