mountain-ui 1.0.50 → 1.0.52

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 (21) hide show
  1. package/package.json +1 -1
  2. package/src/lib/registry/fieldTypeRegistry/fieldTypes/localisation/LocalisationLand/Button.svelte +8 -0
  3. package/src/lib/registry/fieldTypeRegistry/fieldTypes/localisation/LocalisationLand/Card.svelte +6 -0
  4. package/src/lib/registry/fieldTypeRegistry/fieldTypes/localisation/LocalisationLand/Icon.svelte +4 -0
  5. package/src/lib/registry/fieldTypeRegistry/fieldTypes/localisation/LocalisationLand/Input.svelte +93 -0
  6. package/src/lib/registry/fieldTypeRegistry/fieldTypes/localisation/LocalisationLand/TableView.svelte +11 -0
  7. package/src/lib/registry/fieldTypeRegistry/fieldTypes/localisation/LocalisationLand/View.svelte +14 -0
  8. package/src/lib/registry/fieldTypeRegistry/fieldTypes/localisation/LocalisationLand/countries.json +193 -0
  9. package/src/lib/registry/fieldTypeRegistry/fieldTypes/localisation/LocalisationLand/index.js +40 -0
  10. package/src/lib/registry/fieldTypeRegistry/fieldTypes/localisation/formatDate.js +155 -0
  11. package/src/lib/registry/fieldTypeRegistry/fieldTypes/money/MoneyCurrency/Button.svelte +8 -0
  12. package/src/lib/registry/fieldTypeRegistry/fieldTypes/money/MoneyCurrency/Card.svelte +6 -0
  13. package/src/lib/registry/fieldTypeRegistry/fieldTypes/money/MoneyCurrency/Icon.svelte +5 -0
  14. package/src/lib/registry/fieldTypeRegistry/fieldTypes/money/MoneyCurrency/Input.svelte +94 -0
  15. package/src/lib/registry/fieldTypeRegistry/fieldTypes/money/MoneyCurrency/TableView.svelte +11 -0
  16. package/src/lib/registry/fieldTypeRegistry/fieldTypes/money/MoneyCurrency/View.svelte +16 -0
  17. package/src/lib/registry/fieldTypeRegistry/fieldTypes/money/MoneyCurrency/currencies.min.json +1 -0
  18. package/src/lib/registry/fieldTypeRegistry/fieldTypes/money/MoneyCurrency/index.js +40 -0
  19. package/src/lib/registry/fieldTypeRegistry/fieldTypes/money/formatDate.js +155 -0
  20. package/src/lib/registry/fieldTypeRegistry/registerDefaultFieldTypes.js +8 -0
  21. package/src/routes/+page.svelte +3 -3
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mountain-ui",
3
3
  "private": false,
4
- "version": "1.0.50",
4
+ "version": "1.0.52",
5
5
  "description": "A comprehensive UI component library for ERP systems with field types, entities, and registry management built with Svelte",
6
6
  "type": "module",
7
7
  "module": "index.js",
@@ -0,0 +1,8 @@
1
+ <script>
2
+ import FieldTypeButton from '../../FieldTypeButton.svelte';
3
+ import Icon from './Icon.svelte';
4
+
5
+ let { ...props } = $props();
6
+ </script>
7
+
8
+ <FieldTypeButton {...props}></FieldTypeButton>
@@ -0,0 +1,6 @@
1
+ <script>
2
+ import FieldCard from '../../FieldTypeCard.svelte';
3
+ let { ...props } = $props();
4
+ </script>
5
+
6
+ <FieldCard {...props}></FieldCard>
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12.0009 14.1699C9.87086 14.1699 8.13086 12.4399 8.13086 10.2999C8.13086 8.15994 9.87086 6.43994 12.0009 6.43994C14.1309 6.43994 15.8709 8.16994 15.8709 10.3099C15.8709 12.4499 14.1309 14.1699 12.0009 14.1699ZM12.0009 7.93994C10.7009 7.93994 9.63086 8.99994 9.63086 10.3099C9.63086 11.6199 10.6909 12.6799 12.0009 12.6799C13.3109 12.6799 14.3709 11.6199 14.3709 10.3099C14.3709 8.99994 13.3009 7.93994 12.0009 7.93994Z" fill="#292D32"/>
3
+ <path d="M11.9997 22.76C10.5197 22.76 9.02969 22.2 7.86969 21.09C4.91969 18.25 1.65969 13.72 2.88969 8.33C3.99969 3.44 8.26969 1.25 11.9997 1.25C11.9997 1.25 11.9997 1.25 12.0097 1.25C15.7397 1.25 20.0097 3.44 21.1197 8.34C22.3397 13.73 19.0797 18.25 16.1297 21.09C14.9697 22.2 13.4797 22.76 11.9997 22.76ZM11.9997 2.75C9.08969 2.75 5.34969 4.3 4.35969 8.66C3.27969 13.37 6.23969 17.43 8.91969 20C10.6497 21.67 13.3597 21.67 15.0897 20C17.7597 17.43 20.7197 13.37 19.6597 8.66C18.6597 4.3 14.9097 2.75 11.9997 2.75Z" fill="#292D32"/>
4
+ </svg>
@@ -0,0 +1,93 @@
1
+ <script>
2
+ import Label from '../../../components/Label.svelte';
3
+ import Line from '../../../components/Line.svelte';
4
+ import { Button, DropdownMenu, Tag } from 'hamzus-ui';
5
+
6
+ let {
7
+ value = $bindable(''),
8
+ onChange = () => {},
9
+ name = '',
10
+ label = '',
11
+ compact = false,
12
+ unique = false,
13
+ secret = false,
14
+ required = false,
15
+ ...props
16
+ } = $props();
17
+
18
+ import countries from './countries.json';
19
+
20
+ function handleClick(currencyCode) {
21
+ if (currencyCode === null) {
22
+ value = null;
23
+ onChange(value);
24
+ return;
25
+ }
26
+ if (value === currencyCode) return;
27
+
28
+ value = currencyCode;
29
+
30
+ onChange(currencyCode);
31
+ }
32
+
33
+ const selectedChoice = $derived(countries.find(c=>c.alpha2 === value) ?? null);
34
+ </script>
35
+
36
+ <Line {compact}>
37
+ <Label {unique} {secret} {label} {required}></Label>
38
+ <div class="choices">
39
+ <input type="text" {name} bind:value {required} style="display:none" {...props} />
40
+
41
+ <DropdownMenu.Root direction="bottom">
42
+ <DropdownMenu.Trigger slot="trigger">
43
+ <Button variant="outline" style="width:100%;">
44
+ {#if selectedChoice}
45
+ <h5>
46
+ {selectedChoice.name}
47
+ </h5>
48
+ {:else}
49
+ <h5>Sélectionner</h5>
50
+ {/if}
51
+ </Button>
52
+ </DropdownMenu.Trigger>
53
+
54
+ <DropdownMenu.Content slot="content" width="var(--hamzus-tigger-width)">
55
+ {#if !required}
56
+ <Button
57
+ variant="ghost"
58
+ style="width:100%;color:{value === null ? 'var(--accent)' : ''}"
59
+ onClick={() => handleClick(null)}
60
+ >
61
+ <h5>aucun</h5>
62
+ </Button>
63
+ {/if}
64
+ {#each countries as country}
65
+ <Button
66
+ variant={value === country.alpha2 ? 'secondary' : 'ghost'}
67
+ style="width:100%;"
68
+ onClick={() => handleClick(country.alpha2)}
69
+ >
70
+ <h5>
71
+ {country.name}
72
+ </h5>
73
+ </Button>
74
+ {/each}
75
+ </DropdownMenu.Content>
76
+ </DropdownMenu.Root>
77
+ </div>
78
+ </Line>
79
+
80
+ <style>
81
+ .choices {
82
+ display: flex;
83
+ flex-direction: column;
84
+ row-gap: var(--pad-m);
85
+ padding: var(--pad-m);
86
+ background-color: var(--bg-2);
87
+ border-radius: var(--radius-m);
88
+ }
89
+
90
+ .choices:has(input:user-invalid) {
91
+ border: 1px solid var(--red);
92
+ }
93
+ </style>
@@ -0,0 +1,11 @@
1
+ <script>
2
+ import ViewText from "../../../components/ViewText.svelte";
3
+ import { formatDateTime } from "../formatDate";
4
+
5
+ let { value } = $props();
6
+
7
+
8
+ </script>
9
+
10
+ <ViewText>{value === null || value.formated === null ? '-' : value.formated.land_data.name ?? "-"}</ViewText>
11
+
@@ -0,0 +1,14 @@
1
+ <script>
2
+ import Label from '../../../components/Label.svelte';
3
+ import LineView from '../../../components/LineView.svelte';
4
+ import ViewText from '../../../components/ViewText.svelte';
5
+ import { formatDateTime } from '../formatDate';
6
+
7
+ let { value, compact, unique, secret, label, required } = $props();
8
+
9
+ </script>
10
+
11
+ <LineView {compact}>
12
+ <Label {unique} {secret} {label} {required}></Label>
13
+ <ViewText>{value === null || value.formated === null ? '-' : value.formated.land_data.name ?? "-"}</ViewText>
14
+ </LineView>
@@ -0,0 +1,193 @@
1
+ [{"id":4,"alpha2":"af","alpha3":"afg","name":"Afghanistan"},
2
+ {"id":710,"alpha2":"za","alpha3":"zaf","name":"Afrique du Sud"},
3
+ {"id":8,"alpha2":"al","alpha3":"alb","name":"Albanie"},
4
+ {"id":12,"alpha2":"dz","alpha3":"dza","name":"Algérie"},
5
+ {"id":276,"alpha2":"de","alpha3":"deu","name":"Allemagne"},
6
+ {"id":20,"alpha2":"ad","alpha3":"and","name":"Andorre"},
7
+ {"id":24,"alpha2":"ao","alpha3":"ago","name":"Angola"},
8
+ {"id":28,"alpha2":"ag","alpha3":"atg","name":"Antigua-et-Barbuda"},
9
+ {"id":682,"alpha2":"sa","alpha3":"sau","name":"Arabie saoudite"},
10
+ {"id":32,"alpha2":"ar","alpha3":"arg","name":"Argentine"},
11
+ {"id":51,"alpha2":"am","alpha3":"arm","name":"Arménie"},
12
+ {"id":36,"alpha2":"au","alpha3":"aus","name":"Australie"},
13
+ {"id":40,"alpha2":"at","alpha3":"aut","name":"Autriche"},
14
+ {"id":31,"alpha2":"az","alpha3":"aze","name":"Azerbaïdjan"},
15
+ {"id":44,"alpha2":"bs","alpha3":"bhs","name":"Bahamas"},
16
+ {"id":48,"alpha2":"bh","alpha3":"bhr","name":"Bahreïn"},
17
+ {"id":50,"alpha2":"bd","alpha3":"bgd","name":"Bangladesh"},
18
+ {"id":52,"alpha2":"bb","alpha3":"brb","name":"Barbade"},
19
+ {"id":112,"alpha2":"by","alpha3":"blr","name":"Biélorussie"},
20
+ {"id":56,"alpha2":"be","alpha3":"bel","name":"Belgique"},
21
+ {"id":84,"alpha2":"bz","alpha3":"blz","name":"Belize"},
22
+ {"id":204,"alpha2":"bj","alpha3":"ben","name":"Bénin"},
23
+ {"id":64,"alpha2":"bt","alpha3":"btn","name":"Bhoutan"},
24
+ {"id":68,"alpha2":"bo","alpha3":"bol","name":"Bolivie"},
25
+ {"id":70,"alpha2":"ba","alpha3":"bih","name":"Bosnie-Herzégovine"},
26
+ {"id":72,"alpha2":"bw","alpha3":"bwa","name":"Botswana"},
27
+ {"id":76,"alpha2":"br","alpha3":"bra","name":"Brésil"},
28
+ {"id":96,"alpha2":"bn","alpha3":"brn","name":"Brunei"},
29
+ {"id":100,"alpha2":"bg","alpha3":"bgr","name":"Bulgarie"},
30
+ {"id":854,"alpha2":"bf","alpha3":"bfa","name":"Burkina Faso"},
31
+ {"id":108,"alpha2":"bi","alpha3":"bdi","name":"Burundi"},
32
+ {"id":116,"alpha2":"kh","alpha3":"khm","name":"Cambodge"},
33
+ {"id":120,"alpha2":"cm","alpha3":"cmr","name":"Cameroun"},
34
+ {"id":124,"alpha2":"ca","alpha3":"can","name":"Canada"},
35
+ {"id":132,"alpha2":"cv","alpha3":"cpv","name":"Cap-Vert"},
36
+ {"id":140,"alpha2":"cf","alpha3":"caf","name":"République centrafricaine"},
37
+ {"id":152,"alpha2":"cl","alpha3":"chl","name":"Chili"},
38
+ {"id":156,"alpha2":"cn","alpha3":"chn","name":"Chine"},
39
+ {"id":196,"alpha2":"cy","alpha3":"cyp","name":"Chypre"},
40
+ {"id":170,"alpha2":"co","alpha3":"col","name":"Colombie"},
41
+ {"id":174,"alpha2":"km","alpha3":"com","name":"Comores"},
42
+ {"id":178,"alpha2":"cg","alpha3":"cog","name":"République du Congo"},
43
+ {"id":180,"alpha2":"cd","alpha3":"cod","name":"République démocratique du Congo"},
44
+ {"id":410,"alpha2":"kr","alpha3":"kor","name":"Corée du Sud"},
45
+ {"id":408,"alpha2":"kp","alpha3":"prk","name":"Corée du Nord"},
46
+ {"id":188,"alpha2":"cr","alpha3":"cri","name":"Costa Rica"},
47
+ {"id":384,"alpha2":"ci","alpha3":"civ","name":"Côte d'Ivoire"},
48
+ {"id":191,"alpha2":"hr","alpha3":"hrv","name":"Croatie"},
49
+ {"id":192,"alpha2":"cu","alpha3":"cub","name":"Cuba"},
50
+ {"id":208,"alpha2":"dk","alpha3":"dnk","name":"Danemark"},
51
+ {"id":262,"alpha2":"dj","alpha3":"dji","name":"Djibouti"},
52
+ {"id":214,"alpha2":"do","alpha3":"dom","name":"République dominicaine"},
53
+ {"id":212,"alpha2":"dm","alpha3":"dma","name":"Dominique"},
54
+ {"id":818,"alpha2":"eg","alpha3":"egy","name":"Égypte"},
55
+ {"id":784,"alpha2":"ae","alpha3":"are","name":"Émirats arabes unis"},
56
+ {"id":218,"alpha2":"ec","alpha3":"ecu","name":"Équateur"},
57
+ {"id":232,"alpha2":"er","alpha3":"eri","name":"Érythrée"},
58
+ {"id":724,"alpha2":"es","alpha3":"esp","name":"Espagne"},
59
+ {"id":233,"alpha2":"ee","alpha3":"est","name":"Estonie"},
60
+ {"id":840,"alpha2":"us","alpha3":"usa","name":"États-Unis"},
61
+ {"id":231,"alpha2":"et","alpha3":"eth","name":"Éthiopie"},
62
+ {"id":242,"alpha2":"fj","alpha3":"fji","name":"Fidji"},
63
+ {"id":246,"alpha2":"fi","alpha3":"fin","name":"Finlande"},
64
+ {"id":250,"alpha2":"fr","alpha3":"fra","name":"France"},
65
+ {"id":266,"alpha2":"ga","alpha3":"gab","name":"Gabon"},
66
+ {"id":270,"alpha2":"gm","alpha3":"gmb","name":"Gambie"},
67
+ {"id":268,"alpha2":"ge","alpha3":"geo","name":"Géorgie"},
68
+ {"id":288,"alpha2":"gh","alpha3":"gha","name":"Ghana"},
69
+ {"id":300,"alpha2":"gr","alpha3":"grc","name":"Grèce"},
70
+ {"id":308,"alpha2":"gd","alpha3":"grd","name":"Grenade"},
71
+ {"id":320,"alpha2":"gt","alpha3":"gtm","name":"Guatemala"},
72
+ {"id":324,"alpha2":"gn","alpha3":"gin","name":"Guinée"},
73
+ {"id":624,"alpha2":"gw","alpha3":"gnb","name":"Guinée-Bissau"},
74
+ {"id":226,"alpha2":"gq","alpha3":"gnq","name":"Guinée équatoriale"},
75
+ {"id":328,"alpha2":"gy","alpha3":"guy","name":"Guyana"},
76
+ {"id":332,"alpha2":"ht","alpha3":"hti","name":"Haïti"},
77
+ {"id":340,"alpha2":"hn","alpha3":"hnd","name":"Honduras"},
78
+ {"id":348,"alpha2":"hu","alpha3":"hun","name":"Hongrie"},
79
+ {"id":356,"alpha2":"in","alpha3":"ind","name":"Inde"},
80
+ {"id":360,"alpha2":"id","alpha3":"idn","name":"Indonésie"},
81
+ {"id":364,"alpha2":"ir","alpha3":"irn","name":"Iran"},
82
+ {"id":368,"alpha2":"iq","alpha3":"irq","name":"Irak"},
83
+ {"id":372,"alpha2":"ie","alpha3":"irl","name":"Irlande"},
84
+ {"id":352,"alpha2":"is","alpha3":"isl","name":"Islande"},
85
+ {"id":376,"alpha2":"il","alpha3":"isr","name":"Israël"},
86
+ {"id":380,"alpha2":"it","alpha3":"ita","name":"Italie"},
87
+ {"id":388,"alpha2":"jm","alpha3":"jam","name":"Jamaïque"},
88
+ {"id":392,"alpha2":"jp","alpha3":"jpn","name":"Japon"},
89
+ {"id":400,"alpha2":"jo","alpha3":"jor","name":"Jordanie"},
90
+ {"id":398,"alpha2":"kz","alpha3":"kaz","name":"Kazakhstan"},
91
+ {"id":404,"alpha2":"ke","alpha3":"ken","name":"Kenya"},
92
+ {"id":417,"alpha2":"kg","alpha3":"kgz","name":"Kirghizistan"},
93
+ {"id":296,"alpha2":"ki","alpha3":"kir","name":"Kiribati"},
94
+ {"id":414,"alpha2":"kw","alpha3":"kwt","name":"Koweït"},
95
+ {"id":418,"alpha2":"la","alpha3":"lao","name":"Laos"},
96
+ {"id":426,"alpha2":"ls","alpha3":"lso","name":"Lesotho"},
97
+ {"id":428,"alpha2":"lv","alpha3":"lva","name":"Lettonie"},
98
+ {"id":422,"alpha2":"lb","alpha3":"lbn","name":"Liban"},
99
+ {"id":430,"alpha2":"lr","alpha3":"lbr","name":"Liberia"},
100
+ {"id":434,"alpha2":"ly","alpha3":"lby","name":"Libye"},
101
+ {"id":438,"alpha2":"li","alpha3":"lie","name":"Liechtenstein"},
102
+ {"id":440,"alpha2":"lt","alpha3":"ltu","name":"Lituanie"},
103
+ {"id":442,"alpha2":"lu","alpha3":"lux","name":"Luxembourg"},
104
+ {"id":807,"alpha2":"mk","alpha3":"mkd","name":"Macédoine du Nord"},
105
+ {"id":450,"alpha2":"mg","alpha3":"mdg","name":"Madagascar"},
106
+ {"id":458,"alpha2":"my","alpha3":"mys","name":"Malaisie"},
107
+ {"id":454,"alpha2":"mw","alpha3":"mwi","name":"Malawi"},
108
+ {"id":462,"alpha2":"mv","alpha3":"mdv","name":"Maldives"},
109
+ {"id":466,"alpha2":"ml","alpha3":"mli","name":"Mali"},
110
+ {"id":470,"alpha2":"mt","alpha3":"mlt","name":"Malte"},
111
+ {"id":504,"alpha2":"ma","alpha3":"mar","name":"Maroc"},
112
+ {"id":584,"alpha2":"mh","alpha3":"mhl","name":"Îles Marshall"},
113
+ {"id":480,"alpha2":"mu","alpha3":"mus","name":"Maurice"},
114
+ {"id":478,"alpha2":"mr","alpha3":"mrt","name":"Mauritanie"},
115
+ {"id":484,"alpha2":"mx","alpha3":"mex","name":"Mexique"},
116
+ {"id":583,"alpha2":"fm","alpha3":"fsm","name":"États fédérés de Micronésie"},
117
+ {"id":498,"alpha2":"md","alpha3":"mda","name":"Moldavie"},
118
+ {"id":492,"alpha2":"mc","alpha3":"mco","name":"Monaco"},
119
+ {"id":496,"alpha2":"mn","alpha3":"mng","name":"Mongolie"},
120
+ {"id":499,"alpha2":"me","alpha3":"mne","name":"Monténégro"},
121
+ {"id":508,"alpha2":"mz","alpha3":"moz","name":"Mozambique"},
122
+ {"id":104,"alpha2":"mm","alpha3":"mmr","name":"Birmanie"},
123
+ {"id":516,"alpha2":"na","alpha3":"nam","name":"Namibie"},
124
+ {"id":520,"alpha2":"nr","alpha3":"nru","name":"Nauru"},
125
+ {"id":524,"alpha2":"np","alpha3":"npl","name":"Népal"},
126
+ {"id":558,"alpha2":"ni","alpha3":"nic","name":"Nicaragua"},
127
+ {"id":562,"alpha2":"ne","alpha3":"ner","name":"Niger"},
128
+ {"id":566,"alpha2":"ng","alpha3":"nga","name":"Nigeria"},
129
+ {"id":578,"alpha2":"no","alpha3":"nor","name":"Norvège"},
130
+ {"id":554,"alpha2":"nz","alpha3":"nzl","name":"Nouvelle-Zélande"},
131
+ {"id":512,"alpha2":"om","alpha3":"omn","name":"Oman"},
132
+ {"id":800,"alpha2":"ug","alpha3":"uga","name":"Ouganda"},
133
+ {"id":860,"alpha2":"uz","alpha3":"uzb","name":"Ouzbékistan"},
134
+ {"id":586,"alpha2":"pk","alpha3":"pak","name":"Pakistan"},
135
+ {"id":585,"alpha2":"pw","alpha3":"plw","name":"Palaos"},
136
+ {"id":591,"alpha2":"pa","alpha3":"pan","name":"Panama"},
137
+ {"id":598,"alpha2":"pg","alpha3":"png","name":"Papouasie-Nouvelle-Guinée"},
138
+ {"id":600,"alpha2":"py","alpha3":"pry","name":"Paraguay"},
139
+ {"id":528,"alpha2":"nl","alpha3":"nld","name":"Pays-Bas"},
140
+ {"id":604,"alpha2":"pe","alpha3":"per","name":"Pérou"},
141
+ {"id":608,"alpha2":"ph","alpha3":"phl","name":"Philippines"},
142
+ {"id":616,"alpha2":"pl","alpha3":"pol","name":"Pologne"},
143
+ {"id":620,"alpha2":"pt","alpha3":"prt","name":"Portugal"},
144
+ {"id":634,"alpha2":"qa","alpha3":"qat","name":"Qatar"},
145
+ {"id":642,"alpha2":"ro","alpha3":"rou","name":"Roumanie"},
146
+ {"id":826,"alpha2":"gb","alpha3":"gbr","name":"Royaume-Uni"},
147
+ {"id":643,"alpha2":"ru","alpha3":"rus","name":"Russie"},
148
+ {"id":646,"alpha2":"rw","alpha3":"rwa","name":"Rwanda"},
149
+ {"id":659,"alpha2":"kn","alpha3":"kna","name":"Saint-Christophe-et-Niévès"},
150
+ {"id":674,"alpha2":"sm","alpha3":"smr","name":"Saint-Marin"},
151
+ {"id":670,"alpha2":"vc","alpha3":"vct","name":"Saint-Vincent-et-les-Grenadines"},
152
+ {"id":662,"alpha2":"lc","alpha3":"lca","name":"Sainte-Lucie"},
153
+ {"id":90,"alpha2":"sb","alpha3":"slb","name":"Îles Salomon"},
154
+ {"id":222,"alpha2":"sv","alpha3":"slv","name":"Salvador"},
155
+ {"id":882,"alpha2":"ws","alpha3":"wsm","name":"Samoa"},
156
+ {"id":678,"alpha2":"st","alpha3":"stp","name":"Sao Tomé-et-Principe"},
157
+ {"id":686,"alpha2":"sn","alpha3":"sen","name":"Sénégal"},
158
+ {"id":688,"alpha2":"rs","alpha3":"srb","name":"Serbie"},
159
+ {"id":690,"alpha2":"sc","alpha3":"syc","name":"Seychelles"},
160
+ {"id":694,"alpha2":"sl","alpha3":"sle","name":"Sierra Leone"},
161
+ {"id":702,"alpha2":"sg","alpha3":"sgp","name":"Singapour"},
162
+ {"id":703,"alpha2":"sk","alpha3":"svk","name":"Slovaquie"},
163
+ {"id":705,"alpha2":"si","alpha3":"svn","name":"Slovénie"},
164
+ {"id":706,"alpha2":"so","alpha3":"som","name":"Somalie"},
165
+ {"id":729,"alpha2":"sd","alpha3":"sdn","name":"Soudan"},
166
+ {"id":728,"alpha2":"ss","alpha3":"ssd","name":"Soudan du Sud"},
167
+ {"id":144,"alpha2":"lk","alpha3":"lka","name":"Sri Lanka"},
168
+ {"id":752,"alpha2":"se","alpha3":"swe","name":"Suède"},
169
+ {"id":756,"alpha2":"ch","alpha3":"che","name":"Suisse"},
170
+ {"id":740,"alpha2":"sr","alpha3":"sur","name":"Suriname"},
171
+ {"id":748,"alpha2":"sz","alpha3":"swz","name":"Eswatini"},
172
+ {"id":760,"alpha2":"sy","alpha3":"syr","name":"Syrie"},
173
+ {"id":762,"alpha2":"tj","alpha3":"tjk","name":"Tadjikistan"},
174
+ {"id":834,"alpha2":"tz","alpha3":"tza","name":"Tanzanie"},
175
+ {"id":148,"alpha2":"td","alpha3":"tcd","name":"Tchad"},
176
+ {"id":203,"alpha2":"cz","alpha3":"cze","name":"Tchéquie"},
177
+ {"id":764,"alpha2":"th","alpha3":"tha","name":"Thaïlande"},
178
+ {"id":626,"alpha2":"tl","alpha3":"tls","name":"Timor oriental"},
179
+ {"id":768,"alpha2":"tg","alpha3":"tgo","name":"Togo"},
180
+ {"id":776,"alpha2":"to","alpha3":"ton","name":"Tonga"},
181
+ {"id":780,"alpha2":"tt","alpha3":"tto","name":"Trinité-et-Tobago"},
182
+ {"id":788,"alpha2":"tn","alpha3":"tun","name":"Tunisie"},
183
+ {"id":795,"alpha2":"tm","alpha3":"tkm","name":"Turkménistan"},
184
+ {"id":792,"alpha2":"tr","alpha3":"tur","name":"Turquie"},
185
+ {"id":798,"alpha2":"tv","alpha3":"tuv","name":"Tuvalu"},
186
+ {"id":804,"alpha2":"ua","alpha3":"ukr","name":"Ukraine"},
187
+ {"id":858,"alpha2":"uy","alpha3":"ury","name":"Uruguay"},
188
+ {"id":548,"alpha2":"vu","alpha3":"vut","name":"Vanuatu"},
189
+ {"id":862,"alpha2":"ve","alpha3":"ven","name":"Venezuela"},
190
+ {"id":704,"alpha2":"vn","alpha3":"vnm","name":"Vietnam"},
191
+ {"id":887,"alpha2":"ye","alpha3":"yem","name":"Yémen"},
192
+ {"id":894,"alpha2":"zm","alpha3":"zmb","name":"Zambie"},
193
+ {"id":716,"alpha2":"zw","alpha3":"zwe","name":"Zimbabwe"}]
@@ -0,0 +1,40 @@
1
+ import { createFieldType } from '../../../createFieldType';
2
+
3
+ import Icon from './Icon.svelte';
4
+ import Button from './Button.svelte';
5
+ import Card from './Card.svelte';
6
+ import TableView from './TableView.svelte';
7
+ import View from './View.svelte';
8
+ import Input from './Input.svelte';
9
+
10
+ export default createFieldType({
11
+ type: 'localisation-land',
12
+
13
+ category_path: 'localisation',
14
+
15
+ label: 'Pays',
16
+ description: 'Liste de pays.',
17
+
18
+ is_hidden: false,
19
+
20
+ defaultProps: {},
21
+
22
+ can_be_required: true,
23
+ can_be_unique: true,
24
+
25
+ components: {
26
+ icon: Icon,
27
+ button: Button,
28
+ card: Card,
29
+ input: Input,
30
+ tableView: TableView,
31
+ view: View,
32
+ filter: null,
33
+ properties: null
34
+ },
35
+
36
+ formatter: (value) => value,
37
+ parser: (value) => value,
38
+
39
+ validate: () => true
40
+ });
@@ -0,0 +1,155 @@
1
+
2
+ export function formatDateFromTimestamp(timestamp) {
3
+ // Créer une instance Date à partir du timestamp
4
+ const date = new Date(timestamp);
5
+
6
+ // Utiliser Intl.DateTimeFormat pour formater la date
7
+ const formatter = new Intl.DateTimeFormat('fr-FR', {
8
+ year: 'numeric',
9
+ month: '2-digit',
10
+ day: '2-digit',
11
+ hour: '2-digit',
12
+ minute: '2-digit',
13
+ second: '2-digit',
14
+ hour12: false // Utiliser l'heure au format 24 heures
15
+ });
16
+
17
+ // Formatage de la date avec Intl.DateTimeFormat
18
+ const parts = formatter.formatToParts(date);
19
+
20
+ // Extraire les différentes parties de la date
21
+ const year = parts.find(part => part.type === 'year').value;
22
+ const month = parts.find(part => part.type === 'month').value;
23
+ const day = parts.find(part => part.type === 'day').value;
24
+ const hour = parts.find(part => part.type === 'hour').value;
25
+ const minute = parts.find(part => part.type === 'minute').value;
26
+ const second = parts.find(part => part.type === 'second').value;
27
+
28
+ // Formater la date selon le format souhaité
29
+ return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
30
+ }
31
+
32
+ export function formatDate(dateOrigine) {
33
+ dateOrigine = new Date(dateOrigine);
34
+
35
+ // Extraction des composants de la date
36
+ let annee = dateOrigine.getFullYear();
37
+ let mois = dateOrigine.getMonth() + 1; // Les mois commencent à 0, donc ajoutez 1
38
+ let jour = dateOrigine.getDate();
39
+
40
+ // Formatage des composants de la date
41
+ let dateFormatee = (jour < 10 ? '0' : '') + jour + '/' +
42
+ (mois < 10 ? '0' : '') + mois + '/' +
43
+ annee
44
+ return dateFormatee;
45
+ }
46
+
47
+ export function formatDateTime(dateOrigine) {
48
+ dateOrigine = new Date(convertToLocalDateTime(dateOrigine));
49
+
50
+ // Extraction des composants de la date
51
+ let annee = dateOrigine.getFullYear();
52
+ let mois = dateOrigine.getMonth() + 1; // Les mois commencent à 0, donc ajoutez 1
53
+ let jour = dateOrigine.getDate();
54
+ let heures = dateOrigine.getHours();
55
+ let minutes = dateOrigine.getMinutes();
56
+ let secondes = dateOrigine.getSeconds();
57
+
58
+ // Formatage des composants de la date
59
+ let dateFormatee = (jour < 10 ? '0' : '') + jour + '/' +
60
+ (mois < 10 ? '0' : '') + mois + '/' +
61
+ annee + ' à ' +
62
+ (heures < 10 ? '0' : '') + heures + ':' +
63
+ (minutes < 10 ? '0' : '') + minutes + ":" +
64
+ (secondes < 10 ? '0' : '') + secondes;
65
+ return dateFormatee;
66
+ }
67
+ export function formatTime(dateOrigine) {
68
+ dateOrigine = new Date(convertToLocalDateTime(dateOrigine));
69
+
70
+ let heures = dateOrigine.getHours();
71
+ let minutes = dateOrigine.getMinutes();
72
+
73
+ // Formatage des composants de la date
74
+ let dateFormatee = (heures < 10 ? '0' : '') + heures + 'h' +
75
+ (minutes < 10 ? '0' : '') + minutes;
76
+ return dateFormatee;
77
+ }
78
+ export function convertirSec(secondes) {
79
+ const heures = Math.floor(secondes / 3600);
80
+ let minutes = Math.floor((secondes % 3600) / 60);
81
+ if (heures !== 0) {
82
+ minutes = minutes.toString().length == 1 ? '0' + minutes : minutes
83
+
84
+ return `${heures}h${minutes}`;
85
+ }else{
86
+ return `${minutes}min`;
87
+ }
88
+ }
89
+
90
+ export function formatMonth(dateString) {
91
+ const date = new Date(dateString);
92
+
93
+ // Formatage en "mois année" (par exemple, "octobre 2024" en français)
94
+ const options = { year: 'numeric', month: 'long' };
95
+ return new Intl.DateTimeFormat('fr-FR', options).format(date);
96
+ }
97
+ export function timeSince(date) {
98
+ const now = new Date();
99
+ const past = new Date(convertToLocalDateTime(date));
100
+ const diffMs = now - past; // en millisecondes
101
+
102
+ const seconds = Math.floor(diffMs / 1000);
103
+ const minutes = Math.floor(diffMs / (1000 * 60));
104
+ const hours = Math.floor(diffMs / (1000 * 60 * 60));
105
+ const days = Math.floor(diffMs / (1000 * 60 * 60 * 24));
106
+
107
+ if (seconds < 60) {
108
+ return `il y a ${seconds} sec`;
109
+ } else if (minutes < 60) {
110
+ return `il y a ${minutes} min`;
111
+ } else if (hours < 24) {
112
+ return `il y a ${hours} h`;
113
+ } else {
114
+ return `il y a ${days} j`;
115
+ }
116
+ }
117
+
118
+ export function convertToLocalDateTime(Datetime) {
119
+ // Convertir la chaîne en objet Date UTC
120
+ const utcDate = new Date(Datetime.replace(' ', 'T') + 'Z');
121
+
122
+ // Extraire les composants de la date locale
123
+ const year = utcDate.getFullYear();
124
+ const month = String(utcDate.getMonth() + 1).padStart(2, '0'); // Mois de 0 à 11, on ajoute donc 1
125
+ const day = String(utcDate.getDate()).padStart(2, '0');
126
+
127
+ // Extraire les composants de l'heure locale
128
+ const hours = String(utcDate.getHours()).padStart(2, '0');
129
+ const minutes = String(utcDate.getMinutes()).padStart(2, '0');
130
+ const seconds = String(utcDate.getSeconds()).padStart(2, '0');
131
+
132
+ // Formater la date et l'heure en YYYY-MM-DD HH:mm:SS
133
+ const localDateTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
134
+
135
+ return localDateTime;
136
+ }
137
+ export function convertToLocalDateTimeForDateTime(Datetime) {
138
+ // Convertir la chaîne en objet Date UTC
139
+ const utcDate = new Date(Datetime.replace(' ', 'T') + 'Z');
140
+
141
+ // Extraire les composants de la date locale
142
+ const year = utcDate.getFullYear();
143
+ const month = String(utcDate.getMonth() + 1).padStart(2, '0'); // Mois de 0 à 11, on ajoute donc 1
144
+ const day = String(utcDate.getDate()).padStart(2, '0');
145
+
146
+ // Extraire les composants de l'heure locale
147
+ const hours = String(utcDate.getHours()).padStart(2, '0');
148
+ const minutes = String(utcDate.getMinutes()).padStart(2, '0');
149
+
150
+ // Formater la date et l'heure en YYYY-MM-DD HH:mm:SS
151
+ const localDateTime = `${year}-${month}-${day} ${hours}:${minutes}`;
152
+
153
+ return localDateTime;
154
+ }
155
+
@@ -0,0 +1,8 @@
1
+ <script>
2
+ import FieldTypeButton from '../../FieldTypeButton.svelte';
3
+ import Icon from './Icon.svelte';
4
+
5
+ let { ...props } = $props();
6
+ </script>
7
+
8
+ <FieldTypeButton {...props}></FieldTypeButton>
@@ -0,0 +1,6 @@
1
+ <script>
2
+ import FieldCard from '../../FieldTypeCard.svelte';
3
+ let { ...props } = $props();
4
+ </script>
5
+
6
+ <FieldCard {...props}></FieldCard>
@@ -0,0 +1,5 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M13.4002 17.4201H10.8902C9.25016 17.4201 7.92016 16.0401 7.92016 14.3401C7.92016 13.9301 8.26016 13.5901 8.67016 13.5901C9.08016 13.5901 9.42016 13.9301 9.42016 14.3401C9.42016 15.2101 10.0802 15.9201 10.8902 15.9201H13.4002C14.0502 15.9201 14.5902 15.3401 14.5902 14.6401C14.5902 13.7701 14.2802 13.6001 13.7702 13.4201L9.74016 12.0001C8.96016 11.7301 7.91016 11.1501 7.91016 9.36008C7.91016 7.82008 9.12016 6.58008 10.6002 6.58008H13.1102C14.7502 6.58008 16.0802 7.96008 16.0802 9.66008C16.0802 10.0701 15.7402 10.4101 15.3302 10.4101C14.9202 10.4101 14.5802 10.0701 14.5802 9.66008C14.5802 8.79008 13.9202 8.08008 13.1102 8.08008H10.6002C9.95016 8.08008 9.41016 8.66008 9.41016 9.36008C9.41016 10.2301 9.72016 10.4001 10.2302 10.5801L14.2602 12.0001C15.0402 12.2701 16.0902 12.8501 16.0902 14.6401C16.0802 16.1701 14.8802 17.4201 13.4002 17.4201Z" fill="#292D32"/>
3
+ <path d="M12 18.75C11.59 18.75 11.25 18.41 11.25 18V6C11.25 5.59 11.59 5.25 12 5.25C12.41 5.25 12.75 5.59 12.75 6V18C12.75 18.41 12.41 18.75 12 18.75Z" fill="#292D32"/>
4
+ <path d="M12 22.75C6.07 22.75 1.25 17.93 1.25 12C1.25 6.07 6.07 1.25 12 1.25C17.93 1.25 22.75 6.07 22.75 12C22.75 17.93 17.93 22.75 12 22.75ZM12 2.75C6.9 2.75 2.75 6.9 2.75 12C2.75 17.1 6.9 21.25 12 21.25C17.1 21.25 21.25 17.1 21.25 12C21.25 6.9 17.1 2.75 12 2.75Z" fill="#292D32"/>
5
+ </svg>
@@ -0,0 +1,94 @@
1
+ <script>
2
+ import Label from '../../../components/Label.svelte';
3
+ import Line from '../../../components/Line.svelte';
4
+ import { Button, DropdownMenu, Tag } from 'hamzus-ui';
5
+
6
+ let {
7
+ value = $bindable(''),
8
+ onChange = () => {},
9
+ name = '',
10
+ label = '',
11
+ compact = false,
12
+ unique = false,
13
+ secret = false,
14
+ required = false,
15
+ ...props
16
+ } = $props();
17
+
18
+ import currencies from './currencies.min.json';
19
+
20
+ function handleClick(currencyCode) {
21
+ if (currencyCode === null) {
22
+ value = null;
23
+ onChange(value);
24
+ return;
25
+ }
26
+ if (value === currencyCode) return;
27
+
28
+ value = currencyCode;
29
+
30
+ onChange(currencyCode);
31
+ }
32
+
33
+ const selectedChoice = $derived(currencies[value] ?? null);
34
+ </script>
35
+
36
+ <Line {compact}>
37
+ <Label {unique} {secret} {label} {required}></Label>
38
+ <div class="choices">
39
+ <input type="text" {name} bind:value {required} style="display:none" {...props} />
40
+
41
+ <DropdownMenu.Root direction="bottom">
42
+ <DropdownMenu.Trigger slot="trigger">
43
+ <Button variant="outline" style="width:100%;">
44
+ {#if selectedChoice}
45
+ <h5>
46
+ {selectedChoice.name}
47
+ <span style="color: var(--font-1);">{selectedChoice.symbolNative}</span>
48
+ </h5>
49
+ {:else}
50
+ <h5>Sélectionner</h5>
51
+ {/if}
52
+ </Button>
53
+ </DropdownMenu.Trigger>
54
+
55
+ <DropdownMenu.Content slot="content" width="var(--hamzus-tigger-width)">
56
+ {#if !required}
57
+ <Button
58
+ variant="ghost"
59
+ style="width:100%;color:{value === null ? 'var(--accent)' : ''}"
60
+ onClick={() => handleClick(null)}
61
+ >
62
+ <h5>aucun</h5>
63
+ </Button>
64
+ {/if}
65
+ {#each Object.entries(currencies) as [code, currency]}
66
+ <Button
67
+ variant="{value === code ? 'secondary' : 'ghost'}"
68
+ style="width:100%;"
69
+ onClick={() => handleClick(code)}
70
+ >
71
+ <h5>
72
+ {currency.name} <span style="color: var(--font-1);">{currency.symbolNative}</span>
73
+ </h5>
74
+ </Button>
75
+ {/each}
76
+ </DropdownMenu.Content>
77
+ </DropdownMenu.Root>
78
+ </div>
79
+ </Line>
80
+
81
+ <style>
82
+ .choices {
83
+ display: flex;
84
+ flex-direction: column;
85
+ row-gap: var(--pad-m);
86
+ padding: var(--pad-m);
87
+ background-color: var(--bg-2);
88
+ border-radius: var(--radius-m);
89
+ }
90
+
91
+ .choices:has(input:user-invalid) {
92
+ border: 1px solid var(--red);
93
+ }
94
+ </style>
@@ -0,0 +1,11 @@
1
+ <script>
2
+ import ViewText from "../../../components/ViewText.svelte";
3
+ import { formatDateTime } from "../formatDate";
4
+
5
+ let { value } = $props();
6
+
7
+
8
+ </script>
9
+
10
+
11
+ <ViewText>{value === null || value.formated === null ? '-' : value.formated.currency_data.name ?? "-"}</ViewText>
@@ -0,0 +1,16 @@
1
+ <script>
2
+ import Label from '../../../components/Label.svelte';
3
+ import LineView from '../../../components/LineView.svelte';
4
+ import ViewText from '../../../components/ViewText.svelte';
5
+ import { formatDateTime } from '../formatDate';
6
+
7
+ let { value, compact, unique, secret, label, required } = $props();
8
+
9
+
10
+ </script>
11
+
12
+ <LineView {compact}>
13
+ <Label {unique} {secret} {label} {required}></Label>
14
+ <ViewText>{value === null || value.formated === null ? '-' : value.formated.currency_data.name ?? "-"}</ViewText>
15
+
16
+ </LineView>
@@ -0,0 +1 @@
1
+ {"AED":{"name":"United Arab Emirates Dirham","native":"درهم إماراتي","symbol":"AED","symbolNative":"د.إ.","numeric":"784","decimals":2},"AFN":{"name":"Afghan Afghani","native":"افغانۍ","symbol":"؋","symbolNative":"؋","numeric":"971","decimals":2},"ALL":{"name":"Albanian Lek","native":"Leku shqiptar","symbol":"ALL","symbolNative":"Lekë","numeric":"008","decimals":2},"AMD":{"name":"Armenian Dram","native":"հայկական դրամ","symbol":"֏","symbolNative":"֏","numeric":"051","decimals":2},"AOA":{"name":"Angolan Kwanza","native":"kwanza angolano","symbol":"Kz","symbolNative":"Kz","numeric":"973","decimals":2},"ARS":{"name":"Argentine Peso","native":"peso argentino","symbol":"$","symbolNative":"$","numeric":"032","decimals":2},"AUD":{"name":"Australian Dollar","native":"Australian Dollar","symbol":"$","symbolNative":"$","numeric":"036","decimals":2},"AWG":{"name":"Aruban Florin","native":"Arubaanse gulden","symbol":"AWG","symbolNative":"Afl.","numeric":"533","decimals":2},"AZN":{"name":"Azerbaijani Manat","native":"Azərbaycan Manatı","symbol":"₼","symbolNative":"₼","numeric":"944","decimals":2},"BAM":{"name":"Bosnia-Herzegovina Convertible Mark","native":"Bosanskohercegovačka konvertibilna marka","symbol":"KM","symbolNative":"KM","numeric":"977","decimals":2},"BBD":{"name":"Barbadian Dollar","native":"Barbadian Dollar","symbol":"$","symbolNative":"$","numeric":"052","decimals":2},"BDT":{"name":"Bangladeshi Taka","native":"বাংলাদেশী টাকা","symbol":"৳","symbolNative":"৳","numeric":"050","decimals":2},"BHD":{"name":"Bahraini Dinar","native":"دينار بحريني","symbol":"BHD","symbolNative":"د.ب.","numeric":"048","decimals":3},"BIF":{"name":"Burundian Franc","native":"franc burundais","symbol":"BIF","symbolNative":"FBu","numeric":"108","decimals":0},"BMD":{"name":"Bermudan Dollar","native":"Bermudian Dollar","symbol":"$","symbolNative":"$","numeric":"060","decimals":2},"BND":{"name":"Brunei Dollar","native":"Dolar Brunei","symbol":"$","symbolNative":"$","numeric":"096","decimals":2},"BOB":{"name":"Bolivian Boliviano","native":"boliviano","symbol":"Bs","symbolNative":"Bs","numeric":"068","decimals":2},"BOV":{"name":"Bolivian Mvdol","native":"MVDOL boliviano","symbol":"BOV","symbolNative":"BOV","numeric":"984","decimals":2},"BRL":{"name":"Brazilian Real","native":"Real brasileiro","symbol":"R$","symbolNative":"R$","numeric":"986","decimals":2},"BSD":{"name":"Bahamian Dollar","native":"Bahamian Dollar","symbol":"$","symbolNative":"$","numeric":"044","decimals":2},"BTN":{"name":"Bhutanese Ngultrum","native":"དངུལ་ཀྲམ","symbol":"BTN","symbolNative":"Nu.","numeric":"064","decimals":2},"BWP":{"name":"Botswanan Pula","native":"Botswanan Pula","symbol":"P","symbolNative":"P","numeric":"072","decimals":2},"BYN":{"name":"Belarusian Ruble","native":"беларускі рубель","symbol":"BYN","symbolNative":"Br","numeric":"933","decimals":2},"BZD":{"name":"Belize Dollar","native":"Belize Dollar","symbol":"$","symbolNative":"$","numeric":"084","decimals":2},"CAD":{"name":"Canadian Dollar","native":"Canadian Dollar","symbol":"$","symbolNative":"$","numeric":"124","decimals":2},"CDF":{"name":"Congolese Franc","native":"franc congolais","symbol":"CDF","symbolNative":"FC","numeric":"976","decimals":2},"CHE":{"name":"WIR Euro","native":"WIR-Euro","symbol":"CHE","symbolNative":"CHE","numeric":"947","decimals":2},"CHF":{"name":"Swiss Franc","native":"Schweizer Franken","symbol":"CHF","symbolNative":"CHF","numeric":"756","decimals":2},"CHW":{"name":"WIR Franc","native":"WIR Franken","symbol":"CHW","symbolNative":"CHW","numeric":"948","decimals":2},"CLF":{"name":"Chilean Unit of Account (UF)","native":"unidad de fomento chilena","symbol":"CLF","symbolNative":"CLF","numeric":"990","decimals":4},"CLP":{"name":"Chilean Peso","native":"Peso chileno","symbol":"$","symbolNative":"$","numeric":"152","decimals":0},"CNY":{"name":"Chinese Yuan","native":"人民币","symbol":"¥","symbolNative":"¥","numeric":"156","decimals":2},"COP":{"name":"Colombian Peso","native":"peso colombiano","symbol":"$","symbolNative":"$","numeric":"170","decimals":2},"CRC":{"name":"Costa Rican Colón","native":"colón costarricense","symbol":"₡","symbolNative":"₡","numeric":"188","decimals":2},"CUP":{"name":"Cuban Peso","native":"peso cubano","symbol":"$","symbolNative":"$","numeric":"192","decimals":2},"CVE":{"name":"Cape Verdean Escudo","native":"escudo cabo-verdiano","symbol":"CVE","symbolNative":"CVE","numeric":"132","decimals":2},"CZK":{"name":"Czech Koruna","native":"česká koruna","symbol":"Kč","symbolNative":"Kč","numeric":"203","decimals":2},"DJF":{"name":"Djiboutian Franc","native":"franc djiboutien","symbol":"DJF","symbolNative":"Fdj","numeric":"262","decimals":0},"DKK":{"name":"Danish Krone","native":"dansk krone","symbol":"kr","symbolNative":"kr.","numeric":"208","decimals":2},"DOP":{"name":"Dominican Peso","native":"peso dominicano","symbol":"$","symbolNative":"$","numeric":"214","decimals":2},"DZD":{"name":"Algerian Dinar","native":"دينار جزائري","symbol":"DZD","symbolNative":"د.ج.","numeric":"012","decimals":2},"EGP":{"name":"Egyptian Pound","native":"جنيه مصري","symbol":"E£","symbolNative":"E£","numeric":"818","decimals":2},"ERN":{"name":"Eritrean Nakfa","native":"ኤርትራዊ ናቕፋ","symbol":"ERN","symbolNative":"Nfk","numeric":"232","decimals":2},"ETB":{"name":"Ethiopian Birr","native":"የኢትዮጵያ ብር","symbol":"ETB","symbolNative":"ብር","numeric":"230","decimals":2},"EUR":{"name":"Euro","native":"euro","symbol":"€","symbolNative":"€","numeric":"978","decimals":2},"FJD":{"name":"Fijian Dollar","native":"Fijian Dollar","symbol":"$","symbolNative":"$","numeric":"242","decimals":2},"FKP":{"name":"Falkland Islands Pound","native":"Falkland Islands Pound","symbol":"£","symbolNative":"£","numeric":"238","decimals":2},"GBP":{"name":"British Pound","native":"British Pound","symbol":"£","symbolNative":"£","numeric":"826","decimals":2},"GEL":{"name":"Georgian Lari","native":"ქართული ლარი","symbol":"₾","symbolNative":"₾","numeric":"981","decimals":2},"GHS":{"name":"Ghanaian Cedi","native":"Ghanaian Cedi","symbol":"GH₵","symbolNative":"GH₵","numeric":"936","decimals":2},"GIP":{"name":"Gibraltar Pound","native":"Gibraltar Pound","symbol":"£","symbolNative":"£","numeric":"292","decimals":2},"GMD":{"name":"Gambian Dalasi","native":"Gambian Dalasi","symbol":"GMD","symbolNative":"D","numeric":"270","decimals":2},"GNF":{"name":"Guinean Franc","native":"franc guinéen","symbol":"FG","symbolNative":"FG","numeric":"324","decimals":0},"GTQ":{"name":"Guatemalan Quetzal","native":"quetzal","symbol":"Q","symbolNative":"Q","numeric":"320","decimals":2},"GYD":{"name":"Guyanese Dollar","native":"Guyanese Dollar","symbol":"$","symbolNative":"$","numeric":"328","decimals":2},"HKD":{"name":"Hong Kong Dollar","native":"港元","symbol":"$","symbolNative":"$","numeric":"344","decimals":2},"HNL":{"name":"Honduran Lempira","native":"lempira hondureño","symbol":"L","symbolNative":"L","numeric":"340","decimals":2},"HTG":{"name":"Haitian Gourde","native":"gourde haïtienne","symbol":"HTG","symbolNative":"G","numeric":"332","decimals":2},"HUF":{"name":"Hungarian Forint","native":"magyar forint","symbol":"Ft","symbolNative":"Ft","numeric":"348","decimals":2},"IDR":{"name":"Indonesian Rupiah","native":"Rupiah Indonesia","symbol":"Rp","symbolNative":"Rp","numeric":"360","decimals":2},"ILS":{"name":"Israeli New Shekel","native":"שקל חדש","symbol":"₪","symbolNative":"₪","numeric":"376","decimals":2},"INR":{"name":"Indian Rupee","native":"भारतीय रुपया","symbol":"₹","symbolNative":"₹","numeric":"356","decimals":2},"IQD":{"name":"Iraqi Dinar","native":"دينار عراقي","symbol":"IQD","symbolNative":"د.ع.","numeric":"368","decimals":3},"IRR":{"name":"Iranian Rial","native":"ریال ایران","symbol":"IRR","symbolNative":"ریال","numeric":"364","decimals":2},"ISK":{"name":"Icelandic Króna","native":"íslensk króna","symbol":"kr","symbolNative":"kr.","numeric":"352","decimals":0},"JMD":{"name":"Jamaican Dollar","native":"Jamaican Dollar","symbol":"$","symbolNative":"$","numeric":"388","decimals":2},"JOD":{"name":"Jordanian Dinar","native":"دينار أردني","symbol":"JOD","symbolNative":"د.أ.","numeric":"400","decimals":3},"JPY":{"name":"Japanese Yen","native":"日本円","symbol":"¥","symbolNative":"¥","numeric":"392","decimals":0},"KES":{"name":"Kenyan Shilling","native":"Kenyan Shilling","symbol":"KES","symbolNative":"Ksh","numeric":"404","decimals":2},"KGS":{"name":"Kyrgyz Som","native":"Кыргызстан сому","symbol":"⃀","symbolNative":"⃀","numeric":"417","decimals":2},"KHR":{"name":"Cambodian Riel","native":"រៀល​កម្ពុជា","symbol":"៛","symbolNative":"៛","numeric":"116","decimals":2},"KMF":{"name":"Comorian Franc","native":"فرنك جزر القمر","symbol":"CF","symbolNative":"CF","numeric":"174","decimals":0},"KPW":{"name":"North Korean Won","native":"조선 민주주의 인민 공화국 원","symbol":"₩","symbolNative":"₩","numeric":"408","decimals":2},"KRW":{"name":"South Korean Won","native":"대한민국 원","symbol":"₩","symbolNative":"₩","numeric":"410","decimals":0},"KWD":{"name":"Kuwaiti Dinar","native":"دينار كويتي","symbol":"KWD","symbolNative":"د.ك.","numeric":"414","decimals":3},"KYD":{"name":"Cayman Islands Dollar","native":"Cayman Islands Dollar","symbol":"$","symbolNative":"$","numeric":"136","decimals":2},"KZT":{"name":"Kazakhstani Tenge","native":"Қазақстан теңгесі","symbol":"₸","symbolNative":"₸","numeric":"398","decimals":2},"LAK":{"name":"Laotian Kip","native":"ລາວ ກີບ","symbol":"₭","symbolNative":"₭","numeric":"418","decimals":2},"LBP":{"name":"Lebanese Pound","native":"جنيه لبناني","symbol":"L£","symbolNative":"L£","numeric":"422","decimals":2},"LKR":{"name":"Sri Lankan Rupee","native":"ශ්‍රී ලංකා රුපියල","symbol":"Rs","symbolNative":"රු.","numeric":"144","decimals":2},"LRD":{"name":"Liberian Dollar","native":"Liberian Dollar","symbol":"$","symbolNative":"$","numeric":"430","decimals":2},"LSL":{"name":"Lesotho Loti","native":"Lesotho Loti","symbol":"LSL","symbolNative":"LSL","numeric":"426","decimals":2},"LYD":{"name":"Libyan Dinar","native":"دينار ليبي","symbol":"LYD","symbolNative":"د.ل.","numeric":"434","decimals":3},"MAD":{"name":"Moroccan Dirham","native":"dírham marroquí","symbol":"MAD","symbolNative":"MAD","numeric":"504","decimals":2},"MDL":{"name":"Moldovan Leu","native":"leu moldovenesc","symbol":"MDL","symbolNative":"L","numeric":"498","decimals":2},"MGA":{"name":"Malagasy Ariary","native":"ariary malgache","symbol":"Ar","symbolNative":"Ar","numeric":"969","decimals":2},"MKD":{"name":"Macedonian Denar","native":"Македонски денар","symbol":"MKD","symbolNative":"ден.","numeric":"807","decimals":2},"MMK":{"name":"Myanmar Kyat","native":"မြန်မာ ကျပ်","symbol":"K","symbolNative":"K","numeric":"104","decimals":2},"MNT":{"name":"Mongolian Tugrik","native":"Монгол төгрөг","symbol":"₮","symbolNative":"₮","numeric":"496","decimals":2},"MOP":{"name":"Macanese Pataca","native":"澳門元","symbol":"MOP","symbolNative":"MOP$","numeric":"446","decimals":2},"MRU":{"name":"Mauritanian Ouguiya","native":"أوقية موريتانية","symbol":"MRU","symbolNative":"أ.م.","numeric":"929","decimals":2},"MUR":{"name":"Mauritian Rupee","native":"Mauritian Rupee","symbol":"Rs","symbolNative":"Rs","numeric":"480","decimals":2},"MVR":{"name":"Maldivian Rufiyaa","native":"Maldivian Rufiyaa","symbol":"MVR","symbolNative":"ރ.","numeric":"462","decimals":2},"MWK":{"name":"Malawian Kwacha","native":"Malawian Kwacha","symbol":"MWK","symbolNative":"MK","numeric":"454","decimals":2},"MXN":{"name":"Mexican Peso","native":"peso mexicano","symbol":"$","symbolNative":"$","numeric":"484","decimals":2},"MYR":{"name":"Malaysian Ringgit","native":"Ringgit Malaysia","symbol":"RM","symbolNative":"RM","numeric":"458","decimals":2},"MZN":{"name":"Mozambican Metical","native":"metical moçambicano","symbol":"MZN","symbolNative":"MTn","numeric":"943","decimals":2},"NAD":{"name":"Namibian Dollar","native":"Namibian Dollar","symbol":"$","symbolNative":"$","numeric":"516","decimals":2},"NGN":{"name":"Nigerian Naira","native":"Nigerian Naira","symbol":"₦","symbolNative":"₦","numeric":"566","decimals":2},"NIO":{"name":"Nicaraguan Córdoba","native":"córdoba nicaragüense","symbol":"C$","symbolNative":"C$","numeric":"558","decimals":2},"NOK":{"name":"Norwegian Krone","native":"norske kroner","symbol":"kr","symbolNative":"kr","numeric":"578","decimals":2},"NPR":{"name":"Nepalese Rupee","native":"नेपाली रूपैयाँ","symbol":"Rs","symbolNative":"रू","numeric":"524","decimals":2},"NZD":{"name":"New Zealand Dollar","native":"New Zealand Dollar","symbol":"$","symbolNative":"$","numeric":"554","decimals":2},"OMR":{"name":"Omani Rial","native":"ريال عماني","symbol":"OMR","symbolNative":"ر.ع.","numeric":"512","decimals":3},"PAB":{"name":"Panamanian Balboa","native":"balboa panameño","symbol":"PAB","symbolNative":"B/.","numeric":"590","decimals":2},"PEN":{"name":"Peruvian Sol","native":"sol peruano","symbol":"PEN","symbolNative":"S/","numeric":"604","decimals":2},"PGK":{"name":"Papua New Guinean Kina","native":"Papua New Guinean Kina","symbol":"PGK","symbolNative":"K","numeric":"598","decimals":2},"PHP":{"name":"Philippine Peso","native":"Philippine Peso","symbol":"₱","symbolNative":"₱","numeric":"608","decimals":2},"PKR":{"name":"Pakistani Rupee","native":"Pakistani Rupee","symbol":"Rs","symbolNative":"Rs","numeric":"586","decimals":2},"PLN":{"name":"Polish Zloty","native":"złoty polski","symbol":"zł","symbolNative":"zł","numeric":"985","decimals":2},"PYG":{"name":"Paraguayan Guarani","native":"guaraní paraguayo","symbol":"₲","symbolNative":"₲","numeric":"600","decimals":0},"QAR":{"name":"Qatari Riyal","native":"ريال قطري","symbol":"QAR","symbolNative":"ر.ق.","numeric":"634","decimals":2},"RON":{"name":"Romanian Leu","native":"leu românesc","symbol":"lei","symbolNative":"lei","numeric":"946","decimals":2},"RSD":{"name":"Serbian Dinar","native":"српски динар","symbol":"RSD","symbolNative":"RSD","numeric":"941","decimals":2},"RUB":{"name":"Russian Ruble","native":"российский рубль","symbol":"₽","symbolNative":"₽","numeric":"643","decimals":2},"RWF":{"name":"Rwandan Franc","native":"Rwandan Franc","symbol":"RF","symbolNative":"RF","numeric":"646","decimals":0},"SAR":{"name":"Saudi Riyal","native":"ريال سعودي","symbol":"SAR","symbolNative":"ر.س.","numeric":"682","decimals":2},"SBD":{"name":"Solomon Islands Dollar","native":"Solomon Islands Dollar","symbol":"$","symbolNative":"$","numeric":"090","decimals":2},"SCR":{"name":"Seychellois Rupee","native":"roupie des Seychelles","symbol":"SCR","symbolNative":"SR","numeric":"690","decimals":2},"SDG":{"name":"Sudanese Pound","native":"جنيه سوداني","symbol":"SDG","symbolNative":"ج.س.","numeric":"938","decimals":2},"SEK":{"name":"Swedish Krona","native":"svensk krona","symbol":"kr","symbolNative":"kr","numeric":"752","decimals":2},"SGD":{"name":"Singapore Dollar","native":"Singapore Dollar","symbol":"$","symbolNative":"$","numeric":"702","decimals":2},"SHP":{"name":"St. Helena Pound","native":"St. Helena Pound","symbol":"£","symbolNative":"£","numeric":"654","decimals":2},"SLE":{"name":"Sierra Leonean Leone","native":"Sierra Leonean Leone","symbol":"SLE","symbolNative":"Le","numeric":"925","decimals":2},"SOS":{"name":"Somali Shilling","native":"Shilingka Soomaaliya","symbol":"SOS","symbolNative":"S","numeric":"706","decimals":2},"SRD":{"name":"Surinamese Dollar","native":"Surinaamse dollar","symbol":"$","symbolNative":"$","numeric":"968","decimals":2},"SSP":{"name":"South Sudanese Pound","native":"South Sudanese Pound","symbol":"£","symbolNative":"£","numeric":"728","decimals":2},"STN":{"name":"São Tomé & Príncipe Dobra","native":"dobra de São Tomé e Príncipe","symbol":"Db","symbolNative":"Db","numeric":"930","decimals":2},"SVC":{"name":"Salvadoran Colón","native":"colón salvadoreño","symbol":"SVC","symbolNative":"SVC","numeric":"222","decimals":2},"SYP":{"name":"Syrian Pound","native":"ليرة سورية","symbol":"£","symbolNative":"£","numeric":"760","decimals":2},"SZL":{"name":"Swazi Lilangeni","native":"Swazi Lilangeni","symbol":"SZL","symbolNative":"E","numeric":"748","decimals":2},"THB":{"name":"Thai Baht","native":"บาท","symbol":"฿","symbolNative":"฿","numeric":"764","decimals":2},"TJS":{"name":"Tajikistani Somoni","native":"Сомонии Тоҷикистон","symbol":"TJS","symbolNative":"сом.","numeric":"972","decimals":2},"TMT":{"name":"Turkmenistani Manat","native":"Türkmen manady","symbol":"TMT","symbolNative":"TMT","numeric":"934","decimals":2},"TND":{"name":"Tunisian Dinar","native":"دينار تونسي","symbol":"TND","symbolNative":"د.ت.","numeric":"788","decimals":3},"TOP":{"name":"Tongan Paʻanga","native":"Tongan Paʻanga","symbol":"T$","symbolNative":"T$","numeric":"776","decimals":2},"TRY":{"name":"Turkish Lira","native":"Türk lirası","symbol":"₺","symbolNative":"₺","numeric":"949","decimals":2},"TTD":{"name":"Trinidad & Tobago Dollar","native":"Trinidad & Tobago Dollar","symbol":"$","symbolNative":"$","numeric":"780","decimals":2},"TWD":{"name":"New Taiwan Dollar","native":"新台幣","symbol":"$","symbolNative":"$","numeric":"901","decimals":2},"TZS":{"name":"Tanzanian Shilling","native":"Shilingi ya Tanzania","symbol":"TZS","symbolNative":"TSh","numeric":"834","decimals":2},"UAH":{"name":"Ukrainian Hryvnia","native":"українська гривня","symbol":"₴","symbolNative":"₴","numeric":"980","decimals":2},"UGX":{"name":"Ugandan Shilling","native":"Ugandan Shilling","symbol":"UGX","symbolNative":"USh","numeric":"800","decimals":0},"USD":{"name":"US Dollar","native":"US Dollar","symbol":"$","symbolNative":"$","numeric":"840","decimals":2},"USN":{"name":"US Dollar (Next day)","native":"US Dollar (Next day)","symbol":"USN","symbolNative":"USN","numeric":"997","decimals":2},"UYI":{"name":"Uruguayan Peso (Indexed Units)","native":"peso uruguayo en unidades indexadas","symbol":"UYI","symbolNative":"UYI","numeric":"940","decimals":0},"UYU":{"name":"Uruguayan Peso","native":"peso uruguayo","symbol":"$","symbolNative":"$","numeric":"858","decimals":2},"UZS":{"name":"Uzbekistani Som","native":"O‘zbekiston so‘mi","symbol":"UZS","symbolNative":"soʻm","numeric":"860","decimals":2},"VES":{"name":"Venezuelan Bolívar","native":"bolívar soberano","symbol":"VES","symbolNative":"Bs.S","numeric":"928","decimals":2},"VND":{"name":"Vietnamese Dong","native":"Đồng Việt Nam","symbol":"₫","symbolNative":"₫","numeric":"704","decimals":0},"VUV":{"name":"Vanuatu Vatu","native":"Vanuatu Vatu","symbol":"VUV","symbolNative":"VUV","numeric":"548","decimals":0},"WST":{"name":"Samoan Tala","native":"Samoan Tala","symbol":"WST","symbolNative":"WST","numeric":"882","decimals":2},"XAF":{"name":"Central African CFA Franc","native":"franc CFA (BEAC)","symbol":"FCFA","symbolNative":"FCFA","numeric":"950","decimals":0},"XCD":{"name":"East Caribbean Dollar","native":"East Caribbean Dollar","symbol":"$","symbolNative":"$","numeric":"951","decimals":2},"XCG":{"name":"Caribbean guilder","native":"Caribische gulden","symbol":"Cg","symbolNative":"Cg","numeric":"532","decimals":2},"XOF":{"name":"West African CFA Franc","native":"franc CFA (BCEAO)","symbol":"F CFA","symbolNative":"F CFA","numeric":"952","decimals":0},"XPF":{"name":"CFP Franc","native":"franc CFP","symbol":"CFPF","symbolNative":"FCFP","numeric":"953","decimals":0},"YER":{"name":"Yemeni Rial","native":"ريال يمني","symbol":"YER","symbolNative":"ر.ي.","numeric":"886","decimals":2},"ZAR":{"name":"South African Rand","native":"Suid-Afrikaanse rand","symbol":"R","symbolNative":"R","numeric":"710","decimals":2},"ZMW":{"name":"Zambian Kwacha","native":"Zambian Kwacha","symbol":"ZK","symbolNative":"ZK","numeric":"967","decimals":2},"ZWG":{"name":"Zimbabwean Gold","native":"Zimbabwean Gold","symbol":"ZWG","symbolNative":"ZWG","numeric":"924","decimals":2}}
@@ -0,0 +1,40 @@
1
+ import { createFieldType } from '../../../createFieldType';
2
+
3
+ import Icon from './Icon.svelte';
4
+ import Button from './Button.svelte';
5
+ import Card from './Card.svelte';
6
+ import TableView from './TableView.svelte';
7
+ import View from './View.svelte';
8
+ import Input from './Input.svelte';
9
+
10
+ export default createFieldType({
11
+ type: 'money-currency',
12
+
13
+ category_path: 'money',
14
+
15
+ label: 'Devises',
16
+ description: 'Liste des devises.',
17
+
18
+ is_hidden: false,
19
+
20
+ defaultProps: {},
21
+
22
+ can_be_required: true,
23
+ can_be_unique: true,
24
+
25
+ components: {
26
+ icon: Icon,
27
+ button: Button,
28
+ card: Card,
29
+ input: Input,
30
+ tableView: TableView,
31
+ view: View,
32
+ filter: null,
33
+ properties: null
34
+ },
35
+
36
+ formatter: (value) => value,
37
+ parser: (value) => value,
38
+
39
+ validate: () => true
40
+ });
@@ -0,0 +1,155 @@
1
+
2
+ export function formatDateFromTimestamp(timestamp) {
3
+ // Créer une instance Date à partir du timestamp
4
+ const date = new Date(timestamp);
5
+
6
+ // Utiliser Intl.DateTimeFormat pour formater la date
7
+ const formatter = new Intl.DateTimeFormat('fr-FR', {
8
+ year: 'numeric',
9
+ month: '2-digit',
10
+ day: '2-digit',
11
+ hour: '2-digit',
12
+ minute: '2-digit',
13
+ second: '2-digit',
14
+ hour12: false // Utiliser l'heure au format 24 heures
15
+ });
16
+
17
+ // Formatage de la date avec Intl.DateTimeFormat
18
+ const parts = formatter.formatToParts(date);
19
+
20
+ // Extraire les différentes parties de la date
21
+ const year = parts.find(part => part.type === 'year').value;
22
+ const month = parts.find(part => part.type === 'month').value;
23
+ const day = parts.find(part => part.type === 'day').value;
24
+ const hour = parts.find(part => part.type === 'hour').value;
25
+ const minute = parts.find(part => part.type === 'minute').value;
26
+ const second = parts.find(part => part.type === 'second').value;
27
+
28
+ // Formater la date selon le format souhaité
29
+ return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
30
+ }
31
+
32
+ export function formatDate(dateOrigine) {
33
+ dateOrigine = new Date(dateOrigine);
34
+
35
+ // Extraction des composants de la date
36
+ let annee = dateOrigine.getFullYear();
37
+ let mois = dateOrigine.getMonth() + 1; // Les mois commencent à 0, donc ajoutez 1
38
+ let jour = dateOrigine.getDate();
39
+
40
+ // Formatage des composants de la date
41
+ let dateFormatee = (jour < 10 ? '0' : '') + jour + '/' +
42
+ (mois < 10 ? '0' : '') + mois + '/' +
43
+ annee
44
+ return dateFormatee;
45
+ }
46
+
47
+ export function formatDateTime(dateOrigine) {
48
+ dateOrigine = new Date(convertToLocalDateTime(dateOrigine));
49
+
50
+ // Extraction des composants de la date
51
+ let annee = dateOrigine.getFullYear();
52
+ let mois = dateOrigine.getMonth() + 1; // Les mois commencent à 0, donc ajoutez 1
53
+ let jour = dateOrigine.getDate();
54
+ let heures = dateOrigine.getHours();
55
+ let minutes = dateOrigine.getMinutes();
56
+ let secondes = dateOrigine.getSeconds();
57
+
58
+ // Formatage des composants de la date
59
+ let dateFormatee = (jour < 10 ? '0' : '') + jour + '/' +
60
+ (mois < 10 ? '0' : '') + mois + '/' +
61
+ annee + ' à ' +
62
+ (heures < 10 ? '0' : '') + heures + ':' +
63
+ (minutes < 10 ? '0' : '') + minutes + ":" +
64
+ (secondes < 10 ? '0' : '') + secondes;
65
+ return dateFormatee;
66
+ }
67
+ export function formatTime(dateOrigine) {
68
+ dateOrigine = new Date(convertToLocalDateTime(dateOrigine));
69
+
70
+ let heures = dateOrigine.getHours();
71
+ let minutes = dateOrigine.getMinutes();
72
+
73
+ // Formatage des composants de la date
74
+ let dateFormatee = (heures < 10 ? '0' : '') + heures + 'h' +
75
+ (minutes < 10 ? '0' : '') + minutes;
76
+ return dateFormatee;
77
+ }
78
+ export function convertirSec(secondes) {
79
+ const heures = Math.floor(secondes / 3600);
80
+ let minutes = Math.floor((secondes % 3600) / 60);
81
+ if (heures !== 0) {
82
+ minutes = minutes.toString().length == 1 ? '0' + minutes : minutes
83
+
84
+ return `${heures}h${minutes}`;
85
+ }else{
86
+ return `${minutes}min`;
87
+ }
88
+ }
89
+
90
+ export function formatMonth(dateString) {
91
+ const date = new Date(dateString);
92
+
93
+ // Formatage en "mois année" (par exemple, "octobre 2024" en français)
94
+ const options = { year: 'numeric', month: 'long' };
95
+ return new Intl.DateTimeFormat('fr-FR', options).format(date);
96
+ }
97
+ export function timeSince(date) {
98
+ const now = new Date();
99
+ const past = new Date(convertToLocalDateTime(date));
100
+ const diffMs = now - past; // en millisecondes
101
+
102
+ const seconds = Math.floor(diffMs / 1000);
103
+ const minutes = Math.floor(diffMs / (1000 * 60));
104
+ const hours = Math.floor(diffMs / (1000 * 60 * 60));
105
+ const days = Math.floor(diffMs / (1000 * 60 * 60 * 24));
106
+
107
+ if (seconds < 60) {
108
+ return `il y a ${seconds} sec`;
109
+ } else if (minutes < 60) {
110
+ return `il y a ${minutes} min`;
111
+ } else if (hours < 24) {
112
+ return `il y a ${hours} h`;
113
+ } else {
114
+ return `il y a ${days} j`;
115
+ }
116
+ }
117
+
118
+ export function convertToLocalDateTime(Datetime) {
119
+ // Convertir la chaîne en objet Date UTC
120
+ const utcDate = new Date(Datetime.replace(' ', 'T') + 'Z');
121
+
122
+ // Extraire les composants de la date locale
123
+ const year = utcDate.getFullYear();
124
+ const month = String(utcDate.getMonth() + 1).padStart(2, '0'); // Mois de 0 à 11, on ajoute donc 1
125
+ const day = String(utcDate.getDate()).padStart(2, '0');
126
+
127
+ // Extraire les composants de l'heure locale
128
+ const hours = String(utcDate.getHours()).padStart(2, '0');
129
+ const minutes = String(utcDate.getMinutes()).padStart(2, '0');
130
+ const seconds = String(utcDate.getSeconds()).padStart(2, '0');
131
+
132
+ // Formater la date et l'heure en YYYY-MM-DD HH:mm:SS
133
+ const localDateTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
134
+
135
+ return localDateTime;
136
+ }
137
+ export function convertToLocalDateTimeForDateTime(Datetime) {
138
+ // Convertir la chaîne en objet Date UTC
139
+ const utcDate = new Date(Datetime.replace(' ', 'T') + 'Z');
140
+
141
+ // Extraire les composants de la date locale
142
+ const year = utcDate.getFullYear();
143
+ const month = String(utcDate.getMonth() + 1).padStart(2, '0'); // Mois de 0 à 11, on ajoute donc 1
144
+ const day = String(utcDate.getDate()).padStart(2, '0');
145
+
146
+ // Extraire les composants de l'heure locale
147
+ const hours = String(utcDate.getHours()).padStart(2, '0');
148
+ const minutes = String(utcDate.getMinutes()).padStart(2, '0');
149
+
150
+ // Formater la date et l'heure en YYYY-MM-DD HH:mm:SS
151
+ const localDateTime = `${year}-${month}-${day} ${hours}:${minutes}`;
152
+
153
+ return localDateTime;
154
+ }
155
+
@@ -26,6 +26,8 @@ import TimeYear from './fieldTypes/time/TimeYear';
26
26
  import TimeUpdatedAt from './fieldTypes/time/TimeUpdatedAt';
27
27
  import TimeCreatedAt from './fieldTypes/time/TimeCreatedAt';
28
28
  import TimeHour from './fieldTypes/time/TimeHour';
29
+ import MoneyCurrency from './fieldTypes/money/MoneyCurrency';
30
+ import LocalisationLand from './fieldTypes/localisation/LocalisationLand';
29
31
 
30
32
  export function registerDefaultFieldTypes() {
31
33
  fieldTypeRegistry.register(Primary);
@@ -64,4 +66,10 @@ export function registerDefaultFieldTypes() {
64
66
  fieldTypeRegistry.register(TimeUpdatedAt);
65
67
  fieldTypeRegistry.register(TimeCreatedAt);
66
68
  fieldTypeRegistry.register(TimeHour);
69
+
70
+ // money
71
+ fieldTypeRegistry.register(MoneyCurrency);
72
+
73
+ // localisation
74
+ fieldTypeRegistry.register(LocalisationLand);
67
75
  }
@@ -16,7 +16,7 @@
16
16
  import FieldTypeView from '$lib/registry/fieldTypeRegistry/components/FieldTypeView.svelte';
17
17
  import { fieldTypeRegistry } from '$lib/registry/fieldTypeRegistry/registry.svelte';
18
18
  import ViewTypeComponent from '$lib/registry/viewEntriesTypeRegistry/components/ViewEntriesTypeComponent.svelte';
19
- import { viewTypeRegistry } from '$lib/registry/viewEntriesTypeRegistry/registry.svelte';
19
+ import { viewEntriesTypeRegistry } from '$lib/registry/viewEntriesTypeRegistry/registry.svelte';
20
20
  import { onMount } from 'svelte';
21
21
 
22
22
  const entities = entityRegistry.getAll();
@@ -116,12 +116,12 @@
116
116
 
117
117
  }
118
118
 
119
- const tableView = viewTypeRegistry.get("table")
119
+ const tableView = viewEntriesTypeRegistry.get("table")
120
120
  </script>
121
121
  <h3>Vues</h3>
122
122
  <div class="view">
123
123
  <h3>{tableView.name}</h3>
124
- <ViewTypeComponent type="table" entityId={82}></ViewTypeComponent>
124
+ <!-- <ViewTypeComponent type="table" entityId={82}></ViewTypeComponent> -->
125
125
  </div>
126
126
  <h3>Entré</h3>
127
127
  <div class="entry">