cursedbelt 5.28.0 → 5.32.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/react/components/ColorField.d.ts.map +1 -1
- package/dist/react/components/ColorField.js +2 -1
- package/dist/react/components/ColorField.js.map +1 -1
- package/dist/react/components/ComboboxField.d.ts.map +1 -1
- package/dist/react/components/ComboboxField.js +2 -1
- package/dist/react/components/ComboboxField.js.map +1 -1
- package/dist/react/components/ConfirmDialog.d.ts +4 -1
- package/dist/react/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/react/components/ConfirmDialog.js +2 -2
- package/dist/react/components/ConfirmDialog.js.map +1 -1
- package/dist/react/components/DataTable/DataTable.d.ts +39 -2
- package/dist/react/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/react/components/DataTable/DataTable.js +97 -23
- package/dist/react/components/DataTable/DataTable.js.map +1 -1
- package/dist/react/components/DataTable/ViewOptionsMenu.d.ts.map +1 -1
- package/dist/react/components/DataTable/ViewOptionsMenu.js +20 -7
- package/dist/react/components/DataTable/ViewOptionsMenu.js.map +1 -1
- package/dist/react/components/DataTable/types.d.ts +11 -1
- package/dist/react/components/DataTable/types.d.ts.map +1 -1
- package/dist/react/components/DataTable/types.js +6 -0
- package/dist/react/components/DataTable/types.js.map +1 -1
- package/dist/react/components/DatePicker.d.ts.map +1 -1
- package/dist/react/components/DatePicker.js +2 -1
- package/dist/react/components/DatePicker.js.map +1 -1
- package/dist/react/components/DateTimeField.d.ts.map +1 -1
- package/dist/react/components/DateTimeField.js +2 -1
- package/dist/react/components/DateTimeField.js.map +1 -1
- package/dist/react/components/ExpandableRow.d.ts +56 -0
- package/dist/react/components/ExpandableRow.d.ts.map +1 -0
- package/dist/react/components/ExpandableRow.js +54 -0
- package/dist/react/components/ExpandableRow.js.map +1 -0
- package/dist/react/components/Field.d.ts +20 -1
- package/dist/react/components/Field.d.ts.map +1 -1
- package/dist/react/components/Field.js +24 -11
- package/dist/react/components/Field.js.map +1 -1
- package/dist/react/components/FieldInput.d.ts +15 -0
- package/dist/react/components/FieldInput.d.ts.map +1 -1
- package/dist/react/components/FieldInput.js +20 -0
- package/dist/react/components/FieldInput.js.map +1 -1
- package/dist/react/components/FileDropZone.d.ts +23 -1
- package/dist/react/components/FileDropZone.d.ts.map +1 -1
- package/dist/react/components/FileDropZone.js +56 -8
- package/dist/react/components/FileDropZone.js.map +1 -1
- package/dist/react/components/FormPreviewLayout.d.ts +49 -0
- package/dist/react/components/FormPreviewLayout.d.ts.map +1 -0
- package/dist/react/components/FormPreviewLayout.js +36 -0
- package/dist/react/components/FormPreviewLayout.js.map +1 -0
- package/dist/react/components/Input.d.ts.map +1 -1
- package/dist/react/components/Input.js +3 -1
- package/dist/react/components/Input.js.map +1 -1
- package/dist/react/components/KeyBadge.d.ts +34 -0
- package/dist/react/components/KeyBadge.d.ts.map +1 -0
- package/dist/react/components/KeyBadge.js +24 -0
- package/dist/react/components/KeyBadge.js.map +1 -0
- package/dist/react/components/Modal.d.ts.map +1 -1
- package/dist/react/components/Modal.js +35 -9
- package/dist/react/components/Modal.js.map +1 -1
- package/dist/react/components/NativeSelect.d.ts.map +1 -1
- package/dist/react/components/NativeSelect.js +2 -1
- package/dist/react/components/NativeSelect.js.map +1 -1
- package/dist/react/components/PromptDialog.d.ts +4 -1
- package/dist/react/components/PromptDialog.d.ts.map +1 -1
- package/dist/react/components/PromptDialog.js +2 -2
- package/dist/react/components/PromptDialog.js.map +1 -1
- package/dist/react/components/RenderField.d.ts.map +1 -1
- package/dist/react/components/RenderField.js +2 -2
- package/dist/react/components/RenderField.js.map +1 -1
- package/dist/react/components/RevealAction.d.ts +33 -0
- package/dist/react/components/RevealAction.d.ts.map +1 -0
- package/dist/react/components/RevealAction.js +45 -0
- package/dist/react/components/RevealAction.js.map +1 -0
- package/dist/react/components/SecretInput.d.ts.map +1 -1
- package/dist/react/components/SecretInput.js +2 -1
- package/dist/react/components/SecretInput.js.map +1 -1
- package/dist/react/components/SelectField.d.ts.map +1 -1
- package/dist/react/components/SelectField.js +2 -1
- package/dist/react/components/SelectField.js.map +1 -1
- package/dist/react/components/SettingsStrip.d.ts +22 -0
- package/dist/react/components/SettingsStrip.d.ts.map +1 -0
- package/dist/react/components/SettingsStrip.js +18 -0
- package/dist/react/components/SettingsStrip.js.map +1 -0
- package/dist/react/components/formKit.css +555 -0
- package/dist/react/components/formKit.d.ts +12 -0
- package/dist/react/components/formKit.d.ts.map +1 -0
- package/dist/react/components/formKit.js +14 -0
- package/dist/react/components/formKit.js.map +1 -0
- package/dist/react/file-tree/FileTree.d.ts +26 -1
- package/dist/react/file-tree/FileTree.d.ts.map +1 -1
- package/dist/react/file-tree/FileTree.js +182 -40
- package/dist/react/file-tree/FileTree.js.map +1 -1
- package/dist/react/filter-rail/RailSection.d.ts +2 -2
- package/dist/react/filter-rail/RailSection.d.ts.map +1 -1
- package/dist/react/filter-rail/RailSection.js +6 -61
- package/dist/react/filter-rail/RailSection.js.map +1 -1
- package/dist/react/index.d.ts +8 -3
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +8 -3
- package/dist/react/index.js.map +1 -1
- package/dist/react/lib/field.d.ts +43 -0
- package/dist/react/lib/field.d.ts.map +1 -1
- package/dist/react/lib/field.js +68 -0
- package/dist/react/lib/field.js.map +1 -1
- package/dist/react/media/PlayerStrip.d.ts +9 -1
- package/dist/react/media/PlayerStrip.d.ts.map +1 -1
- package/dist/react/media/PlayerStrip.js +29 -2
- package/dist/react/media/PlayerStrip.js.map +1 -1
- package/dist/react/media-gallery/rememberedPreference.d.ts +2 -0
- package/dist/react/media-gallery/rememberedPreference.d.ts.map +1 -0
- package/dist/react/media-gallery/rememberedPreference.js +75 -0
- package/dist/react/media-gallery/rememberedPreference.js.map +1 -0
- package/dist/scripts/guardrailsEnforce.d.ts +11 -0
- package/dist/scripts/guardrailsEnforce.d.ts.map +1 -1
- package/dist/styles-areas/analytics.css +2 -2
- package/dist/styles-areas/core.css +34 -28
- package/dist/styles-areas/data-table.css +2 -2
- package/dist/styles-areas/fields.css +3 -3
- package/dist/styles-areas/layout-engine.css +2 -2
- package/dist/styles-areas/nav.css +3 -3
- package/dist/styles-areas/wizard.css +2 -2
- package/dist/styles-areas/workbench.css +2 -2
- package/dist/styles-utilities.css +111 -9
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +4 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/objectLeak.d.ts +23 -0
- package/dist/testing/objectLeak.d.ts.map +1 -0
- package/dist/testing/objectLeak.js +37 -0
- package/dist/testing/objectLeak.js.map +1 -0
- package/package.json +18 -5
- package/scripts/guardrails-baseline.json +4 -1
- package/scripts/guardrailsEnforce.spec.ts +163 -6
- package/scripts/guardrailsEnforce.ts +365 -40
- package/scripts/paths.ts +1 -1
- package/scripts/styleAreas.ts +2 -0
- package/src/react/components/ColorField.tsx +3 -1
- package/src/react/components/ComboboxField.tsx +3 -1
- package/src/react/components/ConfirmDialog.tsx +5 -0
- package/src/react/components/DataTable/DataTable.spec.tsx +34 -0
- package/src/react/components/DataTable/DataTable.tsx +141 -23
- package/src/react/components/DataTable/ViewOptionsMenu.tsx +24 -9
- package/src/react/components/DataTable/selection.spec.tsx +57 -1
- package/src/react/components/DataTable/types.ts +12 -1
- package/src/react/components/DataTable/virtualize.spec.tsx +20 -0
- package/src/react/components/DatePicker.tsx +3 -1
- package/src/react/components/DateTimeField.tsx +3 -1
- package/src/react/components/ExpandableRow.tsx +146 -0
- package/src/react/components/Field.tsx +89 -13
- package/src/react/components/Field.width.spec.tsx +162 -0
- package/src/react/components/FieldInput.tsx +30 -0
- package/src/react/components/FileDropZone.spec.tsx +65 -0
- package/src/react/components/FileDropZone.tsx +83 -5
- package/src/react/components/FormPreviewLayout.tsx +94 -0
- package/src/react/components/Input.tsx +4 -1
- package/src/react/components/KeyBadge.tsx +52 -0
- package/src/react/components/Modal.tsx +58 -14
- package/src/react/components/NativeSelect.tsx +3 -1
- package/src/react/components/PromptDialog.spec.tsx +29 -1
- package/src/react/components/PromptDialog.tsx +5 -0
- package/src/react/components/RenderField.tsx +2 -1
- package/src/react/components/RevealAction.tsx +83 -0
- package/src/react/components/SecretInput.tsx +3 -1
- package/src/react/components/SelectField.tsx +3 -1
- package/src/react/components/SettingsStrip.tsx +37 -0
- package/src/react/components/formKit.css +555 -0
- package/src/react/components/formKit.spec.tsx +138 -0
- package/src/react/components/formKit.ts +19 -0
- package/src/react/file-tree/FileTree.spec.tsx +205 -0
- package/src/react/file-tree/FileTree.tsx +220 -38
- package/src/react/filter-rail/RailSection.tsx +6 -65
- package/src/react/index.ts +20 -2
- package/src/react/lib/field.ts +93 -0
- package/src/react/media/PlayerStrip.tsx +65 -20
- package/src/react/media/playerStrip.spec.tsx +23 -0
- package/src/react/media-gallery/rememberedPreference.ts +79 -0
- package/src/styles-areas/analytics.css +2 -2
- package/src/styles-areas/core.css +34 -28
- package/src/styles-areas/data-table.css +2 -2
- package/src/styles-areas/fields.css +3 -3
- package/src/styles-areas/layout-engine.css +2 -2
- package/src/styles-areas/nav.css +3 -3
- package/src/styles-areas/wizard.css +2 -2
- package/src/styles-areas/workbench.css +2 -2
- package/src/styles-utilities.css +111 -9
- package/src/testing/index.ts +3 -0
- package/src/testing/objectLeak.spec.ts +21 -0
- package/src/testing/objectLeak.ts +39 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { AlertCircle } from 'lucide-react';
|
|
3
3
|
import { cloneElement, isValidElement } from 'react';
|
|
4
4
|
import { get, useFormContext } from 'react-hook-form';
|
|
5
5
|
import { cn } from '../lib/cn.js';
|
|
6
|
+
import { DESCRIPTION_FOLD_CHARS, FIELD_WIDTH_CLASS, naturalFieldWidth, } from '../lib/field.js';
|
|
6
7
|
import { InfoHint } from './InfoHint.js';
|
|
8
|
+
export { DESCRIPTION_FOLD_CHARS };
|
|
7
9
|
/**
|
|
8
10
|
* The atomic form-row: label + optional ⓘ hint + description + control + inline
|
|
9
11
|
* error, wired to the surrounding react-hook-form context so the control's `id`,
|
|
@@ -22,7 +24,7 @@ import { InfoHint } from './InfoHint.js';
|
|
|
22
24
|
* Usable outside a `FormProvider` (label + control render; no error) so option-form
|
|
23
25
|
* snippets can reuse it, but the error wiring needs a form context.
|
|
24
26
|
*/
|
|
25
|
-
export function Field({ name, label, hint, description, required, children, className, reserveErrorSpace = false, }) {
|
|
27
|
+
export function Field({ name, label, hint, description, required, children, className, reserveErrorSpace = false, width, descriptionOnNarrow = 'auto', }) {
|
|
26
28
|
const form = useFormContext();
|
|
27
29
|
const errors = form?.formState.errors;
|
|
28
30
|
const error = (errors ? get(errors, name)?.message : undefined);
|
|
@@ -36,14 +38,25 @@ export function Field({ name, label, hint, description, required, children, clas
|
|
|
36
38
|
'aria-invalid': error ? true : undefined,
|
|
37
39
|
'aria-describedby': describedBy,
|
|
38
40
|
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
const resolvedWidth = width ??
|
|
42
|
+
(typeof children !== 'function' && isValidElement(children)
|
|
43
|
+
? naturalFieldWidth(children.type, (children.props ?? {}))
|
|
44
|
+
: 'full');
|
|
45
|
+
const widthClass = FIELD_WIDTH_CLASS[resolvedWidth];
|
|
46
|
+
const folds = description != null &&
|
|
47
|
+
(descriptionOnNarrow === 'hint' ||
|
|
48
|
+
(descriptionOnNarrow === 'auto' &&
|
|
49
|
+
typeof description === 'string' &&
|
|
50
|
+
description.length > DESCRIPTION_FOLD_CHARS));
|
|
51
|
+
const control = typeof children === 'function'
|
|
52
|
+
? children(aria)
|
|
53
|
+
: isValidElement(children)
|
|
54
|
+
? cloneElement(children, {
|
|
55
|
+
id,
|
|
56
|
+
'aria-invalid': aria['aria-invalid'],
|
|
57
|
+
'aria-describedby': describedBy,
|
|
58
|
+
})
|
|
59
|
+
: children;
|
|
60
|
+
return (_jsxs("div", { className: cn('flex flex-col gap-1.5', className), "data-cb-field-width": resolvedWidth, children: [label != null || hint != null || folds ? (_jsxs("div", { className: 'flex items-center gap-1', children: [label != null ? (_jsxs("label", { htmlFor: id, className: 'text-sm font-medium text-foreground', children: [label, required ? (_jsxs("span", { className: 'text-field-error', "aria-hidden": true, children: [' ', "*"] })) : null] })) : null, hint != null && !folds ? (_jsx(InfoHint, { title: typeof label === 'string' ? label : undefined, children: hint })) : null, folds ? (_jsxs(_Fragment, { children: [hint != null ? (_jsx("span", { className: 'inline-flex max-sm:hidden', children: _jsx(InfoHint, { title: typeof label === 'string' ? label : undefined, children: hint }) })) : null, _jsx("span", { className: 'inline-flex sm:hidden', children: _jsxs(InfoHint, { title: typeof label === 'string' ? label : undefined, children: [hint != null ? _jsx("p", { className: 'mb-1', children: hint }) : null, description] }) })] })) : null] })) : null, description != null ? (_jsx("p", { id: descId, className: cn('text-xs font-normal leading-snug text-muted-foreground', folds && 'max-sm:hidden'), children: description })) : null, widthClass ? (_jsx("div", { className: cn('w-full', widthClass), "data-cb-field-control": '', children: control })) : (control), error ? (_jsxs("p", { id: errId, role: 'alert', className: 'flex items-center gap-1.5 text-sm text-field-error', children: [_jsx(AlertCircle, { className: 'size-4 shrink-0', "aria-hidden": true }), error] })) : reserveErrorSpace ? (_jsx("p", { "aria-hidden": true, className: 'min-h-[1lh] text-sm', "data-cc-field-error-reserved": '' })) : null] }));
|
|
48
61
|
}
|
|
49
62
|
//# sourceMappingURL=Field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/react/components/Field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAqC,MAAM,OAAO,CAAC;AACxF,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/react/components/Field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { FC, ReactNode } from 'react';
|
|
2
|
+
import type { FieldWidth } from '../lib/field.js';
|
|
2
3
|
/** A choice for select / multiselect / tags-like types. */
|
|
3
4
|
export interface FieldOption {
|
|
4
5
|
value: string;
|
|
@@ -31,6 +32,8 @@ export interface FieldSpec {
|
|
|
31
32
|
step?: number;
|
|
32
33
|
/** App-specific config a custom control reads (column settings, language, etc.). */
|
|
33
34
|
meta?: Record<string, unknown>;
|
|
35
|
+
/** Overrides the registered type's {@link FieldRegistryEntry.width} for this one field. */
|
|
36
|
+
width?: FieldWidth;
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
39
|
* What every control receives. `value`/`onChange`/`onBlur` come from RHF (spread from
|
|
@@ -55,6 +58,12 @@ export type FieldControl = FC<ControlProps>;
|
|
|
55
58
|
* the rebuilt column editor (task 34) renders as a dead-simple inline add button. */
|
|
56
59
|
export interface FieldRegistryEntry {
|
|
57
60
|
control: FieldControl;
|
|
61
|
+
/**
|
|
62
|
+
* How wide a {@link Field} lets this type's control grow — see {@link FieldWidth}. Omitted is
|
|
63
|
+
* `full`, which is right for anything multi-line or composite and is what an app-registered
|
|
64
|
+
* type drew before widths existed.
|
|
65
|
+
*/
|
|
66
|
+
width?: FieldWidth;
|
|
58
67
|
/** Inline "Add an X field" entry point with a sensible-default spec factory. */
|
|
59
68
|
addFieldAffordance?: {
|
|
60
69
|
label: string;
|
|
@@ -71,6 +80,12 @@ export interface FieldRegistryEntry {
|
|
|
71
80
|
export declare function registerFieldType(type: string, entry: FieldControl | FieldRegistryEntry): void;
|
|
72
81
|
/** Look up a registered type's entry (control + affordance). */
|
|
73
82
|
export declare function getFieldType(type: string): FieldRegistryEntry | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* The width a {@link Field} should give this spec's control: the spec's own `width`, else its
|
|
85
|
+
* registered type's, else `full`. {@link RenderField} passes it; a hand-built form over
|
|
86
|
+
* `FieldInput` can too.
|
|
87
|
+
*/
|
|
88
|
+
export declare function fieldSpecWidth(spec: FieldSpec): FieldWidth;
|
|
74
89
|
/** Every registered type key (base + app-injected) — drives the column editor's
|
|
75
90
|
* type picker and the "add a field" affordance menu. */
|
|
76
91
|
export declare function listFieldTypes(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldInput.d.ts","sourceRoot":"","sources":["../../../src/react/components/FieldInput.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAe,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FieldInput.d.ts","sourceRoot":"","sources":["../../../src/react/components/FieldInput.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAe,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,2FAA2F;IAC3F,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AAE5C;sFACsF;AACtF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,2FAA2F;QAC3F,WAAW,EAAE,MAAM,SAAS,CAAC;KAC9B,CAAC;CACH;AAmYD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,kBAAkB,GAAG,IAAI,CAE9F;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAE1D;AAED;yDACyD;AACzD,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,GAAG,YAAY,EAChB,EAAE;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,+BAIlD"}
|
|
@@ -86,6 +86,7 @@ const spec = (type, label, extra = {}) => ({
|
|
|
86
86
|
*/
|
|
87
87
|
const BASE_REGISTRY = {
|
|
88
88
|
text: {
|
|
89
|
+
width: 'md',
|
|
89
90
|
control: TextControl,
|
|
90
91
|
addFieldAffordance: { label: 'Text', icon: _jsx(Type, {}), defaultSpec: () => spec('text', 'Text') },
|
|
91
92
|
},
|
|
@@ -98,6 +99,7 @@ const BASE_REGISTRY = {
|
|
|
98
99
|
},
|
|
99
100
|
},
|
|
100
101
|
number: {
|
|
102
|
+
width: 'xs',
|
|
101
103
|
control: NumberControl,
|
|
102
104
|
addFieldAffordance: {
|
|
103
105
|
label: 'Number',
|
|
@@ -106,6 +108,7 @@ const BASE_REGISTRY = {
|
|
|
106
108
|
},
|
|
107
109
|
},
|
|
108
110
|
date: {
|
|
111
|
+
width: 'sm',
|
|
109
112
|
control: DateControl,
|
|
110
113
|
addFieldAffordance: {
|
|
111
114
|
label: 'Date',
|
|
@@ -114,6 +117,7 @@ const BASE_REGISTRY = {
|
|
|
114
117
|
},
|
|
115
118
|
},
|
|
116
119
|
datetime: {
|
|
120
|
+
width: 'sm',
|
|
117
121
|
control: DateTimeControl,
|
|
118
122
|
addFieldAffordance: {
|
|
119
123
|
label: 'Date & time',
|
|
@@ -122,6 +126,7 @@ const BASE_REGISTRY = {
|
|
|
122
126
|
},
|
|
123
127
|
},
|
|
124
128
|
url: {
|
|
129
|
+
width: 'lg',
|
|
125
130
|
control: UrlControl,
|
|
126
131
|
addFieldAffordance: {
|
|
127
132
|
label: 'Link',
|
|
@@ -138,6 +143,7 @@ const BASE_REGISTRY = {
|
|
|
138
143
|
},
|
|
139
144
|
},
|
|
140
145
|
select: {
|
|
146
|
+
width: 'md',
|
|
141
147
|
control: SelectControl,
|
|
142
148
|
addFieldAffordance: {
|
|
143
149
|
label: 'Choice',
|
|
@@ -158,6 +164,7 @@ const BASE_REGISTRY = {
|
|
|
158
164
|
addFieldAffordance: { label: 'Tags', icon: _jsx(Tag, {}), defaultSpec: () => spec('tags', 'Tags') },
|
|
159
165
|
},
|
|
160
166
|
slider: {
|
|
167
|
+
width: 'md',
|
|
161
168
|
control: SliderControl,
|
|
162
169
|
addFieldAffordance: {
|
|
163
170
|
label: 'Slider',
|
|
@@ -166,6 +173,7 @@ const BASE_REGISTRY = {
|
|
|
166
173
|
},
|
|
167
174
|
},
|
|
168
175
|
color: {
|
|
176
|
+
width: 'sm',
|
|
169
177
|
control: ColorControl,
|
|
170
178
|
addFieldAffordance: {
|
|
171
179
|
label: 'Color',
|
|
@@ -174,6 +182,7 @@ const BASE_REGISTRY = {
|
|
|
174
182
|
},
|
|
175
183
|
},
|
|
176
184
|
rating: {
|
|
185
|
+
width: 'sm',
|
|
177
186
|
control: RatingControl,
|
|
178
187
|
addFieldAffordance: {
|
|
179
188
|
label: 'Rating',
|
|
@@ -182,6 +191,7 @@ const BASE_REGISTRY = {
|
|
|
182
191
|
},
|
|
183
192
|
},
|
|
184
193
|
emoji: {
|
|
194
|
+
width: 'xs',
|
|
185
195
|
control: EmojiControl,
|
|
186
196
|
addFieldAffordance: {
|
|
187
197
|
label: 'Emoji',
|
|
@@ -190,6 +200,7 @@ const BASE_REGISTRY = {
|
|
|
190
200
|
},
|
|
191
201
|
},
|
|
192
202
|
password: {
|
|
203
|
+
width: 'md',
|
|
193
204
|
control: PasswordControl,
|
|
194
205
|
addFieldAffordance: {
|
|
195
206
|
label: 'Secret',
|
|
@@ -206,6 +217,7 @@ const BASE_REGISTRY = {
|
|
|
206
217
|
},
|
|
207
218
|
},
|
|
208
219
|
combobox: {
|
|
220
|
+
width: 'md',
|
|
209
221
|
control: ComboboxControl,
|
|
210
222
|
addFieldAffordance: {
|
|
211
223
|
label: 'Combobox',
|
|
@@ -228,6 +240,14 @@ export function registerFieldType(type, entry) {
|
|
|
228
240
|
export function getFieldType(type) {
|
|
229
241
|
return FIELD_REGISTRY[type];
|
|
230
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* The width a {@link Field} should give this spec's control: the spec's own `width`, else its
|
|
245
|
+
* registered type's, else `full`. {@link RenderField} passes it; a hand-built form over
|
|
246
|
+
* `FieldInput` can too.
|
|
247
|
+
*/
|
|
248
|
+
export function fieldSpecWidth(spec) {
|
|
249
|
+
return spec.width ?? (FIELD_REGISTRY[spec.type] ?? FIELD_REGISTRY.text)?.width ?? 'full';
|
|
250
|
+
}
|
|
231
251
|
/** Every registered type key (base + app-injected) — drives the column editor's
|
|
232
252
|
* type picker and the "add a field" affordance menu. */
|
|
233
253
|
export function listFieldTypes() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldInput.js","sourceRoot":"","sources":["../../../src/react/components/FieldInput.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldInput.js","sourceRoot":"","sources":["../../../src/react/components/FieldInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,15 @@ export interface FileDropZoneProps {
|
|
|
37
37
|
children?: ReactNode;
|
|
38
38
|
/** Hint line of the default content. */
|
|
39
39
|
hint?: string;
|
|
40
|
+
/**
|
|
41
|
+
* What browsing (as opposed to dropping) can pick — see the FOLDER PICKER section below.
|
|
42
|
+
*
|
|
43
|
+
* · `'files'` (default) — the whole zone is one click target for a file picker.
|
|
44
|
+
* · `'folder'` — the whole zone is one click target for a FOLDER picker.
|
|
45
|
+
* · `'both'` — two real Buttons under the content, "Choose a folder…" and "Choose files…";
|
|
46
|
+
* a click elsewhere in the zone still opens the file picker.
|
|
47
|
+
*/
|
|
48
|
+
browse?: 'files' | 'folder' | 'both';
|
|
40
49
|
className?: string;
|
|
41
50
|
}
|
|
42
51
|
/**
|
|
@@ -121,6 +130,19 @@ export interface FileDropZoneProps {
|
|
|
121
130
|
* (`.DS_Store`, AppleDouble `._x`) are never files anyone meant;
|
|
122
131
|
* · but a folder that yields NOTHING acceptable is itself reported as rejected,
|
|
123
132
|
* under its own name — the 2026-08-14 rule, one level up: a drop never vanishes.
|
|
133
|
+
*
|
|
134
|
+
* ── 🔴 THE FOLDER PICKER, AND WHY ITS BUTTONS ARE OUTSIDE THE LABEL (2026-09-30) ──
|
|
135
|
+
* music's Add-music page exists for "here is my whole library folder", and a drop is not the
|
|
136
|
+
* only way to say that: the picker (`webkitdirectory`) is. Until `browse` existed, music kept
|
|
137
|
+
* its own drop zone for it (task 2351), and its rejected-files notice, focus ring and pad
|
|
138
|
+
* navigation were all missing as a result.
|
|
139
|
+
*
|
|
140
|
+
* The buttons of `browse='both'` sit in a row AFTER the `<label>`, never inside it: the label
|
|
141
|
+
* is the zone's click target, and a Button inside a `<label>` activates the label's input too —
|
|
142
|
+
* every "Choose a folder…" press would ALSO open the file picker. With two real Buttons as the
|
|
143
|
+
* keyboard path, the zone-sized input leaves the Tab order (`tabIndex=-1`), so a keyboard user
|
|
144
|
+
* meets two stops that say what they do instead of three. A folder pick is filtered like a
|
|
145
|
+
* folder drop (`folderPick`), because `<input accept>` does not filter a directory.
|
|
124
146
|
*/
|
|
125
|
-
export declare function FileDropZone({ onFiles, onRejected, onDrop: onDropResult, accept, multiple, disabled, children, hint, className, }: FileDropZoneProps): import("react").JSX.Element;
|
|
147
|
+
export declare function FileDropZone({ onFiles, onRejected, onDrop: onDropResult, accept, multiple, disabled, children, hint, className, browse, }: FileDropZoneProps): import("react").JSX.Element;
|
|
126
148
|
//# sourceMappingURL=FileDropZone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDropZone.d.ts","sourceRoot":"","sources":["../../../src/react/components/FileDropZone.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,SAAS,EAA2B,MAAM,OAAO,CAAC;AAKhF,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACjC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACrC;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAClE,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"FileDropZone.d.ts","sourceRoot":"","sources":["../../../src/react/components/FileDropZone.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,SAAS,EAA2B,MAAM,OAAO,CAAC;AAKhF,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACjC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACrC;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAClE,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,UAAU,EACV,MAAM,EAAE,YAAY,EACpB,MAAM,EACN,QAAe,EACf,QAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,MAAgB,GACjB,EAAE,iBAAiB,+BA+JnB"}
|
|
@@ -7,13 +7,22 @@ import { Input } from './Input.js';
|
|
|
7
7
|
/** What a folder can hold before walking it stops — a drop, not a disk scan. */
|
|
8
8
|
const MAX_FOLDER_FILES = 5000;
|
|
9
9
|
const isHidden = (name) => name.startsWith('.');
|
|
10
|
-
/**
|
|
11
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Every file under `entry`, depth-first. A directory's reader answers in batches until empty.
|
|
12
|
+
*
|
|
13
|
+
* Each file carries its path from the dropped folder in `webkitRelativePath` (`Album/CD1/01.mp3`),
|
|
14
|
+
* exactly as a folder PICKER's files do natively — so an app reading provenance (music defaults
|
|
15
|
+
* its "where these came from" field to the top folder) gets the same answer from both gestures.
|
|
16
|
+
* A drop leaves it `''` otherwise, and that difference is what kept music on its own walk.
|
|
17
|
+
*/
|
|
18
|
+
async function filesUnder(entry, out, prefix = '') {
|
|
12
19
|
if (out.length >= MAX_FOLDER_FILES || isHidden(entry.name))
|
|
13
20
|
return;
|
|
14
21
|
if (entry.isFile && entry.file) {
|
|
15
22
|
const read = entry.file.bind(entry);
|
|
16
|
-
|
|
23
|
+
const file = await new Promise((ok, fail) => read(ok, fail));
|
|
24
|
+
Object.defineProperty(file, 'webkitRelativePath', { value: `${prefix}${file.name}`, configurable: true });
|
|
25
|
+
out.push(file);
|
|
17
26
|
return;
|
|
18
27
|
}
|
|
19
28
|
if (!entry.isDirectory || !entry.createReader)
|
|
@@ -24,7 +33,7 @@ async function filesUnder(entry, out) {
|
|
|
24
33
|
if (batch.length === 0)
|
|
25
34
|
return;
|
|
26
35
|
for (const child of batch)
|
|
27
|
-
await filesUnder(child, out);
|
|
36
|
+
await filesUnder(child, out, `${prefix}${entry.name}/`);
|
|
28
37
|
}
|
|
29
38
|
}
|
|
30
39
|
/**
|
|
@@ -84,6 +93,22 @@ const matchesAccept = (file, accept) => {
|
|
|
84
93
|
return file.type.toLowerCase() === rule;
|
|
85
94
|
});
|
|
86
95
|
};
|
|
96
|
+
/**
|
|
97
|
+
* A folder PICKER's files, judged the way a dropped folder's are: what `accept` turns away is
|
|
98
|
+
* skipped, hidden files are never meant, and a folder that yields nothing is refused under its own
|
|
99
|
+
* name (the top segment of `webkitRelativePath`). `<input accept>` does not filter a directory
|
|
100
|
+
* pick, so without this every readme and cover.jpg would reach the app.
|
|
101
|
+
*/
|
|
102
|
+
function folderPick(list, accept) {
|
|
103
|
+
const all = list ? [...list] : [];
|
|
104
|
+
const kept = all.filter((f) => !f.webkitRelativePath.split('/').some(isHidden) && matchesAccept(f, accept));
|
|
105
|
+
if (kept.length > 0 || all.length === 0)
|
|
106
|
+
return { fromFolders: kept, emptyFolders: [] };
|
|
107
|
+
const name = all[0]?.webkitRelativePath.split('/')[0] || 'That folder';
|
|
108
|
+
return { fromFolders: [], emptyFolders: [new File([], name)] };
|
|
109
|
+
}
|
|
110
|
+
/** Not in React's input types, and the only way to ask a browser for a directory. */
|
|
111
|
+
const DIRECTORY_PICKER = { webkitdirectory: '' };
|
|
87
112
|
/**
|
|
88
113
|
* The one drop-target + click-to-browse file intake. Wraps the hidden-input
|
|
89
114
|
* dance, drag-over highlighting, and accept filtering (drops bypass the native
|
|
@@ -166,9 +191,23 @@ const matchesAccept = (file, accept) => {
|
|
|
166
191
|
* (`.DS_Store`, AppleDouble `._x`) are never files anyone meant;
|
|
167
192
|
* · but a folder that yields NOTHING acceptable is itself reported as rejected,
|
|
168
193
|
* under its own name — the 2026-08-14 rule, one level up: a drop never vanishes.
|
|
194
|
+
*
|
|
195
|
+
* ── 🔴 THE FOLDER PICKER, AND WHY ITS BUTTONS ARE OUTSIDE THE LABEL (2026-09-30) ──
|
|
196
|
+
* music's Add-music page exists for "here is my whole library folder", and a drop is not the
|
|
197
|
+
* only way to say that: the picker (`webkitdirectory`) is. Until `browse` existed, music kept
|
|
198
|
+
* its own drop zone for it (task 2351), and its rejected-files notice, focus ring and pad
|
|
199
|
+
* navigation were all missing as a result.
|
|
200
|
+
*
|
|
201
|
+
* The buttons of `browse='both'` sit in a row AFTER the `<label>`, never inside it: the label
|
|
202
|
+
* is the zone's click target, and a Button inside a `<label>` activates the label's input too —
|
|
203
|
+
* every "Choose a folder…" press would ALSO open the file picker. With two real Buttons as the
|
|
204
|
+
* keyboard path, the zone-sized input leaves the Tab order (`tabIndex=-1`), so a keyboard user
|
|
205
|
+
* meets two stops that say what they do instead of three. A folder pick is filtered like a
|
|
206
|
+
* folder drop (`folderPick`), because `<input accept>` does not filter a directory.
|
|
169
207
|
*/
|
|
170
|
-
export function FileDropZone({ onFiles, onRejected, onDrop: onDropResult, accept, multiple = true, disabled = false, children, hint, className, }) {
|
|
208
|
+
export function FileDropZone({ onFiles, onRejected, onDrop: onDropResult, accept, multiple = true, disabled = false, children, hint, className, browse = 'files', }) {
|
|
171
209
|
const inputRef = useRef(null);
|
|
210
|
+
const folderRef = useRef(null);
|
|
172
211
|
const inputId = useId();
|
|
173
212
|
const [dragOver, setDragOver] = useState(false);
|
|
174
213
|
const [rejected, setRejected] = useState([]);
|
|
@@ -215,15 +254,24 @@ export function FileDropZone({ onFiles, onRejected, onDrop: onDropResult, accept
|
|
|
215
254
|
e.preventDefault(); // required by the spec for `drop` to fire
|
|
216
255
|
if (!disabled)
|
|
217
256
|
setDragOver(true);
|
|
218
|
-
}, onDragLeave: () => setDragOver(false), onDrop: onDrop, className: cn('relative rounded-lg border-2 border-dashed border-border transition-colors', dragOver && !disabled && 'border-accent-solid bg-accent/40', disabled && 'opacity-50', className), children: [_jsx(Input, { ref: inputRef, id: inputId, type: 'file', accept: accept, multiple: multiple, disabled: disabled, className: 'peer pointer-events-none absolute inset-0 h-full w-full opacity-0', onChange: (e) => {
|
|
219
|
-
|
|
257
|
+
}, onDragLeave: () => setDragOver(false), onDrop: onDrop, className: cn('relative rounded-lg border-2 border-dashed border-border transition-colors', dragOver && !disabled && 'border-accent-solid bg-accent/40', disabled && 'opacity-50', className), children: [_jsx(Input, { ref: inputRef, id: inputId, type: 'file', accept: accept, multiple: multiple, disabled: disabled, className: 'peer pointer-events-none absolute inset-0 h-full w-full opacity-0', tabIndex: browse === 'both' ? -1 : undefined, ...(browse === 'folder' ? DIRECTORY_PICKER : {}), onChange: (e) => {
|
|
258
|
+
if (browse === 'folder') {
|
|
259
|
+
const { fromFolders, emptyFolders } = folderPick(e.target.files, accept);
|
|
260
|
+
emit([], fromFolders, emptyFolders);
|
|
261
|
+
}
|
|
262
|
+
else
|
|
263
|
+
emit(e.target.files);
|
|
220
264
|
e.target.value = ''; // re-selecting the same file must fire again
|
|
221
265
|
} }), _jsx("label", { htmlFor: inputId, className: cn('flex min-h-[44px] w-full cursor-pointer flex-col items-center justify-center gap-1 p-4 text-center',
|
|
222
266
|
// `peer-focus`, not `peer-focus-visible`: the input is focused
|
|
223
267
|
// PROGRAMMATICALLY by roms' pad navigation, and the `:focus-visible`
|
|
224
268
|
// heuristic does not reliably fire for a gamepad — which is the exact
|
|
225
269
|
// user this ring exists for.
|
|
226
|
-
'peer-focus:rounded-lg peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-field-ring/40', disabled && 'cursor-not-allowed'), children: children ?? (_jsxs(_Fragment, { children: [_jsx(Upload, { "aria-hidden": true, className: 'size-5 text-muted-foreground' }), _jsx("span", { className: 'text-sm text-muted-foreground', children: hint ?? 'Drop files here or click to browse' })] })) }),
|
|
270
|
+
'peer-focus:rounded-lg peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-field-ring/40', disabled && 'cursor-not-allowed'), children: children ?? (_jsxs(_Fragment, { children: [_jsx(Upload, { "aria-hidden": true, className: 'size-5 text-muted-foreground' }), _jsx("span", { className: 'text-sm text-muted-foreground', children: hint ?? 'Drop files here or click to browse' })] })) }), browse === 'both' && (_jsxs("div", { className: 'relative flex flex-wrap justify-center gap-2 px-4 pb-4', children: [_jsx(Button, { variant: 'secondary', disabled: disabled, tooltip: 'Pick a whole folder', onClick: () => folderRef.current?.click(), children: "Choose a folder\u2026" }), _jsx(Button, { variant: 'secondary', disabled: disabled, tooltip: 'Pick individual files', onClick: () => inputRef.current?.click(), children: "Choose files\u2026" }), _jsx(Input, { ref: folderRef, type: 'file', className: 'hidden', tabIndex: -1, disabled: disabled, ...DIRECTORY_PICKER, onChange: (e) => {
|
|
271
|
+
const { fromFolders, emptyFolders } = folderPick(e.target.files, accept);
|
|
272
|
+
emit([], fromFolders, emptyFolders);
|
|
273
|
+
e.target.value = '';
|
|
274
|
+
} })] })), rejected.length > 0 && (_jsxs("div", { role: 'status', "aria-live": 'polite', className: 'relative flex items-start gap-2 border-border border-t px-3 py-2 text-left text-muted-foreground text-xs', children: [_jsxs("span", { className: 'min-w-0 flex-1', children: [rejected.length === 1
|
|
227
275
|
? `“${rejected[0]}” is not a file this accepts`
|
|
228
276
|
: `${rejected.length} files are not the kind this accepts`, accept ? _jsxs("span", { className: 'opacity-70', children: [" \u2014 it takes ", accept] }) : null, rejected.length > 1 && (_jsx("span", { className: 'mt-0.5 block break-words opacity-70', children: rejected.join(', ') }))] }), _jsx(Button, { variant: 'ghost', size: 'icon-sm', className: '-my-0.5 shrink-0', onClick: () => setRejected([]), "aria-label": 'Dismiss', tooltip: 'Dismiss', tooltipMobile: 'off', children: _jsx(X, { "aria-hidden": true, className: 'size-4' }) })] }))] }));
|
|
229
277
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDropZone.js","sourceRoot":"","sources":["../../../src/react/components/FileDropZone.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAkC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"FileDropZone.js","sourceRoot":"","sources":["../../../src/react/components/FileDropZone.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAkC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AA4DnC,gFAAgF;AAChF,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,KAAK,UAAU,UAAU,CAAC,KAAgB,EAAE,GAAW,EAAE,MAAM,GAAG,EAAE;IAClE,IAAI,GAAG,CAAC,MAAM,IAAI,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO;IACnE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAO,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY;QAAE,OAAO;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACpC,OAAO,GAAG,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAc,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACzF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,KAAK,MAAM,KAAK,IAAI,KAAK;YAAE,MAAM,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,QAAsB,EACtB,MAA0B;IAE1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,UAAU;QACjE,CAAC,CAAE,IAAI,CAAC,gBAAgB,EAAuB;QAC/C,CAAC,CAAC,IAAI,CACT,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,WAAW,GAAW,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAW,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAc,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACxH,IAAI,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAW,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,yGAAyG;YAC3G,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;;gBAC1C,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IAC9C,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,MAAe,EAAW,EAAE;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;GAKG;AACH,SAAS,UAAU,CAAC,IAAqB,EAAE,MAA0B;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5G,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IACxF,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC;IACvE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,qFAAqF;AACrF,MAAM,gBAAgB,GAAG,EAAE,eAAe,EAAE,EAAE,EAA4B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EACP,UAAU,EACV,MAAM,EAAE,YAAY,EACpB,MAAM,EACN,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,MAAM,GAAG,OAAO,GACE;IAClB,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,CAAC,IAA8B,EAAE,cAAsB,EAAE,EAAE,eAAuB,EAAE,EAAE,EAAE;QACnG,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACtB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACtF,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;QAEtF,iEAAiE;QACjE,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,UAAU;gBAAE,UAAU,CAAC,UAAU,CAAC,CAAC;;gBAClC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,CAAY,EAAE,EAAE;QAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,QAAQ;YAAE,OAAO;QACrB,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IACtG,CAAC,CAAC;IAEF,OAAO,CAEL,eACE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,0CAA0C;YAC9D,IAAI,CAAC,QAAQ;gBAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EACrC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,EAAE,CACX,4EAA4E,EAC5E,QAAQ,IAAI,CAAC,QAAQ,IAAI,kCAAkC,EAC3D,QAAQ,IAAI,YAAY,EACxB,SAAS,CACV,aAED,KAAC,KAAK,IACJ,GAAG,EAAE,QAAQ,EACb,EAAE,EAAE,OAAO,EACX,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,mEAAmE,EAC7E,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KACxC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EACjD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACxB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBACzE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;oBACtC,CAAC;;wBAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,6CAA6C;gBACpE,CAAC,GACD,EACF,gBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,oGAAoG;gBACpG,+DAA+D;gBAC/D,qEAAqE;gBACrE,sEAAsE;gBACtE,6BAA6B;gBAC7B,+FAA+F,EAC/F,QAAQ,IAAI,oBAAoB,CACjC,YAEA,QAAQ,IAAI,CACX,8BACE,KAAC,MAAM,yBAAa,SAAS,EAAC,8BAA8B,GAAG,EAC/D,eAAM,SAAS,EAAC,+BAA+B,YAC5C,IAAI,IAAI,oCAAoC,GACxC,IACN,CACJ,GACK,EACP,MAAM,KAAK,MAAM,IAAI,CACpB,eAAK,SAAS,EAAC,wDAAwD,aACrE,KAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAC,qBAAqB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,sCAE9G,EACT,KAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAC,uBAAuB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,mCAE/G,EACT,KAAC,KAAK,IACJ,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EACZ,QAAQ,EAAE,QAAQ,KACd,gBAAgB,EACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACd,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;4BACzE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;4BACpC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACtB,CAAC,GACD,IACE,CACP,EACA,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAItB,eACE,IAAI,EAAC,QAAQ,eACH,QAAQ,EAClB,SAAS,EAAC,0GAA0G,aAEpH,gBAAM,SAAS,EAAC,gBAAgB,aAC7B,QAAQ,CAAC,MAAM,KAAK,CAAC;gCACpB,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,8BAA8B;gCAC/C,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,sCAAsC,EAC3D,MAAM,CAAC,CAAC,CAAC,gBAAM,SAAS,EAAC,YAAY,kCAAc,MAAM,IAAQ,CAAC,CAAC,CAAC,IAAI,EACxE,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,eAAM,SAAS,EAAC,qCAAqC,YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAQ,CACnF,IACI,EAKP,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,SAAS,EACd,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,gBACnB,SAAS,EACpB,OAAO,EAAC,SAAS,EACjB,aAAa,EAAC,KAAK,YAEnB,KAAC,CAAC,yBAAa,SAAS,EAAC,QAAQ,GAAG,GAC7B,IACL,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import './formKit.css';
|
|
3
|
+
export interface FormPreviewLayoutProps {
|
|
4
|
+
/** The configuration column — names, pickers, the short fields. */
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/** The live result of that configuration: the card, the canvas, the rendered thing. */
|
|
7
|
+
preview: ReactNode;
|
|
8
|
+
/** What the preview is — *"This is the card you will get"*. The wide column's heading and
|
|
9
|
+
* the narrow bar's label. Default "Preview". */
|
|
10
|
+
previewLabel?: string;
|
|
11
|
+
/**
|
|
12
|
+
* The one-line version of the preview, drawn in the narrow bar while it is folded — a mark
|
|
13
|
+
* and a name, an accent swatch. It is what lets somebody on a phone watch the change they
|
|
14
|
+
* are making without giving a third of the screen to the full card.
|
|
15
|
+
*/
|
|
16
|
+
previewSummary?: ReactNode;
|
|
17
|
+
/** Narrow only: whether the full preview starts unfolded. Default `false`. */
|
|
18
|
+
defaultPreviewOpen?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* A full-width block AFTER the split — a builder list whose rows hold several inline
|
|
21
|
+
* controls each and genuinely need the whole width, where the short fields above do not.
|
|
22
|
+
*/
|
|
23
|
+
below?: ReactNode;
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* DESIGN.md §6's creation layout — form beside its live preview — as a layout that can go
|
|
28
|
+
* anywhere, not only inside `Modal`'s `aside`.
|
|
29
|
+
*
|
|
30
|
+
* The owner's cb-form review (2026-09-30), on a template editor whose inputs ran the whole
|
|
31
|
+
* width of a wide dialog: *"Splits the top metadata panel into a configuration area
|
|
32
|
+
* (col-span-7) and an interactive … preview window (col-span-5). This handles the wide layout
|
|
33
|
+
* beautifully without leaving empty dead space on the right."* And for a phone: *"the live
|
|
34
|
+
* preview panel moves … to a sticky floating bar at the very top … This allows users to watch
|
|
35
|
+
* the card's accent colour and label adjust in real-time as they scroll."*
|
|
36
|
+
*
|
|
37
|
+
* - **Wide** (its container ≥ 52rem): twelve columns, the form on seven, the preview on five
|
|
38
|
+
* and sticky at the top of its column; `below` spans all twelve underneath.
|
|
39
|
+
* - **Narrow**: one column, the preview FIRST and pinned to the top of the scroll as a bar
|
|
40
|
+
* showing `previewSummary`; tapping it unfolds the full preview (capped at 45dvh, scrolling
|
|
41
|
+
* inside itself).
|
|
42
|
+
*
|
|
43
|
+
* Measured against its container, not the viewport, so the same editor is right in a wide
|
|
44
|
+
* dialog, a side panel and a phone sheet.
|
|
45
|
+
*
|
|
46
|
+
* Plain stylesheet (`formKit.css`) — draws without Tailwind; `cursedbelt/react/form-kit`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function FormPreviewLayout({ children, preview, previewLabel, previewSummary, defaultPreviewOpen, below, className, }: FormPreviewLayoutProps): import("react").JSX.Element;
|
|
49
|
+
//# sourceMappingURL=FormPreviewLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormPreviewLayout.d.ts","sourceRoot":"","sources":["../../../src/react/components/FormPreviewLayout.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,OAAO,CAAC;AAExD,OAAO,eAAe,CAAC;AAEvB,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,QAAQ,EAAE,SAAS,CAAC;IACpB,uFAAuF;IACvF,OAAO,EAAE,SAAS,CAAC;IACnB;qDACiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,OAAO,EACP,YAAwB,EACxB,cAAc,EACd,kBAA0B,EAC1B,KAAK,EACL,SAAS,GACV,EAAE,sBAAsB,+BAkCxB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDown } from 'lucide-react';
|
|
3
|
+
import { useId, useState } from 'react';
|
|
4
|
+
import { cn } from '../lib/cn.js';
|
|
5
|
+
import './formKit.css';
|
|
6
|
+
/**
|
|
7
|
+
* DESIGN.md §6's creation layout — form beside its live preview — as a layout that can go
|
|
8
|
+
* anywhere, not only inside `Modal`'s `aside`.
|
|
9
|
+
*
|
|
10
|
+
* The owner's cb-form review (2026-09-30), on a template editor whose inputs ran the whole
|
|
11
|
+
* width of a wide dialog: *"Splits the top metadata panel into a configuration area
|
|
12
|
+
* (col-span-7) and an interactive … preview window (col-span-5). This handles the wide layout
|
|
13
|
+
* beautifully without leaving empty dead space on the right."* And for a phone: *"the live
|
|
14
|
+
* preview panel moves … to a sticky floating bar at the very top … This allows users to watch
|
|
15
|
+
* the card's accent colour and label adjust in real-time as they scroll."*
|
|
16
|
+
*
|
|
17
|
+
* - **Wide** (its container ≥ 52rem): twelve columns, the form on seven, the preview on five
|
|
18
|
+
* and sticky at the top of its column; `below` spans all twelve underneath.
|
|
19
|
+
* - **Narrow**: one column, the preview FIRST and pinned to the top of the scroll as a bar
|
|
20
|
+
* showing `previewSummary`; tapping it unfolds the full preview (capped at 45dvh, scrolling
|
|
21
|
+
* inside itself).
|
|
22
|
+
*
|
|
23
|
+
* Measured against its container, not the viewport, so the same editor is right in a wide
|
|
24
|
+
* dialog, a side panel and a phone sheet.
|
|
25
|
+
*
|
|
26
|
+
* Plain stylesheet (`formKit.css`) — draws without Tailwind; `cursedbelt/react/form-kit`.
|
|
27
|
+
*/
|
|
28
|
+
export function FormPreviewLayout({ children, preview, previewLabel = 'Preview', previewSummary, defaultPreviewOpen = false, below, className, }) {
|
|
29
|
+
const [open, setOpen] = useState(defaultPreviewOpen);
|
|
30
|
+
const bodyId = useId();
|
|
31
|
+
return (_jsx("div", { className: cn('cbfk-split', className), "data-preview-open": open ? 'true' : 'false', children: _jsxs("div", { className: 'cbfk-split-grid', children: [_jsx("div", { className: 'cbfk-split-form', children: children }), _jsxs("section", { className: 'cbfk-split-preview', "aria-label": previewLabel, children: [_jsxs("button", {
|
|
32
|
+
// guardrails-ignore no-raw-action-button: the narrow preview's fold — presentational
|
|
33
|
+
// show/hide, no data-mutating intent; it must draw without Tailwind.
|
|
34
|
+
type: 'button', className: 'cbfk-split-bar', "aria-expanded": open, "aria-controls": bodyId, onClick: () => setOpen(!open), children: [_jsx("span", { className: 'cbfk-split-bar-label', children: previewLabel }), _jsx("span", { className: 'cbfk-split-bar-summary', children: previewSummary }), _jsx(ChevronDown, { "aria-hidden": true })] }), _jsx("p", { className: 'cbfk-split-head', children: previewLabel }), _jsx("div", { id: bodyId, className: 'cbfk-split-body', children: preview })] }), below ? _jsx("div", { className: 'cbfk-split-below', children: below }) : null] }) }));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=FormPreviewLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormPreviewLayout.js","sourceRoot":"","sources":["../../../src/react/components/FormPreviewLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAkB,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,eAAe,CAAC;AA0BvB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,QAAQ,EACR,OAAO,EACP,YAAY,GAAG,SAAS,EACxB,cAAc,EACd,kBAAkB,GAAG,KAAK,EAC1B,KAAK,EACL,SAAS,GACc;IACvB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IAEvB,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,uBAAqB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YACrF,eAAK,SAAS,EAAC,iBAAiB,aAC9B,cAAK,SAAS,EAAC,iBAAiB,YAAE,QAAQ,GAAO,EACjD,mBAAS,SAAS,EAAC,oBAAoB,gBAAa,YAAY,aAC9D;4BACE,qFAAqF;4BACrF,qEAAqE;4BACrE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gBAAgB,mBACX,IAAI,mBACJ,MAAM,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAE7B,eAAM,SAAS,EAAC,sBAAsB,YAAE,YAAY,GAAQ,EAC5D,eAAM,SAAS,EAAC,wBAAwB,YAAE,cAAc,GAAQ,EAChE,KAAC,WAAW,0BAAe,IACpB,EACT,YAAG,SAAS,EAAC,iBAAiB,YAAE,YAAY,GAAK,EACjD,cAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAC,iBAAiB,YACzC,OAAO,GACJ,IACE,EAIT,KAAK,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,kBAAkB,YAAE,KAAK,GAAO,CAAC,CAAC,CAAC,IAAI,IAC3D,GACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/react/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/react/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,KAAK,WAAW,EAAwD,MAAM,iBAAiB,CAAC;AAEzG,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC9E,qFAAqF;IACrF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC3D;;;4DAGwD;IACxD,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,EACpB,OAAO,EACP,SAAS,EACT,SAAS,EACT,IAAI,EACJ,SAAgB,EAChB,IAAW,EACX,GAAG,KAAK,EACT,EAAE,UAAU,+BAmBZ"}
|