@urbicon-ui/blocks 6.33.0 → 6.35.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.
Files changed (49) hide show
  1. package/README.md +11 -1
  2. package/dist/components/Calendar/CalendarHeader.svelte +32 -26
  3. package/dist/components/Calendar/CalendarMiniMonth.svelte +10 -10
  4. package/dist/components/Calendar/calendar.variants.d.ts +63 -63
  5. package/dist/components/Calendar/calendar.variants.js +19 -5
  6. package/dist/components/FileUpload/FileUpload.svelte +17 -2
  7. package/dist/components/Planner/PlannerHeader.svelte +16 -13
  8. package/dist/components/Planner/planner.variants.js +14 -3
  9. package/dist/i18n/index.d.ts +467 -205
  10. package/dist/i18n/index.js +83 -9
  11. package/dist/internal/core/CoreIconButton.svelte +66 -0
  12. package/dist/internal/core/CoreIconButton.svelte.d.ts +13 -0
  13. package/dist/internal/core/CoreSpinner.svelte +49 -0
  14. package/dist/internal/core/CoreSpinner.svelte.d.ts +8 -0
  15. package/dist/internal/core/spinner-geometry.d.ts +6 -0
  16. package/dist/internal/core/spinner-geometry.js +6 -0
  17. package/dist/mint/README.md +33 -0
  18. package/dist/mint/compose.d.ts +7 -1
  19. package/dist/mint/compose.js +35 -8
  20. package/dist/mint/engine.d.ts +34 -0
  21. package/dist/mint/engine.js +106 -0
  22. package/dist/mint/index.d.ts +2 -2
  23. package/dist/mint/index.js +1 -1
  24. package/dist/mint/micro-interactions.d.ts +9 -3
  25. package/dist/mint/micro-interactions.js +18 -87
  26. package/dist/mint/presets.d.ts +7 -1
  27. package/dist/mint/presets.js +9 -3
  28. package/dist/mint/registry.d.ts +61 -4
  29. package/dist/mint/registry.js +99 -28
  30. package/dist/mint/ripple.js +1 -1
  31. package/dist/primitives/Alert/alert.variants.d.ts +8 -8
  32. package/dist/primitives/Badge/Badge.svelte +5 -5
  33. package/dist/primitives/Badge/badge.variants.js +17 -1
  34. package/dist/primitives/Button/Button.svelte +9 -3
  35. package/dist/primitives/Dialog/Dialog.svelte +7 -5
  36. package/dist/primitives/Dialog/dialog.variants.d.ts +7 -0
  37. package/dist/primitives/Dialog/dialog.variants.js +17 -0
  38. package/dist/primitives/Drawer/Drawer.svelte +7 -5
  39. package/dist/primitives/Drawer/drawer.variants.d.ts +8 -0
  40. package/dist/primitives/Drawer/drawer.variants.js +17 -0
  41. package/dist/primitives/JourneyTimeline/journey-timeline.variants.d.ts +22 -22
  42. package/dist/primitives/Spinner/Spinner.svelte +3 -1
  43. package/dist/primitives/Spinner/spinner.variants.d.ts +16 -16
  44. package/dist/primitives/Stepper/stepper.variants.d.ts +11 -11
  45. package/dist/primitives/Toast/Toaster.svelte +17 -2
  46. package/dist/primitives/Toast/toast.variants.d.ts +12 -12
  47. package/dist/primitives/Tooltip/tooltip.variants.d.ts +3 -3
  48. package/dist/utils/variants.js +44 -10
  49. package/package.json +4 -6
@@ -4,7 +4,7 @@ export declare const stepperVariants: ((props?: {
4
4
  orientation?: "horizontal" | "vertical" | undefined;
5
5
  size?: "sm" | "md" | "lg" | undefined;
6
6
  variant?: "default" | "outlined" | "minimal" | undefined;
7
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
7
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
8
8
  clickable?: boolean | undefined;
9
9
  stepDisabled?: boolean | undefined;
10
10
  separatorComplete?: boolean | undefined;
@@ -14,7 +14,7 @@ export declare const stepperVariants: ((props?: {
14
14
  orientation?: "horizontal" | "vertical" | undefined;
15
15
  size?: "sm" | "md" | "lg" | undefined;
16
16
  variant?: "default" | "outlined" | "minimal" | undefined;
17
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
17
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
18
18
  clickable?: boolean | undefined;
19
19
  stepDisabled?: boolean | undefined;
20
20
  separatorComplete?: boolean | undefined;
@@ -26,7 +26,7 @@ export declare const stepperVariants: ((props?: {
26
26
  orientation?: "horizontal" | "vertical" | undefined;
27
27
  size?: "sm" | "md" | "lg" | undefined;
28
28
  variant?: "default" | "outlined" | "minimal" | undefined;
29
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
29
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
30
30
  clickable?: boolean | undefined;
31
31
  stepDisabled?: boolean | undefined;
32
32
  separatorComplete?: boolean | undefined;
@@ -38,7 +38,7 @@ export declare const stepperVariants: ((props?: {
38
38
  orientation?: "horizontal" | "vertical" | undefined;
39
39
  size?: "sm" | "md" | "lg" | undefined;
40
40
  variant?: "default" | "outlined" | "minimal" | undefined;
41
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
41
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
42
42
  clickable?: boolean | undefined;
43
43
  stepDisabled?: boolean | undefined;
44
44
  separatorComplete?: boolean | undefined;
@@ -50,7 +50,7 @@ export declare const stepperVariants: ((props?: {
50
50
  orientation?: "horizontal" | "vertical" | undefined;
51
51
  size?: "sm" | "md" | "lg" | undefined;
52
52
  variant?: "default" | "outlined" | "minimal" | undefined;
53
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
53
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
54
54
  clickable?: boolean | undefined;
55
55
  stepDisabled?: boolean | undefined;
56
56
  separatorComplete?: boolean | undefined;
@@ -62,7 +62,7 @@ export declare const stepperVariants: ((props?: {
62
62
  orientation?: "horizontal" | "vertical" | undefined;
63
63
  size?: "sm" | "md" | "lg" | undefined;
64
64
  variant?: "default" | "outlined" | "minimal" | undefined;
65
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
65
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
66
66
  clickable?: boolean | undefined;
67
67
  stepDisabled?: boolean | undefined;
68
68
  separatorComplete?: boolean | undefined;
@@ -74,7 +74,7 @@ export declare const stepperVariants: ((props?: {
74
74
  orientation?: "horizontal" | "vertical" | undefined;
75
75
  size?: "sm" | "md" | "lg" | undefined;
76
76
  variant?: "default" | "outlined" | "minimal" | undefined;
77
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
77
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
78
78
  clickable?: boolean | undefined;
79
79
  stepDisabled?: boolean | undefined;
80
80
  separatorComplete?: boolean | undefined;
@@ -86,7 +86,7 @@ export declare const stepperVariants: ((props?: {
86
86
  orientation?: "horizontal" | "vertical" | undefined;
87
87
  size?: "sm" | "md" | "lg" | undefined;
88
88
  variant?: "default" | "outlined" | "minimal" | undefined;
89
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
89
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
90
90
  clickable?: boolean | undefined;
91
91
  stepDisabled?: boolean | undefined;
92
92
  separatorComplete?: boolean | undefined;
@@ -98,7 +98,7 @@ export declare const stepperVariants: ((props?: {
98
98
  orientation?: "horizontal" | "vertical" | undefined;
99
99
  size?: "sm" | "md" | "lg" | undefined;
100
100
  variant?: "default" | "outlined" | "minimal" | undefined;
101
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
101
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
102
102
  clickable?: boolean | undefined;
103
103
  stepDisabled?: boolean | undefined;
104
104
  separatorComplete?: boolean | undefined;
@@ -110,7 +110,7 @@ export declare const stepperVariants: ((props?: {
110
110
  orientation?: "horizontal" | "vertical" | undefined;
111
111
  size?: "sm" | "md" | "lg" | undefined;
112
112
  variant?: "default" | "outlined" | "minimal" | undefined;
113
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
113
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
114
114
  clickable?: boolean | undefined;
115
115
  stepDisabled?: boolean | undefined;
116
116
  separatorComplete?: boolean | undefined;
@@ -122,7 +122,7 @@ export declare const stepperVariants: ((props?: {
122
122
  orientation?: "horizontal" | "vertical" | undefined;
123
123
  size?: "sm" | "md" | "lg" | undefined;
124
124
  variant?: "default" | "outlined" | "minimal" | undefined;
125
- stepState?: "error" | "warning" | "active" | "inactive" | "complete" | undefined;
125
+ stepState?: "complete" | "active" | "error" | "warning" | "inactive" | undefined;
126
126
  clickable?: boolean | undefined;
127
127
  stepDisabled?: boolean | undefined;
128
128
  separatorComplete?: boolean | undefined;
@@ -12,7 +12,8 @@
12
12
  import WarningTriangleIconDefault from '../../icons/WarningTriangleIcon.svelte';
13
13
  import DangerCircleIconDefault from '../../icons/DangerCircleIcon.svelte';
14
14
  import { getBlocksConfig, resolveSlotClasses } from '../../provider';
15
- import Spinner from '../Spinner/Spinner.svelte';
15
+ // internal core, not the public component — keeps the public-to-public import graph clean (see internal/core/)
16
+ import CoreSpinner from '../../internal/core/CoreSpinner.svelte';
16
17
  import type { ToastData, ToastProps } from './index';
17
18
 
18
19
  const bt = useBlocksI18n();
@@ -220,7 +221,21 @@
220
221
  transition:fly={flyParams()}
221
222
  >
222
223
  {#if toast.loading}
223
- <span class={slot('icon', toast.intent)}><Spinner size="sm" /></span>
224
+ <!--
225
+ CoreSpinner instead of the public Spinner (see internal/core/).
226
+ Deliberate a11y delta: the old embedded Spinner emitted role="status" +
227
+ aria-live + an sr-only "Loading..." label — a live region NESTED inside
228
+ the toast's own role="alert" region. The core emits no semantics; the
229
+ toast region owns the announcement. `text-primary` pins the old look:
230
+ the public Spinner's intent DEFAULTED to primary, so the loading glyph
231
+ always rendered primary regardless of the toast intent (whether it
232
+ should follow the intent instead is logged in technical-debt.md). It
233
+ wins the color duel against the core's `text-current` by stylesheet
234
+ order (theme color utilities sort after keyword colors).
235
+ -->
236
+ <span class={slot('icon', toast.intent)}
237
+ ><CoreSpinner size="sm" class="text-primary" /></span
238
+ >
224
239
  {:else}
225
240
  <IntentIcon class={slot('icon', toast.intent)} />
226
241
  {/if}
@@ -1,70 +1,70 @@
1
1
  import { type SlotNames, type VariantProps } from '../../utils/variants.js';
2
2
  export declare const toastVariants: ((props?: {
3
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
3
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
4
4
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
5
5
  } | undefined) => {
6
6
  container: (props?: ({
7
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
7
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
8
8
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
9
9
  } & {
10
10
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
11
11
  }) | undefined) => string;
12
12
  toast: (props?: ({
13
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
13
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
14
14
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
15
15
  } & {
16
16
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
17
17
  }) | undefined) => string;
18
18
  icon: (props?: ({
19
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
19
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
20
20
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
21
21
  } & {
22
22
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
23
23
  }) | undefined) => string;
24
24
  content: (props?: ({
25
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
25
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
26
26
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
27
27
  } & {
28
28
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
29
29
  }) | undefined) => string;
30
30
  title: (props?: ({
31
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
31
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
32
32
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
33
33
  } & {
34
34
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
35
35
  }) | undefined) => string;
36
36
  description: (props?: ({
37
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
37
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
38
38
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
39
39
  } & {
40
40
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
41
41
  }) | undefined) => string;
42
42
  actions: (props?: ({
43
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
43
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
44
44
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
45
45
  } & {
46
46
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
47
47
  }) | undefined) => string;
48
48
  actionButton: (props?: ({
49
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
49
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
50
50
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
51
51
  } & {
52
52
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
53
53
  }) | undefined) => string;
54
54
  cancelButton: (props?: ({
55
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
55
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
56
56
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
57
57
  } & {
58
58
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
59
59
  }) | undefined) => string;
60
60
  dismissButton: (props?: ({
61
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
61
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
62
62
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
63
63
  } & {
64
64
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
65
65
  }) | undefined) => string;
66
66
  progress: (props?: ({
67
- intent?: "primary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
67
+ intent?: "info" | "primary" | "success" | "warning" | "danger" | "neutral" | undefined;
68
68
  placement?: "bottom-right" | "top-right" | "bottom-left" | "top-left" | "top-center" | "bottom-center" | undefined;
69
69
  } & {
70
70
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
@@ -1,19 +1,19 @@
1
1
  import { type SlotNames, type VariantProps } from '../../utils/variants.js';
2
2
  export declare const tooltipVariants: ((props?: {
3
3
  open?: boolean | undefined;
4
- intent?: "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
4
+ intent?: "info" | "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
5
5
  size?: "sm" | "md" | "lg" | undefined;
6
6
  } | undefined) => {
7
7
  base: (props?: ({
8
8
  open?: boolean | undefined;
9
- intent?: "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
9
+ intent?: "info" | "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
10
10
  size?: "sm" | "md" | "lg" | undefined;
11
11
  } & {
12
12
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
13
13
  }) | undefined) => string;
14
14
  arrow: (props?: ({
15
15
  open?: boolean | undefined;
16
- intent?: "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "neutral" | undefined;
16
+ intent?: "info" | "primary" | "secondary" | "success" | "warning" | "danger" | "neutral" | undefined;
17
17
  size?: "sm" | "md" | "lg" | undefined;
18
18
  } & {
19
19
  class?: string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | (string | number | false | /*elided*/ any | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined)[] | Record<string, boolean | null | undefined> | null | undefined;
@@ -623,6 +623,20 @@ function resolveClassValue(value) {
623
623
  * time layer (ValidSlotVariants, VariantPropsMap) catches the same class of
624
624
  * mistakes for literal configs; this covers JS consumers and values built
625
625
  * from imported constants.
626
+ *
627
+ * Error codes (prod builds throw the bare code to keep message bytes out of
628
+ * consumer bundles; reproduce in dev for the full message. Codes are stable —
629
+ * never renumber, append only):
630
+ * - tv:E1 — `base` and `slots` are mutually exclusive
631
+ * - tv:E2 — plain class value routes to 'base', but no 'base' slot is declared
632
+ * - tv:E3 — class leaf is not a string / nested array of strings
633
+ * - tv:E4 — slot map given, but this tv() declares no slots
634
+ * - tv:E5 — value targets an undeclared slot name
635
+ * - tv:E6 — value is neither class string, array nor slot map
636
+ * - tv:E7 — compoundVariants references an unknown variant axis
637
+ * - tv:E8 — compoundVariants matches a value the axis does not declare
638
+ * - tv:E9 — defaultVariants references an unknown variant axis
639
+ * - tv:E10 — defaultVariants value is not declared on its axis
626
640
  */
627
641
  function validateTvConfig(config) {
628
642
  const { base, slots, variants = {}, compoundVariants = [], defaultVariants = {} } = config;
@@ -630,11 +644,15 @@ function validateTvConfig(config) {
630
644
  if (slotNames && base != null) {
631
645
  // Fail loud instead of the historical silent drop (base only ever
632
646
  // reached a slot literally named 'base').
633
- throw new Error('tv(): `base` and `slots` are mutually exclusive — declare the primary slot as `slots.base` instead.');
647
+ throw new Error(import.meta.env?.DEV
648
+ ? 'tv(): `base` and `slots` are mutually exclusive — declare the primary slot as `slots.base` instead.'
649
+ : 'tv:E1');
634
650
  }
635
651
  const requireBaseSlot = (context) => {
636
652
  if (slotNames && !slotNames.includes('base')) {
637
- throw new Error(`tv(): ${context} is a plain class value, which routes to the 'base' slot — but no slot named 'base' is declared.`);
653
+ throw new Error(import.meta.env?.DEV
654
+ ? `tv(): ${context} is a plain class value, which routes to the 'base' slot — but no slot named 'base' is declared.`
655
+ : 'tv:E2');
638
656
  }
639
657
  };
640
658
  // Leaf values must bottom out in class strings (nested arrays allowed,
@@ -652,7 +670,9 @@ function validateTvConfig(config) {
652
670
  }
653
671
  return;
654
672
  }
655
- throw new Error(`tv(): ${context} must be a class string (or nested array of strings), got ${typeof value}.`);
673
+ throw new Error(import.meta.env?.DEV
674
+ ? `tv(): ${context} must be a class string (or nested array of strings), got ${typeof value}.`
675
+ : 'tv:E3');
656
676
  };
657
677
  const checkSlotKeys = (value, context) => {
658
678
  if (value == null)
@@ -665,17 +685,23 @@ function validateTvConfig(config) {
665
685
  }
666
686
  if (typeof value === 'object') {
667
687
  if (!slotNames) {
668
- throw new Error(`tv(): ${context} is a slot map, but this tv() declares no slots — use a plain class string/array.`);
688
+ throw new Error(import.meta.env?.DEV
689
+ ? `tv(): ${context} is a slot map, but this tv() declares no slots — use a plain class string/array.`
690
+ : 'tv:E4');
669
691
  }
670
692
  for (const key of Object.keys(value)) {
671
693
  if (!slotNames.includes(key)) {
672
- throw new Error(`tv(): ${context} targets unknown slot '${key}' (declared slots: ${slotNames.join(', ')}).`);
694
+ throw new Error(import.meta.env?.DEV
695
+ ? `tv(): ${context} targets unknown slot '${key}' (declared slots: ${slotNames.join(', ')}).`
696
+ : 'tv:E5');
673
697
  }
674
698
  checkClassLeaf(value[key], `${context}.${key}`);
675
699
  }
676
700
  return;
677
701
  }
678
- throw new Error(`tv(): ${context} must be a class string, array or slot map, got ${typeof value}.`);
702
+ throw new Error(import.meta.env?.DEV
703
+ ? `tv(): ${context} must be a class string, array or slot map, got ${typeof value}.`
704
+ : 'tv:E6');
679
705
  };
680
706
  for (const [axis, values] of Object.entries(variants)) {
681
707
  for (const [valueName, value] of Object.entries(values)) {
@@ -688,7 +714,9 @@ function validateTvConfig(config) {
688
714
  continue;
689
715
  const axis = variants[key];
690
716
  if (axis == null) {
691
- throw new Error(`tv(): compoundVariants[${i}] references unknown variant axis '${key}'.`);
717
+ throw new Error(import.meta.env?.DEV
718
+ ? `tv(): compoundVariants[${i}] references unknown variant axis '${key}'.`
719
+ : 'tv:E7');
692
720
  }
693
721
  const constraint = cv[key];
694
722
  const values = Array.isArray(constraint) ? constraint : [constraint];
@@ -703,7 +731,9 @@ function validateTvConfig(config) {
703
731
  if ((normalized === 'true' || normalized === 'false') && booleanAxis)
704
732
  continue;
705
733
  if (normalized == null || !(normalized in axis)) {
706
- throw new Error(`tv(): compoundVariants[${i}] matches '${key}: ${String(v)}', but axis '${key}' declares no such value (values: ${Object.keys(axis).join(', ')}).`);
734
+ throw new Error(import.meta.env?.DEV
735
+ ? `tv(): compoundVariants[${i}] matches '${key}: ${String(v)}', but axis '${key}' declares no such value (values: ${Object.keys(axis).join(', ')}).`
736
+ : 'tv:E8');
707
737
  }
708
738
  }
709
739
  }
@@ -712,14 +742,18 @@ function validateTvConfig(config) {
712
742
  for (const [key, value] of Object.entries(defaultVariants)) {
713
743
  const axis = variants[key];
714
744
  if (axis == null) {
715
- throw new Error(`tv(): defaultVariants references unknown variant axis '${key}'.`);
745
+ throw new Error(import.meta.env?.DEV
746
+ ? `tv(): defaultVariants references unknown variant axis '${key}'.`
747
+ : 'tv:E9');
716
748
  }
717
749
  const normalized = falsyToString(value);
718
750
  const booleanAxis = 'true' in axis || 'false' in axis;
719
751
  if ((normalized === 'true' || normalized === 'false') && booleanAxis)
720
752
  continue;
721
753
  if (normalized == null || !(normalized in axis)) {
722
- throw new Error(`tv(): defaultVariants.${key} = '${String(value)}' is not a declared value of axis '${key}' (values: ${Object.keys(axis).join(', ')}).`);
754
+ throw new Error(import.meta.env?.DEV
755
+ ? `tv(): defaultVariants.${key} = '${String(value)}' is not a declared value of axis '${key}' (values: ${Object.keys(axis).join(', ')}).`
756
+ : 'tv:E10');
723
757
  }
724
758
  }
725
759
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@urbicon-ui/blocks",
3
- "version": "6.33.0",
3
+ "version": "6.35.0",
4
4
  "description": "Svelte 5 UI component library with Tailwind CSS 4, OKLCH design tokens and zero runtime dependencies",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -79,9 +79,7 @@
79
79
  },
80
80
  "sideEffects": [
81
81
  "./src/**/*.css",
82
- "./dist/**/*.css",
83
- "./dist/i18n/index.js",
84
- "./dist/i18n/index.d.ts"
82
+ "./dist/**/*.css"
85
83
  ],
86
84
  "peerDependencies": {
87
85
  "svelte": "^5.56.4",
@@ -95,8 +93,8 @@
95
93
  "@sveltejs/package": "^2.5.8",
96
94
  "@sveltejs/vite-plugin-svelte": "^7.0.0",
97
95
  "@tailwindcss/vite": "^4.3.1",
98
- "@urbicon-ui/i18n": "6.33.0",
99
- "@urbicon-ui/shared-types": "6.33.0",
96
+ "@urbicon-ui/i18n": "6.35.0",
97
+ "@urbicon-ui/shared-types": "6.35.0",
100
98
  "prettier": "^3.8.4",
101
99
  "prettier-plugin-svelte": "^4.1.1",
102
100
  "prettier-plugin-tailwindcss": "^0.8.0",