@insymetri/styleguide 0.1.85 → 0.1.86

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 (34) hide show
  1. package/dist/IIAlert/IIAlert.svelte +2 -2
  2. package/dist/IIBadge/IIBadge.svelte +12 -12
  3. package/dist/IIBadge/IIBadgeStories.svelte +83 -0
  4. package/dist/IIBadge/IIBadgeStories.svelte.d.ts +18 -0
  5. package/dist/IIButton/IIButton.svelte +1 -1
  6. package/dist/IICalendar/IICalendarGrid.svelte +1 -1
  7. package/dist/IICheckbox/IICheckbox.svelte +3 -3
  8. package/dist/IICheckboxList/IICheckboxList.svelte +1 -1
  9. package/dist/IICombobox/IICombobox.svelte +2 -2
  10. package/dist/IIDateInput/IIDateInput.svelte +1 -1
  11. package/dist/IIDropdownInput/IIDropdownInput.svelte +1 -1
  12. package/dist/IIEditableBadges/IIEditableBadges.svelte +3 -19
  13. package/dist/IIEditableText/IIEditableText.svelte +1 -1
  14. package/dist/IIIconButton/IIIconButton.svelte +1 -1
  15. package/dist/IIInput/IIInput.svelte +3 -3
  16. package/dist/IIMenu/IIMenu.svelte +1 -1
  17. package/dist/IIMultiSelect/IIMultiSelect.svelte +2 -2
  18. package/dist/IIOverflowActions/IIOverflowActions.svelte +2 -2
  19. package/dist/IIPillTabs/IIPillTabs.svelte +2 -2
  20. package/dist/IIStatusBadge/IIStatusBadge.svelte +4 -4
  21. package/dist/IISwitch/IISwitch.svelte +3 -3
  22. package/dist/IITabBar/IITabBar.svelte +2 -2
  23. package/dist/IITextarea/IITextarea.svelte +1 -1
  24. package/dist/IIToggle/IIToggle.svelte +1 -1
  25. package/dist/IITooltip/IITooltip.svelte +1 -1
  26. package/dist/IIViewFilterChip/IIViewFilterChip.svelte +1 -1
  27. package/dist/style/colors.css +41 -41
  28. package/dist/style/tailwind/colors.d.ts +0 -1
  29. package/dist/style/tailwind/colors.js +40 -41
  30. package/dist/style/tailwind/preset.d.ts +0 -1
  31. package/dist/style/themes.css +21 -21
  32. package/dist/utils/menu/menu-styles.d.ts +1 -1
  33. package/dist/utils/menu/menu-styles.js +1 -1
  34. package/package.json +1 -1
@@ -35,7 +35,7 @@
35
35
  </script>
36
36
 
37
37
  {#if !dismissed}
38
- <div class={cn('flex gap-12 p-12 rounded-8 border', config.bg, config.border, className)} role="alert">
38
+ <div class={cn('flex gap-12 p-12 rounded-10 border', config.bg, config.border, className)} role="alert">
39
39
  <IIIcon iconName={config.icon} size="lg" class={cn('mt-1', config.text)} />
40
40
  <div class="flex-auto min-w-0">
41
41
  {#if title}
@@ -48,7 +48,7 @@
48
48
  {#if dismissible}
49
49
  <button
50
50
  type="button"
51
- class="shrink-0 p-4 rounded-4 text-secondary hover:bg-hover-overlay transition-colors duration-fast cursor-default"
51
+ class="shrink-0 p-4 rounded-6 text-secondary hover:bg-hover-overlay transition-colors duration-fast cursor-default"
52
52
  onclick={handleDismiss}
53
53
  aria-label="Dismiss"
54
54
  >
@@ -15,17 +15,17 @@
15
15
  let {variant = 'grey', size = 'md', children, class: className}: Props = $props()
16
16
 
17
17
  const variantClasses: Record<string, string> = {
18
- grey: 'bg-badge-grey text-badge-grey',
19
- blue: 'bg-badge-blue text-badge-blue',
20
- red: 'bg-badge-red text-badge-red',
21
- purple: 'bg-badge-purple text-badge-purple',
22
- green: 'bg-badge-green text-badge-green',
23
- orange: 'bg-badge-orange text-badge-orange',
24
- cyan: 'bg-badge-cyan text-badge-cyan',
25
- pink: 'bg-badge-pink text-badge-pink',
26
- teal: 'bg-badge-teal text-badge-teal',
27
- amber: 'bg-badge-amber text-badge-amber',
28
- yellow: 'bg-badge-yellow text-badge-yellow',
18
+ grey: 'bg-badge-grey border-badge-grey text-badge-grey',
19
+ blue: 'bg-badge-blue border-badge-blue text-badge-blue',
20
+ red: 'bg-badge-red border-badge-red text-badge-red',
21
+ purple: 'bg-badge-purple border-badge-purple text-badge-purple',
22
+ green: 'bg-badge-green border-badge-green text-badge-green',
23
+ orange: 'bg-badge-orange border-badge-orange text-badge-orange',
24
+ cyan: 'bg-badge-cyan border-badge-cyan text-badge-cyan',
25
+ pink: 'bg-badge-pink border-badge-pink text-badge-pink',
26
+ teal: 'bg-badge-teal border-badge-teal text-badge-teal',
27
+ amber: 'bg-badge-amber border-badge-amber text-badge-amber',
28
+ yellow: 'bg-badge-yellow border-badge-yellow text-badge-yellow',
29
29
  }
30
30
 
31
31
  const sizeClasses: Record<string, string> = {
@@ -36,7 +36,7 @@
36
36
 
37
37
  <span
38
38
  class={cn(
39
- 'inline-flex items-center rounded-4 font-medium whitespace-nowrap',
39
+ 'inline-flex items-center rounded-full border font-medium whitespace-nowrap',
40
40
  sizeClasses[size],
41
41
  variantClasses[variant],
42
42
  className
@@ -0,0 +1,83 @@
1
+ <script lang="ts">
2
+ import IIBadge from './IIBadge.svelte'
3
+ import type {BadgeVariant} from './IIBadge.types'
4
+
5
+ const variants: BadgeVariant[] = [
6
+ 'grey',
7
+ 'blue',
8
+ 'red',
9
+ 'purple',
10
+ 'green',
11
+ 'orange',
12
+ 'cyan',
13
+ 'pink',
14
+ 'teal',
15
+ 'amber',
16
+ 'yellow',
17
+ ]
18
+ const sizes = ['sm', 'md'] as const
19
+
20
+ // Representative labels so the gallery reads like real usage.
21
+ const labels: Record<BadgeVariant, string> = {
22
+ grey: 'Draft',
23
+ blue: 'Active',
24
+ red: 'Overdue',
25
+ purple: 'In Review',
26
+ green: 'Approved',
27
+ orange: 'Pending',
28
+ cyan: 'Info',
29
+ pink: 'Highlight',
30
+ teal: 'Verified',
31
+ amber: 'Warning',
32
+ yellow: 'Note',
33
+ }
34
+ </script>
35
+
36
+ <div class="flex flex-col gap-32">
37
+ <!-- Variants × Sizes matrix -->
38
+ <section>
39
+ <h2 class="text-default-emphasis text-primary mb-8">Variants × Sizes</h2>
40
+ <table class="border-collapse">
41
+ <thead>
42
+ <tr>
43
+ <th class="text-left text-tiny text-secondary pr-16 pb-8"></th>
44
+ {#each sizes as size}
45
+ <th class="text-left text-tiny text-secondary px-8 pb-8">{size}</th>
46
+ {/each}
47
+ </tr>
48
+ </thead>
49
+ <tbody>
50
+ {#each variants as variant}
51
+ <tr>
52
+ <td class="text-tiny text-secondary pr-16 py-8 align-middle">{variant}</td>
53
+ {#each sizes as size}
54
+ <td class="px-8 py-8">
55
+ <IIBadge {variant} {size}>{labels[variant]}</IIBadge>
56
+ </td>
57
+ {/each}
58
+ </tr>
59
+ {/each}
60
+ </tbody>
61
+ </table>
62
+ </section>
63
+
64
+ <!-- All variants inline -->
65
+ <section>
66
+ <h2 class="text-default-emphasis text-primary mb-8">All Variants</h2>
67
+ <div class="flex items-center gap-8 flex-wrap">
68
+ {#each variants as variant}
69
+ <IIBadge {variant}>{labels[variant]}</IIBadge>
70
+ {/each}
71
+ </div>
72
+ </section>
73
+
74
+ <!-- On a tinted surface — confirms the hairline border reads on non-white backgrounds -->
75
+ <section>
76
+ <h2 class="text-default-emphasis text-primary mb-8">On a tinted surface</h2>
77
+ <div class="flex items-center gap-8 flex-wrap bg-background p-16 rounded-8">
78
+ {#each variants as variant}
79
+ <IIBadge {variant}>{labels[variant]}</IIBadge>
80
+ {/each}
81
+ </div>
82
+ </section>
83
+ </div>
@@ -0,0 +1,18 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const IIBadgeStories: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type IIBadgeStories = InstanceType<typeof IIBadgeStories>;
18
+ export default IIBadgeStories;
@@ -67,7 +67,7 @@
67
67
  }
68
68
 
69
69
  const baseClasses =
70
- 'relative inline-flex items-center justify-center whitespace-nowrap cursor-default transition-colors duration-base ease-in-out no-underline outline-none focus-visible:border-accent focus-visible:ring-3 focus-visible:ring-primary disabled:cursor-not-allowed'
70
+ 'relative inline-flex items-center justify-center whitespace-nowrap cursor-default transition-colors duration-base ease-in-out no-underline outline-none focus-visible:border-accent focus-visible:ring-3 focus-visible:ring-primary'
71
71
 
72
72
  const variantClasses = {
73
73
  primary:
@@ -159,7 +159,7 @@
159
159
  {#each weekDates as date (date.toString())}
160
160
  <Calendar.Cell {date} month={month.value} class="flex-1 p-3">
161
161
  <Calendar.Day
162
- class="flex items-center justify-center aspect-square w-full rounded-4 text-small text-body cursor-default transition-colors duration-fast hover:bg-dropdown-item-hover data-[selected]:bg-primary data-[selected]:text-inverse data-[selected]:font-semibold data-[selected]:hover:bg-primary data-[today]:shadow-[inset_0_0_0_1px_var(--ii-gray-300)] data-[outside-month]:text-tertiary data-[outside-month]:opacity-50 data-[outside-month]:pointer-events-none data-[disabled]:text-tertiary data-[disabled]:cursor-not-allowed data-[disabled]:opacity-30 data-[disabled]:pointer-events-none focus-visible:shadow-focus-ring focus-visible:outline-none motion-reduce:transition-none"
162
+ class="flex items-center justify-center aspect-square w-full rounded-4 text-small text-body cursor-default transition-colors duration-fast hover:bg-dropdown-item-hover data-[selected]:bg-primary data-[selected]:text-inverse data-[selected]:font-semibold data-[selected]:hover:bg-primary data-[today]:shadow-[inset_0_0_0_1px_var(--ii-gray-300)] data-[outside-month]:text-tertiary data-[outside-month]:opacity-50 data-[outside-month]:pointer-events-none data-[disabled]:text-tertiary data-[disabled]:opacity-30 data-[disabled]:pointer-events-none focus-visible:shadow-focus-ring focus-visible:outline-none motion-reduce:transition-none"
163
163
  >
164
164
  {date.day}
165
165
  </Calendar.Day>
@@ -34,7 +34,7 @@
34
34
 
35
35
  <label class={cn('flex items-center gap-8', className)}>
36
36
  <Checkbox.Root
37
- class={cn('peer', buttonReset, 'cursor-default shrink-0 inline-block data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50')}
37
+ class={cn('peer', buttonReset, 'cursor-default shrink-0 inline-block data-[disabled]:opacity-50')}
38
38
  bind:checked
39
39
  {onCheckedChange}
40
40
  {disabled}
@@ -58,11 +58,11 @@
58
58
  </div>
59
59
  </Checkbox.Root>
60
60
  {#if label}
61
- <span class={cn('text-small text-body select-none cursor-default', disabled && 'opacity-50 cursor-not-allowed')}
61
+ <span class={cn('text-small text-body select-none cursor-default', disabled && 'opacity-50')}
62
62
  >{label}</span
63
63
  >
64
64
  {:else if children}
65
- <span class={cn('text-small text-body select-none cursor-default', disabled && 'opacity-50 cursor-not-allowed')}>
65
+ <span class={cn('text-small text-body select-none cursor-default', disabled && 'opacity-50')}>
66
66
  {@render children()}
67
67
  </span>
68
68
  {/if}
@@ -8,7 +8,7 @@
8
8
  </script>
9
9
 
10
10
  <div
11
- class="flex flex-col gap-8 overflow-y-auto p-8 border border-primary rounded-4 bg-background"
11
+ class="flex flex-col gap-8 overflow-y-auto p-8 border border-primary rounded-8 bg-background"
12
12
  style:max-height={maxHeight}
13
13
  >
14
14
  {@render children?.()}
@@ -153,7 +153,7 @@
153
153
  label={isSimpleItem(item) ? item.label : getItemValue(item)}
154
154
  disabled={getItemDisabled?.(item) ?? false}
155
155
  class={cn(
156
- 'flex items-center gap-8 px-12 text-dropdown-item rounded-6 cursor-default transition-all duration-fast outline-none hover:bg-dropdown-item-hover data-[highlighted]:bg-dropdown-item-hover data-[selected]:bg-dropdown-item-selected data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed motion-reduce:transition-none',
156
+ 'flex items-center gap-8 px-12 text-dropdown-item rounded-6 cursor-default transition-all duration-fast outline-none hover:bg-dropdown-item-hover data-[highlighted]:bg-dropdown-item-hover data-[selected]:bg-dropdown-item-selected data-[disabled]:opacity-50 motion-reduce:transition-none',
157
157
  itemDensityClasses[density.value]
158
158
  )}
159
159
  >
@@ -190,7 +190,7 @@
190
190
  oninput={handleInput}
191
191
  onfocus={openOnFocus ? handleFocus : undefined}
192
192
  class={cn(
193
- 'w-full box-border py-5 px-12 text-input-text bg-input-bg border border-input-border transition-all duration-fast outline-none placeholder:text-input-placeholder hover:border-input-border-hover focus:border-input-border-hover disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-input-bg-disabled motion-reduce:transition-none',
193
+ 'w-full box-border py-5 px-12 text-input-text bg-input-bg border border-input-border transition-all duration-fast outline-none placeholder:text-input-placeholder hover:border-input-border-hover focus:border-input-border-hover disabled:opacity-50 disabled:bg-input-bg-disabled motion-reduce:transition-none',
194
194
  densityClasses[density.value]
195
195
  )}
196
196
  />
@@ -98,7 +98,7 @@
98
98
  showError
99
99
  ? 'border-input-border-error hover:border-input-border-error [&:has(:focus)]:border-input-border-error [&:has(:focus)]:ring-error'
100
100
  : 'hover:[&:not(:has(:focus))]:border-button-secondary-hover [&:has(:focus)]:border-accent [&:has(:focus)]:ring-primary',
101
- disabled && 'bg-input-bg-disabled cursor-not-allowed'
101
+ disabled && 'bg-input-bg-disabled'
102
102
  )}
103
103
  >
104
104
  {#snippet children({segments})}
@@ -296,7 +296,7 @@
296
296
  aria-expanded={open}
297
297
  {disabled}
298
298
  class={cn(
299
- 'flex items-center justify-between gap-4 py-5 pl-12 pr-8 border bg-input-bg cursor-default text-button-secondary box-border appearance-none font-inherit outline-none transition-colors duration-base ease-in-out hover:text-button-secondary-hover focus-visible:ring-3 disabled:opacity-50 disabled:cursor-not-allowed',
299
+ 'flex items-center justify-between gap-4 py-5 pl-12 pr-8 border bg-input-bg cursor-default text-button-secondary box-border appearance-none font-inherit outline-none transition-colors duration-base ease-in-out hover:text-button-secondary-hover focus-visible:ring-3 disabled:opacity-50',
300
300
  densityClasses[density.value],
301
301
  showError
302
302
  ? 'border-input-border-error hover:border-input-border-error focus-visible:border-input-border-error focus-visible:ring-error'
@@ -23,20 +23,6 @@
23
23
 
24
24
  let {items, selectedValues, onToggle, emptyText = 'None', disabled = false}: Props = $props()
25
25
 
26
- const optionVariantClasses: Record<string, string> = {
27
- grey: 'bg-badge-grey border-badge-grey text-badge-grey',
28
- blue: 'bg-badge-blue border-badge-blue text-badge-blue',
29
- red: 'bg-badge-red border-badge-red text-badge-red',
30
- purple: 'bg-badge-purple border-badge-purple text-badge-purple',
31
- green: 'bg-badge-green border-badge-green text-badge-green',
32
- orange: 'bg-badge-orange border-badge-orange text-badge-orange',
33
- cyan: 'bg-badge-cyan border-badge-cyan text-badge-cyan',
34
- pink: 'bg-badge-pink border-badge-pink text-badge-pink',
35
- teal: 'bg-badge-teal border-badge-teal text-badge-teal',
36
- amber: 'bg-badge-amber border-badge-amber text-badge-amber',
37
- yellow: 'bg-badge-yellow border-badge-yellow text-badge-yellow',
38
- }
39
-
40
26
  function getVariantForItem(item: Item): BadgeVariant {
41
27
  return item.variant ?? 'grey'
42
28
  }
@@ -74,16 +60,14 @@
74
60
  type="button"
75
61
  class={cn(
76
62
  buttonReset,
77
- 'flex items-center justify-between px-12 py-8 border rounded-4 bg-background cursor-default transition-all duration-fast text-small text-body hover:opacity-90 disabled:opacity-50 disabled:cursor-not-allowed',
78
- isSelected && 'border-2',
79
- optionVariantClasses[variant]
63
+ 'flex items-center justify-between gap-8 px-8 py-6 rounded-6 text-left cursor-default transition-colors duration-fast hover:bg-background disabled:opacity-50'
80
64
  )}
81
65
  onclick={() => handleItemClick(item.value)}
82
66
  {disabled}
83
67
  >
84
- <span class="flex-1 text-left">{item.label}</span>
68
+ <IIBadge {variant}>{item.label}</IIBadge>
85
69
  {#if isSelected}
86
- <IIIcon iconName="check" size="inherit" variant="accent" class="size-11 ml-8" />
70
+ <IIIcon iconName="check" size="inherit" variant="accent" class="size-12 shrink-0" />
87
71
  {/if}
88
72
  </button>
89
73
  {/each}
@@ -135,7 +135,7 @@
135
135
  class={cn(
136
136
  buttonReset,
137
137
  'cursor-text block w-full py-4 border-b-2 border-transparent transition-all duration-fast text-left hover:border-b-primary focus-visible:outline-2 focus-visible:outline-primary focus-visible:outline-offset-2 focus-visible:rounded-4',
138
- disabled && 'cursor-not-allowed opacity-60'
138
+ disabled && 'opacity-60'
139
139
  )}
140
140
  onclick={startEditing}
141
141
  {disabled}
@@ -32,7 +32,7 @@
32
32
  const isDisabled = $derived(disabled || loading)
33
33
 
34
34
  const baseClasses =
35
- 'inline-flex items-center justify-center cursor-default transition-colors duration-base ease-in-out outline-none focus-visible:ring-3 focus-visible:ring-primary disabled:cursor-not-allowed'
35
+ 'inline-flex items-center justify-center cursor-default transition-colors duration-base ease-in-out outline-none focus-visible:ring-3 focus-visible:ring-primary'
36
36
 
37
37
  const variantClasses = {
38
38
  primary:
@@ -63,7 +63,7 @@
63
63
  showError
64
64
  ? 'border-input-border-error hover:border-input-border-error focus-within:border-input-border-error focus-within:ring-error'
65
65
  : 'hover:not-focus-within:border-button-secondary-hover focus-within:border-accent focus-within:ring-primary',
66
- disabled && 'bg-input-bg-disabled cursor-not-allowed'
66
+ disabled && 'bg-input-bg-disabled'
67
67
  )}
68
68
  >
69
69
  {#if prefix}
@@ -76,7 +76,7 @@
76
76
  bind:value
77
77
  {type}
78
78
  {disabled}
79
- class="py-5 px-12 h-full font-[family-name:var(--font-family)] text-input-text bg-transparent border-0 outline-none w-full box-border placeholder:text-input-placeholder disabled:text-input-text-disabled disabled:cursor-not-allowed [&::-webkit-search-cancel-button]:appearance-none"
79
+ class="py-5 px-12 h-full font-[family-name:var(--font-family)] text-input-text bg-transparent border-0 outline-none w-full box-border placeholder:text-input-placeholder disabled:text-input-text-disabled [&::-webkit-search-cancel-button]:appearance-none"
80
80
  {...restProps}
81
81
  />
82
82
  {#if suffix}
@@ -105,7 +105,7 @@
105
105
  {type}
106
106
  {disabled}
107
107
  class={cn(
108
- 'py-5 px-12 font-[family-name:var(--font-family)] text-input-text bg-input-bg border border-button-secondary transition-all duration-fast outline-none w-full box-border placeholder:text-input-placeholder focus:ring-3 disabled:bg-input-bg-disabled disabled:text-input-text-disabled disabled:cursor-not-allowed motion-reduce:transition-none motion-reduce:animate-none',
108
+ 'py-5 px-12 font-[family-name:var(--font-family)] text-input-text bg-input-bg border border-button-secondary transition-all duration-fast outline-none w-full box-border placeholder:text-input-placeholder focus:ring-3 disabled:bg-input-bg-disabled disabled:text-input-text-disabled motion-reduce:transition-none motion-reduce:animate-none',
109
109
  densityClasses[density.value],
110
110
  showError
111
111
  ? 'border-input-border-error hover:border-input-border-error focus:border-input-border-error focus:ring-error'
@@ -287,7 +287,7 @@
287
287
  // Children triggers own their content layout; default to an inline-flex row so a
288
288
  // value + caret sit on one line even when the consumer passes no display class.
289
289
  const childrenTriggerClass = `${buttonReset} inline-flex items-center text-left cursor-default`
290
- const defaultTriggerClass = `${buttonReset} inline-flex items-center justify-center p-4 rounded-4 text-secondary cursor-default transition-all duration-fast hover:bg-background hover:text-body data-[state=open]:bg-background data-[state=open]:text-body motion-reduce:transition-none`
290
+ const defaultTriggerClass = `${buttonReset} inline-flex items-center justify-center p-4 rounded-6 text-secondary cursor-default transition-all duration-fast hover:bg-background hover:text-body data-[state=open]:bg-background data-[state=open]:text-body motion-reduce:transition-none`
291
291
  </script>
292
292
 
293
293
  {#snippet itemContent(item: MenuItem)}
@@ -85,7 +85,7 @@
85
85
  bind:ref={triggerEl}
86
86
  {disabled}
87
87
  class={cn(
88
- 'flex items-center gap-4 py-5 pl-12 pr-8 border bg-button-secondary cursor-default text-small text-button-secondary box-border appearance-none font-inherit outline-none transition-colors duration-base ease-in-out hover:text-button-secondary-hover hover:border-button-secondary-hover focus:border-accent focus:ring-3 focus:ring-primary disabled:opacity-50 disabled:cursor-not-allowed',
88
+ 'flex items-center gap-4 py-5 pl-12 pr-8 border bg-button-secondary cursor-default text-small text-button-secondary box-border appearance-none font-inherit outline-none transition-colors duration-base ease-in-out hover:text-button-secondary-hover hover:border-button-secondary-hover focus:border-accent focus:ring-3 focus:ring-primary disabled:opacity-50',
89
89
  densityRadius[density.value],
90
90
  open ? 'border-button-secondary-hover' : 'border-button-secondary',
91
91
  className
@@ -130,7 +130,7 @@
130
130
  onCheckedChange={() => toggleValue(item.value)}
131
131
  disabled={item.disabled}
132
132
  class={cn(
133
- 'flex items-center gap-8 px-12 py-6 rounded-6 text-small text-dropdown-item cursor-default outline-none data-[highlighted]:bg-dropdown-item-hover data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed',
133
+ 'flex items-center gap-8 px-12 py-6 rounded-6 text-small text-dropdown-item cursor-default outline-none data-[highlighted]:bg-dropdown-item-hover data-[disabled]:opacity-50',
134
134
  values.includes(item.value) && 'text-dropdown-item-selected'
135
135
  )}
136
136
  >
@@ -68,7 +68,7 @@
68
68
  {#if overflowing}
69
69
  <DropdownMenu.Root bind:open={kebabOpen}>
70
70
  <DropdownMenu.Trigger
71
- class={cn(buttonReset, 'cursor-default inline-flex items-center justify-center p-4 rounded-4 text-secondary text-h3 transition-all duration-fast hover:bg-background hover:text-body data-[state=open]:bg-background data-[state=open]:text-body motion-reduce:transition-none')}
71
+ class={cn(buttonReset, 'cursor-default inline-flex items-center justify-center p-4 rounded-6 text-secondary text-h3 transition-all duration-fast hover:bg-background hover:text-body data-[state=open]:bg-background data-[state=open]:text-body motion-reduce:transition-none')}
72
72
  >
73
73
  <IIIcon iconName="dots-three-vertical" size="inherit" />
74
74
  </DropdownMenu.Trigger>
@@ -80,7 +80,7 @@
80
80
  {#each actions as action (action.label)}
81
81
  <DropdownMenu.Item
82
82
  disabled={action.disabled}
83
- class="flex items-center gap-8 px-12 py-8 rounded-4 text-small-emphasis text-body cursor-default outline-none transition-all duration-fast hover:bg-background data-[highlighted]:bg-background data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none motion-reduce:transition-none"
83
+ class="flex items-center gap-8 px-12 py-8 rounded-6 text-small-emphasis text-body cursor-default outline-none transition-all duration-fast hover:bg-background data-[highlighted]:bg-background data-[disabled]:opacity-50 data-[disabled]:pointer-events-none motion-reduce:transition-none"
84
84
  onSelect={action.onclick}
85
85
  >
86
86
  <span>{action.label}</span>
@@ -61,10 +61,10 @@
61
61
  {#snippet pill(tab: Tab)}
62
62
  <button
63
63
  class={cn(
64
- 'flex items-center rounded-control border-none outline-none cursor-default whitespace-nowrap',
64
+ 'flex items-center rounded-full border-none outline-none cursor-default whitespace-nowrap',
65
65
  densityClasses[density.value],
66
66
  tab.disabled
67
- ? 'bg-surface text-tertiary opacity-50 cursor-not-allowed'
67
+ ? 'bg-surface text-tertiary opacity-50'
68
68
  : value === tab.value
69
69
  ? 'bg-gray-100 text-gray-700'
70
70
  : 'bg-surface text-secondary shadow-pill hover:bg-gray-100 hover:text-gray-700'
@@ -12,15 +12,15 @@
12
12
  let {level, label, tooltip}: Props = $props()
13
13
 
14
14
  const levelClasses: Record<string, string> = {
15
- current: 'bg-success-bg text-success',
16
- attention: 'bg-warning-bg text-warning',
17
- 'at-risk': 'bg-error-bg text-error',
15
+ current: 'bg-success-bg border-success text-success',
16
+ attention: 'bg-warning-bg border-warning text-warning',
17
+ 'at-risk': 'bg-error-bg border-error text-error',
18
18
  }
19
19
  </script>
20
20
 
21
21
  <span
22
22
  class={cn(
23
- 'inline-flex items-center px-12 py-4 rounded-full text-tiny-strong whitespace-nowrap transition-all duration-base motion-reduce:transition-none',
23
+ 'inline-flex items-center px-12 py-4 rounded-full border text-tiny-strong whitespace-nowrap transition-all duration-base motion-reduce:transition-none',
24
24
  levelClasses[level]
25
25
  )}
26
26
  title={tooltip}
@@ -31,18 +31,18 @@
31
31
  <label class={cn('flex items-center gap-12', className)}>
32
32
  {#if label}
33
33
  <span
34
- class={cn('text-small text-secondary select-none cursor-default', disabled && 'opacity-50 cursor-not-allowed')}
34
+ class={cn('text-small text-secondary select-none cursor-default', disabled && 'opacity-50')}
35
35
  >{label}</span
36
36
  >
37
37
  {:else if children}
38
38
  <span
39
- class={cn('text-small text-secondary select-none cursor-default', disabled && 'opacity-50 cursor-not-allowed')}
39
+ class={cn('text-small text-secondary select-none cursor-default', disabled && 'opacity-50')}
40
40
  >
41
41
  {@render children()}
42
42
  </span>
43
43
  {/if}
44
44
  <Switch.Root
45
- class="group relative w-44 h-24 bg-muted rounded-full cursor-default transition-all duration-fast shrink-0 appearance-none border-none outline-none focus-visible:ring-3 focus-visible:ring-primary data-[state=checked]:bg-primary data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 motion-reduce:transition-none"
45
+ class="group relative w-44 h-24 bg-muted rounded-full cursor-default transition-all duration-fast shrink-0 appearance-none border-none outline-none focus-visible:ring-3 focus-visible:ring-primary data-[state=checked]:bg-primary data-[disabled]:opacity-50 motion-reduce:transition-none"
46
46
  {checked}
47
47
  onCheckedChange={newChecked => {
48
48
  checked = newChecked
@@ -63,7 +63,7 @@
63
63
  <Tabs.Trigger
64
64
  value={tab.value}
65
65
  disabled={tab.disabled}
66
- class="appearance-none border-none bg-transparent outline-none inline-flex items-center gap-8 p-0 h-full text-small font-normal text-tertiary cursor-default -mb-px whitespace-nowrap relative shrink-0 hover:text-secondary data-[state=active]:text-body data-[disabled]:text-tertiary data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 motion-reduce:[transition:none] [transition:color_0.15s_ease] after:content-[''] after:absolute after:bottom-0 after:left-1/2 after:w-0 after:-translate-x-1/2 after:[height:1.5px] after:[transition:width_0.15s_ease,background-color_0.15s_ease] data-[state=active]:after:w-full data-[state=active]:after:bg-dark [&:hover:not([data-disabled]):not([data-state=active])]:after:w-3/5 [&:hover:not([data-disabled]):not([data-state=active])]:after:bg-dark-secondary"
66
+ class="appearance-none border-none bg-transparent outline-none inline-flex items-center gap-8 p-0 h-full text-small font-normal text-tertiary cursor-default -mb-px whitespace-nowrap relative shrink-0 hover:text-secondary data-[state=active]:text-body data-[disabled]:text-tertiary data-[disabled]:opacity-50 motion-reduce:[transition:none] [transition:color_0.15s_ease] after:content-[''] after:absolute after:bottom-0 after:left-1/2 after:w-0 after:-translate-x-1/2 after:[height:1.5px] after:[transition:width_0.15s_ease,background-color_0.15s_ease] data-[state=active]:after:w-full data-[state=active]:after:bg-dark [&:hover:not([data-disabled]):not([data-state=active])]:after:w-3/5 [&:hover:not([data-disabled]):not([data-state=active])]:after:bg-dark-secondary"
67
67
  >
68
68
  {#if tab.icon}
69
69
  <div class="w-[1.25em] h-[1.25em] flex items-center justify-center">
@@ -98,7 +98,7 @@
98
98
  <DropdownMenu.Item
99
99
  disabled={tab.disabled}
100
100
  class={cn(
101
- 'flex items-center justify-between gap-12 px-12 py-8 rounded-4 text-small-emphasis text-secondary cursor-default outline-none transition-all duration-fast hover:bg-background hover:text-body data-[highlighted]:bg-background data-[highlighted]:text-body data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none motion-reduce:transition-none',
101
+ 'flex items-center justify-between gap-12 px-12 py-8 rounded-6 text-small-emphasis text-secondary cursor-default outline-none transition-all duration-fast hover:bg-background hover:text-body data-[highlighted]:bg-background data-[highlighted]:text-body data-[disabled]:opacity-50 data-[disabled]:pointer-events-none motion-reduce:transition-none',
102
102
  value === tab.value && 'text-body'
103
103
  )}
104
104
  onSelect={() => handleSelect(tab)}
@@ -65,7 +65,7 @@
65
65
  {disabled}
66
66
  {rows}
67
67
  class={cn(
68
- 'pt-8 pb-5 px-12 text-small font-[family-name:var(--font-family)] text-body bg-surface border border-button-secondary rounded-[10px] transition-all duration-fast outline-none w-full box-border resize-none overflow-hidden min-h-16 placeholder:text-tertiary hover:not-focus:border-button-secondary-hover focus:border-accent focus:ring-3 focus:ring-primary disabled:bg-gray-100 disabled:text-secondary disabled:cursor-not-allowed motion-reduce:transition-none',
68
+ 'pt-8 pb-5 px-12 text-small font-[family-name:var(--font-family)] text-body bg-surface border border-button-secondary rounded-[10px] transition-all duration-fast outline-none w-full box-border resize-none overflow-hidden min-h-16 placeholder:text-tertiary hover:not-focus:border-button-secondary-hover focus:border-accent focus:ring-3 focus:ring-primary disabled:bg-gray-100 disabled:text-secondary motion-reduce:transition-none',
69
69
  showError && 'border-input-border-error hover:border-input-border-error focus:border-input-border-error focus:ring-error'
70
70
  )}
71
71
  oninput={handleInput}
@@ -55,7 +55,7 @@
55
55
  {disabled}
56
56
  aria-label={ariaLabel}
57
57
  class={cn(
58
- 'inline-flex items-center justify-center cursor-default transition-colors duration-base ease-in-out outline-none focus-visible:ring-3 focus-visible:ring-primary text-secondary hover:bg-button-ghost-hover hover:text-button-ghost-hover data-[state=on]:bg-button-ghost-hover data-[state=on]:text-body disabled:opacity-50 disabled:cursor-not-allowed',
58
+ 'inline-flex items-center justify-center cursor-default transition-colors duration-base ease-in-out outline-none focus-visible:ring-3 focus-visible:ring-primary text-secondary hover:bg-button-ghost-hover hover:text-button-ghost-hover data-[state=on]:bg-button-ghost-hover data-[state=on]:text-body disabled:opacity-50',
59
59
  resolvedSizeClasses,
60
60
  iconSizeClasses[size],
61
61
  className
@@ -38,7 +38,7 @@
38
38
  <B.Content
39
39
  {side}
40
40
  sideOffset={6}
41
- class="z-19 rounded-4 bg-gray-900 text-white text-tiny leading-tight font-medium px-8 py-4 shadow-dropdown data-[state=delayed-open]:animate-fade-in data-[state=instant-open]:animate-fade-in data-[state=closed]:animate-fade-out motion-reduce:animate-none"
41
+ class="z-19 rounded-6 bg-gray-900 text-white text-tiny leading-tight font-medium px-8 py-4 shadow-dropdown data-[state=delayed-open]:animate-fade-in data-[state=instant-open]:animate-fade-in data-[state=closed]:animate-fade-out motion-reduce:animate-none"
42
42
  >
43
43
  {text}
44
44
  </B.Content>
@@ -27,7 +27,7 @@
27
27
  </script>
28
28
 
29
29
  <span
30
- class="inline-flex items-center gap-4 px-8 h-24 bg-gray-50 border border-gray-200 rounded-control text-tiny text-secondary cursor-default"
30
+ class="inline-flex items-center gap-4 px-8 h-24 bg-gray-50 border border-gray-200 rounded-full text-tiny text-secondary cursor-default"
31
31
  >
32
32
  <span class="flex items-center gap-4">
33
33
  <span class="font-medium">{fieldLabel}</span>
@@ -124,40 +124,40 @@
124
124
  --color-button-accent-text: var(--ii-text-on-accent);
125
125
  --color-button-accent-text-disabled: var(--ii-text-tertiary);
126
126
 
127
- /* Badge variants */
128
- --ii-badge-grey-bg: rgba(107, 114, 128, 0.1);
129
- --ii-badge-grey-text: rgb(75, 85, 99);
130
- --ii-badge-grey-border: rgba(107, 114, 128, 0.3);
131
- --ii-badge-blue-bg: rgba(17, 115, 212, 0.1);
132
- --ii-badge-blue-text: rgb(17, 115, 212);
133
- --ii-badge-blue-border: rgba(17, 115, 212, 0.3);
134
- --ii-badge-red-bg: rgba(220, 38, 38, 0.1);
135
- --ii-badge-red-text: rgb(185, 28, 28);
136
- --ii-badge-red-border: rgba(220, 38, 38, 0.3);
137
- --ii-badge-purple-bg: rgba(79, 70, 229, 0.1);
138
- --ii-badge-purple-text: rgb(79, 70, 229);
139
- --ii-badge-purple-border: rgba(79, 70, 229, 0.3);
140
- --ii-badge-green-bg: rgba(34, 197, 94, 0.1);
141
- --ii-badge-green-text: rgb(22, 163, 74);
142
- --ii-badge-green-border: rgba(34, 197, 94, 0.3);
143
- --ii-badge-orange-bg: rgba(249, 115, 22, 0.1);
144
- --ii-badge-orange-text: rgb(194, 65, 12);
145
- --ii-badge-orange-border: rgba(249, 115, 22, 0.3);
146
- --ii-badge-cyan-bg: rgba(6, 182, 212, 0.1);
147
- --ii-badge-cyan-text: rgb(14, 116, 144);
148
- --ii-badge-cyan-border: rgba(6, 182, 212, 0.3);
149
- --ii-badge-pink-bg: rgba(236, 72, 153, 0.1);
150
- --ii-badge-pink-text: rgb(190, 24, 93);
151
- --ii-badge-pink-border: rgba(236, 72, 153, 0.3);
152
- --ii-badge-teal-bg: rgba(20, 184, 166, 0.1);
153
- --ii-badge-teal-text: rgb(13, 148, 136);
154
- --ii-badge-teal-border: rgba(20, 184, 166, 0.3);
155
- --ii-badge-amber-bg: rgba(245, 158, 11, 0.1);
156
- --ii-badge-amber-text: rgb(180, 83, 9);
157
- --ii-badge-amber-border: rgba(245, 158, 11, 0.3);
158
- --ii-badge-yellow-bg: rgba(234, 179, 8, 0.1);
159
- --ii-badge-yellow-text: rgb(161, 98, 7);
160
- --ii-badge-yellow-border: rgba(234, 179, 8, 0.3);
127
+ /* Badges follows the --color-{component}-{variant}-{property} convention */
128
+ --color-badge-grey-bg: rgba(107, 114, 128, 0.1);
129
+ --color-badge-grey-text: rgb(75, 85, 99);
130
+ --color-badge-grey-border: rgba(107, 114, 128, 0.3);
131
+ --color-badge-blue-bg: rgba(17, 115, 212, 0.1);
132
+ --color-badge-blue-text: rgb(17, 115, 212);
133
+ --color-badge-blue-border: rgba(17, 115, 212, 0.3);
134
+ --color-badge-red-bg: rgba(220, 38, 38, 0.1);
135
+ --color-badge-red-text: rgb(185, 28, 28);
136
+ --color-badge-red-border: rgba(220, 38, 38, 0.3);
137
+ --color-badge-purple-bg: rgba(79, 70, 229, 0.1);
138
+ --color-badge-purple-text: rgb(79, 70, 229);
139
+ --color-badge-purple-border: rgba(79, 70, 229, 0.3);
140
+ --color-badge-green-bg: rgba(34, 197, 94, 0.1);
141
+ --color-badge-green-text: rgb(22, 163, 74);
142
+ --color-badge-green-border: rgba(34, 197, 94, 0.3);
143
+ --color-badge-orange-bg: rgba(249, 115, 22, 0.1);
144
+ --color-badge-orange-text: rgb(194, 65, 12);
145
+ --color-badge-orange-border: rgba(249, 115, 22, 0.3);
146
+ --color-badge-cyan-bg: rgba(6, 182, 212, 0.1);
147
+ --color-badge-cyan-text: rgb(14, 116, 144);
148
+ --color-badge-cyan-border: rgba(6, 182, 212, 0.3);
149
+ --color-badge-pink-bg: rgba(236, 72, 153, 0.1);
150
+ --color-badge-pink-text: rgb(190, 24, 93);
151
+ --color-badge-pink-border: rgba(236, 72, 153, 0.3);
152
+ --color-badge-teal-bg: rgba(20, 184, 166, 0.1);
153
+ --color-badge-teal-text: rgb(13, 148, 136);
154
+ --color-badge-teal-border: rgba(20, 184, 166, 0.3);
155
+ --color-badge-amber-bg: rgba(245, 158, 11, 0.1);
156
+ --color-badge-amber-text: rgb(180, 83, 9);
157
+ --color-badge-amber-border: rgba(245, 158, 11, 0.3);
158
+ --color-badge-yellow-bg: rgba(234, 179, 8, 0.1);
159
+ --color-badge-yellow-text: rgb(161, 98, 7);
160
+ --color-badge-yellow-border: rgba(234, 179, 8, 0.3);
161
161
 
162
162
  /* Focus ring */
163
163
  --ii-focus-primary: rgba(17, 115, 212, 0.1);
@@ -168,13 +168,13 @@
168
168
  --ii-hover-overlay: rgba(0, 0, 0, 0.1);
169
169
 
170
170
  /* Filter chips */
171
- --ii-filter-bg: #eff6ff;
172
- --ii-filter-border: #bfdbfe;
173
- --ii-filter-text: #1d4ed8;
174
- --ii-filter-operator: #3b82f6;
175
- --ii-filter-remove-bg: #dbeafe;
176
- --ii-filter-remove-hover: #bfdbfe;
177
- --ii-filter-remove-icon: #2563eb;
171
+ --color-filter-bg: #eff6ff;
172
+ --color-filter-border: #bfdbfe;
173
+ --color-filter-text: #1d4ed8;
174
+ --color-filter-operator: #3b82f6;
175
+ --color-filter-remove-bg: #dbeafe;
176
+ --color-filter-remove-hover: #bfdbfe;
177
+ --color-filter-remove-icon: #2563eb;
178
178
 
179
179
  /* Tab (TaskBar) */
180
180
  --ii-tab-bg: #f6f7f8;
@@ -54,7 +54,6 @@ export declare const backgroundColor: {
54
54
  'badge-teal': string;
55
55
  'badge-amber': string;
56
56
  'badge-yellow': string;
57
- 'badge-green-border': string;
58
57
  'input-bg': string;
59
58
  'input-bg-disabled': string;
60
59
  'dropdown-bg': string;
@@ -70,18 +70,17 @@ export const backgroundColor = {
70
70
  applicant: 'var(--ii-applicant)',
71
71
  'applicant-light': 'var(--ii-applicant-light)',
72
72
  // Badges
73
- 'badge-grey': 'var(--ii-badge-grey-bg)',
74
- 'badge-blue': 'var(--ii-badge-blue-bg)',
75
- 'badge-red': 'var(--ii-badge-red-bg)',
76
- 'badge-purple': 'var(--ii-badge-purple-bg)',
77
- 'badge-green': 'var(--ii-badge-green-bg)',
78
- 'badge-orange': 'var(--ii-badge-orange-bg)',
79
- 'badge-cyan': 'var(--ii-badge-cyan-bg)',
80
- 'badge-pink': 'var(--ii-badge-pink-bg)',
81
- 'badge-teal': 'var(--ii-badge-teal-bg)',
82
- 'badge-amber': 'var(--ii-badge-amber-bg)',
83
- 'badge-yellow': 'var(--ii-badge-yellow-bg)',
84
- 'badge-green-border': 'var(--ii-badge-green-border)',
73
+ 'badge-grey': 'var(--color-badge-grey-bg)',
74
+ 'badge-blue': 'var(--color-badge-blue-bg)',
75
+ 'badge-red': 'var(--color-badge-red-bg)',
76
+ 'badge-purple': 'var(--color-badge-purple-bg)',
77
+ 'badge-green': 'var(--color-badge-green-bg)',
78
+ 'badge-orange': 'var(--color-badge-orange-bg)',
79
+ 'badge-cyan': 'var(--color-badge-cyan-bg)',
80
+ 'badge-pink': 'var(--color-badge-pink-bg)',
81
+ 'badge-teal': 'var(--color-badge-teal-bg)',
82
+ 'badge-amber': 'var(--color-badge-amber-bg)',
83
+ 'badge-yellow': 'var(--color-badge-yellow-bg)',
85
84
  // Input
86
85
  'input-bg': 'var(--color-input-bg)',
87
86
  'input-bg-disabled': 'var(--color-input-bg-disabled)',
@@ -111,9 +110,9 @@ export const backgroundColor = {
111
110
  'hover-overlay': 'var(--ii-hover-overlay)',
112
111
  'subtle-bg': 'var(--ii-subtle-bg)',
113
112
  // Filter chips
114
- 'filter-bg': 'var(--ii-filter-bg)',
115
- 'filter-remove': 'var(--ii-filter-remove-bg)',
116
- 'filter-remove-hover': 'var(--ii-filter-remove-hover)',
113
+ 'filter-bg': 'var(--color-filter-bg)',
114
+ 'filter-remove': 'var(--color-filter-remove-bg)',
115
+ 'filter-remove-hover': 'var(--color-filter-remove-hover)',
117
116
  // Tabs
118
117
  'tab-bg': 'var(--ii-tab-bg)',
119
118
  'tab-active': 'var(--ii-tab-active)',
@@ -186,21 +185,21 @@ export const textColor = {
186
185
  client: 'var(--ii-client)',
187
186
  applicant: 'var(--ii-applicant)',
188
187
  // Badges
189
- 'badge-grey': 'var(--ii-badge-grey-text)',
190
- 'badge-blue': 'var(--ii-badge-blue-text)',
191
- 'badge-red': 'var(--ii-badge-red-text)',
192
- 'badge-purple': 'var(--ii-badge-purple-text)',
193
- 'badge-green': 'var(--ii-badge-green-text)',
194
- 'badge-orange': 'var(--ii-badge-orange-text)',
195
- 'badge-cyan': 'var(--ii-badge-cyan-text)',
196
- 'badge-pink': 'var(--ii-badge-pink-text)',
197
- 'badge-teal': 'var(--ii-badge-teal-text)',
198
- 'badge-amber': 'var(--ii-badge-amber-text)',
199
- 'badge-yellow': 'var(--ii-badge-yellow-text)',
188
+ 'badge-grey': 'var(--color-badge-grey-text)',
189
+ 'badge-blue': 'var(--color-badge-blue-text)',
190
+ 'badge-red': 'var(--color-badge-red-text)',
191
+ 'badge-purple': 'var(--color-badge-purple-text)',
192
+ 'badge-green': 'var(--color-badge-green-text)',
193
+ 'badge-orange': 'var(--color-badge-orange-text)',
194
+ 'badge-cyan': 'var(--color-badge-cyan-text)',
195
+ 'badge-pink': 'var(--color-badge-pink-text)',
196
+ 'badge-teal': 'var(--color-badge-teal-text)',
197
+ 'badge-amber': 'var(--color-badge-amber-text)',
198
+ 'badge-yellow': 'var(--color-badge-yellow-text)',
200
199
  // Filter chips
201
- 'filter-text': 'var(--ii-filter-text)',
202
- 'filter-operator': 'var(--ii-filter-operator)',
203
- 'filter-remove-icon': 'var(--ii-filter-remove-icon)',
200
+ 'filter-text': 'var(--color-filter-text)',
201
+ 'filter-operator': 'var(--color-filter-operator)',
202
+ 'filter-remove-icon': 'var(--color-filter-remove-icon)',
204
203
  // Page-specific
205
204
  'email-text': 'var(--ii-email-text)',
206
205
  'manual-text': 'var(--ii-manual-text)',
@@ -240,19 +239,19 @@ export const borderColor = {
240
239
  client: 'var(--ii-client-border)',
241
240
  applicant: 'var(--ii-applicant-border)',
242
241
  // Badges
243
- 'badge-grey': 'var(--ii-badge-grey-border)',
244
- 'badge-blue': 'var(--ii-badge-blue-border)',
245
- 'badge-red': 'var(--ii-badge-red-border)',
246
- 'badge-purple': 'var(--ii-badge-purple-border)',
247
- 'badge-green': 'var(--ii-badge-green-border)',
248
- 'badge-orange': 'var(--ii-badge-orange-border)',
249
- 'badge-cyan': 'var(--ii-badge-cyan-border)',
250
- 'badge-pink': 'var(--ii-badge-pink-border)',
251
- 'badge-teal': 'var(--ii-badge-teal-border)',
252
- 'badge-amber': 'var(--ii-badge-amber-border)',
253
- 'badge-yellow': 'var(--ii-badge-yellow-border)',
242
+ 'badge-grey': 'var(--color-badge-grey-border)',
243
+ 'badge-blue': 'var(--color-badge-blue-border)',
244
+ 'badge-red': 'var(--color-badge-red-border)',
245
+ 'badge-purple': 'var(--color-badge-purple-border)',
246
+ 'badge-green': 'var(--color-badge-green-border)',
247
+ 'badge-orange': 'var(--color-badge-orange-border)',
248
+ 'badge-cyan': 'var(--color-badge-cyan-border)',
249
+ 'badge-pink': 'var(--color-badge-pink-border)',
250
+ 'badge-teal': 'var(--color-badge-teal-border)',
251
+ 'badge-amber': 'var(--color-badge-amber-border)',
252
+ 'badge-yellow': 'var(--color-badge-yellow-border)',
254
253
  // Filter chips
255
- 'filter-border': 'var(--ii-filter-border)',
254
+ 'filter-border': 'var(--color-filter-border)',
256
255
  // Focus ring
257
256
  'focus-primary': 'var(--ii-focus-primary)',
258
257
  'focus-error': 'var(--ii-focus-error)',
@@ -57,7 +57,6 @@ declare const _default: {
57
57
  'badge-teal': string;
58
58
  'badge-amber': string;
59
59
  'badge-yellow': string;
60
- 'badge-green-border': string;
61
60
  'input-bg': string;
62
61
  'input-bg-disabled': string;
63
62
  'dropdown-bg': string;
@@ -31,13 +31,13 @@
31
31
  --color-button-accent-text: var(--ii-text-on-accent);
32
32
 
33
33
  /* Filter chips */
34
- --ii-filter-bg: #e8eef6;
35
- --ii-filter-border: #a8c4e0;
36
- --ii-filter-text: #1e3a5f;
37
- --ii-filter-operator: #4a6fa5;
38
- --ii-filter-remove-bg: #d1dfef;
39
- --ii-filter-remove-hover: #a8c4e0;
40
- --ii-filter-remove-icon: #1e3a5f;
34
+ --color-filter-bg: #e8eef6;
35
+ --color-filter-border: #a8c4e0;
36
+ --color-filter-text: #1e3a5f;
37
+ --color-filter-operator: #4a6fa5;
38
+ --color-filter-remove-bg: #d1dfef;
39
+ --color-filter-remove-hover: #a8c4e0;
40
+ --color-filter-remove-icon: #1e3a5f;
41
41
 
42
42
  /* Login */
43
43
  --ii-login-gradient-start: #e8eef6;
@@ -77,13 +77,13 @@
77
77
  --color-button-accent-text: var(--ii-text-on-accent);
78
78
 
79
79
  /* Filter chips */
80
- --ii-filter-bg: #e8f5ea;
81
- --ii-filter-border: #a8d5b0;
82
- --ii-filter-text: #2d7a3a;
83
- --ii-filter-operator: #5a9e68;
84
- --ii-filter-remove-bg: #d1ecd6;
85
- --ii-filter-remove-hover: #a8d5b0;
86
- --ii-filter-remove-icon: #2d7a3a;
80
+ --color-filter-bg: #e8f5ea;
81
+ --color-filter-border: #a8d5b0;
82
+ --color-filter-text: #2d7a3a;
83
+ --color-filter-operator: #5a9e68;
84
+ --color-filter-remove-bg: #d1ecd6;
85
+ --color-filter-remove-hover: #a8d5b0;
86
+ --color-filter-remove-icon: #2d7a3a;
87
87
 
88
88
  /* Login */
89
89
  --ii-login-gradient-start: #e8f5ea;
@@ -126,13 +126,13 @@
126
126
  --color-button-accent-text: var(--ii-text-on-accent);
127
127
 
128
128
  /* Filter chips */
129
- --ii-filter-bg: #f3e8ff;
130
- --ii-filter-border: #d8b4fe;
131
- --ii-filter-text: #7c3aed;
132
- --ii-filter-operator: #8b5cf6;
133
- --ii-filter-remove-bg: #e9d5ff;
134
- --ii-filter-remove-hover: #d8b4fe;
135
- --ii-filter-remove-icon: #7c3aed;
129
+ --color-filter-bg: #f3e8ff;
130
+ --color-filter-border: #d8b4fe;
131
+ --color-filter-text: #7c3aed;
132
+ --color-filter-operator: #8b5cf6;
133
+ --color-filter-remove-bg: #e9d5ff;
134
+ --color-filter-remove-hover: #d8b4fe;
135
+ --color-filter-remove-icon: #7c3aed;
136
136
 
137
137
  /* Login */
138
138
  --ii-login-gradient-start: #f3e8ff;
@@ -1,5 +1,5 @@
1
1
  export declare const menuStyles: {
2
- readonly item: "flex items-center gap-8 px-12 py-8 rounded-4 text-small cursor-default select-none outline-none data-[disabled]:opacity-50 motion-reduce:transition-none";
2
+ readonly item: "flex items-center gap-8 px-12 py-8 rounded-6 text-small cursor-default select-none outline-none data-[disabled]:opacity-50 motion-reduce:transition-none";
3
3
  readonly itemDefault: "text-dropdown-item hover:bg-dropdown-item-hover focus:bg-dropdown-item-hover data-[highlighted]:bg-dropdown-item-hover data-[highlighted]:outline-none data-[state=open]:bg-dropdown-item-hover data-[disabled]:hover:bg-transparent data-[disabled]:focus:bg-transparent";
4
4
  readonly itemDestructive: "text-error hover:bg-error-bg focus:bg-error-bg data-[highlighted]:bg-error-bg data-[highlighted]:outline-none data-[disabled]:hover:bg-transparent data-[disabled]:focus:bg-transparent";
5
5
  readonly content: "ii-menu-scroll min-w-48 overflow-y-auto bg-dropdown-bg border-[0.5px] border-dropdown-border rounded-10 shadow-dropdown p-4 z-12 pointer-events-auto outline-none";
@@ -1,6 +1,6 @@
1
1
  import { cn } from '../cn';
2
2
  export const menuStyles = {
3
- item: 'flex items-center gap-8 px-12 py-8 rounded-4 text-small cursor-default select-none outline-none data-[disabled]:opacity-50 motion-reduce:transition-none',
3
+ item: 'flex items-center gap-8 px-12 py-8 rounded-6 text-small cursor-default select-none outline-none data-[disabled]:opacity-50 motion-reduce:transition-none',
4
4
  itemDefault: 'text-dropdown-item hover:bg-dropdown-item-hover focus:bg-dropdown-item-hover data-[highlighted]:bg-dropdown-item-hover data-[highlighted]:outline-none data-[state=open]:bg-dropdown-item-hover data-[disabled]:hover:bg-transparent data-[disabled]:focus:bg-transparent',
5
5
  itemDestructive: 'text-error hover:bg-error-bg focus:bg-error-bg data-[highlighted]:bg-error-bg data-[highlighted]:outline-none data-[disabled]:hover:bg-transparent data-[disabled]:focus:bg-transparent',
6
6
  // content: no fixed max-height — IIMenu passes constrainHeight to
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insymetri/styleguide",
3
- "version": "0.1.85",
3
+ "version": "0.1.86",
4
4
  "description": "Insymetri shared UI component library built with Svelte 5",
5
5
  "type": "module",
6
6
  "scripts": {