@sfxcode/formkit-openvue 0.8.1 → 0.9.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.
@@ -0,0 +1,90 @@
1
+ import autoAnimate from "@formkit/auto-animate";
2
+ import { isDOM } from "@formkit/core";
3
+ import { eachSection } from "@formkit/inputs";
4
+ const DEFAULT_KEY = "true";
5
+ const optionsByKey = /* @__PURE__ */ new Map();
6
+ const attached = /* @__PURE__ */ new WeakSet();
7
+ const pendingIds = /* @__PURE__ */ new Set();
8
+ let observer = null;
9
+ let attachTimer;
10
+ function attachNewTargets() {
11
+ if (typeof document === "undefined")
12
+ return;
13
+ document.querySelectorAll("[data-auto-animate]").forEach((target) => {
14
+ if (attached.has(target))
15
+ return;
16
+ attached.add(target);
17
+ autoAnimate(target, optionsByKey.get(target.getAttribute("data-auto-animate") ?? "") ?? {});
18
+ });
19
+ }
20
+ function checkPendingIds() {
21
+ if (typeof document === "undefined")
22
+ return;
23
+ pendingIds.forEach((id) => {
24
+ if (!document.getElementById(id))
25
+ return;
26
+ pendingIds.delete(id);
27
+ clearTimeout(attachTimer);
28
+ attachTimer = setTimeout(attachNewTargets, 250);
29
+ });
30
+ }
31
+ function observeUntilRendered() {
32
+ if (observer || typeof document === "undefined")
33
+ return;
34
+ checkPendingIds();
35
+ if (!pendingIds.size)
36
+ return;
37
+ observer = new MutationObserver(() => {
38
+ checkPendingIds();
39
+ if (!pendingIds.size) {
40
+ observer?.disconnect();
41
+ observer = null;
42
+ }
43
+ });
44
+ observer.observe(document, { childList: true, subtree: true });
45
+ }
46
+ export function createAutoAnimatePlugin(options = {}, targets = {}) {
47
+ optionsByKey.set(DEFAULT_KEY, options);
48
+ return (node) => {
49
+ node.on("created", () => {
50
+ if (typeof node.props.definition?.schema !== "function")
51
+ return;
52
+ const typeTargets = targets[node.props.type] ?? [];
53
+ const originalSchema = node.props.definition.schema;
54
+ node.props.definition.schema = (extensions) => {
55
+ const schema = originalSchema(extensions);
56
+ const finalSchema = Array.isArray(schema) ? schema[0] : schema;
57
+ let marked = false;
58
+ eachSection(finalSchema, (section) => {
59
+ if (!isDOM(section))
60
+ return;
61
+ let key;
62
+ const meta = section.meta;
63
+ if (meta?.autoAnimate) {
64
+ key = DEFAULT_KEY;
65
+ if (typeof meta.autoAnimate === "object") {
66
+ key = `${node.props.id}-${meta.section ?? "section"}`;
67
+ optionsByKey.set(key, {
68
+ ...options,
69
+ ...meta.autoAnimate
70
+ });
71
+ }
72
+ } else {
73
+ const sectionName = meta?.section;
74
+ if (typeof sectionName === "string" && (targets.global?.includes(sectionName) || typeTargets.includes(sectionName)))
75
+ key = DEFAULT_KEY;
76
+ }
77
+ if (key === void 0)
78
+ return;
79
+ section.attrs = { ...section.attrs, "data-auto-animate": key };
80
+ marked = true;
81
+ });
82
+ if (marked && node.props.id && typeof window !== "undefined") {
83
+ pendingIds.add(node.props.id);
84
+ observeUntilRendered();
85
+ }
86
+ return finalSchema;
87
+ };
88
+ });
89
+ };
90
+ }
@@ -1,3 +1,5 @@
1
1
  import type { FormKitNode } from '@formkit/core';
2
2
  export declare function addFormAsteriskPlugin(node: FormKitNode): void;
3
3
  export declare function addLabelPlugin(node: FormKitNode): void;
4
+ export { createAutoAnimatePlugin } from './autoAnimate';
5
+ export type { AutoAnimateTargets } from './autoAnimate';
@@ -5,6 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.addFormAsteriskPlugin = addFormAsteriskPlugin;
7
7
  exports.addLabelPlugin = addLabelPlugin;
8
+ Object.defineProperty(exports, "createAutoAnimatePlugin", {
9
+ enumerable: true,
10
+ get: function () {
11
+ return _autoAnimate.createAutoAnimatePlugin;
12
+ }
13
+ });
14
+ var _autoAnimate = require("./autoAnimate");
8
15
  function addFormAsteriskPlugin(node) {
9
16
  if (!/^form[A-Z]/.test(node.props.type) || node.props.type.startsWith("formOutput")) return;
10
17
  node.on("created", () => {
@@ -6,14 +6,17 @@ export function addFormAsteriskPlugin(node) {
6
6
  const schemaFn = node.props.definition?.schema;
7
7
  node.props.definition.schema = (sectionsSchema = {}) => {
8
8
  sectionsSchema.label = {
9
- children: ["$label", {
10
- $el: "span",
11
- if: "$state.required",
12
- attrs: {
13
- class: "p-formkit-asterisk"
14
- },
15
- children: ["*"]
16
- }]
9
+ children: [
10
+ "$label",
11
+ {
12
+ $el: "span",
13
+ if: "$state.required",
14
+ attrs: {
15
+ class: "p-formkit-asterisk"
16
+ },
17
+ children: ["*"]
18
+ }
19
+ ]
17
20
  };
18
21
  return schemaFn(sectionsSchema);
19
22
  };
@@ -28,22 +31,25 @@ export function addLabelPlugin(node) {
28
31
  const schemaFn = node.props.definition?.schema;
29
32
  node.props.definition.schema = (sectionsSchema = {}) => {
30
33
  sectionsSchema.label = {
31
- children: [{
32
- $el: "span",
33
- attrs: {
34
- title: "$help",
35
- class: "p-formkit-label"
36
- },
37
- children: ["$label"]
38
- }, {
39
- $el: "span",
40
- if: "$state.required",
41
- attrs: {
42
- class: "p-formkit-required",
43
- title: "$help"
34
+ children: [
35
+ {
36
+ $el: "span",
37
+ attrs: {
38
+ title: "$help",
39
+ class: "p-formkit-label"
40
+ },
41
+ children: ["$label"]
44
42
  },
45
- children: ["*"]
46
- }]
43
+ {
44
+ $el: "span",
45
+ if: "$state.required",
46
+ attrs: {
47
+ class: "p-formkit-required",
48
+ title: "$help"
49
+ },
50
+ children: ["*"]
51
+ }
52
+ ]
47
53
  };
48
54
  sectionsSchema.help = {
49
55
  children: []
@@ -53,3 +59,4 @@ export function addLabelPlugin(node) {
53
59
  }
54
60
  });
55
61
  }
62
+ export { createAutoAnimatePlugin } from "./autoAnimate.mjs";
@@ -314,7 +314,8 @@ $grid-breakpoints: (
314
314
  align-items: stretch;
315
315
  gap: 1rem;
316
316
  width: 100%;
317
- min-width: 600px;
317
+ // never wider than the container it is in
318
+ min-width: min(600px, 100%);
318
319
  }
319
320
 
320
321
  .p-formkit-transfer-list-container {
@@ -333,6 +334,36 @@ $grid-breakpoints: (
333
334
  gap: 0.5rem;
334
335
  }
335
336
 
337
+ // Repeater: the bar that offers to put back a deleted row
338
+ .formkit-repeater-undo {
339
+ display: flex;
340
+ align-items: center;
341
+ gap: 0.5rem;
342
+ padding: 0.25rem 0.5rem;
343
+ margin-top: 0.5rem;
344
+ border: 1px solid var(--p-content-border-color);
345
+ border-radius: var(--p-content-border-radius);
346
+ background: var(--p-content-hover-background);
347
+ font-size: 0.875rem;
348
+ }
349
+
350
+ // Narrow screens: the lists are stacked, the buttons sit between them in a row and their arrows point down and up.
351
+ @media (max-width: 640px) {
352
+ .p-formkit-transfer {
353
+ flex-direction: column;
354
+ min-width: 0;
355
+ }
356
+
357
+ .p-formkit-transfer-buttons {
358
+ flex-direction: row;
359
+ flex-wrap: wrap;
360
+
361
+ .oi {
362
+ transform: rotate(90deg);
363
+ }
364
+ }
365
+ }
366
+
336
367
  .p-formkit-transfer-option {
337
368
  width: 100%;
338
369
  }
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- :root{--formkit-error-color: #ef9a9a}.formkit-form .formkit-messages{margin:.125rem 0;padding-top:.5rem;padding-left:.5rem}.formkit-form .formkit-message{list-style:none;padding:0;margin:0;color:var(--formkit-error-color);font-size:.8rem}.formkit-form .formkit-outer{padding-bottom:.8rem}.formkit-form .formkit-outer .formkit-messages{margin:.125rem 0;padding-top:.25rem;padding-left:0}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-formkit-icon{box-sizing:border-box;width:100%}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-inputtext,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-textarea,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-password,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-multiselect,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-select,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-editor{box-sizing:border-box;width:100%}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-inputtext.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-textarea.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-password.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-multiselect.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-select.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-editor.p-colorpicker-preview{width:2rem}.formkit-form .formkit-outer .formkit-help{margin:.25rem 0 0 0;font-size:.8rem;color:var(--text-color-secondary)}.formkit-form .formkit-label{display:block;margin:0;padding-bottom:.5rem;font-weight:bold;font-size:.8rem}.formkit-form .p-formkit>*{margin-right:.5rem}.formkit-form .p-formkit>*:last-child,.formkit-form .p-formkit>*:only-child{margin-right:0}.formkit-form .p-formkit-options{display:flex;flex-wrap:wrap;gap:.5rem}.formkit-form .p-formkit-options .p-formkit-option{display:flex;align-items:center}.formkit-form .p-formkit-options .p-formkit-option label{margin-left:.5rem}.formkit-form .formkit-fieldset{margin:0;padding:0;border-radius:0;border:0}.formkit-form .formkit-fieldset:focus-within{border:0}.formkit-form .formkit-fieldset>.formkit-help{margin-top:0;margin-bottom:0}.formkit-form .formkit-legend{display:block;margin:0;padding:0}.formkit-form .formkit-actions{padding-top:.5rem;display:flex}.formkit-form .formkit-actions button{margin-right:.5rem}.formkit-form .p-action-buttons{margin-top:.25rem}.formkit-form .p-action-buttons .p-button{margin-right:.5rem}.formkit-form .p-action-buttons span .p-space{margin-right:3rem}.formkit-form .p-chip-item{align-items:center;background:var(--p-surface-500);color:var(--p-surface-0);border-radius:1rem;padding:.2rem .5rem}.formkit-form .formkit-repeater-drag-handle{display:inline-flex;align-items:center;cursor:grab;user-select:none}.formkit-form .formkit-item[draggable=true]{cursor:grab}.formkit-form .formkit-item[draggable=true]:active{cursor:grabbing}.formkit-form .formkit-item[draggable=true].formkit-repeater-drop-target{outline:1px dashed var(--p-primary-color, #3b82f6);outline-offset:2px;background:color-mix(in srgb, var(--p-primary-color, #3b82f6) 12%, transparent)}.p-formkit-data-view .formkit-outer{padding-bottom:.5rem}.p-formkit-data-view.form-horizontal{padding-bottom:.8rem}.p-formkit-data-view .formkit-help{padding-top:.25rem;margin:0}.p-formkit-data-view ul,.p-formkit-data-view ol{padding-inline-start:1rem;margin-block-start:0;margin-block-end:0}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper{display:flex;flex-wrap:wrap}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper .formkit-inner{width:auto !important}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label{width:auto;order:2;padding:.125rem 0}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:after{content:""}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label+.formkit-inner{margin-left:0 !important;order:1;flex-basis:2rem;flex-grow:0;flex-shrink:0;overflow:hidden}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label+.formkit-inner:has(label){flex-grow:1;flex-basis:100%}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3),.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)~label{width:auto}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3){order:1}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)+div.p-checkbox{order:2;width:auto}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)~label{order:3}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper .formkit-inner:first-child{margin-left:0 !important}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper .formkit-inner:first-child .p-formkit{display:flex}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper .p-checkbox:not(:only-child){width:2rem;overflow:hidden}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-help{width:auto !important}.p-formkit-transfer{display:flex;align-items:stretch;gap:1rem;width:100%;min-width:600px}.p-formkit-transfer-list-container{display:flex;flex-direction:column;flex:1;gap:.5rem;min-width:0}.p-formkit-transfer-buttons{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.p-formkit-transfer-option{width:100%}.p-formkit-transfer-option-draggable{cursor:grab}.p-formkit-transfer-option-draggable:active{cursor:grabbing}.p-formkit-data-debug pre,.p-formkit-data-debug span{font-size:.75rem;line-height:1rem}@media(min-width: 1024px){.formkit-form{display:flex;flex-wrap:wrap;margin-left:-0.5rem;margin-right:-0.5rem}.formkit-form>*{flex-shrink:0;width:100%;max-width:100%;padding-left:.5rem;padding-right:.5rem}.col-1{width:8.3333333333%}.col-2{width:16.6666666667%}.col-3{width:25%}.col-4{width:33.3333333333%}.col-5{width:41.6666666667%}.col-6{width:50%}.col-7{width:58.3333333333%}.col-8{width:66.6666666667%}.col-9{width:75%}.col-10{width:83.3333333333%}.col-11{width:91.6666666667%}.col-12{width:100%}}@media(min-width: 768px){.formkit-form.form-horizontal .formkit-wrapper{display:flex}.formkit-form.form-horizontal .formkit-wrapper label{display:inline-block;padding:0 .25rem 0 0;font-size:inherit}.formkit-form.form-horizontal .formkit-wrapper label:after{content:":"}}@media(min-width: 768px)and (min-width: 768px){.formkit-form.form-horizontal.form-horizontal-checkbox-indent .formkit-outer[data-type=formCheckbox]{padding-left:33.3333333333%}}@media(min-width: 768px){.p-formkit-data-view .formkit-form.form-horizontal label{white-space:nowrap}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer{width:100%}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer label{width:33.3333333333%;padding-top:.25rem;line-height:normal}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer .formkit-inner{width:66.6666666667%}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=formCheckbox] .formkit-inner{margin-left:auto}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=formCheckbox] .formkit-inner .p-formkit{display:flex}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=formCheckbox] .formkit-inner label{width:auto;padding:0}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-help,.p-formkit-data-edit .formkit-form.form-horizontal .formkit-messages{width:66.6666666667%;margin-left:auto}}
1
+ :root{--formkit-error-color: #ef9a9a}.formkit-form .formkit-messages{margin:.125rem 0;padding-top:.5rem;padding-left:.5rem}.formkit-form .formkit-message{list-style:none;padding:0;margin:0;color:var(--formkit-error-color);font-size:.8rem}.formkit-form .formkit-outer{padding-bottom:.8rem}.formkit-form .formkit-outer .formkit-messages{margin:.125rem 0;padding-top:.25rem;padding-left:0}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-formkit-icon{box-sizing:border-box;width:100%}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-inputtext,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-textarea,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-password,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-multiselect,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-select,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-editor{box-sizing:border-box;width:100%}.formkit-form .formkit-outer .formkit-inner .p-formkit .p-inputtext.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-textarea.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-password.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-multiselect.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-select.p-colorpicker-preview,.formkit-form .formkit-outer .formkit-inner .p-formkit .p-editor.p-colorpicker-preview{width:2rem}.formkit-form .formkit-outer .formkit-help{margin:.25rem 0 0 0;font-size:.8rem;color:var(--text-color-secondary)}.formkit-form .formkit-label{display:block;margin:0;padding-bottom:.5rem;font-weight:bold;font-size:.8rem}.formkit-form .p-formkit>*{margin-right:.5rem}.formkit-form .p-formkit>*:last-child,.formkit-form .p-formkit>*:only-child{margin-right:0}.formkit-form .p-formkit-options{display:flex;flex-wrap:wrap;gap:.5rem}.formkit-form .p-formkit-options .p-formkit-option{display:flex;align-items:center}.formkit-form .p-formkit-options .p-formkit-option label{margin-left:.5rem}.formkit-form .formkit-fieldset{margin:0;padding:0;border-radius:0;border:0}.formkit-form .formkit-fieldset:focus-within{border:0}.formkit-form .formkit-fieldset>.formkit-help{margin-top:0;margin-bottom:0}.formkit-form .formkit-legend{display:block;margin:0;padding:0}.formkit-form .formkit-actions{padding-top:.5rem;display:flex}.formkit-form .formkit-actions button{margin-right:.5rem}.formkit-form .p-action-buttons{margin-top:.25rem}.formkit-form .p-action-buttons .p-button{margin-right:.5rem}.formkit-form .p-action-buttons span .p-space{margin-right:3rem}.formkit-form .p-chip-item{align-items:center;background:var(--p-surface-500);color:var(--p-surface-0);border-radius:1rem;padding:.2rem .5rem}.formkit-form .formkit-repeater-drag-handle{display:inline-flex;align-items:center;cursor:grab;user-select:none}.formkit-form .formkit-item[draggable=true]{cursor:grab}.formkit-form .formkit-item[draggable=true]:active{cursor:grabbing}.formkit-form .formkit-item[draggable=true].formkit-repeater-drop-target{outline:1px dashed var(--p-primary-color, #3b82f6);outline-offset:2px;background:color-mix(in srgb, var(--p-primary-color, #3b82f6) 12%, transparent)}.p-formkit-data-view .formkit-outer{padding-bottom:.5rem}.p-formkit-data-view.form-horizontal{padding-bottom:.8rem}.p-formkit-data-view .formkit-help{padding-top:.25rem;margin:0}.p-formkit-data-view ul,.p-formkit-data-view ol{padding-inline-start:1rem;margin-block-start:0;margin-block-end:0}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper{display:flex;flex-wrap:wrap}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper .formkit-inner{width:auto !important}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label{width:auto;order:2;padding:.125rem 0}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:after{content:""}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label+.formkit-inner{margin-left:0 !important;order:1;flex-basis:2rem;flex-grow:0;flex-shrink:0;overflow:hidden}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label+.formkit-inner:has(label){flex-grow:1;flex-basis:100%}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3),.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)~label{width:auto}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3){order:1}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)+div.p-checkbox{order:2;width:auto}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper label:first-child:nth-last-child(3)~label{order:3}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper .formkit-inner:first-child{margin-left:0 !important}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper .formkit-inner:first-child .p-formkit{display:flex}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-wrapper .p-checkbox:not(:only-child){width:2rem;overflow:hidden}.p-formkit-data-edit .formkit-outer[data-type=formCheckbox] .formkit-help{width:auto !important}.p-formkit-transfer{display:flex;align-items:stretch;gap:1rem;width:100%;min-width:min(600px,100%)}.p-formkit-transfer-list-container{display:flex;flex-direction:column;flex:1;gap:.5rem;min-width:0}.p-formkit-transfer-buttons{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.formkit-repeater-undo{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;margin-top:.5rem;border:1px solid var(--p-content-border-color);border-radius:var(--p-content-border-radius);background:var(--p-content-hover-background);font-size:.875rem}@media(max-width: 640px){.p-formkit-transfer{flex-direction:column;min-width:0}.p-formkit-transfer-buttons{flex-direction:row;flex-wrap:wrap}.p-formkit-transfer-buttons .oi{transform:rotate(90deg)}}.p-formkit-transfer-option{width:100%}.p-formkit-transfer-option-draggable{cursor:grab}.p-formkit-transfer-option-draggable:active{cursor:grabbing}.p-formkit-data-debug pre,.p-formkit-data-debug span{font-size:.75rem;line-height:1rem}@media(min-width: 1024px){.formkit-form{display:flex;flex-wrap:wrap;margin-left:-0.5rem;margin-right:-0.5rem}.formkit-form>*{flex-shrink:0;width:100%;max-width:100%;padding-left:.5rem;padding-right:.5rem}.col-1{width:8.3333333333%}.col-2{width:16.6666666667%}.col-3{width:25%}.col-4{width:33.3333333333%}.col-5{width:41.6666666667%}.col-6{width:50%}.col-7{width:58.3333333333%}.col-8{width:66.6666666667%}.col-9{width:75%}.col-10{width:83.3333333333%}.col-11{width:91.6666666667%}.col-12{width:100%}}@media(min-width: 768px){.formkit-form.form-horizontal .formkit-wrapper{display:flex}.formkit-form.form-horizontal .formkit-wrapper label{display:inline-block;padding:0 .25rem 0 0;font-size:inherit}.formkit-form.form-horizontal .formkit-wrapper label:after{content:":"}}@media(min-width: 768px)and (min-width: 768px){.formkit-form.form-horizontal.form-horizontal-checkbox-indent .formkit-outer[data-type=formCheckbox]{padding-left:33.3333333333%}}@media(min-width: 768px){.p-formkit-data-view .formkit-form.form-horizontal label{white-space:nowrap}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer{width:100%}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer label{width:33.3333333333%;padding-top:.25rem;line-height:normal}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-outer .formkit-inner{width:66.6666666667%}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=formCheckbox] .formkit-inner{margin-left:auto}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=formCheckbox] .formkit-inner .p-formkit{display:flex}.p-formkit-data-edit .formkit-form.form-horizontal div[data-type=formCheckbox] .formkit-inner label{width:auto;padding:0}.p-formkit-data-edit .formkit-form.form-horizontal .formkit-help,.p-formkit-data-edit .formkit-form.form-horizontal .formkit-messages{width:66.6666666667%;margin-left:auto}}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Deep-copies arrays and plain objects and leaves every other value - class
3
+ * instances such as `@internationalized/date`'s `CalendarDate`/`Time`/
4
+ * `ZonedDateTime`, `Date`, `File`, `Map` - as the same reference.
5
+ *
6
+ * Not `@formkit/utils`' `cloneAny`: it shares a `Date`/`File`/`Map` but rebuilds a
7
+ * `CalendarDate` as a plain object without its prototype, so the date inputs lose
8
+ * the value without any error. A cycle is copied as a cycle.
9
+ */
10
+ export declare function clonePlain<T>(value: T, seen?: WeakMap<object, unknown>): T;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.clonePlain = clonePlain;
7
+ function isPlainObject(value) {
8
+ const prototype = Object.getPrototypeOf(value);
9
+ return prototype === Object.prototype || prototype === null;
10
+ }
11
+ function clonePlain(value, seen = /* @__PURE__ */new WeakMap()) {
12
+ if (value === null || typeof value !== "object") return value;
13
+ if (seen.has(value)) return seen.get(value);
14
+ if (Array.isArray(value)) {
15
+ const copy2 = [];
16
+ seen.set(value, copy2);
17
+ for (const item of value) copy2.push(clonePlain(item, seen));
18
+ return copy2;
19
+ }
20
+ if (!isPlainObject(value)) return value;
21
+ const copy = Object.getPrototypeOf(value) === null ? /* @__PURE__ */Object.create(null) : {};
22
+ seen.set(value, copy);
23
+ for (const key of Object.keys(value)) copy[key] = clonePlain(value[key], seen);
24
+ return copy;
25
+ }
@@ -0,0 +1,24 @@
1
+ function isPlainObject(value) {
2
+ const prototype = Object.getPrototypeOf(value);
3
+ return prototype === Object.prototype || prototype === null;
4
+ }
5
+ export function clonePlain(value, seen = /* @__PURE__ */ new WeakMap()) {
6
+ if (value === null || typeof value !== "object")
7
+ return value;
8
+ if (seen.has(value))
9
+ return seen.get(value);
10
+ if (Array.isArray(value)) {
11
+ const copy2 = [];
12
+ seen.set(value, copy2);
13
+ for (const item of value)
14
+ copy2.push(clonePlain(item, seen));
15
+ return copy2;
16
+ }
17
+ if (!isPlainObject(value))
18
+ return value;
19
+ const copy = Object.getPrototypeOf(value) === null ? /* @__PURE__ */ Object.create(null) : {};
20
+ seen.set(value, copy);
21
+ for (const key of Object.keys(value))
22
+ copy[key] = clonePlain(value[key], seen);
23
+ return copy;
24
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sfxcode/formkit-openvue",
3
3
  "type": "module",
4
- "version": "0.8.1",
4
+ "version": "0.9.1",
5
5
  "packageManager": "pnpm@11.0.9+sha512.34ce82e6780233cf9cad8685029a8f81d2e06196c5a9bad98879f7424940c6817c4e4524fb7d38b8553ceed48b9758b8ebaf1abd3600c232c4c8cf7366086f38",
6
6
  "author": {
7
7
  "name": "Tom",
@@ -100,51 +100,39 @@
100
100
  "@formkit/i18n": "^2.1.2",
101
101
  "@formkit/inputs": "^2.1.2",
102
102
  "@formkit/vue": "^2.1.2",
103
- "@intlify/core": "^11.4.13",
104
- "@openvue/openicons": "^1.0.0",
105
- "@openvue/openicons-vue": "^1.0.0",
106
- "openvue": "1.0.0",
107
- "vue-i18n": "^11.4.13"
103
+ "@intlify/core": "^11.4.17",
104
+ "@openvue/openicons": "^1.1.0",
105
+ "@openvue/openicons-vue": "^1.1.0",
106
+ "openvue": "^1.1.0",
107
+ "vue-i18n": "^11.4.17"
108
108
  },
109
109
  "devDependencies": {
110
- "@antfu/eslint-config": "^9.5.1",
111
- "@openvue/themes": "1.0.0",
110
+ "@antfu/eslint-config": "^10.0.0",
111
+ "@openvue/themes": "^1.1.0",
112
112
  "@types/node": "latest",
113
- "@unocss/preset-icons": "^66.10.5",
114
- "@unocss/preset-uno": "^66.10.5",
115
- "@vitejs/plugin-vue": "^6.0.9",
116
- "@vitest/coverage-v8": "^5.0.3",
117
- "@vitest/ui": "^5.0.3",
118
- "@vue/compiler-sfc": "^3.5.43",
119
- "@vue/server-renderer": "^3.5.43",
120
- "@vue/test-utils": "^2.5.1",
113
+ "@vitejs/plugin-vue": "^6.0.10",
114
+ "@vitest/coverage-v8": "^5.0.5",
115
+ "@vitest/ui": "^5.0.5",
121
116
  "@vue/tsconfig": "^0.9.1",
122
117
  "@vueuse/core": "^15.0.0",
123
- "@vueuse/head": "^2.0.0",
124
118
  "changelogen": "^0.6.2",
125
- "chart.js": "^4.5.1",
126
- "consola": "^3.4.2",
127
- "esbuild": "^0.28.2",
128
- "eslint": "^10.12.0",
129
- "happy-dom": "^20.14.5",
119
+ "eslint": "^10.14.0",
120
+ "happy-dom": "^21.0.4",
130
121
  "json-editor-vue": "^0.19.2",
131
122
  "mkdist": "^2.4.1",
132
- "sass": "^1.105.1",
133
- "tslib": "^2.8.1",
123
+ "sass": "^1.107.1",
134
124
  "typescript": "^6.0.3",
135
125
  "unbuild": "^3.6.1",
136
- "unocss": "^66.10.5",
126
+ "unocss": "^66.12.0",
137
127
  "unplugin-auto-import": "^21.1.0",
138
128
  "unplugin-vue-components": "^32.1.0",
139
- "vite": "^8.3.2",
129
+ "vite": "^8.3.5",
140
130
  "vite-plugin-pages": "^0.33.3",
141
- "vite-ssg": "^28.3.0",
142
- "vitepress": "2.0.0-alpha.20",
143
- "vitest": "^5.0.3",
144
- "vue": "^3.5.43",
145
- "vue-demi": "^0.14.10",
146
- "vue-router": "^5.3.1",
147
- "vue-sfc-transformer": "^0.3.0",
148
- "vue-tsc": "^3.3.12"
131
+ "vitepress": "2.0.0-alpha.21",
132
+ "vitest": "^5.0.5",
133
+ "vue": "^3.5.44",
134
+ "vue-router": "^5.4.0",
135
+ "vue-sfc-transformer": "^0.3.1",
136
+ "vue-tsc": "^3.3.14"
149
137
  }
150
138
  }