@xy-planning-network/trees 0.9.5 → 0.9.6-rc1

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 (30) hide show
  1. package/dist/trees.es.js +1445 -1441
  2. package/dist/trees.umd.js +9 -9
  3. package/package.json +1 -1
  4. package/src/lib-components/layout/DateFilter.vue +19 -30
  5. package/src/lib-components/lists/DetailList.vue +98 -42
  6. package/types/components.d.ts +1 -1
  7. package/types/composables/index.d.ts +2 -1
  8. package/types/composables/list.d.ts +13 -0
  9. package/types/composables/table.d.ts +1 -1
  10. package/types/entry.d.ts +9 -9
  11. package/types/helpers/Slots.d.ts +2 -0
  12. package/types/lib-components/forms/MultiCheckboxes.vue.d.ts +2 -2
  13. package/types/lib-components/forms/Radio.vue.d.ts +2 -2
  14. package/types/lib-components/forms/RadioCards.vue.d.ts +1 -1
  15. package/types/lib-components/forms/Select.vue.d.ts +2 -2
  16. package/types/lib-components/layout/DateFilter.vue.d.ts +6 -13
  17. package/types/lib-components/layout/SidebarLayout.vue.d.ts +1 -1
  18. package/types/lib-components/layout/StackedLayout.vue.d.ts +2 -2
  19. package/types/lib-components/lists/DataTable.vue.d.ts +1 -1
  20. package/types/lib-components/lists/DetailList.vue.d.ts +49 -17
  21. package/types/lib-components/lists/DynamicTable.vue.d.ts +1 -1
  22. package/types/lib-components/lists/StaticTable.vue.d.ts +21 -0
  23. package/types/lib-components/lists/StaticTableActionSlot.vue.d.ts +27 -0
  24. package/types/lib-components/lists/Table.vue.d.ts +39 -0
  25. package/types/lib-components/lists/TableActionButtons.vue.d.ts +3 -3
  26. package/types/lib-components/navigation/ActionsDropdown.vue.d.ts +1 -1
  27. package/types/lib-components/navigation/ActionsDropdownCallback.vue.d.ts +18 -0
  28. package/types/lib-components/navigation/ActionsDropdownEmit.vue.d.ts +22 -0
  29. package/types/lib-components/navigation/Paginator.vue.d.ts +1 -1
  30. package/types/lib-components/overlays/AlertModal.vue.d.ts +68 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xy-planning-network/trees",
3
- "version": "0.9.5",
3
+ "version": "0.9.6-rc1",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "repository": "github:xy-planning-network/trees",
@@ -1,27 +1,27 @@
1
1
  <script setup lang="ts">
2
- import { DateRange } from "@/composables/date"
3
2
  import { ref } from "vue"
3
+ import { DateRange } from "@/composables/date"
4
+ import { SortDir } from "@/composables/list"
4
5
  import DateRangePicker from "../forms/DateRangePicker.vue"
5
6
  import Select from "@/lib-components/forms/Select.vue"
6
7
 
7
8
  const props = defineProps<{
8
9
  dateRange: DateRange
9
- sortDir: string
10
- title: string
10
+ sortDir: SortDir
11
11
  }>()
12
12
  const dateRange = ref<DateRange>(props.dateRange)
13
- const sortDir = ref<string>(props.sortDir)
14
- const sortOptions = [
15
- { label: "Newest-Oldest", value: "DESC" },
16
- { label: "Oldest-Newest", value: "ASC" },
13
+ const sortDir = ref<SortDir>(props.sortDir)
14
+ const sortOptions: { label: string; value: SortDir }[] = [
15
+ { label: "Newest-Oldest", value: "desc" },
16
+ { label: "Oldest-Newest", value: "asc" },
17
17
  ]
18
18
 
19
19
  const emits = defineEmits<{
20
- (e: "sort-dir-changed", val: string): void
20
+ (e: "sort-dir-changed", val: SortDir): void
21
21
  (e: "date-range-changed", val: DateRange): void
22
22
  }>()
23
23
 
24
- const sortDirChanged = (sortDir: string) => {
24
+ const sortDirChanged = (sortDir: SortDir) => {
25
25
  emits("sort-dir-changed", sortDir)
26
26
  }
27
27
 
@@ -30,25 +30,14 @@ const dateRangeChanged = (dateRange: DateRange) => {
30
30
  }
31
31
  </script>
32
32
  <template>
33
- <div
34
- class="md:flex md:items-center md:justify-between bg-white mx-auto py-4 border-t border-gray-100"
35
- >
36
- <div class="flex-1 min-w-0">
37
- <h1 class="text-lg leading-6 font-semibold text-gray-900">
38
- {{ title }}
39
- </h1>
40
- </div>
41
- <div class="mt-4 flex md:mt-0 md:ml-4">
42
- <Select
43
- v-model="sortDir"
44
- :options="sortOptions"
45
- @update:model-value="sortDirChanged"
46
- ></Select>
47
- <DateRangePicker
48
- v-model="dateRange"
49
- class="ml-3"
50
- @update:model-value="dateRangeChanged"
51
- />
52
- </div>
53
- </div>
33
+ <Select
34
+ v-model="sortDir"
35
+ :options="sortOptions"
36
+ @update:model-value="sortDirChanged"
37
+ ></Select>
38
+ <DateRangePicker
39
+ v-model="dateRange"
40
+ class="ml-3"
41
+ @update:model-value="dateRangeChanged"
42
+ />
54
43
  </template>
@@ -1,20 +1,58 @@
1
1
  <script setup lang="ts">
2
+ import { computed, ref, watch } from "vue"
2
3
  import { useAppFlasher } from "@/composables"
3
- import { ref, watch } from "vue"
4
+ import { SortDir, DetailListAPI } from "@/composables/list"
4
5
  import BaseAPI from "../../api/base"
5
6
  import DateFilter from "../layout/DateFilter.vue"
6
7
  import Paginator from "../navigation/Paginator.vue"
7
8
 
8
9
  const props = withDefaults(
9
10
  defineProps<{
10
- refreshTrigger?: number
11
- reloadTrigger?: number
12
- title: string
11
+ /**
12
+ * borderless removes the default border styling applied around list items.
13
+ * This is useful when filters or pagination navigation components show,
14
+ * but less helpful when this component is dialed back in functionality.
15
+ */
16
+ borderless?: boolean
17
+
18
+ /**
19
+ * defaultSort overrides the default field to sort items on.
20
+ */
21
+ defaultSort?: string
22
+
23
+ /**
24
+ * defaultSortDir overrides the default order to sort items with.
25
+ */
26
+ defaultSortDir?: SortDir
27
+
28
+ /**
29
+ * disableDate turns off the date-range filter input.
30
+ */
31
+ disableDate?: boolean
32
+
33
+ /**
34
+ * disableNavigation hides navigation components from displaying.
35
+ * This makes the List as a "single-page" limiting the number of results via perPage.
36
+ */
37
+ disableNavigation?: boolean
38
+
39
+ /**
40
+ * perPage overrides the default number of items per page to retrieve.
41
+ */
42
+ perPage?: number
43
+
44
+ /**
45
+ * url is the endpoint to retrieve list data from
46
+ */
13
47
  url: string
14
48
  }>(),
15
49
  {
16
- refreshTrigger: 0,
17
- reloadTrigger: 0,
50
+ borderless: false,
51
+ disableNavigation: false,
52
+ disableDate: false,
53
+ defaultSort: "created_at",
54
+ defaultSortDir: "desc",
55
+ perPage: 10,
18
56
  }
19
57
  )
20
58
 
@@ -22,24 +60,31 @@ const dateRange = ref<{ minDate: number; maxDate: number }>({
22
60
  minDate: 0,
23
61
  maxDate: 0,
24
62
  })
25
- const hasContent = ref(true)
63
+
26
64
  const items = ref<any[]>([])
65
+
27
66
  const pagination = ref({
28
67
  page: 1,
29
- perPage: 10,
68
+ perPage: props.perPage,
30
69
  totalItems: 0,
31
70
  totalPages: 0,
32
71
  })
33
- const sortDir = ref("DESC")
34
72
 
35
- const loadAndRender = (checkForContent: boolean): void => {
36
- const params = {
73
+ const sort = ref(props.defaultSort)
74
+ const sortDir = ref(props.defaultSortDir)
75
+
76
+ const loadAndRender = (): void => {
77
+ const params: Record<string, unknown> = {
78
+ maxDate: dateRange.value.maxDate,
79
+ minDate: dateRange.value.minDate,
37
80
  page: pagination.value.page,
38
81
  perPage: pagination.value.perPage,
82
+ q: "",
83
+ sort: sort.value,
39
84
  sortDir: sortDir.value,
40
85
  }
41
86
 
42
- BaseAPI.get(props.url, {}, Object.assign(params, dateRange.value)).then(
87
+ BaseAPI.get(props.url, {}, params).then(
43
88
  (success: any) => {
44
89
  pagination.value = {
45
90
  page: success.data.page,
@@ -48,7 +93,6 @@ const loadAndRender = (checkForContent: boolean): void => {
48
93
  totalPages: success.data.totalPages,
49
94
  }
50
95
  items.value = success.data.items
51
- if (checkForContent) hasContent.value = items.value.length != 0
52
96
  },
53
97
  () => {
54
98
  useAppFlasher.genericError()
@@ -56,39 +100,51 @@ const loadAndRender = (checkForContent: boolean): void => {
56
100
  )
57
101
  }
58
102
 
59
- watch([sortDir, dateRange], () => {
60
- loadAndRender(false)
103
+ const hasContent = computed((): boolean => {
104
+ return items.value.length ? true : false
61
105
  })
62
106
 
63
- watch(
64
- () => props.refreshTrigger,
65
- () => {
66
- loadAndRender(false)
67
- }
68
- )
107
+ const filtersAreConfigured = computed(() => {
108
+ return !props.disableDate
109
+ })
69
110
 
70
- watch(
71
- () => props.reloadTrigger,
72
- () => {
73
- // This lets parent components trigger a refresh of the current page depending on external actions.
74
- pagination.value.page = 1
75
- loadAndRender(true)
76
- }
77
- )
111
+ const showPaginator = computed(() => {
112
+ return !props.disableNavigation && hasContent
113
+ })
114
+
115
+ const reloadTable = (): void => {
116
+ pagination.value.page = 1
117
+ loadAndRender()
118
+ }
78
119
 
79
- loadAndRender(true)
120
+ const publicMethods: DetailListAPI = {
121
+ refresh: loadAndRender,
122
+ reset: reloadTable,
123
+ }
124
+
125
+ watch([sortDir, dateRange], () => {
126
+ loadAndRender()
127
+ })
128
+
129
+ defineExpose(publicMethods)
130
+ loadAndRender()
80
131
  </script>
81
132
  <template>
82
- <div>
83
- <DateFilter
84
- :date-range="dateRange"
85
- :sort-dir="sortDir"
86
- :title="title"
87
- @sort-dir-changed="sortDir = $event"
88
- @date-range-changed="dateRange = $event"
89
- />
133
+ <div :class="{ 'mt-4 space-y-2': filtersAreConfigured }">
134
+ <div v-if="!disableDate" class="flex">
135
+ <DateFilter
136
+ :date-range="dateRange"
137
+ :sort-dir="sortDir"
138
+ @sort-dir-changed="sortDir = $event"
139
+ @date-range-changed="dateRange = $event"
140
+ />
141
+ </div>
90
142
 
91
- <div v-if="hasContent" class="shadow overflow-hidden sm:rounded-md border">
143
+ <div
144
+ v-if="hasContent"
145
+ class="overflow-hidden"
146
+ :class="{ 'shadow sm:rounded-md border': !borderless }"
147
+ >
92
148
  <ul>
93
149
  <li
94
150
  v-for="(item, idx) in items"
@@ -100,12 +156,12 @@ loadAndRender(true)
100
156
  </ul>
101
157
  </div>
102
158
 
103
- <slot v-else name="empty"></slot>
159
+ <slot v-else name="empty"> No items were found! </slot>
104
160
 
105
161
  <Paginator
106
- v-if="hasContent"
162
+ v-if="showPaginator"
107
163
  v-model="pagination"
108
- @update:model-value="loadAndRender(false)"
164
+ @update:model-value="loadAndRender()"
109
165
  />
110
166
  </div>
111
167
  </template>
@@ -1,4 +1,4 @@
1
- import { TreesComponents } from "./lib-components"
1
+ import { TreesComponents } from "@/lib-components"
2
2
 
3
3
  /**
4
4
  * When using App.use(Trees) include a
@@ -1,7 +1,8 @@
1
1
  import { default as useBaseAPI, useBaseAPIGet, useBaseAPIPatch, useBaseAPIPut, useBaseAPIPost, useBaseAPIDelete } from "./useBaseAPI";
2
2
  import type { UseBaseAPIOptions, UseBaseAPI } from "./useBaseAPI";
3
3
  import type { DynamicTableOptions, DynamicTableAPI, TableActionItem, TableColumn, TableActions, TableCellAlignment, TableRowData, TableColumns, TableRowsData } from "./table";
4
- export type { UseBaseAPIOptions, UseBaseAPI, DynamicTableOptions, DynamicTableAPI, TableActionItem, TableColumn, TableActions, TableCellAlignment, TableRowData, TableColumns, TableRowsData, };
4
+ import type { DetailListAPI, SortDir } from "./list";
5
+ export type { UseBaseAPIOptions, UseBaseAPI, DetailListAPI, DynamicTableOptions, DynamicTableAPI, SortDir, TableActionItem, TableColumn, TableActions, TableCellAlignment, TableRowData, TableColumns, TableRowsData, };
5
6
  export { useBaseAPI, useBaseAPIGet, useBaseAPIPatch, useBaseAPIPut, useBaseAPIPost, useBaseAPIDelete, };
6
7
  import { useFlashes, useAppFlashes, useAppFlasher } from "./useFlashes";
7
8
  import type { FlashMessage, FlashType, FlashStore, Flasher } from "./useFlashes";
@@ -0,0 +1,13 @@
1
+ export interface DetailListAPI {
2
+ /**
3
+ * Force refresh the table data with the current api params state
4
+ * @returns void
5
+ */
6
+ refresh: () => void;
7
+ /**
8
+ * Reset the table data back to page 1 and load
9
+ * @returns void
10
+ */
11
+ reset: () => void;
12
+ }
13
+ export type SortDir = "asc" | "desc";
@@ -1,5 +1,5 @@
1
1
  import { VNodeChild } from "vue";
2
- import { ActionItem } from "../composables/nav";
2
+ import { ActionItem } from "@/composables/nav";
3
3
  import { DateRangeProps } from "./date";
4
4
  export interface DynamicTableOptions {
5
5
  dateSearch?: boolean | DateRangeProps;
package/types/entry.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import { Plugin } from "vue";
2
- import BaseAPI, { isHttpCancel, isHttpError, setBaseAPIDefaults } from "./api/base";
3
- import type { HttpPromise, HttpError, QueryParams, ReqOptions, ReqPayload, TrailsPromise, TrailsPromisePaged, TrailsResp, TrailsRespPaged } from "./api/client";
4
- import { emailPattern, looseToNumber, phonePattern, textInputTypes, useInputField } from "./composables/forms";
5
- import { useModel } from "./composables/setupHelpers";
6
- import { debounce as debounceFn, debounceLeading } from "./helpers/Debounce";
7
- import { throttle as throttleFn } from "./helpers/Throttle";
2
+ import BaseAPI, { isHttpCancel, isHttpError, setBaseAPIDefaults } from "@/api/base";
3
+ import type { HttpPromise, HttpError, QueryParams, ReqOptions, ReqPayload, TrailsPromise, TrailsPromisePaged, TrailsResp, TrailsRespPaged } from "@/api/client";
4
+ import { emailPattern, looseToNumber, phonePattern, textInputTypes, useInputField } from "@/composables/forms";
5
+ import { useModel } from "@/composables/setupHelpers";
6
+ import { debounce as debounceFn, debounceLeading } from "@/helpers/Debounce";
7
+ import { throttle as throttleFn } from "@/helpers/Throttle";
8
8
  declare const install: Exclude<Plugin["install"], undefined>;
9
9
  export default install;
10
- export * from "./composables/index";
11
- export * from "./lib-components/index";
10
+ export * from "@/composables/index";
11
+ export * from "@/lib-components/index";
12
12
  export { BaseAPI, isHttpCancel, isHttpError, setBaseAPIDefaults };
13
13
  export type { HttpPromise, HttpError, QueryParams, ReqOptions, ReqPayload, TrailsPromise, TrailsPromisePaged, TrailsResp, TrailsRespPaged, };
14
- export type * from "./composables/forms";
14
+ export type * from "@/composables/forms";
15
15
  export { emailPattern, looseToNumber, phonePattern, textInputTypes, useInputField, };
16
16
  export { useModel };
17
17
  export { debounceFn, debounceLeading, throttleFn };
@@ -0,0 +1,2 @@
1
+ import { Slot } from "vue";
2
+ export declare function hasSlotContent(slot: Slot | undefined, slotProps?: {}): boolean;
@@ -22,7 +22,7 @@ declare const _default: import("vue").DefineComponent<{
22
22
  default: string;
23
23
  };
24
24
  options: {
25
- type: import("vue").PropType<import("../../composables/forms").InputOption[]>;
25
+ type: import("vue").PropType<import("@/composables/forms").InputOption[]>;
26
26
  required: true;
27
27
  };
28
28
  columns: {
@@ -55,7 +55,7 @@ declare const _default: import("vue").DefineComponent<{
55
55
  default: string;
56
56
  };
57
57
  options: {
58
- type: import("vue").PropType<import("../../composables/forms").InputOption[]>;
58
+ type: import("vue").PropType<import("@/composables/forms").InputOption[]>;
59
59
  required: true;
60
60
  };
61
61
  columns: {
@@ -16,7 +16,7 @@ declare const _default: import("vue").DefineComponent<{
16
16
  default: string;
17
17
  };
18
18
  options: {
19
- type: import("vue").PropType<import("../../composables/forms").InputOption[]>;
19
+ type: import("vue").PropType<import("@/composables/forms").InputOption[]>;
20
20
  required: true;
21
21
  };
22
22
  columns: {
@@ -43,7 +43,7 @@ declare const _default: import("vue").DefineComponent<{
43
43
  default: string;
44
44
  };
45
45
  options: {
46
- type: import("vue").PropType<import("../../composables/forms").InputOption[]>;
46
+ type: import("vue").PropType<import("@/composables/forms").InputOption[]>;
47
47
  required: true;
48
48
  };
49
49
  columns: {
@@ -1,4 +1,4 @@
1
- import type { InputOption } from "../../composables/forms";
1
+ import type { InputOption } from "@/composables/forms";
2
2
  declare const _default: <T extends InputOption>(__VLS_props: {
3
3
  label?: string | undefined;
4
4
  modelValue?: string | number | null | undefined;
@@ -16,7 +16,7 @@ declare const _default: import("vue").DefineComponent<{
16
16
  default: string;
17
17
  };
18
18
  options: {
19
- type: import("vue").PropType<import("../../composables/forms").InputOption[]>;
19
+ type: import("vue").PropType<import("@/composables/forms").InputOption[]>;
20
20
  required: true;
21
21
  };
22
22
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -40,7 +40,7 @@ declare const _default: import("vue").DefineComponent<{
40
40
  default: string;
41
41
  };
42
42
  options: {
43
- type: import("vue").PropType<import("../../composables/forms").InputOption[]>;
43
+ type: import("vue").PropType<import("@/composables/forms").InputOption[]>;
44
44
  required: true;
45
45
  };
46
46
  }>> & {
@@ -1,19 +1,16 @@
1
- import { DateRange } from "../../composables/date";
1
+ import { DateRange } from "@/composables/date";
2
+ import { SortDir } from "@/composables/list";
2
3
  declare const _default: import("vue").DefineComponent<{
3
4
  dateRange: {
4
5
  type: import("vue").PropType<DateRange>;
5
6
  required: true;
6
7
  };
7
8
  sortDir: {
8
- type: import("vue").PropType<string>;
9
- required: true;
10
- };
11
- title: {
12
- type: import("vue").PropType<string>;
9
+ type: import("vue").PropType<SortDir>;
13
10
  required: true;
14
11
  };
15
12
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
- "sort-dir-changed": (val: string) => void;
13
+ "sort-dir-changed": (val: SortDir) => void;
17
14
  "date-range-changed": (val: DateRange) => void;
18
15
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
16
  dateRange: {
@@ -21,15 +18,11 @@ declare const _default: import("vue").DefineComponent<{
21
18
  required: true;
22
19
  };
23
20
  sortDir: {
24
- type: import("vue").PropType<string>;
25
- required: true;
26
- };
27
- title: {
28
- type: import("vue").PropType<string>;
21
+ type: import("vue").PropType<SortDir>;
29
22
  required: true;
30
23
  };
31
24
  }>> & {
32
- "onSort-dir-changed"?: ((val: string) => any) | undefined;
25
+ "onSort-dir-changed"?: ((val: SortDir) => any) | undefined;
33
26
  "onDate-range-changed"?: ((val: DateRange) => any) | undefined;
34
27
  }, {}, {}>;
35
28
  export default _default;
@@ -1,4 +1,4 @@
1
- import * as NavTypes from "../../composables/nav";
1
+ import * as NavTypes from "@/composables/nav";
2
2
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
3
3
  activeUrl: {
4
4
  type: import("vue").PropType<string>;
@@ -1,5 +1,5 @@
1
- import * as NavTypes from "../../composables/nav";
2
- import User from "../../composables/user";
1
+ import * as NavTypes from "@/composables/nav";
2
+ import User from "@/composables/user";
3
3
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
4
  activeUrl: {
5
5
  type: import("vue").PropType<string>;
@@ -1,4 +1,4 @@
1
- import type { TableActions, TableColumns, TableRowsData } from "../../composables/table";
1
+ import type { TableActions, TableColumns, TableRowsData } from "@/composables/table";
2
2
  declare const _default: import("vue").DefineComponent<{
3
3
  tableActions: {
4
4
  type: import("vue").PropType<TableActions<any>>;
@@ -1,40 +1,72 @@
1
+ import { SortDir } from "@/composables/list";
1
2
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
2
- title: {
3
+ url: {
3
4
  type: import("vue").PropType<string>;
4
5
  required: true;
5
6
  };
6
- url: {
7
+ borderless: {
8
+ type: import("vue").PropType<boolean>;
9
+ default: boolean;
10
+ };
11
+ defaultSort: {
7
12
  type: import("vue").PropType<string>;
8
- required: true;
13
+ default: string;
9
14
  };
10
- refreshTrigger: {
11
- type: import("vue").PropType<number>;
12
- default: number;
15
+ defaultSortDir: {
16
+ type: import("vue").PropType<SortDir>;
17
+ default: string;
18
+ };
19
+ disableDate: {
20
+ type: import("vue").PropType<boolean>;
21
+ default: boolean;
22
+ };
23
+ disableNavigation: {
24
+ type: import("vue").PropType<boolean>;
25
+ default: boolean;
13
26
  };
14
- reloadTrigger: {
27
+ perPage: {
15
28
  type: import("vue").PropType<number>;
16
29
  default: number;
17
30
  };
18
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
- title: {
31
+ }, {
32
+ refresh: () => void;
33
+ reset: () => void;
34
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
35
+ url: {
20
36
  type: import("vue").PropType<string>;
21
37
  required: true;
22
38
  };
23
- url: {
39
+ borderless: {
40
+ type: import("vue").PropType<boolean>;
41
+ default: boolean;
42
+ };
43
+ defaultSort: {
24
44
  type: import("vue").PropType<string>;
25
- required: true;
45
+ default: string;
26
46
  };
27
- refreshTrigger: {
28
- type: import("vue").PropType<number>;
29
- default: number;
47
+ defaultSortDir: {
48
+ type: import("vue").PropType<SortDir>;
49
+ default: string;
50
+ };
51
+ disableDate: {
52
+ type: import("vue").PropType<boolean>;
53
+ default: boolean;
54
+ };
55
+ disableNavigation: {
56
+ type: import("vue").PropType<boolean>;
57
+ default: boolean;
30
58
  };
31
- reloadTrigger: {
59
+ perPage: {
32
60
  type: import("vue").PropType<number>;
33
61
  default: number;
34
62
  };
35
63
  }>>, {
36
- refreshTrigger: number;
37
- reloadTrigger: number;
64
+ borderless: boolean;
65
+ defaultSort: string;
66
+ defaultSortDir: SortDir;
67
+ disableDate: boolean;
68
+ disableNavigation: boolean;
69
+ perPage: number;
38
70
  }, {}>, {
39
71
  default?(_: {
40
72
  item: any;
@@ -1,4 +1,4 @@
1
- import type { DynamicTableOptions, TableActions, TableColumns } from "../../composables/table";
1
+ import type { DynamicTableOptions, TableActions, TableColumns } from "@/composables/table";
2
2
  declare const _default: import("vue").DefineComponent<{
3
3
  tableActions: {
4
4
  type: import("vue").PropType<TableActions<any>>;
@@ -0,0 +1,21 @@
1
+ import type { TableColumn, TableRow } from "../../composables/table";
2
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ columns: TableColumn<TableRow>[];
4
+ rows: TableRow[];
5
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
6
+ columns?: unknown;
7
+ rows?: unknown;
8
+ } & {
9
+ columns: TableColumn<TableRow>[];
10
+ rows: TableRow[];
11
+ } & {}>, {}>;
12
+ export default _default;
13
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
14
+ type __VLS_TypePropsToRuntimeProps<T> = {
15
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
16
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
17
+ } : {
18
+ type: import('vue').PropType<T[K]>;
19
+ required: true;
20
+ };
21
+ };
@@ -0,0 +1,27 @@
1
+ import * as TableTypes from "../../composables/table";
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ tableData: Omit<TableTypes.Static, "currentUser">;
4
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
5
+ tableData?: unknown;
6
+ } & {
7
+ tableData: Omit<TableTypes.Static, "currentUser">;
8
+ } & {}>, {}>, {
9
+ actions: (_: {
10
+ row: Record<string, unknown>;
11
+ }) => any;
12
+ }>;
13
+ export default _default;
14
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
15
+ type __VLS_TypePropsToRuntimeProps<T> = {
16
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
17
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
18
+ } : {
19
+ type: import('vue').PropType<T[K]>;
20
+ required: true;
21
+ };
22
+ };
23
+ type __VLS_WithTemplateSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };