@flux-ui/components 3.0.0-next.3 → 3.0.0-next.30

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 (549) hide show
  1. package/README.md +12 -40
  2. package/dist/component/FluxAction.vue.d.ts +7 -7
  3. package/dist/component/FluxActionBar.vue.d.ts +5 -5
  4. package/dist/component/FluxActionPane.vue.d.ts +2 -2
  5. package/dist/component/FluxActions.vue.d.ts +52 -50
  6. package/dist/component/FluxAlert.vue.d.ts +2 -2
  7. package/dist/component/FluxAnimatedColors.vue.d.ts +3 -2
  8. package/dist/component/FluxAspectRatio.vue.d.ts +2 -2
  9. package/dist/component/FluxAutoGrid.vue.d.ts +2 -2
  10. package/dist/component/FluxAvatar.vue.d.ts +7 -7
  11. package/dist/component/FluxBadge.vue.d.ts +8 -8
  12. package/dist/component/FluxBadgeStack.vue.d.ts +2 -2
  13. package/dist/component/FluxBorderShine.vue.d.ts +8 -9
  14. package/dist/component/FluxBoxedIcon.vue.d.ts +5 -5
  15. package/dist/component/FluxButton.vue.d.ts +8 -8
  16. package/dist/component/FluxButtonGroup.vue.d.ts +2 -2
  17. package/dist/component/FluxButtonStack.vue.d.ts +2 -2
  18. package/dist/component/FluxCalendar.vue.d.ts +5 -5
  19. package/dist/component/FluxCalendarEvent.vue.d.ts +5 -5
  20. package/dist/component/FluxCheckbox.vue.d.ts +6 -6
  21. package/dist/component/FluxChip.vue.d.ts +5 -5
  22. package/dist/component/FluxClickablePane.vue.d.ts +2 -2
  23. package/dist/component/FluxColorPicker.vue.d.ts +5 -5
  24. package/dist/component/FluxColorSelect.vue.d.ts +5 -5
  25. package/dist/component/FluxComment.vue.d.ts +2 -2
  26. package/dist/component/FluxConfirm.vue.d.ts +2 -2
  27. package/dist/component/FluxContainer.vue.d.ts +2 -2
  28. package/dist/component/FluxDataTable.vue.d.ts +52 -21
  29. package/dist/component/FluxDatePicker.vue.d.ts +6 -6
  30. package/dist/component/FluxDestructiveButton.vue.d.ts +7 -7
  31. package/dist/component/FluxDisabled.vue.d.ts +2 -2
  32. package/dist/component/FluxDivider.vue.d.ts +2 -2
  33. package/dist/component/FluxDotPattern.vue.d.ts +2 -2
  34. package/dist/component/FluxDropZone.vue.d.ts +6 -6
  35. package/dist/component/FluxDynamicView.vue.d.ts +2 -3
  36. package/dist/component/FluxExpandable.vue.d.ts +10 -10
  37. package/dist/component/FluxExpandableGroup.vue.d.ts +2 -2
  38. package/dist/component/FluxFader.vue.d.ts +5 -5
  39. package/dist/component/FluxFaderItem.vue.d.ts +2 -2
  40. package/dist/component/FluxFilter.vue.d.ts +8 -140
  41. package/dist/component/FluxFilterBar.vue.d.ts +38 -0
  42. package/dist/component/FluxFilterBase.vue.d.ts +45 -0
  43. package/dist/component/FluxFilterDate.vue.d.ts +2 -2
  44. package/dist/component/FluxFilterDateRange.vue.d.ts +2 -2
  45. package/dist/component/FluxFilterOption.vue.d.ts +5 -5
  46. package/dist/component/FluxFilterOptionAsync.vue.d.ts +5 -5
  47. package/dist/component/FluxFilterOptions.vue.d.ts +5 -5
  48. package/dist/component/FluxFilterOptionsAsync.vue.d.ts +5 -5
  49. package/dist/component/FluxFilterRange.vue.d.ts +2 -2
  50. package/dist/component/FluxFilterWindow.vue.d.ts +163 -0
  51. package/dist/component/FluxFlickeringGrid.vue.d.ts +2 -2
  52. package/dist/component/FluxFlyout.vue.d.ts +42 -41
  53. package/dist/component/FluxFocalPointEditor.vue.d.ts +5 -5
  54. package/dist/component/FluxFocalPointImage.vue.d.ts +2 -2
  55. package/dist/component/FluxForm.vue.d.ts +6 -6
  56. package/dist/component/FluxFormColumn.vue.d.ts +2 -2
  57. package/dist/component/FluxFormDateInput.vue.d.ts +52 -51
  58. package/dist/component/FluxFormDateRangeInput.vue.d.ts +50 -49
  59. package/dist/component/FluxFormDateTimeInput.vue.d.ts +50 -49
  60. package/dist/component/FluxFormField.vue.d.ts +2 -2
  61. package/dist/component/FluxFormFieldAddition.vue.d.ts +2 -2
  62. package/dist/component/FluxFormGrid.vue.d.ts +23 -0
  63. package/dist/component/FluxFormInput.vue.d.ts +12 -10
  64. package/dist/component/FluxFormInputAddition.vue.d.ts +2 -2
  65. package/dist/component/FluxFormInputGroup.vue.d.ts +3 -2
  66. package/dist/component/FluxFormPinInput.vue.d.ts +5 -5
  67. package/dist/component/FluxFormRangeSlider.vue.d.ts +25 -25
  68. package/dist/component/FluxFormRow.vue.d.ts +2 -2
  69. package/dist/component/FluxFormSection.vue.d.ts +2 -2
  70. package/dist/component/FluxFormSelect.vue.d.ts +6 -6
  71. package/dist/component/FluxFormSelectAsync.vue.d.ts +6 -6
  72. package/dist/component/FluxFormSlider.vue.d.ts +15 -15
  73. package/dist/component/FluxFormTextArea.vue.d.ts +7 -7
  74. package/dist/component/FluxFormTimeZonePicker.vue.d.ts +6 -6
  75. package/dist/component/FluxGallery.vue.d.ts +6 -6
  76. package/dist/component/FluxGalleryItem.vue.d.ts +5 -5
  77. package/dist/component/FluxGrid.vue.d.ts +2 -2
  78. package/dist/component/FluxGridColumn.vue.d.ts +2 -2
  79. package/dist/component/FluxGridPattern.vue.d.ts +2 -2
  80. package/dist/component/FluxIcon.vue.d.ts +5 -5
  81. package/dist/component/FluxInfo.vue.d.ts +2 -2
  82. package/dist/component/FluxInfoStack.vue.d.ts +2 -2
  83. package/dist/component/FluxItem.vue.d.ts +18 -0
  84. package/dist/component/FluxItemActions.vue.d.ts +21 -0
  85. package/dist/component/FluxItemContent.vue.d.ts +21 -0
  86. package/dist/component/FluxItemMedia.vue.d.ts +22 -0
  87. package/dist/component/FluxItemStack.vue.d.ts +18 -0
  88. package/dist/component/FluxLegend.vue.d.ts +2 -2
  89. package/dist/component/FluxLink.vue.d.ts +7 -7
  90. package/dist/component/FluxMenu.vue.d.ts +2 -2
  91. package/dist/component/FluxMenuGroup.vue.d.ts +2 -2
  92. package/dist/component/FluxMenuItem.vue.d.ts +25 -7
  93. package/dist/component/FluxMenuOptions.vue.d.ts +5 -5
  94. package/dist/component/FluxMenuSubHeader.vue.d.ts +2 -2
  95. package/dist/component/FluxMenuTitle.vue.d.ts +2 -2
  96. package/dist/component/FluxNotice.vue.d.ts +5 -5
  97. package/dist/component/FluxNoticeStack.vue.d.ts +2 -2
  98. package/dist/component/FluxOverflowBar.vue.d.ts +40 -0
  99. package/dist/component/FluxOverlay.vue.d.ts +5 -6
  100. package/dist/component/FluxOverlayProvider.vue.d.ts +3 -0
  101. package/dist/component/FluxPagination.vue.d.ts +5 -5
  102. package/dist/component/FluxPaginationBar.vue.d.ts +6 -6
  103. package/dist/component/FluxPaginationButton.vue.d.ts +30 -0
  104. package/dist/component/FluxPane.vue.d.ts +2 -2
  105. package/dist/component/FluxPaneBody.vue.d.ts +2 -2
  106. package/dist/component/FluxPaneDeck.vue.d.ts +2 -2
  107. package/dist/component/FluxPaneFooter.vue.d.ts +2 -2
  108. package/dist/component/FluxPaneGroup.vue.d.ts +2 -2
  109. package/dist/component/FluxPaneHeader.vue.d.ts +2 -2
  110. package/dist/component/FluxPaneIllustration.vue.d.ts +2 -2
  111. package/dist/component/FluxPaneMedia.vue.d.ts +3 -2
  112. package/dist/component/FluxPercentageBar.vue.d.ts +2 -2
  113. package/dist/component/FluxPersona.vue.d.ts +5 -5
  114. package/dist/component/FluxPlaceholder.vue.d.ts +5 -5
  115. package/dist/component/FluxPressable.vue.d.ts +7 -7
  116. package/dist/component/FluxPrimaryButton.vue.d.ts +7 -7
  117. package/dist/component/FluxPrimaryLinkButton.vue.d.ts +25 -0
  118. package/dist/component/FluxProgressBar.vue.d.ts +2 -2
  119. package/dist/component/FluxPrompt.vue.d.ts +31 -27
  120. package/dist/component/FluxPublishButton.vue.d.ts +7 -7
  121. package/dist/component/FluxQuantitySelector.vue.d.ts +5 -5
  122. package/dist/component/FluxRemove.vue.d.ts +5 -5
  123. package/dist/component/FluxRoot.vue.d.ts +2 -2
  124. package/dist/component/FluxSecondaryButton.vue.d.ts +7 -7
  125. package/dist/component/FluxSecondaryLinkButton.vue.d.ts +25 -0
  126. package/dist/component/FluxSegmentedControl.vue.d.ts +5 -5
  127. package/dist/component/FluxSegmentedView.vue.d.ts +5 -5
  128. package/dist/component/FluxSeparator.vue.d.ts +2 -2
  129. package/dist/component/FluxSlideOver.vue.d.ts +7 -7
  130. package/dist/component/FluxSnackbar.vue.d.ts +6 -6
  131. package/dist/component/FluxSnackbarProvider.vue.d.ts +2 -2
  132. package/dist/component/FluxSpacer.vue.d.ts +2 -2
  133. package/dist/component/FluxSpacing.vue.d.ts +2 -2
  134. package/dist/component/FluxSpinner.vue.d.ts +2 -2
  135. package/dist/component/FluxSplitButton.vue.d.ts +2 -2
  136. package/dist/component/FluxStack.vue.d.ts +2 -2
  137. package/dist/component/FluxStatistic.vue.d.ts +8 -5
  138. package/dist/component/FluxStepper.vue.d.ts +5 -6
  139. package/dist/component/FluxStepperStep.vue.d.ts +2 -2
  140. package/dist/component/FluxStepperSteps.vue.d.ts +5 -5
  141. package/dist/component/FluxTab.vue.d.ts +2 -2
  142. package/dist/component/FluxTabBar.vue.d.ts +2 -2
  143. package/dist/component/FluxTabBarItem.vue.d.ts +36 -36
  144. package/dist/component/FluxTable.vue.d.ts +15 -10
  145. package/dist/component/FluxTableActions.vue.d.ts +2 -2
  146. package/dist/component/FluxTableBar.vue.d.ts +20 -0
  147. package/dist/component/FluxTableCell.vue.d.ts +3 -2
  148. package/dist/component/FluxTableHeader.vue.d.ts +6 -6
  149. package/dist/component/FluxTableRow.vue.d.ts +2 -2
  150. package/dist/component/FluxTabs.vue.d.ts +5 -6
  151. package/dist/component/FluxTag.vue.d.ts +8 -8
  152. package/dist/component/FluxTagStack.vue.d.ts +2 -2
  153. package/dist/component/FluxTicks.vue.d.ts +2 -2
  154. package/dist/component/FluxTimeline.vue.d.ts +2 -2
  155. package/dist/component/FluxTimelineItem.vue.d.ts +2 -2
  156. package/dist/component/FluxToggle.vue.d.ts +5 -5
  157. package/dist/component/FluxToolbar.vue.d.ts +2 -2
  158. package/dist/component/FluxToolbarGroup.vue.d.ts +2 -2
  159. package/dist/component/FluxTooltip.vue.d.ts +5 -6
  160. package/dist/component/FluxTooltipProvider.vue.d.ts +2 -2
  161. package/dist/component/FluxWindow.vue.d.ts +3 -3
  162. package/dist/component/index.d.ts +12 -1
  163. package/dist/component/primitive/Anchor.vue.d.ts +2 -2
  164. package/dist/component/primitive/AnchorPopup.vue.d.ts +2 -3
  165. package/dist/component/primitive/CoordinatePicker.vue.d.ts +6 -6
  166. package/dist/component/primitive/CoordinatePickerThumb.vue.d.ts +7 -7
  167. package/dist/component/primitive/FilterBadge.vue.d.ts +12 -0
  168. package/dist/component/primitive/FilterItem.vue.d.ts +5 -5
  169. package/dist/component/primitive/FilterMenuRenderer.d.ts +21 -10
  170. package/dist/component/primitive/FilterOptionBase.vue.d.ts +6 -6
  171. package/dist/component/primitive/SelectBase.vue.d.ts +170 -101
  172. package/dist/component/primitive/SliderBase.vue.d.ts +7 -7
  173. package/dist/component/primitive/SliderThumb.vue.d.ts +7 -7
  174. package/dist/component/primitive/SliderTrack.vue.d.ts +2 -2
  175. package/dist/component/primitive/VNodeRenderer.d.ts +5 -6
  176. package/dist/component/primitive/index.d.ts +2 -1
  177. package/dist/composable/index.d.ts +1 -1
  178. package/dist/composable/private/index.d.ts +0 -2
  179. package/dist/composable/private/useFormSelect.d.ts +6 -7
  180. package/dist/composable/private/useTranslate.d.ts +0 -1
  181. package/dist/composable/useBreakpoints.d.ts +1 -2
  182. package/dist/composable/useDisabled.d.ts +2 -3
  183. package/dist/composable/useDisabledInjection.d.ts +2 -2
  184. package/dist/composable/useExpandableGroupInjection.d.ts +2 -2
  185. package/dist/composable/useFilterInjection.d.ts +2 -2
  186. package/dist/composable/useFlyoutInjection.d.ts +2 -6
  187. package/dist/composable/useFormFieldInjection.d.ts +2 -2
  188. package/dist/composable/useTableInjection.d.ts +2 -7
  189. package/dist/composable/useTooltipInjection.d.ts +3 -0
  190. package/dist/data/di.d.ts +4 -1
  191. package/dist/data/filter.d.ts +18 -2
  192. package/dist/data/helper.d.ts +0 -1
  193. package/dist/data/i18n.d.ts +1 -2
  194. package/dist/data/iconRegistry.d.ts +0 -1
  195. package/dist/data/index.d.ts +0 -1
  196. package/dist/data/inputMask.d.ts +0 -1
  197. package/dist/data/store.d.ts +2 -3
  198. package/dist/index.css +6058 -0
  199. package/dist/index.d.ts +1 -2
  200. package/dist/index.js +17628 -0
  201. package/dist/index.js.map +1 -0
  202. package/dist/transition/FluxAutoHeightTransition.vue.d.ts +2 -2
  203. package/dist/transition/FluxAutoWidthTransition.vue.d.ts +2 -2
  204. package/dist/transition/FluxBreakthroughTransition.vue.d.ts +2 -2
  205. package/dist/transition/FluxFadeTransition.vue.d.ts +2 -2
  206. package/dist/transition/FluxOverlayTransition.vue.d.ts +2 -2
  207. package/dist/transition/FluxRouteTransition.vue.d.ts +2 -2
  208. package/dist/transition/FluxSlideOverTransition.vue.d.ts +2 -2
  209. package/dist/transition/FluxTooltipTransition.vue.d.ts +2 -2
  210. package/dist/transition/FluxVerticalWindowTransition.vue.d.ts +2 -2
  211. package/dist/transition/FluxWindowTransition.vue.d.ts +2 -2
  212. package/dist/transition/index.d.ts +0 -1
  213. package/dist/util/createDialogRenderer.d.ts +1 -2
  214. package/dist/util/createLabelForDateRange.d.ts +0 -1
  215. package/dist/util/index.d.ts +0 -1
  216. package/dist/vite.d.ts +7 -0
  217. package/package.json +24 -23
  218. package/src/component/FluxActionBar.vue +1 -1
  219. package/src/component/FluxAnimatedColors.vue +6 -4
  220. package/src/component/FluxAutoGrid.vue +1 -1
  221. package/src/component/FluxBorderShine.vue +1 -1
  222. package/src/component/FluxCalendar.vue +3 -3
  223. package/src/component/FluxColorPicker.vue +1 -1
  224. package/src/component/FluxContainer.vue +1 -1
  225. package/src/component/FluxDataTable.vue +68 -16
  226. package/src/component/FluxDatePicker.vue +7 -5
  227. package/src/component/FluxDynamicView.vue +1 -1
  228. package/src/component/FluxExpandable.vue +1 -1
  229. package/src/component/FluxExpandableGroup.vue +1 -1
  230. package/src/component/FluxFader.vue +2 -1
  231. package/src/component/FluxFilter.vue +20 -107
  232. package/src/component/FluxFilterBar.vue +117 -0
  233. package/src/component/FluxFilterBase.vue +141 -0
  234. package/src/component/FluxFilterOptionAsync.vue +1 -2
  235. package/src/component/FluxFilterOptionsAsync.vue +1 -2
  236. package/src/component/FluxFilterWindow.vue +83 -0
  237. package/src/component/FluxFlyout.vue +4 -3
  238. package/src/component/FluxForm.vue +7 -7
  239. package/src/component/FluxFormGrid.vue +23 -0
  240. package/src/component/FluxFormInput.vue +10 -1
  241. package/src/component/FluxFormInputGroup.vue +2 -0
  242. package/src/component/FluxFormSelect.vue +1 -1
  243. package/src/component/FluxFormSelectAsync.vue +2 -2
  244. package/src/component/FluxFormTimeZonePicker.vue +5 -0
  245. package/src/component/FluxGallery.vue +2 -2
  246. package/src/component/FluxGrid.vue +1 -1
  247. package/src/component/FluxIcon.vue +0 -12
  248. package/src/component/FluxItem.vue +11 -0
  249. package/src/component/FluxItemActions.vue +18 -0
  250. package/src/component/FluxItemContent.vue +15 -0
  251. package/src/component/FluxItemMedia.vue +20 -0
  252. package/src/component/FluxItemStack.vue +14 -0
  253. package/src/component/FluxMenuItem.vue +10 -2
  254. package/src/component/FluxMenuOptions.vue +1 -1
  255. package/src/component/FluxOverflowBar.vue +133 -0
  256. package/src/component/FluxOverlay.vue +1 -1
  257. package/src/component/FluxOverlayProvider.vue +39 -0
  258. package/src/component/FluxPagination.vue +16 -14
  259. package/src/component/FluxPaginationBar.vue +27 -38
  260. package/src/component/FluxPaginationButton.vue +39 -0
  261. package/src/component/FluxPaneMedia.vue +2 -0
  262. package/src/component/FluxPressable.vue +1 -1
  263. package/src/component/FluxPrimaryLinkButton.vue +28 -0
  264. package/src/component/FluxProgressBar.vue +1 -1
  265. package/src/component/FluxRoot.vue +3 -26
  266. package/src/component/FluxSecondaryLinkButton.vue +28 -0
  267. package/src/component/FluxStack.vue +1 -1
  268. package/src/component/FluxStatistic.vue +23 -9
  269. package/src/component/FluxStepper.vue +1 -1
  270. package/src/component/FluxTabBar.vue +23 -17
  271. package/src/component/FluxTabBarItem.vue +1 -1
  272. package/src/component/FluxTable.vue +25 -4
  273. package/src/component/FluxTableBar.vue +37 -0
  274. package/src/component/FluxTableCell.vue +3 -1
  275. package/src/component/FluxTabs.vue +1 -1
  276. package/src/component/FluxTooltip.vue +3 -1
  277. package/src/component/FluxTooltipProvider.vue +7 -3
  278. package/src/component/index.ts +12 -0
  279. package/src/component/primitive/AnchorPopup.vue +11 -5
  280. package/src/component/primitive/FilterBadge.vue +43 -0
  281. package/src/component/primitive/FilterItem.vue +1 -1
  282. package/src/component/primitive/FilterMenuRenderer.ts +10 -198
  283. package/src/component/primitive/SelectBase.vue +9 -2
  284. package/src/component/primitive/index.ts +2 -0
  285. package/src/composable/index.ts +1 -0
  286. package/src/composable/private/index.ts +0 -1
  287. package/src/composable/private/useFormSelect.ts +2 -2
  288. package/src/composable/useFilterInjection.ts +1 -8
  289. package/src/composable/useTooltipInjection.ts +8 -0
  290. package/src/css/base.scss +6 -3
  291. package/src/css/component/Action.module.scss +10 -7
  292. package/src/css/component/Avatar.module.scss +14 -14
  293. package/src/css/component/Badge.module.scss +17 -16
  294. package/src/css/component/Button.module.scss +69 -35
  295. package/src/css/component/Calendar.module.scss +12 -12
  296. package/src/css/component/Chip.module.scss +7 -19
  297. package/src/css/component/Color.module.scss +4 -4
  298. package/src/css/component/Comment.module.scss +15 -14
  299. package/src/css/component/DatePicker.module.scss +12 -23
  300. package/src/css/component/Divider.module.scss +2 -2
  301. package/src/css/component/DropZone.module.scss +27 -24
  302. package/src/css/component/Expandable.module.scss +4 -4
  303. package/src/css/component/Filter.module.scss +45 -5
  304. package/src/css/component/Flyout.module.scss +1 -1
  305. package/src/css/component/Form.module.scss +91 -50
  306. package/src/css/component/Gallery.module.scss +14 -4
  307. package/src/css/component/Icon.module.scss +36 -50
  308. package/src/css/component/Info.module.scss +2 -3
  309. package/src/css/component/Item.module.scss +74 -0
  310. package/src/css/component/Layout.module.scss +3 -0
  311. package/src/css/component/Menu.module.scss +29 -30
  312. package/src/css/component/Notice.module.scss +43 -43
  313. package/src/css/component/OverflowBar.module.scss +41 -0
  314. package/src/css/component/Overlay.module.scss +55 -7
  315. package/src/css/component/Pagination.module.scss +70 -33
  316. package/src/css/component/Pane.module.scss +52 -9
  317. package/src/css/component/PercentageBar.module.scss +1 -1
  318. package/src/css/component/Placeholder.module.scss +4 -4
  319. package/src/css/component/Progress.module.scss +17 -6
  320. package/src/css/component/Remove.module.scss +4 -4
  321. package/src/css/component/SegmentedControl.module.scss +8 -8
  322. package/src/css/component/Snackbar.module.scss +19 -18
  323. package/src/css/component/Spinner.module.scss +2 -2
  324. package/src/css/component/Statistic.module.scss +12 -39
  325. package/src/css/component/Stepper.module.scss +9 -9
  326. package/src/css/component/Tab.module.scss +21 -9
  327. package/src/css/component/Table.module.scss +67 -20
  328. package/src/css/component/Timeline.module.scss +20 -20
  329. package/src/css/component/Toolbar.module.scss +7 -2
  330. package/src/css/component/Tooltip.module.scss +4 -2
  331. package/src/css/component/Transition.module.scss +5 -5
  332. package/src/css/component/Visual.module.scss +3 -3
  333. package/src/css/component/base/Button.module.scss +10 -0
  334. package/src/css/component/base/Pane.module.scss +4 -8
  335. package/src/css/component/primitive/CoordinatePicker.module.scss +3 -3
  336. package/src/css/component/primitive/Slider.module.scss +10 -15
  337. package/src/css/mixin/breakpoints.scss +15 -3
  338. package/src/css/mixin/focus-ring.scss +2 -2
  339. package/src/css/typography.scss +13 -7
  340. package/src/css/variables.scss +218 -186
  341. package/src/data/di.ts +5 -0
  342. package/src/data/filter.ts +161 -1
  343. package/src/data/i18n.ts +1 -1
  344. package/src/data/iconRegistry.ts +5 -1
  345. package/src/data/store.ts +6 -4
  346. package/src/index.ts +1 -0
  347. package/src/util/createDialogRenderer.ts +36 -19
  348. package/src/vite.d.ts +2 -8
  349. package/tsconfig.json +4 -42
  350. package/dist/component/FluxAction.vue.d.ts.map +0 -1
  351. package/dist/component/FluxActionBar.vue.d.ts.map +0 -1
  352. package/dist/component/FluxActionPane.vue.d.ts.map +0 -1
  353. package/dist/component/FluxActions.vue.d.ts.map +0 -1
  354. package/dist/component/FluxAlert.vue.d.ts.map +0 -1
  355. package/dist/component/FluxAnimatedColors.vue.d.ts.map +0 -1
  356. package/dist/component/FluxAspectRatio.vue.d.ts.map +0 -1
  357. package/dist/component/FluxAutoGrid.vue.d.ts.map +0 -1
  358. package/dist/component/FluxAvatar.vue.d.ts.map +0 -1
  359. package/dist/component/FluxBadge.vue.d.ts.map +0 -1
  360. package/dist/component/FluxBadgeStack.vue.d.ts.map +0 -1
  361. package/dist/component/FluxBorderShine.vue.d.ts.map +0 -1
  362. package/dist/component/FluxBoxedIcon.vue.d.ts.map +0 -1
  363. package/dist/component/FluxButton.vue.d.ts.map +0 -1
  364. package/dist/component/FluxButtonGroup.vue.d.ts.map +0 -1
  365. package/dist/component/FluxButtonStack.vue.d.ts.map +0 -1
  366. package/dist/component/FluxCalendar.vue.d.ts.map +0 -1
  367. package/dist/component/FluxCalendarEvent.vue.d.ts.map +0 -1
  368. package/dist/component/FluxCheckbox.vue.d.ts.map +0 -1
  369. package/dist/component/FluxChip.vue.d.ts.map +0 -1
  370. package/dist/component/FluxClickablePane.vue.d.ts.map +0 -1
  371. package/dist/component/FluxColorPicker.vue.d.ts.map +0 -1
  372. package/dist/component/FluxColorSelect.vue.d.ts.map +0 -1
  373. package/dist/component/FluxComment.vue.d.ts.map +0 -1
  374. package/dist/component/FluxConfirm.vue.d.ts.map +0 -1
  375. package/dist/component/FluxContainer.vue.d.ts.map +0 -1
  376. package/dist/component/FluxDataTable.vue.d.ts.map +0 -1
  377. package/dist/component/FluxDatePicker.vue.d.ts.map +0 -1
  378. package/dist/component/FluxDestructiveButton.vue.d.ts.map +0 -1
  379. package/dist/component/FluxDisabled.vue.d.ts.map +0 -1
  380. package/dist/component/FluxDivider.vue.d.ts.map +0 -1
  381. package/dist/component/FluxDotPattern.vue.d.ts.map +0 -1
  382. package/dist/component/FluxDropZone.vue.d.ts.map +0 -1
  383. package/dist/component/FluxDynamicView.vue.d.ts.map +0 -1
  384. package/dist/component/FluxExpandable.vue.d.ts.map +0 -1
  385. package/dist/component/FluxExpandableGroup.vue.d.ts.map +0 -1
  386. package/dist/component/FluxFader.vue.d.ts.map +0 -1
  387. package/dist/component/FluxFaderItem.vue.d.ts.map +0 -1
  388. package/dist/component/FluxFilter.vue.d.ts.map +0 -1
  389. package/dist/component/FluxFilterDate.vue.d.ts.map +0 -1
  390. package/dist/component/FluxFilterDateRange.vue.d.ts.map +0 -1
  391. package/dist/component/FluxFilterOption.vue.d.ts.map +0 -1
  392. package/dist/component/FluxFilterOptionAsync.vue.d.ts.map +0 -1
  393. package/dist/component/FluxFilterOptions.vue.d.ts.map +0 -1
  394. package/dist/component/FluxFilterOptionsAsync.vue.d.ts.map +0 -1
  395. package/dist/component/FluxFilterRange.vue.d.ts.map +0 -1
  396. package/dist/component/FluxFlickeringGrid.vue.d.ts.map +0 -1
  397. package/dist/component/FluxFlyout.vue.d.ts.map +0 -1
  398. package/dist/component/FluxFocalPointEditor.vue.d.ts.map +0 -1
  399. package/dist/component/FluxFocalPointImage.vue.d.ts.map +0 -1
  400. package/dist/component/FluxForm.vue.d.ts.map +0 -1
  401. package/dist/component/FluxFormColumn.vue.d.ts.map +0 -1
  402. package/dist/component/FluxFormDateInput.vue.d.ts.map +0 -1
  403. package/dist/component/FluxFormDateRangeInput.vue.d.ts.map +0 -1
  404. package/dist/component/FluxFormDateTimeInput.vue.d.ts.map +0 -1
  405. package/dist/component/FluxFormField.vue.d.ts.map +0 -1
  406. package/dist/component/FluxFormFieldAddition.vue.d.ts.map +0 -1
  407. package/dist/component/FluxFormInput.vue.d.ts.map +0 -1
  408. package/dist/component/FluxFormInputAddition.vue.d.ts.map +0 -1
  409. package/dist/component/FluxFormInputGroup.vue.d.ts.map +0 -1
  410. package/dist/component/FluxFormPinInput.vue.d.ts.map +0 -1
  411. package/dist/component/FluxFormRangeSlider.vue.d.ts.map +0 -1
  412. package/dist/component/FluxFormRow.vue.d.ts.map +0 -1
  413. package/dist/component/FluxFormSection.vue.d.ts.map +0 -1
  414. package/dist/component/FluxFormSelect.vue.d.ts.map +0 -1
  415. package/dist/component/FluxFormSelectAsync.vue.d.ts.map +0 -1
  416. package/dist/component/FluxFormSlider.vue.d.ts.map +0 -1
  417. package/dist/component/FluxFormTextArea.vue.d.ts.map +0 -1
  418. package/dist/component/FluxFormTimeZonePicker.vue.d.ts.map +0 -1
  419. package/dist/component/FluxGallery.vue.d.ts.map +0 -1
  420. package/dist/component/FluxGalleryItem.vue.d.ts.map +0 -1
  421. package/dist/component/FluxGrid.vue.d.ts.map +0 -1
  422. package/dist/component/FluxGridColumn.vue.d.ts.map +0 -1
  423. package/dist/component/FluxGridPattern.vue.d.ts.map +0 -1
  424. package/dist/component/FluxIcon.vue.d.ts.map +0 -1
  425. package/dist/component/FluxInfo.vue.d.ts.map +0 -1
  426. package/dist/component/FluxInfoStack.vue.d.ts.map +0 -1
  427. package/dist/component/FluxLegend.vue.d.ts.map +0 -1
  428. package/dist/component/FluxLink.vue.d.ts.map +0 -1
  429. package/dist/component/FluxMenu.vue.d.ts.map +0 -1
  430. package/dist/component/FluxMenuGroup.vue.d.ts.map +0 -1
  431. package/dist/component/FluxMenuItem.vue.d.ts.map +0 -1
  432. package/dist/component/FluxMenuOptions.vue.d.ts.map +0 -1
  433. package/dist/component/FluxMenuSubHeader.vue.d.ts.map +0 -1
  434. package/dist/component/FluxMenuTitle.vue.d.ts.map +0 -1
  435. package/dist/component/FluxNotice.vue.d.ts.map +0 -1
  436. package/dist/component/FluxNoticeStack.vue.d.ts.map +0 -1
  437. package/dist/component/FluxOverlay.vue.d.ts.map +0 -1
  438. package/dist/component/FluxPagination.vue.d.ts.map +0 -1
  439. package/dist/component/FluxPaginationBar.vue.d.ts.map +0 -1
  440. package/dist/component/FluxPane.vue.d.ts.map +0 -1
  441. package/dist/component/FluxPaneBody.vue.d.ts.map +0 -1
  442. package/dist/component/FluxPaneDeck.vue.d.ts.map +0 -1
  443. package/dist/component/FluxPaneFooter.vue.d.ts.map +0 -1
  444. package/dist/component/FluxPaneGroup.vue.d.ts.map +0 -1
  445. package/dist/component/FluxPaneHeader.vue.d.ts.map +0 -1
  446. package/dist/component/FluxPaneIllustration.vue.d.ts.map +0 -1
  447. package/dist/component/FluxPaneMedia.vue.d.ts.map +0 -1
  448. package/dist/component/FluxPercentageBar.vue.d.ts.map +0 -1
  449. package/dist/component/FluxPersona.vue.d.ts.map +0 -1
  450. package/dist/component/FluxPlaceholder.vue.d.ts.map +0 -1
  451. package/dist/component/FluxPressable.vue.d.ts.map +0 -1
  452. package/dist/component/FluxPrimaryButton.vue.d.ts.map +0 -1
  453. package/dist/component/FluxProgressBar.vue.d.ts.map +0 -1
  454. package/dist/component/FluxPrompt.vue.d.ts.map +0 -1
  455. package/dist/component/FluxPublishButton.vue.d.ts.map +0 -1
  456. package/dist/component/FluxQuantitySelector.vue.d.ts.map +0 -1
  457. package/dist/component/FluxRemove.vue.d.ts.map +0 -1
  458. package/dist/component/FluxRoot.vue.d.ts.map +0 -1
  459. package/dist/component/FluxSecondaryButton.vue.d.ts.map +0 -1
  460. package/dist/component/FluxSegmentedControl.vue.d.ts.map +0 -1
  461. package/dist/component/FluxSegmentedView.vue.d.ts.map +0 -1
  462. package/dist/component/FluxSeparator.vue.d.ts.map +0 -1
  463. package/dist/component/FluxSlideOver.vue.d.ts.map +0 -1
  464. package/dist/component/FluxSnackbar.vue.d.ts.map +0 -1
  465. package/dist/component/FluxSnackbarProvider.vue.d.ts.map +0 -1
  466. package/dist/component/FluxSpacer.vue.d.ts.map +0 -1
  467. package/dist/component/FluxSpacing.vue.d.ts.map +0 -1
  468. package/dist/component/FluxSpinner.vue.d.ts.map +0 -1
  469. package/dist/component/FluxSplitButton.vue.d.ts.map +0 -1
  470. package/dist/component/FluxStack.vue.d.ts.map +0 -1
  471. package/dist/component/FluxStatistic.vue.d.ts.map +0 -1
  472. package/dist/component/FluxStepper.vue.d.ts.map +0 -1
  473. package/dist/component/FluxStepperStep.vue.d.ts.map +0 -1
  474. package/dist/component/FluxStepperSteps.vue.d.ts.map +0 -1
  475. package/dist/component/FluxTab.vue.d.ts.map +0 -1
  476. package/dist/component/FluxTabBar.vue.d.ts.map +0 -1
  477. package/dist/component/FluxTabBarItem.vue.d.ts.map +0 -1
  478. package/dist/component/FluxTable.vue.d.ts.map +0 -1
  479. package/dist/component/FluxTableActions.vue.d.ts.map +0 -1
  480. package/dist/component/FluxTableCell.vue.d.ts.map +0 -1
  481. package/dist/component/FluxTableHeader.vue.d.ts.map +0 -1
  482. package/dist/component/FluxTableRow.vue.d.ts.map +0 -1
  483. package/dist/component/FluxTabs.vue.d.ts.map +0 -1
  484. package/dist/component/FluxTag.vue.d.ts.map +0 -1
  485. package/dist/component/FluxTagStack.vue.d.ts.map +0 -1
  486. package/dist/component/FluxTicks.vue.d.ts.map +0 -1
  487. package/dist/component/FluxTimeline.vue.d.ts.map +0 -1
  488. package/dist/component/FluxTimelineItem.vue.d.ts.map +0 -1
  489. package/dist/component/FluxToggle.vue.d.ts.map +0 -1
  490. package/dist/component/FluxToolbar.vue.d.ts.map +0 -1
  491. package/dist/component/FluxToolbarGroup.vue.d.ts.map +0 -1
  492. package/dist/component/FluxTooltip.vue.d.ts.map +0 -1
  493. package/dist/component/FluxTooltipProvider.vue.d.ts.map +0 -1
  494. package/dist/component/FluxWindow.vue.d.ts.map +0 -1
  495. package/dist/component/index.d.ts.map +0 -1
  496. package/dist/component/primitive/Anchor.vue.d.ts.map +0 -1
  497. package/dist/component/primitive/AnchorPopup.vue.d.ts.map +0 -1
  498. package/dist/component/primitive/CoordinatePicker.vue.d.ts.map +0 -1
  499. package/dist/component/primitive/CoordinatePickerThumb.vue.d.ts.map +0 -1
  500. package/dist/component/primitive/FilterItem.vue.d.ts.map +0 -1
  501. package/dist/component/primitive/FilterMenuRenderer.d.ts.map +0 -1
  502. package/dist/component/primitive/FilterOptionBase.vue.d.ts.map +0 -1
  503. package/dist/component/primitive/SelectBase.vue.d.ts.map +0 -1
  504. package/dist/component/primitive/SliderBase.vue.d.ts.map +0 -1
  505. package/dist/component/primitive/SliderThumb.vue.d.ts.map +0 -1
  506. package/dist/component/primitive/SliderTrack.vue.d.ts.map +0 -1
  507. package/dist/component/primitive/VNodeRenderer.d.ts.map +0 -1
  508. package/dist/component/primitive/index.d.ts.map +0 -1
  509. package/dist/composable/index.d.ts.map +0 -1
  510. package/dist/composable/private/index.d.ts.map +0 -1
  511. package/dist/composable/private/useFormSelect.d.ts.map +0 -1
  512. package/dist/composable/private/useLoaded.d.ts +0 -5
  513. package/dist/composable/private/useLoaded.d.ts.map +0 -1
  514. package/dist/composable/private/useTranslate.d.ts.map +0 -1
  515. package/dist/composable/useBreakpoints.d.ts.map +0 -1
  516. package/dist/composable/useDisabled.d.ts.map +0 -1
  517. package/dist/composable/useDisabledInjection.d.ts.map +0 -1
  518. package/dist/composable/useExpandableGroupInjection.d.ts.map +0 -1
  519. package/dist/composable/useFilterInjection.d.ts.map +0 -1
  520. package/dist/composable/useFlyoutInjection.d.ts.map +0 -1
  521. package/dist/composable/useFormFieldInjection.d.ts.map +0 -1
  522. package/dist/composable/useTableInjection.d.ts.map +0 -1
  523. package/dist/data/di.d.ts.map +0 -1
  524. package/dist/data/filter.d.ts.map +0 -1
  525. package/dist/data/helper.d.ts.map +0 -1
  526. package/dist/data/i18n.d.ts.map +0 -1
  527. package/dist/data/iconRegistry.d.ts.map +0 -1
  528. package/dist/data/index.d.ts.map +0 -1
  529. package/dist/data/inputMask.d.ts.map +0 -1
  530. package/dist/data/store.d.ts.map +0 -1
  531. package/dist/flux.css +0 -1
  532. package/dist/flux.js +0 -11402
  533. package/dist/flux.js.map +0 -1
  534. package/dist/index.d.ts.map +0 -1
  535. package/dist/transition/FluxAutoHeightTransition.vue.d.ts.map +0 -1
  536. package/dist/transition/FluxAutoWidthTransition.vue.d.ts.map +0 -1
  537. package/dist/transition/FluxBreakthroughTransition.vue.d.ts.map +0 -1
  538. package/dist/transition/FluxFadeTransition.vue.d.ts.map +0 -1
  539. package/dist/transition/FluxOverlayTransition.vue.d.ts.map +0 -1
  540. package/dist/transition/FluxRouteTransition.vue.d.ts.map +0 -1
  541. package/dist/transition/FluxSlideOverTransition.vue.d.ts.map +0 -1
  542. package/dist/transition/FluxTooltipTransition.vue.d.ts.map +0 -1
  543. package/dist/transition/FluxVerticalWindowTransition.vue.d.ts.map +0 -1
  544. package/dist/transition/FluxWindowTransition.vue.d.ts.map +0 -1
  545. package/dist/transition/index.d.ts.map +0 -1
  546. package/dist/util/createDialogRenderer.d.ts.map +0 -1
  547. package/dist/util/createLabelForDateRange.d.ts.map +0 -1
  548. package/dist/util/index.d.ts.map +0 -1
  549. package/src/composable/private/useLoaded.ts +0 -21
@@ -1,185 +1,23 @@
1
- import { formatNumber } from '@basmilius/utils';
2
- import { flattenVNodeTree, getComponentName, getComponentProps } from '@flux-ui/internals';
3
- import type { FluxFilterBase, FluxFilterDateEntry, FluxFilterDateRangeEntry, FluxFilterItem, FluxFilterOptionEntry, FluxFilterOptionItem, FluxFilterOptionRow, FluxFilterOptionsEntry, FluxFilterRangeEntry, FluxFilterValue, FluxFilterValueSingle } from '@flux-ui/types';
4
- import { camelCase } from 'lodash-es';
5
- import { DateTime } from 'luxon';
6
- import { computed, defineComponent, h, isVNode, unref, VNode } from 'vue';
7
- import { useTranslate } from '$flux/composable/private';
8
- import { FluxTranslate, isFluxFilterOptionItem } from '$flux/data';
9
- import { createLabelForDateRange } from '$flux/util';
10
- import FluxMenu from '$flux/component/FluxMenu.vue';
11
- import FluxMenuGroup from '$flux/component/FluxMenuGroup.vue';
12
- import FluxSeparator from '$flux/component/FluxSeparator.vue';
1
+ import type { FluxFilterItem, FluxFilterValue } from '@flux-ui/types';
2
+ import { defineComponent, h, isVNode, unref, type VNode } from 'vue';
3
+ import { useFilterInjection } from '$flux/composable';
4
+ import FluxMenuGroup from '../FluxMenuGroup.vue';
5
+ import FluxSeparator from '../FluxSeparator.vue';
13
6
  import FilterItem from './FilterItem.vue';
14
7
 
15
8
  export const FilterMenuRenderer = defineComponent({
16
9
  props: {
17
- navigate: Function,
18
- state: Object
10
+ menuItems: {required: true, type: Array},
11
+ navigate: {required: true, type: Function}
19
12
  },
20
13
 
21
- setup(props, {slots}) {
22
- const content = computed<(FluxFilterItem | VNode)[][]>(() => {
23
- const children = flattenVNodeTree(slots.default?.() ?? []);
24
- const content: (FluxFilterItem | VNode)[][] = [[]];
14
+ setup(props) {
15
+ const {state} = useFilterInjection();
25
16
 
26
- for (const child of children) {
27
- const name = getComponentName(child);
28
-
29
- if (name === 'FluxSeparator') {
30
- content.push([]);
31
- continue;
32
- }
33
-
34
- if (name.startsWith('FluxFilter')) {
35
- const props = getComponentProps<Omit<FluxFilterItem, 'type'>>(child);
36
- const type = camelCase(name.substring(10)) as FluxFilterItem['type'];
37
-
38
- content[content.length - 1].push(parsers[type](props));
39
- continue;
40
- }
41
-
42
- content[content.length - 1].push(child);
43
- }
44
-
45
- return content;
46
- });
47
-
48
- return () => h(FluxMenu, {}, {
49
- default: () => unref(content).map((group, index) => renderFilterGroup(group, index, props.navigate!, props.state!))
50
- });
17
+ return () => props.menuItems.map((group, index) => renderFilterGroup(group as (FluxFilterItem | VNode)[], index, props.navigate, unref(state) as Record<string, FluxFilterValue>));
51
18
  }
52
19
  });
53
20
 
54
- function parseDate(base: FluxFilterBase): FluxFilterDateEntry {
55
- return {
56
- ...base,
57
- type: 'date',
58
-
59
- async getValueLabel(value): Promise<string | null> {
60
- if (!DateTime.isDateTime(value)) {
61
- return null;
62
- }
63
-
64
- return value.toLocaleString({
65
- day: 'numeric',
66
- month: 'short',
67
- year: 'numeric'
68
- });
69
- }
70
- };
71
- }
72
-
73
- function parseDateRange(base: FluxFilterBase): FluxFilterDateRangeEntry {
74
- return {
75
- ...base,
76
- type: 'dateRange',
77
-
78
- async getValueLabel(value): Promise<string | null> {
79
- if (!Array.isArray(value) || value.length !== 2) {
80
- return null;
81
- }
82
-
83
- const [start, end] = value;
84
-
85
- if (!DateTime.isDateTime(start) || !DateTime.isDateTime(end)) {
86
- return null;
87
- }
88
-
89
- return createLabelForDateRange(start, end);
90
- }
91
- };
92
- }
93
-
94
- function parseOption(base: FluxFilterBase): FluxFilterOptionEntry {
95
- const options = (base as any).options as FluxFilterOptionItem[];
96
-
97
- return {
98
- ...base,
99
- type: 'option',
100
-
101
- async getValueLabel(value): Promise<string | null> {
102
- return options.find(o => o.value === value)?.label ?? null;
103
- }
104
- };
105
- }
106
-
107
- function parseOptionAsync(base: FluxFilterBase): FluxFilterOptionEntry {
108
- const fetchOptions = (base as any).fetchOptions as (ids: FluxFilterValue[]) => Promise<FluxFilterOptionRow[]>;
109
-
110
- return {
111
- ...base,
112
- type: 'option',
113
-
114
- async getValueLabel(value): Promise<string | null> {
115
- const options = (await fetchOptions([value])).filter(isFluxFilterOptionItem);
116
-
117
- return options.find(o => o.value === value)?.label ?? null;
118
- }
119
- };
120
- }
121
-
122
- function parseOptions(base: FluxFilterBase): FluxFilterOptionsEntry {
123
- const options = (base as any).options as FluxFilterOptionItem[];
124
- const translate = useTranslate();
125
-
126
- return {
127
- ...base,
128
- type: 'options',
129
-
130
- async getValueLabel(value): Promise<string | null> {
131
- if (!Array.isArray(value)) {
132
- return null;
133
- }
134
-
135
- return generateMultiOptionsLabel(translate, options, value);
136
- }
137
- };
138
- }
139
-
140
- function parseOptionsAsync(base: FluxFilterBase): FluxFilterOptionsEntry {
141
- const fetchOptions = (base as any).fetchOptions as (ids: FluxFilterValue[]) => Promise<FluxFilterOptionRow[]>;
142
- const translate = useTranslate();
143
-
144
- return {
145
- ...base,
146
- type: 'options',
147
-
148
- async getValueLabel(value): Promise<string | null> {
149
- if (!Array.isArray(value)) {
150
- return null;
151
- }
152
-
153
- const options = (await fetchOptions(value)).filter(isFluxFilterOptionItem);
154
-
155
- return generateMultiOptionsLabel(translate, options, value);
156
- }
157
- };
158
- }
159
-
160
- function parseRange(base: FluxFilterBase): FluxFilterRangeEntry {
161
- return {
162
- ...base,
163
- type: 'range',
164
-
165
- async getValueLabel(value): Promise<string | null> {
166
- if (!value || !Array.isArray(value) || value.length !== 2) {
167
- return null;
168
- }
169
-
170
- const [lower, upper] = value as number[];
171
-
172
- if ('formatter' in base) {
173
- const formatter = base.formatter as (value: number) => string;
174
-
175
- return `${formatter(lower)} – ${formatter(upper)}`;
176
- }
177
-
178
- return `${formatNumber(lower)} – ${formatNumber(upper)}`;
179
- }
180
- };
181
- }
182
-
183
21
  function renderFilterGroup(group: (FluxFilterItem | VNode)[], index: number, navigate: Function, state: Record<string, FluxFilterValue>): VNode[] {
184
22
  const slot: VNode[] = [];
185
23
 
@@ -205,29 +43,3 @@ function renderFilterItem(item: FluxFilterItem | VNode, navigate: Function, stat
205
43
  onClick: () => navigate(item.name)
206
44
  });
207
45
  }
208
-
209
- function generateMultiOptionsLabel(translate: FluxTranslate, options: FluxFilterOptionItem[], values: FluxFilterValueSingle[]): string | null {
210
- const selected = options.filter(o => values.includes(o.value)).length;
211
-
212
- if (selected <= 0) {
213
- return null;
214
- }
215
-
216
- if (selected === 1) {
217
- return options.find(o => values.includes(o.value))!.label;
218
- }
219
-
220
- return translate('flux.nSelected', {
221
- n: selected
222
- });
223
- }
224
-
225
- const parsers = {
226
- date: parseDate,
227
- dateRange: parseDateRange,
228
- option: parseOption,
229
- optionAsync: parseOptionAsync,
230
- options: parseOptions,
231
- optionsAsync: parseOptionsAsync,
232
- range: parseRange
233
- } as const;
@@ -21,6 +21,8 @@
21
21
  :command="selected[0].command"
22
22
  :command-icon="selected[0].commandIcon"
23
23
  :icon-leading="selected[0].icon"
24
+ :image-alt="selected[0].imageAlt"
25
+ :image-src="selected[0].imageSrc"
24
26
  :label="selected[0].label"
25
27
  tabindex="-1"/>
26
28
  </template>
@@ -97,6 +99,8 @@
97
99
  :command="subItem.command"
98
100
  :command-icon="subItem.commandIcon"
99
101
  :icon-leading="subItem.icon"
102
+ :image-alt="subItem.imageAlt"
103
+ :image-src="subItem.imageSrc"
100
104
  :is-active="!!selected.find(so => so.value === subItem.value)"
101
105
  :is-highlighted="highlightedId === subItem.value"
102
106
  :label="subItem.label"
@@ -112,6 +116,8 @@
112
116
  :command="item.command"
113
117
  :command-icon="item.commandIcon"
114
118
  :icon-leading="item.icon"
119
+ :image-alt="item.imageAlt"
120
+ :image-src="item.imageSrc"
115
121
  :is-active="!!selected.find(so => so.value === item.value)"
116
122
  :is-highlighted="highlightedId === item.value"
117
123
  :label="item.label"
@@ -127,10 +133,11 @@
127
133
  <script
128
134
  lang="ts"
129
135
  setup>
130
- import { unrefTemplateElement, useClickOutside } from '@flux-ui/internals';
136
+ import { useClickOutside } from '@basmilius/common';
137
+ import { unrefTemplateElement } from '@flux-ui/internals';
131
138
  import type { FluxFormSelectOption, FluxFormSelectOptions } from '@flux-ui/types';
132
139
  import { clsx } from 'clsx';
133
- import { ComponentPublicInstance, computed, nextTick, ref, toRef, unref, useTemplateRef, watch } from 'vue';
140
+ import { type ComponentPublicInstance, computed, nextTick, ref, toRef, unref, useTemplateRef, watch } from 'vue';
134
141
  import { useDisabled, useFormFieldInjection } from '$flux/composable';
135
142
  import { useTranslate } from '$flux/composable/private';
136
143
  import { isFluxFormSelectGroup, isFluxFormSelectOption } from '$flux/data';
@@ -1,5 +1,7 @@
1
1
  export { default as Anchor } from './Anchor.vue';
2
2
  export { default as AnchorPopup } from './AnchorPopup.vue';
3
+ export { default as FilterBadge } from './FilterBadge.vue';
4
+ export { default as FilterItem } from './FilterItem.vue';
3
5
  export { default as FilterOptionBase } from './FilterOptionBase.vue';
4
6
  export { default as SelectBase } from './SelectBase.vue';
5
7
  export { default as SliderBase } from './SliderBase.vue';
@@ -7,3 +7,4 @@ export { default as useFilterInjection } from './useFilterInjection';
7
7
  export { default as useFlyoutInjection } from './useFlyoutInjection';
8
8
  export { default as useFormFieldInjection } from './useFormFieldInjection';
9
9
  export { default as useTableInjection } from './useTableInjection';
10
+ export { default as useTooltipInjection } from './useTooltipInjection';
@@ -1,3 +1,2 @@
1
1
  export { default as useFormSelect } from './useFormSelect';
2
- export { default as useLoaded } from './useLoaded';
3
2
  export { default as useTranslate } from './useTranslate';
@@ -1,9 +1,9 @@
1
1
  import type { FluxFormSelectEntry, FluxFormSelectOption, FluxFormSelectOptions, FluxFormSelectValue } from '@flux-ui/types';
2
- import type { MaybeRef, Ref } from 'vue';
2
+ import type { Ref } from 'vue';
3
3
  import { computed, unref } from 'vue';
4
4
  import { isFluxFormSelectGroup, isFluxFormSelectOption } from '$flux/data';
5
5
 
6
- export default function (modelValue: Ref<FluxFormSelectValue>, isMultiple: boolean, options: MaybeRef<FluxFormSelectEntry[]>, searchQuery?: Ref<string>) {
6
+ export default function (modelValue: Ref<FluxFormSelectValue>, isMultiple: boolean, options: Ref<FluxFormSelectEntry[]>, searchQuery?: Ref<string>) {
7
7
  const values = computed(() => {
8
8
  const model = unref(modelValue);
9
9
  return Array.isArray(model) ? model : [model];
@@ -5,14 +5,7 @@ export default function () {
5
5
  return inject(FluxFilterInjectionKey, {
6
6
  // note(Bas): The default value is never used, but required by
7
7
  // Vue, so that explains the empty getter and function below.
8
- state: ref({
9
- get resettable() {
10
- return [];
11
- },
12
-
13
- reset(): void {
14
- }
15
- }),
8
+ state: ref({}),
16
9
  back: () => void 0,
17
10
  reset: () => void 0,
18
11
  getValue: () => void 0,
@@ -0,0 +1,8 @@
1
+ import { inject } from 'vue';
2
+ import { FluxTooltipInjectionKey } from '$flux/data';
3
+
4
+ export default function () {
5
+ return inject(FluxTooltipInjectionKey, {
6
+ calculate: () => void 0
7
+ });
8
+ }
package/src/css/base.scss CHANGED
@@ -1,16 +1,19 @@
1
1
  @use 'variables';
2
2
 
3
3
  @layer flux-base {
4
- :root, [light] {
4
+ :root {
5
5
  @include variables.animation;
6
+ @include variables.defaults;
7
+ }
8
+
9
+ :root, [light] {
6
10
  @include variables.color-light;
7
- @include variables.default-light;
8
11
  @include variables.shadow-light;
9
12
  }
10
13
 
11
14
  [dark] {
15
+ @include variables.defaults-dark;
12
16
  @include variables.color-dark;
13
- @include variables.default-dark;
14
17
  @include variables.shadow-dark;
15
18
  }
16
19
 
@@ -8,15 +8,15 @@
8
8
  padding-left: 6px;
9
9
  padding-right: 6px;
10
10
  border: 0;
11
- border-radius: calc(var(--radius) / 2);
11
+ border-radius: var(--radius-half);
12
12
  box-shadow: none;
13
13
 
14
14
  @include mixin.hover {
15
- background: rgb(var(--gray-3));
15
+ background: var(--gray-100);
16
16
  }
17
17
 
18
18
  &:active {
19
- background: rgb(var(--gray-2));
19
+ background: var(--gray-200);
20
20
  }
21
21
 
22
22
  .spinner {
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  .action.isDestructive .actionIcon {
35
- color: rgb(var(--danger-7));
35
+ color: var(--danger-600);
36
36
  }
37
37
 
38
38
  .actionLabel {
@@ -58,8 +58,8 @@
58
58
 
59
59
  .basePaneStructure > .actionBar {
60
60
  padding: 15px 21px;
61
- background: rgb(var(--gray-1));
62
- border: 1px solid rgb(var(--gray-2));
61
+ background: var(--gray-50);
62
+ border: 1px solid var(--gray-100);
63
63
  border-left: 0;
64
64
  border-right: 0;
65
65
 
@@ -99,6 +99,9 @@
99
99
 
100
100
  .actionPaneBody {
101
101
  position: relative;
102
- padding: 0;
103
102
  text-wrap: pretty;
103
+
104
+ &:local(.paneBody) {
105
+ padding: 0;
106
+ }
104
107
  }
@@ -14,9 +14,9 @@
14
14
  display: block;
15
15
  height: inherit;
16
16
  width: inherit;
17
- background: rgb(var(--gray-1));
17
+ background: var(--gray-50);
18
18
  border-radius: inherit;
19
- box-shadow: inset 0 0 0 1px rgb(var(--gray-2));
19
+ box-shadow: inset 0 0 0 1px var(--gray-100);
20
20
  }
21
21
 
22
22
  .avatarFallback {
@@ -41,18 +41,18 @@
41
41
  .avatarFallbackColorized {
42
42
  composes: avatarFallback;
43
43
 
44
- background: color-mix(in srgb, var(--color), rgb(var(--gray-0)) 80%);
44
+ background: color-mix(in srgb, var(--color), var(--gray-25) 80%);
45
45
  color: var(--color);
46
46
  }
47
47
 
48
48
  [dark] .avatarFallbackColorized {
49
- background: color-mix(in srgb, var(--color), rgb(var(--gray-0)) 70%);
49
+ background: color-mix(in srgb, var(--color), var(--gray-25) 70%);
50
50
  }
51
51
 
52
52
  .avatarFallbackNeutral {
53
53
  composes: avatarFallback;
54
54
 
55
- background: rgb(var(--gray-3));
55
+ background: var(--gray-100);
56
56
  color: var(--foreground-secondary);
57
57
  }
58
58
 
@@ -62,8 +62,8 @@
62
62
  inset: 0;
63
63
  align-items: center;
64
64
  justify-content: center;
65
- background: rgb(var(--gray-1) / .84);
66
- box-shadow: inset 0 0 0 1px rgb(var(--gray-2));
65
+ background: rgb(from var(--gray-50) r g b / .84);
66
+ box-shadow: inset 0 0 0 1px var(--gray-100);
67
67
  border-radius: inherit;
68
68
  backdrop-filter: blur(3px) saturate(180%);
69
69
 
@@ -86,37 +86,37 @@
86
86
  .avatarStatusGray {
87
87
  composes: avatarStatus;
88
88
 
89
- background: rgb(var(--gray-6));
89
+ background: var(--gray-500);
90
90
  }
91
91
 
92
92
  .avatarStatusPrimary {
93
93
  composes: avatarStatus;
94
94
 
95
- background: rgb(var(--primary-7));
95
+ background: var(--primary-600);
96
96
  }
97
97
 
98
98
  .avatarStatusDanger {
99
99
  composes: avatarStatus;
100
100
 
101
- background: rgb(var(--danger-7));
101
+ background: var(--danger-600);
102
102
  }
103
103
 
104
104
  .avatarStatusInfo {
105
105
  composes: avatarStatus;
106
106
 
107
- background: rgb(var(--info-7));
107
+ background: var(--info-600);
108
108
  }
109
109
 
110
110
  .avatarStatusSuccess {
111
111
  composes: avatarStatus;
112
112
 
113
- background: rgb(var(--success-7));
113
+ background: var(--success-600);
114
114
  }
115
115
 
116
116
  .avatarStatusWarning {
117
117
  composes: avatarStatus;
118
118
 
119
- background: rgb(var(--warning-7));
119
+ background: var(--warning-600);
120
120
  }
121
121
 
122
122
  .avatarClickable {
@@ -154,7 +154,7 @@
154
154
  @include mixin.focus-ring(2px);
155
155
 
156
156
  @include mixin.hover {
157
- background: rgb(var(--gray-2));
157
+ background: var(--gray-100);
158
158
  }
159
159
  }
160
160
 
@@ -10,12 +10,13 @@
10
10
  padding-right: 9px;
11
11
  align-items: center;
12
12
  gap: 6px;
13
- background: rgb(var(--gray-0));
14
- border: 1px solid rgb(var(--gray-3));
13
+ background: var(--surface);
14
+ border: 1px solid var(--surface-stroke);
15
15
  border-radius: 99px;
16
16
  color: var(--foreground-prominent);
17
17
  font-size: 13px;
18
18
  font-weight: 500;
19
+ font-variant-numeric: tabular-nums;
19
20
 
20
21
  &:is(a) {
21
22
  color: var(--foreground-prominent);
@@ -24,7 +25,7 @@
24
25
  transition: background 180ms var(--swift-out);
25
26
 
26
27
  @include mixin.hover {
27
- background: rgb(var(--gray-1));
28
+ background: var(--gray-50);
28
29
  color: var(--foreground-prominent);
29
30
  }
30
31
  }
@@ -49,12 +50,12 @@
49
50
  cursor: pointer;
50
51
 
51
52
  @include mixin.hover {
52
- background: rgb(var(--gray-2));
53
+ background: var(--gray-100);
53
54
  color: var(--foreground);
54
55
  }
55
56
 
56
57
  &:active {
57
- background: rgb(var(--gray-3));
58
+ background: var(--gray-200);
58
59
  color: var(--foreground);
59
60
  }
60
61
 
@@ -91,60 +92,60 @@
91
92
  .badgeGray {
92
93
  composes: badge;
93
94
 
94
- --color: rgb(var(--gray-8));
95
+ --color: var(--foreground);
95
96
 
96
97
  .badgeLabel {
97
98
  color: var(--foreground-prominent);
98
99
  }
99
100
 
100
101
  .spinner {
101
- --value: rgb(var(--primary-7));
102
+ --value: var(--primary-600);
102
103
  }
103
104
  }
104
105
 
105
106
  .badgePrimary {
106
107
  composes: badge;
107
108
 
108
- --color: rgb(var(--primary-7));
109
+ --color: var(--primary-600);
109
110
  }
110
111
 
111
112
  .badgeDanger {
112
113
  composes: badge;
113
114
 
114
- --color: rgb(var(--danger-7));
115
+ --color: var(--danger-600);
115
116
  }
116
117
 
117
118
  .badgeInfo {
118
119
  composes: badge;
119
120
 
120
- --color: rgb(var(--info-7));
121
+ --color: var(--info-600);
121
122
  }
122
123
 
123
124
  .badgeSuccess {
124
125
  composes: badge;
125
126
 
126
- --color: rgb(var(--success-7));
127
+ --color: var(--success-600);
127
128
  }
128
129
 
129
130
  .badgeWarning {
130
131
  composes: badge;
131
132
 
132
- --color: rgb(var(--warning-7));
133
+ --color: var(--warning-600);
133
134
  }
134
135
 
135
136
  .tag {
136
137
  composes: badge;
137
138
 
138
- background: rgb(var(--gray-1));
139
- border-color: rgb(var(--gray-3));
140
- border-radius: calc(var(--radius) / 2);
139
+ background: var(--gray-50);
140
+ border-color: var(--gray-200);
141
+ border-radius: var(--radius-half);
141
142
  font-weight: 400;
142
143
  }
143
144
 
144
145
  .tagClose {
145
146
  composes: badgeClose;
146
147
 
147
- border-radius: calc(var(--radius) / 3);
148
+ border-radius: var(--radius-half);
148
149
  }
149
150
 
150
151
  .tagDot {