mountain-ui 1.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 (164) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +139 -0
  3. package/index.js +36 -0
  4. package/package.json +79 -0
  5. package/src/app.html +12 -0
  6. package/src/lib/assets/favicon.svg +1 -0
  7. package/src/lib/registry/entityRegistry/components/EntityButton.svelte +14 -0
  8. package/src/lib/registry/entityRegistry/components/EntityCard.svelte +64 -0
  9. package/src/lib/registry/entityRegistry/components/EntityForm.svelte +98 -0
  10. package/src/lib/registry/entityRegistry/components/FieldButton copy.svelte +41 -0
  11. package/src/lib/registry/entityRegistry/components/FieldButton.svelte +41 -0
  12. package/src/lib/registry/entityRegistry/components/FieldCard.svelte +60 -0
  13. package/src/lib/registry/entityRegistry/components/FieldIcon.svelte +21 -0
  14. package/src/lib/registry/entityRegistry/components/FieldInput.svelte +23 -0
  15. package/src/lib/registry/entityRegistry/components/FieldIsRequiredIcon.svelte +22 -0
  16. package/src/lib/registry/entityRegistry/components/FieldIsSecretIcon.svelte +19 -0
  17. package/src/lib/registry/entityRegistry/components/FieldIsUniqueIcon.svelte +21 -0
  18. package/src/lib/registry/entityRegistry/components/FormCtx.svelte +7 -0
  19. package/src/lib/registry/entityRegistry/components/LinkIcon.svelte +20 -0
  20. package/src/lib/registry/entityRegistry/createEntity.js +40 -0
  21. package/src/lib/registry/entityRegistry/registry.svelte.js +140 -0
  22. package/src/lib/registry/fieldTypeRegistry/components/FieldTypeButton.svelte +12 -0
  23. package/src/lib/registry/fieldTypeRegistry/components/FieldTypeCard.svelte +11 -0
  24. package/src/lib/registry/fieldTypeRegistry/components/FieldTypeIcon.svelte +11 -0
  25. package/src/lib/registry/fieldTypeRegistry/components/FieldTypeInput.svelte +11 -0
  26. package/src/lib/registry/fieldTypeRegistry/components/Label.svelte +28 -0
  27. package/src/lib/registry/fieldTypeRegistry/components/Line.svelte +31 -0
  28. package/src/lib/registry/fieldTypeRegistry/createFieldType.js +34 -0
  29. package/src/lib/registry/fieldTypeRegistry/fieldTypes/FieldTypeButton.svelte +10 -0
  30. package/src/lib/registry/fieldTypeRegistry/fieldTypes/FieldTypeCard.svelte +41 -0
  31. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Lines/Button.svelte +10 -0
  32. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Lines/Card.svelte +6 -0
  33. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Lines/Icon.svelte +5 -0
  34. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Lines/Input.svelte +150 -0
  35. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Lines/index.js +37 -0
  36. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Link/Button.svelte +10 -0
  37. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Link/Card.svelte +6 -0
  38. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Link/Icon.svelte +4 -0
  39. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Link/Input/Input.svelte +106 -0
  40. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Link/Input/LinkCard.svelte +49 -0
  41. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Link/Input/LinkCardSelection.svelte +65 -0
  42. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Link/Input/utils.js +25 -0
  43. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Link/index.js +37 -0
  44. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Primary/Button.svelte +10 -0
  45. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Primary/Card.svelte +6 -0
  46. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Primary/Icon.svelte +5 -0
  47. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Primary/index.js +36 -0
  48. package/src/lib/registry/fieldTypeRegistry/fieldTypes/calculation/CalculationColumn/Button.svelte +8 -0
  49. package/src/lib/registry/fieldTypeRegistry/fieldTypes/calculation/CalculationColumn/Card.svelte +6 -0
  50. package/src/lib/registry/fieldTypeRegistry/fieldTypes/calculation/CalculationColumn/Icon.svelte +9 -0
  51. package/src/lib/registry/fieldTypeRegistry/fieldTypes/calculation/CalculationColumn/Input.svelte +153 -0
  52. package/src/lib/registry/fieldTypeRegistry/fieldTypes/calculation/CalculationColumn/index.js +37 -0
  53. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListCheckbox/Button.svelte +8 -0
  54. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListCheckbox/Card.svelte +6 -0
  55. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListCheckbox/Icon.svelte +4 -0
  56. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListCheckbox/Input.svelte +88 -0
  57. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListCheckbox/index.js +39 -0
  58. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListRadio/Button.svelte +8 -0
  59. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListRadio/Card.svelte +6 -0
  60. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListRadio/Icon.svelte +4 -0
  61. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListRadio/Input.svelte +95 -0
  62. package/src/lib/registry/fieldTypeRegistry/fieldTypes/list/ListRadio/index.js +44 -0
  63. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/NumberInt/Button.svelte +8 -0
  64. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/NumberInt/Card.svelte +6 -0
  65. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/NumberInt/Icon.svelte +5 -0
  66. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/NumberInt/Input.svelte +16 -0
  67. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/NumberInt/index.js +41 -0
  68. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/FieldTypeInputFloat.svelte +55 -0
  69. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatDefault/Button.svelte +8 -0
  70. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatDefault/Card.svelte +6 -0
  71. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatDefault/Icon.svelte +7 -0
  72. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatDefault/Input.svelte +14 -0
  73. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatDefault/index.js +41 -0
  74. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPercent/Button.svelte +8 -0
  75. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPercent/Card.svelte +6 -0
  76. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPercent/Icon.svelte +6 -0
  77. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPercent/Input.svelte +15 -0
  78. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPercent/index.js +41 -0
  79. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPrice/Button.svelte +8 -0
  80. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPrice/Card.svelte +6 -0
  81. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPrice/Icon.svelte +5 -0
  82. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPrice/Input.svelte +15 -0
  83. package/src/lib/registry/fieldTypeRegistry/fieldTypes/number/float/NumberFloatPrice/index.js +41 -0
  84. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/TextTextarea/Button.svelte +8 -0
  85. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/TextTextarea/Card.svelte +6 -0
  86. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/TextTextarea/Icon.svelte +8 -0
  87. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/TextTextarea/Input.svelte +14 -0
  88. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/TextTextarea/index.js +39 -0
  89. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/FieldTypeInputText.svelte +14 -0
  90. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharDefault/Button.svelte +8 -0
  91. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharDefault/Card.svelte +6 -0
  92. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharDefault/Icon.svelte +8 -0
  93. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharDefault/Input.svelte +15 -0
  94. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharDefault/index.js +38 -0
  95. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharEmail/Button.svelte +8 -0
  96. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharEmail/Card.svelte +6 -0
  97. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharEmail/Icon.svelte +4 -0
  98. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharEmail/Input.svelte +14 -0
  99. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharEmail/index.js +38 -0
  100. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPassword/Button.svelte +8 -0
  101. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPassword/Card.svelte +6 -0
  102. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPassword/Icon.svelte +7 -0
  103. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPassword/Input.svelte +37 -0
  104. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPassword/index.js +38 -0
  105. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPhone/Button.svelte +8 -0
  106. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPhone/Card.svelte +6 -0
  107. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPhone/Icon.svelte +3 -0
  108. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPhone/Input.svelte +14 -0
  109. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharPhone/index.js +38 -0
  110. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharUrl/Button.svelte +8 -0
  111. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharUrl/Card.svelte +6 -0
  112. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharUrl/Icon.svelte +7 -0
  113. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharUrl/Input.svelte +14 -0
  114. package/src/lib/registry/fieldTypeRegistry/fieldTypes/text/varchar/TextVarcharUrl/index.js +38 -0
  115. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeCreatedAt/Button.svelte +8 -0
  116. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeCreatedAt/Card.svelte +6 -0
  117. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeCreatedAt/Icon.svelte +11 -0
  118. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeCreatedAt/index.js +38 -0
  119. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDate/Button.svelte +8 -0
  120. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDate/Card.svelte +6 -0
  121. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDate/Icon.svelte +12 -0
  122. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDate/Input.svelte +15 -0
  123. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDate/index.js +39 -0
  124. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDatetime/Button.svelte +8 -0
  125. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDatetime/Card.svelte +6 -0
  126. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDatetime/Icon.svelte +11 -0
  127. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDatetime/Input.svelte +15 -0
  128. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDatetime/index.js +39 -0
  129. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDay/Button.svelte +8 -0
  130. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDay/Card.svelte +6 -0
  131. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDay/Icon.svelte +12 -0
  132. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDay/Input.svelte +15 -0
  133. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDay/index.js +39 -0
  134. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeHour/Button.svelte +8 -0
  135. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeHour/Card.svelte +6 -0
  136. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeHour/Icon.svelte +4 -0
  137. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeHour/Input.svelte +15 -0
  138. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeHour/index.js +39 -0
  139. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonth/Button.svelte +8 -0
  140. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonth/Card.svelte +6 -0
  141. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonth/Icon.svelte +12 -0
  142. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonth/Input.svelte +15 -0
  143. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonth/index.js +39 -0
  144. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonthOfYear/Button.svelte +8 -0
  145. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonthOfYear/Card.svelte +6 -0
  146. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonthOfYear/Icon.svelte +12 -0
  147. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonthOfYear/Input.svelte +15 -0
  148. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeMonthOfYear/index.js +39 -0
  149. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeUpdatedAt/Button.svelte +8 -0
  150. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeUpdatedAt/Card.svelte +6 -0
  151. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeUpdatedAt/Icon.svelte +11 -0
  152. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeUpdatedAt/index.js +38 -0
  153. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeYear/Button.svelte +8 -0
  154. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeYear/Card.svelte +6 -0
  155. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeYear/Icon.svelte +12 -0
  156. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeYear/Input.svelte +15 -0
  157. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeYear/index.js +39 -0
  158. package/src/lib/registry/fieldTypeRegistry/registerDefaultFieldTypes.js +66 -0
  159. package/src/lib/registry/fieldTypeRegistry/registry.svelte.js +72 -0
  160. package/src/routes/+layout.svelte +623 -0
  161. package/src/routes/+page.svelte +196 -0
  162. package/src/routes/global.css +197 -0
  163. package/src/routes/login/+page.svelte +112 -0
  164. package/src/routes/registry/fieldRegistry.svelte.js +37 -0
@@ -0,0 +1,623 @@
1
+ <script>
2
+ import favicon from '$lib/assets/favicon.svg';
3
+ import { onMount } from 'svelte';
4
+ import './global.css';
5
+ import { registerDefaultFieldTypes } from '$lib/registry/fieldTypeRegistry/registerDefaultFieldTypes';
6
+ import { entityRegistry } from '$lib/registry/entityRegistry/registry.svelte';
7
+ import { createEntity } from '$lib/registry/entityRegistry/createEntity';
8
+ import { init, sendRequest } from 'hamzus-ui';
9
+
10
+ let { children } = $props();
11
+
12
+ let isMount = $state(false);
13
+
14
+ init({
15
+ requestWithCredentials: true,
16
+ on401: async () => {
17
+ const response = await sendRequest({
18
+ path: '/refresh-session'
19
+ });
20
+
21
+ if (!response || response.statusType === 'error') {
22
+ // si il est pas encore dans la page de login on redirige
23
+ const path = '/login';
24
+
25
+ window.location.href = defaultUnlogged;
26
+ }
27
+ },
28
+ replayAfter401: true,
29
+ addData: () => {
30
+ return {
31
+ __project_normalized_name: "testsds"
32
+ };
33
+ }
34
+ });
35
+
36
+ onMount(() => {
37
+ registerDefaultFieldTypes();
38
+
39
+ // enregistrer des entité
40
+ entityRegistry.register(
41
+ createEntity({
42
+ id: 1,
43
+ version: 1,
44
+ plural_name: 'clients',
45
+ singular_name: 'client',
46
+ normalized_name: 'clients',
47
+ slug: 'clients',
48
+ symbol: 'C',
49
+ can_be_edited: true,
50
+ can_be_deleted: true,
51
+ is_locked: false,
52
+ updated_at: null,
53
+ created_at: '2026-07-26 16:53:34',
54
+ fields: [
55
+ {
56
+ id: 1,
57
+ link_to_field_id: null,
58
+ entity_id: 1,
59
+ type: 'primary',
60
+ width: 70,
61
+ name: 'id',
62
+ normalized_name: 'id',
63
+ is_locked: true,
64
+ is_required: false,
65
+ is_secret: false,
66
+ is_unique: true,
67
+ props: []
68
+ },
69
+ {
70
+ id: 2,
71
+ link_to_field_id: null,
72
+ entity_id: 1,
73
+ type: 'text-varchar-default',
74
+ width: 160,
75
+ name: 'nom',
76
+ normalized_name: 'nom',
77
+ is_locked: false,
78
+ is_required: true,
79
+ is_secret: false,
80
+ is_unique: true,
81
+ props: []
82
+ },
83
+ {
84
+ id: 3,
85
+ link_to_field_id: null,
86
+ entity_id: 1,
87
+ type: 'text-varchar-email',
88
+ width: 160,
89
+ name: 'email principal',
90
+ normalized_name: 'email_principal',
91
+ is_locked: false,
92
+ is_required: true,
93
+ is_secret: false,
94
+ is_unique: true,
95
+ props: []
96
+ },
97
+ {
98
+ id: 13,
99
+ link_to_field_id: null,
100
+ entity_id: 1,
101
+ type: 'text-varchar-default',
102
+ width: 160,
103
+ name: 'TVA',
104
+ normalized_name: 'tva',
105
+ is_locked: false,
106
+ is_required: false,
107
+ is_secret: false,
108
+ is_unique: true,
109
+ props: []
110
+ },
111
+ {
112
+ id: 14,
113
+ link_to_field_id: null,
114
+ entity_id: 1,
115
+ type: 'text-varchar-default',
116
+ width: 160,
117
+ name: 'SIRET / ICE',
118
+ normalized_name: 'siret_ice',
119
+ is_locked: false,
120
+ is_required: false,
121
+ is_secret: false,
122
+ is_unique: true,
123
+ props: []
124
+ },
125
+ {
126
+ id: 4,
127
+ link_to_field_id: null,
128
+ entity_id: 1,
129
+ type: 'list-radio',
130
+ width: 160,
131
+ name: 'type',
132
+ normalized_name: 'type',
133
+ is_locked: false,
134
+ is_required: true,
135
+ is_secret: false,
136
+ is_unique: false,
137
+ props: {
138
+ choices: [
139
+ {
140
+ value: 'Entreprise',
141
+ color: '--blue'
142
+ },
143
+ {
144
+ value: 'Particulier',
145
+ color: '--green'
146
+ }
147
+ ]
148
+ }
149
+ },
150
+ {
151
+ id: 16,
152
+ link_to_field_id: null,
153
+ entity_id: 1,
154
+ type: 'list-radio',
155
+ width: 160,
156
+ name: 'status',
157
+ normalized_name: 'status',
158
+ is_locked: false,
159
+ is_required: true,
160
+ is_secret: false,
161
+ is_unique: false,
162
+ props: {
163
+ choices: [
164
+ {
165
+ value: 'Actif',
166
+ color: '--green'
167
+ },
168
+ {
169
+ value: 'Inactif',
170
+ color: '--orange'
171
+ },
172
+ {
173
+ value: 'Bloqué',
174
+ color: '--red'
175
+ },
176
+ {
177
+ value: 'Archivé',
178
+ color: '--yellow'
179
+ }
180
+ ]
181
+ }
182
+ },
183
+ {
184
+ id: 15,
185
+ link_to_field_id: null,
186
+ entity_id: 1,
187
+ type: 'list-radio',
188
+ width: 160,
189
+ name: "taille de l'entreprise",
190
+ normalized_name: 'taille_de_lentreprise',
191
+ is_locked: false,
192
+ is_required: false,
193
+ is_secret: false,
194
+ is_unique: false,
195
+ props: {
196
+ choices: [
197
+ {
198
+ value: 'Indépendant',
199
+ color: '--green'
200
+ },
201
+ {
202
+ value: 'TPE (1-9)',
203
+ color: '--blue'
204
+ },
205
+ {
206
+ value: 'PME (10-249)',
207
+ color: '--mauve'
208
+ },
209
+ {
210
+ value: 'Grande entreprise (250+)',
211
+ color: '--orange'
212
+ }
213
+ ]
214
+ }
215
+ },
216
+ {
217
+ id: 5,
218
+ link_to_field_id: null,
219
+ entity_id: 1,
220
+ type: 'text-varchar-phone',
221
+ width: 160,
222
+ name: 'téléphone principal',
223
+ normalized_name: 'telephone_principal',
224
+ is_locked: false,
225
+ is_required: false,
226
+ is_secret: false,
227
+ is_unique: false,
228
+ props: []
229
+ },
230
+ {
231
+ id: 6,
232
+ link_to_field_id: null,
233
+ entity_id: 1,
234
+ type: 'text-varchar-url',
235
+ width: 160,
236
+ name: 'site web',
237
+ normalized_name: 'site_web',
238
+ is_locked: false,
239
+ is_required: false,
240
+ is_secret: false,
241
+ is_unique: false,
242
+ props: []
243
+ },
244
+ {
245
+ id: 18,
246
+ link_to_field_id: null,
247
+ entity_id: 1,
248
+ type: 'text-varchar-default',
249
+ width: 160,
250
+ name: 'rue',
251
+ normalized_name: 'rue',
252
+ is_locked: false,
253
+ is_required: false,
254
+ is_secret: false,
255
+ is_unique: false,
256
+ props: []
257
+ },
258
+ {
259
+ id: 19,
260
+ link_to_field_id: null,
261
+ entity_id: 1,
262
+ type: 'number-int',
263
+ width: 160,
264
+ name: 'code postal',
265
+ normalized_name: 'code_postal',
266
+ is_locked: false,
267
+ is_required: false,
268
+ is_secret: false,
269
+ is_unique: false,
270
+ props: []
271
+ },
272
+ {
273
+ id: 8,
274
+ link_to_field_id: null,
275
+ entity_id: 1,
276
+ type: 'text-varchar-default',
277
+ width: 160,
278
+ name: 'ville',
279
+ normalized_name: 'ville',
280
+ is_locked: false,
281
+ is_required: false,
282
+ is_secret: false,
283
+ is_unique: false,
284
+ props: []
285
+ },
286
+ {
287
+ id: 9,
288
+ link_to_field_id: null,
289
+ entity_id: 1,
290
+ type: 'text-varchar-default',
291
+ width: 160,
292
+ name: 'pays',
293
+ normalized_name: 'pays',
294
+ is_locked: false,
295
+ is_required: false,
296
+ is_secret: false,
297
+ is_unique: false,
298
+ props: []
299
+ },
300
+ {
301
+ id: 17,
302
+ link_to_field_id: null,
303
+ entity_id: 1,
304
+ type: 'text-textarea',
305
+ width: 160,
306
+ name: 'notes',
307
+ normalized_name: 'notes',
308
+ is_locked: false,
309
+ is_required: false,
310
+ is_secret: false,
311
+ is_unique: false,
312
+ props: []
313
+ },
314
+ {
315
+ id: 11,
316
+ link_to_field_id: null,
317
+ entity_id: 1,
318
+ type: 'time-updated_at',
319
+ width: 160,
320
+ name: 'mis à jour le',
321
+ normalized_name: 'mis_a_jour_le',
322
+ is_locked: false,
323
+ is_required: false,
324
+ is_secret: false,
325
+ is_unique: false,
326
+ props: []
327
+ },
328
+ {
329
+ id: 12,
330
+ link_to_field_id: null,
331
+ entity_id: 1,
332
+ type: 'time-created_at',
333
+ width: 160,
334
+ name: 'Créé le',
335
+ normalized_name: 'cree_le',
336
+ is_locked: false,
337
+ is_required: false,
338
+ is_secret: false,
339
+ is_unique: false,
340
+ props: []
341
+ }
342
+ ]
343
+ })
344
+ );
345
+ entityRegistry.register(
346
+ createEntity({
347
+ id: 86,
348
+ version: 1,
349
+ plural_name: 'produits',
350
+ singular_name: 'produit',
351
+ normalized_name: 'produits',
352
+ slug: 'produits',
353
+ symbol: 'C',
354
+ can_be_edited: true,
355
+ can_be_deleted: true,
356
+ is_locked: false,
357
+ updated_at: null,
358
+ created_at: '2026-07-26 16:53:34',
359
+ fields: [
360
+ {
361
+ id: 371,
362
+ link_to_field_id: null,
363
+ entity_id: 86,
364
+ type: 'primary',
365
+ width: 70,
366
+ name: 'id',
367
+ normalized_name: 'id',
368
+ is_locked: true,
369
+ is_required: false,
370
+ is_secret: false,
371
+ is_unique: true,
372
+ props: []
373
+ },
374
+ {
375
+ id: 372,
376
+ link_to_field_id: null,
377
+ entity_id: 86,
378
+ type: 'text-varchar-default',
379
+ width: 160,
380
+ name: 'nom',
381
+ normalized_name: 'nom',
382
+ is_locked: false,
383
+ is_required: true,
384
+ is_secret: false,
385
+ is_unique: true,
386
+ props: []
387
+ },
388
+ {
389
+ id: 373,
390
+ link_to_field_id: null,
391
+ entity_id: 86,
392
+ type: 'number-float-price',
393
+ width: 160,
394
+ name: 'prix',
395
+ normalized_name: 'prix',
396
+ is_locked: false,
397
+ is_required: true,
398
+ is_secret: false,
399
+ is_unique: true,
400
+ props: []
401
+ }
402
+ ]
403
+ })
404
+ );
405
+ entityRegistry.register(
406
+ createEntity({
407
+ id: 2,
408
+ version: 1,
409
+ plural_name: 'lignes de facture',
410
+ singular_name: 'ligne de facture',
411
+ normalized_name: 'lignes_de_facture',
412
+ slug: 'lignes-de-facture',
413
+ symbol: '#',
414
+ can_be_edited: true,
415
+ can_be_deleted: true,
416
+ is_locked: false,
417
+ updated_at: null,
418
+ created_at: '2026-07-26 16:53:34',
419
+ fields: [
420
+ {
421
+ id: 201,
422
+ link_to_field_id: null,
423
+ entity_id: 2,
424
+ type: 'primary',
425
+ width: 70,
426
+ name: 'id',
427
+ normalized_name: 'id',
428
+ is_locked: true,
429
+ is_required: false,
430
+ is_secret: false,
431
+ is_unique: true,
432
+ props: []
433
+ },
434
+ {
435
+ id: 209,
436
+ link_to_field_id: null,
437
+ entity_id: 2,
438
+ type: 'link',
439
+ width: 160,
440
+ name: 'produit',
441
+ normalized_name: 'produit',
442
+ is_locked: false,
443
+ is_required: false,
444
+ is_secret: false,
445
+ is_unique: false,
446
+ props: {
447
+ linkId: 86,
448
+ multiple: false,
449
+ display: '{structure.symbol}{element.id} - {element.nom}, {element.prix}€'
450
+ }
451
+ },
452
+ {
453
+ id: 205,
454
+ link_to_field_id: null,
455
+ entity_id: 2,
456
+ type: 'number-int',
457
+ width: 160,
458
+ name: 'quantité',
459
+ normalized_name: 'quantite',
460
+ is_locked: false,
461
+ is_required: false,
462
+ is_secret: false,
463
+ is_unique: false,
464
+ props: []
465
+ },
466
+ {
467
+ id: 206,
468
+ link_to_field_id: null,
469
+ entity_id: 2,
470
+ type: 'number-int',
471
+ width: 160,
472
+ name: 'prix',
473
+ normalized_name: 'prix',
474
+ is_locked: false,
475
+ is_required: false,
476
+ is_secret: false,
477
+ is_unique: false,
478
+ props: []
479
+ },
480
+ {
481
+ id: 207,
482
+ link_to_field_id: null,
483
+ entity_id: 2,
484
+ type: 'calculation-column',
485
+ width: 160,
486
+ name: 'total',
487
+ normalized_name: 'total',
488
+ is_locked: false,
489
+ is_required: false,
490
+ is_secret: false,
491
+ is_unique: false,
492
+ props: {
493
+ column1: 373,
494
+ operator: '*',
495
+ column2: 205
496
+ }
497
+ },
498
+ {
499
+ id: 232,
500
+ link_to_field_id: null,
501
+ entity_id: 2,
502
+ type: 'calculation-column',
503
+ width: 160,
504
+ name: 'total 2',
505
+ normalized_name: 'total 2',
506
+ is_locked: false,
507
+ is_required: false,
508
+ is_secret: false,
509
+ is_unique: false,
510
+ props: {
511
+ column1: 206,
512
+ operator: '*',
513
+ column2: 207
514
+ }
515
+ }
516
+ ]
517
+ })
518
+ );
519
+ entityRegistry.register(
520
+ createEntity({
521
+ id: 3,
522
+ version: 1,
523
+ plural_name: 'factures',
524
+ singular_name: 'facture',
525
+ normalized_name: 'factures',
526
+ slug: 'factures',
527
+ symbol: '#',
528
+ can_be_edited: true,
529
+ can_be_deleted: true,
530
+ is_locked: false,
531
+ updated_at: null,
532
+ created_at: '2026-07-26 16:53:34',
533
+ fields: [
534
+ {
535
+ id: 301,
536
+ link_to_field_id: null,
537
+ entity_id: 3,
538
+ type: 'primary',
539
+ width: 70,
540
+ name: 'id',
541
+ normalized_name: 'id',
542
+ is_locked: true,
543
+ is_required: false,
544
+ is_secret: false,
545
+ is_unique: true,
546
+ props: []
547
+ },
548
+ {
549
+ id: 305,
550
+ link_to_field_id: null,
551
+ entity_id: 3,
552
+ type: 'lines',
553
+ width: 160,
554
+ name: 'lignes',
555
+ normalized_name: 'lignes',
556
+ is_locked: false,
557
+ is_required: false,
558
+ is_secret: false,
559
+ is_unique: false,
560
+ props: {
561
+ linkId: 2,
562
+ columns: [
563
+ {
564
+ columnIndex: 0,
565
+ rows: [
566
+ {
567
+ rowIndex: 0,
568
+ type: null,
569
+ fieldId: 205
570
+ },
571
+ {
572
+ rowIndex: 0,
573
+ type: null,
574
+ fieldId: 209
575
+ },
576
+ ],
577
+ name: 'details'
578
+ },
579
+ {
580
+ columnIndex: 1,
581
+ rows: [
582
+ {
583
+ rowIndex: 0,
584
+ type: null,
585
+ fieldId: 206
586
+ }
587
+ ],
588
+ name: 'qtt'
589
+ },
590
+ {
591
+ columnIndex: 2,
592
+ rows: [
593
+ {
594
+ rowIndex: 0,
595
+ type: null,
596
+ fieldId: 207
597
+ },
598
+ {
599
+ rowIndex: 0,
600
+ type: null,
601
+ fieldId: 232
602
+ }
603
+ ],
604
+ name: 'tot'
605
+ }
606
+ ]
607
+ }
608
+ }
609
+ ]
610
+ })
611
+ );
612
+
613
+ isMount = true;
614
+ });
615
+ </script>
616
+
617
+ <svelte:head>
618
+ <link rel="icon" href={favicon} />
619
+ </svelte:head>
620
+
621
+ {#if isMount}
622
+ {@render children()}
623
+ {/if}