noecosystem-design 0.1.2 → 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/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/inventory.md +0 -1
- 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
|
@@ -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') },
|
|
@@ -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/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",
|