@marwes-ui/core 1.1.0 → 1.3.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/dist/index.js CHANGED
@@ -84,6 +84,15 @@ function colorRoleVars(role, cr) {
84
84
  [`--mw-color-${role}-label-disabled`]: cr.labelDisabled
85
85
  };
86
86
  }
87
+ function statusColorVars(role, tokens) {
88
+ return {
89
+ [`--mw-color-status-${role}-background`]: tokens.background,
90
+ [`--mw-color-status-${role}-text`]: tokens.text,
91
+ [`--mw-color-status-${role}-icon`]: tokens.icon,
92
+ [`--mw-color-status-${role}-border`]: tokens.border,
93
+ [`--mw-color-status-${role}-border-strong`]: tokens.borderStrong
94
+ };
95
+ }
87
96
  function themeToCSSVars(theme) {
88
97
  const { color, font, ui, typography } = theme;
89
98
  return {
@@ -109,11 +118,18 @@ function themeToCSSVars(theme) {
109
118
  "--mw-color-text-subtle": color.textSubtle,
110
119
  "--mw-color-text-disabled": color.textDisabled,
111
120
  "--mw-color-text-inverted": color.textInverted,
121
+ "--mw-color-text-brand": color.textBrand,
112
122
  "--mw-color-border": color.border,
113
123
  "--mw-color-border-subtle": color.borderSubtle,
114
124
  "--mw-color-border-strong": color.borderStrong,
115
125
  "--mw-color-border-disabled": color.borderDisabled,
126
+ "--mw-color-border-brand": color.borderBrand,
116
127
  "--mw-color-focus": color.focus,
128
+ // Status role tokens (4 × 5 = 20)
129
+ ...statusColorVars("success", color.status.success),
130
+ ...statusColorVars("warning", color.status.warning),
131
+ ...statusColorVars("error", color.status.error),
132
+ ...statusColorVars("info", color.status.info),
117
133
  // Font (3)
118
134
  "--mw-font-primary": font.primary,
119
135
  "--mw-font-secondary": font.secondary,
@@ -316,8 +332,8 @@ function resolveColorRole(base, overrides) {
316
332
  };
317
333
  return overrides ? { ...derived, ...overrides } : derived;
318
334
  }
319
- function resolveSecondaryRole(primary) {
320
- return {
335
+ function resolveSecondaryRole(primary, overrides) {
336
+ const derived = {
321
337
  base: "transparent",
322
338
  hover: setAlpha(primary.base, 0.08),
323
339
  pressed: setAlpha(primary.base, 0.15),
@@ -327,6 +343,7 @@ function resolveSecondaryRole(primary) {
327
343
  border: primary.base,
328
344
  borderDisabled: primary.disabled
329
345
  };
346
+ return overrides ? { ...derived, ...overrides } : derived;
330
347
  }
331
348
  function resolveInfoRole(primary) {
332
349
  return { ...primary };
@@ -345,30 +362,62 @@ var lightThemeDefaults = {
345
362
  color: {
346
363
  // Primary (firstEdition brand blue)
347
364
  primary: "#2F31FC",
348
- // Background & Surface (from Figma: Neutrals)
365
+ // Background & Surface
349
366
  background: "#FFFFFF",
350
- surface: "#F9FAFB",
351
- surfaceSubtle: "#F3F4F6",
367
+ surface: "#F8F8F8",
368
+ surfaceSubtle: "#F5F5F5",
352
369
  surfaceElevated: "#FFFFFF",
353
- surfaceDisabled: "#F3F4F6",
370
+ surfaceDisabled: "#F5F5F5",
354
371
  surfaceInverted: "#141414",
355
- // Text (from Figma: Colours/Text)
372
+ // Text
356
373
  text: "#141414",
357
- textMuted: "#9CA3AF",
358
- textSubtle: "#9CA3AF",
359
- textDisabled: "rgba(20,20,20,0.4)",
360
- textInverted: "#F9FAFB",
361
- // Borders (from Figma: Colours/Border and Neutrals)
362
- border: "rgba(0,0,0,0.4)",
363
- borderSubtle: "#00000033",
364
- borderStrong: "#141414",
365
- borderDisabled: "rgba(20,20,20,0.16)",
366
- // Focus color (from Figma: node 120:927 - Accessible blue)
367
- focus: "#2684FF",
374
+ textMuted: "#595959",
375
+ textSubtle: "#737373",
376
+ textDisabled: "#737373",
377
+ textInverted: "#FFFFFF",
378
+ textBrand: "#2F31FC",
379
+ // Borders
380
+ border: "#D8D8D8",
381
+ borderSubtle: "#D8D8D8",
382
+ borderStrong: "#A3A3A3",
383
+ borderDisabled: "#D8D8D8",
384
+ borderBrand: "#2F31FC",
385
+ // Focus
386
+ focus: "#2F31FC",
368
387
  // Semantic colors
369
388
  danger: "#D90429",
370
- success: "#00875A",
371
- warning: "#FFB703"
389
+ success: "#006633",
390
+ warning: "#B45309",
391
+ status: {
392
+ success: {
393
+ background: "#E6F4ED",
394
+ text: "#006633",
395
+ icon: "#006D48",
396
+ border: "#90CAAD",
397
+ borderStrong: "#2E9970"
398
+ },
399
+ warning: {
400
+ background: "#FFF8E6",
401
+ text: "#B45309",
402
+ icon: "#D97706",
403
+ border: "#FDE08A",
404
+ borderStrong: "#E46F00"
405
+ },
406
+ error: {
407
+ background: "#FFE8EB",
408
+ text: "#A8031F",
409
+ icon: "#D90429",
410
+ border: "#FF8A95",
411
+ borderStrong: "#FF2847"
412
+ },
413
+ info: {
414
+ background: "#EEEEFF",
415
+ text: "#1B1D97",
416
+ icon: "#2F31FC",
417
+ border: "#ABABFD",
418
+ borderStrong: "#5859FC"
419
+ }
420
+ }
372
421
  },
373
422
  font: {
374
423
  primary: "'Instrument Sans', Inter, system-ui, sans-serif",
@@ -417,32 +466,64 @@ var lightThemeDefaults = {
417
466
  var darkThemeDefaults = {
418
467
  mode: ThemeMode.dark,
419
468
  color: {
420
- // Primary — firstEdition brand blue in dark mode as well
421
- primary: "#2F31FC",
422
- // Background & Surface - Inverted
423
- background: "#141414",
424
- surface: "#141414",
425
- surfaceSubtle: "#111827",
426
- surfaceElevated: "#1F2937",
427
- surfaceDisabled: "#3E3E3E",
428
- surfaceInverted: "#F9FAFB",
429
- // Text - Inverted
469
+ // Primary
470
+ primary: "#5859FC",
471
+ // Background & Surface
472
+ background: "#0F0F0F",
473
+ surface: "#1A1A1A",
474
+ surfaceSubtle: "#050505",
475
+ surfaceElevated: "#2B2B2B",
476
+ surfaceDisabled: "#1A1A1A",
477
+ surfaceInverted: "#FFFFFF",
478
+ // Text
430
479
  text: "#F9FAFB",
431
- textMuted: "#9CA3AF",
432
- textSubtle: "#6B7280",
433
- textDisabled: "rgba(249,250,251,0.4)",
480
+ textMuted: "#A3A3A3",
481
+ textSubtle: "#595959",
482
+ textDisabled: "#595959",
434
483
  textInverted: "#141414",
435
- // Borders - Adjusted for dark mode
436
- border: "#d9d9d9",
437
- borderSubtle: "#d4d4d433",
438
- borderStrong: "#F9FAFB",
439
- borderDisabled: "rgba(255,255,255,0.16)",
440
- // Focus color - Same accessible blue works in both modes
441
- focus: "#2684FF",
484
+ textBrand: "#8182FC",
485
+ // Borders
486
+ border: "#474747",
487
+ borderSubtle: "#474747",
488
+ borderStrong: "#A3A3A3",
489
+ borderDisabled: "#474747",
490
+ borderBrand: "#5859FC",
491
+ // Focus
492
+ focus: "#8182FC",
442
493
  // Semantic colors
443
- danger: "#D90429",
444
- success: "#00875A",
445
- warning: "#FFB703"
494
+ danger: "#FF002C",
495
+ success: "#90CAAD",
496
+ warning: "#FCC94A",
497
+ status: {
498
+ success: {
499
+ background: "#001A0C",
500
+ text: "#90CAAD",
501
+ icon: "#5DB189",
502
+ border: "#5DB189",
503
+ borderStrong: "#006D48"
504
+ },
505
+ warning: {
506
+ background: "#221004",
507
+ text: "#FCC94A",
508
+ icon: "#F9B21A",
509
+ border: "#E46F00",
510
+ borderStrong: "#B45308"
511
+ },
512
+ error: {
513
+ background: "#240006",
514
+ text: "#FF5566",
515
+ icon: "#FF2847",
516
+ border: "#FF2847",
517
+ borderStrong: "#FF2847"
518
+ },
519
+ info: {
520
+ background: "#040519",
521
+ text: "#ABABFD",
522
+ icon: "#8182FC",
523
+ border: "#8182FC",
524
+ borderStrong: "#252599"
525
+ }
526
+ }
446
527
  },
447
528
  font: {
448
529
  primary: "'Instrument Sans', Inter, system-ui, sans-serif",
@@ -552,24 +633,97 @@ function resolveTone(tone) {
552
633
  }
553
634
 
554
635
  // src/theme/theme-normalize.ts
636
+ var lightDefaultColorRoles = {
637
+ primary: {
638
+ base: "#2F31FC",
639
+ hover: "#2527CA",
640
+ pressed: "#1B1D97",
641
+ disabled: "#8182FC",
642
+ label: "#FFFFFF",
643
+ labelDisabled: "rgba(255,255,255,0.5)"
644
+ },
645
+ secondary: {
646
+ hover: "#EEEEFF",
647
+ pressed: "#D4D5FE",
648
+ label: "#2F31FC",
649
+ labelDisabled: "rgba(47,49,252,0.5)",
650
+ border: "#2F31FC",
651
+ borderDisabled: "#8182FC"
652
+ },
653
+ danger: {
654
+ base: "#D90429",
655
+ hover: "#A8031F",
656
+ pressed: "#780215",
657
+ disabled: "#FF8A95",
658
+ label: "#FFFFFF",
659
+ labelDisabled: "rgba(255,255,255,0.5)"
660
+ },
661
+ success: {
662
+ base: "#006633"
663
+ },
664
+ warning: {
665
+ base: "#B45309"
666
+ },
667
+ info: {
668
+ base: "#2F31FC"
669
+ }
670
+ };
671
+ var darkDefaultColorRoles = {
672
+ primary: {
673
+ base: "#2F31FC",
674
+ hover: "#5859FC",
675
+ pressed: "#8182FC",
676
+ disabled: "#121365",
677
+ label: "#FFFFFF",
678
+ labelDisabled: "rgba(255,255,255,0.5)"
679
+ },
680
+ secondary: {
681
+ hover: "#090A32",
682
+ pressed: "#121365",
683
+ label: "#8182FC",
684
+ labelDisabled: "rgba(129,130,252,0.5)",
685
+ border: "#8182FC",
686
+ borderDisabled: "#121365"
687
+ },
688
+ danger: {
689
+ base: "#FF002C",
690
+ hover: "#FF2847",
691
+ pressed: "#FF5566",
692
+ disabled: "#48010D",
693
+ label: "#FFFFFF",
694
+ labelDisabled: "rgba(255,255,255,0.5)"
695
+ },
696
+ success: {
697
+ base: "#90CAAD"
698
+ },
699
+ warning: {
700
+ base: "#FCC94A"
701
+ },
702
+ info: {
703
+ base: "#8182FC"
704
+ }
705
+ };
555
706
  function resolveThemeInput(input) {
556
707
  const mode = input.mode ?? ThemeMode.light;
557
708
  const colorBase = mode === ThemeMode.dark ? darkThemeDefaults.color : lightThemeDefaults.color;
709
+ const defaultColorRoles = mode === ThemeMode.dark ? darkDefaultColorRoles : lightDefaultColorRoles;
558
710
  const base = lightThemeDefaults;
559
711
  const tone = resolveTone(input.tone ?? "default");
560
- const primary = normalizeColorInput(input.color?.primary ?? colorBase.primary);
561
- const danger = normalizeColorInput(input.color?.danger ?? colorBase.danger);
562
- const success = normalizeColorInput(input.color?.success ?? colorBase.success);
563
- const warning = normalizeColorInput(input.color?.warning ?? colorBase.warning);
712
+ const primary = normalizeColorInput(input.color?.primary ?? defaultColorRoles.primary);
713
+ const secondary = input.color?.primary === void 0 ? resolveSecondaryRole(primary, defaultColorRoles.secondary) : resolveSecondaryRole(primary);
714
+ const danger = normalizeColorInput(input.color?.danger ?? defaultColorRoles.danger);
715
+ const success = normalizeColorInput(input.color?.success ?? defaultColorRoles.success);
716
+ const warning = normalizeColorInput(input.color?.warning ?? defaultColorRoles.warning);
717
+ const info = input.color?.primary === void 0 ? normalizeColorInput(defaultColorRoles.info) : resolveInfoRole(primary);
564
718
  return {
565
719
  mode,
566
720
  color: {
567
721
  primary,
568
- secondary: resolveSecondaryRole(primary),
722
+ secondary,
569
723
  danger,
570
724
  success,
571
725
  warning,
572
- info: resolveInfoRole(primary),
726
+ info,
573
727
  background: input.color?.background ?? colorBase.background,
574
728
  surface: input.color?.surface ?? colorBase.surface,
575
729
  surfaceSubtle: input.color?.surfaceSubtle ?? colorBase.surfaceSubtle,
@@ -581,11 +735,14 @@ function resolveThemeInput(input) {
581
735
  textSubtle: input.color?.textSubtle ?? colorBase.textSubtle,
582
736
  textDisabled: input.color?.textDisabled ?? colorBase.textDisabled,
583
737
  textInverted: input.color?.textInverted ?? colorBase.textInverted,
738
+ textBrand: colorBase.textBrand,
584
739
  border: input.color?.border ?? colorBase.border,
585
740
  borderSubtle: input.color?.borderSubtle ?? colorBase.borderSubtle,
586
741
  borderStrong: input.color?.borderStrong ?? colorBase.borderStrong,
587
742
  borderDisabled: input.color?.borderDisabled ?? colorBase.borderDisabled,
588
- focus: input.color?.focus ?? colorBase.focus
743
+ borderBrand: colorBase.borderBrand,
744
+ focus: input.color?.focus ?? colorBase.focus,
745
+ status: colorBase.status
589
746
  },
590
747
  font: { ...base.font, ...tone.font, ...input.font },
591
748
  ui: { ...base.ui, ...tone.ui, ...input.ui },
@@ -728,11 +885,43 @@ var mwThemeVarNames = {
728
885
  textSubtle: "--mw-color-text-subtle",
729
886
  textDisabled: "--mw-color-text-disabled",
730
887
  textInverted: "--mw-color-text-inverted",
888
+ textBrand: "--mw-color-text-brand",
731
889
  border: "--mw-color-border",
732
890
  borderSubtle: "--mw-color-border-subtle",
733
891
  borderStrong: "--mw-color-border-strong",
734
892
  borderDisabled: "--mw-color-border-disabled",
735
- focus: "--mw-color-focus"
893
+ borderBrand: "--mw-color-border-brand",
894
+ focus: "--mw-color-focus",
895
+ status: {
896
+ success: {
897
+ background: "--mw-color-status-success-background",
898
+ text: "--mw-color-status-success-text",
899
+ icon: "--mw-color-status-success-icon",
900
+ border: "--mw-color-status-success-border",
901
+ borderStrong: "--mw-color-status-success-border-strong"
902
+ },
903
+ warning: {
904
+ background: "--mw-color-status-warning-background",
905
+ text: "--mw-color-status-warning-text",
906
+ icon: "--mw-color-status-warning-icon",
907
+ border: "--mw-color-status-warning-border",
908
+ borderStrong: "--mw-color-status-warning-border-strong"
909
+ },
910
+ error: {
911
+ background: "--mw-color-status-error-background",
912
+ text: "--mw-color-status-error-text",
913
+ icon: "--mw-color-status-error-icon",
914
+ border: "--mw-color-status-error-border",
915
+ borderStrong: "--mw-color-status-error-border-strong"
916
+ },
917
+ info: {
918
+ background: "--mw-color-status-info-background",
919
+ text: "--mw-color-status-info-text",
920
+ icon: "--mw-color-status-info-icon",
921
+ border: "--mw-color-status-info-border",
922
+ borderStrong: "--mw-color-status-info-border-strong"
923
+ }
924
+ }
736
925
  },
737
926
  spacing: {
738
927
  sp0: "--mw-spacing-sp-0",
@@ -872,11 +1061,43 @@ var mwThemeVars = {
872
1061
  textSubtle: "var(--mw-color-text-subtle)",
873
1062
  textDisabled: "var(--mw-color-text-disabled)",
874
1063
  textInverted: "var(--mw-color-text-inverted)",
1064
+ textBrand: "var(--mw-color-text-brand)",
875
1065
  border: "var(--mw-color-border)",
876
1066
  borderSubtle: "var(--mw-color-border-subtle)",
877
1067
  borderStrong: "var(--mw-color-border-strong)",
878
1068
  borderDisabled: "var(--mw-color-border-disabled)",
879
- focus: "var(--mw-color-focus)"
1069
+ borderBrand: "var(--mw-color-border-brand)",
1070
+ focus: "var(--mw-color-focus)",
1071
+ status: {
1072
+ success: {
1073
+ background: "var(--mw-color-status-success-background)",
1074
+ text: "var(--mw-color-status-success-text)",
1075
+ icon: "var(--mw-color-status-success-icon)",
1076
+ border: "var(--mw-color-status-success-border)",
1077
+ borderStrong: "var(--mw-color-status-success-border-strong)"
1078
+ },
1079
+ warning: {
1080
+ background: "var(--mw-color-status-warning-background)",
1081
+ text: "var(--mw-color-status-warning-text)",
1082
+ icon: "var(--mw-color-status-warning-icon)",
1083
+ border: "var(--mw-color-status-warning-border)",
1084
+ borderStrong: "var(--mw-color-status-warning-border-strong)"
1085
+ },
1086
+ error: {
1087
+ background: "var(--mw-color-status-error-background)",
1088
+ text: "var(--mw-color-status-error-text)",
1089
+ icon: "var(--mw-color-status-error-icon)",
1090
+ border: "var(--mw-color-status-error-border)",
1091
+ borderStrong: "var(--mw-color-status-error-border-strong)"
1092
+ },
1093
+ info: {
1094
+ background: "var(--mw-color-status-info-background)",
1095
+ text: "var(--mw-color-status-info-text)",
1096
+ icon: "var(--mw-color-status-info-icon)",
1097
+ border: "var(--mw-color-status-info-border)",
1098
+ borderStrong: "var(--mw-color-status-info-border-strong)"
1099
+ }
1100
+ }
880
1101
  },
881
1102
  spacing: {
882
1103
  sp0: "var(--mw-spacing-sp-0)",
@@ -4944,7 +5165,7 @@ function createDotsSquareNodes() {
4944
5165
  y: "1.5",
4945
5166
  width: "4",
4946
5167
  height: "5",
4947
- rx: "1.5",
5168
+ rx: "999",
4948
5169
  fill: INDICATOR_COLOR,
4949
5170
  opacity: "0.89375"
4950
5171
  }),
@@ -4953,7 +5174,7 @@ function createDotsSquareNodes() {
4953
5174
  y: "4.4",
4954
5175
  width: "4.8",
4955
5176
  height: "4.8",
4956
- rx: "1.5",
5177
+ rx: "999",
4957
5178
  fill: INDICATOR_COLOR,
4958
5179
  opacity: "0.46875"
4959
5180
  }),
@@ -4962,7 +5183,7 @@ function createDotsSquareNodes() {
4962
5183
  y: "10",
4963
5184
  width: "5",
4964
5185
  height: "4",
4965
- rx: "1.5",
5186
+ rx: "999",
4966
5187
  fill: INDICATOR_COLOR,
4967
5188
  opacity: "0.3625"
4968
5189
  }),
@@ -4971,7 +5192,7 @@ function createDotsSquareNodes() {
4971
5192
  y: "14.8",
4972
5193
  width: "4.8",
4973
5194
  height: "4.8",
4974
- rx: "1.5",
5195
+ rx: "999",
4975
5196
  fill: INDICATOR_COLOR,
4976
5197
  opacity: "0.15"
4977
5198
  }),
@@ -4980,7 +5201,7 @@ function createDotsSquareNodes() {
4980
5201
  y: "17.5",
4981
5202
  width: "4",
4982
5203
  height: "5",
4983
- rx: "1.5",
5204
+ rx: "999",
4984
5205
  fill: INDICATOR_COLOR,
4985
5206
  opacity: "0.575"
4986
5207
  }),
@@ -4989,7 +5210,7 @@ function createDotsSquareNodes() {
4989
5210
  y: "14.8",
4990
5211
  width: "4.8",
4991
5212
  height: "4.8",
4992
- rx: "1.5",
5213
+ rx: "999",
4993
5214
  fill: INDICATOR_COLOR,
4994
5215
  opacity: "0.7875"
4995
5216
  }),
@@ -4998,7 +5219,7 @@ function createDotsSquareNodes() {
4998
5219
  y: "10",
4999
5220
  width: "5",
5000
5221
  height: "4",
5001
- rx: "1.5",
5222
+ rx: "999",
5002
5223
  fill: INDICATOR_COLOR,
5003
5224
  opacity: "0.68125"
5004
5225
  }),
@@ -5007,7 +5228,7 @@ function createDotsSquareNodes() {
5007
5228
  y: "4.4",
5008
5229
  width: "4.8",
5009
5230
  height: "4.8",
5010
- rx: "1.5",
5231
+ rx: "999",
5011
5232
  fill: INDICATOR_COLOR,
5012
5233
  opacity: "0.25625"
5013
5234
  })
@@ -5133,6 +5354,286 @@ function createSpinnerRecipe(options = {}) {
5133
5354
  };
5134
5355
  }
5135
5356
 
5357
+ // src/components/atoms/skeleton/skeleton-a11y.ts
5358
+ function isDev4() {
5359
+ const p = globalThis.process;
5360
+ const nodeEnv = p?.env?.NODE_ENV;
5361
+ if (nodeEnv) return nodeEnv !== "production";
5362
+ const meta = import.meta;
5363
+ if (typeof meta.env?.PROD === "boolean") return !meta.env.PROD;
5364
+ if (meta.env?.MODE) return meta.env.MODE !== "production";
5365
+ return true;
5366
+ }
5367
+ var __DEV__4 = isDev4();
5368
+ function resolveSkeletonA11y(options = {}) {
5369
+ if (options.decorative === true) {
5370
+ return {
5371
+ ...options.id ? { id: options.id } : {},
5372
+ ariaHidden: true
5373
+ };
5374
+ }
5375
+ if (options.ariaLabel) {
5376
+ return {
5377
+ ...options.id ? { id: options.id } : {},
5378
+ role: "status",
5379
+ ariaLabel: options.ariaLabel,
5380
+ ariaLive: "polite"
5381
+ };
5382
+ }
5383
+ if (__DEV__4 && options.decorative === false) {
5384
+ console.warn(
5385
+ "[marwes] Skeleton: decorative={false} was passed without ariaLabel. The skeleton stays hidden from assistive technology unless ariaLabel is also provided."
5386
+ );
5387
+ }
5388
+ return {
5389
+ ...options.id ? { id: options.id } : {},
5390
+ ariaHidden: true
5391
+ };
5392
+ }
5393
+
5394
+ // src/components/atoms/skeleton/skeleton-types.ts
5395
+ var SkeletonVariant = {
5396
+ text: "text",
5397
+ circular: "circular",
5398
+ rectangular: "rectangular"
5399
+ };
5400
+ var skeletonVariants = Object.values(SkeletonVariant);
5401
+ var SkeletonAnimation = {
5402
+ pulse: "pulse",
5403
+ wave: "wave",
5404
+ none: "none"
5405
+ };
5406
+ var skeletonAnimations = Object.values(SkeletonAnimation);
5407
+
5408
+ // src/components/atoms/skeleton/skeleton-recipe.ts
5409
+ var FIGMA_TEXT_WIDTH = 120;
5410
+ var FIGMA_TEXT_HEIGHT = 12;
5411
+ var FIGMA_CIRCULAR_SIZE = 40;
5412
+ var FIGMA_RECTANGULAR_SIZE = 120;
5413
+ var FIGMA_RADIUS = 4;
5414
+ function cx11(...parts) {
5415
+ return parts.filter(Boolean).join(" ");
5416
+ }
5417
+ function toCssDimension(value) {
5418
+ if (value === void 0) return void 0;
5419
+ return typeof value === "number" ? `${value}px` : value;
5420
+ }
5421
+ function resolveDefaultWidth(variant) {
5422
+ if (variant === SkeletonVariant.circular) return `${FIGMA_CIRCULAR_SIZE}px`;
5423
+ return `${variant === SkeletonVariant.text ? FIGMA_TEXT_WIDTH : FIGMA_RECTANGULAR_SIZE}px`;
5424
+ }
5425
+ function resolveDefaultHeight(variant) {
5426
+ if (variant === SkeletonVariant.text) return `${FIGMA_TEXT_HEIGHT}px`;
5427
+ if (variant === SkeletonVariant.circular) return `${FIGMA_CIRCULAR_SIZE}px`;
5428
+ return `${FIGMA_RECTANGULAR_SIZE}px`;
5429
+ }
5430
+ function resolveRadius(variant, radius) {
5431
+ if (variant === SkeletonVariant.circular) return "9999px";
5432
+ return toCssDimension(radius) ?? `${FIGMA_RADIUS}px`;
5433
+ }
5434
+ function createSkeletonRecipe(options = {}) {
5435
+ const variant = options.variant ?? SkeletonVariant.text;
5436
+ const animation = options.animation ?? SkeletonAnimation.pulse;
5437
+ return {
5438
+ tag: "span",
5439
+ className: cx11(
5440
+ "mw-skeleton",
5441
+ `mw-skeleton--${variant}`,
5442
+ animation !== SkeletonAnimation.none && `mw-skeleton--${animation}`
5443
+ ),
5444
+ vars: {
5445
+ "--mw-skeleton-width": toCssDimension(options.width) ?? resolveDefaultWidth(variant),
5446
+ "--mw-skeleton-height": toCssDimension(options.height) ?? resolveDefaultHeight(variant),
5447
+ "--mw-skeleton-radius": resolveRadius(variant, options.radius)
5448
+ },
5449
+ a11y: resolveSkeletonA11y(options),
5450
+ dataAttributes: {
5451
+ "data-component": "skeleton",
5452
+ "data-variant": variant,
5453
+ "data-animation": animation
5454
+ }
5455
+ };
5456
+ }
5457
+
5458
+ // src/components/atoms/stat-tile/stat-tile-a11y.ts
5459
+ function resolveStatTileTrendLabel(direction, trendValue) {
5460
+ if (!direction || !trendValue) return void 0;
5461
+ return direction === "positive" ? `Increased by ${trendValue}` : `Decreased by ${trendValue}`;
5462
+ }
5463
+
5464
+ // src/components/atoms/stat-tile/stat-tile-recipe.ts
5465
+ var statTileTones = ["neutral", "brand", "success", "warning", "danger"];
5466
+ function resolveTone2(tone) {
5467
+ return tone && statTileTones.includes(tone) ? tone : "neutral";
5468
+ }
5469
+ function createStatTileRecipe(opts = {}) {
5470
+ const tone = resolveTone2(opts.tone);
5471
+ const trendDirection = opts.trendDirection;
5472
+ const trendClassName = [
5473
+ "mw-stat-tile__trend",
5474
+ trendDirection ? `mw-stat-tile__trend--${trendDirection}` : null
5475
+ ].filter(Boolean).join(" ");
5476
+ const trendAriaLabel = resolveStatTileTrendLabel(trendDirection, opts.trendValue);
5477
+ return {
5478
+ tag: "article",
5479
+ className: ["mw-stat-tile", `mw-stat-tile--${tone}`].join(" "),
5480
+ slots: {
5481
+ headerClassName: "mw-stat-tile__header",
5482
+ labelClassName: "mw-stat-tile__label",
5483
+ trendClassName,
5484
+ trendIconClassName: "mw-stat-tile__trend-icon",
5485
+ trendValueClassName: "mw-stat-tile__trend-value",
5486
+ valueClassName: "mw-stat-tile__value",
5487
+ subtitleClassName: "mw-stat-tile__subtitle"
5488
+ },
5489
+ dataAttributes: {
5490
+ ...opts.dataAttributes,
5491
+ "data-component": "stat-tile",
5492
+ "data-tone": tone,
5493
+ ...trendDirection ? { "data-trend": trendDirection } : {}
5494
+ },
5495
+ trendDataAttributes: {
5496
+ "data-component": "stat-tile-trend",
5497
+ ...trendDirection ? { "data-trend": trendDirection } : {}
5498
+ },
5499
+ trendIcon: trendDirection === "positive" ? "\u2191" : trendDirection === "negative" ? "\u2193" : null,
5500
+ a11y: {
5501
+ ...trendAriaLabel ? { trendAriaLabel } : {}
5502
+ }
5503
+ };
5504
+ }
5505
+
5506
+ // src/components/atoms/date-picker/date-picker-a11y.ts
5507
+ function resolveDatePickerDayLabel(day) {
5508
+ if (day.ariaLabel) return day.ariaLabel;
5509
+ if (day.date) return day.date;
5510
+ return day.label;
5511
+ }
5512
+
5513
+ // src/components/atoms/date-picker/date-picker-recipe.ts
5514
+ var datePickerDevices = ["desktop", "mobile"];
5515
+ var defaultWeekdayLabels = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"];
5516
+ var defaultWeeks = [
5517
+ [
5518
+ { label: "", state: "null" },
5519
+ { label: "", state: "null" },
5520
+ { label: "", state: "null" },
5521
+ { label: "", state: "null" },
5522
+ { label: "", state: "null" },
5523
+ { label: "", state: "null" },
5524
+ { label: "01", date: "2026-03-01" }
5525
+ ],
5526
+ [
5527
+ { label: "02", date: "2026-03-02" },
5528
+ { label: "03", date: "2026-03-03" },
5529
+ { label: "04", date: "2026-03-04", state: "selected" },
5530
+ { label: "05", date: "2026-03-05", state: "range" },
5531
+ { label: "06", date: "2026-03-06", state: "range" },
5532
+ { label: "07", date: "2026-03-07", state: "range" },
5533
+ { label: "08", date: "2026-03-08", state: "selected" }
5534
+ ],
5535
+ [
5536
+ { label: "09", date: "2026-03-09" },
5537
+ { label: "10", date: "2026-03-10" },
5538
+ { label: "11", date: "2026-03-11" },
5539
+ { label: "12", date: "2026-03-12" },
5540
+ { label: "13", date: "2026-03-13" },
5541
+ { label: "14", date: "2026-03-14" },
5542
+ { label: "15", date: "2026-03-15" }
5543
+ ],
5544
+ [
5545
+ { label: "16", date: "2026-03-16" },
5546
+ { label: "17", date: "2026-03-17" },
5547
+ { label: "18", date: "2026-03-18" },
5548
+ { label: "19", date: "2026-03-19" },
5549
+ { label: "20", date: "2026-03-20" },
5550
+ { label: "21", date: "2026-03-21" },
5551
+ { label: "22", date: "2026-03-22" }
5552
+ ],
5553
+ [
5554
+ { label: "23", date: "2026-03-23" },
5555
+ { label: "24", date: "2026-03-24" },
5556
+ { label: "25", date: "2026-03-25" },
5557
+ { label: "26", date: "2026-03-26" },
5558
+ { label: "27", date: "2026-03-27" },
5559
+ { label: "28", date: "2026-03-28" },
5560
+ { label: "29", date: "2026-03-29" }
5561
+ ],
5562
+ [
5563
+ { label: "30", date: "2026-03-30" },
5564
+ { label: "31", date: "2026-03-31" },
5565
+ { label: "", state: "null" },
5566
+ { label: "", state: "null" },
5567
+ { label: "", state: "null" },
5568
+ { label: "", state: "null" },
5569
+ { label: "", state: "null" }
5570
+ ]
5571
+ ];
5572
+ function resolveDevice(device) {
5573
+ return device && datePickerDevices.includes(device) ? device : "desktop";
5574
+ }
5575
+ function createDayKit(day) {
5576
+ const state = day.state ?? "default";
5577
+ const isEmpty = state === "null" || day.label === "";
5578
+ const disabled = state === "disabled" || isEmpty;
5579
+ const selected = state === "selected";
5580
+ return {
5581
+ className: [
5582
+ "mw-date-picker__day",
5583
+ `mw-date-picker__day--${state}`,
5584
+ day.isToday ? "mw-date-picker__day--today" : null
5585
+ ].filter(Boolean).join(" "),
5586
+ dataAttributes: {
5587
+ "data-component": "date-picker-day",
5588
+ "data-state": state,
5589
+ ...day.date ? { "data-date": day.date } : {},
5590
+ ...day.isToday ? { "data-today": "true" } : {}
5591
+ },
5592
+ ariaLabel: resolveDatePickerDayLabel(day),
5593
+ disabled,
5594
+ selected,
5595
+ isEmpty
5596
+ };
5597
+ }
5598
+ function createDatePickerRecipe(opts = {}) {
5599
+ const device = resolveDevice(opts.device);
5600
+ const weeks = opts.weeks ?? defaultWeeks;
5601
+ return {
5602
+ className: ["mw-date-picker", `mw-date-picker--${device}`].join(" "),
5603
+ dataAttributes: {
5604
+ ...opts.dataAttributes,
5605
+ "data-component": "date-picker",
5606
+ "data-device": device
5607
+ },
5608
+ monthLabel: opts.monthLabel ?? "March 2026",
5609
+ weekdayLabels: opts.weekdayLabels ?? defaultWeekdayLabels,
5610
+ weeks,
5611
+ dayKits: weeks.map((week) => week.map(createDayKit)),
5612
+ slots: {
5613
+ headerClassName: "mw-date-picker__header",
5614
+ navGroupClassName: "mw-date-picker__nav-group",
5615
+ navButtonClassName: "mw-date-picker__nav-button",
5616
+ monthLabelClassName: "mw-date-picker__month-label",
5617
+ gridClassName: "mw-date-picker__grid",
5618
+ weekdayClassName: "mw-date-picker__weekday",
5619
+ weekClassName: "mw-date-picker__week",
5620
+ cellClassName: "mw-date-picker__cell",
5621
+ dayClassName: "mw-date-picker__day",
5622
+ footerClassName: "mw-date-picker__footer",
5623
+ footerButtonClassName: "mw-date-picker__footer-button"
5624
+ },
5625
+ labels: {
5626
+ calendar: opts.calendarLabel ?? "Choose date",
5627
+ previousYear: opts.previousYearLabel ?? "Previous year",
5628
+ previousMonth: opts.previousMonthLabel ?? "Previous month",
5629
+ nextMonth: opts.nextMonthLabel ?? "Next month",
5630
+ nextYear: opts.nextYearLabel ?? "Next year",
5631
+ cancel: opts.cancelLabel ?? "Today",
5632
+ apply: opts.applyLabel ?? ""
5633
+ }
5634
+ };
5635
+ }
5636
+
5136
5637
  // src/components/atoms/icon/icon-registry.ts
5137
5638
  var iconRegistry = {
5138
5639
  airplay: {
@@ -9942,7 +10443,7 @@ function resolveIconStrokeWidth(input) {
9942
10443
  var iconNames = iconNamesList;
9943
10444
 
9944
10445
  // src/components/atoms/icon/icon-a11y.ts
9945
- function isDev4() {
10446
+ function isDev5() {
9946
10447
  const p = globalThis.process;
9947
10448
  const nodeEnv = p?.env?.NODE_ENV;
9948
10449
  if (nodeEnv) return nodeEnv !== "production";
@@ -9951,7 +10452,7 @@ function isDev4() {
9951
10452
  if (meta.env?.MODE) return meta.env.MODE !== "production";
9952
10453
  return true;
9953
10454
  }
9954
- var __DEV__4 = isDev4();
10455
+ var __DEV__5 = isDev5();
9955
10456
  function resolveIconA11y(options) {
9956
10457
  if (options.ariaLabel) {
9957
10458
  return {
@@ -9959,7 +10460,7 @@ function resolveIconA11y(options) {
9959
10460
  ariaLabel: options.ariaLabel
9960
10461
  };
9961
10462
  }
9962
- if (__DEV__4 && options.decorative === false) {
10463
+ if (__DEV__5 && options.decorative === false) {
9963
10464
  console.warn(
9964
10465
  "[marwes] Icon: decorative={false} was passed without ariaLabel. The icon stays hidden from assistive technology unless ariaLabel is also provided."
9965
10466
  );
@@ -10061,7 +10562,7 @@ function resolveInputOtpA11y(options) {
10061
10562
  }
10062
10563
 
10063
10564
  // src/components/atoms/input/input-otp-recipe.ts
10064
- function cx11(...parts) {
10565
+ function cx12(...parts) {
10065
10566
  return parts.filter(Boolean).join(" ");
10066
10567
  }
10067
10568
  function sanitizeInputOtpValue(rawValue, length) {
@@ -10097,7 +10598,7 @@ function createInputOtpRecipe(options) {
10097
10598
  };
10098
10599
  return {
10099
10600
  tag: "div",
10100
- className: cx11(
10601
+ className: cx12(
10101
10602
  "mw-input-otp",
10102
10603
  options.invalid && "mw-input-otp--invalid",
10103
10604
  options.disabled && "mw-input-otp--disabled",
@@ -10345,13 +10846,13 @@ function resolveTabA11y(opts) {
10345
10846
  }
10346
10847
 
10347
10848
  // src/components/atoms/tab/tab-recipe.ts
10348
- function cx12(...parts) {
10849
+ function cx13(...parts) {
10349
10850
  return parts.filter(Boolean).join(" ");
10350
10851
  }
10351
10852
  function createTabRecipe(opts) {
10352
10853
  return {
10353
10854
  tag: "button",
10354
- className: cx12(
10855
+ className: cx13(
10355
10856
  "mw-tab",
10356
10857
  opts.selected && "mw-tab--selected",
10357
10858
  opts.disabled && "mw-tab--disabled"
@@ -10553,6 +11054,72 @@ var storybookSpinnerArgTypes = {
10553
11054
  description: "Accessible label for standalone loading indicators"
10554
11055
  }
10555
11056
  };
11057
+ var storybookSkeletonArgTypes = {
11058
+ variant: {
11059
+ control: "select",
11060
+ options: ["text", "circular", "rectangular"],
11061
+ description: "Skeleton shape from the synced Skeleton page"
11062
+ },
11063
+ animation: {
11064
+ control: "select",
11065
+ options: ["pulse", "wave", "none"],
11066
+ description: "Visual loading animation"
11067
+ },
11068
+ width: {
11069
+ control: "text",
11070
+ description: "Width override; numbers in code are treated as pixels"
11071
+ },
11072
+ height: {
11073
+ control: "text",
11074
+ description: "Height override; numbers in code are treated as pixels"
11075
+ },
11076
+ radius: {
11077
+ control: "text",
11078
+ description: "Corner radius override; circular skeletons force a full radius"
11079
+ },
11080
+ decorative: {
11081
+ control: "boolean",
11082
+ description: "Hide the skeleton from assistive technology when surrounding UI already communicates loading"
11083
+ },
11084
+ ariaLabel: {
11085
+ control: "text",
11086
+ description: "Accessible label for standalone loading placeholder groups"
11087
+ }
11088
+ };
11089
+ var storybookStatTileArgTypes = {
11090
+ tone: {
11091
+ control: "select",
11092
+ options: ["neutral", "brand", "success", "warning", "danger"],
11093
+ description: "Color treatment from the synced Stat Tile Figma instances"
11094
+ },
11095
+ trendDirection: {
11096
+ control: "select",
11097
+ options: [void 0, "positive", "negative"],
11098
+ description: "Trend direction for the compact trend pill"
11099
+ },
11100
+ trendValue: {
11101
+ control: "text",
11102
+ description: "Compact trend value, for example 12%"
11103
+ },
11104
+ label: { control: "text" },
11105
+ value: { control: "text" },
11106
+ subtitle: { control: "text" }
11107
+ };
11108
+ var storybookDatePickerArgTypes = {
11109
+ device: {
11110
+ control: "select",
11111
+ options: ["desktop", "mobile"],
11112
+ description: "Device variant from the synced Date Picker Figma component set"
11113
+ },
11114
+ monthLabel: { control: "text" },
11115
+ calendarLabel: { control: "text" },
11116
+ previousYearLabel: { control: "text" },
11117
+ previousMonthLabel: { control: "text" },
11118
+ nextMonthLabel: { control: "text" },
11119
+ nextYearLabel: { control: "text" },
11120
+ cancelLabel: { control: "text" },
11121
+ applyLabel: { control: "text" }
11122
+ };
10556
11123
  var storybookSpacingArgTypes = {
10557
11124
  size: {
10558
11125
  control: "select",
@@ -10646,6 +11213,6 @@ var storybookDocsDescription = {
10646
11213
  colors: "Complete color palette from the design system. Semantic roles map to CSS variables, with label colors auto-derived by default and overrideable for brand-specific fills."
10647
11214
  };
10648
11215
 
10649
- export { AvatarSize, AvatarType, BadgeVariant, ButtonAction, ButtonSize, ButtonVariant, DENSITY_SCALES, IconName, Spacings, SpinnerVariant, SpinnerVariants, SwitchSize, ThemeMode, accordionPurposeComponentReference, accordionWhyPurposeComponents, avatarPurposeSemantics, avatarPurposes, badgePurposeComponentReference, badgePurposeSemantics, badgePurposes, badgeWhyPurposeComponents, buildAccordionFieldA11yIds, buildCheckboxA11y, buildCheckboxFieldA11yIds, buildCheckboxGroupFieldA11yIds, buildCurrencyHelperText, buildGoogleFontsUrl, buildHeadingA11y, buildInputFieldA11yIds, buildRadioA11y, buildRadioGroupFieldA11yIds, buildRichTextFieldA11yIds, buildSliderFieldA11yIds, buildSwitchFieldA11yIds, buildTabGroupA11yIds, buttonActionSemanticPurposes, buttonPurposeSemantics, buttonPurposes, buttonVariantVisualStyles, buttonWhySemanticComponents, canonicalSemanticAttributeNames, canonicalSemanticAttributeRegistry, canonicalSemanticAttributes, cardPurposeComponentReference, cardWhyPurposeComponents, checkboxRecipe, createAccordionRecipe, createAvatarRecipe, createBadgeRecipe, createButtonRecipe, createCardRecipe, createDialogRecipe, createDividerRecipe, createFamilySemanticAttributes, createFontStack, createIconRecipe, createInputOtpRecipe, createInputRecipe, createMarwesThemeScript, createMarwesThemeStyle, createPurposeSemanticAttributes, createRichTextRecipe, createSelectRecipe, createSliderRecipe, createSpacingRecipe, createSpinnerRecipe, createSwitchRecipe, createTabRecipe, createTextareaRecipe, createToastRecipe, createTooltipRecipe, currencyCodes, darkThemeDefaults, densityToCSSVars, dialogPurposeComponentReference, dialogPurposeSemantics, dialogPurposes, dialogWhyPurposeComponents, emptySemanticAttributes, escapeRichTextHtml, extractFontFamilyName, extractUsedWeights, familySemanticsRegistry, fieldComparisonRows, fieldWhyPurposeComponents, filterUndefinedSemanticAttributes, getCurrencySymbol, headingRecipe, iconNames, iconNamesList, iconRegistry, iconSizeScale, iconStrokeWidthScale, isRichTextHtmlEmpty, isSystemFont, isThemeMode, isThemePreference, lightThemeDefaults, mergeIdRefs, mergeSemanticAttributes, moveTabSelection, mwAvailableFonts, mwFontFallbacks, mwGoogleFontFamilies, mwStyledTheme, mwThemeVarNames, mwThemeVars, mwVar, nextThemeMode, normalizeRichTextHtml, paragraphRecipe, purposeSemanticsRegistry, radioPurposeComponentReference, radioRecipe, radioWhyPurposeComponents, resolveAccordionA11y, resolveAvatarA11y, resolveBadgeA11y, resolveButtonLoading, resolveDialogA11y, resolveIconA11y, resolveIconSize, resolveIconStrokeWidth, resolveRichTextAllowedFormats, resolveSelectMode, resolveServerThemeMode, resolveSliderA11y, resolveSpinnerA11y, resolveSpinnerSize, resolveSwitchA11y, resolveTabA11y, resolveTabValue, resolveThemeInput, resolveThemePreference, resolveToastA11y, resolveTone, resolveTooltipA11y, richTextCommandByFormat, richTextFormattingReference, richTextWhyUseIt, sanitizeCurrencyValue, sanitizeInputOtpValue, semanticFamilies, semanticFrameworkSupport, semanticIntents, semanticLayers, semanticOrientations, semanticOutcomes, semanticPurposes, shouldLoadGoogleFont, sliderPurposeComponentReference, sliderWhyPurposeComponents, spinnerSizeScale, spinnerSizes, spinnerVariants, storybookA11yPolicy, storybookButtonGeneralArgTypes, storybookButtonIconArgTypes, storybookButtonPurposeArgTypes, storybookCheckboxArgTypes, storybookDividerArgTypes, storybookDocsDescription, storybookIconGalleryArgTypes, storybookIconGalleryDefaults, storybookIconNames, storybookLayout, storybookOptionalIconNames, storybookRadioArgTypes, storybookSliderArgTypes, storybookSpacingArgTypes, storybookSpinnerArgTypes, switchPurposeComponentReference, switchWhyPurposeComponents, tabPurposeComponentReference, tabWhyPurposeComponents, themeModesToCSSRules, themeToCSSRule, themeToCSSVars, toastPurposeComponentReference, toastPurposeSemantics, toastPurposes, toastWhyPurposeComponents, validateSemanticRegistry };
11216
+ export { AvatarSize, AvatarType, BadgeVariant, ButtonAction, ButtonSize, ButtonVariant, DENSITY_SCALES, IconName, SkeletonAnimation, SkeletonVariant, Spacings, SpinnerVariant, SpinnerVariants, SwitchSize, ThemeMode, accordionPurposeComponentReference, accordionWhyPurposeComponents, avatarPurposeSemantics, avatarPurposes, badgePurposeComponentReference, badgePurposeSemantics, badgePurposes, badgeWhyPurposeComponents, buildAccordionFieldA11yIds, buildCheckboxA11y, buildCheckboxFieldA11yIds, buildCheckboxGroupFieldA11yIds, buildCurrencyHelperText, buildGoogleFontsUrl, buildHeadingA11y, buildInputFieldA11yIds, buildRadioA11y, buildRadioGroupFieldA11yIds, buildRichTextFieldA11yIds, buildSliderFieldA11yIds, buildSwitchFieldA11yIds, buildTabGroupA11yIds, buttonActionSemanticPurposes, buttonPurposeSemantics, buttonPurposes, buttonVariantVisualStyles, buttonWhySemanticComponents, canonicalSemanticAttributeNames, canonicalSemanticAttributeRegistry, canonicalSemanticAttributes, cardPurposeComponentReference, cardWhyPurposeComponents, checkboxRecipe, createAccordionRecipe, createAvatarRecipe, createBadgeRecipe, createButtonRecipe, createCardRecipe, createDatePickerRecipe, createDialogRecipe, createDividerRecipe, createFamilySemanticAttributes, createFontStack, createIconRecipe, createInputOtpRecipe, createInputRecipe, createMarwesThemeScript, createMarwesThemeStyle, createPurposeSemanticAttributes, createRichTextRecipe, createSelectRecipe, createSkeletonRecipe, createSliderRecipe, createSpacingRecipe, createSpinnerRecipe, createStatTileRecipe, createSwitchRecipe, createTabRecipe, createTextareaRecipe, createToastRecipe, createTooltipRecipe, currencyCodes, darkThemeDefaults, densityToCSSVars, dialogPurposeComponentReference, dialogPurposeSemantics, dialogPurposes, dialogWhyPurposeComponents, emptySemanticAttributes, escapeRichTextHtml, extractFontFamilyName, extractUsedWeights, familySemanticsRegistry, fieldComparisonRows, fieldWhyPurposeComponents, filterUndefinedSemanticAttributes, getCurrencySymbol, headingRecipe, iconNames, iconNamesList, iconRegistry, iconSizeScale, iconStrokeWidthScale, isRichTextHtmlEmpty, isSystemFont, isThemeMode, isThemePreference, lightThemeDefaults, mergeIdRefs, mergeSemanticAttributes, moveTabSelection, mwAvailableFonts, mwFontFallbacks, mwGoogleFontFamilies, mwStyledTheme, mwThemeVarNames, mwThemeVars, mwVar, nextThemeMode, normalizeRichTextHtml, paragraphRecipe, purposeSemanticsRegistry, radioPurposeComponentReference, radioRecipe, radioWhyPurposeComponents, resolveAccordionA11y, resolveAvatarA11y, resolveBadgeA11y, resolveButtonLoading, resolveDatePickerDayLabel, resolveDialogA11y, resolveIconA11y, resolveIconSize, resolveIconStrokeWidth, resolveRichTextAllowedFormats, resolveSelectMode, resolveServerThemeMode, resolveSkeletonA11y, resolveSliderA11y, resolveSpinnerA11y, resolveSpinnerSize, resolveStatTileTrendLabel, resolveSwitchA11y, resolveTabA11y, resolveTabValue, resolveThemeInput, resolveThemePreference, resolveToastA11y, resolveTone, resolveTooltipA11y, richTextCommandByFormat, richTextFormattingReference, richTextWhyUseIt, sanitizeCurrencyValue, sanitizeInputOtpValue, semanticFamilies, semanticFrameworkSupport, semanticIntents, semanticLayers, semanticOrientations, semanticOutcomes, semanticPurposes, shouldLoadGoogleFont, skeletonAnimations, skeletonVariants, sliderPurposeComponentReference, sliderWhyPurposeComponents, spinnerSizeScale, spinnerSizes, spinnerVariants, storybookA11yPolicy, storybookButtonGeneralArgTypes, storybookButtonIconArgTypes, storybookButtonPurposeArgTypes, storybookCheckboxArgTypes, storybookDatePickerArgTypes, storybookDividerArgTypes, storybookDocsDescription, storybookIconGalleryArgTypes, storybookIconGalleryDefaults, storybookIconNames, storybookLayout, storybookOptionalIconNames, storybookRadioArgTypes, storybookSkeletonArgTypes, storybookSliderArgTypes, storybookSpacingArgTypes, storybookSpinnerArgTypes, storybookStatTileArgTypes, switchPurposeComponentReference, switchWhyPurposeComponents, tabPurposeComponentReference, tabWhyPurposeComponents, themeModesToCSSRules, themeToCSSRule, themeToCSSVars, toastPurposeComponentReference, toastPurposeSemantics, toastPurposes, toastWhyPurposeComponents, validateSemanticRegistry };
10650
11217
  //# sourceMappingURL=index.js.map
10651
11218
  //# sourceMappingURL=index.js.map