@a-type/ui 1.6.5 → 1.7.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 (138) hide show
  1. package/dist/cjs/components/box/Box.d.ts +1 -1
  2. package/dist/cjs/components/box/Box.js +1 -1
  3. package/dist/cjs/components/box/Box.js.map +1 -1
  4. package/dist/cjs/components/button/classes.js +10 -10
  5. package/dist/cjs/components/button/classes.js.map +1 -1
  6. package/dist/cjs/components/camera/Camera.js +1 -1
  7. package/dist/cjs/components/camera/Camera.js.map +1 -1
  8. package/dist/cjs/components/card/Card.js +4 -4
  9. package/dist/cjs/components/card/Card.js.map +1 -1
  10. package/dist/cjs/components/checkbox/Checkbox.js +1 -1
  11. package/dist/cjs/components/checkbox/Checkbox.js.map +1 -1
  12. package/dist/cjs/components/datePicker/DatePicker.js +3 -3
  13. package/dist/cjs/components/datePicker/DatePicker.js.map +1 -1
  14. package/dist/cjs/components/dialog/Dialog.js +3 -3
  15. package/dist/cjs/components/dialog/Dialog.js.map +1 -1
  16. package/dist/cjs/components/dropdownMenu/DropdownMenu.js +3 -3
  17. package/dist/cjs/components/dropdownMenu/DropdownMenu.js.map +1 -1
  18. package/dist/cjs/components/editableText/EditableText.js +1 -1
  19. package/dist/cjs/components/editableText/EditableText.js.map +1 -1
  20. package/dist/cjs/components/forms/CheckboxField.js +1 -1
  21. package/dist/cjs/components/forms/CheckboxField.js.map +1 -1
  22. package/dist/cjs/components/forms/NumberStepperField.js +2 -2
  23. package/dist/cjs/components/forms/NumberStepperField.js.map +1 -1
  24. package/dist/cjs/components/forms/TextField.js +1 -1
  25. package/dist/cjs/components/forms/TextField.js.map +1 -1
  26. package/dist/cjs/components/horizontalList/HorizontalList.js +1 -1
  27. package/dist/cjs/components/horizontalList/HorizontalList.js.map +1 -1
  28. package/dist/cjs/components/icon/generated/IconSpritesheet.js +1 -1
  29. package/dist/cjs/components/icon/generated/IconSpritesheet.js.map +1 -1
  30. package/dist/cjs/components/icon/generated/iconNames.d.ts +1 -1
  31. package/dist/cjs/components/icon/generated/iconNames.js +2 -0
  32. package/dist/cjs/components/icon/generated/iconNames.js.map +1 -1
  33. package/dist/cjs/components/input/Input.js +1 -1
  34. package/dist/cjs/components/input/Input.js.map +1 -1
  35. package/dist/cjs/components/masonry/masonry.stories.js +2 -2
  36. package/dist/cjs/components/masonry/masonry.stories.js.map +1 -1
  37. package/dist/cjs/components/navBar/NavBar.js +6 -6
  38. package/dist/cjs/components/navBar/NavBar.js.map +1 -1
  39. package/dist/cjs/components/numberStepper/NumberStepper.js +2 -2
  40. package/dist/cjs/components/numberStepper/NumberStepper.js.map +1 -1
  41. package/dist/cjs/components/popover/Popover.js +1 -1
  42. package/dist/cjs/components/popover/Popover.js.map +1 -1
  43. package/dist/cjs/components/richEditor/index.js +1 -1
  44. package/dist/cjs/components/richEditor/index.js.map +1 -1
  45. package/dist/cjs/components/scrollArea/ScrollArea.js +2 -2
  46. package/dist/cjs/components/scrollArea/ScrollArea.js.map +1 -1
  47. package/dist/cjs/components/select/Select.js +1 -1
  48. package/dist/cjs/components/select/Select.js.map +1 -1
  49. package/dist/cjs/components/tabs/tabs.js +3 -3
  50. package/dist/cjs/components/tabs/tabs.js.map +1 -1
  51. package/dist/cjs/themes.stories.js +6 -1
  52. package/dist/cjs/themes.stories.js.map +1 -1
  53. package/dist/cjs/uno.preset.d.ts +2 -1
  54. package/dist/cjs/uno.preset.js +190 -47
  55. package/dist/cjs/uno.preset.js.map +1 -1
  56. package/dist/css/main.css +65 -35
  57. package/dist/esm/components/box/Box.d.ts +1 -1
  58. package/dist/esm/components/box/Box.js +1 -1
  59. package/dist/esm/components/box/Box.js.map +1 -1
  60. package/dist/esm/components/button/classes.js +10 -10
  61. package/dist/esm/components/button/classes.js.map +1 -1
  62. package/dist/esm/components/camera/Camera.js +1 -1
  63. package/dist/esm/components/camera/Camera.js.map +1 -1
  64. package/dist/esm/components/card/Card.js +4 -4
  65. package/dist/esm/components/card/Card.js.map +1 -1
  66. package/dist/esm/components/checkbox/Checkbox.js +1 -1
  67. package/dist/esm/components/checkbox/Checkbox.js.map +1 -1
  68. package/dist/esm/components/datePicker/DatePicker.js +3 -3
  69. package/dist/esm/components/datePicker/DatePicker.js.map +1 -1
  70. package/dist/esm/components/dialog/Dialog.js +3 -3
  71. package/dist/esm/components/dialog/Dialog.js.map +1 -1
  72. package/dist/esm/components/dropdownMenu/DropdownMenu.js +3 -3
  73. package/dist/esm/components/dropdownMenu/DropdownMenu.js.map +1 -1
  74. package/dist/esm/components/editableText/EditableText.js +1 -1
  75. package/dist/esm/components/editableText/EditableText.js.map +1 -1
  76. package/dist/esm/components/forms/CheckboxField.js +1 -1
  77. package/dist/esm/components/forms/CheckboxField.js.map +1 -1
  78. package/dist/esm/components/forms/NumberStepperField.js +2 -2
  79. package/dist/esm/components/forms/NumberStepperField.js.map +1 -1
  80. package/dist/esm/components/forms/TextField.js +1 -1
  81. package/dist/esm/components/forms/TextField.js.map +1 -1
  82. package/dist/esm/components/horizontalList/HorizontalList.js +1 -1
  83. package/dist/esm/components/horizontalList/HorizontalList.js.map +1 -1
  84. package/dist/esm/components/icon/generated/IconSpritesheet.js +1 -1
  85. package/dist/esm/components/icon/generated/IconSpritesheet.js.map +1 -1
  86. package/dist/esm/components/icon/generated/iconNames.d.ts +1 -1
  87. package/dist/esm/components/icon/generated/iconNames.js +2 -0
  88. package/dist/esm/components/icon/generated/iconNames.js.map +1 -1
  89. package/dist/esm/components/input/Input.js +1 -1
  90. package/dist/esm/components/input/Input.js.map +1 -1
  91. package/dist/esm/components/masonry/masonry.stories.js +2 -2
  92. package/dist/esm/components/masonry/masonry.stories.js.map +1 -1
  93. package/dist/esm/components/navBar/NavBar.js +6 -6
  94. package/dist/esm/components/navBar/NavBar.js.map +1 -1
  95. package/dist/esm/components/numberStepper/NumberStepper.js +2 -2
  96. package/dist/esm/components/numberStepper/NumberStepper.js.map +1 -1
  97. package/dist/esm/components/popover/Popover.js +1 -1
  98. package/dist/esm/components/popover/Popover.js.map +1 -1
  99. package/dist/esm/components/richEditor/index.js +1 -1
  100. package/dist/esm/components/richEditor/index.js.map +1 -1
  101. package/dist/esm/components/scrollArea/ScrollArea.js +2 -2
  102. package/dist/esm/components/scrollArea/ScrollArea.js.map +1 -1
  103. package/dist/esm/components/select/Select.js +1 -1
  104. package/dist/esm/components/select/Select.js.map +1 -1
  105. package/dist/esm/components/tabs/tabs.js +3 -3
  106. package/dist/esm/components/tabs/tabs.js.map +1 -1
  107. package/dist/esm/themes.stories.js +7 -2
  108. package/dist/esm/themes.stories.js.map +1 -1
  109. package/dist/esm/uno.preset.d.ts +2 -1
  110. package/dist/esm/uno.preset.js +190 -47
  111. package/dist/esm/uno.preset.js.map +1 -1
  112. package/package.json +1 -1
  113. package/src/components/box/Box.tsx +3 -2
  114. package/src/components/button/classes.tsx +15 -14
  115. package/src/components/camera/Camera.tsx +2 -2
  116. package/src/components/card/Card.tsx +5 -5
  117. package/src/components/checkbox/Checkbox.tsx +1 -1
  118. package/src/components/datePicker/DatePicker.tsx +8 -8
  119. package/src/components/dialog/Dialog.tsx +3 -3
  120. package/src/components/dropdownMenu/DropdownMenu.tsx +4 -4
  121. package/src/components/editableText/EditableText.tsx +1 -1
  122. package/src/components/forms/CheckboxField.tsx +1 -1
  123. package/src/components/forms/NumberStepperField.tsx +2 -2
  124. package/src/components/forms/TextField.tsx +1 -1
  125. package/src/components/horizontalList/HorizontalList.tsx +1 -1
  126. package/src/components/icon/generated/IconSpritesheet.tsx +19 -0
  127. package/src/components/icon/generated/iconNames.ts +2 -0
  128. package/src/components/input/Input.tsx +4 -4
  129. package/src/components/masonry/masonry.stories.tsx +2 -2
  130. package/src/components/navBar/NavBar.tsx +10 -10
  131. package/src/components/numberStepper/NumberStepper.tsx +2 -2
  132. package/src/components/popover/Popover.tsx +1 -1
  133. package/src/components/richEditor/index.ts +1 -1
  134. package/src/components/scrollArea/ScrollArea.tsx +3 -3
  135. package/src/components/select/Select.tsx +4 -2
  136. package/src/components/tabs/tabs.tsx +6 -8
  137. package/src/themes.stories.tsx +159 -85
  138. package/src/uno.preset.ts +218 -46
@@ -22,14 +22,14 @@ import { selectTriggerClassName } from '../select/index.js';
22
22
 
23
23
  const StyledOverlay = withClassName(
24
24
  DialogPrimitive.Overlay,
25
- 'layer-components:(fixed inset-0 z-dialog-backdrop animate-fade-in animate-duration-200 bg-overlay [box-shadow:inset_0_30px_60px_0px_var(--color-overlay)] border-top-1 border-top-solid border-top-gray-5)',
25
+ 'layer-components:(fixed inset-0 z-dialog-backdrop animate-fade-in animate-duration-200 bg-overlay [box-shadow:inset_0_30px_60px_0px_var(--color-overlay)] border-top-1 border-top-solid border-top-gray)',
26
26
  'layer-components:[&[data-state=closed]]:animate-fade-out',
27
27
  'motion-reduce:animate-none',
28
28
  );
29
29
 
30
30
  const StyledContent = withClassName(
31
31
  DialogPrimitive.Content,
32
- 'layer-components:(z-dialog fixed shadow-xl-up bg-white overflow-y-auto flex flex-col border-top-1 border-top-solid border-top-gray-5)',
32
+ 'layer-components:(z-dialog fixed shadow-xl-up bg-white overflow-y-auto flex flex-col border-top-1 border-top-solid border-top-gray)',
33
33
  'layer-components:sm:(shadow-xl)',
34
34
  'transform-gpu !motion-reduce:animate-none',
35
35
  'layer-components:(left-50% top-50% translate-[-50%] w-90vw max-w-450px max-h-85vh p-6 pt-8 rounded-lg border-b-1 pt-6)',
@@ -188,7 +188,7 @@ export const DialogSwipeHandle = function DialogSwipeHandle({
188
188
  className,
189
189
  )}
190
190
  >
191
- <div className="w-full h-[4px] bg-gray-4 rounded-lg" />
191
+ <div className="w-full h-[4px] bg-gray rounded-lg" />
192
192
  </div>
193
193
  );
194
194
  };
@@ -16,8 +16,8 @@ const StyledContent = withClassName(
16
16
  );
17
17
  const itemClassName = classNames(
18
18
  'layer-components:(text-md leading-4 color-black flex items-center pr-4 pl-8 py-2 relative text-left select-none cursor-pointer)',
19
- 'layer-components:[&[data-disabled]]:(color-gray9 pointer-events-none)',
20
- 'layer-components:focus-visible:(bg-gray2 color-gray9)',
19
+ 'layer-components:[&[data-disabled]]:(color-black pointer-events-none)',
20
+ 'layer-components:focus-visible:(bg-gray-light bg-darken-0.5 color-black)',
21
21
  'layer-components:focus:outline-none',
22
22
  );
23
23
  const StyledItemBase = withClassName(DropdownMenuPrimitive.Item, itemClassName);
@@ -55,7 +55,7 @@ const StyledRadioItem = withClassName(
55
55
 
56
56
  const StyledLabel = withClassName(
57
57
  DropdownMenuPrimitive.Label,
58
- 'pl-3 py-1 font-bold text-sm leading-6 color-gray-9',
58
+ 'pl-3 py-1 font-bold text-sm leading-6 color-gray-dark',
59
59
  );
60
60
 
61
61
  const StyledSeparator = withClassName(
@@ -102,7 +102,7 @@ export const DropdownMenuContent = ({
102
102
  return (
103
103
  <StyledPortal forceMount={forceMount}>
104
104
  <StyledContent {...props}>
105
- <div className="overflow-hidden rounded-xl">{children}</div>
105
+ <div className="overflow-hidden rounded-lg">{children}</div>
106
106
  <StyledArrow />
107
107
  </StyledContent>
108
108
  </StyledPortal>
@@ -104,7 +104,7 @@ export function EditableText({
104
104
  inputClassName,
105
105
  'layer-variants:(border-transparent bg-transparent w-auto inline-flex items-center gap-2 font-size-inherit text-inherit shadow-none)',
106
106
  'layer-variants:hover:(bg-gray-blend)',
107
- 'layer-variants:focus-visible:(outline-none bg-gray-dark-blend)',
107
+ 'layer-variants:focus-visible:(outline-none bg-gray-darkBlend)',
108
108
  'cursor-pointer',
109
109
  className,
110
110
  )}
@@ -43,5 +43,5 @@ const FieldRoot = withClassName(
43
43
 
44
44
  const FieldLabel = withClassName(
45
45
  'label',
46
- 'layer-components:(inline-flex flex-col gap-1 text-md font-normal text-dark-blend mt-2px)',
46
+ 'layer-components:(inline-flex flex-col gap-1 text-md font-normal text-darkBlend mt-2px)',
47
47
  );
@@ -1,10 +1,10 @@
1
1
  import { useField } from 'formik';
2
2
  import { withClassName } from '../../hooks.js';
3
+ import { useIdOrGenerated } from '../../hooks/useIdOrGenerated.js';
3
4
  import {
4
5
  NumberStepper,
5
6
  NumberStepperProps,
6
7
  } from '../numberStepper/NumberStepper.js';
7
- import { useIdOrGenerated } from '../../hooks/useIdOrGenerated.js';
8
8
 
9
9
  export interface NumberStepperFieldProps
10
10
  extends Omit<NumberStepperProps, 'value' | 'onChange'> {
@@ -50,5 +50,5 @@ const FieldRoot = withClassName(
50
50
 
51
51
  const FieldLabel = withClassName(
52
52
  'label',
53
- 'layer-components:(block flex-col gap-1 text-md font-normal text-dark-blend mt-2px)',
53
+ 'layer-components:(block flex-col gap-1 text-md font-normal text-darkBlend mt-2px)',
54
54
  );
@@ -133,5 +133,5 @@ export const FieldRoot = withClassName(
133
133
  );
134
134
  export const FieldLabel = withClassName(
135
135
  'label',
136
- 'inline-flex flex-col gap-1 text-sm font-bold text-dark-blend mb-1',
136
+ 'inline-flex flex-col gap-1 text-sm font-bold text-darkBlend mb-1',
137
137
  );
@@ -170,7 +170,7 @@ export function HorizontalList({
170
170
  className={clsx(
171
171
  'flex-shrink-0 bg-[var(--scroll-bg)] sticky left-0 top-2 z-1',
172
172
  !open &&
173
- 'rounded-none h-full border-r border-r-solid border-r-gray-5',
173
+ 'rounded-none h-full border-r border-r-solid border-r-gray',
174
174
  )}
175
175
  >
176
176
  <Icon
@@ -429,6 +429,19 @@ export const IconSpritesheet = (props: any) => (
429
429
  fill="currentColor"
430
430
  />
431
431
  </symbol>
432
+ <symbol id="icon-linkRemove" viewBox="0 0 15 15">
433
+ <path
434
+ d="M12.5 2.5L2.5 12.5"
435
+ stroke="currentColor"
436
+ strokeLinecap="round"
437
+ />
438
+ <path
439
+ fillRule="evenodd"
440
+ clipRule="evenodd"
441
+ d="M9.58577 4.00001H9.50002C9.22387 4.00001 9.00002 4.22387 9.00002 4.50001C9.00002 4.52706 9.00216 4.55361 9.0063 4.57949L9.58577 4.00001ZM6.58579 7H5.00068C4.72454 7 4.50068 7.22386 4.50068 7.5C4.50068 7.77614 4.72454 8 5.00068 8H5.58579L6.58579 7ZM8.41421 8L9.41421 7H10.0007C10.2768 7 10.5007 7.22386 10.5007 7.5C10.5007 7.77614 10.2768 8 10.0007 8H8.41421ZM3.62037 9.96542C3.61557 9.96456 3.61081 9.96367 3.60607 9.96277C2.80293 9.8094 2.19187 9.21108 2.03765 8.46678C2.00264 8.29778 2.00002 8.08251 2.00002 7.50001C2.00002 6.91752 2.00264 6.70225 2.03765 6.53324C2.19187 5.78895 2.80293 5.19062 3.60607 5.03725C3.78938 5.00225 4.02114 5.00001 4.62502 5.00001H5.50002C5.77616 5.00001 6.00002 4.77615 6.00002 4.50001C6.00002 4.22387 5.77616 4.00001 5.50002 4.00001H4.62502L4.56433 4.00001C4.04165 3.99993 3.70718 3.99988 3.41851 4.055C2.2382 4.28039 1.29877 5.17053 1.05845 6.33035C0.999843 6.61321 0.999909 6.93998 1.00001 7.43689L1.00002 7.50001L1.00001 7.56313C0.999909 8.06004 0.999843 8.38681 1.05845 8.66967C1.25643 9.62517 1.92889 10.3976 2.81962 10.7662L3.62037 9.96542ZM5.4142 11L5.99373 10.4205C5.99787 10.4464 6.00002 10.4729 6.00002 10.5C6.00002 10.7762 5.77616 11 5.50002 11H5.4142ZM11.3796 5.0346L12.1804 4.23384C13.0711 4.60237 13.7436 5.37484 13.9416 6.33035C14.0002 6.61321 14.0001 6.93998 14 7.43688L14 7.50001L14 7.56314C14.0001 8.06005 14.0002 8.38681 13.9416 8.66967C13.7013 9.8295 12.7618 10.7196 11.5815 10.945C11.2929 11.0001 10.9584 11.0001 10.4357 11L10.375 11H9.50002C9.22387 11 9.00002 10.7762 9.00002 10.5C9.00002 10.2239 9.22387 10 9.50002 10H10.375C10.9789 10 11.2107 9.99777 11.394 9.96277C12.1971 9.8094 12.8082 9.21108 12.9624 8.46678C12.9974 8.29778 13 8.08251 13 7.50001C13 6.91752 12.9974 6.70225 12.9624 6.53324C12.8082 5.78895 12.1971 5.19062 11.394 5.03725C11.3892 5.03635 11.3844 5.03546 11.3796 5.0346Z"
442
+ fill="currentColor"
443
+ />
444
+ </symbol>
432
445
  <symbol id="icon-camera" viewBox="0 0 15 15">
433
446
  <path
434
447
  fillRule="evenodd"
@@ -957,6 +970,12 @@ export const IconSpritesheet = (props: any) => (
957
970
  strokeLinejoin="round"
958
971
  />
959
972
  </symbol>
973
+ <symbol id="icon-share" viewBox="0 0 15 15">
974
+ <circle cx="11.5" cy="2.5" r="2" fill="currentColor" />
975
+ <circle cx="11.5" cy="12.5" r="2" fill="currentColor" />
976
+ <circle cx="4" cy="7.5" r="2" fill="currentColor" />
977
+ <path d="M11.5 2.5L3.5 7.5L11.5 12.5" stroke="currentColor" />
978
+ </symbol>
960
979
  </defs>
961
980
  </svg>
962
981
  );
@@ -38,6 +38,7 @@ export const iconNames = [
38
38
  'maximize',
39
39
  'email',
40
40
  'link',
41
+ 'linkRemove',
41
42
  'camera',
42
43
  'calendar',
43
44
  'page',
@@ -85,6 +86,7 @@ export const iconNames = [
85
86
  'skipEnd',
86
87
  'enterKey',
87
88
  'gamePiece',
89
+ 'share',
88
90
  ] as const;
89
91
 
90
92
  export type IconName = (typeof iconNames)[number];
@@ -4,10 +4,10 @@ import { ChangeEvent, ComponentProps, FocusEvent, useCallback } from 'react';
4
4
  import { useRotatingShuffledValue } from '../../hooks/useRotatingShuffledValue.js';
5
5
 
6
6
  export const inputClassName = classNames(
7
- 'layer-components:(px-5 py-1.25 text-md font-sans rounded-xl bg-white select-auto min-w-60px color-black border-solid border border-gray-5 shadow-sm-inset)',
8
- 'layer-components:focus:(outline-none bg-gray-1 ring-4 ring-white)',
9
- 'layer-components:focus-visible:(outline-none ring-gray-dark-blend)',
10
- 'layer-components:disabled:(bg-transparent border-gray-5 placeholder-gray-7 shadow-none)',
7
+ 'layer-components:(px-5 py-1.25 text-md font-sans rounded-xl bg-white select-auto min-w-60px color-black border-solid border border-gray-dark shadow-sm-inset)',
8
+ 'layer-components:focus:(outline-none bg-lighten-2 ring-4 ring-white)',
9
+ 'layer-components:focus-visible:(outline-none ring-gray-darkBlend)',
10
+ 'layer-components:disabled:(bg-transparent border-gray placeholder-gray-dark shadow-none)',
11
11
  'layer-components:md:(min-w-120px)',
12
12
  );
13
13
 
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import { Masonry } from './masonry.js';
3
2
  import { useState } from 'react';
3
+ import { Masonry } from './masonry.js';
4
4
 
5
5
  const meta = {
6
6
  title: 'Masonry',
@@ -33,7 +33,7 @@ const content = (spans?: boolean) =>
33
33
  return (
34
34
  <div
35
35
  key={i}
36
- className="bg-gray-5 rounded-lg"
36
+ className="bg-gray-light rounded-lg"
37
37
  style={{ height: size }}
38
38
  data-span={spans ? span : undefined}
39
39
  onClick={() => setSpan((v) => (v === 1 ? 2 : 1))}
@@ -5,12 +5,12 @@ import { withClassName } from '../../hooks.js';
5
5
  import { Icon, IconProps } from '../icon/index.js';
6
6
 
7
7
  export const navBarItemClass = classNames(
8
- 'layer-components:(flex flex-col items-center justify-center whitespace-nowrap py-1 px-3 bg-transparent rounded-md border-none cursor-pointer text-sm transition-colors h-full gap-6px relative text-gray-7 select-none)',
8
+ 'layer-components:(flex flex-col items-center justify-center whitespace-nowrap py-1 px-3 bg-transparent rounded-md border-none cursor-pointer text-sm transition-colors h-full gap-6px relative text-gray-dark select-none)',
9
9
  'layer-components:sm:(flex-row-reverse h-auto justify-start gap-2 overflow-visible)',
10
- 'layer-components:active:bg-primary-wash layer-components:sm:active:bg-gray-dark-blend',
11
- 'layer-components:hover:bg-primary-wash',
12
- 'layer-components:focus-visible:(outline-none bg-primary-wash)',
13
- 'layer-components:[&[data-active=true]]:(bg-primary-wash text-black)',
10
+ 'layer-components:active:bg-darken-2 layer-components:sm:active:bg-darken-2',
11
+ 'layer-components:hover:bg-darken-1',
12
+ 'layer-components:focus-visible:(outline-none bg-darken-3)',
13
+ 'layer-components:[&[data-active=true]]:(bg-[var(--bg)] bg-darken-2 text-black)',
14
14
  'layer-components:([--bg:var(--color-primary-wash)] [--fill:var(--color-primary)])',
15
15
  );
16
16
 
@@ -40,11 +40,11 @@ export const NavBarItem = function NavBarItem({
40
40
  className={classNames(
41
41
  navBarItemClass,
42
42
  color === 'neutral' && [
43
- 'layer-variants:active:bg-gray-dark-blend layer-variants:sm:active:bg-gray-dark-blend',
44
- 'layer-variants:hover:bg-gray-dark-blend',
45
- 'layer-variants:focus-visible:(bg-gray-dark-blend)',
46
- 'layer-variants:[&[data-active=true]]:(bg-gray-dark-blend text-black)',
47
- 'layer-variants:([--bg:var(--color-gray-blend)] [--fill:var(--color-gray-5)])',
43
+ 'layer-variants:active:bg-gray-darkBlend layer-variants:sm:active:bg-gray-darkBlend',
44
+ 'layer-variants:hover:bg-gray-darkBlend',
45
+ 'layer-variants:focus-visible:(bg-gray-darkBlend)',
46
+ 'layer-variants:[&[data-active=true]]:(bg-gray-darkBlend text-black)',
47
+ 'layer-variants:([--bg:var(--color-gray-blend)] [--fill:var(--color-gray)])',
48
48
  ],
49
49
  className,
50
50
  )}
@@ -67,9 +67,9 @@ export function NumberStepper({
67
67
  return (
68
68
  <div
69
69
  className={classNames(
70
- 'layer-components:(flex items-center border-solid border border-gray-5 rounded-lg overflow-hidden w-min-content flex-shrink-0 bg-white shadow-sm)',
70
+ 'layer-components:(flex items-center border-solid border border-gray-dark rounded-lg overflow-hidden w-min-content flex-shrink-0 bg-white shadow-sm)',
71
71
  disabled &&
72
- 'layer-variants:(border-gray-dark-blend bg-transparent shadow-none)',
72
+ 'layer-variants:(border-gray-darkBlend bg-transparent shadow-none)',
73
73
  {
74
74
  'layer-variants:(bg-accent-wash color-black)':
75
75
  !!highlightChange && value !== 1,
@@ -26,7 +26,7 @@ const StyledArrow = withClassName(
26
26
 
27
27
  const StyledClose = withClassName(
28
28
  PopoverPrimitive.Close,
29
- 'layer-components:([all:unset] [font-family:inherit] rounded-lg h-25px w-25px inline-flex items-center justify-center color-dark-blend absolute top-5px right-5px hover:bg-light-blend focus:shadow-focus)',
29
+ 'layer-components:([all:unset] [font-family:inherit] rounded-lg h-25px w-25px inline-flex items-center justify-center color-darkBlend absolute top-5px right-5px hover:bg-lightBlend focus:shadow-focus)',
30
30
  );
31
31
 
32
32
  // Exports
@@ -10,7 +10,7 @@ export const tipTapClassName = clsx(
10
10
  'layer-components:[&_.ProseMirror_h4]:(text-sm font-bold mb-sm)',
11
11
  'layer-components:[&_.ProseMirror_p]:(mb-sm)',
12
12
  'layer-components:[&_.ProseMirror_a]:underline',
13
- 'layer-components:[&_.ProseMirror]:(bg-white rounded-[20px] px-4 py-2 shadow-sm-inset border-gray-5 border-solid border-1)',
13
+ 'layer-components:[&_.ProseMirror]:(bg-white rounded-[20px] px-4 py-2 shadow-sm-inset border-gray border-solid border-1)',
14
14
  );
15
15
 
16
16
  export const tipTapReadonlyClassName = clsx(
@@ -38,15 +38,15 @@ export const ScrollAreaViewport = withClassName(
38
38
 
39
39
  export const ScrollAreaScrollbarRoot = withClassName(
40
40
  Primitive.Scrollbar,
41
- 'layer-components:(flex select-none touch-none p-0.5 bg-gray-2 transition-colors duration-160ms ease-out)',
42
- 'layer-components:hover:bg-gray-3',
41
+ 'layer-components:(flex select-none touch-none p-0.5 bg-gray-wash transition-colors duration-160ms ease-out)',
42
+ 'layer-components:hover:bg-lighten-1',
43
43
  'layer-components:[&[data-orientation=vertical]]:w-2.5',
44
44
  'layer-components:[&[data-orientation=horizontal]]:(flex-col h-2.5)',
45
45
  );
46
46
 
47
47
  export const ScrollAreaThumb = withClassName(
48
48
  Primitive.Thumb,
49
- 'layer-components:(flex-1 rounded-lg relative bg-gray-5)',
49
+ 'layer-components:(flex-1 rounded-lg relative bg-gray)',
50
50
  'before:(content-[""] absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-full min-w-44px min-h-44px)',
51
51
  );
52
52
 
@@ -44,8 +44,10 @@ export const SelectItem = ({
44
44
 
45
45
  export const SelectItemRoot = withClassName(
46
46
  SelectPrimitive.Item,
47
- 'text-md leading-4 color-black rounded-sm flex items-center flex-row h-36px pr-4 pl-35px relative select-none',
48
- '[&[data-disabled]]:(color-gray5 pointer-events-none) [&[data-highlighted]]:(outline-none bg-primary-wash color-black)',
47
+ 'layer-components:(text-md leading-4 color-black rounded-sm flex items-center flex-row h-36px pr-4 pl-35px relative select-none)',
48
+ 'layer-components:[&[data-disabled]]:(color-gray5 pointer-events-none) [&[data-highlighted]]:(outline-none bg-primary-wash color-black)',
49
+ 'layer-components:[&:first-child]:(rounded-t-lg)',
50
+ 'layer-components:[&:last-child]:(rounded-b-lg)',
49
51
  );
50
52
  export const SelectItemIndicatorRoot = withClassName(
51
53
  SelectPrimitive.ItemIndicator,
@@ -11,17 +11,15 @@ export const TabsList = withClassName(
11
11
 
12
12
  export const TabsTriggerBase = withClassName(
13
13
  TabsPrimitive.Trigger,
14
- 'layer-components:(flex flex-row items-center justify-center gap-2 color-black py-1 px-5 bg-wash text-md min-w-100px rounded-lg border-default font-semibold text-gray-8 border-gray-8 transition-colors cursor-pointer select-none font-sans flex-shrink-0 shadow-sm)',
15
- 'layer-components:hover:bg-[var(--hover)]',
16
- 'layer-components:focus-visible:(focus-ring focus-ring-[var(--focus)] outline-off)',
17
- '[&[data-state=active]]:(font-semibold bg-[var(--focus,var(--hover))] text-black cursor-default hover:bg-[var(--hover)] relative z-1)',
14
+ 'layer-components:(flex flex-row items-center cursor-pointer justify-center gap-2 color-black py-1 px-5 bg-wash text-md min-w-100px rounded-lg border-default font-semibold text-gray-darkBlend border-gray-dark transition-all cursor-pointer select-none font-sans flex-shrink-0 shadow-sm)',
15
+ 'layer-components:hover:(bg-darken-1 ring-4 ring-bg)',
16
+ 'layer-components:focus-visible:(bg-darken-3 ring-6 ring-bg outline-off)',
17
+ '[&[data-state=active]]:(bg-[var(--bg)] font-semibold text-black cursor-default hover:bg-darken-1 relative z-1)',
18
18
  );
19
19
 
20
20
  const colorClasses = {
21
- default:
22
- 'layer-variants:([--bg:var(--color-white)] [--hover:var(--color-gray-3)] [--focus:var(--color-gray-4)] [--active:var(--color-gray-4)])',
23
- primary:
24
- 'layer-variants:([--bg:var(--color-primary)] [--hover:var(--color-primary-light)] [--focus:var(--color-primary-light)] [--active:var(--color-primary-light)])',
21
+ default: 'layer-variants:([--bg:var(--color-white)])',
22
+ primary: 'layer-variants:([--bg:var(--color-primary-light)])',
25
23
  };
26
24
 
27
25
  export interface TabsTriggerProps
@@ -4,7 +4,26 @@ import { ActionBar, ActionButton } from './components/actions/index.js';
4
4
  import { Button } from './components/button/index.js';
5
5
  import { Card } from './components/card/index.js';
6
6
  import { Icon } from './components/icon/index.js';
7
- import { AvatarList, Dialog, Tooltip } from './components/index.js';
7
+ import {
8
+ AvatarList,
9
+ Box,
10
+ DateRangePicker,
11
+ Dialog,
12
+ DropdownMenu,
13
+ ImageUploader,
14
+ NavBarItem,
15
+ NavBarItemIcon,
16
+ NavBarItemIconWrapper,
17
+ NavBarItemPip,
18
+ NavBarItemText,
19
+ NavBarRoot,
20
+ Note,
21
+ PageContent,
22
+ PageNav,
23
+ PageRoot,
24
+ Progress,
25
+ Tooltip,
26
+ } from './components/index.js';
8
27
  import { Input } from './components/input/index.js';
9
28
  import { Tabs } from './components/tabs/tabs.js';
10
29
  import { TextArea } from './components/textArea/index.js';
@@ -22,91 +41,146 @@ export default meta;
22
41
  type Story = StoryObj;
23
42
 
24
43
  function DemoUI({ className }: { className?: string }) {
44
+ const nextWeek = new Date();
45
+ nextWeek.setDate(nextWeek.getDate() + 7);
25
46
  return (
26
- <div className={clsx('grid gap-2 grid-cols-3', className)}>
27
- <div className="col">
28
- <Button color="primary">Primary</Button>
29
- <Button color="accent">Accent</Button>
30
- <Button>Default</Button>
31
- <Button color="contrast">Contrast</Button>
32
- <Button color="ghost">Ghost</Button>
33
- <Button color="ghostAccent">Ghost Accent</Button>
34
- <Button size="small" color="destructive">
35
- Destructive
36
- </Button>
37
- <Button size="small" color="ghostDestructive">
38
- Ghost Destructive
39
- </Button>
40
- </div>
41
- <div className="col">
42
- <Input placeholder="Placeholder" />
43
- <TextArea placeholder="Placeholder" />
44
- </div>
45
- <div>
46
- <Card>
47
- <Card.Main>
48
- <Card.Title>Card Title</Card.Title>
49
- <Card.Content>Card Content</Card.Content>
50
- </Card.Main>
51
- <Card.Footer>
52
- <Card.Actions>
53
- <Button size="small">Action 1</Button>
54
- </Card.Actions>
55
- </Card.Footer>
56
- </Card>
57
- </div>
58
- <div>
59
- <Tabs defaultValue="tab1">
60
- <Tabs.List>
61
- <Tabs.Trigger value="tab1">Tab 1</Tabs.Trigger>
62
- <Tabs.Trigger value="tab2">Tab 2</Tabs.Trigger>
63
- </Tabs.List>
64
- <Tabs.Content value="tab1">Tab 1 Content</Tabs.Content>
65
- <Tabs.Content value="tab2">Tab 2 Content</Tabs.Content>
66
- </Tabs>
67
- </div>
68
- <div>
69
- <ActionBar>
70
- <ActionButton>
71
- <Icon name="placeholder" />
72
- Hello
73
- </ActionButton>
74
- <ActionButton color="primary">
75
- <Icon name="placeholder" />
76
- World
77
- </ActionButton>
78
- <ActionButton>
79
- <Icon name="placeholder" />
80
- </ActionButton>
81
- </ActionBar>
82
- </div>
83
- <div>
84
- <AvatarList count={3}>
85
- <AvatarList.Item index={0} name="John Doe" />
86
- <AvatarList.Item index={1} name="Jane Doe" />
87
- <AvatarList.Item index={2} name="John Smith" />
88
- </AvatarList>
89
- </div>
90
- <div>
91
- <Tooltip content="Hello World">
92
- <Button>Hover me</Button>
93
- </Tooltip>
94
- </div>
95
- <div>
96
- <Dialog>
97
- <Dialog.Trigger asChild>
98
- <Button>Click</Button>
99
- </Dialog.Trigger>
100
- <Dialog.Content>
101
- <Dialog.Title>Hello there</Dialog.Title>
102
- <Dialog.Description>Im a dialog</Dialog.Description>
103
- <Dialog.Actions>
104
- <Dialog.Close>Close</Dialog.Close>
105
- </Dialog.Actions>
106
- </Dialog.Content>
107
- </Dialog>
108
- </div>
109
- </div>
47
+ <PageRoot>
48
+ <PageContent>
49
+ <div className={clsx('grid gap-2 grid-cols-2', className)}>
50
+ <Box gap wrap p>
51
+ <Button color="primary">Primary</Button>
52
+ <Button color="accent">Accent</Button>
53
+ <Button>Default</Button>
54
+ <Button color="contrast">Contrast</Button>
55
+ <Button color="destructive">Destructive</Button>
56
+ <Button color="ghost">Ghost</Button>
57
+ <Button color="ghostAccent">Ghost Accent</Button>
58
+ <Button size="small" color="destructive">
59
+ Destructive Small
60
+ </Button>
61
+ <Button size="small" color="ghostDestructive">
62
+ Ghost Destructive Small
63
+ </Button>
64
+ </Box>
65
+ <Box gap wrap p>
66
+ <Input placeholder="Placeholder" />
67
+ <TextArea placeholder="Placeholder" />
68
+ </Box>
69
+ <Card>
70
+ <Card.Main>
71
+ <Card.Title>Card Title</Card.Title>
72
+ <Card.Content>Card Content</Card.Content>
73
+ </Card.Main>
74
+ <Card.Footer>
75
+ <Card.Actions>
76
+ <Button size="small">Action 1</Button>
77
+ </Card.Actions>
78
+ </Card.Footer>
79
+ </Card>
80
+ <Tabs defaultValue="tab1">
81
+ <Tabs.List>
82
+ <Tabs.Trigger value="tab1">Tab 1</Tabs.Trigger>
83
+ <Tabs.Trigger value="tab2">Tab 2</Tabs.Trigger>
84
+ </Tabs.List>
85
+ <Tabs.Content value="tab1">Tab 1 Content</Tabs.Content>
86
+ <Tabs.Content value="tab2">Tab 2 Content</Tabs.Content>
87
+ </Tabs>
88
+ <ActionBar>
89
+ <ActionButton>
90
+ <Icon name="placeholder" />
91
+ Hello
92
+ </ActionButton>
93
+ <ActionButton color="primary">
94
+ <Icon name="placeholder" />
95
+ World
96
+ </ActionButton>
97
+ <ActionButton>
98
+ <Icon name="placeholder" />
99
+ </ActionButton>
100
+ </ActionBar>
101
+ <AvatarList count={3}>
102
+ <AvatarList.Item index={0} name="John Doe" />
103
+ <AvatarList.Item index={1} name="Jane Doe" />
104
+ <AvatarList.Item index={2} name="John Smith" />
105
+ </AvatarList>
106
+ <Tooltip content="Hello World">
107
+ <Button>Hover me</Button>
108
+ </Tooltip>
109
+ <Dialog>
110
+ <Dialog.Trigger asChild>
111
+ <Button>Click</Button>
112
+ </Dialog.Trigger>
113
+ <Dialog.Content>
114
+ <Dialog.Title>Hello there</Dialog.Title>
115
+ <Dialog.Description>Im a dialog</Dialog.Description>
116
+ <Dialog.Actions>
117
+ <Dialog.Close>Close</Dialog.Close>
118
+ </Dialog.Actions>
119
+ </Dialog.Content>
120
+ </Dialog>
121
+ <DateRangePicker
122
+ className="grid-col-span-2"
123
+ value={{
124
+ start: new Date(),
125
+ end: nextWeek,
126
+ }}
127
+ onChange={() => {}}
128
+ />
129
+ <Progress value={50} className="m-auto" />
130
+ <Box surface="primary" p>
131
+ Primary surface
132
+ </Box>
133
+ <Box surface="accent" p>
134
+ Accent surface
135
+ </Box>
136
+ <Box surface="default" p>
137
+ Default surface
138
+ </Box>
139
+ <Box>
140
+ <Note>Note note</Note>
141
+ </Box>
142
+ <ImageUploader className="h-400px" value={null} onChange={() => {}} />
143
+ <DropdownMenu>
144
+ <DropdownMenu.Trigger asChild>
145
+ <Button>Dropdown</Button>
146
+ </DropdownMenu.Trigger>
147
+ <DropdownMenu.Content>
148
+ <DropdownMenu.Item>Item 1</DropdownMenu.Item>
149
+ <DropdownMenu.Item>Item 2</DropdownMenu.Item>
150
+ <DropdownMenu.Item>Item 3</DropdownMenu.Item>
151
+ </DropdownMenu.Content>
152
+ </DropdownMenu>
153
+ </div>
154
+ </PageContent>
155
+ <PageNav>
156
+ <NavBarRoot>
157
+ <NavBarItem>
158
+ <NavBarItemIconWrapper>
159
+ <NavBarItemIcon name="cart" />
160
+ </NavBarItemIconWrapper>
161
+ <NavBarItemText>Item 1 long</NavBarItemText>
162
+ </NavBarItem>
163
+ <NavBarItem active={true}>
164
+ <NavBarItemIconWrapper>
165
+ <NavBarItemIcon asChild>
166
+ <Icon name="book" />
167
+ </NavBarItemIcon>
168
+ </NavBarItemIconWrapper>
169
+ <NavBarItemText>Item 2</NavBarItemText>
170
+ <NavBarItemPip />
171
+ </NavBarItem>
172
+ <NavBarItem color="neutral" active={true}>
173
+ <NavBarItemIconWrapper>
174
+ <NavBarItemIcon asChild>
175
+ <Icon name="book" />
176
+ </NavBarItemIcon>
177
+ </NavBarItemIconWrapper>
178
+ <NavBarItemText>Neutral</NavBarItemText>
179
+ <NavBarItemPip />
180
+ </NavBarItem>
181
+ </NavBarRoot>
182
+ </PageNav>
183
+ </PageRoot>
110
184
  );
111
185
  }
112
186