@ebitex/forms-sdk 1.0.241 → 1.1.284
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 +59 -0
- package/dist/client.d.ts +14 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +15 -0
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/labels.d.ts +48 -0
- package/dist/labels.d.ts.map +1 -0
- package/dist/labels.js +27 -0
- package/dist/labels.js.map +1 -0
- package/dist/react/EbitexForm.d.ts +14 -1
- package/dist/react/EbitexForm.d.ts.map +1 -1
- package/dist/react/EbitexForm.js +62 -10
- package/dist/react/EbitexForm.js.map +1 -1
- package/dist/react/LookupField.d.ts +1 -1
- package/dist/react/LookupField.d.ts.map +1 -1
- package/dist/react/LookupField.js +6 -4
- package/dist/react/LookupField.js.map +1 -1
- package/dist/react/NodeList.d.ts +6 -2
- package/dist/react/NodeList.d.ts.map +1 -1
- package/dist/react/NodeList.js +8 -6
- package/dist/react/NodeList.js.map +1 -1
- package/dist/react/fields.d.ts +3 -0
- package/dist/react/fields.d.ts.map +1 -1
- package/dist/react/fields.js +11 -5
- package/dist/react/fields.js.map +1 -1
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/inputAttributes.d.ts +22 -0
- package/dist/react/inputAttributes.d.ts.map +1 -0
- package/dist/react/inputAttributes.js +58 -0
- package/dist/react/inputAttributes.js.map +1 -0
- package/dist/react/styles.css +66 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { DEFAULT_FORMS_LABELS, fillLabel } from '../labels.js';
|
|
3
4
|
const DEBOUNCE_MS = 200;
|
|
4
5
|
const DEFAULT_MIN_QUERY_LENGTH = 2;
|
|
5
6
|
/**
|
|
@@ -18,7 +19,8 @@ const DEFAULT_MIN_QUERY_LENGTH = 2;
|
|
|
18
19
|
* text) and `onExistingChange(true | false | null)` for the companion key (`true` picked, `false` typed,
|
|
19
20
|
* `null` empty). The latter is also written as a hidden input, so a native form submission carries it too.
|
|
20
21
|
*/
|
|
21
|
-
export function LookupFieldControl({ field, id, name, value, onChange, error, disabled, lookup, existing = null, onExistingChange, }) {
|
|
22
|
+
export function LookupFieldControl({ field, id, name, value, onChange, error, disabled, lookup, existing = null, onExistingChange, labels: givenLabels, }) {
|
|
23
|
+
const labels = givenLabels ?? DEFAULT_FORMS_LABELS;
|
|
22
24
|
const text = typeof value === 'string' ? value : '';
|
|
23
25
|
const listboxId = `${id}-listbox`;
|
|
24
26
|
const statusId = `${id}-status`;
|
|
@@ -170,14 +172,14 @@ export function LookupFieldControl({ field, id, name, value, onChange, error, di
|
|
|
170
172
|
}
|
|
171
173
|
}
|
|
172
174
|
const announcement = unavailable
|
|
173
|
-
?
|
|
175
|
+
? labels.lookupUnavailable
|
|
174
176
|
: search.status === 'loading'
|
|
175
177
|
? 'Searching.'
|
|
176
178
|
: listVisible
|
|
177
179
|
? `${matches.length} ${matches.length === 1 ? 'match' : 'matches'}, plus the option to use what you typed.`
|
|
178
180
|
: '';
|
|
179
181
|
const hiddenExisting = existing === null ? null : _jsx("input", { type: "hidden", name: `${name}-existing`, value: existing ? 'true' : 'false' });
|
|
180
|
-
return (_jsxs("div", { className: "ebitex-forms__field ebitex-forms__lookup", children: [_jsxs("label", { className: "ebitex-forms__label", htmlFor: id, children: [field.label, field.required ? (_jsxs("span", { className: "ebitex-forms__required", "aria-hidden": "true", children: [' ', "*"] })) : null] }), settled ? (_jsxs("div", { className: joinLookupClasses('ebitex-forms__lookup-chip', existing === true ? undefined : 'ebitex-forms__lookup-chip--new'), children: [_jsxs("div", { children: [_jsx("strong", { id: id, children: pickedLabel ?? text }), _jsx("span", { className: "ebitex-forms__lookup-chip-note", children: existing === true ?
|
|
182
|
+
return (_jsxs("div", { className: "ebitex-forms__field ebitex-forms__lookup", children: [_jsxs("label", { className: "ebitex-forms__label", htmlFor: id, children: [field.label, field.required ? (_jsxs("span", { className: "ebitex-forms__required", "aria-hidden": "true", children: [' ', "*"] })) : null] }), settled ? (_jsxs("div", { className: joinLookupClasses('ebitex-forms__lookup-chip', existing === true ? undefined : 'ebitex-forms__lookup-chip--new'), children: [_jsxs("div", { children: [_jsx("strong", { id: id, children: pickedLabel ?? text }), _jsx("span", { className: "ebitex-forms__lookup-chip-note", children: existing === true ? labels.lookupFound : labels.lookupNew })] }), _jsx("button", { type: "button", ref: changeRef, className: "ebitex-forms__button ebitex-forms__button--secondary", disabled: disabled, "aria-describedby": id, onClick: clear, children: "Change" }), _jsx("input", { type: "hidden", name: name, value: text })] })) : (_jsxs("div", { className: "ebitex-forms__lookup-box", children: [_jsx("input", { ref: inputRef, className: "ebitex-forms__control", id: id, name: name, type: "text", autoComplete: "off", spellCheck: false, value: text, required: field.required, "aria-required": field.required, "aria-invalid": error !== null, "aria-describedby": describedBy, disabled: disabled, ...(searchable
|
|
181
183
|
? {
|
|
182
184
|
role: 'combobox',
|
|
183
185
|
'aria-autocomplete': 'list',
|
|
@@ -193,7 +195,7 @@ export function LookupFieldControl({ field, id, name, value, onChange, error, di
|
|
|
193
195
|
}, onMouseMove: () => setActive(index), children: highlight(option.label, search.status === 'done' ? search.query : '') }, `${option.value}-${index}`))), _jsx("li", { id: `${id}-option-${newRowIndex}`, role: "option", "aria-selected": newRowIndex === active, className: "ebitex-forms__lookup-option ebitex-forms__lookup-option--new", onMouseDown: (event) => {
|
|
194
196
|
event.preventDefault();
|
|
195
197
|
pick(newRowIndex);
|
|
196
|
-
}, onMouseMove: () => setActive(newRowIndex), children:
|
|
198
|
+
}, onMouseMove: () => setActive(newRowIndex), children: fillLabel(labels.lookupUseNew, { text: text.trim() }) })] })) : null] })), unavailable ? (_jsx("p", { className: "ebitex-forms__lookup-notice", children: labels.lookupUnavailable })) : null, _jsx("div", { id: statusId, className: "ebitex-forms__visually-hidden", role: "status", "aria-live": "polite", children: announcement }), hiddenExisting, error !== null ? (_jsx("p", { className: "ebitex-forms__error", id: `${id}-error`, role: "alert", children: error })) : null] }));
|
|
197
199
|
}
|
|
198
200
|
function joinLookupClasses(...values) {
|
|
199
201
|
return values.filter(Boolean).join(' ');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LookupField.js","sourceRoot":"","sources":["../../src/react/LookupField.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LookupField.js","sourceRoot":"","sources":["../../src/react/LookupField.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/NodeList.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type FormsLabels } from '../labels.js';
|
|
1
2
|
import { type FormNode, type LookupSource, type SubmissionData, type ValidationErrors } from '../types.js';
|
|
2
3
|
import { type FieldComponents } from './fields.js';
|
|
3
4
|
/**
|
|
@@ -7,7 +8,7 @@ import { type FieldComponents } from './fields.js';
|
|
|
7
8
|
* `fetch`-driven submit state machine but needs this exact tree walk to avoid a second/third
|
|
8
9
|
* implementation of it. Extracted here specifically so it's importable without `EbitexForm` itself.
|
|
9
10
|
*/
|
|
10
|
-
export declare function NodeList({ nodes, baseId, data, errors, disabled, fieldComponents, lookup, onChange, }: {
|
|
11
|
+
export declare function NodeList({ nodes, baseId, data, errors, disabled, fieldComponents, lookup, labels, onChange, }: {
|
|
11
12
|
nodes: FormNode[];
|
|
12
13
|
baseId: string;
|
|
13
14
|
data: SubmissionData;
|
|
@@ -16,12 +17,15 @@ export declare function NodeList({ nodes, baseId, data, errors, disabled, fieldC
|
|
|
16
17
|
fieldComponents?: FieldComponents;
|
|
17
18
|
/** Searches the options of a `Lookup` field as the respondent types; without one such a field is a plain text input. */
|
|
18
19
|
lookup?: LookupSource;
|
|
20
|
+
/** The form's strings; absent means the English defaults. */
|
|
21
|
+
labels?: FormsLabels;
|
|
19
22
|
onChange: (key: string, value: SubmissionData[string]) => void;
|
|
20
23
|
}): import("react").JSX.Element;
|
|
21
24
|
/** The Form's own configured Submit/Reset controls, shown on the final step. */
|
|
22
|
-
export declare function ActionButtons({ nodes, disabled }: {
|
|
25
|
+
export declare function ActionButtons({ nodes, disabled, labels }: {
|
|
23
26
|
nodes: FormNode[];
|
|
24
27
|
disabled: boolean;
|
|
28
|
+
labels?: FormsLabels;
|
|
25
29
|
}): import("react").JSX.Element;
|
|
26
30
|
export declare function joinClassNames(...values: (string | undefined)[]): string;
|
|
27
31
|
//# sourceMappingURL=NodeList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../src/react/NodeList.tsx"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnI,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AAEpB;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,eAAe,EACf,MAAM,EACN,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAA;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,wHAAwH;IACxH,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;CAC/D,+
|
|
1
|
+
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../src/react/NodeList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAA2B,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnI,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AAEpB;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,eAAe,EACf,MAAM,EACN,MAAM,EACN,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAA;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,wHAAwH;IACxH,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;CAC/D,+BAoHA;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,+BA8BxH;AAED,wBAAgB,cAAc,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAExE"}
|
package/dist/react/NodeList.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { resolveVariant } from '../nodes.js';
|
|
3
|
+
import { DEFAULT_FORMS_LABELS } from '../labels.js';
|
|
3
4
|
import { LOOKUP_COMPANION_SUFFIX } from '../types.js';
|
|
4
5
|
import { ChoiceFieldControl, InputFieldControl, NumberFieldControl, TextareaFieldControl, } from './fields.js';
|
|
5
6
|
/**
|
|
@@ -9,21 +10,21 @@ import { ChoiceFieldControl, InputFieldControl, NumberFieldControl, TextareaFiel
|
|
|
9
10
|
* `fetch`-driven submit state machine but needs this exact tree walk to avoid a second/third
|
|
10
11
|
* implementation of it. Extracted here specifically so it's importable without `EbitexForm` itself.
|
|
11
12
|
*/
|
|
12
|
-
export function NodeList({ nodes, baseId, data, errors, disabled, fieldComponents, lookup, onChange, }) {
|
|
13
|
+
export function NodeList({ nodes, baseId, data, errors, disabled, fieldComponents, lookup, labels, onChange, }) {
|
|
13
14
|
return (_jsx(_Fragment, { children: nodes.map((node, index) => {
|
|
14
15
|
if (node.nodeType === 'Fieldset') {
|
|
15
|
-
return (_jsxs("fieldset", { className: "ebitex-forms__fieldset", children: [_jsx("legend", { children: node.legend }), _jsx(NodeList, { nodes: node.nodes, baseId: baseId, data: data, errors: errors, disabled: disabled, fieldComponents: fieldComponents, lookup: lookup, onChange: onChange })] }, `fieldset-${index}`));
|
|
16
|
+
return (_jsxs("fieldset", { className: "ebitex-forms__fieldset", children: [_jsx("legend", { children: node.legend }), _jsx(NodeList, { nodes: node.nodes, baseId: baseId, data: data, errors: errors, disabled: disabled, fieldComponents: fieldComponents, lookup: lookup, labels: labels, onChange: onChange })] }, `fieldset-${index}`));
|
|
16
17
|
}
|
|
17
18
|
if (node.nodeType === 'Row') {
|
|
18
19
|
// Horizontal on wide viewports, single column on narrow — see styles.css.
|
|
19
|
-
return (_jsx("div", { className: "ebitex-forms__row", children: _jsx(NodeList, { nodes: node.nodes, baseId: baseId, data: data, errors: errors, disabled: disabled, fieldComponents: fieldComponents, lookup: lookup, onChange: onChange }) }, `row-${index}`));
|
|
20
|
+
return (_jsx("div", { className: "ebitex-forms__row", children: _jsx(NodeList, { nodes: node.nodes, baseId: baseId, data: data, errors: errors, disabled: disabled, fieldComponents: fieldComponents, lookup: lookup, labels: labels, onChange: onChange }) }, `row-${index}`));
|
|
20
21
|
}
|
|
21
22
|
if (node.nodeType === 'Variant') {
|
|
22
23
|
// Re-evaluated on every render as `data` changes, so the visible branch updates live as
|
|
23
24
|
// the respondent answers the controlling field (spec 111-conditional-fields). The chosen
|
|
24
25
|
// branch's/fallback's own node list (spec 113-variant-branch-refinements) may be empty —
|
|
25
26
|
// NodeList over an empty array renders nothing, same as the old `null` case did.
|
|
26
|
-
return (_jsx(NodeList, { nodes: resolveVariant(node, data), baseId: baseId, data: data, errors: errors, disabled: disabled, fieldComponents: fieldComponents, lookup: lookup, onChange: onChange }, `variant-${index}`));
|
|
27
|
+
return (_jsx(NodeList, { nodes: resolveVariant(node, data), baseId: baseId, data: data, errors: errors, disabled: disabled, fieldComponents: fieldComponents, lookup: lookup, labels: labels, onChange: onChange }, `variant-${index}`));
|
|
27
28
|
}
|
|
28
29
|
if (node.fieldType === 'Button') {
|
|
29
30
|
// Buttons inside a step's tree are the Form's own Actions, rendered by ActionButtons.
|
|
@@ -40,6 +41,7 @@ export function NodeList({ nodes, baseId, data, errors, disabled, fieldComponent
|
|
|
40
41
|
value: data[key] ?? null,
|
|
41
42
|
error,
|
|
42
43
|
disabled,
|
|
44
|
+
labels,
|
|
43
45
|
onChange: (value) => onChange(key, value),
|
|
44
46
|
};
|
|
45
47
|
switch (node.fieldType) {
|
|
@@ -64,10 +66,10 @@ export function NodeList({ nodes, baseId, data, errors, disabled, fieldComponent
|
|
|
64
66
|
}) }));
|
|
65
67
|
}
|
|
66
68
|
/** The Form's own configured Submit/Reset controls, shown on the final step. */
|
|
67
|
-
export function ActionButtons({ nodes, disabled }) {
|
|
69
|
+
export function ActionButtons({ nodes, disabled, labels }) {
|
|
68
70
|
const buttons = nodes.filter((node) => node.nodeType === 'Field' && node.fieldType === 'Button');
|
|
69
71
|
if (buttons.length === 0) {
|
|
70
|
-
return (_jsx("button", { type: "submit", className: "ebitex-forms__button", disabled: disabled, children:
|
|
72
|
+
return (_jsx("button", { type: "submit", className: "ebitex-forms__button", disabled: disabled, children: (labels ?? DEFAULT_FORMS_LABELS).submit }));
|
|
71
73
|
}
|
|
72
74
|
return (_jsx(_Fragment, { children: buttons.map((button, index) => (_jsx("button", { type: button.buttonType === 'Reset' ? 'reset' : button.buttonType === 'Button' ? 'button' : 'submit', className: joinClassNames('ebitex-forms__button', button.buttonType !== 'Submit' ? 'ebitex-forms__button--secondary' : undefined), disabled: disabled, children: button.label }, `${button.label}-${index}`))) }));
|
|
73
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeList.js","sourceRoot":"","sources":["../../src/react/NodeList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAgF,MAAM,aAAa,CAAA;AACnI,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,aAAa,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,eAAe,EACf,MAAM,EACN,QAAQ,
|
|
1
|
+
{"version":3,"file":"NodeList.js","sourceRoot":"","sources":["../../src/react/NodeList.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/fields.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ChoiceField, InputField, LookupSource, NumberField, SubmissionData, TextareaField } from '../types.js';
|
|
2
|
+
import { type FormsLabels } from '../labels.js';
|
|
2
3
|
/**
|
|
3
4
|
* What every field component receives. A consumer overriding one via `fieldComponents` implements
|
|
4
5
|
* this same contract, so an override is a drop-in rather than a fork of the surrounding form.
|
|
@@ -19,6 +20,8 @@ export interface FieldComponentProps<TField> {
|
|
|
19
20
|
/** A validation message for this field, or `null`. Render it and reference it via `aria-describedby`. */
|
|
20
21
|
error: string | null;
|
|
21
22
|
disabled: boolean;
|
|
23
|
+
/** The form's strings (the `labels` prop over the English defaults). Absent when a field is rendered outside `EbitexForm`: use the defaults. */
|
|
24
|
+
labels?: FormsLabels;
|
|
22
25
|
}
|
|
23
26
|
/**
|
|
24
27
|
* What a `Choice` component receives: everything every field gets, plus what a `Lookup` needs. A component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/react/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/react/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAIrE;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,MAAM;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,iGAAiG;IACjG,EAAE,EAAE,MAAM,CAAA;IACV;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;IACjD,yGAAyG;IACzG,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,gJAAgJ;IAChJ,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB,CAAC,WAAW,CAAC;IACjF,sGAAsG;IACtG,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACzB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;CACtD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAA;IAClE,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9D,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAA;CACxD;AAuCD,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,mBAAmB,CAAC,UAAU,CAAC,+BA0BvH;AAED,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,mBAAmB,CAAC,aAAa,CAAC,+BAyB7H;AAED,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,mBAAmB,CAAC,WAAW,CAAC,+BA+BzH;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,yBAAyB,+BAqGlE"}
|
package/dist/react/fields.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { DEFAULT_FORMS_LABELS } from '../labels.js';
|
|
3
|
+
import { inputAttributes } from './inputAttributes.js';
|
|
2
4
|
import { LookupFieldControl } from './LookupField.js';
|
|
3
5
|
const INPUT_TYPES = {
|
|
4
6
|
Text: 'text',
|
|
@@ -21,31 +23,35 @@ function ErrorMessage({ id, error }) {
|
|
|
21
23
|
return (_jsx("p", { className: "ebitex-forms__error", id: `${id}-error`, children: error }));
|
|
22
24
|
}
|
|
23
25
|
export function InputFieldControl({ field, id, name, value, onChange, error, disabled }) {
|
|
24
|
-
|
|
26
|
+
const attributes = inputAttributes(field);
|
|
27
|
+
return (_jsxs("div", { className: "ebitex-forms__field", children: [_jsx(Label, { id: id, required: field.required, children: field.label }), _jsx("input", { className: "ebitex-forms__control", id: id, name: name, type: INPUT_TYPES[field.variant], autoComplete: attributes.autoComplete, inputMode: attributes.inputMode, value: typeof value === 'string' ? value : '', placeholder: field.placeholder ?? undefined, required: field.required, "aria-required": field.required, "aria-invalid": error !== null, "aria-describedby": error !== null ? `${id}-error` : undefined, disabled: disabled, onChange: (event) => onChange(event.target.value) }), _jsx(ErrorMessage, { id: id, error: error })] }));
|
|
25
28
|
}
|
|
26
29
|
export function TextareaFieldControl({ field, id, name, value, onChange, error, disabled }) {
|
|
27
|
-
|
|
30
|
+
const attributes = inputAttributes(field);
|
|
31
|
+
return (_jsxs("div", { className: "ebitex-forms__field", children: [_jsx(Label, { id: id, required: field.required, children: field.label }), _jsx("textarea", { className: "ebitex-forms__control", id: id, name: name, rows: field.rows ?? 4, autoComplete: attributes.autoComplete, value: typeof value === 'string' ? value : '', placeholder: field.placeholder ?? undefined, required: field.required, "aria-required": field.required, "aria-invalid": error !== null, "aria-describedby": error !== null ? `${id}-error` : undefined, disabled: disabled, onChange: (event) => onChange(event.target.value) }), _jsx(ErrorMessage, { id: id, error: error })] }));
|
|
28
32
|
}
|
|
29
33
|
export function NumberFieldControl({ field, id, name, value, onChange, error, disabled }) {
|
|
30
|
-
|
|
34
|
+
const attributes = inputAttributes(field);
|
|
35
|
+
return (_jsxs("div", { className: "ebitex-forms__field", children: [_jsx(Label, { id: id, required: field.required, children: field.label }), _jsx("input", { className: "ebitex-forms__control", id: id, name: name, type: "number", autoComplete: attributes.autoComplete, inputMode: attributes.inputMode, value: value === null || value === undefined ? '' : String(value), placeholder: field.placeholder ?? undefined, min: field.min ?? undefined, max: field.max ?? undefined, step: field.step ?? undefined, required: field.required, "aria-required": field.required, "aria-invalid": error !== null, "aria-describedby": error !== null ? `${id}-error` : undefined, disabled: disabled,
|
|
31
36
|
// Kept as a string rather than coerced here: the server accepts a numeric string, and
|
|
32
37
|
// coercing would turn a half-typed "-" or "1." into NaN mid-keystroke.
|
|
33
38
|
onChange: (event) => onChange(event.target.value) }), _jsx(ErrorMessage, { id: id, error: error })] }));
|
|
34
39
|
}
|
|
35
40
|
export function ChoiceFieldControl(props) {
|
|
36
41
|
const { field, id, name, value, onChange, error, disabled } = props;
|
|
42
|
+
const labels = props.labels ?? DEFAULT_FORMS_LABELS;
|
|
37
43
|
const describedBy = error !== null ? `${id}-error` : undefined;
|
|
38
44
|
if (field.choiceType === 'Lookup') {
|
|
39
45
|
return _jsx(LookupFieldControl, { ...props });
|
|
40
46
|
}
|
|
41
47
|
if (field.choiceType === 'Select') {
|
|
42
|
-
return (_jsxs("div", { className: "ebitex-forms__field", children: [_jsx(Label, { id: id, required: field.required, children: field.label }), _jsxs("select", { className: "ebitex-forms__control", id: id, name: name, value: typeof value === 'string' ? value : '', required: field.required, "aria-required": field.required, "aria-invalid": error !== null, "aria-describedby": describedBy, disabled: disabled, onChange: (event) => onChange(event.target.value), children: [_jsx("option", { value: "", children:
|
|
48
|
+
return (_jsxs("div", { className: "ebitex-forms__field", children: [_jsx(Label, { id: id, required: field.required, children: field.label }), _jsxs("select", { className: "ebitex-forms__control", id: id, name: name, value: typeof value === 'string' ? value : '', required: field.required, "aria-required": field.required, "aria-invalid": error !== null, "aria-describedby": describedBy, disabled: disabled, onChange: (event) => onChange(event.target.value), children: [_jsx("option", { value: "", children: labels.select }), field.options.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value)))] }), _jsx(ErrorMessage, { id: id, error: error })] }));
|
|
43
49
|
}
|
|
44
50
|
const selected = Array.isArray(value) ? value : typeof value === 'string' && value !== '' ? [value] : [];
|
|
45
51
|
// A radio/checkbox group is a group of controls, not one labelled control — so the visible label
|
|
46
52
|
// becomes a <legend> inside a <fieldset>, which is what actually associates it with every option
|
|
47
53
|
// for a screen reader.
|
|
48
|
-
return (_jsxs("fieldset", { className: "ebitex-forms__field ebitex-forms__group", "aria-invalid": error !== null, "aria-describedby": describedBy, disabled: disabled, children: [_jsxs("legend", { className: "ebitex-forms__label", children: [field.label, field.required ? (_jsxs(_Fragment, { children: [_jsxs("span", { className: "ebitex-forms__required", "aria-hidden": "true", children: [' ', "*"] }),
|
|
54
|
+
return (_jsxs("fieldset", { id: id, className: "ebitex-forms__field ebitex-forms__group", "aria-invalid": error !== null, "aria-describedby": describedBy, disabled: disabled, children: [_jsxs("legend", { className: "ebitex-forms__label", children: [field.label, field.required ? (_jsxs(_Fragment, { children: [_jsxs("span", { className: "ebitex-forms__required", "aria-hidden": "true", children: [' ', "*"] }), _jsxs("span", { className: "ebitex-forms__visually-hidden", children: [" ", labels.requiredHint] })] })) : null] }), field.options.map((option) => {
|
|
49
55
|
const optionId = `${id}-${option.value}`;
|
|
50
56
|
const isCheckbox = field.choiceType === 'Checkbox';
|
|
51
57
|
return (_jsxs("div", { className: "ebitex-forms__option", children: [_jsx("input", { id: optionId, type: isCheckbox ? 'checkbox' : 'radio',
|
package/dist/react/fields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/react/fields.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/react/fields.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
export { EbitexForm, FORM_SUBMITTED_EVENT, type EbitexFormProps } from './EbitexForm.js';
|
|
9
9
|
export { ChoiceFieldControl, InputFieldControl, NumberFieldControl, TextareaFieldControl, type ChoiceFieldComponentProps, type FieldComponentProps, type FieldComponents, } from './fields.js';
|
|
10
10
|
export { LookupFieldControl } from './LookupField.js';
|
|
11
|
+
export { DEFAULT_FORMS_LABELS, fillLabel, resolveLabels, type FormsLabels } from '../labels.js';
|
|
12
|
+
export { AUTOCOMPLETE_PURPOSES, inputAttributes, type InputAttributes } from './inputAttributes.js';
|
|
11
13
|
/**
|
|
12
14
|
* The recursive Fieldset/Row/Variant/field-dispatch tree walk `EbitexForm` itself renders through —
|
|
13
15
|
* exported so a host that needs the same field-tree rendering without `EbitexForm`'s own
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAExF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAExF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEnG;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/react/index.js
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
export { EbitexForm, FORM_SUBMITTED_EVENT } from './EbitexForm.js';
|
|
9
9
|
export { ChoiceFieldControl, InputFieldControl, NumberFieldControl, TextareaFieldControl, } from './fields.js';
|
|
10
10
|
export { LookupFieldControl } from './LookupField.js';
|
|
11
|
+
export { DEFAULT_FORMS_LABELS, fillLabel, resolveLabels } from '../labels.js';
|
|
12
|
+
export { AUTOCOMPLETE_PURPOSES, inputAttributes } from './inputAttributes.js';
|
|
11
13
|
/**
|
|
12
14
|
* The recursive Fieldset/Row/Variant/field-dispatch tree walk `EbitexForm` itself renders through —
|
|
13
15
|
* exported so a host that needs the same field-tree rendering without `EbitexForm`'s own
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAwB,MAAM,iBAAiB,CAAA;AAExF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GAIrB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAmD,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAwB,MAAM,iBAAiB,CAAA;AAExF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GAIrB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAoB,MAAM,cAAc,CAAA;AAC/F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAwB,MAAM,sBAAsB,CAAA;AAEnG;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,oBAAoB,EAAmD,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { InputField, NumberField, TextareaField } from '../types.js';
|
|
2
|
+
type TextualField = InputField | TextareaField | NumberField;
|
|
3
|
+
/** What a rendered control needs so a phone shows the right keypad and a browser can autofill it. */
|
|
4
|
+
export interface InputAttributes {
|
|
5
|
+
autoComplete?: string;
|
|
6
|
+
inputMode?: 'email' | 'tel' | 'url' | 'numeric' | 'decimal';
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The autofill purposes a field's `autocompletePurpose` may name: the tokens of the HTML autofill list that
|
|
10
|
+
* suit a public form, plus `off`. Anything else is ignored rather than written to the page, because an
|
|
11
|
+
* unknown token makes the whole attribute invalid and the browser then ignores it.
|
|
12
|
+
*/
|
|
13
|
+
export declare const AUTOCOMPLETE_PURPOSES: readonly string[];
|
|
14
|
+
/**
|
|
15
|
+
* The attributes for one field. The type decides the default (an email field is `email`/`email`, a phone
|
|
16
|
+
* field `tel`/`tel`, a URL field `url`/`url`, a number `numeric` or, when it takes fractions, `decimal`), and a
|
|
17
|
+
* field's `autocompletePurpose` overrides the autofill token: `off` turns autofill off, and a name, address or
|
|
18
|
+
* organization token (`given-name`, `postal-code`, ...) says what a plain text field holds.
|
|
19
|
+
*/
|
|
20
|
+
export declare function inputAttributes(field: TextualField): InputAttributes;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=inputAttributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputAttributes.d.ts","sourceRoot":"","sources":["../../src/react/inputAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEzE,KAAK,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAA;AAE5D,qGAAqG;AACrG,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAA;CAC5D;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EA0BlD,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,CAgBpE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The autofill purposes a field's `autocompletePurpose` may name: the tokens of the HTML autofill list that
|
|
3
|
+
* suit a public form, plus `off`. Anything else is ignored rather than written to the page, because an
|
|
4
|
+
* unknown token makes the whole attribute invalid and the browser then ignores it.
|
|
5
|
+
*/
|
|
6
|
+
export const AUTOCOMPLETE_PURPOSES = [
|
|
7
|
+
'off',
|
|
8
|
+
'name',
|
|
9
|
+
'honorific-prefix',
|
|
10
|
+
'given-name',
|
|
11
|
+
'additional-name',
|
|
12
|
+
'family-name',
|
|
13
|
+
'honorific-suffix',
|
|
14
|
+
'nickname',
|
|
15
|
+
'email',
|
|
16
|
+
'username',
|
|
17
|
+
'organization-title',
|
|
18
|
+
'organization',
|
|
19
|
+
'street-address',
|
|
20
|
+
'address-line1',
|
|
21
|
+
'address-line2',
|
|
22
|
+
'address-line3',
|
|
23
|
+
'address-level1',
|
|
24
|
+
'address-level2',
|
|
25
|
+
'postal-code',
|
|
26
|
+
'country',
|
|
27
|
+
'country-name',
|
|
28
|
+
'bday',
|
|
29
|
+
'tel',
|
|
30
|
+
'tel-national',
|
|
31
|
+
'url',
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* The attributes for one field. The type decides the default (an email field is `email`/`email`, a phone
|
|
35
|
+
* field `tel`/`tel`, a URL field `url`/`url`, a number `numeric` or, when it takes fractions, `decimal`), and a
|
|
36
|
+
* field's `autocompletePurpose` overrides the autofill token: `off` turns autofill off, and a name, address or
|
|
37
|
+
* organization token (`given-name`, `postal-code`, ...) says what a plain text field holds.
|
|
38
|
+
*/
|
|
39
|
+
export function inputAttributes(field) {
|
|
40
|
+
const attributes = {};
|
|
41
|
+
if (field.fieldType === 'Input') {
|
|
42
|
+
if (field.variant === 'Email')
|
|
43
|
+
Object.assign(attributes, { autoComplete: 'email', inputMode: 'email' });
|
|
44
|
+
else if (field.variant === 'Tel')
|
|
45
|
+
Object.assign(attributes, { autoComplete: 'tel', inputMode: 'tel' });
|
|
46
|
+
else if (field.variant === 'Url')
|
|
47
|
+
Object.assign(attributes, { autoComplete: 'url', inputMode: 'url' });
|
|
48
|
+
}
|
|
49
|
+
else if (field.fieldType === 'Number') {
|
|
50
|
+
const step = field.step ?? 1;
|
|
51
|
+
attributes.inputMode = Number.isInteger(step) && Number.isInteger(field.min ?? 0) ? 'numeric' : 'decimal';
|
|
52
|
+
}
|
|
53
|
+
const purpose = field.autocompletePurpose?.trim().toLowerCase();
|
|
54
|
+
if (purpose && AUTOCOMPLETE_PURPOSES.includes(purpose))
|
|
55
|
+
attributes.autoComplete = purpose;
|
|
56
|
+
return attributes;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=inputAttributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputAttributes.js","sourceRoot":"","sources":["../../src/react/inputAttributes.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,KAAK;IACL,MAAM;IACN,kBAAkB;IAClB,YAAY;IACZ,iBAAiB;IACjB,aAAa;IACb,kBAAkB;IAClB,UAAU;IACV,OAAO;IACP,UAAU;IACV,oBAAoB;IACpB,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,cAAc;IACd,MAAM;IACN,KAAK;IACL,cAAc;IACd,KAAK;CACN,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,MAAM,UAAU,GAAoB,EAAE,CAAA;IAEtC,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;aAClG,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;aACjG,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;IACxG,CAAC;SAAM,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAA;QAC5B,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3G,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC/D,IAAI,OAAO,IAAI,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,UAAU,CAAC,YAAY,GAAG,OAAO,CAAA;IAEzF,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
package/dist/react/styles.css
CHANGED
|
@@ -84,6 +84,22 @@
|
|
|
84
84
|
--ebitex-forms-mark: #854d0e;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
/*
|
|
88
|
+
* The text on the accent fill in dark mode. The dark accent (#3b82f6) is lighter than the light one, so the
|
|
89
|
+
* light mode's white text on it measured about 3.7:1, below WCAG AA's 4.5:1 for button text; a near-black
|
|
90
|
+
* clears it. This is only for the package's own default accent: a themed form (`.ebitex-forms--themed`) brings
|
|
91
|
+
* its own accent and keeps the contrast colour it had. theme-contrast.test.ts holds every pair above 4.5:1.
|
|
92
|
+
*/
|
|
93
|
+
@media (prefers-color-scheme: dark) {
|
|
94
|
+
.ebitex-forms:not([data-ebitex-theme='light']):not(.ebitex-forms--themed) {
|
|
95
|
+
--ebitex-forms-accent-contrast: #020617;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.dark .ebitex-forms:not([data-ebitex-theme='light']):not(.ebitex-forms--themed) {
|
|
100
|
+
--ebitex-forms-accent-contrast: #020617;
|
|
101
|
+
}
|
|
102
|
+
|
|
87
103
|
/*
|
|
88
104
|
* The light half of the `.dark` rule below, and it must come first. The hosted app's build runs this
|
|
89
105
|
* file through lightningcss, which rewrites `light-dark()` (used by `.ebitex-forms--themed`) into a
|
|
@@ -342,6 +358,42 @@
|
|
|
342
358
|
margin: 0;
|
|
343
359
|
}
|
|
344
360
|
|
|
361
|
+
/* Shown when two or more fields need fixing, above the step. It is an alert, so it is read out as it appears. */
|
|
362
|
+
.ebitex-forms__summary {
|
|
363
|
+
border: 1px solid var(--ebitex-forms-error);
|
|
364
|
+
border-radius: var(--ebitex-forms-radius);
|
|
365
|
+
color: var(--ebitex-forms-error);
|
|
366
|
+
padding: 0.75rem 1rem;
|
|
367
|
+
font-size: 0.875rem;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.ebitex-forms__summary-title {
|
|
371
|
+
font-weight: 600;
|
|
372
|
+
margin: 0 0 0.25rem;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.ebitex-forms__summary ul {
|
|
376
|
+
margin: 0;
|
|
377
|
+
padding-inline-start: 1.25rem;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.ebitex-forms__summary a {
|
|
381
|
+
color: inherit;
|
|
382
|
+
text-decoration: underline;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/* Shown when the answers could not be sent at all. */
|
|
386
|
+
.ebitex-forms__failure {
|
|
387
|
+
color: var(--ebitex-forms-error);
|
|
388
|
+
font-size: 0.875rem;
|
|
389
|
+
margin: 0;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/* The step progress text takes focus when the step changes; it is not a control, so it needs no ring of its own. */
|
|
393
|
+
.ebitex-forms__step-indicator:focus {
|
|
394
|
+
outline: none;
|
|
395
|
+
}
|
|
396
|
+
|
|
345
397
|
.ebitex-forms__complete {
|
|
346
398
|
font-size: 0.9375rem;
|
|
347
399
|
margin: 0;
|
|
@@ -410,3 +462,17 @@
|
|
|
410
462
|
outline: 2px solid var(--ebitex-forms-accent);
|
|
411
463
|
outline-offset: 2px;
|
|
412
464
|
}
|
|
465
|
+
|
|
466
|
+
/*
|
|
467
|
+
* Nothing in this package animates except the lookup spinner, and a reader who asks for reduced motion gets
|
|
468
|
+
* that stopped too (above). This covers the rest: no transition or animation a theme or a host adds inside the
|
|
469
|
+
* form runs for them either.
|
|
470
|
+
*/
|
|
471
|
+
@media (prefers-reduced-motion: reduce) {
|
|
472
|
+
.ebitex-forms *,
|
|
473
|
+
.ebitex-forms *::before,
|
|
474
|
+
.ebitex-forms *::after {
|
|
475
|
+
animation: none !important;
|
|
476
|
+
transition: none !important;
|
|
477
|
+
}
|
|
478
|
+
}
|
package/dist/types.d.ts
CHANGED
|
@@ -42,6 +42,11 @@ export interface InputField extends FieldBase {
|
|
|
42
42
|
required: boolean;
|
|
43
43
|
variant: InputVariant;
|
|
44
44
|
placeholder?: string | null;
|
|
45
|
+
/**
|
|
46
|
+
* What this field holds, as an HTML autofill token (`given-name`, `postal-code`, `organization`, ...), or `off` to
|
|
47
|
+
* turn autofill off. Overrides the default for the field's type. Absent: the type's default.
|
|
48
|
+
*/
|
|
49
|
+
autocompletePurpose?: string | null;
|
|
45
50
|
}
|
|
46
51
|
export interface TextareaField extends FieldBase {
|
|
47
52
|
fieldType: 'Textarea';
|
|
@@ -49,6 +54,11 @@ export interface TextareaField extends FieldBase {
|
|
|
49
54
|
required: boolean;
|
|
50
55
|
placeholder?: string | null;
|
|
51
56
|
rows?: number | null;
|
|
57
|
+
/**
|
|
58
|
+
* What this field holds, as an HTML autofill token (`given-name`, `postal-code`, `organization`, ...), or `off` to
|
|
59
|
+
* turn autofill off. Overrides the default for the field's type. Absent: the type's default.
|
|
60
|
+
*/
|
|
61
|
+
autocompletePurpose?: string | null;
|
|
52
62
|
}
|
|
53
63
|
export interface NumberField extends FieldBase {
|
|
54
64
|
fieldType: 'Number';
|
|
@@ -58,6 +68,11 @@ export interface NumberField extends FieldBase {
|
|
|
58
68
|
min?: number | null;
|
|
59
69
|
max?: number | null;
|
|
60
70
|
step?: number | null;
|
|
71
|
+
/**
|
|
72
|
+
* What this field holds, as an HTML autofill token (`given-name`, `postal-code`, `organization`, ...), or `off` to
|
|
73
|
+
* turn autofill off. Overrides the default for the field's type. Absent: the type's default.
|
|
74
|
+
*/
|
|
75
|
+
autocompletePurpose?: string | null;
|
|
61
76
|
}
|
|
62
77
|
export interface ChoiceField extends FieldBase {
|
|
63
78
|
fieldType: 'Choice';
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,CAAA;AAExE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEnE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEtD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,UAAU,SAAS;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,YAAY,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|