eco-vue-js 0.10.3 → 0.10.5

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 (266) hide show
  1. package/dist/assets/icons/default/IconAdd.svg.js +1 -1
  2. package/dist/assets/icons/default/IconArrow.svg.js +1 -1
  3. package/dist/assets/icons/default/IconAvatar.svg.js +1 -1
  4. package/dist/assets/icons/default/IconBack.svg.js +1 -1
  5. package/dist/assets/icons/default/IconCancel.svg.js +1 -1
  6. package/dist/assets/icons/default/IconCheck.svg.js +1 -1
  7. package/dist/assets/icons/default/IconDanger.svg.js +1 -1
  8. package/dist/assets/icons/default/IconDojo.svg.js +1 -1
  9. package/dist/assets/icons/default/IconEdit.svg.js +1 -1
  10. package/dist/assets/icons/default/IconFalsePositive.svg.js +1 -1
  11. package/dist/assets/icons/default/IconFeedback.svg.js +1 -1
  12. package/dist/assets/icons/default/IconFilter.svg.js +1 -1
  13. package/dist/assets/icons/default/IconInProgress.svg.js +1 -1
  14. package/dist/assets/icons/default/IconJira.svg.js +1 -1
  15. package/dist/assets/icons/default/IconLogout.svg.js +1 -1
  16. package/dist/assets/icons/default/IconMore.svg.js +1 -1
  17. package/dist/assets/icons/default/IconNotification.svg.js +1 -1
  18. package/dist/assets/icons/default/IconProfile.svg.js +1 -1
  19. package/dist/assets/icons/default/IconSearch.svg.js +1 -1
  20. package/dist/assets/icons/default/IconSettings.svg.js +1 -1
  21. package/dist/assets/icons/default/IconSort.svg.js +1 -1
  22. package/dist/assets/icons/default/IconStar.svg.js +1 -1
  23. package/dist/assets/icons/default/IconSuccess.svg.js +1 -1
  24. package/dist/assets/icons/default/IconTask.svg.js +1 -1
  25. package/dist/assets/icons/default/IconTime.svg.js +1 -1
  26. package/dist/assets/icons/default/IconWarn.svg.js +1 -1
  27. package/dist/assets/icons/sax/IconAdd.svg.js +1 -1
  28. package/dist/assets/icons/sax/IconAddCircle.svg.js +1 -1
  29. package/dist/assets/icons/sax/IconAddSquare.svg.js +1 -1
  30. package/dist/assets/icons/sax/IconAlarm.svg.js +1 -1
  31. package/dist/assets/icons/sax/IconArchiveBook.svg.js +1 -1
  32. package/dist/assets/icons/sax/IconCandle.svg.js +1 -1
  33. package/dist/assets/icons/sax/IconCelery.svg.js +1 -1
  34. package/dist/assets/icons/sax/IconChart.svg.js +1 -1
  35. package/dist/assets/icons/sax/IconCheckCircle.svg.js +1 -1
  36. package/dist/assets/icons/sax/IconClose.svg.js +1 -1
  37. package/dist/assets/icons/sax/IconCloseCircle.svg.js +1 -1
  38. package/dist/assets/icons/sax/IconCopy.svg.js +1 -1
  39. package/dist/assets/icons/sax/IconCopySuccess.svg.js +1 -1
  40. package/dist/assets/icons/sax/IconCopyright.svg.js +1 -1
  41. package/dist/assets/icons/sax/IconDedupe.svg.js +1 -1
  42. package/dist/assets/icons/sax/IconDojo.svg.js +1 -1
  43. package/dist/assets/icons/sax/IconDrag.svg.js +1 -1
  44. package/dist/assets/icons/sax/IconEdit.svg.js +1 -1
  45. package/dist/assets/icons/sax/IconEditCircle.svg.js +1 -1
  46. package/dist/assets/icons/sax/IconElement.svg.js +1 -1
  47. package/dist/assets/icons/sax/IconExport.svg.js +1 -1
  48. package/dist/assets/icons/sax/IconEye.svg.js +1 -1
  49. package/dist/assets/icons/sax/IconEyeSlash.svg.js +1 -1
  50. package/dist/assets/icons/sax/IconFilter.svg.js +1 -1
  51. package/dist/assets/icons/sax/IconFilterRemove.svg.js +1 -1
  52. package/dist/assets/icons/sax/IconFinding.svg.js +1 -1
  53. package/dist/assets/icons/sax/IconFolder.svg.js +1 -1
  54. package/dist/assets/icons/sax/IconFolderCross.svg.js +1 -1
  55. package/dist/assets/icons/sax/IconGrid.svg.js +24 -0
  56. package/dist/assets/icons/sax/IconJira.svg.js +1 -1
  57. package/dist/assets/icons/sax/IconKey.svg.js +1 -1
  58. package/dist/assets/icons/sax/IconKeySquare.svg.js +1 -1
  59. package/dist/assets/icons/sax/IconLayer.svg.js +1 -1
  60. package/dist/assets/icons/sax/IconLink.svg.js +1 -1
  61. package/dist/assets/icons/sax/IconLinkBold.svg.js +1 -1
  62. package/dist/assets/icons/sax/IconLinkOutline.svg.js +1 -1
  63. package/dist/assets/icons/sax/IconLogout.svg.js +1 -1
  64. package/dist/assets/icons/sax/IconMenu.svg.js +1 -1
  65. package/dist/assets/icons/sax/IconMinusCircle.svg.js +1 -1
  66. package/dist/assets/icons/sax/IconNegate.svg.js +1 -1
  67. package/dist/assets/icons/sax/IconNegativeInfo.svg.js +1 -1
  68. package/dist/assets/icons/sax/IconNote.svg.js +1 -1
  69. package/dist/assets/icons/sax/IconOutlineCheckCircle.svg.js +1 -1
  70. package/dist/assets/icons/sax/IconOutlineCloseCircle.svg.js +1 -1
  71. package/dist/assets/icons/sax/IconOutlineEdit.svg.js +1 -1
  72. package/dist/assets/icons/sax/IconOutlineFolderAdd.svg.js +1 -1
  73. package/dist/assets/icons/sax/IconOutlineRefresh.svg.js +1 -1
  74. package/dist/assets/icons/sax/IconOutlineStar.svg.js +1 -1
  75. package/dist/assets/icons/sax/IconPaste.svg.js +1 -1
  76. package/dist/assets/icons/sax/IconProfile.svg.js +1 -1
  77. package/dist/assets/icons/sax/IconRadar.svg.js +1 -1
  78. package/dist/assets/icons/sax/IconRefresh.svg.js +1 -1
  79. package/dist/assets/icons/sax/IconSearch.svg.js +1 -1
  80. package/dist/assets/icons/sax/IconSettings.svg.js +1 -1
  81. package/dist/assets/icons/sax/IconSlash.svg.js +1 -1
  82. package/dist/assets/icons/sax/IconStar.svg.js +1 -1
  83. package/dist/assets/icons/sax/IconSummary.svg.js +1 -1
  84. package/dist/assets/icons/sax/IconTable.svg.js +24 -0
  85. package/dist/assets/icons/sax/IconTableSettings.svg.js +1 -1
  86. package/dist/assets/icons/sax/IconTag.svg.js +1 -1
  87. package/dist/assets/icons/sax/IconTask.svg.js +1 -1
  88. package/dist/assets/icons/sax/IconTime.svg.js +1 -1
  89. package/dist/assets/icons/sax/IconTrash.svg.js +1 -1
  90. package/dist/assets/icons/sax/IconUser.svg.js +1 -1
  91. package/dist/assets/icons/sax/IconVersionControl.svg.js +1 -1
  92. package/dist/assets/icons/sax/IconWeight.svg.js +1 -1
  93. package/dist/components/ActionsBar/WActionsBar.vue.js +1 -1
  94. package/dist/components/BottomSheet/WBottomSheet.vue.js +1 -1
  95. package/dist/components/Button/WButton.vue.js +2 -2
  96. package/dist/components/Button/WButtonAction.vue.js +1 -1
  97. package/dist/components/Button/WButtonCopy.vue.js +1 -1
  98. package/dist/components/Button/WButtonDropdown.vue.js +8 -6
  99. package/dist/components/Button/WButtonGroup.vue.js +1 -1
  100. package/dist/components/Button/WButtonMore.vue.js +1 -1
  101. package/dist/components/Button/WButtonMoreItem.vue.js +1 -1
  102. package/dist/components/Button/WButtonSelection.vue.d.ts +1 -0
  103. package/dist/components/Button/WButtonSelection.vue.d.ts.map +1 -1
  104. package/dist/components/Button/WButtonSelection.vue.js +18 -28
  105. package/dist/components/Button/WButtonSelectionAction.vue.d.ts +4 -2
  106. package/dist/components/Button/WButtonSelectionAction.vue.d.ts.map +1 -1
  107. package/dist/components/Button/WButtonSelectionAction.vue.js +8 -4
  108. package/dist/components/Checkbox/WCheckbox.vue.js +1 -1
  109. package/dist/components/Chip/WChip.vue.js +1 -1
  110. package/dist/components/ClickOutside/WClickOutside.vue.js +1 -1
  111. package/dist/components/Counter/WCounter.vue.js +1 -1
  112. package/dist/components/DatePicker/WDatePicker.vue.js +2 -2
  113. package/dist/components/DatePicker/WDatePickerSingle.vue.js +2 -2
  114. package/dist/components/DatePicker/components/CalendarDay.vue.js +1 -1
  115. package/dist/components/DatePicker/components/CalendarMonth.vue.js +1 -1
  116. package/dist/components/DatePicker/components/CalendarToggle.vue.js +1 -1
  117. package/dist/components/DatePicker/components/CalendarValue.vue.js +1 -1
  118. package/dist/components/DatePicker/components/CalendarWeek.vue.js +1 -1
  119. package/dist/components/Dropdown/WDropdown.vue.js +1 -1
  120. package/dist/components/DropdownMenu/WDropdownMenu.vue.js +1 -1
  121. package/dist/components/Expansion/WExpansion.vue.js +1 -1
  122. package/dist/components/Expansion/WExpansionItem.vue.js +1 -1
  123. package/dist/components/FieldWrapper/WFieldWrapper.vue.js +3 -1
  124. package/dist/components/FieldWrapper/components/FilterButton.vue.js +1 -1
  125. package/dist/components/FilePicker/WFilePicker.vue.js +1 -1
  126. package/dist/components/FilePicker/components/FilePickerItem.vue.js +1 -1
  127. package/dist/components/FilePicker/components/FilePickerSvg.vue.js +1 -1
  128. package/dist/components/FilterWrapper/WFilterWrapper.vue.js +1 -1
  129. package/dist/components/Form/WForm.vue.js +2 -2
  130. package/dist/components/Form/WFormValidator.vue.js +3 -1
  131. package/dist/components/Form/models/utils.js +2 -0
  132. package/dist/components/FormAsync/WFormAsyncButtonGroup.vue.js +1 -1
  133. package/dist/components/FormAsync/WFormAsyncInput.vue.js +1 -1
  134. package/dist/components/FormAsync/WFormAsyncSelect.vue.js +1 -1
  135. package/dist/components/FormAsync/WFormAsyncSelectInfiniteSingle.vue.js +1 -1
  136. package/dist/components/FormAsync/WFormAsyncSelectSingle.vue.js +1 -1
  137. package/dist/components/FormAsync/WFormAsyncSelectStringified.vue.js +1 -1
  138. package/dist/components/FormAsync/WFormAsyncToggle.vue.js +1 -1
  139. package/dist/components/FormAsync/use/useFormAsync.js +2 -0
  140. package/dist/components/HeaderBar/WHeaderBar.vue.d.ts +0 -3
  141. package/dist/components/HeaderBar/WHeaderBar.vue.d.ts.map +1 -1
  142. package/dist/components/HeaderBar/WHeaderBar.vue.js +6 -5
  143. package/dist/components/HeaderBar/use/useHeaderPadding.d.ts +5 -0
  144. package/dist/components/HeaderBar/use/useHeaderPadding.d.ts.map +1 -0
  145. package/dist/components/HeaderBar/use/useHeaderPadding.js +14 -0
  146. package/dist/components/ImageViewer/WImageViewer.vue.js +1 -1
  147. package/dist/components/ImageViewer/components/ImageModal.vue2.js +1 -1
  148. package/dist/components/InfiniteList/WInfiniteList.vue.d.ts +1 -5
  149. package/dist/components/InfiniteList/WInfiniteList.vue.d.ts.map +1 -1
  150. package/dist/components/InfiniteList/WInfiniteList.vue.js +7 -16
  151. package/dist/components/InfiniteList/WInfiniteListWrapper.vue.d.ts +2 -11
  152. package/dist/components/InfiniteList/WInfiniteListWrapper.vue.d.ts.map +1 -1
  153. package/dist/components/InfiniteList/WInfiniteListWrapper.vue.js +8 -11
  154. package/dist/components/InfiniteList/components/InfiniteListButton.vue.js +1 -1
  155. package/dist/components/InfiniteList/components/InfiniteListPage.vue.d.ts +0 -1
  156. package/dist/components/InfiniteList/components/InfiniteListPage.vue.d.ts.map +1 -1
  157. package/dist/components/InfiniteList/components/InfiniteListPage.vue.js +6 -10
  158. package/dist/components/InfiniteList/components/InfiniteListPageSelection.vue.js +1 -1
  159. package/dist/components/InfiniteList/components/InfiniteListPageTitle.vue.js +1 -1
  160. package/dist/components/InfiniteList/components/InfiniteListPages.vue.d.ts +0 -1
  161. package/dist/components/InfiniteList/components/InfiniteListPages.vue.d.ts.map +1 -1
  162. package/dist/components/InfiniteList/components/InfiniteListPages.vue.js +2 -4
  163. package/dist/components/InfiniteList/components/InfiniteListScroll.vue.js +1 -1
  164. package/dist/components/InfiniteList/use/useInfiniteListHeader.d.ts +1 -0
  165. package/dist/components/InfiniteList/use/useInfiniteListHeader.d.ts.map +1 -1
  166. package/dist/components/InfiniteList/use/useInfiniteListHeader.js +11 -6
  167. package/dist/components/InfoCard/WInfoCard.vue.js +1 -1
  168. package/dist/components/InfoCard/WInfoCardNegative.vue.js +1 -1
  169. package/dist/components/Input/WInput.vue.js +1 -1
  170. package/dist/components/Input/WInputAsync.vue.js +1 -1
  171. package/dist/components/Input/WInputDate.vue.js +1 -1
  172. package/dist/components/Input/WInputOptions.vue.js +1 -1
  173. package/dist/components/Input/WInputSuggest.vue.js +1 -1
  174. package/dist/components/Input/components/InputActions.vue.js +1 -1
  175. package/dist/components/Input/components/InputActionsButton.vue.js +1 -1
  176. package/dist/components/Link/WLink.vue.d.ts +0 -1
  177. package/dist/components/Link/WLink.vue.d.ts.map +1 -1
  178. package/dist/components/Link/WLink.vue.js +3 -12
  179. package/dist/components/Link/WLinkArrow.vue.js +1 -1
  180. package/dist/components/List/WList.vue.d.ts +9 -9
  181. package/dist/components/List/WList.vue.d.ts.map +1 -1
  182. package/dist/components/List/WList.vue.js +239 -193
  183. package/dist/components/List/WListCard.vue.d.ts +26 -22
  184. package/dist/components/List/WListCard.vue.d.ts.map +1 -1
  185. package/dist/components/List/WListCard.vue.js +77 -47
  186. package/dist/components/List/WListCardField.vue.d.ts.map +1 -1
  187. package/dist/components/List/WListCardField.vue.js +3 -4
  188. package/dist/components/List/WListHeader.vue.js +1 -1
  189. package/dist/components/List/WListHeaderItem.vue.d.ts.map +1 -1
  190. package/dist/components/List/WListHeaderItem.vue.js +21 -37
  191. package/dist/components/List/components/HeaderFieldNested.vue.js +2 -2
  192. package/dist/components/List/components/HeaderItemResizer.vue.js +1 -1
  193. package/dist/components/List/components/HeaderSettings.vue.d.ts +5 -1
  194. package/dist/components/List/components/HeaderSettings.vue.d.ts.map +1 -1
  195. package/dist/components/List/components/HeaderSettings.vue.js +94 -40
  196. package/dist/components/List/components/HeaderSettingsItem.vue.js +1 -1
  197. package/dist/components/List/components/HeaderSettingsModeButton.vue.d.ts +9 -0
  198. package/dist/components/List/components/HeaderSettingsModeButton.vue.d.ts.map +1 -0
  199. package/dist/components/List/components/HeaderSettingsModeButton.vue.js +23 -0
  200. package/dist/components/List/components/HeaderSettingsModeButton.vue2.js +5 -0
  201. package/dist/components/List/components/HeaderSort.vue.d.ts +32 -0
  202. package/dist/components/List/components/HeaderSort.vue.d.ts.map +1 -0
  203. package/dist/components/List/components/HeaderSort.vue.js +84 -0
  204. package/dist/components/List/components/HeaderSort.vue2.js +5 -0
  205. package/dist/components/List/components/HeaderSortItem.vue.d.ts +22 -0
  206. package/dist/components/List/components/HeaderSortItem.vue.d.ts.map +1 -0
  207. package/dist/components/List/components/HeaderSortItem.vue.js +67 -0
  208. package/dist/components/List/components/HeaderSortItem.vue2.js +5 -0
  209. package/dist/components/List/components/ListCardFieldNested.vue.d.ts +3 -1
  210. package/dist/components/List/components/ListCardFieldNested.vue.d.ts.map +1 -1
  211. package/dist/components/List/components/ListCardFieldNested.vue.js +11 -10
  212. package/dist/components/List/components/ListCardFieldNestedItem.vue.js +1 -1
  213. package/dist/components/List/types.d.ts +10 -3
  214. package/dist/components/List/types.d.ts.map +1 -1
  215. package/dist/components/List/types.js +4 -0
  216. package/dist/components/List/use/useListConfig.d.ts +24 -0
  217. package/dist/components/List/use/useListConfig.d.ts.map +1 -0
  218. package/dist/components/List/use/{useFieldConfigMap.js → useListConfig.js} +54 -13
  219. package/dist/components/List/use/useOrdering.d.ts +7 -0
  220. package/dist/components/List/use/useOrdering.d.ts.map +1 -0
  221. package/dist/components/List/use/useOrdering.js +36 -0
  222. package/dist/components/MenuItem/WMenuItem.vue.js +1 -1
  223. package/dist/components/Modal/WModal.vue.js +1 -1
  224. package/dist/components/Modal/WModalStepper.vue.js +5 -5
  225. package/dist/components/Modal/WModalWrapper.vue.js +1 -1
  226. package/dist/components/Modal/components/ModalCloseButton.vue.js +1 -1
  227. package/dist/components/Modal/modals/Confirm/ConfirmModal.vue2.js +1 -1
  228. package/dist/components/Nav/WNavBar.vue.js +1 -1
  229. package/dist/components/Nav/WNavItem.vue.js +1 -1
  230. package/dist/components/Nav/WNavItemExpand.vue.js +3 -1
  231. package/dist/components/Nav/WNavItemTransition.vue.js +1 -1
  232. package/dist/components/Notify/WNotify.vue.js +1 -1
  233. package/dist/components/Notify/components/NotifyCard.vue.js +1 -1
  234. package/dist/components/NumberFormatter/WNumberFormatter.vue.js +1 -1
  235. package/dist/components/Page/WPage.vue.js +1 -1
  236. package/dist/components/Page/WPageNumerator.vue.js +1 -1
  237. package/dist/components/Page/WPageTitle.vue.js +1 -1
  238. package/dist/components/Progress/WProgress.vue.js +1 -1
  239. package/dist/components/Select/WSelect.vue.js +6 -6
  240. package/dist/components/Select/WSelectAsync.vue.js +5 -5
  241. package/dist/components/Select/WSelectAsyncList.vue.js +1 -1
  242. package/dist/components/Select/WSelectAsyncSingle.vue.js +1 -1
  243. package/dist/components/Select/WSelectSingle.vue.js +1 -1
  244. package/dist/components/Select/WSelectStringified.vue.js +1 -1
  245. package/dist/components/Select/components/SelectAsyncList.vue.js +1 -1
  246. package/dist/components/Select/components/SelectAsyncPrefix.vue.js +1 -1
  247. package/dist/components/Select/components/SelectAsyncPrefixPage.vue.js +1 -1
  248. package/dist/components/Select/components/SelectOption.vue.js +1 -1
  249. package/dist/components/Select/components/SelectOptionPrefix.vue.js +1 -1
  250. package/dist/components/Skeleton/WSkeleton.vue.js +1 -1
  251. package/dist/components/Spinner/WSpinner.vue.js +1 -1
  252. package/dist/components/Tabs/WTabs.vue.js +4 -2
  253. package/dist/components/Tabs/WTabsColumns.vue.js +1 -1
  254. package/dist/components/Tabs/components/TabItem.vue.js +1 -1
  255. package/dist/components/Tabs/components/TabTitleButton.vue.js +1 -1
  256. package/dist/components/Toggle/WToggle.vue.js +1 -1
  257. package/dist/components/Tooltip/WTooltip.vue.js +1 -1
  258. package/dist/components/Tooltip/WTooltipContainer.vue.js +1 -1
  259. package/dist/components/Tooltip/components/TooltipContainer.vue.js +1 -1
  260. package/dist/types/global.d.ts +8 -0
  261. package/package.json +2 -2
  262. package/tailwind-base/index.ts +2 -0
  263. package/tailwind-base/plugins/container-queries.ts +92 -0
  264. package/tailwind-base/plugins/default.ts +25 -5
  265. package/dist/components/List/use/useFieldConfigMap.d.ts +0 -10
  266. package/dist/components/List/use/useFieldConfigMap.d.ts.map +0 -1
@@ -1,4 +1,5 @@
1
- import { defineComponent, useTemplateRef, ref, inject, watch, openBlock, createElementBlock, Fragment, createElementVNode, normalizeClass, createVNode, Transition, withCtx, unref, createCommentVNode, createBlock, resolveDynamicComponent, mergeProps, renderSlot, normalizeProps, guardReactiveProps, markRaw } from 'vue';
1
+ import { defineComponent, useTemplateRef, ref, inject, watch, createElementBlock, openBlock, Fragment, createElementVNode, createCommentVNode, normalizeClass, createVNode, createBlock, Transition, withCtx, unref, resolveDynamicComponent, mergeProps, renderSlot, normalizeStyle, normalizeProps, guardReactiveProps, markRaw } from 'vue';
2
+ import { RouterLink } from 'vue-router';
2
3
  import _sfc_main$3 from '../Button/WButtonMore.vue.js';
3
4
  import _sfc_main$4 from '../Button/WButtonMoreItem.vue.js';
4
5
  import _sfc_main$1 from '../Checkbox/WCheckbox.vue.js';
@@ -6,14 +7,11 @@ import _sfc_main$2 from '../Form/WForm.vue.js';
6
7
  import IconAddCircle from '../../assets/icons/sax/IconAddCircle.svg.js';
7
8
  import IconMinusCircle from '../../assets/icons/sax/IconMinusCircle.svg.js';
8
9
  import { wInfiniteListSelection, wInfiniteListSelectionItem } from '../InfiniteList/models/injection.js';
10
+ import { AREA_SELECT, AREA_MORE } from './types.js';
9
11
 
10
12
  const _hoisted_1 = {
11
13
  key: 0,
12
- class: "bg-primary-default dark:bg-primary-dark sm-not:block absolute left-0 top-0 hidden h-full w-2"
13
- };
14
- const _hoisted_2 = {
15
- key: 0,
16
- class: "bg-default dark:bg-default-dark sm-not:hidden absolute left-full top-0 z-[-1] h-full w-[calc(var(--actions-bar-width)+var(--inner-margin))]"
14
+ class: "bg-primary-default dark:bg-primary-dark @sm:hidden absolute left-0 top-0 h-full w-2"
17
15
  };
18
16
  const _sfc_main = /* @__PURE__ */ defineComponent({
19
17
  __name: "WListCard",
@@ -21,14 +19,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21
19
  disabled: { type: Boolean },
22
20
  hideMore: { type: Boolean },
23
21
  mobile: { type: Boolean },
24
- moreBottom: { type: Boolean },
25
22
  alignTop: { type: Boolean },
26
23
  hasBorder: { type: Boolean },
27
24
  cardClass: {},
28
25
  cardWrapperClass: {},
29
26
  allowOpen: { type: Boolean },
30
27
  disableMore: { type: Boolean },
31
- formName: {}
28
+ formName: {},
29
+ card: { type: Boolean },
30
+ to: {}
32
31
  },
33
32
  emits: ["update:selected", "update:selected-hover"],
34
33
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -67,9 +66,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
67
66
  return (_ctx, _cache) => {
68
67
  return openBlock(), createElementBlock(Fragment, null, [
69
68
  createElementVNode("div", {
70
- class: normalizeClass(["sm-not:grid-cols-1 sm-not:group-even:bg-gray-50 sm-not:dark:group-even:bg-primary-darkest/25 relative isolate grid sm:flex", {
71
- "w-ripple-trigger-has": _ctx.allowOpen,
72
- [_ctx.cardWrapperClass ?? ""]: true
69
+ class: normalizeClass(["relative isolate", {
70
+ [_ctx.cardWrapperClass ?? ""]: true,
71
+ "w-ripple-trigger-has": _ctx.allowOpen || _ctx.to,
72
+ "dark:group-even:bg-primary-darkest/25 grid grid-cols-1 group-even:bg-gray-50": _ctx.card,
73
+ "flex": !_ctx.card,
74
+ "-mb-px": !_ctx.card && isOpen.value
73
75
  }])
74
76
  }, [
75
77
  createVNode(Transition, {
@@ -83,20 +85,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
83
85
  ]),
84
86
  _: 1
85
87
  }),
86
- !_ctx.mobile ? (openBlock(), createElementBlock("div", {
88
+ !_ctx.card ? (openBlock(), createElementBlock("div", {
87
89
  key: 0,
88
- class: normalizeClass(["left-inner sm-not:hidden bg-default dark:bg-default-dark sticky z-[1]", {
90
+ class: normalizeClass(["left-inner bg-default dark:bg-default-dark @not-lg:hidden sticky z-[1]", {
89
91
  "width-16": unref(allowSelect),
90
92
  "width-4": !unref(allowSelect)
91
93
  }])
92
94
  }, [
93
- _cache[4] || (_cache[4] = createElementVNode("div", { class: "bg-default dark:bg-default-dark absolute right-full top-0 z-[-1] h-full w-[calc(var(--nav-bar-width)+var(--inner-margin))]" }, null, -1)),
95
+ _cache[8] || (_cache[8] = createElementVNode("div", { class: "bg-default dark:bg-default-dark absolute right-full top-0 z-[-1] h-full w-[calc(var(--nav-bar-width)+var(--inner-margin))]" }, null, -1)),
94
96
  createElementVNode("div", {
95
- class: normalizeClass(["h-full", {
96
- "border-gray-300 sm:rounded-tl-3xl sm:border sm:border-r-0 dark:border-gray-700": _ctx.hasBorder,
97
- "sm:rounded-bl-3xl": _ctx.hasBorder && !isOpen.value,
98
- "sm:border-b-transparent sm:dark:border-b-transparent": _ctx.hasBorder && isOpen.value,
99
- "w-ripple-has-only w-ripple-hover w-ripple-opacity-[0.04]": _ctx.allowOpen
97
+ class: normalizeClass(["h-full rounded-l-[--w-list-rounded,unset]", {
98
+ "border border-r-0 border-gray-300 dark:border-gray-700": _ctx.hasBorder,
99
+ "rounded-bl-[unset!important]": isOpen.value,
100
+ "border-b-transparent dark:border-b-transparent": _ctx.hasBorder && isOpen.value,
101
+ "w-ripple-has-only w-ripple-hover w-ripple-opacity-[0.04]": _ctx.allowOpen || _ctx.to
100
102
  }])
101
103
  }, [
102
104
  unref(allowSelect) ? (openBlock(), createBlock(_sfc_main$1, {
@@ -116,67 +118,95 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
116
118
  ], 2)
117
119
  ], 2)) : createCommentVNode("", true),
118
120
  (openBlock(), createBlock(resolveDynamicComponent(_ctx.formName ? _sfc_main$2 : "div"), mergeProps({ ref: "form" }, _ctx.formName ? { name: _ctx.formName } : void 0, {
119
- class: ["sm-not:-px--inner-margin isolate grid sm:flex sm:flex-1", {
121
+ class: ["sm-not:-px--inner-margin isolate", {
120
122
  [_ctx.cardClass ?? ""]: true,
123
+ "flex flex-1": !_ctx.card,
124
+ "grid grid-cols-[--w-list-grid-cols] rounded-[--w-list-rounded,unset] [grid-template-areas:--w-list-grid-areas]": _ctx.card,
121
125
  "border-gray-300 sm:border-y dark:border-gray-700": _ctx.hasBorder,
122
- "sm:border-b-transparent sm:dark:border-b-transparent": _ctx.hasBorder && isOpen.value,
123
- "isolate": _ctx.allowOpen
126
+ "border": _ctx.card && _ctx.hasBorder,
127
+ "border-b-transparent dark:border-b-transparent": !_ctx.card && _ctx.hasBorder && isOpen.value
124
128
  }]
125
129
  }), {
126
130
  default: withCtx(() => [
127
- renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ toggle, isOpen: isOpen.value, validate }))),
128
- _ctx.allowOpen ? (openBlock(), createElementBlock("button", {
131
+ unref(allowSelect) && _ctx.card ? (openBlock(), createBlock(_sfc_main$1, {
129
132
  key: 0,
130
- class: "w-ripple w-ripple-hover w-ripple-has w-ripple-opacity-[0.04] absolute left-0 top-0 z-[-1] size-full cursor-pointer",
131
- onClick: toggle
132
- })) : createCommentVNode("", true)
133
+ "model-value": unref(selectedBetween) ? null : unref(selected) ?? false,
134
+ disabled: _ctx.disabled,
135
+ "allow-shift": unref(allowSelectRange),
136
+ class: normalizeClass(["justify-end self-start", {
137
+ "opacity-50": unref(allowSelectHover)
138
+ }]),
139
+ style: normalizeStyle({ gridArea: unref(AREA_SELECT) }),
140
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(allowSelectHover) ? unref(updateSelectedRange)?.() : unref(updateSelected)?.($event)),
141
+ "onUpdateShift:modelValue": _cache[4] || (_cache[4] = ($event) => unref(updateSelectedRange)?.()),
142
+ onMouseover: _cache[5] || (_cache[5] = ($event) => unref(allowSelectHover) ? unref(updateSelectedRangeHover)?.() : void 0)
143
+ }, null, 8, ["model-value", "disabled", "allow-shift", "class", "style"])) : createCommentVNode("", true),
144
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ toggle, isOpen: isOpen.value, validate }))),
145
+ _ctx.allowOpen || _ctx.to ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.to ? unref(RouterLink) : "button"), mergeProps({ key: 1 }, _ctx.to ? { to: _ctx.to } : void 0, {
146
+ class: ["w-ripple w-ripple-hover w-ripple-has w-ripple-opacity-[0.04] absolute left-0 top-0 z-[-1] size-full cursor-pointer", {
147
+ "w-ripple-rounded-[--w-list-rounded,unset] rounded-[--w-list-rounded,unset]": _ctx.card
148
+ }],
149
+ onClick: _cache[6] || (_cache[6] = ($event) => _ctx.allowOpen && toggle())
150
+ }), null, 16, ["class"])) : createCommentVNode("", true),
151
+ _ctx.card ? (openBlock(), createBlock(_sfc_main$3, {
152
+ key: 2,
153
+ class: "-mr-4 flex items-center px-4",
154
+ disabled: _ctx.disabled || _ctx.disableMore,
155
+ style: normalizeStyle({ gridArea: unref(AREA_MORE) })
156
+ }, {
157
+ default: withCtx(() => [
158
+ unref(allowSelect) ? (openBlock(), createBlock(_sfc_main$4, {
159
+ key: 0,
160
+ text: unref(selected) ? "Unselect" : "Select",
161
+ icon: unref(selected) ? markRaw(unref(IconMinusCircle)) : markRaw(unref(IconAddCircle)),
162
+ onClick: _cache[7] || (_cache[7] = ($event) => unref(updateSelected)?.(!unref(selected)))
163
+ }, null, 8, ["text", "icon"])) : createCommentVNode("", true),
164
+ renderSlot(_ctx.$slots, "more")
165
+ ]),
166
+ _: 3
167
+ }, 8, ["disabled", "style"])) : createCommentVNode("", true)
133
168
  ]),
134
169
  _: 3
135
170
  }, 16, ["class"])),
136
- createElementVNode("div", {
137
- class: normalizeClass(["sm:right-inner sm:bg-default sm:dark:bg-default-dark sm:sticky sm:z-[1]", {
171
+ !_ctx.card ? (openBlock(), createElementBlock("div", {
172
+ key: 1,
173
+ class: normalizeClass(["right-inner bg-default dark:bg-default-dark sticky z-[1]", {
138
174
  "width-14": !_ctx.hideMore,
139
175
  "width-4": _ctx.hideMore
140
176
  }])
141
177
  }, [
142
- !_ctx.mobile ? (openBlock(), createElementBlock("div", _hoisted_2)) : createCommentVNode("", true),
178
+ _cache[9] || (_cache[9] = createElementVNode("div", { class: "bg-default dark:bg-default-dark absolute left-full top-0 z-[-1] h-full w-[calc(var(--actions-bar-width)+var(--inner-margin))]" }, null, -1)),
143
179
  createElementVNode("div", {
144
- class: normalizeClass(["h-full", {
145
- "border-gray-300 sm:rounded-tr-3xl sm:border sm:border-l-0 dark:border-gray-700": _ctx.hasBorder,
146
- "sm:rounded-br-3xl": _ctx.hasBorder && !isOpen.value,
147
- "sm:border-b-transparent sm:dark:border-b-transparent": _ctx.hasBorder && isOpen.value,
148
- "w-ripple-has-only w-ripple-hover w-ripple-opacity-[0.04]": !_ctx.mobile && _ctx.allowOpen
180
+ class: normalizeClass(["h-full rounded-r-[--w-list-rounded,unset]", {
181
+ "rounded-tr-[--w-list-rounded,unset] border border-l-0 border-gray-300 dark:border-gray-700": _ctx.hasBorder,
182
+ "rounded-br-[unset!important]": isOpen.value,
183
+ "border-b-transparent dark:border-b-transparent": _ctx.hasBorder && isOpen.value,
184
+ "w-ripple-has-only w-ripple-hover w-ripple-opacity-[0.04]": _ctx.allowOpen || _ctx.to
149
185
  }])
150
186
  }, [
151
187
  !_ctx.hideMore ? (openBlock(), createBlock(_sfc_main$3, {
152
188
  key: 0,
153
- class: normalizeClass(["sm-not:absolute sm-not:right-0 flex h-14 px-4 sm:h-full", {
154
- "sm-not:top-5": !_ctx.moreBottom,
155
- "sm-not:top-10": _ctx.moreBottom,
189
+ class: normalizeClass(["flex h-full px-4", {
156
190
  "items-start pt-3": _ctx.alignTop,
157
191
  "items-center": !_ctx.alignTop
158
192
  }]),
159
193
  disabled: _ctx.disabled || _ctx.disableMore
160
194
  }, {
161
195
  default: withCtx(() => [
162
- unref(allowSelect) && _ctx.mobile ? (openBlock(), createBlock(_sfc_main$4, {
163
- key: 0,
164
- text: unref(selected) ? "Unselect" : "Select",
165
- icon: unref(selected) ? markRaw(unref(IconMinusCircle)) : markRaw(unref(IconAddCircle)),
166
- onClick: _cache[3] || (_cache[3] = ($event) => unref(updateSelected)?.(!unref(selected)))
167
- }, null, 8, ["text", "icon"])) : createCommentVNode("", true),
168
196
  renderSlot(_ctx.$slots, "more")
169
197
  ]),
170
198
  _: 3
171
199
  }, 8, ["class", "disabled"])) : createCommentVNode("", true)
172
200
  ], 2)
173
- ], 2)
201
+ ], 2)) : createCommentVNode("", true)
174
202
  ], 2),
175
203
  _ctx.$slots.expansion ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
176
204
  isOpen.value ? (openBlock(), createElementBlock("div", {
177
205
  key: 0,
178
- class: normalizeClass(["sm:w-inner sm:left-inner sm:sticky sm:-mt-px", {
179
- "border-gray-300 sm:rounded-b-3xl sm:border sm:border-t-0 sm:px-5 dark:border-gray-700": _ctx.hasBorder
206
+ class: normalizeClass(["w-inner left-inner sticky col-span-full", {
207
+ "border-gray-300 dark:border-gray-700": _ctx.hasBorder,
208
+ "mt-[calc(var(--w-list-gap,1rem)*-1)] border border-t-0 px-5": !_ctx.card && _ctx.hasBorder,
209
+ "rounded-b-[--w-list-rounded,unset]": !_ctx.card
180
210
  }])
181
211
  }, [
182
212
  renderSlot(_ctx.$slots, "expansion")
@@ -1 +1 @@
1
- {"version":3,"file":"WListCardField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/List/WListCardField.vue"],"names":[],"mappings":"AAkDA,iBAAS,cAAc;;yBAgDM,GAAG;uBACL,GAAG;;;WAShB,OAAO,IAA6B;EAEjD;AASD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;iBAjFN,MAAM,GAAG,MAAM;eACjB,OAAO;gBACN,OAAO;gBACP,OAAO;;iBAHN,MAAM,GAAG,MAAM;eACjB,OAAO;gBACN,OAAO;gBACP,OAAO;iGAoFnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WListCardField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/List/WListCardField.vue"],"names":[],"mappings":"AAiDA,iBAAS,cAAc;;yBA+CM,GAAG;uBACL,GAAG;;;WAShB,OAAO,IAA6B;EAEjD;AASD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;iBAhFN,MAAM,GAAG,MAAM;eACjB,OAAO;gBACN,OAAO;gBACP,OAAO;;iBAHN,MAAM,GAAG,MAAM;eACjB,OAAO;gBACN,OAAO;gBACP,OAAO;iGAmFnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAWpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createElementBlock, normalizeClass, createBlock, renderSlot, createElementVNode, createTextVNode, toDisplayString } from 'vue';
1
+ import { defineComponent, createElementBlock, openBlock, normalizeClass, createBlock, renderSlot, createElementVNode, createTextVNode, toDisplayString } from 'vue';
2
2
  import WSkeleton from '../Skeleton/WSkeleton.vue.js';
3
3
 
4
4
  const _hoisted_1 = { class: "truncate" };
@@ -13,9 +13,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13
13
  setup(__props) {
14
14
  return (_ctx, _cache) => {
15
15
  return openBlock(), createElementBlock("div", {
16
- class: normalizeClass(["grid grid-cols-1", {
17
- "pointer-events-none": _ctx.allowOpen,
18
- "sm:pr-6": !_ctx.noPadding
16
+ class: normalizeClass(["grid shrink-0 grid-cols-1", {
17
+ "pointer-events-none": _ctx.allowOpen
19
18
  }])
20
19
  }, [
21
20
  _ctx.skeleton ? (openBlock(), createBlock(WSkeleton, { key: 0 })) : renderSlot(_ctx.$slots, "default", { key: 1 }, () => [
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createElementBlock, createElementVNode, normalizeClass, createBlock, createCommentVNode, renderSlot } from 'vue';
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, normalizeClass, createBlock, createCommentVNode, renderSlot } from 'vue';
2
2
  import _sfc_main$1 from '../Checkbox/WCheckbox.vue.js';
3
3
 
4
4
  const _hoisted_1 = { class: "flex h-12" };
@@ -1 +1 @@
1
- {"version":3,"file":"WListHeaderItem.vue.d.ts","sourceRoot":"","sources":["../../../src/components/List/WListHeaderItem.vue"],"names":[],"mappings":"AAoHA,OAAO,EAAC,KAAK,UAAU,EAAW,MAAM,KAAK,CAAA;AAK7C,OAAO,EAAQ,KAAK,SAAS,EAAiB,MAAM,eAAe,CAAA;yBAKlD,KAAK,eACR,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAClD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,iBAC5F,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;WAwNxD,mBAAmB,CAAC;;;gBApNpB,MAAM;eACP,KAAK;kBACF,SAAS,CAAC,KAAK,CAAC,EAAE;mBACjB,OAAO;sBACJ,OAAO;oBACT,MAAM;oBACN,UAAU,GAAG,SAAS;KA8MmD,CAAC,4BAA2B;oBAChG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;yBA9BiB,GAAG;;cA7K3B,cAAc,SAAS,MAAM,KAAG,IAAI;;;;YAgNE,OAAO,CAAC,OAAO,WAAW,CAAC;;AAlOvE,wBAkO4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"WListHeaderItem.vue.d.ts","sourceRoot":"","sources":["../../../src/components/List/WListHeaderItem.vue"],"names":[],"mappings":"AAiGA,OAAO,EAAC,KAAK,UAAU,EAAwC,MAAM,KAAK,CAAA;AAI1E,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,eAAe,CAAA;yBAM3B,KAAK,eACR,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAClD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,iBAC5F,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;WA4MxD,mBAAmB,CAAC;;;gBAxMpB,MAAM;eACP,KAAK;kBACF,SAAS,CAAC,KAAK,CAAC,EAAE;mBACjB,OAAO;sBACJ,OAAO;oBACT,MAAM;oBACN,UAAU,GAAG,SAAS;KAkMmD,CAAC,4BAA2B;oBAChG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;yBAhCiB,GAAG;;cA/J3B,cAAc,SAAS,MAAM,KAAG,IAAI;;;;YAoME,OAAO,CAAC,OAAO,WAAW,CAAC;;AAtNvE,wBAsN4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
@@ -1,8 +1,7 @@
1
- import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, withCtx, normalizeClass, createElementVNode, renderSlot, createTextVNode, toDisplayString, Transition, createElementBlock, createVNode, unref, createCommentVNode } from 'vue';
2
- import { useRoute, useRouter } from 'vue-router';
1
+ import { defineComponent, useTemplateRef, toRef, ref, onMounted, createBlock, openBlock, resolveDynamicComponent, mergeProps, withCtx, unref, normalizeClass, createElementVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString, Transition, createElementBlock, createVNode } from 'vue';
3
2
  import IconBack from '../../assets/icons/default/IconBack.svg.js';
4
- import { Order, encodeOrdering } from '../../utils/order.js';
5
3
  import _sfc_main$1 from './components/HeaderItemResizer.vue.js';
4
+ import { useOrdering } from './use/useOrdering.js';
6
5
 
7
6
  const _hoisted_1 = {
8
7
  key: 0,
@@ -23,45 +22,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
23
22
  emits: ["update:width"],
24
23
  setup(__props) {
25
24
  const props = __props;
26
- const route = useRoute();
27
- const router = useRouter();
28
- const index = computed(() => props.ordering.findIndex((item) => item.field === props.field));
29
- const updateQuery = (newOrdering) => {
30
- const newOrderingValue = encodeOrdering(newOrdering);
31
- if (route.query.ordering === newOrderingValue) return;
32
- router.replace({
33
- query: {
34
- ...route.query,
35
- ordering: newOrderingValue
36
- }
37
- });
38
- };
39
- const setOrdering = () => {
40
- if (props.disabled) return;
41
- const newOrdering = props.ordering.slice();
42
- if (index.value === -1) {
43
- newOrdering.push({ field: props.field, order: Order.ASC });
44
- } else if (newOrdering[index.value].order === Order.ASC) {
45
- newOrdering[index.value].order = Order.DESC;
46
- } else {
47
- newOrdering.splice(index.value, 1);
25
+ const containerRef = useTemplateRef("container");
26
+ const { index, setOrdering } = useOrdering(toRef(props, "ordering"), toRef(props, "field"));
27
+ const widthStyleInner = ref();
28
+ onMounted(() => {
29
+ if (!props.allowResize && containerRef.value instanceof HTMLDivElement) {
30
+ widthStyleInner.value = {
31
+ minWidth: containerRef.value.getBoundingClientRect().width + "px"
32
+ };
48
33
  }
49
- updateQuery(newOrdering);
50
- };
34
+ });
51
35
  return (_ctx, _cache) => {
52
- return openBlock(), createBlock(resolveDynamicComponent(_ctx.allowResize ? _sfc_main$1 : "div"), mergeProps(_ctx.allowResize ? { hasStyles: _ctx.widthStyle !== void 0 } : void 0, {
53
- class: "text-description select-none pr-6",
54
- style: _ctx.widthStyle,
55
- "onUpdate:width": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:width", $event))
36
+ return openBlock(), createBlock(resolveDynamicComponent(_ctx.allowResize ? _sfc_main$1 : "div"), mergeProps({ ref: "container" }, _ctx.allowResize ? { hasStyles: _ctx.widthStyle !== void 0 } : void 0, {
37
+ class: "text-description shrink-0 select-none overflow-hidden pr-6",
38
+ style: _ctx.widthStyle ?? widthStyleInner.value,
39
+ "onUpdate:width": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("update:width", $event))
56
40
  }), {
57
41
  default: withCtx(() => [
58
42
  (openBlock(), createBlock(resolveDynamicComponent(_ctx.disabled ? "div" : "button"), {
59
43
  class: normalizeClass(["group flex size-full gap-2", {
60
44
  "cursor-pointer": !_ctx.disabled,
61
45
  [_ctx.itemClass ?? ""]: true,
62
- "items-center overflow-hidden whitespace-nowrap font-semibold": !_ctx.itemClass
46
+ "items-center whitespace-nowrap font-semibold": !_ctx.itemClass
63
47
  }]),
64
- onClick: setOrdering
48
+ onClick: _cache[0] || (_cache[0] = ($event) => !_ctx.disabled && unref(setOrdering)())
65
49
  }, {
66
50
  default: withCtx(() => [
67
51
  createElementVNode("div", {
@@ -81,14 +65,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
81
65
  "leave-to-class": "opacity-0"
82
66
  }, {
83
67
  default: withCtx(() => [
84
- index.value !== -1 ? (openBlock(), createElementBlock("div", _hoisted_1, [
68
+ unref(index) !== -1 ? (openBlock(), createElementBlock("div", _hoisted_1, [
85
69
  createVNode(unref(IconBack), {
86
70
  class: normalizeClass(["square-3 transition-transform", {
87
- "rotate-90": _ctx.ordering[index.value]?.order === "ASC",
88
- "-rotate-90": _ctx.ordering[index.value]?.order === "DESC"
71
+ "rotate-90": _ctx.ordering[unref(index)]?.order === "ASC",
72
+ "-rotate-90": _ctx.ordering[unref(index)]?.order === "DESC"
89
73
  }])
90
74
  }, null, 8, ["class"]),
91
- _ctx.ordering.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(index.value + 1), 1)) : createCommentVNode("", true)
75
+ _ctx.ordering.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(unref(index) + 1), 1)) : createCommentVNode("", true)
92
76
  ])) : createCommentVNode("", true)
93
77
  ]),
94
78
  _: 1
@@ -1,5 +1,5 @@
1
- import { defineComponent, resolveComponent, openBlock, createElementBlock, Fragment, renderList, unref, createBlock, withCtx, renderSlot } from 'vue';
2
- import { getFirstFieldLabel } from '../use/useFieldConfigMap.js';
1
+ import { defineComponent, resolveComponent, createElementBlock, openBlock, Fragment, renderList, unref, createBlock, renderSlot, withCtx } from 'vue';
2
+ import { getFirstFieldLabel } from '../use/useListConfig.js';
3
3
 
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "HeaderFieldNested",
@@ -1,4 +1,4 @@
1
- import { defineComponent, useTemplateRef, watch, onBeforeUnmount, openBlock, createElementBlock, renderSlot, createElementVNode, withModifiers, createVNode, unref } from 'vue';
1
+ import { defineComponent, useTemplateRef, watch, onBeforeUnmount, createElementBlock, openBlock, renderSlot, createElementVNode, withModifiers, createVNode, unref } from 'vue';
2
2
  import IconDrag from '../../../assets/icons/sax/IconDrag.svg.js';
3
3
  import DOMListenerContainer from '../../../utils/DOMListenerContainer.js';
4
4
 
@@ -1,11 +1,14 @@
1
1
  import { FieldConfig, ListFields } from '../types';
2
+ import { ListMode } from '../use/useListConfig';
2
3
  declare const _default: <Data extends DefaultData, QueryParams>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
4
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
4
5
  readonly "onUpdate:field-config-map"?: ((value: Record<string, FieldConfig>) => any) | undefined;
6
+ readonly "onUpdate:mode"?: ((value: ListMode) => any) | undefined;
5
7
  readonly "onClick:reset"?: (() => any) | undefined;
6
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:field-config-map" | "onClick:reset"> & {
8
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:field-config-map" | "onUpdate:mode" | "onClick:reset"> & {
7
9
  fields: ListFields<Data, QueryParams>;
8
10
  fieldConfigMap: Record<string, FieldConfig>;
11
+ mode: ListMode;
9
12
  queryParams: QueryParams;
10
13
  hasSaved?: boolean;
11
14
  disabled?: boolean;
@@ -15,6 +18,7 @@ declare const _default: <Data extends DefaultData, QueryParams>(__VLS_props: Non
15
18
  slots: {};
16
19
  emit: {
17
20
  (e: "update:field-config-map", value: Record<string, FieldConfig>): void;
21
+ (e: "update:mode", value: ListMode): void;
18
22
  (e: "click:reset"): void;
19
23
  };
20
24
  }>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderSettings.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/List/components/HeaderSettings.vue"],"names":[],"mappings":"AAqIA,OAAO,KAAK,EAAC,WAAW,EAAa,UAAU,EAAC,MAAM,UAAU,CAAA;yBAY/C,IAAI,SAAS,WAAW,EAAE,WAAW,eACxC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAClD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,iBAC5F,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;WAmQxD,mBAAmB,CAAC;;;;gBA/PpB,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;wBACrB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;qBAC9B,WAAW;mBACb,OAAO;mBACP,OAAO;KA2PmE,CAAC,4BAA2B;oBAChG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;;YAxPP,yBAAyB,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI;YACpE,aAAa,GAAG,IAAI;;;;;YA4PkB,OAAO,CAAC,OAAO,WAAW,CAAC;;AA7QvE,wBA6Q4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"HeaderSettings.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/List/components/HeaderSettings.vue"],"names":[],"mappings":"AAiLA,OAAO,KAAK,EAAC,WAAW,EAAa,UAAU,EAAC,MAAM,UAAU,CAAA;AAgBhE,OAAO,EAAC,KAAK,QAAQ,EAAgC,MAAM,sBAAsB,CAAA;yBAGhE,IAAI,SAAS,WAAW,EAAE,WAAW,eACxC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAClD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,iBAC5F,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;WA0XxD,mBAAmB,CAAC;;;;;gBAtXpB,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;wBACrB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;cACrC,QAAQ;qBACD,WAAW;mBACb,OAAO;mBACP,OAAO;KAiXmE,CAAC,4BAA2B;oBAChG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;;YA9WP,yBAAyB,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI;YACpE,aAAa,SAAS,QAAQ,GAAG,IAAI;YACrC,aAAa,GAAG,IAAI;;;;;YAiXkB,OAAO,CAAC,OAAO,WAAW,CAAC;;AApYvE,wBAoY4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
@@ -1,25 +1,47 @@
1
- import { defineComponent, ref, openBlock, createBlock, markRaw, unref, withCtx, createElementVNode, createVNode, normalizeClass } from 'vue';
2
- import _sfc_main$1 from '../../Button/WButtonMore.vue.js';
1
+ import { defineComponent, ref, createBlock, openBlock, unref, withCtx, createVNode, createElementVNode, createElementBlock, Fragment, renderList, normalizeClass, markRaw } from 'vue';
2
+ import _sfc_main$6 from '../../Button/WButtonSelectionAction.vue.js';
3
+ import _sfc_main$2 from '../../ClickOutside/WClickOutside.vue.js';
4
+ import _sfc_main$1 from '../../DropdownMenu/WDropdownMenu.vue.js';
3
5
  import IconTableSettings from '../../../assets/icons/sax/IconTableSettings.svg.js';
4
- import _sfc_main$2 from './HeaderFieldNested.vue.js';
5
- import _sfc_main$3 from './HeaderSettingsItem.vue.js';
6
+ import '../../Button/WButtonAction.vue.js';
7
+ import '../../Button/WButton.vue.js';
8
+ import '../../Button/WButtonDropdown.vue.js';
9
+ import { HorizontalAlign } from '../../../utils/HorizontalAlign.js';
10
+ import 'vue-router';
11
+ import '../../../utils/supportsPassive.js';
12
+ import '../../Dropdown/utils/DropdownStyle.js';
13
+ import '../../../utils/Modal.js';
14
+ import '../../Input/WInputSuggest.vue.js';
15
+ import '../../HeaderBar/use/useHeaderPadding.js';
16
+ import '../../Input/WInputDate.vue.js';
17
+ import '../../Link/WLink.vue.js';
18
+ import '@tanstack/vue-query';
19
+ import _sfc_main$4 from './HeaderFieldNested.vue.js';
20
+ import _sfc_main$5 from './HeaderSettingsItem.vue.js';
21
+ import _sfc_main$3 from './HeaderSettingsModeButton.vue.js';
22
+ import { listModeList, listModeIconMap } from '../use/useListConfig.js';
6
23
 
7
24
  const _hoisted_1 = { class: "p-4" };
8
- const _hoisted_2 = { class: "grid grid-cols-1" };
9
- const _hoisted_3 = ["disabled"];
25
+ const _hoisted_2 = { class: "grid grid-cols-[auto,auto,auto] items-start" };
26
+ const _hoisted_3 = { class: "flex flex-col gap-4" };
27
+ const _hoisted_4 = { class: "grid grid-cols-1" };
28
+ const _hoisted_5 = { class: "flex justify-end" };
29
+ const _hoisted_6 = ["disabled"];
10
30
  const _sfc_main = /* @__PURE__ */ defineComponent({
11
31
  __name: "HeaderSettings",
12
32
  props: {
13
33
  fields: {},
14
34
  fieldConfigMap: {},
35
+ mode: {},
15
36
  queryParams: {},
16
37
  hasSaved: { type: Boolean },
17
38
  disabled: { type: Boolean }
18
39
  },
19
- emits: ["update:field-config-map", "click:reset"],
40
+ emits: ["update:field-config-map", "update:mode", "click:reset"],
20
41
  setup(__props, { emit: __emit }) {
21
42
  const props = __props;
22
43
  const emit = __emit;
44
+ const isOpen = ref(false);
23
45
  const dragItem = ref(null);
24
46
  const dragItemNewOrder = ref(null);
25
47
  const getOrder = (field) => {
@@ -65,44 +87,76 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
65
87
  };
66
88
  return (_ctx, _cache) => {
67
89
  return openBlock(), createBlock(_sfc_main$1, {
68
- icon: markRaw(unref(IconTableSettings)),
69
- disabled: _ctx.disabled,
70
- class: "size-full items-center"
90
+ "is-open": isOpen.value,
91
+ "max-width": 300,
92
+ "max-height": 300,
93
+ "horizontal-align": unref(HorizontalAlign).RIGHT_INNER
71
94
  }, {
72
- default: withCtx(() => [
73
- createElementVNode("div", _hoisted_1, [
74
- createElementVNode("div", _hoisted_2, [
75
- createVNode(_sfc_main$2, { fields: _ctx.fields }, {
76
- default: withCtx(({ field, nested, first, last }) => [
77
- createVNode(_sfc_main$3, {
78
- field,
79
- "field-config": _ctx.fieldConfigMap[field.label],
80
- "query-params": _ctx.queryParams,
81
- disabled: _ctx.disabled,
82
- "disabled-drag": nested,
83
- order: getOrder(field),
84
- "onDrag:start": ($event) => dragStart(field.label, $event),
85
- "onDrag:enter": ($event) => dragEnter($event, nested, first, last),
86
- "onDrag:end": drop,
87
- "onUpdate:fieldsConfigMap": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:field-config-map", { ..._ctx.fieldConfigMap, ...$event }))
88
- }, null, 8, ["field", "field-config", "query-params", "disabled", "disabled-drag", "order", "onDrag:start", "onDrag:enter"])
95
+ toggle: withCtx(() => [
96
+ createVNode(_sfc_main$6, {
97
+ icon: markRaw(unref(IconTableSettings)),
98
+ disabled: _ctx.disabled,
99
+ active: isOpen.value,
100
+ onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
101
+ }, null, 8, ["icon", "disabled", "active"])
102
+ ]),
103
+ content: withCtx(() => [
104
+ createVNode(_sfc_main$2, {
105
+ class: "bg-default dark:bg-default-dark my-2 grid grid-cols-1 overflow-hidden rounded-xl shadow-md dark:outline dark:outline-1 dark:outline-gray-800",
106
+ onClick: _cache[3] || (_cache[3] = ($event) => isOpen.value = false)
107
+ }, {
108
+ default: withCtx(() => [
109
+ createElementVNode("div", _hoisted_1, [
110
+ createElementVNode("div", _hoisted_2, [
111
+ createElementVNode("div", _hoisted_3, [
112
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(listModeList), (item) => {
113
+ return openBlock(), createBlock(_sfc_main$3, {
114
+ key: item,
115
+ icon: unref(listModeIconMap)[item],
116
+ active: _ctx.mode === item,
117
+ onClick: ($event) => _ctx.$emit("update:mode", item)
118
+ }, null, 8, ["icon", "active", "onClick"]);
119
+ }), 128))
120
+ ]),
121
+ _cache[4] || (_cache[4] = createElementVNode("div", { class: "mx-4 h-full border-r border-solid border-gray-200 dark:border-gray-700" }, null, -1)),
122
+ createElementVNode("div", _hoisted_4, [
123
+ createVNode(_sfc_main$4, { fields: _ctx.fields }, {
124
+ default: withCtx(({ field, nested, first, last }) => [
125
+ createVNode(_sfc_main$5, {
126
+ field,
127
+ "field-config": _ctx.fieldConfigMap[field.label],
128
+ "query-params": _ctx.queryParams,
129
+ disabled: _ctx.disabled,
130
+ "disabled-drag": nested,
131
+ order: getOrder(field),
132
+ "onDrag:start": ($event) => dragStart(field.label, $event),
133
+ "onDrag:enter": ($event) => dragEnter($event, nested, first, last),
134
+ "onDrag:end": drop,
135
+ "onUpdate:fieldsConfigMap": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("update:field-config-map", { ..._ctx.fieldConfigMap, ...$event }))
136
+ }, null, 8, ["field", "field-config", "query-params", "disabled", "disabled-drag", "order", "onDrag:start", "onDrag:enter"])
137
+ ]),
138
+ _: 1
139
+ }, 8, ["fields"])
140
+ ])
89
141
  ]),
90
- _: 1
91
- }, 8, ["fields"])
142
+ _cache[5] || (_cache[5] = createElementVNode("div", { class: "my-4 border-b border-solid border-gray-200 dark:border-gray-700" }, null, -1)),
143
+ createElementVNode("div", _hoisted_5, [
144
+ createElementVNode("button", {
145
+ class: normalizeClass(["relative rounded-lg bg-gray-100 px-2 py-1 dark:bg-gray-800", {
146
+ "w-ripple w-ripple-hover": _ctx.hasSaved,
147
+ "cursor-not-allowed opacity-50": !_ctx.hasSaved
148
+ }]),
149
+ disabled: !_ctx.hasSaved,
150
+ onClick: _cache[2] || (_cache[2] = ($event) => _ctx.hasSaved && _ctx.$emit("click:reset"))
151
+ }, " Reset ", 10, _hoisted_6)
152
+ ])
153
+ ])
92
154
  ]),
93
- _cache[2] || (_cache[2] = createElementVNode("div", { class: "my-4 border-b border-solid border-gray-200 dark:border-gray-700" }, null, -1)),
94
- createElementVNode("button", {
95
- class: normalizeClass(["relative rounded-lg bg-gray-100 px-2 py-1 dark:bg-gray-800", {
96
- "w-ripple w-ripple-hover": _ctx.hasSaved,
97
- "cursor-not-allowed opacity-50": !_ctx.hasSaved
98
- }]),
99
- disabled: !_ctx.hasSaved,
100
- onClick: _cache[1] || (_cache[1] = ($event) => _ctx.hasSaved && _ctx.$emit("click:reset"))
101
- }, " Reset ", 10, _hoisted_3)
102
- ])
155
+ _: 1
156
+ })
103
157
  ]),
104
158
  _: 1
105
- }, 8, ["icon", "disabled"]);
159
+ }, 8, ["is-open", "horizontal-align"]);
106
160
  };
107
161
  }
108
162
  });
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, openBlock, createElementBlock, normalizeClass, normalizeStyle, withModifiers, createVNode, unref, createCommentVNode, createElementVNode, toDisplayString, createBlock, resolveDynamicComponent } from 'vue';
1
+ import { defineComponent, ref, createElementBlock, openBlock, withModifiers, normalizeStyle, normalizeClass, createCommentVNode, createElementVNode, createVNode, unref, toDisplayString, createBlock, resolveDynamicComponent } from 'vue';
2
2
  import IconDrag from '../../../assets/icons/sax/IconDrag.svg.js';
3
3
  import IconEye from '../../../assets/icons/sax/IconEye.svg.js';
4
4
  import IconEyeSlash from '../../../assets/icons/sax/IconEyeSlash.svg.js';
@@ -0,0 +1,9 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ icon: SVGComponent;
3
+ active: boolean;
4
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
5
+ icon: SVGComponent;
6
+ active: boolean;
7
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
8
+ export default _default;
9
+ //# sourceMappingURL=HeaderSettingsModeButton.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderSettingsModeButton.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/List/components/HeaderSettingsModeButton.vue"],"names":[],"mappings":";UAyBQ,YAAY;YACV,OAAO;;UADT,YAAY;YACV,OAAO;;AAuEjB,wBAMG"}
@@ -0,0 +1,23 @@
1
+ import { defineComponent, createElementBlock, openBlock, normalizeClass, createBlock, resolveDynamicComponent } from 'vue';
2
+
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "HeaderSettingsModeButton",
5
+ props: {
6
+ icon: {},
7
+ active: { type: Boolean }
8
+ },
9
+ setup(__props) {
10
+ return (_ctx, _cache) => {
11
+ return openBlock(), createElementBlock("button", {
12
+ class: normalizeClass(["w-ripple w-ripple-hover relative flex justify-center rounded-2xl p-4", {
13
+ "text-primary-default dark:text-primary-dark bg-primary-default/10 dark:bg-primary-dark/10": _ctx.active,
14
+ "text-description": !_ctx.active
15
+ }])
16
+ }, [
17
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), { class: "square-6" }))
18
+ ], 2);
19
+ };
20
+ }
21
+ });
22
+
23
+ export { _sfc_main as default };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from './HeaderSettingsModeButton.vue.js';
2
+
3
+
4
+
5
+ export { _sfc_main as default };