zuii 1.4.24 → 1.4.26
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/components/Button/style/index.css +1 -1
- package/dist/components/Form/js/uppy.d.ts +74 -0
- package/dist/components/Form/js/uppy.js +106 -0
- package/dist/components/Form/react/FileInput.d.ts +9 -1
- package/dist/components/Form/react/FileInput.js +37 -53
- package/dist/components/Form/react/NumberInput.d.ts +14 -2
- package/dist/components/Form/react/NumberInput.js +53 -40
- package/dist/components/Form/react/index.js +1 -1
- package/dist/components/Form/style/index.css +1 -1
- package/dist/templates/Forms/Forms-elements.tsx +21 -2
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer components{.btn{background-color:var(--primary);color:var(--primary-contrast);--btn-border-color: var(--primary);--btn-hover-bg: var(--primary-dark);--btn-hover-border-color: var(--primary-dark);--btn-active-bg: var(--primary-dark);--btn-active-border-color: var(--primary-dark);--btn-disabled-bg: var(--gray-300);--btn-disabled-border-color: var(--gray-300);height:fit-content;display:flex;gap:.3rem}.btn:hover,.btn:focus{box-shadow:var(--box-shadow-md)}.btn-content{display:flex;line-height:initial;gap:.3rem;align-items:center}.btn-icon{display:flex;line-height:initial;justify-content:center;align-items:center;padding:.4rem}.btn-icon .btn-content{flex-direction:column}.btn-reverse{flex-direction:row-reverse}.btn-primary{--color: color-mix(in srgb, var(--primary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-contrast);--btn-border-color: var(--primary);--btn-hover-border-color: var(--primary);--btn-active-border-color: var(--primary)}.btn-primary-light{--color: color-mix(in srgb, var(--primary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-light-contrast);--btn-border-color: var(--primary-light);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary)}.btn-primary-dark{--color: color-mix(in srgb, var(--primary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-dark-contrast);--btn-border-color: var(--primary-dark);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary-dark)}.btn-outline-primary{--color: color-mix(in srgb, var(--primary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-contrast);background:transparent;color:var(--primary);--btn-border-color: var(--primary);--btn-hover-border-color: var(--primary)}.btn-outline-primary-light{--color: color-mix(in srgb, var(--primary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-light-contrast);background:transparent;color:var(--primary);--btn-border-color: var(--primary-light);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary)}.btn-outline-primary-dark{--color: color-mix(in srgb, var(--primary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-dark-contrast);background:transparent;color:var(--primary-dark);--btn-border-color: var(--primary-dark);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary-dark)}.btn-secondary{--color: color-mix(in srgb, var(--secondary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-contrast);--btn-border-color: var(--secondary);--btn-hover-border-color: var(--secondary);--btn-active-border-color: var(--secondary)}.btn-secondary-light{--color: color-mix(in srgb, var(--secondary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-light-contrast);--btn-border-color: var(--secondary-light);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-secondary-dark{--color: color-mix(in srgb, var(--secondary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-dark-contrast);--btn-border-color: var(--secondary-dark);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary-dark)}.btn-outline-secondary{--color: color-mix(in srgb, var(--secondary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-contrast);background:transparent;color:var(--secondary);--btn-border-color: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-outline-secondary-light{--color: color-mix(in srgb, var(--secondary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-light-contrast);background:transparent;color:var(--secondary);--btn-border-color: var(--secondary-light);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-outline-secondary-dark{--color: color-mix(in srgb, var(--secondary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-dark-contrast);background:transparent;color:var(--secondary-dark);--btn-border-color: var(--secondary-dark);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary-dark)}.btn-accent{--color: color-mix(in srgb, var(--accent), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-contrast);--btn-border-color: var(--accent);--btn-hover-border-color: var(--accent);--btn-active-border-color: var(--accent)}.btn-accent-light{--color: color-mix(in srgb, var(--accent-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-light-contrast);--btn-border-color: var(--accent-light);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent)}.btn-accent-dark{--color: color-mix(in srgb, var(--accent-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-dark-contrast);--btn-border-color: var(--accent-dark);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent-dark)}.btn-outline-accent{--color: color-mix(in srgb, var(--accent), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-contrast);background:transparent;color:var(--accent);--btn-border-color: var(--accent);--btn-hover-border-color: var(--accent)}.btn-outline-accent-light{--color: color-mix(in srgb, var(--accent-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-light-contrast);background:transparent;color:var(--accent);--btn-border-color: var(--accent-light);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent)}.btn-outline-accent-dark{--color: color-mix(in srgb, var(--accent-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-dark-contrast);background:transparent;color:var(--accent-dark);--btn-border-color: var(--accent-dark);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent-dark)}.btn-tertiary{--color: color-mix(in srgb, var(--tertiary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-contrast);--btn-border-color: var(--tertiary);--btn-hover-border-color: var(--tertiary);--btn-active-border-color: var(--tertiary)}.btn-tertiary-light{--color: color-mix(in srgb, var(--tertiary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-light-contrast);--btn-border-color: var(--tertiary-light);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-tertiary-dark{--color: color-mix(in srgb, var(--tertiary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-dark-contrast);--btn-border-color: var(--tertiary-dark);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary-dark)}.btn-outline-tertiary{--color: color-mix(in srgb, var(--tertiary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-contrast);background:transparent;color:var(--tertiary);--btn-border-color: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-outline-tertiary-light{--color: color-mix(in srgb, var(--tertiary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-light-contrast);background:transparent;color:var(--tertiary);--btn-border-color: var(--tertiary-light);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-outline-tertiary-dark{--color: color-mix(in srgb, var(--tertiary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-dark-contrast);background:transparent;color:var(--tertiary-dark);--btn-border-color: var(--tertiary-dark);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary-dark)}.btn-success{--color: color-mix(in srgb, var(--success), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-contrast);--btn-border-color: var(--success);--btn-hover-border-color: var(--success);--btn-active-border-color: var(--success)}.btn-success-light{--color: color-mix(in srgb, var(--success-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-light-contrast);--btn-border-color: var(--success-light);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success)}.btn-success-dark{--color: color-mix(in srgb, var(--success-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-dark-contrast);--btn-border-color: var(--success-dark);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success-dark)}.btn-outline-success{--color: color-mix(in srgb, var(--success), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-contrast);background:transparent;color:var(--success);--btn-border-color: var(--success);--btn-hover-border-color: var(--success)}.btn-outline-success-light{--color: color-mix(in srgb, var(--success-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-light-contrast);background:transparent;color:var(--success);--btn-border-color: var(--success-light);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success)}.btn-outline-success-dark{--color: color-mix(in srgb, var(--success-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-dark-contrast);background:transparent;color:var(--success-dark);--btn-border-color: var(--success-dark);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success-dark)}.btn-danger{--color: color-mix(in srgb, var(--danger), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-contrast);--btn-border-color: var(--danger);--btn-hover-border-color: var(--danger);--btn-active-border-color: var(--danger)}.btn-danger-light{--color: color-mix(in srgb, var(--danger-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-light-contrast);--btn-border-color: var(--danger-light);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger)}.btn-danger-dark{--color: color-mix(in srgb, var(--danger-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-dark-contrast);--btn-border-color: var(--danger-dark);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger-dark)}.btn-outline-danger{--color: color-mix(in srgb, var(--danger), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-contrast);background:transparent;color:var(--danger);--btn-border-color: var(--danger);--btn-hover-border-color: var(--danger)}.btn-outline-danger-light{--color: color-mix(in srgb, var(--danger-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-light-contrast);background:transparent;color:var(--danger);--btn-border-color: var(--danger-light);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger)}.btn-outline-danger-dark{--color: color-mix(in srgb, var(--danger-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-dark-contrast);background:transparent;color:var(--danger-dark);--btn-border-color: var(--danger-dark);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger-dark)}.btn-warning{--color: color-mix(in srgb, var(--warning), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-contrast);--btn-border-color: var(--warning);--btn-hover-border-color: var(--warning);--btn-active-border-color: var(--warning)}.btn-warning-light{--color: color-mix(in srgb, var(--warning-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-light-contrast);--btn-border-color: var(--warning-light);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning)}.btn-warning-dark{--color: color-mix(in srgb, var(--warning-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-dark-contrast);--btn-border-color: var(--warning-dark);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning-dark)}.btn-outline-warning{--color: color-mix(in srgb, var(--warning), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-contrast);background:transparent;color:var(--warning);--btn-border-color: var(--warning);--btn-hover-border-color: var(--warning)}.btn-outline-warning-light{--color: color-mix(in srgb, var(--warning-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-light-contrast);background:transparent;color:var(--warning);--btn-border-color: var(--warning-light);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning)}.btn-outline-warning-dark{--color: color-mix(in srgb, var(--warning-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-dark-contrast);background:transparent;color:var(--warning-dark);--btn-border-color: var(--warning-dark);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning-dark)}.btn-info{--color: color-mix(in srgb, var(--info), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-contrast);--btn-border-color: var(--info);--btn-hover-border-color: var(--info);--btn-active-border-color: var(--info)}.btn-info-light{--color: color-mix(in srgb, var(--info-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-light-contrast);--btn-border-color: var(--info-light);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info)}.btn-info-dark{--color: color-mix(in srgb, var(--info-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-dark-contrast);--btn-border-color: var(--info-dark);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info-dark)}.btn-outline-info{--color: color-mix(in srgb, var(--info), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-contrast);background:transparent;color:var(--info);--btn-border-color: var(--info);--btn-hover-border-color: var(--info)}.btn-outline-info-light{--color: color-mix(in srgb, var(--info-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-light-contrast);background:transparent;color:var(--info);--btn-border-color: var(--info-light);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info)}.btn-outline-info-dark{--color: color-mix(in srgb, var(--info-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-dark-contrast);background:transparent;color:var(--info-dark);--btn-border-color: var(--info-dark);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info-dark)}.btn-light{--color: color-mix(in srgb, var(--light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-contrast);--btn-border-color: var(--light);--btn-hover-border-color: var(--light);--btn-active-border-color: var(--light)}.btn-light-light{--color: color-mix(in srgb, var(--light-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-light-contrast);--btn-border-color: var(--light-light);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light)}.btn-light-dark{--color: color-mix(in srgb, var(--light-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-dark-contrast);--btn-border-color: var(--light-dark);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light-dark)}.btn-outline-light{--color: color-mix(in srgb, var(--light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-contrast);background:transparent;color:var(--light);--btn-border-color: var(--light);--btn-hover-border-color: var(--light)}.btn-outline-light-light{--color: color-mix(in srgb, var(--light-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-light-contrast);background:transparent;color:var(--light);--btn-border-color: var(--light-light);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light)}.btn-outline-light-dark{--color: color-mix(in srgb, var(--light-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-dark-contrast);background:transparent;color:var(--light-dark);--btn-border-color: var(--light-dark);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light-dark)}.btn-dark{--color: color-mix(in srgb, var(--dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-contrast);--btn-border-color: var(--dark);--btn-hover-border-color: var(--dark);--btn-active-border-color: var(--dark)}.btn-dark-light{--color: color-mix(in srgb, var(--dark-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-light-contrast);--btn-border-color: var(--dark-light);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark)}.btn-dark-dark{--color: color-mix(in srgb, var(--dark-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-dark-contrast);--btn-border-color: var(--dark-dark);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark-dark)}.btn-outline-dark{--color: color-mix(in srgb, var(--dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-contrast);background:transparent;color:var(--dark);--btn-border-color: var(--dark);--btn-hover-border-color: var(--dark)}.btn-outline-dark-light{--color: color-mix(in srgb, var(--dark-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-light-contrast);background:transparent;color:var(--dark);--btn-border-color: var(--dark-light);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark)}.btn-outline-dark-dark{--color: color-mix(in srgb, var(--dark-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-dark-contrast);background:transparent;color:var(--dark-dark);--btn-border-color: var(--dark-dark);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark-dark)}.btn-transparent{background:transparent;border:none;color:currentColor}.btn-transparent:hover,.btn-transparent:focus{box-shadow:none}.btn-transparent:hover{color:var(--accent)}.btn-none{--btn-font-size: calc(var(--spacing-none) * 0);--btn-padding-y: calc(var(--spacing-none) * 0 * .5);--btn-padding-x: calc(var(--spacing-none) * 0);--btn-border-radius: var(--border-radius)}.btn-xs{--btn-font-size: calc(var(--spacing-xs) * 3);--btn-padding-y: calc(var(--spacing-xs) * 3 * .5);--btn-padding-x: calc(var(--spacing-xs) * 3);--btn-border-radius: var(--border-radius)}.btn-sm{--btn-font-size: calc(var(--spacing-sm) * 1.75);--btn-padding-y: calc(var(--spacing-sm) * 1.75 * .5);--btn-padding-x: calc(var(--spacing-sm) * 1.75);--btn-border-radius: var(--border-radius)}.btn-md{--btn-font-size: calc(var(--spacing-md) * 1);--btn-padding-y: calc(var(--spacing-md) * 1 * .5);--btn-padding-x: calc(var(--spacing-md) * 1);--btn-border-radius: var(--border-radius)}.btn-lg{--btn-font-size: calc(var(--spacing-lg) * .625);--btn-padding-y: calc(var(--spacing-lg) * .625 * .5);--btn-padding-x: calc(var(--spacing-lg) * .625);--btn-border-radius: var(--border-radius)}.btn-xl{--btn-font-size: calc(var(--spacing-xl) * .375);--btn-padding-y: calc(var(--spacing-xl) * .375 * .5);--btn-padding-x: calc(var(--spacing-xl) * .375);--btn-border-radius: var(--border-radius)}.btn-2xl{--btn-font-size: calc(var(--spacing-2xl) * .25);--btn-padding-y: calc(var(--spacing-2xl) * .25 * .5);--btn-padding-x: calc(var(--spacing-2xl) * .25);--btn-border-radius: var(--border-radius)}.btn-3xl{--btn-font-size: calc(var(--spacing-3xl) * .15);--btn-padding-y: calc(var(--spacing-3xl) * .15 * .5);--btn-padding-x: calc(var(--spacing-3xl) * .15);--btn-border-radius: var(--border-radius)}.btn-4xl{--btn-font-size: calc(var(--spacing-4xl) * .14);--btn-padding-y: calc(var(--spacing-4xl) * .14 * .5);--btn-padding-x: calc(var(--spacing-4xl) * .14);--btn-border-radius: var(--border-radius)}.btn-close{--btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--btn-close-opacity: .5;--btn-close-hover-opacity: .75;--btn-close-focus-shadow: 0 0 0 .1rem var(--primary);--btn-close-focus-opacity: 1;--btn-close-disabled-opacity: .25;-webkit-mask-image:var(--btn-close-bg);mask-image:var(--btn-close-bg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.btn:disabled{background-color:color-mix(in srgb,var(--primary),white 85%);border-color:color-mix(in srgb,var(--primary),white 85%);color:color-mix(in srgb,var(--primary),white 60%)}}
|
|
1
|
+
@layer components{.btn{background-color:var(--primary);color:var(--primary-contrast);--btn-border-color: var(--primary);--btn-hover-bg: var(--primary-dark);--btn-hover-border-color: var(--primary-dark);--btn-active-bg: var(--primary-dark);--btn-active-border-color: var(--primary-dark);--btn-disabled-bg: var(--gray-300);--btn-disabled-border-color: var(--gray-300);height:fit-content;display:flex;gap:.3rem}.btn:hover,.btn:focus{box-shadow:var(--box-shadow-md)}.btn-content{display:flex;line-height:initial;gap:.3rem;align-items:center}.btn-icon{background-color:var(--primary);color:var(--primary-contrast);--btn-border-color: var(--primary);--btn-hover-bg: var(--primary-dark);--btn-hover-border-color: var(--primary-dark);--btn-active-bg: var(--primary-dark);--btn-active-border-color: var(--primary-dark);--btn-disabled-bg: var(--gray-300);--btn-disabled-border-color: var(--gray-300);height:fit-content;display:flex;gap:.3rem}.btn-icon:hover,.btn-icon:focus{box-shadow:var(--box-shadow-md)}.btn-icon{display:flex;line-height:initial;justify-content:center;align-items:center;padding:.4rem}.btn-icon .btn-content{flex-direction:column}.btn-reverse{flex-direction:row-reverse}.btn-primary{--color: color-mix(in srgb, var(--primary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-contrast);--btn-border-color: var(--primary);--btn-hover-border-color: var(--primary);--btn-active-border-color: var(--primary)}.btn-primary-light{--color: color-mix(in srgb, var(--primary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-light-contrast);--btn-border-color: var(--primary-light);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary)}.btn-primary-dark{--color: color-mix(in srgb, var(--primary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-dark-contrast);--btn-border-color: var(--primary-dark);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary-dark)}.btn-outline-primary{--color: color-mix(in srgb, var(--primary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-contrast);background:transparent;color:var(--primary);--btn-border-color: var(--primary);--btn-hover-border-color: var(--primary)}.btn-outline-primary-light{--color: color-mix(in srgb, var(--primary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-light-contrast);background:transparent;color:var(--primary);--btn-border-color: var(--primary-light);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary)}.btn-outline-primary-dark{--color: color-mix(in srgb, var(--primary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--primary-dark-contrast);background:transparent;color:var(--primary-dark);--btn-border-color: var(--primary-dark);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary-dark)}.btn-secondary{--color: color-mix(in srgb, var(--secondary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-contrast);--btn-border-color: var(--secondary);--btn-hover-border-color: var(--secondary);--btn-active-border-color: var(--secondary)}.btn-secondary-light{--color: color-mix(in srgb, var(--secondary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-light-contrast);--btn-border-color: var(--secondary-light);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-secondary-dark{--color: color-mix(in srgb, var(--secondary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-dark-contrast);--btn-border-color: var(--secondary-dark);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary-dark)}.btn-outline-secondary{--color: color-mix(in srgb, var(--secondary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-contrast);background:transparent;color:var(--secondary);--btn-border-color: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-outline-secondary-light{--color: color-mix(in srgb, var(--secondary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-light-contrast);background:transparent;color:var(--secondary);--btn-border-color: var(--secondary-light);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-outline-secondary-dark{--color: color-mix(in srgb, var(--secondary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--secondary-dark-contrast);background:transparent;color:var(--secondary-dark);--btn-border-color: var(--secondary-dark);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary-dark)}.btn-accent{--color: color-mix(in srgb, var(--accent), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-contrast);--btn-border-color: var(--accent);--btn-hover-border-color: var(--accent);--btn-active-border-color: var(--accent)}.btn-accent-light{--color: color-mix(in srgb, var(--accent-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-light-contrast);--btn-border-color: var(--accent-light);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent)}.btn-accent-dark{--color: color-mix(in srgb, var(--accent-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-dark-contrast);--btn-border-color: var(--accent-dark);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent-dark)}.btn-outline-accent{--color: color-mix(in srgb, var(--accent), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-contrast);background:transparent;color:var(--accent);--btn-border-color: var(--accent);--btn-hover-border-color: var(--accent)}.btn-outline-accent-light{--color: color-mix(in srgb, var(--accent-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-light-contrast);background:transparent;color:var(--accent);--btn-border-color: var(--accent-light);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent)}.btn-outline-accent-dark{--color: color-mix(in srgb, var(--accent-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--accent-dark-contrast);background:transparent;color:var(--accent-dark);--btn-border-color: var(--accent-dark);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent-dark)}.btn-tertiary{--color: color-mix(in srgb, var(--tertiary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-contrast);--btn-border-color: var(--tertiary);--btn-hover-border-color: var(--tertiary);--btn-active-border-color: var(--tertiary)}.btn-tertiary-light{--color: color-mix(in srgb, var(--tertiary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-light-contrast);--btn-border-color: var(--tertiary-light);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-tertiary-dark{--color: color-mix(in srgb, var(--tertiary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-dark-contrast);--btn-border-color: var(--tertiary-dark);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary-dark)}.btn-outline-tertiary{--color: color-mix(in srgb, var(--tertiary), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-contrast);background:transparent;color:var(--tertiary);--btn-border-color: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-outline-tertiary-light{--color: color-mix(in srgb, var(--tertiary-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-light-contrast);background:transparent;color:var(--tertiary);--btn-border-color: var(--tertiary-light);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-outline-tertiary-dark{--color: color-mix(in srgb, var(--tertiary-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--tertiary-dark-contrast);background:transparent;color:var(--tertiary-dark);--btn-border-color: var(--tertiary-dark);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary-dark)}.btn-success{--color: color-mix(in srgb, var(--success), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-contrast);--btn-border-color: var(--success);--btn-hover-border-color: var(--success);--btn-active-border-color: var(--success)}.btn-success-light{--color: color-mix(in srgb, var(--success-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-light-contrast);--btn-border-color: var(--success-light);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success)}.btn-success-dark{--color: color-mix(in srgb, var(--success-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-dark-contrast);--btn-border-color: var(--success-dark);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success-dark)}.btn-outline-success{--color: color-mix(in srgb, var(--success), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-contrast);background:transparent;color:var(--success);--btn-border-color: var(--success);--btn-hover-border-color: var(--success)}.btn-outline-success-light{--color: color-mix(in srgb, var(--success-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-light-contrast);background:transparent;color:var(--success);--btn-border-color: var(--success-light);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success)}.btn-outline-success-dark{--color: color-mix(in srgb, var(--success-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--success-dark-contrast);background:transparent;color:var(--success-dark);--btn-border-color: var(--success-dark);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success-dark)}.btn-danger{--color: color-mix(in srgb, var(--danger), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-contrast);--btn-border-color: var(--danger);--btn-hover-border-color: var(--danger);--btn-active-border-color: var(--danger)}.btn-danger-light{--color: color-mix(in srgb, var(--danger-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-light-contrast);--btn-border-color: var(--danger-light);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger)}.btn-danger-dark{--color: color-mix(in srgb, var(--danger-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-dark-contrast);--btn-border-color: var(--danger-dark);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger-dark)}.btn-outline-danger{--color: color-mix(in srgb, var(--danger), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-contrast);background:transparent;color:var(--danger);--btn-border-color: var(--danger);--btn-hover-border-color: var(--danger)}.btn-outline-danger-light{--color: color-mix(in srgb, var(--danger-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-light-contrast);background:transparent;color:var(--danger);--btn-border-color: var(--danger-light);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger)}.btn-outline-danger-dark{--color: color-mix(in srgb, var(--danger-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--danger-dark-contrast);background:transparent;color:var(--danger-dark);--btn-border-color: var(--danger-dark);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger-dark)}.btn-warning{--color: color-mix(in srgb, var(--warning), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-contrast);--btn-border-color: var(--warning);--btn-hover-border-color: var(--warning);--btn-active-border-color: var(--warning)}.btn-warning-light{--color: color-mix(in srgb, var(--warning-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-light-contrast);--btn-border-color: var(--warning-light);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning)}.btn-warning-dark{--color: color-mix(in srgb, var(--warning-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-dark-contrast);--btn-border-color: var(--warning-dark);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning-dark)}.btn-outline-warning{--color: color-mix(in srgb, var(--warning), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-contrast);background:transparent;color:var(--warning);--btn-border-color: var(--warning);--btn-hover-border-color: var(--warning)}.btn-outline-warning-light{--color: color-mix(in srgb, var(--warning-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-light-contrast);background:transparent;color:var(--warning);--btn-border-color: var(--warning-light);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning)}.btn-outline-warning-dark{--color: color-mix(in srgb, var(--warning-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--warning-dark-contrast);background:transparent;color:var(--warning-dark);--btn-border-color: var(--warning-dark);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning-dark)}.btn-info{--color: color-mix(in srgb, var(--info), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-contrast);--btn-border-color: var(--info);--btn-hover-border-color: var(--info);--btn-active-border-color: var(--info)}.btn-info-light{--color: color-mix(in srgb, var(--info-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-light-contrast);--btn-border-color: var(--info-light);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info)}.btn-info-dark{--color: color-mix(in srgb, var(--info-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-dark-contrast);--btn-border-color: var(--info-dark);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info-dark)}.btn-outline-info{--color: color-mix(in srgb, var(--info), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-contrast);background:transparent;color:var(--info);--btn-border-color: var(--info);--btn-hover-border-color: var(--info)}.btn-outline-info-light{--color: color-mix(in srgb, var(--info-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-light-contrast);background:transparent;color:var(--info);--btn-border-color: var(--info-light);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info)}.btn-outline-info-dark{--color: color-mix(in srgb, var(--info-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--info-dark-contrast);background:transparent;color:var(--info-dark);--btn-border-color: var(--info-dark);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info-dark)}.btn-light{--color: color-mix(in srgb, var(--light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-contrast);--btn-border-color: var(--light);--btn-hover-border-color: var(--light);--btn-active-border-color: var(--light)}.btn-light-light{--color: color-mix(in srgb, var(--light-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-light-contrast);--btn-border-color: var(--light-light);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light)}.btn-light-dark{--color: color-mix(in srgb, var(--light-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-dark-contrast);--btn-border-color: var(--light-dark);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light-dark)}.btn-outline-light{--color: color-mix(in srgb, var(--light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-contrast);background:transparent;color:var(--light);--btn-border-color: var(--light);--btn-hover-border-color: var(--light)}.btn-outline-light-light{--color: color-mix(in srgb, var(--light-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-light-contrast);background:transparent;color:var(--light);--btn-border-color: var(--light-light);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light)}.btn-outline-light-dark{--color: color-mix(in srgb, var(--light-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--light-dark-contrast);background:transparent;color:var(--light-dark);--btn-border-color: var(--light-dark);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light-dark)}.btn-dark{--color: color-mix(in srgb, var(--dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-contrast);--btn-border-color: var(--dark);--btn-hover-border-color: var(--dark);--btn-active-border-color: var(--dark)}.btn-dark-light{--color: color-mix(in srgb, var(--dark-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-light-contrast);--btn-border-color: var(--dark-light);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark)}.btn-dark-dark{--color: color-mix(in srgb, var(--dark-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-dark-contrast);--btn-border-color: var(--dark-dark);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark-dark)}.btn-outline-dark{--color: color-mix(in srgb, var(--dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-contrast);background:transparent;color:var(--dark);--btn-border-color: var(--dark);--btn-hover-border-color: var(--dark)}.btn-outline-dark-light{--color: color-mix(in srgb, var(--dark-light), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-light-contrast);background:transparent;color:var(--dark);--btn-border-color: var(--dark-light);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark)}.btn-outline-dark-dark{--color: color-mix(in srgb, var(--dark-dark), var(--bg-tint-color, var(--dark)) var(--bg-tint, 0%));background-color:var(--color);color:var(--dark-dark-contrast);background:transparent;color:var(--dark-dark);--btn-border-color: var(--dark-dark);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark-dark)}.btn-transparent{background:transparent;border:none;color:currentColor}.btn-transparent:hover,.btn-transparent:focus{box-shadow:none}.btn-transparent:hover{color:var(--accent)}.btn-none{--btn-font-size: calc(var(--spacing-none) * 0);--btn-padding-y: calc(var(--spacing-none) * 0 * .5);--btn-padding-x: calc(var(--spacing-none) * 0);--btn-border-radius: var(--border-radius)}.btn-xs{--btn-font-size: calc(var(--spacing-xs) * 3);--btn-padding-y: calc(var(--spacing-xs) * 3 * .5);--btn-padding-x: calc(var(--spacing-xs) * 3);--btn-border-radius: var(--border-radius)}.btn-sm{--btn-font-size: calc(var(--spacing-sm) * 1.75);--btn-padding-y: calc(var(--spacing-sm) * 1.75 * .5);--btn-padding-x: calc(var(--spacing-sm) * 1.75);--btn-border-radius: var(--border-radius)}.btn-md{--btn-font-size: calc(var(--spacing-md) * 1);--btn-padding-y: calc(var(--spacing-md) * 1 * .5);--btn-padding-x: calc(var(--spacing-md) * 1);--btn-border-radius: var(--border-radius)}.btn-lg{--btn-font-size: calc(var(--spacing-lg) * .625);--btn-padding-y: calc(var(--spacing-lg) * .625 * .5);--btn-padding-x: calc(var(--spacing-lg) * .625);--btn-border-radius: var(--border-radius)}.btn-xl{--btn-font-size: calc(var(--spacing-xl) * .375);--btn-padding-y: calc(var(--spacing-xl) * .375 * .5);--btn-padding-x: calc(var(--spacing-xl) * .375);--btn-border-radius: var(--border-radius)}.btn-2xl{--btn-font-size: calc(var(--spacing-2xl) * .25);--btn-padding-y: calc(var(--spacing-2xl) * .25 * .5);--btn-padding-x: calc(var(--spacing-2xl) * .25);--btn-border-radius: var(--border-radius)}.btn-3xl{--btn-font-size: calc(var(--spacing-3xl) * .15);--btn-padding-y: calc(var(--spacing-3xl) * .15 * .5);--btn-padding-x: calc(var(--spacing-3xl) * .15);--btn-border-radius: var(--border-radius)}.btn-4xl{--btn-font-size: calc(var(--spacing-4xl) * .14);--btn-padding-y: calc(var(--spacing-4xl) * .14 * .5);--btn-padding-x: calc(var(--spacing-4xl) * .14);--btn-border-radius: var(--border-radius)}.btn-close{--btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--btn-close-opacity: .5;--btn-close-hover-opacity: .75;--btn-close-focus-shadow: 0 0 0 .1rem var(--primary);--btn-close-focus-opacity: 1;--btn-close-disabled-opacity: .25;-webkit-mask-image:var(--btn-close-bg);mask-image:var(--btn-close-bg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.btn:disabled{background-color:color-mix(in srgb,var(--primary),white 85%);border-color:color-mix(in srgb,var(--primary),white 85%);color:color-mix(in srgb,var(--primary),white 60%)}}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { default as Uppy, UppyFile } from '@uppy/core';
|
|
2
|
+
/**
|
|
3
|
+
* Interface représentant une route de fichier distant.
|
|
4
|
+
*/
|
|
5
|
+
export interface FileInputRoute {
|
|
6
|
+
route: string;
|
|
7
|
+
options?: any;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Interface pour les restrictions Uppy.
|
|
11
|
+
*/
|
|
12
|
+
export interface UppyRestrictions {
|
|
13
|
+
maxNumberOfFiles?: number | null;
|
|
14
|
+
maxFileSize?: number | null;
|
|
15
|
+
allowedFileTypes?: string[] | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Récupère la locale Uppy correspondante à la langue demandée.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} [lang] - La langue ('fr' ou 'en'). Par défaut, tente de détecter via le document.
|
|
21
|
+
* @returns {any} La locale Uppy.
|
|
22
|
+
*/
|
|
23
|
+
export declare const getUppyLocale: (lang?: string) => any;
|
|
24
|
+
/**
|
|
25
|
+
* Crée et configure une instance Uppy.
|
|
26
|
+
*
|
|
27
|
+
* @param {UppyRestrictions} restrictions - Les restrictions de téléchargement.
|
|
28
|
+
* @param {any} locale - La locale à utiliser.
|
|
29
|
+
* @param {{ allowVideo?: boolean }} [webcamConfig] - La configuration de la webcam.
|
|
30
|
+
* @returns {Uppy} L'instance Uppy configurée.
|
|
31
|
+
*/
|
|
32
|
+
export declare const createUppyInstance: (restrictions: UppyRestrictions, locale: any, webcamConfig?: {
|
|
33
|
+
allowVideo?: boolean;
|
|
34
|
+
}) => Uppy;
|
|
35
|
+
/**
|
|
36
|
+
* Synchronise les fichiers d'Uppy vers un élément input HTML de type file.
|
|
37
|
+
*
|
|
38
|
+
* @param {Uppy} uppy - L'instance Uppy.
|
|
39
|
+
* @param {HTMLInputElement} input - L'élément input cible.
|
|
40
|
+
*/
|
|
41
|
+
export declare const syncUppyToInput: (uppy: Uppy, input: HTMLInputElement) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Récupère des fichiers distants et les ajoute à l'instance Uppy.
|
|
44
|
+
*
|
|
45
|
+
* @param {Uppy} uppy - L'instance Uppy.
|
|
46
|
+
* @param {FileInputRoute[]} filesToFetch - Liste des fichiers à charger.
|
|
47
|
+
* @param {Set<string>} fetchedUrls - Ensemble des URLs déjà traitées pour éviter les doublons.
|
|
48
|
+
* @param {(error: any) => void} [onError] - Callback en cas d'erreur.
|
|
49
|
+
*/
|
|
50
|
+
export declare const fetchRemoteFiles: (uppy: Uppy, filesToFetch: FileInputRoute[], fetchedUrls: Set<string>, onError?: (error: any) => void) => Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Ouvre un fichier Uppy dans un nouvel onglet du navigateur.
|
|
53
|
+
* Crée une URL objet temporaire à partir du blob du fichier, l'ouvre,
|
|
54
|
+
* puis révoque l'URL après un court délai pour libérer la mémoire.
|
|
55
|
+
*
|
|
56
|
+
* @param {UppyFile} file - Le fichier Uppy à ouvrir.
|
|
57
|
+
*/
|
|
58
|
+
export declare const openFileInNewTab: (file: UppyFile<Record<string, unknown>, Record<string, unknown>>) => void;
|
|
59
|
+
/**
|
|
60
|
+
* Télécharge un fichier Uppy via une balise <a> temporaire.
|
|
61
|
+
* Crée une URL objet, déclenche le téléchargement, puis révoque l'URL.
|
|
62
|
+
*
|
|
63
|
+
* @param {UppyFile} file - Le fichier Uppy à télécharger.
|
|
64
|
+
*/
|
|
65
|
+
export declare const downloadFile: (file: UppyFile<Record<string, unknown>, Record<string, unknown>>) => void;
|
|
66
|
+
/**
|
|
67
|
+
* Observe le conteneur du Dashboard et injecte les boutons "Ouvrir" et "Télécharger"
|
|
68
|
+
* pour chaque item Uppy. Les structures générées calquent exactement le HTML/CSS des
|
|
69
|
+
* composants React Zuii (Group et Button) pour s'affranchir de React ici.
|
|
70
|
+
*
|
|
71
|
+
* @param {HTMLElement} container - Le Dashboard Uppy.
|
|
72
|
+
* @param {Uppy} uppy - L'instance Uppy.
|
|
73
|
+
*/
|
|
74
|
+
export declare const setupFileOpenButtons: (container: HTMLElement, uppy: Uppy) => (() => void);
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import v from "@uppy/core";
|
|
2
|
+
import w from "@uppy/compressor";
|
|
3
|
+
import R from "@uppy/image-editor";
|
|
4
|
+
import W from "@uppy/webcam";
|
|
5
|
+
import U from "../../../node_modules/.pnpm/@uppy_locales@5.1.1/node_modules/@uppy/locales/lib/fr_FR.js";
|
|
6
|
+
import I from "../../../node_modules/.pnpm/@uppy_locales@5.1.1/node_modules/@uppy/locales/lib/en_US.js";
|
|
7
|
+
const O = (t) => (t || (typeof document < "u" ? document.documentElement.lang : "fr") || "fr").startsWith("en") ? I : U, S = (t, c, s) => {
|
|
8
|
+
const n = new v({
|
|
9
|
+
locale: c,
|
|
10
|
+
restrictions: {
|
|
11
|
+
maxNumberOfFiles: null,
|
|
12
|
+
maxFileSize: null,
|
|
13
|
+
allowedFileTypes: null,
|
|
14
|
+
...t
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
n.use(w), n.use(R);
|
|
18
|
+
const o = s?.allowVideo === !1 ? ["picture"] : ["video-audio", "picture"];
|
|
19
|
+
return n.use(W, { modes: o }), n;
|
|
20
|
+
}, j = (t, c) => {
|
|
21
|
+
const s = new DataTransfer();
|
|
22
|
+
t.getFiles().forEach((o) => {
|
|
23
|
+
if (o.data instanceof File)
|
|
24
|
+
s.items.add(o.data);
|
|
25
|
+
else if (o.data instanceof Blob) {
|
|
26
|
+
const e = new File([o.data], o.name, { type: o.data.type });
|
|
27
|
+
s.items.add(e);
|
|
28
|
+
}
|
|
29
|
+
}), c.files = s.files, c.dispatchEvent(new Event("change", { bubbles: !0 }));
|
|
30
|
+
}, k = async (t, c, s, n) => {
|
|
31
|
+
for (const o of c)
|
|
32
|
+
if (!s.has(o.route)) {
|
|
33
|
+
s.add(o.route);
|
|
34
|
+
try {
|
|
35
|
+
if (t.getFiles().some((r) => r.meta?.sourceRoute === o.route)) continue;
|
|
36
|
+
const i = await fetch(o.route, o.options);
|
|
37
|
+
if (!i.ok) throw new Error(`Erreur lors de la récupération du fichier : ${i.statusText}`);
|
|
38
|
+
const l = await i.blob();
|
|
39
|
+
t.addFile({
|
|
40
|
+
name: o.route.split("/").pop() || "file",
|
|
41
|
+
type: o.options?.headers?.["Content-Type"] || l.type,
|
|
42
|
+
data: l,
|
|
43
|
+
meta: {
|
|
44
|
+
sourceRoute: o.route
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
} catch (e) {
|
|
48
|
+
if (e.isRestriction && e.message?.includes("déjà"))
|
|
49
|
+
continue;
|
|
50
|
+
console.error("Uppy fetch error:", e), n && n(e), s.delete(o.route);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}, E = (t) => {
|
|
54
|
+
const c = t.data instanceof Blob ? t.data : null;
|
|
55
|
+
if (!c) return;
|
|
56
|
+
const s = URL.createObjectURL(c), n = window.open(s, "_blank");
|
|
57
|
+
n ? n.addEventListener("load", () => URL.revokeObjectURL(s)) : setTimeout(() => URL.revokeObjectURL(s), 1e4);
|
|
58
|
+
}, F = (t) => {
|
|
59
|
+
const c = t.data instanceof Blob ? t.data : null;
|
|
60
|
+
if (!c) return;
|
|
61
|
+
const s = URL.createObjectURL(c), n = document.createElement("a");
|
|
62
|
+
n.href = s, n.download = t.name, n.style.display = "none", document.body.appendChild(n), n.click(), document.body.removeChild(n), setTimeout(() => URL.revokeObjectURL(s), 1e3);
|
|
63
|
+
}, q = (t, c) => {
|
|
64
|
+
const s = (e) => {
|
|
65
|
+
if (e.querySelector("[data-zuii-uppy-actions]")) return;
|
|
66
|
+
const i = e.closest(".uppy-Dashboard-Item");
|
|
67
|
+
if (!i) return;
|
|
68
|
+
const l = i.id, r = l?.startsWith("uppy_") ? l.slice(5) : null;
|
|
69
|
+
if (!r) return;
|
|
70
|
+
const a = document.createElement("div");
|
|
71
|
+
a.dataset.zuiiUppyActions = "true", a.className = "group group--gap-none group--center", a.style.marginRight = "8px";
|
|
72
|
+
const p = (h, d, g) => {
|
|
73
|
+
const u = document.createElement("button");
|
|
74
|
+
return u.type = "button", u.title = d, u.setAttribute("aria-label", d), u.className = "btn btn-light uppy-Dashboard-Item-action btn-xs btn-icon btn-transparent", u.innerHTML = `<div class="btn-content"><span class="icon icon--size-xs"><i class="${h}"></i></span></div>`, u.addEventListener("click", (L) => {
|
|
75
|
+
L.stopPropagation();
|
|
76
|
+
const m = c.getFile(r);
|
|
77
|
+
m && g(m);
|
|
78
|
+
}), u;
|
|
79
|
+
}, b = p("icon-search", "Ouvrir dans un nouvel onglet", E), y = p("icon-download", "Télécharger le fichier", F);
|
|
80
|
+
a.appendChild(b), a.appendChild(y);
|
|
81
|
+
const f = e.querySelector(".uppy-Dashboard-Item-action--remove");
|
|
82
|
+
e.insertBefore(a, f);
|
|
83
|
+
}, n = () => {
|
|
84
|
+
t.querySelectorAll(".uppy-Dashboard-Item-actionWrapper").forEach(s), t.querySelectorAll(".uppy-Webcam-buttonContainer").forEach((e) => {
|
|
85
|
+
e.className = "group group--gap-sm group--center uppy-Webcam-buttonContainer";
|
|
86
|
+
}), t.querySelectorAll(".uppy-Webcam-button").forEach((e) => {
|
|
87
|
+
if (!e.classList.contains("uppy-Webcam-button--submit") && !e.classList.contains("uppy-Webcam-button--discard") && !e.classList.contains("uppy-Webcam-button--picture")) {
|
|
88
|
+
const r = e.title.toLowerCase().includes("stop") || e.title.toLowerCase().includes("arrêter") ? "icon-square" : "icon-video", a = e.querySelector(".icon i");
|
|
89
|
+
(!a || !a.className.includes(r)) && (e.className = "btn btn-danger btn-lg btn-icon uppy-Webcam-button", e.innerHTML = `<div class="btn-content"><span class="icon icon--size-md"><i class="${r}"></i></span></div>`);
|
|
90
|
+
}
|
|
91
|
+
e.classList.contains("btn") || (e.classList.contains("uppy-Webcam-button--submit") ? (e.className = "btn btn-primary btn-md btn-icon uppy-Webcam-button uppy-Webcam-button--submit", e.innerHTML = '<div class="btn-content"><span class="icon icon--size-md"><i class="icon-check"></i></span></div>') : e.classList.contains("uppy-Webcam-button--discard") ? (e.className = "btn btn-danger btn-md btn-icon btn-transparent uppy-Webcam-button uppy-Webcam-button--discard", e.innerHTML = '<div class="btn-content"><span class="icon icon--size-md"><i class="icon-trash"></i></span></div>') : e.classList.contains("uppy-Webcam-button--picture") && (e.className = "btn btn-primary btn-lg btn-icon uppy-Webcam-button uppy-Webcam-button--picture", e.innerHTML = '<div class="btn-content"><span class="icon icon--size-md"><i class="icon-camera"></i></span></div>'));
|
|
92
|
+
});
|
|
93
|
+
}, o = new MutationObserver(n);
|
|
94
|
+
return o.observe(t, { childList: !0, subtree: !0, attributes: !0, attributeFilter: ["title"] }), n(), () => {
|
|
95
|
+
o.disconnect(), t.querySelectorAll("[data-zuii-uppy-actions]").forEach((e) => e.remove());
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
export {
|
|
99
|
+
S as createUppyInstance,
|
|
100
|
+
F as downloadFile,
|
|
101
|
+
k as fetchRemoteFiles,
|
|
102
|
+
O as getUppyLocale,
|
|
103
|
+
E as openFileInNewTab,
|
|
104
|
+
q as setupFileOpenButtons,
|
|
105
|
+
j as syncUppyToInput
|
|
106
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FileInputRoute } from '../js/uppy';
|
|
1
2
|
/**
|
|
2
3
|
* Propriétés du composant FileInput.
|
|
3
4
|
*/
|
|
@@ -19,6 +20,13 @@ interface FileInputProps {
|
|
|
19
20
|
onComplete?: (result: any) => void;
|
|
20
21
|
/** Callback appelé en cas d'erreur. */
|
|
21
22
|
onError?: (error: any) => void;
|
|
23
|
+
/** Fichiers à charger initialement. */
|
|
24
|
+
files?: FileInputRoute[];
|
|
25
|
+
/** Configuration de la webcam. */
|
|
26
|
+
webcam?: {
|
|
27
|
+
/** Si l'enregistrement vidéo est autorisé (défaut: true). */
|
|
28
|
+
allowVideo?: boolean;
|
|
29
|
+
};
|
|
22
30
|
}
|
|
23
31
|
/**
|
|
24
32
|
* Composant FileInput utilisant Uppy.js pour le téléchargement de fichiers.
|
|
@@ -27,5 +35,5 @@ interface FileInputProps {
|
|
|
27
35
|
* @param {FileInputProps} props - Les propriétés du composant.
|
|
28
36
|
* @returns {JSX.Element} Le composant FileInput rendu.
|
|
29
37
|
*/
|
|
30
|
-
export declare const FileInput: ({ name, lang, restrictions, onComplete, onError }: FileInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
export declare const FileInput: ({ name, lang, restrictions, onComplete, onError, files, webcam }: FileInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
39
|
export {};
|
|
@@ -1,45 +1,23 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import x from "@uppy/core";
|
|
1
|
+
import { jsx as p, jsxs as x } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as o, useState as b, useEffect as u } from "react";
|
|
4
3
|
import { UppyContextProvider as v } from "@uppy/react";
|
|
5
|
-
import
|
|
6
|
-
import N from "
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
onError: n
|
|
4
|
+
import F from "../../../node_modules/.pnpm/@uppy_react@5.2.0_@uppy_core@5.2.0_@uppy_dashboard@5.1.1_@uppy_core@5.2.0__@uppy_image-editor_4567vrulez5sapld32rywmrijm/node_modules/@uppy/react/lib/Dashboard.js";
|
|
5
|
+
import { getUppyLocale as w, createUppyInstance as N, fetchRemoteFiles as R, setupFileOpenButtons as _, syncUppyToInput as B } from "../js/uppy.js";
|
|
6
|
+
const j = ({
|
|
7
|
+
name: i,
|
|
8
|
+
lang: y,
|
|
9
|
+
restrictions: l,
|
|
10
|
+
onComplete: s,
|
|
11
|
+
onError: t,
|
|
12
|
+
files: r,
|
|
13
|
+
webcam: g
|
|
16
14
|
}) => {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const r = new x({
|
|
24
|
-
locale: c,
|
|
25
|
-
restrictions: l
|
|
26
|
-
});
|
|
27
|
-
return r.use(N), r.use(_), r;
|
|
28
|
-
});
|
|
29
|
-
b(() => {
|
|
30
|
-
i && e.on("complete", i), n && e.on("error", n);
|
|
31
|
-
const r = () => {
|
|
32
|
-
if (!a.current) return;
|
|
33
|
-
const t = new DataTransfer();
|
|
34
|
-
e.getFiles().forEach((s) => {
|
|
35
|
-
if (s.data instanceof File)
|
|
36
|
-
t.items.add(s.data);
|
|
37
|
-
else if (s.data instanceof Blob) {
|
|
38
|
-
const h = new File([s.data], s.name, { type: s.data.type });
|
|
39
|
-
t.items.add(h);
|
|
40
|
-
}
|
|
41
|
-
}), a.current.files = t.files, a.current.dispatchEvent(new Event("change", { bubbles: !0 }));
|
|
42
|
-
}, d = [
|
|
15
|
+
const c = o(null), f = o(null), U = o(/* @__PURE__ */ new Set()), a = w(y), [e] = b(() => N(l || {}, a, g));
|
|
16
|
+
u(() => {
|
|
17
|
+
s && e.on("complete", s), t && e.on("error", t);
|
|
18
|
+
const m = () => {
|
|
19
|
+
c.current && B(e, c.current);
|
|
20
|
+
}, h = [
|
|
43
21
|
"file-added",
|
|
44
22
|
"file-removed",
|
|
45
23
|
"files-added",
|
|
@@ -47,38 +25,44 @@ const M = ({
|
|
|
47
25
|
"preprocess-complete",
|
|
48
26
|
"postprocess-complete"
|
|
49
27
|
];
|
|
50
|
-
return
|
|
51
|
-
|
|
28
|
+
return h.forEach((n) => e.on(n, m)), () => {
|
|
29
|
+
s && e.off("complete", s), t && e.off("error", t), h.forEach((n) => e.off(n, m));
|
|
52
30
|
};
|
|
53
|
-
}, [e,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
31
|
+
}, [e, s, t]), u(() => {
|
|
32
|
+
r && r.length > 0 && R(e, r, U.current, t);
|
|
33
|
+
}, [e, r, t]), u(() => {
|
|
34
|
+
if (f.current)
|
|
35
|
+
return _(f.current, e);
|
|
36
|
+
}, [e]);
|
|
37
|
+
const d = !l?.maxNumberOfFiles || l.maxNumberOfFiles > 1;
|
|
38
|
+
return /* @__PURE__ */ p(v, { uppy: e, children: /* @__PURE__ */ x("div", { className: "file-input__wrapper", id: i, children: [
|
|
39
|
+
/* @__PURE__ */ p("div", { className: "file-input__content", ref: f, children: /* @__PURE__ */ p(
|
|
40
|
+
F,
|
|
58
41
|
{
|
|
59
42
|
uppy: e,
|
|
43
|
+
plugins: ["Webcam"],
|
|
60
44
|
width: "100%",
|
|
61
45
|
height: 300,
|
|
62
46
|
hideProgressDetails: !1,
|
|
63
47
|
hideUploadButton: !0,
|
|
64
48
|
proudlyDisplayPoweredByUppy: !1,
|
|
65
49
|
locale: {
|
|
66
|
-
strings:
|
|
50
|
+
strings: a.strings
|
|
67
51
|
}
|
|
68
52
|
}
|
|
69
53
|
) }),
|
|
70
|
-
|
|
54
|
+
i && /* @__PURE__ */ p(
|
|
71
55
|
"input",
|
|
72
56
|
{
|
|
73
|
-
ref:
|
|
57
|
+
ref: c,
|
|
74
58
|
type: "file",
|
|
75
|
-
name:
|
|
76
|
-
multiple:
|
|
59
|
+
name: d ? `${i}[]` : i,
|
|
60
|
+
multiple: d,
|
|
77
61
|
style: { display: "none" }
|
|
78
62
|
}
|
|
79
63
|
)
|
|
80
64
|
] }) });
|
|
81
65
|
};
|
|
82
66
|
export {
|
|
83
|
-
|
|
67
|
+
j as FileInput
|
|
84
68
|
};
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
* Propriétés du composant NumberInput.
|
|
3
3
|
*/
|
|
4
4
|
export interface NumberInputProps {
|
|
5
|
+
/**
|
|
6
|
+
* Id de l'input.
|
|
7
|
+
*/
|
|
8
|
+
id?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Name de l'input.
|
|
11
|
+
*/
|
|
12
|
+
name?: string;
|
|
5
13
|
/**
|
|
6
14
|
* Valeur actuelle de l'input.
|
|
7
15
|
*/
|
|
@@ -10,7 +18,7 @@ export interface NumberInputProps {
|
|
|
10
18
|
* Callback lors du changement de valeur.
|
|
11
19
|
* @param {number} value - La nouvelle valeur.
|
|
12
20
|
*/
|
|
13
|
-
onChange
|
|
21
|
+
onChange?: (value: number) => void;
|
|
14
22
|
/**
|
|
15
23
|
* Valeur minimale (défaut: undefined).
|
|
16
24
|
*/
|
|
@@ -31,6 +39,10 @@ export interface NumberInputProps {
|
|
|
31
39
|
* Texte d'aide ou de placeholder.
|
|
32
40
|
*/
|
|
33
41
|
placeholder?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Indique si le champ est requis.
|
|
44
|
+
*/
|
|
45
|
+
required?: boolean;
|
|
34
46
|
}
|
|
35
47
|
/**
|
|
36
48
|
* Composant NumberInput avec boutons +/- personnalisés.
|
|
@@ -38,4 +50,4 @@ export interface NumberInputProps {
|
|
|
38
50
|
* @param {NumberInputProps} props - Les propriétés du composant.
|
|
39
51
|
* @returns {JSX.Element} Le composant NumberInput rendu.
|
|
40
52
|
*/
|
|
41
|
-
export declare const NumberInput: ({ value, onChange, min, max, step, className, placeholder, }: NumberInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
export declare const NumberInput: ({ value: propsValue, onChange, min, max, step, className, placeholder, id, name, required, }: NumberInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,54 +1,67 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { jsxs as j, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { useState as k, useEffect as y } from "react";
|
|
3
|
+
import { InputGroup as m, Form as z } from "react-bootstrap";
|
|
4
|
+
import { calculateIncrement as D, calculateDecrement as T } from "../js/form.js";
|
|
5
|
+
import { Icon as h } from "../../Icon/react/index.js";
|
|
6
|
+
const q = ({
|
|
7
|
+
value: e,
|
|
8
|
+
onChange: u,
|
|
9
|
+
min: t,
|
|
10
|
+
max: c,
|
|
11
|
+
step: s = 1,
|
|
12
|
+
className: I = "",
|
|
13
|
+
placeholder: N,
|
|
14
|
+
id: _,
|
|
15
|
+
name: d,
|
|
16
|
+
required: C
|
|
13
17
|
}) => {
|
|
14
|
-
const
|
|
15
|
-
|
|
18
|
+
const r = "number-input", [$, f] = k(e ?? 0);
|
|
19
|
+
y(() => {
|
|
20
|
+
e !== void 0 && f(e);
|
|
21
|
+
}, [e]);
|
|
22
|
+
const i = e !== void 0 ? e : $, a = (l) => {
|
|
23
|
+
e === void 0 && f(l), u && u(l);
|
|
24
|
+
}, b = () => {
|
|
25
|
+
a(D(i, s, c));
|
|
16
26
|
}, p = () => {
|
|
17
|
-
|
|
18
|
-
},
|
|
19
|
-
const
|
|
20
|
-
if (isNaN(
|
|
21
|
-
|
|
27
|
+
a(T(i, s, t));
|
|
28
|
+
}, g = (l) => {
|
|
29
|
+
const v = parseInt(l.target.value);
|
|
30
|
+
if (isNaN(v)) {
|
|
31
|
+
a(0);
|
|
22
32
|
return;
|
|
23
33
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (t !== void 0 && o > t) {
|
|
29
|
-
e(t);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
e(o);
|
|
34
|
+
let o = v;
|
|
35
|
+
t !== void 0 && o < t && (o = t), c !== void 0 && o > c && (o = c), a(o);
|
|
33
36
|
};
|
|
34
|
-
return /* @__PURE__ */
|
|
35
|
-
/* @__PURE__ */ n(m.Text, { className: `${
|
|
37
|
+
return /* @__PURE__ */ j(m, { className: `${r} ${I}`.trim(), children: [
|
|
38
|
+
/* @__PURE__ */ n(m.Text, { className: `${r}__addon`, onClick: p, children: /* @__PURE__ */ n(h, { name: "icon-minus", size: "sm" }) }),
|
|
36
39
|
/* @__PURE__ */ n(
|
|
37
|
-
|
|
40
|
+
z.Control,
|
|
38
41
|
{
|
|
42
|
+
id: _,
|
|
39
43
|
type: "number",
|
|
40
|
-
className: `${
|
|
41
|
-
value:
|
|
42
|
-
onChange:
|
|
43
|
-
placeholder:
|
|
44
|
-
min:
|
|
45
|
-
max:
|
|
46
|
-
step:
|
|
44
|
+
className: `${r}__control`,
|
|
45
|
+
value: i,
|
|
46
|
+
onChange: g,
|
|
47
|
+
placeholder: N,
|
|
48
|
+
min: t,
|
|
49
|
+
max: c,
|
|
50
|
+
step: s,
|
|
51
|
+
required: C
|
|
47
52
|
}
|
|
48
53
|
),
|
|
49
|
-
/* @__PURE__ */ n(m.Text, { className: `${
|
|
54
|
+
/* @__PURE__ */ n(m.Text, { className: `${r}__addon`, onClick: b, children: /* @__PURE__ */ n(h, { name: "icon-plus", size: "sm" }) }),
|
|
55
|
+
d && /* @__PURE__ */ n(
|
|
56
|
+
"input",
|
|
57
|
+
{
|
|
58
|
+
type: "hidden",
|
|
59
|
+
name: d,
|
|
60
|
+
value: i
|
|
61
|
+
}
|
|
62
|
+
)
|
|
50
63
|
] });
|
|
51
64
|
};
|
|
52
65
|
export {
|
|
53
|
-
|
|
66
|
+
q as NumberInput
|
|
54
67
|
};
|
|
@@ -2,7 +2,6 @@ import { jsxs as s, jsx as t } from "react/jsx-runtime";
|
|
|
2
2
|
import { Form as r, InputGroup as C } from "react-bootstrap";
|
|
3
3
|
import { Icon as c } from "../../Icon/react/index.js";
|
|
4
4
|
import d 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/FloatingLabel.js";
|
|
5
|
-
import '../style/index.css';/* empty css */
|
|
6
5
|
import { NumberInput as F } from "./NumberInput.js";
|
|
7
6
|
import { TelInput as h } from "./TelInput.js";
|
|
8
7
|
import { PasswordInput as I } from "./PasswordInput.js";
|
|
@@ -13,6 +12,7 @@ import { Select as _ } from "./Select.js";
|
|
|
13
12
|
import { handleNumericKeyDown as x } from "../js/number.js";
|
|
14
13
|
import { FormColor as y } from "./FormColor.js";
|
|
15
14
|
import { FormDate as D } from "./FormDate.js";
|
|
15
|
+
import '../style/index.css';/* empty css */
|
|
16
16
|
const g = ({
|
|
17
17
|
label: n,
|
|
18
18
|
floating: a,
|