cisse-vue-ui 0.8.4 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +666 -4
  2. package/dist/{CheckboxGroup.vue_vue_type_script_setup_true_lang-B190Yija.js → CheckboxGroup.vue_vue_type_script_setup_true_lang-ZP02bMgY.js} +2 -2
  3. package/dist/{CheckboxGroup.vue_vue_type_script_setup_true_lang-B190Yija.js.map → CheckboxGroup.vue_vue_type_script_setup_true_lang-ZP02bMgY.js.map} +1 -1
  4. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-DWs2V7xX.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-C5KHLMvx.js} +37 -184
  5. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-C5KHLMvx.js.map +1 -0
  6. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-BGUoa5fT.cjs → ConfirmDialog.vue_vue_type_script_setup_true_lang-CLfy0-Wb.cjs} +33 -180
  7. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-CLfy0-Wb.cjs.map +1 -0
  8. package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-BmJHgkBs.js → FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js} +1568 -384
  9. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js.map +1 -0
  10. package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-DYxh-wFx.cjs → FilterTabs.vue_vue_type_script_setup_true_lang-l8lJzwoY.cjs} +1564 -380
  11. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-l8lJzwoY.cjs.map +1 -0
  12. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BHopJ9RG.js +298 -0
  13. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BHopJ9RG.js.map +1 -0
  14. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-Bo3HqgX0.cjs +297 -0
  15. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-Bo3HqgX0.cjs.map +1 -0
  16. package/dist/components/core/Breadcrumb.stories.d.ts +5 -0
  17. package/dist/components/core/CardWrapper.stories.d.ts +32 -0
  18. package/dist/components/core/CardWrapper.vue.d.ts +129 -0
  19. package/dist/components/core/CollapsibleCard.vue.d.ts +1 -1
  20. package/dist/components/core/DataTable.stories.d.ts +38 -0
  21. package/dist/components/core/Dropdown.vue.d.ts +1 -1
  22. package/dist/components/core/Popover.vue.d.ts +2 -2
  23. package/dist/components/core/StatItem.stories.d.ts +25 -0
  24. package/dist/components/core/StatItem.test.d.ts +1 -0
  25. package/dist/components/core/StatItem.vue.d.ts +81 -0
  26. package/dist/components/core/Stats.stories.d.ts +24 -0
  27. package/dist/components/core/Stats.test.d.ts +1 -0
  28. package/dist/components/core/Stats.vue.d.ts +41 -0
  29. package/dist/components/core/Tooltip.stories.d.ts +3 -0
  30. package/dist/components/core/index.cjs +41 -22
  31. package/dist/components/core/index.cjs.map +1 -1
  32. package/dist/components/core/index.d.ts +10 -4
  33. package/dist/components/core/index.js +41 -22
  34. package/dist/components/core/table/DataTable.test.d.ts +1 -0
  35. package/dist/components/core/{TableComponent.vue.d.ts → table/DataTable.vue.d.ts} +60 -7
  36. package/dist/components/core/table/Table.stories.d.ts +27 -0
  37. package/dist/components/core/table/atoms/Caption.test.d.ts +1 -0
  38. package/dist/components/core/table/atoms/Caption.vue.d.ts +26 -0
  39. package/dist/components/core/table/atoms/Col.test.d.ts +1 -0
  40. package/dist/components/core/table/atoms/Col.vue.d.ts +8 -0
  41. package/dist/components/core/table/atoms/Colgroup.test.d.ts +1 -0
  42. package/dist/components/core/table/atoms/Colgroup.vue.d.ts +17 -0
  43. package/dist/components/core/table/atoms/Table.test.d.ts +1 -0
  44. package/dist/components/core/table/atoms/Table.vue.d.ts +46 -0
  45. package/dist/components/core/table/atoms/Tbody.test.d.ts +1 -0
  46. package/dist/components/core/table/atoms/Tbody.vue.d.ts +17 -0
  47. package/dist/components/core/table/atoms/Td.test.d.ts +1 -0
  48. package/dist/components/core/table/atoms/Td.vue.d.ts +43 -0
  49. package/dist/components/core/table/atoms/Tfoot.test.d.ts +1 -0
  50. package/dist/components/core/table/atoms/Tfoot.vue.d.ts +17 -0
  51. package/dist/components/core/table/atoms/Th.test.d.ts +1 -0
  52. package/dist/components/core/table/atoms/Th.vue.d.ts +64 -0
  53. package/dist/components/core/table/atoms/Thead.test.d.ts +1 -0
  54. package/dist/components/core/table/atoms/Thead.vue.d.ts +17 -0
  55. package/dist/components/core/table/atoms/Tr.test.d.ts +1 -0
  56. package/dist/components/core/table/atoms/Tr.vue.d.ts +35 -0
  57. package/dist/components/core/table/atoms/index.d.ts +10 -0
  58. package/dist/components/core/table/index.d.ts +3 -0
  59. package/dist/components/core/table/molecules/ExpandableRow.test.d.ts +1 -0
  60. package/dist/components/core/table/molecules/ExpandableRow.vue.d.ts +47 -0
  61. package/dist/components/core/table/molecules/TableFooter.test.d.ts +1 -0
  62. package/dist/components/core/table/molecules/TableFooter.vue.d.ts +21 -0
  63. package/dist/components/core/table/molecules/TableHeader.test.d.ts +1 -0
  64. package/dist/components/core/table/molecules/TableHeader.vue.d.ts +49 -0
  65. package/dist/components/core/table/molecules/TableRow.test.d.ts +1 -0
  66. package/dist/components/core/table/molecules/TableRow.vue.d.ts +59 -0
  67. package/dist/components/core/table/molecules/index.d.ts +4 -0
  68. package/dist/components/feedback/Progress.vue.d.ts +1 -1
  69. package/dist/components/feedback/TableSkeleton.vue.d.ts +1 -1
  70. package/dist/components/feedback/index.cjs +14 -14
  71. package/dist/components/feedback/index.js +14 -14
  72. package/dist/components/form/Combobox.vue.d.ts +1 -1
  73. package/dist/components/form/DatePicker.vue.d.ts +1 -1
  74. package/dist/components/form/FormSection.vue.d.ts +1 -1
  75. package/dist/components/form/IconPicker.stories.d.ts +19 -0
  76. package/dist/components/form/IconPicker.test.d.ts +1 -0
  77. package/dist/components/form/InputWrapper.stories.d.ts +0 -5
  78. package/dist/components/form/Rating.vue.d.ts +1 -1
  79. package/dist/components/form/SearchInput.vue.d.ts +1 -1
  80. package/dist/components/form/index.js +2 -2
  81. package/dist/components/index.cjs +55 -36
  82. package/dist/components/index.cjs.map +1 -1
  83. package/dist/components/index.js +67 -48
  84. package/dist/composables/index.cjs +15 -8
  85. package/dist/composables/index.cjs.map +1 -1
  86. package/dist/composables/index.d.ts +7 -0
  87. package/dist/composables/index.js +12 -5
  88. package/dist/composables/useColumnResize.d.ts +38 -0
  89. package/dist/composables/useColumnResize.test.d.ts +1 -0
  90. package/dist/composables/useColumnVisibility.d.ts +44 -0
  91. package/dist/composables/useColumnVisibility.test.d.ts +1 -0
  92. package/dist/composables/useEditableCell.d.ts +51 -0
  93. package/dist/composables/useEditableCell.test.d.ts +1 -0
  94. package/dist/composables/usePagination.d.ts +44 -0
  95. package/dist/composables/usePagination.test.d.ts +1 -0
  96. package/dist/composables/usePinnedRows.d.ts +41 -0
  97. package/dist/composables/usePinnedRows.test.d.ts +1 -0
  98. package/dist/composables/useTableKeyboardNavigation.d.ts +52 -0
  99. package/dist/composables/useTableKeyboardNavigation.test.d.ts +1 -0
  100. package/dist/composables/useVirtualScroll.d.ts +32 -0
  101. package/dist/composables/useVirtualScroll.test.d.ts +1 -0
  102. package/dist/{index-SNefWfX0.js → index-BaWpldIJ.js} +3 -3
  103. package/dist/{index-SNefWfX0.js.map → index-BaWpldIJ.js.map} +1 -1
  104. package/dist/{index-LFQFhClN.cjs → index-CYXOfUOG.cjs} +56 -37
  105. package/dist/{index-LFQFhClN.cjs.map → index-CYXOfUOG.cjs.map} +1 -1
  106. package/dist/index-C_N7WRnM.js +116 -0
  107. package/dist/index-C_N7WRnM.js.map +1 -0
  108. package/dist/index.cjs +71 -45
  109. package/dist/index.cjs.map +1 -1
  110. package/dist/index.js +81 -55
  111. package/dist/style.css +1 -1
  112. package/dist/types/components.d.ts +1 -1
  113. package/dist/types/property.d.ts +8 -0
  114. package/dist/usePagination-BGwbICFC.js +135 -0
  115. package/dist/usePagination-BGwbICFC.js.map +1 -0
  116. package/dist/usePagination-gvvh1zqA.cjs +134 -0
  117. package/dist/usePagination-gvvh1zqA.cjs.map +1 -0
  118. package/dist/useVirtualScroll-BivP86fA.cjs +869 -0
  119. package/dist/useVirtualScroll-BivP86fA.cjs.map +1 -0
  120. package/dist/useVirtualScroll-YeZru2Eo.js +870 -0
  121. package/dist/useVirtualScroll-YeZru2Eo.js.map +1 -0
  122. package/package.json +1 -1
  123. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-BGUoa5fT.cjs.map +0 -1
  124. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-DWs2V7xX.js.map +0 -1
  125. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-BmJHgkBs.js.map +0 -1
  126. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-DYxh-wFx.cjs.map +0 -1
  127. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BwtEbaiT.js +0 -150
  128. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BwtEbaiT.js.map +0 -1
  129. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs +0 -149
  130. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs.map +0 -1
  131. package/dist/components/core/StatsCard.stories.d.ts +0 -15
  132. package/dist/components/core/StatsCard.vue.d.ts +0 -44
  133. package/dist/components/core/StatsGrid.stories.d.ts +0 -12
  134. package/dist/components/core/StatsGrid.vue.d.ts +0 -16
  135. package/dist/components/core/TableComponent.stories.d.ts +0 -16
  136. package/dist/index-CyL_6V7D.js +0 -97
  137. package/dist/index-CyL_6V7D.js.map +0 -1
  138. package/dist/useDarkMode-Cl5QWTlC.js +0 -53
  139. package/dist/useDarkMode-Cl5QWTlC.js.map +0 -1
  140. package/dist/useDarkMode-DLZcJEUQ.cjs +0 -52
  141. package/dist/useDarkMode-DLZcJEUQ.cjs.map +0 -1
  142. package/dist/useToast-Bk60GArg.cjs +0 -176
  143. package/dist/useToast-Bk60GArg.cjs.map +0 -1
  144. package/dist/useToast-ina5g3mj.js +0 -177
  145. package/dist/useToast-ina5g3mj.js.map +0 -1
  146. /package/dist/components/core/{StatsCard.test.d.ts → AccordionItem.test.d.ts} +0 -0
  147. /package/dist/components/core/{StatsGrid.test.d.ts → CardWrapper.test.d.ts} +0 -0
@@ -1,33 +1,52 @@
1
- import { o, p, d, f, n, _, j, r, m, u, b, l, c, s, t, i, h, e, a, g, q, k } from "../../FilterTabs.vue_vue_type_script_setup_true_lang-BmJHgkBs.js";
1
+ import { D, E, s, u, C, c, _, a, e, d, y, G, p, B, o, J, q, A, r, H, I, H as H2, I as I2, x, w, b, t, p as p2, T, n, l, m, v, g, k, h, j, f, F, z, i } from "../../FilterTabs.vue_vue_type_script_setup_true_lang-CJnvcF8Z.js";
2
2
  import { a as a2, _ as _2 } from "../../Dropdown.vue_vue_type_script_setup_true_lang-GLCX7E3C.js";
3
3
  import { _ as _3 } from "../../BadgeType.vue_vue_type_script_setup_true_lang-tHRMWBb-.js";
4
4
  import { _ as _4 } from "../../Button.vue_vue_type_script_setup_true_lang-CBYr0Z2_.js";
5
5
  export {
6
- o as Accordion,
7
- p as AccordionItem,
8
- d as AutocompleteComponent,
9
- f as Avatar,
10
- n as Breadcrumb,
6
+ D as Accordion,
7
+ E as AccordionItem,
8
+ s as AutocompleteComponent,
9
+ u as Avatar,
10
+ C as Breadcrumb,
11
11
  _4 as Button,
12
+ c as Caption,
12
13
  _ as CardComponent,
13
- j as CollapsibleCard,
14
- r as DarkModeToggle,
15
- m as Drawer,
14
+ a as CardWrapper,
15
+ e as Col,
16
+ d as Colgroup,
17
+ y as CollapsibleCard,
18
+ G as DarkModeToggle,
19
+ p as DataTable,
20
+ B as Drawer,
16
21
  a2 as Dropdown,
17
- u as FilterTabs,
22
+ o as ExpandableRow,
23
+ J as FilterTabs,
18
24
  _2 as MenuItem,
19
- b as MobileList,
20
- l as Popover,
21
- c as ResponsiveList,
22
- s as StatsCard,
23
- t as StatsGrid,
25
+ q as MobileList,
26
+ A as Popover,
27
+ r as ResponsiveList,
28
+ H as StatItem,
29
+ I as Stats,
30
+ H2 as StatsCard,
31
+ I2 as StatsGrid,
24
32
  _3 as StatusBadge,
25
- i as Stepper,
26
- h as TabPanel,
27
- e as TableAction,
28
- a as TableComponent,
29
- g as Tabs,
30
- q as Timeline,
31
- k as Tooltip
33
+ x as Stepper,
34
+ w as TabPanel,
35
+ b as Table,
36
+ t as TableAction,
37
+ p2 as TableComponent,
38
+ T as TableContextKey,
39
+ n as TableFooter,
40
+ l as TableHeader,
41
+ m as TableRow,
42
+ v as Tabs,
43
+ g as Tbody,
44
+ k as Td,
45
+ h as Tfoot,
46
+ j as Th,
47
+ f as Thead,
48
+ F as Timeline,
49
+ z as Tooltip,
50
+ i as Tr
32
51
  };
33
52
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
- import { Property } from '../../types';
2
- export type SortDirection = 'asc' | 'desc';
1
+ import { Property } from '../../../types';
2
+ import { SortDirection } from './atoms/Th.vue';
3
3
  type ItemType = {
4
4
  id: number | string;
5
5
  [key: string]: unknown;
@@ -15,7 +15,7 @@ type __VLS_Props = {
15
15
  selectedItems?: Set<string>;
16
16
  /** Filter function to determine if an item is selectable */
17
17
  selectableFilter?: (item: ItemType) => boolean;
18
- /** Key field for unique identification (default: 'id') */
18
+ /** Key field for unique identification */
19
19
  keyField?: string;
20
20
  /** Current sort column */
21
21
  sortBy?: string;
@@ -25,18 +25,53 @@ type __VLS_Props = {
25
25
  loading?: boolean;
26
26
  /** Number of skeleton rows to show when loading */
27
27
  loadingRows?: number;
28
+ /** Whether there is an error to display */
29
+ error?: boolean;
30
+ /** Error message to display (if error slot not provided) */
31
+ errorMessage?: string;
32
+ /** Enable alternating row colors */
33
+ striped?: boolean;
34
+ /** Show cell borders */
35
+ bordered?: boolean;
36
+ /** Enable row hover effect */
37
+ hover?: boolean;
38
+ /** Use compact padding */
39
+ compact?: boolean;
40
+ /** Make header sticky on scroll */
41
+ stickyHeader?: boolean;
42
+ /** Make rows clickable */
43
+ clickableRows?: boolean;
44
+ /** Enable client-side pagination */
45
+ paginated?: boolean;
46
+ /** Number of items per page */
47
+ pageSize?: number;
48
+ /** Available page size options */
49
+ pageSizeOptions?: number[];
50
+ /** Show page size selector */
51
+ showPageSize?: boolean;
52
+ /** Current page (1-indexed, for controlled pagination) */
53
+ currentPage?: number;
54
+ /** Total items (for server-side pagination) */
55
+ totalItems?: number;
28
56
  };
29
57
  declare function __VLS_template(): {
30
58
  attrs: Partial<{}>;
31
59
  slots: Partial<Record<string, (_: {
32
- property: Property;
60
+ column: Property;
33
61
  }) => any>> & Partial<Record<string, (_: {
34
- item: ItemType;
35
- property: Property;
62
+ item: {
63
+ [key: string]: unknown;
64
+ id: number | string;
65
+ };
36
66
  value: unknown;
67
+ column: Property;
37
68
  }) => any>> & {
69
+ error?(_: {}): any;
38
70
  action?(_: {
39
- item: ItemType;
71
+ item: {
72
+ [key: string]: unknown;
73
+ id: number | string;
74
+ };
40
75
  }): any;
41
76
  empty?(_: {}): any;
42
77
  };
@@ -48,15 +83,33 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
48
83
  sort: (column: string, direction: SortDirection) => any;
49
84
  select: (id: string) => any;
50
85
  selectAll: () => any;
86
+ "update:pageSize": (size: number) => any;
87
+ rowClick: (item: ItemType, event: MouseEvent) => any;
88
+ "update:currentPage": (page: number) => any;
51
89
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
52
90
  onSort?: ((column: string, direction: SortDirection) => any) | undefined;
53
91
  onSelect?: ((id: string) => any) | undefined;
54
92
  onSelectAll?: (() => any) | undefined;
93
+ "onUpdate:pageSize"?: ((size: number) => any) | undefined;
94
+ onRowClick?: ((item: ItemType, event: MouseEvent) => any) | undefined;
95
+ "onUpdate:currentPage"?: ((page: number) => any) | undefined;
55
96
  }>, {
56
97
  loading: boolean;
98
+ striped: boolean;
99
+ bordered: boolean;
100
+ hover: boolean;
101
+ compact: boolean;
102
+ stickyHeader: boolean;
103
+ error: boolean;
57
104
  selectable: boolean;
105
+ pageSize: number;
106
+ pageSizeOptions: number[];
107
+ showPageSize: boolean;
58
108
  keyField: string;
59
109
  loadingRows: number;
110
+ errorMessage: string;
111
+ clickableRows: boolean;
112
+ paginated: boolean;
60
113
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
61
114
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
62
115
  export default _default;
@@ -0,0 +1,27 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3-vite';
2
+ import { Table } from './index';
3
+ declare const meta: Meta<typeof Table>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const BasicTable: Story;
7
+ export declare const StripedTable: Story;
8
+ export declare const BorderedTable: Story;
9
+ export declare const CompactTable: Story;
10
+ export declare const SortableHeaders: Story;
11
+ export declare const ClickableRows: Story;
12
+ export declare const SelectableRows: Story;
13
+ export declare const WithFooter: Story;
14
+ export declare const ColumnWidths: Story;
15
+ export declare const TruncatedCells: Story;
16
+ export declare const DisabledRows: Story;
17
+ export declare const ColspanRowspan: Story;
18
+ export declare const MultipleTheadTbody: Story;
19
+ export declare const RowGrouping: Story;
20
+ export declare const WithColgroup: Story;
21
+ export declare const ComplexLayout: Story;
22
+ export declare const WithCaption: Story;
23
+ export declare const CaptionBottom: Story;
24
+ export declare const ScreenReaderOnlyCaption: Story;
25
+ export declare const ExpandableRows: Story;
26
+ export declare const ExpandableRowsControlled: Story;
27
+ export declare const ExpandableRowsOnRowClick: Story;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ type __VLS_Props = {
2
+ /** Position of the caption */
3
+ position?: 'top' | 'bottom';
4
+ /** Visually hide caption but keep for screen readers */
5
+ srOnly?: boolean;
6
+ };
7
+ declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
9
+ slots: {
10
+ default?(_: {}): any;
11
+ };
12
+ refs: {};
13
+ rootEl: any;
14
+ };
15
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
16
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
17
+ position: "top" | "bottom";
18
+ srOnly: boolean;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
21
+ export default _default;
22
+ type __VLS_WithTemplateSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ type __VLS_Props = {
2
+ /** Number of columns to span */
3
+ span?: number | string;
4
+ /** Column width */
5
+ width?: string;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
8
+ export default _default;
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: any;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,46 @@
1
+ import { InjectionKey } from 'vue';
2
+ export interface TableContext {
3
+ striped: boolean;
4
+ bordered: boolean;
5
+ hover: boolean;
6
+ compact: boolean;
7
+ stickyHeader: boolean;
8
+ }
9
+ export declare const TableContextKey: InjectionKey<TableContext>;
10
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
11
+ /** Enable alternating row colors */
12
+ striped?: boolean;
13
+ /** Show cell borders */
14
+ bordered?: boolean;
15
+ /** Enable row hover effect */
16
+ hover?: boolean;
17
+ /** Use compact padding */
18
+ compact?: boolean;
19
+ /** Make header sticky on scroll */
20
+ stickyHeader?: boolean;
21
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
22
+ /** Enable alternating row colors */
23
+ striped?: boolean;
24
+ /** Show cell borders */
25
+ bordered?: boolean;
26
+ /** Enable row hover effect */
27
+ hover?: boolean;
28
+ /** Use compact padding */
29
+ compact?: boolean;
30
+ /** Make header sticky on scroll */
31
+ stickyHeader?: boolean;
32
+ }> & Readonly<{}>, {
33
+ striped: boolean;
34
+ bordered: boolean;
35
+ hover: boolean;
36
+ compact: boolean;
37
+ stickyHeader: boolean;
38
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
39
+ default?(_: {}): any;
40
+ }>;
41
+ export default _default;
42
+ type __VLS_WithTemplateSlots<T, S> = T & {
43
+ new (): {
44
+ $slots: S;
45
+ };
46
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: any;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,43 @@
1
+ type __VLS_Props = {
2
+ /** Text alignment */
3
+ align?: 'left' | 'center' | 'right';
4
+ /** Whether this is the main/primary column */
5
+ main?: boolean;
6
+ /** Additional CSS classes */
7
+ className?: string;
8
+ /** Truncate text with ellipsis */
9
+ truncate?: boolean;
10
+ /** Fixed width (e.g., '200px', '20%') */
11
+ width?: string;
12
+ /** Make this column sticky (for horizontal scroll) */
13
+ sticky?: boolean;
14
+ /** Sticky position from left (for multiple sticky columns) */
15
+ stickyLeft?: string;
16
+ /** Column span */
17
+ colspan?: number | string;
18
+ /** Row span */
19
+ rowspan?: number | string;
20
+ };
21
+ declare function __VLS_template(): {
22
+ attrs: Partial<{}>;
23
+ slots: {
24
+ default?(_: {}): any;
25
+ };
26
+ refs: {};
27
+ rootEl: any;
28
+ };
29
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
30
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
31
+ main: boolean;
32
+ align: "left" | "center" | "right";
33
+ sticky: boolean;
34
+ stickyLeft: string;
35
+ truncate: boolean;
36
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
37
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
38
+ export default _default;
39
+ type __VLS_WithTemplateSlots<T, S> = T & {
40
+ new (): {
41
+ $slots: S;
42
+ };
43
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: any;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,64 @@
1
+ export type SortDirection = 'asc' | 'desc';
2
+ type __VLS_Props = {
3
+ /** Enable sorting for this column */
4
+ sortable?: boolean;
5
+ /** Whether this column is currently sorted */
6
+ sorted?: boolean;
7
+ /** Current sort direction */
8
+ sortDirection?: SortDirection;
9
+ /** Text alignment */
10
+ align?: 'left' | 'center' | 'right';
11
+ /** Fixed width (e.g., '200px', '20%') */
12
+ width?: string;
13
+ /** Minimum width */
14
+ minWidth?: string;
15
+ /** Maximum width */
16
+ maxWidth?: string;
17
+ /** Make this column sticky (for horizontal scroll) */
18
+ sticky?: boolean;
19
+ /** Sticky position from left (for multiple sticky columns) */
20
+ stickyLeft?: string;
21
+ /** Column span */
22
+ colspan?: number | string;
23
+ /** Row span */
24
+ rowspan?: number | string;
25
+ /** Scope attribute for accessibility (col, row, colgroup, rowgroup) */
26
+ scope?: 'col' | 'row' | 'colgroup' | 'rowgroup';
27
+ /** Enable column resizing */
28
+ resizable?: boolean;
29
+ /** Whether this column is currently being resized */
30
+ resizing?: boolean;
31
+ };
32
+ declare function __VLS_template(): {
33
+ attrs: Partial<{}>;
34
+ slots: {
35
+ default?(_: {}): any;
36
+ };
37
+ refs: {};
38
+ rootEl: any;
39
+ };
40
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
41
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
42
+ sort: () => any;
43
+ resizeStart: (event: MouseEvent | TouchEvent) => any;
44
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
45
+ onSort?: (() => any) | undefined;
46
+ onResizeStart?: ((event: MouseEvent | TouchEvent) => any) | undefined;
47
+ }>, {
48
+ sortable: boolean;
49
+ sorted: boolean;
50
+ sortDirection: SortDirection;
51
+ align: "left" | "center" | "right";
52
+ sticky: boolean;
53
+ stickyLeft: string;
54
+ scope: "col" | "row" | "colgroup" | "rowgroup";
55
+ resizable: boolean;
56
+ resizing: boolean;
57
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
58
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
59
+ export default _default;
60
+ type __VLS_WithTemplateSlots<T, S> = T & {
61
+ new (): {
62
+ $slots: S;
63
+ };
64
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: any;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,35 @@
1
+ type __VLS_Props = {
2
+ /** Whether the row is selected */
3
+ selected?: boolean;
4
+ /** Make the row clickable with hover cursor */
5
+ clickable?: boolean;
6
+ /** Disable the row */
7
+ disabled?: boolean;
8
+ /** Whether this is an even row (for striped tables, auto-detected if not provided) */
9
+ even?: boolean;
10
+ };
11
+ declare function __VLS_template(): {
12
+ attrs: Partial<{}>;
13
+ slots: {
14
+ default?(_: {}): any;
15
+ };
16
+ refs: {};
17
+ rootEl: any;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
+ click: (event: MouseEvent) => any;
22
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
23
+ onClick?: ((event: MouseEvent) => any) | undefined;
24
+ }>, {
25
+ clickable: boolean;
26
+ selected: boolean;
27
+ disabled: boolean;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
29
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
30
+ export default _default;
31
+ type __VLS_WithTemplateSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
@@ -0,0 +1,10 @@
1
+ export { default as Table, TableContextKey, type TableContext } from './Table.vue';
2
+ export { default as Caption } from './Caption.vue';
3
+ export { default as Colgroup } from './Colgroup.vue';
4
+ export { default as Col } from './Col.vue';
5
+ export { default as Thead } from './Thead.vue';
6
+ export { default as Tbody } from './Tbody.vue';
7
+ export { default as Tfoot } from './Tfoot.vue';
8
+ export { default as Tr } from './Tr.vue';
9
+ export { default as Th, type SortDirection } from './Th.vue';
10
+ export { default as Td } from './Td.vue';
@@ -0,0 +1,3 @@
1
+ export { Table, TableContextKey, type TableContext, Caption, Colgroup, Col, Thead, Tbody, Tfoot, Tr, Th, type SortDirection, Td, } from './atoms';
2
+ export { TableHeader, TableRow, TableFooter, ExpandableRow } from './molecules';
3
+ export { default as DataTable } from './DataTable.vue';
@@ -0,0 +1,47 @@
1
+ type __VLS_Props = {
2
+ /** Number of columns in the table (for colspan on expanded content) */
3
+ colspan: number;
4
+ /** Whether the row is initially expanded */
5
+ defaultExpanded?: boolean;
6
+ /** Control expanded state externally (use undefined for uncontrolled) */
7
+ expanded?: boolean | undefined;
8
+ /** Whether the row is selected */
9
+ selected?: boolean;
10
+ /** Whether the row is disabled */
11
+ disabled?: boolean;
12
+ /** Whether clicking the row toggles expansion */
13
+ expandOnRowClick?: boolean;
14
+ };
15
+ declare function __VLS_template(): {
16
+ attrs: Partial<{}>;
17
+ slots: {
18
+ row?(_: {}): any;
19
+ expanded?(_: {}): any;
20
+ };
21
+ refs: {};
22
+ rootEl: any;
23
+ };
24
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
25
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
26
+ toggle: () => void;
27
+ isExpanded: import('vue').WritableComputedRef<boolean, boolean>;
28
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
29
+ click: (event: MouseEvent) => any;
30
+ "update:expanded": (value: boolean) => any;
31
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
32
+ onClick?: ((event: MouseEvent) => any) | undefined;
33
+ "onUpdate:expanded"?: ((value: boolean) => any) | undefined;
34
+ }>, {
35
+ selected: boolean;
36
+ disabled: boolean;
37
+ expanded: boolean;
38
+ defaultExpanded: boolean;
39
+ expandOnRowClick: boolean;
40
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
41
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
42
+ export default _default;
43
+ type __VLS_WithTemplateSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -0,0 +1,21 @@
1
+ type __VLS_Props = {
2
+ /** Number of columns to span */
3
+ colSpan?: number;
4
+ };
5
+ declare function __VLS_template(): {
6
+ attrs: Partial<{}>;
7
+ slots: {
8
+ default?(_: {}): any;
9
+ };
10
+ refs: {};
11
+ rootEl: any;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
16
+ export default _default;
17
+ type __VLS_WithTemplateSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };