@_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,4 @@
1
+ import * as React from 'react';
2
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
3
+ declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ export { Checkbox };
@@ -0,0 +1,43 @@
1
+ @import './helpers/mixins.css';
2
+ @import '@_linked/css/package.css';
3
+
4
+ .Root {
5
+ background-color: var(--checkbox-bg, var(--choice-bg));
6
+ width: var(--checkbox-size, var(--choice-size));
7
+ height: var(--checkbox-size, var(--choice-size));
8
+ border-radius: var(--checkbox-radius, var(--choice-radius));
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ box-shadow: var(--checkbox-shadow, var(--choice-shadow));
13
+ border: 1px solid var(--checkbox-border, var(--choice-border));
14
+ transition: var(--transition-fast);
15
+
16
+ &:hover {
17
+ background-color: var(--checkbox-bg-hover, var(--choice-bg-hover));
18
+ border-color: var(--checkbox-border-hover, var(--choice-border-hover));
19
+ }
20
+
21
+ &:focus-visible {
22
+ @mixin focus;
23
+ }
24
+
25
+ &:disabled {
26
+ @mixin disabled;
27
+ }
28
+
29
+ &[data-state='checked'] {
30
+ background-color: var(--checkbox-bg-checked, var(--choice-bg-checked));
31
+ border-color: var(--checkbox-border-checked, var(--choice-border-checked));
32
+ }
33
+ }
34
+
35
+ .Indicator {
36
+ color: var(--checkbox-indicator, var(--choice-indicator));
37
+
38
+ svg {
39
+ height: var(--checkbox-indicator-size, var(--choice-indicator-size));
40
+ width: var(--checkbox-indicator-size, var(--choice-indicator-size));
41
+ margin-top: var(--checkbox-indicator-margin-top, --spacing(0.5));
42
+ }
43
+ }
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
3
+ declare const Root: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const Trigger: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const Content: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
6
+ export declare const Collapsible: {
7
+ Root: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
8
+ Trigger: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
9
+ Content: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
10
+ };
11
+ export { Root, Trigger, Content };
@@ -0,0 +1,167 @@
1
+ import * as React from 'react';
2
+ import { type DialogProps } from '@radix-ui/react-dialog';
3
+ declare const Root: React.ForwardRefExoticComponent<Omit<{
4
+ children?: React.ReactNode;
5
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
6
+ ref?: React.Ref<HTMLDivElement>;
7
+ } & {
8
+ asChild?: boolean;
9
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
10
+ label?: string;
11
+ shouldFilter?: boolean;
12
+ filter?: (value: string, search: string, keywords?: string[]) => number;
13
+ defaultValue?: string;
14
+ value?: string;
15
+ onValueChange?: (value: string) => void;
16
+ loop?: boolean;
17
+ disablePointerSelection?: boolean;
18
+ vimBindings?: boolean;
19
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
20
+ interface CommandDialogProps extends DialogProps {
21
+ }
22
+ declare const Dialog: {
23
+ ({ children, ...props }: CommandDialogProps): React.JSX.Element;
24
+ displayName: string;
25
+ };
26
+ declare const Input: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
27
+ ref?: React.Ref<HTMLInputElement>;
28
+ } & {
29
+ asChild?: boolean;
30
+ }, "asChild" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "type" | "value" | "onChange"> & {
31
+ value?: string;
32
+ onValueChange?: (search: string) => void;
33
+ } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
34
+ declare const List: React.ForwardRefExoticComponent<Omit<{
35
+ children?: React.ReactNode;
36
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
37
+ ref?: React.Ref<HTMLDivElement>;
38
+ } & {
39
+ asChild?: boolean;
40
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
41
+ label?: string;
42
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
43
+ declare const Empty: React.ForwardRefExoticComponent<Omit<{
44
+ children?: React.ReactNode;
45
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
46
+ ref?: React.Ref<HTMLDivElement>;
47
+ } & {
48
+ asChild?: boolean;
49
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
50
+ declare const Group: React.ForwardRefExoticComponent<Omit<{
51
+ children?: React.ReactNode;
52
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
53
+ ref?: React.Ref<HTMLDivElement>;
54
+ } & {
55
+ asChild?: boolean;
56
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
57
+ heading?: React.ReactNode;
58
+ value?: string;
59
+ forceMount?: boolean;
60
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
61
+ declare const Separator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
62
+ ref?: React.Ref<HTMLDivElement>;
63
+ } & {
64
+ asChild?: boolean;
65
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
66
+ alwaysRender?: boolean;
67
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
68
+ declare const Item: React.ForwardRefExoticComponent<Omit<{
69
+ children?: React.ReactNode;
70
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
71
+ ref?: React.Ref<HTMLDivElement>;
72
+ } & {
73
+ asChild?: boolean;
74
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "disabled" | "value" | "onSelect"> & {
75
+ disabled?: boolean;
76
+ onSelect?: (value: string) => void;
77
+ value?: string;
78
+ keywords?: string[];
79
+ forceMount?: boolean;
80
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
81
+ declare const Shortcut: {
82
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
83
+ displayName: string;
84
+ };
85
+ export declare const Command: {
86
+ Root: React.ForwardRefExoticComponent<Omit<{
87
+ children?: React.ReactNode;
88
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
89
+ ref?: React.Ref<HTMLDivElement>;
90
+ } & {
91
+ asChild?: boolean;
92
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
93
+ label?: string;
94
+ shouldFilter?: boolean;
95
+ filter?: (value: string, search: string, keywords?: string[]) => number;
96
+ defaultValue?: string;
97
+ value?: string;
98
+ onValueChange?: (value: string) => void;
99
+ loop?: boolean;
100
+ disablePointerSelection?: boolean;
101
+ vimBindings?: boolean;
102
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
103
+ Dialog: {
104
+ ({ children, ...props }: CommandDialogProps): React.JSX.Element;
105
+ displayName: string;
106
+ };
107
+ Input: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
108
+ ref?: React.Ref<HTMLInputElement>;
109
+ } & {
110
+ asChild?: boolean;
111
+ }, "asChild" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "type" | "value" | "onChange"> & {
112
+ value?: string;
113
+ onValueChange?: (search: string) => void;
114
+ } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
115
+ List: React.ForwardRefExoticComponent<Omit<{
116
+ children?: React.ReactNode;
117
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
118
+ ref?: React.Ref<HTMLDivElement>;
119
+ } & {
120
+ asChild?: boolean;
121
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
122
+ label?: string;
123
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
124
+ Empty: React.ForwardRefExoticComponent<Omit<{
125
+ children?: React.ReactNode;
126
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
127
+ ref?: React.Ref<HTMLDivElement>;
128
+ } & {
129
+ asChild?: boolean;
130
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
131
+ Group: React.ForwardRefExoticComponent<Omit<{
132
+ children?: React.ReactNode;
133
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
134
+ ref?: React.Ref<HTMLDivElement>;
135
+ } & {
136
+ asChild?: boolean;
137
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
138
+ heading?: React.ReactNode;
139
+ value?: string;
140
+ forceMount?: boolean;
141
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
142
+ Item: React.ForwardRefExoticComponent<Omit<{
143
+ children?: React.ReactNode;
144
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
145
+ ref?: React.Ref<HTMLDivElement>;
146
+ } & {
147
+ asChild?: boolean;
148
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>>, "disabled" | "value" | "onSelect"> & {
149
+ disabled?: boolean;
150
+ onSelect?: (value: string) => void;
151
+ value?: string;
152
+ keywords?: string[];
153
+ forceMount?: boolean;
154
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
155
+ Shortcut: {
156
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
157
+ displayName: string;
158
+ };
159
+ Separator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
160
+ ref?: React.Ref<HTMLDivElement>;
161
+ } & {
162
+ asChild?: boolean;
163
+ }, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
164
+ alwaysRender?: boolean;
165
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
166
+ };
167
+ export { Root, Dialog, Input, List, Empty, Group, Item, Shortcut, Separator };
@@ -0,0 +1,153 @@
1
+ @import './helpers/mixins.css';
2
+ @import '@_linked/css/package.css';
3
+
4
+ .Root {
5
+ display: flex;
6
+ height: 100%;
7
+ width: 100%;
8
+ flex-direction: column;
9
+ overflow: hidden;
10
+ border-radius: var(--command-radius, var(--popover-radius));
11
+ border: 1px solid var(--command-border, var(--popover-border));
12
+ background-color: var(--command-bg, var(--popover-bg));
13
+ box-shadow: var(--command-shadow, var(--popover-shadow));
14
+ }
15
+
16
+ .DialogCommand {
17
+ &[cmdk-group-heading] {
18
+ padding-left: --spacing(1);
19
+ padding-right: --spacing(1);
20
+ font-weight: var(--typography-font-weight);
21
+ }
22
+
23
+ &[cmdk-group]:not([hidden]) ~ &[cmdk-group] {
24
+ padding-top: 0;
25
+ }
26
+
27
+ &[cmdk-group] {
28
+ padding-left: --spacing(1);
29
+ padding-right: --spacing(1);
30
+ }
31
+
32
+ &[cmdk-input-wrapper] svg {
33
+ height: --spacing(1);
34
+ width: --spacing(1);
35
+ }
36
+
37
+ &[cmdk-input] {
38
+ height: --spacing(3);
39
+ }
40
+
41
+ &[cmdk-item] {
42
+ padding-left: --spacing(1);
43
+ padding-right: --spacing(1);
44
+ padding-top: --spacing(1);
45
+ padding-bottom: --spacing(1);
46
+ }
47
+
48
+ &[cmdk-item] svg {
49
+ height: --spacing(1);
50
+ width: --spacing(1);
51
+ }
52
+ }
53
+
54
+ .dialogContent {
55
+ overflow: hidden;
56
+ padding: 0;
57
+ box-shadow: var(--command-shadow, var(--popover-shadow));
58
+ }
59
+
60
+ .InputContainer {
61
+ display: flex;
62
+ align-items: center;
63
+ border-width: bold;
64
+ color: var(--field-text);
65
+ }
66
+
67
+ .Input {
68
+ font-family: var(--field-font-family);
69
+ display: flex;
70
+ color: var(--field-text);
71
+ height: var(--field-height-md);
72
+ font-size: var(--field-font-size);
73
+ font-weight: var(--field-font-weight);
74
+ background-color: var(--field-bg);
75
+ transition: var(--transition-normal);
76
+ border: 0;
77
+ outline: none;
78
+
79
+ &:focus {
80
+ outline: none;
81
+ border: 0;
82
+ }
83
+ }
84
+
85
+ .Icon {
86
+ margin: 0 --spacing(2);
87
+ height: --spacing(4);
88
+ width: --spacing(4);
89
+ flex-shrink: 0;
90
+ opacity: 0.5;
91
+ }
92
+
93
+ .list {
94
+ max-height: var(--command-max-height, 300px);
95
+ overflow-y: auto;
96
+ overflow-x: hidden;
97
+ padding: --spacing(3);
98
+ }
99
+
100
+ .Empty {
101
+ padding: --spacing(4) 0;
102
+ text-align: center;
103
+ font-family: var(--typography-font-family);
104
+ font-size: var(--typography-small-size);
105
+ line-height: var(--typography-line-height-none);
106
+ color: var(--command-text, var(--popover-text));
107
+ }
108
+
109
+ .Group {
110
+ overflow: hidden;
111
+ }
112
+
113
+ div[cmdk-group-heading] {
114
+ padding: --spacing(2);
115
+ font-weight: var(--typography-font-weight);
116
+ }
117
+
118
+ .separator {
119
+ margin: --spacing(2) 0;
120
+ height: auto;
121
+ background-clip: border-box;
122
+ }
123
+
124
+ .Item {
125
+ position: relative;
126
+ display: flex;
127
+ cursor: default;
128
+ user-select: none;
129
+ align-items: center;
130
+ border-radius: var(--list-item-radius);
131
+ outline: none;
132
+ font-family: var(--list-item-font-family);
133
+ font-size: var(--list-item-font-size);
134
+ line-height: var(--list-item-line-height);
135
+ color: var(--list-item-text);
136
+ padding: var(--list-item-padding-y) var(--list-item-padding-x);
137
+
138
+ &[aria-selected='true'] {
139
+ background-color: var(--list-item-bg-active);
140
+ }
141
+
142
+ &[data-disabled='true'] {
143
+ pointer-events: none;
144
+ opacity: 0.5;
145
+ }
146
+ }
147
+
148
+ .shortcut {
149
+ margin-left: auto;
150
+ font-size: var(--command-shortcut-font-size, var(--text-sm));
151
+ letter-spacing: var(--letter-spacing-wide);
152
+ color: var(--command-shortcut-text, var(--text-auxiliary));
153
+ }
@@ -0,0 +1,51 @@
1
+ import * as React from 'react';
2
+ import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
3
+ declare const Group: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const Sub: React.FC<ContextMenuPrimitive.ContextMenuSubProps>;
5
+ declare const RadioGroup: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
6
+ declare const Root: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuProps & React.RefAttributes<never>>;
7
+ declare const Trigger: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuTriggerProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
8
+ declare const SubContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const Separator: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const SubTrigger: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
11
+ inset?: boolean;
12
+ } & React.RefAttributes<HTMLDivElement>>;
13
+ declare const Content: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
14
+ declare const Item: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
15
+ inset?: boolean;
16
+ } & React.RefAttributes<HTMLDivElement>>;
17
+ declare const CheckboxItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
18
+ declare const RadioItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
+ declare const Label: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
20
+ inset?: boolean;
21
+ } & React.RefAttributes<HTMLDivElement>>;
22
+ declare const Shortcut: {
23
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
24
+ displayname: string;
25
+ };
26
+ export declare const ContextMenu: {
27
+ Root: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuProps & React.RefAttributes<never>>;
28
+ Trigger: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuTriggerProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
29
+ Content: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
30
+ Item: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
31
+ inset?: boolean;
32
+ } & React.RefAttributes<HTMLDivElement>>;
33
+ CheckboxItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
34
+ RadioItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
35
+ Label: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
36
+ inset?: boolean;
37
+ } & React.RefAttributes<HTMLDivElement>>;
38
+ Separator: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
39
+ SubTrigger: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
40
+ inset?: boolean;
41
+ } & React.RefAttributes<HTMLDivElement>>;
42
+ SubContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
43
+ Group: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
44
+ Sub: React.FC<ContextMenuPrimitive.ContextMenuSubProps>;
45
+ RadioGroup: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
46
+ Shortcut: {
47
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
48
+ displayname: string;
49
+ };
50
+ };
51
+ export { Root, Trigger, Content, Item, CheckboxItem, RadioItem, Label, Separator, SubTrigger, SubContent, Group, Sub, RadioGroup, Shortcut, };
@@ -0,0 +1,238 @@
1
+ @import './helpers/mixins.css';
2
+ @import '@_linked/css/package.css';
3
+
4
+ .Root {
5
+ display: flex;
6
+ flex-direction: column;
7
+ width: var(--contextmenu-container-width, 100%);
8
+ }
9
+
10
+ .Trigger {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ border-radius: var(--contextmenu-trigger-radius, var(--control-radius));
15
+ font-size: var(--contextmenu-trigger-font-size, var(--typography-font-size));
16
+ font-weight: var(
17
+ --contextmenu-trigger-font-weight,
18
+ var(--typography-font-weight)
19
+ );
20
+ height: var(--contextmenu-trigger-height, var(--control-height-md));
21
+ padding: var(--contextmenu-trigger-padding, --spacing(2) --spacing(4));
22
+ transition: var(--transition-fast);
23
+ border: 1px solid var(--contextmenu-trigger-border, var(--control-border));
24
+ background-color: var(--contextmenu-trigger-bg, var(--control-bg));
25
+ color: var(--contextmenu-trigger-text, var(--control-text));
26
+
27
+ &:hover {
28
+ background-color: var(
29
+ --contextmenu-trigger-bg-hover,
30
+ var(--control-bg-hover)
31
+ );
32
+ border-color: var(
33
+ --contextmenu-trigger-border-hover,
34
+ var(--control-border-hover)
35
+ );
36
+ }
37
+
38
+ &:focus-visible {
39
+ @mixin focus;
40
+ }
41
+
42
+ &[data-state='open'] {
43
+ background-color: var(
44
+ --contextmenu-trigger-bg-active,
45
+ var(--control-bg-active)
46
+ );
47
+ border-color: var(
48
+ --contextmenu-trigger-border-active,
49
+ var(--control-border-active)
50
+ );
51
+ }
52
+ }
53
+
54
+ .Content {
55
+ min-width: var(--contextmenu-content-min-width, 8rem);
56
+ overflow: hidden;
57
+ border-radius: var(--contextmenu-content-radius, var(--popover-radius));
58
+ border: 1px solid var(--contextmenu-content-border, var(--popover-border));
59
+ background-color: var(--contextmenu-content-bg, var(--popover-bg));
60
+ padding: var(--contextmenu-content-padding, --spacing(1));
61
+ box-shadow: var(--contextmenu-content-shadow, var(--popover-shadow));
62
+ animation-duration: var(--transition-duration-normal);
63
+ animation-timing-function: var(--transition-easing);
64
+ will-change: transform, opacity;
65
+
66
+ &[data-side='top'] {
67
+ animation-name: slideDownAndFade;
68
+ }
69
+
70
+ &[data-side='right'] {
71
+ animation-name: slideLeftAndFade;
72
+ }
73
+
74
+ &[data-side='bottom'] {
75
+ animation-name: slideUpAndFade;
76
+ }
77
+
78
+ &[data-side='left'] {
79
+ animation-name: slideRightAndFade;
80
+ }
81
+ }
82
+
83
+ .Item,
84
+ .SubTrigger,
85
+ .CheckboxItem,
86
+ .RadioItem {
87
+ all: unset;
88
+ font-size: var(--contextmenu-item-font-size, var(--text-sm));
89
+ line-height: var(
90
+ --contextmenu-item-line-height,
91
+ var(--typography-line-height-none)
92
+ );
93
+ border-radius: var(--contextmenu-item-radius, var(--popover-radius));
94
+ display: flex;
95
+ align-items: center;
96
+ height: var(--contextmenu-item-height, --spacing(8));
97
+ padding: var(--contextmenu-item-padding, --spacing(2) --spacing(3));
98
+ position: relative;
99
+ padding-left: var(--contextmenu-item-padding-left, --spacing(3));
100
+ user-select: none;
101
+ outline: none;
102
+ color: var(--contextmenu-item-text, var(--popover-text));
103
+ cursor: pointer;
104
+ transition: var(--transition-fast);
105
+
106
+ &[data-disabled] {
107
+ pointer-events: none;
108
+ opacity: 0.5;
109
+ }
110
+
111
+ &[data-highlighted] {
112
+ background-color: var(--contextmenu-item-bg-active, var(--bg-active));
113
+ color: var(--contextmenu-item-text-active, var(--popover-text));
114
+ }
115
+ }
116
+
117
+ .SubTrigger {
118
+ &[data-state='open'] {
119
+ background-color: var(--contextmenu-subtrigger-bg-open, var(--bg-active));
120
+ color: var(--contextmenu-subtrigger-text-open, var(--popover-text));
121
+ }
122
+ }
123
+
124
+ .CheckboxItem,
125
+ .RadioItem {
126
+ padding-left: var(--contextmenu-checkbox-padding-left, --spacing(6));
127
+ }
128
+
129
+ .ItemIndicator {
130
+ position: absolute;
131
+ left: 0;
132
+ width: var(--contextmenu-indicator-width, --spacing(5));
133
+ display: inline-flex;
134
+ align-items: center;
135
+ justify-content: center;
136
+ }
137
+
138
+ .RightSlot {
139
+ margin-left: auto;
140
+ padding-left: var(--contextmenu-right-slot-padding, --spacing(5));
141
+ font-size: var(--contextmenu-right-slot-font-size, var(--text-xs));
142
+ color: var(--contextmenu-right-slot-text, var(--text-auxiliary));
143
+ }
144
+
145
+ .Label {
146
+ padding-left: var(--contextmenu-label-padding-left, --spacing(3));
147
+ padding-right: var(--contextmenu-label-padding-right, --spacing(3));
148
+ font-size: var(--contextmenu-label-font-size, var(--text-xs));
149
+ font-weight: var(--contextmenu-label-font-weight, var(--heading-font-weight));
150
+ color: var(--contextmenu-label-text, var(--text-auxiliary));
151
+ line-height: var(
152
+ --contextmenu-label-line-height,
153
+ var(--typography-line-height-none)
154
+ );
155
+ }
156
+
157
+ .Separator {
158
+ height: 1px;
159
+ background-color: var(--contextmenu-separator-bg, var(--border-default));
160
+ margin: var(--contextmenu-separator-margin, --spacing(1));
161
+ }
162
+
163
+ .SubContent {
164
+ min-width: var(--contextmenu-subcontent-min-width, 8rem);
165
+ overflow: hidden;
166
+ border-radius: var(--contextmenu-subcontent-radius, var(--popover-radius));
167
+ border: 1px solid var(--contextmenu-subcontent-border, var(--popover-border));
168
+ background-color: var(--contextmenu-subcontent-bg, var(--popover-bg));
169
+ padding: var(--contextmenu-subcontent-padding, --spacing(1));
170
+ box-shadow: var(--contextmenu-subcontent-shadow, var(--popover-shadow));
171
+ animation-duration: var(--transition-duration-normal);
172
+ animation-timing-function: var(--transition-easing);
173
+ will-change: transform, opacity;
174
+
175
+ &[data-side='top'] {
176
+ animation-name: slideDownAndFade;
177
+ }
178
+
179
+ &[data-side='right'] {
180
+ animation-name: slideLeftAndFade;
181
+ }
182
+
183
+ &[data-side='bottom'] {
184
+ animation-name: slideUpAndFade;
185
+ }
186
+
187
+ &[data-side='left'] {
188
+ animation-name: slideRightAndFade;
189
+ }
190
+ }
191
+
192
+ .Inset {
193
+ padding-left: var(--contextmenu-inset-padding-left, --spacing(6));
194
+ }
195
+
196
+ @keyframes slideUpAndFade {
197
+ from {
198
+ opacity: 0;
199
+ transform: translateY(2px);
200
+ }
201
+ to {
202
+ opacity: 1;
203
+ transform: translateY(0);
204
+ }
205
+ }
206
+
207
+ @keyframes slideRightAndFade {
208
+ from {
209
+ opacity: 0;
210
+ transform: translateX(-2px);
211
+ }
212
+ to {
213
+ opacity: 1;
214
+ transform: translateX(0);
215
+ }
216
+ }
217
+
218
+ @keyframes slideDownAndFade {
219
+ from {
220
+ opacity: 0;
221
+ transform: translateY(-2px);
222
+ }
223
+ to {
224
+ opacity: 1;
225
+ transform: translateY(0);
226
+ }
227
+ }
228
+
229
+ @keyframes slideLeftAndFade {
230
+ from {
231
+ opacity: 0;
232
+ transform: translateX(2px);
233
+ }
234
+ to {
235
+ opacity: 1;
236
+ transform: translateX(0);
237
+ }
238
+ }