noecosystem-design 0.1.1 → 0.1.3
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/README.md +10 -9
- package/apps/showcase/src/catalog/catalog-index.tsx +5 -5
- package/apps/showcase/src/catalog/catalog-shell.tsx +7 -2
- package/apps/storybook/stories/catalog/calendar.stories.tsx +3 -1
- package/apps/storybook/stories/catalog/date-picker.stories.tsx +5 -1
- package/docs/design-system/README.md +1 -0
- package/docs/design-system/agent-guide.md +21 -21
- package/docs/design-system/gpt-agent-prompt.md +56 -0
- package/docs/design-system/inventory.md +0 -1
- package/llms.txt +9 -6
- package/package.json +2 -2
- package/packages/ai-ui/src/activity-feed.tsx +1 -2
- package/packages/ai-ui/src/agent-composer.tsx +1 -1
- package/packages/ai-ui/src/agent-message.tsx +1 -1
- package/packages/ai-ui/src/agent-plan.tsx +1 -1
- package/packages/ai-ui/src/agent-workspace.tsx +1 -2
- package/packages/ai-ui/src/approval-request.tsx +1 -1
- package/packages/ai-ui/src/run-inspector.tsx +1 -1
- package/packages/ai-ui/src/tool-call.tsx +1 -1
- package/packages/data-ui/src/activity-gauge.tsx +1 -1
- package/packages/data-ui/src/chart-frame.tsx +1 -1
- package/packages/data-ui/src/chart.tsx +1 -2
- package/packages/data-ui/src/dashboard-shell.tsx +1 -2
- package/packages/data-ui/src/data-table.tsx +1 -1
- package/packages/data-ui/src/filter-bar.tsx +1 -2
- package/packages/data-ui/src/metric-card.tsx +1 -1
- package/packages/data-ui/src/pagination.tsx +1 -3
- package/packages/data-ui/src/pie-chart.tsx +1 -1
- package/packages/data-ui/src/radar-chart.tsx +1 -1
- package/packages/design-tokens/src/palette.ts +4 -4
- package/packages/design-tokens/src/tokens.css +0 -6
- package/packages/registry/catalog-index.json +1 -1
- package/packages/registry/component-audit.json +1 -1
- package/packages/registry/docs-index.json +135 -403
- package/packages/registry/manifest.json +1642 -6110
- package/packages/registry/r/activity-feed.json +9 -32
- package/packages/registry/r/agent-composer.json +9 -34
- package/packages/registry/r/agent-message.json +9 -32
- package/packages/registry/r/agent-plan.json +9 -32
- package/packages/registry/r/agent-workspace.json +9 -32
- package/packages/registry/r/alert.json +9 -33
- package/packages/registry/r/app-frame.json +9 -32
- package/packages/registry/r/approval-request.json +9 -34
- package/packages/registry/r/badge.json +9 -33
- package/packages/registry/r/bidi-text.json +7 -25
- package/packages/registry/r/bottom-navigation.json +9 -32
- package/packages/registry/r/button.json +7 -29
- package/packages/registry/r/calendar.json +10 -37
- package/packages/registry/r/card.json +9 -32
- package/packages/registry/r/chart-frame.json +9 -32
- package/packages/registry/r/chart.json +8 -30
- package/packages/registry/r/code-block.json +9 -32
- package/packages/registry/r/context-menu.json +8 -36
- package/packages/registry/r/dashboard-01.json +7 -23
- package/packages/registry/r/dashboard-02.json +6 -20
- package/packages/registry/r/dashboard-shell.json +9 -32
- package/packages/registry/r/data-list.json +9 -32
- package/packages/registry/r/data-table.json +9 -32
- package/packages/registry/r/date-picker.json +10 -37
- package/packages/registry/r/dialog.json +11 -45
- package/packages/registry/r/direction-provider.json +6 -21
- package/packages/registry/r/drawer.json +10 -36
- package/packages/registry/r/dropdown.json +9 -37
- package/packages/registry/r/empty-state.json +9 -32
- package/packages/registry/r/error-state.json +9 -32
- package/packages/registry/r/fab.json +9 -34
- package/packages/registry/r/featured-icon.json +7 -29
- package/packages/registry/r/filter-bar.json +10 -35
- package/packages/registry/r/gradient-picker.json +7 -24
- package/packages/registry/r/header-navigation.json +9 -32
- package/packages/registry/r/hero-header.json +7 -25
- package/packages/registry/r/icon-system.json +8 -28
- package/packages/registry/r/image-picker.json +7 -24
- package/packages/registry/r/inline-cta.json +9 -32
- package/packages/registry/r/input.json +9 -33
- package/packages/registry/r/landing-page.json +6 -21
- package/packages/registry/r/login-page.json +9 -35
- package/packages/registry/r/marketing-header.json +8 -26
- package/packages/registry/r/menu.json +9 -34
- package/packages/registry/r/messaging.json +9 -33
- package/packages/registry/r/metric-card.json +9 -32
- package/packages/registry/r/mobile-screen.json +9 -32
- package/packages/registry/r/not-found.json +7 -25
- package/packages/registry/r/page-header.json +9 -32
- package/packages/registry/r/pagination.json +10 -37
- package/packages/registry/r/progress-steps.json +9 -33
- package/packages/registry/r/run-inspector.json +9 -32
- package/packages/registry/r/section-header.json +9 -32
- package/packages/registry/r/settings-01.json +5 -19
- package/packages/registry/r/settings-02.json +5 -19
- package/packages/registry/r/settings-page.json +9 -32
- package/packages/registry/r/sidebar-navigation.json +9 -32
- package/packages/registry/r/sign-in-form.json +9 -34
- package/packages/registry/r/skeleton.json +9 -32
- package/packages/registry/r/spinner.json +9 -32
- package/packages/registry/r/tabs.json +9 -34
- package/packages/registry/r/textarea.json +9 -33
- package/packages/registry/r/tool-call.json +9 -32
- package/packages/registry/r/tooltip.json +9 -33
- package/packages/registry/r/utility-button.json +9 -37
- package/packages/registry/r/workflow-canvas.json +9 -32
- package/packages/registry/r/workflow-node.json +9 -32
- package/packages/registry/registry.json +232 -937
- package/packages/registry/search-index.json +579 -2194
- package/packages/ui/package.json +4 -1
- package/packages/ui/src/date-picker.browser.test.tsx +1 -1
- package/packages/ui/src/date-picker.tsx +1 -2
- package/packages/ui/src/gradient-picker.tsx +6 -2
- package/packages/ui/src/theme-provider.browser.test.tsx +12 -4
- package/packages/ui/src/theme-provider.tsx +19 -5
- package/packages/workflow-ui/src/workflow-canvas.tsx +1 -1
- package/packages/workflow-ui/src/workflow-node.tsx +1 -1
- package/scripts/enrich-registry-payloads.mjs +9 -3
- package/scripts/fix-registry-closure.mjs +2 -1
- package/scripts/generate-manifest.mjs +5 -1
- package/scripts/validate-manifest.mjs +25 -8
- package/scripts/verify-registry-consumer.mjs +33 -7
- package/tests/e2e/catalog-typography.spec.ts +5 -2
- package/tsconfig.base.json +17 -51
package/README.md
CHANGED
|
@@ -10,9 +10,10 @@ registry metadata, reference apps, documentation, and verification contracts.
|
|
|
10
10
|
# Give a coding agent the NOE source context.
|
|
11
11
|
npm install noecosystem-design
|
|
12
12
|
|
|
13
|
-
# The agent starts with these
|
|
13
|
+
# The agent starts with these files after installation:
|
|
14
14
|
cat node_modules/noecosystem-design/AGENTS.md
|
|
15
15
|
cat node_modules/noecosystem-design/llms.txt
|
|
16
|
+
cat node_modules/noecosystem-design/docs/design-system/gpt-agent-prompt.md
|
|
16
17
|
|
|
17
18
|
# For a writable, verifiable workspace, use a repository checkout.
|
|
18
19
|
git clone https://github.com/NOrchestration/noe-design-system.git
|
|
@@ -26,13 +27,11 @@ Read [`AGENTS.md`](AGENTS.md) before changing code. Use [`llms.txt`](llms.txt) a
|
|
|
26
27
|
retrieval map, then read the affected package and component records. The canonical
|
|
27
28
|
catalog is [`packages/registry/manifest.json`](packages/registry/manifest.json).
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
> verification. Do not treat the package as a runtime import or the external registry
|
|
35
|
-
> URL as deployed.
|
|
30
|
+
For a GPT coding agent, copy
|
|
31
|
+
[`docs/design-system/gpt-agent-prompt.md`](docs/design-system/gpt-agent-prompt.md),
|
|
32
|
+
replace `<TARGET_REPOSITORY>` and `<DESCRIBE THE REQUESTED OUTCOME...>`, and send it
|
|
33
|
+
as one task prompt. The template carries static NOE context once; put only the
|
|
34
|
+
requested outcome, scope, and non-negotiable constraints in its `Task` section.
|
|
36
35
|
|
|
37
36
|
## What `noecosystem-design` is — and is not
|
|
38
37
|
|
|
@@ -87,4 +86,6 @@ packages/registry Canonical component catalog and install metadata
|
|
|
87
86
|
|
|
88
87
|
See [`docs/design-system/README.md`](docs/design-system/README.md) for the focused
|
|
89
88
|
documentation index and [`docs/design-system/agent-guide.md`](docs/design-system/agent-guide.md)
|
|
90
|
-
for the
|
|
89
|
+
for the coding-agent workflow. The ready-to-paste
|
|
90
|
+
[`docs/design-system/gpt-agent-prompt.md`](docs/design-system/gpt-agent-prompt.md)
|
|
91
|
+
is the recommended task wrapper for GPT.
|
|
@@ -261,9 +261,7 @@ export const catalogEntries: readonly CatalogEntry[] = [
|
|
|
261
261
|
preview: ({ t }) => (
|
|
262
262
|
<div style={{ display: 'grid', gap: '0.5rem', fontSize: '0.875rem' }}>
|
|
263
263
|
<AutoDirectionText>{t('catalog.preview.bidi.autoText')}</AutoDirectionText>
|
|
264
|
-
<BidiText>
|
|
265
|
-
PR #482 {t('catalog.preview.bidi.related')}
|
|
266
|
-
</BidiText>
|
|
264
|
+
<BidiText>PR #482 {t('catalog.preview.bidi.related')}</BidiText>
|
|
267
265
|
<TechnicalValue>a1b2c3d4 · mcp://fs/read</TechnicalValue>
|
|
268
266
|
<span dir="ltr" style={{ fontFamily: 'var(--font-sf-pro, var(--noe-font-family-sans))' }}>
|
|
269
267
|
<LocalizedNumber value={128942.5} locale="en" /> ·{' '}
|
|
@@ -491,7 +489,9 @@ export const catalogEntries: readonly CatalogEntry[] = [
|
|
|
491
489
|
package: '@noe/ui',
|
|
492
490
|
registryItem: null,
|
|
493
491
|
preview: () => (
|
|
494
|
-
<div
|
|
492
|
+
<div
|
|
493
|
+
style={{ display: 'flex', flexDirection: 'column', gap: '0.75rem', alignItems: 'center' }}
|
|
494
|
+
>
|
|
495
495
|
<Card style={{ maxWidth: '20rem', width: '100%' }}>
|
|
496
496
|
<CardHeader>
|
|
497
497
|
<CardTitle>Syncing</CardTitle>
|
|
@@ -1646,7 +1646,7 @@ export const catalogEntries: readonly CatalogEntry[] = [
|
|
|
1646
1646
|
description: 'Marketing header navigation with brand, links and actions.',
|
|
1647
1647
|
package: '@noe/ui',
|
|
1648
1648
|
registryItem: 'marketing-header',
|
|
1649
|
-
|
|
1649
|
+
preview: () => (
|
|
1650
1650
|
<MarketingHeader
|
|
1651
1651
|
brand={<span>NOE</span>}
|
|
1652
1652
|
links={
|
|
@@ -96,7 +96,9 @@ export function CatalogShell({ initialEntries = catalogEntries }: CatalogShellPr
|
|
|
96
96
|
try {
|
|
97
97
|
return (
|
|
98
98
|
typeof document !== 'undefined' &&
|
|
99
|
-
(document as unknown as { fonts?: { check: (s: string) => boolean } }).fonts?.check(
|
|
99
|
+
(document as unknown as { fonts?: { check: (s: string) => boolean } }).fonts?.check(
|
|
100
|
+
fontSpec,
|
|
101
|
+
) === true
|
|
100
102
|
);
|
|
101
103
|
} catch {
|
|
102
104
|
return false;
|
|
@@ -109,7 +111,10 @@ export function CatalogShell({ initialEntries = catalogEntries }: CatalogShellPr
|
|
|
109
111
|
markReady();
|
|
110
112
|
return;
|
|
111
113
|
}
|
|
112
|
-
const hasLoad =
|
|
114
|
+
const hasLoad =
|
|
115
|
+
typeof document !== 'undefined' &&
|
|
116
|
+
typeof (document as unknown as { fonts?: { load: (s: string) => Promise<unknown> } }).fonts
|
|
117
|
+
?.load === 'function';
|
|
113
118
|
if (hasLoad) {
|
|
114
119
|
let timedOut = false;
|
|
115
120
|
const timeoutId = setTimeout(() => {
|
|
@@ -22,7 +22,9 @@ export const Jalali: Story = {
|
|
|
22
22
|
};
|
|
23
23
|
export const JalaliLeapDay: Story = {
|
|
24
24
|
args: { calendar: 'persian', locale: 'fa-IR', value: new Date('2025-03-20T00:00:00Z') },
|
|
25
|
-
render: () =>
|
|
25
|
+
render: () => (
|
|
26
|
+
<Calendar calendar="persian" locale="fa-IR" value={new Date('2025-03-20T00:00:00Z')} />
|
|
27
|
+
),
|
|
26
28
|
};
|
|
27
29
|
export const WithMinMax: Story = {
|
|
28
30
|
args: {
|
|
@@ -17,7 +17,11 @@ export const RTL: Story = {
|
|
|
17
17
|
),
|
|
18
18
|
};
|
|
19
19
|
export const WithMinMax: Story = {
|
|
20
|
-
args: {
|
|
20
|
+
args: {
|
|
21
|
+
min: new Date('2025-03-10T00:00:00Z'),
|
|
22
|
+
max: new Date('2025-03-20T00:00:00Z'),
|
|
23
|
+
value: new Date('2025-03-15T00:00:00Z'),
|
|
24
|
+
},
|
|
21
25
|
};
|
|
22
26
|
export const Jalali: Story = {
|
|
23
27
|
args: { calendar: 'persian', locale: 'fa-IR', value: new Date('2025-03-20T00:00:00Z') },
|
|
@@ -11,6 +11,7 @@ The documentation describes the implementation in this repository and marks exte
|
|
|
11
11
|
- `i18n.md`, `rtl.md`: locale, direction and bidi architecture.
|
|
12
12
|
- `accessibility.md`: WCAG-oriented requirements.
|
|
13
13
|
- `testing.md`, `visual-qa.md`: test and evidence strategy.
|
|
14
|
+
- `gpt-agent-prompt.md`: ready-to-paste GPT task wrapper with outcome, autonomy, output, and stop rules.
|
|
14
15
|
- `registry.md`, `mcp.md`, `agent-guide.md`: coding-agent discovery and package/registry boundaries.
|
|
15
16
|
- `ci-cd.md`, `security.md`: automation and governance.
|
|
16
17
|
- `contributing.md`: change workflow.
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Coding-agent guide
|
|
2
2
|
|
|
3
|
+
## Start a GPT task
|
|
4
|
+
|
|
5
|
+
Copy [`gpt-agent-prompt.md`](gpt-agent-prompt.md), replace its target repository and
|
|
6
|
+
`Task` placeholder, and send it as one prompt. Put the requested outcome, scope, and
|
|
7
|
+
non-negotiable constraints in `Task`; do not re-paste this guide or `AGENTS.md`.
|
|
8
|
+
The prompt already defines the agent's success criteria, autonomy boundary, response
|
|
9
|
+
format, and stop rules.
|
|
10
|
+
|
|
3
11
|
## Scope and distribution
|
|
4
12
|
|
|
5
13
|
`noecosystem-design` is an npm-distributed source snapshot for discovery, review, and
|
|
@@ -18,27 +26,19 @@ The first-party `@noe` registry has local generation and consumer-test evidence.
|
|
|
18
26
|
documented external endpoint must be treated as unavailable until deployment and
|
|
19
27
|
official-MCP installation evidence exist; see `registry.md` and ADR 0007.
|
|
20
28
|
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
primitive for Button, Dialog, DataTable, ToolCall, or Approval.
|
|
35
|
-
2. Use semantic tokens, logical CSS properties, and the canonical i18n layer. Keep
|
|
36
|
-
unpredictable prose `dir=auto`; isolate URLs, IDs, code, paths, and commands LTR.
|
|
37
|
-
3. Preserve semantic DOM order. Pass direction explicitly to portals; do not use
|
|
38
|
-
global `row-reverse` or global icon mirroring as an RTL fix.
|
|
39
|
-
4. Keep ordinary tool output progressively disclosed and do not expose raw tool JSON
|
|
40
|
-
by default.
|
|
41
|
-
5. Update source, stories, component tests, registry metadata, and docs together.
|
|
29
|
+
## Retrieval and implementation
|
|
30
|
+
|
|
31
|
+
Read `README.md`, `AGENTS.md`, and the focused documentation selected by `llms.txt`.
|
|
32
|
+
Search `packages/registry/manifest.json` by capability, alias, and component name.
|
|
33
|
+
For a candidate, read its `useWhen`, `doNotUseWhen`, `alternatives`, dependency,
|
|
34
|
+
accessibility, and internationalization contracts before inspecting its source and
|
|
35
|
+
Storybook story. If nothing fits, use the component lookup order in `AGENTS.md` and
|
|
36
|
+
record the reason reuse was unsuitable.
|
|
37
|
+
|
|
38
|
+
`AGENTS.md` defines the implementation constraints: reuse canonical components;
|
|
39
|
+
preserve semantic tokens, i18n, RTL/bidi, portal direction, and progressive disclosure;
|
|
40
|
+
and update the relevant source, stories, tests, registry metadata, and documentation
|
|
41
|
+
together. Do not duplicate those instructions in a task prompt.
|
|
42
42
|
|
|
43
43
|
## Evidence before completion
|
|
44
44
|
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# GPT implementation prompt
|
|
2
|
+
|
|
3
|
+
Use this after `npm install noecosystem-design`. Replace the values in angle
|
|
4
|
+
brackets, then send the complete prompt to the coding agent. Keep the static
|
|
5
|
+
context below intact; put task-specific details only in `Task`.
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
Role
|
|
9
|
+
You are the NOE design-system implementation agent working in <TARGET_REPOSITORY>.
|
|
10
|
+
Use the installed noecosystem-design package as a read-only source of design-system
|
|
11
|
+
context.
|
|
12
|
+
|
|
13
|
+
Task
|
|
14
|
+
<DESCRIBE THE REQUESTED OUTCOME, SCOPE, AND ANY NON-NEGOTIABLE CONSTRAINTS>
|
|
15
|
+
|
|
16
|
+
Success criteria
|
|
17
|
+
- The requested outcome works in the target repository.
|
|
18
|
+
- Reuse the relevant NOE capability or established product pattern before creating
|
|
19
|
+
new UI.
|
|
20
|
+
- Preserve every applicable NOE contract, including tokens, i18n, RTL/bidi,
|
|
21
|
+
accessibility, stories, tests, registry metadata, and documentation.
|
|
22
|
+
- Run checks that are proportionate to the change and report only results actually
|
|
23
|
+
observed.
|
|
24
|
+
|
|
25
|
+
Context
|
|
26
|
+
1. Read node_modules/noecosystem-design/AGENTS.md and llms.txt first.
|
|
27
|
+
2. Search node_modules/noecosystem-design/packages/registry/manifest.json for the
|
|
28
|
+
requested capability. Read the matching record and focused documentation before
|
|
29
|
+
implementation files.
|
|
30
|
+
3. AGENTS.md is the authoritative static constraint set. Follow it without restating
|
|
31
|
+
it in the response.
|
|
32
|
+
|
|
33
|
+
Constraints
|
|
34
|
+
- noecosystem-design is a source snapshot, not a runtime dependency. Do not import
|
|
35
|
+
from it; use a writable repository checkout for implementation work.
|
|
36
|
+
- Do not present the public @noe registry as deployed or installable without direct
|
|
37
|
+
deployment evidence.
|
|
38
|
+
- Do safe local investigation, edits, and validation autonomously. Ask before an
|
|
39
|
+
external write, destructive action, purchase, credential change, or material scope
|
|
40
|
+
expansion.
|
|
41
|
+
|
|
42
|
+
Response
|
|
43
|
+
Lead with the outcome. Then give:
|
|
44
|
+
- Changed: only the material files or behavior changed.
|
|
45
|
+
- Evidence: commands run and their observed results.
|
|
46
|
+
- Blockers or risks: only if they materially affect completion.
|
|
47
|
+
|
|
48
|
+
Stop rules
|
|
49
|
+
Ask one focused question only when a material decision cannot be safely inferred.
|
|
50
|
+
Otherwise, finish when the success criteria are met. If evidence is unavailable,
|
|
51
|
+
state the exact gap instead of implying completion.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The prompt intentionally states the goal, constraints, autonomy boundary, expected
|
|
55
|
+
output, and stop conditions once. Do not append a second copy of `AGENTS.md`; direct
|
|
56
|
+
the agent to the installed file instead.
|
|
@@ -386,4 +386,3 @@ Total catalog entries: **129** · registry items: **67**
|
|
|
386
386
|
- `fab`: Mobile-only floating action button anchored to the logical end edge above the bottom navigation, with safe-area padding and required accessible label.
|
|
387
387
|
- `mobile-screen`: Single-column mobile page scaffold composing an app bar, scrollable content region, optional floating action button and bottom navigation.
|
|
388
388
|
- `bottom-navigation`: Mobile-only bottom tab bar with current-page state, badges, icon slots and safe-area padding; hidden from the medium breakpoint upward.
|
|
389
|
-
|
package/llms.txt
CHANGED
|
@@ -15,18 +15,21 @@
|
|
|
15
15
|
|
|
16
16
|
## Retrieval order
|
|
17
17
|
|
|
18
|
-
1. `
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
1. `docs/design-system/gpt-agent-prompt.md` — ready-to-paste task wrapper for GPT;
|
|
19
|
+
replace only its target repository and task fields.
|
|
20
|
+
2. `README.md` — package scope, start path, commands, and distribution boundaries.
|
|
21
|
+
3. `AGENTS.md` — mandatory design-system constraints and definition of done.
|
|
22
|
+
4. `packages/registry/manifest.json` — capability search, ownership, use/do-not-use
|
|
21
23
|
rules, accessibility, i18n, dependencies, and story references.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
5. `packages/registry/r/<item>.json` — installable-item metadata and source closure.
|
|
25
|
+
6. The owning package source under `packages/` and its Storybook story under
|
|
24
26
|
`apps/storybook/stories/`.
|
|
25
27
|
|
|
26
28
|
## Focused documentation
|
|
27
29
|
|
|
28
30
|
- Architecture and package boundaries: `docs/design-system/architecture.md`
|
|
29
|
-
-
|
|
31
|
+
- GPT task wrapper: `docs/design-system/gpt-agent-prompt.md`
|
|
32
|
+
- Agent workflow and retrieval: `docs/design-system/agent-guide.md`
|
|
30
33
|
- Components and catalog terms: `docs/design-system/components.md`
|
|
31
34
|
- Tokens and foundations: `docs/design-system/foundations.md`, `docs/design-system/tokens.md`
|
|
32
35
|
- Locale, RTL, and bidi: `docs/design-system/i18n.md`, `docs/design-system/rtl.md`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "noecosystem-design",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Agent-readable NOE design-system source, registry metadata, and verification contracts.",
|
|
6
6
|
"keywords": [
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"format": "biome format --write .",
|
|
95
95
|
"format:check": "biome format .",
|
|
96
96
|
"gen:inventory": "node scripts/generate-inventory.mjs",
|
|
97
|
-
"gen:manifest": "node scripts/generate-manifest.mjs",
|
|
97
|
+
"gen:manifest": "node scripts/generate-manifest.mjs && biome format --write packages/registry/manifest.json packages/registry/component-audit.json packages/registry/search-index.json packages/registry/registry.json packages/registry/catalog-index.json packages/registry/docs-index.json",
|
|
98
98
|
"validate:manifest": "node scripts/validate-manifest.mjs",
|
|
99
99
|
"lint": "biome lint .",
|
|
100
100
|
"typecheck": "tsc -p tsconfig.json --pretty false",
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
import type * as React from 'react';
|
|
3
2
|
import { cn } from '@noe/ui/lib/cn';
|
|
4
3
|
|
|
@@ -25,4 +24,4 @@ export function FilterBar({ label, search, filters, action, className, ...props
|
|
|
25
24
|
{action ? <div className="ms-auto flex items-center gap-2">{action}</div> : null}
|
|
26
25
|
</search>
|
|
27
26
|
);
|
|
28
|
-
}
|
|
27
|
+
}
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
* from this registry to avoid hard-coded duplication.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
export const PALETTES = [
|
|
8
|
+
export const PALETTES = ['graphite'] as const;
|
|
9
9
|
|
|
10
10
|
export type Palette = (typeof PALETTES)[number];
|
|
11
11
|
|
|
12
|
-
export const DEFAULT_PALETTE: Palette =
|
|
12
|
+
export const DEFAULT_PALETTE: Palette = 'graphite';
|
|
13
13
|
|
|
14
|
-
export const PALETTE_STORAGE_KEY =
|
|
15
|
-
export const PALETTE_COOKIE_KEY =
|
|
14
|
+
export const PALETTE_STORAGE_KEY = 'noecosystem-palette';
|
|
15
|
+
export const PALETTE_COOKIE_KEY = 'noecosystem-palette';
|
|
16
16
|
|
|
17
17
|
export function isPalette(value: unknown): value is Palette {
|
|
18
18
|
return (PALETTES as readonly string[]).includes(value as string);
|
|
@@ -225,12 +225,6 @@
|
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
-
/* Palette: Graphite is the only approved palette. Extendable via [data-noe-palette="..."] overrides. */
|
|
229
|
-
:root,
|
|
230
|
-
[data-noe-palette="graphite"] {
|
|
231
|
-
/* No overrides — graphite uses the default semantic tokens above. */
|
|
232
|
-
}
|
|
233
|
-
|
|
234
228
|
/* Component tokens: stable customization seams. */
|
|
235
229
|
:root {
|
|
236
230
|
--noe-component-button-height: var(--noe-control-height-md);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://noecosystem.com/schema/component-audit.json",
|
|
3
|
-
"generatedNote": "Canonical NOE public-component inventory. status=available requires a public export, a Storybook story at storyId, and (where distributable) a registry entry. Do not mark an item available without all three. (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json)",
|
|
3
|
+
"generatedNote": "Canonical NOE public-component inventory. status=available requires a public export, a Storybook story at storyId, and (where distributable) a registry entry. Do not mark an item available without all three. (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json) (derived from manifest.json)",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
6
|
"id": "bidi-text",
|