zuii 1.4.16 → 1.4.18
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.
- package/dist/_virtual/fr.js +5 -0
- package/dist/_virtual/fr2.js +4 -0
- package/dist/components/Badge/style/index.css +1 -1
- package/dist/components/Card/js/card.d.ts +4 -0
- package/dist/components/Card/react/index.d.ts +29 -0
- package/dist/components/Card/react/index.js +20 -0
- package/dist/components/Card/style/index.css +1 -0
- package/dist/components/Color/react/index.js +9 -5
- package/dist/components/Errorpage/react/index.js +11 -7
- package/dist/components/Form/js/color.d.ts +11 -0
- package/dist/components/Form/js/color.js +36 -0
- package/dist/components/Form/js/date.d.ts +35 -0
- package/dist/components/Form/js/date.js +40 -0
- package/dist/components/Form/js/tel-input.d.ts +12 -0
- package/dist/components/Form/js/tel-input.js +18 -0
- package/dist/components/Form/react/FormColor.d.ts +37 -0
- package/dist/components/Form/react/FormColor.js +62 -0
- package/dist/components/Form/react/FormDate.d.ts +48 -0
- package/dist/components/Form/react/FormDate.js +57 -0
- package/dist/components/Form/react/NumberInput.js +2 -3
- package/dist/components/Form/react/PasswordConfirm.d.ts +5 -1
- package/dist/components/Form/react/PasswordConfirm.js +43 -40
- package/dist/components/Form/react/PasswordInput.js +21 -21
- package/dist/components/Form/react/RangeInput.js +2 -3
- package/dist/components/Form/react/Select.d.ts +9 -1
- package/dist/components/Form/react/Select.js +91 -67
- package/dist/components/Form/react/TelInput.js +34 -26
- package/dist/components/Form/react/index.d.ts +7 -2
- package/dist/components/Form/react/index.js +28 -24
- package/dist/components/Form/style/index.css +1 -1
- package/dist/components/Grid/react/index.d.ts +13 -2
- package/dist/components/Grid/react/index.js +39 -34
- package/dist/components/Grid/style/index.css +1 -1
- package/dist/components/Loader/js/loader.d.ts +5 -1
- package/dist/components/Loader/react/index.d.ts +5 -1
- package/dist/components/Loader/react/index.js +22 -18
- package/dist/components/Loader/style/index.css +1 -1
- package/dist/components/Menu/js/menu.d.ts +6 -0
- package/dist/components/Menu/js/menu.js +19 -0
- package/dist/components/Menu/react/index.d.ts +34 -0
- package/dist/components/Menu/react/index.js +44 -0
- package/dist/components/Menu/style/index.css +1 -0
- package/dist/components/Nav/react/index.js +5 -1
- package/dist/components/Placeholder/style/index.css +1 -1
- package/dist/components/Slider/js/slider.d.ts +11 -0
- package/dist/components/Slider/js/slider.js +14 -0
- package/dist/components/Slider/react/index.d.ts +40 -0
- package/dist/components/Slider/react/index.js +27 -0
- package/dist/components/Slider/style/index.css +1 -0
- package/dist/components/Tab/react/index.js +48 -42
- package/dist/components/Tab/style/index.css +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +25 -18
- package/dist/node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/l10n/fr.js +71 -0
- package/dist/templates/Cards/Cards.d.ts +4 -0
- package/dist/templates/Cards/Cards.tsx +55 -0
- package/dist/templates/Forms/Forms-elements.tsx +9 -4
- package/dist/templates/Loaders/Loaders.tsx +5 -0
- package/dist/templates/Sliders/Sliders.d.ts +4 -0
- package/dist/templates/Sliders/Sliders.tsx +150 -0
- package/dist/templates/index.d.ts +2 -0
- package/dist/templates/index.ts +2 -0
- package/package.json +5 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsxs as n, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as o, useEffect as c } from "react";
|
|
3
|
+
import { initMenu as u } from "../js/menu.js";
|
|
4
|
+
import '../style/index.css';/* empty css */
|
|
5
|
+
const l = ({
|
|
6
|
+
children: s,
|
|
7
|
+
className: r = "",
|
|
8
|
+
breakpoint: m = 768
|
|
9
|
+
}) => {
|
|
10
|
+
const t = o(null), e = "menu", i = `${e} ${r}`.trim();
|
|
11
|
+
return c(() => t.current ? u(t.current) : void 0, []), /* @__PURE__ */ n(
|
|
12
|
+
"div",
|
|
13
|
+
{
|
|
14
|
+
ref: t,
|
|
15
|
+
className: i,
|
|
16
|
+
style: { "--menu-breakpoint": `${m}px` },
|
|
17
|
+
children: [
|
|
18
|
+
/* @__PURE__ */ n("div", { className: `${e}__container`, children: [
|
|
19
|
+
s,
|
|
20
|
+
/* @__PURE__ */ n(
|
|
21
|
+
"button",
|
|
22
|
+
{
|
|
23
|
+
className: `${e}__toggle`,
|
|
24
|
+
"aria-label": "Ouvrir le menu",
|
|
25
|
+
"aria-expanded": !1,
|
|
26
|
+
type: "button",
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ a("span", { className: `${e}__toggle-bar` }),
|
|
29
|
+
/* @__PURE__ */ a("span", { className: `${e}__toggle-bar` }),
|
|
30
|
+
/* @__PURE__ */ a("span", { className: `${e}__toggle-bar` })
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
)
|
|
34
|
+
] }),
|
|
35
|
+
/* @__PURE__ */ a("div", { className: `${e}__mobile-nav`, children: s })
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
l.Left = ({ children: s, className: r = "" }) => /* @__PURE__ */ a("div", { className: `menu__left ${r}`.trim(), children: s });
|
|
41
|
+
l.Right = ({ children: s, className: r = "" }) => /* @__PURE__ */ a("div", { className: `menu__right ${r}`.trim(), children: s });
|
|
42
|
+
export {
|
|
43
|
+
l as Menu
|
|
44
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";@layer components{.menu{--menu-breakpoint: 768px;position:relative;background:var(--primary)}.menu__container{padding:1rem;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.menu__left,.menu__right{display:flex;align-items:center;gap:1rem}.menu__nav-list{margin:0;padding:0;list-style:none}.menu__nav-items{display:flex;gap:1rem}.menu__actions{display:flex;gap:1rem;align-items:center}.menu__toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;padding:6px;border:none;border-radius:var(--border-radius-sm, .375rem);background:transparent;cursor:pointer;z-index:1002;transition:background-color .2s}.menu__toggle:hover,.menu__toggle:focus-visible{background-color:#ffffff26;outline:none}.menu__toggle-bar{display:block;width:22px;height:2px;background-color:var(--primary-contrast, #fff);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.menu__toggle--open .menu__toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu__toggle--open .menu__toggle-bar:nth-child(2){opacity:0}.menu__toggle--open .menu__toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu__overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:999;animation:menu-overlay-in .3s ease}@keyframes menu-overlay-in{0%{opacity:0}to{opacity:1}}.menu__mobile-nav{display:none;position:fixed;top:0;right:0;width:min(320px,80vw);height:100dvh;background-color:var(--primary);z-index:1001;padding:5rem 1.5rem 2rem;flex-direction:column;gap:2rem;overflow-y:auto;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--box-shadow-xl, -4px 0 25px rgba(0, 0, 0, .15))}.menu__mobile-nav .menu__left,.menu__mobile-nav .menu__right,.menu__mobile-nav .menu__center{flex-direction:column;align-items:flex-start}.menu__mobile-nav .menu__nav-items{flex-direction:column}.menu__mobile-nav--open{display:flex;transform:translate(0)}@media(max-width:768px){.menu__container>.menu__center,.menu__container>.menu__right{display:none}.menu__toggle{display:flex}.menu__overlay{display:block}.menu__mobile-nav{display:flex;transform:translate(100%)}.menu__mobile-nav--open{transform:translate(0)}}}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as t, jsxs as _, Fragment as v } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect as u } from "react";
|
|
3
|
-
import '../../Grid/style/index.css';import '../../Loader/style/index.css';import '../../Errorpage/style/index.css';import '../../Lang-selector/style/index.css';import '../../../node_modules/.pnpm/flag-icons@7.5.0/node_modules/flag-icons/css/flag-icons.min.css';import '../../Placeholder/style/index.css';import '../../Logo/style/index.css';import '../../Radius/style/index.css';import '../../Shadow/style/index.css';import '../../Context-menu/style/index.css';import '../../Divider/style/index.css';import '../../Badge/style/index.css';import '../../Avatar/style/index.css';import '../../Group/style/index.css';import '../../Color/style/index.css';import '../../../core/styles/main.css';import '../style/index.css';/* empty css */
|
|
3
|
+
import '../../Slider/style/index.css';import '../../Grid/style/index.css';import '../../Loader/style/index.css';import '../../Errorpage/style/index.css';import '../../Lang-selector/style/index.css';import '../../../node_modules/.pnpm/flag-icons@7.5.0/node_modules/flag-icons/css/flag-icons.min.css';import '../../Placeholder/style/index.css';import '../../Logo/style/index.css';import '../../Radius/style/index.css';import '../../Shadow/style/index.css';import '../../Context-menu/style/index.css';import '../../Divider/style/index.css';import '../../Badge/style/index.css';import '../../Avatar/style/index.css';import '../../Group/style/index.css';import '../../Color/style/index.css';import '../../../core/styles/main.css';import '../style/index.css';/* empty css */
|
|
4
4
|
/* empty css */
|
|
5
5
|
/* empty css */
|
|
6
6
|
import { Button as $ } from "../../Button/react/index.js";
|
|
@@ -32,6 +32,10 @@ import { Link as N } from "react-router-dom";
|
|
|
32
32
|
/* empty css */
|
|
33
33
|
/* empty css */
|
|
34
34
|
/* empty css */
|
|
35
|
+
import "../../Menu/react/index.js";
|
|
36
|
+
import "@splidejs/react-splide";
|
|
37
|
+
/* empty css */
|
|
38
|
+
import "../../Card/react/index.js";
|
|
35
39
|
import { initNav as g } from "../js/nav.js";
|
|
36
40
|
const h = ({
|
|
37
41
|
children: s,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer layout{.form__input,.placeholder--input{--form-placeholder-color: color-mix(in srgb, var(--body-color), transparent 70%)}.form__input:not(:has(.choices)),.placeholder--input:not(:has(.choices)){padding:var(--spacing-xs) var(--spacing-sm)}.choices__inner{padding:var(--spacing-xs) var(--spacing-sm)}.form__input,.placeholder--input{background-color:var(--white);border-radius:var(--radius-base);border:var(--
|
|
1
|
+
@layer layout{.form__input,.placeholder--input{--form-placeholder-color: color-mix(in srgb, var(--body-color), transparent 70%);--form-border: var(--border-width) solid var(--border-color)}.form__input:not(:has(.choices)),.placeholder--input:not(:has(.choices)){padding:var(--spacing-xs) var(--spacing-sm)}.choices__inner{padding:var(--spacing-xs) var(--spacing-sm)}.form__input,.placeholder--input{background-color:var(--white);border-radius:var(--radius-base);border:var(--form-border);margin:var(--spacing-sm) 0;display:flex;gap:var(--spacing-xs);transition:all .2s cubic-bezier(.455,.03,.515,.955);flex:1}.form__input[type=checkbox],[type=checkbox].placeholder--input,.form__input[type=radio],[type=radio].placeholder--input{appearance:none;width:1.25rem;height:1.25rem;background-color:var(--white);border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);vertical-align:middle;margin-top:-2px}.form__input[type=checkbox]:after,[type=checkbox].placeholder--input:after,.form__input[type=radio]:after,[type=radio].placeholder--input:after{content:"";position:absolute;top:50%;left:50%;width:.75rem;height:.75rem;background-color:var(--white);-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>');mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>');-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transform:translate(-50%,-50%) scale(0);transition:transform .2s cubic-bezier(.4,0,.2,1)}.form__input[type=checkbox]:checked,[type=checkbox].placeholder--input:checked,.form__input[type=radio]:checked,[type=radio].placeholder--input:checked{background-color:var(--primary);border-color:var(--primary)}.form__input[type=checkbox]:checked:after,[type=checkbox].placeholder--input:checked:after,.form__input[type=radio]:checked:after,[type=radio].placeholder--input:checked:after{transform:translate(-50%,-50%) scale(1)}.form__input[type=checkbox]:focus,[type=checkbox].placeholder--input:focus,.form__input[type=radio]:focus,[type=radio].placeholder--input:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 80%);border-color:var(--primary)}.form__input[type=checkbox]:hover:not(:checked):not(:disabled),[type=checkbox].placeholder--input:hover:not(:checked):not(:disabled),.form__input[type=radio]:hover:not(:checked):not(:disabled),[type=radio].placeholder--input:hover:not(:checked):not(:disabled){border-color:var(--primary);background-color:color-mix(in srgb,var(--primary),transparent 95%)}.form__input[type=checkbox]:disabled,[type=checkbox].placeholder--input:disabled,.form__input[type=radio]:disabled,[type=radio].placeholder--input:disabled{background-color:var(--color-gray-100);border-color:var(--color-gray-200);cursor:not-allowed;opacity:.7}.form__input[type=radio],[type=radio].placeholder--input{border-radius:var(--radius-pill)}.form__input[type=radio]:after,[type=radio].placeholder--input:after{-webkit-mask-image:none;mask-image:none;border-radius:var(--radius-pill);width:.5rem;height:.5rem}.form__input .form-control:not([type=checkbox]):not([type=radio]),.placeholder--input .form-control:not([type=checkbox]):not([type=radio]){padding:0;background-color:transparent;border-radius:var(--radius-none);border:none;line-height:1.3}.form__input .form-control:not([type=checkbox]):not([type=radio]):focus,.placeholder--input .form-control:not([type=checkbox]):not([type=radio]):focus{border:none;box-shadow:none}.form__input:has(.form-control:focus),.placeholder--input:has(.form-control:focus){border-color:var(--accent)}.group--vertical .form__input,.group--vertical .placeholder--input{width:100%}input[type=checkbox],input[type=radio]{--border-color: var(--primary)}.form__input:has(.form-control:disabled),.placeholder--input:has(.form-control:disabled){border-color:var(--gray-200);background-color:var(--gray-100)}.form__input:has(.form-control:disabled) .form-control,.placeholder--input:has(.form-control:disabled) .form-control,.form__input:has(.form-control:disabled) .form-control::placeholder,.placeholder--input:has(.form-control:disabled) .form-control::placeholder,.form__input:has(.form-control:disabled) .icon,.placeholder--input:has(.form-control:disabled) .icon{color:var(--form-placeholder-color)}input::placeholder{color:var(--form-placeholder-color)}.placeholder,.placeholder__item{width:100%}.placeholder--filled{width:auto}.placeholder--image{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background-color:var(--primary, #f1f5f9);border:var(--border-width, 1px) solid var(--border-color, #94a3b8);position:relative;overflow:hidden}.placeholder--image:after{content:"";width:40%;height:40%;background-color:var(--gray-200, #94a3b8);-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>');-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.placeholder--input{height:1.93rem;background:color-mix(in srgb,currentcolor,transparent 70%)}.placeholder-glow.placeholder,.placeholder-glow.placeholder__item,.placeholder-glow .placeholder,.placeholder-glow .placeholder__item{animation:placeholder-glow 2s ease-in-out infinite}.placeholder-wave.placeholder,.placeholder-wave.placeholder__item,.placeholder-wave .placeholder,.placeholder-wave .placeholder__item{-webkit-mask-image:linear-gradient(130deg,#000 40%,#00000080,#000 60%);mask-image:linear-gradient(130deg,#000 40%,#00000080,#000 60%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-glow{0%,to{opacity:.6}50%{opacity:.3}}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.25em}[variant=primary]{background-color:var(--primary, #296782)!important;opacity:.5}[variant=secondary]{background-color:var(--secondary, #49B4E8)!important;opacity:.5}[variant=accent]{background-color:var(--accent, #49B4E8)!important;opacity:.5}[variant=tertiary]{background-color:var(--tertiary, #f5524d)!important;opacity:.5}[variant=success]{background-color:var(--success, #73D3B6)!important;opacity:.5}[variant=danger]{background-color:var(--danger, #EA5F5F)!important;opacity:.5}[variant=warning]{background-color:var(--warning, #F5D762)!important;opacity:.5}[variant=info]{background-color:var(--info, #73B6D3)!important;opacity:.5}[variant=light]{background-color:var(--light, #FFFFFF)!important;opacity:.5}[variant=dark]{background-color:var(--dark, #000000)!important;opacity:.5}}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SplideProps } from '@splidejs/react-splide';
|
|
2
|
+
/**
|
|
3
|
+
* Prépare et fusionne les options personnalisées de Splide avec les classes CSS métiers.
|
|
4
|
+
*
|
|
5
|
+
* @param {string} bemClass - La classe de base BEM du slider.
|
|
6
|
+
* @param {SplideProps['options']} options - Les options initiales fournies au slider.
|
|
7
|
+
* @param {string} arrowClass - Les classes personnalisées pour les flèches.
|
|
8
|
+
* @param {string} paginationClass - Les classes personnalisées pour la pagination.
|
|
9
|
+
* @returns {SplideProps['options']} Les options complètes incluant les classes.
|
|
10
|
+
*/
|
|
11
|
+
export declare const getSliderOptions: (bemClass: string, options?: SplideProps["options"], arrowClass?: string, paginationClass?: string) => SplideProps["options"];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const n = (r, s, a = "", i = "") => {
|
|
2
|
+
const t = {
|
|
3
|
+
...s?.classes,
|
|
4
|
+
arrow: `splide__arrow ${r}__arrow ${a}`.trim(),
|
|
5
|
+
pagination: `splide__pagination ${r}__pagination ${i}`.trim()
|
|
6
|
+
};
|
|
7
|
+
return {
|
|
8
|
+
...s,
|
|
9
|
+
classes: t
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
n as getSliderOptions
|
|
14
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SplideProps } from '@splidejs/react-splide';
|
|
3
|
+
export interface SliderItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
/**
|
|
5
|
+
* Le contenu de la slide.
|
|
6
|
+
*/
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Composant SliderItem (Slide).
|
|
11
|
+
*
|
|
12
|
+
* @param {SliderItemProps} props - Les propriétés de la slide.
|
|
13
|
+
* @returns {JSX.Element} La slide rendue.
|
|
14
|
+
*/
|
|
15
|
+
export declare const SliderItem: ({ children, className, ...props }: SliderItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export interface SliderProps extends Omit<SplideProps, 'children'> {
|
|
17
|
+
/**
|
|
18
|
+
* Les slides ou contenu à afficher dans le slider.
|
|
19
|
+
*/
|
|
20
|
+
children: React.ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* Options de configuration pour Splide.
|
|
23
|
+
*/
|
|
24
|
+
options?: SplideProps['options'];
|
|
25
|
+
/**
|
|
26
|
+
* Classe CSS additionnelle pour les boutons de navigation (flèches).
|
|
27
|
+
*/
|
|
28
|
+
arrowClass?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Classe CSS additionnelle pour le conteneur de pagination.
|
|
31
|
+
*/
|
|
32
|
+
paginationClass?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Composant Slider basé sur Splide.js.
|
|
36
|
+
*
|
|
37
|
+
* @param {SliderProps} props - Les propriétés du Slider.
|
|
38
|
+
* @returns {JSX.Element} Le slider rendu.
|
|
39
|
+
*/
|
|
40
|
+
export declare const Slider: ({ children, options, className, arrowClass, paginationClass, ...props }: SliderProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { Splide as p, SplideSlide as d } from "@splidejs/react-splide";
|
|
3
|
+
import '../style/index.css';/* empty css */
|
|
4
|
+
import { getSliderOptions as a } from "../js/slider.js";
|
|
5
|
+
const f = ({ children: e, className: s = "", ...r }) => /* @__PURE__ */ m(d, { className: `slider__item ${s}`.trim(), ...r, children: e }), C = ({
|
|
6
|
+
children: e,
|
|
7
|
+
options: s,
|
|
8
|
+
className: r = "",
|
|
9
|
+
arrowClass: t = "",
|
|
10
|
+
paginationClass: o = "",
|
|
11
|
+
...l
|
|
12
|
+
}) => {
|
|
13
|
+
const i = "slider", n = a(i, s, t, o);
|
|
14
|
+
return /* @__PURE__ */ m(
|
|
15
|
+
p,
|
|
16
|
+
{
|
|
17
|
+
options: n,
|
|
18
|
+
className: `${i} ${r}`.trim(),
|
|
19
|
+
...l,
|
|
20
|
+
children: e
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
C as Slider,
|
|
26
|
+
f as SliderItem
|
|
27
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer components{.slider{--slider-color: var(--primary);--slider-pagination-bottom: 2rem;--slider-pagination-size: 1rem;--slider-pagination-active-size: 1.5rem;--slider-pagination-gap: .5rem;--slider-pagination-active-gap: .5rem;--slider-pagination-background: var(--gray-500);--slider-pagination-active-background: var(--slider-color);--slider-pagination-border-radius: var(--radius-base);position:relative;width:100%;margin-bottom:var(--slider-pagination-bottom)}.slider__item{display:flex;flex-direction:column;justify-content:center;align-items:center}.slider .splide__arrow{background:transparent}.slider .slider__pagination{bottom:calc(var(--slider-pagination-bottom) * -1)}.slider .splide__pagination__page{background:var(--slider-pagination-background);border-radius:var(--slider-pagination-border-radius)}.slider .splide__pagination__page.is-active{background:var(--slider-pagination-active-background)}.slider .slider__arrow svg{fill:var(--slider-color)}}
|
|
@@ -1,72 +1,78 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { TabContainer as
|
|
1
|
+
import { jsx as t, jsxs as L } from "react/jsx-runtime";
|
|
2
|
+
import i, { useState as R } from "react";
|
|
3
|
+
import { TabContainer as N, TabContent as T, TabPane as g, Tabs as V, Tab as x, Nav as q } from "react-bootstrap";
|
|
4
4
|
import '../style/index.css';/* empty css */
|
|
5
|
-
import { Group as
|
|
6
|
-
import { Button as
|
|
7
|
-
const
|
|
5
|
+
import { Group as _ } from "../../Group/react/index.js";
|
|
6
|
+
import { Button as w } from "../../Button/react/index.js";
|
|
7
|
+
const s = ({
|
|
8
8
|
items: n = [],
|
|
9
|
-
children:
|
|
10
|
-
className:
|
|
9
|
+
children: P,
|
|
10
|
+
className: $ = "",
|
|
11
11
|
vertical: d = !1,
|
|
12
12
|
variant: v = "",
|
|
13
|
-
border:
|
|
14
|
-
color:
|
|
15
|
-
defaultActiveKey:
|
|
16
|
-
activeKey:
|
|
13
|
+
border: S = !1,
|
|
14
|
+
color: b = "primary",
|
|
15
|
+
defaultActiveKey: j,
|
|
16
|
+
activeKey: m,
|
|
17
17
|
onSelect: h,
|
|
18
|
-
contentClassName:
|
|
19
|
-
...
|
|
18
|
+
contentClassName: p = "tabs__content",
|
|
19
|
+
...f
|
|
20
20
|
}) => {
|
|
21
|
-
const [
|
|
22
|
-
e &&
|
|
23
|
-
}, a = "tabs",
|
|
21
|
+
const [A, B] = R(j || (n.length > 0 ? n[0].eventKey : void 0)), o = m !== void 0 ? m : A, c = (e, r) => {
|
|
22
|
+
e && B(e), h && h(e, r);
|
|
23
|
+
}, a = "tabs", C = d ? `${a}--vertical` : "", u = v ? `${a}--${v}` : "", E = S ? `${a}--border` : "", y = `${a}--${b}`, K = `${a}__item btn btn-${b}`;
|
|
24
24
|
return n.length > 0 && d ? /* @__PURE__ */ t(
|
|
25
|
-
|
|
25
|
+
N,
|
|
26
26
|
{
|
|
27
|
-
...
|
|
27
|
+
...f,
|
|
28
28
|
activeKey: o,
|
|
29
|
-
onSelect:
|
|
30
|
-
children: /* @__PURE__ */
|
|
31
|
-
/* @__PURE__ */ t(
|
|
32
|
-
|
|
29
|
+
onSelect: c,
|
|
30
|
+
children: /* @__PURE__ */ L(_, { className: `${a} ${C} ${u} ${y} ${$}`.trim(), children: [
|
|
31
|
+
/* @__PURE__ */ t(_, { vertical: !0, className: "tabs__nav", children: n.map((e, r) => /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t(
|
|
32
|
+
w,
|
|
33
33
|
{
|
|
34
34
|
variant: "transparent",
|
|
35
|
-
onClick: (
|
|
35
|
+
onClick: (l) => c(e.eventKey, l),
|
|
36
36
|
active: o === e.eventKey,
|
|
37
37
|
children: e.header
|
|
38
38
|
}
|
|
39
39
|
) }, r)) }),
|
|
40
|
-
/* @__PURE__ */ t(
|
|
40
|
+
/* @__PURE__ */ t(T, { className: p, children: n.map((e, r) => /* @__PURE__ */ t(g, { eventKey: e.eventKey, children: e.body }, r)) })
|
|
41
41
|
] })
|
|
42
42
|
}
|
|
43
|
-
) : /* @__PURE__ */ t("div", { className: `${a} ${
|
|
44
|
-
|
|
43
|
+
) : /* @__PURE__ */ t("div", { className: `${a} ${C} ${u} ${E} ${y} ${$}`.trim(), children: /* @__PURE__ */ t(
|
|
44
|
+
V,
|
|
45
45
|
{
|
|
46
46
|
activeKey: o,
|
|
47
|
-
onSelect:
|
|
48
|
-
|
|
47
|
+
onSelect: c,
|
|
48
|
+
contentClassName: p,
|
|
49
|
+
...f,
|
|
49
50
|
children: n.length > 0 ? n.map((e, r) => {
|
|
50
|
-
const { header:
|
|
51
|
+
const { header: l, body: G, ...I } = e;
|
|
51
52
|
return /* @__PURE__ */ t(
|
|
52
|
-
|
|
53
|
+
x,
|
|
53
54
|
{
|
|
54
|
-
title:
|
|
55
|
-
...
|
|
56
|
-
tabClassName:
|
|
57
|
-
children: /* @__PURE__ */ t("div", { className: `${a}__content`, children:
|
|
55
|
+
title: l,
|
|
56
|
+
...I,
|
|
57
|
+
tabClassName: K,
|
|
58
|
+
children: /* @__PURE__ */ t("div", { className: `${a}__content`, children: G })
|
|
58
59
|
},
|
|
59
60
|
r
|
|
60
61
|
);
|
|
61
|
-
}) :
|
|
62
|
+
}) : (
|
|
63
|
+
// Mode composé : injecter tabClassName sur chaque Tabs.Item enfant
|
|
64
|
+
i.Children.map(P, (e) => i.isValidElement(e) ? i.cloneElement(e, {
|
|
65
|
+
tabClassName: `${K} ${e.props.tabClassName || ""}`.trim()
|
|
66
|
+
}) : e)
|
|
67
|
+
)
|
|
62
68
|
}
|
|
63
69
|
) });
|
|
64
70
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
s.Item = x;
|
|
72
|
+
s.Container = N;
|
|
73
|
+
s.Content = T;
|
|
74
|
+
s.Pane = g;
|
|
75
|
+
s.Nav = q;
|
|
70
76
|
export {
|
|
71
|
-
|
|
77
|
+
s as Tabs
|
|
72
78
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer components{.tabs{--nav-tabs-link-active-color: var(--secondary);--tab-tinte: var(--white) 90%}.tabs .nav-tabs{--nav-tabs-border-radius: var(--radius-none, 0);--nav-tabs-border-width: 0;--nav-link-color: currentColor;--nav-link-hover-color: var(--body-color)}.tabs .nav{background:var(--tab-bg-color);align-items:stretch}.tabs__content{background:var(--tab-bg-color-content);padding:var(--spacing-lg) var(--spacing-lg);height:inherit}.tabs .nav-item{display:flex}.tabs .tabs__item{border-radius:var(--nav-tabs-border-radius);height:100%;justify-content:center;align-items:center}.tabs .tabs__item.btn:not(.active){background:transparent}.tabs .tabs__item.btn:not(.active):not(:disabled){color:var(--body-color)}.tabs .tab-content>*{height:100%}.tabs--primary{--tab-bg-color: color-mix(in srgb, var(--primary), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--primary),
|
|
1
|
+
@layer components{.tabs{--nav-tabs-link-active-color: var(--secondary);--tab-tinte: var(--white) 90%}.tabs .nav-tabs{--nav-tabs-border-radius: var(--radius-none, 0);--nav-tabs-border-width: 0;--nav-link-color: currentColor;--nav-link-hover-color: var(--body-color)}.tabs .nav{background:var(--tab-bg-color);align-items:stretch}.tabs__content,.tabs .tab-content{background:var(--tab-bg-color-content);padding:var(--spacing-lg) var(--spacing-lg);height:inherit}.tabs .nav-item{display:flex}.tabs .tabs__item{border-radius:var(--nav-tabs-border-radius);height:100%;justify-content:center;align-items:center}.tabs .tabs__item.btn:not(.active){background:transparent}.tabs .tabs__item.btn:not(.active):not(:disabled){color:var(--body-color)}.tabs .tab-content>*{height:100%}.tabs--primary{--tab-bg-color: color-mix(in srgb, var(--primary), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--primary), transparent 85%)}.tabs--secondary{--tab-bg-color: color-mix(in srgb, var(--secondary), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--secondary), transparent 85%)}.tabs--accent{--tab-bg-color: color-mix(in srgb, var(--accent), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--accent), transparent 85%)}.tabs--tertiary{--tab-bg-color: color-mix(in srgb, var(--tertiary), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--tertiary), transparent 85%)}.tabs--success{--tab-bg-color: color-mix(in srgb, var(--success), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--success), transparent 85%)}.tabs--danger{--tab-bg-color: color-mix(in srgb, var(--danger), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--danger), transparent 85%)}.tabs--warning{--tab-bg-color: color-mix(in srgb, var(--warning), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--warning), transparent 85%)}.tabs--info{--tab-bg-color: color-mix(in srgb, var(--info), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--info), transparent 85%)}.tabs--light{--tab-bg-color: color-mix(in srgb, var(--light), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--light), transparent 85%)}.tabs--dark{--tab-bg-color: color-mix(in srgb, var(--dark), var(--tab-tinte));--tab-bg-color-content: color-mix(in srgb, var(--dark), transparent 85%)}.tabs--pills{--tab-bg-color: transparent;--tab-tinte: var(--white) 50%}.tabs--pills .tabs__item{--nav-link-padding-y: .3rem;--nav-link-padding-x: .75rem;border-radius:var(--radius-lg)}.tabs--pills .tab-content{margin-top:.8rem}.tabs--border .tabs__item.active{border-width:1px;border-color:var(--btn-border-color);background:transparent;color:color-mix(in srgb,var(--btn-border-color),var(--dark) 20%)}.tabs--underline{--tab-bg-color: transparent}.tabs--underline .tabs__item{border:none;background:transparent;border-bottom:3px solid color-mix(in srgb,var(--body-color),transparent 90%)}.tabs--underline .tabs__item.active{color:color-mix(in srgb,var(--btn-border-color),var(--dark) 30%);border-bottom:3px solid var(--btn-border-color)}.tabs--underline .tabs__item:hover:not(.active),.tabs--underline .tabs__item:focus:not(.active){border-bottom:3px solid color-mix(in srgb,var(--btn-border-color),var(--dark) 10%)}.tabs--underline .tabs__item:hover,.tabs--underline .tabs__item:focus{box-shadow:none}.tabs--vertical{--tab-bg-color: transparent;width:100%}.tabs--vertical .tab-content{flex:1}.tabs--vertical .tabs__nav{padding:1.5rem}}
|
package/dist/index.d.ts
CHANGED
|
@@ -25,3 +25,6 @@ export * from './components/Auth/react';
|
|
|
25
25
|
export * from './components/Errorpage/react';
|
|
26
26
|
export * from './components/Loader/react';
|
|
27
27
|
export * from './components/Grid/react';
|
|
28
|
+
export * from './components/Menu/react';
|
|
29
|
+
export * from './components/Slider/react';
|
|
30
|
+
export * from './components/Card/react';
|
package/dist/index.js
CHANGED
|
@@ -2,17 +2,17 @@ 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
4
|
import { Icon as f, SizeProvider as a, useSize as d } from "./components/Icon/react/index.js";
|
|
5
|
-
import { Group as
|
|
5
|
+
import { Group as l } from "./components/Group/react/index.js";
|
|
6
6
|
import { Avatar as c } from "./components/Avatar/react/index.js";
|
|
7
7
|
import { Badge as A } from "./components/Badge/react/index.js";
|
|
8
|
-
import { Divider as
|
|
8
|
+
import { Divider as S } from "./components/Divider/react/index.js";
|
|
9
9
|
import { ContextMenu as h } from "./components/Context-menu/react/index.js";
|
|
10
10
|
import { Form as B } from "./components/Form/react/index.js";
|
|
11
|
-
import { Shadow as
|
|
12
|
-
import { Radius as
|
|
13
|
-
import { Dropdown as
|
|
14
|
-
import { Logo as
|
|
15
|
-
import { Modal as
|
|
11
|
+
import { Shadow as G } from "./components/Shadow/react/index.js";
|
|
12
|
+
import { Radius as b } from "./components/Radius/react/index.js";
|
|
13
|
+
import { Dropdown as I } from "./components/Dropdown/react/index.js";
|
|
14
|
+
import { Logo as T } from "./components/Logo/react/index.js";
|
|
15
|
+
import { Modal as z } from "./components/Modal/react/index.js";
|
|
16
16
|
import { Placeholder as k } from "./components/Placeholder/react/index.js";
|
|
17
17
|
import { Tooltip as F } from "./components/Tooltip/react/index.js";
|
|
18
18
|
import { Table as N } from "./components/Table/react/index.js";
|
|
@@ -26,11 +26,14 @@ import { Auth as oo } from "./components/Auth/react/index.js";
|
|
|
26
26
|
import { Errorpage as eo } from "./components/Errorpage/react/index.js";
|
|
27
27
|
import { Loader as po } from "./components/Loader/react/index.js";
|
|
28
28
|
import { Grid as xo, GridItem as fo, GridSpacer as ao } from "./components/Grid/react/index.js";
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
29
|
+
import { Menu as lo } from "./components/Menu/react/index.js";
|
|
30
|
+
import { Slider as co, SliderItem as uo } from "./components/Slider/react/index.js";
|
|
31
|
+
import { Card as so } from "./components/Card/react/index.js";
|
|
32
|
+
import { default as go } 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";
|
|
33
|
+
import { useAccordionButton as vo } from "react-bootstrap";
|
|
31
34
|
export {
|
|
32
35
|
j as Accordion,
|
|
33
|
-
|
|
36
|
+
go as AccordionContext,
|
|
34
37
|
K as Alert,
|
|
35
38
|
O as AlertBase,
|
|
36
39
|
Q as AlertHeading,
|
|
@@ -39,30 +42,34 @@ export {
|
|
|
39
42
|
c as Avatar,
|
|
40
43
|
A as Badge,
|
|
41
44
|
m as Button,
|
|
45
|
+
so as Card,
|
|
42
46
|
t as Color,
|
|
43
47
|
h as ContextMenu,
|
|
44
48
|
W as Dashboard,
|
|
45
|
-
|
|
46
|
-
|
|
49
|
+
S as Divider,
|
|
50
|
+
I as Dropdown,
|
|
47
51
|
eo as Errorpage,
|
|
48
52
|
B as Form,
|
|
49
53
|
xo as Grid,
|
|
50
54
|
fo as GridItem,
|
|
51
55
|
ao as GridSpacer,
|
|
52
|
-
|
|
56
|
+
l as Group,
|
|
53
57
|
f as Icon,
|
|
54
58
|
_ as LangSelector,
|
|
55
59
|
po as Loader,
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
T as Logo,
|
|
61
|
+
lo as Menu,
|
|
62
|
+
z as Modal,
|
|
58
63
|
Y as Nav,
|
|
59
64
|
k as Placeholder,
|
|
60
|
-
|
|
61
|
-
|
|
65
|
+
b as Radius,
|
|
66
|
+
G as Shadow,
|
|
62
67
|
a as SizeProvider,
|
|
68
|
+
co as Slider,
|
|
69
|
+
uo as SliderItem,
|
|
63
70
|
N as Table,
|
|
64
71
|
y as Tabs,
|
|
65
72
|
F as Tooltip,
|
|
66
|
-
|
|
73
|
+
vo as useAccordionButton,
|
|
67
74
|
d as useSize
|
|
68
75
|
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { __module as e } from "../../../../../../../_virtual/fr2.js";
|
|
2
|
+
var l = e.exports, a;
|
|
3
|
+
function m() {
|
|
4
|
+
return a ? e.exports : (a = 1, (function(d, t) {
|
|
5
|
+
(function(r, n) {
|
|
6
|
+
n(t);
|
|
7
|
+
})(l, (function(r) {
|
|
8
|
+
var n = typeof window < "u" && window.flatpickr !== void 0 ? window.flatpickr : {
|
|
9
|
+
l10ns: {}
|
|
10
|
+
}, i = {
|
|
11
|
+
firstDayOfWeek: 1,
|
|
12
|
+
weekdays: {
|
|
13
|
+
shorthand: ["dim", "lun", "mar", "mer", "jeu", "ven", "sam"],
|
|
14
|
+
longhand: [
|
|
15
|
+
"dimanche",
|
|
16
|
+
"lundi",
|
|
17
|
+
"mardi",
|
|
18
|
+
"mercredi",
|
|
19
|
+
"jeudi",
|
|
20
|
+
"vendredi",
|
|
21
|
+
"samedi"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
months: {
|
|
25
|
+
shorthand: [
|
|
26
|
+
"janv",
|
|
27
|
+
"févr",
|
|
28
|
+
"mars",
|
|
29
|
+
"avr",
|
|
30
|
+
"mai",
|
|
31
|
+
"juin",
|
|
32
|
+
"juil",
|
|
33
|
+
"août",
|
|
34
|
+
"sept",
|
|
35
|
+
"oct",
|
|
36
|
+
"nov",
|
|
37
|
+
"déc"
|
|
38
|
+
],
|
|
39
|
+
longhand: [
|
|
40
|
+
"janvier",
|
|
41
|
+
"février",
|
|
42
|
+
"mars",
|
|
43
|
+
"avril",
|
|
44
|
+
"mai",
|
|
45
|
+
"juin",
|
|
46
|
+
"juillet",
|
|
47
|
+
"août",
|
|
48
|
+
"septembre",
|
|
49
|
+
"octobre",
|
|
50
|
+
"novembre",
|
|
51
|
+
"décembre"
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
ordinal: function(u) {
|
|
55
|
+
return u > 1 ? "" : "er";
|
|
56
|
+
},
|
|
57
|
+
rangeSeparator: " au ",
|
|
58
|
+
weekAbbreviation: "Sem",
|
|
59
|
+
scrollTitle: "Défiler pour augmenter la valeur",
|
|
60
|
+
toggleTitle: "Cliquer pour basculer",
|
|
61
|
+
time_24hr: !0
|
|
62
|
+
};
|
|
63
|
+
n.l10ns.fr = i;
|
|
64
|
+
var o = n.l10ns;
|
|
65
|
+
r.French = i, r.default = o, Object.defineProperty(r, "__esModule", { value: !0 });
|
|
66
|
+
}));
|
|
67
|
+
})(e, e.exports), e.exports);
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
m as __require
|
|
71
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Card, Button } from '../../index';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Template de démonstration pour le composant Card.
|
|
5
|
+
*/
|
|
6
|
+
export const Cards = () => {
|
|
7
|
+
return (
|
|
8
|
+
<div className="Cards-demo">
|
|
9
|
+
<section className="mb-5">
|
|
10
|
+
<h3>Cards</h3>
|
|
11
|
+
<p className="text-muted mb-4">Le composant <code>Card</code> est basé sur React Bootstrap tout en utilisant les classes BEM de zuii.</p>
|
|
12
|
+
|
|
13
|
+
<h5 className='mt-4'>Basique</h5>
|
|
14
|
+
<p className="text-muted mb-4">Un exemple de carte simple avec un titre, du texte et un bouton.</p>
|
|
15
|
+
<Card>
|
|
16
|
+
<Card.Img variant="top" src="https://placehold.co/286x180" alt="Placeholder d'image" />
|
|
17
|
+
<Card.Body>
|
|
18
|
+
<Card.Title>Titre de la carte</Card.Title>
|
|
19
|
+
<Card.Text>
|
|
20
|
+
Un exemple rapide de texte pour construire le titre de la carte et constituer la majeure partie du contenu.
|
|
21
|
+
</Card.Text>
|
|
22
|
+
<Button variant="primary">Go somewhere</Button>
|
|
23
|
+
</Card.Body>
|
|
24
|
+
</Card>
|
|
25
|
+
|
|
26
|
+
<h5 className='mt-5'>En-tête et Pied de page</h5>
|
|
27
|
+
<p className="text-muted mb-4">Cartes contenant un `Card.Header` et un `Card.Footer`.</p>
|
|
28
|
+
<Card>
|
|
29
|
+
<Card.Header>Featured</Card.Header>
|
|
30
|
+
<Card.Body>
|
|
31
|
+
<Card.Title>Titre spécial</Card.Title>
|
|
32
|
+
<Card.Text>
|
|
33
|
+
Avec du texte supplémentaire à l'intérieur pour montrer l'utilisation du header.
|
|
34
|
+
</Card.Text>
|
|
35
|
+
<Button variant="primary">Action</Button>
|
|
36
|
+
</Card.Body>
|
|
37
|
+
<Card.Footer className="text-muted">Il y a 2 jours</Card.Footer>
|
|
38
|
+
</Card>
|
|
39
|
+
|
|
40
|
+
<h5 className='mt-5'>Superposition d'image</h5>
|
|
41
|
+
<p className="text-muted mb-4">Transformer une image en arrière-plan d'une carte et écrire par-dessus.</p>
|
|
42
|
+
<Card className="bg-dark text-white">
|
|
43
|
+
<Card.Img src="https://placehold.co/800x200/333/fff" alt="Card image" />
|
|
44
|
+
<Card.ImgOverlay>
|
|
45
|
+
<Card.Title>Superposition</Card.Title>
|
|
46
|
+
<Card.Text>
|
|
47
|
+
Ceci est une carte plus large avec un texte de support en dessous comme introduction naturelle à un contenu supplémentaire. Ce contenu est un peu plus long.
|
|
48
|
+
</Card.Text>
|
|
49
|
+
<Card.Text>Dernière mise à jour : 3 minutes.</Card.Text>
|
|
50
|
+
</Card.ImgOverlay>
|
|
51
|
+
</Card>
|
|
52
|
+
</section>
|
|
53
|
+
</div>
|
|
54
|
+
);
|
|
55
|
+
};
|
|
@@ -28,8 +28,8 @@ export const FormsElements = () => {
|
|
|
28
28
|
<Form.Control id="search" type="search" placeholder="Enter search" name="search" icon="icon-search" />
|
|
29
29
|
<Form.Control id="email" type="email" placeholder="Enter email" name="email" icon="icon-at-sign" />
|
|
30
30
|
<Form.Control id="number" type="number" placeholder="Enter number" name="number" icon="icon-number" />
|
|
31
|
-
{/* <Form.File id="file-simple" label="Upload simple" name="file_simple" />
|
|
32
|
-
|
|
31
|
+
{/* <Form.File id="file-simple" label="Upload simple" name="file_simple" />
|
|
32
|
+
<Form.File
|
|
33
33
|
id="simple-upload"
|
|
34
34
|
name="simple-upload"
|
|
35
35
|
maxNumberOfFiles={1}
|
|
@@ -41,16 +41,18 @@ export const FormsElements = () => {
|
|
|
41
41
|
maxNumberOfFiles={5}
|
|
42
42
|
maxFileSize={5 * 1024 * 1024}
|
|
43
43
|
onComplete={(result: any) => console.log("Fichiers téléchargés :", result)}
|
|
44
|
-
/>
|
|
45
|
-
|
|
44
|
+
/>
|
|
45
|
+
<Form.File id="file-multiple" label="Upload multiple" name="file_multiple" multiple={true} maxFiles={5} /> */}
|
|
46
46
|
<Form.Check id="checkbox1" type="checkbox" label="Enter checkbox" name="checkbox" />
|
|
47
47
|
<Form.Check id="checkbox2" type="checkbox" label="Enter checkbox checked" name="checkbox" defaultChecked />
|
|
48
48
|
<Form.Check id="radio1" type="radio" label="Enter radio option 1" name="radio" defaultChecked />
|
|
49
49
|
<Form.Check id="radio2" type="radio" label="Enter radio option 2" name="radio" />
|
|
50
|
+
<Form.Select name="select" value={selectValue} onChange={(val) => setSelectValue(val)} options={[]}></Form.Select>
|
|
50
51
|
<Form.Select name="select" value={selectValue} onChange={(val) => setSelectValue(val)} options={[
|
|
51
52
|
{
|
|
52
53
|
text: 'Option 1',
|
|
53
54
|
value: '1'
|
|
55
|
+
|
|
54
56
|
},
|
|
55
57
|
{
|
|
56
58
|
text: 'Option 2',
|
|
@@ -88,6 +90,9 @@ export const FormsElements = () => {
|
|
|
88
90
|
value: '3'
|
|
89
91
|
}
|
|
90
92
|
]} />
|
|
93
|
+
<Form.Date />
|
|
94
|
+
<Form.Color />
|
|
95
|
+
|
|
91
96
|
<Form.Control type="submit" value="Submit" />
|
|
92
97
|
</form>
|
|
93
98
|
|