@_linked/primitives 1.0.5

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 (191) hide show
  1. package/.changeset/README.md +20 -0
  2. package/.changeset/config.json +14 -0
  3. package/.github/workflows/changeset-check.yml +44 -0
  4. package/.github/workflows/ci.yml +30 -0
  5. package/.github/workflows/publish.yml +42 -0
  6. package/CHANGELOG.md +7 -0
  7. package/lib/cjs/backend.d.ts +0 -0
  8. package/lib/cjs/components/Accordion.d.ts +13 -0
  9. package/lib/cjs/components/Accordion.module.css +101 -0
  10. package/lib/cjs/components/AlertDialog.d.ts +37 -0
  11. package/lib/cjs/components/AlertDialog.module.css +80 -0
  12. package/lib/cjs/components/AspectRatio.d.ts +7 -0
  13. package/lib/cjs/components/AspectRatio.module.css +28 -0
  14. package/lib/cjs/components/Avatar.d.ts +11 -0
  15. package/lib/cjs/components/Avatar.module.css +43 -0
  16. package/lib/cjs/components/Breadcrumb.d.ts +41 -0
  17. package/lib/cjs/components/Breadcrumb.module.css +78 -0
  18. package/lib/cjs/components/Button.d.ts +9 -0
  19. package/lib/cjs/components/Button.module.css +246 -0
  20. package/lib/cjs/components/Checkbox.d.ts +4 -0
  21. package/lib/cjs/components/Checkbox.module.css +43 -0
  22. package/lib/cjs/components/Collapsible.d.ts +11 -0
  23. package/lib/cjs/components/Command.d.ts +167 -0
  24. package/lib/cjs/components/Command.module.css +153 -0
  25. package/lib/cjs/components/ContextMenu.d.ts +51 -0
  26. package/lib/cjs/components/ContextMenu.module.css +238 -0
  27. package/lib/cjs/components/Dialog.d.ts +38 -0
  28. package/lib/cjs/components/Dialog.module.css +109 -0
  29. package/lib/cjs/components/Drawer.d.ts +40 -0
  30. package/lib/cjs/components/Drawer.module.css +87 -0
  31. package/lib/cjs/components/DropdownMenu.d.ts +52 -0
  32. package/lib/cjs/components/DropdownMenu.module.css +244 -0
  33. package/lib/cjs/components/Form.d.ts +23 -0
  34. package/lib/cjs/components/Form.module.css +75 -0
  35. package/lib/cjs/components/Heading.d.ts +7 -0
  36. package/lib/cjs/components/Heading.module.css +83 -0
  37. package/lib/cjs/components/HoverCard.d.ts +15 -0
  38. package/lib/cjs/components/HoverCard.module.css +75 -0
  39. package/lib/cjs/components/IconButton.d.ts +9 -0
  40. package/lib/cjs/components/IconButton.module.css +150 -0
  41. package/lib/cjs/components/Input.d.ts +6 -0
  42. package/lib/cjs/components/Input.module.css +61 -0
  43. package/lib/cjs/components/Label.d.ts +4 -0
  44. package/lib/cjs/components/Label.module.css +7 -0
  45. package/lib/cjs/components/Menubar.d.ts +65 -0
  46. package/lib/cjs/components/Menubar.module.css +128 -0
  47. package/lib/cjs/components/MultiSelect.d.ts +86 -0
  48. package/lib/cjs/components/MultiSelect.module.css +93 -0
  49. package/lib/cjs/components/NavigationMenu.d.ts +21 -0
  50. package/lib/cjs/components/NavigationMenu.module.css +248 -0
  51. package/lib/cjs/components/Popover.d.ts +17 -0
  52. package/lib/cjs/components/Popover.module.css +106 -0
  53. package/lib/cjs/components/Progress.d.ts +9 -0
  54. package/lib/cjs/components/Progress.module.css +23 -0
  55. package/lib/cjs/components/RadioGroup.d.ts +9 -0
  56. package/lib/cjs/components/RadioGroup.module.css +57 -0
  57. package/lib/cjs/components/ScrollArea.d.ts +9 -0
  58. package/lib/cjs/components/ScrollArea.module.css +55 -0
  59. package/lib/cjs/components/Select.d.ts +28 -0
  60. package/lib/cjs/components/Select.module.css +153 -0
  61. package/lib/cjs/components/Separator.d.ts +4 -0
  62. package/lib/cjs/components/Separator.module.css +13 -0
  63. package/lib/cjs/components/Slider.d.ts +13 -0
  64. package/lib/cjs/components/Slider.module.css +43 -0
  65. package/lib/cjs/components/Spinner.d.ts +4 -0
  66. package/lib/cjs/components/Spinner.module.css +21 -0
  67. package/lib/cjs/components/Switch.d.ts +4 -0
  68. package/lib/cjs/components/Switch.module.css +52 -0
  69. package/lib/cjs/components/Tabs.d.ts +13 -0
  70. package/lib/cjs/components/Tabs.module.css +64 -0
  71. package/lib/cjs/components/Text.d.ts +8 -0
  72. package/lib/cjs/components/Text.module.css +24 -0
  73. package/lib/cjs/components/Textarea.d.ts +5 -0
  74. package/lib/cjs/components/Textarea.module.css +34 -0
  75. package/lib/cjs/components/Toast.d.ts +21 -0
  76. package/lib/cjs/components/Toast.module.css +133 -0
  77. package/lib/cjs/components/Toaster.d.ts +2 -0
  78. package/lib/cjs/components/Toggle.d.ts +7 -0
  79. package/lib/cjs/components/Toggle.module.css +32 -0
  80. package/lib/cjs/components/ToggleGroup.d.ts +9 -0
  81. package/lib/cjs/components/ToggleGroup.module.css +61 -0
  82. package/lib/cjs/components/Toolbar.d.ts +17 -0
  83. package/lib/cjs/components/Toolbar.module.css +113 -0
  84. package/lib/cjs/components/Tooltip.d.ts +15 -0
  85. package/lib/cjs/components/Tooltip.module.css +78 -0
  86. package/lib/cjs/components/Typography.d.ts +8 -0
  87. package/lib/cjs/components/Typography.module.css +25 -0
  88. package/lib/cjs/components/VisuallyHidden.d.ts +4 -0
  89. package/lib/cjs/components/helpers/mixins.css +15 -0
  90. package/lib/cjs/data/primitives.json +10 -0
  91. package/lib/cjs/hooks/use-toast.d.ts +44 -0
  92. package/lib/cjs/index.d.ts +45 -0
  93. package/lib/cjs/ontologies/primitives.d.ts +6 -0
  94. package/lib/cjs/package.d.ts +3 -0
  95. package/lib/cjs/package.json +85 -0
  96. package/lib/cjs/theme.css +3 -0
  97. package/lib/cjs/types.d.ts +12 -0
  98. package/lib/esm/backend.d.ts +0 -0
  99. package/lib/esm/components/Accordion.d.ts +13 -0
  100. package/lib/esm/components/Accordion.module.css +101 -0
  101. package/lib/esm/components/AlertDialog.d.ts +37 -0
  102. package/lib/esm/components/AlertDialog.module.css +80 -0
  103. package/lib/esm/components/AspectRatio.d.ts +7 -0
  104. package/lib/esm/components/AspectRatio.module.css +28 -0
  105. package/lib/esm/components/Avatar.d.ts +11 -0
  106. package/lib/esm/components/Avatar.module.css +43 -0
  107. package/lib/esm/components/Breadcrumb.d.ts +41 -0
  108. package/lib/esm/components/Breadcrumb.module.css +78 -0
  109. package/lib/esm/components/Button.d.ts +9 -0
  110. package/lib/esm/components/Button.module.css +246 -0
  111. package/lib/esm/components/Checkbox.d.ts +4 -0
  112. package/lib/esm/components/Checkbox.module.css +43 -0
  113. package/lib/esm/components/Collapsible.d.ts +11 -0
  114. package/lib/esm/components/Command.d.ts +167 -0
  115. package/lib/esm/components/Command.module.css +153 -0
  116. package/lib/esm/components/ContextMenu.d.ts +51 -0
  117. package/lib/esm/components/ContextMenu.module.css +238 -0
  118. package/lib/esm/components/Dialog.d.ts +38 -0
  119. package/lib/esm/components/Dialog.module.css +109 -0
  120. package/lib/esm/components/Drawer.d.ts +40 -0
  121. package/lib/esm/components/Drawer.module.css +87 -0
  122. package/lib/esm/components/DropdownMenu.d.ts +52 -0
  123. package/lib/esm/components/DropdownMenu.module.css +244 -0
  124. package/lib/esm/components/Form.d.ts +23 -0
  125. package/lib/esm/components/Form.module.css +75 -0
  126. package/lib/esm/components/Heading.d.ts +7 -0
  127. package/lib/esm/components/Heading.module.css +83 -0
  128. package/lib/esm/components/HoverCard.d.ts +15 -0
  129. package/lib/esm/components/HoverCard.module.css +75 -0
  130. package/lib/esm/components/IconButton.d.ts +9 -0
  131. package/lib/esm/components/IconButton.module.css +150 -0
  132. package/lib/esm/components/Input.d.ts +6 -0
  133. package/lib/esm/components/Input.module.css +61 -0
  134. package/lib/esm/components/Label.d.ts +4 -0
  135. package/lib/esm/components/Label.module.css +7 -0
  136. package/lib/esm/components/Menubar.d.ts +65 -0
  137. package/lib/esm/components/Menubar.module.css +128 -0
  138. package/lib/esm/components/MultiSelect.d.ts +86 -0
  139. package/lib/esm/components/MultiSelect.module.css +93 -0
  140. package/lib/esm/components/NavigationMenu.d.ts +21 -0
  141. package/lib/esm/components/NavigationMenu.module.css +248 -0
  142. package/lib/esm/components/Popover.d.ts +17 -0
  143. package/lib/esm/components/Popover.module.css +106 -0
  144. package/lib/esm/components/Progress.d.ts +9 -0
  145. package/lib/esm/components/Progress.module.css +23 -0
  146. package/lib/esm/components/RadioGroup.d.ts +9 -0
  147. package/lib/esm/components/RadioGroup.module.css +57 -0
  148. package/lib/esm/components/ScrollArea.d.ts +9 -0
  149. package/lib/esm/components/ScrollArea.module.css +55 -0
  150. package/lib/esm/components/Select.d.ts +28 -0
  151. package/lib/esm/components/Select.module.css +153 -0
  152. package/lib/esm/components/Separator.d.ts +4 -0
  153. package/lib/esm/components/Separator.module.css +13 -0
  154. package/lib/esm/components/Slider.d.ts +13 -0
  155. package/lib/esm/components/Slider.module.css +43 -0
  156. package/lib/esm/components/Spinner.d.ts +4 -0
  157. package/lib/esm/components/Spinner.module.css +21 -0
  158. package/lib/esm/components/Switch.d.ts +4 -0
  159. package/lib/esm/components/Switch.module.css +52 -0
  160. package/lib/esm/components/Tabs.d.ts +13 -0
  161. package/lib/esm/components/Tabs.module.css +64 -0
  162. package/lib/esm/components/Text.d.ts +8 -0
  163. package/lib/esm/components/Text.module.css +24 -0
  164. package/lib/esm/components/Textarea.d.ts +5 -0
  165. package/lib/esm/components/Textarea.module.css +34 -0
  166. package/lib/esm/components/Toast.d.ts +21 -0
  167. package/lib/esm/components/Toast.module.css +133 -0
  168. package/lib/esm/components/Toaster.d.ts +2 -0
  169. package/lib/esm/components/Toggle.d.ts +7 -0
  170. package/lib/esm/components/Toggle.module.css +32 -0
  171. package/lib/esm/components/ToggleGroup.d.ts +9 -0
  172. package/lib/esm/components/ToggleGroup.module.css +61 -0
  173. package/lib/esm/components/Toolbar.d.ts +17 -0
  174. package/lib/esm/components/Toolbar.module.css +113 -0
  175. package/lib/esm/components/Tooltip.d.ts +15 -0
  176. package/lib/esm/components/Tooltip.module.css +78 -0
  177. package/lib/esm/components/Typography.d.ts +8 -0
  178. package/lib/esm/components/Typography.module.css +25 -0
  179. package/lib/esm/components/VisuallyHidden.d.ts +4 -0
  180. package/lib/esm/components/helpers/mixins.css +15 -0
  181. package/lib/esm/data/primitives.json +10 -0
  182. package/lib/esm/hooks/use-toast.d.ts +44 -0
  183. package/lib/esm/index.d.ts +45 -0
  184. package/lib/esm/ontologies/primitives.d.ts +6 -0
  185. package/lib/esm/package.d.ts +3 -0
  186. package/lib/esm/package.json +85 -0
  187. package/lib/esm/theme.css +3 -0
  188. package/lib/esm/types.d.ts +12 -0
  189. package/package.json +103 -0
  190. package/tsconfig-cjs.json +8 -0
  191. package/tsconfig-esm.json +9 -0
@@ -0,0 +1,55 @@
1
+ @import '@_linked/css/package.css';
2
+
3
+ .Root {
4
+ position: relative;
5
+ overflow: hidden;
6
+ }
7
+
8
+ .Viewport {
9
+ width: 100%;
10
+ height: 100%;
11
+ border-radius: inherit;
12
+ }
13
+
14
+ .Scrollbar {
15
+ display: flex;
16
+ /* ensures no selection */
17
+ user-select: none;
18
+ /* disable browser handling of all panning and zooming gestures on touch devices */
19
+ touch-action: none;
20
+ padding: var(--scrollarea-padding, --spacing(0.5));
21
+ background: var(--scrollarea-track-bg, var(--border-default));
22
+ transition: background 160ms ease-out;
23
+
24
+ &:hover {
25
+ background: var(--scrollarea-track-bg-hover, var(--border-hover));
26
+ }
27
+
28
+ &[data-orientation='vertical'] {
29
+ width: var(--scrollbar-size, 10px);
30
+ }
31
+ &[data-orientation='horizontal'] {
32
+ flex-direction: column;
33
+ height: var(--scrollbar-size, 10px);
34
+ }
35
+ }
36
+
37
+ .Thumb {
38
+ flex: 1;
39
+ background: var(--scrollarea-thumb-bg, var(--border-active));
40
+ border-radius: var(--scrollarea-thumb-radius, 9999px);
41
+ position: relative;
42
+
43
+ /* increase target size for touch devices https://www.w3.org/WAI/WCAG21/Understanding/target-size.html */
44
+ &::before {
45
+ content: '';
46
+ position: absolute;
47
+ top: 50%;
48
+ left: 50%;
49
+ transform: translate(-50%, -50%);
50
+ width: 100%;
51
+ height: 100%;
52
+ min-width: 44px;
53
+ min-height: 44px;
54
+ }
55
+ }
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import * as SelectPrimitive from '@radix-ui/react-select';
3
+ declare const Root: React.FC<SelectPrimitive.SelectProps>;
4
+ declare const Group: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const Value: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
6
+ interface TriggerProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> {
7
+ size?: 'small' | 'medium' | 'large' | 'default';
8
+ }
9
+ declare const Trigger: React.ForwardRefExoticComponent<TriggerProps & React.RefAttributes<HTMLButtonElement>>;
10
+ declare const ScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const ScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ declare const Content: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ declare const Label: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
14
+ declare const Item: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
+ declare const Separator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
16
+ export declare const Select: {
17
+ Root: React.FC<SelectPrimitive.SelectProps>;
18
+ Group: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
19
+ Value: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
20
+ Trigger: React.ForwardRefExoticComponent<TriggerProps & React.RefAttributes<HTMLButtonElement>>;
21
+ Content: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
22
+ Label: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
+ Item: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
24
+ Separator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
25
+ ScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
26
+ ScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
27
+ };
28
+ export { Root, Group, Value, Trigger, Content, Label, Item, Separator, ScrollUpButton, ScrollDownButton, };
@@ -0,0 +1,153 @@
1
+ @import './helpers/mixins.css';
2
+ @import '@_linked/css/package.css';
3
+
4
+ .Trigger {
5
+ color: var(--select-trigger-text, var(--selector-trigger-text));
6
+ background-color: var(--select-trigger-bg, var(--selector-trigger-bg));
7
+ border: 1px solid var(--select-trigger-border, var(--selector-trigger-border));
8
+ border-radius: var(--select-trigger-radius, var(--selector-radius));
9
+ box-shadow: var(--select-trigger-shadow, var(--field-shadow));
10
+ display: inline-flex;
11
+ align-items: center;
12
+ justify-content: space-between;
13
+ gap: var(--select-trigger-gap, var(--selector-trigger-gap, --spacing(2)));
14
+ padding: var(
15
+ --select-trigger-padding-y,
16
+ var(--selector-trigger-padding-y, --spacing(2))
17
+ )
18
+ var(--select-trigger-padding-x, var(--selector-trigger-padding-x));
19
+ font-family: var(--select-trigger-font-family, var(--field-font-family));
20
+ font-size: var(--select-trigger-font-size, var(--field-font-size));
21
+ font-weight: var(--select-trigger-font-weight, var(--field-font-weight));
22
+ line-height: var(--select-trigger-line-height, var(--field-line-height));
23
+ min-height: var(--select-trigger-height, var(--selector-trigger-height-md));
24
+ transition: var(--transition-normal);
25
+
26
+ &:hover {
27
+ background-color: var(--select-trigger-bg-hover, var(--field-bg-hover));
28
+ border-color: var(--select-trigger-border-hover, var(--field-border-hover));
29
+ }
30
+
31
+ &:focus-visible {
32
+ @mixin focus;
33
+ background-color: var(--select-trigger-bg-focus, var(--field-bg-focus));
34
+ }
35
+
36
+ &:disabled {
37
+ @mixin disabled;
38
+ }
39
+
40
+ &[data-placeholder] {
41
+ color: var(--select-trigger-placeholder, var(--field-text-placeholder));
42
+ }
43
+
44
+ &.small {
45
+ min-height: var(
46
+ --select-trigger-height-sm,
47
+ var(--selector-trigger-height-sm)
48
+ );
49
+ }
50
+
51
+ &.medium,
52
+ &.default {
53
+ min-height: var(--select-trigger-height, var(--selector-trigger-height-md));
54
+ }
55
+
56
+ &.large {
57
+ min-height: var(
58
+ --select-trigger-height-lg,
59
+ var(--selector-trigger-height-lg)
60
+ );
61
+ }
62
+ }
63
+
64
+ .Icon {
65
+ color: var(--select-trigger-text, var(--selector-trigger-text));
66
+
67
+ svg {
68
+ opacity: 0.8;
69
+ width: var(--select-trigger-icon-size, var(--selector-trigger-icon-size));
70
+ height: var(--select-trigger-icon-size, var(--selector-trigger-icon-size));
71
+ }
72
+ }
73
+
74
+ .ScrollButton {
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ height: var(--select-scroll-button-height, var(--selector-trigger-height-md));
79
+ background-color: var(--select-scroll-button-bg, var(--selector-panel-bg));
80
+ color: var(--select-scroll-button-color, var(--selector-option-text));
81
+ cursor: default;
82
+ }
83
+
84
+ .Content {
85
+ position: relative;
86
+ z-index: var(--layer-popover);
87
+ max-height: var(--select-content-max-height, --spacing(96));
88
+ min-width: var(--select-content-min-width, --spacing(32));
89
+ overflow: hidden;
90
+ background-color: var(--select-panel-bg, var(--selector-panel-bg));
91
+ border: 1px solid var(--select-panel-border, var(--selector-panel-border));
92
+ border-radius: var(--select-panel-radius, var(--selector-radius));
93
+ box-shadow: var(--select-panel-shadow, var(--selector-panel-shadow));
94
+ }
95
+
96
+ .PopperViewport {
97
+ height: var(--radix-select-trigger-height);
98
+ width: 100%;
99
+ min-width: var(--radix-select-trigger-width);
100
+ }
101
+
102
+ .Viewport {
103
+ padding: var(--select-viewport-padding, --spacing(2));
104
+ }
105
+
106
+ .Label {
107
+ padding: var(--select-label-padding, --spacing(2) var(--field-padding-x));
108
+ font-family: var(--select-label-font-family, var(--field-font-family));
109
+ font-size: var(--select-label-font-size, var(--typography-small-size));
110
+ font-weight: var(--select-label-font-weight, var(--typography-font-weight));
111
+ color: var(--select-label-color, var(--text-auxiliary));
112
+ }
113
+
114
+ .Item {
115
+ position: relative;
116
+ display: flex;
117
+ align-items: center;
118
+ padding: var(--select-option-padding, --spacing(2) --spacing(4));
119
+ border-radius: var(--select-option-radius, var(--list-item-radius));
120
+ min-height: var(--select-option-height, var(--selector-trigger-height-md));
121
+ font-family: var(--select-option-font-family, var(--field-font-family));
122
+ font-size: var(--select-option-font-size, var(--field-font-size));
123
+ line-height: var(--select-option-line-height, var(--field-line-height));
124
+ color: var(--select-option-text, var(--selector-option-text));
125
+ cursor: pointer;
126
+ transition: var(--transition-fast);
127
+
128
+ &[data-disabled] {
129
+ @mixin disabled;
130
+ cursor: not-allowed;
131
+ }
132
+
133
+ &[data-highlighted] {
134
+ outline: none;
135
+ background-color: var(--select-option-bg-active, var(--control-accent));
136
+ color: var(--select-option-text-active, var(--control-text-contrast));
137
+ }
138
+ }
139
+
140
+ .ItemIndicator {
141
+ position: absolute;
142
+ left: 0;
143
+ display: none; /* Hide checkmark, using background color instead */
144
+ align-items: center;
145
+ justify-content: center;
146
+ width: var(--select-option-indicator-width, --spacing(6));
147
+ }
148
+
149
+ .Separator {
150
+ height: var(--select-separator-thickness, 1px);
151
+ background-color: var(--select-separator-color, var(--separator-color));
152
+ margin: var(--select-separator-margin, --spacing(2));
153
+ }
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
3
+ declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ export { Separator };
@@ -0,0 +1,13 @@
1
+ .Root {
2
+ background-color: var(--separator-color, var(--separator-color));
3
+
4
+ &[data-orientation='horizontal'] {
5
+ height: var(--separator-thickness, 1px);
6
+ width: 100%;
7
+ }
8
+
9
+ &[data-orientation='vertical'] {
10
+ height: 100%;
11
+ width: var(--separator-thickness, 1px);
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import * as SliderPrimitive from '@radix-ui/react-slider';
3
+ declare const Track: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderTrackProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
4
+ declare const Range: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderRangeProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
5
+ declare const Thumb: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderThumbProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
6
+ declare const Root: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
7
+ export declare const Slider: {
8
+ Root: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
9
+ Track: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderTrackProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
10
+ Range: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderRangeProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
11
+ Thumb: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderThumbProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
12
+ };
13
+ export { Root, Track, Range, Thumb };
@@ -0,0 +1,43 @@
1
+ @import './helpers/mixins.css';
2
+ @import '@_linked/css/package.css';
3
+
4
+ .Root {
5
+ position: relative;
6
+ display: flex;
7
+ align-items: center;
8
+ user-select: none;
9
+ touch-action: none;
10
+ width: var(--slider-width, var(--track-control-width));
11
+ height: var(--slider-height, var(--track-control-height));
12
+ }
13
+
14
+ .Track {
15
+ background-color: var(--slider-track-bg, var(--track-control-track-bg));
16
+ position: relative;
17
+ flex-grow: 1;
18
+ border-radius: var(--slider-track-radius, var(--track-control-track-radius));
19
+ height: var(--slider-track-height, var(--track-control-track-height));
20
+ }
21
+
22
+ .Range {
23
+ position: absolute;
24
+ background-color: var(
25
+ --slider-range-bg,
26
+ var(--track-control-track-bg-active)
27
+ );
28
+ border-radius: var(--slider-track-radius, var(--track-control-track-radius));
29
+ height: 100%;
30
+ }
31
+
32
+ .Thumb {
33
+ display: block;
34
+ width: var(--slider-thumb-size, var(--track-control-thumb-size));
35
+ height: var(--slider-thumb-size, var(--track-control-thumb-size));
36
+ background-color: var(--slider-thumb-bg, var(--track-control-thumb-bg));
37
+ box-shadow: var(--slider-thumb-shadow, var(--track-control-thumb-shadow));
38
+ border-radius: var(--slider-thumb-radius, 50%);
39
+
40
+ &:focus-visible {
41
+ @mixin focus;
42
+ }
43
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare function Spinner({ active }: {
3
+ active?: boolean;
4
+ }): React.JSX.Element;
@@ -0,0 +1,21 @@
1
+ @import './helpers/mixins.css';
2
+ @import '@_linked/css/package.css';
3
+
4
+ .spinner {
5
+ border: var(--spinner-border-width, 4px) solid
6
+ var(--spinner-track-color, transparent);
7
+ border-top-color: var(--spinner-indicator-color, var(--meter-indicator-bg));
8
+ border-radius: 50%;
9
+ width: var(--spinner-size, --spacing(4));
10
+ height: var(--spinner-size, --spacing(4));
11
+ animation: spin var(--spinner-animation-duration, 1s) linear infinite;
12
+ }
13
+
14
+ @keyframes spin {
15
+ 0% {
16
+ transform: rotate(0deg);
17
+ }
18
+ 100% {
19
+ transform: rotate(360deg);
20
+ }
21
+ }
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import * as SwitchPrimitives from '@radix-ui/react-switch';
3
+ declare const Switch: React.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ export { Switch };
@@ -0,0 +1,52 @@
1
+ @import '../components/helpers/mixins.css';
2
+ @import '@_linked/css/package.css';
3
+
4
+ .Root {
5
+ width: var(--switch-track-width, --spacing(11));
6
+ height: var(--switch-track-height, --spacing(6));
7
+ background-color: var(--switch-track-bg, var(--color-gray-200));
8
+ border-radius: 9999px;
9
+ position: relative;
10
+ box-shadow: var(--switch-track-shadow, var(--shadow-sm));
11
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
12
+ cursor: pointer;
13
+ transition: var(--transition-normal);
14
+
15
+ &:focus-visible {
16
+ @mixin focus;
17
+ }
18
+
19
+ &[data-state='checked'] {
20
+ background-color: var(--switch-track-bg-checked, var(--control-accent));
21
+ }
22
+ }
23
+
24
+ .Thumb {
25
+ display: block;
26
+ width: var(--switch-thumb-size, --spacing(5));
27
+ height: var(--switch-thumb-size, --spacing(5));
28
+ background-color: var(--switch-thumb-bg, var(--color-white));
29
+ border-radius: 50%;
30
+ box-shadow: var(--switch-thumb-shadow, 0 2px 4px rgba(0, 0, 0, 0.2));
31
+ transition: transform var(--transition-normal);
32
+ transform: translateX(var(--switch-thumb-offset, --spacing(0.5)));
33
+ will-change: transform;
34
+ position: absolute;
35
+ top: 50%;
36
+ left: 0;
37
+ margin-top: calc(var(--switch-thumb-size, --spacing(5)) / -2);
38
+
39
+ &[data-state='checked'] {
40
+ transform: translateX(
41
+ calc(
42
+ var(--switch-track-width, --spacing(11)) -
43
+ var(--switch-thumb-size, --spacing(5)) -
44
+ var(--switch-thumb-offset, --spacing(0.5))
45
+ )
46
+ );
47
+ }
48
+
49
+ &:disabled {
50
+ @mixin disabled;
51
+ }
52
+ }
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
3
+ declare const Root: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const List: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const Trigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const Content: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ export declare const Tabs: {
8
+ Root: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ List: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ Trigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
11
+ Content: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ };
13
+ export { Root, List, Trigger, Content };
@@ -0,0 +1,64 @@
1
+ @import './helpers/mixins.css';
2
+ @import '@_linked/css/package.css';
3
+
4
+ .Root {
5
+ display: flex;
6
+ flex-direction: column;
7
+ width: var(--tabs-container-width, 100%);
8
+ box-shadow: var(--tabs-container-shadow, var(--surface-shadow));
9
+ }
10
+
11
+ .List {
12
+ flex-shrink: 0;
13
+ display: flex;
14
+ border-bottom: 1px solid var(--tabs-border, var(--navigation-border));
15
+ gap: var(--tabs-trigger-gap, var(--navigation-gap));
16
+ }
17
+
18
+ .Trigger {
19
+ font-family: inherit;
20
+ background-color: var(--tabs-trigger-bg, var(--bg-panel));
21
+ color: var(--tabs-trigger-text, var(--text-primary));
22
+ padding: 0 var(--tabs-trigger-padding-x, --spacing(4));
23
+ min-height: var(--tabs-trigger-height, var(--control-height-md));
24
+ flex: 1;
25
+ display: flex;
26
+ align-items: center;
27
+ justify-content: center;
28
+ font-size: var(--tabs-trigger-font-size, var(--typography-font-size));
29
+ line-height: 1;
30
+ user-select: none;
31
+ border-top-left-radius: var(--tabs-trigger-radius, var(--radius-tabs));
32
+ border-top-right-radius: var(--tabs-trigger-radius, var(--radius-tabs));
33
+ transition: var(--transition-normal);
34
+
35
+ &:hover {
36
+ color: var(--tabs-trigger-text-hover, var(--control-accent));
37
+ }
38
+
39
+ &[data-state='active'] {
40
+ color: var(--tabs-trigger-text-active, var(--control-accent));
41
+ box-shadow: inset 0 -1px 0 0 currentColor;
42
+ }
43
+
44
+ &:focus-visible {
45
+ position: relative;
46
+ @mixin focus;
47
+ }
48
+ }
49
+
50
+ .Content {
51
+ flex-grow: 1;
52
+ padding: var(--tabs-panel-padding, var(--surface-padding));
53
+ background-color: var(--tabs-panel-bg, var(--bg-panel));
54
+ border-bottom-left-radius: var(--tabs-panel-radius, var(--radius-tabs));
55
+ border-bottom-right-radius: var(--tabs-panel-radius, var(--radius-tabs));
56
+ outline: none;
57
+ box-shadow: var(--tabs-panel-shadow, var(--surface-shadow));
58
+ border: 1px solid var(--tabs-panel-border, var(--navigation-border));
59
+ border-top: 0;
60
+
61
+ &:focus-visible {
62
+ @mixin focus;
63
+ }
64
+ }
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ interface TextProps extends React.HtmlHTMLAttributes<HTMLElement> {
3
+ as?: 'span' | 'label' | 'p' | 'div';
4
+ size?: 'small' | 'medium' | 'large' | 'default';
5
+ children: React.ReactNode;
6
+ }
7
+ declare const Text: ({ as: Component, size, children, ...props }: TextProps) => React.JSX.Element;
8
+ export { Text };
@@ -0,0 +1,24 @@
1
+ .Root {
2
+ font-family: var(--text-font-family, var(--typography-font-family));
3
+ font-weight: var(--text-font-weight, var(--typography-font-weight));
4
+ font-size: var(--text-font-size, var(--typography-font-size));
5
+ line-height: var(--text-line-height, var(--typography-line-height));
6
+ color: var(--text-color, var(--typography-color));
7
+ margin-bottom: var(--text-margin-bottom, 0);
8
+
9
+ &.default {
10
+ font-size: var(--text-font-size, var(--typography-font-size));
11
+ }
12
+
13
+ &.small {
14
+ font-size: var(--text-font-size-small, var(--typography-small-size));
15
+ }
16
+
17
+ &.medium {
18
+ font-size: var(--text-font-size, var(--typography-font-size));
19
+ }
20
+
21
+ &.large {
22
+ font-size: var(--text-font-size-large, var(--typography-large-size));
23
+ }
24
+ }
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
3
+ }
4
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
5
+ export { Textarea };
@@ -0,0 +1,34 @@
1
+ @import '../components/helpers/mixins.css';
2
+ @import '@_linked/css/package.css';
3
+
4
+ .Root {
5
+ font-family: var(--textarea-font-family, var(--field-font-family));
6
+ display: flex;
7
+ color: var(--textarea-text, var(--field-text));
8
+ padding: var(--textarea-padding-y, var(--field-padding-y))
9
+ var(--textarea-padding-x, var(--field-padding-x));
10
+ min-height: var(--textarea-min-height, --spacing(20));
11
+ border-radius: var(--textarea-radius, var(--field-radius));
12
+ font-size: var(--textarea-font-size, var(--field-font-size));
13
+ box-shadow: var(--textarea-shadow, var(--field-shadow));
14
+ font-weight: var(--textarea-font-weight, var(--field-font-weight));
15
+ line-height: var(--textarea-line-height, var(--field-line-height));
16
+ background-color: var(--textarea-bg, var(--field-bg));
17
+ transition: var(--transition-normal);
18
+ border: 1px solid var(--textarea-border, var(--field-border));
19
+ width: 100%;
20
+
21
+ &::placeholder {
22
+ color: var(--textarea-placeholder, var(--field-text-placeholder));
23
+ }
24
+
25
+ &:focus-visible {
26
+ @mixin focus;
27
+ border-color: var(--textarea-border-focus, var(--field-border-focus));
28
+ background-color: var(--textarea-bg-focus, var(--field-bg-focus));
29
+ }
30
+
31
+ &:disabled {
32
+ @mixin disabled;
33
+ }
34
+ }
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import * as ToastPrimitives from '@radix-ui/react-toast';
3
+ declare const Provider: React.FC<ToastPrimitives.ToastProviderProps>;
4
+ declare const Viewport: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastViewportProps & React.RefAttributes<HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
5
+ declare const Root: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React.RefAttributes<HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
6
+ declare const Action: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const Title: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastTitleProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const Description: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const Close: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastCloseProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
10
+ type ToastProps = React.ComponentPropsWithoutRef<typeof Root>;
11
+ type ToastActionElement = React.ReactElement<typeof Action>;
12
+ export declare const Toast: {
13
+ Provider: React.FC<ToastPrimitives.ToastProviderProps>;
14
+ Viewport: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastViewportProps & React.RefAttributes<HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
15
+ Root: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React.RefAttributes<HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
16
+ Action: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
17
+ Title: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastTitleProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
18
+ Description: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
+ Close: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastCloseProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
20
+ };
21
+ export { Provider, Viewport, Root, Action, Title, Description, Close, ToastProps, ToastActionElement, };