@fpkit/acss 5.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/libs/{chunk-DIJBIOFE.js → chunk-2ZJV6KQ3.js} +3 -3
- package/libs/{chunk-LXODKKA3.cjs → chunk-3D6WUYSL.cjs} +4 -4
- package/libs/{chunk-2JCDEC32.js → chunk-3ENBUQIB.js} +3 -3
- package/libs/{chunk-NCGVF2QS.cjs → chunk-3RVZZZWX.cjs} +4 -4
- package/libs/{chunk-M7JLT62Q.js → chunk-4F6SI5V5.js} +2 -2
- package/libs/chunk-4KJP3L35.js +7 -0
- package/libs/chunk-4KJP3L35.js.map +1 -0
- package/libs/chunk-66C2J4IX.cjs +13 -0
- package/libs/chunk-66C2J4IX.cjs.map +1 -0
- package/libs/{chunk-3XJC4XUG.js → chunk-6ADHES7B.js} +2 -2
- package/libs/{chunk-AOFQDQVS.cjs → chunk-6WMLG4O5.cjs} +3 -3
- package/libs/{chunk-Q7OAQLUT.js → chunk-AQAI6COH.js} +2 -2
- package/libs/{chunk-6BUJZ4DJ.cjs → chunk-BVPUT2PP.cjs} +3 -3
- package/libs/{chunk-F64GE6RG.cjs → chunk-GVVCXXKI.cjs} +4 -4
- package/libs/{chunk-75YQDONV.cjs → chunk-H4JRUNKU.cjs} +6 -6
- package/libs/{chunk-G3TFKMWB.js → chunk-H6A2CUWA.js} +5 -5
- package/libs/{chunk-2GJHKWEK.cjs → chunk-LQPWXSCK.cjs} +3 -3
- package/libs/{chunk-IBUTNPTQ.js → chunk-M5ES7OWP.js} +2 -2
- package/libs/{chunk-AWZLSWDO.js → chunk-MAG46S3P.js} +2 -2
- package/libs/{chunk-KAR3HDXK.js → chunk-MJJKNHVH.js} +2 -2
- package/libs/{chunk-5CJPTDK3.cjs → chunk-OZM455LO.cjs} +3 -3
- package/libs/{chunk-NPWHQVYB.cjs → chunk-QU5AQQ4S.cjs} +3 -3
- package/libs/{chunk-U5VA34SU.js → chunk-RQSMWB3J.js} +2 -2
- package/libs/{chunk-5QSNJQVH.cjs → chunk-S7NIA6PI.cjs} +3 -3
- package/libs/{chunk-MBWI67UT.js → chunk-SPESKPUA.js} +2 -2
- package/libs/{chunk-PMWL5XZ4.js → chunk-SQ44OCJ2.js} +3 -3
- package/libs/{chunk-EKJYOCLY.cjs → chunk-VISQ434C.cjs} +3 -3
- package/libs/{chunk-AFINOD2L.cjs → chunk-VN2CVD4H.cjs} +3 -3
- package/libs/{chunk-M5JARVJD.cjs → chunk-WTWGTWVI.cjs} +3 -3
- package/libs/{chunk-TF3GQKOY.js → chunk-X2RDXWH5.js} +2 -2
- package/libs/components/breadcrumbs/breadcrumb.cjs +6 -6
- package/libs/components/breadcrumbs/breadcrumb.d.cts +1 -1
- package/libs/components/breadcrumbs/breadcrumb.d.ts +1 -1
- package/libs/components/breadcrumbs/breadcrumb.js +3 -3
- package/libs/components/button.cjs +4 -4
- package/libs/components/button.d.cts +1 -1
- package/libs/components/button.d.ts +1 -1
- package/libs/components/button.js +2 -2
- package/libs/components/card.cjs +7 -7
- package/libs/components/card.d.cts +1 -1
- package/libs/components/card.d.ts +1 -1
- package/libs/components/card.js +2 -2
- package/libs/components/dialog/dialog.cjs +7 -7
- package/libs/components/dialog/dialog.js +5 -5
- package/libs/components/form/checkbox.css +1 -1
- package/libs/components/form/checkbox.css.map +1 -1
- package/libs/components/form/checkbox.min.css +2 -2
- package/libs/components/form/fields.cjs +4 -4
- package/libs/components/form/fields.d.cts +1 -1
- package/libs/components/form/fields.d.ts +1 -1
- package/libs/components/form/fields.js +2 -2
- package/libs/components/form/form.css +1 -1
- package/libs/components/form/form.css.map +1 -1
- package/libs/components/form/form.min.css +2 -2
- package/libs/components/form/select.css +1 -0
- package/libs/components/form/select.css.map +1 -0
- package/libs/components/form/select.min.css +3 -0
- package/libs/components/form/textarea.cjs +4 -4
- package/libs/components/form/textarea.js +2 -2
- package/libs/components/heading/heading.cjs +3 -3
- package/libs/components/heading/heading.d.cts +2 -2
- package/libs/components/heading/heading.d.ts +2 -2
- package/libs/components/heading/heading.js +2 -2
- package/libs/components/icons/icon.cjs +4 -4
- package/libs/components/icons/icon.d.cts +2 -2
- package/libs/components/icons/icon.d.ts +2 -2
- package/libs/components/icons/icon.js +2 -2
- package/libs/components/link/link.cjs +6 -6
- package/libs/components/link/link.js +2 -2
- package/libs/components/list/list.cjs +5 -5
- package/libs/components/list/list.d.cts +2 -2
- package/libs/components/list/list.d.ts +2 -2
- package/libs/components/list/list.js +2 -2
- package/libs/components/modal.cjs +4 -4
- package/libs/components/modal.js +3 -3
- package/libs/components/nav/nav.cjs +7 -7
- package/libs/components/nav/nav.d.cts +2 -2
- package/libs/components/nav/nav.d.ts +2 -2
- package/libs/components/nav/nav.js +3 -3
- package/libs/components/text/text.cjs +5 -5
- package/libs/components/text/text.d.cts +1 -1
- package/libs/components/text/text.d.ts +1 -1
- package/libs/components/text/text.js +2 -2
- package/libs/{heading-81eef89a.d.ts → heading-064675b6.d.ts} +1 -1
- package/libs/hooks.cjs +4 -4
- package/libs/hooks.d.cts +1 -1
- package/libs/hooks.d.ts +1 -1
- package/libs/hooks.js +3 -3
- package/libs/{icons-df8e744f.d.ts → icons-48788561.d.ts} +1 -1
- package/libs/icons.cjs +3 -3
- package/libs/icons.d.cts +2 -2
- package/libs/icons.d.ts +2 -2
- package/libs/icons.js +2 -2
- package/libs/index.cjs +49 -49
- package/libs/index.cjs.map +1 -1
- package/libs/index.css +1 -1
- package/libs/index.css.map +1 -1
- package/libs/index.d.cts +74 -25
- package/libs/index.d.ts +74 -25
- package/libs/index.js +21 -21
- package/libs/index.js.map +1 -1
- package/libs/{list.types-d26de310.d.ts → list.types-bf2c44c1.d.ts} +1 -1
- package/libs/{ui-d01b50d4.d.ts → ui-993fc2e2.d.ts} +5 -2
- package/package.json +4 -7
- package/src/components/alert/alert.stories.tsx +1 -1
- package/src/components/alert/elements/dismiss-button.stories.tsx +1 -2
- package/src/components/badge/badge.stories.tsx +1 -1
- package/src/components/breadcrumbs/breadcrumb.stories.tsx +1 -2
- package/src/components/buttons/button.stories.tsx +1 -3
- package/src/components/cards/card.stories.tsx +1 -1
- package/src/components/cards/card.test.tsx +1 -1
- package/src/components/details/details.stories.tsx +1 -2
- package/src/components/dialog/dialog-modal.stories.tsx +1 -2
- package/src/components/dialog/dialog.stories.tsx +1 -1
- package/src/components/dialog/views/dialog-header.stories.tsx +1 -2
- package/src/components/form/CHECKBOX-STYLES.mdx +766 -0
- package/src/components/form/CHECKBOX.mdx +665 -0
- package/src/components/form/checkbox.scss +28 -0
- package/src/components/form/checkbox.tsx +72 -22
- package/src/components/form/form.scss +11 -14
- package/src/components/form/form.stories.tsx +1 -1
- package/src/components/form/input.stories.tsx +72 -23
- package/src/components/form/select.scss +97 -0
- package/src/components/form/select.stories.tsx +225 -9
- package/src/components/form/select.test.tsx +541 -0
- package/src/components/form/select.tsx +133 -16
- package/src/components/heading/heading.stories.tsx +1 -2
- package/src/components/images/figure.stories.tsx +1 -2
- package/src/components/images/img.stories.tsx +1 -1
- package/src/components/nav/nav.stories.tsx +1 -2
- package/src/components/text/text.stories.tsx +1 -1
- package/src/components/text-to-speech/TextToSpeech.stories.tsx +1 -1
- package/src/components/title/title.stories.tsx +1 -2
- package/src/components/ui.tsx +11 -4
- package/src/styles/form/checkbox.css +19 -0
- package/src/styles/form/checkbox.css.map +1 -1
- package/src/styles/form/form.css +100 -14
- package/src/styles/form/form.css.map +1 -1
- package/src/styles/form/select.css +75 -0
- package/src/styles/form/select.css.map +1 -0
- package/src/styles/index.css +100 -14
- package/src/styles/index.css.map +1 -1
- package/libs/chunk-DDSXKOUB.js +0 -7
- package/libs/chunk-DDSXKOUB.js.map +0 -1
- package/libs/chunk-EJ6KYBFE.cjs +0 -13
- package/libs/chunk-EJ6KYBFE.cjs.map +0 -1
- /package/libs/{chunk-DIJBIOFE.js.map → chunk-2ZJV6KQ3.js.map} +0 -0
- /package/libs/{chunk-LXODKKA3.cjs.map → chunk-3D6WUYSL.cjs.map} +0 -0
- /package/libs/{chunk-2JCDEC32.js.map → chunk-3ENBUQIB.js.map} +0 -0
- /package/libs/{chunk-NCGVF2QS.cjs.map → chunk-3RVZZZWX.cjs.map} +0 -0
- /package/libs/{chunk-M7JLT62Q.js.map → chunk-4F6SI5V5.js.map} +0 -0
- /package/libs/{chunk-3XJC4XUG.js.map → chunk-6ADHES7B.js.map} +0 -0
- /package/libs/{chunk-AOFQDQVS.cjs.map → chunk-6WMLG4O5.cjs.map} +0 -0
- /package/libs/{chunk-Q7OAQLUT.js.map → chunk-AQAI6COH.js.map} +0 -0
- /package/libs/{chunk-6BUJZ4DJ.cjs.map → chunk-BVPUT2PP.cjs.map} +0 -0
- /package/libs/{chunk-F64GE6RG.cjs.map → chunk-GVVCXXKI.cjs.map} +0 -0
- /package/libs/{chunk-75YQDONV.cjs.map → chunk-H4JRUNKU.cjs.map} +0 -0
- /package/libs/{chunk-G3TFKMWB.js.map → chunk-H6A2CUWA.js.map} +0 -0
- /package/libs/{chunk-2GJHKWEK.cjs.map → chunk-LQPWXSCK.cjs.map} +0 -0
- /package/libs/{chunk-IBUTNPTQ.js.map → chunk-M5ES7OWP.js.map} +0 -0
- /package/libs/{chunk-AWZLSWDO.js.map → chunk-MAG46S3P.js.map} +0 -0
- /package/libs/{chunk-KAR3HDXK.js.map → chunk-MJJKNHVH.js.map} +0 -0
- /package/libs/{chunk-5CJPTDK3.cjs.map → chunk-OZM455LO.cjs.map} +0 -0
- /package/libs/{chunk-NPWHQVYB.cjs.map → chunk-QU5AQQ4S.cjs.map} +0 -0
- /package/libs/{chunk-U5VA34SU.js.map → chunk-RQSMWB3J.js.map} +0 -0
- /package/libs/{chunk-5QSNJQVH.cjs.map → chunk-S7NIA6PI.cjs.map} +0 -0
- /package/libs/{chunk-MBWI67UT.js.map → chunk-SPESKPUA.js.map} +0 -0
- /package/libs/{chunk-PMWL5XZ4.js.map → chunk-SQ44OCJ2.js.map} +0 -0
- /package/libs/{chunk-EKJYOCLY.cjs.map → chunk-VISQ434C.cjs.map} +0 -0
- /package/libs/{chunk-AFINOD2L.cjs.map → chunk-VN2CVD4H.cjs.map} +0 -0
- /package/libs/{chunk-M5JARVJD.cjs.map → chunk-WTWGTWVI.cjs.map} +0 -0
- /package/libs/{chunk-TF3GQKOY.js.map → chunk-X2RDXWH5.js.map} +0 -0
package/libs/index.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { Button, ButtonProps } from './components/button.cjs';
|
|
2
2
|
export { Card, Content as CardContent, Footer as CardFooter, CardProps, Title as CardTitle } from './components/card.cjs';
|
|
3
3
|
import React$1, { ReactNode } from 'react';
|
|
4
|
-
import { I as IconProps } from './icons-
|
|
5
|
-
export { a as Icon, b as IconProps } from './icons-
|
|
4
|
+
import { I as IconProps } from './icons-48788561.js';
|
|
5
|
+
export { a as Icon, b as IconProps } from './icons-48788561.js';
|
|
6
6
|
export { default as Field, FieldProps } from './components/form/fields.cjs';
|
|
7
7
|
export { default as Input } from './components/form/inputs.cjs';
|
|
8
8
|
import { I as InputProps } from './form.types-d25ebfac.js';
|
|
@@ -13,14 +13,14 @@ export { Modal, ModalProps } from './components/modal.cjs';
|
|
|
13
13
|
export { default as Popover, PopoverProps } from './components/popover/popover.cjs';
|
|
14
14
|
export { RenderTable as TBL, TableProps } from './components/tables/table.cjs';
|
|
15
15
|
export { Dialog } from './components/dialog/dialog.cjs';
|
|
16
|
-
import { U as UI } from './ui-
|
|
16
|
+
import { U as UI } from './ui-993fc2e2.js';
|
|
17
17
|
import { C as ComponentProps$1 } from './component-props-50e69975.js';
|
|
18
18
|
export { Nav, NavComponent, NavItem, NavItemProps, NavList, NavListProps, NavProps } from './components/nav/nav.cjs';
|
|
19
19
|
export { default as Text, TextProps } from './components/text/text.cjs';
|
|
20
|
-
export { b as Heading, H as HeadingLevel, T as Title, a as TitleProps } from './heading-
|
|
20
|
+
export { b as Heading, H as HeadingLevel, T as Title, a as TitleProps } from './heading-064675b6.js';
|
|
21
21
|
export { default as Textarea } from './components/form/textarea.cjs';
|
|
22
22
|
export { default as Breadcrumb, BreadcrumbProps, CustomRoute, useBreadcrumbSegments } from './components/breadcrumbs/breadcrumb.cjs';
|
|
23
|
-
export { L as ListItemProps, a as ListProps } from './list.types-
|
|
23
|
+
export { L as ListItemProps, a as ListProps } from './list.types-bf2c44c1.js';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Valid severity levels for alerts.
|
|
@@ -205,7 +205,7 @@ declare const Alert: React$1.FC<AlertProps>;
|
|
|
205
205
|
* />
|
|
206
206
|
* ```
|
|
207
207
|
*/
|
|
208
|
-
interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' | 'defaultValue' | 'placeholder'> {
|
|
208
|
+
interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' | 'defaultValue' | 'placeholder' | 'size'> {
|
|
209
209
|
/**
|
|
210
210
|
* Unique identifier for the checkbox input.
|
|
211
211
|
* Required for proper label association via htmlFor attribute.
|
|
@@ -222,6 +222,29 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
222
222
|
* @see {@link https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html|WCAG 3.3.2 Labels or Instructions}
|
|
223
223
|
*/
|
|
224
224
|
label: React$1.ReactNode;
|
|
225
|
+
/**
|
|
226
|
+
* Predefined size variant for the checkbox.
|
|
227
|
+
* Maps to standardized size tokens for consistent sizing across the design system.
|
|
228
|
+
*
|
|
229
|
+
* Available sizes:
|
|
230
|
+
* - `xs`: Extra small (0.875rem / 14px) - Compact forms, tight spaces
|
|
231
|
+
* - `sm`: Small (1rem / 16px) - Dense layouts
|
|
232
|
+
* - `md`: Medium (1.25rem / 20px) - Default, optimal for most use cases
|
|
233
|
+
* - `lg`: Large (1.5rem / 24px) - Touch-friendly, prominent CTAs
|
|
234
|
+
*
|
|
235
|
+
* For custom sizes beyond these presets, use the `styles` prop:
|
|
236
|
+
* ```tsx
|
|
237
|
+
* styles={{ '--checkbox-size': '2rem' }}
|
|
238
|
+
* ```
|
|
239
|
+
*
|
|
240
|
+
* @default 'md'
|
|
241
|
+
* @example
|
|
242
|
+
* ```tsx
|
|
243
|
+
* <Checkbox id="small" label="Small checkbox" size="sm" />
|
|
244
|
+
* <Checkbox id="large" label="Large checkbox" size="lg" />
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
225
248
|
/**
|
|
226
249
|
* Controlled mode: Current checked state.
|
|
227
250
|
* When provided, component becomes controlled and requires onChange handler.
|
|
@@ -278,33 +301,46 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
278
301
|
*/
|
|
279
302
|
inputClasses?: string;
|
|
280
303
|
/**
|
|
281
|
-
* CSS custom properties for theming.
|
|
304
|
+
* CSS custom properties for theming and custom sizing.
|
|
305
|
+
*
|
|
306
|
+
* Common variables:
|
|
307
|
+
* - `--checkbox-size`: Custom checkbox dimensions (for sizes beyond xs/sm/md/lg presets)
|
|
308
|
+
* - `--checkbox-gap`: Space between checkbox and label (default: 0.5rem)
|
|
309
|
+
* - `--checkbox-border-color`: Border color (default: var(--color-neutral-600))
|
|
310
|
+
* - `--checkbox-checked-bg`: Background color when checked (default: var(--color-success))
|
|
311
|
+
* - `--checkbox-radius`: Border radius (default: 0.25rem)
|
|
312
|
+
* - `--checkbox-focus-ring-color`: Focus ring color (default: var(--color-focus-ring))
|
|
313
|
+
* - `--checkbox-disabled-opacity`: Opacity for disabled state (default: 0.6)
|
|
314
|
+
* - `--checkbox-label-fs`: Label font size (default: 1rem)
|
|
282
315
|
*
|
|
283
|
-
*
|
|
284
|
-
* - --checkbox-gap: Space between checkbox and label (default: 0.5rem)
|
|
285
|
-
* - --checkbox-disabled-opacity: Opacity for disabled state (default: 0.6)
|
|
286
|
-
* - --checkbox-disabled-color: Label color when disabled (default: #6b7280)
|
|
287
|
-
* - --checkbox-label-fs: Label font size (default: 1rem)
|
|
288
|
-
* - --checkbox-label-lh: Label line height (default: 1.5)
|
|
289
|
-
* - --color-required: Required indicator color (default: #dc2626)
|
|
290
|
-
* - --checkbox-focus-ring-color: Focus ring color (default: #2563eb)
|
|
291
|
-
* - --checkbox-focus-ring-width: Focus ring width (default: 0.125rem)
|
|
292
|
-
* - --checkbox-focus-ring-offset: Focus ring offset (default: 0.125rem)
|
|
293
|
-
* - --checkbox-hover-label-color: Label color on hover
|
|
294
|
-
* - --checkbox-error-label-color: Label color when invalid (default: #dc2626)
|
|
295
|
-
* - --checkbox-valid-label-color: Label color when valid (default: #16a34a)
|
|
316
|
+
* For custom sizes beyond the preset variants (xs/sm/md/lg), use `--checkbox-size`:
|
|
296
317
|
*
|
|
297
318
|
* @example
|
|
298
319
|
* ```tsx
|
|
320
|
+
* // Custom size beyond presets
|
|
299
321
|
* <Checkbox
|
|
300
322
|
* id="custom"
|
|
301
|
-
* label="Custom
|
|
323
|
+
* label="Custom sized (2rem)"
|
|
302
324
|
* styles={{
|
|
303
|
-
* '--checkbox-
|
|
304
|
-
* '--checkbox-
|
|
325
|
+
* '--checkbox-size': '2rem',
|
|
326
|
+
* '--checkbox-gap': '1rem'
|
|
327
|
+
* }}
|
|
328
|
+
* />
|
|
329
|
+
*
|
|
330
|
+
* // Brand theming
|
|
331
|
+
* <Checkbox
|
|
332
|
+
* id="branded"
|
|
333
|
+
* label="Brand checkbox"
|
|
334
|
+
* size="lg"
|
|
335
|
+
* styles={{
|
|
336
|
+
* '--checkbox-checked-bg': '#0066cc',
|
|
337
|
+
* '--checkbox-focus-ring-color': '#0066cc'
|
|
305
338
|
* }}
|
|
306
339
|
* />
|
|
307
340
|
* ```
|
|
341
|
+
*
|
|
342
|
+
* @see {@link ./CHECKBOX-STYLES.mdx|CHECKBOX-STYLES.mdx} - Complete CSS variable reference
|
|
343
|
+
* @see {@link ./CHECKBOX.mdx|CHECKBOX.mdx} - Component documentation with examples
|
|
308
344
|
*/
|
|
309
345
|
styles?: React$1.CSSProperties;
|
|
310
346
|
}
|
|
@@ -316,6 +352,7 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
316
352
|
* validation, disabled state, and ARIA logic from the base Input component.
|
|
317
353
|
*
|
|
318
354
|
* **Key Features:**
|
|
355
|
+
* - ✅ Semantic size variants (xs, sm, md, lg) via `size` prop
|
|
319
356
|
* - ✅ Boolean onChange API (`onChange={(checked) => ...}`)
|
|
320
357
|
* - ✅ Automatic label association via htmlFor
|
|
321
358
|
* - ✅ WCAG 2.1 AA compliant (uses aria-disabled pattern)
|
|
@@ -363,11 +400,21 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
363
400
|
*
|
|
364
401
|
* @example
|
|
365
402
|
* ```tsx
|
|
403
|
+
* // Size variants
|
|
404
|
+
* <Checkbox id="small" label="Small" size="sm" />
|
|
405
|
+
* <Checkbox id="large" label="Large" size="lg" />
|
|
406
|
+
* ```
|
|
407
|
+
*
|
|
408
|
+
* @example
|
|
409
|
+
* ```tsx
|
|
366
410
|
* // Custom styling
|
|
367
411
|
* <Checkbox
|
|
368
412
|
* id="custom"
|
|
369
|
-
* label="
|
|
370
|
-
* styles={{
|
|
413
|
+
* label="Custom sized"
|
|
414
|
+
* styles={{
|
|
415
|
+
* '--checkbox-size': '2rem',
|
|
416
|
+
* '--checkbox-gap': '1rem'
|
|
417
|
+
* }}
|
|
371
418
|
* />
|
|
372
419
|
* ```
|
|
373
420
|
*
|
|
@@ -375,6 +422,8 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
375
422
|
* @param {React.Ref<HTMLInputElement>} ref - Forwarded ref to the input element
|
|
376
423
|
* @returns {JSX.Element} Checkbox wrapper with input and label
|
|
377
424
|
*
|
|
425
|
+
* @see {@link ./CHECKBOX.mdx|CHECKBOX.mdx} - Complete component documentation
|
|
426
|
+
* @see {@link ./CHECKBOX-STYLES.mdx|CHECKBOX-STYLES.mdx} - CSS customization guide
|
|
378
427
|
* @see {@link https://www.w3.org/WAI/WCAG21/Understanding/name-role-value.html|WCAG 4.1.2 Name, Role, Value}
|
|
379
428
|
* @see {@link https://www.w3.org/WAI/WCAG21/Understanding/focus-visible.html|WCAG 2.4.7 Focus Visible}
|
|
380
429
|
* @see {@link https://www.w3.org/WAI/WCAG21/Understanding/error-identification.html|WCAG 3.3.1 Error Identification}
|
package/libs/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { Button, ButtonProps } from './components/button.js';
|
|
2
2
|
export { Card, Content as CardContent, Footer as CardFooter, CardProps, Title as CardTitle } from './components/card.js';
|
|
3
3
|
import React$1, { ReactNode } from 'react';
|
|
4
|
-
import { I as IconProps } from './icons-
|
|
5
|
-
export { a as Icon, b as IconProps } from './icons-
|
|
4
|
+
import { I as IconProps } from './icons-48788561.js';
|
|
5
|
+
export { a as Icon, b as IconProps } from './icons-48788561.js';
|
|
6
6
|
export { default as Field, FieldProps } from './components/form/fields.js';
|
|
7
7
|
export { default as Input } from './components/form/inputs.js';
|
|
8
8
|
import { I as InputProps } from './form.types-d25ebfac.js';
|
|
@@ -13,14 +13,14 @@ export { Modal, ModalProps } from './components/modal.js';
|
|
|
13
13
|
export { default as Popover, PopoverProps } from './components/popover/popover.js';
|
|
14
14
|
export { RenderTable as TBL, TableProps } from './components/tables/table.js';
|
|
15
15
|
export { Dialog } from './components/dialog/dialog.js';
|
|
16
|
-
import { U as UI } from './ui-
|
|
16
|
+
import { U as UI } from './ui-993fc2e2.js';
|
|
17
17
|
import { C as ComponentProps$1 } from './component-props-50e69975.js';
|
|
18
18
|
export { Nav, NavComponent, NavItem, NavItemProps, NavList, NavListProps, NavProps } from './components/nav/nav.js';
|
|
19
19
|
export { default as Text, TextProps } from './components/text/text.js';
|
|
20
|
-
export { b as Heading, H as HeadingLevel, T as Title, a as TitleProps } from './heading-
|
|
20
|
+
export { b as Heading, H as HeadingLevel, T as Title, a as TitleProps } from './heading-064675b6.js';
|
|
21
21
|
export { default as Textarea } from './components/form/textarea.js';
|
|
22
22
|
export { default as Breadcrumb, BreadcrumbProps, CustomRoute, useBreadcrumbSegments } from './components/breadcrumbs/breadcrumb.js';
|
|
23
|
-
export { L as ListItemProps, a as ListProps } from './list.types-
|
|
23
|
+
export { L as ListItemProps, a as ListProps } from './list.types-bf2c44c1.js';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Valid severity levels for alerts.
|
|
@@ -205,7 +205,7 @@ declare const Alert: React$1.FC<AlertProps>;
|
|
|
205
205
|
* />
|
|
206
206
|
* ```
|
|
207
207
|
*/
|
|
208
|
-
interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' | 'defaultValue' | 'placeholder'> {
|
|
208
|
+
interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' | 'defaultValue' | 'placeholder' | 'size'> {
|
|
209
209
|
/**
|
|
210
210
|
* Unique identifier for the checkbox input.
|
|
211
211
|
* Required for proper label association via htmlFor attribute.
|
|
@@ -222,6 +222,29 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
222
222
|
* @see {@link https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html|WCAG 3.3.2 Labels or Instructions}
|
|
223
223
|
*/
|
|
224
224
|
label: React$1.ReactNode;
|
|
225
|
+
/**
|
|
226
|
+
* Predefined size variant for the checkbox.
|
|
227
|
+
* Maps to standardized size tokens for consistent sizing across the design system.
|
|
228
|
+
*
|
|
229
|
+
* Available sizes:
|
|
230
|
+
* - `xs`: Extra small (0.875rem / 14px) - Compact forms, tight spaces
|
|
231
|
+
* - `sm`: Small (1rem / 16px) - Dense layouts
|
|
232
|
+
* - `md`: Medium (1.25rem / 20px) - Default, optimal for most use cases
|
|
233
|
+
* - `lg`: Large (1.5rem / 24px) - Touch-friendly, prominent CTAs
|
|
234
|
+
*
|
|
235
|
+
* For custom sizes beyond these presets, use the `styles` prop:
|
|
236
|
+
* ```tsx
|
|
237
|
+
* styles={{ '--checkbox-size': '2rem' }}
|
|
238
|
+
* ```
|
|
239
|
+
*
|
|
240
|
+
* @default 'md'
|
|
241
|
+
* @example
|
|
242
|
+
* ```tsx
|
|
243
|
+
* <Checkbox id="small" label="Small checkbox" size="sm" />
|
|
244
|
+
* <Checkbox id="large" label="Large checkbox" size="lg" />
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
225
248
|
/**
|
|
226
249
|
* Controlled mode: Current checked state.
|
|
227
250
|
* When provided, component becomes controlled and requires onChange handler.
|
|
@@ -278,33 +301,46 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
278
301
|
*/
|
|
279
302
|
inputClasses?: string;
|
|
280
303
|
/**
|
|
281
|
-
* CSS custom properties for theming.
|
|
304
|
+
* CSS custom properties for theming and custom sizing.
|
|
305
|
+
*
|
|
306
|
+
* Common variables:
|
|
307
|
+
* - `--checkbox-size`: Custom checkbox dimensions (for sizes beyond xs/sm/md/lg presets)
|
|
308
|
+
* - `--checkbox-gap`: Space between checkbox and label (default: 0.5rem)
|
|
309
|
+
* - `--checkbox-border-color`: Border color (default: var(--color-neutral-600))
|
|
310
|
+
* - `--checkbox-checked-bg`: Background color when checked (default: var(--color-success))
|
|
311
|
+
* - `--checkbox-radius`: Border radius (default: 0.25rem)
|
|
312
|
+
* - `--checkbox-focus-ring-color`: Focus ring color (default: var(--color-focus-ring))
|
|
313
|
+
* - `--checkbox-disabled-opacity`: Opacity for disabled state (default: 0.6)
|
|
314
|
+
* - `--checkbox-label-fs`: Label font size (default: 1rem)
|
|
282
315
|
*
|
|
283
|
-
*
|
|
284
|
-
* - --checkbox-gap: Space between checkbox and label (default: 0.5rem)
|
|
285
|
-
* - --checkbox-disabled-opacity: Opacity for disabled state (default: 0.6)
|
|
286
|
-
* - --checkbox-disabled-color: Label color when disabled (default: #6b7280)
|
|
287
|
-
* - --checkbox-label-fs: Label font size (default: 1rem)
|
|
288
|
-
* - --checkbox-label-lh: Label line height (default: 1.5)
|
|
289
|
-
* - --color-required: Required indicator color (default: #dc2626)
|
|
290
|
-
* - --checkbox-focus-ring-color: Focus ring color (default: #2563eb)
|
|
291
|
-
* - --checkbox-focus-ring-width: Focus ring width (default: 0.125rem)
|
|
292
|
-
* - --checkbox-focus-ring-offset: Focus ring offset (default: 0.125rem)
|
|
293
|
-
* - --checkbox-hover-label-color: Label color on hover
|
|
294
|
-
* - --checkbox-error-label-color: Label color when invalid (default: #dc2626)
|
|
295
|
-
* - --checkbox-valid-label-color: Label color when valid (default: #16a34a)
|
|
316
|
+
* For custom sizes beyond the preset variants (xs/sm/md/lg), use `--checkbox-size`:
|
|
296
317
|
*
|
|
297
318
|
* @example
|
|
298
319
|
* ```tsx
|
|
320
|
+
* // Custom size beyond presets
|
|
299
321
|
* <Checkbox
|
|
300
322
|
* id="custom"
|
|
301
|
-
* label="Custom
|
|
323
|
+
* label="Custom sized (2rem)"
|
|
302
324
|
* styles={{
|
|
303
|
-
* '--checkbox-
|
|
304
|
-
* '--checkbox-
|
|
325
|
+
* '--checkbox-size': '2rem',
|
|
326
|
+
* '--checkbox-gap': '1rem'
|
|
327
|
+
* }}
|
|
328
|
+
* />
|
|
329
|
+
*
|
|
330
|
+
* // Brand theming
|
|
331
|
+
* <Checkbox
|
|
332
|
+
* id="branded"
|
|
333
|
+
* label="Brand checkbox"
|
|
334
|
+
* size="lg"
|
|
335
|
+
* styles={{
|
|
336
|
+
* '--checkbox-checked-bg': '#0066cc',
|
|
337
|
+
* '--checkbox-focus-ring-color': '#0066cc'
|
|
305
338
|
* }}
|
|
306
339
|
* />
|
|
307
340
|
* ```
|
|
341
|
+
*
|
|
342
|
+
* @see {@link ./CHECKBOX-STYLES.mdx|CHECKBOX-STYLES.mdx} - Complete CSS variable reference
|
|
343
|
+
* @see {@link ./CHECKBOX.mdx|CHECKBOX.mdx} - Component documentation with examples
|
|
308
344
|
*/
|
|
309
345
|
styles?: React$1.CSSProperties;
|
|
310
346
|
}
|
|
@@ -316,6 +352,7 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
316
352
|
* validation, disabled state, and ARIA logic from the base Input component.
|
|
317
353
|
*
|
|
318
354
|
* **Key Features:**
|
|
355
|
+
* - ✅ Semantic size variants (xs, sm, md, lg) via `size` prop
|
|
319
356
|
* - ✅ Boolean onChange API (`onChange={(checked) => ...}`)
|
|
320
357
|
* - ✅ Automatic label association via htmlFor
|
|
321
358
|
* - ✅ WCAG 2.1 AA compliant (uses aria-disabled pattern)
|
|
@@ -363,11 +400,21 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
363
400
|
*
|
|
364
401
|
* @example
|
|
365
402
|
* ```tsx
|
|
403
|
+
* // Size variants
|
|
404
|
+
* <Checkbox id="small" label="Small" size="sm" />
|
|
405
|
+
* <Checkbox id="large" label="Large" size="lg" />
|
|
406
|
+
* ```
|
|
407
|
+
*
|
|
408
|
+
* @example
|
|
409
|
+
* ```tsx
|
|
366
410
|
* // Custom styling
|
|
367
411
|
* <Checkbox
|
|
368
412
|
* id="custom"
|
|
369
|
-
* label="
|
|
370
|
-
* styles={{
|
|
413
|
+
* label="Custom sized"
|
|
414
|
+
* styles={{
|
|
415
|
+
* '--checkbox-size': '2rem',
|
|
416
|
+
* '--checkbox-gap': '1rem'
|
|
417
|
+
* }}
|
|
371
418
|
* />
|
|
372
419
|
* ```
|
|
373
420
|
*
|
|
@@ -375,6 +422,8 @@ interface CheckboxProps extends Omit<InputProps, 'type' | 'value' | 'onChange' |
|
|
|
375
422
|
* @param {React.Ref<HTMLInputElement>} ref - Forwarded ref to the input element
|
|
376
423
|
* @returns {JSX.Element} Checkbox wrapper with input and label
|
|
377
424
|
*
|
|
425
|
+
* @see {@link ./CHECKBOX.mdx|CHECKBOX.mdx} - Complete component documentation
|
|
426
|
+
* @see {@link ./CHECKBOX-STYLES.mdx|CHECKBOX-STYLES.mdx} - CSS customization guide
|
|
378
427
|
* @see {@link https://www.w3.org/WAI/WCAG21/Understanding/name-role-value.html|WCAG 4.1.2 Name, Role, Value}
|
|
379
428
|
* @see {@link https://www.w3.org/WAI/WCAG21/Understanding/focus-visible.html|WCAG 2.4.7 Focus Visible}
|
|
380
429
|
* @see {@link https://www.w3.org/WAI/WCAG21/Understanding/error-identification.html|WCAG 3.3.1 Error Identification}
|
package/libs/index.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { b as b$2 } from './chunk-
|
|
2
|
-
export { a as Textarea } from './chunk-
|
|
3
|
-
export { a as Field } from './chunk-
|
|
1
|
+
import { b as b$2 } from './chunk-6ADHES7B.js';
|
|
2
|
+
export { a as Textarea } from './chunk-6ADHES7B.js';
|
|
3
|
+
export { a as Field } from './chunk-MAG46S3P.js';
|
|
4
4
|
export { a as Caption, i as TBL, f as Table, c as Tbody, e as Td, b as Thead, d as Tr } from './chunk-FMIM3332.js';
|
|
5
|
-
export { a as Dialog } from './chunk-
|
|
6
|
-
export { c as Nav, b as NavItem, a as NavList } from './chunk-
|
|
7
|
-
export { c as List } from './chunk-
|
|
5
|
+
export { a as Dialog } from './chunk-H6A2CUWA.js';
|
|
6
|
+
export { c as Nav, b as NavItem, a as NavList } from './chunk-3ENBUQIB.js';
|
|
7
|
+
export { c as List } from './chunk-RQSMWB3J.js';
|
|
8
8
|
export { b as Popover } from './chunk-4I5MF54P.js';
|
|
9
|
-
export { a as Text } from './chunk-
|
|
10
|
-
export { b as Heading, a as Title } from './chunk-
|
|
11
|
-
export { b as Breadcrumb, a as useBreadcrumbSegments } from './chunk-
|
|
9
|
+
export { a as Text } from './chunk-SPESKPUA.js';
|
|
10
|
+
export { b as Heading, a as Title } from './chunk-AQAI6COH.js';
|
|
11
|
+
export { b as Breadcrumb, a as useBreadcrumbSegments } from './chunk-2ZJV6KQ3.js';
|
|
12
12
|
import './chunk-GCGKYLDG.js';
|
|
13
|
-
import { b as b$1 } from './chunk-
|
|
14
|
-
export { a as Icon } from './chunk-
|
|
15
|
-
export { d as Card, b as CardContent, c as CardFooter, a as CardTitle } from './chunk-
|
|
16
|
-
export { a as Modal } from './chunk-
|
|
17
|
-
import { b } from './chunk-
|
|
18
|
-
export { a as Button } from './chunk-
|
|
13
|
+
import { b as b$1 } from './chunk-4F6SI5V5.js';
|
|
14
|
+
export { a as Icon } from './chunk-4F6SI5V5.js';
|
|
15
|
+
export { d as Card, b as CardContent, c as CardFooter, a as CardTitle } from './chunk-MJJKNHVH.js';
|
|
16
|
+
export { a as Modal } from './chunk-SQ44OCJ2.js';
|
|
17
|
+
import { b } from './chunk-X2RDXWH5.js';
|
|
18
|
+
export { a as Button } from './chunk-X2RDXWH5.js';
|
|
19
19
|
import { a as a$1 } from './chunk-F5EYMVQM.js';
|
|
20
20
|
export { a as Input } from './chunk-F5EYMVQM.js';
|
|
21
21
|
export { a as FP } from './chunk-6SAHIYCZ.js';
|
|
22
22
|
import './chunk-BFK62VX5.js';
|
|
23
23
|
import './chunk-75QHTLFO.js';
|
|
24
|
-
export { d as Link, d as To } from './chunk-
|
|
25
|
-
import { a } from './chunk-
|
|
26
|
-
export { a as UI } from './chunk-
|
|
24
|
+
export { d as Link, d as To } from './chunk-M5ES7OWP.js';
|
|
25
|
+
import { a } from './chunk-4KJP3L35.js';
|
|
26
|
+
export { a as UI } from './chunk-4KJP3L35.js';
|
|
27
27
|
import C, { useCallback, useMemo, useState, useEffect } from 'react';
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var qe={default:"",info:"Information: ",success:"Success: ",warning:"Warning: ",error:"Error: "},O=({severity:e})=>{let t=qe[e];return t?C.createElement("span",{className:"sr-only"},t):null};var Je=(e,t)=>({info:C.createElement(b$1.InfoSolid,{...t}),success:C.createElement(b$1.SuccessSolid,{...t}),warning:C.createElement(b$1.WarnSolid,{...t}),error:C.createElement(b$1.AlertSolid,{...t}),default:C.createElement(b$1.AlertSquareSolid,{...t})})[e],_=({severity:e,iconProps:t,hideIcon:o})=>{if(o)return null;let s=Je(e,t);return C.createElement(a,{"aria-hidden":"true",className:"alert-icon"},s)};var q=({title:e,titleLevel:t})=>{if(!e)return null;let o=t?`h${t}`:"strong";return C.createElement(a,{as:o,className:"alert-title"},e)};var W=({children:e,contentType:t})=>t==="node"?C.createElement(C.Fragment,null,e):C.createElement(a,{as:"p"},e);var K=({actions:e})=>e?C.createElement(a,{as:"div",className:"alert-actions"},e):null;var oe=C.memo(({onDismiss:e,iconSize:t=16})=>C.createElement(b,{type:"button",onClick:e,"aria-label":"Close alert",className:"alert-dismiss","data-btn":"icon sm"},C.createElement(b$1,null,C.createElement(b$1.Close,{size:t})))),se=oe;oe.displayName="DismissButton";var Xe={default:"polite",info:"polite",success:"polite",warning:"polite",error:"assertive"},R=C.forwardRef(({severity:e,variant:t,isVisible:o,dismissible:s,onDismiss:r,onInteractionStart:i,onInteractionEnd:a$1,autoFocus:l,title:c,titleLevel:y,children:u,contentType:f,actions:S,hideIcon:g,iconProps:v,...m},x)=>C.createElement(a,{as:"div",ref:x,role:"alert","aria-live":Xe[e],"aria-atomic":"true",className:`alert alert-${e}`,"data-alert":e,"data-visible":o,"data-variant":t,tabIndex:l?-1:void 0,onMouseEnter:i,onMouseLeave:a$1,onFocus:i,onBlur:a$1,...m},C.createElement(O,{severity:e}),C.createElement(_,{severity:e,iconProps:v,hideIcon:g}),C.createElement(a,{as:"div",classes:"alert-message"},C.createElement(q,{title:c,titleLevel:y}),C.createElement(W,{contentType:f},u),C.createElement(K,{actions:S})),s&&C.createElement(se,{onDismiss:r})));R.displayName="AlertView";var Qe=({open:e,onDismiss:t,dismissible:o,autoHideDuration:s,pauseOnHover:r,autoFocus:i,alertRef:a})=>{let[l,c]=C.useState(e),[y,u]=C.useState(e),[f,S]=C.useState(!1),g=C.useCallback(()=>{c(!1),setTimeout(()=>{u(!1),t?.();},300);},[t]);C.useEffect(()=>{e?(u(!0),c(!0)):c(!1);},[e]),C.useEffect(()=>{if(!s||!l||f)return;let x=setTimeout(()=>{g();},s);return ()=>clearTimeout(x)},[s,l,f,g]),C.useEffect(()=>{if(!o||!l)return;let x=h=>{h.key==="Escape"&&g();};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[o,l,g]),C.useEffect(()=>{i&&l&&a.current&&a.current.focus();},[i,l,a]);let v=C.useCallback(()=>{r&&s&&S(!0);},[r,s]),m=C.useCallback(()=>{r&&s&&S(!1);},[r,s]);return {isVisible:l,shouldRender:y,handleDismiss:g,handleInteractionStart:v,handleInteractionEnd:m}},re=({open:e,severity:t="default",children:o,title:s,dismissible:r=!1,onDismiss:i,iconSize:a,iconProps:l,hideIcon:c,autoHideDuration:y,pauseOnHover:u=!0,titleLevel:f=3,actions:S,autoFocus:g=!1,variant:v="outlined",contentType:m="text",...x})=>{let h=C.useRef(null),{isVisible:p,shouldRender:d,handleDismiss:E,handleInteractionStart:P,handleInteractionEnd:T}=Qe({open:e,onDismiss:i,dismissible:r,autoHideDuration:y,pauseOnHover:u,autoFocus:g,alertRef:h});if(!d)return null;let A={size:a||16,...l};return C.createElement(R,{ref:h,severity:t,variant:v,isVisible:p,dismissible:r,onDismiss:E,onInteractionStart:P,onInteractionEnd:T,autoFocus:g,title:s,titleLevel:f,contentType:m,actions:S,hideIcon:c,iconProps:A,...x},o)};re.displayName="Alert";var ne=C.forwardRef(({id:e,label:t,checked:o,defaultChecked:s,value:r="on",onChange:i,classes:a,inputClasses:l,styles:c,size:y,name:u,disabled:f,required:S,validationState:g,errorMessage:v,hintText:m,onBlur:x,onFocus:h,autoFocus:p,...d},E)=>{let P=C.useCallback(Ee=>{i?.(Ee.target.checked);},[i]),T=o!==void 0,A=T?{checked:o}:{},ke=!T&&s!==void 0?{defaultChecked:s}:{},j=C.useRef(T);return C.useEffect(()=>{process.env.NODE_ENV==="development"&&(j.current!==T&&console.warn(`Checkbox with id="${e}" is changing from ${j.current?"controlled":"uncontrolled"} to ${T?"controlled":"uncontrolled"}. This is likely a bug. Decide between using "checked" (controlled) or "defaultChecked" (uncontrolled) and stick with it.`),j.current=T);},[T,e]),C.createElement("div",{className:a,style:c,"data-checkbox-size":y},C.createElement(a$1,{ref:E,type:"checkbox",id:e,name:u,value:r,...A,...ke,classes:l||"checkbox-input",disabled:f,required:S,validationState:g,errorMessage:v,hintText:m,onChange:P,onBlur:x,onFocus:h,autoFocus:p,...d}),C.createElement("label",{htmlFor:e,className:"checkbox-label"},t,S&&C.createElement("span",{className:"checkbox-required","aria-label":"required"}," *")))});ne.displayName="Checkbox";var ie=({src:e="//",alt:t,width:o=480,height:s,styles:r,loading:i="lazy",placeholder:a$1,fetchpriority:l="low",decoding:c="auto",srcSet:y,sizes:u,onError:f,onLoad:S,...g})=>{let v=useMemo(()=>{let p=typeof o=="number"?o:480,d=typeof s=="number"?s:Math.round(p*.75),E=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${p} ${d}">
|
|
30
30
|
<defs>
|
|
31
31
|
<linearGradient id="grad-${p}-${d}" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
32
32
|
<stop offset="0%" style="stop-color:#6366f1;stop-opacity:1" />
|
|
@@ -38,8 +38,8 @@ var _e={default:"",info:"Information: ",success:"Success: ",warning:"Warning: ",
|
|
|
38
38
|
<circle cx="${p*.15}" cy="${d*.2}" r="${Math.min(p,d)*.08}" fill="rgba(255,255,255,0.2)"/>
|
|
39
39
|
<path d="M0,${d*.75} Q${p*.25},${d*.65} ${p*.5},${d*.75} T${p},${d*.75} L${p},${d} L0,${d} Z" fill="rgba(0,0,0,0.15)"/>
|
|
40
40
|
<text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" font-family="system-ui,-apple-system,sans-serif" font-size="${Math.max(16,Math.min(p,d)*.05)}" font-weight="500" fill="rgba(255,255,255,0.9)">${p}\xD7${d}</text>
|
|
41
|
-
</svg>`;return `data:image/svg+xml,${encodeURIComponent(k)}`},[o,s]),m=a$1??v;return C.createElement(a,{as:"img",src:e,alt:t,width:o,height:s||"auto",loading:i,style:r,srcSet:y,sizes:u,onError:p=>{f&&f(p),p.defaultPrevented||p.currentTarget.src!==m&&(p.currentTarget.src=m);},onLoad:p=>{S?.(p);},decoding:c,...g,...l&&{fetchpriority:l}})};ie.displayName="Img";var ae=e=>{let[t,o]=useState([]),[s,r]=useState(e),[i,a]=useState(!1),[l,c]=useState(!1);return useEffect(()=>{let m=()=>{let x=window.speechSynthesis.getVoices();o(x);let h=x.find(p=>p.name==="Google US English");if(h)r(h);else {let p=x.find(d=>d.lang.startsWith("en-"));p&&r(p);}};return m(),window.speechSynthesis.onvoiceschanged=m,()=>{window.speechSynthesis.onvoiceschanged=null;}},[]),{speak:(m,x={},h)=>{let p=new SpeechSynthesisUtterance(m);p.lang=x.lang??"en-US",p.pitch=x.pitch??1,p.rate=x.rate??1,p.voice=s??x.voice??null,p.onend=()=>{a(!1),c(!1),h&&h();},"speechSynthesis"in window?(window.speechSynthesis.speak(p),a(!0),c(!1)):a(!1);},pause:()=>{i&&!l&&(window.speechSynthesis.pause(),c(!0));},resume:()=>{i&&l&&(window.speechSynthesis.resume(),c(!1));},cancel:()=>{i&&(window.speechSynthesis.cancel(),a(!1),c(!1));},isSpeaking:i,isPaused:l,availableVoices:t,changeVoice:m=>{r(m);},currentVoice:s,getAvailableLanguages:()=>[...new Set(t.map(m=>m.lang))]}};var et=({children:e,onClick:t})=>C.createElement(a,{as:"button",type:"button",className:"tts-border","data-btn":"sm text pill",onClick:t},e),M=C.memo(et),X=({label:e,isSpeaking:t,isPaused:o,onSpeak:s,onPause:r,onResume:i,onCancel:a$1})=>C.createElement(a,{as:"div","data-tts":!0},e&&C.createElement("p",null,e),!t&&C.createElement(M,{"aria-label":"Speak",onClick:s},C.createElement(b$1.PlaySolid,{size:16})),t&&!o&&C.createElement(M,{"aria-label":"Pause",onClick:r},C.createElement(b$1.PauseSolid,{size:16})),o&&C.createElement(M,{"aria-label":"Resume",onClick:i},C.createElement(b$1.ResumeSolid,{size:16})),C.createElement(M,{"aria-label":"Stop",onClick:a$1},C.createElement(b$1.StopSolid,{size:16})));X.displayName="TextToSpeechControls";X.TTSButton=M;var le=X;var pe=({initialText:e="",showTextInput:t=!1,voice:o,pitch:s=1,rate:r=1,label:i,onEnd:a})=>{let{speak:l,pause:c,resume:y,cancel:u,isSpeaking:f,isPaused:S}=ae(),[g,v]=useState(e);useEffect(()=>{v(e);},[e]);let m=()=>{g.trim()!==""&&l(g,{voice:o,pitch:s,rate:r},h);},x=p=>{v(p.target.value);},h=()=>{a&&a();};return C.createElement(C.Fragment,null,t&&C.createElement(b$2,{value:g,onChange:x}),C.createElement(le,{label:i,isSpeaking:f,isPaused:S,onSpeak:m,onPause:c,onResume:y,onCancel:u}))};pe.displayName="TextToSpeechComponent";var E=e=>C.createElement(C.Fragment,null,e),st=({id:e,children:t,headerBackground:o,styles:s,classes:r,...i})=>C.createElement(a,{as:"header",id:e,styles:s,className:r,...i},o,C.createElement(a,{as:"section"},t)),rt=({id:e,children:t,styles:o,classes:s,...r})=>C.createElement(a,{as:"main",id:e,styles:o,...r,className:s},t),nt=({id:e,classes:t,children:o,styles:s={},...r})=>C.createElement(a,{as:"footer",id:e,className:t,styles:s,...r},C.createElement(a,{as:"section"},o||"Copyright \xA9 2022")),it=({id:e,children:t,styles:o={},classes:s,...r})=>C.createElement(a,{as:"aside",id:e,styles:o,className:s,...r},C.createElement(a,{as:"section"},t)),at=({id:e,children:t,styles:o,classes:s,...r})=>C.createElement(a,{as:"section",id:e,styles:o,className:s,...r},t),lt=({id:e,children:t,styles:o,classes:s,...r})=>C.createElement(a,{as:"article",id:e,styles:o,className:s,...r},t);E.displayName="Landmarks";E.Header=st;E.Main=rt;E.Footer=nt;E.Aside=it;E.Section=at;E.Article=lt;var fe=C.forwardRef(({padding:e,paddingInline:t,paddingBlock:o,margin:s,marginInline:r,marginBlock:i,width:a$1,maxWidth:l,radius:c,as:y="div",className:u,classes:f,children:S,...g},v)=>{let m=[];e&&m.push(`box-padding-${e}`),t&&m.push(`box-padding-inline-${t}`),o&&m.push(`box-padding-block-${o}`),s&&m.push(`box-margin-${s}`),r&&m.push(`box-margin-inline-${r}`),i&&m.push(`box-margin-block-${i}`),a$1&&m.push(`box-width-${a$1}`),l&&m.push(`box-max-width-${l}`),c&&m.push(`box-radius-${c}`);let x=[...m,u,f].filter(Boolean).join(" ");return C.createElement(a,{as:y,ref:v,classes:x||void 0,...g},S)});fe.displayName="Box";var de=C.forwardRef(({gap:e,direction:t="vertical",align:o,justify:s,wrap:r,as:i="div",className:a$1,classes:l,children:c,...y},u)=>{let f=["stack"];t==="horizontal"?f.push("stack-horizontal"):f.push("stack-vertical"),e&&f.push(`stack-gap-${e}`),o&&f.push(`stack-align-${o}`),s&&f.push(`stack-justify-${s}`),r&&f.push(`stack-${r}`);let S=[...f,a$1,l].filter(Boolean).join(" ");return C.createElement(a,{as:i,ref:u,classes:S,...y},c)});de.displayName="Stack";var xe=C.forwardRef(({gap:e,justify:t,align:o,as:s="div",className:r,classes:i,children:a$1,...l},c)=>{let y=["cluster"];e&&y.push(`cluster-gap-${e}`),t&&y.push(`cluster-justify-${t}`),o&&y.push(`cluster-align-${o}`);let u=[...y,r,i].filter(Boolean).join(" ");return C.createElement(a,{as:s,ref:c,classes:u,...l},a$1)});xe.displayName="Cluster";var ye=C.forwardRef(({columns:e,auto:t,minColumnWidth:o,gap:s,gapX:r,gapY:i,justifyItems:a$1,alignItems:l,as:c="div",className:y,classes:u,children:f,style:S,styles:g,...v},m)=>{let x=["grid"];e&&x.push(`grid-cols-${e}`),t&&x.push(`grid-auto-${t}`),s&&x.push(`grid-gap-${s}`),r&&x.push(`grid-gap-x-${r}`),i&&x.push(`grid-gap-y-${i}`),a$1&&x.push(`grid-justify-items-${a$1}`),l&&x.push(`grid-align-items-${l}`);let h=[...x,y,u].filter(Boolean).join(" "),p={...S||{},...g||{}};return t&&o&&(p.gridTemplateColumns=`repeat(auto-${t}, minmax(${o}, 1fr))`),C.createElement(a,{as:c,ref:m,classes:h,style:Object.keys(p).length>0?p:void 0,...v},f)});ye.displayName="Grid";var Q=C.forwardRef(({span:e,rowSpan:t,as:o="div",className:s,classes:r,children:i,...a$1},l)=>{let c=[];e&&c.push(`grid-col-span-${e}`),t&&c.push(`grid-row-span-${t}`);let y=[...c,s,r].filter(Boolean).join(" ");return C.createElement(a,{as:o,ref:l,classes:y,...a$1},i)});Q.displayName="GridItem";var he=ye;he.Item=Q;var pt=he;var Se=C.forwardRef(({gap:e,justify:t,align:o,wrap:s,alwaysProportional:r=!1,as:i="div",className:a$1,classes:l,children:c,...y},u)=>{process.env.NODE_ENV==="development"&&r&&console.warn('[fpkit] Row: alwaysProportional is deprecated and will be removed in v5.0.0. Use responsive column utilities instead: className="col-sm-6 col-md-4"');let f=["col-row"];e&&f.push(`col-row-gap-${e}`),t&&f.push(`col-row-justify-${t}`),o&&f.push(`col-row-align-${o}`),s&&s!=="wrap"&&f.push(`col-row-${s}`),r&&f.push("col-row-proportional");let S=[...f,a$1,l].filter(Boolean).join(" ");return C.createElement(a,{as:i,ref:u,classes:S,...y},c)});Se.displayName="Row";var Ie=C.forwardRef(({span:e,offset:t,order:o,auto:s=!1,as:r="div",className:i,classes:a$1,children:l,...c},y)=>{let u=[];s?u.push("col-auto"):e==="flex"?u.push("col-flex"):e&&u.push(`col-${e}`),t!==void 0&&u.push(`col-offset-${t}`),o!==void 0&&u.push(`col-order-${o}`);let f=[...u,i,a$1].filter(Boolean).join(" ");return C.createElement(a,{as:r,ref:y,classes:f,...c},l)});Ie.displayName="Col";var B=(e,t="")=>{let o=[];if(e.direction){let s={row:"flex-row","row-reverse":"flex-row-reverse",column:"flex-col","column-reverse":"flex-col-reverse"};o.push(`${t}${s[e.direction]}`);}if(e.wrap){let s={wrap:"flex-wrap",nowrap:"flex-nowrap","wrap-reverse":"flex-wrap-reverse"};o.push(`${t}${s[e.wrap]}`);}if(e.gap&&o.push(`${t}gap-${e.gap}`),e.rowGap&&o.push(`${t}row-gap-${e.rowGap}`),e.colGap&&o.push(`${t}col-gap-${e.colGap}`),e.justify){let s={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};o.push(`${t}${s[e.justify]}`);}if(e.align){let s={start:"items-start",end:"items-end",center:"items-center",baseline:"items-baseline",stretch:"items-stretch"};o.push(`${t}${s[e.align]}`);}if(e.alignContent){let s={start:"content-start",end:"content-end",center:"content-center",between:"content-between",around:"content-around",evenly:"content-evenly",stretch:"content-stretch"};o.push(`${t}${s[e.alignContent]}`);}return o},Pe=C.forwardRef((e,t)=>{let{variant:o,inline:s=!1,as:r="div",className:i="",styles:a$1,children:l,sm:c,md:y,lg:u,xl:f,direction:S,wrap:g,gap:v,rowGap:m,colGap:x,justify:h,align:p,alignContent:d,...k}=e,I=[];if(I.push(s?"flex-inline":"flex"),o){let A={center:"flex-center",between:"flex-between",around:"flex-around",stack:"flex-stack",spread:"flex-spread"};I.push(A[o]);}I.push(...B({direction:S,wrap:g,gap:v,rowGap:m,colGap:x,justify:h,align:p,alignContent:d})),c&&I.push(...B(c,"sm:")),y&&I.push(...B(y,"md:")),u&&I.push(...B(u,"lg:")),f&&I.push(...B(f,"xl:"));let U=[...I,i].filter(Boolean).join(" ");return C.createElement(a,{as:r,ref:t,classes:U,styles:a$1,...k},l)});Pe.displayName="Flex";var Ce=C.forwardRef((e,t)=>{let{grow:o,shrink:s,basis:r,flex:i,alignSelf:a$1,order:l,as:c="div",className:y="",styles:u,children:f,sm:S,md:g,lg:v,xl:m,...x}=e,h=[];if(i){let d={1:"flex-1",auto:"flex-auto",initial:"flex-initial",none:"flex-none"};h.push(d[i]);}if(o!==void 0&&h.push(`flex-grow-${o}`),s!==void 0&&h.push(`flex-shrink-${s}`),r){let d={auto:"flex-basis-auto",0:"flex-basis-0",full:"flex-basis-full"};h.push(d[r]);}if(a$1){let d={auto:"self-auto",start:"self-start",end:"self-end",center:"self-center",baseline:"self-baseline",stretch:"self-stretch"};h.push(d[a$1]);}if(l){let d={first:"order-first",last:"order-last",none:"order-none"};h.push(d[l]);}if(S?.flex){let d={1:"flex-1",auto:"flex-auto",none:"flex-none"};h.push(`sm:${d[S.flex]}`);}if(g?.flex){let d={1:"flex-1",auto:"flex-auto",none:"flex-none"};h.push(`md:${d[g.flex]}`);}if(v?.flex){let d={1:"flex-1",auto:"flex-auto",none:"flex-none"};h.push(`lg:${d[v.flex]}`);}if(m?.flex){let d={1:"flex-1",auto:"flex-auto",none:"flex-none"};h.push(`xl:${d[m.flex]}`);}let p=[...h,y].filter(Boolean).join(" ");return C.createElement(a,{as:c,ref:t,classes:p,styles:u,...x},f)});Ce.displayName="Flex.Item";var be=C.forwardRef((e,t)=>{let{as:o="div",className:s="",styles:r,...i}=e,a$1=["flex-1",s].filter(Boolean).join(" ");return C.createElement(a,{as:o,ref:t,classes:a$1,styles:r,...i})});be.displayName="Flex.Spacer";var Y=Pe;Y.Item=Ce;Y.Spacer=be;var ct=Y;var we=({id:e,styles:t,classes:o,children:s,variant:r,...i})=>C.createElement(a,{as:"sup",id:e,styles:t,className:o,"data-badge":r||void 0,role:"status",...i},C.createElement(a,{as:"span"},s));we.displayName="Badge";var mt=({elm:e="span",role:t="note",variant:o,children:s,styles:r,...i})=>C.createElement(a,{as:e,role:t,"data-tag":o||void 0,styles:r,...i},s);mt.displayName="Tag";var dt=C.forwardRef(({summary:e,icon:t,styles:o,classes:s,ariaLabel:r,name:i,open:a$1,onPointerDown:l,onToggle:c,children:y,...u},f)=>{let S=useCallback(v=>{l?.(v);},[l]),g=useCallback(v=>{c?.(v);},[c]);return C.createElement(a,{as:"details",styles:o,classes:s,onToggle:g,ref:f,open:a$1,"aria-label":r,name:i,...u},C.createElement(a,{as:"summary",onPointerDown:S},t,e),C.createElement(a,{as:"section"},y))});dt.displayName="Details";
|
|
41
|
+
</svg>`;return `data:image/svg+xml,${encodeURIComponent(E)}`},[o,s]),m=a$1??v;return C.createElement(a,{as:"img",src:e,alt:t,width:o,height:s||"auto",loading:i,style:r,srcSet:y,sizes:u,onError:p=>{f&&f(p),p.defaultPrevented||p.currentTarget.src!==m&&(p.currentTarget.src=m);},onLoad:p=>{S?.(p);},decoding:c,...g,...l&&{fetchpriority:l}})};ie.displayName="Img";var ae=e=>{let[t,o]=useState([]),[s,r]=useState(e),[i,a]=useState(!1),[l,c]=useState(!1);return useEffect(()=>{let m=()=>{let x=window.speechSynthesis.getVoices();o(x);let h=x.find(p=>p.name==="Google US English");if(h)r(h);else {let p=x.find(d=>d.lang.startsWith("en-"));p&&r(p);}};return m(),window.speechSynthesis.onvoiceschanged=m,()=>{window.speechSynthesis.onvoiceschanged=null;}},[]),{speak:(m,x={},h)=>{let p=new SpeechSynthesisUtterance(m);p.lang=x.lang??"en-US",p.pitch=x.pitch??1,p.rate=x.rate??1,p.voice=s??x.voice??null,p.onend=()=>{a(!1),c(!1),h&&h();},"speechSynthesis"in window?(window.speechSynthesis.speak(p),a(!0),c(!1)):a(!1);},pause:()=>{i&&!l&&(window.speechSynthesis.pause(),c(!0));},resume:()=>{i&&l&&(window.speechSynthesis.resume(),c(!1));},cancel:()=>{i&&(window.speechSynthesis.cancel(),a(!1),c(!1));},isSpeaking:i,isPaused:l,availableVoices:t,changeVoice:m=>{r(m);},currentVoice:s,getAvailableLanguages:()=>[...new Set(t.map(m=>m.lang))]}};var tt=({children:e,onClick:t})=>C.createElement(a,{as:"button",type:"button",className:"tts-border","data-btn":"sm text pill",onClick:t},e),M=C.memo(tt),X=({label:e,isSpeaking:t,isPaused:o,onSpeak:s,onPause:r,onResume:i,onCancel:a$1})=>C.createElement(a,{as:"div","data-tts":!0},e&&C.createElement("p",null,e),!t&&C.createElement(M,{"aria-label":"Speak",onClick:s},C.createElement(b$1.PlaySolid,{size:16})),t&&!o&&C.createElement(M,{"aria-label":"Pause",onClick:r},C.createElement(b$1.PauseSolid,{size:16})),o&&C.createElement(M,{"aria-label":"Resume",onClick:i},C.createElement(b$1.ResumeSolid,{size:16})),C.createElement(M,{"aria-label":"Stop",onClick:a$1},C.createElement(b$1.StopSolid,{size:16})));X.displayName="TextToSpeechControls";X.TTSButton=M;var le=X;var pe=({initialText:e="",showTextInput:t=!1,voice:o,pitch:s=1,rate:r=1,label:i,onEnd:a})=>{let{speak:l,pause:c,resume:y,cancel:u,isSpeaking:f,isPaused:S}=ae(),[g,v]=useState(e);useEffect(()=>{v(e);},[e]);let m=()=>{g.trim()!==""&&l(g,{voice:o,pitch:s,rate:r},h);},x=p=>{v(p.target.value);},h=()=>{a&&a();};return C.createElement(C.Fragment,null,t&&C.createElement(b$2,{value:g,onChange:x}),C.createElement(le,{label:i,isSpeaking:f,isPaused:S,onSpeak:m,onPause:c,onResume:y,onCancel:u}))};pe.displayName="TextToSpeechComponent";var F=e=>C.createElement(C.Fragment,null,e),rt=({id:e,children:t,headerBackground:o,styles:s,classes:r,...i})=>C.createElement(a,{as:"header",id:e,styles:s,className:r,...i},o,C.createElement(a,{as:"section"},t)),nt=({id:e,children:t,styles:o,classes:s,...r})=>C.createElement(a,{as:"main",id:e,styles:o,...r,className:s},t),it=({id:e,classes:t,children:o,styles:s={},...r})=>C.createElement(a,{as:"footer",id:e,className:t,styles:s,...r},C.createElement(a,{as:"section"},o||"Copyright \xA9 2022")),at=({id:e,children:t,styles:o={},classes:s,...r})=>C.createElement(a,{as:"aside",id:e,styles:o,className:s,...r},C.createElement(a,{as:"section"},t)),lt=({id:e,children:t,styles:o,classes:s,...r})=>C.createElement(a,{as:"section",id:e,styles:o,className:s,...r},t),pt=({id:e,children:t,styles:o,classes:s,...r})=>C.createElement(a,{as:"article",id:e,styles:o,className:s,...r},t);F.displayName="Landmarks";F.Header=rt;F.Main=nt;F.Footer=it;F.Aside=at;F.Section=lt;F.Article=pt;var fe=C.forwardRef(({padding:e,paddingInline:t,paddingBlock:o,margin:s,marginInline:r,marginBlock:i,width:a$1,maxWidth:l,radius:c,as:y="div",className:u,classes:f,children:S,...g},v)=>{let m=[];e&&m.push(`box-padding-${e}`),t&&m.push(`box-padding-inline-${t}`),o&&m.push(`box-padding-block-${o}`),s&&m.push(`box-margin-${s}`),r&&m.push(`box-margin-inline-${r}`),i&&m.push(`box-margin-block-${i}`),a$1&&m.push(`box-width-${a$1}`),l&&m.push(`box-max-width-${l}`),c&&m.push(`box-radius-${c}`);let x=[...m,u,f].filter(Boolean).join(" ");return C.createElement(a,{as:y,ref:v,classes:x||void 0,...g},S)});fe.displayName="Box";var de=C.forwardRef(({gap:e,direction:t="vertical",align:o,justify:s,wrap:r,as:i="div",className:a$1,classes:l,children:c,...y},u)=>{let f=["stack"];t==="horizontal"?f.push("stack-horizontal"):f.push("stack-vertical"),e&&f.push(`stack-gap-${e}`),o&&f.push(`stack-align-${o}`),s&&f.push(`stack-justify-${s}`),r&&f.push(`stack-${r}`);let S=[...f,a$1,l].filter(Boolean).join(" ");return C.createElement(a,{as:i,ref:u,classes:S,...y},c)});de.displayName="Stack";var xe=C.forwardRef(({gap:e,justify:t,align:o,as:s="div",className:r,classes:i,children:a$1,...l},c)=>{let y=["cluster"];e&&y.push(`cluster-gap-${e}`),t&&y.push(`cluster-justify-${t}`),o&&y.push(`cluster-align-${o}`);let u=[...y,r,i].filter(Boolean).join(" ");return C.createElement(a,{as:s,ref:c,classes:u,...l},a$1)});xe.displayName="Cluster";var ye=C.forwardRef(({columns:e,auto:t,minColumnWidth:o,gap:s,gapX:r,gapY:i,justifyItems:a$1,alignItems:l,as:c="div",className:y,classes:u,children:f,style:S,styles:g,...v},m)=>{let x=["grid"];e&&x.push(`grid-cols-${e}`),t&&x.push(`grid-auto-${t}`),s&&x.push(`grid-gap-${s}`),r&&x.push(`grid-gap-x-${r}`),i&&x.push(`grid-gap-y-${i}`),a$1&&x.push(`grid-justify-items-${a$1}`),l&&x.push(`grid-align-items-${l}`);let h=[...x,y,u].filter(Boolean).join(" "),p={...S||{},...g||{}};return t&&o&&(p.gridTemplateColumns=`repeat(auto-${t}, minmax(${o}, 1fr))`),C.createElement(a,{as:c,ref:m,classes:h,style:Object.keys(p).length>0?p:void 0,...v},f)});ye.displayName="Grid";var Q=C.forwardRef(({span:e,rowSpan:t,as:o="div",className:s,classes:r,children:i,...a$1},l)=>{let c=[];e&&c.push(`grid-col-span-${e}`),t&&c.push(`grid-row-span-${t}`);let y=[...c,s,r].filter(Boolean).join(" ");return C.createElement(a,{as:o,ref:l,classes:y,...a$1},i)});Q.displayName="GridItem";var he=ye;he.Item=Q;var ct=he;var Se=C.forwardRef(({gap:e,justify:t,align:o,wrap:s,alwaysProportional:r=!1,as:i="div",className:a$1,classes:l,children:c,...y},u)=>{process.env.NODE_ENV==="development"&&r&&console.warn('[fpkit] Row: alwaysProportional is deprecated and will be removed in v5.0.0. Use responsive column utilities instead: className="col-sm-6 col-md-4"');let f=["col-row"];e&&f.push(`col-row-gap-${e}`),t&&f.push(`col-row-justify-${t}`),o&&f.push(`col-row-align-${o}`),s&&s!=="wrap"&&f.push(`col-row-${s}`),r&&f.push("col-row-proportional");let S=[...f,a$1,l].filter(Boolean).join(" ");return C.createElement(a,{as:i,ref:u,classes:S,...y},c)});Se.displayName="Row";var Ie=C.forwardRef(({span:e,offset:t,order:o,auto:s=!1,as:r="div",className:i,classes:a$1,children:l,...c},y)=>{let u=[];s?u.push("col-auto"):e==="flex"?u.push("col-flex"):e&&u.push(`col-${e}`),t!==void 0&&u.push(`col-offset-${t}`),o!==void 0&&u.push(`col-order-${o}`);let f=[...u,i,a$1].filter(Boolean).join(" ");return C.createElement(a,{as:r,ref:y,classes:f,...c},l)});Ie.displayName="Col";var B=(e,t="")=>{let o=[];if(e.direction){let s={row:"flex-row","row-reverse":"flex-row-reverse",column:"flex-col","column-reverse":"flex-col-reverse"};o.push(`${t}${s[e.direction]}`);}if(e.wrap){let s={wrap:"flex-wrap",nowrap:"flex-nowrap","wrap-reverse":"flex-wrap-reverse"};o.push(`${t}${s[e.wrap]}`);}if(e.gap&&o.push(`${t}gap-${e.gap}`),e.rowGap&&o.push(`${t}row-gap-${e.rowGap}`),e.colGap&&o.push(`${t}col-gap-${e.colGap}`),e.justify){let s={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};o.push(`${t}${s[e.justify]}`);}if(e.align){let s={start:"items-start",end:"items-end",center:"items-center",baseline:"items-baseline",stretch:"items-stretch"};o.push(`${t}${s[e.align]}`);}if(e.alignContent){let s={start:"content-start",end:"content-end",center:"content-center",between:"content-between",around:"content-around",evenly:"content-evenly",stretch:"content-stretch"};o.push(`${t}${s[e.alignContent]}`);}return o},Pe=C.forwardRef((e,t)=>{let{variant:o,inline:s=!1,as:r="div",className:i="",styles:a$1,children:l,sm:c,md:y,lg:u,xl:f,direction:S,wrap:g,gap:v,rowGap:m,colGap:x,justify:h,align:p,alignContent:d,...E}=e,P=[];if(P.push(s?"flex-inline":"flex"),o){let A={center:"flex-center",between:"flex-between",around:"flex-around",stack:"flex-stack",spread:"flex-spread"};P.push(A[o]);}P.push(...B({direction:S,wrap:g,gap:v,rowGap:m,colGap:x,justify:h,align:p,alignContent:d})),c&&P.push(...B(c,"sm:")),y&&P.push(...B(y,"md:")),u&&P.push(...B(u,"lg:")),f&&P.push(...B(f,"xl:"));let T=[...P,i].filter(Boolean).join(" ");return C.createElement(a,{as:r,ref:t,classes:T,styles:a$1,...E},l)});Pe.displayName="Flex";var Ce=C.forwardRef((e,t)=>{let{grow:o,shrink:s,basis:r,flex:i,alignSelf:a$1,order:l,as:c="div",className:y="",styles:u,children:f,sm:S,md:g,lg:v,xl:m,...x}=e,h=[];if(i){let d={1:"flex-1",auto:"flex-auto",initial:"flex-initial",none:"flex-none"};h.push(d[i]);}if(o!==void 0&&h.push(`flex-grow-${o}`),s!==void 0&&h.push(`flex-shrink-${s}`),r){let d={auto:"flex-basis-auto",0:"flex-basis-0",full:"flex-basis-full"};h.push(d[r]);}if(a$1){let d={auto:"self-auto",start:"self-start",end:"self-end",center:"self-center",baseline:"self-baseline",stretch:"self-stretch"};h.push(d[a$1]);}if(l){let d={first:"order-first",last:"order-last",none:"order-none"};h.push(d[l]);}if(S?.flex){let d={1:"flex-1",auto:"flex-auto",none:"flex-none"};h.push(`sm:${d[S.flex]}`);}if(g?.flex){let d={1:"flex-1",auto:"flex-auto",none:"flex-none"};h.push(`md:${d[g.flex]}`);}if(v?.flex){let d={1:"flex-1",auto:"flex-auto",none:"flex-none"};h.push(`lg:${d[v.flex]}`);}if(m?.flex){let d={1:"flex-1",auto:"flex-auto",none:"flex-none"};h.push(`xl:${d[m.flex]}`);}let p=[...h,y].filter(Boolean).join(" ");return C.createElement(a,{as:c,ref:t,classes:p,styles:u,...x},f)});Ce.displayName="Flex.Item";var be=C.forwardRef((e,t)=>{let{as:o="div",className:s="",styles:r,...i}=e,a$1=["flex-1",s].filter(Boolean).join(" ");return C.createElement(a,{as:o,ref:t,classes:a$1,styles:r,...i})});be.displayName="Flex.Spacer";var Y=Pe;Y.Item=Ce;Y.Spacer=be;var ft=Y;var we=({id:e,styles:t,classes:o,children:s,variant:r,...i})=>C.createElement(a,{as:"sup",id:e,styles:t,className:o,"data-badge":r||void 0,role:"status",...i},C.createElement(a,{as:"span"},s));we.displayName="Badge";var dt=({elm:e="span",role:t="note",variant:o,children:s,styles:r,...i})=>C.createElement(a,{as:e,role:t,"data-tag":o||void 0,styles:r,...i},s);dt.displayName="Tag";var ut=C.forwardRef(({summary:e,icon:t,styles:o,classes:s,ariaLabel:r,name:i,open:a$1,onPointerDown:l,onToggle:c,children:y,...u},f)=>{let S=useCallback(v=>{l?.(v);},[l]),g=useCallback(v=>{c?.(v);},[c]);return C.createElement(a,{as:"details",styles:o,classes:s,onToggle:g,ref:f,open:a$1,"aria-label":r,name:i,...u},C.createElement(a,{as:"summary",onPointerDown:S},t,e),C.createElement(a,{as:"section"},y))});ut.displayName="Details";
|
|
42
42
|
|
|
43
|
-
export { re as Alert,
|
|
43
|
+
export { re as Alert, pt as Article, at as Aside, we as Badge, fe as Box, ne as Checkbox, xe as Cluster, Ie as Col, ut as Details, ft as Flex, it as Footer, ct as Grid, Q as GridItem, rt as Header, ie as Img, F as Landmarks, nt as Main, Se as Row, lt as Section, de as Stack, dt as Tag, pe as TextToSpeech };
|
|
44
44
|
//# sourceMappingURL=out.js.map
|
|
45
45
|
//# sourceMappingURL=index.js.map
|