@godxjp/ui 31.4.0 → 31.6.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/agent/START-HERE.md +6 -6
- package/agent/components/BranchScopePicker.json +5 -0
- package/agent/components/Cascader.json +1 -1
- package/agent/components/CodeBlock.json +7 -1
- package/agent/components/DataTable.json +2 -2
- package/agent/components/InfiniteQueryState.json +6 -1
- package/agent/components/OrgChart.json +59 -0
- package/agent/components/RangeTimeline.json +6 -0
- package/agent/components/RecordPicker.json +10 -0
- package/agent/components/Transfer.json +5 -0
- package/agent/components/Tree.json +21 -4
- package/agent/components/TreeSelect.json +1 -1
- package/agent/components-index.json +5 -0
- package/agent/components.json +123 -10
- package/agent/index.json +7 -7
- package/agent/llms.txt +7 -7
- package/agent/tokens.json +114 -0
- package/dist/components/data-display/code-block.js +90 -4
- package/dist/components/data-display/data-table.d.ts +3 -0
- package/dist/components/data-display/data-table.js +415 -370
- package/dist/components/data-display/index.d.ts +2 -0
- package/dist/components/data-display/index.js +2 -0
- package/dist/components/data-display/org-chart.d.ts +5 -0
- package/dist/components/data-display/org-chart.js +169 -0
- package/dist/components/data-display/range-timeline.d.ts +20 -0
- package/dist/components/data-display/range-timeline.js +217 -197
- package/dist/components/data-display/tree.js +179 -23
- package/dist/components/data-entry/branch-scope-picker.d.ts +1 -0
- package/dist/components/data-entry/branch-scope-picker.js +2 -1
- package/dist/components/data-entry/cascader.js +4 -5
- package/dist/components/data-entry/record-picker.d.ts +2 -0
- package/dist/components/data-entry/record-picker.js +22 -3
- package/dist/components/data-entry/transfer.d.ts +1 -1
- package/dist/components/data-entry/transfer.js +5 -2
- package/dist/components/data-entry/tree-select.js +14 -5
- package/dist/components/general/typography.d.ts +32 -0
- package/dist/components/general/typography.js +11 -2
- package/dist/components/query/infinite-query-state.d.ts +1 -1
- package/dist/components/query/infinite-query-state.js +2 -1
- package/dist/contracts/measurement.json +1 -1
- package/dist/i18n/messages/en.json +26 -2
- package/dist/i18n/messages/ja.json +17 -2
- package/dist/i18n/messages/vi.json +17 -2
- package/dist/lib/hooks.d.ts +8 -4
- package/dist/lib/hooks.js +5 -2
- package/dist/lib/tree.d.ts +23 -0
- package/dist/lib/tree.js +29 -0
- package/dist/props/components/data-display.prop.d.ts +72 -3
- package/dist/props/components/data-entry.prop.d.ts +31 -4
- package/dist/props/components/query.prop.d.ts +8 -1
- package/dist/props/registry.d.ts +63 -6
- package/dist/props/registry.js +90 -4
- package/dist/props/vocabulary/data.prop.d.ts +32 -2
- package/dist/props/vocabulary/index.d.ts +1 -1
- package/dist/styles/data-display-layout.css +225 -0
- package/dist/styles/layers.json +14 -1
- package/dist/styles/table-layout.css +16 -1
- package/dist/tokens/base.css +1 -0
- package/dist/tokens/components/org-chart.css +27 -0
- package/dist/tokens/components/tree.css +2 -0
- package/docs/FRAME-COVERAGE-REPORT.md +3 -2
- package/docs/data-display/code-block.tsx +27 -0
- package/docs/data-display/data-table/examples/server-paged.tsx +23 -0
- package/docs/data-display/data-table/index.md +2 -0
- package/docs/data-display/org-chart.tsx +165 -0
- package/docs/data-display/timeline.tsx +33 -0
- package/docs/data-display/tree.tsx +154 -0
- package/docs/data-entry/branch-scope-picker.tsx +6 -1
- package/docs/data-entry/record-picker.tsx +1 -0
- package/docs/data-entry/transfer.tsx +1 -0
- package/docs/i18n/messages/en.json +19 -0
- package/docs/i18n/messages/ja.json +18 -0
- package/docs/i18n/messages/vi.json +18 -0
- package/docs/navigation/tabs.tsx +17 -15
- package/docs/query/data-state.tsx +2 -4
- package/docs/query/infinite-query-state.tsx +5 -1
- package/docs/roadmap/tree-components.md +2 -1
- package/docs/showcase/table-view-tabs.tsx +1 -1
- package/package.json +2 -2
- package/scripts/ui-audit.mjs +15 -5
package/scripts/ui-audit.mjs
CHANGED
|
@@ -1916,6 +1916,16 @@ for (const dir of SCAN_DIRS) {
|
|
|
1916
1916
|
*/
|
|
1917
1917
|
const stack = [];
|
|
1918
1918
|
const bareByParent = new Map();
|
|
1919
|
+
/*
|
|
1920
|
+
* Every exported tag that renders @godxjp/ui's <Form> around its children (gh#1039). A field
|
|
1921
|
+
* under any of them has the Form layout context, so it must count like a literal <Form>.
|
|
1922
|
+
* `FormRoot` (@godxjp/ui/form, src/form/form-root.tsx) wraps its <form> in <Form asChild>
|
|
1923
|
+
* whenever a layout prop is set, and is the form shell with one stacked layout otherwise.
|
|
1924
|
+
* Pagination also renders <Form>, but around its own controls, not a consumer's fields. Add a
|
|
1925
|
+
* tag here when another exported wrapper starts rendering <Form> around children.
|
|
1926
|
+
*/
|
|
1927
|
+
const FORM_TAGS = new Set(["Form", "FormRoot"]);
|
|
1928
|
+
const formOpenTag = new RegExp(`<(${[...FORM_TAGS].join("|")})(?=[\\s>])([^>]*)>`, "g");
|
|
1919
1929
|
let formDepth = 0;
|
|
1920
1930
|
for (const m of scanContent.matchAll(
|
|
1921
1931
|
/(?<![\w.$])<(\/?)([A-Za-z][\w.]*)(?=[\s>/])([^<>]*?(?:\{[^{}]*\}[^<>]*?)*)(\/?)>/g,
|
|
@@ -1928,7 +1938,7 @@ for (const dir of SCAN_DIRS) {
|
|
|
1928
1938
|
break;
|
|
1929
1939
|
}
|
|
1930
1940
|
}
|
|
1931
|
-
if (tag
|
|
1941
|
+
if (FORM_TAGS.has(tag)) formDepth = Math.max(0, formDepth - 1);
|
|
1932
1942
|
continue;
|
|
1933
1943
|
}
|
|
1934
1944
|
if (tag === "FormField" && formDepth === 0) {
|
|
@@ -1937,7 +1947,7 @@ for (const dir of SCAN_DIRS) {
|
|
|
1937
1947
|
}
|
|
1938
1948
|
if (selfClose) continue;
|
|
1939
1949
|
stack.push({ tag, index: m.index });
|
|
1940
|
-
if (tag
|
|
1950
|
+
if (FORM_TAGS.has(tag)) formDepth += 1;
|
|
1941
1951
|
}
|
|
1942
1952
|
for (const group of bareByParent.values()) {
|
|
1943
1953
|
if (group.length < 2) continue;
|
|
@@ -1975,9 +1985,9 @@ for (const dir of SCAN_DIRS) {
|
|
|
1975
1985
|
for (const m of scanContent.matchAll(/<FormField(?=[\s>])([^>]*)>([\s\S]*?)<\/FormField>/g)) {
|
|
1976
1986
|
if (!/<Select(?=[\s>/])/.test(m[2]) || /controlWidth=/.test(m[1])) continue;
|
|
1977
1987
|
const before = scanContent.slice(0, m.index);
|
|
1978
|
-
const lastForm = [...before.matchAll(
|
|
1979
|
-
const insideForm = lastForm && before.lastIndexOf(
|
|
1980
|
-
if (insideForm && /controlWidth=/.test(lastForm[
|
|
1988
|
+
const lastForm = [...before.matchAll(formOpenTag)].at(-1);
|
|
1989
|
+
const insideForm = lastForm && before.lastIndexOf(`</${lastForm[1]}>`) < lastForm.index;
|
|
1990
|
+
if (insideForm && /controlWidth=/.test(lastForm[2])) continue;
|
|
1981
1991
|
const lineNo = lineAt(m.index);
|
|
1982
1992
|
if (suppressed("select-width-hint", lineNo - 1)) continue;
|
|
1983
1993
|
findings.push({
|