@rotki/ui-library 2.15.0 → 2.16.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 (804) hide show
  1. package/dist/components/accordions/accordion/RuiAccordion.js +7 -0
  2. package/dist/components/accordions/accordion/RuiAccordion.js.map +1 -0
  3. package/dist/components/accordions/accordion/RuiAccordion.vue.d.ts +9 -0
  4. package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js +88 -0
  5. package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -0
  6. package/dist/components/accordions/accordions/RuiAccordions.js +7 -0
  7. package/dist/components/accordions/accordions/RuiAccordions.js.map +1 -0
  8. package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js +67 -0
  9. package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js.map +1 -0
  10. package/dist/components/alerts/RuiAlert.js +7 -0
  11. package/dist/components/alerts/RuiAlert.js.map +1 -0
  12. package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js +330 -0
  13. package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js.map +1 -0
  14. package/dist/components/buttons/button/RuiButton.js +7 -0
  15. package/dist/components/buttons/button/RuiButton.js.map +1 -0
  16. package/dist/components/buttons/button/RuiButton.vue.d.ts +3 -2
  17. package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js +104 -0
  18. package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  19. package/dist/components/buttons/button/button-props.d.ts +16 -0
  20. package/dist/components/buttons/button/button-props.js +20 -0
  21. package/dist/components/buttons/button/button-props.js.map +1 -0
  22. package/dist/components/buttons/button/button-styles.d.ts +229 -0
  23. package/dist/components/buttons/button/button-styles.js +342 -0
  24. package/dist/components/buttons/button/button-styles.js.map +1 -0
  25. package/dist/components/buttons/button-group/RuiButtonGroup.js +7 -0
  26. package/dist/components/buttons/button-group/RuiButtonGroup.js.map +1 -0
  27. package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js +246 -0
  28. package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  29. package/dist/components/calendar/RuiCalendar.js +7 -0
  30. package/dist/components/calendar/RuiCalendar.js.map +1 -0
  31. package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js +151 -0
  32. package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  33. package/dist/components/calendar/RuiCalendarGrid.js +7 -0
  34. package/dist/components/calendar/RuiCalendarGrid.js.map +1 -0
  35. package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js +155 -0
  36. package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  37. package/dist/components/calendar/RuiCalendarHeader.js +7 -0
  38. package/dist/components/calendar/RuiCalendarHeader.js.map +1 -0
  39. package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js +113 -0
  40. package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  41. package/dist/components/calendar/RuiCalendarMenu.js +7 -0
  42. package/dist/components/calendar/RuiCalendarMenu.js.map +1 -0
  43. package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js +246 -0
  44. package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  45. package/dist/components/calendar/state.js +20 -21
  46. package/dist/components/calendar/state.js.map +1 -1
  47. package/dist/components/cards/RuiCard.js +7 -0
  48. package/dist/components/cards/RuiCard.js.map +1 -0
  49. package/dist/components/cards/RuiCard.vue.d.ts +9 -0
  50. package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js +130 -0
  51. package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  52. package/dist/components/cards/RuiCardHeader.js +7 -0
  53. package/dist/components/cards/RuiCardHeader.js.map +1 -0
  54. package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js +67 -0
  55. package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  56. package/dist/components/chips/RuiChip.js +7 -0
  57. package/dist/components/chips/RuiChip.js.map +1 -0
  58. package/dist/components/chips/RuiChip.vue.d.ts +10 -2
  59. package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js +308 -0
  60. package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  61. package/dist/components/chips/chip-props.d.ts +11 -0
  62. package/dist/components/chips/chip-props.js +17 -0
  63. package/dist/components/chips/chip-props.js.map +1 -0
  64. package/dist/components/color-picker/RuiColorBoard.js +7 -0
  65. package/dist/components/color-picker/RuiColorBoard.js.map +1 -0
  66. package/dist/components/color-picker/RuiColorBoard.vue.d.ts +1 -1
  67. package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js +100 -0
  68. package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  69. package/dist/components/color-picker/RuiColorDisplay.js +7 -0
  70. package/dist/components/color-picker/RuiColorDisplay.js.map +1 -0
  71. package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js +37 -0
  72. package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js.map +1 -0
  73. package/dist/components/color-picker/RuiColorHue.js +7 -0
  74. package/dist/components/color-picker/RuiColorHue.js.map +1 -0
  75. package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js +84 -0
  76. package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js.map +1 -0
  77. package/dist/components/color-picker/RuiColorInput.js +7 -0
  78. package/dist/components/color-picker/RuiColorInput.js.map +1 -0
  79. package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js +132 -0
  80. package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  81. package/dist/components/color-picker/RuiColorPicker.js +7 -0
  82. package/dist/components/color-picker/RuiColorPicker.js.map +1 -0
  83. package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js +57 -0
  84. package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  85. package/dist/components/color-picker/utils.d.ts +11 -8
  86. package/dist/components/color-picker/utils.js +179 -194
  87. package/dist/components/color-picker/utils.js.map +1 -1
  88. package/dist/components/date-time-picker/RuiDateTimePicker.js +7 -0
  89. package/dist/components/date-time-picker/RuiDateTimePicker.js.map +1 -0
  90. package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +2 -1
  91. package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js +369 -0
  92. package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  93. package/dist/components/date-time-picker/RuiDateTimePickerMenu.js +7 -0
  94. package/dist/components/date-time-picker/RuiDateTimePickerMenu.js.map +1 -0
  95. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.d.ts +1 -1
  96. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js +134 -0
  97. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  98. package/dist/components/date-time-picker/date-time-picker-styles.d.ts +326 -0
  99. package/dist/components/date-time-picker/date-time-picker-styles.js +19 -0
  100. package/dist/components/date-time-picker/date-time-picker-styles.js.map +1 -0
  101. package/dist/components/date-time-picker/dayjs-setup.js +4 -1
  102. package/dist/components/date-time-picker/dayjs-setup.js.map +1 -1
  103. package/dist/components/date-time-picker/segment-config.js +42 -21
  104. package/dist/components/date-time-picker/segment-config.js.map +1 -1
  105. package/dist/components/date-time-picker/segment-utils.js +24 -31
  106. package/dist/components/date-time-picker/segment-utils.js.map +1 -1
  107. package/dist/components/date-time-picker/timezones.js +601 -600
  108. package/dist/components/date-time-picker/timezones.js.map +1 -1
  109. package/dist/components/date-time-picker/types.js +14 -14
  110. package/dist/components/date-time-picker/types.js.map +1 -1
  111. package/dist/components/date-time-picker/use-date-time-selection.js +222 -282
  112. package/dist/components/date-time-picker/use-date-time-selection.js.map +1 -1
  113. package/dist/components/date-time-picker/use-input-handler.js +31 -28
  114. package/dist/components/date-time-picker/use-input-handler.js.map +1 -1
  115. package/dist/components/date-time-picker/use-keyboard-handler.js +201 -268
  116. package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -1
  117. package/dist/components/date-time-picker/utils.js +10 -11
  118. package/dist/components/date-time-picker/utils.js.map +1 -1
  119. package/dist/components/divider/RuiDivider.js +7 -0
  120. package/dist/components/divider/RuiDivider.js.map +1 -0
  121. package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js +25 -0
  122. package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js.map +1 -0
  123. package/dist/components/forms/auto-complete/RuiAutoComplete.js +7 -0
  124. package/dist/components/forms/auto-complete/RuiAutoComplete.js.map +1 -0
  125. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +12 -2
  126. package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js +566 -0
  127. package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js.map +1 -0
  128. package/dist/components/forms/auto-complete/auto-complete-styles.d.ts +324 -0
  129. package/dist/components/forms/auto-complete/auto-complete-styles.js +15 -0
  130. package/dist/components/forms/auto-complete/auto-complete-styles.js.map +1 -0
  131. package/dist/components/forms/check-control-styles.d.ts +135 -0
  132. package/dist/components/forms/check-control-styles.js +126 -0
  133. package/dist/components/forms/check-control-styles.js.map +1 -0
  134. package/dist/components/forms/checkbox/RuiCheckbox.js +7 -0
  135. package/dist/components/forms/checkbox/RuiCheckbox.js.map +1 -0
  136. package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js +133 -0
  137. package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -0
  138. package/dist/components/forms/radio-button/radio/RuiRadio.js +7 -0
  139. package/dist/components/forms/radio-button/radio/RuiRadio.js.map +1 -0
  140. package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js +115 -0
  141. package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js.map +1 -0
  142. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.js +7 -0
  143. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.js.map +1 -0
  144. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js +96 -0
  145. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  146. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.js +7 -0
  147. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.js.map +1 -0
  148. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +2 -15
  149. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js +117 -0
  150. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  151. package/dist/components/forms/select/RuiMenuSelect.js +7 -0
  152. package/dist/components/forms/select/RuiMenuSelect.js.map +1 -0
  153. package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +16 -4
  154. package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js +313 -0
  155. package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
  156. package/dist/components/forms/select/RuiSimpleSelect.js +7 -0
  157. package/dist/components/forms/select/RuiSimpleSelect.js.map +1 -0
  158. package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js +75 -0
  159. package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
  160. package/dist/components/forms/select/menu-select-styles.d.ts +319 -0
  161. package/dist/components/forms/select/menu-select-styles.js +11 -0
  162. package/dist/components/forms/select/menu-select-styles.js.map +1 -0
  163. package/dist/components/forms/slider/RuiSlider.js +7 -0
  164. package/dist/components/forms/slider/RuiSlider.js.map +1 -0
  165. package/dist/components/forms/slider/RuiSlider.vue.d.ts +9 -0
  166. package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js +222 -0
  167. package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js.map +1 -0
  168. package/dist/components/forms/slider/slider-styles.d.ts +208 -0
  169. package/dist/components/forms/slider/slider-styles.js +235 -0
  170. package/dist/components/forms/slider/slider-styles.js.map +1 -0
  171. package/dist/components/forms/switch/RuiSwitch.js +7 -0
  172. package/dist/components/forms/switch/RuiSwitch.js.map +1 -0
  173. package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js +226 -0
  174. package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -0
  175. package/dist/components/forms/text-area/RuiTextArea.js +7 -0
  176. package/dist/components/forms/text-area/RuiTextArea.js.map +1 -0
  177. package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +8 -4
  178. package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js +248 -0
  179. package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js.map +1 -0
  180. package/dist/components/forms/text-area/text-area-styles.d.ts +313 -0
  181. package/dist/components/forms/text-area/text-area-styles.js +239 -0
  182. package/dist/components/forms/text-area/text-area-styles.js.map +1 -0
  183. package/dist/components/forms/text-field/RuiTextField.js +7 -0
  184. package/dist/components/forms/text-field/RuiTextField.js.map +1 -0
  185. package/dist/components/forms/text-field/RuiTextField.vue.d.ts +4 -3
  186. package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js +220 -0
  187. package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  188. package/dist/components/forms/text-field/text-field-styles.d.ts +299 -0
  189. package/dist/components/forms/text-field/text-field-styles.js +251 -0
  190. package/dist/components/forms/text-field/text-field-styles.js.map +1 -0
  191. package/dist/components/forms/text-input-styles.d.ts +422 -0
  192. package/dist/components/forms/text-input-styles.js +250 -0
  193. package/dist/components/forms/text-input-styles.js.map +1 -0
  194. package/dist/components/helpers/RuiFormTextDetail.js +7 -0
  195. package/dist/components/helpers/RuiFormTextDetail.js.map +1 -0
  196. package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js +46 -0
  197. package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js.map +1 -0
  198. package/dist/components/icons/RuiIcon.js +7 -0
  199. package/dist/components/icons/RuiIcon.js.map +1 -0
  200. package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js +58 -0
  201. package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  202. package/dist/components/index.d.ts +46 -46
  203. package/dist/components/index.js +45 -92
  204. package/dist/components/loaders/RuiSkeletonBase.js +7 -0
  205. package/dist/components/loaders/RuiSkeletonBase.js.map +1 -0
  206. package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js +31 -0
  207. package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js.map +1 -0
  208. package/dist/components/loaders/RuiSkeletonLoader.js +7 -0
  209. package/dist/components/loaders/RuiSkeletonLoader.js.map +1 -0
  210. package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +3 -2
  211. package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js +62 -0
  212. package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  213. package/dist/components/loaders/skeleton-type.d.ts +12 -0
  214. package/dist/components/loaders/skeleton-type.js +16 -0
  215. package/dist/components/loaders/skeleton-type.js.map +1 -0
  216. package/dist/components/logos/RuiLogo.js +7 -0
  217. package/dist/components/logos/RuiLogo.js.map +1 -0
  218. package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js +130 -0
  219. package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js.map +1 -0
  220. package/dist/components/logos/logo.js +6 -0
  221. package/dist/components/logos/logo.js.map +1 -0
  222. package/dist/components/logos/use-logo-sources.d.ts +1 -1
  223. package/dist/components/logos/use-logo-sources.js +66 -62
  224. package/dist/components/logos/use-logo-sources.js.map +1 -1
  225. package/dist/components/overlays/badge/RuiBadge.js +7 -0
  226. package/dist/components/overlays/badge/RuiBadge.js.map +1 -0
  227. package/dist/components/overlays/badge/RuiBadge.vue.d.ts +4 -3
  228. package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js +189 -0
  229. package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js.map +1 -0
  230. package/dist/components/overlays/badge/badge-props.d.ts +19 -0
  231. package/dist/components/overlays/badge/badge-props.js +21 -0
  232. package/dist/components/overlays/badge/badge-props.js.map +1 -0
  233. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.js +7 -0
  234. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.js.map +1 -0
  235. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js +51 -0
  236. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js.map +1 -0
  237. package/dist/components/overlays/dialog/RuiDialog.js +7 -0
  238. package/dist/components/overlays/dialog/RuiDialog.js.map +1 -0
  239. package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +7 -0
  240. package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js +163 -0
  241. package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
  242. package/dist/components/overlays/menu/RuiMenu.js +7 -0
  243. package/dist/components/overlays/menu/RuiMenu.js.map +1 -0
  244. package/dist/components/overlays/menu/RuiMenu.vue.d.ts +12 -0
  245. package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js +236 -0
  246. package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  247. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js +7 -0
  248. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js.map +1 -0
  249. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +7 -0
  250. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js +180 -0
  251. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
  252. package/dist/components/overlays/notification/RuiNotification.js +7 -0
  253. package/dist/components/overlays/notification/RuiNotification.js.map +1 -0
  254. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js +70 -0
  255. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js.map +1 -0
  256. package/dist/components/overlays/tooltip/RuiTooltip.js +7 -0
  257. package/dist/components/overlays/tooltip/RuiTooltip.js.map +1 -0
  258. package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +10 -0
  259. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js +107 -0
  260. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  261. package/dist/components/overlays/tooltip/tooltip-styles.d.ts +91 -0
  262. package/dist/components/overlays/tooltip/tooltip-styles.js +40 -0
  263. package/dist/components/overlays/tooltip/tooltip-styles.js.map +1 -0
  264. package/dist/components/progress/RuiProgress.js +7 -0
  265. package/dist/components/progress/RuiProgress.js.map +1 -0
  266. package/dist/components/progress/RuiProgress.vue.d.ts +2 -1
  267. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js +254 -0
  268. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js.map +1 -0
  269. package/dist/components/progress/progress-props.d.ts +6 -0
  270. package/dist/components/progress/progress-props.js +10 -0
  271. package/dist/components/progress/progress-props.js.map +1 -0
  272. package/dist/components/steppers/RuiFooterStepper.js +7 -0
  273. package/dist/components/steppers/RuiFooterStepper.js.map +1 -0
  274. package/dist/components/steppers/RuiFooterStepper.vue.d.ts +2 -1
  275. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js +164 -0
  276. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  277. package/dist/components/steppers/RuiStepper.js +7 -0
  278. package/dist/components/steppers/RuiStepper.js.map +1 -0
  279. package/dist/components/steppers/RuiStepper.vue.d.ts +9 -0
  280. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js +232 -0
  281. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  282. package/dist/components/steppers/RuiStepperCustomIcon.js +7 -0
  283. package/dist/components/steppers/RuiStepperCustomIcon.js.map +1 -0
  284. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js +43 -0
  285. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  286. package/dist/components/steppers/RuiStepperIcon.js +7 -0
  287. package/dist/components/steppers/RuiStepperIcon.js.map +1 -0
  288. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js +72 -0
  289. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  290. package/dist/components/steppers/footer-stepper-variant.d.ts +7 -0
  291. package/dist/components/steppers/footer-stepper-variant.js +11 -0
  292. package/dist/components/steppers/footer-stepper-variant.js.map +1 -0
  293. package/dist/components/tables/RuiDataTable.js +7 -0
  294. package/dist/components/tables/RuiDataTable.js.map +1 -0
  295. package/dist/components/tables/RuiDataTable.vue.d.ts +7 -2
  296. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js +516 -0
  297. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -0
  298. package/dist/components/tables/RuiExpandButton.js +7 -0
  299. package/dist/components/tables/RuiExpandButton.js.map +1 -0
  300. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js +34 -0
  301. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  302. package/dist/components/tables/RuiTableEmptyState.js +7 -0
  303. package/dist/components/tables/RuiTableEmptyState.js.map +1 -0
  304. package/dist/components/tables/RuiTableEmptyState.vue.d.ts +16 -0
  305. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js +46 -0
  306. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  307. package/dist/components/tables/RuiTableHead.js +7 -0
  308. package/dist/components/tables/RuiTableHead.js.map +1 -0
  309. package/dist/components/tables/RuiTableHead.vue.d.ts +6 -5
  310. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js +230 -0
  311. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js.map +1 -0
  312. package/dist/components/tables/RuiTablePagination.js +7 -0
  313. package/dist/components/tables/RuiTablePagination.js.map +1 -0
  314. package/dist/components/tables/RuiTablePagination.vue.d.ts +9 -6
  315. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js +187 -0
  316. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -0
  317. package/dist/components/tables/data-table-styles.d.ts +155 -0
  318. package/dist/components/tables/data-table-styles.js +36 -0
  319. package/dist/components/tables/data-table-styles.js.map +1 -0
  320. package/dist/components/tables/table-props.d.ts +20 -0
  321. package/dist/components/tables/table-props.js +39 -0
  322. package/dist/components/tables/table-props.js.map +1 -0
  323. package/dist/components/tables/table_no_data_placeholder.js +6 -0
  324. package/dist/components/tables/table_no_data_placeholder.js.map +1 -0
  325. package/dist/components/tables/table_no_data_placeholder_dark.js +6 -0
  326. package/dist/components/tables/table_no_data_placeholder_dark.js.map +1 -0
  327. package/dist/components/tables/use-pagination-navigation.d.ts +32 -0
  328. package/dist/components/tables/use-pagination-navigation.js +88 -0
  329. package/dist/components/tables/use-pagination-navigation.js.map +1 -0
  330. package/dist/components/tabs/tab/RuiTab.js +7 -0
  331. package/dist/components/tabs/tab/RuiTab.js.map +1 -0
  332. package/dist/components/tabs/tab/RuiTab.vue.d.ts +12 -3
  333. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js +175 -0
  334. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js.map +1 -0
  335. package/dist/components/tabs/tab/use-tab-link.d.ts +26 -0
  336. package/dist/components/tabs/tab/use-tab-link.js +28 -0
  337. package/dist/components/tabs/tab/use-tab-link.js.map +1 -0
  338. package/dist/components/tabs/tab-item/RuiTabItem.js +7 -0
  339. package/dist/components/tabs/tab-item/RuiTabItem.js.map +1 -0
  340. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js +54 -0
  341. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  342. package/dist/components/tabs/tab-items/RuiTabItems.js +7 -0
  343. package/dist/components/tabs/tab-items/RuiTabItems.js.map +1 -0
  344. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js +76 -0
  345. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js.map +1 -0
  346. package/dist/components/tabs/tab-props.d.ts +20 -0
  347. package/dist/components/tabs/tab-props.js +18 -0
  348. package/dist/components/tabs/tab-props.js.map +1 -0
  349. package/dist/components/tabs/tabs/RuiTabs.js +7 -0
  350. package/dist/components/tabs/tabs/RuiTabs.js.map +1 -0
  351. package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +3 -2
  352. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js +208 -0
  353. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js.map +1 -0
  354. package/dist/components/tabs/tabs/use-tab-routing.d.ts +28 -0
  355. package/dist/components/tabs/tabs/use-tab-routing.js +43 -0
  356. package/dist/components/tabs/tabs/use-tab-routing.js.map +1 -0
  357. package/dist/components/tabs/tabs/use-tab-scroll.d.ts +23 -0
  358. package/dist/components/tabs/tabs/use-tab-scroll.js +68 -0
  359. package/dist/components/tabs/tabs/use-tab-scroll.js.map +1 -0
  360. package/dist/components/time-picker/RuiTimePicker.js +7 -0
  361. package/dist/components/time-picker/RuiTimePicker.js.map +1 -0
  362. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js +382 -0
  363. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  364. package/dist/components/time-picker/time-picker-styles.d.ts +76 -0
  365. package/dist/components/time-picker/time-picker-styles.js +27 -0
  366. package/dist/components/time-picker/time-picker-styles.js.map +1 -0
  367. package/dist/composables/breakpoint.js +35 -40
  368. package/dist/composables/breakpoint.js.map +1 -1
  369. package/dist/composables/colors/common.d.ts +20 -0
  370. package/dist/composables/colors/index.d.ts +3 -0
  371. package/dist/composables/colors/text-input.d.ts +27 -0
  372. package/dist/composables/defaults/table.js +21 -18
  373. package/dist/composables/defaults/table.js.map +1 -1
  374. package/dist/composables/dropdown-menu.d.ts +6 -6
  375. package/dist/composables/dropdown-menu.js +169 -237
  376. package/dist/composables/dropdown-menu.js.map +1 -1
  377. package/dist/composables/floating.d.ts +60 -0
  378. package/dist/composables/floating.js +167 -0
  379. package/dist/composables/floating.js.map +1 -0
  380. package/dist/composables/forms/auto-complete/focus.d.ts +4 -4
  381. package/dist/composables/forms/auto-complete/focus.js +59 -79
  382. package/dist/composables/forms/auto-complete/focus.js.map +1 -1
  383. package/dist/composables/forms/auto-complete/index.js +4 -0
  384. package/dist/composables/forms/auto-complete/keyboard-navigation.d.ts +6 -5
  385. package/dist/composables/forms/auto-complete/keyboard-navigation.js +116 -136
  386. package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
  387. package/dist/composables/forms/auto-complete/search.d.ts +11 -10
  388. package/dist/composables/forms/auto-complete/search.js +80 -91
  389. package/dist/composables/forms/auto-complete/search.js.map +1 -1
  390. package/dist/composables/forms/auto-complete/value.d.ts +9 -8
  391. package/dist/composables/forms/auto-complete/value.js +76 -108
  392. package/dist/composables/forms/auto-complete/value.js.map +1 -1
  393. package/dist/composables/forms/use-prepend-append-width.js +24 -20
  394. package/dist/composables/forms/use-prepend-append-width.js.map +1 -1
  395. package/dist/composables/icons.js +42 -52
  396. package/dist/composables/icons.js.map +1 -1
  397. package/dist/composables/index.js +2 -7
  398. package/dist/composables/popper.d.ts +5 -20
  399. package/dist/composables/popper.js +22 -177
  400. package/dist/composables/popper.js.map +1 -1
  401. package/dist/composables/sticky-header.js +132 -143
  402. package/dist/composables/sticky-header.js.map +1 -1
  403. package/dist/composables/tables/data-table/columns.d.ts +1 -1
  404. package/dist/composables/tables/data-table/columns.js +41 -49
  405. package/dist/composables/tables/data-table/columns.js.map +1 -1
  406. package/dist/composables/tables/data-table/expansion.js +29 -34
  407. package/dist/composables/tables/data-table/expansion.js.map +1 -1
  408. package/dist/composables/tables/data-table/grouping.d.ts +1 -1
  409. package/dist/composables/tables/data-table/grouping.js +110 -132
  410. package/dist/composables/tables/data-table/grouping.js.map +1 -1
  411. package/dist/composables/tables/data-table/pagination.d.ts +2 -2
  412. package/dist/composables/tables/data-table/pagination.js +98 -115
  413. package/dist/composables/tables/data-table/pagination.js.map +1 -1
  414. package/dist/composables/tables/data-table/selection.js +124 -160
  415. package/dist/composables/tables/data-table/selection.js.map +1 -1
  416. package/dist/composables/tables/data-table/sort.d.ts +2 -2
  417. package/dist/composables/tables/data-table/sort.js +118 -132
  418. package/dist/composables/tables/data-table/sort.js.map +1 -1
  419. package/dist/composables/tables/data-table/types.d.ts +2 -2
  420. package/dist/composables/tables/data-table/types.js +7 -7
  421. package/dist/composables/tables/data-table/types.js.map +1 -1
  422. package/dist/composables/theme.js +91 -66
  423. package/dist/composables/theme.js.map +1 -1
  424. package/dist/composables/timeout-manager.js +24 -19
  425. package/dist/composables/timeout-manager.js.map +1 -1
  426. package/dist/composables/use-rui-i18n.js +15 -21
  427. package/dist/composables/use-rui-i18n.js.map +1 -1
  428. package/dist/consts/colors.js +50 -47
  429. package/dist/consts/colors.js.map +1 -1
  430. package/dist/consts/time-accuracy.js +9 -8
  431. package/dist/consts/time-accuracy.js.map +1 -1
  432. package/dist/i18n/keys.js +17 -16
  433. package/dist/i18n/keys.js.map +1 -1
  434. package/dist/icons/icons_1.js +1529 -2027
  435. package/dist/icons/icons_1.js.map +1 -1
  436. package/dist/icons/icons_2.js +1529 -2027
  437. package/dist/icons/icons_2.js.map +1 -1
  438. package/dist/icons/icons_3.js +1529 -2027
  439. package/dist/icons/icons_3.js.map +1 -1
  440. package/dist/icons/icons_4.js +794 -1047
  441. package/dist/icons/icons_4.js.map +1 -1
  442. package/dist/icons/index.js +1767 -7
  443. package/dist/icons/index.js.map +1 -1
  444. package/dist/index.d.ts +5 -2
  445. package/dist/index.js +87 -1907
  446. package/dist/index.js.map +1 -1
  447. package/dist/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.js +1440 -0
  448. package/dist/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  449. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-LQJYWU4O.js +91 -0
  450. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-LQJYWU4O.js.map +1 -0
  451. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-RZF76H2U.js +217 -0
  452. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-RZF76H2U.js.map +1 -0
  453. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/index.js +33 -0
  454. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/index.js.map +1 -0
  455. package/dist/style.css +2780 -10260
  456. package/dist/theme/index.js +160 -198
  457. package/dist/theme/index.js.map +1 -1
  458. package/dist/types/class-value.d.ts +5 -0
  459. package/dist/types/stepper.js +16 -15
  460. package/dist/types/stepper.js.map +1 -1
  461. package/dist/types/theme.js +17 -22
  462. package/dist/types/theme.js.map +1 -1
  463. package/dist/utils/assert.js +12 -12
  464. package/dist/utils/assert.js.map +1 -1
  465. package/dist/utils/blockie.js +58 -65
  466. package/dist/utils/blockie.js.map +1 -1
  467. package/dist/utils/form-text-detail.d.ts +4 -2
  468. package/dist/utils/form-text-detail.js +29 -27
  469. package/dist/utils/form-text-detail.js.map +1 -1
  470. package/dist/utils/helpers.js +60 -35
  471. package/dist/utils/helpers.js.map +1 -1
  472. package/dist/utils/is-equal.js +23 -33
  473. package/dist/utils/is-equal.js.map +1 -1
  474. package/dist/utils/tv.d.ts +16 -0
  475. package/dist/utils/tv.js +23 -0
  476. package/dist/utils/tv.js.map +1 -0
  477. package/dist/vite-plugin/index.js +144 -155
  478. package/dist/vite-plugin/index.js.map +1 -1
  479. package/dist/vite-plugin/scanner.js +46 -52
  480. package/dist/vite-plugin/scanner.js.map +1 -1
  481. package/dist/web-types.json +214 -39
  482. package/package.json +28 -26
  483. package/dist/_virtual/_plugin-vue_export-helper.js +0 -11
  484. package/dist/_virtual/_plugin-vue_export-helper.js.map +0 -1
  485. package/dist/components/accordions/accordion/RuiAccordion.vue.js +0 -89
  486. package/dist/components/accordions/accordion/RuiAccordion.vue.js.map +0 -1
  487. package/dist/components/accordions/accordion/RuiAccordion.vue2.js +0 -5
  488. package/dist/components/accordions/accordion/RuiAccordion.vue2.js.map +0 -1
  489. package/dist/components/accordions/accordions/RuiAccordions.vue.js +0 -79
  490. package/dist/components/accordions/accordions/RuiAccordions.vue.js.map +0 -1
  491. package/dist/components/accordions/accordions/RuiAccordions.vue2.js +0 -5
  492. package/dist/components/accordions/accordions/RuiAccordions.vue2.js.map +0 -1
  493. package/dist/components/alerts/RuiAlert.vue.js +0 -11
  494. package/dist/components/alerts/RuiAlert.vue.js.map +0 -1
  495. package/dist/components/alerts/RuiAlert.vue2.js +0 -115
  496. package/dist/components/alerts/RuiAlert.vue2.js.map +0 -1
  497. package/dist/components/alerts/RuiAlert.vue3.js +0 -50
  498. package/dist/components/alerts/RuiAlert.vue3.js.map +0 -1
  499. package/dist/components/buttons/button/RuiButton.vue.js +0 -11
  500. package/dist/components/buttons/button/RuiButton.vue.js.map +0 -1
  501. package/dist/components/buttons/button/RuiButton.vue2.js +0 -93
  502. package/dist/components/buttons/button/RuiButton.vue2.js.map +0 -1
  503. package/dist/components/buttons/button/RuiButton.vue3.js +0 -74
  504. package/dist/components/buttons/button/RuiButton.vue3.js.map +0 -1
  505. package/dist/components/buttons/button-group/RuiButtonGroup.vue.js +0 -11
  506. package/dist/components/buttons/button-group/RuiButtonGroup.vue.js.map +0 -1
  507. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js +0 -113
  508. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js.map +0 -1
  509. package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js +0 -58
  510. package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js.map +0 -1
  511. package/dist/components/calendar/RuiCalendar.vue.js +0 -139
  512. package/dist/components/calendar/RuiCalendar.vue.js.map +0 -1
  513. package/dist/components/calendar/RuiCalendar.vue3.js +0 -6
  514. package/dist/components/calendar/RuiCalendar.vue3.js.map +0 -1
  515. package/dist/components/calendar/RuiCalendarGrid.vue.js +0 -8
  516. package/dist/components/calendar/RuiCalendarGrid.vue.js.map +0 -1
  517. package/dist/components/calendar/RuiCalendarGrid.vue2.js +0 -151
  518. package/dist/components/calendar/RuiCalendarGrid.vue2.js.map +0 -1
  519. package/dist/components/calendar/RuiCalendarHeader.vue.js +0 -8
  520. package/dist/components/calendar/RuiCalendarHeader.vue.js.map +0 -1
  521. package/dist/components/calendar/RuiCalendarHeader.vue2.js +0 -111
  522. package/dist/components/calendar/RuiCalendarHeader.vue2.js.map +0 -1
  523. package/dist/components/calendar/RuiCalendarMenu.vue.js +0 -8
  524. package/dist/components/calendar/RuiCalendarMenu.vue.js.map +0 -1
  525. package/dist/components/calendar/RuiCalendarMenu.vue2.js +0 -269
  526. package/dist/components/calendar/RuiCalendarMenu.vue2.js.map +0 -1
  527. package/dist/components/cards/RuiCard.vue.js +0 -11
  528. package/dist/components/cards/RuiCard.vue.js.map +0 -1
  529. package/dist/components/cards/RuiCard.vue2.js +0 -88
  530. package/dist/components/cards/RuiCard.vue2.js.map +0 -1
  531. package/dist/components/cards/RuiCard.vue3.js +0 -40
  532. package/dist/components/cards/RuiCard.vue3.js.map +0 -1
  533. package/dist/components/cards/RuiCardHeader.vue.js +0 -11
  534. package/dist/components/cards/RuiCardHeader.vue.js.map +0 -1
  535. package/dist/components/cards/RuiCardHeader.vue2.js +0 -51
  536. package/dist/components/cards/RuiCardHeader.vue2.js.map +0 -1
  537. package/dist/components/cards/RuiCardHeader.vue3.js +0 -27
  538. package/dist/components/cards/RuiCardHeader.vue3.js.map +0 -1
  539. package/dist/components/chips/RuiChip.vue.js +0 -11
  540. package/dist/components/chips/RuiChip.vue.js.map +0 -1
  541. package/dist/components/chips/RuiChip.vue2.js +0 -90
  542. package/dist/components/chips/RuiChip.vue2.js.map +0 -1
  543. package/dist/components/chips/RuiChip.vue3.js +0 -88
  544. package/dist/components/chips/RuiChip.vue3.js.map +0 -1
  545. package/dist/components/color-picker/RuiColorBoard.vue.js +0 -11
  546. package/dist/components/color-picker/RuiColorBoard.vue.js.map +0 -1
  547. package/dist/components/color-picker/RuiColorBoard.vue2.js +0 -102
  548. package/dist/components/color-picker/RuiColorBoard.vue2.js.map +0 -1
  549. package/dist/components/color-picker/RuiColorBoard.vue3.js +0 -18
  550. package/dist/components/color-picker/RuiColorBoard.vue3.js.map +0 -1
  551. package/dist/components/color-picker/RuiColorDisplay.vue.js +0 -47
  552. package/dist/components/color-picker/RuiColorDisplay.vue.js.map +0 -1
  553. package/dist/components/color-picker/RuiColorDisplay.vue2.js +0 -5
  554. package/dist/components/color-picker/RuiColorDisplay.vue2.js.map +0 -1
  555. package/dist/components/color-picker/RuiColorHue.vue.js +0 -11
  556. package/dist/components/color-picker/RuiColorHue.vue.js.map +0 -1
  557. package/dist/components/color-picker/RuiColorHue.vue2.js +0 -92
  558. package/dist/components/color-picker/RuiColorHue.vue2.js.map +0 -1
  559. package/dist/components/color-picker/RuiColorHue.vue3.js +0 -12
  560. package/dist/components/color-picker/RuiColorHue.vue3.js.map +0 -1
  561. package/dist/components/color-picker/RuiColorInput.vue.js +0 -141
  562. package/dist/components/color-picker/RuiColorInput.vue.js.map +0 -1
  563. package/dist/components/color-picker/RuiColorInput.vue2.js +0 -5
  564. package/dist/components/color-picker/RuiColorInput.vue2.js.map +0 -1
  565. package/dist/components/color-picker/RuiColorPicker.vue.js +0 -81
  566. package/dist/components/color-picker/RuiColorPicker.vue.js.map +0 -1
  567. package/dist/components/color-picker/RuiColorPicker.vue2.js +0 -5
  568. package/dist/components/color-picker/RuiColorPicker.vue2.js.map +0 -1
  569. package/dist/components/date-time-picker/RuiDateTimePicker.vue.js +0 -11
  570. package/dist/components/date-time-picker/RuiDateTimePicker.vue.js.map +0 -1
  571. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +0 -394
  572. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +0 -1
  573. package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js +0 -66
  574. package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js.map +0 -1
  575. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js +0 -120
  576. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js.map +0 -1
  577. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js +0 -5
  578. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js.map +0 -1
  579. package/dist/components/divider/RuiDivider.vue.js +0 -25
  580. package/dist/components/divider/RuiDivider.vue.js.map +0 -1
  581. package/dist/components/divider/RuiDivider.vue2.js +0 -5
  582. package/dist/components/divider/RuiDivider.vue2.js.map +0 -1
  583. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js +0 -11
  584. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js.map +0 -1
  585. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +0 -594
  586. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +0 -1
  587. package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js +0 -60
  588. package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js.map +0 -1
  589. package/dist/components/forms/checkbox/RuiCheckbox.vue.js +0 -11
  590. package/dist/components/forms/checkbox/RuiCheckbox.vue.js.map +0 -1
  591. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +0 -148
  592. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +0 -1
  593. package/dist/components/forms/checkbox/RuiCheckbox.vue3.js +0 -54
  594. package/dist/components/forms/checkbox/RuiCheckbox.vue3.js.map +0 -1
  595. package/dist/components/forms/radio-button/radio/RuiRadio.vue.js +0 -11
  596. package/dist/components/forms/radio-button/radio/RuiRadio.vue.js.map +0 -1
  597. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +0 -122
  598. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +0 -1
  599. package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js +0 -54
  600. package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js.map +0 -1
  601. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js +0 -11
  602. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js.map +0 -1
  603. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +0 -84
  604. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +0 -1
  605. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js +0 -9
  606. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js.map +0 -1
  607. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +0 -84
  608. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +0 -1
  609. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js +0 -5
  610. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js.map +0 -1
  611. package/dist/components/forms/select/RuiMenuSelect.vue.js +0 -11
  612. package/dist/components/forms/select/RuiMenuSelect.vue.js.map +0 -1
  613. package/dist/components/forms/select/RuiMenuSelect.vue2.js +0 -310
  614. package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +0 -1
  615. package/dist/components/forms/select/RuiMenuSelect.vue3.js +0 -60
  616. package/dist/components/forms/select/RuiMenuSelect.vue3.js.map +0 -1
  617. package/dist/components/forms/select/RuiSimpleSelect.vue.js +0 -11
  618. package/dist/components/forms/select/RuiSimpleSelect.vue.js.map +0 -1
  619. package/dist/components/forms/select/RuiSimpleSelect.vue2.js +0 -62
  620. package/dist/components/forms/select/RuiSimpleSelect.vue2.js.map +0 -1
  621. package/dist/components/forms/select/RuiSimpleSelect.vue3.js +0 -21
  622. package/dist/components/forms/select/RuiSimpleSelect.vue3.js.map +0 -1
  623. package/dist/components/forms/slider/RuiSlider.vue.js +0 -11
  624. package/dist/components/forms/slider/RuiSlider.vue.js.map +0 -1
  625. package/dist/components/forms/slider/RuiSlider.vue2.js +0 -173
  626. package/dist/components/forms/slider/RuiSlider.vue2.js.map +0 -1
  627. package/dist/components/forms/slider/RuiSlider.vue3.js +0 -80
  628. package/dist/components/forms/slider/RuiSlider.vue3.js.map +0 -1
  629. package/dist/components/forms/switch/RuiSwitch.vue.js +0 -11
  630. package/dist/components/forms/switch/RuiSwitch.vue.js.map +0 -1
  631. package/dist/components/forms/switch/RuiSwitch.vue2.js +0 -99
  632. package/dist/components/forms/switch/RuiSwitch.vue2.js.map +0 -1
  633. package/dist/components/forms/switch/RuiSwitch.vue3.js +0 -54
  634. package/dist/components/forms/switch/RuiSwitch.vue3.js.map +0 -1
  635. package/dist/components/forms/text-area/RuiTextArea.vue.js +0 -11
  636. package/dist/components/forms/text-area/RuiTextArea.vue.js.map +0 -1
  637. package/dist/components/forms/text-area/RuiTextArea.vue2.js +0 -229
  638. package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +0 -1
  639. package/dist/components/forms/text-area/RuiTextArea.vue3.js +0 -92
  640. package/dist/components/forms/text-area/RuiTextArea.vue3.js.map +0 -1
  641. package/dist/components/forms/text-field/RuiTextField.vue.js +0 -11
  642. package/dist/components/forms/text-field/RuiTextField.vue.js.map +0 -1
  643. package/dist/components/forms/text-field/RuiTextField.vue2.js +0 -202
  644. package/dist/components/forms/text-field/RuiTextField.vue2.js.map +0 -1
  645. package/dist/components/forms/text-field/RuiTextField.vue3.js +0 -89
  646. package/dist/components/forms/text-field/RuiTextField.vue3.js.map +0 -1
  647. package/dist/components/helpers/RuiFormTextDetail.vue.js +0 -50
  648. package/dist/components/helpers/RuiFormTextDetail.vue.js.map +0 -1
  649. package/dist/components/helpers/RuiFormTextDetail.vue2.js +0 -5
  650. package/dist/components/helpers/RuiFormTextDetail.vue2.js.map +0 -1
  651. package/dist/components/icons/RuiIcon.vue.js +0 -11
  652. package/dist/components/icons/RuiIcon.vue.js.map +0 -1
  653. package/dist/components/icons/RuiIcon.vue2.js +0 -57
  654. package/dist/components/icons/RuiIcon.vue2.js.map +0 -1
  655. package/dist/components/icons/RuiIcon.vue3.js +0 -29
  656. package/dist/components/icons/RuiIcon.vue3.js.map +0 -1
  657. package/dist/components/index.js.map +0 -1
  658. package/dist/components/loaders/RuiSkeletonBase.vue.js +0 -11
  659. package/dist/components/loaders/RuiSkeletonBase.vue.js.map +0 -1
  660. package/dist/components/loaders/RuiSkeletonBase.vue2.js +0 -22
  661. package/dist/components/loaders/RuiSkeletonBase.vue2.js.map +0 -1
  662. package/dist/components/loaders/RuiSkeletonBase.vue3.js +0 -12
  663. package/dist/components/loaders/RuiSkeletonBase.vue3.js.map +0 -1
  664. package/dist/components/loaders/RuiSkeletonLoader.vue.js +0 -11
  665. package/dist/components/loaders/RuiSkeletonLoader.vue.js.map +0 -1
  666. package/dist/components/loaders/RuiSkeletonLoader.vue2.js +0 -47
  667. package/dist/components/loaders/RuiSkeletonLoader.vue2.js.map +0 -1
  668. package/dist/components/loaders/RuiSkeletonLoader.vue3.js +0 -33
  669. package/dist/components/loaders/RuiSkeletonLoader.vue3.js.map +0 -1
  670. package/dist/components/logos/RuiLogo.vue.js +0 -148
  671. package/dist/components/logos/RuiLogo.vue.js.map +0 -1
  672. package/dist/components/logos/RuiLogo.vue2.js +0 -5
  673. package/dist/components/logos/RuiLogo.vue2.js.map +0 -1
  674. package/dist/components/logos/logo.svg.js +0 -5
  675. package/dist/components/logos/logo.svg.js.map +0 -1
  676. package/dist/components/overlays/badge/RuiBadge.vue.js +0 -11
  677. package/dist/components/overlays/badge/RuiBadge.vue.js.map +0 -1
  678. package/dist/components/overlays/badge/RuiBadge.vue2.js +0 -93
  679. package/dist/components/overlays/badge/RuiBadge.vue2.js.map +0 -1
  680. package/dist/components/overlays/badge/RuiBadge.vue3.js +0 -77
  681. package/dist/components/overlays/badge/RuiBadge.vue3.js.map +0 -1
  682. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js +0 -45
  683. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js.map +0 -1
  684. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js +0 -5
  685. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js.map +0 -1
  686. package/dist/components/overlays/dialog/RuiDialog.vue.js +0 -11
  687. package/dist/components/overlays/dialog/RuiDialog.vue.js.map +0 -1
  688. package/dist/components/overlays/dialog/RuiDialog.vue2.js +0 -195
  689. package/dist/components/overlays/dialog/RuiDialog.vue2.js.map +0 -1
  690. package/dist/components/overlays/dialog/RuiDialog.vue3.js +0 -18
  691. package/dist/components/overlays/dialog/RuiDialog.vue3.js.map +0 -1
  692. package/dist/components/overlays/menu/RuiMenu.vue.js +0 -11
  693. package/dist/components/overlays/menu/RuiMenu.vue.js.map +0 -1
  694. package/dist/components/overlays/menu/RuiMenu.vue2.js +0 -214
  695. package/dist/components/overlays/menu/RuiMenu.vue2.js.map +0 -1
  696. package/dist/components/overlays/menu/RuiMenu.vue3.js +0 -21
  697. package/dist/components/overlays/menu/RuiMenu.vue3.js.map +0 -1
  698. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js +0 -11
  699. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js.map +0 -1
  700. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js +0 -164
  701. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js.map +0 -1
  702. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js +0 -28
  703. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js.map +0 -1
  704. package/dist/components/overlays/notification/RuiNotification.vue.js +0 -79
  705. package/dist/components/overlays/notification/RuiNotification.vue.js.map +0 -1
  706. package/dist/components/overlays/notification/RuiNotification.vue2.js +0 -5
  707. package/dist/components/overlays/notification/RuiNotification.vue2.js.map +0 -1
  708. package/dist/components/overlays/tooltip/RuiTooltip.vue.js +0 -11
  709. package/dist/components/overlays/tooltip/RuiTooltip.vue.js.map +0 -1
  710. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js +0 -112
  711. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js.map +0 -1
  712. package/dist/components/overlays/tooltip/RuiTooltip.vue3.js +0 -27
  713. package/dist/components/overlays/tooltip/RuiTooltip.vue3.js.map +0 -1
  714. package/dist/components/progress/RuiProgress.vue.js +0 -11
  715. package/dist/components/progress/RuiProgress.vue.js.map +0 -1
  716. package/dist/components/progress/RuiProgress.vue2.js +0 -92
  717. package/dist/components/progress/RuiProgress.vue2.js.map +0 -1
  718. package/dist/components/progress/RuiProgress.vue3.js +0 -48
  719. package/dist/components/progress/RuiProgress.vue3.js.map +0 -1
  720. package/dist/components/steppers/RuiFooterStepper.vue.js +0 -11
  721. package/dist/components/steppers/RuiFooterStepper.vue.js.map +0 -1
  722. package/dist/components/steppers/RuiFooterStepper.vue2.js +0 -150
  723. package/dist/components/steppers/RuiFooterStepper.vue2.js.map +0 -1
  724. package/dist/components/steppers/RuiFooterStepper.vue3.js +0 -31
  725. package/dist/components/steppers/RuiFooterStepper.vue3.js.map +0 -1
  726. package/dist/components/steppers/RuiStepper.vue.js +0 -11
  727. package/dist/components/steppers/RuiStepper.vue.js.map +0 -1
  728. package/dist/components/steppers/RuiStepper.vue2.js +0 -133
  729. package/dist/components/steppers/RuiStepper.vue2.js.map +0 -1
  730. package/dist/components/steppers/RuiStepper.vue3.js +0 -58
  731. package/dist/components/steppers/RuiStepper.vue3.js.map +0 -1
  732. package/dist/components/steppers/RuiStepperCustomIcon.vue.js +0 -11
  733. package/dist/components/steppers/RuiStepperCustomIcon.vue.js.map +0 -1
  734. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js +0 -38
  735. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js.map +0 -1
  736. package/dist/components/steppers/RuiStepperCustomIcon.vue3.js +0 -15
  737. package/dist/components/steppers/RuiStepperCustomIcon.vue3.js.map +0 -1
  738. package/dist/components/steppers/RuiStepperIcon.vue.js +0 -11
  739. package/dist/components/steppers/RuiStepperIcon.vue.js.map +0 -1
  740. package/dist/components/steppers/RuiStepperIcon.vue2.js +0 -43
  741. package/dist/components/steppers/RuiStepperIcon.vue2.js.map +0 -1
  742. package/dist/components/steppers/RuiStepperIcon.vue3.js +0 -21
  743. package/dist/components/steppers/RuiStepperIcon.vue3.js.map +0 -1
  744. package/dist/components/tables/RuiDataTable.vue.js +0 -11
  745. package/dist/components/tables/RuiDataTable.vue.js.map +0 -1
  746. package/dist/components/tables/RuiDataTable.vue2.js +0 -541
  747. package/dist/components/tables/RuiDataTable.vue2.js.map +0 -1
  748. package/dist/components/tables/RuiDataTable.vue3.js +0 -76
  749. package/dist/components/tables/RuiDataTable.vue3.js.map +0 -1
  750. package/dist/components/tables/RuiExpandButton.vue.js +0 -11
  751. package/dist/components/tables/RuiExpandButton.vue.js.map +0 -1
  752. package/dist/components/tables/RuiExpandButton.vue2.js +0 -44
  753. package/dist/components/tables/RuiExpandButton.vue2.js.map +0 -1
  754. package/dist/components/tables/RuiExpandButton.vue3.js +0 -15
  755. package/dist/components/tables/RuiExpandButton.vue3.js.map +0 -1
  756. package/dist/components/tables/RuiTableHead.vue.js +0 -11
  757. package/dist/components/tables/RuiTableHead.vue.js.map +0 -1
  758. package/dist/components/tables/RuiTableHead.vue2.js +0 -195
  759. package/dist/components/tables/RuiTableHead.vue2.js.map +0 -1
  760. package/dist/components/tables/RuiTableHead.vue3.js +0 -69
  761. package/dist/components/tables/RuiTableHead.vue3.js.map +0 -1
  762. package/dist/components/tables/RuiTablePagination.vue.js +0 -11
  763. package/dist/components/tables/RuiTablePagination.vue.js.map +0 -1
  764. package/dist/components/tables/RuiTablePagination.vue2.js +0 -204
  765. package/dist/components/tables/RuiTablePagination.vue2.js.map +0 -1
  766. package/dist/components/tables/RuiTablePagination.vue3.js +0 -28
  767. package/dist/components/tables/RuiTablePagination.vue3.js.map +0 -1
  768. package/dist/components/tables/table_no_data_placeholder.svg.js +0 -5
  769. package/dist/components/tables/table_no_data_placeholder.svg.js.map +0 -1
  770. package/dist/components/tables/table_no_data_placeholder_dark.svg.js +0 -5
  771. package/dist/components/tables/table_no_data_placeholder_dark.svg.js.map +0 -1
  772. package/dist/components/tabs/tab/RuiTab.vue.js +0 -11
  773. package/dist/components/tabs/tab/RuiTab.vue.js.map +0 -1
  774. package/dist/components/tabs/tab/RuiTab.vue2.js +0 -167
  775. package/dist/components/tabs/tab/RuiTab.vue2.js.map +0 -1
  776. package/dist/components/tabs/tab/RuiTab.vue3.js +0 -17
  777. package/dist/components/tabs/tab/RuiTab.vue3.js.map +0 -1
  778. package/dist/components/tabs/tab-item/RuiTabItem.vue.js +0 -11
  779. package/dist/components/tabs/tab-item/RuiTabItem.vue.js.map +0 -1
  780. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js +0 -52
  781. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js.map +0 -1
  782. package/dist/components/tabs/tab-item/RuiTabItem.vue3.js +0 -9
  783. package/dist/components/tabs/tab-item/RuiTabItem.vue3.js.map +0 -1
  784. package/dist/components/tabs/tab-items/RuiTabItems.vue.js +0 -11
  785. package/dist/components/tabs/tab-items/RuiTabItems.vue.js.map +0 -1
  786. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js +0 -90
  787. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js.map +0 -1
  788. package/dist/components/tabs/tab-items/RuiTabItems.vue3.js +0 -9
  789. package/dist/components/tabs/tab-items/RuiTabItems.vue3.js.map +0 -1
  790. package/dist/components/tabs/tabs/RuiTabs.vue.js +0 -11
  791. package/dist/components/tabs/tabs/RuiTabs.vue.js.map +0 -1
  792. package/dist/components/tabs/tabs/RuiTabs.vue2.js +0 -288
  793. package/dist/components/tabs/tabs/RuiTabs.vue2.js.map +0 -1
  794. package/dist/components/tabs/tabs/RuiTabs.vue3.js +0 -20
  795. package/dist/components/tabs/tabs/RuiTabs.vue3.js.map +0 -1
  796. package/dist/components/time-picker/RuiTimePicker.vue.js +0 -11
  797. package/dist/components/time-picker/RuiTimePicker.vue.js.map +0 -1
  798. package/dist/components/time-picker/RuiTimePicker.vue2.js +0 -463
  799. package/dist/components/time-picker/RuiTimePicker.vue2.js.map +0 -1
  800. package/dist/components/time-picker/RuiTimePicker.vue3.js +0 -21
  801. package/dist/components/time-picker/RuiTimePicker.vue3.js.map +0 -1
  802. package/dist/composables/forms/use-label-with-quote.js +0 -14
  803. package/dist/composables/forms/use-label-with-quote.js.map +0 -1
  804. package/dist/composables/index.js.map +0 -1
@@ -1,161 +1,150 @@
1
- import { readFileSync, existsSync } from "node:fs";
1
+ import { extractIconsFromSource, generateVirtualModule, validateIcons } from "./scanner.js";
2
+ import { existsSync, readFileSync } from "node:fs";
2
3
  import { dirname, resolve } from "node:path";
3
4
  import { fileURLToPath } from "node:url";
4
- import { generateVirtualModule, extractIconsFromSource, validateIcons } from "./scanner.js";
5
- const VIRTUAL_MODULE_ID = "virtual:rotki-icons";
6
- const RESOLVED_VIRTUAL_MODULE_ID = `\0${VIRTUAL_MODULE_ID}`;
7
- const DEFAULT_SCAN_PATTERNS = ["**/*.vue", "**/*.ts", "**/*.tsx"];
8
- const EXCLUDED_PATTERNS = ["**/node_modules/**", "**/dist/**", "**/.git/**"];
9
- const __filename$1 = fileURLToPath(import.meta.url);
10
- const __dirname$1 = dirname(__filename$1);
5
+ //#region src/vite-plugin/index.ts
6
+ var VIRTUAL_MODULE_ID = "virtual:rotki-icons";
7
+ var RESOLVED_VIRTUAL_MODULE_ID = `\0${VIRTUAL_MODULE_ID}`;
8
+ var DEFAULT_SCAN_PATTERNS = [
9
+ "**/*.vue",
10
+ "**/*.ts",
11
+ "**/*.tsx"
12
+ ];
13
+ var EXCLUDED_PATTERNS = [
14
+ "**/node_modules/**",
15
+ "**/dist/**",
16
+ "**/.git/**"
17
+ ];
18
+ var __dirname = dirname(fileURLToPath(import.meta.url));
19
+ /**
20
+ * Loads the valid RuiIcons array from the library
21
+ */
11
22
  function loadValidIcons() {
12
- try {
13
- const distPath = resolve(__dirname$1, "../icons/index.js");
14
- if (existsSync(distPath)) {
15
- const content = readFileSync(distPath, "utf-8");
16
- const match = content.match(/const RuiIcons = \[(.*?)];/s);
17
- if (match?.[1]) {
18
- const iconsStr = match[1];
19
- const icons = iconsStr.match(/"([^"]+)"/g)?.map((s) => s.slice(1, -1)) || [];
20
- return new Set(icons);
21
- }
22
- }
23
- } catch {
24
- }
25
- const sourcePath = resolve(__dirname$1, "../icons/index.ts");
26
- if (existsSync(sourcePath)) {
27
- const content = readFileSync(sourcePath, "utf-8");
28
- const match = content.match(/export const RuiIcons = \[(.*?)] as const/s);
29
- if (match?.[1]) {
30
- const iconsStr = match[1];
31
- const icons = iconsStr.match(/"([^"]+)"/g)?.map((s) => s.slice(1, -1)) || [];
32
- return new Set(icons);
33
- }
34
- }
35
- console.warn("[@rotki/ui-library] Could not load RuiIcons list, validation disabled");
36
- return /* @__PURE__ */ new Set();
23
+ try {
24
+ const distPath = resolve(__dirname, "../icons/index.js");
25
+ if (existsSync(distPath)) {
26
+ const match = readFileSync(distPath, "utf-8").match(/const RuiIcons = \[(.*?)];/s);
27
+ if (match?.[1]) {
28
+ const icons = match[1].match(/"([^"]+)"/g)?.map((s) => s.slice(1, -1)) || [];
29
+ return new Set(icons);
30
+ }
31
+ }
32
+ } catch {}
33
+ const sourcePath = resolve(__dirname, "../icons/index.ts");
34
+ if (existsSync(sourcePath)) {
35
+ const match = readFileSync(sourcePath, "utf-8").match(/export const RuiIcons = \[(.*?)] as const/s);
36
+ if (match?.[1]) {
37
+ const icons = match[1].match(/"([^"]+)"/g)?.map((s) => s.slice(1, -1)) || [];
38
+ return new Set(icons);
39
+ }
40
+ }
41
+ console.warn("[@rotki/ui-library] Could not load RuiIcons list, validation disabled");
42
+ return /* @__PURE__ */ new Set();
37
43
  }
44
+ /**
45
+ * Vite plugin for automatic icon detection and registration
46
+ */
38
47
  function ruiIconsPlugin(options = {}) {
39
- const {
40
- include = [],
41
- scanPatterns = DEFAULT_SCAN_PATTERNS,
42
- strict = false,
43
- debug = false
44
- } = options;
45
- let validIcons;
46
- let scanResult;
47
- let server = null;
48
- let root;
49
- const log = (message) => {
50
- if (debug) {
51
- console.log(`[@rotki/ui-library/icons] ${message}`);
52
- }
53
- };
54
- const warn = (message) => {
55
- console.warn(`[@rotki/ui-library/icons] ${message}`);
56
- };
57
- async function scanFiles() {
58
- const fg = await import("fast-glob");
59
- const glob = fg.default || fg;
60
- scanResult = {
61
- icons: new Set(include),
62
- invalidIcons: /* @__PURE__ */ new Map()
63
- };
64
- const files = glob.sync(scanPatterns, {
65
- cwd: root,
66
- ignore: EXCLUDED_PATTERNS,
67
- absolute: true
68
- });
69
- log(`Scanning ${files.length} files for icon usage...`);
70
- for (const filePath of files) {
71
- try {
72
- const content = readFileSync(filePath, "utf-8");
73
- const detectedIcons = extractIconsFromSource(content);
74
- if (detectedIcons.size > 0) {
75
- log(`Found ${detectedIcons.size} potential icons in ${filePath}`);
76
- validateIcons(detectedIcons, validIcons, filePath, scanResult);
77
- }
78
- } catch {
79
- warn(`Failed to read file: ${filePath}`);
80
- }
81
- }
82
- for (const icon of include) {
83
- if (validIcons.has(icon)) {
84
- scanResult.icons.add(icon);
85
- } else {
86
- warn(`Included icon "${icon}" is not a valid RuiIcon`);
87
- }
88
- }
89
- log(`Detected ${scanResult.icons.size} valid icons`);
90
- if (scanResult.invalidIcons.size > 0) {
91
- const invalidList = [...scanResult.invalidIcons.entries()].map(([icon, files2]) => ` - "${icon}" in: ${files2.join(", ")}`).join("\n");
92
- const message = `Found ${scanResult.invalidIcons.size} invalid icon name(s):
93
- ${invalidList}`;
94
- if (strict) {
95
- throw new Error(message);
96
- } else {
97
- warn(message);
98
- }
99
- }
100
- }
101
- function handleFileChange(filePath) {
102
- const isRelevantFile = scanPatterns.some((pattern) => {
103
- const ext = filePath.split(".").pop();
104
- return pattern.includes(`*.${ext}`);
105
- });
106
- if (!isRelevantFile)
107
- return;
108
- try {
109
- const content = readFileSync(filePath, "utf-8");
110
- const detectedIcons = extractIconsFromSource(content);
111
- const previousSize = scanResult.icons.size;
112
- validateIcons(detectedIcons, validIcons, filePath, scanResult);
113
- if (scanResult.icons.size > previousSize) {
114
- log(`New icons detected in ${filePath}, invalidating virtual module...`);
115
- const mod = server?.moduleGraph.getModuleById(RESOLVED_VIRTUAL_MODULE_ID);
116
- if (mod) {
117
- server?.moduleGraph.invalidateModule(mod);
118
- server?.ws.send({
119
- type: "full-reload",
120
- path: "*"
121
- });
122
- }
123
- }
124
- } catch {
125
- }
126
- }
127
- return {
128
- name: "rotki-ui-library-icons",
129
- enforce: "pre",
130
- configResolved(config) {
131
- root = config.root;
132
- validIcons = loadValidIcons();
133
- log(`Loaded ${validIcons.size} valid icon names`);
134
- },
135
- configureServer(_server) {
136
- server = _server;
137
- server.watcher.on("change", handleFileChange);
138
- server.watcher.on("add", handleFileChange);
139
- },
140
- async buildStart() {
141
- await scanFiles();
142
- },
143
- resolveId(id) {
144
- if (id === VIRTUAL_MODULE_ID) {
145
- return RESOLVED_VIRTUAL_MODULE_ID;
146
- }
147
- },
148
- load(id) {
149
- if (id === RESOLVED_VIRTUAL_MODULE_ID) {
150
- const moduleContent = generateVirtualModule(scanResult.icons);
151
- log(`Generated virtual module with ${scanResult.icons.size} icons`);
152
- return moduleContent;
153
- }
154
- }
155
- };
48
+ const { include = [], scanPatterns = DEFAULT_SCAN_PATTERNS, strict = false, debug = false } = options;
49
+ let validIcons;
50
+ let scanResult;
51
+ let server = null;
52
+ let root;
53
+ const log = (message) => {
54
+ if (debug) console.log(`[@rotki/ui-library/icons] ${message}`);
55
+ };
56
+ const warn = (message) => {
57
+ console.warn(`[@rotki/ui-library/icons] ${message}`);
58
+ };
59
+ /**
60
+ * Scans all matching files for icon usage
61
+ */
62
+ async function scanFiles() {
63
+ const fg = await import("fast-glob");
64
+ const glob = fg.default || fg;
65
+ scanResult = {
66
+ icons: new Set(include),
67
+ invalidIcons: /* @__PURE__ */ new Map()
68
+ };
69
+ const files = glob.sync(scanPatterns, {
70
+ cwd: root,
71
+ ignore: EXCLUDED_PATTERNS,
72
+ absolute: true
73
+ });
74
+ log(`Scanning ${files.length} files for icon usage...`);
75
+ for (const filePath of files) try {
76
+ const detectedIcons = extractIconsFromSource(readFileSync(filePath, "utf-8"));
77
+ if (detectedIcons.size > 0) {
78
+ log(`Found ${detectedIcons.size} potential icons in ${filePath}`);
79
+ validateIcons(detectedIcons, validIcons, filePath, scanResult);
80
+ }
81
+ } catch {
82
+ warn(`Failed to read file: ${filePath}`);
83
+ }
84
+ for (const icon of include) if (validIcons.has(icon)) scanResult.icons.add(icon);
85
+ else warn(`Included icon "${icon}" is not a valid RuiIcon`);
86
+ log(`Detected ${scanResult.icons.size} valid icons`);
87
+ if (scanResult.invalidIcons.size > 0) {
88
+ const invalidList = [...scanResult.invalidIcons.entries()].map(([icon, files]) => ` - "${icon}" in: ${files.join(", ")}`).join("\n");
89
+ const message = `Found ${scanResult.invalidIcons.size} invalid icon name(s):\n${invalidList}`;
90
+ if (strict) throw new Error(message);
91
+ else warn(message);
92
+ }
93
+ }
94
+ /**
95
+ * Handles file changes in dev mode
96
+ */
97
+ function handleFileChange(filePath) {
98
+ if (!scanPatterns.some((pattern) => {
99
+ const ext = filePath.split(".").pop();
100
+ return pattern.includes(`*.${ext}`);
101
+ })) return;
102
+ try {
103
+ const detectedIcons = extractIconsFromSource(readFileSync(filePath, "utf-8"));
104
+ const previousSize = scanResult.icons.size;
105
+ validateIcons(detectedIcons, validIcons, filePath, scanResult);
106
+ if (scanResult.icons.size > previousSize) {
107
+ log(`New icons detected in ${filePath}, invalidating virtual module...`);
108
+ const mod = server?.moduleGraph.getModuleById(RESOLVED_VIRTUAL_MODULE_ID);
109
+ if (mod) {
110
+ server?.moduleGraph.invalidateModule(mod);
111
+ server?.ws.send({
112
+ type: "full-reload",
113
+ path: "*"
114
+ });
115
+ }
116
+ }
117
+ } catch {}
118
+ }
119
+ return {
120
+ name: "rotki-ui-library-icons",
121
+ enforce: "pre",
122
+ configResolved(config) {
123
+ root = config.root;
124
+ validIcons = loadValidIcons();
125
+ log(`Loaded ${validIcons.size} valid icon names`);
126
+ },
127
+ configureServer(_server) {
128
+ server = _server;
129
+ server.watcher.on("change", handleFileChange);
130
+ server.watcher.on("add", handleFileChange);
131
+ },
132
+ async buildStart() {
133
+ await scanFiles();
134
+ },
135
+ resolveId(id) {
136
+ if (id === VIRTUAL_MODULE_ID) return RESOLVED_VIRTUAL_MODULE_ID;
137
+ },
138
+ load(id) {
139
+ if (id === RESOLVED_VIRTUAL_MODULE_ID) {
140
+ const moduleContent = generateVirtualModule(scanResult.icons);
141
+ log(`Generated virtual module with ${scanResult.icons.size} icons`);
142
+ return moduleContent;
143
+ }
144
+ }
145
+ };
156
146
  }
157
- export {
158
- ruiIconsPlugin as default,
159
- ruiIconsPlugin
160
- };
161
- //# sourceMappingURL=index.js.map
147
+ //#endregion
148
+ export { ruiIconsPlugin as default, ruiIconsPlugin };
149
+
150
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/vite-plugin/index.ts"],"sourcesContent":["import type { Plugin, ViteDevServer } from 'vite';\nimport type { RuiIconsPluginOptions, ScanResult } from './types';\nimport { existsSync, readFileSync } from 'node:fs';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport {\n extractIconsFromSource,\n generateVirtualModule,\n validateIcons,\n} from './scanner';\n\nconst VIRTUAL_MODULE_ID = 'virtual:rotki-icons';\nconst RESOLVED_VIRTUAL_MODULE_ID = `\\0${VIRTUAL_MODULE_ID}`;\n\nconst DEFAULT_SCAN_PATTERNS = ['**/*.vue', '**/*.ts', '**/*.tsx'];\nconst EXCLUDED_PATTERNS = ['**/node_modules/**', '**/dist/**', '**/.git/**'];\n\n// Get __dirname equivalent in ES modules\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\n/**\n * Loads the valid RuiIcons array from the library\n */\nfunction loadValidIcons(): Set<string> {\n // Import the RuiIcons array from the icons module\n // This will be resolved at build time\n try {\n // Try to load from the built dist first (for consumers)\n const distPath = resolve(__dirname, '../icons/index.js');\n if (existsSync(distPath)) {\n // Read and parse the file to extract the RuiIcons array\n const content = readFileSync(distPath, 'utf-8');\n // eslint-disable-next-line regexp/strict\n const match = content.match(/const RuiIcons = \\[(.*?)];/s);\n if (match?.[1]) {\n const iconsStr = match[1];\n const icons = iconsStr.match(/\"([^\"]+)\"/g)?.map(s => s.slice(1, -1)) || [];\n return new Set(icons);\n }\n }\n }\n catch {\n // Fallback: parse the icons source file directly\n }\n\n // Fallback: read and parse the source file\n const sourcePath = resolve(__dirname, '../icons/index.ts');\n if (existsSync(sourcePath)) {\n const content = readFileSync(sourcePath, 'utf-8');\n // eslint-disable-next-line regexp/strict\n const match = content.match(/export const RuiIcons = \\[(.*?)] as const/s);\n if (match?.[1]) {\n const iconsStr = match[1];\n const icons = iconsStr.match(/\"([^\"]+)\"/g)?.map(s => s.slice(1, -1)) || [];\n return new Set(icons);\n }\n }\n\n console.warn('[@rotki/ui-library] Could not load RuiIcons list, validation disabled');\n return new Set();\n}\n\n/**\n * Vite plugin for automatic icon detection and registration\n */\nexport function ruiIconsPlugin(options: RuiIconsPluginOptions = {}): Plugin {\n const {\n include = [],\n scanPatterns = DEFAULT_SCAN_PATTERNS,\n strict = false,\n debug = false,\n } = options;\n\n let validIcons: Set<string>;\n let scanResult: ScanResult;\n let server: ViteDevServer | null = null;\n let root: string;\n\n const log = (message: string): void => {\n if (debug) {\n // eslint-disable-next-line no-console\n console.log(`[@rotki/ui-library/icons] ${message}`);\n }\n };\n\n const warn = (message: string): void => {\n console.warn(`[@rotki/ui-library/icons] ${message}`);\n };\n\n /**\n * Scans all matching files for icon usage\n */\n async function scanFiles(): Promise<void> {\n const fg = await import('fast-glob');\n const glob = fg.default || fg;\n\n scanResult = {\n icons: new Set(include),\n invalidIcons: new Map(),\n };\n\n const files = glob.sync(scanPatterns, {\n cwd: root,\n ignore: EXCLUDED_PATTERNS,\n absolute: true,\n });\n\n log(`Scanning ${files.length} files for icon usage...`);\n\n for (const filePath of files) {\n try {\n const content = readFileSync(filePath, 'utf-8');\n const detectedIcons = extractIconsFromSource(content);\n\n if (detectedIcons.size > 0) {\n log(`Found ${detectedIcons.size} potential icons in ${filePath}`);\n validateIcons(detectedIcons, validIcons, filePath, scanResult);\n }\n }\n catch {\n warn(`Failed to read file: ${filePath}`);\n }\n }\n\n // Add manually included icons\n for (const icon of include) {\n if (validIcons.has(icon)) {\n scanResult.icons.add(icon);\n }\n else {\n warn(`Included icon \"${icon}\" is not a valid RuiIcon`);\n }\n }\n\n log(`Detected ${scanResult.icons.size} valid icons`);\n\n // Report invalid icons\n if (scanResult.invalidIcons.size > 0) {\n const invalidList = [...scanResult.invalidIcons.entries()]\n .map(([icon, files]) => ` - \"${icon}\" in: ${files.join(', ')}`)\n .join('\\n');\n\n const message = `Found ${scanResult.invalidIcons.size} invalid icon name(s):\\n${invalidList}`;\n\n if (strict) {\n throw new Error(message);\n }\n else {\n warn(message);\n }\n }\n }\n\n /**\n * Handles file changes in dev mode\n */\n function handleFileChange(filePath: string): void {\n // Check if the changed file matches our scan patterns\n const isRelevantFile = scanPatterns.some((pattern) => {\n const ext = filePath.split('.').pop();\n return pattern.includes(`*.${ext}`);\n });\n\n if (!isRelevantFile)\n return;\n\n try {\n const content = readFileSync(filePath, 'utf-8');\n const detectedIcons = extractIconsFromSource(content);\n const previousSize = scanResult.icons.size;\n\n validateIcons(detectedIcons, validIcons, filePath, scanResult);\n\n // If new icons were detected, invalidate the virtual module\n if (scanResult.icons.size > previousSize) {\n log(`New icons detected in ${filePath}, invalidating virtual module...`);\n\n // Invalidate the virtual module to trigger re-import\n const mod = server?.moduleGraph.getModuleById(RESOLVED_VIRTUAL_MODULE_ID);\n if (mod) {\n server?.moduleGraph.invalidateModule(mod);\n // Trigger HMR update\n server?.ws.send({\n type: 'full-reload',\n path: '*',\n });\n }\n }\n }\n catch {\n // Ignore read errors\n }\n }\n\n return {\n name: 'rotki-ui-library-icons',\n enforce: 'pre',\n\n configResolved(config) {\n root = config.root;\n validIcons = loadValidIcons();\n log(`Loaded ${validIcons.size} valid icon names`);\n },\n\n configureServer(_server) {\n server = _server;\n\n // Watch for file changes\n server.watcher.on('change', handleFileChange);\n server.watcher.on('add', handleFileChange);\n },\n\n async buildStart() {\n await scanFiles();\n },\n\n resolveId(id) {\n if (id === VIRTUAL_MODULE_ID) {\n return RESOLVED_VIRTUAL_MODULE_ID;\n }\n },\n\n load(id) {\n if (id === RESOLVED_VIRTUAL_MODULE_ID) {\n const moduleContent = generateVirtualModule(scanResult.icons);\n log(`Generated virtual module with ${scanResult.icons.size} icons`);\n return moduleContent;\n }\n },\n };\n}\n\nexport type { RuiIconsPluginOptions } from './types';\n\n// eslint-disable-next-line import/no-default-export\nexport default ruiIconsPlugin;\n"],"names":["__filename","__dirname","files"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/vite-plugin/index.ts"],"sourcesContent":["import type { Plugin, ViteDevServer } from 'vite';\nimport type { RuiIconsPluginOptions, ScanResult } from './types';\nimport { existsSync, readFileSync } from 'node:fs';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport {\n extractIconsFromSource,\n generateVirtualModule,\n validateIcons,\n} from './scanner';\n\nconst VIRTUAL_MODULE_ID = 'virtual:rotki-icons';\nconst RESOLVED_VIRTUAL_MODULE_ID = `\\0${VIRTUAL_MODULE_ID}`;\n\nconst DEFAULT_SCAN_PATTERNS = ['**/*.vue', '**/*.ts', '**/*.tsx'];\nconst EXCLUDED_PATTERNS = ['**/node_modules/**', '**/dist/**', '**/.git/**'];\n\n// Get __dirname equivalent in ES modules\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\n/**\n * Loads the valid RuiIcons array from the library\n */\nfunction loadValidIcons(): Set<string> {\n // Import the RuiIcons array from the icons module\n // This will be resolved at build time\n try {\n // Try to load from the built dist first (for consumers)\n const distPath = resolve(__dirname, '../icons/index.js');\n if (existsSync(distPath)) {\n // Read and parse the file to extract the RuiIcons array\n const content = readFileSync(distPath, 'utf-8');\n // eslint-disable-next-line regexp/strict\n const match = content.match(/const RuiIcons = \\[(.*?)];/s);\n if (match?.[1]) {\n const iconsStr = match[1];\n const icons = iconsStr.match(/\"([^\"]+)\"/g)?.map(s => s.slice(1, -1)) || [];\n return new Set(icons);\n }\n }\n }\n catch {\n // Fallback: parse the icons source file directly\n }\n\n // Fallback: read and parse the source file\n const sourcePath = resolve(__dirname, '../icons/index.ts');\n if (existsSync(sourcePath)) {\n const content = readFileSync(sourcePath, 'utf-8');\n // eslint-disable-next-line regexp/strict\n const match = content.match(/export const RuiIcons = \\[(.*?)] as const/s);\n if (match?.[1]) {\n const iconsStr = match[1];\n const icons = iconsStr.match(/\"([^\"]+)\"/g)?.map(s => s.slice(1, -1)) || [];\n return new Set(icons);\n }\n }\n\n console.warn('[@rotki/ui-library] Could not load RuiIcons list, validation disabled');\n return new Set();\n}\n\n/**\n * Vite plugin for automatic icon detection and registration\n */\nexport function ruiIconsPlugin(options: RuiIconsPluginOptions = {}): Plugin {\n const {\n include = [],\n scanPatterns = DEFAULT_SCAN_PATTERNS,\n strict = false,\n debug = false,\n } = options;\n\n let validIcons: Set<string>;\n let scanResult: ScanResult;\n let server: ViteDevServer | null = null;\n let root: string;\n\n const log = (message: string): void => {\n if (debug) {\n // eslint-disable-next-line no-console\n console.log(`[@rotki/ui-library/icons] ${message}`);\n }\n };\n\n const warn = (message: string): void => {\n console.warn(`[@rotki/ui-library/icons] ${message}`);\n };\n\n /**\n * Scans all matching files for icon usage\n */\n async function scanFiles(): Promise<void> {\n const fg = await import('fast-glob');\n const glob = fg.default || fg;\n\n scanResult = {\n icons: new Set(include),\n invalidIcons: new Map(),\n };\n\n const files = glob.sync(scanPatterns, {\n cwd: root,\n ignore: EXCLUDED_PATTERNS,\n absolute: true,\n });\n\n log(`Scanning ${files.length} files for icon usage...`);\n\n for (const filePath of files) {\n try {\n const content = readFileSync(filePath, 'utf-8');\n const detectedIcons = extractIconsFromSource(content);\n\n if (detectedIcons.size > 0) {\n log(`Found ${detectedIcons.size} potential icons in ${filePath}`);\n validateIcons(detectedIcons, validIcons, filePath, scanResult);\n }\n }\n catch {\n warn(`Failed to read file: ${filePath}`);\n }\n }\n\n // Add manually included icons\n for (const icon of include) {\n if (validIcons.has(icon)) {\n scanResult.icons.add(icon);\n }\n else {\n warn(`Included icon \"${icon}\" is not a valid RuiIcon`);\n }\n }\n\n log(`Detected ${scanResult.icons.size} valid icons`);\n\n // Report invalid icons\n if (scanResult.invalidIcons.size > 0) {\n const invalidList = [...scanResult.invalidIcons.entries()]\n .map(([icon, files]) => ` - \"${icon}\" in: ${files.join(', ')}`)\n .join('\\n');\n\n const message = `Found ${scanResult.invalidIcons.size} invalid icon name(s):\\n${invalidList}`;\n\n if (strict) {\n throw new Error(message);\n }\n else {\n warn(message);\n }\n }\n }\n\n /**\n * Handles file changes in dev mode\n */\n function handleFileChange(filePath: string): void {\n // Check if the changed file matches our scan patterns\n const isRelevantFile = scanPatterns.some((pattern) => {\n const ext = filePath.split('.').pop();\n return pattern.includes(`*.${ext}`);\n });\n\n if (!isRelevantFile)\n return;\n\n try {\n const content = readFileSync(filePath, 'utf-8');\n const detectedIcons = extractIconsFromSource(content);\n const previousSize = scanResult.icons.size;\n\n validateIcons(detectedIcons, validIcons, filePath, scanResult);\n\n // If new icons were detected, invalidate the virtual module\n if (scanResult.icons.size > previousSize) {\n log(`New icons detected in ${filePath}, invalidating virtual module...`);\n\n // Invalidate the virtual module to trigger re-import\n const mod = server?.moduleGraph.getModuleById(RESOLVED_VIRTUAL_MODULE_ID);\n if (mod) {\n server?.moduleGraph.invalidateModule(mod);\n // Trigger HMR update\n server?.ws.send({\n type: 'full-reload',\n path: '*',\n });\n }\n }\n }\n catch {\n // Ignore read errors\n }\n }\n\n return {\n name: 'rotki-ui-library-icons',\n enforce: 'pre',\n\n configResolved(config) {\n root = config.root;\n validIcons = loadValidIcons();\n log(`Loaded ${validIcons.size} valid icon names`);\n },\n\n configureServer(_server) {\n server = _server;\n\n // Watch for file changes\n server.watcher.on('change', handleFileChange);\n server.watcher.on('add', handleFileChange);\n },\n\n async buildStart() {\n await scanFiles();\n },\n\n resolveId(id) {\n if (id === VIRTUAL_MODULE_ID) {\n return RESOLVED_VIRTUAL_MODULE_ID;\n }\n },\n\n load(id) {\n if (id === RESOLVED_VIRTUAL_MODULE_ID) {\n const moduleContent = generateVirtualModule(scanResult.icons);\n log(`Generated virtual module with ${scanResult.icons.size} icons`);\n return moduleContent;\n }\n },\n };\n}\n\nexport type { RuiIconsPluginOptions } from './types';\n\n// eslint-disable-next-line import/no-default-export\nexport default ruiIconsPlugin;\n"],"mappings":"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"}
@@ -1,63 +1,57 @@
1
- const ICON_PATTERNS = [
2
- // Static name attribute: <RuiIcon name="lu-star" /> or name='lu-star'
3
- /\bname=["'](lu-[\da-z-]+)["']/gi,
4
- // Dynamic bound name with string literal: :name="'lu-star'" or :name="`lu-star`"
5
- /:name=["']['`](lu-[\da-z-]+)['`]?["']/gi,
6
- // String literals that look like icon names: 'lu-star' or "lu-star"
7
- /["'`](lu-[\da-z-]+)["'`]/gi
1
+ //#region src/vite-plugin/scanner.ts
2
+ /**
3
+ * Regex patterns to detect icon usage in source files
4
+ */
5
+ var ICON_PATTERNS = [
6
+ /\bname=["'](lu-[\da-z-]+)["']/gi,
7
+ /:name=["']['`](lu-[\da-z-]+)['`]?["']/gi,
8
+ /["'`](lu-[\da-z-]+)["'`]/gi
8
9
  ];
10
+ /**
11
+ * Extracts all potential icon names from source code
12
+ */
9
13
  function extractIconsFromSource(source) {
10
- const icons = /* @__PURE__ */ new Set();
11
- for (const pattern of ICON_PATTERNS) {
12
- pattern.lastIndex = 0;
13
- let match = pattern.exec(source);
14
- while (match !== null) {
15
- const iconName = match[1];
16
- if (iconName) {
17
- icons.add(iconName);
18
- }
19
- match = pattern.exec(source);
20
- }
21
- }
22
- return icons;
14
+ const icons = /* @__PURE__ */ new Set();
15
+ for (const pattern of ICON_PATTERNS) {
16
+ pattern.lastIndex = 0;
17
+ let match = pattern.exec(source);
18
+ while (match !== null) {
19
+ const iconName = match[1];
20
+ if (iconName) icons.add(iconName);
21
+ match = pattern.exec(source);
22
+ }
23
+ }
24
+ return icons;
23
25
  }
26
+ /**
27
+ * Validates detected icons against known valid icons
28
+ */
24
29
  function validateIcons(detectedIcons, validIcons, filePath, result) {
25
- for (const icon of detectedIcons) {
26
- if (validIcons.has(icon)) {
27
- result.icons.add(icon);
28
- } else {
29
- const files = result.invalidIcons.get(icon) || [];
30
- files.push(filePath);
31
- result.invalidIcons.set(icon, files);
32
- }
33
- }
30
+ for (const icon of detectedIcons) if (validIcons.has(icon)) result.icons.add(icon);
31
+ else {
32
+ const files = result.invalidIcons.get(icon) || [];
33
+ files.push(filePath);
34
+ result.invalidIcons.set(icon, files);
35
+ }
34
36
  }
37
+ /**
38
+ * Converts icon name to export constant name
39
+ * e.g., 'lu-arrow-down' -> 'LuArrowDown'
40
+ */
35
41
  function iconNameToExportName(iconName) {
36
- return iconName.split("-").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
42
+ return iconName.split("-").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
37
43
  }
44
+ /**
45
+ * Generates the virtual module content with detected icons
46
+ */
38
47
  function generateVirtualModule(icons) {
39
- if (icons.size === 0) {
40
- return `// No icons detected
48
+ if (icons.size === 0) return `// No icons detected
41
49
  export default [];
42
50
  `;
43
- }
44
- const sortedIcons = [...icons].sort();
45
- const exports$1 = sortedIcons.map(iconNameToExportName);
46
- const importStatement = `import {
47
- ${exports$1.join(",\n ")},
48
- } from '@rotki/ui-library';
49
- `;
50
- const exportStatement = `
51
- export default [
52
- ${exports$1.join(",\n ")},
53
- ];
54
- `;
55
- return importStatement + exportStatement;
51
+ const exports = [...icons].sort().map(iconNameToExportName);
52
+ return `import {\n ${exports.join(",\n ")},\n} from '@rotki/ui-library';\n\nexport default [\n ${exports.join(",\n ")},\n];\n`;
56
53
  }
57
- export {
58
- extractIconsFromSource,
59
- generateVirtualModule,
60
- iconNameToExportName,
61
- validateIcons
62
- };
63
- //# sourceMappingURL=scanner.js.map
54
+ //#endregion
55
+ export { extractIconsFromSource, generateVirtualModule, validateIcons };
56
+
57
+ //# sourceMappingURL=scanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sources":["../../src/vite-plugin/scanner.ts"],"sourcesContent":["import type { ScanResult } from './types';\n\n/**\n * Regex patterns to detect icon usage in source files\n */\nconst ICON_PATTERNS: RegExp[] = [\n // Static name attribute: <RuiIcon name=\"lu-star\" /> or name='lu-star'\n /\\bname=[\"'](lu-[\\da-z-]+)[\"']/gi,\n\n // Dynamic bound name with string literal: :name=\"'lu-star'\" or :name=\"`lu-star`\"\n /:name=[\"']['`](lu-[\\da-z-]+)['`]?[\"']/gi,\n\n // String literals that look like icon names: 'lu-star' or \"lu-star\"\n /[\"'`](lu-[\\da-z-]+)[\"'`]/gi,\n];\n\n/**\n * Extracts all potential icon names from source code\n */\nexport function extractIconsFromSource(source: string): Set<string> {\n const icons = new Set<string>();\n\n for (const pattern of ICON_PATTERNS) {\n // Reset lastIndex for global regex\n pattern.lastIndex = 0;\n\n let match: RegExpExecArray | null = pattern.exec(source);\n while (match !== null) {\n const iconName = match[1];\n if (iconName) {\n icons.add(iconName);\n }\n match = pattern.exec(source);\n }\n }\n\n return icons;\n}\n\n/**\n * Validates detected icons against known valid icons\n */\nexport function validateIcons(\n detectedIcons: Set<string>,\n validIcons: Set<string>,\n filePath: string,\n result: ScanResult,\n): void {\n for (const icon of detectedIcons) {\n if (validIcons.has(icon)) {\n result.icons.add(icon);\n }\n else {\n // Track invalid icons\n const files = result.invalidIcons.get(icon) || [];\n files.push(filePath);\n result.invalidIcons.set(icon, files);\n }\n }\n}\n\n/**\n * Converts icon name to export constant name\n * e.g., 'lu-arrow-down' -> 'LuArrowDown'\n */\nexport function iconNameToExportName(iconName: string): string {\n return iconName\n .split('-')\n .map(part => part.charAt(0).toUpperCase() + part.slice(1))\n .join('');\n}\n\n/**\n * Generates the virtual module content with detected icons\n */\nexport function generateVirtualModule(icons: Set<string>): string {\n if (icons.size === 0) {\n return `// No icons detected\nexport default [];\n`;\n }\n\n const sortedIcons = [...icons].sort();\n const exports = sortedIcons.map(iconNameToExportName);\n\n const importStatement = `import {\\n ${exports.join(',\\n ')},\\n} from '@rotki/ui-library';\\n`;\n const exportStatement = `\\nexport default [\\n ${exports.join(',\\n ')},\\n];\\n`;\n\n return importStatement + exportStatement;\n}\n"],"names":["exports"],"mappings":"AAKA,MAAM,gBAA0B;AAAA;AAAA,EAE9B;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF;AAKO,SAAS,uBAAuB,QAA6B;AAClE,QAAM,4BAAY,IAAA;AAElB,aAAW,WAAW,eAAe;AAEnC,YAAQ,YAAY;AAEpB,QAAI,QAAgC,QAAQ,KAAK,MAAM;AACvD,WAAO,UAAU,MAAM;AACrB,YAAM,WAAW,MAAM,CAAC;AACxB,UAAI,UAAU;AACZ,cAAM,IAAI,QAAQ;AAAA,MACpB;AACA,cAAQ,QAAQ,KAAK,MAAM;AAAA,IAC7B;AAAA,EACF;AAEA,SAAO;AACT;AAKO,SAAS,cACd,eACA,YACA,UACA,QACM;AACN,aAAW,QAAQ,eAAe;AAChC,QAAI,WAAW,IAAI,IAAI,GAAG;AACxB,aAAO,MAAM,IAAI,IAAI;AAAA,IACvB,OACK;AAEH,YAAM,QAAQ,OAAO,aAAa,IAAI,IAAI,KAAK,CAAA;AAC/C,YAAM,KAAK,QAAQ;AACnB,aAAO,aAAa,IAAI,MAAM,KAAK;AAAA,IACrC;AAAA,EACF;AACF;AAMO,SAAS,qBAAqB,UAA0B;AAC7D,SAAO,SACJ,MAAM,GAAG,EACT,IAAI,CAAA,SAAQ,KAAK,OAAO,CAAC,EAAE,YAAA,IAAgB,KAAK,MAAM,CAAC,CAAC,EACxD,KAAK,EAAE;AACZ;AAKO,SAAS,sBAAsB,OAA4B;AAChE,MAAI,MAAM,SAAS,GAAG;AACpB,WAAO;AAAA;AAAA;AAAA,EAGT;AAEA,QAAM,cAAc,CAAC,GAAG,KAAK,EAAE,KAAA;AAC/B,QAAMA,YAAU,YAAY,IAAI,oBAAoB;AAEpD,QAAM,kBAAkB;AAAA,IAAeA,UAAQ,KAAK,OAAO,CAAC;AAAA;AAAA;AAC5D,QAAM,kBAAkB;AAAA;AAAA,IAAyBA,UAAQ,KAAK,OAAO,CAAC;AAAA;AAAA;AAEtE,SAAO,kBAAkB;AAC3B;"}
1
+ {"version":3,"file":"scanner.js","names":[],"sources":["../../src/vite-plugin/scanner.ts"],"sourcesContent":["import type { ScanResult } from './types';\n\n/**\n * Regex patterns to detect icon usage in source files\n */\nconst ICON_PATTERNS: RegExp[] = [\n // Static name attribute: <RuiIcon name=\"lu-star\" /> or name='lu-star'\n /\\bname=[\"'](lu-[\\da-z-]+)[\"']/gi,\n\n // Dynamic bound name with string literal: :name=\"'lu-star'\" or :name=\"`lu-star`\"\n /:name=[\"']['`](lu-[\\da-z-]+)['`]?[\"']/gi,\n\n // String literals that look like icon names: 'lu-star' or \"lu-star\"\n /[\"'`](lu-[\\da-z-]+)[\"'`]/gi,\n];\n\n/**\n * Extracts all potential icon names from source code\n */\nexport function extractIconsFromSource(source: string): Set<string> {\n const icons = new Set<string>();\n\n for (const pattern of ICON_PATTERNS) {\n // Reset lastIndex for global regex\n pattern.lastIndex = 0;\n\n let match: RegExpExecArray | null = pattern.exec(source);\n while (match !== null) {\n const iconName = match[1];\n if (iconName) {\n icons.add(iconName);\n }\n match = pattern.exec(source);\n }\n }\n\n return icons;\n}\n\n/**\n * Validates detected icons against known valid icons\n */\nexport function validateIcons(\n detectedIcons: Set<string>,\n validIcons: Set<string>,\n filePath: string,\n result: ScanResult,\n): void {\n for (const icon of detectedIcons) {\n if (validIcons.has(icon)) {\n result.icons.add(icon);\n }\n else {\n // Track invalid icons\n const files = result.invalidIcons.get(icon) || [];\n files.push(filePath);\n result.invalidIcons.set(icon, files);\n }\n }\n}\n\n/**\n * Converts icon name to export constant name\n * e.g., 'lu-arrow-down' -> 'LuArrowDown'\n */\nexport function iconNameToExportName(iconName: string): string {\n return iconName\n .split('-')\n .map(part => part.charAt(0).toUpperCase() + part.slice(1))\n .join('');\n}\n\n/**\n * Generates the virtual module content with detected icons\n */\nexport function generateVirtualModule(icons: Set<string>): string {\n if (icons.size === 0) {\n return `// No icons detected\nexport default [];\n`;\n }\n\n const sortedIcons = [...icons].sort();\n const exports = sortedIcons.map(iconNameToExportName);\n\n const importStatement = `import {\\n ${exports.join(',\\n ')},\\n} from '@rotki/ui-library';\\n`;\n const exportStatement = `\\nexport default [\\n ${exports.join(',\\n ')},\\n];\\n`;\n\n return importStatement + exportStatement;\n}\n"],"mappings":";;;;AAKA,IAAM,gBAA0B;CAE9B;CAGA;CAGA;CACD;;;;AAKD,SAAgB,uBAAuB,QAA6B;CAClE,MAAM,wBAAQ,IAAI,KAAa;AAE/B,MAAK,MAAM,WAAW,eAAe;AAEnC,UAAQ,YAAY;EAEpB,IAAI,QAAgC,QAAQ,KAAK,OAAO;AACxD,SAAO,UAAU,MAAM;GACrB,MAAM,WAAW,MAAM;AACvB,OAAI,SACF,OAAM,IAAI,SAAS;AAErB,WAAQ,QAAQ,KAAK,OAAO;;;AAIhC,QAAO;;;;;AAMT,SAAgB,cACd,eACA,YACA,UACA,QACM;AACN,MAAK,MAAM,QAAQ,cACjB,KAAI,WAAW,IAAI,KAAK,CACtB,QAAO,MAAM,IAAI,KAAK;MAEnB;EAEH,MAAM,QAAQ,OAAO,aAAa,IAAI,KAAK,IAAI,EAAE;AACjD,QAAM,KAAK,SAAS;AACpB,SAAO,aAAa,IAAI,MAAM,MAAM;;;;;;;AAS1C,SAAgB,qBAAqB,UAA0B;AAC7D,QAAO,SACJ,MAAM,IAAI,CACV,KAAI,SAAQ,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE,CAAC,CACzD,KAAK,GAAG;;;;;AAMb,SAAgB,sBAAsB,OAA4B;AAChE,KAAI,MAAM,SAAS,EACjB,QAAO;;;CAMT,MAAM,UADc,CAAC,GAAG,MAAM,CAAC,MAAM,CACT,IAAI,qBAAqB;AAKrD,QAAA,eAHuC,QAAQ,KAAK,QAAQ,CAAC,wDACZ,QAAQ,KAAK,QAAQ,CAAC"}