@wrrdev/fenix-ui 1.1.5 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +77 -2
  2. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  3. package/dist/components/autocomplete/autocomplete.js +16 -7
  4. package/dist/components/autocomplete/autocomplete.js.map +1 -1
  5. package/dist/components/button/button.d.ts.map +1 -1
  6. package/dist/components/button/button.js +7 -5
  7. package/dist/components/button/button.js.map +1 -1
  8. package/dist/components/card/card.d.ts +2 -1
  9. package/dist/components/card/card.d.ts.map +1 -1
  10. package/dist/components/card/card.js +5 -2
  11. package/dist/components/card/card.js.map +1 -1
  12. package/dist/components/datepicker/datepicker.d.ts.map +1 -1
  13. package/dist/components/datepicker/datepicker.js +11 -6
  14. package/dist/components/datepicker/datepicker.js.map +1 -1
  15. package/dist/components/fileupload/fileupload.d.ts +1 -1
  16. package/dist/components/fileupload/fileupload.d.ts.map +1 -1
  17. package/dist/components/fileupload/fileupload.js +10 -3
  18. package/dist/components/fileupload/fileupload.js.map +1 -1
  19. package/dist/components/icon/icon.d.ts +40 -0
  20. package/dist/components/icon/icon.d.ts.map +1 -0
  21. package/dist/components/icon/index.d.ts +8 -0
  22. package/dist/components/icon/index.d.ts.map +1 -0
  23. package/dist/components/input/input.d.ts +3 -0
  24. package/dist/components/input/input.d.ts.map +1 -1
  25. package/dist/components/input/input.js +24 -8
  26. package/dist/components/input/input.js.map +1 -1
  27. package/dist/components/knob/knob.d.ts +1 -1
  28. package/dist/components/knob/knob.d.ts.map +1 -1
  29. package/dist/components/knob/knob.js +3 -1
  30. package/dist/components/knob/knob.js.map +1 -1
  31. package/dist/components/multiselect/multiselect.d.ts.map +1 -1
  32. package/dist/components/multiselect/multiselect.js +17 -6
  33. package/dist/components/multiselect/multiselect.js.map +1 -1
  34. package/dist/components/orderlist/orderlist.js +2 -2
  35. package/dist/components/orderlist/orderlist.js.map +1 -1
  36. package/dist/components/picklist/picklist.js +2 -2
  37. package/dist/components/picklist/picklist.js.map +1 -1
  38. package/dist/components/select/select.d.ts.map +1 -1
  39. package/dist/components/select/select.js +18 -5
  40. package/dist/components/select/select.js.map +1 -1
  41. package/dist/components/textarea/textarea.d.ts.map +1 -1
  42. package/dist/components/textarea/textarea.js +16 -5
  43. package/dist/components/textarea/textarea.js.map +1 -1
  44. package/dist/components/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  45. package/dist/components/toggle-button-group/toggle-button-group.js +3 -1
  46. package/dist/components/toggle-button-group/toggle-button-group.js.map +1 -1
  47. package/dist/core/jsx.d.ts +233 -29
  48. package/dist/core/jsx.d.ts.map +1 -1
  49. package/dist/core/jsx.js.map +1 -1
  50. package/dist/core/presets.js +1 -1
  51. package/dist/core/presets.js.map +1 -1
  52. package/dist/core/react.d.ts +20 -0
  53. package/dist/core/react.d.ts.map +1 -0
  54. package/dist/core/react.js +5 -0
  55. package/dist/core/react.js.map +1 -0
  56. package/dist/core/theme.d.ts.map +1 -1
  57. package/dist/core/theme.js +12 -0
  58. package/dist/core/theme.js.map +1 -1
  59. package/dist/core/tokens.d.ts +4 -0
  60. package/dist/core/tokens.d.ts.map +1 -1
  61. package/dist/core/tokens.js +9 -1
  62. package/dist/core/tokens.js.map +1 -1
  63. package/dist/core/vue.d.ts +47 -2
  64. package/dist/core/vue.d.ts.map +1 -1
  65. package/dist/core/vue.js.map +1 -1
  66. package/dist/docs/app.d.ts +6 -0
  67. package/dist/docs/app.d.ts.map +1 -1
  68. package/dist/docs/componentes/autocomplete.doc.d.ts.map +1 -1
  69. package/dist/docs/componentes/card.doc.d.ts.map +1 -1
  70. package/dist/docs/componentes/icon.doc.d.ts +9 -0
  71. package/dist/docs/componentes/icon.doc.d.ts.map +1 -0
  72. package/dist/docs/componentes/index.d.ts.map +1 -1
  73. package/dist/docs/componentes/input.doc.d.ts.map +1 -1
  74. package/dist/docs/componentes/multiselect.doc.d.ts.map +1 -1
  75. package/dist/docs/componentes/select.doc.d.ts.map +1 -1
  76. package/dist/docs/componentes/textarea.doc.d.ts.map +1 -1
  77. package/dist/fenix-ui.esm.js +2 -2
  78. package/dist/fenix-ui.esm.js.map +1 -1
  79. package/dist/fenix-ui.umd.min.js +296 -215
  80. package/dist/fenix-ui2.esm.js +2 -4321
  81. package/dist/fenix-ui2.esm.js.map +1 -1
  82. package/dist/fenix-ui3.esm.js +4338 -10616
  83. package/dist/fenix-ui3.esm.js.map +1 -1
  84. package/dist/fenix-ui4.esm.js +10724 -104
  85. package/dist/fenix-ui4.esm.js.map +1 -1
  86. package/dist/fenix-ui5.esm.js +111 -0
  87. package/dist/fenix-ui5.esm.js.map +1 -0
  88. package/dist/icons/font.d.ts +26 -0
  89. package/dist/icons/font.d.ts.map +1 -0
  90. package/dist/icons/font.js +42 -0
  91. package/dist/icons/font.js.map +1 -0
  92. package/dist/icons/index.d.ts +3 -1
  93. package/dist/icons/index.d.ts.map +1 -1
  94. package/dist/icons/index.js +11 -13
  95. package/dist/icons/index.js.map +1 -1
  96. package/dist/icons/name-union.d.ts +11 -0
  97. package/dist/icons/name-union.d.ts.map +1 -0
  98. package/dist/icons/names.d.ts +0 -1
  99. package/dist/icons/names.d.ts.map +1 -1
  100. package/dist/icons/names.js.map +1 -1
  101. package/dist/icons/types.d.ts +14 -0
  102. package/dist/icons/types.d.ts.map +1 -0
  103. package/dist/plugins/auto-import.d.ts.map +1 -1
  104. package/dist/plugins/auto-import.js +1 -0
  105. package/dist/plugins/auto-import.js.map +1 -1
  106. package/package.json +10 -5
@@ -12,6 +12,7 @@
12
12
  * de índice, funcionando com qualquer runtime JSX.
13
13
  */
14
14
  import type { FxElementProps, FxSize } from './types';
15
+ import type { FenixIconName } from '../icons/types';
15
16
  /** Marcador de runtime: permite `import '@wrrdev/fenix-ui/jsx'` como side-effect import. */
16
17
  export declare const FX_JSX_TYPES: true;
17
18
  export type FxButtonVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'ghost' | 'outline';
@@ -28,6 +29,17 @@ export type FxTooltipPosition = 'top' | 'bottom' | 'left' | 'right';
28
29
  export type FxDrawerPosition = 'left' | 'right' | 'top' | 'bottom';
29
30
  export type FxDropdownPosition = 'left' | 'center' | 'right' | 'bottom-left' | 'bottom-right';
30
31
  export type FxPaginationPosition = 'left' | 'center' | 'right';
32
+ export type FxChipVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';
33
+ export type FxAvatarVariant = 'image' | 'text' | 'icon';
34
+ export type FxAvatarShape = 'circle' | 'rounded' | 'square';
35
+ export type FxCardVariant = 'elevated' | 'flat' | 'outline' | 'ghost';
36
+ /** Arredondamento do container do card. */
37
+ export type FxCardRadius = 'sm' | 'md' | 'lg';
38
+ export type FxPopoverTrigger = 'click' | 'hover';
39
+ export type FxPopoverPosition = 'auto' | 'top' | 'bottom';
40
+ export type FxMenuOrientation = 'horizontal' | 'vertical';
41
+ export type FxTimelineOrientation = 'vertical' | 'horizontal';
42
+ export type FxSelectionMode = 'single' | 'multiple';
31
43
  export interface FxButtonProps extends FxElementProps {
32
44
  variant?: FxButtonVariant;
33
45
  type?: 'button' | 'submit' | 'reset';
@@ -254,37 +266,225 @@ export interface FxFileUploadProps extends FxElementProps {
254
266
  progress?: number;
255
267
  full?: boolean;
256
268
  }
269
+ export interface FxSliderProps extends FxElementProps {
270
+ value?: number;
271
+ min?: number;
272
+ max?: number;
273
+ step?: number;
274
+ size?: FxSize;
275
+ 'show-value'?: boolean;
276
+ }
277
+ export interface FxStepperProps extends FxElementProps {
278
+ active?: number;
279
+ linear?: boolean;
280
+ 'show-numbers'?: boolean;
281
+ }
282
+ export interface FxChipProps extends FxElementProps {
283
+ variant?: FxChipVariant;
284
+ size?: FxSize;
285
+ icon?: string;
286
+ removable?: boolean;
287
+ selectable?: boolean;
288
+ selected?: boolean;
289
+ }
290
+ export interface FxAvatarProps extends FxElementProps {
291
+ variant?: FxAvatarVariant;
292
+ src?: string;
293
+ alt?: string;
294
+ size?: FxSize;
295
+ shape?: FxAvatarShape;
296
+ }
297
+ /**
298
+ * <fx-icon> — glifo da Fenix Icons com autocomplete no editor.
299
+ *
300
+ * `name` é uma união literal com TODOS os nomes da fonte (+4.000): o editor
301
+ * (Volar/vue-tsc, React/TSX) sugere os válidos ao digitar. A tipagem aceita
302
+ * qualquer string (escotilha `(string & {})`), então nomes montados por
303
+ * variável/dynamic imports continuam compilando sem erro.
304
+ */
305
+ export interface FxIconProps extends FxElementProps {
306
+ /** Nome do glifo (ex.: `home`). Texto livre/emoji também é aceito. */
307
+ name?: FenixIconName;
308
+ /** Tamanho do glifo. Sem atributo, herda o tamanho do texto (1em). */
309
+ size?: 'sm' | 'md' | 'lg' | 'xl';
310
+ /** Nome acessível; sem label o ícone é aria-hidden (decorativo). */
311
+ label?: string;
312
+ /** Variante preenchida. */
313
+ fill?: boolean;
314
+ /** Traço mais pesado. */
315
+ bold?: boolean;
316
+ }
317
+ export interface FxCardProps extends FxElementProps {
318
+ variant?: FxCardVariant;
319
+ /** Arredondamento do container (radius sm/md/lg). */
320
+ radius?: FxCardRadius;
321
+ /** @deprecated use `radius`. */
322
+ size?: FxSize;
323
+ padded?: boolean;
324
+ heading?: string;
325
+ }
326
+ export interface FxBreadcrumbProps extends FxElementProps {
327
+ size?: FxSize;
328
+ separator?: string;
329
+ }
330
+ export interface FxPopoverProps extends FxElementProps {
331
+ open?: boolean;
332
+ target?: string;
333
+ trigger?: FxPopoverTrigger;
334
+ position?: FxPopoverPosition;
335
+ dismissible?: boolean;
336
+ }
337
+ export interface FxRatingProps extends FxElementProps {
338
+ value?: number;
339
+ max?: number;
340
+ readonly?: boolean;
341
+ 'allow-half'?: boolean;
342
+ size?: FxSize;
343
+ }
344
+ export interface FxMenuProps extends FxElementProps {
345
+ orientation?: FxMenuOrientation;
346
+ size?: FxSize;
347
+ titles?: string;
348
+ }
349
+ export interface FxToggleButtonGroupProps extends FxElementProps {
350
+ multiple?: boolean;
351
+ value?: string;
352
+ size?: FxSize;
353
+ }
354
+ export interface FxEmptyStateProps extends FxElementProps {
355
+ icon?: string;
356
+ heading?: string;
357
+ description?: string;
358
+ }
359
+ export interface FxPasswordStrengthProps extends FxElementProps {
360
+ value?: string;
361
+ size?: FxSize;
362
+ }
363
+ export interface FxTimelineProps extends FxElementProps {
364
+ orientation?: FxTimelineOrientation;
365
+ size?: FxSize;
366
+ marker?: string;
367
+ }
368
+ export interface FxCarouselProps extends FxElementProps {
369
+ active?: number;
370
+ 'show-arrows'?: boolean;
371
+ 'show-indicators'?: boolean;
372
+ loop?: boolean;
373
+ autoplay?: number;
374
+ }
375
+ export interface FxTreeProps extends FxElementProps {
376
+ data?: string;
377
+ 'expand-all'?: boolean;
378
+ size?: FxSize;
379
+ }
380
+ export interface FxConfirmPopupProps extends FxElementProps {
381
+ open?: boolean;
382
+ target?: string;
383
+ message?: string;
384
+ icon?: string;
385
+ 'accept-label'?: string;
386
+ 'reject-label'?: string;
387
+ position?: FxPopoverPosition;
388
+ }
389
+ export interface FxKnobProps extends FxElementProps {
390
+ value?: number;
391
+ min?: number;
392
+ max?: number;
393
+ step?: number;
394
+ size?: FxSize;
395
+ 'stroke-width'?: number;
396
+ 'value-color'?: string;
397
+ 'range-color'?: string;
398
+ 'value-template'?: string;
399
+ readonly?: boolean;
400
+ }
401
+ export interface FxAccordionProps extends FxElementProps {
402
+ value?: string;
403
+ multiple?: boolean;
404
+ }
405
+ export interface FxAccordionPanelProps extends FxElementProps {
406
+ value?: string;
407
+ header?: string;
408
+ }
409
+ export interface FxOrderListProps extends FxElementProps {
410
+ data?: string;
411
+ 'data-key'?: string;
412
+ filter?: boolean;
413
+ 'filter-by'?: string;
414
+ 'filter-placeholder'?: string;
415
+ dragdrop?: boolean;
416
+ striped?: boolean;
417
+ 'selection-mode'?: FxSelectionMode;
418
+ 'show-select-all'?: boolean;
419
+ }
420
+ export interface FxPickListProps extends FxElementProps {
421
+ source?: string;
422
+ target?: string;
423
+ 'source-key'?: string;
424
+ 'target-key'?: string;
425
+ filter?: boolean;
426
+ 'filter-by'?: string;
427
+ 'source-label'?: string;
428
+ 'target-label'?: string;
429
+ 'selection-mode'?: FxSelectionMode;
430
+ 'show-select-all'?: boolean;
431
+ striped?: boolean;
432
+ }
433
+ export interface FxJsxIntrinsicElements {
434
+ 'fx-button': FxButtonProps;
435
+ 'fx-badge': FxBadgeProps;
436
+ 'fx-spinner': FxSpinnerProps;
437
+ 'fx-input': FxInputProps;
438
+ 'fx-select': FxSelectProps;
439
+ 'fx-switch': FxSwitchProps;
440
+ 'fx-checkbox': FxCheckboxProps;
441
+ 'fx-radio': FxRadioProps;
442
+ 'fx-textarea': FxTextareaProps;
443
+ 'fx-multiselect': FxMultiselectProps;
444
+ 'fx-calendar': FxCalendarProps;
445
+ 'fx-datepicker': FxDatepickerProps;
446
+ 'fx-table': FxTableProps;
447
+ 'fx-floatlabel': FxFloatlabelProps;
448
+ 'fx-dialog': FxDialogProps;
449
+ 'fx-drawer': FxDrawerProps;
450
+ 'fx-toast': FxToastProps;
451
+ 'fx-tooltip': FxTooltipProps;
452
+ 'fx-tabs': FxTabsProps;
453
+ 'fx-tab-panel': FxTabPanelProps;
454
+ 'fx-progress': FxProgressProps;
455
+ 'fx-skeleton': FxSkeletonProps;
456
+ 'fx-alert': FxAlertProps;
457
+ 'fx-dropdown': FxDropdownProps;
458
+ 'fx-dropdown-item': FxDropdownItemProps;
459
+ 'fx-pagination': FxPaginationProps;
460
+ 'fx-autocomplete': FxAutocompleteProps;
461
+ 'fx-fileupload': FxFileUploadProps;
462
+ 'fx-slider': FxSliderProps;
463
+ 'fx-chip': FxChipProps;
464
+ 'fx-avatar': FxAvatarProps;
465
+ 'fx-icon': FxIconProps;
466
+ 'fx-card': FxCardProps;
467
+ 'fx-breadcrumb': FxBreadcrumbProps;
468
+ 'fx-popover': FxPopoverProps;
469
+ 'fx-stepper': FxStepperProps;
470
+ 'fx-rating': FxRatingProps;
471
+ 'fx-menu': FxMenuProps;
472
+ 'fx-toggle-button-group': FxToggleButtonGroupProps;
473
+ 'fx-empty-state': FxEmptyStateProps;
474
+ 'fx-password-strength': FxPasswordStrengthProps;
475
+ 'fx-timeline': FxTimelineProps;
476
+ 'fx-carousel': FxCarouselProps;
477
+ 'fx-tree': FxTreeProps;
478
+ 'fx-confirmpopup': FxConfirmPopupProps;
479
+ 'fx-knob': FxKnobProps;
480
+ 'fx-accordion': FxAccordionProps;
481
+ 'fx-accordion-panel': FxAccordionPanelProps;
482
+ 'fx-orderlist': FxOrderListProps;
483
+ 'fx-picklist': FxPickListProps;
484
+ }
257
485
  declare global {
258
486
  namespace JSX {
259
- interface IntrinsicElements {
260
- 'fx-button': FxButtonProps;
261
- 'fx-badge': FxBadgeProps;
262
- 'fx-spinner': FxSpinnerProps;
263
- 'fx-input': FxInputProps;
264
- 'fx-select': FxSelectProps;
265
- 'fx-switch': FxSwitchProps;
266
- 'fx-checkbox': FxCheckboxProps;
267
- 'fx-radio': FxRadioProps;
268
- 'fx-textarea': FxTextareaProps;
269
- 'fx-multiselect': FxMultiselectProps;
270
- 'fx-calendar': FxCalendarProps;
271
- 'fx-datepicker': FxDatepickerProps;
272
- 'fx-table': FxTableProps;
273
- 'fx-floatlabel': FxFloatlabelProps;
274
- 'fx-dialog': FxDialogProps;
275
- 'fx-drawer': FxDrawerProps;
276
- 'fx-toast': FxToastProps;
277
- 'fx-tooltip': FxTooltipProps;
278
- 'fx-tabs': FxTabsProps;
279
- 'fx-tab-panel': FxTabPanelProps;
280
- 'fx-progress': FxProgressProps;
281
- 'fx-skeleton': FxSkeletonProps;
282
- 'fx-alert': FxAlertProps;
283
- 'fx-dropdown': FxDropdownProps;
284
- 'fx-dropdown-item': FxDropdownItemProps;
285
- 'fx-pagination': FxPaginationProps;
286
- 'fx-autocomplete': FxAutocompleteProps;
287
- 'fx-fileupload': FxFileUploadProps;
487
+ interface IntrinsicElements extends FxJsxIntrinsicElements {
288
488
  }
289
489
  }
290
490
  }
@@ -303,6 +503,10 @@ declare global {
303
503
  'fx-datepicker': HTMLElement;
304
504
  'fx-table': HTMLElement;
305
505
  'fx-floatlabel': HTMLElement;
506
+ 'fx-accordion': HTMLElement;
507
+ 'fx-accordion-panel': HTMLElement;
508
+ 'fx-orderlist': HTMLElement;
509
+ 'fx-picklist': HTMLElement;
306
510
  }
307
511
  }
308
512
  //# sourceMappingURL=jsx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../src/core/jsx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../src/core/jsx.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.js","sources":["../../src/core/jsx.ts"],"sourcesContent":["/**\n * Tipagens de propriedades + augmentations JSX do FenixUI.\n *\n * Importar este módulo — diretamente (`@wrrdev/fenix-ui/jsx`) ou via o\n * índice principal (`@wrrdev/fenix-ui`) — habilita, no TypeScript:\n *\n * 1. autocomplete + validação de atributos em templates JSX/TSX;\n * 2. tipos nomeados (`FxButtonProps`, `FxInputProps`, …) para wrappers ou código imperativo.\n *\n * A biblioteca NÃO depende de React/Vue: os atributos comuns\n * (`className`, `onClick`, `style`, `children`, …) são aceitos via assinatura\n * de índice, funcionando com qualquer runtime JSX.\n */\n\nimport type { FxElementProps, FxSize } from './types';\n\n/** Marcador de runtime: permite `import '@wrrdev/fenix-ui/jsx'` como side-effect import. */\nexport const FX_JSX_TYPES = true as const;\n\n/* Uniões auxiliares (variants, enums) */\nexport type FxButtonVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'ghost' | 'outline';\nexport type FxBadgeVariant = 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info';\nexport type FxAlertVariant = 'info' | 'success' | 'warning' | 'danger';\nexport type FxProgressVariant = 'primary' | 'success' | 'warning' | 'danger';\nexport type FxSkeletonVariant = 'text' | 'circle' | 'rect';\nexport type FxFloatlabelVariant = 'on' | 'in' | 'over';\nexport type FxInputType = 'text' | 'number' | 'email' | 'password' | 'search' | 'tel' | 'url';\nexport type FxFieldStatus = 'error' | 'invalid' | 'success' | 'valid';\nexport type FxToastKind = 'success' | 'error' | 'info' | 'warning';\nexport type FxToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';\nexport type FxTooltipPosition = 'top' | 'bottom' | 'left' | 'right';\nexport type FxDrawerPosition = 'left' | 'right' | 'top' | 'bottom';\nexport type FxDropdownPosition = 'left' | 'center' | 'right' | 'bottom-left' | 'bottom-right';\nexport type FxPaginationPosition = 'left' | 'center' | 'right';\n\n/* Props por componente */\nexport interface FxButtonProps extends FxElementProps {\n variant?: FxButtonVariant;\n type?: 'button' | 'submit' | 'reset';\n size?: FxSize;\n loading?: boolean;\n full?: boolean;\n icon?: string;\n 'icon-pos'?: 'left' | 'right';\n}\nexport interface FxBadgeProps extends FxElementProps {\n variant?: FxBadgeVariant;\n round?: boolean;\n}\nexport interface FxSpinnerProps extends FxElementProps { size?: FxSize; }\nexport interface FxInputProps extends FxElementProps {\n type?: FxInputType;\n size?: FxSize;\n placeholder?: string;\n readonly?: boolean;\n min?: string | number;\n max?: string | number;\n step?: string | number;\n clearable?: boolean;\n full?: boolean;\n icon?: string;\n 'icon-pos'?: 'left' | 'right';\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxSelectProps extends FxElementProps {\n value?: string;\n size?: FxSize;\n placeholder?: string;\n searchable?: boolean;\n clearable?: boolean;\n 'search-placeholder'?: string;\n 'no-results'?: string;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxSwitchProps extends FxElementProps { checked?: boolean; size?: FxSize; }\nexport interface FxCheckboxProps extends FxElementProps {\n checked?: boolean;\n indeterminate?: boolean;\n value?: string;\n size?: FxSize;\n}\nexport interface FxRadioProps extends FxElementProps {\n checked?: boolean;\n value?: string;\n name?: string;\n size?: FxSize;\n}\nexport interface FxTextareaProps extends FxElementProps {\n value?: string;\n size?: FxSize;\n placeholder?: string;\n readonly?: boolean;\n rows?: number;\n maxlength?: number;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxMultiselectProps extends FxElementProps {\n values?: string;\n size?: FxSize;\n placeholder?: string;\n searchable?: boolean;\n clearable?: boolean;\n open?: boolean;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxCalendarProps extends FxElementProps {\n value?: string;\n start?: string;\n end?: string;\n min?: string;\n max?: string;\n mode?: 'single' | 'range' | 'multiple';\n values?: string;\n locale?: string;\n disabled?: boolean;\n}\nexport interface FxDatepickerProps extends FxElementProps {\n value?: string;\n start?: string;\n end?: string;\n values?: string;\n mode?: 'single' | 'range' | 'multiple';\n min?: string;\n max?: string;\n placeholder?: string;\n size?: FxSize;\n format?: string;\n 'show-time'?: boolean;\n 'free-text'?: boolean;\n clearable?: boolean;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxTableProps extends FxElementProps {\n pagination?: boolean;\n rows?: number;\n 'rows-options'?: string;\n striped?: boolean;\n 'empty-message'?: string;\n 'pagination-position'?: FxPaginationPosition;\n total?: number;\n page?: number;\n}\nexport interface FxFloatlabelProps extends FxElementProps {\n variant?: FxFloatlabelVariant;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n active?: boolean;\n 'error-text'?: string;\n}\nexport interface FxDialogProps extends FxElementProps { open?: boolean; size?: FxSize; heading?: string; }\nexport interface FxDrawerProps extends FxElementProps { open?: boolean; title?: string; position?: FxDrawerPosition; }\nexport interface FxToastProps extends FxElementProps {\n kind?: FxToastKind;\n title?: string;\n message?: string;\n duration?: number;\n position?: FxToastPosition;\n /** Força o esquema de cores do card independentemente do tema global. */\n mode?: 'light' | 'dark';\n}\nexport interface FxTooltipProps extends FxElementProps { content?: string; position?: FxTooltipPosition; }\nexport interface FxTabsProps extends FxElementProps { value?: string; }\nexport interface FxTabPanelProps extends FxElementProps { tab?: string; hidden?: boolean; }\nexport interface FxProgressProps extends FxElementProps {\n value?: number;\n indeterminate?: boolean;\n variant?: FxProgressVariant;\n label?: string;\n 'hide-label'?: boolean;\n size?: FxSize;\n}\nexport interface FxSkeletonProps extends FxElementProps {\n variant?: FxSkeletonVariant;\n width?: string;\n height?: string;\n lines?: number;\n}\nexport interface FxAlertProps extends FxElementProps { variant?: FxAlertVariant; title?: string; dismissible?: boolean; }\nexport interface FxDropdownProps extends FxElementProps { label?: string; position?: FxDropdownPosition; open?: boolean; }\nexport interface FxDropdownItemProps extends FxElementProps { value?: string; }\nexport interface FxPaginationProps extends FxElementProps {\n page?: number;\n total?: number;\n rows?: number;\n 'rows-options'?: string;\n position?: FxPaginationPosition;\n}\nexport interface FxAutocompleteProps extends FxElementProps {\n value?: string;\n size?: FxSize;\n placeholder?: string;\n source?: string;\n disabled?: boolean;\n 'min-chars'?: number;\n full?: boolean;\n}\nexport interface FxFileUploadProps extends FxElementProps {\n mode?: 'basic' | 'advanced';\n size?: FxSize;\n severity?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';\n label?: string;\n icon?: string;\n accept?: string;\n multiple?: boolean;\n disabled?: boolean;\n 'show-progress'?: boolean;\n progress?: number;\n full?: boolean;\n}\n/* Augmentation global de JSX (React/TSX, Preact, Vue JSX, …).\n Cada tag fx-* recebe autocomplete + validação de atributos. */\ndeclare global {\n namespace JSX {\n interface IntrinsicElements {\n 'fx-button': FxButtonProps;\n 'fx-badge': FxBadgeProps;\n 'fx-spinner': FxSpinnerProps;\n 'fx-input': FxInputProps;\n 'fx-select': FxSelectProps;\n 'fx-switch': FxSwitchProps;\n 'fx-checkbox': FxCheckboxProps;\n 'fx-radio': FxRadioProps;\n 'fx-textarea': FxTextareaProps;\n 'fx-multiselect': FxMultiselectProps;\n 'fx-calendar': FxCalendarProps;\n 'fx-datepicker': FxDatepickerProps;\n 'fx-table': FxTableProps;\n 'fx-floatlabel': FxFloatlabelProps;\n 'fx-dialog': FxDialogProps;\n 'fx-drawer': FxDrawerProps;\n 'fx-toast': FxToastProps;\n 'fx-tooltip': FxTooltipProps;\n 'fx-tabs': FxTabsProps;\n 'fx-tab-panel': FxTabPanelProps;\n 'fx-progress': FxProgressProps;\n 'fx-skeleton': FxSkeletonProps;\n 'fx-alert': FxAlertProps;\n 'fx-dropdown': FxDropdownProps;\n 'fx-dropdown-item': FxDropdownItemProps;\n 'fx-pagination': FxPaginationProps;\n 'fx-autocomplete': FxAutocompleteProps;\n 'fx-fileupload': FxFileUploadProps;\n }\n }\n}\n\n/* Tipagem imperativa: document.createElement('fx-...').\n As tags abaixo não declaradas nos próprios componentes ganham tipagem aqui;\n as demais (alert, dialog, drawer, dropdown, pagination, progress, skeleton,\n tabs, textarea, toast, tooltip, autocomplete) já são tipadas com a classe\n concreta nos respectivos index.ts. */\ndeclare global {\n interface HTMLElementTagNameMap {\n 'fx-button': HTMLElement;\n 'fx-badge': HTMLElement;\n 'fx-spinner': HTMLElement;\n 'fx-input': HTMLElement;\n 'fx-select': HTMLElement;\n 'fx-switch': HTMLElement;\n 'fx-checkbox': HTMLElement;\n 'fx-radio': HTMLElement;\n 'fx-multiselect': HTMLElement;\n 'fx-calendar': HTMLElement;\n 'fx-datepicker': HTMLElement;\n 'fx-table': HTMLElement;\n 'fx-floatlabel': HTMLElement;\n }\n}\n"],"names":[],"mappings":"AAiBO,MAAM,eAAe;"}
1
+ {"version":3,"file":"jsx.js","sources":["../../src/core/jsx.ts"],"sourcesContent":["/**\n * Tipagens de propriedades + augmentations JSX do FenixUI.\n *\n * Importar este módulo — diretamente (`@wrrdev/fenix-ui/jsx`) ou via o\n * índice principal (`@wrrdev/fenix-ui`) — habilita, no TypeScript:\n *\n * 1. autocomplete + validação de atributos em templates JSX/TSX;\n * 2. tipos nomeados (`FxButtonProps`, `FxInputProps`, …) para wrappers ou código imperativo.\n *\n * A biblioteca NÃO depende de React/Vue: os atributos comuns\n * (`className`, `onClick`, `style`, `children`, …) são aceitos via assinatura\n * de índice, funcionando com qualquer runtime JSX.\n */\n\nimport type { FxElementProps, FxSize } from './types';\nimport type { FenixIconName } from '../icons/types';\n\n/** Marcador de runtime: permite `import '@wrrdev/fenix-ui/jsx'` como side-effect import. */\nexport const FX_JSX_TYPES = true as const;\n\n/* Uniões auxiliares (variants, enums) */\nexport type FxButtonVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'ghost' | 'outline';\nexport type FxBadgeVariant = 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info';\nexport type FxAlertVariant = 'info' | 'success' | 'warning' | 'danger';\nexport type FxProgressVariant = 'primary' | 'success' | 'warning' | 'danger';\nexport type FxSkeletonVariant = 'text' | 'circle' | 'rect';\nexport type FxFloatlabelVariant = 'on' | 'in' | 'over';\nexport type FxInputType = 'text' | 'number' | 'email' | 'password' | 'search' | 'tel' | 'url';\nexport type FxFieldStatus = 'error' | 'invalid' | 'success' | 'valid';\nexport type FxToastKind = 'success' | 'error' | 'info' | 'warning';\nexport type FxToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';\nexport type FxTooltipPosition = 'top' | 'bottom' | 'left' | 'right';\nexport type FxDrawerPosition = 'left' | 'right' | 'top' | 'bottom';\nexport type FxDropdownPosition = 'left' | 'center' | 'right' | 'bottom-left' | 'bottom-right';\nexport type FxPaginationPosition = 'left' | 'center' | 'right';\nexport type FxChipVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';\nexport type FxAvatarVariant = 'image' | 'text' | 'icon';\nexport type FxAvatarShape = 'circle' | 'rounded' | 'square';\nexport type FxCardVariant = 'elevated' | 'flat' | 'outline' | 'ghost';\n/** Arredondamento do container do card. */\nexport type FxCardRadius = 'sm' | 'md' | 'lg';\nexport type FxPopoverTrigger = 'click' | 'hover';\nexport type FxPopoverPosition = 'auto' | 'top' | 'bottom';\nexport type FxMenuOrientation = 'horizontal' | 'vertical';\nexport type FxTimelineOrientation = 'vertical' | 'horizontal';\nexport type FxSelectionMode = 'single' | 'multiple';\n\n/* Props por componente */\nexport interface FxButtonProps extends FxElementProps {\n variant?: FxButtonVariant;\n type?: 'button' | 'submit' | 'reset';\n size?: FxSize;\n loading?: boolean;\n full?: boolean;\n icon?: string;\n 'icon-pos'?: 'left' | 'right';\n}\nexport interface FxBadgeProps extends FxElementProps {\n variant?: FxBadgeVariant;\n round?: boolean;\n}\nexport interface FxSpinnerProps extends FxElementProps { size?: FxSize; }\nexport interface FxInputProps extends FxElementProps {\n type?: FxInputType;\n size?: FxSize;\n placeholder?: string;\n readonly?: boolean;\n min?: string | number;\n max?: string | number;\n step?: string | number;\n clearable?: boolean;\n full?: boolean;\n icon?: string;\n 'icon-pos'?: 'left' | 'right';\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxSelectProps extends FxElementProps {\n value?: string;\n size?: FxSize;\n placeholder?: string;\n searchable?: boolean;\n clearable?: boolean;\n 'search-placeholder'?: string;\n 'no-results'?: string;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxSwitchProps extends FxElementProps { checked?: boolean; size?: FxSize; }\nexport interface FxCheckboxProps extends FxElementProps {\n checked?: boolean;\n indeterminate?: boolean;\n value?: string;\n size?: FxSize;\n}\nexport interface FxRadioProps extends FxElementProps {\n checked?: boolean;\n value?: string;\n name?: string;\n size?: FxSize;\n}\nexport interface FxTextareaProps extends FxElementProps {\n value?: string;\n size?: FxSize;\n placeholder?: string;\n readonly?: boolean;\n rows?: number;\n maxlength?: number;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxMultiselectProps extends FxElementProps {\n values?: string;\n size?: FxSize;\n placeholder?: string;\n searchable?: boolean;\n clearable?: boolean;\n open?: boolean;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxCalendarProps extends FxElementProps {\n value?: string;\n start?: string;\n end?: string;\n min?: string;\n max?: string;\n mode?: 'single' | 'range' | 'multiple';\n values?: string;\n locale?: string;\n disabled?: boolean;\n}\nexport interface FxDatepickerProps extends FxElementProps {\n value?: string;\n start?: string;\n end?: string;\n values?: string;\n mode?: 'single' | 'range' | 'multiple';\n min?: string;\n max?: string;\n placeholder?: string;\n size?: FxSize;\n format?: string;\n 'show-time'?: boolean;\n 'free-text'?: boolean;\n clearable?: boolean;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n}\nexport interface FxTableProps extends FxElementProps {\n pagination?: boolean;\n rows?: number;\n 'rows-options'?: string;\n striped?: boolean;\n 'empty-message'?: string;\n 'pagination-position'?: FxPaginationPosition;\n total?: number;\n page?: number;\n}\nexport interface FxFloatlabelProps extends FxElementProps {\n variant?: FxFloatlabelVariant;\n full?: boolean;\n error?: boolean;\n invalid?: boolean;\n success?: boolean;\n valid?: boolean;\n active?: boolean;\n 'error-text'?: string;\n}\nexport interface FxDialogProps extends FxElementProps { open?: boolean; size?: FxSize; heading?: string; }\nexport interface FxDrawerProps extends FxElementProps { open?: boolean; title?: string; position?: FxDrawerPosition; }\nexport interface FxToastProps extends FxElementProps {\n kind?: FxToastKind;\n title?: string;\n message?: string;\n duration?: number;\n position?: FxToastPosition;\n /** Força o esquema de cores do card independentemente do tema global. */\n mode?: 'light' | 'dark';\n}\nexport interface FxTooltipProps extends FxElementProps { content?: string; position?: FxTooltipPosition; }\nexport interface FxTabsProps extends FxElementProps { value?: string; }\nexport interface FxTabPanelProps extends FxElementProps { tab?: string; hidden?: boolean; }\nexport interface FxProgressProps extends FxElementProps {\n value?: number;\n indeterminate?: boolean;\n variant?: FxProgressVariant;\n label?: string;\n 'hide-label'?: boolean;\n size?: FxSize;\n}\nexport interface FxSkeletonProps extends FxElementProps {\n variant?: FxSkeletonVariant;\n width?: string;\n height?: string;\n lines?: number;\n}\nexport interface FxAlertProps extends FxElementProps { variant?: FxAlertVariant; title?: string; dismissible?: boolean; }\nexport interface FxDropdownProps extends FxElementProps { label?: string; position?: FxDropdownPosition; open?: boolean; }\nexport interface FxDropdownItemProps extends FxElementProps { value?: string; }\nexport interface FxPaginationProps extends FxElementProps {\n page?: number;\n total?: number;\n rows?: number;\n 'rows-options'?: string;\n position?: FxPaginationPosition;\n}\nexport interface FxAutocompleteProps extends FxElementProps {\n value?: string;\n size?: FxSize;\n placeholder?: string;\n source?: string;\n disabled?: boolean;\n 'min-chars'?: number;\n full?: boolean;\n}\nexport interface FxFileUploadProps extends FxElementProps {\n mode?: 'basic' | 'advanced';\n size?: FxSize;\n severity?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info';\n label?: string;\n icon?: string;\n accept?: string;\n multiple?: boolean;\n disabled?: boolean;\n 'show-progress'?: boolean;\n progress?: number;\n full?: boolean;\n}\n\n/* Props dos componentes de layout/dados/navegação/feedback */\nexport interface FxSliderProps extends FxElementProps {\n value?: number;\n min?: number;\n max?: number;\n step?: number;\n size?: FxSize;\n 'show-value'?: boolean;\n}\nexport interface FxStepperProps extends FxElementProps {\n active?: number;\n linear?: boolean;\n 'show-numbers'?: boolean;\n}\nexport interface FxChipProps extends FxElementProps {\n variant?: FxChipVariant;\n size?: FxSize;\n icon?: string;\n removable?: boolean;\n selectable?: boolean;\n selected?: boolean;\n}\nexport interface FxAvatarProps extends FxElementProps {\n variant?: FxAvatarVariant;\n src?: string;\n alt?: string;\n size?: FxSize;\n shape?: FxAvatarShape;\n}\n/**\n * <fx-icon> — glifo da Fenix Icons com autocomplete no editor.\n *\n * `name` é uma união literal com TODOS os nomes da fonte (+4.000): o editor\n * (Volar/vue-tsc, React/TSX) sugere os válidos ao digitar. A tipagem aceita\n * qualquer string (escotilha `(string & {})`), então nomes montados por\n * variável/dynamic imports continuam compilando sem erro.\n */\nexport interface FxIconProps extends FxElementProps {\n /** Nome do glifo (ex.: `home`). Texto livre/emoji também é aceito. */\n name?: FenixIconName;\n /** Tamanho do glifo. Sem atributo, herda o tamanho do texto (1em). */\n size?: 'sm' | 'md' | 'lg' | 'xl';\n /** Nome acessível; sem label o ícone é aria-hidden (decorativo). */\n label?: string;\n /** Variante preenchida. */\n fill?: boolean;\n /** Traço mais pesado. */\n bold?: boolean;\n}\nexport interface FxCardProps extends FxElementProps {\n variant?: FxCardVariant;\n /** Arredondamento do container (radius sm/md/lg). */\n radius?: FxCardRadius;\n /** @deprecated use `radius`. */\n size?: FxSize;\n padded?: boolean;\n heading?: string;\n}\nexport interface FxBreadcrumbProps extends FxElementProps {\n size?: FxSize;\n separator?: string;\n}\nexport interface FxPopoverProps extends FxElementProps {\n open?: boolean;\n target?: string;\n trigger?: FxPopoverTrigger;\n position?: FxPopoverPosition;\n dismissible?: boolean;\n}\nexport interface FxRatingProps extends FxElementProps {\n value?: number;\n max?: number;\n readonly?: boolean;\n 'allow-half'?: boolean;\n size?: FxSize;\n}\nexport interface FxMenuProps extends FxElementProps {\n orientation?: FxMenuOrientation;\n size?: FxSize;\n titles?: string;\n}\nexport interface FxToggleButtonGroupProps extends FxElementProps {\n multiple?: boolean;\n value?: string;\n size?: FxSize;\n}\nexport interface FxEmptyStateProps extends FxElementProps {\n icon?: string;\n heading?: string;\n description?: string;\n}\nexport interface FxPasswordStrengthProps extends FxElementProps {\n value?: string;\n size?: FxSize;\n}\nexport interface FxTimelineProps extends FxElementProps {\n orientation?: FxTimelineOrientation;\n size?: FxSize;\n marker?: string;\n}\nexport interface FxCarouselProps extends FxElementProps {\n active?: number;\n 'show-arrows'?: boolean;\n 'show-indicators'?: boolean;\n loop?: boolean;\n autoplay?: number;\n}\nexport interface FxTreeProps extends FxElementProps {\n data?: string;\n 'expand-all'?: boolean;\n size?: FxSize;\n}\nexport interface FxConfirmPopupProps extends FxElementProps {\n open?: boolean;\n target?: string;\n message?: string;\n icon?: string;\n 'accept-label'?: string;\n 'reject-label'?: string;\n position?: FxPopoverPosition;\n}\nexport interface FxKnobProps extends FxElementProps {\n value?: number;\n min?: number;\n max?: number;\n step?: number;\n size?: FxSize;\n 'stroke-width'?: number;\n 'value-color'?: string;\n 'range-color'?: string;\n 'value-template'?: string;\n readonly?: boolean;\n}\nexport interface FxAccordionProps extends FxElementProps {\n value?: string;\n multiple?: boolean;\n}\nexport interface FxAccordionPanelProps extends FxElementProps {\n value?: string;\n header?: string;\n}\nexport interface FxOrderListProps extends FxElementProps {\n data?: string;\n 'data-key'?: string;\n filter?: boolean;\n 'filter-by'?: string;\n 'filter-placeholder'?: string;\n dragdrop?: boolean;\n striped?: boolean;\n 'selection-mode'?: FxSelectionMode;\n 'show-select-all'?: boolean;\n}\nexport interface FxPickListProps extends FxElementProps {\n source?: string;\n target?: string;\n 'source-key'?: string;\n 'target-key'?: string;\n filter?: boolean;\n 'filter-by'?: string;\n 'source-label'?: string;\n 'target-label'?: string;\n 'selection-mode'?: FxSelectionMode;\n 'show-select-all'?: boolean;\n striped?: boolean;\n}\n/* Augmentation global de JSX (React clássico/TSX, Preact, Vue JSX, …).\n Cada tag fx-* recebe autocomplete + validação de atributos.\n A interface é exportada para que o módulo opt-in `@wrrdev/fenix-ui/react`\n também registre as tags em React.JSX (usado quando \"jsx\": \"react-jsx\"). */\nexport interface FxJsxIntrinsicElements {\n 'fx-button': FxButtonProps;\n 'fx-badge': FxBadgeProps;\n 'fx-spinner': FxSpinnerProps;\n 'fx-input': FxInputProps;\n 'fx-select': FxSelectProps;\n 'fx-switch': FxSwitchProps;\n 'fx-checkbox': FxCheckboxProps;\n 'fx-radio': FxRadioProps;\n 'fx-textarea': FxTextareaProps;\n 'fx-multiselect': FxMultiselectProps;\n 'fx-calendar': FxCalendarProps;\n 'fx-datepicker': FxDatepickerProps;\n 'fx-table': FxTableProps;\n 'fx-floatlabel': FxFloatlabelProps;\n 'fx-dialog': FxDialogProps;\n 'fx-drawer': FxDrawerProps;\n 'fx-toast': FxToastProps;\n 'fx-tooltip': FxTooltipProps;\n 'fx-tabs': FxTabsProps;\n 'fx-tab-panel': FxTabPanelProps;\n 'fx-progress': FxProgressProps;\n 'fx-skeleton': FxSkeletonProps;\n 'fx-alert': FxAlertProps;\n 'fx-dropdown': FxDropdownProps;\n 'fx-dropdown-item': FxDropdownItemProps;\n 'fx-pagination': FxPaginationProps;\n 'fx-autocomplete': FxAutocompleteProps;\n 'fx-fileupload': FxFileUploadProps;\n 'fx-slider': FxSliderProps;\n 'fx-chip': FxChipProps;\n 'fx-avatar': FxAvatarProps;\n 'fx-icon': FxIconProps;\n 'fx-card': FxCardProps;\n 'fx-breadcrumb': FxBreadcrumbProps;\n 'fx-popover': FxPopoverProps;\n 'fx-stepper': FxStepperProps;\n 'fx-rating': FxRatingProps;\n 'fx-menu': FxMenuProps;\n 'fx-toggle-button-group': FxToggleButtonGroupProps;\n 'fx-empty-state': FxEmptyStateProps;\n 'fx-password-strength': FxPasswordStrengthProps;\n 'fx-timeline': FxTimelineProps;\n 'fx-carousel': FxCarouselProps;\n 'fx-tree': FxTreeProps;\n 'fx-confirmpopup': FxConfirmPopupProps;\n 'fx-knob': FxKnobProps;\n 'fx-accordion': FxAccordionProps;\n 'fx-accordion-panel': FxAccordionPanelProps;\n 'fx-orderlist': FxOrderListProps;\n 'fx-picklist': FxPickListProps;\n}\ndeclare global {\n namespace JSX {\n interface IntrinsicElements extends FxJsxIntrinsicElements {}\n }\n}\n\n/* Tipagem imperativa: document.createElement('fx-...').\n As tags abaixo não declaradas nos próprios componentes ganham tipagem aqui;\n as demais (alert, dialog, drawer, dropdown, pagination, progress, skeleton,\n tabs, textarea, toast, tooltip, autocomplete) já são tipadas com a classe\n concreta nos respectivos index.ts. */\ndeclare global {\n interface HTMLElementTagNameMap {\n 'fx-button': HTMLElement;\n 'fx-badge': HTMLElement;\n 'fx-spinner': HTMLElement;\n 'fx-input': HTMLElement;\n 'fx-select': HTMLElement;\n 'fx-switch': HTMLElement;\n 'fx-checkbox': HTMLElement;\n 'fx-radio': HTMLElement;\n 'fx-multiselect': HTMLElement;\n 'fx-calendar': HTMLElement;\n 'fx-datepicker': HTMLElement;\n 'fx-table': HTMLElement;\n 'fx-floatlabel': HTMLElement;\n 'fx-accordion': HTMLElement;\n 'fx-accordion-panel': HTMLElement;\n 'fx-orderlist': HTMLElement;\n 'fx-picklist': HTMLElement;\n }\n}\n"],"names":[],"mappings":"AAkBO,MAAM,eAAe;"}
@@ -8,7 +8,7 @@ const themePresets = {
8
8
  fenix: register({
9
9
  name: "fenix",
10
10
  label: "Fenix (padrão)",
11
- tokens: {}
11
+ tokens: { effect: { "focus-ring": "none" } }
12
12
  }),
13
13
  seiya: register({
14
14
  name: "seiya",
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sources":["../../src/core/presets.ts"],"sourcesContent":["/**\n * Presets de tema prontos para uso.\n *\n * Cada preset é um override parcial profundo sobre os tokens base.\n * Combina com o modo claro/escuro: `applyPreset('seiya', 'dark')`.\n */\n\nimport { configure } from './theme';\nimport { type DeepPartial, type FenixTokens } from './tokens';\n\nexport interface FenixPreset {\n /** Identificador usado em `applyPreset(name)`. */\n name: string;\n /** Rótulo amigável para UIs (documentação/seletor). */\n label: string;\n /** Override parcial de tokens aplicado sobre o tema base. */\n tokens: DeepPartial<FenixTokens>;\n}\n\nconst registry = new Map<string, FenixPreset>();\n\nfunction register(preset: FenixPreset): FenixPreset {\n registry.set(preset.name, preset);\n return preset;\n}\n\n/* ------------------------------------------------------------------ */\n/* Cavaleiros do Zodíaco ✨ */\n/* ------------------------------------------------------------------ */\n\nexport const themePresets = {\n\tfenix: register({\n\t\tname: \"fenix\",\n\t\tlabel: \"Fenix (padrão)\",\n\t\ttokens: {},\n\t}),\n\tseiya: register({\n\t\tname: \"seiya\",\n\t\tlabel: \"Seiya\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#e11d48\",\n\t\t\t\tsecondary: \"#fb7185\",\n\t\t\t\tinfo: \"#f43f5e\",\n\t\t\t\tdanger: \"#be123c\",\n\t\t\t},\n\t\t\tradius: { sm: \"6px\", md: \"10px\", lg: \"16px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n\tshiryu: register({\n\t\tname: \"shiryu\",\n\t\tlabel: \"Shiryu\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#0d9488\",\n\t\t\t\tsecondary: \"#2dd4bf\",\n\t\t\t\tsuccess: \"#059669\",\n\t\t\t\tinfo: \"#14b8a6\",\n\t\t\t},\n\t\t\tradius: { sm: \"4px\", md: \"8px\", lg: \"14px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n\thyoga: register({\n\t\tname: \"hyoga\",\n\t\tlabel: \"Hyoga\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#0284c7\",\n\t\t\t\tsecondary: \"#38bdf8\",\n\t\t\t\tinfo: \"#06b6d4\",\n\t\t\t\tdanger: \"#e11d48\",\n\t\t\t},\n\t\t\tsurface: { surface: \"#f0f9ff\", \"surface-hover\": \"#e0f2fe\" },\n\t\t\tradius: { sm: \"8px\", md: \"12px\", lg: \"18px\" },\n\t\t},\n\t}),\n\tshun: register({\n\t\tname: \"shun\",\n\t\tlabel: \"Shun\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#db2777\",\n\t\t\t\tsecondary: \"#f472b6\",\n\t\t\t\tinfo: \"#ec4899\",\n\t\t\t\twarning: \"#c026d3\",\n\t\t\t},\n\t\t\tradius: { sm: \"10px\", md: \"14px\", lg: \"20px\" },\n\t\t},\n\t}),\n\tikki: register({\n\t\tname: \"ikki\",\n\t\tlabel: \"Ikki\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#ea580c\",\n\t\t\t\tsecondary: \"#fb923c\",\n\t\t\t\tdanger: \"#dc2626\",\n\t\t\t\twarning: \"#f59e0b\",\n\t\t\t},\n\t\t\tradius: { sm: \"2px\", md: \"4px\", lg: \"6px\" },\n\t\t},\n\t}),\n\taiolia: register({\n\t\tname: \"aiolia\",\n\t\tlabel: \"Aiolia\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#b45309\",\n\t\t\t\tsecondary: \"#f59e0b\",\n\t\t\t\twarning: \"#eab308\",\n\t\t\t\tinfo: \"#84cc16\",\n\t\t\t},\n\t\t\tradius: { sm: \"6px\", md: \"12px\", lg: \"20px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n} as const;\n\n/** Lista todos os presets registrados (inclui os customizados). */\nexport function listPresets(): FenixPreset[] {\n return [...registry.values()];\n}\n\n/**\n * Registra um preset personalizado, tornando-o disponível em `applyPreset`.\n * Útil para o usuário criar seu próprio tema e reutilizá-lo na aplicação.\n */\nexport function defineCustomPreset(\n name: string,\n label: string,\n tokens: DeepPartial<FenixTokens>,\n): FenixPreset {\n return register({ name, label, tokens });\n}\n\n/**\n * Aplica um preset + modo de cor em runtime.\n * @returns o estado ativo ({ theme }) repassado por `configure`.\n */\nexport function applyPreset(\n presetName: string,\n mode: 'light' | 'dark' = 'light',\n): { theme: 'light' | 'dark'; preset: string } {\n const preset = registry.get(presetName) ?? registry.get('fenix')!;\n const state = configure({ theme: mode, tokens: preset.tokens });\n return { ...state, preset: preset.name };\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presets.js","sources":["../../src/core/presets.ts"],"sourcesContent":["/**\n * Presets de tema prontos para uso.\n *\n * Cada preset é um override parcial profundo sobre os tokens base.\n * Combina com o modo claro/escuro: `applyPreset('seiya', 'dark')`.\n */\n\nimport { configure } from './theme';\nimport { type DeepPartial, type FenixTokens } from './tokens';\n\nexport interface FenixPreset {\n /** Identificador usado em `applyPreset(name)`. */\n name: string;\n /** Rótulo amigável para UIs (documentação/seletor). */\n label: string;\n /** Override parcial de tokens aplicado sobre o tema base. */\n tokens: DeepPartial<FenixTokens>;\n}\n\nconst registry = new Map<string, FenixPreset>();\n\nfunction register(preset: FenixPreset): FenixPreset {\n registry.set(preset.name, preset);\n return preset;\n}\n\n/* ------------------------------------------------------------------ */\n/* Cavaleiros do Zodíaco ✨ */\n/* ------------------------------------------------------------------ */\n\nexport const themePresets = {\n\tfenix: register({\n\t\tname: \"fenix\",\n\t\tlabel: \"Fenix (padrão)\",\n\t\ttokens: { effect: { \"focus-ring\": \"none\" } },\n\t}),\n\tseiya: register({\n\t\tname: \"seiya\",\n\t\tlabel: \"Seiya\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#e11d48\",\n\t\t\t\tsecondary: \"#fb7185\",\n\t\t\t\tinfo: \"#f43f5e\",\n\t\t\t\tdanger: \"#be123c\",\n\t\t\t},\n\t\t\tradius: { sm: \"6px\", md: \"10px\", lg: \"16px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n\tshiryu: register({\n\t\tname: \"shiryu\",\n\t\tlabel: \"Shiryu\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#0d9488\",\n\t\t\t\tsecondary: \"#2dd4bf\",\n\t\t\t\tsuccess: \"#059669\",\n\t\t\t\tinfo: \"#14b8a6\",\n\t\t\t},\n\t\t\tradius: { sm: \"4px\", md: \"8px\", lg: \"14px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n\thyoga: register({\n\t\tname: \"hyoga\",\n\t\tlabel: \"Hyoga\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#0284c7\",\n\t\t\t\tsecondary: \"#38bdf8\",\n\t\t\t\tinfo: \"#06b6d4\",\n\t\t\t\tdanger: \"#e11d48\",\n\t\t\t},\n\t\t\tsurface: { surface: \"#f0f9ff\", \"surface-hover\": \"#e0f2fe\" },\n\t\t\tradius: { sm: \"8px\", md: \"12px\", lg: \"18px\" },\n\t\t},\n\t}),\n\tshun: register({\n\t\tname: \"shun\",\n\t\tlabel: \"Shun\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#db2777\",\n\t\t\t\tsecondary: \"#f472b6\",\n\t\t\t\tinfo: \"#ec4899\",\n\t\t\t\twarning: \"#c026d3\",\n\t\t\t},\n\t\t\tradius: { sm: \"10px\", md: \"14px\", lg: \"20px\" },\n\t\t},\n\t}),\n\tikki: register({\n\t\tname: \"ikki\",\n\t\tlabel: \"Ikki\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#ea580c\",\n\t\t\t\tsecondary: \"#fb923c\",\n\t\t\t\tdanger: \"#dc2626\",\n\t\t\t\twarning: \"#f59e0b\",\n\t\t\t},\n\t\t\tradius: { sm: \"2px\", md: \"4px\", lg: \"6px\" },\n\t\t},\n\t}),\n\taiolia: register({\n\t\tname: \"aiolia\",\n\t\tlabel: \"Aiolia\",\n\t\ttokens: {\n\t\t\tcolor: {\n\t\t\t\tprimary: \"#b45309\",\n\t\t\t\tsecondary: \"#f59e0b\",\n\t\t\t\twarning: \"#eab308\",\n\t\t\t\tinfo: \"#84cc16\",\n\t\t\t},\n\t\t\tradius: { sm: \"6px\", md: \"12px\", lg: \"20px\" },\n\t\t\teffect: {\n\t\t\t\t\"focus-ring\": \"none\",\n\t\t\t},\n\t\t},\n\t}),\n} as const;\n\n/** Lista todos os presets registrados (inclui os customizados). */\nexport function listPresets(): FenixPreset[] {\n return [...registry.values()];\n}\n\n/**\n * Registra um preset personalizado, tornando-o disponível em `applyPreset`.\n * Útil para o usuário criar seu próprio tema e reutilizá-lo na aplicação.\n */\nexport function defineCustomPreset(\n name: string,\n label: string,\n tokens: DeepPartial<FenixTokens>,\n): FenixPreset {\n return register({ name, label, tokens });\n}\n\n/**\n * Aplica um preset + modo de cor em runtime.\n * @returns o estado ativo ({ theme }) repassado por `configure`.\n */\nexport function applyPreset(\n presetName: string,\n mode: 'light' | 'dark' = 'light',\n): { theme: 'light' | 'dark'; preset: string } {\n const preset = registry.get(presetName) ?? registry.get('fenix')!;\n const state = configure({ theme: mode, tokens: preset.tokens });\n return { ...state, preset: preset.name };\n}"],"names":[],"mappings":";AAmBA,MAAM,+BAAe,IAAA;AAErB,SAAS,SAAS,QAAkC;AAClD,WAAS,IAAI,OAAO,MAAM,MAAM;AAChC,SAAO;AACT;AAMO,MAAM,eAAe;AAAA,EAC3B,OAAO,SAAS;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ,EAAE,QAAQ,EAAE,cAAc,SAAO;AAAA,EAAE,CAC3C;AAAA,EACD,OAAO,SAAS;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,MAAA;AAAA,MAET,QAAQ,EAAE,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAA;AAAA,MACrC,QAAQ;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,IACf;AAAA,EACD,CACA;AAAA,EACD,QAAQ,SAAS;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAAA,MAEP,QAAQ,EAAE,IAAI,OAAO,IAAI,OAAO,IAAI,OAAA;AAAA,MACpC,QAAQ;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,IACf;AAAA,EACD,CACA;AAAA,EACD,OAAO,SAAS;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,MAAM;AAAA,QACN,QAAQ;AAAA,MAAA;AAAA,MAET,SAAS,EAAE,SAAS,WAAW,iBAAiB,UAAA;AAAA,MAChD,QAAQ,EAAE,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAA;AAAA,IAAO;AAAA,EAC7C,CACA;AAAA,EACD,MAAM,SAAS;AAAA,IACd,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEV,QAAQ,EAAE,IAAI,QAAQ,IAAI,QAAQ,IAAI,OAAA;AAAA,IAAO;AAAA,EAC9C,CACA;AAAA,EACD,MAAM,SAAS;AAAA,IACd,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,MAAA;AAAA,MAEV,QAAQ,EAAE,IAAI,OAAO,IAAI,OAAO,IAAI,MAAA;AAAA,IAAM;AAAA,EAC3C,CACA;AAAA,EACD,QAAQ,SAAS;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,MACP,OAAO;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,MAAA;AAAA,MAEP,QAAQ,EAAE,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAA;AAAA,MACrC,QAAQ;AAAA,QACP,cAAc;AAAA,MAAA;AAAA,IACf;AAAA,EACD,CACA;AACF;AAGO,SAAS,cAA6B;AAC3C,SAAO,CAAC,GAAG,SAAS,QAAQ;AAC9B;AAMO,SAAS,mBACd,MACA,OACA,QACa;AACb,SAAO,SAAS,EAAE,MAAM,OAAO,QAAQ;AACzC;AAMO,SAAS,YACd,YACA,OAAyB,SACoB;AAC7C,QAAM,SAAS,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO;AAC/D,QAAM,QAAQ,UAAU,EAAE,OAAO,MAAM,QAAQ,OAAO,QAAQ;AAC9D,SAAO,EAAE,GAAG,OAAO,QAAQ,OAAO,KAAA;AACpC;"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Tipagens de componentes <fx-*> para React com o runtime JSX moderno
3
+ * (`"jsx": "react-jsx"` no tsconfig), cujo namespace `React.JSX` NÃO herda
4
+ * a augmentação global de `JSX` feita em `@wrrdev/fenix-ui/jsx`.
5
+ *
6
+ * Módulo OPT-IN: importe `@wrrdev/fenix-ui/react` uma única vez (ex.: no
7
+ * `main.tsx`) para habilitar autocomplete + validação das tags fx-* em TSX.
8
+ * Requer os tipos do React (`@types/react`) no projeto consumidor.
9
+ */
10
+ import type { FxJsxIntrinsicElements } from './jsx';
11
+ export declare const FX_REACT_TYPES: true;
12
+ declare module 'react' {
13
+ namespace JSX {
14
+ interface IntrinsicElements extends FxJsxIntrinsicElements {
15
+ }
16
+ }
17
+ }
18
+ /** Reexporta os tipos nomeados de props para consumidores React. */
19
+ export type * from './jsx';
20
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/core/react.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAEpD,eAAO,MAAM,cAAc,EAAG,IAAa,CAAC;AAE5C,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAkB,SAAQ,sBAAsB;SAAG;KAC9D;CACF;AAED,oEAAoE;AACpE,mBAAmB,OAAO,CAAC"}
@@ -0,0 +1,5 @@
1
+ const FX_REACT_TYPES = true;
2
+ export {
3
+ FX_REACT_TYPES
4
+ };
5
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sources":["../../src/core/react.ts"],"sourcesContent":["/**\n * Tipagens de componentes <fx-*> para React com o runtime JSX moderno\n * (`\"jsx\": \"react-jsx\"` no tsconfig), cujo namespace `React.JSX` NÃO herda\n * a augmentação global de `JSX` feita em `@wrrdev/fenix-ui/jsx`.\n *\n * Módulo OPT-IN: importe `@wrrdev/fenix-ui/react` uma única vez (ex.: no\n * `main.tsx`) para habilitar autocomplete + validação das tags fx-* em TSX.\n * Requer os tipos do React (`@types/react`) no projeto consumidor.\n */\nimport type { FxJsxIntrinsicElements } from './jsx';\n\nexport const FX_REACT_TYPES = true as const;\n\ndeclare module 'react' {\n namespace JSX {\n interface IntrinsicElements extends FxJsxIntrinsicElements {}\n }\n}\n\n/** Reexporta os tipos nomeados de props para consumidores React. */\nexport type * from './jsx';\n"],"names":[],"mappings":"AAWO,MAAM,iBAAiB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA6B,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAGzF,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AASzC,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAYxE;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxE;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CACzB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,EAC1C,MAAM,GAAE,WAAsC,GAC7C,IAAI,CAUN;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACnC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CACvB,OAAO,GAAE,gBAAqB,EAC9B,MAAM,GAAE,WAAsC,GAC7C;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAKtB;AAED,iDAAiD;AACjD,wBAAgB,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAE3D;AAED,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAEhF;AAED,gDAAgD;AAChD,wBAAgB,UAAU,IAAI;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAIjD;AAED,6EAA6E;AAC7E,eAAO,MAAM,OAAO;;;;;;;;CAQnB,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA6B,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAGzF,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AASzC,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAYxE;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxE;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CACzB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,EAC1C,MAAM,GAAE,WAAsC,GAC7C,IAAI,CAWN;AA4BD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACnC;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CACvB,OAAO,GAAE,gBAAqB,EAC9B,MAAM,GAAE,WAAsC,GAC7C;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAKtB;AAED,iDAAiD;AACjD,wBAAgB,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAE3D;AAED,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAEhF;AAED,gDAAgD;AAChD,wBAAgB,UAAU,IAAI;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAIjD;AAED,6EAA6E;AAC7E,eAAO,MAAM,OAAO;;;;;;;;CAQnB,CAAC"}
@@ -28,6 +28,7 @@ function tokenCssVars(tokens) {
28
28
  function applyTokens(themeName, overrides, target = document.documentElement) {
29
29
  const base = themeName === "dark" ? darkTokens : defaultTokens;
30
30
  const finalTokens = deepMerge(base, overrides);
31
+ syncValidationRings(finalTokens, overrides);
31
32
  const vars = tokenCssVars(finalTokens);
32
33
  for (const [name, value] of Object.entries(vars)) {
33
34
  target.style.setProperty(name, value);
@@ -36,6 +37,17 @@ function applyTokens(themeName, overrides, target = document.documentElement) {
36
37
  window.dispatchEvent(new CustomEvent("fenix:theme", { detail: { theme: themeName, tokens: finalTokens } }));
37
38
  }
38
39
  }
40
+ const RING_OFF_VALUES = /* @__PURE__ */ new Set(["", "none", "0", "unset", "initial"]);
41
+ function syncValidationRings(tokens, overrides) {
42
+ const focusRing = String(tokens.effect["focus-ring"] ?? "").trim();
43
+ if (!RING_OFF_VALUES.has(focusRing)) return;
44
+ const explicit = (key) => Boolean(overrides?.effect && Object.prototype.hasOwnProperty.call(overrides.effect, key));
45
+ tokens.effect = {
46
+ ...tokens.effect,
47
+ "error-ring": explicit("error-ring") ? tokens.effect["error-ring"] : "none",
48
+ "success-ring": explicit("success-ring") ? tokens.effect["success-ring"] : "none"
49
+ };
50
+ }
39
51
  function configure(options = {}, target = document.documentElement) {
40
52
  if (options.theme) activeTheme = options.theme;
41
53
  if (options.tokens) activeOverrides = options.tokens;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sources":["../../src/core/theme.ts"],"sourcesContent":["/**\n * Motor de Tema e API global do FenixUI.\n *\n * Aplica os Design Tokens como CSS Custom Properties (`--fx-*`) no elemento\n * raiz. Como custom properties atravessam o Shadow DOM, TODOS os componentes\n * passam a reagir ao novo tema em runtime, sem recompilar.\n */\n\nimport { defaultTokens, darkTokens, type FenixTokens, type DeepPartial } from './tokens';\n\nconst PREFIX = '--fx';\nexport const VERSION = '0.1.0';\n\nexport type ThemeName = 'light' | 'dark';\n\nlet activeTheme: ThemeName = 'light';\nlet activeOverrides: DeepPartial<FenixTokens> | null = null;\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/** Mescla tokens por grupo, permitindo override parcial (ex.: só `color.primary`). */\nexport function deepMerge<T>(base: T, override: DeepPartial<T> | null): T {\n if (!override) return base;\n const out: Record<string, unknown> = { ...(base as Record<string, unknown>) };\n for (const key of Object.keys(override)) {\n const baseValue = (base as Record<string, unknown>)[key];\n const overrideValue = (override as Record<string, unknown>)[key];\n out[key] =\n isPlainObject(baseValue) && isPlainObject(overrideValue)\n ? deepMerge(baseValue, overrideValue)\n : (overrideValue as unknown);\n }\n return out as T;\n}\n\n/** Achatamento de tokens em pares `--fx-{grupo}-{chave}` -> valor. */\nexport function tokenCssVars(tokens: FenixTokens): Record<string, string> {\n const out: Record<string, string> = {};\n for (const [group, values] of Object.entries(tokens)) {\n for (const [key, value] of Object.entries(values)) {\n out[`${PREFIX}-${group}-${key}`] = String(value);\n }\n }\n return out;\n}\n\n/** Aplica tokens no DOM (padrão: `:root`). Emite evento para notificar a aplicação. */\nexport function applyTokens(\n themeName: ThemeName,\n overrides: DeepPartial<FenixTokens> | null,\n target: HTMLElement = document.documentElement,\n): void {\n const base = themeName === 'dark' ? darkTokens : defaultTokens;\n const finalTokens = deepMerge(base, overrides);\n const vars = tokenCssVars(finalTokens);\n for (const [name, value] of Object.entries(vars)) {\n target.style.setProperty(name, value);\n }\n if (typeof window !== 'undefined') {\n window.dispatchEvent(new CustomEvent('fenix:theme', { detail: { theme: themeName, tokens: finalTokens } }));\n }\n}\n\nexport interface ConfigureOptions {\n theme?: ThemeName;\n tokens?: DeepPartial<FenixTokens>;\n}\n\n/** Configura a biblioteca: tema e/ou tokens. Retorna o estado ativo. */\nexport function configure(\n options: ConfigureOptions = {},\n target: HTMLElement = document.documentElement,\n): { theme: ThemeName } {\n if (options.theme) activeTheme = options.theme;\n if (options.tokens) activeOverrides = options.tokens;\n applyTokens(activeTheme, activeOverrides, target);\n return { theme: activeTheme };\n}\n\n/** Troca o tema para claro/escuro em runtime. */\nexport function theme(name: ThemeName): { theme: ThemeName } {\n return configure({ theme: name });\n}\n\n/** Define tokens customizados (override parcial profundo). */\nexport function setTokens(tokens: DeepPartial<FenixTokens>): { theme: ThemeName } {\n return configure({ tokens });\n}\n\n/** Volta ao tema claro padrão sem overrides. */\nexport function resetTheme(): { theme: ThemeName } {\n activeTheme = 'light';\n activeOverrides = null;\n return configure({ theme: 'light' });\n}\n\n/** Namespace público (uso via ESM ou via global `FenixUI` no bundle CDN). */\nexport const FenixUI = {\n version: VERSION,\n configure,\n theme,\n setTokens,\n resetTheme,\n tokenCssVars,\n deepMerge,\n};"],"names":[],"mappings":";AAUA,MAAM,SAAS;AACR,MAAM,UAAU;AAIvB,IAAI,cAAyB;AAC7B,IAAI,kBAAmD;AAEvD,SAAS,cAAc,OAAkD;AACvE,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAGO,SAAS,UAAa,MAAS,UAAoC;AACxE,MAAI,CAAC,SAAU,QAAO;AACtB,QAAM,MAA+B,EAAE,GAAI,KAAA;AAC3C,aAAW,OAAO,OAAO,KAAK,QAAQ,GAAG;AACvC,UAAM,YAAa,KAAiC,GAAG;AACvD,UAAM,gBAAiB,SAAqC,GAAG;AAC/D,QAAI,GAAG,IACL,cAAc,SAAS,KAAK,cAAc,aAAa,IACnD,UAAU,WAAW,aAAa,IACjC;AAAA,EACT;AACA,SAAO;AACT;AAGO,SAAS,aAAa,QAA6C;AACxE,QAAM,MAA8B,CAAA;AACpC,aAAW,CAAC,OAAO,MAAM,KAAK,OAAO,QAAQ,MAAM,GAAG;AACpD,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,UAAI,GAAG,MAAM,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,OAAO,KAAK;AAAA,IACjD;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,YACd,WACA,WACA,SAAsB,SAAS,iBACzB;AACN,QAAM,OAAO,cAAc,SAAS,aAAa;AACjD,QAAM,cAAc,UAAU,MAAM,SAAS;AAC7C,QAAM,OAAO,aAAa,WAAW;AACrC,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,IAAI,GAAG;AAChD,WAAO,MAAM,YAAY,MAAM,KAAK;AAAA,EACtC;AACA,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,cAAc,IAAI,YAAY,eAAe,EAAE,QAAQ,EAAE,OAAO,WAAW,QAAQ,YAAA,EAAY,CAAG,CAAC;AAAA,EAC5G;AACF;AAQO,SAAS,UACd,UAA4B,CAAA,GAC5B,SAAsB,SAAS,iBACT;AACtB,MAAI,QAAQ,MAAO,eAAc,QAAQ;AACzC,MAAI,QAAQ,OAAQ,mBAAkB,QAAQ;AAC9C,cAAY,aAAa,iBAAiB,MAAM;AAChD,SAAO,EAAE,OAAO,YAAA;AAClB;AAGO,SAAS,MAAM,MAAuC;AAC3D,SAAO,UAAU,EAAE,OAAO,MAAM;AAClC;AAGO,SAAS,UAAU,QAAwD;AAChF,SAAO,UAAU,EAAE,QAAQ;AAC7B;AAGO,SAAS,aAAmC;AACjD,gBAAc;AACd,oBAAkB;AAClB,SAAO,UAAU,EAAE,OAAO,SAAS;AACrC;AAGO,MAAM,UAAU;AAAA,EACrB,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
1
+ {"version":3,"file":"theme.js","sources":["../../src/core/theme.ts"],"sourcesContent":["/**\n * Motor de Tema e API global do FenixUI.\n *\n * Aplica os Design Tokens como CSS Custom Properties (`--fx-*`) no elemento\n * raiz. Como custom properties atravessam o Shadow DOM, TODOS os componentes\n * passam a reagir ao novo tema em runtime, sem recompilar.\n */\n\nimport { defaultTokens, darkTokens, type FenixTokens, type DeepPartial } from './tokens';\n\nconst PREFIX = '--fx';\nexport const VERSION = '0.1.0';\n\nexport type ThemeName = 'light' | 'dark';\n\nlet activeTheme: ThemeName = 'light';\nlet activeOverrides: DeepPartial<FenixTokens> | null = null;\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/** Mescla tokens por grupo, permitindo override parcial (ex.: só `color.primary`). */\nexport function deepMerge<T>(base: T, override: DeepPartial<T> | null): T {\n if (!override) return base;\n const out: Record<string, unknown> = { ...(base as Record<string, unknown>) };\n for (const key of Object.keys(override)) {\n const baseValue = (base as Record<string, unknown>)[key];\n const overrideValue = (override as Record<string, unknown>)[key];\n out[key] =\n isPlainObject(baseValue) && isPlainObject(overrideValue)\n ? deepMerge(baseValue, overrideValue)\n : (overrideValue as unknown);\n }\n return out as T;\n}\n\n/** Achatamento de tokens em pares `--fx-{grupo}-{chave}` -> valor. */\nexport function tokenCssVars(tokens: FenixTokens): Record<string, string> {\n const out: Record<string, string> = {};\n for (const [group, values] of Object.entries(tokens)) {\n for (const [key, value] of Object.entries(values)) {\n out[`${PREFIX}-${group}-${key}`] = String(value);\n }\n }\n return out;\n}\n\n/** Aplica tokens no DOM (padrão: `:root`). Emite evento para notificar a aplicação. */\nexport function applyTokens(\n themeName: ThemeName,\n overrides: DeepPartial<FenixTokens> | null,\n target: HTMLElement = document.documentElement,\n): void {\n const base = themeName === 'dark' ? darkTokens : defaultTokens;\n const finalTokens = deepMerge(base, overrides);\n syncValidationRings(finalTokens, overrides);\n const vars = tokenCssVars(finalTokens);\n for (const [name, value] of Object.entries(vars)) {\n target.style.setProperty(name, value);\n }\n if (typeof window !== 'undefined') {\n window.dispatchEvent(new CustomEvent('fenix:theme', { detail: { theme: themeName, tokens: finalTokens } }));\n }\n}\n\n/** Valores de `effect['focus-ring']` que significam \"anel de foco desligado\". */\nconst RING_OFF_VALUES = new Set(['', 'none', '0', 'unset', 'initial']);\n\n/**\n * Os anéis de validação (`error-ring`/`success-ring`) acompanham `focus-ring`:\n * - anel de foco LIGADO → estados error/success exibem o brilho junto da borda;\n * - anel de foco DESLIGADO → o erro/sucesso continua visível (border-color +\n * mensagem/alerta), mas SEM o anel/brilho ao redor do campo.\n * Um override explícito de `error-ring`/`success-ring` tem prioridade sobre a\n * derivação. Nunca muta os tokens base (referência compartilhada com lightTokens).\n */\nfunction syncValidationRings(\n tokens: FenixTokens,\n overrides: DeepPartial<FenixTokens> | null,\n): void {\n const focusRing = String(tokens.effect['focus-ring'] ?? '').trim();\n if (!RING_OFF_VALUES.has(focusRing)) return;\n const explicit = (key: 'error-ring' | 'success-ring'): boolean =>\n Boolean(overrides?.effect && Object.prototype.hasOwnProperty.call(overrides.effect, key));\n tokens.effect = {\n ...tokens.effect,\n 'error-ring': explicit('error-ring') ? tokens.effect['error-ring'] : 'none',\n 'success-ring': explicit('success-ring') ? tokens.effect['success-ring'] : 'none',\n };\n}\n\nexport interface ConfigureOptions {\n theme?: ThemeName;\n tokens?: DeepPartial<FenixTokens>;\n}\n\n/** Configura a biblioteca: tema e/ou tokens. Retorna o estado ativo. */\nexport function configure(\n options: ConfigureOptions = {},\n target: HTMLElement = document.documentElement,\n): { theme: ThemeName } {\n if (options.theme) activeTheme = options.theme;\n if (options.tokens) activeOverrides = options.tokens;\n applyTokens(activeTheme, activeOverrides, target);\n return { theme: activeTheme };\n}\n\n/** Troca o tema para claro/escuro em runtime. */\nexport function theme(name: ThemeName): { theme: ThemeName } {\n return configure({ theme: name });\n}\n\n/** Define tokens customizados (override parcial profundo). */\nexport function setTokens(tokens: DeepPartial<FenixTokens>): { theme: ThemeName } {\n return configure({ tokens });\n}\n\n/** Volta ao tema claro padrão sem overrides. */\nexport function resetTheme(): { theme: ThemeName } {\n activeTheme = 'light';\n activeOverrides = null;\n return configure({ theme: 'light' });\n}\n\n/** Namespace público (uso via ESM ou via global `FenixUI` no bundle CDN). */\nexport const FenixUI = {\n version: VERSION,\n configure,\n theme,\n setTokens,\n resetTheme,\n tokenCssVars,\n deepMerge,\n};"],"names":[],"mappings":";AAUA,MAAM,SAAS;AACR,MAAM,UAAU;AAIvB,IAAI,cAAyB;AAC7B,IAAI,kBAAmD;AAEvD,SAAS,cAAc,OAAkD;AACvE,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAGO,SAAS,UAAa,MAAS,UAAoC;AACxE,MAAI,CAAC,SAAU,QAAO;AACtB,QAAM,MAA+B,EAAE,GAAI,KAAA;AAC3C,aAAW,OAAO,OAAO,KAAK,QAAQ,GAAG;AACvC,UAAM,YAAa,KAAiC,GAAG;AACvD,UAAM,gBAAiB,SAAqC,GAAG;AAC/D,QAAI,GAAG,IACL,cAAc,SAAS,KAAK,cAAc,aAAa,IACnD,UAAU,WAAW,aAAa,IACjC;AAAA,EACT;AACA,SAAO;AACT;AAGO,SAAS,aAAa,QAA6C;AACxE,QAAM,MAA8B,CAAA;AACpC,aAAW,CAAC,OAAO,MAAM,KAAK,OAAO,QAAQ,MAAM,GAAG;AACpD,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,UAAI,GAAG,MAAM,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,OAAO,KAAK;AAAA,IACjD;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,YACd,WACA,WACA,SAAsB,SAAS,iBACzB;AACN,QAAM,OAAO,cAAc,SAAS,aAAa;AACjD,QAAM,cAAc,UAAU,MAAM,SAAS;AAC7C,sBAAoB,aAAa,SAAS;AAC1C,QAAM,OAAO,aAAa,WAAW;AACrC,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,IAAI,GAAG;AAChD,WAAO,MAAM,YAAY,MAAM,KAAK;AAAA,EACtC;AACA,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,cAAc,IAAI,YAAY,eAAe,EAAE,QAAQ,EAAE,OAAO,WAAW,QAAQ,YAAA,EAAY,CAAG,CAAC;AAAA,EAC5G;AACF;AAGA,MAAM,sCAAsB,IAAI,CAAC,IAAI,QAAQ,KAAK,SAAS,SAAS,CAAC;AAUrE,SAAS,oBACP,QACA,WACM;AACN,QAAM,YAAY,OAAO,OAAO,OAAO,YAAY,KAAK,EAAE,EAAE,KAAA;AAC5D,MAAI,CAAC,gBAAgB,IAAI,SAAS,EAAG;AACrC,QAAM,WAAW,CAAC,QAChB,QAAQ,WAAW,UAAU,OAAO,UAAU,eAAe,KAAK,UAAU,QAAQ,GAAG,CAAC;AAC1F,SAAO,SAAS;AAAA,IACd,GAAG,OAAO;AAAA,IACV,cAAc,SAAS,YAAY,IAAI,OAAO,OAAO,YAAY,IAAI;AAAA,IACrE,gBAAgB,SAAS,cAAc,IAAI,OAAO,OAAO,cAAc,IAAI;AAAA,EAAA;AAE/E;AAQO,SAAS,UACd,UAA4B,CAAA,GAC5B,SAAsB,SAAS,iBACT;AACtB,MAAI,QAAQ,MAAO,eAAc,QAAQ;AACzC,MAAI,QAAQ,OAAQ,mBAAkB,QAAQ;AAC9C,cAAY,aAAa,iBAAiB,MAAM;AAChD,SAAO,EAAE,OAAO,YAAA;AAClB;AAGO,SAAS,MAAM,MAAuC;AAC3D,SAAO,UAAU,EAAE,OAAO,MAAM;AAClC;AAGO,SAAS,UAAU,QAAwD;AAChF,SAAO,UAAU,EAAE,QAAQ;AAC7B;AAGO,SAAS,aAAmC;AACjD,gBAAc;AACd,oBAAkB;AAClB,SAAO,UAAU,EAAE,OAAO,SAAS;AACrC;AAGO,MAAM,UAAU;AAAA,EACrB,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
@@ -21,6 +21,10 @@ export interface FenixTokens {
21
21
  effect: {
22
22
  ripple: string;
23
23
  'focus-ring': string;
24
+ /** Brilho/anel dos estados de validação — acompanha `focus-ring` (ver applyTokens). */
25
+ 'error-ring': string;
26
+ /** Brilho/anel do estado de sucesso — acompanha `focus-ring` (ver applyTokens). */
27
+ 'success-ring': string;
24
28
  };
25
29
  /** Z-index */ z: Record<'base' | 'dropdown' | 'modal' | 'toast', string>;
26
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/core/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,WAAW;IAC1B,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IACnH,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,GAAG,SAAS,GAAG,eAAe,EAAE,MAAM,CAAC,CAAC;IACvF,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC;IACpE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1D,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC;IACrF,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3E,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3E,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,GAAG,iBAAiB,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrF,uEAAuE;IACvE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;CAC3E;AAED,2BAA2B;AAC3B,eAAO,MAAM,WAAW,EAAE,WAkDzB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,UAAU,EAAE,WAyBxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAyB,CAAC;AAEtD,qFAAqF;AACrF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/core/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,WAAW;IAC1B,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IACnH,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,GAAG,SAAS,GAAG,eAAe,EAAE,MAAM,CAAC,CAAC;IACvF,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC;IACpE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1D,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,EAAE,MAAM,CAAC,CAAC;IACrF,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3E,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3E,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,GAAG,iBAAiB,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrF,uEAAuE;IACvE,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,uFAAuF;QACvF,YAAY,EAAE,MAAM,CAAC;QACrB,mFAAmF;QACnF,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;CAC3E;AAED,2BAA2B;AAC3B,eAAO,MAAM,WAAW,EAAE,WA4DzB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,UAAU,EAAE,WAyBxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAyB,CAAC;AAEtD,qFAAqF;AACrF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
@@ -44,7 +44,15 @@ const lightTokens = {
44
44
  /** '0' desativa o efeito ripple do botão. */
45
45
  ripple: "1",
46
46
  /** Anel de foco dos campos de formulário. Use 'none' para campos sem sobra. */
47
- "focus-ring": "0 0 0 3px color-mix(in srgb, var(--fx-color-primary) 22%, transparent)"
47
+ "focus-ring": "0 0 0 3px color-mix(in srgb, var(--fx-color-primary) 22%, transparent)",
48
+ /**
49
+ * Brilho dos estados `error`/`invalid`. Acompanha `focus-ring`: quando o
50
+ * anel de foco está desligado, `applyTokens` força 'none' — o erro segue
51
+ * visível pela borda (border-color) e pela mensagem, mas sem o anel.
52
+ */
53
+ "error-ring": "0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent)",
54
+ /** Brilho dos estados `success`/`valid` — acompanha `focus-ring` igualmente. */
55
+ "success-ring": "0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent)"
48
56
  },
49
57
  z: { base: "auto", dropdown: "1000", modal: "1100", toast: "1200" }
50
58
  };