@neuravision/construct 2.0.2 → 2.1.1
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/CHANGELOG.md +272 -0
- package/README.md +148 -152
- package/behaviors/combobox.js +447 -0
- package/behaviors/drawer.js +18 -0
- package/behaviors/dropdown.js +296 -0
- package/behaviors/index.d.ts +333 -0
- package/behaviors/index.js +9 -0
- package/behaviors/internal/dialog-controller.js +351 -0
- package/behaviors/internal/dom.js +377 -0
- package/behaviors/internal/overlay.js +241 -0
- package/behaviors/internal/popup-layer.js +188 -0
- package/behaviors/modal.js +17 -0
- package/behaviors/popover.js +269 -0
- package/behaviors/select-menu.js +326 -0
- package/behaviors/tabs.js +230 -0
- package/behaviors/toggle-group.js +234 -0
- package/behaviors/tooltip.js +233 -0
- package/components/README.md +279 -83
- package/components/_shared.css +11 -10
- package/components/_shell-shared.css +20 -4
- package/components/app-shell-v2.css +21 -14
- package/components/app-shell.css +23 -14
- package/components/badge.css +15 -0
- package/components/button.css +103 -15
- package/components/card.css +53 -8
- package/components/checkbox.css +3 -2
- package/components/chip.css +1 -1
- package/components/datepicker.css +3 -1
- package/components/datum.css +204 -0
- package/components/index.css +5 -0
- package/components/meter.css +182 -0
- package/components/navbar.css +88 -3
- package/components/slider.css +2 -1
- package/components/status.css +107 -0
- package/components/switch.css +4 -3
- package/components/tooltip.css +4 -0
- package/docs/architecture.md +79 -0
- package/docs/behaviors.md +101 -0
- package/docs/fonts.md +70 -0
- package/docs/governance.md +85 -0
- package/docs/guidelines.md +42 -23
- package/examples/react/README.md +20 -0
- package/examples/react/SettingsModal.jsx +66 -0
- package/examples/react/construct.css +5 -0
- package/fonts.css +10 -0
- package/foundations.css +8 -1
- package/package.json +72 -21
- package/schemas/components.schema.json +107 -0
- package/schemas/examples/theme.example.json +27 -0
- package/schemas/primitives.schema.json +135 -0
- package/schemas/semantic.schema.json +223 -0
- package/schemas/theme.schema.json +63 -0
- package/scripts/build-tokens.mjs +1417 -0
- package/scripts/construct-theme.mjs +43 -0
- package/scripts/validate-tokens.mjs +25 -0
- package/standalone/accordion.css +3 -0
- package/standalone/alert.css +3 -0
- package/standalone/app-shell-v2.css +4 -0
- package/standalone/app-shell.css +4 -0
- package/standalone/avatar.css +3 -0
- package/standalone/badge.css +3 -0
- package/standalone/banner.css +3 -0
- package/standalone/breadcrumbs.css +3 -0
- package/standalone/button.css +3 -0
- package/standalone/card.css +3 -0
- package/standalone/chart.css +3 -0
- package/standalone/checkbox.css +3 -0
- package/standalone/chip.css +3 -0
- package/standalone/combobox.css +3 -0
- package/standalone/core.css +4 -0
- package/standalone/data-table.css +3 -0
- package/standalone/datepicker.css +3 -0
- package/standalone/datum.css +3 -0
- package/standalone/divider.css +3 -0
- package/standalone/drawer.css +3 -0
- package/standalone/dropdown.css +3 -0
- package/standalone/empty-state.css +3 -0
- package/standalone/field.css +3 -0
- package/standalone/file-upload.css +3 -0
- package/standalone/icon.css +3 -0
- package/standalone/input.css +3 -0
- package/standalone/list.css +3 -0
- package/standalone/meter.css +3 -0
- package/standalone/modal.css +3 -0
- package/standalone/navbar.css +3 -0
- package/standalone/pagination.css +3 -0
- package/standalone/popover.css +3 -0
- package/standalone/progress-bar.css +3 -0
- package/standalone/select-menu.css +3 -0
- package/standalone/select.css +3 -0
- package/standalone/sidebar.css +3 -0
- package/standalone/skeleton.css +3 -0
- package/standalone/skip-link.css +3 -0
- package/standalone/slider.css +3 -0
- package/standalone/spinner.css +3 -0
- package/standalone/status.css +3 -0
- package/standalone/switch.css +3 -0
- package/standalone/table.css +3 -0
- package/standalone/tabs.css +3 -0
- package/standalone/textarea.css +3 -0
- package/standalone/toast.css +3 -0
- package/standalone/toggle-group.css +3 -0
- package/standalone/toolbar.css +3 -0
- package/standalone/tooltip.css +3 -0
- package/standalone/tree.css +3 -0
- package/tokens/README.md +130 -126
- package/tokens/components.json +54 -0
- package/tokens/primitives.json +268 -0
- package/tokens/semantic.dark.json +93 -0
- package/tokens/semantic.high-contrast.json +93 -0
- package/tokens/semantic.light.json +178 -0
- package/tokens/tokens.css +532 -28
- package/tokens/tokens.js +335 -25
- package/tokens/tokens.json +764 -21
- package/tokens/tokens.ts +335 -25
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import process from 'node:process';
|
|
5
|
+
|
|
6
|
+
import { buildTokens, parseArgs } from './build-tokens.mjs';
|
|
7
|
+
|
|
8
|
+
const help = [
|
|
9
|
+
'Usage: construct-theme --theme <file> [options]',
|
|
10
|
+
'',
|
|
11
|
+
'Builds Construct token outputs with one or more validated product themes.',
|
|
12
|
+
'',
|
|
13
|
+
'Options:',
|
|
14
|
+
' --theme <file> custom theme input; repeat to include more themes',
|
|
15
|
+
' --out-dir <directory> output directory (default: ./construct-theme)',
|
|
16
|
+
' --check fail when the output directory is not up to date',
|
|
17
|
+
' --validate-only validate without writing output',
|
|
18
|
+
' --report-contrast print every measured contrast ratio',
|
|
19
|
+
' -h, --help show this help',
|
|
20
|
+
].join('\n');
|
|
21
|
+
|
|
22
|
+
const hasOption = (args, name) =>
|
|
23
|
+
args.includes(name) || args.some((argument) => argument.startsWith(`${name}=`));
|
|
24
|
+
|
|
25
|
+
try {
|
|
26
|
+
const args = process.argv.slice(2);
|
|
27
|
+
const options = parseArgs(args);
|
|
28
|
+
|
|
29
|
+
if (options.help) {
|
|
30
|
+
console.log(help);
|
|
31
|
+
} else {
|
|
32
|
+
if (!options.themes.length) {
|
|
33
|
+
throw new Error('construct-theme requires at least one --theme <file> input.');
|
|
34
|
+
}
|
|
35
|
+
if (!hasOption(args, '--out-dir')) {
|
|
36
|
+
options.outDir = path.resolve(process.cwd(), 'construct-theme');
|
|
37
|
+
}
|
|
38
|
+
buildTokens(options);
|
|
39
|
+
}
|
|
40
|
+
} catch (error) {
|
|
41
|
+
console.error(error.message);
|
|
42
|
+
process.exitCode = 1;
|
|
43
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import process from 'node:process';
|
|
2
|
+
import { buildTokens, parseArgs } from './build-tokens.mjs';
|
|
3
|
+
|
|
4
|
+
try {
|
|
5
|
+
const forwardedArgs = process.argv.slice(2);
|
|
6
|
+
if (forwardedArgs.includes('--check')) {
|
|
7
|
+
throw new Error('validate-tokens.mjs does not accept --check; use build-tokens.mjs --check.');
|
|
8
|
+
}
|
|
9
|
+
const options = parseArgs(['--validate-only', ...forwardedArgs]);
|
|
10
|
+
if (options.help) {
|
|
11
|
+
console.log(
|
|
12
|
+
[
|
|
13
|
+
'Usage: node scripts/validate-tokens.mjs [--theme <file>] [--report-contrast]',
|
|
14
|
+
'',
|
|
15
|
+
'Validates token schemas, layer references, theme completeness, unknown',
|
|
16
|
+
'overrides, and WCAG contrast pairs without writing generated files.',
|
|
17
|
+
].join('\n')
|
|
18
|
+
);
|
|
19
|
+
} else {
|
|
20
|
+
buildTokens(options);
|
|
21
|
+
}
|
|
22
|
+
} catch (error) {
|
|
23
|
+
console.error(error.message);
|
|
24
|
+
process.exitCode = 1;
|
|
25
|
+
}
|