@santi020k/lumen 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +2 -6
- package/dist/consumer-rollout.d.ts +6 -1
- package/dist/consumer-rollout.d.ts.map +1 -1
- package/dist/consumer-rollout.js +21 -7
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/registry-data.d.ts +26 -1
- package/dist/registry-data.d.ts.map +1 -1
- package/dist/registry-data.js +55 -1
- package/package.json +11 -3
- package/styles.css +149 -4
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readdir, readFile, stat } from 'node:fs/promises';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
|
-
import { consumerRolloutSucceeded, formatConsumerRollout, runConsumerRollout } from './consumer-rollout.js';
|
|
3
|
+
import { consumerRolloutSucceeded, formatConsumerRollout, resolveConsumerRolloutTargets, runConsumerRollout } from './consumer-rollout.js';
|
|
4
4
|
import { createLumenSetup, formatLumenDiagnostics, inspectLumenIntegration } from './integration-diagnostics.js';
|
|
5
5
|
import { addLumenRegistryItem, getLumenRegistryEntries, getLumenRegistryItem, loadLumenRegistry, lumenRegistry } from './registry.js';
|
|
6
6
|
import { auditLumenTokenCss } from './token-audit.js';
|
|
@@ -47,11 +47,7 @@ const getRolloutArguments = () => {
|
|
|
47
47
|
if (!value.startsWith('--'))
|
|
48
48
|
values.push(value);
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
return {
|
|
52
|
-
repositories: repositories.length ? repositories : [process.cwd()],
|
|
53
|
-
...(targetVersion ? { targetVersion } : {})
|
|
54
|
-
};
|
|
50
|
+
return resolveConsumerRolloutTargets(values);
|
|
55
51
|
};
|
|
56
52
|
const getAddTarget = (value, provided = false) => {
|
|
57
53
|
if (provided && !value) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type LumenDiagnosticReport } from './integration-diagnostics.js';
|
|
2
|
-
export type LumenFramework = 'astro' | 'elements' | 'react';
|
|
2
|
+
export type LumenFramework = 'astro' | 'elements' | 'react' | 'react-native';
|
|
3
3
|
export interface ConsumerReference {
|
|
4
4
|
file: string;
|
|
5
5
|
packageName: string;
|
|
@@ -43,7 +43,12 @@ export interface ConsumerRolloutReport {
|
|
|
43
43
|
})[];
|
|
44
44
|
targetVersion?: string;
|
|
45
45
|
}
|
|
46
|
+
export interface ConsumerRolloutTargets {
|
|
47
|
+
repositories: string[];
|
|
48
|
+
targetVersion?: string;
|
|
49
|
+
}
|
|
46
50
|
export declare const consumerRolloutSucceeded: (report: ConsumerRolloutReport) => boolean;
|
|
51
|
+
export declare const resolveConsumerRolloutTargets: (values: string[], currentDirectory?: string) => ConsumerRolloutTargets;
|
|
47
52
|
export declare const satisfiesNodeEngine: (engine: string | undefined, currentVersion?: string) => boolean | undefined;
|
|
48
53
|
export declare const inspectLumenConsumer: (repository: string, targetVersion?: string) => Promise<ConsumerInventory>;
|
|
49
54
|
export declare const updateLumenManifestSource: (source: string, targetVersion: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer-rollout.d.ts","sourceRoot":"","sources":["../src/consumer-rollout.ts"],"names":[],"mappings":"AAOA,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"consumer-rollout.d.ts","sourceRoot":"","sources":["../src/consumer-rollout.ts"],"names":[],"mappings":"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"}
|
package/dist/consumer-rollout.js
CHANGED
|
@@ -2,14 +2,27 @@ import { execFile } from 'node:child_process';
|
|
|
2
2
|
import { readdir, readFile, stat, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { join, relative, resolve } from 'node:path';
|
|
4
4
|
import { promisify } from 'node:util';
|
|
5
|
-
import { satisfies } from 'semver';
|
|
5
|
+
import { satisfies, valid } from 'semver';
|
|
6
6
|
import { inspectLumenIntegration } from './integration-diagnostics.js';
|
|
7
7
|
/* eslint-disable complexity -- Consumer inventory, semver checks, mutation, and verification intentionally evaluate full repository contracts. */
|
|
8
8
|
const execFileAsync = promisify(execFile);
|
|
9
|
-
const
|
|
9
|
+
const lumenPackageSuffixPattern = '(?:astro|core|elements|icons-brand|mcp|react(?:-hook-form|-native)?|tokens)';
|
|
10
|
+
const lumenPackageNamePattern = `@santi020k/lumen(?:-${lumenPackageSuffixPattern})?`;
|
|
11
|
+
const lumenPackagePattern = new RegExp(`^${lumenPackageNamePattern}$`);
|
|
12
|
+
const lumenYamlReferencePattern = new RegExp(`^\\s*['"]?(${lumenPackageNamePattern})['"]?\\s*:\\s*['"]?([^'"\\s#]+)['"]?`);
|
|
13
|
+
const lumenLockReferencePattern = new RegExp(`@santi020k/(lumen(?:-${lumenPackageSuffixPattern})?)@(\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?)`, 'g');
|
|
10
14
|
const dependencyFields = ['dependencies', 'devDependencies', 'optionalDependencies', 'peerDependencies'];
|
|
11
15
|
export const consumerRolloutSucceeded = (report) => report.repositories.every(repository => repository.valid && repository.commands.every(command => command.ok));
|
|
12
16
|
const isLumenPackage = (name) => lumenPackagePattern.test(name);
|
|
17
|
+
export const resolveConsumerRolloutTargets = (values, currentDirectory = process.cwd()) => {
|
|
18
|
+
const [firstValue, ...remainingValues] = values;
|
|
19
|
+
const targetVersion = firstValue && valid(firstValue) ? firstValue : undefined;
|
|
20
|
+
const repositories = targetVersion ? remainingValues : values;
|
|
21
|
+
return {
|
|
22
|
+
repositories: repositories.length ? repositories : [currentDirectory],
|
|
23
|
+
...(targetVersion ? { targetVersion } : {})
|
|
24
|
+
};
|
|
25
|
+
};
|
|
13
26
|
const pathExists = async (path) => {
|
|
14
27
|
try {
|
|
15
28
|
await stat(path);
|
|
@@ -64,7 +77,7 @@ const collectManifestReferences = (manifest, file, root) => dependencyFields.fla
|
|
|
64
77
|
const collectYamlReferences = (source, file) => {
|
|
65
78
|
const references = [];
|
|
66
79
|
for (const line of source.split(/\r?\n/)) {
|
|
67
|
-
const match =
|
|
80
|
+
const match = lumenYamlReferencePattern.exec(line);
|
|
68
81
|
if (match?.[1] && match[2]) {
|
|
69
82
|
references.push({ file, packageName: match[1], source: 'catalog', version: match[2] });
|
|
70
83
|
}
|
|
@@ -73,8 +86,7 @@ const collectYamlReferences = (source, file) => {
|
|
|
73
86
|
};
|
|
74
87
|
const collectLockReferences = (source) => {
|
|
75
88
|
const references = [];
|
|
76
|
-
const
|
|
77
|
-
for (const match of source.matchAll(pattern)) {
|
|
89
|
+
for (const match of source.matchAll(lumenLockReferencePattern)) {
|
|
78
90
|
if (match[1] && match[2]) {
|
|
79
91
|
references.push({
|
|
80
92
|
file: 'pnpm-lock.yaml',
|
|
@@ -119,7 +131,8 @@ export const inspectLumenConsumer = async (repository, targetVersion) => {
|
|
|
119
131
|
const frameworks = [
|
|
120
132
|
references.some(item => item.packageName === '@santi020k/lumen-astro') && 'astro',
|
|
121
133
|
references.some(item => item.packageName === '@santi020k/lumen-elements') && 'elements',
|
|
122
|
-
references.some(item => item.packageName === '@santi020k/lumen-react') && 'react'
|
|
134
|
+
references.some(item => item.packageName === '@santi020k/lumen-react') && 'react',
|
|
135
|
+
references.some(item => item.packageName === '@santi020k/lumen-react-native') && 'react-native'
|
|
123
136
|
].filter(Boolean);
|
|
124
137
|
const warnings = [];
|
|
125
138
|
const integration = await inspectLumenIntegration(root);
|
|
@@ -192,9 +205,10 @@ const lumenWorkspaceVersionPattern = new RegExp([
|
|
|
192
205
|
export const updateLumenWorkspaceSource = (source, targetVersion) => source.replaceAll(lumenWorkspaceVersionPattern, (_match, before, prefix, _version, after) => `${before}${prefix}${targetVersion}${after}`);
|
|
193
206
|
const getVerificationScripts = (manifest, frameworks) => {
|
|
194
207
|
const scripts = manifest.scripts ?? {};
|
|
208
|
+
const shouldTypecheck = frameworks.some(framework => ['elements', 'react', 'react-native'].includes(framework));
|
|
195
209
|
const preferred = [
|
|
196
210
|
frameworks.includes('astro') && 'check',
|
|
197
|
-
|
|
211
|
+
shouldTypecheck && 'typecheck',
|
|
198
212
|
'build',
|
|
199
213
|
scripts['test:browser'] && 'test:browser',
|
|
200
214
|
scripts['test:e2e'] && 'test:e2e'
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { type ConsumerInventory, type ConsumerReference, type ConsumerRolloutOptions, type ConsumerRolloutReport, formatConsumerRollout, inspectLumenConsumer, type LumenFramework, runConsumerRollout, updateLumenManifestSource, updateLumenWorkspaceSource } from './consumer-rollout.js';
|
|
2
2
|
export { addLumenRegistryItem, getLumenRegistryEntries, getLumenRegistryItem, loadLumenRegistry, type LumenAddOptions, type LumenAddResult, type LumenAddTarget, type LumenMergeConflict, type LumenRegistry, lumenRegistry, type LumenRegistryComponent, type LumenRegistryEntry, type LumenRegistryFile, type LumenRegistryItem, type LumenRegistryLoadOptions } from './registry.js';
|
|
3
|
-
export { alignLumenChartSeries, applyDataViewState, canPlaceScheduleEvent, coerceThemeBuilderExportFormat, coerceThemeBuilderMode, coerceThemeBuilderScheme, composeClassName, createDataViewRequestUrl, createDataViewSearchParams, createDataViewServerRequest, createDataViewState, createDataViewStorageKey, createLumenBarGeometry, createLumenFormFailure, createLumenFormSuccess, createLumenLineGeometry, createLumenPieGeometry, createScheduleSlots, createScheduleStorageKey, createThemeBuilderTokens, createThemePalette, expandRecurringScheduleEvent, exportThemeBuilderCss, exportThemeBuilderValue, exportThemeCss, filterDataRecords, getContrastRatio, getLumenChartCategories, getLumenChartDomain, getLumenChartTicks, getLumenChartValueRatio, getLumenFieldErrors, getScheduleConflicts, getVirtualRange, hasLumenPieData, loadDataViewState, loadScheduleEvents, type LumenBarChartLayout, type LumenBarGeometry, type LumenBarGeometryCategory, type LumenBarGeometryMark, type LumenBarGeometryOptions, lumenChart, type LumenChartDatum, type LumenChartDomain, type LumenChartGeometryPoint, type LumenChartOrientation, type LumenChartSeries, type LumenChartTone, lumenChartTones, type LumenCodeToken, lumenCodeTokenClassNames, type LumenCodeTokenKind, lumenColors, type LumenColorTokenName, lumenColorTokenNames, type LumenComponentName, lumenComponentNames, type LumenContrastScore, lumenDarkTheme, type LumenDataRecord, type LumenDataViewServerRequest, type LumenDataViewState, type LumenFieldError, type LumenFormErrorInput, type LumenFormErrors, type LumenFormFailure, type LumenFormResult, type LumenFormStatus, lumenFormStatuses, type LumenFormSuccess, lumenGlass, type LumenGlassColorTokenName, lumenGlassColorTokenNames, type LumenGlassEffectTokenName, lumenGlassEffectTokenNames, type LumenGlassTokenName, lumenGlassTokenNames, type LumenKeyValueReader, type LumenKeyValueStorage, type LumenKeyValueWriter, lumenLightTheme, type LumenLineGeometry, type LumenLineGeometryOptions, lumenPackages, type LumenPackageTarget, type LumenPieChartVariant, type LumenPieGeometry, type LumenPieGeometryOptions, type LumenPieGeometrySlice, type LumenScheduleConflict, type LumenScheduleEvent, type LumenScheduleKeyValueReader, type LumenScheduleKeyValueStorage, type LumenScheduleKeyValueWriter, type LumenScheduleResizeEdge, type LumenScheduleResizeOptions, type LumenScheduleResource, type LumenScheduleSlot, type LumenSemanticColorTokenName, lumenSemanticColorTokenNames, type LumenSortDirection, lumenThemeAttribute, type LumenThemeBuilderExportFormat, type LumenThemeBuilderMode, type LumenThemeBuilderOptions, type LumenThemeBuilderResult, type LumenThemeBuilderScheme, type LumenThemeContrastSuggestion, type LumenThemeTokens, lumenTokenNames, mergeThemeTokens, moveScheduleEvent, normalizeLumenCode, normalizeLumenFormErrors, normalizeThemeBuilderHex, normalizeThemeBuilderHue, paginateDataRecords, parseDataViewState, parseScheduleEvents, parseThemeCss, pinDataViewColumn, renderLumenCodeHtml, resizeScheduleEvent, resizeScheduleEvents, resolveLumenChartTone, saveDataViewState, saveScheduleEvents, scaleLumenChartValue, scheduleEventsOverlap, scoreThemeContrast, serializeDataViewState, serializeScheduleEvents, sortDataRecords, suggestReadableInk, themeBuilderHexToHsl, toggleDataViewSelection, tokenizeLumenCode, tuneThemeContrast, unpinDataViewColumn } from '@santi020k/lumen-core';
|
|
3
|
+
export { alignLumenChartSeries, applyDataViewState, canPlaceScheduleEvent, coerceThemeBuilderExportFormat, coerceThemeBuilderMode, coerceThemeBuilderScheme, composeClassName, createDataViewRequestUrl, createDataViewSearchParams, createDataViewServerRequest, createDataViewState, createDataViewStorageKey, createLumenBarGeometry, createLumenFormFailure, createLumenFormSuccess, createLumenLineGeometry, createLumenPieGeometry, createScheduleSlots, createScheduleStorageKey, createThemeBuilderTokens, createThemePalette, expandRecurringScheduleEvent, exportThemeBuilderCss, exportThemeBuilderValue, exportThemeCss, filterDataRecords, getContrastRatio, getLumenChartCategories, getLumenChartDomain, getLumenChartTicks, getLumenChartValueRatio, getLumenFieldErrors, getScheduleConflicts, getVirtualRange, hasLumenPieData, loadDataViewState, loadScheduleEvents, type LumenBarChartLayout, type LumenBarGeometry, type LumenBarGeometryCategory, type LumenBarGeometryMark, type LumenBarGeometryOptions, lumenChart, type LumenChartDatum, type LumenChartDomain, type LumenChartGeometryPoint, type LumenChartOrientation, type LumenChartSeries, type LumenChartTone, lumenChartTones, type LumenCodeToken, lumenCodeTokenClassNames, type LumenCodeTokenKind, lumenColors, type LumenColorScheme, type LumenColorTokenName, lumenColorTokenNames, lumenColorTokens, type LumenComponentName, lumenComponentNames, type LumenContrastScore, lumenCssColorTokens, lumenDarkColors, lumenDarkTheme, type LumenDataRecord, type LumenDataViewServerRequest, type LumenDataViewState, lumenDurations, lumenEasings, lumenElevation, type LumenFieldError, lumenFontFamilies, lumenFontSizes, lumenFontWeights, type LumenFormErrorInput, type LumenFormErrors, type LumenFormFailure, type LumenFormResult, type LumenFormStatus, lumenFormStatuses, type LumenFormSuccess, lumenGlass, type LumenGlassColorTokenName, lumenGlassColorTokenNames, type LumenGlassEffectTokenName, lumenGlassEffectTokenNames, type LumenGlassTokenName, lumenGlassTokenNames, type LumenKeyValueReader, type LumenKeyValueStorage, type LumenKeyValueWriter, lumenLightTheme, type LumenLineGeometry, type LumenLineGeometryOptions, lumenPackages, type LumenPackageTarget, type LumenPieChartVariant, type LumenPieGeometry, type LumenPieGeometryOptions, type LumenPieGeometrySlice, lumenRadii, type LumenScheduleConflict, type LumenScheduleEvent, type LumenScheduleKeyValueReader, type LumenScheduleKeyValueStorage, type LumenScheduleKeyValueWriter, type LumenScheduleResizeEdge, type LumenScheduleResizeOptions, type LumenScheduleResource, type LumenScheduleSlot, type LumenSemanticColor, type LumenSemanticColorTokenName, lumenSemanticColorTokenNames, type LumenSortDirection, lumenSpacing, lumenThemeAttribute, type LumenThemeBuilderExportFormat, type LumenThemeBuilderMode, type LumenThemeBuilderOptions, type LumenThemeBuilderResult, type LumenThemeBuilderScheme, type LumenThemeContrastSuggestion, type LumenThemeTokens, lumenTokenNames, mergeThemeTokens, moveScheduleEvent, normalizeLumenCode, normalizeLumenFormErrors, normalizeThemeBuilderHex, normalizeThemeBuilderHue, paginateDataRecords, parseDataViewState, parseScheduleEvents, parseThemeCss, pinDataViewColumn, renderLumenCodeHtml, resizeScheduleEvent, resizeScheduleEvents, resolveLumenChartTone, saveDataViewState, saveScheduleEvents, scaleLumenChartValue, scheduleEventsOverlap, scoreThemeContrast, serializeDataViewState, serializeScheduleEvents, sortDataRecords, suggestReadableInk, themeBuilderHexToHsl, toggleDataViewSelection, tokenizeLumenCode, tuneThemeContrast, unpinDataViewColumn } from '@santi020k/lumen-core';
|
|
4
4
|
export declare const lumen: {
|
|
5
5
|
readonly name: "Lumen";
|
|
6
6
|
readonly packageName: "@santi020k/lumen";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { formatConsumerRollout, inspectLumenConsumer, runConsumerRollout, updateLumenManifestSource, updateLumenWorkspaceSource } from './consumer-rollout.js';
|
|
2
2
|
export { addLumenRegistryItem, getLumenRegistryEntries, getLumenRegistryItem, loadLumenRegistry, lumenRegistry } from './registry.js';
|
|
3
|
-
export { alignLumenChartSeries, applyDataViewState, canPlaceScheduleEvent, coerceThemeBuilderExportFormat, coerceThemeBuilderMode, coerceThemeBuilderScheme, composeClassName, createDataViewRequestUrl, createDataViewSearchParams, createDataViewServerRequest, createDataViewState, createDataViewStorageKey, createLumenBarGeometry, createLumenFormFailure, createLumenFormSuccess, createLumenLineGeometry, createLumenPieGeometry, createScheduleSlots, createScheduleStorageKey, createThemeBuilderTokens, createThemePalette, expandRecurringScheduleEvent, exportThemeBuilderCss, exportThemeBuilderValue, exportThemeCss, filterDataRecords, getContrastRatio, getLumenChartCategories, getLumenChartDomain, getLumenChartTicks, getLumenChartValueRatio, getLumenFieldErrors, getScheduleConflicts, getVirtualRange, hasLumenPieData, loadDataViewState, loadScheduleEvents, lumenChart, lumenChartTones, lumenCodeTokenClassNames, lumenColors, lumenColorTokenNames, lumenComponentNames, lumenDarkTheme, lumenFormStatuses, lumenGlass, lumenGlassColorTokenNames, lumenGlassEffectTokenNames, lumenGlassTokenNames, lumenLightTheme, lumenPackages, lumenSemanticColorTokenNames, lumenThemeAttribute, lumenTokenNames, mergeThemeTokens, moveScheduleEvent, normalizeLumenCode, normalizeLumenFormErrors, normalizeThemeBuilderHex, normalizeThemeBuilderHue, paginateDataRecords, parseDataViewState, parseScheduleEvents, parseThemeCss, pinDataViewColumn, renderLumenCodeHtml, resizeScheduleEvent, resizeScheduleEvents, resolveLumenChartTone, saveDataViewState, saveScheduleEvents, scaleLumenChartValue, scheduleEventsOverlap, scoreThemeContrast, serializeDataViewState, serializeScheduleEvents, sortDataRecords, suggestReadableInk, themeBuilderHexToHsl, toggleDataViewSelection, tokenizeLumenCode, tuneThemeContrast, unpinDataViewColumn } from '@santi020k/lumen-core';
|
|
3
|
+
export { alignLumenChartSeries, applyDataViewState, canPlaceScheduleEvent, coerceThemeBuilderExportFormat, coerceThemeBuilderMode, coerceThemeBuilderScheme, composeClassName, createDataViewRequestUrl, createDataViewSearchParams, createDataViewServerRequest, createDataViewState, createDataViewStorageKey, createLumenBarGeometry, createLumenFormFailure, createLumenFormSuccess, createLumenLineGeometry, createLumenPieGeometry, createScheduleSlots, createScheduleStorageKey, createThemeBuilderTokens, createThemePalette, expandRecurringScheduleEvent, exportThemeBuilderCss, exportThemeBuilderValue, exportThemeCss, filterDataRecords, getContrastRatio, getLumenChartCategories, getLumenChartDomain, getLumenChartTicks, getLumenChartValueRatio, getLumenFieldErrors, getScheduleConflicts, getVirtualRange, hasLumenPieData, loadDataViewState, loadScheduleEvents, lumenChart, lumenChartTones, lumenCodeTokenClassNames, lumenColors, lumenColorTokenNames, lumenColorTokens, lumenComponentNames, lumenCssColorTokens, lumenDarkColors, lumenDarkTheme, lumenDurations, lumenEasings, lumenElevation, lumenFontFamilies, lumenFontSizes, lumenFontWeights, lumenFormStatuses, lumenGlass, lumenGlassColorTokenNames, lumenGlassEffectTokenNames, lumenGlassTokenNames, lumenLightTheme, lumenPackages, lumenRadii, lumenSemanticColorTokenNames, lumenSpacing, lumenThemeAttribute, lumenTokenNames, mergeThemeTokens, moveScheduleEvent, normalizeLumenCode, normalizeLumenFormErrors, normalizeThemeBuilderHex, normalizeThemeBuilderHue, paginateDataRecords, parseDataViewState, parseScheduleEvents, parseThemeCss, pinDataViewColumn, renderLumenCodeHtml, resizeScheduleEvent, resizeScheduleEvents, resolveLumenChartTone, saveDataViewState, saveScheduleEvents, scaleLumenChartValue, scheduleEventsOverlap, scoreThemeContrast, serializeDataViewState, serializeScheduleEvents, sortDataRecords, suggestReadableInk, themeBuilderHexToHsl, toggleDataViewSelection, tokenizeLumenCode, tuneThemeContrast, unpinDataViewColumn } from '@santi020k/lumen-core';
|
|
4
4
|
export const lumen = {
|
|
5
5
|
name: 'Lumen',
|
|
6
6
|
packageName: '@santi020k/lumen',
|
package/dist/registry-data.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export declare const lumenRegistry: {
|
|
|
2
2
|
readonly name: "lumen";
|
|
3
3
|
readonly version: 1;
|
|
4
4
|
readonly description: "Astro-first Lumen UI primitives, recipes, tokens, runtime, and AI docs.";
|
|
5
|
-
readonly packages: readonly ["@santi020k/lumen-astro", "@santi020k/lumen-react", "@santi020k/lumen-elements", "@santi020k/lumen-core"];
|
|
5
|
+
readonly packages: readonly ["@santi020k/lumen-astro", "@santi020k/lumen-react", "@santi020k/lumen-elements", "@santi020k/lumen-core", "@santi020k/lumen-react-native", "@santi020k/lumen-tokens"];
|
|
6
6
|
readonly items: readonly [{
|
|
7
7
|
readonly name: "all-components";
|
|
8
8
|
readonly type: "component-set";
|
|
@@ -15,6 +15,10 @@ export declare const lumenRegistry: {
|
|
|
15
15
|
readonly name: "scheduler";
|
|
16
16
|
readonly type: "recipe";
|
|
17
17
|
readonly components: readonly ["Schedule", "Agenda", "Calendar", "DatePicker"];
|
|
18
|
+
}, {
|
|
19
|
+
readonly name: "context-navigation";
|
|
20
|
+
readonly type: "recipe";
|
|
21
|
+
readonly components: readonly ["ContextNavigation", "NavigationMenu", "NativeSelect", "Link"];
|
|
18
22
|
}, {
|
|
19
23
|
readonly name: "data-collections";
|
|
20
24
|
readonly type: "recipe";
|
|
@@ -314,6 +318,13 @@ export declare const lumenRegistry: {
|
|
|
314
318
|
readonly category: "Navigation";
|
|
315
319
|
readonly files: readonly ["packages/astro/components/Input.astro", "packages/astro/components/Command.astro", "packages/astro/styles/lumen.css", "packages/astro/runtime/UIPrimitives.astro"];
|
|
316
320
|
readonly dependencies: readonly ["Input", "styles", "runtime"];
|
|
321
|
+
}, {
|
|
322
|
+
readonly name: "ContextNavigation";
|
|
323
|
+
readonly type: "component";
|
|
324
|
+
readonly description: "Pairs a stable scope selector or identity with horizontally scrollable contextual links.";
|
|
325
|
+
readonly category: "Navigation";
|
|
326
|
+
readonly files: readonly ["packages/astro/components/ContextNavigation.astro", "packages/astro/styles/lumen.css"];
|
|
327
|
+
readonly dependencies: readonly ["NavigationMenu", "styles"];
|
|
317
328
|
}, {
|
|
318
329
|
readonly name: "ContextMenu";
|
|
319
330
|
readonly type: "component";
|
|
@@ -482,6 +493,20 @@ export declare const lumenRegistry: {
|
|
|
482
493
|
readonly category: "Data display";
|
|
483
494
|
readonly files: readonly ["packages/astro/components/Item.astro", "packages/astro/styles/lumen.css"];
|
|
484
495
|
readonly dependencies: readonly ["styles"];
|
|
496
|
+
}, {
|
|
497
|
+
readonly name: "KanbanBoard";
|
|
498
|
+
readonly type: "component";
|
|
499
|
+
readonly description: "Organizes controlled workflow columns and emits accessible move requests.";
|
|
500
|
+
readonly category: "Layout";
|
|
501
|
+
readonly files: readonly ["packages/astro/components/KanbanBoard.astro", "packages/astro/styles/lumen.css", "packages/astro/runtime/UIPrimitives.astro"];
|
|
502
|
+
readonly dependencies: readonly ["styles", "runtime"];
|
|
503
|
+
}, {
|
|
504
|
+
readonly name: "KanbanColumn";
|
|
505
|
+
readonly type: "component";
|
|
506
|
+
readonly description: "Defines a named destination inside a controlled Kanban board.";
|
|
507
|
+
readonly category: "Layout";
|
|
508
|
+
readonly files: readonly ["packages/astro/components/KanbanColumn.astro", "packages/astro/styles/lumen.css"];
|
|
509
|
+
readonly dependencies: readonly ["styles"];
|
|
485
510
|
}, {
|
|
486
511
|
readonly name: "Kbd";
|
|
487
512
|
readonly type: "component";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-data.d.ts","sourceRoot":"","sources":["../src/registry-data.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"registry-data.d.ts","sourceRoot":"","sources":["../src/registry-data.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqwEQ,CAAA"}
|
package/dist/registry-data.js
CHANGED
|
@@ -6,7 +6,9 @@ export const lumenRegistry = {
|
|
|
6
6
|
'@santi020k/lumen-astro',
|
|
7
7
|
'@santi020k/lumen-react',
|
|
8
8
|
'@santi020k/lumen-elements',
|
|
9
|
-
'@santi020k/lumen-core'
|
|
9
|
+
'@santi020k/lumen-core',
|
|
10
|
+
'@santi020k/lumen-react-native',
|
|
11
|
+
'@santi020k/lumen-tokens'
|
|
10
12
|
],
|
|
11
13
|
items: [
|
|
12
14
|
{
|
|
@@ -42,6 +44,16 @@ export const lumenRegistry = {
|
|
|
42
44
|
'DatePicker'
|
|
43
45
|
]
|
|
44
46
|
},
|
|
47
|
+
{
|
|
48
|
+
name: 'context-navigation',
|
|
49
|
+
type: 'recipe',
|
|
50
|
+
components: [
|
|
51
|
+
'ContextNavigation',
|
|
52
|
+
'NavigationMenu',
|
|
53
|
+
'NativeSelect',
|
|
54
|
+
'Link'
|
|
55
|
+
]
|
|
56
|
+
},
|
|
45
57
|
{
|
|
46
58
|
name: 'data-collections',
|
|
47
59
|
type: 'recipe',
|
|
@@ -713,6 +725,20 @@ export const lumenRegistry = {
|
|
|
713
725
|
'runtime'
|
|
714
726
|
]
|
|
715
727
|
},
|
|
728
|
+
{
|
|
729
|
+
name: 'ContextNavigation',
|
|
730
|
+
type: 'component',
|
|
731
|
+
description: 'Pairs a stable scope selector or identity with horizontally scrollable contextual links.',
|
|
732
|
+
category: 'Navigation',
|
|
733
|
+
files: [
|
|
734
|
+
'packages/astro/components/ContextNavigation.astro',
|
|
735
|
+
'packages/astro/styles/lumen.css'
|
|
736
|
+
],
|
|
737
|
+
dependencies: [
|
|
738
|
+
'NavigationMenu',
|
|
739
|
+
'styles'
|
|
740
|
+
]
|
|
741
|
+
},
|
|
716
742
|
{
|
|
717
743
|
name: 'ContextMenu',
|
|
718
744
|
type: 'component',
|
|
@@ -1057,6 +1083,34 @@ export const lumenRegistry = {
|
|
|
1057
1083
|
'styles'
|
|
1058
1084
|
]
|
|
1059
1085
|
},
|
|
1086
|
+
{
|
|
1087
|
+
name: 'KanbanBoard',
|
|
1088
|
+
type: 'component',
|
|
1089
|
+
description: 'Organizes controlled workflow columns and emits accessible move requests.',
|
|
1090
|
+
category: 'Layout',
|
|
1091
|
+
files: [
|
|
1092
|
+
'packages/astro/components/KanbanBoard.astro',
|
|
1093
|
+
'packages/astro/styles/lumen.css',
|
|
1094
|
+
'packages/astro/runtime/UIPrimitives.astro'
|
|
1095
|
+
],
|
|
1096
|
+
dependencies: [
|
|
1097
|
+
'styles',
|
|
1098
|
+
'runtime'
|
|
1099
|
+
]
|
|
1100
|
+
},
|
|
1101
|
+
{
|
|
1102
|
+
name: 'KanbanColumn',
|
|
1103
|
+
type: 'component',
|
|
1104
|
+
description: 'Defines a named destination inside a controlled Kanban board.',
|
|
1105
|
+
category: 'Layout',
|
|
1106
|
+
files: [
|
|
1107
|
+
'packages/astro/components/KanbanColumn.astro',
|
|
1108
|
+
'packages/astro/styles/lumen.css'
|
|
1109
|
+
],
|
|
1110
|
+
dependencies: [
|
|
1111
|
+
'styles'
|
|
1112
|
+
]
|
|
1113
|
+
},
|
|
1060
1114
|
{
|
|
1061
1115
|
name: 'Kbd',
|
|
1062
1116
|
type: 'component',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@santi020k/lumen",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"semver": "^7.8.0",
|
|
42
|
-
"@santi020k/lumen-core": "^1.
|
|
42
|
+
"@santi020k/lumen-core": "^1.3.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^26.1.1",
|
|
@@ -59,10 +59,18 @@
|
|
|
59
59
|
"url": "https://github.com/santi020k/lumen.git",
|
|
60
60
|
"directory": "packages/lumen"
|
|
61
61
|
},
|
|
62
|
-
"homepage": "https://lumen.santi020k.com",
|
|
62
|
+
"homepage": "https://lumen.santi020k.com/docs",
|
|
63
63
|
"bugs": {
|
|
64
64
|
"url": "https://github.com/santi020k/lumen/issues"
|
|
65
65
|
},
|
|
66
|
+
"keywords": [
|
|
67
|
+
"accessible-ui",
|
|
68
|
+
"component-library",
|
|
69
|
+
"cross-platform",
|
|
70
|
+
"design-system",
|
|
71
|
+
"lumen",
|
|
72
|
+
"ui"
|
|
73
|
+
],
|
|
66
74
|
"author": {
|
|
67
75
|
"name": "Santiago Molina",
|
|
68
76
|
"url": "https://santi020k.com"
|
package/styles.css
CHANGED
|
@@ -22,10 +22,12 @@
|
|
|
22
22
|
--brand: 221 83% 53%;
|
|
23
23
|
--brand-solid: 221 83% 46%;
|
|
24
24
|
--brand-soft: 218 100% 97%;
|
|
25
|
+
--on-brand: 0 0% 100%;
|
|
25
26
|
--accent: 168 76% 36%;
|
|
26
27
|
--success: 142 71% 36%;
|
|
27
28
|
--warning: 38 92% 50%;
|
|
28
29
|
--danger: 0 84% 60%;
|
|
30
|
+
--on-danger: 0 0% 0%;
|
|
29
31
|
--chart-axis: var(--ink-muted);
|
|
30
32
|
--chart-diverging-mid: 220 13% 91%;
|
|
31
33
|
--chart-diverging-negative: 0 84% 60%;
|
|
@@ -42,7 +44,7 @@
|
|
|
42
44
|
--chart-series-6: 190 82% 42%;
|
|
43
45
|
--chart-series-7: 52 92% 45%;
|
|
44
46
|
--chart-series-8: 215 16% 47%;
|
|
45
|
-
--ui-on-danger:
|
|
47
|
+
--ui-on-danger: var(--on-danger);
|
|
46
48
|
--ui-radius: 0.625rem;
|
|
47
49
|
--ui-radius-sm: 0.375rem;
|
|
48
50
|
--ui-radius-lg: 0.75rem;
|
|
@@ -87,10 +89,12 @@
|
|
|
87
89
|
--brand: 199 91% 56%;
|
|
88
90
|
--brand-solid: 199 91% 36%;
|
|
89
91
|
--brand-soft: 199 84% 16%;
|
|
92
|
+
--on-brand: 0 0% 100%;
|
|
90
93
|
--accent: 166 76% 43%;
|
|
91
94
|
--success: 142 69% 45%;
|
|
92
95
|
--warning: 38 92% 55%;
|
|
93
96
|
--danger: 0 84% 65%;
|
|
97
|
+
--on-danger: 224 24% 8%;
|
|
94
98
|
--chart-axis: var(--ink-muted);
|
|
95
99
|
--chart-diverging-mid: 222 14% 22%;
|
|
96
100
|
--chart-diverging-negative: 0 84% 65%;
|
|
@@ -128,6 +132,7 @@
|
|
|
128
132
|
}
|
|
129
133
|
|
|
130
134
|
:root[data-theme$="-dark"] {
|
|
135
|
+
--on-danger: var(--canvas);
|
|
131
136
|
--ui-on-danger: var(--canvas);
|
|
132
137
|
}
|
|
133
138
|
}
|
|
@@ -225,6 +230,7 @@
|
|
|
225
230
|
.ui-combobox,
|
|
226
231
|
.ui-code,
|
|
227
232
|
.ui-command,
|
|
233
|
+
.ui-context-navigation,
|
|
228
234
|
.ui-callout,
|
|
229
235
|
.ui-color-picker,
|
|
230
236
|
.ui-dialog,
|
|
@@ -761,7 +767,7 @@
|
|
|
761
767
|
.ui-button--default {
|
|
762
768
|
background: hsl(var(--brand-solid));
|
|
763
769
|
border-color: hsl(var(--brand-solid));
|
|
764
|
-
color:
|
|
770
|
+
color: hsl(var(--on-brand));
|
|
765
771
|
box-shadow: 0 8px 20px hsl(var(--brand) / 0.22);
|
|
766
772
|
}
|
|
767
773
|
|
|
@@ -773,7 +779,7 @@
|
|
|
773
779
|
.ui-button--primary {
|
|
774
780
|
background: hsl(var(--brand-solid));
|
|
775
781
|
border-color: hsl(var(--brand-solid));
|
|
776
|
-
color:
|
|
782
|
+
color: hsl(var(--on-brand));
|
|
777
783
|
box-shadow: 0 8px 20px hsl(var(--brand) / 0.22);
|
|
778
784
|
}
|
|
779
785
|
|
|
@@ -816,7 +822,7 @@
|
|
|
816
822
|
.ui-button--destructive {
|
|
817
823
|
background: hsl(var(--danger));
|
|
818
824
|
border-color: hsl(var(--danger));
|
|
819
|
-
color: hsl(var(--
|
|
825
|
+
color: hsl(var(--on-danger));
|
|
820
826
|
}
|
|
821
827
|
|
|
822
828
|
.ui-button--destructive:hover {
|
|
@@ -2181,6 +2187,76 @@
|
|
|
2181
2187
|
color: hsl(var(--brand));
|
|
2182
2188
|
}
|
|
2183
2189
|
|
|
2190
|
+
.ui-menu :where(a, button, [role="menuitem"]):is(:disabled, [aria-disabled="true"]) {
|
|
2191
|
+
color: hsl(var(--ink-muted));
|
|
2192
|
+
cursor: not-allowed;
|
|
2193
|
+
opacity: 0.62;
|
|
2194
|
+
pointer-events: none;
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
.ui-menu__item-label {
|
|
2198
|
+
min-width: 0;
|
|
2199
|
+
flex: 1;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
.ui-menu__item-status {
|
|
2203
|
+
color: hsl(var(--ink-muted));
|
|
2204
|
+
font-size: 0.75rem;
|
|
2205
|
+
font-weight: 600;
|
|
2206
|
+
}
|
|
2207
|
+
|
|
2208
|
+
.ui-menu__separator,
|
|
2209
|
+
.ui-menu [role="separator"] {
|
|
2210
|
+
height: 1px;
|
|
2211
|
+
margin: 0.35rem 0.25rem;
|
|
2212
|
+
border: 0;
|
|
2213
|
+
background: hsl(var(--line));
|
|
2214
|
+
}
|
|
2215
|
+
|
|
2216
|
+
.ui-context-navigation {
|
|
2217
|
+
--ui-context-navigation-gap: 1rem;
|
|
2218
|
+
--ui-context-navigation-min-height: 3.25rem;
|
|
2219
|
+
--ui-context-navigation-padding: 0.5rem 1rem;
|
|
2220
|
+
|
|
2221
|
+
display: flex;
|
|
2222
|
+
min-width: 0;
|
|
2223
|
+
min-height: var(--ui-context-navigation-min-height);
|
|
2224
|
+
align-items: center;
|
|
2225
|
+
gap: var(--ui-context-navigation-gap);
|
|
2226
|
+
border-block: 1px solid hsl(var(--line));
|
|
2227
|
+
background: hsl(var(--surface));
|
|
2228
|
+
padding: var(--ui-context-navigation-padding);
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
.ui-context-navigation__context,
|
|
2232
|
+
.ui-context-navigation > [slot="context"] {
|
|
2233
|
+
display: flex;
|
|
2234
|
+
min-width: max-content;
|
|
2235
|
+
flex: 0 0 auto;
|
|
2236
|
+
align-items: center;
|
|
2237
|
+
padding-inline-end: var(--ui-context-navigation-gap);
|
|
2238
|
+
border-inline-end: 1px solid hsl(var(--line));
|
|
2239
|
+
}
|
|
2240
|
+
|
|
2241
|
+
.ui-context-navigation > :where(.ui-navigation-menu, lumen-navigation-menu) {
|
|
2242
|
+
display: flex;
|
|
2243
|
+
min-width: 0;
|
|
2244
|
+
flex: 1 1 auto;
|
|
2245
|
+
overflow-x: auto;
|
|
2246
|
+
overscroll-behavior-inline: contain;
|
|
2247
|
+
scrollbar-width: none;
|
|
2248
|
+
}
|
|
2249
|
+
|
|
2250
|
+
.ui-context-navigation > :where(.ui-navigation-menu, lumen-navigation-menu)::-webkit-scrollbar {
|
|
2251
|
+
display: none;
|
|
2252
|
+
}
|
|
2253
|
+
|
|
2254
|
+
.ui-context-navigation--unstyled {
|
|
2255
|
+
border: 0;
|
|
2256
|
+
background: transparent;
|
|
2257
|
+
padding: 0;
|
|
2258
|
+
}
|
|
2259
|
+
|
|
2184
2260
|
.ui-menubar,
|
|
2185
2261
|
.ui-navigation-menu,
|
|
2186
2262
|
.ui-button-group,
|
|
@@ -2727,10 +2803,79 @@
|
|
|
2727
2803
|
text-align: center;
|
|
2728
2804
|
}
|
|
2729
2805
|
|
|
2806
|
+
.ui-empty--compact {
|
|
2807
|
+
gap: 0.35rem;
|
|
2808
|
+
border-radius: var(--ui-radius);
|
|
2809
|
+
padding: 0.75rem;
|
|
2810
|
+
font-size: 0.8125rem;
|
|
2811
|
+
}
|
|
2812
|
+
|
|
2730
2813
|
.ui-empty > * {
|
|
2731
2814
|
margin: 0;
|
|
2732
2815
|
}
|
|
2733
2816
|
|
|
2817
|
+
.ui-kanban {
|
|
2818
|
+
--ui-kanban-column-width: clamp(18rem, 28vw, 22rem);
|
|
2819
|
+
--ui-kanban-column-min-height: 28rem;
|
|
2820
|
+
--ui-kanban-gap: 0.875rem;
|
|
2821
|
+
display: grid;
|
|
2822
|
+
min-width: 0;
|
|
2823
|
+
grid-auto-columns: var(--ui-kanban-column-width);
|
|
2824
|
+
grid-auto-flow: column;
|
|
2825
|
+
gap: var(--ui-kanban-gap);
|
|
2826
|
+
padding: 0.25rem 0.25rem 1rem;
|
|
2827
|
+
overflow-x: auto;
|
|
2828
|
+
overscroll-behavior-inline: contain;
|
|
2829
|
+
scroll-snap-type: inline proximity;
|
|
2830
|
+
scrollbar-gutter: stable;
|
|
2831
|
+
}
|
|
2832
|
+
|
|
2833
|
+
.ui-kanban:focus-visible {
|
|
2834
|
+
outline: 2px solid hsl(var(--brand));
|
|
2835
|
+
outline-offset: 2px;
|
|
2836
|
+
}
|
|
2837
|
+
|
|
2838
|
+
.ui-kanban__column {
|
|
2839
|
+
min-width: 0;
|
|
2840
|
+
min-height: var(--ui-kanban-column-min-height);
|
|
2841
|
+
padding: 0.875rem;
|
|
2842
|
+
border: 1px solid hsl(var(--line));
|
|
2843
|
+
border-radius: var(--ui-radius-lg);
|
|
2844
|
+
background: hsl(var(--surface-muted));
|
|
2845
|
+
scroll-snap-align: start;
|
|
2846
|
+
transition:
|
|
2847
|
+
border-color var(--ui-duration) var(--ui-ease),
|
|
2848
|
+
background var(--ui-duration) var(--ui-ease);
|
|
2849
|
+
}
|
|
2850
|
+
|
|
2851
|
+
.ui-kanban__column[data-state="drop-target"] {
|
|
2852
|
+
border-color: hsl(var(--brand));
|
|
2853
|
+
background: hsl(var(--brand-soft));
|
|
2854
|
+
}
|
|
2855
|
+
|
|
2856
|
+
[data-ui-kanban-item][data-state="dragging"] {
|
|
2857
|
+
opacity: 0.6;
|
|
2858
|
+
}
|
|
2859
|
+
|
|
2860
|
+
[data-ui-kanban-item][aria-busy="true"] {
|
|
2861
|
+
cursor: progress;
|
|
2862
|
+
}
|
|
2863
|
+
|
|
2864
|
+
[data-ui-kanban-handle] {
|
|
2865
|
+
touch-action: none;
|
|
2866
|
+
cursor: grab;
|
|
2867
|
+
}
|
|
2868
|
+
|
|
2869
|
+
[data-ui-kanban-handle]:active {
|
|
2870
|
+
cursor: grabbing;
|
|
2871
|
+
}
|
|
2872
|
+
|
|
2873
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2874
|
+
.ui-kanban__column {
|
|
2875
|
+
transition: none;
|
|
2876
|
+
}
|
|
2877
|
+
}
|
|
2878
|
+
|
|
2734
2879
|
.ui-item {
|
|
2735
2880
|
display: flex;
|
|
2736
2881
|
min-width: 0;
|