foldkit 0.66.0 → 0.68.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/fieldValidation/index.d.ts +9 -0
- package/dist/fieldValidation/index.d.ts.map +1 -1
- package/dist/fieldValidation/index.js +9 -0
- package/dist/fieldValidation/public.d.ts +1 -1
- package/dist/fieldValidation/public.d.ts.map +1 -1
- package/dist/fieldValidation/public.js +1 -1
- package/dist/navigation/index.d.ts +3 -0
- package/dist/navigation/index.d.ts.map +1 -1
- package/dist/navigation/index.js +5 -0
- package/dist/navigation/public.d.ts +1 -1
- package/dist/navigation/public.d.ts.map +1 -1
- package/dist/navigation/public.js +1 -1
- package/package.json +1 -1
|
@@ -80,9 +80,18 @@ export declare const isValid: (rules: Rules) => (state: Field) => boolean;
|
|
|
80
80
|
/** Returns true when the rules mark the field as required. Useful for
|
|
81
81
|
* rendering affordances like a `*` next to required field labels. */
|
|
82
82
|
export declare const isRequired: (rules: Rules) => boolean;
|
|
83
|
+
/** Returns true when the state's tag is `Invalid`. Tag-only predicate;
|
|
84
|
+
* unlike `!isValid(rules)(state)`, this does not treat `NotValidated`
|
|
85
|
+
* or `Validating` as errors. Use for "has the user seen a rule failure
|
|
86
|
+
* on this field?" affordances like red borders or per-step error
|
|
87
|
+
* indicators. */
|
|
88
|
+
export declare const isInvalid: (state: Field) => boolean;
|
|
83
89
|
/** Returns true when every `(state, rules)` pair in the input is
|
|
84
90
|
* acceptable per `isValid`. Use for form-level submit gates. */
|
|
85
91
|
export declare const allValid: (pairs: ReadonlyArray<readonly [Field, Rules]>) => boolean;
|
|
92
|
+
/** Returns true when any state in the input has tag `Invalid`. Use for
|
|
93
|
+
* "this step/section has errors" affordances, independent of rules. */
|
|
94
|
+
export declare const anyInvalid: (states: ReadonlyArray<Field>) => boolean;
|
|
86
95
|
/** Creates a `Rule` that checks if a string meets a minimum length. */
|
|
87
96
|
export declare const minLength: (min: number, message?: RuleMessage) => Rule;
|
|
88
97
|
/** Creates a `Rule` that checks if a string does not exceed a maximum length. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fieldValidation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACN,SAAS,EACT,MAAM,IAAI,CAAC,EAIZ,MAAM,QAAQ,CAAA;AAOf,0GAA0G;AAC1G,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;AAE9D,0EAA0E;AAC1E,MAAM,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAA;AAEtE,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,EAAE,OAAO,MAAM,KAAG,MACb,CAAA;AAIxD,4DAA4D;AAC5D,eAAO,MAAM,YAAY;;EAA0C,CAAA;AAEnE,6DAA6D;AAC7D,eAAO,MAAM,UAAU;;EAAwC,CAAA;AAE/D,4CAA4C;AAC5C,eAAO,MAAM,KAAK;;EAAmC,CAAA;AAErD,yFAAyF;AACzF,eAAO,MAAM,OAAO;;;EAGlB,CAAA;AAEF,yEAAyE;AACzE,eAAO,MAAM,KAAK;;;;;;;;;IAAoD,CAAA;AACtE,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAIrC;;;;2EAI2E;AAC3E,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC3C,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CACpC,CAAC,CAAA;AAEF,uCAAuC;AACvC,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC;;;uDAGmD;IACnD,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAC3B;;mDAE+C;IAC/C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CACrC,CAAC,CAAA;AAEF,eAAO,MAAM,SAAS,GAAI,UAAS,gBAAqB,KAAG,KAIzD,CAAA;AAIF;;;;;4EAK4E;AAC5E,eAAO,MAAM,QAAQ,GAClB,OAAO,KAAK,MACZ,OAAO,MAAM,KAAG,KAiBhB,CAAA;AAEH;uEACuE;AACvE,eAAO,MAAM,WAAW,GACrB,OAAO,KAAK,MACZ,OAAO,MAAM,KAAG,KAkBhB,CAAA;AAEH;;;;;;;;+CAQ+C;AAC/C,eAAO,MAAM,OAAO,GACjB,OAAO,KAAK,MACZ,OAAO,KAAK,KAAG,OAQf,CAAA;AAEH;sEACsE;AACtE,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,KAAG,OACJ,CAAA;AAEtC;iEACiE;AACjE,eAAO,MAAM,QAAQ,GACnB,OAAO,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,KAC5C,OAAwE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fieldValidation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,9 +75,18 @@ export const isValid = (rules) => (state) => {
|
|
|
75
75
|
/** Returns true when the rules mark the field as required. Useful for
|
|
76
76
|
* rendering affordances like a `*` next to required field labels. */
|
|
77
77
|
export const isRequired = (rules) => Option.isSome(rules.requiredMessage);
|
|
78
|
+
/** Returns true when the state's tag is `Invalid`. Tag-only predicate;
|
|
79
|
+
* unlike `!isValid(rules)(state)`, this does not treat `NotValidated`
|
|
80
|
+
* or `Validating` as errors. Use for "has the user seen a rule failure
|
|
81
|
+
* on this field?" affordances like red borders or per-step error
|
|
82
|
+
* indicators. */
|
|
83
|
+
export const isInvalid = (state) => state._tag === 'Invalid';
|
|
78
84
|
/** Returns true when every `(state, rules)` pair in the input is
|
|
79
85
|
* acceptable per `isValid`. Use for form-level submit gates. */
|
|
80
86
|
export const allValid = (pairs) => Array.every(pairs, ([state, rules]) => isValid(rules)(state));
|
|
87
|
+
/** Returns true when any state in the input has tag `Invalid`. Use for
|
|
88
|
+
* "this step/section has errors" affordances, independent of rules. */
|
|
89
|
+
export const anyInvalid = (states) => Array.some(states, isInvalid);
|
|
81
90
|
// STRING RULES
|
|
82
91
|
/** Creates a `Rule` that checks if a string meets a minimum length. */
|
|
83
92
|
export const minLength = (min, message) => [
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { makeRules, validate, validateAll, isValid, isRequired, allValid, resolveMessage, NotValidated, Validating, Valid, Invalid, Field, minLength, maxLength, pattern, email, url, startsWith, endsWith, includes, equals, oneOf, } from './index';
|
|
1
|
+
export { makeRules, validate, validateAll, isValid, isInvalid, isRequired, allValid, anyInvalid, resolveMessage, NotValidated, Validating, Valid, Invalid, Field, minLength, maxLength, pattern, email, url, startsWith, endsWith, includes, equals, oneOf, } from './index';
|
|
2
2
|
export type { Rules, MakeRulesOptions, Rule, RuleMessage } from './index';
|
|
3
3
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/fieldValidation/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,UAAU,EACV,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,KAAK,EACL,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,GAAG,EACH,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,GACN,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/fieldValidation/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,KAAK,EACL,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,GAAG,EACH,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,GACN,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { makeRules, validate, validateAll, isValid, isRequired, allValid, resolveMessage, NotValidated, Validating, Valid, Invalid, Field, minLength, maxLength, pattern, email, url, startsWith, endsWith, includes, equals, oneOf, } from './index';
|
|
1
|
+
export { makeRules, validate, validateAll, isValid, isInvalid, isRequired, allValid, anyInvalid, resolveMessage, NotValidated, Validating, Valid, Invalid, Field, minLength, maxLength, pattern, email, url, startsWith, endsWith, includes, equals, oneOf, } from './index';
|
|
@@ -9,4 +9,7 @@ export declare const back: () => Effect.Effect<void>;
|
|
|
9
9
|
export declare const forward: () => Effect.Effect<void>;
|
|
10
10
|
/** Performs a full page navigation to the given href. */
|
|
11
11
|
export declare const load: (href: string) => Effect.Effect<void>;
|
|
12
|
+
/** Opens the given href in a new browsing context (tab or window, at the browser's discretion).
|
|
13
|
+
* The current page is unchanged. Subject to popup blockers when not called from a user-gesture handler. */
|
|
14
|
+
export declare const openUrl: (href: string) => Effect.Effect<void>;
|
|
12
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/navigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,sFAAsF;AACtF,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAIpD,CAAA;AAEJ,8FAA8F;AAC9F,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAIvD,CAAA;AAEJ,yCAAyC;AACzC,eAAO,MAAM,IAAI,QAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CACA,CAAA;AAE1C,4CAA4C;AAC5C,eAAO,MAAM,OAAO,QAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CACA,CAAA;AAE7C,yDAAyD;AACzD,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACL,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/navigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,sFAAsF;AACtF,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAIpD,CAAA;AAEJ,8FAA8F;AAC9F,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAIvD,CAAA;AAEJ,yCAAyC;AACzC,eAAO,MAAM,IAAI,QAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CACA,CAAA;AAE1C,4CAA4C;AAC5C,eAAO,MAAM,OAAO,QAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CACA,CAAA;AAE7C,yDAAyD;AACzD,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACL,CAAA;AAEjD;4GAC4G;AAC5G,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAGrD,CAAA"}
|
package/dist/navigation/index.js
CHANGED
|
@@ -15,3 +15,8 @@ export const back = () => Effect.sync(() => window.history.back());
|
|
|
15
15
|
export const forward = () => Effect.sync(() => window.history.forward());
|
|
16
16
|
/** Performs a full page navigation to the given href. */
|
|
17
17
|
export const load = (href) => Effect.sync(() => window.location.assign(href));
|
|
18
|
+
/** Opens the given href in a new browsing context (tab or window, at the browser's discretion).
|
|
19
|
+
* The current page is unchanged. Subject to popup blockers when not called from a user-gesture handler. */
|
|
20
|
+
export const openUrl = (href) => Effect.sync(() => {
|
|
21
|
+
window.open(href, '_blank', 'noopener,noreferrer');
|
|
22
|
+
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { pushUrl, replaceUrl, back, forward, load } from './index';
|
|
1
|
+
export { pushUrl, replaceUrl, back, forward, load, openUrl } from './index';
|
|
2
2
|
//# sourceMappingURL=public.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/navigation/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/navigation/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { pushUrl, replaceUrl, back, forward, load } from './index';
|
|
1
|
+
export { pushUrl, replaceUrl, back, forward, load, openUrl } from './index';
|