zuii 1.4.13 → 1.4.15

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 (45) hide show
  1. package/dist/components/Button/react/index.js +20 -20
  2. package/dist/components/Color/react/index.js +10 -9
  3. package/dist/components/Dashboard/react/index.d.ts +1 -0
  4. package/dist/components/Dashboard/react/index.js +16 -15
  5. package/dist/components/Dashboard/style/index.css +1 -1
  6. package/dist/components/Errorpage/react/index.js +4 -3
  7. package/dist/components/Form/js/select.d.ts +1 -1
  8. package/dist/components/Form/js/select.js +33 -12
  9. package/dist/components/Form/react/Select.d.ts +10 -1
  10. package/dist/components/Form/react/Select.js +58 -40
  11. package/dist/components/Form/react/index.d.ts +1 -1
  12. package/dist/components/Form/style/index.css +1 -1
  13. package/dist/components/Group/style/index.css +1 -1
  14. package/dist/components/Icon/react/index.d.ts +17 -1
  15. package/dist/components/Icon/react/index.js +10 -7
  16. package/dist/components/Icon/style/index.css +1 -1
  17. package/dist/components/Lang-selector/js/language-selector.d.ts +3 -1
  18. package/dist/components/Lang-selector/js/language-selector.js +15 -13
  19. package/dist/components/Lang-selector/react/index.d.ts +14 -1
  20. package/dist/components/Lang-selector/react/index.js +29 -20
  21. package/dist/components/Loader/js/loader.d.ts +24 -0
  22. package/dist/components/Loader/js/loader.js +8 -0
  23. package/dist/components/Loader/react/index.d.ts +27 -0
  24. package/dist/components/Loader/react/index.js +38 -0
  25. package/dist/components/Loader/style/index.css +1 -0
  26. package/dist/components/Modal/style/index.css +1 -1
  27. package/dist/components/Nav/react/index.js +24 -23
  28. package/dist/components/Placeholder/react/index.d.ts +3 -1
  29. package/dist/components/Placeholder/react/index.js +11 -10
  30. package/dist/components/Placeholder/style/index.css +1 -1
  31. package/dist/components/Table/js/table.d.ts +1 -1
  32. package/dist/components/Table/style/index.css +1 -1
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.js +44 -40
  35. package/dist/templates/Forms/Forms-elements.tsx +18 -3
  36. package/dist/templates/Forms/Forms.tsx +1 -1
  37. package/dist/templates/Lang-selector/LangSelectors.tsx +29 -1
  38. package/dist/templates/Loaders/Loaders.d.ts +6 -0
  39. package/dist/templates/Loaders/Loaders.tsx +78 -0
  40. package/dist/templates/Placeholders/Placeholders.tsx +5 -0
  41. package/dist/templates/Tables/tables.data.d.ts +1 -1
  42. package/dist/templates/Tables/tables.data.tsx +6 -6
  43. package/dist/templates/index.d.ts +1 -0
  44. package/dist/templates/index.ts +1 -0
  45. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -23,3 +23,4 @@ export * from './components/Nav/react';
23
23
  export * from './components/Lang-selector/react';
24
24
  export * from './components/Auth/react';
25
25
  export * from './components/Errorpage/react';
26
+ export * from './components/Loader/react';
package/dist/index.js CHANGED
@@ -1,60 +1,64 @@
1
1
  import './core/styles/main.css';/* empty css */
2
2
  import { Color as t } from "./components/Color/react/index.js";
3
3
  import { Button as m } from "./components/Button/react/index.js";
4
- import { Icon as f } from "./components/Icon/react/index.js";
5
- import { Group as d } from "./components/Group/react/index.js";
6
- import { Avatar as l } from "./components/Avatar/react/index.js";
7
- import { Badge as c } from "./components/Badge/react/index.js";
8
- import { Divider as u } from "./components/Divider/react/index.js";
9
- import { ContextMenu as g } from "./components/Context-menu/react/index.js";
10
- import { Form as B } from "./components/Form/react/index.js";
11
- import { Shadow as v } from "./components/Shadow/react/index.js";
4
+ import { Icon as f, SizeProvider as a, useSize as d } from "./components/Icon/react/index.js";
5
+ import { Group as n } from "./components/Group/react/index.js";
6
+ import { Avatar as c } from "./components/Avatar/react/index.js";
7
+ import { Badge as A } from "./components/Badge/react/index.js";
8
+ import { Divider as g } from "./components/Divider/react/index.js";
9
+ import { ContextMenu as v } from "./components/Context-menu/react/index.js";
10
+ import { Form as L } from "./components/Form/react/index.js";
11
+ import { Shadow as b } from "./components/Shadow/react/index.js";
12
12
  import { Radius as D } from "./components/Radius/react/index.js";
13
- import { Dropdown as T } from "./components/Dropdown/react/index.js";
13
+ import { Dropdown as w } from "./components/Dropdown/react/index.js";
14
14
  import { Logo as M } from "./components/Logo/react/index.js";
15
15
  import { Modal as k } from "./components/Modal/react/index.js";
16
16
  import { Placeholder as F } from "./components/Placeholder/react/index.js";
17
17
  import { Tooltip as H } from "./components/Tooltip/react/index.js";
18
18
  import { Table as N } from "./components/Table/react/index.js";
19
- import { Accordion as R } from "./components/Accordion/react/index.js";
20
- import { Tabs as q } from "./components/Tab/react/index.js";
21
- import { Alert as z, AlertBase as J, AlertHeading as K, AlertLink as O } from "./components/Alert/react/index.js";
22
- import { Dashboard as U } from "./components/Dashboard/react/index.js";
23
- import { Nav as W } from "./components/Nav/react/index.js";
24
- import { LangSelector as Y } from "./components/Lang-selector/react/index.js";
25
- import { Auth as _ } from "./components/Auth/react/index.js";
26
- import { Errorpage as oo } from "./components/Errorpage/react/index.js";
27
- import { default as eo } from "./node_modules/.pnpm/react-bootstrap@2.10.10_@types_react@19.2.10_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-bootstrap/esm/AccordionContext.js";
28
- import { useAccordionButton as po } from "react-bootstrap";
19
+ import { Accordion as j } from "./components/Accordion/react/index.js";
20
+ import { Tabs as y } from "./components/Tab/react/index.js";
21
+ import { Alert as K, AlertBase as O, AlertHeading as Q, AlertLink as U } from "./components/Alert/react/index.js";
22
+ import { Dashboard as W } from "./components/Dashboard/react/index.js";
23
+ import { Nav as Y } from "./components/Nav/react/index.js";
24
+ import { LangSelector as _ } from "./components/Lang-selector/react/index.js";
25
+ import { Auth as oo } from "./components/Auth/react/index.js";
26
+ import { Errorpage as eo } from "./components/Errorpage/react/index.js";
27
+ import { Loader as po } from "./components/Loader/react/index.js";
28
+ import { default as xo } from "./node_modules/.pnpm/react-bootstrap@2.10.10_@types_react@19.2.10_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-bootstrap/esm/AccordionContext.js";
29
+ import { useAccordionButton as ao } from "react-bootstrap";
29
30
  export {
30
- R as Accordion,
31
- eo as AccordionContext,
32
- z as Alert,
33
- J as AlertBase,
34
- K as AlertHeading,
35
- O as AlertLink,
36
- _ as Auth,
37
- l as Avatar,
38
- c as Badge,
31
+ j as Accordion,
32
+ xo as AccordionContext,
33
+ K as Alert,
34
+ O as AlertBase,
35
+ Q as AlertHeading,
36
+ U as AlertLink,
37
+ oo as Auth,
38
+ c as Avatar,
39
+ A as Badge,
39
40
  m as Button,
40
41
  t as Color,
41
- g as ContextMenu,
42
- U as Dashboard,
43
- u as Divider,
44
- T as Dropdown,
45
- oo as Errorpage,
46
- B as Form,
47
- d as Group,
42
+ v as ContextMenu,
43
+ W as Dashboard,
44
+ g as Divider,
45
+ w as Dropdown,
46
+ eo as Errorpage,
47
+ L as Form,
48
+ n as Group,
48
49
  f as Icon,
49
- Y as LangSelector,
50
+ _ as LangSelector,
51
+ po as Loader,
50
52
  M as Logo,
51
53
  k as Modal,
52
- W as Nav,
54
+ Y as Nav,
53
55
  F as Placeholder,
54
56
  D as Radius,
55
- v as Shadow,
57
+ b as Shadow,
58
+ a as SizeProvider,
56
59
  N as Table,
57
- q as Tabs,
60
+ y as Tabs,
58
61
  H as Tooltip,
59
- po as useAccordionButton
62
+ ao as useAccordionButton,
63
+ d as useSize
60
64
  };
@@ -6,7 +6,9 @@ import { Form } from '../../index';
6
6
  * @returns {JSX.Element} La page de démo des forms.
7
7
  */
8
8
  export const FormsElements = () => {
9
- const [value, setValue] = useState<string | string[]>(['1']);
9
+ const [selectValue, setSelectValue] = useState<string | string[]>('');
10
+ const [countryValue, setCountryValue] = useState<string | string[]>('');
11
+ const [multiValue, setMultiValue] = useState<string | string[]>(['1', '2']);
10
12
 
11
13
 
12
14
  const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {
@@ -45,7 +47,7 @@ export const FormsElements = () => {
45
47
  <Form.Check id="checkbox2" type="checkbox" label="Enter checkbox checked" name="checkbox" defaultChecked />
46
48
  <Form.Check id="radio1" type="radio" label="Enter radio option 1" name="radio" defaultChecked />
47
49
  <Form.Check id="radio2" type="radio" label="Enter radio option 2" name="radio" />
48
- <Form.Select name="select" value={value} onChange={(value) => setValue(value)} options={[
50
+ <Form.Select name="select" value={selectValue} onChange={(val) => setSelectValue(val)} options={[
49
51
  {
50
52
  text: 'Option 1',
51
53
  value: '1'
@@ -59,7 +61,20 @@ export const FormsElements = () => {
59
61
  value: '3'
60
62
  }
61
63
  ]} />
62
- <Form.Select name="selectMultiple[]" value={['1', '2']} multiple={true} options={[
64
+ <Form.Select
65
+ name="select-country"
66
+ variant="country"
67
+ value={countryValue}
68
+ onChange={(val) => setCountryValue(val)}
69
+ options={[
70
+ { text: 'France', value: 'FR' },
71
+ { text: 'Allemagne', value: 'DE', flag: 'de' },
72
+ { text: 'Espagne', value: 'ES', flag: 'es' },
73
+ { text: 'Italie', value: 'IT', flag: 'it' },
74
+ { text: 'Portugal', value: 'PT', flag: 'pt' }
75
+ ]}
76
+ />
77
+ <Form.Select name="selectMultiple[]" value={multiValue} onChange={(val) => setMultiValue(val)} multiple={true} options={[
63
78
  {
64
79
  text: 'Option 1',
65
80
  value: '1'
@@ -18,7 +18,7 @@ export const Forms = () => {
18
18
  <Form.Check type="checkbox" label="Enter checkbox" />
19
19
  <Form.Check type="radio" label="Enter radio" />
20
20
  <Form.Control type="select" placeholder="Enter select" />
21
- <Form.Control type="select-multiple" placeholder="Enter select multiple" />
21
+ <Form.Control type="select-multiple" placeholder="Enter select multiple" />
22
22
  {/* <Form.Control
23
23
  floating
24
24
  label="Email address"
@@ -42,7 +42,7 @@ export const LangSelectors = () => {
42
42
  </section>
43
43
 
44
44
  <section className="mt-4">
45
- <h2>Sélecteur de Langue (Sans Label)</h2>
45
+ <h2>Sélecteur (Sans Label)</h2>
46
46
  <p>
47
47
  Variante affichant uniquement les drapeaux.
48
48
  </p>
@@ -54,6 +54,34 @@ export const LangSelectors = () => {
54
54
  />
55
55
  </section>
56
56
 
57
+ <section className="mt-4">
58
+ <h2>Sélecteur avec Recherche</h2>
59
+ <p>
60
+ Option <code>search={"{true}"}</code> activée.
61
+ </p>
62
+
63
+ <LangSelector
64
+ options={languages.map(l => ({ value: l.code, label: l.label, flag: l.flag }))}
65
+ defaultValue={lang}
66
+ onChange={setLang}
67
+ search={true}
68
+ />
69
+ </section>
70
+
71
+ <section className="mt-4">
72
+ <h2>Sélecteur sans valeur par défaut</h2>
73
+ <p>
74
+ Option <code>hasDefault={"{false}"}</code> avec un placeholder.
75
+ </p>
76
+
77
+ <LangSelector
78
+ options={languages.map(l => ({ value: l.code, label: l.label, flag: l.flag }))}
79
+ onChange={(val) => console.log('Nouvelle langue:', val)}
80
+ hasDefault={false}
81
+ placeholder="Choisir une langue"
82
+ />
83
+ </section>
84
+
57
85
 
58
86
  </div>
59
87
  );
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Composant de démonstration pour les Loaders.
3
+ *
4
+ * @returns {JSX.Element} La page de démo des loaders.
5
+ */
6
+ export declare const Loaders: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,78 @@
1
+ import { Loader, Group } from '../../index';
2
+
3
+ /**
4
+ * Composant de démonstration pour les Loaders.
5
+ *
6
+ * @returns {JSX.Element} La page de démo des loaders.
7
+ */
8
+ export const Loaders = () => {
9
+ return (
10
+ <div className="flex flex-col gap-8">
11
+ <section>
12
+ <h2 className="mb-4 text-xl font-bold">Variantes</h2>
13
+ <Group center gap="xl" className="py-4">
14
+ <div className="flex flex-col items-center gap-3" style={{ minWidth: '100px' }}>
15
+ <Loader variant="dots" />
16
+ <span className="text-xs text-muted mt-2">Dots</span>
17
+ </div>
18
+ <div className="flex flex-col items-center gap-3" style={{ minWidth: '100px' }}>
19
+ <Loader variant="spinner" />
20
+ <span className="text-xs text-muted mt-2">Spinner</span>
21
+ </div>
22
+ <div className="flex flex-col items-center gap-3" style={{ minWidth: '100px' }}>
23
+ <Loader variant="pulse" />
24
+ <span className="text-xs text-muted mt-2">Pulse</span>
25
+ </div>
26
+ <div className="flex flex-col items-center gap-3" style={{ minWidth: '100px' }}>
27
+ <Loader variant="quad" />
28
+ <span className="text-xs text-muted mt-2">Quad</span>
29
+ </div>
30
+ </Group>
31
+ </section>
32
+
33
+ <section>
34
+ <h2 className="mb-4 text-xl font-bold">Tailles</h2>
35
+ <Group center gap="xl" className="py-4">
36
+ <div className="flex flex-col items-center gap-3" style={{ minWidth: '80px' }}>
37
+ <Loader size="sm" />
38
+ <span className="text-xs text-muted">Small</span>
39
+ </div>
40
+ <div className="flex flex-col items-center gap-3" style={{ minWidth: '80px' }}>
41
+ <Loader size="md" />
42
+ <span className="text-xs text-muted">Medium</span>
43
+ </div>
44
+ <div className="flex flex-col items-center gap-3" style={{ minWidth: '80px' }}>
45
+ <Loader size="lg" />
46
+ <span className="text-xs text-muted">Large</span>
47
+ </div>
48
+ </Group>
49
+ </section>
50
+
51
+
52
+
53
+ <section>
54
+ <h2 className="mb-4 text-xl font-bold">Avec Message</h2>
55
+ <Group center vertical gap="lg">
56
+ <Loader size="md" message="Chargement des données en cours..." />
57
+ <Loader size="lg">
58
+ <div className="text-center">
59
+ <p className="font-bold text-primary">Veuillez patienter</p>
60
+ <p className="text-sm">Traitement en cours</p>
61
+ </div>
62
+ </Loader>
63
+ </Group>
64
+ </section>
65
+
66
+ <section>
67
+ <h2 className="mb-4 text-xl font-bold">Variantes de couleurs</h2>
68
+ <Group center gap="xl">
69
+ <Loader color="success" variant="dots" />
70
+ <Loader color="danger" variant="spinner" />
71
+ <Loader color="warning" variant="pulse" />
72
+ <Loader color="info" variant="quad" />
73
+ </Group>
74
+ </section>
75
+
76
+ </div>
77
+ );
78
+ };
@@ -55,6 +55,11 @@ export const Placeholders = () => {
55
55
  <Placeholder button animation="wave" variant="success" />
56
56
  <Placeholder button variant="danger" />
57
57
  </Group>
58
+
59
+ <h5 className="mt-4">Inputs</h5>
60
+ <p className="text-muted small">Pour simuler des champs de saisie.</p>
61
+ <Placeholder input animation="wave" />
62
+
58
63
  </section>
59
64
  </div>
60
65
  );
@@ -154,7 +154,7 @@ export declare const columnsStatus: ({
154
154
  headerName: string;
155
155
  field: string;
156
156
  headerClass: string;
157
- cellClass?: undefined;
157
+ cellClass: string;
158
158
  cellRenderer?: undefined;
159
159
  resizable?: undefined;
160
160
  width?: undefined;
@@ -102,16 +102,16 @@ export const columnsStatus = [
102
102
  { headerName: 'N°', field: 'number', headerClass: 'table-number table-cell--center', cellClass: 'table-cell--center', width: 40, maxWidth: 40, minWidth: 40, flex: 0, suppressSizeToFit: true },
103
103
  { headerName: 'Dossard', field: 'dossard', headerClass: 'table-dossard table-cell--center', cellClass: 'table-cell--center', width: 80, maxWidth: 80, minWidth: 40, flex: 0, suppressSizeToFit: true },
104
104
  { headerName: 'N° Equi', field: 'numberTeam', headerClass: 'table-numberTeam table-cell--center', cellClass: 'table-cell--center', width: 80, maxWidth: 80, minWidth: 40, flex: 0, suppressSizeToFit: true },
105
- { headerName: 'Rider', field: 'rider', headerClass: 'table-rider table-cell--center' },
106
- { headerName: 'Cheval', field: 'horse', headerClass: 'table-horse table-cell--center' },
107
- { headerName: 'Club', field: 'team', headerClass: 'table-team table-cell--center' },
108
- { headerName: 'Phase 1', field: 'step_1', headerClass: 'table-step_1 table-cell--center', cellClass: 'table-cell--right', valueGetter: (params: any) => params.data.step_1 ? `${params.data.step_1.time}s (${params.data.step_1.pts} pts)` : '' },
109
- { headerName: 'Phase 2', field: 'step_2', headerClass: 'table-step_2 table-cell--center', cellClass: 'table-cell--right', valueGetter: (params: any) => params.data.step_2 ? `${params.data.step_2.time}s (${params.data.step_2.pts} pts)` : '' },
105
+ { headerName: 'Rider', field: 'rider', headerClass: 'table-rider table-cell--center', cellClass: 'table-cell--align-center' },
106
+ { headerName: 'Cheval', field: 'horse', headerClass: 'table-horse table-cell--center', cellClass: 'table-cell--align-center' },
107
+ { headerName: 'Club', field: 'team', headerClass: 'table-team table-cell--center', cellClass: 'table-cell--align-center' },
108
+ { headerName: 'Phase 1', field: 'step_1', headerClass: 'table-step_1 table-cell--center', cellClass: 'table-cell--right table-cell--align-center', valueGetter: (params: any) => params.data.step_1 ? `${params.data.step_1.time}s (${params.data.step_1.pts} pts)` : '' },
109
+ { headerName: 'Phase 2', field: 'step_2', headerClass: 'table-step_2 table-cell--center', cellClass: 'table-cell--right table-cell--align-center', valueGetter: (params: any) => params.data.step_2 ? `${params.data.step_2.time}s (${params.data.step_2.pts} pts)` : '' },
110
110
  {
111
111
  headerName: 'Total',
112
112
  field: 'total',
113
113
  headerClass: 'table-total table-cell--center',
114
- cellClass: 'table-cell--right',
114
+ cellClass: 'table-cell--right table-cell--align-center',
115
115
  valueGetter: (params: any) => {
116
116
  const s1 = params.data.step_1;
117
117
  const s2 = params.data.step_2;
@@ -23,3 +23,4 @@ export * from './Auths/Auths';
23
23
  export * from './Dashboards/Dashboards';
24
24
  export * from './Navs/Navs';
25
25
  export * from './Errorpages/Errorpages';
26
+ export * from './Loaders/Loaders';
@@ -23,3 +23,4 @@ export * from './Auths/Auths';
23
23
  export * from './Dashboards/Dashboards';
24
24
  export * from './Navs/Navs';
25
25
  export * from './Errorpages/Errorpages';
26
+ export * from './Loaders/Loaders';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zuii",
3
- "version": "1.4.13",
3
+ "version": "1.4.15",
4
4
  "description": "Bibliothèque de composants UI légère, intuitive et modulaire pour les interfaces web modernes.",
5
5
  "type": "module",
6
6
  "repository": {