@uibit/form 0.1.0 → 0.2.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/README.md CHANGED
@@ -1,7 +1,17 @@
1
1
  # Form
2
2
 
3
+ [![NPM Version](https://img.shields.io/npm/v/@uibit/form.svg?style=flat-square&color=black)](https://www.npmjs.com/package/@uibit/form)
4
+
5
+
3
6
  [Interactive Demonstration](https://rawlings.github.io/uibit/components/form)
4
7
 
8
+ ## Installation
9
+
10
+ ```bash
11
+ npm install @uibit/form
12
+ ```
13
+
14
+
5
15
  Form provides a composable, declarative wrapper around standard HTML `<form>` elements. It adds multi-step wizard navigation, asynchronous submission lifecycle states, and unsaved changes tracking to simplify form construction.
6
16
 
7
17
  ## Value Delivery
@@ -8,7 +8,7 @@
8
8
  "declarations": [
9
9
  {
10
10
  "kind": "class",
11
- "description": "A declarative form wrapper that wraps a native `<form>` and adds wizards,\nsubmit lifecycle states, and dirty checking.",
11
+ "description": "A declarative form wrapper that wraps a native `<form>` and adds wizards,",
12
12
  "name": "Form",
13
13
  "slots": [
14
14
  {
@@ -246,11 +246,13 @@
246
246
  },
247
247
  {
248
248
  "kind": "method",
249
- "name": "reset"
249
+ "name": "reset",
250
+ "description": "\n\nResets all form fields to their initial values."
250
251
  },
251
252
  {
252
253
  "kind": "method",
253
- "name": "submit"
254
+ "name": "submit",
255
+ "description": "Submits the form programmatically after validation."
254
256
  },
255
257
  {
256
258
  "kind": "method",
@@ -277,6 +279,211 @@
277
279
  }
278
280
  }
279
281
  ]
282
+ },
283
+ {
284
+ "kind": "field",
285
+ "name": "locale",
286
+ "type": {
287
+ "text": "string"
288
+ },
289
+ "default": "''",
290
+ "description": "BCP 47 locale string for formatting and localization. Defaults to inherited document language.",
291
+ "attribute": "locale",
292
+ "inheritedFrom": {
293
+ "name": "UIBitElement",
294
+ "module": "../../platform/core/src/element.ts"
295
+ }
296
+ },
297
+ {
298
+ "kind": "field",
299
+ "name": "resolvedLocale",
300
+ "type": {
301
+ "text": "string | undefined"
302
+ },
303
+ "description": "Resolves the active locale for formatting and localization.\nChecks the `locale` property first, then traverses up the DOM to find\nthe nearest ancestor with a `lang` attribute, and finally falls back\nto undefined (which defaults to browser locale).",
304
+ "readonly": true,
305
+ "inheritedFrom": {
306
+ "name": "UIBitElement",
307
+ "module": "../../platform/core/src/element.ts"
308
+ }
309
+ },
310
+ {
311
+ "kind": "field",
312
+ "name": "_disposables",
313
+ "type": {
314
+ "text": "Set<() => void>"
315
+ },
316
+ "privacy": "private",
317
+ "default": "new Set()",
318
+ "inheritedFrom": {
319
+ "name": "UIBitElement",
320
+ "module": "../../platform/core/src/element.ts"
321
+ }
322
+ },
323
+ {
324
+ "kind": "method",
325
+ "name": "createProperty",
326
+ "static": true,
327
+ "parameters": [
328
+ {
329
+ "name": "name",
330
+ "type": {
331
+ "text": "PropertyKey"
332
+ }
333
+ },
334
+ {
335
+ "name": "options",
336
+ "optional": true,
337
+ "type": {
338
+ "text": "PropertyDeclaration"
339
+ }
340
+ }
341
+ ],
342
+ "description": "Overrides createProperty to automatically map camelCase property names\nto kebab-case attribute names by default.",
343
+ "inheritedFrom": {
344
+ "name": "UIBitElement",
345
+ "module": "../../platform/core/src/element.ts"
346
+ }
347
+ },
348
+ {
349
+ "kind": "method",
350
+ "name": "finalizeStyles",
351
+ "static": true,
352
+ "return": {
353
+ "type": {
354
+ "text": "Array<any>"
355
+ }
356
+ },
357
+ "parameters": [
358
+ {
359
+ "name": "styles",
360
+ "optional": true,
361
+ "type": {
362
+ "text": "CSSResultGroup"
363
+ }
364
+ }
365
+ ],
366
+ "description": "Automatically prepends basic layout resets (border-box) to the\ncomponent's final styles.",
367
+ "inheritedFrom": {
368
+ "name": "UIBitElement",
369
+ "module": "../../platform/core/src/element.ts"
370
+ }
371
+ },
372
+ {
373
+ "kind": "method",
374
+ "name": "dispatchCustomEvent",
375
+ "return": {
376
+ "type": {
377
+ "text": "boolean"
378
+ }
379
+ },
380
+ "parameters": [
381
+ {
382
+ "name": "name",
383
+ "type": {
384
+ "text": "string"
385
+ }
386
+ },
387
+ {
388
+ "name": "detail",
389
+ "optional": true,
390
+ "type": {
391
+ "text": "T"
392
+ }
393
+ },
394
+ {
395
+ "name": "options",
396
+ "optional": true,
397
+ "type": {
398
+ "text": "Omit<CustomEventInit<T>, 'detail'>"
399
+ }
400
+ }
401
+ ],
402
+ "description": "Helper to dispatch a custom event with standard bubbles and composed options.",
403
+ "inheritedFrom": {
404
+ "name": "UIBitElement",
405
+ "module": "../../platform/core/src/element.ts"
406
+ }
407
+ },
408
+ {
409
+ "kind": "method",
410
+ "name": "getCssPropertyValue",
411
+ "return": {
412
+ "type": {
413
+ "text": "string"
414
+ }
415
+ },
416
+ "parameters": [
417
+ {
418
+ "name": "propertyName",
419
+ "type": {
420
+ "text": "string"
421
+ }
422
+ }
423
+ ],
424
+ "description": "Helper to retrieve a computed CSS custom property value from the element.",
425
+ "inheritedFrom": {
426
+ "name": "UIBitElement",
427
+ "module": "../../platform/core/src/element.ts"
428
+ }
429
+ },
430
+ {
431
+ "kind": "method",
432
+ "name": "registerDisposable",
433
+ "parameters": [
434
+ {
435
+ "name": "cleanup",
436
+ "type": {
437
+ "text": "() => void"
438
+ }
439
+ }
440
+ ],
441
+ "description": "Register a cleanup function to be executed when the element is disconnected from the DOM.",
442
+ "inheritedFrom": {
443
+ "name": "UIBitElement",
444
+ "module": "../../platform/core/src/element.ts"
445
+ }
446
+ },
447
+ {
448
+ "kind": "method",
449
+ "name": "listen",
450
+ "return": {
451
+ "type": {
452
+ "text": "() => void"
453
+ }
454
+ },
455
+ "parameters": [
456
+ {
457
+ "name": "target",
458
+ "type": {
459
+ "text": "EventTarget"
460
+ }
461
+ },
462
+ {
463
+ "name": "type",
464
+ "type": {
465
+ "text": "K"
466
+ }
467
+ },
468
+ {
469
+ "name": "listener",
470
+ "type": {
471
+ "text": "(this: EventTarget, ev: HTMLElementEventMap[K]) => any"
472
+ }
473
+ },
474
+ {
475
+ "name": "options",
476
+ "optional": true,
477
+ "type": {
478
+ "text": "boolean | AddEventListenerOptions"
479
+ }
480
+ }
481
+ ],
482
+ "description": "Utility to add an event listener that is automatically cleaned up when the element is disconnected.",
483
+ "inheritedFrom": {
484
+ "name": "UIBitElement",
485
+ "module": "../../platform/core/src/element.ts"
486
+ }
280
487
  }
281
488
  ],
282
489
  "attributes": [
@@ -324,12 +531,36 @@
324
531
  "default": "'idle'",
325
532
  "description": "Submission state: 'idle', 'pending', 'success', or 'error'.",
326
533
  "fieldName": "status"
534
+ },
535
+ {
536
+ "name": "locale",
537
+ "type": {
538
+ "text": "string"
539
+ },
540
+ "default": "''",
541
+ "description": "BCP 47 locale string for formatting and localization. Defaults to inherited document language.",
542
+ "fieldName": "locale",
543
+ "inheritedFrom": {
544
+ "name": "UIBitElement",
545
+ "module": "../../platform/core/src/element.ts"
546
+ }
547
+ }
548
+ ],
549
+ "cssStates": [
550
+ {
551
+ "name": "submitting",
552
+ "description": "Active when form submission is in progress."
553
+ },
554
+ {
555
+ "name": "invalid",
556
+ "description": "Active when one or more form inputs fail validation checks."
327
557
  }
328
558
  ],
329
559
  "superclass": {
330
560
  "name": "UIBitElement",
331
561
  "package": "@uibit/core"
332
562
  },
563
+ "summary": "A standard native form element wrapper supporting auto-validation and state tracking.\nsubmit lifecycle states, and dirty checking.",
333
564
  "tagName": "uibit-form",
334
565
  "customElement": true
335
566
  }
@@ -402,6 +633,250 @@
402
633
  "path": "src/types.ts",
403
634
  "declarations": [],
404
635
  "exports": []
636
+ },
637
+ {
638
+ "kind": "javascript-module",
639
+ "path": "../../platform/core/src/element.ts",
640
+ "declarations": [
641
+ {
642
+ "kind": "class",
643
+ "description": "A foundational base class for all UIBit web components.\nProvides custom event helpers, default kebab-case attribute mapping,\nautomatic cleanup/disposable tracking, and auto-injected reset styles.",
644
+ "name": "UIBitElement",
645
+ "members": [
646
+ {
647
+ "kind": "field",
648
+ "name": "locale",
649
+ "type": {
650
+ "text": "string"
651
+ },
652
+ "default": "''",
653
+ "description": "BCP 47 locale string for formatting and localization. Defaults to inherited document language.",
654
+ "attribute": "locale"
655
+ },
656
+ {
657
+ "kind": "field",
658
+ "name": "resolvedLocale",
659
+ "type": {
660
+ "text": "string | undefined"
661
+ },
662
+ "description": "Resolves the active locale for formatting and localization.\nChecks the `locale` property first, then traverses up the DOM to find\nthe nearest ancestor with a `lang` attribute, and finally falls back\nto undefined (which defaults to browser locale).",
663
+ "readonly": true
664
+ },
665
+ {
666
+ "kind": "field",
667
+ "name": "_disposables",
668
+ "type": {
669
+ "text": "Set<() => void>"
670
+ },
671
+ "privacy": "private",
672
+ "default": "new Set()"
673
+ },
674
+ {
675
+ "kind": "method",
676
+ "name": "createProperty",
677
+ "static": true,
678
+ "parameters": [
679
+ {
680
+ "name": "name",
681
+ "type": {
682
+ "text": "PropertyKey"
683
+ }
684
+ },
685
+ {
686
+ "name": "options",
687
+ "optional": true,
688
+ "type": {
689
+ "text": "PropertyDeclaration"
690
+ }
691
+ }
692
+ ],
693
+ "description": "Overrides createProperty to automatically map camelCase property names\nto kebab-case attribute names by default."
694
+ },
695
+ {
696
+ "kind": "method",
697
+ "name": "finalizeStyles",
698
+ "static": true,
699
+ "return": {
700
+ "type": {
701
+ "text": "Array<any>"
702
+ }
703
+ },
704
+ "parameters": [
705
+ {
706
+ "name": "styles",
707
+ "optional": true,
708
+ "type": {
709
+ "text": "CSSResultGroup"
710
+ }
711
+ }
712
+ ],
713
+ "description": "Automatically prepends basic layout resets (border-box) to the\ncomponent's final styles."
714
+ },
715
+ {
716
+ "kind": "method",
717
+ "name": "dispatchCustomEvent",
718
+ "return": {
719
+ "type": {
720
+ "text": "boolean"
721
+ }
722
+ },
723
+ "parameters": [
724
+ {
725
+ "name": "name",
726
+ "type": {
727
+ "text": "string"
728
+ }
729
+ },
730
+ {
731
+ "name": "detail",
732
+ "optional": true,
733
+ "type": {
734
+ "text": "T"
735
+ }
736
+ },
737
+ {
738
+ "name": "options",
739
+ "optional": true,
740
+ "type": {
741
+ "text": "Omit<CustomEventInit<T>, 'detail'>"
742
+ }
743
+ }
744
+ ],
745
+ "description": "Helper to dispatch a custom event with standard bubbles and composed options."
746
+ },
747
+ {
748
+ "kind": "method",
749
+ "name": "getCssPropertyValue",
750
+ "return": {
751
+ "type": {
752
+ "text": "string"
753
+ }
754
+ },
755
+ "parameters": [
756
+ {
757
+ "name": "propertyName",
758
+ "type": {
759
+ "text": "string"
760
+ }
761
+ }
762
+ ],
763
+ "description": "Helper to retrieve a computed CSS custom property value from the element."
764
+ },
765
+ {
766
+ "kind": "method",
767
+ "name": "registerDisposable",
768
+ "parameters": [
769
+ {
770
+ "name": "cleanup",
771
+ "type": {
772
+ "text": "() => void"
773
+ }
774
+ }
775
+ ],
776
+ "description": "Register a cleanup function to be executed when the element is disconnected from the DOM."
777
+ },
778
+ {
779
+ "kind": "method",
780
+ "name": "listen",
781
+ "return": {
782
+ "type": {
783
+ "text": "() => void"
784
+ }
785
+ },
786
+ "parameters": [
787
+ {
788
+ "name": "target",
789
+ "type": {
790
+ "text": "EventTarget"
791
+ }
792
+ },
793
+ {
794
+ "name": "type",
795
+ "type": {
796
+ "text": "K"
797
+ }
798
+ },
799
+ {
800
+ "name": "listener",
801
+ "type": {
802
+ "text": "(this: EventTarget, ev: HTMLElementEventMap[K]) => any"
803
+ }
804
+ },
805
+ {
806
+ "name": "options",
807
+ "optional": true,
808
+ "type": {
809
+ "text": "boolean | AddEventListenerOptions"
810
+ }
811
+ }
812
+ ],
813
+ "description": "Utility to add an event listener that is automatically cleaned up when the element is disconnected."
814
+ },
815
+ {
816
+ "kind": "method",
817
+ "name": "listen",
818
+ "return": {
819
+ "type": {
820
+ "text": "() => void"
821
+ }
822
+ },
823
+ "parameters": [
824
+ {
825
+ "name": "target",
826
+ "type": {
827
+ "text": "EventTarget"
828
+ }
829
+ },
830
+ {
831
+ "name": "type",
832
+ "type": {
833
+ "text": "string"
834
+ }
835
+ },
836
+ {
837
+ "name": "listener",
838
+ "type": {
839
+ "text": "EventListenerOrEventListenerObject"
840
+ }
841
+ },
842
+ {
843
+ "name": "options",
844
+ "optional": true,
845
+ "type": {
846
+ "text": "boolean | AddEventListenerOptions"
847
+ }
848
+ }
849
+ ]
850
+ }
851
+ ],
852
+ "attributes": [
853
+ {
854
+ "name": "locale",
855
+ "type": {
856
+ "text": "string"
857
+ },
858
+ "default": "''",
859
+ "description": "BCP 47 locale string for formatting and localization. Defaults to inherited document language.",
860
+ "fieldName": "locale"
861
+ }
862
+ ],
863
+ "superclass": {
864
+ "name": "LitElement",
865
+ "package": "lit"
866
+ },
867
+ "customElement": true
868
+ }
869
+ ],
870
+ "exports": [
871
+ {
872
+ "kind": "js",
873
+ "name": "UIBitElement",
874
+ "declaration": {
875
+ "name": "UIBitElement",
876
+ "module": "../../platform/core/src/element.ts"
877
+ }
878
+ }
879
+ ]
405
880
  }
406
881
  ]
407
882
  }
package/dist/form.d.ts CHANGED
@@ -2,12 +2,16 @@ import type { PropertyValues } from 'lit';
2
2
  import { UIBitElement } from '@uibit/core';
3
3
  /**
4
4
  * A declarative form wrapper that wraps a native `<form>` and adds wizards,
5
+
6
+ * @summary A standard native form element wrapper supporting auto-validation and state tracking.
5
7
  * submit lifecycle states, and dirty checking.
6
8
  *
7
9
  * @slot - Default slot where the native `<form>` element is placed.
8
10
  * @slot success - Custom success template displayed upon successful submission.
9
11
  * @slot error - Custom error template displayed upon failed submission.
10
- */
12
+
13
+ * @cssstate submitting - Active when form submission is in progress.
14
+ * @cssstate invalid - Active when one or more form inputs fail validation checks.*/
11
15
  export declare class Form extends UIBitElement {
12
16
  static styles: import("lit").CSSResult;
13
17
  /** Opt-in warning prompt if the user tries to leave the page with unsaved changes. */
@@ -45,7 +49,17 @@ export declare class Form extends UIBitElement {
45
49
  prevStep(): void;
46
50
  goToStep(stepNum: number): void;
47
51
  private _isResetting;
52
+ /**
53
+
54
+
55
+ * Resets all form fields to their initial values.
56
+
57
+
58
+ */
48
59
  reset(): void;
60
+ /**
61
+ * Submits the form programmatically after validation.
62
+ */
49
63
  submit(): Promise<void>;
50
64
  private _onSubmit;
51
65
  private _onFormClick;
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAsB,YAAY,EAAE,MAAM,aAAa,CAAC;AAI/D;;;;;;;GAOG;AACH,qBACa,IAAK,SAAQ,YAAY;IACpC,MAAM,CAAC,MAAM,0BAAU;IAGvB,sFAAsF;IAC9B,WAAW,UAAS;IAE5E,+EAA+E;IACpC,IAAI,SAAK;IAEpD,gEAAgE;IACK,UAAU,SAAK;IAE3E,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,eAAe,CAAK;IAErC,mDAAmD;IACP,KAAK,UAAS;IAE1D,kEAAkE;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAU;IAErG,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,sBAAsB,CAAyB;IAEvD,iBAAiB,SAYhB;IAED,oBAAoB,SAMnB;IAED,YAAY,CAAC,iBAAiB,EAAE,cAAc,QAG7C;IAED,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,aAAa;IAOrB,QAAQ,SAuBP;IAED,QAAQ,SAMP;IAED,QAAQ,CAAC,OAAO,EAAE,MAAM,QA2BvB;IAID,OAAO,CAAC,YAAY,CAAS;IAE7B,KAAK,SA+BJ;IAEK,MAAM,kBAqCX;IAED,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,YAAY;IAsBpB,SAAS,CAAC,UAAU,CAAC,iBAAiB,EAAE,cAAc,QAIrD;IAED,MAAM,oCAiEL;CACF"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAsB,YAAY,EAAE,MAAM,aAAa,CAAC;AAI/D;;;;;;;;;;;oFAWoF;AACpF,qBACa,IAAK,SAAQ,YAAY;IACpC,MAAM,CAAC,MAAM,0BAAU;IAGvB,sFAAsF;IAC9B,WAAW,UAAS;IAE5E,+EAA+E;IACpC,IAAI,SAAK;IAEpD,gEAAgE;IACK,UAAU,SAAK;IAE3E,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,eAAe,CAAK;IAErC,mDAAmD;IACP,KAAK,UAAS;IAE1D,kEAAkE;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAU;IAErG,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,sBAAsB,CAAyB;IAEvD,iBAAiB,SAYhB;IAED,oBAAoB,SAMnB;IAED,YAAY,CAAC,iBAAiB,EAAE,cAAc,QAG7C;IAED,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,aAAa;IAOrB,QAAQ,SAuBP;IAED,QAAQ,SAMP;IAED,QAAQ,CAAC,OAAO,EAAE,MAAM,QA2BvB;IAID,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;;;OAMG;IAGH,KAAK,SA+BJ;IAED;;OAEG;IACG,MAAM,kBAqCX;IAED,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,YAAY;IAsBpB,SAAS,CAAC,UAAU,CAAC,iBAAiB,EAAE,cAAc,QAIrD;IAED,MAAM,oCAiEL;CACF"}
package/dist/form.js CHANGED
@@ -10,12 +10,16 @@ import { property, state } from 'lit/decorators.js';
10
10
  import { styles } from './styles';
11
11
  /**
12
12
  * A declarative form wrapper that wraps a native `<form>` and adds wizards,
13
+
14
+ * @summary A standard native form element wrapper supporting auto-validation and state tracking.
13
15
  * submit lifecycle states, and dirty checking.
14
16
  *
15
17
  * @slot - Default slot where the native `<form>` element is placed.
16
18
  * @slot success - Custom success template displayed upon successful submission.
17
19
  * @slot error - Custom error template displayed upon failed submission.
18
- */
20
+
21
+ * @cssstate submitting - Active when form submission is in progress.
22
+ * @cssstate invalid - Active when one or more form inputs fail validation checks.*/
19
23
  let Form = class Form extends UIBitElement {
20
24
  constructor() {
21
25
  super(...arguments);
@@ -256,6 +260,13 @@ let Form = class Form extends UIBitElement {
256
260
  this.dispatchCustomEvent('uibit-step-change', { step: this.step });
257
261
  }
258
262
  }
263
+ /**
264
+
265
+
266
+ * Resets all form fields to their initial values.
267
+
268
+
269
+ */
259
270
  reset() {
260
271
  if (this._isResetting)
261
272
  return;
@@ -290,6 +301,9 @@ let Form = class Form extends UIBitElement {
290
301
  this._isResetting = false;
291
302
  }
292
303
  }
304
+ /**
305
+ * Submits the form programmatically after validation.
306
+ */
293
307
  async submit() {
294
308
  if (!this._slottedFormEl)
295
309
  return;
package/dist/form.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
@@ -1,45 +1,57 @@
1
1
  import { Component, ChangeDetectionStrategy, ElementRef, input, effect, booleanAttribute, numberAttribute } from '@angular/core';
2
2
  import '@uibit/form';
3
3
  import type { Form as HTMLElementClass } from '@uibit/form';
4
-
5
4
  @Component({
6
- selector: 'uibit-form',
7
- template: '<ng-content></ng-content>',
8
- changeDetection: ChangeDetectionStrategy.OnPush,
9
- standalone: true
5
+ selector: 'uibit-form',
6
+ template: '<ng-content></ng-content>',
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ standalone: true
10
9
  })
11
10
  export class NgxForm {
12
- constructor(private el: ElementRef<HTMLElementClass>) {
13
- effect(() => {
14
- if (this.el.nativeElement) {
15
- this.el.nativeElement.warnUnsaved = this.warnUnsaved();
16
- }
11
+ constructor(private el: ElementRef<HTMLElementClass>){
12
+ effect(()=>{
13
+ if (this.el.nativeElement) {
14
+ this.el.nativeElement.warnUnsaved = this.warnUnsaved();
15
+ }
16
+ });
17
+ effect(()=>{
18
+ if (this.el.nativeElement) {
19
+ this.el.nativeElement.step = this.step();
20
+ }
21
+ });
22
+ effect(()=>{
23
+ if (this.el.nativeElement) {
24
+ this.el.nativeElement.stepsCount = this.stepsCount();
25
+ }
26
+ });
27
+ effect(()=>{
28
+ if (this.el.nativeElement) {
29
+ this.el.nativeElement.dirty = this.dirty();
30
+ }
31
+ });
32
+ effect(()=>{
33
+ if (this.el.nativeElement) {
34
+ this.el.nativeElement.status = this.status();
35
+ }
36
+ });
37
+ effect(()=>{
38
+ if (this.el.nativeElement) {
39
+ this.el.nativeElement.locale = this.locale();
40
+ }
41
+ });
42
+ }
43
+ readonly warnUnsaved = input<boolean, any>(false, {
44
+ transform: booleanAttribute
17
45
  });
18
- effect(() => {
19
- if (this.el.nativeElement) {
20
- this.el.nativeElement.step = this.step();
21
- }
46
+ readonly step = input<number, any>(1, {
47
+ transform: numberAttribute
22
48
  });
23
- effect(() => {
24
- if (this.el.nativeElement) {
25
- this.el.nativeElement.stepsCount = this.stepsCount();
26
- }
49
+ readonly stepsCount = input<number, any>(0, {
50
+ transform: numberAttribute
27
51
  });
28
- effect(() => {
29
- if (this.el.nativeElement) {
30
- this.el.nativeElement.dirty = this.dirty();
31
- }
52
+ readonly dirty = input<boolean, any>(false, {
53
+ transform: booleanAttribute
32
54
  });
33
- effect(() => {
34
- if (this.el.nativeElement) {
35
- this.el.nativeElement.status = this.status();
36
- }
37
- });
38
- }
39
-
40
- readonly warnUnsaved = input<boolean, any>(false, { transform: booleanAttribute });
41
- readonly step = input<number, any>(1, { transform: numberAttribute });
42
- readonly stepsCount = input<number, any>(0, { transform: numberAttribute });
43
- readonly dirty = input<boolean, any>(false, { transform: booleanAttribute });
44
- readonly status = input<'idle' | 'pending' | 'success' | 'error', any>('idle');
55
+ readonly status = input<'idle' | 'pending' | 'success' | 'error'>('idle');
56
+ readonly locale = input<string>('');
45
57
  }
@@ -4,7 +4,15 @@ import '@uibit/form';
4
4
  declare global {
5
5
  namespace astroHTML.JSX {
6
6
  interface IntrinsicElements {
7
- 'uibit-form': Partial<HTMLElementClass> & astroHTML.JSX.HTMLAttributes;
7
+ 'uibit-form': Partial<HTMLElementClass> & astroHTML.JSX.HTMLAttributes & {
8
+ warnUnsaved?: boolean;
9
+ step?: number;
10
+ stepsCount?: number;
11
+ dirty?: boolean;
12
+ status?: 'idle' | 'pending' | 'success' | 'error';
13
+ locale?: string;
14
+
15
+ };
8
16
  }
9
17
  }
10
18
  }
@@ -11,6 +11,8 @@ declare module 'preact' {
11
11
  stepsCount?: number;
12
12
  dirty?: boolean;
13
13
  status?: 'idle' | 'pending' | 'success' | 'error';
14
+ locale?: string;
15
+
14
16
  };
15
17
  }
16
18
  }
@@ -0,0 +1,105 @@
1
+ import React, { useRef, useEffect, useLayoutEffect, useImperativeHandle } from 'react';
2
+ import type { Form as HTMLElementClass } from '@uibit/form';
3
+ import '@uibit/form';
4
+ const useTypeOfLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
5
+ export interface FormProps extends Omit<React.HTMLAttributes<HTMLElementClass>, 'warnUnsaved' | 'step' | 'stepsCount' | 'dirty' | 'status' | 'locale'> {
6
+ children?: React.ReactNode;
7
+ warnUnsaved?: boolean;
8
+ step?: number;
9
+ stepsCount?: number;
10
+ dirty?: boolean;
11
+ status?: 'idle' | 'pending' | 'success' | 'error';
12
+ locale?: string;
13
+ }
14
+ export const Form = ({ ref, children, ...props }: FormProps & {
15
+ ref?: React.Ref<HTMLElementClass>;
16
+ })=>{
17
+ const innerRef = useRef<HTMLElementClass>(null);
18
+ const propsRef = useRef(props);
19
+ propsRef.current = props;
20
+ useImperativeHandle(ref, ()=>innerRef.current!);
21
+ useTypeOfLayoutEffect(()=>{
22
+ const element = innerRef.current;
23
+ if (element && props.warnUnsaved !== undefined) {
24
+ (element as any).warnUnsaved = props.warnUnsaved;
25
+ }
26
+ }, [
27
+ props.warnUnsaved
28
+ ]);
29
+ useTypeOfLayoutEffect(()=>{
30
+ const element = innerRef.current;
31
+ if (element && props.step !== undefined) {
32
+ (element as any).step = props.step;
33
+ }
34
+ }, [
35
+ props.step
36
+ ]);
37
+ useTypeOfLayoutEffect(()=>{
38
+ const element = innerRef.current;
39
+ if (element && props.stepsCount !== undefined) {
40
+ (element as any).stepsCount = props.stepsCount;
41
+ }
42
+ }, [
43
+ props.stepsCount
44
+ ]);
45
+ useTypeOfLayoutEffect(()=>{
46
+ const element = innerRef.current;
47
+ if (element && props.dirty !== undefined) {
48
+ (element as any).dirty = props.dirty;
49
+ }
50
+ }, [
51
+ props.dirty
52
+ ]);
53
+ useTypeOfLayoutEffect(()=>{
54
+ const element = innerRef.current;
55
+ if (element && props.status !== undefined) {
56
+ (element as any).status = props.status;
57
+ }
58
+ }, [
59
+ props.status
60
+ ]);
61
+ useTypeOfLayoutEffect(()=>{
62
+ const element = innerRef.current;
63
+ if (element && props.locale !== undefined) {
64
+ (element as any).locale = props.locale;
65
+ }
66
+ }, [
67
+ props.locale
68
+ ]);
69
+ const domProps = {
70
+ ...props
71
+ };
72
+ const customPropNames = [
73
+ 'warnUnsaved',
74
+ 'step',
75
+ 'stepsCount',
76
+ 'dirty',
77
+ 'status',
78
+ 'locale'
79
+ ];
80
+ for (const key of customPropNames){
81
+ delete (domProps as any)[key];
82
+ }
83
+ return React.createElement('uibit-form', {
84
+ ref: innerRef,
85
+ ...domProps
86
+ }, children);
87
+ };
88
+ declare global {
89
+ namespace React {
90
+ namespace JSX {
91
+ interface IntrinsicElements {
92
+ 'uibit-form': React.ClassAttributes<HTMLElementClass> & React.HTMLAttributes<HTMLElementClass> & {
93
+ children?: React.ReactNode;
94
+ class?: string;
95
+ warnUnsaved?: boolean;
96
+ step?: number;
97
+ stepsCount?: number;
98
+ dirty?: boolean;
99
+ status?: 'idle' | 'pending' | 'success' | 'error';
100
+ locale?: string;
101
+ };
102
+ }
103
+ }
104
+ }
105
+ }
@@ -11,6 +11,7 @@ declare module 'solid-js' {
11
11
  stepsCount?: number;
12
12
  dirty?: boolean;
13
13
  status?: 'idle' | 'pending' | 'success' | 'error';
14
+ locale?: string;
14
15
 
15
16
  };
16
17
  }
@@ -10,6 +10,8 @@ declare module '@stencil/core' {
10
10
  stepsCount?: number;
11
11
  dirty?: boolean;
12
12
  status?: 'idle' | 'pending' | 'success' | 'error';
13
+ locale?: string;
14
+
13
15
  };
14
16
  }
15
17
  }
@@ -1,50 +1,93 @@
1
1
  <script lang="ts">
2
2
  import '@uibit/form';
3
3
  import type { Form as HTMLElementClass } from '@uibit/form';
4
-
5
- let {
6
- warnUnsaved = undefined,
7
- step = undefined,
8
- stepsCount = undefined,
9
- dirty = undefined,
10
- status = undefined,
11
- success = undefined,
12
- error = undefined,
13
- children
4
+
5
+ let {
6
+ warnUnsaved = $bindable(),
7
+ step = $bindable(),
8
+ stepsCount = $bindable(),
9
+ dirty = $bindable(),
10
+ status = $bindable(),
11
+ locale = $bindable(),
12
+ success = undefined,
13
+ error = undefined,
14
+ children,
15
+ ...restProps
14
16
  } = $props<{
15
- children?: any;
17
+ children?: import('svelte').Snippet;
16
18
  warnUnsaved?: boolean;
17
19
  step?: number;
18
20
  stepsCount?: number;
19
21
  dirty?: boolean;
20
22
  status?: 'idle' | 'pending' | 'success' | 'error';
23
+ locale?: string;
21
24
  success?: import('svelte').Snippet;
22
25
  error?: import('svelte').Snippet;
26
+ [key: string]: any;
23
27
  }>();
24
-
25
- let elementRef: HTMLElementClass | null = $state(null);
26
-
27
- $effect(() => {
28
- if (elementRef && warnUnsaved !== undefined) {
28
+
29
+ let elementRef: HTMLElementClass | null = $state(null);
30
+
31
+ $effect(() => {
32
+ if (elementRef && warnUnsaved !== undefined && elementRef.warnUnsaved !== warnUnsaved) {
29
33
  elementRef.warnUnsaved = warnUnsaved;
30
34
  }
31
- if (elementRef && step !== undefined) {
35
+ if (elementRef && step !== undefined && elementRef.step !== step) {
32
36
  elementRef.step = step;
33
37
  }
34
- if (elementRef && stepsCount !== undefined) {
38
+ if (elementRef && stepsCount !== undefined && elementRef.stepsCount !== stepsCount) {
35
39
  elementRef.stepsCount = stepsCount;
36
40
  }
37
- if (elementRef && dirty !== undefined) {
41
+ if (elementRef && dirty !== undefined && elementRef.dirty !== dirty) {
38
42
  elementRef.dirty = dirty;
39
43
  }
40
- if (elementRef && status !== undefined) {
44
+ if (elementRef && status !== undefined && elementRef.status !== status) {
41
45
  elementRef.status = status;
42
46
  }
47
+ if (elementRef && locale !== undefined && elementRef.locale !== locale) {
48
+ elementRef.locale = locale;
49
+ }
50
+ });
51
+
52
+ $effect(() => {
53
+ const element = elementRef;
54
+ if (!element) return;
55
+
56
+ const handleEvent = () => {
57
+ if (warnUnsaved !== element.warnUnsaved) {
58
+ warnUnsaved = element.warnUnsaved as any;
59
+ }
60
+ if (step !== element.step) {
61
+ step = element.step as any;
62
+ }
63
+ if (stepsCount !== element.stepsCount) {
64
+ stepsCount = element.stepsCount as any;
65
+ }
66
+ if (dirty !== element.dirty) {
67
+ dirty = element.dirty as any;
68
+ }
69
+ if (status !== element.status) {
70
+ status = element.status as any;
71
+ }
72
+ if (locale !== element.locale) {
73
+ locale = element.locale as any;
74
+ }
75
+ };
76
+
77
+ const events = ['change', 'input'];
78
+ for (const event of events) {
79
+ element.addEventListener(event, handleEvent);
80
+ }
81
+ return () => {
82
+ for (const event of events) {
83
+ element.removeEventListener(event, handleEvent);
84
+ }
85
+ };
43
86
  });
44
-
87
+
45
88
  </script>
46
89
 
47
- <uibit-form bind:this={elementRef} {...$$restProps}>
90
+ <uibit-form bind:this={elementRef} {...restProps}>
48
91
  {#if success}
49
92
  <div slot="success">
50
93
  {@render success()}
@@ -1,26 +1,120 @@
1
- import { defineComponent, h } from 'vue';
1
+ import { defineComponent, h, ref, watch } from 'vue';
2
2
  import type { Form as HTMLElementClass } from '@uibit/form';
3
3
  import '@uibit/form';
4
-
5
4
  export const Form = defineComponent({
6
- name: 'Form',
7
- props: {
8
- warnUnsaved: { type: [String, Number, Boolean, Array, Object] as any },
9
- step: { type: [String, Number, Boolean, Array, Object] as any },
10
- stepsCount: { type: [String, Number, Boolean, Array, Object] as any },
11
- dirty: { type: [String, Number, Boolean, Array, Object] as any },
12
- status: { type: [String, Number, Boolean, Array, Object] as any }
13
- },
14
- emits: [],
15
- setup(props, { slots, emit }) {
16
- return () => {
17
- const eventListeners: Record<string, any> = {};
18
-
19
-
20
- return h('uibit-form', {
21
- ...props,
22
- ...eventListeners
23
- }, slots.default?.());
24
- };
25
- }
5
+ name: 'Form',
6
+ props: {
7
+ warnUnsaved: {
8
+ type: [
9
+ String,
10
+ Number,
11
+ Boolean,
12
+ Array,
13
+ Object
14
+ ] as any
15
+ },
16
+ step: {
17
+ type: [
18
+ String,
19
+ Number,
20
+ Boolean,
21
+ Array,
22
+ Object
23
+ ] as any
24
+ },
25
+ stepsCount: {
26
+ type: [
27
+ String,
28
+ Number,
29
+ Boolean,
30
+ Array,
31
+ Object
32
+ ] as any
33
+ },
34
+ dirty: {
35
+ type: [
36
+ String,
37
+ Number,
38
+ Boolean,
39
+ Array,
40
+ Object
41
+ ] as any
42
+ },
43
+ status: {
44
+ type: [
45
+ String,
46
+ Number,
47
+ Boolean,
48
+ Array,
49
+ Object
50
+ ] as any
51
+ },
52
+ locale: {
53
+ type: [
54
+ String,
55
+ Number,
56
+ Boolean,
57
+ Array,
58
+ Object
59
+ ] as any
60
+ }
61
+ },
62
+ emits: [],
63
+ setup (props, { slots, emit }) {
64
+ const elementRef = ref<HTMLElementClass | null>(null);
65
+ if (false) {
66
+ watch(()=>props.modelValue, (newVal)=>{
67
+ if (elementRef.value && newVal !== undefined && elementRef.value.value !== newVal) {
68
+ elementRef.value.value = newVal;
69
+ }
70
+ });
71
+ watch(()=>props.value, (newVal)=>{
72
+ if (elementRef.value && newVal !== undefined && elementRef.value.value !== newVal) {
73
+ elementRef.value.value = newVal;
74
+ }
75
+ });
76
+ }
77
+ watch(()=>props.warnUnsaved, (newVal)=>{
78
+ if (elementRef.value && newVal !== undefined) {
79
+ (elementRef.value as any).warnUnsaved = newVal;
80
+ }
81
+ });
82
+ watch(()=>props.step, (newVal)=>{
83
+ if (elementRef.value && newVal !== undefined) {
84
+ (elementRef.value as any).step = newVal;
85
+ }
86
+ });
87
+ watch(()=>props.stepsCount, (newVal)=>{
88
+ if (elementRef.value && newVal !== undefined) {
89
+ (elementRef.value as any).stepsCount = newVal;
90
+ }
91
+ });
92
+ watch(()=>props.dirty, (newVal)=>{
93
+ if (elementRef.value && newVal !== undefined) {
94
+ (elementRef.value as any).dirty = newVal;
95
+ }
96
+ });
97
+ watch(()=>props.status, (newVal)=>{
98
+ if (elementRef.value && newVal !== undefined) {
99
+ (elementRef.value as any).status = newVal;
100
+ }
101
+ });
102
+ watch(()=>props.locale, (newVal)=>{
103
+ if (elementRef.value && newVal !== undefined) {
104
+ (elementRef.value as any).locale = newVal;
105
+ }
106
+ });
107
+ return ()=>{
108
+ const eventListeners: Record<string, any> = {};
109
+ const mergedProps = {
110
+ ...props,
111
+ ...eventListeners,
112
+ ref: elementRef
113
+ };
114
+ if (false && props.modelValue !== undefined) {
115
+ (mergedProps as any).value = props.modelValue;
116
+ }
117
+ return h('uibit-form', mergedProps, slots.default?.());
118
+ };
119
+ }
26
120
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uibit/form",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "A composable, declarative wrapper around native HTML form elements with validation, submit lifecycle states, and wizard navigation support.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -11,7 +11,7 @@
11
11
  "import": "./dist/index.js"
12
12
  },
13
13
  "./custom-elements.json": "./custom-elements.json",
14
- "./react": "./dist/frameworks/react/index.d.ts",
14
+ "./react": "./dist/frameworks/react/index.ts",
15
15
  "./vue": "./dist/frameworks/vue/index.ts",
16
16
  "./svelte": "./dist/frameworks/svelte/index.svelte",
17
17
  "./angular": "./dist/frameworks/angular/index.ts",
@@ -40,13 +40,13 @@
40
40
  "license": "MIT",
41
41
  "dependencies": {
42
42
  "lucide": "^1.24.0",
43
- "@uibit/core": "0.1.0"
43
+ "@uibit/core": "0.2.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/node": "^20.19.43",
47
47
  "lit": "^3.3.3",
48
48
  "typescript": "7.0.2",
49
- "@uibit/codegen": "0.1.0"
49
+ "@uibit/codegen": "0.2.0"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "lit": "^3.0.0",
@@ -82,9 +82,9 @@
82
82
  "directory": "packages/components/form"
83
83
  },
84
84
  "scripts": {
85
- "build": "cem analyze --globs 'src/**/*.ts' --litelement && uibit-codegen --package . && tsc",
86
- "dev": "concurrently \"cem analyze --globs 'src/**/*.ts' --litelement --watch\" \"tsc --watch\"",
87
- "analyze": "cem analyze --globs 'src/**/*.ts' --litelement",
85
+ "build": "cem analyze --config ../custom-elements-manifest.config.js && uibit-codegen --package . && tsc",
86
+ "dev": "concurrently \"cem analyze --config ../custom-elements-manifest.config.js --watch\" \"tsc --watch\"",
87
+ "analyze": "cem analyze --config ../custom-elements-manifest.config.js",
88
88
  "typecheck": "tsc --noEmit",
89
89
  "test": "vitest run -c ../../../vitest.config.ts --passWithNoTests"
90
90
  }
@@ -1,21 +0,0 @@
1
- import type { HTMLAttributes, ClassAttributes } from 'react';
2
- import type { Form as HTMLElementClass } from '@uibit/form';
3
- import '@uibit/form';
4
-
5
- declare global {
6
- namespace React {
7
- namespace JSX {
8
- interface IntrinsicElements {
9
- 'uibit-form': ClassAttributes<HTMLElementClass> & HTMLAttributes<HTMLElementClass> & {
10
- children?: React.ReactNode;
11
- class?: string;
12
- warnUnsaved?: boolean;
13
- step?: number;
14
- stepsCount?: number;
15
- dirty?: boolean;
16
- status?: 'idle' | 'pending' | 'success' | 'error';
17
- };
18
- }
19
- }
20
- }
21
- }