@spartan-ng/cli 0.0.1-alpha.651 → 0.0.1-alpha.652

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 (30) hide show
  1. package/package.json +4 -1
  2. package/src/generators/base/generator.js +37 -1
  3. package/src/generators/base/generator.js.map +1 -1
  4. package/src/generators/base/lib/styles/create-style-map.d.ts +4 -0
  5. package/src/generators/base/lib/styles/create-style-map.js +72 -0
  6. package/src/generators/base/lib/styles/create-style-map.js.map +1 -0
  7. package/src/generators/base/lib/styles/transform-style-map.d.ts +3 -0
  8. package/src/generators/base/lib/styles/transform-style-map.js +255 -0
  9. package/src/generators/base/lib/styles/transform-style-map.js.map +1 -0
  10. package/src/generators/base/lib/styles/transform.d.ts +10 -0
  11. package/src/generators/base/lib/styles/transform.js +19 -0
  12. package/src/generators/base/lib/styles/transform.js.map +1 -0
  13. package/src/generators/ui/libs/button/files/lib/hlm-button.ts.template +16 -18
  14. package/src/generators/ui/libs/tooltip/files/lib/hlm-tooltip.ts.template +2 -2
  15. package/src/generators/ui/libs/utils/files/lib/hlm.ts.template +51 -1
  16. package/src/generators/ui/style-lyra.css +1335 -0
  17. package/src/generators/ui/style-maia.css +1360 -0
  18. package/src/generators/ui/style-mira.css +1362 -0
  19. package/src/generators/ui/style-nova.css +1360 -0
  20. package/src/generators/ui/style-vega.css +1356 -0
  21. package/src/generators/ui/supported-ui-libraries.json +41 -41
  22. package/src/index.d.ts +1 -0
  23. package/src/index.js +1 -0
  24. package/src/index.js.map +1 -1
  25. package/src/registry/index.d.ts +1 -0
  26. package/src/registry/index.js +5 -0
  27. package/src/registry/index.js.map +1 -0
  28. package/src/registry/schema.d.ts +2207 -0
  29. package/src/registry/schema.js +184 -0
  30. package/src/registry/schema.js.map +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spartan-ng/cli",
3
- "version": "0.0.1-alpha.651",
3
+ "version": "0.0.1-alpha.652",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/spartan-ng/spartan"
@@ -19,7 +19,10 @@
19
19
  "node-html-parser": "^7.0.1",
20
20
  "nx": ">=20.0.0",
21
21
  "picocolors": "^1.1.1",
22
+ "postcss": "^8.4.47",
23
+ "postcss-selector-parser": "^7.1.1",
22
24
  "semver": "7.5.4",
25
+ "tailwind-merge": "^3.3.1",
23
26
  "ts-morph": "25.0.1",
24
27
  "typescript": ">=5.0.0",
25
28
  "zod": "3.23.8"
@@ -12,8 +12,27 @@ const deleteFiles_1 = require("./lib/deleteFiles");
12
12
  const get_target_library_directory_1 = require("./lib/get-target-library-directory");
13
13
  const initialize_angular_library_1 = require("./lib/initialize-angular-library");
14
14
  const generators_1 = require("@nx/angular/generators");
15
+ const fs_1 = require("fs");
15
16
  const single_lib_name_1 = require("./lib/single-lib-name");
17
+ const create_style_map_1 = require("./lib/styles/create-style-map");
18
+ const transform_1 = require("./lib/styles/transform");
16
19
  const versions_1 = require("./versions");
20
+ const styleMapCache = new Map();
21
+ async function getStyleMap(style) {
22
+ if (styleMapCache.has(style)) {
23
+ return styleMapCache.get(style);
24
+ }
25
+ try {
26
+ const cssPath = path.join(__dirname, '..', 'ui', `style-${style}.css`);
27
+ const css = await fs_1.promises.readFile(cssPath, 'utf-8');
28
+ const styleMap = (0, create_style_map_1.createStyleMap)(css);
29
+ styleMapCache.set(style, styleMap);
30
+ return styleMap;
31
+ }
32
+ catch {
33
+ return {};
34
+ }
35
+ }
17
36
  function isAlreadyInstalled(tree, alias) {
18
37
  const existingPaths = (0, tsconfig_1.readTsConfigPathsFromTree)(tree);
19
38
  return alias in existingPaths;
@@ -40,6 +59,7 @@ async function generateEntrypointFiles(tree, alias, options) {
40
59
  });
41
60
  }
42
61
  (0, devkit_1.generateFiles)(tree, path.join(__dirname, '..', 'ui', 'libs', options.name, 'files'), targetLibDir, options);
62
+ return targetLibDir;
43
63
  }
44
64
  function generateLibraryFiles(tree, targetLibDir, options) {
45
65
  const deletePath = (0, devkit_1.joinPathFragments)(options.directory, options.name, 'src', 'lib', options.name);
@@ -66,12 +86,28 @@ async function hlmBaseGenerator(tree, options) {
66
86
  else if (options.generateAs === 'library') {
67
87
  tasks.push(await (0, initialize_angular_library_1.initializeAngularLibrary)(tree, options));
68
88
  }
89
+ let filesPath = targetLibDir;
69
90
  if (options.generateAs === 'entrypoint') {
70
- await generateEntrypointFiles(tree, tsConfigAlias, options);
91
+ filesPath = await generateEntrypointFiles(tree, tsConfigAlias, options);
71
92
  }
72
93
  else {
73
94
  generateLibraryFiles(tree, targetLibDir, options);
74
95
  }
96
+ // TODO: add style to component.json
97
+ const styleMap = await getStyleMap('vega');
98
+ const generatedFiles = [];
99
+ (0, devkit_1.visitNotIgnoredFiles)(tree, filesPath, (filePath) => {
100
+ generatedFiles.push(filePath);
101
+ });
102
+ for (const filePath of generatedFiles) {
103
+ const content = tree.read(filePath, 'utf-8');
104
+ if (filePath.includes('/button/')) {
105
+ if (!content)
106
+ continue;
107
+ const transformed = await (0, transform_1.transformStyle)(content, { styleMap });
108
+ tree.write(filePath, transformed);
109
+ }
110
+ }
75
111
  tasks.push(registerDependencies(tree, options));
76
112
  return (0, devkit_1.runTasksInSerial)(...tasks);
77
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/generators/base/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/generators/base/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const styleMapSchema: z.ZodRecord<z.ZodString, z.ZodString>;
3
+ export type StyleMap = z.infer<typeof styleMapSchema>;
4
+ export declare function createStyleMap(input: string): Record<string, string>;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.styleMapSchema = void 0;
4
+ exports.createStyleMap = createStyleMap;
5
+ const tslib_1 = require("tslib");
6
+ const postcss_1 = tslib_1.__importDefault(require("postcss"));
7
+ const postcss_selector_parser_1 = tslib_1.__importDefault(require("postcss-selector-parser"));
8
+ const zod_1 = require("zod");
9
+ const SPARTAN_PREFIX = 'spartan-';
10
+ exports.styleMapSchema = zod_1.z.record(zod_1.z.string().startsWith(SPARTAN_PREFIX), zod_1.z.string());
11
+ function createStyleMap(input) {
12
+ const root = postcss_1.default.parse(input);
13
+ const result = {};
14
+ root.walkRules((rule) => {
15
+ const selectors = rule.selectors ?? [];
16
+ if (selectors.length === 0) {
17
+ return;
18
+ }
19
+ const tailwindClasses = extractTailwindClasses(rule);
20
+ if (!tailwindClasses) {
21
+ return;
22
+ }
23
+ for (const selector of selectors) {
24
+ const normalizedSelector = normalizeSelector(selector);
25
+ (0, postcss_selector_parser_1.default)((selectorsRoot) => {
26
+ selectorsRoot.each((sel) => {
27
+ const targetClass = findSubjectClass(sel);
28
+ if (!targetClass) {
29
+ return;
30
+ }
31
+ const className = targetClass.value;
32
+ if (!className.startsWith(SPARTAN_PREFIX)) {
33
+ return;
34
+ }
35
+ result[className] = result[className] ? `${tailwindClasses} ${result[className]}` : tailwindClasses;
36
+ });
37
+ }).processSync(normalizedSelector);
38
+ }
39
+ });
40
+ return exports.styleMapSchema.parse(result);
41
+ }
42
+ function normalizeSelector(selector) {
43
+ return selector.replace(/\s*&\s*/g, '').trim();
44
+ }
45
+ function extractTailwindClasses(rule) {
46
+ const classes = [];
47
+ for (const node of rule.nodes || []) {
48
+ if (node.type === 'atrule' && node.name === 'apply') {
49
+ const value = node.params.trim();
50
+ if (value) {
51
+ classes.push(value);
52
+ }
53
+ }
54
+ }
55
+ if (classes.length === 0) {
56
+ return null;
57
+ }
58
+ return classes.join(' ');
59
+ }
60
+ function findSubjectClass(selector) {
61
+ const classNodes = [];
62
+ selector.walkClasses((classNode) => {
63
+ if (classNode.value.startsWith(SPARTAN_PREFIX)) {
64
+ classNodes.push(classNode);
65
+ }
66
+ });
67
+ if (classNodes.length === 0) {
68
+ return null;
69
+ }
70
+ return classNodes[classNodes.length - 1];
71
+ }
72
+ //# sourceMappingURL=create-style-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-style-map.js","sourceRoot":"","sources":["../../../../../../../../libs/cli/src/generators/base/lib/styles/create-style-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type SourceFile } from 'ts-morph';
2
+ import type { TransformerStyle } from './transform';
3
+ export declare const transformStyleMap: TransformerStyle<SourceFile>;
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformStyleMap = void 0;
4
+ const tailwind_merge_1 = require("tailwind-merge");
5
+ const ts_morph_1 = require("ts-morph");
6
+ const ALLOWLIST = new Set(['spartan-menu-target', 'spartan-logical-sides', 'spartan-rtl-flip']);
7
+ function isStringLiteralLike(node) {
8
+ return ts_morph_1.Node.isStringLiteral(node) || ts_morph_1.Node.isNoSubstitutionTemplateLiteral(node);
9
+ }
10
+ const transformStyleMap = async ({ sourceFile, styleMap }) => {
11
+ const matchedClasses = new Set();
12
+ applyToHlmCalls(sourceFile, styleMap, matchedClasses);
13
+ applyToClassesCalls(sourceFile, styleMap, matchedClasses);
14
+ applyToHtmlInStrings(sourceFile, styleMap, matchedClasses);
15
+ applyToRawHtml(sourceFile, styleMap, matchedClasses);
16
+ applyToCvaCalls(sourceFile, styleMap, matchedClasses);
17
+ return sourceFile;
18
+ };
19
+ exports.transformStyleMap = transformStyleMap;
20
+ function applyToRawHtml(sourceFile, styleMap, matchedClasses) {
21
+ const text = sourceFile.getFullText();
22
+ if (!text.includes('class="'))
23
+ return;
24
+ const updated = text.replace(/class="([^"]+)"/g, (_, classValue) => {
25
+ const classes = extractSpartanClasses(classValue);
26
+ if (classes.length === 0)
27
+ return `class="${classValue}"`;
28
+ const unmatched = classes.filter((c) => !matchedClasses.has(c));
29
+ const tailwindClasses = unmatched.map((c) => styleMap[c]).filter((v) => Boolean(v));
30
+ let updatedClass = classValue;
31
+ if (tailwindClasses.length) {
32
+ updatedClass = mergeClasses(tailwindClasses.join(' '), classValue);
33
+ unmatched.forEach((c) => matchedClasses.add(c));
34
+ }
35
+ updatedClass = removeSpartanClasses(updatedClass);
36
+ return `class="${updatedClass}"`;
37
+ });
38
+ if (updated !== text) {
39
+ sourceFile.replaceWithText(updated);
40
+ }
41
+ }
42
+ function applyToHtmlInStrings(sourceFile, styleMap, matchedClasses) {
43
+ sourceFile.forEachDescendant((node) => {
44
+ if (!isStringLiteralLike(node))
45
+ return;
46
+ const text = node.getLiteralText();
47
+ if (!text.includes('class="'))
48
+ return;
49
+ const updated = text.replace(/class="([^"]+)"/g, (_, classValue) => {
50
+ const classes = extractSpartanClasses(classValue);
51
+ if (classes.length === 0)
52
+ return `class="${classValue}"`;
53
+ const unmatched = classes.filter((c) => !matchedClasses.has(c));
54
+ const tailwindClasses = unmatched.map((c) => styleMap[c]).filter((v) => Boolean(v));
55
+ let updatedClass = classValue;
56
+ if (tailwindClasses.length) {
57
+ updatedClass = mergeClasses(tailwindClasses.join(' '), classValue);
58
+ unmatched.forEach((c) => matchedClasses.add(c));
59
+ }
60
+ updatedClass = removeSpartanClasses(updatedClass);
61
+ return `class="${updatedClass}"`;
62
+ });
63
+ if (updated !== text) {
64
+ node.setLiteralValue(updated);
65
+ }
66
+ });
67
+ }
68
+ function applyToClassesCalls(sourceFile, styleMap, matchedClasses) {
69
+ sourceFile.forEachDescendant((node) => {
70
+ if (!ts_morph_1.Node.isCallExpression(node))
71
+ return;
72
+ const expression = node.getExpression();
73
+ if (!ts_morph_1.Node.isIdentifier(expression) || expression.getText() !== 'classes')
74
+ return;
75
+ const firstArg = node.getArguments()[0];
76
+ if (!firstArg || !ts_morph_1.Node.isArrowFunction(firstArg))
77
+ return;
78
+ const body = firstArg.getBody();
79
+ if (isStringLiteralLike(body)) {
80
+ applyStyle(body, styleMap, matchedClasses);
81
+ return;
82
+ }
83
+ if (ts_morph_1.Node.isArrayLiteralExpression(body)) {
84
+ applyToArrayLiteral(body, styleMap, matchedClasses);
85
+ }
86
+ });
87
+ }
88
+ function applyToArrayLiteral(arrayNode, styleMap, matchedClasses) {
89
+ for (const element of arrayNode.getElements()) {
90
+ if (isStringLiteralLike(element)) {
91
+ applyStyle(element, styleMap, matchedClasses);
92
+ continue;
93
+ }
94
+ element.forEachDescendant((node) => {
95
+ if (isStringLiteralLike(node)) {
96
+ applyStyle(node, styleMap, matchedClasses);
97
+ }
98
+ });
99
+ }
100
+ }
101
+ function applyToHlmCalls(sourceFile, styleMap, matchedClasses) {
102
+ sourceFile.forEachDescendant((node) => {
103
+ if (!ts_morph_1.Node.isCallExpression(node))
104
+ return;
105
+ const expression = node.getExpression();
106
+ if (!ts_morph_1.Node.isIdentifier(expression) || expression.getText() !== 'hlm')
107
+ return;
108
+ for (const arg of node.getArguments()) {
109
+ if (!isStringLiteralLike(arg))
110
+ continue;
111
+ applyStyle(arg, styleMap, matchedClasses);
112
+ }
113
+ removeEmptyArgumentsFromHlm(node);
114
+ });
115
+ }
116
+ function applyStyle(stringNode, styleMap, matchedClasses) {
117
+ const value = stringNode.getLiteralText();
118
+ const classes = extractSpartanClasses(value);
119
+ if (!classes.length)
120
+ return;
121
+ const unmatched = classes.filter((c) => !matchedClasses.has(c));
122
+ const tailwind = unmatched.map((c) => styleMap[c]).filter((v) => Boolean(v));
123
+ let updated = value;
124
+ if (tailwind.length) {
125
+ updated = mergeClasses(tailwind.join(' '), value);
126
+ unmatched.forEach((c) => matchedClasses.add(c));
127
+ }
128
+ updated = removeSpartanClasses(updated);
129
+ stringNode.setLiteralValue(updated);
130
+ }
131
+ function extractSpartanClasses(str) {
132
+ const matches = str.matchAll(/\bspartan-[\w-]+\b/g);
133
+ return Array.from(matches, (m) => m[0]);
134
+ }
135
+ function removeSpartanClasses(str) {
136
+ return str
137
+ .replace(/\bspartan-[\w-]+\b/g, (match) => {
138
+ if (ALLOWLIST.has(match))
139
+ return match;
140
+ return '';
141
+ })
142
+ .replace(/\s+/g, ' ')
143
+ .trim();
144
+ }
145
+ function removeEmptyArgumentsFromHlm(call) {
146
+ const args = call.getArguments();
147
+ const filtered = args.filter((arg) => {
148
+ if (isStringLiteralLike(arg)) {
149
+ return arg.getLiteralText().trim() !== '';
150
+ }
151
+ return true;
152
+ });
153
+ if (filtered.length !== args.length) {
154
+ const argTexts = filtered.map((a) => a.getText());
155
+ call.replaceWithText(`hlm(${argTexts.join(', ')})`);
156
+ }
157
+ }
158
+ function mergeClasses(newClasses, existing) {
159
+ return (0, tailwind_merge_1.twMerge)(newClasses, existing);
160
+ }
161
+ function applyToCvaCalls(sourceFile, styleMap, matchedClasses) {
162
+ sourceFile.forEachDescendant((node) => {
163
+ if (!ts_morph_1.Node.isCallExpression(node)) {
164
+ return;
165
+ }
166
+ const expression = node.getExpression();
167
+ if (!ts_morph_1.Node.isIdentifier(expression) || expression.getText() !== 'cva') {
168
+ return;
169
+ }
170
+ const baseArg = node.getArguments()[0];
171
+ if (ts_morph_1.Node.isStringLiteral(baseArg)) {
172
+ applyStyleToCvaString(baseArg, styleMap, matchedClasses);
173
+ }
174
+ const configArg = node.getArguments()[1];
175
+ if (!configArg || !ts_morph_1.Node.isObjectLiteralExpression(configArg)) {
176
+ return;
177
+ }
178
+ const variantsProp = configArg
179
+ .getProperties()
180
+ .find((prop) => ts_morph_1.Node.isPropertyAssignment(prop) &&
181
+ ts_morph_1.Node.isIdentifier(prop.getNameNode()) &&
182
+ prop.getNameNode().getText() === 'variants');
183
+ if (!variantsProp || !ts_morph_1.Node.isPropertyAssignment(variantsProp)) {
184
+ return;
185
+ }
186
+ const variantsObj = variantsProp.getInitializer();
187
+ if (!variantsObj || !ts_morph_1.Node.isObjectLiteralExpression(variantsObj)) {
188
+ return;
189
+ }
190
+ variantsObj.getProperties().forEach((typeProp) => {
191
+ if (!ts_morph_1.Node.isPropertyAssignment(typeProp)) {
192
+ return;
193
+ }
194
+ const typeObj = typeProp.getInitializer();
195
+ if (!typeObj || !ts_morph_1.Node.isObjectLiteralExpression(typeObj)) {
196
+ return;
197
+ }
198
+ typeObj.getProperties().forEach((variantProp) => {
199
+ if (!ts_morph_1.Node.isPropertyAssignment(variantProp)) {
200
+ return;
201
+ }
202
+ const variantValue = variantProp.getInitializer();
203
+ if (variantValue && ts_morph_1.Node.isStringLiteral(variantValue)) {
204
+ applyStyleToCvaString(variantValue, styleMap, matchedClasses);
205
+ }
206
+ });
207
+ });
208
+ });
209
+ }
210
+ function applyStyleToCvaString(stringNode, styleMap, matchedClasses) {
211
+ const stringValue = stringNode.getLiteralText();
212
+ const hlmClasses = extractCnClasses(stringValue);
213
+ if (hlmClasses.length === 0) {
214
+ return;
215
+ }
216
+ // Process all spartan-* classes, not just the first one
217
+ const unmatchedClasses = hlmClasses.filter((hlmClass) => !matchedClasses.has(hlmClass));
218
+ if (unmatchedClasses.length === 0) {
219
+ // All classes already matched, just clean up non-allowlisted ones
220
+ const updated = removeCnClasses(stringValue);
221
+ stringNode.setLiteralValue(updated);
222
+ return;
223
+ }
224
+ const tailwindClassesToApply = unmatchedClasses
225
+ .map((hlmClass) => styleMap[hlmClass])
226
+ .filter((classes) => Boolean(classes));
227
+ if (tailwindClassesToApply.length > 0) {
228
+ const mergedClasses = tailwindClassesToApply.join(' ');
229
+ const updated = removeCnClasses(mergeClasses(mergedClasses, stringValue));
230
+ stringNode.setLiteralValue(updated);
231
+ unmatchedClasses.forEach((hlmClass) => matchedClasses.add(hlmClass));
232
+ }
233
+ else {
234
+ // No styles to apply, but still need to clean up non-allowlisted classes
235
+ const updated = removeCnClasses(stringValue);
236
+ stringNode.setLiteralValue(updated);
237
+ }
238
+ }
239
+ function extractCnClasses(str) {
240
+ const matches = str.matchAll(/\bspartan-[\w-]+\b/g);
241
+ return Array.from(matches, (match) => match[0]);
242
+ }
243
+ function removeCnClasses(str) {
244
+ return str
245
+ .replace(/\bspartan-[\w-]+\b/g, (match) => {
246
+ // Preserve allowlisted classes
247
+ if (ALLOWLIST.has(match)) {
248
+ return match;
249
+ }
250
+ return '';
251
+ })
252
+ .replace(/\s+/g, ' ')
253
+ .trim();
254
+ }
255
+ //# sourceMappingURL=transform-style-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-style-map.js","sourceRoot":"","sources":["../../../../../../../../libs/cli/src/generators/base/lib/styles/transform-style-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type SourceFile } from 'ts-morph';
2
+ import { type StyleMap } from './create-style-map';
3
+ export type TransformerStyle<Output = SourceFile> = (opts: {
4
+ sourceFile: SourceFile;
5
+ styleMap: StyleMap;
6
+ }) => Promise<Output>;
7
+ export declare function transformStyle(source: string, { styleMap, transformers, }: {
8
+ styleMap: StyleMap;
9
+ transformers?: TransformerStyle<SourceFile>[];
10
+ }): Promise<string>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformStyle = transformStyle;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const transform_style_map_1 = require("./transform-style-map");
6
+ async function transformStyle(source, { styleMap, transformers = [transform_style_map_1.transformStyleMap], }) {
7
+ const project = new ts_morph_1.Project({
8
+ useInMemoryFileSystem: true,
9
+ });
10
+ const sourceFile = project.createSourceFile('component.ts', source, {
11
+ scriptKind: ts_morph_1.ScriptKind.TS,
12
+ overwrite: true,
13
+ });
14
+ for (const transformer of transformers) {
15
+ await transformer({ sourceFile, styleMap });
16
+ }
17
+ return sourceFile.getText();
18
+ }
19
+ //# sourceMappingURL=transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../../../../libs/cli/src/generators/base/lib/styles/transform.ts"],"names":[],"mappings":";;AAUA,wCAwBC;AAlCD,uCAAgE;AAGhE,+DAA0D;AAOnD,KAAK,UAAU,cAAc,CACnC,MAAc,EACd,EACC,QAAQ,EACR,YAAY,GAAG,CAAC,uCAAiB,CAAC,GAIlC;IAED,MAAM,OAAO,GAAG,IAAI,kBAAO,CAAC;QAC3B,qBAAqB,EAAE,IAAI;KAC3B,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE;QACnE,UAAU,EAAE,qBAAU,CAAC,EAAE;QACzB,SAAS,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,WAAW,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC"}
@@ -1,33 +1,31 @@
1
1
  import { Directive, input, signal } from '@angular/core';
2
2
  import { BrnButton } from '@spartan-ng/brain/button';
3
3
  import { classes } from '<%- importAlias %>/utils';
4
- import { type VariantProps, cva } from 'class-variance-authority';
4
+ import { cva, type VariantProps } from 'class-variance-authority';
5
5
  import type { ClassValue } from 'clsx';
6
6
  import { injectBrnButtonConfig } from './hlm-button.token';
7
7
 
8
8
  export const buttonVariants = cva(
9
- "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0 [&_ng-icon:not([class*='text-'])]:text-base",
9
+ 'spartan-button group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0',
10
10
  {
11
11
  variants: {
12
12
  variant: {
13
- default: 'bg-primary text-primary-foreground hover:bg-primary/90',
14
- destructive:
15
- 'bg-destructive hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 text-white',
16
- outline:
17
- 'bg-background hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border shadow-xs',
18
- secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
19
- ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',
20
- link: 'text-primary underline-offset-4 hover:underline',
13
+ default: 'spartan-button-variant-default',
14
+ outline: 'spartan-button-variant-outline',
15
+ secondary: 'spartan-button-variant-secondary',
16
+ ghost: 'spartan-button-variant-ghost',
17
+ destructive: 'spartan-button-variant-destructive',
18
+ link: 'spartan-button-variant-link',
21
19
  },
22
20
  size: {
23
- default: 'h-9 px-4 py-2 has-[>ng-icon]:px-3',
24
- xs: `h-6 gap-1 rounded-md px-2 text-xs has-[>ng-icon]:px-1.5 [&_ng-icon:not([class*='text-'])]:text-xs`,
25
- sm: 'h-8 gap-1.5 rounded-md px-3 has-[>ng-icon]:px-2.5',
26
- lg: 'h-10 rounded-md px-6 has-[>ng-icon]:px-4',
27
- icon: 'size-9',
28
- 'icon-xs': `size-6 rounded-md [&_ng-icon:not([class*='text-'])]:text-xs`,
29
- 'icon-sm': 'size-8',
30
- 'icon-lg': 'size-10',
21
+ default: 'spartan-button-size-default',
22
+ xs: 'spartan-button-size-xs',
23
+ sm: 'spartan-button-size-sm',
24
+ lg: 'spartan-button-size-lg',
25
+ icon: 'spartan-button-size-icon',
26
+ 'icon-xs': 'spartan-button-size-icon-xs',
27
+ 'icon-sm': 'spartan-button-size-icon-sm',
28
+ 'icon-lg': 'spartan-button-size-icon-lg',
31
29
  },
32
30
  },
33
31
  defaultVariants: {
@@ -14,8 +14,8 @@ export const tooltipPositionVariants = cva('absolute', {
14
14
  position: {
15
15
  top: 'bottom-0 left-[calc(50%-5px)] translate-y-full',
16
16
  bottom: '-top-2.5 left-[calc(50%-5px)] translate-y-0 rotate-180',
17
- left: 'top-[calc(50%-5px)] -right-2.5 translate-y-0 rotate-270',
18
- right: 'top-[calc(50%-5px)] -left-2.5 translate-y-0 rotate-90',
17
+ left: '-end-2.5 top-[calc(50%-5px)] translate-y-0 rotate-270 rtl:-rotate-270',
18
+ right: '-start-2.5 top-[calc(50%-5px)] translate-y-0 rotate-90 rtl:-rotate-90',
19
19
  },
20
20
  },
21
21
  });