@rotki/ui-library 2.21.0 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) 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 +561 -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.vue_vue_type_script_setup_true_lang.js +2 -2
  136. package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  137. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js +3 -3
  138. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  139. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js +2 -2
  140. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js.map +1 -1
  141. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js +1 -1
  142. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  143. package/dist/components/overlays/tooltip/tooltip-styles.js.map +1 -1
  144. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js +1 -1
  145. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js.map +1 -1
  146. package/dist/components/progress/progress-props.js.map +1 -1
  147. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js +2 -2
  148. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  149. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js +1 -1
  150. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  151. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  152. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  153. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  154. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  155. package/dist/components/steppers/footer-stepper-variant.js.map +1 -1
  156. package/dist/components/tables/RuiDataTable.js.map +1 -1
  157. package/dist/components/tables/RuiDataTable.vue.d.ts +23 -2
  158. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js +186 -217
  159. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  160. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js +1 -1
  161. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  162. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js +1 -1
  163. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
  164. package/dist/components/tables/RuiTableHead.js.map +1 -1
  165. package/dist/components/tables/RuiTableHead.vue.d.ts +11 -1
  166. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js +1 -2
  167. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js.map +1 -1
  168. package/dist/components/tables/RuiTablePagination.js.map +1 -1
  169. package/dist/components/tables/RuiTablePagination.vue.d.ts +5 -0
  170. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js +24 -8
  171. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  172. package/dist/components/tables/data-table/RuiDataTableBody.js +7 -0
  173. package/dist/components/tables/data-table/RuiDataTableBody.js.map +1 -0
  174. package/dist/components/tables/data-table/RuiDataTableBody.vue.d.ts +55 -0
  175. package/dist/components/tables/data-table/RuiDataTableBody.vue_vue_type_script_setup_true_lang.js +78 -0
  176. package/dist/components/tables/data-table/RuiDataTableBody.vue_vue_type_script_setup_true_lang.js.map +1 -0
  177. package/dist/components/tables/data-table/RuiDataTableCell.js +7 -0
  178. package/dist/components/tables/data-table/RuiDataTableCell.js.map +1 -0
  179. package/dist/components/tables/data-table/RuiDataTableCell.vue.d.ts +30 -0
  180. package/dist/components/tables/data-table/RuiDataTableCell.vue_vue_type_script_setup_true_lang.js +54 -0
  181. package/dist/components/tables/data-table/RuiDataTableCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  182. package/dist/components/tables/data-table/RuiDataTableEmptyRow.js +7 -0
  183. package/dist/components/tables/data-table/RuiDataTableEmptyRow.js.map +1 -0
  184. package/dist/components/tables/data-table/RuiDataTableEmptyRow.vue.d.ts +19 -0
  185. package/dist/components/tables/data-table/RuiDataTableEmptyRow.vue_vue_type_script_setup_true_lang.js +43 -0
  186. package/dist/components/tables/data-table/RuiDataTableEmptyRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  187. package/dist/components/tables/data-table/RuiDataTableExpandedRow.js +7 -0
  188. package/dist/components/tables/data-table/RuiDataTableExpandedRow.js.map +1 -0
  189. package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue.d.ts +26 -0
  190. package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue_vue_type_script_setup_true_lang.js +31 -0
  191. package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  192. package/dist/components/tables/data-table/RuiDataTableGroupRow.js +7 -0
  193. package/dist/components/tables/data-table/RuiDataTableGroupRow.js.map +1 -0
  194. package/dist/components/tables/data-table/RuiDataTableGroupRow.vue.d.ts +32 -0
  195. package/dist/components/tables/data-table/RuiDataTableGroupRow.vue_vue_type_script_setup_true_lang.js +85 -0
  196. package/dist/components/tables/data-table/RuiDataTableGroupRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  197. package/dist/components/tables/data-table/RuiDataTableLoadingRow.js +7 -0
  198. package/dist/components/tables/data-table/RuiDataTableLoadingRow.js.map +1 -0
  199. package/dist/components/tables/data-table/RuiDataTableLoadingRow.vue.d.ts +3 -0
  200. package/dist/components/tables/data-table/RuiDataTableLoadingRow.vue_vue_type_script_setup_true_lang.js +26 -0
  201. package/dist/components/tables/data-table/RuiDataTableLoadingRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  202. package/dist/components/tables/data-table/RuiDataTableMobileSort.js +7 -0
  203. package/dist/components/tables/data-table/RuiDataTableMobileSort.js.map +1 -0
  204. package/dist/components/tables/data-table/RuiDataTableMobileSort.vue.d.ts +33 -0
  205. package/dist/components/tables/data-table/RuiDataTableMobileSort.vue_vue_type_script_setup_true_lang.js +101 -0
  206. package/dist/components/tables/data-table/RuiDataTableMobileSort.vue_vue_type_script_setup_true_lang.js.map +1 -0
  207. package/dist/components/tables/data-table/RuiDataTableRow.js +7 -0
  208. package/dist/components/tables/data-table/RuiDataTableRow.js.map +1 -0
  209. package/dist/components/tables/data-table/RuiDataTableRow.vue.d.ts +31 -0
  210. package/dist/components/tables/data-table/RuiDataTableRow.vue_vue_type_script_setup_true_lang.js +142 -0
  211. package/dist/components/tables/data-table/RuiDataTableRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  212. package/dist/components/tables/data-table/context.d.ts +73 -0
  213. package/dist/components/tables/data-table/context.js +100 -0
  214. package/dist/components/tables/data-table/context.js.map +1 -0
  215. package/dist/components/tables/data-table-styles.d.ts +30 -1
  216. package/dist/components/tables/data-table-styles.js +9 -2
  217. package/dist/components/tables/data-table-styles.js.map +1 -1
  218. package/dist/components/tables/table-props.d.ts +5 -0
  219. package/dist/components/tables/table-props.js +5 -1
  220. package/dist/components/tables/table-props.js.map +1 -1
  221. package/dist/components/tables/use-pagination-navigation.js.map +1 -1
  222. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js +1 -1
  223. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js.map +1 -1
  224. package/dist/components/tabs/tab/use-tab-link.js.map +1 -1
  225. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js +1 -1
  226. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  227. package/dist/components/tabs/tab-items/RuiTabItems.js.map +1 -1
  228. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js +2 -2
  229. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js.map +1 -1
  230. package/dist/components/tabs/tab-props.js.map +1 -1
  231. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js +2 -2
  232. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  233. package/dist/components/tabs/tabs/use-tab-routing.js +1 -1
  234. package/dist/components/tabs/tabs/use-tab-routing.js.map +1 -1
  235. package/dist/components/tabs/tabs/use-tab-scroll.js.map +1 -1
  236. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js +2 -2
  237. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  238. package/dist/components/time-picker/time-picker-styles.js.map +1 -1
  239. package/dist/composables/breakpoint.js.map +1 -1
  240. package/dist/composables/defaults/table.d.ts +12 -0
  241. package/dist/composables/defaults/table.js.map +1 -1
  242. package/dist/composables/dropdown-menu.js.map +1 -1
  243. package/dist/composables/floating.js +1 -1
  244. package/dist/composables/floating.js.map +1 -1
  245. package/dist/composables/forms/auto-complete/focus.js.map +1 -1
  246. package/dist/composables/forms/auto-complete/index.js +5 -4
  247. package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
  248. package/dist/composables/forms/auto-complete/search.d.ts +6 -1
  249. package/dist/composables/forms/auto-complete/search.js +12 -1
  250. package/dist/composables/forms/auto-complete/search.js.map +1 -1
  251. package/dist/composables/forms/auto-complete/value.js.map +1 -1
  252. package/dist/composables/forms/category-picker/use-category-picker.d.ts +76 -0
  253. package/dist/composables/forms/category-picker/use-category-picker.js +141 -0
  254. package/dist/composables/forms/category-picker/use-category-picker.js.map +1 -0
  255. package/dist/composables/forms/use-prepend-append-width.js.map +1 -1
  256. package/dist/composables/icons.js.map +1 -1
  257. package/dist/composables/popper.js.map +1 -1
  258. package/dist/composables/sticky-header.js.map +1 -1
  259. package/dist/composables/tables/data-table/columns.d.ts +7 -1
  260. package/dist/composables/tables/data-table/columns.js +18 -10
  261. package/dist/composables/tables/data-table/columns.js.map +1 -1
  262. package/dist/composables/tables/data-table/expansion.js.map +1 -1
  263. package/dist/composables/tables/data-table/grouping.d.ts +4 -6
  264. package/dist/composables/tables/data-table/grouping.js +38 -24
  265. package/dist/composables/tables/data-table/grouping.js.map +1 -1
  266. package/dist/composables/tables/data-table/pagination.d.ts +4 -4
  267. package/dist/composables/tables/data-table/pagination.js +63 -21
  268. package/dist/composables/tables/data-table/pagination.js.map +1 -1
  269. package/dist/composables/tables/data-table/selection.js +16 -6
  270. package/dist/composables/tables/data-table/selection.js.map +1 -1
  271. package/dist/composables/tables/data-table/sort.d.ts +4 -3
  272. package/dist/composables/tables/data-table/sort.js +78 -40
  273. package/dist/composables/tables/data-table/sort.js.map +1 -1
  274. package/dist/composables/tables/data-table/types.d.ts +3 -1
  275. package/dist/composables/tables/data-table/types.js +6 -2
  276. package/dist/composables/tables/data-table/types.js.map +1 -1
  277. package/dist/composables/theme.js.map +1 -1
  278. package/dist/composables/timeout-manager.js.map +1 -1
  279. package/dist/composables/use-rui-i18n.js.map +1 -1
  280. package/dist/consts/colors.js.map +1 -1
  281. package/dist/consts/time-accuracy.js.map +1 -1
  282. package/dist/i18n/keys.js.map +1 -1
  283. package/dist/icons/icons_1.d.ts +12 -12
  284. package/dist/icons/icons_1.js +140 -157
  285. package/dist/icons/icons_1.js.map +1 -1
  286. package/dist/icons/icons_2.d.ts +13 -13
  287. package/dist/icons/icons_2.js +128 -149
  288. package/dist/icons/icons_2.js.map +1 -1
  289. package/dist/icons/icons_3.d.ts +18 -18
  290. package/dist/icons/icons_3.js +244 -282
  291. package/dist/icons/icons_3.js.map +1 -1
  292. package/dist/icons/icons_4.d.ts +251 -6
  293. package/dist/icons/icons_4.js +3016 -75
  294. package/dist/icons/icons_4.js.map +1 -1
  295. package/dist/icons/icons_5.d.ts +20 -0
  296. package/dist/icons/icons_5.js +221 -0
  297. package/dist/icons/icons_5.js.map +1 -0
  298. package/dist/icons/index.d.ts +2 -1
  299. package/dist/icons/index.js +297 -32
  300. package/dist/icons/index.js.map +1 -1
  301. package/dist/index.js +8 -6
  302. package/dist/index.js.map +1 -1
  303. package/dist/library-icons.json +1 -0
  304. package/dist/style.css +152 -0
  305. package/dist/theme/index.js.map +1 -1
  306. package/dist/types/stepper.js.map +1 -1
  307. package/dist/types/theme.js.map +1 -1
  308. package/dist/utils/assert.js.map +1 -1
  309. package/dist/utils/blockie.js.map +1 -1
  310. package/dist/utils/form-text-detail.js.map +1 -1
  311. package/dist/utils/helpers.js.map +1 -1
  312. package/dist/utils/is-equal.js.map +1 -1
  313. package/dist/utils/tv.js.map +1 -1
  314. package/dist/vite-plugin/index.js +6 -5
  315. package/dist/vite-plugin/index.js.map +1 -1
  316. package/dist/vite-plugin/scanner.d.ts +1 -1
  317. package/dist/vite-plugin/scanner.js +10 -7
  318. package/dist/vite-plugin/scanner.js.map +1 -1
  319. package/dist/vite-plugin/types.d.ts +9 -0
  320. package/dist/web-types.json +2042 -1108
  321. package/package.json +35 -35
@@ -0,0 +1,432 @@
1
+ import { type TextInputVariant } from '../../../components/forms/text-input-styles.js';
2
+ export type CategoryPickerVariant = TextInputVariant;
3
+ /**
4
+ * Form-field trigger, shared with `RuiAutoComplete` / `RuiMenuSelect` via
5
+ * `activatorStyles`: floating label, outlined/filled/underline variants,
6
+ * error + hint details, required marker.
7
+ */
8
+ export declare const categoryPickerActivatorStyles: import("tailwind-variants").TVReturnType<{
9
+ filled: {
10
+ true: {};
11
+ };
12
+ }, undefined, undefined, {
13
+ dense: {
14
+ true: {
15
+ activator: string;
16
+ };
17
+ };
18
+ disabled: {
19
+ true: {
20
+ activator: string;
21
+ };
22
+ };
23
+ readonly: {
24
+ true: {
25
+ activator: string;
26
+ };
27
+ };
28
+ filled: {
29
+ true: {
30
+ activator: string;
31
+ };
32
+ };
33
+ outlined: {
34
+ true: {
35
+ activator: string;
36
+ label: string;
37
+ fieldset: string;
38
+ };
39
+ false: {
40
+ activator: string;
41
+ };
42
+ };
43
+ float: {
44
+ true: {
45
+ label: string;
46
+ };
47
+ };
48
+ opened: {
49
+ true: {
50
+ icon: string;
51
+ };
52
+ };
53
+ active: {
54
+ true: {
55
+ highlighted: string;
56
+ };
57
+ };
58
+ hasError: {
59
+ true: {};
60
+ };
61
+ hasSuccess: {
62
+ true: {};
63
+ };
64
+ hovered: {
65
+ true: {};
66
+ };
67
+ }, {
68
+ fieldset: string;
69
+ legend: string;
70
+ wrapper: string;
71
+ activator: string;
72
+ label: string;
73
+ value: string;
74
+ clear: string;
75
+ menu: string;
76
+ highlighted: string;
77
+ progress: string;
78
+ icon: string;
79
+ iconWrapper: string;
80
+ required: string;
81
+ }, import("tailwind-variants").TVReturnType<{
82
+ dense: {
83
+ true: {
84
+ activator: string;
85
+ };
86
+ };
87
+ disabled: {
88
+ true: {
89
+ activator: string;
90
+ };
91
+ };
92
+ readonly: {
93
+ true: {
94
+ activator: string;
95
+ };
96
+ };
97
+ filled: {
98
+ true: {
99
+ activator: string;
100
+ };
101
+ };
102
+ outlined: {
103
+ true: {
104
+ activator: string;
105
+ label: string;
106
+ fieldset: string;
107
+ };
108
+ false: {
109
+ activator: string;
110
+ };
111
+ };
112
+ float: {
113
+ true: {
114
+ label: string;
115
+ };
116
+ };
117
+ opened: {
118
+ true: {
119
+ icon: string;
120
+ };
121
+ };
122
+ active: {
123
+ true: {
124
+ highlighted: string;
125
+ };
126
+ };
127
+ hasError: {
128
+ true: {};
129
+ };
130
+ hasSuccess: {
131
+ true: {};
132
+ };
133
+ hovered: {
134
+ true: {};
135
+ };
136
+ }, {
137
+ fieldset: string;
138
+ legend: string;
139
+ wrapper: string;
140
+ activator: string;
141
+ label: string;
142
+ value: string;
143
+ clear: string;
144
+ menu: string;
145
+ highlighted: string;
146
+ progress: string;
147
+ icon: string;
148
+ iconWrapper: string;
149
+ required: string;
150
+ }, undefined, {
151
+ focused: {
152
+ true: {
153
+ fieldset: string;
154
+ };
155
+ };
156
+ hovered: {
157
+ true: {
158
+ fieldset: string;
159
+ };
160
+ };
161
+ disabled: {
162
+ true: {
163
+ fieldset: string;
164
+ label: string;
165
+ };
166
+ };
167
+ active: {
168
+ true: {};
169
+ };
170
+ showLabel: {
171
+ true: {};
172
+ };
173
+ validation: {
174
+ error: {
175
+ fieldset: string;
176
+ label: string;
177
+ };
178
+ success: {
179
+ fieldset: string;
180
+ label: string;
181
+ };
182
+ };
183
+ color: {
184
+ primary: {};
185
+ secondary: {};
186
+ error: {};
187
+ warning: {};
188
+ info: {};
189
+ success: {};
190
+ };
191
+ }, {
192
+ label: string;
193
+ fieldset: string;
194
+ legend: string;
195
+ }, import("tailwind-variants").TVReturnType<{
196
+ focused: {
197
+ true: {
198
+ fieldset: string;
199
+ };
200
+ };
201
+ hovered: {
202
+ true: {
203
+ fieldset: string;
204
+ };
205
+ };
206
+ disabled: {
207
+ true: {
208
+ fieldset: string;
209
+ label: string;
210
+ };
211
+ };
212
+ active: {
213
+ true: {};
214
+ };
215
+ showLabel: {
216
+ true: {};
217
+ };
218
+ validation: {
219
+ error: {
220
+ fieldset: string;
221
+ label: string;
222
+ };
223
+ success: {
224
+ fieldset: string;
225
+ label: string;
226
+ };
227
+ };
228
+ color: {
229
+ primary: {};
230
+ secondary: {};
231
+ error: {};
232
+ warning: {};
233
+ info: {};
234
+ success: {};
235
+ };
236
+ }, {
237
+ label: string;
238
+ fieldset: string;
239
+ legend: string;
240
+ }, undefined, {
241
+ focused: {
242
+ true: {
243
+ fieldset: string;
244
+ };
245
+ };
246
+ hovered: {
247
+ true: {
248
+ fieldset: string;
249
+ };
250
+ };
251
+ disabled: {
252
+ true: {
253
+ fieldset: string;
254
+ label: string;
255
+ };
256
+ };
257
+ active: {
258
+ true: {};
259
+ };
260
+ showLabel: {
261
+ true: {};
262
+ };
263
+ validation: {
264
+ error: {
265
+ fieldset: string;
266
+ label: string;
267
+ };
268
+ success: {
269
+ fieldset: string;
270
+ label: string;
271
+ };
272
+ };
273
+ color: {
274
+ primary: {};
275
+ secondary: {};
276
+ error: {};
277
+ warning: {};
278
+ info: {};
279
+ success: {};
280
+ };
281
+ }, {
282
+ label: string;
283
+ fieldset: string;
284
+ legend: string;
285
+ }, import("tailwind-variants").TVReturnType<{
286
+ focused: {
287
+ true: {
288
+ fieldset: string;
289
+ };
290
+ };
291
+ hovered: {
292
+ true: {
293
+ fieldset: string;
294
+ };
295
+ };
296
+ disabled: {
297
+ true: {
298
+ fieldset: string;
299
+ label: string;
300
+ };
301
+ };
302
+ active: {
303
+ true: {};
304
+ };
305
+ showLabel: {
306
+ true: {};
307
+ };
308
+ validation: {
309
+ error: {
310
+ fieldset: string;
311
+ label: string;
312
+ };
313
+ success: {
314
+ fieldset: string;
315
+ label: string;
316
+ };
317
+ };
318
+ color: {
319
+ primary: {};
320
+ secondary: {};
321
+ error: {};
322
+ warning: {};
323
+ info: {};
324
+ success: {};
325
+ };
326
+ }, {
327
+ label: string;
328
+ fieldset: string;
329
+ legend: string;
330
+ }, undefined, unknown, unknown, undefined>>>>;
331
+ /**
332
+ * Layout styles for `RuiCategoryPicker`. Item and category rows lean on
333
+ * `RuiButton variant="list"` for their interactive/active visuals; these slots
334
+ * cover only the surrounding two-pane (and mobile drill-in) scaffold.
335
+ */
336
+ export declare const categoryPickerStyles: import("tailwind-variants").TVReturnType<{
337
+ mode: {
338
+ twoPane: {
339
+ root: string;
340
+ body: string;
341
+ rail: string;
342
+ };
343
+ drill: {
344
+ root: string;
345
+ body: string;
346
+ rail: string;
347
+ };
348
+ };
349
+ dense: {
350
+ true: {
351
+ header: string;
352
+ title: string;
353
+ };
354
+ };
355
+ }, {
356
+ root: string;
357
+ header: string;
358
+ title: string;
359
+ body: string;
360
+ rail: string;
361
+ railCount: string;
362
+ detail: string;
363
+ highlighted: string;
364
+ subheader: string;
365
+ empty: string;
366
+ footer: string;
367
+ backButton: string;
368
+ }, undefined, {
369
+ mode: {
370
+ twoPane: {
371
+ root: string;
372
+ body: string;
373
+ rail: string;
374
+ };
375
+ drill: {
376
+ root: string;
377
+ body: string;
378
+ rail: string;
379
+ };
380
+ };
381
+ dense: {
382
+ true: {
383
+ header: string;
384
+ title: string;
385
+ };
386
+ };
387
+ }, {
388
+ root: string;
389
+ header: string;
390
+ title: string;
391
+ body: string;
392
+ rail: string;
393
+ railCount: string;
394
+ detail: string;
395
+ highlighted: string;
396
+ subheader: string;
397
+ empty: string;
398
+ footer: string;
399
+ backButton: string;
400
+ }, import("tailwind-variants").TVReturnType<{
401
+ mode: {
402
+ twoPane: {
403
+ root: string;
404
+ body: string;
405
+ rail: string;
406
+ };
407
+ drill: {
408
+ root: string;
409
+ body: string;
410
+ rail: string;
411
+ };
412
+ };
413
+ dense: {
414
+ true: {
415
+ header: string;
416
+ title: string;
417
+ };
418
+ };
419
+ }, {
420
+ root: string;
421
+ header: string;
422
+ title: string;
423
+ body: string;
424
+ rail: string;
425
+ railCount: string;
426
+ detail: string;
427
+ highlighted: string;
428
+ subheader: string;
429
+ empty: string;
430
+ footer: string;
431
+ backButton: string;
432
+ }, undefined, unknown, unknown, undefined>>;
@@ -0,0 +1,59 @@
1
+ import { tv } from "../../../utils/tv.js";
2
+ import { activatorStyles } from "../text-input-styles.js";
3
+ //#region src/components/forms/category-picker/category-picker-styles.ts
4
+ /**
5
+ * Form-field trigger, shared with `RuiAutoComplete` / `RuiMenuSelect` via
6
+ * `activatorStyles`: floating label, outlined/filled/underline variants,
7
+ * error + hint details, required marker.
8
+ */
9
+ var categoryPickerActivatorStyles = tv({
10
+ extend: activatorStyles,
11
+ variants: { filled: { true: {} } }
12
+ });
13
+ /**
14
+ * Layout styles for `RuiCategoryPicker`. Item and category rows lean on
15
+ * `RuiButton variant="list"` for their interactive/active visuals; these slots
16
+ * cover only the surrounding two-pane (and mobile drill-in) scaffold.
17
+ */
18
+ var categoryPickerStyles = tv({
19
+ slots: {
20
+ root: "flex flex-col min-w-0 bg-white dark:bg-rui-grey-900 rounded-md overflow-hidden",
21
+ header: "flex flex-col gap-3 p-4 border-b border-rui-grey-200 dark:border-rui-grey-800",
22
+ title: "text-h6 text-rui-text",
23
+ body: "grid min-h-0 max-h-[60vh]",
24
+ rail: "flex flex-col gap-0.5 p-2 overflow-y-auto outline-none border-rui-grey-200 dark:border-rui-grey-800",
25
+ railCount: "ml-auto pl-2 text-caption tabular-nums text-rui-text-secondary",
26
+ detail: "flex flex-col gap-0.5 p-2 overflow-y-auto outline-none min-w-0",
27
+ highlighted: "!bg-rui-grey-100 dark:!bg-rui-grey-800",
28
+ subheader: "px-3 pt-3 pb-1 text-overline text-rui-text-secondary uppercase",
29
+ empty: "flex flex-1 items-center justify-center p-8 text-body-2 text-rui-text-secondary text-center",
30
+ footer: "p-3 border-t border-rui-grey-200 dark:border-rui-grey-800",
31
+ backButton: "flex items-center gap-2"
32
+ },
33
+ variants: {
34
+ mode: {
35
+ twoPane: {
36
+ root: "w-[40rem] max-w-[calc(100vw-2rem)]",
37
+ body: "grid-cols-[minmax(9.5rem,13rem)_1fr]",
38
+ rail: "border-r"
39
+ },
40
+ drill: {
41
+ root: "w-full",
42
+ body: "grid-cols-1",
43
+ rail: "border-r-0"
44
+ }
45
+ },
46
+ dense: { true: {
47
+ header: "p-3",
48
+ title: "text-subtitle-1"
49
+ } }
50
+ },
51
+ defaultVariants: {
52
+ mode: "twoPane",
53
+ dense: false
54
+ }
55
+ });
56
+ //#endregion
57
+ export { categoryPickerActivatorStyles, categoryPickerStyles };
58
+
59
+ //# sourceMappingURL=category-picker-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-picker-styles.js","names":[],"sources":["../../../../src/components/forms/category-picker/category-picker-styles.ts"],"sourcesContent":["import { activatorStyles, type TextInputVariant } from '@/components/forms/text-input-styles';\nimport { tv } from '@/utils/tv';\n\nexport type CategoryPickerVariant = TextInputVariant;\n\n/**\n * Form-field trigger, shared with `RuiAutoComplete` / `RuiMenuSelect` via\n * `activatorStyles`: floating label, outlined/filled/underline variants,\n * error + hint details, required marker.\n */\nexport const categoryPickerActivatorStyles = tv({\n extend: activatorStyles,\n variants: {\n // Re-declare for type inference — actual styles live in activatorStyles.\n filled: { true: {} },\n },\n});\n\n/**\n * Layout styles for `RuiCategoryPicker`. Item and category rows lean on\n * `RuiButton variant=\"list\"` for their interactive/active visuals; these slots\n * cover only the surrounding two-pane (and mobile drill-in) scaffold.\n */\nexport const categoryPickerStyles = tv({\n slots: {\n root: 'flex flex-col min-w-0 bg-white dark:bg-rui-grey-900 rounded-md overflow-hidden',\n header: 'flex flex-col gap-3 p-4 border-b border-rui-grey-200 dark:border-rui-grey-800',\n title: 'text-h6 text-rui-text',\n body: 'grid min-h-0 max-h-[60vh]',\n rail: 'flex flex-col gap-0.5 p-2 overflow-y-auto outline-none border-rui-grey-200 dark:border-rui-grey-800',\n railCount: 'ml-auto pl-2 text-caption tabular-nums text-rui-text-secondary',\n detail: 'flex flex-col gap-0.5 p-2 overflow-y-auto outline-none min-w-0',\n // Keyboard highlight for the active-descendant item (focus lives on the\n // pane container, so the highlight is the only per-item focus cue).\n highlighted: '!bg-rui-grey-100 dark:!bg-rui-grey-800',\n subheader: 'px-3 pt-3 pb-1 text-overline text-rui-text-secondary uppercase',\n empty: 'flex flex-1 items-center justify-center p-8 text-body-2 text-rui-text-secondary text-center',\n footer: 'p-3 border-t border-rui-grey-200 dark:border-rui-grey-800',\n backButton: 'flex items-center gap-2',\n },\n variants: {\n mode: {\n // Desktop: category rail beside the detail pane, inside an anchored\n // popover. The explicit width lets the `1fr` detail column resolve\n // (a `w-max` popover would otherwise collapse it to its content).\n twoPane: {\n root: 'w-[40rem] max-w-[calc(100vw-2rem)]',\n body: 'grid-cols-[minmax(9.5rem,13rem)_1fr]',\n rail: 'border-r',\n },\n // Narrow width: one column at a time, drill in and back out, inside a\n // full-width bottom sheet.\n drill: {\n root: 'w-full',\n body: 'grid-cols-1',\n rail: 'border-r-0',\n },\n },\n dense: {\n true: {\n header: 'p-3',\n title: 'text-subtitle-1',\n },\n },\n },\n defaultVariants: {\n mode: 'twoPane',\n dense: false,\n },\n});\n"],"mappings":";;;;;;;;AAUA,IAAa,gCAAgC,GAAG;CAC9C,QAAQ;CACR,UAAU,EAER,QAAQ,EAAE,MAAM,CAAC,EAAE,EACrB;AACF,CAAC;;;;;;AAOD,IAAa,uBAAuB,GAAG;CACrC,OAAO;EACL,MAAM;EACN,QAAQ;EACR,OAAO;EACP,MAAM;EACN,MAAM;EACN,WAAW;EACX,QAAQ;EAGR,aAAa;EACb,WAAW;EACX,OAAO;EACP,QAAQ;EACR,YAAY;CACd;CACA,UAAU;EACR,MAAM;GAIJ,SAAS;IACP,MAAM;IACN,MAAM;IACN,MAAM;GACR;GAGA,OAAO;IACL,MAAM;IACN,MAAM;IACN,MAAM;GACR;EACF;EACA,OAAO,EACL,MAAM;GACJ,QAAQ;GACR,OAAO;EACT,EACF;CACF;CACA,iBAAiB;EACf,MAAM;EACN,OAAO;CACT;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-control-styles.js","names":[],"sources":["../../../src/components/forms/check-control-styles.ts"],"sourcesContent":["import { tv } from '@/utils/tv';\n\nconst ICON_SIZES: Record<string, number> = { sm: 20, lg: 28 };\nconst DEFAULT_ICON_SIZE = 24;\n\nexport function getCheckControlIconSize(size?: 'sm' | 'lg'): number {\n return (size && ICON_SIZES[size]) || DEFAULT_ICON_SIZE;\n}\n\n/**\n * Shared tv() styles for RuiCheckbox and RuiRadio.\n * Both use the same layout, ripple, color, size, and validation patterns.\n */\nexport const checkControlStyles = tv({\n slots: {\n wrapper: 'relative flex items-start cursor-pointer -ml-[0.5625rem]',\n input: 'peer appearance-none w-px h-px absolute z-[2] outline-none select-none',\n control: [\n 'relative text-rui-text-secondary p-[0.5625rem]',\n `before:content-[''] before:absolute before:top-1/2 before:left-1/2 before:block before:size-[2.625rem]`,\n 'before:-translate-y-1/2 before:-translate-x-1/2 before:rounded-full before:opacity-0 before:transition-opacity',\n 'before:bg-black dark:before:bg-white',\n 'hover:before:opacity-5 active:before:opacity-30',\n 'peer-focus:before:opacity-15',\n ].join(' '),\n label: 'flex-1 text-rui-text text-body-1 mt-[0.5625rem] mb-1',\n },\n variants: {\n size: {\n sm: {\n control: 'before:size-[2.375rem]',\n label: 'mt-[0.4375rem]',\n },\n lg: {\n control: 'before:size-[2.875rem]',\n label: 'mt-[0.6875rem]',\n },\n },\n disabled: {\n true: {\n wrapper: 'cursor-not-allowed',\n control: 'opacity-50 before:!content-none',\n label: 'text-rui-text-disabled',\n },\n },\n checked: {\n true: {},\n false: {},\n },\n validation: {\n error: { control: '!text-rui-error' },\n success: { control: '!text-rui-success' },\n },\n color: {\n primary: {},\n secondary: {},\n error: {},\n warning: {},\n info: {},\n success: {},\n },\n },\n compoundVariants: [\n // Color ripple (before:bg-rui-{color})\n { color: 'primary', class: { control: 'before:bg-rui-primary' } },\n { color: 'secondary', class: { control: 'before:bg-rui-secondary' } },\n { color: 'error', class: { control: 'before:bg-rui-error' } },\n { color: 'warning', class: { control: 'before:bg-rui-warning' } },\n { color: 'info', class: { control: 'before:bg-rui-info' } },\n { color: 'success', class: { control: 'before:bg-rui-success' } },\n\n // Color text when checked\n { color: 'primary', checked: true, class: { control: 'text-rui-primary' } },\n { color: 'secondary', checked: true, class: { control: 'text-rui-secondary' } },\n { color: 'error', checked: true, class: { control: 'text-rui-error' } },\n { color: 'warning', checked: true, class: { control: 'text-rui-warning' } },\n { color: 'info', checked: true, class: { control: 'text-rui-info' } },\n { color: 'success', checked: true, class: { control: 'text-rui-success' } },\n ],\n defaultVariants: {\n disabled: false,\n checked: false,\n },\n});\n"],"mappings":";;AAEA,IAAM,aAAqC;CAAE,IAAI;CAAI,IAAI;CAAI;AAC7D,IAAM,oBAAoB;AAE1B,SAAgB,wBAAwB,MAA4B;AAClE,QAAQ,QAAQ,WAAW,SAAU;;;;;;AAOvC,IAAa,qBAAqB,GAAG;CACnC,OAAO;EACL,SAAS;EACT,OAAO;EACP,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACD,CAAC,KAAK,IAAI;EACX,OAAO;EACR;CACD,UAAU;EACR,MAAM;GACJ,IAAI;IACF,SAAS;IACT,OAAO;IACR;GACD,IAAI;IACF,SAAS;IACT,OAAO;IACR;GACF;EACD,UAAU,EACR,MAAM;GACJ,SAAS;GACT,SAAS;GACT,OAAO;GACR,EACF;EACD,SAAS;GACP,MAAM,EAAE;GACR,OAAO,EAAE;GACV;EACD,YAAY;GACV,OAAO,EAAE,SAAS,mBAAmB;GACrC,SAAS,EAAE,SAAS,qBAAqB;GAC1C;EACD,OAAO;GACL,SAAS,EAAE;GACX,WAAW,EAAE;GACb,OAAO,EAAE;GACT,SAAS,EAAE;GACX,MAAM,EAAE;GACR,SAAS,EAAE;GACZ;EACF;CACD,kBAAkB;EAEhB;GAAE,OAAO;GAAW,OAAO,EAAE,SAAS,yBAAyB;GAAE;EACjE;GAAE,OAAO;GAAa,OAAO,EAAE,SAAS,2BAA2B;GAAE;EACrE;GAAE,OAAO;GAAS,OAAO,EAAE,SAAS,uBAAuB;GAAE;EAC7D;GAAE,OAAO;GAAW,OAAO,EAAE,SAAS,yBAAyB;GAAE;EACjE;GAAE,OAAO;GAAQ,OAAO,EAAE,SAAS,sBAAsB;GAAE;EAC3D;GAAE,OAAO;GAAW,OAAO,EAAE,SAAS,yBAAyB;GAAE;EAGjE;GAAE,OAAO;GAAW,SAAS;GAAM,OAAO,EAAE,SAAS,oBAAoB;GAAE;EAC3E;GAAE,OAAO;GAAa,SAAS;GAAM,OAAO,EAAE,SAAS,sBAAsB;GAAE;EAC/E;GAAE,OAAO;GAAS,SAAS;GAAM,OAAO,EAAE,SAAS,kBAAkB;GAAE;EACvE;GAAE,OAAO;GAAW,SAAS;GAAM,OAAO,EAAE,SAAS,oBAAoB;GAAE;EAC3E;GAAE,OAAO;GAAQ,SAAS;GAAM,OAAO,EAAE,SAAS,iBAAiB;GAAE;EACrE;GAAE,OAAO;GAAW,SAAS;GAAM,OAAO,EAAE,SAAS,oBAAoB;GAAE;EAC5E;CACD,iBAAiB;EACf,UAAU;EACV,SAAS;EACV;CACF,CAAC"}
1
+ {"version":3,"file":"check-control-styles.js","names":[],"sources":["../../../src/components/forms/check-control-styles.ts"],"sourcesContent":["import { tv } from '@/utils/tv';\n\nconst ICON_SIZES: Record<string, number> = { sm: 20, lg: 28 };\nconst DEFAULT_ICON_SIZE = 24;\n\nexport function getCheckControlIconSize(size?: 'sm' | 'lg'): number {\n return (size && ICON_SIZES[size]) || DEFAULT_ICON_SIZE;\n}\n\n/**\n * Shared tv() styles for RuiCheckbox and RuiRadio.\n * Both use the same layout, ripple, color, size, and validation patterns.\n */\nexport const checkControlStyles = tv({\n slots: {\n wrapper: 'relative flex items-start cursor-pointer -ml-[0.5625rem]',\n input: 'peer appearance-none w-px h-px absolute z-[2] outline-none select-none',\n control: [\n 'relative text-rui-text-secondary p-[0.5625rem]',\n `before:content-[''] before:absolute before:top-1/2 before:left-1/2 before:block before:size-[2.625rem]`,\n 'before:-translate-y-1/2 before:-translate-x-1/2 before:rounded-full before:opacity-0 before:transition-opacity',\n 'before:bg-black dark:before:bg-white',\n 'hover:before:opacity-5 active:before:opacity-30',\n 'peer-focus:before:opacity-15',\n ].join(' '),\n label: 'flex-1 text-rui-text text-body-1 mt-[0.5625rem] mb-1',\n },\n variants: {\n size: {\n sm: {\n control: 'before:size-[2.375rem]',\n label: 'mt-[0.4375rem]',\n },\n lg: {\n control: 'before:size-[2.875rem]',\n label: 'mt-[0.6875rem]',\n },\n },\n disabled: {\n true: {\n wrapper: 'cursor-not-allowed',\n control: 'opacity-50 before:!content-none',\n label: 'text-rui-text-disabled',\n },\n },\n checked: {\n true: {},\n false: {},\n },\n validation: {\n error: { control: '!text-rui-error' },\n success: { control: '!text-rui-success' },\n },\n color: {\n primary: {},\n secondary: {},\n error: {},\n warning: {},\n info: {},\n success: {},\n },\n },\n compoundVariants: [\n // Color ripple (before:bg-rui-{color})\n { color: 'primary', class: { control: 'before:bg-rui-primary' } },\n { color: 'secondary', class: { control: 'before:bg-rui-secondary' } },\n { color: 'error', class: { control: 'before:bg-rui-error' } },\n { color: 'warning', class: { control: 'before:bg-rui-warning' } },\n { color: 'info', class: { control: 'before:bg-rui-info' } },\n { color: 'success', class: { control: 'before:bg-rui-success' } },\n\n // Color text when checked\n { color: 'primary', checked: true, class: { control: 'text-rui-primary' } },\n { color: 'secondary', checked: true, class: { control: 'text-rui-secondary' } },\n { color: 'error', checked: true, class: { control: 'text-rui-error' } },\n { color: 'warning', checked: true, class: { control: 'text-rui-warning' } },\n { color: 'info', checked: true, class: { control: 'text-rui-info' } },\n { color: 'success', checked: true, class: { control: 'text-rui-success' } },\n ],\n defaultVariants: {\n disabled: false,\n checked: false,\n },\n});\n"],"mappings":";;AAEA,IAAM,aAAqC;CAAE,IAAI;CAAI,IAAI;AAAG;AAC5D,IAAM,oBAAoB;AAE1B,SAAgB,wBAAwB,MAA4B;CAClE,OAAQ,QAAQ,WAAW,SAAU;AACvC;;;;;AAMA,IAAa,qBAAqB,GAAG;CACnC,OAAO;EACL,SAAS;EACT,OAAO;EACP,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG;EACV,OAAO;CACT;CACA,UAAU;EACR,MAAM;GACJ,IAAI;IACF,SAAS;IACT,OAAO;GACT;GACA,IAAI;IACF,SAAS;IACT,OAAO;GACT;EACF;EACA,UAAU,EACR,MAAM;GACJ,SAAS;GACT,SAAS;GACT,OAAO;EACT,EACF;EACA,SAAS;GACP,MAAM,CAAC;GACP,OAAO,CAAC;EACV;EACA,YAAY;GACV,OAAO,EAAE,SAAS,kBAAkB;GACpC,SAAS,EAAE,SAAS,oBAAoB;EAC1C;EACA,OAAO;GACL,SAAS,CAAC;GACV,WAAW,CAAC;GACZ,OAAO,CAAC;GACR,SAAS,CAAC;GACV,MAAM,CAAC;GACP,SAAS,CAAC;EACZ;CACF;CACA,kBAAkB;EAEhB;GAAE,OAAO;GAAW,OAAO,EAAE,SAAS,wBAAwB;EAAE;EAChE;GAAE,OAAO;GAAa,OAAO,EAAE,SAAS,0BAA0B;EAAE;EACpE;GAAE,OAAO;GAAS,OAAO,EAAE,SAAS,sBAAsB;EAAE;EAC5D;GAAE,OAAO;GAAW,OAAO,EAAE,SAAS,wBAAwB;EAAE;EAChE;GAAE,OAAO;GAAQ,OAAO,EAAE,SAAS,qBAAqB;EAAE;EAC1D;GAAE,OAAO;GAAW,OAAO,EAAE,SAAS,wBAAwB;EAAE;EAGhE;GAAE,OAAO;GAAW,SAAS;GAAM,OAAO,EAAE,SAAS,mBAAmB;EAAE;EAC1E;GAAE,OAAO;GAAa,SAAS;GAAM,OAAO,EAAE,SAAS,qBAAqB;EAAE;EAC9E;GAAE,OAAO;GAAS,SAAS;GAAM,OAAO,EAAE,SAAS,iBAAiB;EAAE;EACtE;GAAE,OAAO;GAAW,SAAS;GAAM,OAAO,EAAE,SAAS,mBAAmB;EAAE;EAC1E;GAAE,OAAO;GAAQ,SAAS;GAAM,OAAO,EAAE,SAAS,gBAAgB;EAAE;EACpE;GAAE,OAAO;GAAW,SAAS;GAAM,OAAO,EAAE,SAAS,mBAAmB;EAAE;CAC5E;CACA,iBAAiB;EACf,UAAU;EACV,SAAS;CACX;AACF,CAAC"}
@@ -17,11 +17,11 @@ var _hoisted_3 = {
17
17
  key: 0,
18
18
  class: "text-rui-error"
19
19
  };
20
- var RuiCheckbox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
20
+ var RuiCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
21
21
  name: "RuiCheckbox",
22
22
  inheritAttrs: false,
23
23
  __name: "RuiCheckbox",
24
- props: /* @__PURE__ */ mergeModels({
24
+ props: /*@__PURE__*/ mergeModels({
25
25
  value: { default: () => void 0 },
26
26
  disabled: {
27
27
  type: Boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"RuiCheckbox.vue_vue_type_script_setup_true_lang.js","names":["$attrs","$slots"],"sources":["../../../../src/components/forms/checkbox/RuiCheckbox.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"TValue\">\nimport type { ContextColorsType } from '@/consts/colors';\nimport { objectPick } from '@vueuse/shared';\nimport { checkControlStyles, getCheckControlIconSize } from '@/components/forms/check-control-styles';\nimport { RuiCheckboxGroupContextKey } from '@/components/forms/checkbox/checkbox-group/context';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport { useFormTextDetail } from '@/utils/form-text-detail';\nimport { getNonRootAttrs, getRootAttrs } from '@/utils/helpers';\n\nexport interface Props<TValue> {\n value?: TValue;\n disabled?: boolean;\n color?: ContextColorsType;\n size?: 'sm' | 'lg';\n label?: string;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiCheckbox',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst indeterminate = defineModel<boolean>('indeterminate', { default: false });\n\nconst {\n value = undefined,\n disabled: disabledProp = false,\n color: colorProp = undefined,\n size: sizeProp = undefined,\n label = '',\n hint = '',\n errorMessages = [],\n successMessages = [],\n hideDetails = false,\n required = false,\n} = defineProps<Props<TValue>>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n\nconst el = useTemplateRef<HTMLInputElement>('el');\n\nconst group = inject(RuiCheckboxGroupContextKey, undefined);\n\nconst disabled = computed<boolean>(() => disabledProp || (group ? toValue(group.disabled) : false));\nconst color = computed<ContextColorsType | undefined>(() => colorProp ?? (group ? toValue(group.color) : undefined));\nconst size = computed<'sm' | 'lg' | undefined>(() => sizeProp ?? (group ? toValue(group.size) : undefined));\n// Suppress per-child details inside a group so the group's own hint/error wins.\nconst effectiveHideDetails = computed<boolean>(() => hideDetails || (group !== undefined && value !== undefined));\n\nconst { hasError, validation } = useFormTextDetail(\n () => errorMessages,\n () => successMessages,\n);\n\nconst internalModelValue = computed<boolean>({\n get: () => {\n if (group && value !== undefined)\n return group.isChecked(value);\n return get(modelValue);\n },\n set: (checked: boolean) => {\n if (checked)\n set(indeterminate, false);\n if (group && value !== undefined)\n group.toggle(value, checked);\n else\n set(modelValue, checked);\n },\n});\n\nconst ui = computed<ReturnType<typeof checkControlStyles>>(() => checkControlStyles({\n size: get(size),\n disabled: get(disabled),\n checked: get(internalModelValue) || get(indeterminate),\n validation: get(validation),\n color: get(color),\n}));\n\nconst iconSize = computed<number>(() => getCheckControlIconSize(get(size)));\n\nwatch(indeterminate, (val) => {\n const input = get(el);\n if (!input) {\n return;\n }\n input.checked = !val;\n input.value = val ? 'off' : 'on';\n});\n\nwatch(internalModelValue, (val) => {\n const input = get(el);\n if (input && input.checked !== val)\n input.checked = val;\n});\n</script>\n\n<template>\n <div v-bind=\"getRootAttrs($attrs)\">\n <label\n :class=\"ui.wrapper()\"\n v-bind=\"objectPick($attrs, ['onClick'])\"\n :data-disabled=\"disabled || undefined\"\n :data-checked=\"internalModelValue || indeterminate || undefined\"\n :data-error=\"hasError ? '' : undefined\"\n >\n <input\n ref=\"el\"\n v-model=\"internalModelValue\"\n type=\"checkbox\"\n :class=\"ui.input()\"\n :disabled=\"disabled\"\n :aria-invalid=\"hasError\"\n v-bind=\"getNonRootAttrs($attrs, ['onInput', 'onClick'])\"\n />\n <span :class=\"ui.control()\">\n <RuiIcon\n v-if=\"indeterminate\"\n name=\"lu-checkbox-indeterminate-fill\"\n :size=\"iconSize\"\n />\n <RuiIcon\n v-else-if=\"internalModelValue\"\n name=\"lu-checkbox-fill\"\n :size=\"iconSize\"\n />\n <RuiIcon\n v-else\n name=\"lu-checkbox-blank\"\n :size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"label || $slots.default\"\n :class=\"ui.label()\"\n >\n <slot>{{ label }}</slot>\n <span\n v-if=\"required\"\n class=\"text-rui-error\"\n >\n ﹡\n </span>\n </span>\n </label>\n <RuiFormTextDetail\n v-if=\"!effectiveHideDetails\"\n :error-messages=\"errorMessages\"\n :success-messages=\"successMessages\"\n :hint=\"hint\"\n />\n </div>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"RuiCheckbox.vue_vue_type_script_setup_true_lang.js","names":["$attrs","$slots"],"sources":["../../../../src/components/forms/checkbox/RuiCheckbox.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"TValue\">\nimport type { ContextColorsType } from '@/consts/colors';\nimport { objectPick } from '@vueuse/shared';\nimport { checkControlStyles, getCheckControlIconSize } from '@/components/forms/check-control-styles';\nimport { RuiCheckboxGroupContextKey } from '@/components/forms/checkbox/checkbox-group/context';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport { useFormTextDetail } from '@/utils/form-text-detail';\nimport { getNonRootAttrs, getRootAttrs } from '@/utils/helpers';\n\nexport interface Props<TValue> {\n value?: TValue;\n disabled?: boolean;\n color?: ContextColorsType;\n size?: 'sm' | 'lg';\n label?: string;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiCheckbox',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst indeterminate = defineModel<boolean>('indeterminate', { default: false });\n\nconst {\n value = undefined,\n disabled: disabledProp = false,\n color: colorProp = undefined,\n size: sizeProp = undefined,\n label = '',\n hint = '',\n errorMessages = [],\n successMessages = [],\n hideDetails = false,\n required = false,\n} = defineProps<Props<TValue>>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n\nconst el = useTemplateRef<HTMLInputElement>('el');\n\nconst group = inject(RuiCheckboxGroupContextKey, undefined);\n\nconst disabled = computed<boolean>(() => disabledProp || (group ? toValue(group.disabled) : false));\nconst color = computed<ContextColorsType | undefined>(() => colorProp ?? (group ? toValue(group.color) : undefined));\nconst size = computed<'sm' | 'lg' | undefined>(() => sizeProp ?? (group ? toValue(group.size) : undefined));\n// Suppress per-child details inside a group so the group's own hint/error wins.\nconst effectiveHideDetails = computed<boolean>(() => hideDetails || (group !== undefined && value !== undefined));\n\nconst { hasError, validation } = useFormTextDetail(\n () => errorMessages,\n () => successMessages,\n);\n\nconst internalModelValue = computed<boolean>({\n get: () => {\n if (group && value !== undefined)\n return group.isChecked(value);\n return get(modelValue);\n },\n set: (checked: boolean) => {\n if (checked)\n set(indeterminate, false);\n if (group && value !== undefined)\n group.toggle(value, checked);\n else\n set(modelValue, checked);\n },\n});\n\nconst ui = computed<ReturnType<typeof checkControlStyles>>(() => checkControlStyles({\n size: get(size),\n disabled: get(disabled),\n checked: get(internalModelValue) || get(indeterminate),\n validation: get(validation),\n color: get(color),\n}));\n\nconst iconSize = computed<number>(() => getCheckControlIconSize(get(size)));\n\nwatch(indeterminate, (val) => {\n const input = get(el);\n if (!input) {\n return;\n }\n input.checked = !val;\n input.value = val ? 'off' : 'on';\n});\n\nwatch(internalModelValue, (val) => {\n const input = get(el);\n if (input && input.checked !== val)\n input.checked = val;\n});\n</script>\n\n<template>\n <div v-bind=\"getRootAttrs($attrs)\">\n <label\n :class=\"ui.wrapper()\"\n v-bind=\"objectPick($attrs, ['onClick'])\"\n :data-disabled=\"disabled || undefined\"\n :data-checked=\"internalModelValue || indeterminate || undefined\"\n :data-error=\"hasError ? '' : undefined\"\n >\n <input\n ref=\"el\"\n v-model=\"internalModelValue\"\n type=\"checkbox\"\n :class=\"ui.input()\"\n :disabled=\"disabled\"\n :aria-invalid=\"hasError\"\n v-bind=\"getNonRootAttrs($attrs, ['onInput', 'onClick'])\"\n />\n <span :class=\"ui.control()\">\n <RuiIcon\n v-if=\"indeterminate\"\n name=\"lu-checkbox-indeterminate-fill\"\n :size=\"iconSize\"\n />\n <RuiIcon\n v-else-if=\"internalModelValue\"\n name=\"lu-checkbox-fill\"\n :size=\"iconSize\"\n />\n <RuiIcon\n v-else\n name=\"lu-checkbox-blank\"\n :size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"label || $slots.default\"\n :class=\"ui.label()\"\n >\n <slot>{{ label }}</slot>\n <span\n v-if=\"required\"\n class=\"text-rui-error\"\n >\n ﹡\n </span>\n </span>\n </label>\n <RuiFormTextDetail\n v-if=\"!effectiveHideDetails\"\n :error-messages=\"errorMessages\"\n :success-messages=\"successMessages\"\n :hint=\"hint\"\n />\n </div>\n</template>\n"],"mappings":"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"}
@@ -11,11 +11,11 @@ var _hoisted_2 = {
11
11
  key: 0,
12
12
  class: "text-rui-error"
13
13
  };
14
- var RuiCheckboxGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
14
+ var RuiCheckboxGroup_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
15
15
  name: "RuiCheckboxGroup",
16
16
  inheritAttrs: false,
17
17
  __name: "RuiCheckboxGroup",
18
- props: /* @__PURE__ */ mergeModels({
18
+ props: /*@__PURE__*/ mergeModels({
19
19
  inline: {
20
20
  type: Boolean,
21
21
  default: false
@@ -1 +1 @@
1
- {"version":3,"file":"RuiCheckboxGroup.vue_vue_type_script_setup_true_lang.js","names":["$attrs"],"sources":["../../../../../src/components/forms/checkbox/checkbox-group/RuiCheckboxGroup.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"TValue\">\nimport type { ContextColorsType } from '@/consts/colors';\nimport { RuiCheckboxGroupContextKey } from '@/components/forms/checkbox/checkbox-group/context';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\n\nexport interface Props {\n inline?: boolean;\n label?: string;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n disabled?: boolean;\n color?: ContextColorsType;\n size?: 'sm' | 'lg';\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiCheckboxGroup',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<TValue[]>({ default: () => [] });\n\nconst {\n inline = false,\n label = '',\n hint = '',\n errorMessages = [],\n successMessages = [],\n hideDetails = false,\n disabled = false,\n color,\n size,\n required = false,\n} = defineProps<Props>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n\nfunction arrayIncludes(arr: readonly TValue[], value: unknown): boolean {\n return Array.prototype.includes.call(arr, value);\n}\n\nprovide(RuiCheckboxGroupContextKey, {\n isChecked: (value: unknown): boolean => arrayIncludes(get(modelValue), value),\n toggle: (value: unknown, checked: boolean): void => {\n const current = get(modelValue);\n const present = arrayIncludes(current, value);\n if (checked === present)\n return;\n if (checked)\n set(modelValue, [...current, value as TValue]);\n else\n set(modelValue, current.filter(v => v !== value));\n },\n disabled: () => disabled,\n color: () => color,\n size: () => size,\n});\n</script>\n\n<template>\n <div\n role=\"group\"\n v-bind=\"$attrs\"\n >\n <div\n v-if=\"label\"\n class=\"text-rui-text-secondary text-body-1\"\n >\n {{ label }}\n <span\n v-if=\"required\"\n class=\"text-rui-error\"\n >\n ﹡\n </span>\n </div>\n <div :class=\"{ 'flex space-x-6': inline }\">\n <slot />\n </div>\n <RuiFormTextDetail\n v-if=\"!hideDetails\"\n :error-messages=\"errorMessages\"\n :success-messages=\"successMessages\"\n :hint=\"hint\"\n />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBA,MAAM,aAAa,SAAqB,SAAA,aAAuB;EAmB/D,SAAS,cAAc,KAAwB,OAAyB;AACtE,UAAO,MAAM,UAAU,SAAS,KAAK,KAAK,MAAM;;AAGlD,UAAQ,4BAA4B;GAClC,YAAY,UAA4B,cAAc,IAAI,WAAW,EAAE,MAAM;GAC7E,SAAS,OAAgB,YAA2B;IAClD,MAAM,UAAU,IAAI,WAAW;AAE/B,QAAI,YADY,cAAc,SAAS,MAAM,CAE3C;AACF,QAAI,QACF,KAAI,YAAY,CAAC,GAAG,SAAS,MAAgB,CAAC;QAE9C,KAAI,YAAY,QAAQ,QAAO,MAAK,MAAM,MAAM,CAAC;;GAErD,gBAAgB,QAAA;GAChB,aAAa,QAAA;GACb,YAAY,QAAA;GACb,CAAC;;uBAIA,mBAyBM,OAzBN,WAyBM,EAxBJ,MAAK,SAAO,EACJA,KAAAA,OAAM,EAAA;IAGN,QAAA,SAAA,WAAA,EADR,mBAWM,OAXN,YAWM,CAAA,gBAAA,gBAPD,QAAA,MAAK,GAAG,KACX,EAAA,EACQ,QAAA,YAAA,WAAA,EADR,mBAKO,QALP,YAGC,MAED,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA,IAAA,mBAAA,IAAA,KAAA;IAEF,mBAEM,OAAA,EAFA,OAAK,eAAA,EAAA,kBAAsB,QAAA,QAAM,CAAA,EAAA,EAAA,CACrC,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA;KAGD,QAAA,eAAA,WAAA,EADT,YAKE,2BAAA;;KAHC,kBAAgB,QAAA;KAChB,oBAAkB,QAAA;KAClB,MAAM,QAAA"}
1
+ {"version":3,"file":"RuiCheckboxGroup.vue_vue_type_script_setup_true_lang.js","names":["$attrs"],"sources":["../../../../../src/components/forms/checkbox/checkbox-group/RuiCheckboxGroup.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"TValue\">\nimport type { ContextColorsType } from '@/consts/colors';\nimport { RuiCheckboxGroupContextKey } from '@/components/forms/checkbox/checkbox-group/context';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\n\nexport interface Props {\n inline?: boolean;\n label?: string;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n disabled?: boolean;\n color?: ContextColorsType;\n size?: 'sm' | 'lg';\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiCheckboxGroup',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<TValue[]>({ default: () => [] });\n\nconst {\n inline = false,\n label = '',\n hint = '',\n errorMessages = [],\n successMessages = [],\n hideDetails = false,\n disabled = false,\n color,\n size,\n required = false,\n} = defineProps<Props>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n\nfunction arrayIncludes(arr: readonly TValue[], value: unknown): boolean {\n return Array.prototype.includes.call(arr, value);\n}\n\nprovide(RuiCheckboxGroupContextKey, {\n isChecked: (value: unknown): boolean => arrayIncludes(get(modelValue), value),\n toggle: (value: unknown, checked: boolean): void => {\n const current = get(modelValue);\n const present = arrayIncludes(current, value);\n if (checked === present)\n return;\n if (checked)\n set(modelValue, [...current, value as TValue]);\n else\n set(modelValue, current.filter(v => v !== value));\n },\n disabled: () => disabled,\n color: () => color,\n size: () => size,\n});\n</script>\n\n<template>\n <div\n role=\"group\"\n v-bind=\"$attrs\"\n >\n <div\n v-if=\"label\"\n class=\"text-rui-text-secondary text-body-1\"\n >\n {{ label }}\n <span\n v-if=\"required\"\n class=\"text-rui-error\"\n >\n ﹡\n </span>\n </div>\n <div :class=\"{ 'flex space-x-6': inline }\">\n <slot />\n </div>\n <RuiFormTextDetail\n v-if=\"!hideDetails\"\n :error-messages=\"errorMessages\"\n :success-messages=\"successMessages\"\n :hint=\"hint\"\n />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBA,MAAM,aAAa,SAAqB,SAAA,YAAsB;EAmB9D,SAAS,cAAc,KAAwB,OAAyB;GACtE,OAAO,MAAM,UAAU,SAAS,KAAK,KAAK,KAAK;EACjD;EAEA,QAAQ,4BAA4B;GAClC,YAAY,UAA4B,cAAc,IAAI,UAAU,GAAG,KAAK;GAC5E,SAAS,OAAgB,YAA2B;IAClD,MAAM,UAAU,IAAI,UAAU;IAE9B,IAAI,YADY,cAAc,SAAS,KACvB,GACd;IACF,IAAI,SACF,IAAI,YAAY,CAAC,GAAG,SAAS,KAAe,CAAC;SAE7C,IAAI,YAAY,QAAQ,QAAO,MAAK,MAAM,KAAK,CAAC;GACpD;GACA,gBAAgB,QAAA;GAChB,aAAa,QAAA;GACb,YAAY,QAAA;EACd,CAAC;;uBAIC,mBAyBM,OAzBN,WAyBM,EAxBJ,MAAK,QAAO,GACJA,KAAAA,MAAM,GAAA;IAGN,QAAA,SAAA,UAAA,GADR,mBAWM,OAXN,YAWM,CAAA,gBAAA,gBAPD,QAAA,KAAK,IAAG,KACX,CAAA,GACQ,QAAA,YAAA,UAAA,GADR,mBAKO,QALP,YAGC,KAED,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;IAEF,mBAEM,OAAA,EAFA,OAAK,eAAA,EAAA,kBAAsB,QAAA,OAAM,CAAA,EAAA,GAAA,CACrC,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA;KAGD,QAAA,eAAA,UAAA,GADT,YAKE,2BAAA;;KAHC,kBAAgB,QAAA;KAChB,oBAAkB,QAAA;KAClB,MAAM,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../../../src/components/forms/checkbox/checkbox-group/context.ts"],"sourcesContent":["import type { InjectionKey, MaybeRefOrGetter } from 'vue';\nimport type { ContextColorsType } from '@/consts/colors';\n\nexport interface RuiCheckboxGroupContext {\n isChecked: (value: unknown) => boolean;\n toggle: (value: unknown, checked: boolean) => void;\n disabled: MaybeRefOrGetter<boolean>;\n color: MaybeRefOrGetter<ContextColorsType | undefined>;\n size: MaybeRefOrGetter<'sm' | 'lg' | undefined>;\n}\n\nexport const RuiCheckboxGroupContextKey: InjectionKey<RuiCheckboxGroupContext>\n = Symbol('RuiCheckboxGroupContext');\n"],"mappings":";AAWA,IAAa,6BACT,OAAO,0BAA0B"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../../../src/components/forms/checkbox/checkbox-group/context.ts"],"sourcesContent":["import type { InjectionKey, MaybeRefOrGetter } from 'vue';\nimport type { ContextColorsType } from '@/consts/colors';\n\nexport interface RuiCheckboxGroupContext {\n isChecked: (value: unknown) => boolean;\n toggle: (value: unknown, checked: boolean) => void;\n disabled: MaybeRefOrGetter<boolean>;\n color: MaybeRefOrGetter<ContextColorsType | undefined>;\n size: MaybeRefOrGetter<'sm' | 'lg' | undefined>;\n}\n\nexport const RuiCheckboxGroupContextKey: InjectionKey<RuiCheckboxGroupContext>\n = Symbol('RuiCheckboxGroupContext');\n"],"mappings":";AAWA,IAAa,6BACT,OAAO,yBAAyB"}