@rotki/ui-library 2.21.0 → 2.22.1

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 (324) hide show
  1. package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js +1 -1
  2. package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
  3. package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js +2 -2
  4. package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js.map +1 -1
  5. package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js +1 -1
  6. package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js.map +1 -1
  7. package/dist/components/avatars/RuiAvatar.vue_vue_type_script_setup_true_lang.js +1 -1
  8. package/dist/components/avatars/RuiAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  9. package/dist/components/avatars/RuiAvatarGroup.vue_vue_type_script_setup_true_lang.js +1 -1
  10. package/dist/components/avatars/RuiAvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  11. package/dist/components/avatars/avatar-props.js +1 -1
  12. package/dist/components/avatars/avatar-props.js.map +1 -1
  13. package/dist/components/avatars/use-avatar-group.js.map +1 -1
  14. package/dist/components/buttons/button/RuiButton.js.map +1 -1
  15. package/dist/components/buttons/button/RuiButton.vue.d.ts +2 -2
  16. package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js +3 -3
  17. package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  18. package/dist/components/buttons/button/button-props.js.map +1 -1
  19. package/dist/components/buttons/button/button-styles.js.map +1 -1
  20. package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js +2 -2
  21. package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  22. package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js +3 -3
  23. package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  24. package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js +2 -2
  25. package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
  26. package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js +3 -3
  27. package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  28. package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js +3 -3
  29. package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  30. package/dist/components/calendar/state.js.map +1 -1
  31. package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js +1 -1
  32. package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js +1 -1
  34. package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  35. package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js +1 -1
  36. package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  37. package/dist/components/chips/chip-props.js.map +1 -1
  38. package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js +1 -1
  39. package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  40. package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js +1 -1
  41. package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js.map +1 -1
  42. package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js +1 -1
  43. package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js.map +1 -1
  44. package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js +1 -1
  45. package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  46. package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js +1 -1
  47. package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  48. package/dist/components/color-picker/utils.js.map +1 -1
  49. package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js +2 -2
  50. package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js +3 -3
  52. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  53. package/dist/components/date-time-picker/RuiTimezoneSelect.vue_vue_type_script_setup_true_lang.js +2 -2
  54. package/dist/components/date-time-picker/RuiTimezoneSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  55. package/dist/components/date-time-picker/date-time-picker-styles.js.map +1 -1
  56. package/dist/components/date-time-picker/dayjs-setup.js.map +1 -1
  57. package/dist/components/date-time-picker/segment-config.js.map +1 -1
  58. package/dist/components/date-time-picker/segment-utils.js.map +1 -1
  59. package/dist/components/date-time-picker/timezones.js.map +1 -1
  60. package/dist/components/date-time-picker/types.js +1 -1
  61. package/dist/components/date-time-picker/types.js.map +1 -1
  62. package/dist/components/date-time-picker/use-date-time-selection.js +2 -2
  63. package/dist/components/date-time-picker/use-date-time-selection.js.map +1 -1
  64. package/dist/components/date-time-picker/use-input-handler.js.map +1 -1
  65. package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -1
  66. package/dist/components/date-time-picker/utils.js.map +1 -1
  67. package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js +1 -1
  68. package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  69. package/dist/components/forms/auto-complete/RuiAutoComplete.js.map +1 -1
  70. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +14 -1
  71. package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js +15 -5
  72. package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  73. package/dist/components/forms/auto-complete/auto-complete-styles.js.map +1 -1
  74. package/dist/components/forms/category-picker/RuiCategoryPicker.js +7 -0
  75. package/dist/components/forms/category-picker/RuiCategoryPicker.js.map +1 -0
  76. package/dist/components/forms/category-picker/RuiCategoryPicker.vue.d.ts +134 -0
  77. package/dist/components/forms/category-picker/RuiCategoryPicker.vue_vue_type_script_setup_true_lang.js +567 -0
  78. package/dist/components/forms/category-picker/RuiCategoryPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  79. package/dist/components/forms/category-picker/category-picker-styles.d.ts +432 -0
  80. package/dist/components/forms/category-picker/category-picker-styles.js +59 -0
  81. package/dist/components/forms/category-picker/category-picker-styles.js.map +1 -0
  82. package/dist/components/forms/check-control-styles.js.map +1 -1
  83. package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js +2 -2
  84. package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  85. package/dist/components/forms/checkbox/checkbox-group/RuiCheckboxGroup.vue_vue_type_script_setup_true_lang.js +2 -2
  86. package/dist/components/forms/checkbox/checkbox-group/RuiCheckboxGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  87. package/dist/components/forms/checkbox/checkbox-group/context.js.map +1 -1
  88. package/dist/components/forms/file-upload/RuiFileUpload.js.map +1 -1
  89. package/dist/components/forms/file-upload/RuiFileUpload.vue_vue_type_script_setup_true_lang.js +5 -5
  90. package/dist/components/forms/file-upload/RuiFileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -1
  91. package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js +2 -2
  92. package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  93. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js +2 -2
  94. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  95. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js +2 -2
  96. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  97. package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js +2 -2
  98. package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  99. package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js +2 -2
  100. package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  101. package/dist/components/forms/select/menu-select-styles.js.map +1 -1
  102. package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js +2 -2
  103. package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  104. package/dist/components/forms/slider/slider-styles.js.map +1 -1
  105. package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js +2 -2
  106. package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  107. package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js +3 -3
  108. package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  109. package/dist/components/forms/text-area/text-area-styles.js.map +1 -1
  110. package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js +3 -3
  111. package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  112. package/dist/components/forms/text-field/text-field-styles.js.map +1 -1
  113. package/dist/components/forms/text-input-styles.js.map +1 -1
  114. package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js +1 -1
  115. package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js.map +1 -1
  116. package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  117. package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  118. package/dist/components/index.d.ts +3 -2
  119. package/dist/components/index.js +3 -2
  120. package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js +1 -1
  121. package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js.map +1 -1
  122. package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js +1 -1
  123. package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  124. package/dist/components/loaders/skeleton-type.js.map +1 -1
  125. package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js +1 -1
  126. package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js.map +1 -1
  127. package/dist/components/logos/use-logo-sources.js.map +1 -1
  128. package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js +1 -1
  129. package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  130. package/dist/components/overlays/badge/badge-props.js.map +1 -1
  131. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js +2 -2
  132. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js.map +1 -1
  133. package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js +3 -3
  134. package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  135. package/dist/components/overlays/menu/RuiMenu.js.map +1 -1
  136. package/dist/components/overlays/menu/RuiMenu.vue.d.ts +2 -0
  137. package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js +3 -3
  138. package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  139. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js +3 -3
  140. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  141. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js +2 -2
  142. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js.map +1 -1
  143. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js +1 -1
  144. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  145. package/dist/components/overlays/tooltip/tooltip-styles.js.map +1 -1
  146. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js +1 -1
  147. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js.map +1 -1
  148. package/dist/components/progress/progress-props.js.map +1 -1
  149. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js +2 -2
  150. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  151. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js +1 -1
  152. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  153. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  154. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  155. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  156. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  157. package/dist/components/steppers/footer-stepper-variant.js.map +1 -1
  158. package/dist/components/tables/RuiDataTable.js.map +1 -1
  159. package/dist/components/tables/RuiDataTable.vue.d.ts +23 -2
  160. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js +186 -217
  161. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  162. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js +1 -1
  163. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  164. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js +1 -1
  165. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
  166. package/dist/components/tables/RuiTableHead.js.map +1 -1
  167. package/dist/components/tables/RuiTableHead.vue.d.ts +11 -1
  168. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js +1 -2
  169. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js.map +1 -1
  170. package/dist/components/tables/RuiTablePagination.js.map +1 -1
  171. package/dist/components/tables/RuiTablePagination.vue.d.ts +5 -0
  172. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js +24 -8
  173. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  174. package/dist/components/tables/data-table/RuiDataTableBody.js +7 -0
  175. package/dist/components/tables/data-table/RuiDataTableBody.js.map +1 -0
  176. package/dist/components/tables/data-table/RuiDataTableBody.vue.d.ts +55 -0
  177. package/dist/components/tables/data-table/RuiDataTableBody.vue_vue_type_script_setup_true_lang.js +78 -0
  178. package/dist/components/tables/data-table/RuiDataTableBody.vue_vue_type_script_setup_true_lang.js.map +1 -0
  179. package/dist/components/tables/data-table/RuiDataTableCell.js +7 -0
  180. package/dist/components/tables/data-table/RuiDataTableCell.js.map +1 -0
  181. package/dist/components/tables/data-table/RuiDataTableCell.vue.d.ts +30 -0
  182. package/dist/components/tables/data-table/RuiDataTableCell.vue_vue_type_script_setup_true_lang.js +54 -0
  183. package/dist/components/tables/data-table/RuiDataTableCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  184. package/dist/components/tables/data-table/RuiDataTableEmptyRow.js +7 -0
  185. package/dist/components/tables/data-table/RuiDataTableEmptyRow.js.map +1 -0
  186. package/dist/components/tables/data-table/RuiDataTableEmptyRow.vue.d.ts +19 -0
  187. package/dist/components/tables/data-table/RuiDataTableEmptyRow.vue_vue_type_script_setup_true_lang.js +43 -0
  188. package/dist/components/tables/data-table/RuiDataTableEmptyRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  189. package/dist/components/tables/data-table/RuiDataTableExpandedRow.js +7 -0
  190. package/dist/components/tables/data-table/RuiDataTableExpandedRow.js.map +1 -0
  191. package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue.d.ts +26 -0
  192. package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue_vue_type_script_setup_true_lang.js +31 -0
  193. package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  194. package/dist/components/tables/data-table/RuiDataTableGroupRow.js +7 -0
  195. package/dist/components/tables/data-table/RuiDataTableGroupRow.js.map +1 -0
  196. package/dist/components/tables/data-table/RuiDataTableGroupRow.vue.d.ts +32 -0
  197. package/dist/components/tables/data-table/RuiDataTableGroupRow.vue_vue_type_script_setup_true_lang.js +85 -0
  198. package/dist/components/tables/data-table/RuiDataTableGroupRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  199. package/dist/components/tables/data-table/RuiDataTableLoadingRow.js +7 -0
  200. package/dist/components/tables/data-table/RuiDataTableLoadingRow.js.map +1 -0
  201. package/dist/components/tables/data-table/RuiDataTableLoadingRow.vue.d.ts +3 -0
  202. package/dist/components/tables/data-table/RuiDataTableLoadingRow.vue_vue_type_script_setup_true_lang.js +26 -0
  203. package/dist/components/tables/data-table/RuiDataTableLoadingRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  204. package/dist/components/tables/data-table/RuiDataTableMobileSort.js +7 -0
  205. package/dist/components/tables/data-table/RuiDataTableMobileSort.js.map +1 -0
  206. package/dist/components/tables/data-table/RuiDataTableMobileSort.vue.d.ts +33 -0
  207. package/dist/components/tables/data-table/RuiDataTableMobileSort.vue_vue_type_script_setup_true_lang.js +101 -0
  208. package/dist/components/tables/data-table/RuiDataTableMobileSort.vue_vue_type_script_setup_true_lang.js.map +1 -0
  209. package/dist/components/tables/data-table/RuiDataTableRow.js +7 -0
  210. package/dist/components/tables/data-table/RuiDataTableRow.js.map +1 -0
  211. package/dist/components/tables/data-table/RuiDataTableRow.vue.d.ts +31 -0
  212. package/dist/components/tables/data-table/RuiDataTableRow.vue_vue_type_script_setup_true_lang.js +142 -0
  213. package/dist/components/tables/data-table/RuiDataTableRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  214. package/dist/components/tables/data-table/context.d.ts +73 -0
  215. package/dist/components/tables/data-table/context.js +100 -0
  216. package/dist/components/tables/data-table/context.js.map +1 -0
  217. package/dist/components/tables/data-table-styles.d.ts +30 -1
  218. package/dist/components/tables/data-table-styles.js +9 -2
  219. package/dist/components/tables/data-table-styles.js.map +1 -1
  220. package/dist/components/tables/table-props.d.ts +5 -0
  221. package/dist/components/tables/table-props.js +5 -1
  222. package/dist/components/tables/table-props.js.map +1 -1
  223. package/dist/components/tables/use-pagination-navigation.js.map +1 -1
  224. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js +1 -1
  225. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js.map +1 -1
  226. package/dist/components/tabs/tab/use-tab-link.js.map +1 -1
  227. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js +1 -1
  228. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  229. package/dist/components/tabs/tab-items/RuiTabItems.js.map +1 -1
  230. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js +2 -2
  231. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js.map +1 -1
  232. package/dist/components/tabs/tab-props.js.map +1 -1
  233. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js +2 -2
  234. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  235. package/dist/components/tabs/tabs/use-tab-routing.js +1 -1
  236. package/dist/components/tabs/tabs/use-tab-routing.js.map +1 -1
  237. package/dist/components/tabs/tabs/use-tab-scroll.js.map +1 -1
  238. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js +2 -2
  239. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  240. package/dist/components/time-picker/time-picker-styles.js.map +1 -1
  241. package/dist/composables/breakpoint.js.map +1 -1
  242. package/dist/composables/defaults/table.d.ts +12 -0
  243. package/dist/composables/defaults/table.js.map +1 -1
  244. package/dist/composables/dropdown-menu.js.map +1 -1
  245. package/dist/composables/floating.d.ts +11 -0
  246. package/dist/composables/floating.js +21 -2
  247. package/dist/composables/floating.js.map +1 -1
  248. package/dist/composables/forms/auto-complete/focus.js.map +1 -1
  249. package/dist/composables/forms/auto-complete/index.js +5 -4
  250. package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
  251. package/dist/composables/forms/auto-complete/search.d.ts +6 -1
  252. package/dist/composables/forms/auto-complete/search.js +12 -1
  253. package/dist/composables/forms/auto-complete/search.js.map +1 -1
  254. package/dist/composables/forms/auto-complete/value.js.map +1 -1
  255. package/dist/composables/forms/category-picker/use-category-picker.d.ts +76 -0
  256. package/dist/composables/forms/category-picker/use-category-picker.js +141 -0
  257. package/dist/composables/forms/category-picker/use-category-picker.js.map +1 -0
  258. package/dist/composables/forms/use-prepend-append-width.js.map +1 -1
  259. package/dist/composables/icons.js.map +1 -1
  260. package/dist/composables/popper.js.map +1 -1
  261. package/dist/composables/sticky-header.js.map +1 -1
  262. package/dist/composables/tables/data-table/columns.d.ts +7 -1
  263. package/dist/composables/tables/data-table/columns.js +18 -10
  264. package/dist/composables/tables/data-table/columns.js.map +1 -1
  265. package/dist/composables/tables/data-table/expansion.js.map +1 -1
  266. package/dist/composables/tables/data-table/grouping.d.ts +4 -6
  267. package/dist/composables/tables/data-table/grouping.js +38 -24
  268. package/dist/composables/tables/data-table/grouping.js.map +1 -1
  269. package/dist/composables/tables/data-table/pagination.d.ts +4 -4
  270. package/dist/composables/tables/data-table/pagination.js +63 -21
  271. package/dist/composables/tables/data-table/pagination.js.map +1 -1
  272. package/dist/composables/tables/data-table/selection.js +16 -6
  273. package/dist/composables/tables/data-table/selection.js.map +1 -1
  274. package/dist/composables/tables/data-table/sort.d.ts +4 -3
  275. package/dist/composables/tables/data-table/sort.js +78 -40
  276. package/dist/composables/tables/data-table/sort.js.map +1 -1
  277. package/dist/composables/tables/data-table/types.d.ts +3 -1
  278. package/dist/composables/tables/data-table/types.js +6 -2
  279. package/dist/composables/tables/data-table/types.js.map +1 -1
  280. package/dist/composables/theme.js.map +1 -1
  281. package/dist/composables/timeout-manager.js.map +1 -1
  282. package/dist/composables/use-rui-i18n.js.map +1 -1
  283. package/dist/consts/colors.js.map +1 -1
  284. package/dist/consts/time-accuracy.js.map +1 -1
  285. package/dist/i18n/keys.js.map +1 -1
  286. package/dist/icons/icons_1.d.ts +12 -12
  287. package/dist/icons/icons_1.js +140 -157
  288. package/dist/icons/icons_1.js.map +1 -1
  289. package/dist/icons/icons_2.d.ts +13 -13
  290. package/dist/icons/icons_2.js +128 -149
  291. package/dist/icons/icons_2.js.map +1 -1
  292. package/dist/icons/icons_3.d.ts +18 -18
  293. package/dist/icons/icons_3.js +244 -282
  294. package/dist/icons/icons_3.js.map +1 -1
  295. package/dist/icons/icons_4.d.ts +251 -6
  296. package/dist/icons/icons_4.js +3016 -75
  297. package/dist/icons/icons_4.js.map +1 -1
  298. package/dist/icons/icons_5.d.ts +20 -0
  299. package/dist/icons/icons_5.js +221 -0
  300. package/dist/icons/icons_5.js.map +1 -0
  301. package/dist/icons/index.d.ts +2 -1
  302. package/dist/icons/index.js +297 -32
  303. package/dist/icons/index.js.map +1 -1
  304. package/dist/index.js +8 -6
  305. package/dist/index.js.map +1 -1
  306. package/dist/library-icons.json +1 -0
  307. package/dist/style.css +157 -0
  308. package/dist/theme/index.js.map +1 -1
  309. package/dist/types/stepper.js.map +1 -1
  310. package/dist/types/theme.js.map +1 -1
  311. package/dist/utils/assert.js.map +1 -1
  312. package/dist/utils/blockie.js.map +1 -1
  313. package/dist/utils/form-text-detail.js.map +1 -1
  314. package/dist/utils/helpers.js.map +1 -1
  315. package/dist/utils/is-equal.js.map +1 -1
  316. package/dist/utils/tv.js.map +1 -1
  317. package/dist/vite-plugin/index.js +6 -5
  318. package/dist/vite-plugin/index.js.map +1 -1
  319. package/dist/vite-plugin/scanner.d.ts +1 -1
  320. package/dist/vite-plugin/scanner.js +10 -7
  321. package/dist/vite-plugin/scanner.js.map +1 -1
  322. package/dist/vite-plugin/types.d.ts +9 -0
  323. package/dist/web-types.json +2042 -1108
  324. package/package.json +35 -35
package/dist/style.css CHANGED
@@ -879,12 +879,20 @@ html[data-theme="dark"], html.dark {
879
879
  --rui-surface-overlay: var(--rui-dark-surface-overlay);
880
880
  }
881
881
 
882
+ .\!container {
883
+ width: 100% !important;
884
+ }
885
+
882
886
  .container {
883
887
  width: 100%;
884
888
  }
885
889
 
886
890
  @media (min-width: 640px) {
887
891
 
892
+ .\!container {
893
+ max-width: 640px !important;
894
+ }
895
+
888
896
  .container {
889
897
  max-width: 640px;
890
898
  }
@@ -892,6 +900,10 @@ html[data-theme="dark"], html.dark {
892
900
 
893
901
  @media (min-width: 768px) {
894
902
 
903
+ .\!container {
904
+ max-width: 768px !important;
905
+ }
906
+
895
907
  .container {
896
908
  max-width: 768px;
897
909
  }
@@ -899,6 +911,10 @@ html[data-theme="dark"], html.dark {
899
911
 
900
912
  @media (min-width: 1024px) {
901
913
 
914
+ .\!container {
915
+ max-width: 1024px !important;
916
+ }
917
+
902
918
  .container {
903
919
  max-width: 1024px;
904
920
  }
@@ -906,6 +922,10 @@ html[data-theme="dark"], html.dark {
906
922
 
907
923
  @media (min-width: 1280px) {
908
924
 
925
+ .\!container {
926
+ max-width: 1280px !important;
927
+ }
928
+
909
929
  .container {
910
930
  max-width: 1280px;
911
931
  }
@@ -913,6 +933,10 @@ html[data-theme="dark"], html.dark {
913
933
 
914
934
  @media (min-width: 1536px) {
915
935
 
936
+ .\!container {
937
+ max-width: 1536px !important;
938
+ }
939
+
916
940
  .container {
917
941
  max-width: 1536px;
918
942
  }
@@ -934,6 +958,10 @@ html[data-theme="dark"], html.dark {
934
958
  visibility: hidden;
935
959
  }
936
960
 
961
+ .collapse {
962
+ visibility: collapse;
963
+ }
964
+
937
965
  .static {
938
966
  position: static;
939
967
  }
@@ -999,6 +1027,10 @@ html[data-theme="dark"], html.dark {
999
1027
  left: 0.75rem;
1000
1028
  }
1001
1029
 
1030
+ .left-4 {
1031
+ left: 1rem;
1032
+ }
1033
+
1002
1034
  .left-\[1\.3125rem\] {
1003
1035
  left: 1.3125rem;
1004
1036
  }
@@ -1027,6 +1059,10 @@ html[data-theme="dark"], html.dark {
1027
1059
  right: 0.75rem;
1028
1060
  }
1029
1061
 
1062
+ .right-8 {
1063
+ right: 2rem;
1064
+ }
1065
+
1030
1066
  .right-\[calc\(0\.5px-0\.3125rem\)\] {
1031
1067
  right: calc(0.5px - 0.3125rem);
1032
1068
  }
@@ -1174,6 +1210,10 @@ html[data-theme="dark"], html.dark {
1174
1210
  margin-bottom: 0.5rem;
1175
1211
  }
1176
1212
 
1213
+ .mb-3 {
1214
+ margin-bottom: 0.75rem;
1215
+ }
1216
+
1177
1217
  .ml-0 {
1178
1218
  margin-left: 0px;
1179
1219
  }
@@ -1411,6 +1451,10 @@ html[data-theme="dark"], html.dark {
1411
1451
  max-height: 90vh;
1412
1452
  }
1413
1453
 
1454
+ .max-h-\[var\(--rui-floating-max-height\2c 60vh\)\] {
1455
+ max-height: var(--rui-floating-max-height,60vh);
1456
+ }
1457
+
1414
1458
  .max-h-full {
1415
1459
  max-height: 100%;
1416
1460
  }
@@ -1423,6 +1467,10 @@ html[data-theme="dark"], html.dark {
1423
1467
  min-height: 3rem !important;
1424
1468
  }
1425
1469
 
1470
+ .min-h-0 {
1471
+ min-height: 0px;
1472
+ }
1473
+
1426
1474
  .min-h-1\.5 {
1427
1475
  min-height: 0.375rem;
1428
1476
  }
@@ -1559,6 +1607,10 @@ html[data-theme="dark"], html.dark {
1559
1607
  width: 3.625rem;
1560
1608
  }
1561
1609
 
1610
+ .w-\[40rem\] {
1611
+ width: 40rem;
1612
+ }
1613
+
1562
1614
  .w-\[var\(--rui-icon-size\2c 1\.5rem\)\] {
1563
1615
  width: var(--rui-icon-size,1.5rem);
1564
1616
  }
@@ -1600,6 +1652,10 @@ html[data-theme="dark"], html.dark {
1600
1652
  min-width: 1rem;
1601
1653
  }
1602
1654
 
1655
+ .min-w-40 {
1656
+ min-width: 10rem;
1657
+ }
1658
+
1603
1659
  .min-w-5 {
1604
1660
  min-width: 1.25rem;
1605
1661
  }
@@ -1672,6 +1728,10 @@ html[data-theme="dark"], html.dark {
1672
1728
  max-width: 90%;
1673
1729
  }
1674
1730
 
1731
+ .max-w-\[calc\(100vw-2rem\)\] {
1732
+ max-width: calc(100vw - 2rem);
1733
+ }
1734
+
1675
1735
  .max-w-fit {
1676
1736
  max-width: -moz-fit-content;
1677
1737
  max-width: fit-content;
@@ -1990,6 +2050,10 @@ html[data-theme="dark"], html.dark {
1990
2050
  appearance: none;
1991
2051
  }
1992
2052
 
2053
+ .grid-cols-1 {
2054
+ grid-template-columns: repeat(1, minmax(0, 1fr));
2055
+ }
2056
+
1993
2057
  .grid-cols-3 {
1994
2058
  grid-template-columns: repeat(3, minmax(0, 1fr));
1995
2059
  }
@@ -1998,6 +2062,10 @@ html[data-theme="dark"], html.dark {
1998
2062
  grid-template-columns: repeat(7, minmax(0, 1fr));
1999
2063
  }
2000
2064
 
2065
+ .grid-cols-\[minmax\(9\.5rem\2c 13rem\)_1fr\] {
2066
+ grid-template-columns: minmax(9.5rem,13rem) 1fr;
2067
+ }
2068
+
2001
2069
  .flex-col {
2002
2070
  flex-direction: column;
2003
2071
  }
@@ -2010,6 +2078,10 @@ html[data-theme="dark"], html.dark {
2010
2078
  flex-wrap: wrap;
2011
2079
  }
2012
2080
 
2081
+ .flex-nowrap {
2082
+ flex-wrap: nowrap;
2083
+ }
2084
+
2013
2085
  .items-start {
2014
2086
  align-items: flex-start;
2015
2087
  }
@@ -2030,6 +2102,10 @@ html[data-theme="dark"], html.dark {
2030
2102
  justify-content: center;
2031
2103
  }
2032
2104
 
2105
+ .\!justify-between {
2106
+ justify-content: space-between !important;
2107
+ }
2108
+
2033
2109
  .justify-between {
2034
2110
  justify-content: space-between;
2035
2111
  }
@@ -2238,6 +2314,10 @@ html[data-theme="dark"], html.dark {
2238
2314
  overflow: visible !important;
2239
2315
  }
2240
2316
 
2317
+ .overflow-visible {
2318
+ overflow: visible;
2319
+ }
2320
+
2241
2321
  .overflow-x-auto {
2242
2322
  overflow-x: auto;
2243
2323
  }
@@ -2256,6 +2336,10 @@ html[data-theme="dark"], html.dark {
2256
2336
  white-space: nowrap;
2257
2337
  }
2258
2338
 
2339
+ .whitespace-normal {
2340
+ white-space: normal;
2341
+ }
2342
+
2259
2343
  .whitespace-nowrap {
2260
2344
  white-space: nowrap;
2261
2345
  }
@@ -2322,6 +2406,16 @@ html[data-theme="dark"], html.dark {
2322
2406
  border-top-right-radius: 0.25rem !important;
2323
2407
  }
2324
2408
 
2409
+ .rounded-b-lg {
2410
+ border-bottom-right-radius: 0.5rem;
2411
+ border-bottom-left-radius: 0.5rem;
2412
+ }
2413
+
2414
+ .rounded-b-none {
2415
+ border-bottom-right-radius: 0px;
2416
+ border-bottom-left-radius: 0px;
2417
+ }
2418
+
2325
2419
  .rounded-t {
2326
2420
  border-top-left-radius: 0.25rem;
2327
2421
  border-top-right-radius: 0.25rem;
@@ -2342,6 +2436,11 @@ html[data-theme="dark"], html.dark {
2342
2436
  border-top-right-radius: 1rem;
2343
2437
  }
2344
2438
 
2439
+ .rounded-t-lg {
2440
+ border-top-left-radius: 0.5rem;
2441
+ border-top-right-radius: 0.5rem;
2442
+ }
2443
+
2345
2444
  .\!border-2 {
2346
2445
  border-width: 2px !important;
2347
2446
  }
@@ -2362,11 +2461,25 @@ html[data-theme="dark"], html.dark {
2362
2461
  border-width: 0.3125rem;
2363
2462
  }
2364
2463
 
2464
+ .\!border-y {
2465
+ border-top-width: 1px !important;
2466
+ border-bottom-width: 1px !important;
2467
+ }
2468
+
2469
+ .border-x {
2470
+ border-left-width: 1px;
2471
+ border-right-width: 1px;
2472
+ }
2473
+
2365
2474
  .border-y-\[0\.2rem\] {
2366
2475
  border-top-width: 0.2rem;
2367
2476
  border-bottom-width: 0.2rem;
2368
2477
  }
2369
2478
 
2479
+ .\!border-b {
2480
+ border-bottom-width: 1px !important;
2481
+ }
2482
+
2370
2483
  .border-b {
2371
2484
  border-bottom-width: 1px;
2372
2485
  }
@@ -2375,6 +2488,14 @@ html[data-theme="dark"], html.dark {
2375
2488
  border-left-width: 1px;
2376
2489
  }
2377
2490
 
2491
+ .border-r {
2492
+ border-right-width: 1px;
2493
+ }
2494
+
2495
+ .border-r-0 {
2496
+ border-right-width: 0px;
2497
+ }
2498
+
2378
2499
  .border-t {
2379
2500
  border-top-width: 1px;
2380
2501
  }
@@ -2598,6 +2719,11 @@ html[data-theme="dark"], html.dark {
2598
2719
  background-color: rgba(var(--rui-error-lighter), var(--tw-bg-opacity, 1)) !important;
2599
2720
  }
2600
2721
 
2722
+ .\!bg-rui-grey-100 {
2723
+ --tw-bg-opacity: 1 !important;
2724
+ background-color: rgba(var(--rui-grey-100), var(--tw-bg-opacity, 1)) !important;
2725
+ }
2726
+
2601
2727
  .\!bg-rui-grey-200 {
2602
2728
  --tw-bg-opacity: 1 !important;
2603
2729
  background-color: rgba(var(--rui-grey-200), var(--tw-bg-opacity, 1)) !important;
@@ -2973,6 +3099,10 @@ html[data-theme="dark"], html.dark {
2973
3099
  padding: 1rem;
2974
3100
  }
2975
3101
 
3102
+ .p-8 {
3103
+ padding: 2rem;
3104
+ }
3105
+
2976
3106
  .p-\[0\.08rem\] {
2977
3107
  padding: 0.08rem;
2978
3108
  }
@@ -2999,6 +3129,11 @@ html[data-theme="dark"], html.dark {
2999
3129
  padding-bottom: 0px !important;
3000
3130
  }
3001
3131
 
3132
+ .\!py-2 {
3133
+ padding-top: 0.5rem !important;
3134
+ padding-bottom: 0.5rem !important;
3135
+ }
3136
+
3002
3137
  .px-0 {
3003
3138
  padding-left: 0px;
3004
3139
  padding-right: 0px;
@@ -3039,6 +3174,11 @@ html[data-theme="dark"], html.dark {
3039
3174
  padding-right: 1.5rem;
3040
3175
  }
3041
3176
 
3177
+ .py-0 {
3178
+ padding-top: 0px;
3179
+ padding-bottom: 0px;
3180
+ }
3181
+
3042
3182
  .py-0\.5 {
3043
3183
  padding-top: 0.125rem;
3044
3184
  padding-bottom: 0.125rem;
@@ -3351,6 +3491,11 @@ html[data-theme="dark"], html.dark {
3351
3491
  text-transform: capitalize;
3352
3492
  }
3353
3493
 
3494
+ .tabular-nums {
3495
+ --tw-numeric-spacing: tabular-nums;
3496
+ font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
3497
+ }
3498
+
3354
3499
  .\!leading-tight {
3355
3500
  line-height: 1.25 !important;
3356
3501
  }
@@ -4057,6 +4202,10 @@ html[data-theme="dark"], html.dark {
4057
4202
  clip-path: inset(0 0 0 0);
4058
4203
  }
4059
4204
 
4205
+ .\[clip-path\:none\] {
4206
+ clip-path: none;
4207
+ }
4208
+
4060
4209
  .\[flex\:1_1_0\] {
4061
4210
  flex: 1 1 0;
4062
4211
  }
@@ -4537,6 +4686,10 @@ body {
4537
4686
  content: var(--tw-content);
4538
4687
  }
4539
4688
 
4689
+ .first\:mt-0:first-child {
4690
+ margin-top: 0px;
4691
+ }
4692
+
4540
4693
  .first\:\!rounded-l:first-child {
4541
4694
  border-top-left-radius: 0.25rem !important;
4542
4695
  border-bottom-left-radius: 0.25rem !important;
@@ -4547,6 +4700,10 @@ body {
4547
4700
  border-top-right-radius: 0.25rem !important;
4548
4701
  }
4549
4702
 
4703
+ .last\:mb-0:last-child {
4704
+ margin-bottom: 0px;
4705
+ }
4706
+
4550
4707
  .last\:\!rounded-b:last-child {
4551
4708
  border-bottom-right-radius: 0.25rem !important;
4552
4709
  border-bottom-left-radius: 0.25rem !important;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/theme/index.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin';\nimport {\n baseColors,\n baseColorsIntensities,\n contextColors,\n} from '../consts/colors';\n\nconst baseColorsCombination = Object.fromEntries(\n baseColors.map((color: string) => [\n color,\n Object.fromEntries(\n baseColorsIntensities.map((intensity: string) => [\n intensity,\n `rgba(var(--rui-${color}-${intensity}), <alpha-value>)`,\n ]),\n ),\n ]),\n);\n\nconst contextColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `rgba(var(--rui-${theme}-${color}-darker), <alpha-value>)`,\n DEFAULT: `rgba(var(--rui-${theme}-${color}-main), <alpha-value>)`,\n lighter: `rgba(var(--rui-${theme}-${color}-lighter), <alpha-value>)`,\n shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${theme}-${color}-main)))`,\n tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${theme}-${color}-main)))`,\n },\n ]),\n ),\n ]),\n);\n\nconst adaptiveContextColorCombination = Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `rgba(var(--rui-${color}-darker), <alpha-value>)`,\n DEFAULT: `rgba(var(--rui-${color}-main), <alpha-value>)`,\n lighter: `rgba(var(--rui-${color}-lighter), <alpha-value>)`,\n shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${color}-main)))`,\n tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${color}-main)))`,\n },\n ]),\n);\n\nconst textColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n {\n text: {\n DEFAULT: `var(--rui-${theme}-text-primary)`,\n disabled: `var(--rui-${theme}-text-disabled)`,\n secondary: `var(--rui-${theme}-text-secondary)`,\n },\n },\n ]),\n);\n\nconst adaptiveTextColorsCombination = {\n text: {\n DEFAULT: `var(--rui-text-primary)`,\n disabled: `var(--rui-text-disabled)`,\n secondary: `var(--rui-text-secondary)`,\n },\n};\n\nconst surfaceColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n {\n surface: {\n DEFAULT: `rgba(var(--rui-${theme}-surface-primary), <alpha-value>)`,\n secondary: `rgba(var(--rui-${theme}-surface-secondary), <alpha-value>)`,\n overlay: `rgba(var(--rui-${theme}-surface-overlay), <alpha-value>)`,\n },\n },\n ]),\n);\n\nconst adaptiveSurfaceColorsCombination = {\n surface: {\n DEFAULT: `rgba(var(--rui-surface-primary), <alpha-value>)`,\n secondary: `rgba(var(--rui-surface-secondary), <alpha-value>)`,\n overlay: `rgba(var(--rui-surface-overlay), <alpha-value>)`,\n },\n};\n\nconst themePlugin = plugin(\n ({ addBase, addUtilities, addVariant, matchUtilities }) => {\n // Adaptive theme variable aliases\n const themeVariables = (theme: 'light' | 'dark'): Record<string, string> =>\n Object.fromEntries([\n ...contextColors.flatMap(color => [\n [`--rui-${color}-main`, `var(--rui-${theme}-${color}-main)`],\n [`--rui-${color}-darker`, `var(--rui-${theme}-${color}-darker)`],\n [`--rui-${color}-lighter`, `var(--rui-${theme}-${color}-lighter)`],\n ]),\n ['--rui-text-primary', `var(--rui-${theme}-text-primary)`],\n ['--rui-text-secondary', `var(--rui-${theme}-text-secondary)`],\n ['--rui-text-disabled', `var(--rui-${theme}-text-disabled)`],\n ['--rui-surface-primary', `var(--rui-${theme}-surface-primary)`],\n ['--rui-surface-secondary', `var(--rui-${theme}-surface-secondary)`],\n ['--rui-surface-overlay', `var(--rui-${theme}-surface-overlay)`],\n ]);\n\n addBase({\n 'html[data-theme=\"light\"], html.light': themeVariables('light'),\n 'html[data-theme=\"dark\"], html.dark': themeVariables('dark'),\n });\n\n // Border utilities\n addUtilities({\n '.border-default': {\n 'border-color': 'rgb(var(--rui-grey-200))',\n },\n '.dark .border-default': {\n 'border-color': 'rgb(var(--rui-grey-800))',\n },\n });\n\n // Typography\n addUtilities({\n '.text-body-1': {\n '@apply text-base': {},\n },\n '.text-body-2': {\n '@apply text-sm': {},\n },\n '.text-caption': {\n '@apply text-xs': {},\n 'line-height': '1.25rem',\n },\n '.text-h1': {\n '@apply text-8xl font-light': {},\n 'line-height': '7rem',\n },\n '.text-h2': {\n '@apply text-6xl font-light': {},\n 'line-height': '4.5rem',\n },\n '.text-h3': {\n '@apply text-5xl': {},\n 'line-height': '3.5rem',\n },\n '.text-h4': {\n '@apply text-4xl font-semibold': {},\n 'line-height': '2.625rem',\n },\n '.text-h5': {\n '@apply text-2xl': {},\n 'line-height': '2rem',\n },\n '.text-h6': {\n '@apply text-xl font-medium': {},\n 'line-height': '2rem',\n },\n '.text-overline': {\n '@apply text-xs uppercase': {},\n 'line-height': '2rem',\n },\n '.text-subtitle-1': {\n '@apply text-base': {},\n 'line-height': '1.75rem',\n },\n '.text-subtitle-2': {\n '@apply text-sm font-medium': {},\n 'line-height': '1.25rem',\n },\n });\n\n // Tint and Shade Colors\n matchUtilities(\n Object.fromEntries(\n ['bg-tint', 'bg-shade', 'text-tint', 'text-shade'].map(item => [\n item,\n value => ({\n animation: `${item} 1s calc(${value} * -1s) linear forwards paused`,\n }),\n ]),\n ),\n );\n addVariant('color-mix-supported', '@supports (color-mix())');\n },\n {\n theme: {\n extend: {\n boxShadow: {\n 1: '0px 2px 1px -1px var(--rui-shadow-primary), 0px 1px 1px var(--rui-shadow-secondary), 0px 1px 3px var(--rui-shadow-tertiary)',\n 10: '0px 6px 6px -3px var(--rui-shadow-primary), 0px 10px 14px 1px var(--rui-shadow-secondary), 0px 4px 18px 3px var(--rui-shadow-tertiary)',\n 11: '0px 6px 7px -4px var(--rui-shadow-primary), 0px 11px 15px 1px var(--rui-shadow-secondary), 0px 4px 20px 3px var(--rui-shadow-tertiary)',\n 12: '0px 7px 8px -4px var(--rui-shadow-primary), 0px 12px 17px 2px var(--rui-shadow-secondary), 0px 5px 22px 4px var(--rui-shadow-tertiary)',\n 13: '0px 7px 8px -4px var(--rui-shadow-primary), 0px 13px 19px 2px var(--rui-shadow-secondary), 0px 5px 24px 4px var(--rui-shadow-tertiary)',\n 14: '0px 7px 9px -4px var(--rui-shadow-primary), 0px 14px 21px 2px var(--rui-shadow-secondary), 0px 5px 26px 4px var(--rui-shadow-tertiary)',\n 15: '0px 8px 9px -5px var(--rui-shadow-primary), 0px 15px 22px 2px var(--rui-shadow-secondary), 0px 6px 28px 5px var(--rui-shadow-tertiary)',\n 16: '0px 8px 10px -5px var(--rui-shadow-primary), 0px 16px 24px 2px var(--rui-shadow-secondary), 0px 6px 30px 5px var(--rui-shadow-tertiary)',\n 17: '0px 8px 11px -5px var(--rui-shadow-primary), 0px 17px 26px 2px var(--rui-shadow-secondary), 0px 6px 32px 5px var(--rui-shadow-tertiary)',\n 18: '0px 9px 11px -5px var(--rui-shadow-primary), 0px 18px 28px 2px var(--rui-shadow-secondary), 0px 7px 34px 6px var(--rui-shadow-tertiary)',\n 19: '0px 9px 12px -6px var(--rui-shadow-primary), 0px 19px 29px 2px var(--rui-shadow-secondary), 0px 7px 36px 6px var(--rui-shadow-tertiary)',\n 2: '0px 3px 1px -2px var(--rui-shadow-primary), 0px 2px 2px var(--rui-shadow-secondary), 0px 1px 5px var(--rui-shadow-tertiary)',\n 20: '0px 10px 13px -6px var(--rui-shadow-primary), 0px 20px 31px 3px var(--rui-shadow-secondary), 0px 8px 38px 7px var(--rui-shadow-tertiary)',\n 21: '0px 10px 13px -6px var(--rui-shadow-primary), 0px 21px 33px 3px var(--rui-shadow-secondary), 0px 8px 40px 7px var(--rui-shadow-tertiary)',\n 22: '0px 10px 14px -6px var(--rui-shadow-primary), 0px 22px 35px 3px var(--rui-shadow-secondary), 0px 8px 42px 7px var(--rui-shadow-tertiary)',\n 23: '0px 11px 14px -7px var(--rui-shadow-primary), 0px 23px 36px 3px var(--rui-shadow-secondary), 0px 9px 44px 8px var(--rui-shadow-tertiary)',\n 24: '0px 11px 15px -7px var(--rui-shadow-primary), 0px 24px 38px 3px var(--rui-shadow-secondary), 0px 9px 46px 8px var(--rui-shadow-tertiary)',\n 3: '0px 3px 3px -2px var(--rui-shadow-primary), 0px 3px 4px var(--rui-shadow-secondary), 0px 1px 8px var(--rui-shadow-tertiary)',\n 4: '0px 2px 4px -1px var(--rui-shadow-primary), 0px 4px 5px var(--rui-shadow-secondary), 0px 1px 10px var(--rui-shadow-tertiary)',\n 5: '0px 3px 5px -1px var(--rui-shadow-primary), 0px 5px 8px var(--rui-shadow-secondary), 0px 1px 14px var(--rui-shadow-tertiary)',\n 6: '0px 3px 5px -1px var(--rui-shadow-primary), 0px 6px 10px var(--rui-shadow-secondary), 0px 1px 18px var(--rui-shadow-tertiary)',\n 7: '0px 4px 5px -2px var(--rui-shadow-primary), 0px 7px 10px 1px var(--rui-shadow-secondary), 0px 2px 16px 1px var(--rui-shadow-tertiary)',\n 8: '0px 5px 5px -3px var(--rui-shadow-primary), 0px 8px 10px 1px var(--rui-shadow-secondary), 0px 3px 14px 2px var(--rui-shadow-tertiary)',\n 9: '0px 5px 6px -3px var(--rui-shadow-primary), 0px 9px 12px 1px var(--rui-shadow-secondary), 0px 3px 16px 2px var(--rui-shadow-tertiary)',\n },\n colors: {\n rui: {\n ...baseColorsCombination,\n ...contextColorsCombination,\n ...textColorsCombination,\n dark: {\n ...contextColorsCombination.dark,\n ...textColorsCombination.dark,\n ...surfaceColorsCombination.dark,\n },\n light: {\n ...contextColorsCombination.light,\n ...textColorsCombination.light,\n ...surfaceColorsCombination.light,\n },\n ...adaptiveContextColorCombination,\n ...adaptiveTextColorsCombination,\n ...adaptiveSurfaceColorsCombination,\n },\n },\n },\n },\n },\n);\n\nexport default themePlugin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/theme/index.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin';\nimport {\n baseColors,\n baseColorsIntensities,\n contextColors,\n} from '../consts/colors';\n\nconst baseColorsCombination = Object.fromEntries(\n baseColors.map((color: string) => [\n color,\n Object.fromEntries(\n baseColorsIntensities.map((intensity: string) => [\n intensity,\n `rgba(var(--rui-${color}-${intensity}), <alpha-value>)`,\n ]),\n ),\n ]),\n);\n\nconst contextColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `rgba(var(--rui-${theme}-${color}-darker), <alpha-value>)`,\n DEFAULT: `rgba(var(--rui-${theme}-${color}-main), <alpha-value>)`,\n lighter: `rgba(var(--rui-${theme}-${color}-lighter), <alpha-value>)`,\n shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${theme}-${color}-main)))`,\n tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${theme}-${color}-main)))`,\n },\n ]),\n ),\n ]),\n);\n\nconst adaptiveContextColorCombination = Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `rgba(var(--rui-${color}-darker), <alpha-value>)`,\n DEFAULT: `rgba(var(--rui-${color}-main), <alpha-value>)`,\n lighter: `rgba(var(--rui-${color}-lighter), <alpha-value>)`,\n shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${color}-main)))`,\n tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${color}-main)))`,\n },\n ]),\n);\n\nconst textColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n {\n text: {\n DEFAULT: `var(--rui-${theme}-text-primary)`,\n disabled: `var(--rui-${theme}-text-disabled)`,\n secondary: `var(--rui-${theme}-text-secondary)`,\n },\n },\n ]),\n);\n\nconst adaptiveTextColorsCombination = {\n text: {\n DEFAULT: `var(--rui-text-primary)`,\n disabled: `var(--rui-text-disabled)`,\n secondary: `var(--rui-text-secondary)`,\n },\n};\n\nconst surfaceColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n {\n surface: {\n DEFAULT: `rgba(var(--rui-${theme}-surface-primary), <alpha-value>)`,\n secondary: `rgba(var(--rui-${theme}-surface-secondary), <alpha-value>)`,\n overlay: `rgba(var(--rui-${theme}-surface-overlay), <alpha-value>)`,\n },\n },\n ]),\n);\n\nconst adaptiveSurfaceColorsCombination = {\n surface: {\n DEFAULT: `rgba(var(--rui-surface-primary), <alpha-value>)`,\n secondary: `rgba(var(--rui-surface-secondary), <alpha-value>)`,\n overlay: `rgba(var(--rui-surface-overlay), <alpha-value>)`,\n },\n};\n\nconst themePlugin = plugin(\n ({ addBase, addUtilities, addVariant, matchUtilities }) => {\n // Adaptive theme variable aliases\n const themeVariables = (theme: 'light' | 'dark'): Record<string, string> =>\n Object.fromEntries([\n ...contextColors.flatMap(color => [\n [`--rui-${color}-main`, `var(--rui-${theme}-${color}-main)`],\n [`--rui-${color}-darker`, `var(--rui-${theme}-${color}-darker)`],\n [`--rui-${color}-lighter`, `var(--rui-${theme}-${color}-lighter)`],\n ]),\n ['--rui-text-primary', `var(--rui-${theme}-text-primary)`],\n ['--rui-text-secondary', `var(--rui-${theme}-text-secondary)`],\n ['--rui-text-disabled', `var(--rui-${theme}-text-disabled)`],\n ['--rui-surface-primary', `var(--rui-${theme}-surface-primary)`],\n ['--rui-surface-secondary', `var(--rui-${theme}-surface-secondary)`],\n ['--rui-surface-overlay', `var(--rui-${theme}-surface-overlay)`],\n ]);\n\n addBase({\n 'html[data-theme=\"light\"], html.light': themeVariables('light'),\n 'html[data-theme=\"dark\"], html.dark': themeVariables('dark'),\n });\n\n // Border utilities\n addUtilities({\n '.border-default': {\n 'border-color': 'rgb(var(--rui-grey-200))',\n },\n '.dark .border-default': {\n 'border-color': 'rgb(var(--rui-grey-800))',\n },\n });\n\n // Typography\n addUtilities({\n '.text-body-1': {\n '@apply text-base': {},\n },\n '.text-body-2': {\n '@apply text-sm': {},\n },\n '.text-caption': {\n '@apply text-xs': {},\n 'line-height': '1.25rem',\n },\n '.text-h1': {\n '@apply text-8xl font-light': {},\n 'line-height': '7rem',\n },\n '.text-h2': {\n '@apply text-6xl font-light': {},\n 'line-height': '4.5rem',\n },\n '.text-h3': {\n '@apply text-5xl': {},\n 'line-height': '3.5rem',\n },\n '.text-h4': {\n '@apply text-4xl font-semibold': {},\n 'line-height': '2.625rem',\n },\n '.text-h5': {\n '@apply text-2xl': {},\n 'line-height': '2rem',\n },\n '.text-h6': {\n '@apply text-xl font-medium': {},\n 'line-height': '2rem',\n },\n '.text-overline': {\n '@apply text-xs uppercase': {},\n 'line-height': '2rem',\n },\n '.text-subtitle-1': {\n '@apply text-base': {},\n 'line-height': '1.75rem',\n },\n '.text-subtitle-2': {\n '@apply text-sm font-medium': {},\n 'line-height': '1.25rem',\n },\n });\n\n // Tint and Shade Colors\n matchUtilities(\n Object.fromEntries(\n ['bg-tint', 'bg-shade', 'text-tint', 'text-shade'].map(item => [\n item,\n value => ({\n animation: `${item} 1s calc(${value} * -1s) linear forwards paused`,\n }),\n ]),\n ),\n );\n addVariant('color-mix-supported', '@supports (color-mix())');\n },\n {\n theme: {\n extend: {\n boxShadow: {\n 1: '0px 2px 1px -1px var(--rui-shadow-primary), 0px 1px 1px var(--rui-shadow-secondary), 0px 1px 3px var(--rui-shadow-tertiary)',\n 10: '0px 6px 6px -3px var(--rui-shadow-primary), 0px 10px 14px 1px var(--rui-shadow-secondary), 0px 4px 18px 3px var(--rui-shadow-tertiary)',\n 11: '0px 6px 7px -4px var(--rui-shadow-primary), 0px 11px 15px 1px var(--rui-shadow-secondary), 0px 4px 20px 3px var(--rui-shadow-tertiary)',\n 12: '0px 7px 8px -4px var(--rui-shadow-primary), 0px 12px 17px 2px var(--rui-shadow-secondary), 0px 5px 22px 4px var(--rui-shadow-tertiary)',\n 13: '0px 7px 8px -4px var(--rui-shadow-primary), 0px 13px 19px 2px var(--rui-shadow-secondary), 0px 5px 24px 4px var(--rui-shadow-tertiary)',\n 14: '0px 7px 9px -4px var(--rui-shadow-primary), 0px 14px 21px 2px var(--rui-shadow-secondary), 0px 5px 26px 4px var(--rui-shadow-tertiary)',\n 15: '0px 8px 9px -5px var(--rui-shadow-primary), 0px 15px 22px 2px var(--rui-shadow-secondary), 0px 6px 28px 5px var(--rui-shadow-tertiary)',\n 16: '0px 8px 10px -5px var(--rui-shadow-primary), 0px 16px 24px 2px var(--rui-shadow-secondary), 0px 6px 30px 5px var(--rui-shadow-tertiary)',\n 17: '0px 8px 11px -5px var(--rui-shadow-primary), 0px 17px 26px 2px var(--rui-shadow-secondary), 0px 6px 32px 5px var(--rui-shadow-tertiary)',\n 18: '0px 9px 11px -5px var(--rui-shadow-primary), 0px 18px 28px 2px var(--rui-shadow-secondary), 0px 7px 34px 6px var(--rui-shadow-tertiary)',\n 19: '0px 9px 12px -6px var(--rui-shadow-primary), 0px 19px 29px 2px var(--rui-shadow-secondary), 0px 7px 36px 6px var(--rui-shadow-tertiary)',\n 2: '0px 3px 1px -2px var(--rui-shadow-primary), 0px 2px 2px var(--rui-shadow-secondary), 0px 1px 5px var(--rui-shadow-tertiary)',\n 20: '0px 10px 13px -6px var(--rui-shadow-primary), 0px 20px 31px 3px var(--rui-shadow-secondary), 0px 8px 38px 7px var(--rui-shadow-tertiary)',\n 21: '0px 10px 13px -6px var(--rui-shadow-primary), 0px 21px 33px 3px var(--rui-shadow-secondary), 0px 8px 40px 7px var(--rui-shadow-tertiary)',\n 22: '0px 10px 14px -6px var(--rui-shadow-primary), 0px 22px 35px 3px var(--rui-shadow-secondary), 0px 8px 42px 7px var(--rui-shadow-tertiary)',\n 23: '0px 11px 14px -7px var(--rui-shadow-primary), 0px 23px 36px 3px var(--rui-shadow-secondary), 0px 9px 44px 8px var(--rui-shadow-tertiary)',\n 24: '0px 11px 15px -7px var(--rui-shadow-primary), 0px 24px 38px 3px var(--rui-shadow-secondary), 0px 9px 46px 8px var(--rui-shadow-tertiary)',\n 3: '0px 3px 3px -2px var(--rui-shadow-primary), 0px 3px 4px var(--rui-shadow-secondary), 0px 1px 8px var(--rui-shadow-tertiary)',\n 4: '0px 2px 4px -1px var(--rui-shadow-primary), 0px 4px 5px var(--rui-shadow-secondary), 0px 1px 10px var(--rui-shadow-tertiary)',\n 5: '0px 3px 5px -1px var(--rui-shadow-primary), 0px 5px 8px var(--rui-shadow-secondary), 0px 1px 14px var(--rui-shadow-tertiary)',\n 6: '0px 3px 5px -1px var(--rui-shadow-primary), 0px 6px 10px var(--rui-shadow-secondary), 0px 1px 18px var(--rui-shadow-tertiary)',\n 7: '0px 4px 5px -2px var(--rui-shadow-primary), 0px 7px 10px 1px var(--rui-shadow-secondary), 0px 2px 16px 1px var(--rui-shadow-tertiary)',\n 8: '0px 5px 5px -3px var(--rui-shadow-primary), 0px 8px 10px 1px var(--rui-shadow-secondary), 0px 3px 14px 2px var(--rui-shadow-tertiary)',\n 9: '0px 5px 6px -3px var(--rui-shadow-primary), 0px 9px 12px 1px var(--rui-shadow-secondary), 0px 3px 16px 2px var(--rui-shadow-tertiary)',\n },\n colors: {\n rui: {\n ...baseColorsCombination,\n ...contextColorsCombination,\n ...textColorsCombination,\n dark: {\n ...contextColorsCombination.dark,\n ...textColorsCombination.dark,\n ...surfaceColorsCombination.dark,\n },\n light: {\n ...contextColorsCombination.light,\n ...textColorsCombination.light,\n ...surfaceColorsCombination.light,\n },\n ...adaptiveContextColorCombination,\n ...adaptiveTextColorsCombination,\n ...adaptiveSurfaceColorsCombination,\n },\n },\n },\n },\n },\n);\n\nexport default themePlugin;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.js","names":[],"sources":["../../src/types/stepper.ts"],"sourcesContent":["export const StepperState = {\n active: 'active',\n done: 'done',\n error: 'error',\n inactive: 'inactive',\n info: 'info',\n success: 'success',\n warning: 'warning',\n} as const;\n\nexport type StepperState = (typeof StepperState)[keyof typeof StepperState];\n\nexport interface StepperStep {\n title?: string;\n description?: string;\n state?: StepperState;\n loading?: boolean;\n}\n\nexport const StepperOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\n\nexport type StepperOrientation =\n (typeof StepperOrientation)[keyof typeof StepperOrientation];\n"],"mappings":";AAAA,IAAa,eAAe;CAC1B,QAAQ;CACR,MAAM;CACN,OAAO;CACP,UAAU;CACV,MAAM;CACN,SAAS;CACT,SAAS;CACV;AAWD,IAAa,qBAAqB;CAChC,YAAY;CACZ,UAAU;CACX"}
1
+ {"version":3,"file":"stepper.js","names":[],"sources":["../../src/types/stepper.ts"],"sourcesContent":["export const StepperState = {\n active: 'active',\n done: 'done',\n error: 'error',\n inactive: 'inactive',\n info: 'info',\n success: 'success',\n warning: 'warning',\n} as const;\n\nexport type StepperState = (typeof StepperState)[keyof typeof StepperState];\n\nexport interface StepperStep {\n title?: string;\n description?: string;\n state?: StepperState;\n loading?: boolean;\n}\n\nexport const StepperOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\n\nexport type StepperOrientation =\n (typeof StepperOrientation)[keyof typeof StepperOrientation];\n"],"mappings":";AAAA,IAAa,eAAe;CAC1B,QAAQ;CACR,MAAM;CACN,OAAO;CACP,UAAU;CACV,MAAM;CACN,SAAS;CACT,SAAS;AACX;AAWA,IAAa,qBAAqB;CAChC,YAAY;CACZ,UAAU;AACZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","names":[],"sources":["../../src/types/theme.ts"],"sourcesContent":["import type { BasicColorMode, BasicColorSchema } from '@vueuse/core';\nimport type { ComputedRef, Ref } from 'vue';\nimport type { GeneratedIcon } from '@/types/icons';\nimport { contextColors } from '@/consts/colors';\n\nexport const ThemeMode = {\n auto: 'auto',\n dark: 'dark',\n light: 'light',\n} as const;\n\nexport type ThemeMode = (typeof ThemeMode)[keyof typeof ThemeMode];\n\nexport interface ColorIntensity {\n DEFAULT: string;\n lighter: string;\n darker: string;\n}\n\nexport type ThemeData = {\n [key in string]: ColorIntensity;\n};\n\nexport interface ThemeConfig {\n light: ThemeData;\n dark: ThemeData;\n}\n\nexport interface InitThemeOptions {\n mode?: ThemeMode;\n config?: ThemeConfig;\n icons?: GeneratedIcon[];\n}\n\nexport interface ThemeContent {\n config: Ref<ThemeConfig>;\n init: (options: InitThemeOptions) => void;\n isAutoControlled: ComputedRef<boolean>;\n isDark: ComputedRef<boolean>;\n isLight: ComputedRef<boolean>;\n setThemeConfig: (newConfig: ThemeConfig) => void;\n state: ComputedRef<ThemeMode | BasicColorMode>;\n store: Ref<ThemeMode | BasicColorSchema>;\n switchThemeScheme: (mode: ThemeMode) => void;\n theme: ComputedRef<ThemeData>;\n toggleThemeMode: () => void;\n}\n\nfunction createDefaultTheme(theme: 'light' | 'dark') {\n return Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `var(--rui-${theme}-${color}-darker)`,\n DEFAULT: `var(--rui-${theme}-${color}-main)`,\n lighter: `var(--rui-${theme}-${color}-lighter)`,\n },\n ]),\n );\n}\n\nexport const defaultTheme: ThemeConfig = {\n dark: createDefaultTheme('dark'),\n light: createDefaultTheme('light'),\n};\n"],"mappings":";;AAKA,IAAa,YAAY;CACvB,MAAM;CACN,MAAM;CACN,OAAO;CACR;AAuCD,SAAS,mBAAmB,OAAyB;AACnD,QAAO,OAAO,YACZ,cAAc,KAAI,UAAS,CACzB,OACA;EACE,QAAQ,aAAa,MAAM,GAAG,MAAM;EACpC,SAAS,aAAa,MAAM,GAAG,MAAM;EACrC,SAAS,aAAa,MAAM,GAAG,MAAM;EACtC,CACF,CAAC,CACH;;AAGH,IAAa,eAA4B;CACvC,MAAM,mBAAmB,OAAO;CAChC,OAAO,mBAAmB,QAAQ;CACnC"}
1
+ {"version":3,"file":"theme.js","names":[],"sources":["../../src/types/theme.ts"],"sourcesContent":["import type { BasicColorMode, BasicColorSchema } from '@vueuse/core';\nimport type { ComputedRef, Ref } from 'vue';\nimport type { GeneratedIcon } from '@/types/icons';\nimport { contextColors } from '@/consts/colors';\n\nexport const ThemeMode = {\n auto: 'auto',\n dark: 'dark',\n light: 'light',\n} as const;\n\nexport type ThemeMode = (typeof ThemeMode)[keyof typeof ThemeMode];\n\nexport interface ColorIntensity {\n DEFAULT: string;\n lighter: string;\n darker: string;\n}\n\nexport type ThemeData = {\n [key in string]: ColorIntensity;\n};\n\nexport interface ThemeConfig {\n light: ThemeData;\n dark: ThemeData;\n}\n\nexport interface InitThemeOptions {\n mode?: ThemeMode;\n config?: ThemeConfig;\n icons?: GeneratedIcon[];\n}\n\nexport interface ThemeContent {\n config: Ref<ThemeConfig>;\n init: (options: InitThemeOptions) => void;\n isAutoControlled: ComputedRef<boolean>;\n isDark: ComputedRef<boolean>;\n isLight: ComputedRef<boolean>;\n setThemeConfig: (newConfig: ThemeConfig) => void;\n state: ComputedRef<ThemeMode | BasicColorMode>;\n store: Ref<ThemeMode | BasicColorSchema>;\n switchThemeScheme: (mode: ThemeMode) => void;\n theme: ComputedRef<ThemeData>;\n toggleThemeMode: () => void;\n}\n\nfunction createDefaultTheme(theme: 'light' | 'dark') {\n return Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `var(--rui-${theme}-${color}-darker)`,\n DEFAULT: `var(--rui-${theme}-${color}-main)`,\n lighter: `var(--rui-${theme}-${color}-lighter)`,\n },\n ]),\n );\n}\n\nexport const defaultTheme: ThemeConfig = {\n dark: createDefaultTheme('dark'),\n light: createDefaultTheme('light'),\n};\n"],"mappings":";;AAKA,IAAa,YAAY;CACvB,MAAM;CACN,MAAM;CACN,OAAO;AACT;AAuCA,SAAS,mBAAmB,OAAyB;CACnD,OAAO,OAAO,YACZ,cAAc,KAAI,UAAS,CACzB,OACA;EACE,QAAQ,aAAa,MAAM,GAAG,MAAM;EACpC,SAAS,aAAa,MAAM,GAAG,MAAM;EACrC,SAAS,aAAa,MAAM,GAAG,MAAM;CACvC,CACF,CAAC,CACH;AACF;AAEA,IAAa,eAA4B;CACvC,MAAM,mBAAmB,MAAM;CAC/B,OAAO,mBAAmB,OAAO;AACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"assert.js","names":[],"sources":["../../src/utils/assert.ts"],"sourcesContent":["class AssertionError extends Error {\n constructor(msg?: string) {\n super(msg ?? 'AssertionError');\n this.name = 'AssertionError';\n }\n}\n\nexport function assert(condition: unknown, msg?: string): asserts condition {\n if (!condition)\n throw new AssertionError(msg);\n}\n"],"mappings":";AAAA,IAAM,iBAAN,cAA6B,MAAM;CACjC,YAAY,KAAc;AACxB,QAAM,OAAO,iBAAiB;AAC9B,OAAK,OAAO;;;AAIhB,SAAgB,OAAO,WAAoB,KAAiC;AAC1E,KAAI,CAAC,UACH,OAAM,IAAI,eAAe,IAAI"}
1
+ {"version":3,"file":"assert.js","names":[],"sources":["../../src/utils/assert.ts"],"sourcesContent":["class AssertionError extends Error {\n constructor(msg?: string) {\n super(msg ?? 'AssertionError');\n this.name = 'AssertionError';\n }\n}\n\nexport function assert(condition: unknown, msg?: string): asserts condition {\n if (!condition)\n throw new AssertionError(msg);\n}\n"],"mappings":";AAAA,IAAM,iBAAN,cAA6B,MAAM;CACjC,YAAY,KAAc;EACxB,MAAM,OAAO,gBAAgB;EAC7B,KAAK,OAAO;CACd;AACF;AAEA,SAAgB,OAAO,WAAoB,KAAiC;CAC1E,IAAI,CAAC,WACH,MAAM,IAAI,eAAe,GAAG;AAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"blockie.js","names":[],"sources":["../../src/utils/blockie.ts"],"sourcesContent":["// Source: https://github.com/ethereum/blockies\n// The random number is a js implementation of the Xorshift PRNG\ninterface BlockieOptions {\n /** seed used to generate icon data, default: random */\n seed: string;\n /** to manually specify the icon color, default: random */\n color: string;\n /** choose a different background color, default: random */\n bgcolor: string;\n /** width/height of the icon in blocks, default: 8 */\n size: number;\n /** width/height of each block in pixels, default: 4 */\n scale: number;\n /**\n * each pixel has a 13% chance of being of a third color, default: random.\n *\n * Set to -1 to disable it.\n *\n * These \"spots\" create structures that look like eyes, mouths and noses.\n */\n spotColor: string;\n}\n\nconst randSeed = new Array(4); // Xorshift: [x, y, z, w] 32 bit values\n\nfunction seedRand(seed: string): void {\n for (let i = 0; i < randSeed.length; i++) randSeed[i] = 0;\n\n for (let i = 0; i < seed.length; i++)\n randSeed[i % 4] = (randSeed[i % 4] << 5) - randSeed[i % 4] + seed.charCodeAt(i);\n}\n\nfunction rand(): number {\n // based on Java's String.hashCode(), expanded to 4 32bit values\n const t = randSeed[0] ^ (randSeed[0] << 11);\n\n randSeed[0] = randSeed[1];\n randSeed[1] = randSeed[2];\n randSeed[2] = randSeed[3];\n randSeed[3] = randSeed[3] ^ (randSeed[3] >> 19) ^ t ^ (t >> 8);\n\n return (randSeed[3] >>> 0) / ((1 << 31) >>> 0);\n}\n\nfunction createColor(): string {\n // saturation is the whole color spectrum\n const h = Math.floor(rand() * 360);\n // saturation goes from 40 to 100, it avoids greyish colors\n const s = `${rand() * 60 + 40}%`;\n // lightness can be anything from 0 to 100, but probabilities are a bell curve around 50%\n const l = `${(rand() + rand() + rand() + rand()) * 25}%`;\n\n return `hsl(${h},${s},${l})`;\n}\n\nfunction createImageData(size: number): number[] {\n const width = size; // Only support square icons for now\n const height = size;\n\n const dataWidth = Math.ceil(width / 2);\n const mirrorWidth = width - dataWidth;\n\n const data = [];\n for (let y = 0; y < height; y++) {\n let row = [];\n for (let x = 0; x < dataWidth; x++) {\n // this makes foreground and background color to have a 43% (1/2.3) probability\n // spot color has 13% chance\n row[x] = Math.floor(rand() * 2.3);\n }\n const r = row.slice(0, mirrorWidth);\n r.reverse();\n row = row.concat(r);\n\n for (const element of row) data.push(element);\n }\n\n return data;\n}\n\nfunction buildOpts(opts: Partial<BlockieOptions>): BlockieOptions {\n const newOpts: Partial<BlockieOptions> = {};\n\n newOpts.seed = opts.seed || Math.floor(Math.random() * 10 ** 16).toString(16);\n\n seedRand(newOpts.seed);\n\n newOpts.size = opts.size || 8;\n newOpts.scale = opts.scale || 8;\n newOpts.color = opts.color || createColor();\n newOpts.bgcolor = opts.bgcolor || createColor();\n newOpts.spotColor = opts.spotColor || createColor();\n\n return newOpts as BlockieOptions;\n}\n\nfunction renderIcon(opts: Partial<BlockieOptions>, canvas: HTMLCanvasElement): HTMLCanvasElement {\n const newOpts: BlockieOptions = buildOpts(opts || {});\n const imageData = createImageData(newOpts.size);\n const width = Math.sqrt(imageData.length);\n\n canvas.width = canvas.height = newOpts.size * newOpts.scale;\n\n const cc = canvas.getContext('2d') as CanvasRenderingContext2D;\n if (cc) {\n cc.fillStyle = newOpts.bgcolor;\n cc.fillRect(0, 0, canvas.width, canvas.height);\n cc.fillStyle = newOpts.color;\n\n for (const [i, imageDatum] of imageData.entries()) {\n // if data is 0, leave the background\n if (imageDatum) {\n const row = Math.floor(i / width);\n const col = i % width;\n\n // if data is 2, choose spot color, if 1 choose foreground\n cc.fillStyle = imageDatum === 1 ? newOpts.color : newOpts.spotColor;\n\n cc.fillRect(col * newOpts.scale, row * newOpts.scale, newOpts.scale, newOpts.scale);\n }\n }\n }\n\n return canvas;\n}\n\nexport function createBlockie(opts: Partial<BlockieOptions>): string {\n const canvas = document.createElement('canvas');\n\n renderIcon(opts, canvas);\n\n return canvas.toDataURL('image/jpeg');\n}\n"],"mappings":";AAuBA,IAAM,WAAW,IAAI,MAAM,EAAE;AAE7B,SAAS,SAAS,MAAoB;AACpC,MAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,IAAK,UAAS,KAAK;AAExD,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,UAAS,IAAI,MAAM,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,WAAW,EAAE;;AAGnF,SAAS,OAAe;CAEtB,MAAM,IAAI,SAAS,KAAM,SAAS,MAAM;AAExC,UAAS,KAAK,SAAS;AACvB,UAAS,KAAK,SAAS;AACvB,UAAS,KAAK,SAAS;AACvB,UAAS,KAAK,SAAS,KAAM,SAAS,MAAM,KAAM,IAAK,KAAK;AAE5D,SAAQ,SAAS,OAAO,MAAO,KAAK,OAAQ;;AAG9C,SAAS,cAAsB;AAQ7B,QAAO,OANG,KAAK,MAAM,MAAM,GAAG,IAAI,CAMlB,GAJN,GAAG,MAAM,GAAG,KAAK,GAAG,GAIT,GAFX,IAAI,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,GAAG,GAE5B;;AAG5B,SAAS,gBAAgB,MAAwB;CAC/C,MAAM,QAAQ;CACd,MAAM,SAAS;CAEf,MAAM,YAAY,KAAK,KAAK,QAAQ,EAAE;CACtC,MAAM,cAAc,QAAQ;CAE5B,MAAM,OAAO,EAAE;AACf,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK;EAC/B,IAAI,MAAM,EAAE;AACZ,OAAK,IAAI,IAAI,GAAG,IAAI,WAAW,IAG7B,KAAI,KAAK,KAAK,MAAM,MAAM,GAAG,IAAI;EAEnC,MAAM,IAAI,IAAI,MAAM,GAAG,YAAY;AACnC,IAAE,SAAS;AACX,QAAM,IAAI,OAAO,EAAE;AAEnB,OAAK,MAAM,WAAW,IAAK,MAAK,KAAK,QAAQ;;AAG/C,QAAO;;AAGT,SAAS,UAAU,MAA+C;CAChE,MAAM,UAAmC,EAAE;AAE3C,SAAQ,OAAO,KAAK,QAAQ,KAAK,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,CAAC,SAAS,GAAG;AAE7E,UAAS,QAAQ,KAAK;AAEtB,SAAQ,OAAO,KAAK,QAAQ;AAC5B,SAAQ,QAAQ,KAAK,SAAS;AAC9B,SAAQ,QAAQ,KAAK,SAAS,aAAa;AAC3C,SAAQ,UAAU,KAAK,WAAW,aAAa;AAC/C,SAAQ,YAAY,KAAK,aAAa,aAAa;AAEnD,QAAO;;AAGT,SAAS,WAAW,MAA+B,QAA8C;CAC/F,MAAM,UAA0B,UAAU,QAAQ,EAAE,CAAC;CACrD,MAAM,YAAY,gBAAgB,QAAQ,KAAK;CAC/C,MAAM,QAAQ,KAAK,KAAK,UAAU,OAAO;AAEzC,QAAO,QAAQ,OAAO,SAAS,QAAQ,OAAO,QAAQ;CAEtD,MAAM,KAAK,OAAO,WAAW,KAAK;AAClC,KAAI,IAAI;AACN,KAAG,YAAY,QAAQ;AACvB,KAAG,SAAS,GAAG,GAAG,OAAO,OAAO,OAAO,OAAO;AAC9C,KAAG,YAAY,QAAQ;AAEvB,OAAK,MAAM,CAAC,GAAG,eAAe,UAAU,SAAS,CAE/C,KAAI,YAAY;GACd,MAAM,MAAM,KAAK,MAAM,IAAI,MAAM;GACjC,MAAM,MAAM,IAAI;AAGhB,MAAG,YAAY,eAAe,IAAI,QAAQ,QAAQ,QAAQ;AAE1D,MAAG,SAAS,MAAM,QAAQ,OAAO,MAAM,QAAQ,OAAO,QAAQ,OAAO,QAAQ,MAAM;;;AAKzF,QAAO;;AAGT,SAAgB,cAAc,MAAuC;CACnE,MAAM,SAAS,SAAS,cAAc,SAAS;AAE/C,YAAW,MAAM,OAAO;AAExB,QAAO,OAAO,UAAU,aAAa"}
1
+ {"version":3,"file":"blockie.js","names":[],"sources":["../../src/utils/blockie.ts"],"sourcesContent":["// Source: https://github.com/ethereum/blockies\n// The random number is a js implementation of the Xorshift PRNG\ninterface BlockieOptions {\n /** seed used to generate icon data, default: random */\n seed: string;\n /** to manually specify the icon color, default: random */\n color: string;\n /** choose a different background color, default: random */\n bgcolor: string;\n /** width/height of the icon in blocks, default: 8 */\n size: number;\n /** width/height of each block in pixels, default: 4 */\n scale: number;\n /**\n * each pixel has a 13% chance of being of a third color, default: random.\n *\n * Set to -1 to disable it.\n *\n * These \"spots\" create structures that look like eyes, mouths and noses.\n */\n spotColor: string;\n}\n\nconst randSeed = new Array(4); // Xorshift: [x, y, z, w] 32 bit values\n\nfunction seedRand(seed: string): void {\n for (let i = 0; i < randSeed.length; i++) randSeed[i] = 0;\n\n for (let i = 0; i < seed.length; i++)\n randSeed[i % 4] = (randSeed[i % 4] << 5) - randSeed[i % 4] + seed.charCodeAt(i);\n}\n\nfunction rand(): number {\n // based on Java's String.hashCode(), expanded to 4 32bit values\n const t = randSeed[0] ^ (randSeed[0] << 11);\n\n randSeed[0] = randSeed[1];\n randSeed[1] = randSeed[2];\n randSeed[2] = randSeed[3];\n randSeed[3] = randSeed[3] ^ (randSeed[3] >> 19) ^ t ^ (t >> 8);\n\n return (randSeed[3] >>> 0) / ((1 << 31) >>> 0);\n}\n\nfunction createColor(): string {\n // saturation is the whole color spectrum\n const h = Math.floor(rand() * 360);\n // saturation goes from 40 to 100, it avoids greyish colors\n const s = `${rand() * 60 + 40}%`;\n // lightness can be anything from 0 to 100, but probabilities are a bell curve around 50%\n const l = `${(rand() + rand() + rand() + rand()) * 25}%`;\n\n return `hsl(${h},${s},${l})`;\n}\n\nfunction createImageData(size: number): number[] {\n const width = size; // Only support square icons for now\n const height = size;\n\n const dataWidth = Math.ceil(width / 2);\n const mirrorWidth = width - dataWidth;\n\n const data = [];\n for (let y = 0; y < height; y++) {\n let row = [];\n for (let x = 0; x < dataWidth; x++) {\n // this makes foreground and background color to have a 43% (1/2.3) probability\n // spot color has 13% chance\n row[x] = Math.floor(rand() * 2.3);\n }\n const r = row.slice(0, mirrorWidth);\n r.reverse();\n row = row.concat(r);\n\n for (const element of row) data.push(element);\n }\n\n return data;\n}\n\nfunction buildOpts(opts: Partial<BlockieOptions>): BlockieOptions {\n const newOpts: Partial<BlockieOptions> = {};\n\n newOpts.seed = opts.seed || Math.floor(Math.random() * 10 ** 16).toString(16);\n\n seedRand(newOpts.seed);\n\n newOpts.size = opts.size || 8;\n newOpts.scale = opts.scale || 8;\n newOpts.color = opts.color || createColor();\n newOpts.bgcolor = opts.bgcolor || createColor();\n newOpts.spotColor = opts.spotColor || createColor();\n\n return newOpts as BlockieOptions;\n}\n\nfunction renderIcon(opts: Partial<BlockieOptions>, canvas: HTMLCanvasElement): HTMLCanvasElement {\n const newOpts: BlockieOptions = buildOpts(opts || {});\n const imageData = createImageData(newOpts.size);\n const width = Math.sqrt(imageData.length);\n\n canvas.width = canvas.height = newOpts.size * newOpts.scale;\n\n const cc = canvas.getContext('2d') as CanvasRenderingContext2D;\n if (cc) {\n cc.fillStyle = newOpts.bgcolor;\n cc.fillRect(0, 0, canvas.width, canvas.height);\n cc.fillStyle = newOpts.color;\n\n for (const [i, imageDatum] of imageData.entries()) {\n // if data is 0, leave the background\n if (imageDatum) {\n const row = Math.floor(i / width);\n const col = i % width;\n\n // if data is 2, choose spot color, if 1 choose foreground\n cc.fillStyle = imageDatum === 1 ? newOpts.color : newOpts.spotColor;\n\n cc.fillRect(col * newOpts.scale, row * newOpts.scale, newOpts.scale, newOpts.scale);\n }\n }\n }\n\n return canvas;\n}\n\nexport function createBlockie(opts: Partial<BlockieOptions>): string {\n const canvas = document.createElement('canvas');\n\n renderIcon(opts, canvas);\n\n return canvas.toDataURL('image/jpeg');\n}\n"],"mappings":";AAuBA,IAAM,WAAW,IAAI,MAAM,CAAC;AAE5B,SAAS,SAAS,MAAoB;CACpC,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK,SAAS,KAAK;CAExD,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAC/B,SAAS,IAAI,MAAM,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,WAAW,CAAC;AAClF;AAEA,SAAS,OAAe;CAEtB,MAAM,IAAI,SAAS,KAAM,SAAS,MAAM;CAExC,SAAS,KAAK,SAAS;CACvB,SAAS,KAAK,SAAS;CACvB,SAAS,KAAK,SAAS;CACvB,SAAS,KAAK,SAAS,KAAM,SAAS,MAAM,KAAM,IAAK,KAAK;CAE5D,QAAQ,SAAS,OAAO,MAAO,KAAK,OAAQ;AAC9C;AAEA,SAAS,cAAsB;CAQ7B,OAAO,OANG,KAAK,MAAM,KAAK,IAAI,GAMhB,EAAE,GAAG,GAJN,KAAK,IAAI,KAAK,GAAG,GAIT,GAAG,IAFV,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,GAE5B;AAC5B;AAEA,SAAS,gBAAgB,MAAwB;CAC/C,MAAM,QAAQ;CACd,MAAM,SAAS;CAEf,MAAM,YAAY,KAAK,KAAK,QAAQ,CAAC;CACrC,MAAM,cAAc,QAAQ;CAE5B,MAAM,OAAO,CAAC;CACd,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK;EAC/B,IAAI,MAAM,CAAC;EACX,KAAK,IAAI,IAAI,GAAG,IAAI,WAAW,KAG7B,IAAI,KAAK,KAAK,MAAM,KAAK,IAAI,GAAG;EAElC,MAAM,IAAI,IAAI,MAAM,GAAG,WAAW;EAClC,EAAE,QAAQ;EACV,MAAM,IAAI,OAAO,CAAC;EAElB,KAAK,MAAM,WAAW,KAAK,KAAK,KAAK,OAAO;CAC9C;CAEA,OAAO;AACT;AAEA,SAAS,UAAU,MAA+C;CAChE,MAAM,UAAmC,CAAC;CAE1C,QAAQ,OAAO,KAAK,QAAQ,KAAK,MAAM,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE;CAE5E,SAAS,QAAQ,IAAI;CAErB,QAAQ,OAAO,KAAK,QAAQ;CAC5B,QAAQ,QAAQ,KAAK,SAAS;CAC9B,QAAQ,QAAQ,KAAK,SAAS,YAAY;CAC1C,QAAQ,UAAU,KAAK,WAAW,YAAY;CAC9C,QAAQ,YAAY,KAAK,aAAa,YAAY;CAElD,OAAO;AACT;AAEA,SAAS,WAAW,MAA+B,QAA8C;CAC/F,MAAM,UAA0B,UAAU,QAAQ,CAAC,CAAC;CACpD,MAAM,YAAY,gBAAgB,QAAQ,IAAI;CAC9C,MAAM,QAAQ,KAAK,KAAK,UAAU,MAAM;CAExC,OAAO,QAAQ,OAAO,SAAS,QAAQ,OAAO,QAAQ;CAEtD,MAAM,KAAK,OAAO,WAAW,IAAI;CACjC,IAAI,IAAI;EACN,GAAG,YAAY,QAAQ;EACvB,GAAG,SAAS,GAAG,GAAG,OAAO,OAAO,OAAO,MAAM;EAC7C,GAAG,YAAY,QAAQ;EAEvB,KAAK,MAAM,CAAC,GAAG,eAAe,UAAU,QAAQ,GAE9C,IAAI,YAAY;GACd,MAAM,MAAM,KAAK,MAAM,IAAI,KAAK;GAChC,MAAM,MAAM,IAAI;GAGhB,GAAG,YAAY,eAAe,IAAI,QAAQ,QAAQ,QAAQ;GAE1D,GAAG,SAAS,MAAM,QAAQ,OAAO,MAAM,QAAQ,OAAO,QAAQ,OAAO,QAAQ,KAAK;EACpF;CAEJ;CAEA,OAAO;AACT;AAEA,SAAgB,cAAc,MAAuC;CACnE,MAAM,SAAS,SAAS,cAAc,QAAQ;CAE9C,WAAW,MAAM,MAAM;CAEvB,OAAO,OAAO,UAAU,YAAY;AACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-text-detail.js","names":[],"sources":["../../src/utils/form-text-detail.ts"],"sourcesContent":["import type { ComputedRef, MaybeRefOrGetter } from 'vue';\n\nexport type ValidationState = 'error' | 'success' | undefined;\n\nexport interface FormTextDetailReturn {\n formattedErrorMessages: ComputedRef<string[]>;\n formattedSuccessMessages: ComputedRef<string[]>;\n hasError: ComputedRef<boolean>;\n hasMessages: ComputedRef<boolean>;\n hasSuccess: ComputedRef<boolean>;\n validation: ComputedRef<ValidationState>;\n}\n\nexport function useFormTextDetail(\n errorMessages: MaybeRefOrGetter<string | string[]>,\n successMessages: MaybeRefOrGetter<string | string[]>,\n): FormTextDetailReturn {\n const formattedErrorMessages = computed<string[]>(() => {\n let errorMessagesVal = toValue(errorMessages);\n if (typeof errorMessagesVal === 'string')\n errorMessagesVal = [errorMessagesVal];\n\n return errorMessagesVal.filter(item => !!item);\n });\n\n const formattedSuccessMessages = computed<string[]>(() => {\n let successMessagesVal = toValue(successMessages);\n if (typeof successMessagesVal === 'string')\n successMessagesVal = [successMessagesVal];\n\n return successMessagesVal.filter(item => !!item);\n });\n\n const hasError = computed<boolean>(() => get(formattedErrorMessages).length > 0);\n const hasSuccess = computed<boolean>(() => get(formattedSuccessMessages).length > 0);\n const hasMessages = computed<boolean>(() => get(hasError) || get(hasSuccess));\n\n const validation = computed<ValidationState>(() => {\n if (get(hasError))\n return 'error';\n if (get(hasSuccess))\n return 'success';\n return undefined;\n });\n\n return {\n formattedErrorMessages,\n formattedSuccessMessages,\n hasError,\n hasMessages,\n hasSuccess,\n validation,\n };\n}\n"],"mappings":";;;AAaA,SAAgB,kBACd,eACA,iBACsB;CACtB,MAAM,yBAAyB,eAAyB;EACtD,IAAI,mBAAmB,QAAQ,cAAc;AAC7C,MAAI,OAAO,qBAAqB,SAC9B,oBAAmB,CAAC,iBAAiB;AAEvC,SAAO,iBAAiB,QAAO,SAAQ,CAAC,CAAC,KAAK;GAC9C;CAEF,MAAM,2BAA2B,eAAyB;EACxD,IAAI,qBAAqB,QAAQ,gBAAgB;AACjD,MAAI,OAAO,uBAAuB,SAChC,sBAAqB,CAAC,mBAAmB;AAE3C,SAAO,mBAAmB,QAAO,SAAQ,CAAC,CAAC,KAAK;GAChD;CAEF,MAAM,WAAW,eAAwB,IAAI,uBAAuB,CAAC,SAAS,EAAE;CAChF,MAAM,aAAa,eAAwB,IAAI,yBAAyB,CAAC,SAAS,EAAE;AAWpF,QAAO;EACL;EACA;EACA;EACA,aAdkB,eAAwB,IAAI,SAAS,IAAI,IAAI,WAAW,CAAC;EAe3E;EACA,YAdiB,eAAgC;AACjD,OAAI,IAAI,SAAS,CACf,QAAO;AACT,OAAI,IAAI,WAAW,CACjB,QAAO;IAET;EASD"}
1
+ {"version":3,"file":"form-text-detail.js","names":[],"sources":["../../src/utils/form-text-detail.ts"],"sourcesContent":["import type { ComputedRef, MaybeRefOrGetter } from 'vue';\n\nexport type ValidationState = 'error' | 'success' | undefined;\n\nexport interface FormTextDetailReturn {\n formattedErrorMessages: ComputedRef<string[]>;\n formattedSuccessMessages: ComputedRef<string[]>;\n hasError: ComputedRef<boolean>;\n hasMessages: ComputedRef<boolean>;\n hasSuccess: ComputedRef<boolean>;\n validation: ComputedRef<ValidationState>;\n}\n\nexport function useFormTextDetail(\n errorMessages: MaybeRefOrGetter<string | string[]>,\n successMessages: MaybeRefOrGetter<string | string[]>,\n): FormTextDetailReturn {\n const formattedErrorMessages = computed<string[]>(() => {\n let errorMessagesVal = toValue(errorMessages);\n if (typeof errorMessagesVal === 'string')\n errorMessagesVal = [errorMessagesVal];\n\n return errorMessagesVal.filter(item => !!item);\n });\n\n const formattedSuccessMessages = computed<string[]>(() => {\n let successMessagesVal = toValue(successMessages);\n if (typeof successMessagesVal === 'string')\n successMessagesVal = [successMessagesVal];\n\n return successMessagesVal.filter(item => !!item);\n });\n\n const hasError = computed<boolean>(() => get(formattedErrorMessages).length > 0);\n const hasSuccess = computed<boolean>(() => get(formattedSuccessMessages).length > 0);\n const hasMessages = computed<boolean>(() => get(hasError) || get(hasSuccess));\n\n const validation = computed<ValidationState>(() => {\n if (get(hasError))\n return 'error';\n if (get(hasSuccess))\n return 'success';\n return undefined;\n });\n\n return {\n formattedErrorMessages,\n formattedSuccessMessages,\n hasError,\n hasMessages,\n hasSuccess,\n validation,\n };\n}\n"],"mappings":";;;AAaA,SAAgB,kBACd,eACA,iBACsB;CACtB,MAAM,yBAAyB,eAAyB;EACtD,IAAI,mBAAmB,QAAQ,aAAa;EAC5C,IAAI,OAAO,qBAAqB,UAC9B,mBAAmB,CAAC,gBAAgB;EAEtC,OAAO,iBAAiB,QAAO,SAAQ,CAAC,CAAC,IAAI;CAC/C,CAAC;CAED,MAAM,2BAA2B,eAAyB;EACxD,IAAI,qBAAqB,QAAQ,eAAe;EAChD,IAAI,OAAO,uBAAuB,UAChC,qBAAqB,CAAC,kBAAkB;EAE1C,OAAO,mBAAmB,QAAO,SAAQ,CAAC,CAAC,IAAI;CACjD,CAAC;CAED,MAAM,WAAW,eAAwB,IAAI,sBAAsB,CAAC,CAAC,SAAS,CAAC;CAC/E,MAAM,aAAa,eAAwB,IAAI,wBAAwB,CAAC,CAAC,SAAS,CAAC;CAWnF,OAAO;EACL;EACA;EACA;EACA,aAdkB,eAAwB,IAAI,QAAQ,KAAK,IAAI,UAAU,CAczE;EACA;EACA,YAdiB,eAAgC;GACjD,IAAI,IAAI,QAAQ,GACd,OAAO;GACT,IAAI,IAAI,UAAU,GAChB,OAAO;EAEX,CAQE;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":[],"sources":["../../src/utils/helpers.ts"],"sourcesContent":["import type { SetupContext } from 'vue';\nimport { objectOmit, objectPick } from '@vueuse/shared';\nimport { camelCase, snakeCase } from 'scule';\n\ninterface FormatNumberOptions {\n fractionDigits?: number;\n}\n\ntype SetupContextAttrs = SetupContext['attrs'];\n\ntype SetupContextAttrsKeys = (keyof SetupContextAttrs)[];\n\nfunction formatNumber(\n amount: number | string,\n { fractionDigits = 2 }: FormatNumberOptions,\n): string {\n return new Intl.NumberFormat(undefined, {\n maximumFractionDigits: fractionDigits,\n minimumFractionDigits: fractionDigits,\n }).format(Number(amount));\n}\n\n/**\n * Format number value without fraction\n * @param {number} amount\n */\nexport function formatInteger(amount: number | string): string {\n return formatNumber(amount, { fractionDigits: 0 });\n}\n\n/**\n * Generates and returns the array of root allowed attributes\n * @param {SetupContextAttrs} data\n * @returns {SetupContextAttrsKeys}\n */\nfunction getRootKeys(data: SetupContextAttrs): SetupContextAttrsKeys {\n return Object.keys(data).filter(key => key.startsWith('data-')) as SetupContextAttrsKeys;\n}\n\n/**\n * Picks only required attributes for root element\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} include\n * @returns {Pick<SetupContextAttrs, any>}\n */\nexport function getRootAttrs(data: SetupContextAttrs, include: SetupContextAttrsKeys = ['class']) {\n return objectPick(data, [...getRootKeys(data), ...include]);\n}\n\n/**\n * Omits root attributes from component's attributes\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} exclude\n * @returns {Omit<SetupContextAttrs, any>}\n */\nexport function getNonRootAttrs(\n data: SetupContextAttrs,\n exclude: SetupContextAttrsKeys = ['class'],\n) {\n return objectOmit(data, [...getRootKeys(data), ...exclude]);\n}\n\n/**\n * Transforms the keys of an object to either camelCase or snake_case\n * @param {T} item\n * @param {\"camelCase\" | \"snake_case\"} to\n * @returns {Record<string, any>}\n */\nexport function transformCase<T extends object>(\n item: T,\n to: 'camelCase' | 'snake_case',\n): Record<string, T[keyof T]> {\n if (!item)\n return item;\n\n return Object.keys(item).reduce(\n (acc, curr) => {\n if (to === 'camelCase')\n acc[camelCase(curr)] = item[curr as keyof T];\n else acc[snakeCase(curr)] = item[curr as keyof T];\n\n return acc;\n },\n {} as Record<string, T[keyof T]>,\n );\n}\n\n/**\n *\n * @param {string} string - String to convert\n * @return {string} - String converted to text token, mostly used to matching keyword\n * @example\n * getTextToken('this is a sentence'); // thisisasentence\n */\n\nexport function getTextToken(string: unknown): string {\n if (!string)\n return '';\n\n return string\n .toString()\n .toLowerCase()\n .replace(/[^\\da-z]/gi, '');\n}\n\nexport function transformPropsUnit(value?: string | number): string | undefined {\n if (value === undefined || (typeof value === 'string' && isNaN(Number(value))))\n return value;\n return `${value}px`;\n}\n\n/**\n * Formats a byte count into a human-readable string (e.g. \"1.2 MB\").\n */\nexport function formatFileSize(bytes: number): string {\n if (!Number.isFinite(bytes) || bytes < 0)\n return '0 B';\n if (bytes < 1024)\n return `${bytes} B`;\n const units = ['KB', 'MB', 'GB', 'TB'];\n let value = bytes / 1024;\n let unitIndex = 0;\n while (value >= 1024 && unitIndex < units.length - 1) {\n value /= 1024;\n unitIndex++;\n }\n return `${value.toFixed(value >= 10 ? 0 : 1)} ${units[unitIndex]}`;\n}\n"],"mappings":";;;AAYA,SAAS,aACP,QACA,EAAE,iBAAiB,KACX;AACR,QAAO,IAAI,KAAK,aAAa,KAAA,GAAW;EACtC,uBAAuB;EACvB,uBAAuB;EACxB,CAAC,CAAC,OAAO,OAAO,OAAO,CAAC;;;;;;AAO3B,SAAgB,cAAc,QAAiC;AAC7D,QAAO,aAAa,QAAQ,EAAE,gBAAgB,GAAG,CAAC;;;;;;;AAQpD,SAAS,YAAY,MAAgD;AACnE,QAAO,OAAO,KAAK,KAAK,CAAC,QAAO,QAAO,IAAI,WAAW,QAAQ,CAAC;;;;;;;;AASjE,SAAgB,aAAa,MAAyB,UAAiC,CAAC,QAAQ,EAAE;AAChG,QAAO,WAAW,MAAM,CAAC,GAAG,YAAY,KAAK,EAAE,GAAG,QAAQ,CAAC;;;;;;;;AAS7D,SAAgB,gBACd,MACA,UAAiC,CAAC,QAAQ,EAC1C;AACA,QAAO,WAAW,MAAM,CAAC,GAAG,YAAY,KAAK,EAAE,GAAG,QAAQ,CAAC;;;;;;;;AAS7D,SAAgB,cACd,MACA,IAC4B;AAC5B,KAAI,CAAC,KACH,QAAO;AAET,QAAO,OAAO,KAAK,KAAK,CAAC,QACtB,KAAK,SAAS;AACb,MAAI,OAAO,YACT,KAAI,UAAU,KAAK,IAAI,KAAK;MACzB,KAAI,UAAU,KAAK,IAAI,KAAK;AAEjC,SAAO;IAET,EAAE,CACH;;;;;;;;;AAWH,SAAgB,aAAa,QAAyB;AACpD,KAAI,CAAC,OACH,QAAO;AAET,QAAO,OACJ,UAAU,CACV,aAAa,CACb,QAAQ,cAAc,GAAG;;AAG9B,SAAgB,mBAAmB,OAA6C;AAC9E,KAAI,UAAU,KAAA,KAAc,OAAO,UAAU,YAAY,MAAM,OAAO,MAAM,CAAC,CAC3E,QAAO;AACT,QAAO,GAAG,MAAM;;;;;AAMlB,SAAgB,eAAe,OAAuB;AACpD,KAAI,CAAC,OAAO,SAAS,MAAM,IAAI,QAAQ,EACrC,QAAO;AACT,KAAI,QAAQ,KACV,QAAO,GAAG,MAAM;CAClB,MAAM,QAAQ;EAAC;EAAM;EAAM;EAAM;EAAK;CACtC,IAAI,QAAQ,QAAQ;CACpB,IAAI,YAAY;AAChB,QAAO,SAAS,QAAQ,YAAY,MAAM,SAAS,GAAG;AACpD,WAAS;AACT;;AAEF,QAAO,GAAG,MAAM,QAAQ,SAAS,KAAK,IAAI,EAAE,CAAC,GAAG,MAAM"}
1
+ {"version":3,"file":"helpers.js","names":[],"sources":["../../src/utils/helpers.ts"],"sourcesContent":["import type { SetupContext } from 'vue';\nimport { objectOmit, objectPick } from '@vueuse/shared';\nimport { camelCase, snakeCase } from 'scule';\n\ninterface FormatNumberOptions {\n fractionDigits?: number;\n}\n\ntype SetupContextAttrs = SetupContext['attrs'];\n\ntype SetupContextAttrsKeys = (keyof SetupContextAttrs)[];\n\nfunction formatNumber(\n amount: number | string,\n { fractionDigits = 2 }: FormatNumberOptions,\n): string {\n return new Intl.NumberFormat(undefined, {\n maximumFractionDigits: fractionDigits,\n minimumFractionDigits: fractionDigits,\n }).format(Number(amount));\n}\n\n/**\n * Format number value without fraction\n * @param {number} amount\n */\nexport function formatInteger(amount: number | string): string {\n return formatNumber(amount, { fractionDigits: 0 });\n}\n\n/**\n * Generates and returns the array of root allowed attributes\n * @param {SetupContextAttrs} data\n * @returns {SetupContextAttrsKeys}\n */\nfunction getRootKeys(data: SetupContextAttrs): SetupContextAttrsKeys {\n return Object.keys(data).filter(key => key.startsWith('data-')) as SetupContextAttrsKeys;\n}\n\n/**\n * Picks only required attributes for root element\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} include\n * @returns {Pick<SetupContextAttrs, any>}\n */\nexport function getRootAttrs(data: SetupContextAttrs, include: SetupContextAttrsKeys = ['class']) {\n return objectPick(data, [...getRootKeys(data), ...include]);\n}\n\n/**\n * Omits root attributes from component's attributes\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} exclude\n * @returns {Omit<SetupContextAttrs, any>}\n */\nexport function getNonRootAttrs(\n data: SetupContextAttrs,\n exclude: SetupContextAttrsKeys = ['class'],\n) {\n return objectOmit(data, [...getRootKeys(data), ...exclude]);\n}\n\n/**\n * Transforms the keys of an object to either camelCase or snake_case\n * @param {T} item\n * @param {\"camelCase\" | \"snake_case\"} to\n * @returns {Record<string, any>}\n */\nexport function transformCase<T extends object>(\n item: T,\n to: 'camelCase' | 'snake_case',\n): Record<string, T[keyof T]> {\n if (!item)\n return item;\n\n return Object.keys(item).reduce(\n (acc, curr) => {\n if (to === 'camelCase')\n acc[camelCase(curr)] = item[curr as keyof T];\n else acc[snakeCase(curr)] = item[curr as keyof T];\n\n return acc;\n },\n {} as Record<string, T[keyof T]>,\n );\n}\n\n/**\n *\n * @param {string} string - String to convert\n * @return {string} - String converted to text token, mostly used to matching keyword\n * @example\n * getTextToken('this is a sentence'); // thisisasentence\n */\n\nexport function getTextToken(string: unknown): string {\n if (!string)\n return '';\n\n return string\n .toString()\n .toLowerCase()\n .replace(/[^\\da-z]/gi, '');\n}\n\nexport function transformPropsUnit(value?: string | number): string | undefined {\n if (value === undefined || (typeof value === 'string' && isNaN(Number(value))))\n return value;\n return `${value}px`;\n}\n\n/**\n * Formats a byte count into a human-readable string (e.g. \"1.2 MB\").\n */\nexport function formatFileSize(bytes: number): string {\n if (!Number.isFinite(bytes) || bytes < 0)\n return '0 B';\n if (bytes < 1024)\n return `${bytes} B`;\n const units = ['KB', 'MB', 'GB', 'TB'];\n let value = bytes / 1024;\n let unitIndex = 0;\n while (value >= 1024 && unitIndex < units.length - 1) {\n value /= 1024;\n unitIndex++;\n }\n return `${value.toFixed(value >= 10 ? 0 : 1)} ${units[unitIndex]}`;\n}\n"],"mappings":";;;AAYA,SAAS,aACP,QACA,EAAE,iBAAiB,KACX;CACR,OAAO,IAAI,KAAK,aAAa,KAAA,GAAW;EACtC,uBAAuB;EACvB,uBAAuB;CACzB,CAAC,CAAC,CAAC,OAAO,OAAO,MAAM,CAAC;AAC1B;;;;;AAMA,SAAgB,cAAc,QAAiC;CAC7D,OAAO,aAAa,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACnD;;;;;;AAOA,SAAS,YAAY,MAAgD;CACnE,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,QAAO,QAAO,IAAI,WAAW,OAAO,CAAC;AAChE;;;;;;;AAQA,SAAgB,aAAa,MAAyB,UAAiC,CAAC,OAAO,GAAG;CAChG,OAAO,WAAW,MAAM,CAAC,GAAG,YAAY,IAAI,GAAG,GAAG,OAAO,CAAC;AAC5D;;;;;;;AAQA,SAAgB,gBACd,MACA,UAAiC,CAAC,OAAO,GACzC;CACA,OAAO,WAAW,MAAM,CAAC,GAAG,YAAY,IAAI,GAAG,GAAG,OAAO,CAAC;AAC5D;;;;;;;AAQA,SAAgB,cACd,MACA,IAC4B;CAC5B,IAAI,CAAC,MACH,OAAO;CAET,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,QACtB,KAAK,SAAS;EACb,IAAI,OAAO,aACT,IAAI,UAAU,IAAI,KAAK,KAAK;OACzB,IAAI,UAAU,IAAI,KAAK,KAAK;EAEjC,OAAO;CACT,GACA,CAAC,CACH;AACF;;;;;;;;AAUA,SAAgB,aAAa,QAAyB;CACpD,IAAI,CAAC,QACH,OAAO;CAET,OAAO,OACJ,SAAS,CAAC,CACV,YAAY,CAAC,CACb,QAAQ,cAAc,EAAE;AAC7B;AAEA,SAAgB,mBAAmB,OAA6C;CAC9E,IAAI,UAAU,KAAA,KAAc,OAAO,UAAU,YAAY,MAAM,OAAO,KAAK,CAAC,GAC1E,OAAO;CACT,OAAO,GAAG,MAAM;AAClB;;;;AAKA,SAAgB,eAAe,OAAuB;CACpD,IAAI,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,GACrC,OAAO;CACT,IAAI,QAAQ,MACV,OAAO,GAAG,MAAM;CAClB,MAAM,QAAQ;EAAC;EAAM;EAAM;EAAM;CAAI;CACrC,IAAI,QAAQ,QAAQ;CACpB,IAAI,YAAY;CAChB,OAAO,SAAS,QAAQ,YAAY,MAAM,SAAS,GAAG;EACpD,SAAS;EACT;CACF;CACA,OAAO,GAAG,MAAM,QAAQ,SAAS,KAAK,IAAI,CAAC,EAAE,GAAG,MAAM;AACxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-equal.js","names":[],"sources":["../../src/utils/is-equal.ts"],"sourcesContent":["export function isEqual(value: unknown, other: unknown): boolean {\n // Check if the values are identical (covers primitives and functions)\n if (value === other)\n return true;\n\n // Check if the values are null or undefined\n if (value == null || other == null)\n return value === other;\n\n // Check if the values are of different types\n if (typeof value !== typeof other)\n return false;\n\n // Compare arrays\n if (Array.isArray(value)) {\n if (!Array.isArray(other) || value.length !== other.length)\n return false;\n\n for (const [i, element] of value.entries()) {\n if (!isEqual(element, other[i]))\n return false;\n }\n return true;\n }\n\n // Compare objects\n if (typeof value === 'object') {\n const valueRecord = value as Record<string, unknown>;\n const otherRecord = other as Record<string, unknown>;\n const valueKeys = Object.keys(valueRecord);\n const otherKeys = Object.keys(otherRecord);\n\n if (valueKeys.length !== otherKeys.length)\n return false;\n\n for (const key of valueKeys) {\n if (!isEqual(valueRecord[key], otherRecord[key]))\n return false;\n }\n return true;\n }\n\n // If the values are neither primitives, arrays, nor objects, return false\n return false;\n}\n"],"mappings":";AAAA,SAAgB,QAAQ,OAAgB,OAAyB;AAE/D,KAAI,UAAU,MACZ,QAAO;AAGT,KAAI,SAAS,QAAQ,SAAS,KAC5B,QAAO,UAAU;AAGnB,KAAI,OAAO,UAAU,OAAO,MAC1B,QAAO;AAGT,KAAI,MAAM,QAAQ,MAAM,EAAE;AACxB,MAAI,CAAC,MAAM,QAAQ,MAAM,IAAI,MAAM,WAAW,MAAM,OAClD,QAAO;AAET,OAAK,MAAM,CAAC,GAAG,YAAY,MAAM,SAAS,CACxC,KAAI,CAAC,QAAQ,SAAS,MAAM,GAAG,CAC7B,QAAO;AAEX,SAAO;;AAIT,KAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,cAAc;EACpB,MAAM,cAAc;EACpB,MAAM,YAAY,OAAO,KAAK,YAAY;EAC1C,MAAM,YAAY,OAAO,KAAK,YAAY;AAE1C,MAAI,UAAU,WAAW,UAAU,OACjC,QAAO;AAET,OAAK,MAAM,OAAO,UAChB,KAAI,CAAC,QAAQ,YAAY,MAAM,YAAY,KAAK,CAC9C,QAAO;AAEX,SAAO;;AAIT,QAAO"}
1
+ {"version":3,"file":"is-equal.js","names":[],"sources":["../../src/utils/is-equal.ts"],"sourcesContent":["export function isEqual(value: unknown, other: unknown): boolean {\n // Check if the values are identical (covers primitives and functions)\n if (value === other)\n return true;\n\n // Check if the values are null or undefined\n if (value == null || other == null)\n return value === other;\n\n // Check if the values are of different types\n if (typeof value !== typeof other)\n return false;\n\n // Compare arrays\n if (Array.isArray(value)) {\n if (!Array.isArray(other) || value.length !== other.length)\n return false;\n\n for (const [i, element] of value.entries()) {\n if (!isEqual(element, other[i]))\n return false;\n }\n return true;\n }\n\n // Compare objects\n if (typeof value === 'object') {\n const valueRecord = value as Record<string, unknown>;\n const otherRecord = other as Record<string, unknown>;\n const valueKeys = Object.keys(valueRecord);\n const otherKeys = Object.keys(otherRecord);\n\n if (valueKeys.length !== otherKeys.length)\n return false;\n\n for (const key of valueKeys) {\n if (!isEqual(valueRecord[key], otherRecord[key]))\n return false;\n }\n return true;\n }\n\n // If the values are neither primitives, arrays, nor objects, return false\n return false;\n}\n"],"mappings":";AAAA,SAAgB,QAAQ,OAAgB,OAAyB;CAE/D,IAAI,UAAU,OACZ,OAAO;CAGT,IAAI,SAAS,QAAQ,SAAS,MAC5B,OAAO,UAAU;CAGnB,IAAI,OAAO,UAAU,OAAO,OAC1B,OAAO;CAGT,IAAI,MAAM,QAAQ,KAAK,GAAG;EACxB,IAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,MAAM,QAClD,OAAO;EAET,KAAK,MAAM,CAAC,GAAG,YAAY,MAAM,QAAQ,GACvC,IAAI,CAAC,QAAQ,SAAS,MAAM,EAAE,GAC5B,OAAO;EAEX,OAAO;CACT;CAGA,IAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,cAAc;EACpB,MAAM,cAAc;EACpB,MAAM,YAAY,OAAO,KAAK,WAAW;EACzC,MAAM,YAAY,OAAO,KAAK,WAAW;EAEzC,IAAI,UAAU,WAAW,UAAU,QACjC,OAAO;EAET,KAAK,MAAM,OAAO,WAChB,IAAI,CAAC,QAAQ,YAAY,MAAM,YAAY,IAAI,GAC7C,OAAO;EAEX,OAAO;CACT;CAGA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"tv.js","names":[],"sources":["../../src/utils/tv.ts"],"sourcesContent":["/**\n * Tailwind Variants wrapper.\n *\n * Re-exports `tv` from `tailwind-variants` with project-level configuration.\n * Uses `createTV()` so we can extend twMerge config for custom theme classes\n * (e.g., `text-rui-primary`) in the future.\n *\n * @see https://www.tailwind-variants.org/docs/introduction\n */\n\nimport type { VueClassValue } from '@/types/class-value';\nimport { createTV } from 'tailwind-variants';\nimport { type ClassValue, normalizeClass } from 'vue';\n\nconst isAny: (v: string) => boolean = () => true;\n\nexport const tv = /* @__PURE__ */ createTV({\n twMergeConfig: {\n classGroups: {\n 'bg-tint': [{ 'bg-tint': [isAny] }],\n 'bg-shade': [{ 'bg-shade': [isAny] }],\n 'text-tint': [{ 'text-tint': [isAny] }],\n 'text-shade': [{ 'text-shade': [isAny] }],\n // Custom theme colors (text-rui-*) belong to the text-color group so\n // they don't conflict with the custom typography utilities below, which\n // tw-merge would otherwise both classify as font-size.\n 'text-color': [{ 'text-rui': [isAny] }],\n 'font-size': [\n { 'text-body': [isAny] },\n 'text-caption',\n 'text-overline',\n { 'text-h': [isAny] },\n { 'text-subtitle': [isAny] },\n ],\n },\n },\n});\n\n/**\n * Normalizes any Vue `:class` binding value (string, object, array, nullish\n * or `false`) to a plain string compatible with tailwind-variants' `class`\n * parameter. Accepts Vue's runtime `ClassValue` so call sites can pass\n * `$attrs.class` directly without casting.\n */\nexport function cn(value: ClassValue | VueClassValue | undefined): string | undefined {\n if (value == null || value === false)\n return undefined;\n if (typeof value === 'string')\n return value || undefined;\n const result = normalizeClass(value);\n return result || undefined;\n}\n"],"mappings":";;;AAcA,IAAM,cAAsC;AAE5C,IAAa,KAAqB,yBAAS,EACzC,eAAe,EACb,aAAa;CACX,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;CACnC,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;CACrC,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;CACvC,cAAc,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;CAIzC,cAAc,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;CACvC,aAAa;EACX,EAAE,aAAa,CAAC,MAAM,EAAE;EACxB;EACA;EACA,EAAE,UAAU,CAAC,MAAM,EAAE;EACrB,EAAE,iBAAiB,CAAC,MAAM,EAAE;EAC7B;CACF,EACF,EACF,CAAC;;;;;;;AAQF,SAAgB,GAAG,OAAmE;AACpF,KAAI,SAAS,QAAQ,UAAU,MAC7B,QAAO,KAAA;AACT,KAAI,OAAO,UAAU,SACnB,QAAO,SAAS,KAAA;AAElB,QADe,eAAe,MAAM,IACnB,KAAA"}
1
+ {"version":3,"file":"tv.js","names":[],"sources":["../../src/utils/tv.ts"],"sourcesContent":["/**\n * Tailwind Variants wrapper.\n *\n * Re-exports `tv` from `tailwind-variants` with project-level configuration.\n * Uses `createTV()` so we can extend twMerge config for custom theme classes\n * (e.g., `text-rui-primary`) in the future.\n *\n * @see https://www.tailwind-variants.org/docs/introduction\n */\n\nimport type { VueClassValue } from '@/types/class-value';\nimport { createTV } from 'tailwind-variants';\nimport { type ClassValue, normalizeClass } from 'vue';\n\nconst isAny: (v: string) => boolean = () => true;\n\nexport const tv = /* @__PURE__ */ createTV({\n twMergeConfig: {\n classGroups: {\n 'bg-tint': [{ 'bg-tint': [isAny] }],\n 'bg-shade': [{ 'bg-shade': [isAny] }],\n 'text-tint': [{ 'text-tint': [isAny] }],\n 'text-shade': [{ 'text-shade': [isAny] }],\n // Custom theme colors (text-rui-*) belong to the text-color group so\n // they don't conflict with the custom typography utilities below, which\n // tw-merge would otherwise both classify as font-size.\n 'text-color': [{ 'text-rui': [isAny] }],\n 'font-size': [\n { 'text-body': [isAny] },\n 'text-caption',\n 'text-overline',\n { 'text-h': [isAny] },\n { 'text-subtitle': [isAny] },\n ],\n },\n },\n});\n\n/**\n * Normalizes any Vue `:class` binding value (string, object, array, nullish\n * or `false`) to a plain string compatible with tailwind-variants' `class`\n * parameter. Accepts Vue's runtime `ClassValue` so call sites can pass\n * `$attrs.class` directly without casting.\n */\nexport function cn(value: ClassValue | VueClassValue | undefined): string | undefined {\n if (value == null || value === false)\n return undefined;\n if (typeof value === 'string')\n return value || undefined;\n const result = normalizeClass(value);\n return result || undefined;\n}\n"],"mappings":";;;AAcA,IAAM,cAAsC;AAE5C,IAAa,KAAqB,yBAAS,EACzC,eAAe,EACb,aAAa;CACX,WAAW,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;CAClC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;CACpC,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;CACtC,cAAc,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC;CAIxC,cAAc,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;CACtC,aAAa;EACX,EAAE,aAAa,CAAC,KAAK,EAAE;EACvB;EACA;EACA,EAAE,UAAU,CAAC,KAAK,EAAE;EACpB,EAAE,iBAAiB,CAAC,KAAK,EAAE;CAC7B;AACF,EACF,EACF,CAAC;;;;;;;AAQD,SAAgB,GAAG,OAAmE;CACpF,IAAI,SAAS,QAAQ,UAAU,OAC7B,OAAO,KAAA;CACT,IAAI,OAAO,UAAU,UACnB,OAAO,SAAS,KAAA;CAElB,OADe,eAAe,KACvB,KAAU,KAAA;AACnB"}
@@ -57,7 +57,8 @@ function loadLibraryBaselineIcons() {
57
57
  * Vite plugin for automatic icon detection and registration
58
58
  */
59
59
  function ruiIconsPlugin(options = {}) {
60
- const { include = [], scanPatterns = DEFAULT_SCAN_PATTERNS, strict = false, debug = false } = options;
60
+ const { include = [], customIcons = [], scanPatterns = DEFAULT_SCAN_PATTERNS, strict = false, debug = false } = options;
61
+ const customIconSet = new Set(customIcons);
61
62
  let validIcons;
62
63
  let libraryBaseline;
63
64
  let scanResult;
@@ -76,7 +77,7 @@ function ruiIconsPlugin(options = {}) {
76
77
  const fg = await import("fast-glob");
77
78
  const glob = fg.default || fg;
78
79
  scanResult = {
79
- icons: new Set([...libraryBaseline, ...include]),
80
+ icons: /* @__PURE__ */ new Set([...libraryBaseline, ...include]),
80
81
  invalidIcons: /* @__PURE__ */ new Map()
81
82
  };
82
83
  const files = glob.sync(scanPatterns, {
@@ -89,7 +90,7 @@ function ruiIconsPlugin(options = {}) {
89
90
  const detectedIcons = extractIconsFromSource(readFileSync(filePath, "utf-8"));
90
91
  if (detectedIcons.size > 0) {
91
92
  log(`Found ${detectedIcons.size} potential icons in ${filePath}`);
92
- validateIcons(detectedIcons, validIcons, filePath, scanResult);
93
+ validateIcons(detectedIcons, validIcons, filePath, scanResult, customIconSet);
93
94
  }
94
95
  } catch {
95
96
  warn(`Failed to read file: ${filePath}`);
@@ -98,7 +99,7 @@ function ruiIconsPlugin(options = {}) {
98
99
  else warn(`Included icon "${icon}" is not a valid RuiIcon`);
99
100
  log(`Detected ${scanResult.icons.size} valid icons`);
100
101
  if (scanResult.invalidIcons.size > 0) {
101
- const invalidList = [...scanResult.invalidIcons.entries()].map(([icon, files]) => ` - "${icon}" in: ${files.join(", ")}`).join("\n");
102
+ const invalidList = Array.from(scanResult.invalidIcons.entries(), ([icon, files]) => ` - "${icon}" in: ${files.join(", ")}`).join("\n");
102
103
  const message = `Found ${scanResult.invalidIcons.size} invalid icon name(s):\n${invalidList}`;
103
104
  if (strict) throw new Error(message);
104
105
  else warn(message);
@@ -115,7 +116,7 @@ function ruiIconsPlugin(options = {}) {
115
116
  try {
116
117
  const detectedIcons = extractIconsFromSource(readFileSync(filePath, "utf-8"));
117
118
  const previousSize = scanResult.icons.size;
118
- validateIcons(detectedIcons, validIcons, filePath, scanResult);
119
+ validateIcons(detectedIcons, validIcons, filePath, scanResult, customIconSet);
119
120
  if (scanResult.icons.size > previousSize) {
120
121
  log(`New icons detected in ${filePath}, invalidating virtual module...`);
121
122
  const mod = server?.moduleGraph.getModuleById(RESOLVED_VIRTUAL_MODULE_ID);