fuma 1.0.20 → 2.0.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 (195) hide show
  1. package/README.md +1 -1
  2. package/dist/action/list/handlers.d.ts +2 -2
  3. package/dist/action/list/index.d.ts +2 -0
  4. package/dist/action/list/index.js +1 -0
  5. package/dist/action/list/trigger.d.ts +7 -1
  6. package/dist/action/list/trigger.js +2 -2
  7. package/dist/private/Meta.svelte +32 -27
  8. package/dist/private/Meta.svelte.d.ts +29 -17
  9. package/dist/private/api.d.ts +1 -1
  10. package/dist/private/store.d.ts +0 -1
  11. package/dist/server/parseFormData.d.ts +1 -1
  12. package/dist/server/parseQuery.d.ts +1 -1
  13. package/dist/server/sse.d.ts +0 -1
  14. package/dist/store/isSmallScreen.d.ts +0 -1
  15. package/dist/store/param.d.ts +0 -2
  16. package/dist/store/session.d.ts +0 -1
  17. package/dist/ui/badge/Badge.svelte +4 -3
  18. package/dist/ui/badge/Badge.svelte.d.ts +19 -15
  19. package/dist/ui/button/ButtonCopy.svelte +35 -32
  20. package/dist/ui/button/ButtonCopy.svelte.d.ts +23 -21
  21. package/dist/ui/button/ButtonDelete.svelte +23 -21
  22. package/dist/ui/button/ButtonDelete.svelte.d.ts +32 -20
  23. package/dist/ui/card/Card.svelte +13 -10
  24. package/dist/ui/card/Card.svelte.d.ts +39 -24
  25. package/dist/ui/card/CardBasic.svelte +5 -4
  26. package/dist/ui/card/CardBasic.svelte.d.ts +29 -18
  27. package/dist/ui/card/CardCollapse.svelte +35 -31
  28. package/dist/ui/card/CardCollapse.svelte.d.ts +37 -23
  29. package/dist/ui/card/CardFullScreen.svelte +8 -6
  30. package/dist/ui/card/CardFullScreen.svelte.d.ts +35 -20
  31. package/dist/ui/card/CardLink.svelte +5 -4
  32. package/dist/ui/card/CardLink.svelte.d.ts +29 -18
  33. package/dist/ui/dialog/Dialog.svelte +41 -34
  34. package/dist/ui/dialog/Dialog.svelte.d.ts +36 -23
  35. package/dist/ui/dialog/DialogConfirm.svelte +6 -4
  36. package/dist/ui/dialog/DialogConfirm.svelte.d.ts +33 -19
  37. package/dist/ui/drawer/Drawer.svelte +47 -38
  38. package/dist/ui/drawer/Drawer.svelte.d.ts +81 -46
  39. package/dist/ui/drawer/drawerFly.d.ts +0 -1
  40. package/dist/ui/drawer/layers.d.ts +0 -1
  41. package/dist/ui/form/Form.svelte +106 -87
  42. package/dist/ui/form/Form.svelte.d.ts +29 -16
  43. package/dist/ui/form/FormInput.svelte +12 -6
  44. package/dist/ui/form/FormSection.svelte +24 -17
  45. package/dist/ui/form/FormSection.svelte.d.ts +37 -25
  46. package/dist/ui/icon/Icon.svelte +35 -32
  47. package/dist/ui/icon/Icon.svelte.d.ts +25 -21
  48. package/dist/ui/index.d.ts +0 -1
  49. package/dist/ui/index.js +0 -1
  50. package/dist/ui/input/FormControl.svelte +48 -36
  51. package/dist/ui/input/FormControl.svelte.d.ts +32 -30
  52. package/dist/ui/input/InputBoolean.svelte +29 -22
  53. package/dist/ui/input/InputBoolean.svelte.d.ts +43 -35
  54. package/dist/ui/input/InputCheckboxs.svelte +37 -34
  55. package/dist/ui/input/InputCheckboxs.svelte.d.ts +54 -39
  56. package/dist/ui/input/InputCheckboxsMenu.svelte +64 -47
  57. package/dist/ui/input/InputCheckboxsMenu.svelte.d.ts +56 -41
  58. package/dist/ui/input/InputCheckboxsTree.svelte +9 -6
  59. package/dist/ui/input/InputCheckboxsTree.svelte.d.ts +22 -18
  60. package/dist/ui/input/InputCheckboxsTreeNodes.svelte +36 -28
  61. package/dist/ui/input/InputCheckboxsTreeNodes.svelte.d.ts +20 -16
  62. package/dist/ui/input/InputCombo.svelte +76 -65
  63. package/dist/ui/input/InputCombo.svelte.d.ts +55 -39
  64. package/dist/ui/input/InputDate.svelte +36 -29
  65. package/dist/ui/input/InputDate.svelte.d.ts +20 -16
  66. package/dist/ui/input/InputDateTime.svelte +37 -30
  67. package/dist/ui/input/InputDateTime.svelte.d.ts +20 -16
  68. package/dist/ui/input/InputImage.svelte +52 -45
  69. package/dist/ui/input/InputImage.svelte.d.ts +40 -27
  70. package/dist/ui/input/InputImagePreview.svelte +24 -20
  71. package/dist/ui/input/InputImagePreview.svelte.d.ts +25 -21
  72. package/dist/ui/input/InputNumber.svelte +28 -22
  73. package/dist/ui/input/InputNumber.svelte.d.ts +20 -20
  74. package/dist/ui/input/InputOptionInParam.svelte +12 -10
  75. package/dist/ui/input/InputOptionInParam.svelte.d.ts +21 -17
  76. package/dist/ui/input/InputOptions.svelte +40 -34
  77. package/dist/ui/input/InputOptions.svelte.d.ts +19 -15
  78. package/dist/ui/input/InputPassword.svelte +22 -18
  79. package/dist/ui/input/InputPassword.svelte.d.ts +43 -35
  80. package/dist/ui/input/InputRadio.svelte +51 -46
  81. package/dist/ui/input/InputRadio.svelte.d.ts +53 -38
  82. package/dist/ui/input/InputRelation.svelte +129 -112
  83. package/dist/ui/input/InputRelation.svelte.d.ts +39 -53
  84. package/dist/ui/input/InputRelations.svelte +96 -90
  85. package/dist/ui/input/InputRelations.svelte.d.ts +35 -37
  86. package/dist/ui/input/InputSearch.svelte +14 -11
  87. package/dist/ui/input/InputSearch.svelte.d.ts +25 -21
  88. package/dist/ui/input/InputSelect.svelte +59 -46
  89. package/dist/ui/input/InputSelect.svelte.d.ts +23 -19
  90. package/dist/ui/input/InputText.svelte +29 -28
  91. package/dist/ui/input/InputText.svelte.d.ts +41 -28
  92. package/dist/ui/input/InputTextarea.svelte +20 -19
  93. package/dist/ui/input/InputTextarea.svelte.d.ts +20 -20
  94. package/dist/ui/input/InputTime.svelte +43 -36
  95. package/dist/ui/input/InputTime.svelte.d.ts +21 -36
  96. package/dist/ui/input/RelationAfter.svelte +13 -9
  97. package/dist/ui/input/RelationAfter.svelte.d.ts +24 -20
  98. package/dist/ui/input/SelectorList.svelte +16 -12
  99. package/dist/ui/input/SelectorList.svelte.d.ts +29 -20
  100. package/dist/ui/input/textRich/InputTextRich.svelte +63 -59
  101. package/dist/ui/input/textRich/InputTextRich.svelte.d.ts +36 -38
  102. package/dist/ui/input/textRich/SuggesionList.svelte +13 -9
  103. package/dist/ui/input/textRich/SuggesionList.svelte.d.ts +19 -15
  104. package/dist/ui/input/textRich/ToolMark.svelte +12 -9
  105. package/dist/ui/input/textRich/ToolMark.svelte.d.ts +22 -18
  106. package/dist/ui/input/textRich/ToolMarkColor.svelte +16 -12
  107. package/dist/ui/input/textRich/ToolMarkColor.svelte.d.ts +21 -17
  108. package/dist/ui/input/textRich/ToolMarkLink.svelte +46 -38
  109. package/dist/ui/input/textRich/ToolMarkLink.svelte.d.ts +18 -14
  110. package/dist/ui/input/textRich/ToolMenu.svelte +34 -19
  111. package/dist/ui/input/textRich/ToolMenu.svelte.d.ts +30 -26
  112. package/dist/ui/input/textRich/ToolMenuAlign.svelte +13 -9
  113. package/dist/ui/input/textRich/ToolMenuAlign.svelte.d.ts +18 -14
  114. package/dist/ui/input/textRich/ToolMenuInsert.svelte +12 -7
  115. package/dist/ui/input/textRich/ToolMenuInsert.svelte.d.ts +20 -16
  116. package/dist/ui/input/textRich/ToolMenuNode.svelte +14 -10
  117. package/dist/ui/input/textRich/ToolMenuNode.svelte.d.ts +18 -14
  118. package/dist/ui/input/textRich/ToolsBar.svelte +21 -14
  119. package/dist/ui/input/textRich/ToolsBar.svelte.d.ts +19 -17
  120. package/dist/ui/input/textRich/suggestion.d.ts +0 -1
  121. package/dist/ui/login/Login.svelte +37 -31
  122. package/dist/ui/login/Login.svelte.d.ts +18 -14
  123. package/dist/ui/menu/ContextMenu.svelte +37 -31
  124. package/dist/ui/menu/ContextMenu.svelte.d.ts +38 -25
  125. package/dist/ui/menu/DropDown.svelte +92 -83
  126. package/dist/ui/menu/DropDown.svelte.d.ts +46 -33
  127. package/dist/ui/menu/DropDownMenu.svelte +25 -18
  128. package/dist/ui/menu/DropDownMenu.svelte.d.ts +30 -19
  129. package/dist/ui/mode/ToggleMode.svelte +28 -16
  130. package/dist/ui/mode/ToggleMode.svelte.d.ts +34 -17
  131. package/dist/ui/pagination/Pagination.svelte +9 -8
  132. package/dist/ui/pagination/Pagination.svelte.d.ts +18 -14
  133. package/dist/ui/placeholder/Placeholder.svelte +4 -3
  134. package/dist/ui/placeholder/Placeholder.svelte.d.ts +28 -17
  135. package/dist/ui/placeholder/PlaceholderImage.svelte +6 -4
  136. package/dist/ui/placeholder/PlaceholderImage.svelte.d.ts +28 -17
  137. package/dist/ui/range/RangePicker.svelte +76 -63
  138. package/dist/ui/range/RangePicker.svelte.d.ts +29 -24
  139. package/dist/ui/range/RangePickerButton.svelte +43 -35
  140. package/dist/ui/range/RangePickerButton.svelte.d.ts +21 -17
  141. package/dist/ui/table/Table.svelte +35 -28
  142. package/dist/ui/table/Table.svelte.d.ts +24 -19
  143. package/dist/ui/table/TableBody.svelte +18 -12
  144. package/dist/ui/table/TableBody.svelte.d.ts +20 -15
  145. package/dist/ui/table/TableCell.svelte +13 -10
  146. package/dist/ui/table/TableCell.svelte.d.ts +19 -14
  147. package/dist/ui/table/TableFieldsEdition.svelte +58 -52
  148. package/dist/ui/table/TableFieldsEdition.svelte.d.ts +20 -15
  149. package/dist/ui/table/TableHead.svelte +20 -21
  150. package/dist/ui/table/TableHead.svelte.d.ts +19 -14
  151. package/dist/ui/table/TableViewSelect.svelte +50 -37
  152. package/dist/ui/table/TableViewSelect.svelte.d.ts +27 -23
  153. package/dist/ui/table/cell/TableCellArray.svelte +5 -3
  154. package/dist/ui/table/cell/TableCellArray.svelte.d.ts +18 -14
  155. package/dist/ui/table/cell/TableCellBoolean.svelte +4 -3
  156. package/dist/ui/table/cell/TableCellBoolean.svelte.d.ts +18 -14
  157. package/dist/ui/table/cell/TableCellNumber.svelte +2 -1
  158. package/dist/ui/table/cell/TableCellNumber.svelte.d.ts +18 -14
  159. package/dist/ui/table/cell/TableCellString.svelte +5 -2
  160. package/dist/ui/table/cell/TableCellString.svelte.d.ts +19 -25
  161. package/dist/ui/table/field.d.ts +32 -40
  162. package/dist/ui/table/field.js +1 -1
  163. package/dist/ui/table/head/TableHeadBoolean.svelte +6 -3
  164. package/dist/ui/table/head/TableHeadBoolean.svelte.d.ts +18 -24
  165. package/dist/ui/table/head/TableHeadDate.svelte +61 -113
  166. package/dist/ui/table/head/TableHeadDate.svelte.d.ts +18 -24
  167. package/dist/ui/table/head/TableHeadDefault.svelte +5 -2
  168. package/dist/ui/table/head/TableHeadDefault.svelte.d.ts +18 -24
  169. package/dist/ui/table/head/TableHeadNumber.svelte +67 -76
  170. package/dist/ui/table/head/TableHeadNumber.svelte.d.ts +18 -24
  171. package/dist/ui/table/head/TableHeadSelect.svelte +47 -41
  172. package/dist/ui/table/head/TableHeadSelect.svelte.d.ts +21 -27
  173. package/dist/ui/table/head/TableHeadString.svelte +14 -8
  174. package/dist/ui/table/head/TableHeadString.svelte.d.ts +18 -24
  175. package/dist/ui/tabs/Tabs.svelte +8 -5
  176. package/dist/ui/tabs/Tabs.svelte.d.ts +19 -15
  177. package/dist/ui/tabs/TabsIcon.svelte +31 -28
  178. package/dist/ui/tabs/TabsIcon.svelte.d.ts +21 -17
  179. package/dist/utils/eventEmitter.d.ts +4 -4
  180. package/dist/utils/tippy.d.ts +1 -1
  181. package/dist/validation/form.d.ts +0 -1
  182. package/dist/validation/zod.d.ts +96 -162
  183. package/dist/validation/zod.js +2 -4
  184. package/package.json +134 -138
  185. package/dist/ui/form/FormInput.svelte.d.ts +0 -152
  186. package/dist/ui/form/formInput.d.ts +0 -90
  187. package/dist/ui/slot/Slot.svelte +0 -35
  188. package/dist/ui/slot/Slot.svelte.d.ts +0 -22
  189. package/dist/ui/slot/Span.svelte +0 -4
  190. package/dist/ui/slot/Span.svelte.d.ts +0 -16
  191. package/dist/ui/slot/index.d.ts +0 -1
  192. package/dist/ui/slot/index.js +0 -1
  193. package/dist/ui/table/head/OrderButtons.svelte +0 -37
  194. package/dist/ui/table/head/OrderButtons.svelte.d.ts +0 -20
  195. package/dist/ui/table/head/index.d.ts +0 -19
@@ -1,31 +1,38 @@
1
- <script generics="Item extends {id: string}">import { afterNavigate } from "$app/navigation";
2
- import { Placeholder } from "../placeholder/index.js";
3
- import {
4
- TableHead,
5
- TableBody,
6
- context,
7
- createKeys,
8
- syncFieldsWithParams
9
- } from "./index.js";
10
- export let key = "table";
11
- export let fields;
12
- export let items;
13
- export let slotAction = void 0;
14
- export let placholder = "Aucun \xE9l\xE9ment trouv\xE9";
15
- let klass = "";
16
- export { klass as class };
17
- export let classRow = "";
18
- export let hideBody = false;
19
- export let onCreateField = void 0;
20
- const { KEY_FIELDS_VISIBLE, KEY_FIELDS_HIDDEN, KEY_FIELDS_ORDER } = createKeys(key);
21
- context.set(key, {
22
- KEY_FIELDS_VISIBLE,
23
- KEY_FIELDS_HIDDEN,
24
- KEY_FIELDS_ORDER
25
- });
26
- const initFields = () => fields = syncFieldsWithParams(key, fields);
27
- initFields();
28
- afterNavigate(initFields);
1
+ <script lang="ts" generics="Item extends {id: string}">
2
+ import { afterNavigate } from '$app/navigation'
3
+ import { Placeholder } from '../placeholder/index.js'
4
+ import type { ComponentAndProps } from '../../utils/component.js'
5
+
6
+ import {
7
+ type TableField,
8
+ TableHead,
9
+ TableBody,
10
+ context,
11
+ createKeys,
12
+ syncFieldsWithParams
13
+ } from './index.js'
14
+
15
+ export let key = 'table'
16
+ export let fields: TableField<Item>[]
17
+ export let items: Item[]
18
+ export let slotAction: ((item: Item) => ComponentAndProps) | undefined = undefined
19
+ export let placholder = 'Aucun élément trouvé'
20
+ let klass = ''
21
+ export {klass as class}
22
+ export let classRow = ''
23
+ export let hideBody = false
24
+ export let onCreateField: (() => void) | undefined = undefined
25
+
26
+ const { KEY_FIELDS_VISIBLE, KEY_FIELDS_HIDDEN, KEY_FIELDS_ORDER } = createKeys(key)
27
+ context.set(key, {
28
+ KEY_FIELDS_VISIBLE,
29
+ KEY_FIELDS_HIDDEN,
30
+ KEY_FIELDS_ORDER
31
+ })
32
+
33
+ const initFields = () => (fields = syncFieldsWithParams(key, fields))
34
+ initFields()
35
+ afterNavigate(initFields)
29
36
  </script>
30
37
 
31
38
  <div class="{klass} overflow-x-auto rounded-lg border bg-base-100" class:min-h-[320px]={!hideBody}>
@@ -1,18 +1,17 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { ComponentAndProps } from '../../utils/component.js';
3
2
  import { type TableField } from './index.js';
4
3
  declare class __sveltets_Render<Item extends {
5
4
  id: string;
6
5
  }> {
7
6
  props(): {
8
- key?: string | undefined;
7
+ key?: string;
9
8
  fields: TableField<Item>[];
10
9
  items: Item[];
11
10
  slotAction?: ((item: Item) => ComponentAndProps) | undefined;
12
- placholder?: string | undefined;
13
- class?: string | undefined;
14
- classRow?: string | undefined;
15
- hideBody?: boolean | undefined;
11
+ placholder?: string;
12
+ class?: string;
13
+ classRow?: string;
14
+ hideBody?: boolean;
16
15
  onCreateField?: (() => void) | undefined;
17
16
  };
18
17
  events(): {
@@ -23,18 +22,24 @@ declare class __sveltets_Render<Item extends {
23
22
  [evt: string]: CustomEvent<any>;
24
23
  };
25
24
  slots(): {};
25
+ bindings(): string;
26
+ exports(): {};
26
27
  }
27
- export type TableProps<Item extends {
28
- id: string;
29
- }> = ReturnType<__sveltets_Render<Item>['props']>;
30
- export type TableEvents<Item extends {
31
- id: string;
32
- }> = ReturnType<__sveltets_Render<Item>['events']>;
33
- export type TableSlots<Item extends {
34
- id: string;
35
- }> = ReturnType<__sveltets_Render<Item>['slots']>;
36
- export default class Table<Item extends {
37
- id: string;
38
- }> extends SvelteComponent<TableProps<Item>, TableEvents<Item>, TableSlots<Item>> {
28
+ interface $$IsomorphicComponent {
29
+ new <Item extends {
30
+ id: string;
31
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
32
+ $$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
33
+ } & ReturnType<__sveltets_Render<Item>['exports']>;
34
+ <Item extends {
35
+ id: string;
36
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
37
+ $$events?: ReturnType<__sveltets_Render<Item>['events']>;
38
+ }): ReturnType<__sveltets_Render<Item>['exports']>;
39
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
39
40
  }
40
- export {};
41
+ declare const Table: $$IsomorphicComponent;
42
+ type Table<Item extends {
43
+ id: string;
44
+ }> = InstanceType<typeof Table<Item>>;
45
+ export default Table;
@@ -1,15 +1,21 @@
1
- <script generics="Item extends {id: string}">import { createEventDispatcher } from "svelte";
2
- import { TableCell } from "./index.js";
3
- export let items;
4
- export let fields;
5
- export let action = void 0;
6
- export let classRow = "";
7
- const dispatch = createEventDispatcher();
8
- $:
9
- _fields = fields.filter((f) => f._visible);
10
- function handleClickRow(event, item) {
11
- dispatch("click", item);
12
- }
1
+ <script lang="ts" generics="Item extends {id: string}">
2
+ import { createEventDispatcher } from 'svelte'
3
+
4
+ import { TableCell, type TableField } from './index.js'
5
+ import type { ComponentAndProps } from '../../utils/component.js'
6
+
7
+ export let items: Item[]
8
+ export let fields: TableField<Item>[]
9
+ export let action: ((item: Item) => ComponentAndProps) | undefined = undefined
10
+ export let classRow = ''
11
+
12
+ const dispatch = createEventDispatcher<{ click: Item }>()
13
+
14
+ $: _fields = fields.filter((f) => f.$visible)
15
+
16
+ function handleClickRow(event: MouseEvent, item: Item) {
17
+ dispatch('click', item)
18
+ }
13
19
  </script>
14
20
 
15
21
  <tbody>
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import { type TableField } from './index.js';
3
2
  import type { ComponentAndProps } from '../../utils/component.js';
4
3
  declare class __sveltets_Render<Item extends {
@@ -8,7 +7,7 @@ declare class __sveltets_Render<Item extends {
8
7
  items: Item[];
9
8
  fields: TableField<Item>[];
10
9
  action?: ((item: Item) => ComponentAndProps) | undefined;
11
- classRow?: string | undefined;
10
+ classRow?: string;
12
11
  };
13
12
  events(): {
14
13
  click: CustomEvent<Item>;
@@ -16,18 +15,24 @@ declare class __sveltets_Render<Item extends {
16
15
  [evt: string]: CustomEvent<any>;
17
16
  };
18
17
  slots(): {};
18
+ bindings(): string;
19
+ exports(): {};
19
20
  }
20
- export type TableBodyProps<Item extends {
21
- id: string;
22
- }> = ReturnType<__sveltets_Render<Item>['props']>;
23
- export type TableBodyEvents<Item extends {
24
- id: string;
25
- }> = ReturnType<__sveltets_Render<Item>['events']>;
26
- export type TableBodySlots<Item extends {
27
- id: string;
28
- }> = ReturnType<__sveltets_Render<Item>['slots']>;
29
- export default class TableBody<Item extends {
30
- id: string;
31
- }> extends SvelteComponent<TableBodyProps<Item>, TableBodyEvents<Item>, TableBodySlots<Item>> {
21
+ interface $$IsomorphicComponent {
22
+ new <Item extends {
23
+ id: string;
24
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
25
+ $$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
26
+ } & ReturnType<__sveltets_Render<Item>['exports']>;
27
+ <Item extends {
28
+ id: string;
29
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
30
+ $$events?: ReturnType<__sveltets_Render<Item>['events']>;
31
+ }): ReturnType<__sveltets_Render<Item>['exports']>;
32
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
32
33
  }
33
- export {};
34
+ declare const TableBody: $$IsomorphicComponent;
35
+ type TableBody<Item extends {
36
+ id: string;
37
+ }> = InstanceType<typeof TableBody<Item>>;
38
+ export default TableBody;
@@ -1,13 +1,16 @@
1
- <script generics="Item extends {id: string}">import {
2
- TableCellArray,
3
- TableCellBoolean,
4
- TableCellNumber,
5
- TableCellString
6
- } from "./cell/index.js";
7
- export let item;
8
- export let field;
9
- $:
10
- value = field.getCell(item);
1
+ <script lang="ts" generics="Item extends {id: string}">
2
+ import {
3
+ TableCellArray,
4
+ TableCellBoolean,
5
+ TableCellNumber,
6
+ TableCellString
7
+ } from './cell/index.js'
8
+ import type { TableField } from './index.js'
9
+
10
+ export let item: Item
11
+ export let field: TableField<Item>
12
+
13
+ $: value = field.getCell(item)
11
14
  </script>
12
15
 
13
16
  {#if Array.isArray(value)}
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { TableField } from './index.js';
3
2
  declare class __sveltets_Render<Item extends {
4
3
  id: string;
@@ -11,18 +10,24 @@ declare class __sveltets_Render<Item extends {
11
10
  [evt: string]: CustomEvent<any>;
12
11
  };
13
12
  slots(): {};
13
+ bindings(): string;
14
+ exports(): {};
14
15
  }
15
- export type TableCellProps<Item extends {
16
- id: string;
17
- }> = ReturnType<__sveltets_Render<Item>['props']>;
18
- export type TableCellEvents<Item extends {
19
- id: string;
20
- }> = ReturnType<__sveltets_Render<Item>['events']>;
21
- export type TableCellSlots<Item extends {
22
- id: string;
23
- }> = ReturnType<__sveltets_Render<Item>['slots']>;
24
- export default class TableCell<Item extends {
25
- id: string;
26
- }> extends SvelteComponent<TableCellProps<Item>, TableCellEvents<Item>, TableCellSlots<Item>> {
16
+ interface $$IsomorphicComponent {
17
+ new <Item extends {
18
+ id: string;
19
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
20
+ $$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
21
+ } & ReturnType<__sveltets_Render<Item>['exports']>;
22
+ <Item extends {
23
+ id: string;
24
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
25
+ $$events?: ReturnType<__sveltets_Render<Item>['events']>;
26
+ }): ReturnType<__sveltets_Render<Item>['exports']>;
27
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
27
28
  }
28
- export {};
29
+ declare const TableCell: $$IsomorphicComponent;
30
+ type TableCell<Item extends {
31
+ id: string;
32
+ }> = InstanceType<typeof TableCell<Item>>;
33
+ export default TableCell;
@@ -1,54 +1,60 @@
1
- <script generics="Item extends {id: string}">import {
2
- mdiCheck,
3
- mdiCheckCircleOutline,
4
- mdiCircleSmall,
5
- mdiDotsHorizontal,
6
- mdiDrag,
7
- mdiPlus
8
- } from "@mdi/js";
9
- import { goto } from "$app/navigation";
10
- import { page } from "$app/stores";
11
- import { urlParam } from "../../store/param.js";
12
- import { listEditable } from "../../action/list/index.js";
13
- import { jsonParse } from "../../utils/jsonParse.js";
14
- import { context } from "./context.js";
15
- import { Icon } from "../icon/index.js";
16
- import { DropDown } from "../menu/index.js";
17
- export let fields;
18
- export let key;
19
- export let onCreateField = void 0;
20
- let tip;
21
- const { KEY_FIELDS_VISIBLE, KEY_FIELDS_HIDDEN, KEY_FIELDS_ORDER } = context.get(key);
22
- function getFieldHref(field) {
23
- if (field.locked)
24
- return;
25
- const url = toggleParam(field.visible ? KEY_FIELDS_HIDDEN : KEY_FIELDS_VISIBLE, field.key);
26
- if (url.searchParams.has(field.key)) {
27
- url.searchParams.delete(field.key);
28
- url.searchParams.delete("skip");
29
- url.searchParams.delete("take");
30
- }
31
- return url.pathname + url.search;
32
- }
33
- function toggleParam(paramKey, fieldKey) {
34
- const url = new URL($page.url);
35
- const fieldsKeys = jsonParse($page.url.searchParams.get(paramKey), []);
36
- if (!fieldsKeys.includes(fieldKey))
37
- fieldsKeys.push(fieldKey);
38
- else
39
- fieldsKeys.splice(fieldsKeys.indexOf(fieldKey), 1);
40
- if (fieldsKeys.length)
41
- url.searchParams.set(paramKey, JSON.stringify(fieldsKeys));
42
- else
43
- url.searchParams.delete(paramKey);
44
- return url;
45
- }
46
- function handleReorder(newFieldsOrder) {
47
- fields = newFieldsOrder;
48
- const fieldsOrder = fields.map((f) => f.key);
49
- const newUrl = $urlParam.with({ [KEY_FIELDS_ORDER]: JSON.stringify(fieldsOrder) });
50
- goto(newUrl, { replaceState: true, noScroll: true, keepFocus: true });
51
- }
1
+ <script lang="ts" generics="Item extends {id: string}">
2
+ import {
3
+ mdiCheck,
4
+ mdiCheckCircleOutline,
5
+ mdiCircleSmall,
6
+ mdiDotsHorizontal,
7
+ mdiDrag,
8
+ mdiPlus
9
+ } from '@mdi/js'
10
+ import type { TippyInstance } from '../../utils/tippy.js'
11
+ import { goto } from '$app/navigation'
12
+ import { page } from '$app/stores'
13
+ import { urlParam } from '../../store/param.js'
14
+ import { listEditable } from '../../action/list/index.js'
15
+ import { jsonParse } from '../../utils/jsonParse.js'
16
+ import { context } from './context.js'
17
+ import { Icon } from '../icon/index.js'
18
+ import { DropDown } from '../menu/index.js'
19
+ import type { TableField } from './index.js'
20
+
21
+ export let fields: TableField<Item>[]
22
+ export let key: string
23
+ export let onCreateField: (() => void) | undefined = undefined
24
+
25
+ let tip: TippyInstance
26
+
27
+ const { KEY_FIELDS_VISIBLE, KEY_FIELDS_HIDDEN, KEY_FIELDS_ORDER } = context.get(key)
28
+
29
+ function getFieldHref(field: TableField) {
30
+ if (field.locked) return
31
+ const url = toggleParam(field.visible ? KEY_FIELDS_HIDDEN : KEY_FIELDS_VISIBLE, field.key)
32
+ if (url.searchParams.has(field.key)) {
33
+ url.searchParams.delete(field.key)
34
+ url.searchParams.delete('skip')
35
+ url.searchParams.delete('take')
36
+ }
37
+ return url.pathname + url.search
38
+ }
39
+
40
+ function toggleParam(paramKey: string, fieldKey: string): URL {
41
+ const url = new URL($page.url)
42
+ const fieldsKeys = jsonParse<string[]>($page.url.searchParams.get(paramKey), [])
43
+ if (!fieldsKeys.includes(fieldKey)) fieldsKeys.push(fieldKey)
44
+ else fieldsKeys.splice(fieldsKeys.indexOf(fieldKey), 1)
45
+
46
+ if (fieldsKeys.length) url.searchParams.set(paramKey, JSON.stringify(fieldsKeys))
47
+ else url.searchParams.delete(paramKey)
48
+
49
+ return url
50
+ }
51
+
52
+ function handleReorder(newFieldsOrder: TableField<Item>[]) {
53
+ fields = newFieldsOrder
54
+ const fieldsOrder = fields.map((f) => f.key)
55
+ const newUrl = $urlParam.with({ [KEY_FIELDS_ORDER]: JSON.stringify(fieldsOrder) })
56
+ goto(newUrl, { replaceState: true, noScroll: true, keepFocus: true })
57
+ }
52
58
  </script>
53
59
 
54
60
  <th class="sticky right-0 z-10 p-0 px-1" align="right">
@@ -100,7 +106,7 @@ function handleReorder(newFieldsOrder) {
100
106
  <Icon path={mdiCheck} class="fill-base-content/50" size={21} />
101
107
  {:else if $urlParam.has(field.key)}
102
108
  <Icon path={mdiCheckCircleOutline} class="fill-primary" size={21} />
103
- {:else if field._visible}
109
+ {:else if field.$visible}
104
110
  <Icon path={mdiCheck} class="fill-success" size={21} />
105
111
  {:else}
106
112
  <Icon path={mdiCircleSmall} class="fill-base-content/50" size={21} />
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { TableField } from './index.js';
3
2
  declare class __sveltets_Render<Item extends {
4
3
  id: string;
@@ -9,23 +8,29 @@ declare class __sveltets_Render<Item extends {
9
8
  onCreateField?: (() => void) | undefined;
10
9
  };
11
10
  events(): {
12
- click: MouseEvent;
11
+ click: PointerEvent;
13
12
  } & {
14
13
  [evt: string]: CustomEvent<any>;
15
14
  };
16
15
  slots(): {};
16
+ bindings(): string;
17
+ exports(): {};
17
18
  }
18
- export type TableFieldsEditionProps<Item extends {
19
- id: string;
20
- }> = ReturnType<__sveltets_Render<Item>['props']>;
21
- export type TableFieldsEditionEvents<Item extends {
22
- id: string;
23
- }> = ReturnType<__sveltets_Render<Item>['events']>;
24
- export type TableFieldsEditionSlots<Item extends {
25
- id: string;
26
- }> = ReturnType<__sveltets_Render<Item>['slots']>;
27
- export default class TableFieldsEdition<Item extends {
28
- id: string;
29
- }> extends SvelteComponent<TableFieldsEditionProps<Item>, TableFieldsEditionEvents<Item>, TableFieldsEditionSlots<Item>> {
19
+ interface $$IsomorphicComponent {
20
+ new <Item extends {
21
+ id: string;
22
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
23
+ $$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
24
+ } & ReturnType<__sveltets_Render<Item>['exports']>;
25
+ <Item extends {
26
+ id: string;
27
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
28
+ $$events?: ReturnType<__sveltets_Render<Item>['events']>;
29
+ }): ReturnType<__sveltets_Render<Item>['exports']>;
30
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
30
31
  }
31
- export {};
32
+ declare const TableFieldsEdition: $$IsomorphicComponent;
33
+ type TableFieldsEdition<Item extends {
34
+ id: string;
35
+ }> = InstanceType<typeof TableFieldsEdition<Item>>;
36
+ export default TableFieldsEdition;
@@ -1,28 +1,27 @@
1
- <script generics="Item extends {id: string}">import { component } from "../../utils/component.js";
2
- import { TableFieldsEdition } from "./index.js";
3
- import { tableHeadComponent } from "./head/index.js";
4
- import TableHeadDefault from "./head/TableHeadDefault.svelte";
5
- export let fields;
6
- export let key;
7
- export let onCreateField = void 0;
8
- function getComponent(field) {
9
- if (field.type === "select" || field.type === "multiselect")
10
- return tableHeadComponent(field.type, { options: field.options || [] })(field);
11
- if (field.type)
12
- return tableHeadComponent(field.type, {})(field);
13
- if (!field.head)
14
- return component(TableHeadDefault, { field });
15
- if (typeof field.head === "function")
16
- return field.head(field);
17
- if (typeof field.head === "string")
18
- return tableHeadComponent(field.head, {})(field);
19
- return field.head;
20
- }
1
+ <script lang="ts" generics="Item extends {id: string}">
2
+ import { component, type ComponentAndProps } from '../../utils/component.js'
3
+ import { type TableField, TableFieldsEdition } from './index.js'
4
+ import { tableHeadComponent } from './head/index.js'
5
+ import TableHeadDefault from './head/TableHeadDefault.svelte'
6
+
7
+ export let fields: TableField<Item>[]
8
+ export let key: string
9
+ export let onCreateField: (() => void) | undefined = undefined
10
+
11
+ function getComponent(field: TableField): ComponentAndProps {
12
+ if (field.type === 'select' || field.type === 'multiselect')
13
+ return tableHeadComponent(field.type, { options: field.options || [] })(field)
14
+ if (field.type) return tableHeadComponent(field.type, {})(field)
15
+ if (!field.head) return component(TableHeadDefault, { field })
16
+ if (typeof field.head === 'function') return field.head(field)
17
+ if (typeof field.head === 'string') return tableHeadComponent(field.head, {})(field)
18
+ return field.head
19
+ }
21
20
  </script>
22
21
 
23
22
  <thead>
24
23
  <tr class="shadow">
25
- {#each fields.filter((f) => f._visible) as field (field.key)}
24
+ {#each fields.filter((f) => f.$visible) as field (field.key)}
26
25
  {@const { component, props } = getComponent(field)}
27
26
  <svelte:component this={component} {...props} />
28
27
  {/each}
@@ -1,4 +1,3 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import { type TableField } from './index.js';
3
2
  declare class __sveltets_Render<Item extends {
4
3
  id: string;
@@ -12,18 +11,24 @@ declare class __sveltets_Render<Item extends {
12
11
  [evt: string]: CustomEvent<any>;
13
12
  };
14
13
  slots(): {};
14
+ bindings(): string;
15
+ exports(): {};
15
16
  }
16
- export type TableHeadProps<Item extends {
17
- id: string;
18
- }> = ReturnType<__sveltets_Render<Item>['props']>;
19
- export type TableHeadEvents<Item extends {
20
- id: string;
21
- }> = ReturnType<__sveltets_Render<Item>['events']>;
22
- export type TableHeadSlots<Item extends {
23
- id: string;
24
- }> = ReturnType<__sveltets_Render<Item>['slots']>;
25
- export default class TableHead<Item extends {
26
- id: string;
27
- }> extends SvelteComponent<TableHeadProps<Item>, TableHeadEvents<Item>, TableHeadSlots<Item>> {
17
+ interface $$IsomorphicComponent {
18
+ new <Item extends {
19
+ id: string;
20
+ }>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
21
+ $$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
22
+ } & ReturnType<__sveltets_Render<Item>['exports']>;
23
+ <Item extends {
24
+ id: string;
25
+ }>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
26
+ $$events?: ReturnType<__sveltets_Render<Item>['events']>;
27
+ }): ReturnType<__sveltets_Render<Item>['exports']>;
28
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
28
29
  }
29
- export {};
30
+ declare const TableHead: $$IsomorphicComponent;
31
+ type TableHead<Item extends {
32
+ id: string;
33
+ }> = InstanceType<typeof TableHead<Item>>;
34
+ export default TableHead;