@nextlyhq/ui 0.0.2-alpha.6 → 0.0.2-alpha.60

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.
@@ -0,0 +1,120 @@
1
+ /** @experimental */
2
+ declare const uiPreset: {
3
+ theme: {
4
+ extend: {
5
+ colors: {
6
+ overlay: string;
7
+ "overlay-soft": string;
8
+ "overlay-strong": string;
9
+ border: {
10
+ DEFAULT: string;
11
+ subtle: string;
12
+ strong: string;
13
+ };
14
+ input: string;
15
+ "control-border": string;
16
+ ring: string;
17
+ background: string;
18
+ foreground: string;
19
+ primary: {
20
+ DEFAULT: string;
21
+ foreground: string;
22
+ };
23
+ secondary: {
24
+ DEFAULT: string;
25
+ foreground: string;
26
+ };
27
+ destructive: {
28
+ DEFAULT: string;
29
+ solid: string;
30
+ foreground: string;
31
+ };
32
+ success: {
33
+ DEFAULT: string;
34
+ solid: string;
35
+ foreground: string;
36
+ };
37
+ warning: {
38
+ DEFAULT: string;
39
+ foreground: string;
40
+ };
41
+ muted: {
42
+ DEFAULT: string;
43
+ foreground: string;
44
+ };
45
+ accent: {
46
+ DEFAULT: string;
47
+ foreground: string;
48
+ };
49
+ highlight: {
50
+ DEFAULT: string;
51
+ foreground: string;
52
+ };
53
+ code: {
54
+ bg: string;
55
+ fg: string;
56
+ comment: string;
57
+ keyword: string;
58
+ string: string;
59
+ number: string;
60
+ function: string;
61
+ operator: string;
62
+ punctuation: string;
63
+ variable: string;
64
+ tag: string;
65
+ deleted: string;
66
+ inserted: string;
67
+ };
68
+ sidebar: {
69
+ DEFAULT: string;
70
+ background: string;
71
+ foreground: string;
72
+ primary: string;
73
+ "primary-foreground": string;
74
+ accent: string;
75
+ "accent-background": string;
76
+ "accent-foreground": string;
77
+ border: string;
78
+ ring: string;
79
+ };
80
+ popover: {
81
+ DEFAULT: string;
82
+ foreground: string;
83
+ };
84
+ card: {
85
+ DEFAULT: string;
86
+ foreground: string;
87
+ };
88
+ };
89
+ borderRadius: {
90
+ lg: string;
91
+ md: string;
92
+ sm: string;
93
+ };
94
+ keyframes: {
95
+ "accordion-down": {
96
+ from: {
97
+ height: string;
98
+ };
99
+ to: {
100
+ height: string;
101
+ };
102
+ };
103
+ "accordion-up": {
104
+ from: {
105
+ height: string;
106
+ };
107
+ to: {
108
+ height: string;
109
+ };
110
+ };
111
+ };
112
+ animation: {
113
+ "accordion-down": string;
114
+ "accordion-up": string;
115
+ };
116
+ };
117
+ };
118
+ };
119
+
120
+ export { uiPreset as default, uiPreset };
@@ -0,0 +1,120 @@
1
+ /** @experimental */
2
+ declare const uiPreset: {
3
+ theme: {
4
+ extend: {
5
+ colors: {
6
+ overlay: string;
7
+ "overlay-soft": string;
8
+ "overlay-strong": string;
9
+ border: {
10
+ DEFAULT: string;
11
+ subtle: string;
12
+ strong: string;
13
+ };
14
+ input: string;
15
+ "control-border": string;
16
+ ring: string;
17
+ background: string;
18
+ foreground: string;
19
+ primary: {
20
+ DEFAULT: string;
21
+ foreground: string;
22
+ };
23
+ secondary: {
24
+ DEFAULT: string;
25
+ foreground: string;
26
+ };
27
+ destructive: {
28
+ DEFAULT: string;
29
+ solid: string;
30
+ foreground: string;
31
+ };
32
+ success: {
33
+ DEFAULT: string;
34
+ solid: string;
35
+ foreground: string;
36
+ };
37
+ warning: {
38
+ DEFAULT: string;
39
+ foreground: string;
40
+ };
41
+ muted: {
42
+ DEFAULT: string;
43
+ foreground: string;
44
+ };
45
+ accent: {
46
+ DEFAULT: string;
47
+ foreground: string;
48
+ };
49
+ highlight: {
50
+ DEFAULT: string;
51
+ foreground: string;
52
+ };
53
+ code: {
54
+ bg: string;
55
+ fg: string;
56
+ comment: string;
57
+ keyword: string;
58
+ string: string;
59
+ number: string;
60
+ function: string;
61
+ operator: string;
62
+ punctuation: string;
63
+ variable: string;
64
+ tag: string;
65
+ deleted: string;
66
+ inserted: string;
67
+ };
68
+ sidebar: {
69
+ DEFAULT: string;
70
+ background: string;
71
+ foreground: string;
72
+ primary: string;
73
+ "primary-foreground": string;
74
+ accent: string;
75
+ "accent-background": string;
76
+ "accent-foreground": string;
77
+ border: string;
78
+ ring: string;
79
+ };
80
+ popover: {
81
+ DEFAULT: string;
82
+ foreground: string;
83
+ };
84
+ card: {
85
+ DEFAULT: string;
86
+ foreground: string;
87
+ };
88
+ };
89
+ borderRadius: {
90
+ lg: string;
91
+ md: string;
92
+ sm: string;
93
+ };
94
+ keyframes: {
95
+ "accordion-down": {
96
+ from: {
97
+ height: string;
98
+ };
99
+ to: {
100
+ height: string;
101
+ };
102
+ };
103
+ "accordion-up": {
104
+ from: {
105
+ height: string;
106
+ };
107
+ to: {
108
+ height: string;
109
+ };
110
+ };
111
+ };
112
+ animation: {
113
+ "accordion-down": string;
114
+ "accordion-up": string;
115
+ };
116
+ };
117
+ };
118
+ };
119
+
120
+ export { uiPreset as default, uiPreset };
@@ -0,0 +1,148 @@
1
+ // src/tailwind-preset.ts
2
+ var tintScale = (base) => ({
3
+ 50: `color-mix(in srgb, var(${base}), white 95%)`,
4
+ 100: `color-mix(in srgb, var(${base}), white 90%)`,
5
+ 200: `color-mix(in srgb, var(${base}), white 70%)`,
6
+ 300: `color-mix(in srgb, var(${base}), white 50%)`,
7
+ 400: `color-mix(in srgb, var(${base}), white 30%)`,
8
+ 500: `var(${base})`,
9
+ 600: `color-mix(in srgb, var(${base}), black 10%)`,
10
+ 700: `color-mix(in srgb, var(${base}), black 30%)`,
11
+ 800: `color-mix(in srgb, var(${base}), black 50%)`,
12
+ 900: `color-mix(in srgb, var(${base}), black 70%)`,
13
+ 950: `color-mix(in srgb, var(${base}), black 85%)`
14
+ });
15
+ var uiPreset = {
16
+ theme: {
17
+ extend: {
18
+ colors: {
19
+ // The modal scrim. Mapped here as well as in the v4 `@theme` block,
20
+ // because this preset is the documented Tailwind v3 path and reads
21
+ // none of that: without these two, `bg-overlay` generates no rule at
22
+ // all and every backdrop is transparent rather than merely unthemed.
23
+ overlay: "var(--nx-overlay)",
24
+ "overlay-soft": "var(--nx-overlay-soft)",
25
+ "overlay-strong": "var(--nx-overlay-strong)",
26
+ border: {
27
+ DEFAULT: "var(--nx-border)",
28
+ subtle: "var(--nx-border-subtle)",
29
+ strong: "var(--nx-border-strong)"
30
+ },
31
+ input: "var(--nx-input)",
32
+ // The boundary of a control that draws no fill of its own -- an
33
+ // unchecked checkbox, radio or switch. Separate from `input` because
34
+ // that one is the field border weight, which sits below the 3:1
35
+ // non-text minimum by design.
36
+ "control-border": "var(--nx-control-border)",
37
+ ring: "var(--nx-ring)",
38
+ background: "var(--nx-background)",
39
+ foreground: "var(--nx-foreground)",
40
+ primary: {
41
+ DEFAULT: "var(--nx-primary)",
42
+ foreground: "var(--nx-primary-foreground)",
43
+ ...tintScale("--nx-primary")
44
+ },
45
+ secondary: {
46
+ DEFAULT: "var(--nx-secondary)",
47
+ foreground: "var(--nx-secondary-foreground)"
48
+ },
49
+ destructive: {
50
+ DEFAULT: "var(--nx-destructive)",
51
+ // Saturated fill for solid buttons, distinct from the text-tuned base.
52
+ solid: "var(--nx-destructive-solid)",
53
+ foreground: "var(--nx-destructive-foreground)",
54
+ ...tintScale("--nx-destructive")
55
+ },
56
+ success: {
57
+ DEFAULT: "var(--nx-success)",
58
+ solid: "var(--nx-success-solid)",
59
+ foreground: "var(--nx-success-foreground)",
60
+ ...tintScale("--nx-success")
61
+ },
62
+ warning: {
63
+ DEFAULT: "var(--nx-warning)",
64
+ foreground: "var(--nx-warning-foreground)",
65
+ ...tintScale("--nx-warning")
66
+ },
67
+ muted: {
68
+ DEFAULT: "var(--nx-muted)",
69
+ foreground: "var(--nx-muted-foreground)"
70
+ },
71
+ accent: {
72
+ DEFAULT: "var(--nx-accent)",
73
+ foreground: "var(--nx-accent-foreground)",
74
+ ...tintScale("--nx-accent")
75
+ },
76
+ // The editor's highlight mark, and the syntax colors, so authored
77
+ // content and code blocks theme like everything else.
78
+ highlight: {
79
+ DEFAULT: "var(--nx-highlight)",
80
+ foreground: "var(--nx-highlight-foreground)"
81
+ },
82
+ code: {
83
+ bg: "var(--nx-code-bg)",
84
+ fg: "var(--nx-code-fg)",
85
+ comment: "var(--nx-code-comment)",
86
+ keyword: "var(--nx-code-keyword)",
87
+ string: "var(--nx-code-string)",
88
+ number: "var(--nx-code-number)",
89
+ function: "var(--nx-code-function)",
90
+ operator: "var(--nx-code-operator)",
91
+ punctuation: "var(--nx-code-punctuation)",
92
+ variable: "var(--nx-code-variable)",
93
+ tag: "var(--nx-code-tag)",
94
+ deleted: "var(--nx-code-deleted)",
95
+ inserted: "var(--nx-code-inserted)"
96
+ },
97
+ // `sidebar` and `sidebar-background` are the same value under two
98
+ // names, and `sidebar-accent` and `sidebar-accent-background` likewise.
99
+ // Both pairs exist in the v4 block and both spellings are in use, so
100
+ // dropping either here would leave a live utility generating nothing.
101
+ sidebar: {
102
+ DEFAULT: "var(--nx-sidebar-background)",
103
+ background: "var(--nx-sidebar-background)",
104
+ foreground: "var(--nx-sidebar-foreground)",
105
+ primary: "var(--nx-sidebar-primary)",
106
+ "primary-foreground": "var(--nx-sidebar-primary-foreground)",
107
+ accent: "var(--nx-sidebar-accent)",
108
+ "accent-background": "var(--nx-sidebar-accent)",
109
+ "accent-foreground": "var(--nx-sidebar-accent-foreground)",
110
+ border: "var(--nx-sidebar-border)",
111
+ ring: "var(--nx-sidebar-ring)"
112
+ },
113
+ popover: {
114
+ DEFAULT: "var(--nx-popover)",
115
+ foreground: "var(--nx-popover-foreground)"
116
+ },
117
+ card: {
118
+ DEFAULT: "var(--nx-card)",
119
+ foreground: "var(--nx-card-foreground)"
120
+ }
121
+ },
122
+ borderRadius: {
123
+ lg: "var(--radius)",
124
+ md: "calc(var(--radius) - 2px)",
125
+ sm: "calc(var(--radius) - 4px)"
126
+ },
127
+ keyframes: {
128
+ "accordion-down": {
129
+ from: { height: "0" },
130
+ to: { height: "var(--radix-accordion-content-height)" }
131
+ },
132
+ "accordion-up": {
133
+ from: { height: "var(--radix-accordion-content-height)" },
134
+ to: { height: "0" }
135
+ }
136
+ },
137
+ animation: {
138
+ "accordion-down": "accordion-down 0.3s cubic-bezier(0.87, 0, 0.13, 1)",
139
+ "accordion-up": "accordion-up 0.3s cubic-bezier(0.87, 0, 0.13, 1)"
140
+ }
141
+ }
142
+ }
143
+ };
144
+ var tailwind_preset_default = uiPreset;
145
+
146
+ export { tailwind_preset_default as default, uiPreset };
147
+ //# sourceMappingURL=tailwind-preset.mjs.map
148
+ //# sourceMappingURL=tailwind-preset.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tailwind-preset.ts"],"names":[],"mappings":"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","file":"tailwind-preset.mjs","sourcesContent":["/**\n * Tailwind CSS preset for @nextlyhq/ui components.\n *\n * Defines the CSS custom property contract that all UI components expect.\n * Consumers must provide the actual CSS variable values in their stylesheets.\n *\n * Usage (Tailwind v3, ESM):\n * // tailwind.config.ts\n * import uiPreset from \"@nextlyhq/ui/tailwind-preset\";\n * export default { presets: [uiPreset], ... };\n *\n * Usage (Tailwind v3, CommonJS):\n * // tailwind.config.js\n * const { uiPreset } = require(\"@nextlyhq/ui/tailwind-preset\");\n * module.exports = { presets: [uiPreset], ... };\n *\n * Usage (Tailwind v4 with @config):\n * Consumers define the equivalent @theme tokens in their CSS.\n * This file serves as the reference contract.\n */\n/**\n * The numbered shade scale for a color, mixed from its base the same way the v4\n * `@theme` block does, so v3 preset consumers get the same utilities the\n * components emit (`bg-destructive-700`, `bg-primary-500`, `border-primary-300`).\n *\n * Named for the derivation rather than for one caller: the status colors, the\n * primary and the accent all use it, and `@theme` derives all five identically.\n */\nconst tintScale = (base: string): Record<number, string> => ({\n 50: `color-mix(in srgb, var(${base}), white 95%)`,\n 100: `color-mix(in srgb, var(${base}), white 90%)`,\n 200: `color-mix(in srgb, var(${base}), white 70%)`,\n 300: `color-mix(in srgb, var(${base}), white 50%)`,\n 400: `color-mix(in srgb, var(${base}), white 30%)`,\n 500: `var(${base})`,\n 600: `color-mix(in srgb, var(${base}), black 10%)`,\n 700: `color-mix(in srgb, var(${base}), black 30%)`,\n 800: `color-mix(in srgb, var(${base}), black 50%)`,\n 900: `color-mix(in srgb, var(${base}), black 70%)`,\n 950: `color-mix(in srgb, var(${base}), black 85%)`,\n});\n\n/** @experimental */\nconst uiPreset = {\n theme: {\n extend: {\n colors: {\n // The modal scrim. Mapped here as well as in the v4 `@theme` block,\n // because this preset is the documented Tailwind v3 path and reads\n // none of that: without these two, `bg-overlay` generates no rule at\n // all and every backdrop is transparent rather than merely unthemed.\n overlay: \"var(--nx-overlay)\",\n \"overlay-soft\": \"var(--nx-overlay-soft)\",\n \"overlay-strong\": \"var(--nx-overlay-strong)\",\n border: {\n DEFAULT: \"var(--nx-border)\",\n subtle: \"var(--nx-border-subtle)\",\n strong: \"var(--nx-border-strong)\",\n },\n input: \"var(--nx-input)\",\n // The boundary of a control that draws no fill of its own -- an\n // unchecked checkbox, radio or switch. Separate from `input` because\n // that one is the field border weight, which sits below the 3:1\n // non-text minimum by design.\n \"control-border\": \"var(--nx-control-border)\",\n ring: \"var(--nx-ring)\",\n background: \"var(--nx-background)\",\n foreground: \"var(--nx-foreground)\",\n primary: {\n DEFAULT: \"var(--nx-primary)\",\n foreground: \"var(--nx-primary-foreground)\",\n ...tintScale(\"--nx-primary\"),\n },\n secondary: {\n DEFAULT: \"var(--nx-secondary)\",\n foreground: \"var(--nx-secondary-foreground)\",\n },\n destructive: {\n DEFAULT: \"var(--nx-destructive)\",\n // Saturated fill for solid buttons, distinct from the text-tuned base.\n solid: \"var(--nx-destructive-solid)\",\n foreground: \"var(--nx-destructive-foreground)\",\n ...tintScale(\"--nx-destructive\"),\n },\n success: {\n DEFAULT: \"var(--nx-success)\",\n solid: \"var(--nx-success-solid)\",\n foreground: \"var(--nx-success-foreground)\",\n ...tintScale(\"--nx-success\"),\n },\n warning: {\n DEFAULT: \"var(--nx-warning)\",\n foreground: \"var(--nx-warning-foreground)\",\n ...tintScale(\"--nx-warning\"),\n },\n muted: {\n DEFAULT: \"var(--nx-muted)\",\n foreground: \"var(--nx-muted-foreground)\",\n },\n accent: {\n DEFAULT: \"var(--nx-accent)\",\n foreground: \"var(--nx-accent-foreground)\",\n ...tintScale(\"--nx-accent\"),\n },\n // The editor's highlight mark, and the syntax colors, so authored\n // content and code blocks theme like everything else.\n highlight: {\n DEFAULT: \"var(--nx-highlight)\",\n foreground: \"var(--nx-highlight-foreground)\",\n },\n code: {\n bg: \"var(--nx-code-bg)\",\n fg: \"var(--nx-code-fg)\",\n comment: \"var(--nx-code-comment)\",\n keyword: \"var(--nx-code-keyword)\",\n string: \"var(--nx-code-string)\",\n number: \"var(--nx-code-number)\",\n function: \"var(--nx-code-function)\",\n operator: \"var(--nx-code-operator)\",\n punctuation: \"var(--nx-code-punctuation)\",\n variable: \"var(--nx-code-variable)\",\n tag: \"var(--nx-code-tag)\",\n deleted: \"var(--nx-code-deleted)\",\n inserted: \"var(--nx-code-inserted)\",\n },\n // `sidebar` and `sidebar-background` are the same value under two\n // names, and `sidebar-accent` and `sidebar-accent-background` likewise.\n // Both pairs exist in the v4 block and both spellings are in use, so\n // dropping either here would leave a live utility generating nothing.\n sidebar: {\n DEFAULT: \"var(--nx-sidebar-background)\",\n background: \"var(--nx-sidebar-background)\",\n foreground: \"var(--nx-sidebar-foreground)\",\n primary: \"var(--nx-sidebar-primary)\",\n \"primary-foreground\": \"var(--nx-sidebar-primary-foreground)\",\n accent: \"var(--nx-sidebar-accent)\",\n \"accent-background\": \"var(--nx-sidebar-accent)\",\n \"accent-foreground\": \"var(--nx-sidebar-accent-foreground)\",\n border: \"var(--nx-sidebar-border)\",\n ring: \"var(--nx-sidebar-ring)\",\n },\n popover: {\n DEFAULT: \"var(--nx-popover)\",\n foreground: \"var(--nx-popover-foreground)\",\n },\n card: {\n DEFAULT: \"var(--nx-card)\",\n foreground: \"var(--nx-card-foreground)\",\n },\n },\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n keyframes: {\n \"accordion-down\": {\n from: { height: \"0\" },\n to: { height: \"var(--radix-accordion-content-height)\" },\n },\n \"accordion-up\": {\n from: { height: \"var(--radix-accordion-content-height)\" },\n to: { height: \"0\" },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.3s cubic-bezier(0.87, 0, 0.13, 1)\",\n \"accordion-up\": \"accordion-up 0.3s cubic-bezier(0.87, 0, 0.13, 1)\",\n },\n },\n },\n};\n\n// Exported both ways on purpose. CommonJS cannot represent a default-only\n// module without `module.exports =`, which makes the emitted declarations\n// disagree with the runtime shape (attw's FalseExportDefault); a named export\n// alongside it keeps `require()` and `import` consistent and typed.\nexport { uiPreset };\nexport default uiPreset;\n"]}