@piying/view-svelte 2.3.2 → 2.4.1

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.
@@ -11,12 +11,12 @@
11
11
  } from 'static-injector';
12
12
  import type { Injector } from 'static-injector';
13
13
  import { setContext } from 'svelte';
14
- import { InjectorToken } from '../token';
14
+ import { InjectorToken, PI_INPUT_MODEL_TOKEN, PI_INPUT_OPTIONS_TOKEN, PI_INPUT_SCHEMA_TOKEN } from '../token';
15
15
  import { SvelteSchemaHandle } from '../svelte-schema';
16
16
  import { SvelteFormBuilder } from '../builder';
17
17
  import FieldTemplate from './field-template.svelte';
18
18
  import { initListen } from '@piying/view-core';
19
- let props: {
19
+ let inputs: {
20
20
  schema: v.BaseSchema<any, any, any> | v.SchemaWithPipe<any>;
21
21
  model?: any;
22
22
  modelChange?: (value: any) => void;
@@ -32,6 +32,9 @@
32
32
  ]
33
33
  });
34
34
  setContext(InjectorToken, rootInjector);
35
+ setContext(PI_INPUT_OPTIONS_TOKEN, () => inputs.options);
36
+ setContext(PI_INPUT_SCHEMA_TOKEN, () => inputs.schema);
37
+ setContext(PI_INPUT_MODEL_TOKEN, () => inputs.model);
35
38
  let injectorDispose: (() => any) | undefined;
36
39
 
37
40
  const [field, subInjector] = $derived.by(() => {
@@ -41,11 +44,11 @@
41
44
  subInjector.destroy();
42
45
  injectorDispose = undefined;
43
46
  };
44
- const field = convert(props.schema as any, {
47
+ const field = convert(inputs.schema as any, {
45
48
  handle: SvelteSchemaHandle as any,
46
49
  builder: SvelteFormBuilder,
47
50
  injector: subInjector,
48
- ...props.options
51
+ ...inputs.options
49
52
  });
50
53
  return [field, subInjector];
51
54
  });
@@ -57,14 +60,14 @@
57
60
  $effect.pre(() => {
58
61
  let ref: EffectRef | undefined;
59
62
  if (field.form.control) {
60
- ref = initListen(props.model, field!.form.control!, subInjector as Injector, (value) => {
63
+ ref = initListen(inputs.model, field!.form.control!, subInjector as Injector, (value) => {
61
64
  untracked(() => {
62
65
  if (field!.form.control?.valueNoError$$()) {
63
- props.modelChange?.(value);
66
+ inputs.modelChange?.(value);
64
67
  }
65
68
  });
66
69
  });
67
- field!.form.control?.updateValue(props.model);
70
+ field!.form.control?.updateValue(inputs.model);
68
71
  }
69
72
 
70
73
  return () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@piying/view-svelte",
3
- "version": "2.3.2",
3
+ "version": "2.4.1",
4
4
  "description": "Piying view For Svelte;Valibot to Component",
5
5
  "type": "module",
6
6
  "homepage": "https://piying-org.github.io/website/docs/client/intro",
@@ -34,7 +34,7 @@
34
34
  ],
35
35
  "license": "MIT",
36
36
  "dependencies": {
37
- "@piying/view-core": "^2.3.2",
37
+ "@piying/view-core": "^2.4.1",
38
38
  "static-injector": "^6.1.2"
39
39
  },
40
40
  "sideEffects": false,
package/token.d.ts CHANGED
@@ -1,4 +1,16 @@
1
- import type { PiResolvedViewFieldConfig } from './type/group';
1
+ import type { ConvertOptions } from '@piying/valibot-visit';
2
+ import type { SetOptional, CoreSchemaHandle, FormBuilder } from '@piying/view-core';
3
+ import type { PiResolvedViewFieldConfig, PiViewConfig } from './type/group';
4
+ import * as v from 'valibot';
2
5
  export declare const InjectorToken: unique symbol;
3
6
  export declare const PI_VIEW_FIELD_TOKEN: unique symbol;
7
+ export declare const PI_INPUT_OPTIONS_TOKEN: unique symbol;
8
+ export type PI_INPUT_OPTIONS_TOKEN = () => SetOptional<ConvertOptions<typeof CoreSchemaHandle<any, any>>, 'handle'> & {
9
+ builder: typeof FormBuilder<CoreSchemaHandle<any, any>>;
10
+ fieldGlobalConfig?: PiViewConfig;
11
+ };
12
+ export declare const PI_INPUT_SCHEMA_TOKEN: unique symbol;
13
+ export type PI_INPUT_SCHEMA_TOKEN = () => v.BaseSchema<any, any, any> | v.SchemaWithPipe<any>;
14
+ export declare const PI_INPUT_MODEL_TOKEN: unique symbol;
15
+ export type PI_INPUT_MODEL_TOKEN = () => any;
4
16
  export type PI_VIEW_FIELD_TOKEN = () => PiResolvedViewFieldConfig;
package/token.js CHANGED
@@ -1,3 +1,7 @@
1
+ import * as v from 'valibot';
1
2
  export const InjectorToken = Symbol();
2
3
  export const PI_VIEW_FIELD_TOKEN = Symbol();
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxFQUFFLENBQUMifQ==
4
+ export const PI_INPUT_OPTIONS_TOKEN = Symbol();
5
+ export const PI_INPUT_SCHEMA_TOKEN = Symbol();
6
+ export const PI_INPUT_MODEL_TOKEN = Symbol();
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFNBQVMsQ0FBQztBQUU3QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDNUMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFRL0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFFOUMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxFQUFFLENBQUMifQ==