@bagelink/vue 0.0.1139 → 0.0.1141

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 (37) hide show
  1. package/dist/components/Btn.vue.d.ts.map +1 -1
  2. package/dist/components/DataTable/DataTable.vue.d.ts +31 -0
  3. package/dist/components/DataTable/DataTable.vue.d.ts.map +1 -0
  4. package/dist/components/DataTable/tableTypes.d.ts +35 -0
  5. package/dist/components/DataTable/tableTypes.d.ts.map +1 -0
  6. package/dist/components/DataTable/useSorting.d.ts +7 -0
  7. package/dist/components/DataTable/useSorting.d.ts.map +1 -0
  8. package/dist/components/DataTable/useTableData.d.ts +13 -0
  9. package/dist/components/DataTable/useTableData.d.ts.map +1 -0
  10. package/dist/components/DataTable/useTableSelection.d.ts +10 -0
  11. package/dist/components/DataTable/useTableSelection.d.ts.map +1 -0
  12. package/dist/components/DataTable/useTableVirtualization.d.ts +25 -0
  13. package/dist/components/DataTable/useTableVirtualization.d.ts.map +1 -0
  14. package/dist/components/TableSchema.vue.d.ts +2 -2
  15. package/dist/components/form/BagelForm.vue.d.ts.map +1 -1
  16. package/dist/components/form/inputs/RichText/index.vue.d.ts.map +1 -1
  17. package/dist/components/index.d.ts +2 -1
  18. package/dist/components/index.d.ts.map +1 -1
  19. package/dist/index.cjs +3414 -3328
  20. package/dist/index.mjs +3415 -3329
  21. package/dist/style.css +272 -272
  22. package/dist/types/TableSchema.d.ts +36 -0
  23. package/dist/types/TableSchema.d.ts.map +1 -0
  24. package/package.json +1 -1
  25. package/src/components/Btn.vue +2 -2
  26. package/src/components/{TableSchema.vue → DataTable/DataTable.vue} +62 -154
  27. package/src/components/DataTable/tableTypes.d.ts +0 -0
  28. package/src/components/DataTable/tableTypes.ts +38 -0
  29. package/src/components/DataTable/useSorting.ts +30 -0
  30. package/src/components/DataTable/useTableData.ts +95 -0
  31. package/src/components/DataTable/useTableSelection.ts +45 -0
  32. package/src/components/DataTable/useTableVirtualization.ts +33 -0
  33. package/src/components/Icon/Icon.vue +1 -1
  34. package/src/components/form/BagelForm.vue +5 -12
  35. package/src/components/form/inputs/RichText/index.vue +6 -4
  36. package/src/components/index.ts +3 -2
  37. package/src/types/TableSchema.ts +39 -0
@@ -11,6 +11,8 @@ export { default as Card } from './Card.vue'
11
11
  export { default as Carousel } from './Carousel.vue'
12
12
  export * from './dashboard'
13
13
  export { default as DataPreview } from './DataPreview.vue'
14
+ export { default as DataTable } from './DataTable/DataTable.vue'
15
+ export { default as TableSchema } from './DataTable/DataTable.vue'
14
16
  export { default as Dropdown } from './Dropdown.vue'
15
17
  export { default as FieldSetVue } from './FieldSetVue.vue'
16
18
  export { default as Flag } from './Flag.vue'
@@ -22,8 +24,8 @@ export * from './layout'
22
24
  export { default as ListItem } from './ListItem.vue'
23
25
  export { default as ListView } from './ListView.vue'
24
26
  export { default as Loading } from './Loading.vue'
25
- export { default as MapEmbed } from './MapEmbed.vue'
26
27
 
28
+ export { default as MapEmbed } from './MapEmbed.vue'
27
29
  export { default as Modal } from './Modal.vue'
28
30
  export { default as ModalConfirm } from './ModalConfirm.vue'
29
31
  export { default as ModalForm } from './ModalForm.vue'
@@ -31,7 +33,6 @@ export { default as NavBar } from './NavBar.vue'
31
33
  export { default as PageTitle } from './PageTitle.vue'
32
34
  export { default as Pill } from './Pill.vue'
33
35
  export { default as RouterWrapper } from './RouterWrapper.vue'
34
- export { default as TableSchema } from './TableSchema.vue'
35
36
 
36
37
  export { default as Title } from './Title.vue'
37
38
  export { default as ToolBar } from './ToolBar.vue'
@@ -0,0 +1,39 @@
1
+ import type { BglFormSchemaT } from '@bagelink/vue'
2
+ import type { Ref, ComputedRef } from 'vue'
3
+
4
+ export type SortDirectionsT = 'ASC' | 'DESC'
5
+ export type EmitOrderT = `${string} ${SortDirectionsT}`
6
+
7
+ export interface TableSchemaProps<T extends Record<string, any> = Record<string, any>> {
8
+ data: T[]
9
+ schema?: BglFormSchemaT<T> | (() => BglFormSchemaT<T>)
10
+ showFields?: string[]
11
+ useServerSort?: boolean
12
+ selectable?: boolean
13
+ onLastItemVisible?: () => void
14
+ }
15
+
16
+ export interface SortingOptions<T> {
17
+ onSort: (field: string, direction: SortDirectionsT) => void
18
+ }
19
+
20
+ export interface TableSelectionOptions<T> {
21
+ selectable: boolean | undefined
22
+ selectedItems: { value: string[] }
23
+ onSelect: (item: T) => void
24
+ }
25
+
26
+ export interface TableVirtualizationOptions<T> {
27
+ data: Ref<T[]> | ComputedRef<T[]>
28
+ itemHeight: number
29
+ onLastItemVisible?: () => void
30
+ }
31
+
32
+ export interface TableDataOptions<T> {
33
+ data: Ref<T[]> | ComputedRef<T[]>
34
+ schema?: BglFormSchemaT<T> | (() => BglFormSchemaT<T>)
35
+ showFields?: string[]
36
+ sortField: string
37
+ sortDirection: SortDirectionsT
38
+ useServerSort?: boolean
39
+ }