@iota/apps-ui-kit 0.6.0 → 0.7.1

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 (121) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/index.d.ts +219 -34
  3. package/dist/index.es.js +3429 -6082
  4. package/dist/index.es.js.map +1 -1
  5. package/dist/index.umd.js +28 -160
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/style.css +1 -1
  8. package/package.json +11 -4
  9. package/src/lib/components/atoms/badge/badge.classes.ts +18 -18
  10. package/src/lib/components/atoms/badge/badge.enums.ts +1 -1
  11. package/src/lib/components/atoms/button/Button.tsx +1 -0
  12. package/src/lib/components/atoms/button/button-variants/ButtonPill.tsx +1 -1
  13. package/src/lib/components/atoms/button/button.classes.ts +12 -12
  14. package/src/lib/components/atoms/button-segment/ButtonSegment.tsx +1 -1
  15. package/src/lib/components/atoms/button-segment/buttonSegment.classes.ts +15 -36
  16. package/src/lib/components/atoms/checkbox/Checkbox.tsx +19 -9
  17. package/src/lib/components/atoms/divider/divider.classes.ts +1 -1
  18. package/src/lib/components/atoms/header/Header.tsx +1 -1
  19. package/src/lib/components/atoms/image/Image.tsx +32 -0
  20. package/src/lib/components/atoms/image/index.ts +4 -0
  21. package/src/lib/components/atoms/index.ts +4 -1
  22. package/src/lib/components/atoms/info-box/InfoBox.tsx +2 -8
  23. package/src/lib/components/atoms/info-box/infoBox.classes.ts +8 -9
  24. package/src/lib/components/atoms/key-value-info/KeyValueInfo.tsx +5 -5
  25. package/src/lib/components/atoms/label-text/LabelText.tsx +4 -6
  26. package/src/lib/components/atoms/list-item/ListItem.tsx +4 -5
  27. package/src/lib/components/atoms/loading-indicator/LoadingIndicator.tsx +1 -1
  28. package/src/lib/components/atoms/media-fallback/MediaFallback.tsx +12 -0
  29. package/src/lib/components/atoms/media-fallback/index.ts +4 -0
  30. package/src/lib/components/atoms/panel/Panel.tsx +2 -4
  31. package/src/lib/components/atoms/radio-button/RadioButton.tsx +5 -9
  32. package/src/lib/components/atoms/secondary-text/SecondaryText.tsx +3 -2
  33. package/src/lib/components/atoms/skeleton/Skeleton.tsx +6 -23
  34. package/src/lib/components/atoms/snackbar/snackbar.classes.ts +8 -8
  35. package/src/lib/components/atoms/toggle/toggle.classes.ts +6 -6
  36. package/src/lib/components/atoms/tooltip/Tooltip.tsx +3 -2
  37. package/src/lib/components/atoms/video/Video.tsx +33 -0
  38. package/src/lib/components/atoms/video/index.ts +4 -0
  39. package/src/lib/components/atoms/video/video.constants.ts +31 -0
  40. package/src/lib/components/index.ts +0 -2
  41. package/src/lib/components/molecules/account/Account.tsx +4 -4
  42. package/src/lib/components/molecules/address/Address.tsx +1 -1
  43. package/src/lib/components/molecules/asset-media-renderer/AssetMediaRenderer.tsx +50 -0
  44. package/src/lib/components/molecules/asset-media-renderer/index.ts +4 -0
  45. package/src/lib/components/molecules/card/CardAction.tsx +3 -5
  46. package/src/lib/components/molecules/card/CardBody.tsx +3 -2
  47. package/src/lib/components/molecules/card/card.classes.ts +3 -3
  48. package/src/lib/components/molecules/chip/Chip.tsx +59 -18
  49. package/src/lib/components/molecules/chip/chip.classes.ts +37 -15
  50. package/src/lib/components/molecules/chip/chip.enums.ts +10 -2
  51. package/src/lib/components/molecules/chip/index.ts +1 -0
  52. package/src/lib/components/molecules/display-stats/DisplayStats.tsx +2 -2
  53. package/src/lib/components/molecules/display-stats/displayStats.classes.ts +6 -6
  54. package/src/lib/components/molecules/dropdown/Dropdown.tsx +1 -1
  55. package/src/lib/components/molecules/index.ts +2 -0
  56. package/src/lib/components/molecules/input/Input.tsx +37 -22
  57. package/src/lib/components/molecules/input/InputWrapper.tsx +1 -1
  58. package/src/lib/components/molecules/input/TextArea.tsx +4 -8
  59. package/src/lib/components/molecules/input/input.classes.ts +7 -8
  60. package/src/lib/components/molecules/navbar-item/NavbarItem.tsx +0 -1
  61. package/src/lib/components/molecules/navbar-item/NavbarItemHorizontal.tsx +1 -1
  62. package/src/lib/components/molecules/navbar-item/NavbarItemVertical.tsx +1 -1
  63. package/src/lib/components/molecules/navbar-item/navbarItem.classes.ts +4 -4
  64. package/src/lib/components/molecules/search/Search.tsx +10 -7
  65. package/src/lib/components/molecules/search/search.classes.ts +5 -5
  66. package/src/lib/components/molecules/segmented-button/segmentedButton.classes.ts +2 -2
  67. package/src/lib/components/molecules/select/Select.tsx +29 -16
  68. package/src/lib/components/molecules/table-cell/TableCell.tsx +2 -2
  69. package/src/lib/components/molecules/table-header-cell/TableHeaderCell.tsx +2 -2
  70. package/src/lib/components/molecules/title/Title.tsx +3 -3
  71. package/src/lib/components/{atoms → molecules}/visual-asset-card/VisualAssetCard.tsx +26 -40
  72. package/src/lib/components/organisms/accordion/Accordion.tsx +2 -3
  73. package/src/lib/components/organisms/accordion/accordion.classes.ts +1 -1
  74. package/src/lib/components/organisms/dialog/Dialog.tsx +39 -24
  75. package/src/lib/components/organisms/navbar/Navbar.tsx +2 -2
  76. package/src/lib/components/organisms/navbar/NavbarSlideout.tsx +1 -1
  77. package/src/lib/components/organisms/table/Table.tsx +2 -2
  78. package/src/lib/constants/colors.constants.ts +114 -8
  79. package/src/lib/enums/index.ts +1 -0
  80. package/src/lib/enums/theme.enums.ts +8 -0
  81. package/src/lib/index.ts +2 -0
  82. package/src/lib/styles/base.css +137 -0
  83. package/src/lib/styles/components.css +735 -0
  84. package/src/lib/styles/fonts.css +2 -0
  85. package/src/lib/styles/index.css +10 -141
  86. package/src/lib/styles/utilities.css +61 -0
  87. package/src/lib/styles/variables/dark-variables.css +262 -0
  88. package/src/lib/styles/variables/general-variables.css +9 -0
  89. package/src/lib/styles/variables/light-variables.css +276 -0
  90. package/src/lib/styles/variables/names-variables.css +270 -0
  91. package/src/lib/tailwind/base.presets.ts +17 -8
  92. package/src/lib/tailwind/constants/customColors.constants.ts +13 -0
  93. package/src/lib/tailwind/constants/fontFamily.constants.ts +8 -0
  94. package/src/lib/tailwind/constants/fontSizes.constants.ts +9 -9
  95. package/src/lib/tailwind/constants/gradients.constants.ts +6 -0
  96. package/src/lib/tailwind/constants/index.ts +1 -0
  97. package/src/lib/tailwind/plugins.ts +4 -0
  98. package/src/storybook/blocks/Showcase.tsx +2 -2
  99. package/src/storybook/blocks/TypeSet.tsx +3 -3
  100. package/src/storybook/blocks/TypeSetItem.tsx +3 -3
  101. package/src/storybook/constants/gradients.constants.ts +8 -0
  102. package/src/storybook/helpers/formatGradientNames.ts +15 -0
  103. package/src/storybook/stories/atoms/Skeleton.stories.tsx +6 -6
  104. package/src/storybook/stories/atoms/Tooltip.stories.tsx +4 -2
  105. package/src/storybook/stories/atoms/VisualAssetCard.stories.tsx +3 -2
  106. package/src/storybook/stories/components/DocsSyncTheme.tsx +20 -0
  107. package/src/storybook/stories/components/VariableSpacingShowcase.tsx +2 -2
  108. package/src/storybook/stories/components/index.ts +1 -0
  109. package/src/storybook/stories/design-tokens/colors.stories.mdx +21 -0
  110. package/src/storybook/stories/design-tokens/icons.stories.mdx +2 -0
  111. package/src/storybook/stories/design-tokens/typeset.stories.mdx +2 -0
  112. package/src/storybook/stories/design-tokens/variable-spacing.stories.mdx +2 -1
  113. package/src/storybook/stories/molecules/Account.stories.tsx +3 -1
  114. package/src/storybook/stories/molecules/Chip.stories.tsx +5 -0
  115. package/src/storybook/stories/molecules/Input.stories.tsx +79 -2
  116. package/src/storybook/stories/molecules/Search.stories.tsx +2 -2
  117. package/src/storybook/stories/molecules/TableCell.stories.tsx +1 -1
  118. package/src/storybook/stories/molecules/TextArea.stories.tsx +1 -1
  119. package/src/storybook/stories/organisms/Dialog.stories.tsx +54 -28
  120. /package/src/lib/components/{atoms → molecules}/visual-asset-card/index.ts +0 -0
  121. /package/src/lib/components/{atoms → molecules}/visual-asset-card/visualAssetCard.enums.ts +0 -0
@@ -41,19 +41,30 @@ const DialogOverlay = React.forwardRef<
41
41
  >(({ showCloseIcon, position, ...props }, ref) => (
42
42
  <RadixDialog.Overlay
43
43
  ref={ref}
44
- className={cx('inset-0 z-[99998] bg-shader-neutral-light-48 backdrop-blur-md', {
45
- fixed: position === DialogPosition.Right,
46
- absolute: position === DialogPosition.Center,
47
- })}
44
+ className={cx(
45
+ ' dialog-overlay-bg absolute h-full w-full backdrop-blur-md names:backdrop-blur-lg',
46
+ )}
48
47
  {...props}
49
48
  >
50
49
  <DialogClose className={cx('fixed right-3 top-3', { hidden: !showCloseIcon })}>
51
- <Close />
50
+ <Close className="button-text-color-neutral" />
52
51
  </DialogClose>
53
52
  </RadixDialog.Overlay>
54
53
  ));
55
54
  DialogOverlay.displayName = RadixDialog.Overlay.displayName;
56
55
 
56
+ const DialogContainer = React.forwardRef<
57
+ HTMLDivElement,
58
+ React.PropsWithChildren<{ isFixedPosition: boolean }>
59
+ >((props, ref) => (
60
+ <div
61
+ className={cx('inset-0 z-[99999]', props.isFixedPosition ? 'fixed' : 'absolute')}
62
+ ref={ref}
63
+ >
64
+ <div className="relative h-full w-full">{props.children}</div>
65
+ </div>
66
+ ));
67
+
57
68
  const DialogContent = React.forwardRef<
58
69
  React.ElementRef<typeof RadixDialog.Content>,
59
70
  React.ComponentPropsWithoutRef<typeof RadixDialog.Content> & {
@@ -61,6 +72,7 @@ const DialogContent = React.forwardRef<
61
72
  showCloseOnOverlay?: boolean;
62
73
  position?: DialogPosition;
63
74
  customWidth?: string;
75
+ isFixedPosition?: boolean;
64
76
  }
65
77
  >(
66
78
  (
@@ -71,6 +83,7 @@ const DialogContent = React.forwardRef<
71
83
  children,
72
84
  position = DialogPosition.Center,
73
85
  customWidth = 'w-80 max-w-[85vw] md:w-96',
86
+ isFixedPosition = position === DialogPosition.Right,
74
87
  ...props
75
88
  },
76
89
  ref,
@@ -85,7 +98,7 @@ const DialogContent = React.forwardRef<
85
98
  const element = containerId ? document.getElementById(containerId) : undefined;
86
99
  setContainerElement(element ?? undefined);
87
100
  }, [containerId]);
88
- const positionClass =
101
+ const dialogPositioning =
89
102
  position === DialogPosition.Right
90
103
  ? 'overflow-hidden right-0 h-screen top-0 w-full'
91
104
  : 'overflow-y-auto overflow-x-hidden left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-xl';
@@ -94,22 +107,24 @@ const DialogContent = React.forwardRef<
94
107
  const heightClass = position === DialogPosition.Right ? 'h-screen' : 'max-h-[80vh] h-full';
95
108
  return (
96
109
  <RadixDialog.Portal container={containerElement}>
97
- <DialogOverlay showCloseIcon={showCloseOnOverlay} position={position} />
98
- <RadixDialog.Content
99
- ref={ref}
100
- className={cx(
101
- 'fixed z-[99999] flex flex-col justify-center bg-primary-100 dark:bg-neutral-6',
102
- positionClass,
103
- widthClass,
104
- )}
105
- {...props}
106
- >
107
- <VisuallyHidden.Root>
108
- <RadixDialog.Title />
109
- <RadixDialog.Description />
110
- </VisuallyHidden.Root>
111
- <div className={cx('flex flex-1 flex-col', heightClass)}>{children}</div>
112
- </RadixDialog.Content>
110
+ <DialogContainer isFixedPosition={isFixedPosition}>
111
+ <DialogOverlay showCloseIcon={showCloseOnOverlay} position={position} />
112
+ <RadixDialog.Content
113
+ ref={ref}
114
+ className={cx(
115
+ 'dialog-content-bg dialog-outline absolute flex flex-col justify-center',
116
+ dialogPositioning,
117
+ widthClass,
118
+ )}
119
+ {...props}
120
+ >
121
+ <VisuallyHidden.Root>
122
+ <RadixDialog.Title />
123
+ <RadixDialog.Description />
124
+ </VisuallyHidden.Root>
125
+ <div className={cx('flex flex-1 flex-col', heightClass)}>{children}</div>
126
+ </RadixDialog.Content>
127
+ </DialogContainer>
113
128
  </RadixDialog.Portal>
114
129
  );
115
130
  },
@@ -122,7 +137,7 @@ const DialogTitle = React.forwardRef<
122
137
  >((props, ref) => (
123
138
  <RadixDialog.Title
124
139
  ref={ref}
125
- className="font-inter text-title-lg text-neutral-10 dark:text-neutral-92"
140
+ className="dialog-title-color font-inter text-title-lg"
126
141
  {...props}
127
142
  />
128
143
  ));
@@ -132,7 +147,7 @@ const DialogBody = React.forwardRef<React.ElementRef<'div'>, React.ComponentProp
132
147
  (props, ref) => (
133
148
  <div
134
149
  ref={ref}
135
- className="flex-1 overflow-y-auto p-md--rs text-body-sm text-neutral-40 dark:text-neutral-60"
150
+ className="dialog-body-color flex-1 overflow-y-auto p-md--rs text-body-sm"
136
151
  {...props}
137
152
  />
138
153
  ),
@@ -56,10 +56,10 @@ export function Navbar({
56
56
  {isCollapsible && (
57
57
  <div className="flex w-full items-center justify-between sm:mb-[48px] sm:flex-col">
58
58
  <div className="flex justify-center [&_svg]:h-[38px] [&_svg]:w-[38px]">
59
- <IotaLogoMark className="text-neutral-10 dark:text-neutral-92" />
59
+ <IotaLogoMark className="navbar-icon-color" />
60
60
  </div>
61
61
  <div
62
- className="state-layer relative rounded-full p-xs hover:cursor-pointer dark:text-neutral-92 sm:hidden [&_svg]:h-6 [&_svg]:w-6"
62
+ className="state-layer navbar-icon-color relative rounded-full p-xs hover:cursor-pointer sm:hidden [&_svg]:h-6 [&_svg]:w-6"
63
63
  onClick={onToggleNavbar}
64
64
  >
65
65
  <MenuIcon />
@@ -25,7 +25,7 @@ export function NavbarSlideout({
25
25
  />
26
26
  <div
27
27
  className={cx(
28
- 'z-999 rounded-tb-3xl fixed left-0 top-0 h-full w-11/12 rounded-tr-3xl bg-white px-lg py-lg transition-transform duration-300 ease-out dark:bg-neutral-6',
28
+ 'z-999 rounded-tb-3xl navbar-slideout-bg fixed left-0 top-0 h-full w-11/12 rounded-tr-3xl px-lg py-lg transition-transform duration-300 ease-out',
29
29
  {
30
30
  'translate-x-0': isOpen,
31
31
  '-translate-x-full': !isOpen,
@@ -149,7 +149,7 @@ export function Table({
149
149
  {supportingLabel || pageSizeSelector ? (
150
150
  <div className="flex flex-row items-center gap-x-sm">
151
151
  {supportingLabel && (
152
- <span className=" text-label-md text-neutral-40 dark:text-neutral-60">
152
+ <span className="table-text-color text-label-md">
153
153
  {supportingLabel}
154
154
  </span>
155
155
  )}
@@ -182,7 +182,7 @@ export function TableRow({
182
182
  );
183
183
  }
184
184
 
185
- const TEXT_COLOR_CLASS = 'text-neutral-40 dark:text-neutral-60';
185
+ const TEXT_COLOR_CLASS = 'table-text-color';
186
186
  const TEXT_SIZE_CLASS = 'text-body-md';
187
187
 
188
188
  export function TableBody({ children }: PropsWithChildren): JSX.Element {
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  export const IOTA_PRIMITIVES_COLOR_PALETTE = {
5
- primary: {
5
+ 'iota-primary': {
6
6
  '0': '#000000',
7
7
  '10': '#061244',
8
8
  '20': '#182b8a',
@@ -15,7 +15,7 @@ export const IOTA_PRIMITIVES_COLOR_PALETTE = {
15
15
  '90': '#d5e8ff',
16
16
  '100': '#ffffff',
17
17
  },
18
- secondary: {
18
+ 'iota-secondary': {
19
19
  '0': '#000000',
20
20
  '10': '#051631',
21
21
  '20': '#17345f',
@@ -28,7 +28,7 @@ export const IOTA_PRIMITIVES_COLOR_PALETTE = {
28
28
  '90': '#dde9f7',
29
29
  '100': '#ffffff',
30
30
  },
31
- tertiary: {
31
+ 'iota-tertiary': {
32
32
  '0': '#000000',
33
33
  '10': '#071f22',
34
34
  '20': '#18393b',
@@ -41,7 +41,7 @@ export const IOTA_PRIMITIVES_COLOR_PALETTE = {
41
41
  '90': '#c2f1f4',
42
42
  '100': '#ffffff',
43
43
  },
44
- error: {
44
+ 'iota-error': {
45
45
  '0': '#000000',
46
46
  '10': '#330009',
47
47
  '20': '#610012',
@@ -54,7 +54,7 @@ export const IOTA_PRIMITIVES_COLOR_PALETTE = {
54
54
  '90': '#ffd9e0',
55
55
  '100': '#ffffff',
56
56
  },
57
- neutral: {
57
+ 'iota-neutral': {
58
58
  '0': '#000000',
59
59
  '4': '#0a0f17',
60
60
  '6': '#0f141c',
@@ -73,11 +73,111 @@ export const IOTA_PRIMITIVES_COLOR_PALETTE = {
73
73
  '98': '#f8fafc',
74
74
  '100': '#ffffff',
75
75
  },
76
- warning: {
77
- '10': '#422C00',
78
- '20': '#2D1E00',
76
+ 'iota-warning': {
77
+ '0': '#000000',
78
+ '10': '#2D1E00',
79
+ '20': '#422C00',
80
+ '30': '#674500',
81
+ '40': '#8C5D00',
82
+ '50': '#A47518',
83
+ '60': '#BE8F32',
84
+ '70': '#D9AA4D',
85
+ '80': '#F4C568',
86
+ '90': '#FFE3AB',
87
+ '100': '#FFFFFF',
88
+ },
89
+ };
90
+
91
+ export const IOTA_NAMES_COLOR_PALETTE = {
92
+ 'names-primary': {
93
+ '0': '#000000',
94
+ '10': '#061244',
95
+ '20': '#182b8a',
96
+ '30': '#3131ff',
97
+ '40': '#2563f5',
98
+ '50': '#3f80f0',
99
+ '60': '#5b9cfe',
100
+ '70': '#85b5fb',
101
+ '80': '#adceff',
102
+ '90': '#d5e8ff',
103
+ '100': '#ffffff',
104
+ },
105
+ 'names-secondary': {
106
+ '0': '#000000',
107
+ '10': '#051631',
108
+ '20': '#17345f',
109
+ '30': '#2d4c7a',
110
+ '40': '#4b648a',
111
+ '50': '#637ca2',
112
+ '60': '#7e97bd',
113
+ '70': '#96b3d5',
114
+ '80': '#b6cde8',
115
+ '90': '#dde9f7',
116
+ '100': '#ffffff',
117
+ },
118
+ 'names-tertiary': {
119
+ '0': '#000000',
120
+ '10': '#00231F',
121
+ '20': '#00453D',
122
+ '30': '#00685C',
123
+ '40': '#008C7C',
124
+ '50': '#00AF9B',
125
+ '60': '#00D7BE',
126
+ '70': '#17F3D9',
127
+ '80': '#54FFEB',
128
+ '90': '#A6FFF4',
129
+ '100': '#ffffff',
130
+ },
131
+ 'names-error': {
132
+ '0': '#000000',
133
+ '10': '#3D001F',
134
+ '20': '#620432',
135
+ '30': '#A30251',
136
+ '40': '#C90E6A',
137
+ '50': '#DC2B82',
138
+ '60': '#E35A9E',
139
+ '70': '#EF84B9',
140
+ '80': '#FCADD4',
141
+ '90': '#FFD7EB',
142
+ '100': '#ffffff',
143
+ },
144
+ 'names-neutral': {
145
+ '0': '#000000',
146
+ '4': '#0A0D23',
147
+ '6': '#0F1228',
148
+ '10': '#181B31',
149
+ '12': '#20233C',
150
+ '20': '#2B2E45',
151
+ '30': '#404359',
152
+ '40': '#585B71',
153
+ '50': '#71748B',
154
+ '60': '#8C8FA5',
155
+ '70': '#ACAFC5',
156
+ '80': '#CED1E7',
157
+ '90': '#DFE2F8',
158
+ '92': '#E5E8FE',
159
+ '96': '#F0F2FF',
160
+ '98': '#F8F9FF',
161
+ '100': '#ffffff',
162
+ },
163
+ 'names-solid': {
164
+ blue: '#3131FF',
165
+ purple: '#A139FF',
166
+ green: '#14F0D6',
167
+ neutral: '#20233C',
168
+ },
169
+ 'names-warning': {
170
+ '0': '#000000',
171
+ '10': '#2D1E00',
172
+ '20': '#422C00',
173
+ '30': '#674500',
174
+ '40': '#8C5D00',
175
+ '50': '#A47518',
79
176
  '60': '#BE8F32',
177
+ '70': '#D9AA4D',
178
+ '80': '#F4C568',
80
179
  '90': '#FFE3AB',
180
+ '100': '#FFFFFF',
81
181
  },
82
182
  };
83
183
 
@@ -89,6 +189,7 @@ export const SHADER_COLOR_PALETTE = {
89
189
  '16': '#bed8ff28',
90
190
  '48': '#bed8ff7a',
91
191
  '72': '#bed8ffb7',
192
+ '100': '#bed8ff',
92
193
  },
93
194
  'shader-inverted-dark': {
94
195
  '0': '#002f6d00',
@@ -97,6 +198,7 @@ export const SHADER_COLOR_PALETTE = {
97
198
  '16': '#002f6d28',
98
199
  '48': '#002f6d7a',
99
200
  '72': '#002f6db7',
201
+ '100': '#002f6d',
100
202
  },
101
203
  'shader-neutral-dark': {
102
204
  '0': '#bed8ff00',
@@ -105,6 +207,7 @@ export const SHADER_COLOR_PALETTE = {
105
207
  '16': '#bed8ff28',
106
208
  '48': '#bed8ff7a',
107
209
  '72': '#bed8ffb7',
210
+ '100': '#bed8ff',
108
211
  },
109
212
  'shader-primary-light': {
110
213
  0: '#0067ee00',
@@ -113,6 +216,7 @@ export const SHADER_COLOR_PALETTE = {
113
216
  16: '#0067ee28',
114
217
  48: '#0067ee7a',
115
218
  72: '#0067eeb7',
219
+ 100: '#0067ee',
116
220
  },
117
221
  'shader-inverted-light': {
118
222
  0: '#bed8ff00',
@@ -121,6 +225,7 @@ export const SHADER_COLOR_PALETTE = {
121
225
  16: '#bed8ff28',
122
226
  48: '#bed8ff7a',
123
227
  72: '#bed8ffb7',
228
+ 100: '#bed8ff',
124
229
  },
125
230
  'shader-neutral-light': {
126
231
  0: '#002f6d00',
@@ -129,5 +234,6 @@ export const SHADER_COLOR_PALETTE = {
129
234
  16: '#002f6d28',
130
235
  48: '#002f6d7a',
131
236
  72: '#002f6db7',
237
+ 100: '#002f6d',
132
238
  },
133
239
  };
@@ -2,3 +2,4 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  export * from './screenSize.enums';
5
+ export * from './theme.enums';
@@ -0,0 +1,8 @@
1
+ // Copyright (c) 2025 IOTA Stiftung
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export enum UIKitTheme {
5
+ Light = 'light',
6
+ Dark = 'dark',
7
+ Names = 'names',
8
+ }
package/src/lib/index.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  // Copyright (c) 2024 IOTA Stiftung
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
+ import './styles/index.css';
5
+
4
6
  export * from './tailwind';
5
7
  export * from './components';
6
8
  export * from './constants';
@@ -0,0 +1,137 @@
1
+ @layer base {
2
+ .text-display-lg,
3
+ .text-display-md,
4
+ .text-display-sm,
5
+ .text-headline-lg,
6
+ .text-headline-md,
7
+ .text-headline-sm {
8
+ font-family: var(--font-family-heading);
9
+ }
10
+
11
+ .text-title-lg,
12
+ .text-title-md,
13
+ .text-title-sm,
14
+ .text-body-lg,
15
+ .text-body-md,
16
+ .text-body-sm,
17
+ .text-body-ds-lg,
18
+ .text-body-ds-md,
19
+ .text-body-ds-sm,
20
+ .text-label-lg,
21
+ .text-label-md,
22
+ .text-label-sm {
23
+ font-family: var(--font-family-text);
24
+ }
25
+
26
+ .text-display-lg,
27
+ .text-display-md,
28
+ .text-display-sm,
29
+ .text-headline-lg,
30
+ .text-headline-md,
31
+ .text-headline-sm,
32
+ .text-body-ds-lg {
33
+ font-variant-alternates: 'ss02';
34
+ font-weight: var(--font-weight);
35
+ letter-spacing: var(--letter-spacing);
36
+ }
37
+
38
+ .text-label-md {
39
+ font-variant-alternates: 'ss01';
40
+ }
41
+
42
+ :root.names {
43
+ --roboto-flex-variation-settings: 'GRAD' 0, 'XOPQ' 96, 'XTRA' 468, 'YOPQ' 79, 'YTAS' 750,
44
+ 'YTDE' -203, 'YTFI' 738, 'YTLC' 514, 'YTUC' 640, 'slnt' 0, 'wdth' 130;
45
+
46
+ .text-display-lg,
47
+ .text-display-md,
48
+ .text-display-sm {
49
+ font-family: var(--font-family-heading);
50
+ font-variation-settings: var(--roboto-flex-variation-settings);
51
+ }
52
+
53
+ .text-headline-lg,
54
+ .text-headline-md,
55
+ .text-headline-sm,
56
+ .text-title-lg,
57
+ .text-title-md,
58
+ .text-title-sm,
59
+ .text-body-lg,
60
+ .text-body-md,
61
+ .text-body-sm,
62
+ .text-body-ds-lg,
63
+ .text-body-ds-md,
64
+ .text-body-ds-sm,
65
+ .text-label-lg,
66
+ .text-label-md,
67
+ .text-label-sm {
68
+ font-family: var(--font-family-text);
69
+ }
70
+
71
+ .text-headline-sm,
72
+ .text-headline-md,
73
+ .text-headline-lg {
74
+ font-feature-settings: 'ss01' on;
75
+ }
76
+
77
+ .font-roboto-flex {
78
+ font-variation-settings: var(--roboto-flex-variation-settings);
79
+ }
80
+ }
81
+
82
+ input:-webkit-autofill,
83
+ input:-webkit-autofill:enabled,
84
+ input:-webkit-autofill:hover,
85
+ input:-webkit-autofill:focus {
86
+ @apply appearance-none !bg-transparent !bg-none;
87
+ @apply !text-iota-neutral-92 names:!text-names-neutral-10 dark:!text-iota-neutral-10;
88
+ transition: background-color 5000s ease-in-out 0s;
89
+ -webkit-text-fill-color: theme('colors.iota-neutral.92') !important;
90
+ }
91
+
92
+ :root:not(.dark):not(.names) {
93
+ input:-webkit-autofill,
94
+ input:-webkit-autofill:enabled,
95
+ input:-webkit-autofill:hover,
96
+ input:-webkit-autofill:focus {
97
+ -webkit-text-fill-color: theme('colors.iota-neutral.10') !important;
98
+ }
99
+ }
100
+ }
101
+
102
+ @-moz-document url-prefix() {
103
+ * {
104
+ scrollbar-width: thin;
105
+ scrollbar-color: theme('colors.iota-neutral.30') transparent;
106
+ }
107
+
108
+ :root:not(.dark) {
109
+ * {
110
+ scrollbar-color: theme('colors.iota-neutral.80') transparent;
111
+ }
112
+ }
113
+ }
114
+ @supports selector(::-webkit-scrollbar) {
115
+ *::-webkit-scrollbar {
116
+ width: 0.875rem;
117
+ }
118
+
119
+ *::-webkit-scrollbar-track {
120
+ border-radius: 0.75rem;
121
+ background-color: transparent;
122
+ }
123
+
124
+ *::-webkit-scrollbar-thumb {
125
+ box-shadow: inset 0 0 10px 10px #cad4e2;
126
+ border-radius: 0.75rem;
127
+ border: 4px solid transparent;
128
+ }
129
+
130
+ .dark *::-webkit-scrollbar-thumb {
131
+ box-shadow: inset 0 0 10px 10px #3c4656;
132
+ }
133
+
134
+ .names *::-webkit-scrollbar-thumb {
135
+ box-shadow: inset 0 0 10px 10px #3c4656;
136
+ }
137
+ }