@pixpilot/formily-shadcn 0.8.0 → 0.8.2

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.
Files changed (184) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +25 -1
  2. package/dist/_virtual/rolldown_runtime.js +24 -1
  3. package/dist/components/array-base/array-base.cjs +59 -1
  4. package/dist/components/array-base/array-base.js +55 -1
  5. package/dist/components/array-base/array-context.cjs +28 -1
  6. package/dist/components/array-base/array-context.js +22 -1
  7. package/dist/components/array-base/component-context.cjs +28 -1
  8. package/dist/components/array-base/component-context.js +22 -1
  9. package/dist/components/array-base/components/addition.cjs +51 -1
  10. package/dist/components/array-base/components/addition.js +45 -1
  11. package/dist/components/array-base/components/array-copy.cjs +49 -1
  12. package/dist/components/array-base/components/array-copy.js +42 -1
  13. package/dist/components/array-base/components/array-index.cjs +15 -1
  14. package/dist/components/array-base/components/array-index.js +13 -1
  15. package/dist/components/array-base/components/array-item-label.cjs +22 -1
  16. package/dist/components/array-base/components/array-item-label.js +19 -1
  17. package/dist/components/array-base/components/components.cjs +30 -1
  18. package/dist/components/array-base/components/components.js +29 -1
  19. package/dist/components/array-base/components/edit.cjs +42 -1
  20. package/dist/components/array-base/components/edit.js +36 -1
  21. package/dist/components/array-base/components/empty.cjs +19 -1
  22. package/dist/components/array-base/components/empty.js +16 -1
  23. package/dist/components/array-base/components/get-array-components.cjs +88 -1
  24. package/dist/components/array-base/components/get-array-components.js +84 -1
  25. package/dist/components/array-base/components/move-down.cjs +47 -1
  26. package/dist/components/array-base/components/move-down.js +41 -1
  27. package/dist/components/array-base/components/move-up.cjs +47 -1
  28. package/dist/components/array-base/components/move-up.js +41 -1
  29. package/dist/components/array-base/components/remove.cjs +46 -1
  30. package/dist/components/array-base/components/remove.js +40 -1
  31. package/dist/components/array-base/components/title.cjs +17 -1
  32. package/dist/components/array-base/components/title.js +14 -1
  33. package/dist/components/array-base/components/use-array-components-registry.cjs +56 -1
  34. package/dist/components/array-base/components/use-array-components-registry.js +52 -1
  35. package/dist/components/array-base/constants/index.cjs +17 -1
  36. package/dist/components/array-base/constants/index.js +15 -1
  37. package/dist/components/array-base/index.cjs +2 -1
  38. package/dist/components/array-base/index.js +2 -1
  39. package/dist/components/array-base/utils/filter-and-sort-components.cjs +34 -1
  40. package/dist/components/array-base/utils/filter-and-sort-components.js +34 -1
  41. package/dist/components/array-base/utils/is-array-component.cjs +65 -1
  42. package/dist/components/array-base/utils/is-array-component.js +56 -1
  43. package/dist/components/array-cards/array-cards.cjs +64 -1
  44. package/dist/components/array-cards/array-cards.js +60 -1
  45. package/dist/components/array-cards/index.cjs +1 -1
  46. package/dist/components/array-cards/index.js +1 -1
  47. package/dist/components/array-cards/item.cjs +64 -1
  48. package/dist/components/array-cards/item.js +60 -1
  49. package/dist/components/array-collapse/array-collapse.cjs +96 -1
  50. package/dist/components/array-collapse/array-collapse.js +92 -1
  51. package/dist/components/array-collapse/index.cjs +1 -1
  52. package/dist/components/array-collapse/index.js +1 -1
  53. package/dist/components/array-collapse/item.cjs +84 -1
  54. package/dist/components/array-collapse/item.js +78 -1
  55. package/dist/components/array-common/array-items-list.cjs +43 -1
  56. package/dist/components/array-common/array-items-list.js +39 -1
  57. package/dist/components/array-common/create-active-item-manager.cjs +29 -1
  58. package/dist/components/array-common/create-active-item-manager.js +27 -1
  59. package/dist/components/array-common/index.cjs +5 -1
  60. package/dist/components/array-common/index.js +5 -1
  61. package/dist/components/array-common/item-wrapper.cjs +26 -1
  62. package/dist/components/array-common/item-wrapper.js +21 -1
  63. package/dist/components/array-common/list-item.cjs +53 -1
  64. package/dist/components/array-common/list-item.js +48 -1
  65. package/dist/components/array-common/use-array-editor.cjs +47 -1
  66. package/dist/components/array-common/use-array-editor.js +44 -1
  67. package/dist/components/array-dialog/array-dialog.cjs +66 -1
  68. package/dist/components/array-dialog/array-dialog.js +62 -1
  69. package/dist/components/array-dialog/edit-dialog.cjs +61 -1
  70. package/dist/components/array-dialog/edit-dialog.js +57 -1
  71. package/dist/components/array-dialog/index.cjs +1 -1
  72. package/dist/components/array-dialog/index.js +1 -1
  73. package/dist/components/array-popover/array-popover.cjs +58 -1
  74. package/dist/components/array-popover/array-popover.js +53 -1
  75. package/dist/components/array-popover/index.cjs +1 -1
  76. package/dist/components/array-popover/index.js +1 -1
  77. package/dist/components/array-popover/popover.cjs +75 -1
  78. package/dist/components/array-popover/popover.js +71 -1
  79. package/dist/components/checkbox.cjs +26 -1
  80. package/dist/components/checkbox.js +23 -1
  81. package/dist/components/column.cjs +39 -1
  82. package/dist/components/column.js +35 -1
  83. package/dist/components/combobox.cjs +14 -1
  84. package/dist/components/combobox.js +11 -1
  85. package/dist/components/context/context.cjs +7 -1
  86. package/dist/components/context/context.js +7 -1
  87. package/dist/components/context/form-context.cjs +9 -1
  88. package/dist/components/context/form-context.js +7 -1
  89. package/dist/components/context/index.cjs +2 -1
  90. package/dist/components/context/index.js +2 -1
  91. package/dist/components/date-picker.cjs +23 -1
  92. package/dist/components/date-picker.js +19 -1
  93. package/dist/components/file-upload/file-upload-inline.cjs +35 -1
  94. package/dist/components/file-upload/file-upload-inline.d.cts +8 -8
  95. package/dist/components/file-upload/file-upload-inline.js +30 -1
  96. package/dist/components/file-upload/file-upload.cjs +35 -1
  97. package/dist/components/file-upload/file-upload.d.cts +8 -8
  98. package/dist/components/file-upload/file-upload.js +30 -1
  99. package/dist/components/file-upload/index.cjs +2 -1
  100. package/dist/components/file-upload/index.js +2 -1
  101. package/dist/components/file-upload/use-file-upload-feedback.cjs +59 -3
  102. package/dist/components/file-upload/use-file-upload-feedback.js +53 -3
  103. package/dist/components/form-grid.cjs +19 -1
  104. package/dist/components/form-grid.js +15 -1
  105. package/dist/components/form-item.cjs +118 -3
  106. package/dist/components/form-item.js +112 -3
  107. package/dist/components/form-items-container.cjs +28 -1
  108. package/dist/components/form-items-container.js +24 -1
  109. package/dist/components/form.cjs +56 -1
  110. package/dist/components/form.js +51 -1
  111. package/dist/components/hidden.cjs +26 -1
  112. package/dist/components/hidden.js +23 -1
  113. package/dist/components/icon-picker.cjs +37 -1
  114. package/dist/components/icon-picker.js +33 -1
  115. package/dist/components/input.cjs +20 -1
  116. package/dist/components/input.js +17 -1
  117. package/dist/components/json-schema-form-renderer.cjs +30 -1
  118. package/dist/components/json-schema-form-renderer.js +26 -1
  119. package/dist/components/number-input.cjs +19 -1
  120. package/dist/components/number-input.d.ts +2 -2
  121. package/dist/components/number-input.js +16 -1
  122. package/dist/components/object-container.cjs +35 -1
  123. package/dist/components/object-container.js +32 -1
  124. package/dist/components/radio.cjs +40 -1
  125. package/dist/components/radio.js +35 -1
  126. package/dist/components/rich-text-editor.cjs +27 -1
  127. package/dist/components/rich-text-editor.js +23 -1
  128. package/dist/components/row.cjs +39 -1
  129. package/dist/components/row.js +35 -1
  130. package/dist/components/schema-field-extended.cjs +25 -1
  131. package/dist/components/schema-field-extended.d.cts +9 -9
  132. package/dist/components/schema-field-extended.d.ts +262 -262
  133. package/dist/components/schema-field-extended.js +23 -1
  134. package/dist/components/schema-field.cjs +61 -1
  135. package/dist/components/schema-field.d.cts +9 -9
  136. package/dist/components/schema-field.d.ts +220 -220
  137. package/dist/components/schema-field.js +57 -1
  138. package/dist/components/select.cjs +11 -1
  139. package/dist/components/select.js +8 -1
  140. package/dist/components/separator.cjs +15 -1
  141. package/dist/components/separator.d.ts +2 -2
  142. package/dist/components/separator.js +12 -1
  143. package/dist/components/slider.cjs +33 -1
  144. package/dist/components/slider.d.ts +2 -2
  145. package/dist/components/slider.js +29 -1
  146. package/dist/components/switch.cjs +21 -1
  147. package/dist/components/switch.js +18 -1
  148. package/dist/components/tags-input-inline.cjs +26 -1
  149. package/dist/components/tags-input-inline.js +23 -1
  150. package/dist/components/textarea.cjs +19 -1
  151. package/dist/components/textarea.js +16 -1
  152. package/dist/hooks/index.cjs +3 -1
  153. package/dist/hooks/index.js +3 -1
  154. package/dist/hooks/use-description.cjs +14 -1
  155. package/dist/hooks/use-description.js +12 -1
  156. package/dist/hooks/use-form-context.cjs +13 -1
  157. package/dist/hooks/use-form-context.js +11 -1
  158. package/dist/hooks/use-label.cjs +19 -1
  159. package/dist/hooks/use-label.js +16 -1
  160. package/dist/index.cjs +102 -1
  161. package/dist/index.js +35 -1
  162. package/dist/utils/create-panel-state-manager.cjs +40 -1
  163. package/dist/utils/create-panel-state-manager.js +38 -1
  164. package/dist/utils/for-each-schema.cjs +27 -1
  165. package/dist/utils/for-each-schema.js +26 -1
  166. package/dist/utils/get-array-item-info.cjs +20 -1
  167. package/dist/utils/get-array-item-info.js +19 -1
  168. package/dist/utils/get-default-value.cjs +22 -1
  169. package/dist/utils/get-default-value.js +20 -1
  170. package/dist/utils/has-array-item-errors.cjs +15 -1
  171. package/dist/utils/has-array-item-errors.js +14 -1
  172. package/dist/utils/has-error.cjs +12 -1
  173. package/dist/utils/has-error.js +10 -1
  174. package/dist/utils/index.cjs +10 -1
  175. package/dist/utils/index.js +10 -1
  176. package/dist/utils/resolve-responsive-space.cjs +131 -1
  177. package/dist/utils/resolve-responsive-space.js +123 -1
  178. package/dist/utils/transform-schema.cjs +45 -1
  179. package/dist/utils/transform-schema.js +43 -1
  180. package/dist/utils/use-array-item-editor.cjs +3 -1
  181. package/dist/utils/use-array-item-editor.js +1 -1
  182. package/dist/utils/validate-array-item-fields.cjs +22 -1
  183. package/dist/utils/validate-array-item-fields.js +22 -1
  184. package/package.json +3 -3
@@ -1 +1,40 @@
1
- const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`@formily/reactive`);t=e.__toESM(t);function n(e,n=!1){let r=e=>n?e.slice(0,1):e,i=(0,t.model)({activeKeys:r(e??[]),setActiveKeys(e){i.activeKeys=r(e)},hasActiveKey(e){return i.activeKeys.includes(e)},addActiveKey(e){i.hasActiveKey(e)||(i.activeKeys=r(n?[e]:[...i.activeKeys,e]))},removeActiveKey(e){i.activeKeys=i.activeKeys.filter(t=>t!==e)},toggleActiveKey(e){i.hasActiveKey(e)?i.removeActiveKey(e):i.addActiveKey(e)},swapActiveKeys(e,t){let n=i.hasActiveKey(e),r=i.hasActiveKey(t);i.removeActiveKey(e),i.removeActiveKey(t),n&&i.addActiveKey(t),r&&i.addActiveKey(e)}});return(0,t.markRaw)(i)}exports.createPanelStateManager=n;
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ let __formily_reactive = require("@formily/reactive");
3
+ __formily_reactive = require_rolldown_runtime.__toESM(__formily_reactive);
4
+
5
+ //#region src/utils/create-panel-state-manager.ts
6
+ function createPanelStateManager(defaultActiveKeys, solo = false) {
7
+ const enforceSolo = (keys) => solo ? keys.slice(0, 1) : keys;
8
+ const panelState = (0, __formily_reactive.model)({
9
+ activeKeys: enforceSolo(defaultActiveKeys ?? []),
10
+ setActiveKeys(keys) {
11
+ panelState.activeKeys = enforceSolo(keys);
12
+ },
13
+ hasActiveKey(key) {
14
+ return panelState.activeKeys.includes(key);
15
+ },
16
+ addActiveKey(key) {
17
+ if (panelState.hasActiveKey(key)) return;
18
+ panelState.activeKeys = enforceSolo(solo ? [key] : [...panelState.activeKeys, key]);
19
+ },
20
+ removeActiveKey(key) {
21
+ panelState.activeKeys = panelState.activeKeys.filter((item) => item !== key);
22
+ },
23
+ toggleActiveKey(key) {
24
+ if (panelState.hasActiveKey(key)) panelState.removeActiveKey(key);
25
+ else panelState.addActiveKey(key);
26
+ },
27
+ swapActiveKeys(index, displacedIndex) {
28
+ const wasOpen = panelState.hasActiveKey(index);
29
+ const displacedWasOpen = panelState.hasActiveKey(displacedIndex);
30
+ panelState.removeActiveKey(index);
31
+ panelState.removeActiveKey(displacedIndex);
32
+ if (wasOpen) panelState.addActiveKey(displacedIndex);
33
+ if (displacedWasOpen) panelState.addActiveKey(index);
34
+ }
35
+ });
36
+ return (0, __formily_reactive.markRaw)(panelState);
37
+ }
38
+
39
+ //#endregion
40
+ exports.createPanelStateManager = createPanelStateManager;
@@ -1 +1,38 @@
1
- import{markRaw as e,model as t}from"@formily/reactive";function n(n,r=!1){let i=e=>r?e.slice(0,1):e,a=t({activeKeys:i(n??[]),setActiveKeys(e){a.activeKeys=i(e)},hasActiveKey(e){return a.activeKeys.includes(e)},addActiveKey(e){a.hasActiveKey(e)||(a.activeKeys=i(r?[e]:[...a.activeKeys,e]))},removeActiveKey(e){a.activeKeys=a.activeKeys.filter(t=>t!==e)},toggleActiveKey(e){a.hasActiveKey(e)?a.removeActiveKey(e):a.addActiveKey(e)},swapActiveKeys(e,t){let n=a.hasActiveKey(e),r=a.hasActiveKey(t);a.removeActiveKey(e),a.removeActiveKey(t),n&&a.addActiveKey(t),r&&a.addActiveKey(e)}});return e(a)}export{n as createPanelStateManager};
1
+ import { markRaw, model } from "@formily/reactive";
2
+
3
+ //#region src/utils/create-panel-state-manager.ts
4
+ function createPanelStateManager(defaultActiveKeys, solo = false) {
5
+ const enforceSolo = (keys) => solo ? keys.slice(0, 1) : keys;
6
+ const panelState = model({
7
+ activeKeys: enforceSolo(defaultActiveKeys ?? []),
8
+ setActiveKeys(keys) {
9
+ panelState.activeKeys = enforceSolo(keys);
10
+ },
11
+ hasActiveKey(key) {
12
+ return panelState.activeKeys.includes(key);
13
+ },
14
+ addActiveKey(key) {
15
+ if (panelState.hasActiveKey(key)) return;
16
+ panelState.activeKeys = enforceSolo(solo ? [key] : [...panelState.activeKeys, key]);
17
+ },
18
+ removeActiveKey(key) {
19
+ panelState.activeKeys = panelState.activeKeys.filter((item) => item !== key);
20
+ },
21
+ toggleActiveKey(key) {
22
+ if (panelState.hasActiveKey(key)) panelState.removeActiveKey(key);
23
+ else panelState.addActiveKey(key);
24
+ },
25
+ swapActiveKeys(index, displacedIndex) {
26
+ const wasOpen = panelState.hasActiveKey(index);
27
+ const displacedWasOpen = panelState.hasActiveKey(displacedIndex);
28
+ panelState.removeActiveKey(index);
29
+ panelState.removeActiveKey(displacedIndex);
30
+ if (wasOpen) panelState.addActiveKey(displacedIndex);
31
+ if (displacedWasOpen) panelState.addActiveKey(index);
32
+ }
33
+ });
34
+ return markRaw(panelState);
35
+ }
36
+
37
+ //#endregion
38
+ export { createPanelStateManager };
@@ -1 +1,27 @@
1
- function e(t,n,r=[]){if(n(t,r)===!1)return;t.properties&&Object.entries(t.properties).forEach(([t,i])=>{e(i,n,[...r,t])}),t.type===`array`&&t.items&&e(t.items,n,[...r,`items`]);let i=t;[`anyOf`,`oneOf`,`allOf`].forEach(t=>{let a=i[t];a&&a.forEach((i,a)=>{e(i,n,[...r,t,String(a)])})})}exports.forEachSchema=e;
1
+
2
+ //#region src/utils/for-each-schema.ts
3
+ function forEachSchema(schema, visit, path = []) {
4
+ if (visit(schema, path) === false) return;
5
+ if (schema.properties) Object.entries(schema.properties).forEach(([key, propSchema]) => {
6
+ forEachSchema(propSchema, visit, [...path, key]);
7
+ });
8
+ if (schema.type === "array" && schema.items) forEachSchema(schema.items, visit, [...path, "items"]);
9
+ const schemaWithCombinators = schema;
10
+ [
11
+ "anyOf",
12
+ "oneOf",
13
+ "allOf"
14
+ ].forEach((key) => {
15
+ const schemas = schemaWithCombinators[key];
16
+ if (schemas) schemas.forEach((subSchema, index) => {
17
+ forEachSchema(subSchema, visit, [
18
+ ...path,
19
+ key,
20
+ String(index)
21
+ ]);
22
+ });
23
+ });
24
+ }
25
+
26
+ //#endregion
27
+ exports.forEachSchema = forEachSchema;
@@ -1 +1,26 @@
1
- function e(t,n,r=[]){if(n(t,r)===!1)return;t.properties&&Object.entries(t.properties).forEach(([t,i])=>{e(i,n,[...r,t])}),t.type===`array`&&t.items&&e(t.items,n,[...r,`items`]);let i=t;[`anyOf`,`oneOf`,`allOf`].forEach(t=>{let a=i[t];a&&a.forEach((i,a)=>{e(i,n,[...r,t,String(a)])})})}export{e as forEachSchema};
1
+ //#region src/utils/for-each-schema.ts
2
+ function forEachSchema(schema, visit, path = []) {
3
+ if (visit(schema, path) === false) return;
4
+ if (schema.properties) Object.entries(schema.properties).forEach(([key, propSchema]) => {
5
+ forEachSchema(propSchema, visit, [...path, key]);
6
+ });
7
+ if (schema.type === "array" && schema.items) forEachSchema(schema.items, visit, [...path, "items"]);
8
+ const schemaWithCombinators = schema;
9
+ [
10
+ "anyOf",
11
+ "oneOf",
12
+ "allOf"
13
+ ].forEach((key) => {
14
+ const schemas = schemaWithCombinators[key];
15
+ if (schemas) schemas.forEach((subSchema, index) => {
16
+ forEachSchema(subSchema, visit, [
17
+ ...path,
18
+ key,
19
+ String(index)
20
+ ]);
21
+ });
22
+ });
23
+ }
24
+
25
+ //#endregion
26
+ export { forEachSchema };
@@ -1 +1,20 @@
1
- function e(e,t){return{itemKey:e.value?.[t]?.id??t,record:e.value?.[t]}}exports.getArrayItemInfo=e;
1
+
2
+ //#region src/utils/get-array-item-info.ts
3
+ /**
4
+ * Retrieves the key and record for an array field item at the specified index.
5
+ * The key is derived from the item's 'id' property if available, otherwise falls back to the index.
6
+ * The record is the item data cast as a generic record.
7
+ *
8
+ * @param field - The Formily array field containing the items.
9
+ * @param index - The index of the item in the array.
10
+ * @returns An object containing the itemKey and record.
11
+ */
12
+ function getArrayItemInfo(field, index) {
13
+ return {
14
+ itemKey: field.value?.[index]?.id ?? index,
15
+ record: field.value?.[index]
16
+ };
17
+ }
18
+
19
+ //#endregion
20
+ exports.getArrayItemInfo = getArrayItemInfo;
@@ -1 +1,19 @@
1
- function e(e,t){return{itemKey:e.value?.[t]?.id??t,record:e.value?.[t]}}export{e as getArrayItemInfo};
1
+ //#region src/utils/get-array-item-info.ts
2
+ /**
3
+ * Retrieves the key and record for an array field item at the specified index.
4
+ * The key is derived from the item's 'id' property if available, otherwise falls back to the index.
5
+ * The record is the item data cast as a generic record.
6
+ *
7
+ * @param field - The Formily array field containing the items.
8
+ * @param index - The index of the item in the array.
9
+ * @returns An object containing the itemKey and record.
10
+ */
11
+ function getArrayItemInfo(field, index) {
12
+ return {
13
+ itemKey: field.value?.[index]?.id ?? index,
14
+ record: field.value?.[index]
15
+ };
16
+ }
17
+
18
+ //#endregion
19
+ export { getArrayItemInfo };
@@ -1 +1,22 @@
1
- function e(t){if(t){if(t.type===`array`)return[];if(t.type===`object`)return{};if(t.type===`void`&&t.properties){for(let n in t.properties)if(Object.hasOwn(t.properties,n)){let r=e(t.properties[n]);if(r!==void 0)return r}}}}function t(t,n){return t===void 0?Array.isArray(n?.items)?e(n.items[0]):e(n?.items):JSON.parse(JSON.stringify(t))}exports.getDefaultValue=t,exports.getSchemaDefaultValue=e;
1
+
2
+ //#region src/utils/get-default-value.ts
3
+ function getSchemaDefaultValue(schema) {
4
+ if (!schema) return void 0;
5
+ if (schema.type === "array") return [];
6
+ if (schema.type === "object") return {};
7
+ if (schema.type === "void" && schema.properties) {
8
+ for (const key in schema.properties) if (Object.hasOwn(schema.properties, key)) {
9
+ const value = getSchemaDefaultValue(schema.properties[key]);
10
+ if (value !== void 0) return value;
11
+ }
12
+ }
13
+ }
14
+ function getDefaultValue(defaultValue, schema) {
15
+ if (defaultValue !== void 0) return JSON.parse(JSON.stringify(defaultValue));
16
+ if (Array.isArray(schema?.items)) return getSchemaDefaultValue(schema.items[0]);
17
+ return getSchemaDefaultValue(schema?.items);
18
+ }
19
+
20
+ //#endregion
21
+ exports.getDefaultValue = getDefaultValue;
22
+ exports.getSchemaDefaultValue = getSchemaDefaultValue;
@@ -1 +1,20 @@
1
- function e(t){if(t){if(t.type===`array`)return[];if(t.type===`object`)return{};if(t.type===`void`&&t.properties){for(let n in t.properties)if(Object.hasOwn(t.properties,n)){let r=e(t.properties[n]);if(r!==void 0)return r}}}}function t(t,n){return t===void 0?Array.isArray(n?.items)?e(n.items[0]):e(n?.items):JSON.parse(JSON.stringify(t))}export{t as getDefaultValue,e as getSchemaDefaultValue};
1
+ //#region src/utils/get-default-value.ts
2
+ function getSchemaDefaultValue(schema) {
3
+ if (!schema) return void 0;
4
+ if (schema.type === "array") return [];
5
+ if (schema.type === "object") return {};
6
+ if (schema.type === "void" && schema.properties) {
7
+ for (const key in schema.properties) if (Object.hasOwn(schema.properties, key)) {
8
+ const value = getSchemaDefaultValue(schema.properties[key]);
9
+ if (value !== void 0) return value;
10
+ }
11
+ }
12
+ }
13
+ function getDefaultValue(defaultValue, schema) {
14
+ if (defaultValue !== void 0) return JSON.parse(JSON.stringify(defaultValue));
15
+ if (Array.isArray(schema?.items)) return getSchemaDefaultValue(schema.items[0]);
16
+ return getSchemaDefaultValue(schema?.items);
17
+ }
18
+
19
+ //#endregion
20
+ export { getDefaultValue, getSchemaDefaultValue };
@@ -1 +1,15 @@
1
- function e(e,t){let n=`${e.address.toString()}.${t}.*`;return e.form.query(n).map(e=>e).some(e=>`errors`in e&&Array.isArray(e.errors)&&e.errors.length>0)}exports.hasArrayItemErrors=e;
1
+
2
+ //#region src/utils/has-array-item-errors.ts
3
+ /**
4
+ * Check if an array item at the specified index has any validation errors
5
+ * @param arrayField - The array field containing the item
6
+ * @param index - The index of the array item to check
7
+ * @returns true if the item has validation errors, false otherwise
8
+ */
9
+ function hasArrayItemErrors(arrayField, index) {
10
+ const itemPathPattern = `${arrayField.address.toString()}.${index}.*`;
11
+ return arrayField.form.query(itemPathPattern).map((field) => field).some((field) => "errors" in field && Array.isArray(field.errors) && field.errors.length > 0);
12
+ }
13
+
14
+ //#endregion
15
+ exports.hasArrayItemErrors = hasArrayItemErrors;
@@ -1 +1,14 @@
1
- function e(e,t){let n=`${e.address.toString()}.${t}.*`;return e.form.query(n).map(e=>e).some(e=>`errors`in e&&Array.isArray(e.errors)&&e.errors.length>0)}export{e as hasArrayItemErrors};
1
+ //#region src/utils/has-array-item-errors.ts
2
+ /**
3
+ * Check if an array item at the specified index has any validation errors
4
+ * @param arrayField - The array field containing the item
5
+ * @param index - The index of the array item to check
6
+ * @returns true if the item has validation errors, false otherwise
7
+ */
8
+ function hasArrayItemErrors(arrayField, index) {
9
+ const itemPathPattern = `${arrayField.address.toString()}.${index}.*`;
10
+ return arrayField.form.query(itemPathPattern).map((field) => field).some((field) => "errors" in field && Array.isArray(field.errors) && field.errors.length > 0);
11
+ }
12
+
13
+ //#endregion
14
+ export { hasArrayItemErrors };
@@ -1 +1,12 @@
1
- function e(e){return`errors`in e&&Array.isArray(e.errors)&&e.errors.length>0}function t(t){return t.some(t=>e(t))}exports.fieldsHasError=t,exports.filedHasError=e;
1
+
2
+ //#region src/utils/has-error.ts
3
+ function filedHasError(field) {
4
+ return "errors" in field && Array.isArray(field.errors) && field.errors.length > 0;
5
+ }
6
+ function fieldsHasError(fields) {
7
+ return fields.some((field) => filedHasError(field));
8
+ }
9
+
10
+ //#endregion
11
+ exports.fieldsHasError = fieldsHasError;
12
+ exports.filedHasError = filedHasError;
@@ -1 +1,10 @@
1
- function e(e){return`errors`in e&&Array.isArray(e.errors)&&e.errors.length>0}function t(t){return t.some(t=>e(t))}export{t as fieldsHasError,e as filedHasError};
1
+ //#region src/utils/has-error.ts
2
+ function filedHasError(field) {
3
+ return "errors" in field && Array.isArray(field.errors) && field.errors.length > 0;
4
+ }
5
+ function fieldsHasError(fields) {
6
+ return fields.some((field) => filedHasError(field));
7
+ }
8
+
9
+ //#endregion
10
+ export { fieldsHasError, filedHasError };
@@ -1 +1,10 @@
1
- const e=require(`./has-error.cjs`),t=require(`./validate-array-item-fields.cjs`),n=require(`./create-panel-state-manager.cjs`),r=require(`./for-each-schema.cjs`),i=require(`./get-array-item-info.cjs`),a=require(`./get-default-value.cjs`),o=require(`./has-array-item-errors.cjs`),s=require(`./resolve-responsive-space.cjs`),c=require(`./transform-schema.cjs`);require(`./use-array-item-editor.cjs`);
1
+ const require_has_error = require('./has-error.cjs');
2
+ const require_validate_array_item_fields = require('./validate-array-item-fields.cjs');
3
+ const require_create_panel_state_manager = require('./create-panel-state-manager.cjs');
4
+ const require_for_each_schema = require('./for-each-schema.cjs');
5
+ const require_get_array_item_info = require('./get-array-item-info.cjs');
6
+ const require_get_default_value = require('./get-default-value.cjs');
7
+ const require_has_array_item_errors = require('./has-array-item-errors.cjs');
8
+ const require_resolve_responsive_space = require('./resolve-responsive-space.cjs');
9
+ const require_transform_schema = require('./transform-schema.cjs');
10
+ require('./use-array-item-editor.cjs');
@@ -1 +1,10 @@
1
- import{fieldsHasError as e,filedHasError as t}from"./has-error.js";import{validateArrayItemFields as n}from"./validate-array-item-fields.js";import{createPanelStateManager as r}from"./create-panel-state-manager.js";import{forEachSchema as i}from"./for-each-schema.js";import{getArrayItemInfo as a}from"./get-array-item-info.js";import{getDefaultValue as o,getSchemaDefaultValue as s}from"./get-default-value.js";import{hasArrayItemErrors as c}from"./has-array-item-errors.js";import{autoResponsiveGapClasses as l,autoResponsiveSpaceClasses as u,getGapClass as d,getSpaceClass as f,isResponsiveDensity as p,resolveResponsiveGapClass as m,resolveResponsiveSpace as h,resolveResponsiveSpaceClass as g}from"./resolve-responsive-space.js";import{transformSchema as _}from"./transform-schema.js";import"./use-array-item-editor.js";
1
+ import { fieldsHasError, filedHasError } from "./has-error.js";
2
+ import { validateArrayItemFields } from "./validate-array-item-fields.js";
3
+ import { createPanelStateManager } from "./create-panel-state-manager.js";
4
+ import { forEachSchema } from "./for-each-schema.js";
5
+ import { getArrayItemInfo } from "./get-array-item-info.js";
6
+ import { getDefaultValue, getSchemaDefaultValue } from "./get-default-value.js";
7
+ import { hasArrayItemErrors } from "./has-array-item-errors.js";
8
+ import { autoResponsiveGapClasses, autoResponsiveSpaceClasses, getGapClass, getSpaceClass, isResponsiveDensity, resolveResponsiveGapClass, resolveResponsiveSpace, resolveResponsiveSpaceClass } from "./resolve-responsive-space.js";
9
+ import { transformSchema } from "./transform-schema.js";
10
+ import "./use-array-item-editor.js";
@@ -1 +1,131 @@
1
- const e={compact:`sm`,normal:`md`,comfortable:`lg`},t={sm:`space-y-3`,md:`space-y-4`,lg:`space-y-6`},n={sm:`gap-y-3`,md:`gap-y-4`,lg:`gap-y-6`},r=`space-y-3 md:space-y-4 lg:space-y-6`,i=`gap-y-3 md:gap-y-4 lg:gap-y-6`;function a(e){return e===`responsive`}function o(t){if(t){if(t.responsive)return t.responsive.desktop||t.responsive.tablet||t.responsive.mobile||`lg`;if(!a(t.density)&&t.density&&!a(t.density))return e[t.density]}}function s(e){return t[e]}function c(e){if(!e||a(e.density))return r;if(e.responsive&&!a(e.density)){let t=o(e);return t?s(t):r}let t=o(e);return t?s(t):r}function l(e){return n[e]}function u(e){if(!e||a(e.density))return i;if(e.responsive&&!a(e.density)){let t=o(e);return t?l(t):i}let t=o(e);return t?l(t):i}exports.autoResponsiveGapClasses=i,exports.autoResponsiveSpaceClasses=r,exports.getGapClass=l,exports.getSpaceClass=s,exports.isResponsiveDensity=a,exports.resolveResponsiveGapClass=u,exports.resolveResponsiveSpace=o,exports.resolveResponsiveSpaceClass=c;
1
+
2
+ //#region src/utils/resolve-responsive-space.ts
3
+ /**
4
+ * Density-based space mapping
5
+ * Maps density levels to Tailwind space utilities
6
+ */
7
+ const densitySpaceMap = {
8
+ compact: "sm",
9
+ normal: "md",
10
+ comfortable: "lg"
11
+ };
12
+ /**
13
+ * Space to Tailwind space-y class mapping
14
+ * Converts space values to actual Tailwind utilities
15
+ */
16
+ const spaceClassMap = {
17
+ sm: "space-y-3",
18
+ md: "space-y-4",
19
+ lg: "space-y-6"
20
+ };
21
+ /**
22
+ * Space to Tailwind gap class mapping
23
+ * Converts space values to gap utilities for grid/flex containers
24
+ */
25
+ const gapClassMap = {
26
+ sm: "gap-y-3",
27
+ md: "gap-y-4",
28
+ lg: "gap-y-6"
29
+ };
30
+ /**
31
+ * Responsive breakpoint classes for responsive density mode
32
+ * - Mobile (default): compact (space-y-3)
33
+ * - Tablet (md:): normal (space-y-4)
34
+ * - Desktop (lg:): comfortable (space-y-6)
35
+ */
36
+ const autoResponsiveSpaceClasses = "space-y-3 md:space-y-4 lg:space-y-6";
37
+ /**
38
+ * Responsive breakpoint classes for responsive density mode using gap
39
+ * - Mobile (default): compact (gap-y-3)
40
+ * - Tablet (md:): normal (gap-y-4)
41
+ * - Desktop (lg:): comfortable (gap-y-6)
42
+ */
43
+ const autoResponsiveGapClasses = "gap-y-3 md:gap-y-4 lg:gap-y-6";
44
+ /**
45
+ * Checks if density is responsive mode
46
+ *
47
+ * @param density - Density value
48
+ * @returns true if density is 'responsive'
49
+ */
50
+ function isResponsiveDensity(density) {
51
+ return density === "responsive";
52
+ }
53
+ /**
54
+ * Resolves responsive space value from FormSpace configuration
55
+ * Priority:
56
+ * 1. If responsive is set → use it (ignore density)
57
+ * 2. If density is 'responsive' → return undefined (handled separately with responsive classes)
58
+ * 3. If only other density is set → use density-based mapping
59
+ * 4. Default to undefined (responsive mode)
60
+ *
61
+ * @param formSpace - FormSpace configuration
62
+ * @returns Space value ('sm' | 'md' | 'lg') or undefined for responsive mode
63
+ */
64
+ function resolveResponsiveSpace(formSpace) {
65
+ if (!formSpace) return;
66
+ if (formSpace.responsive) return formSpace.responsive.desktop || formSpace.responsive.tablet || formSpace.responsive.mobile || "lg";
67
+ if (isResponsiveDensity(formSpace.density)) return;
68
+ if (formSpace.density && !isResponsiveDensity(formSpace.density)) return densitySpaceMap[formSpace.density];
69
+ }
70
+ /**
71
+ * Gets the Tailwind class for a given space value
72
+ *
73
+ * @param space - Space value
74
+ * @returns Tailwind utility class
75
+ */
76
+ function getSpaceClass(space) {
77
+ return spaceClassMap[space];
78
+ }
79
+ /**
80
+ * Resolves responsive space and returns the Tailwind class(es)
81
+ * For responsive density, returns responsive breakpoint classes
82
+ * For fixed density, returns single space class
83
+ *
84
+ * @param formSpace - FormSpace configuration
85
+ * @returns Tailwind utility class(es)
86
+ */
87
+ function resolveResponsiveSpaceClass(formSpace) {
88
+ if (!formSpace || isResponsiveDensity(formSpace.density)) return autoResponsiveSpaceClasses;
89
+ if (formSpace.responsive && !isResponsiveDensity(formSpace.density)) {
90
+ const space$1 = resolveResponsiveSpace(formSpace);
91
+ return space$1 ? getSpaceClass(space$1) : autoResponsiveSpaceClasses;
92
+ }
93
+ const space = resolveResponsiveSpace(formSpace);
94
+ return space ? getSpaceClass(space) : autoResponsiveSpaceClasses;
95
+ }
96
+ /**
97
+ * Gets the Tailwind gap class for a given space value
98
+ *
99
+ * @param space - Space value
100
+ * @returns Tailwind utility gap class
101
+ */
102
+ function getGapClass(space) {
103
+ return gapClassMap[space];
104
+ }
105
+ /**
106
+ * Resolves responsive space and returns the Tailwind gap class(es)
107
+ * For responsive density, returns responsive breakpoint classes
108
+ * For fixed density, returns single gap class
109
+ *
110
+ * @param formSpace - FormSpace configuration
111
+ * @returns Tailwind utility gap class(es)
112
+ */
113
+ function resolveResponsiveGapClass(formSpace) {
114
+ if (!formSpace || isResponsiveDensity(formSpace.density)) return autoResponsiveGapClasses;
115
+ if (formSpace.responsive && !isResponsiveDensity(formSpace.density)) {
116
+ const space$1 = resolveResponsiveSpace(formSpace);
117
+ return space$1 ? getGapClass(space$1) : autoResponsiveGapClasses;
118
+ }
119
+ const space = resolveResponsiveSpace(formSpace);
120
+ return space ? getGapClass(space) : autoResponsiveGapClasses;
121
+ }
122
+
123
+ //#endregion
124
+ exports.autoResponsiveGapClasses = autoResponsiveGapClasses;
125
+ exports.autoResponsiveSpaceClasses = autoResponsiveSpaceClasses;
126
+ exports.getGapClass = getGapClass;
127
+ exports.getSpaceClass = getSpaceClass;
128
+ exports.isResponsiveDensity = isResponsiveDensity;
129
+ exports.resolveResponsiveGapClass = resolveResponsiveGapClass;
130
+ exports.resolveResponsiveSpace = resolveResponsiveSpace;
131
+ exports.resolveResponsiveSpaceClass = resolveResponsiveSpaceClass;
@@ -1 +1,123 @@
1
- const e={compact:`sm`,normal:`md`,comfortable:`lg`},t={sm:`space-y-3`,md:`space-y-4`,lg:`space-y-6`},n={sm:`gap-y-3`,md:`gap-y-4`,lg:`gap-y-6`},r=`space-y-3 md:space-y-4 lg:space-y-6`,i=`gap-y-3 md:gap-y-4 lg:gap-y-6`;function a(e){return e===`responsive`}function o(t){if(t){if(t.responsive)return t.responsive.desktop||t.responsive.tablet||t.responsive.mobile||`lg`;if(!a(t.density)&&t.density&&!a(t.density))return e[t.density]}}function s(e){return t[e]}function c(e){if(!e||a(e.density))return r;if(e.responsive&&!a(e.density)){let t=o(e);return t?s(t):r}let t=o(e);return t?s(t):r}function l(e){return n[e]}function u(e){if(!e||a(e.density))return i;if(e.responsive&&!a(e.density)){let t=o(e);return t?l(t):i}let t=o(e);return t?l(t):i}export{i as autoResponsiveGapClasses,r as autoResponsiveSpaceClasses,l as getGapClass,s as getSpaceClass,a as isResponsiveDensity,u as resolveResponsiveGapClass,o as resolveResponsiveSpace,c as resolveResponsiveSpaceClass};
1
+ //#region src/utils/resolve-responsive-space.ts
2
+ /**
3
+ * Density-based space mapping
4
+ * Maps density levels to Tailwind space utilities
5
+ */
6
+ const densitySpaceMap = {
7
+ compact: "sm",
8
+ normal: "md",
9
+ comfortable: "lg"
10
+ };
11
+ /**
12
+ * Space to Tailwind space-y class mapping
13
+ * Converts space values to actual Tailwind utilities
14
+ */
15
+ const spaceClassMap = {
16
+ sm: "space-y-3",
17
+ md: "space-y-4",
18
+ lg: "space-y-6"
19
+ };
20
+ /**
21
+ * Space to Tailwind gap class mapping
22
+ * Converts space values to gap utilities for grid/flex containers
23
+ */
24
+ const gapClassMap = {
25
+ sm: "gap-y-3",
26
+ md: "gap-y-4",
27
+ lg: "gap-y-6"
28
+ };
29
+ /**
30
+ * Responsive breakpoint classes for responsive density mode
31
+ * - Mobile (default): compact (space-y-3)
32
+ * - Tablet (md:): normal (space-y-4)
33
+ * - Desktop (lg:): comfortable (space-y-6)
34
+ */
35
+ const autoResponsiveSpaceClasses = "space-y-3 md:space-y-4 lg:space-y-6";
36
+ /**
37
+ * Responsive breakpoint classes for responsive density mode using gap
38
+ * - Mobile (default): compact (gap-y-3)
39
+ * - Tablet (md:): normal (gap-y-4)
40
+ * - Desktop (lg:): comfortable (gap-y-6)
41
+ */
42
+ const autoResponsiveGapClasses = "gap-y-3 md:gap-y-4 lg:gap-y-6";
43
+ /**
44
+ * Checks if density is responsive mode
45
+ *
46
+ * @param density - Density value
47
+ * @returns true if density is 'responsive'
48
+ */
49
+ function isResponsiveDensity(density) {
50
+ return density === "responsive";
51
+ }
52
+ /**
53
+ * Resolves responsive space value from FormSpace configuration
54
+ * Priority:
55
+ * 1. If responsive is set → use it (ignore density)
56
+ * 2. If density is 'responsive' → return undefined (handled separately with responsive classes)
57
+ * 3. If only other density is set → use density-based mapping
58
+ * 4. Default to undefined (responsive mode)
59
+ *
60
+ * @param formSpace - FormSpace configuration
61
+ * @returns Space value ('sm' | 'md' | 'lg') or undefined for responsive mode
62
+ */
63
+ function resolveResponsiveSpace(formSpace) {
64
+ if (!formSpace) return;
65
+ if (formSpace.responsive) return formSpace.responsive.desktop || formSpace.responsive.tablet || formSpace.responsive.mobile || "lg";
66
+ if (isResponsiveDensity(formSpace.density)) return;
67
+ if (formSpace.density && !isResponsiveDensity(formSpace.density)) return densitySpaceMap[formSpace.density];
68
+ }
69
+ /**
70
+ * Gets the Tailwind class for a given space value
71
+ *
72
+ * @param space - Space value
73
+ * @returns Tailwind utility class
74
+ */
75
+ function getSpaceClass(space) {
76
+ return spaceClassMap[space];
77
+ }
78
+ /**
79
+ * Resolves responsive space and returns the Tailwind class(es)
80
+ * For responsive density, returns responsive breakpoint classes
81
+ * For fixed density, returns single space class
82
+ *
83
+ * @param formSpace - FormSpace configuration
84
+ * @returns Tailwind utility class(es)
85
+ */
86
+ function resolveResponsiveSpaceClass(formSpace) {
87
+ if (!formSpace || isResponsiveDensity(formSpace.density)) return autoResponsiveSpaceClasses;
88
+ if (formSpace.responsive && !isResponsiveDensity(formSpace.density)) {
89
+ const space$1 = resolveResponsiveSpace(formSpace);
90
+ return space$1 ? getSpaceClass(space$1) : autoResponsiveSpaceClasses;
91
+ }
92
+ const space = resolveResponsiveSpace(formSpace);
93
+ return space ? getSpaceClass(space) : autoResponsiveSpaceClasses;
94
+ }
95
+ /**
96
+ * Gets the Tailwind gap class for a given space value
97
+ *
98
+ * @param space - Space value
99
+ * @returns Tailwind utility gap class
100
+ */
101
+ function getGapClass(space) {
102
+ return gapClassMap[space];
103
+ }
104
+ /**
105
+ * Resolves responsive space and returns the Tailwind gap class(es)
106
+ * For responsive density, returns responsive breakpoint classes
107
+ * For fixed density, returns single gap class
108
+ *
109
+ * @param formSpace - FormSpace configuration
110
+ * @returns Tailwind utility gap class(es)
111
+ */
112
+ function resolveResponsiveGapClass(formSpace) {
113
+ if (!formSpace || isResponsiveDensity(formSpace.density)) return autoResponsiveGapClasses;
114
+ if (formSpace.responsive && !isResponsiveDensity(formSpace.density)) {
115
+ const space$1 = resolveResponsiveSpace(formSpace);
116
+ return space$1 ? getGapClass(space$1) : autoResponsiveGapClasses;
117
+ }
118
+ const space = resolveResponsiveSpace(formSpace);
119
+ return space ? getGapClass(space) : autoResponsiveGapClasses;
120
+ }
121
+
122
+ //#endregion
123
+ export { autoResponsiveGapClasses, autoResponsiveSpaceClasses, getGapClass, getSpaceClass, isResponsiveDensity, resolveResponsiveGapClass, resolveResponsiveSpace, resolveResponsiveSpaceClass };
@@ -1 +1,45 @@
1
- const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`json-schema-traverse`);t=e.__toESM(t);const n={string:{"x-component":`Input`,"x-decorator":`FormItem`},number:{"x-component":`NumberInput`,"x-decorator":`FormItem`},integer:{"x-component":`NumberInput`,"x-decorator":`FormItem`},boolean:{"x-component":`Checkbox`,"x-decorator":`FormItem`},array:{"x-component":`ArrayCards`,"x-decorator":`FormItem`},object:{"x-component":`ObjectContainer`}};function r(e){return(0,t.default)(e,{allKeys:!0,cb:e=>{let{type:t}=e;if(typeof t==`string`&&t in n){let r=n[t];e[`x-component`]??=r[`x-component`],[`Hidden`].includes(e[`x-component`])||(e[`x-decorator`]=r[`x-decorator`])}}}),e}exports.transformSchema=r;
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ let json_schema_traverse = require("json-schema-traverse");
3
+ json_schema_traverse = require_rolldown_runtime.__toESM(json_schema_traverse);
4
+
5
+ //#region src/utils/transform-schema.ts
6
+ const inputSchemaMap = {
7
+ string: {
8
+ "x-component": "Input",
9
+ "x-decorator": "FormItem"
10
+ },
11
+ number: {
12
+ "x-component": "NumberInput",
13
+ "x-decorator": "FormItem"
14
+ },
15
+ integer: {
16
+ "x-component": "NumberInput",
17
+ "x-decorator": "FormItem"
18
+ },
19
+ boolean: {
20
+ "x-component": "Checkbox",
21
+ "x-decorator": "FormItem"
22
+ },
23
+ array: {
24
+ "x-component": "ArrayCards",
25
+ "x-decorator": "FormItem"
26
+ },
27
+ object: { "x-component": "ObjectContainer" }
28
+ };
29
+ function transformSchema(schema) {
30
+ (0, json_schema_traverse.default)(schema, {
31
+ allKeys: true,
32
+ cb: (currentSchema) => {
33
+ const { type } = currentSchema;
34
+ if (typeof type === "string" && type in inputSchemaMap) {
35
+ const mapping = inputSchemaMap[type];
36
+ if (currentSchema["x-component"] == null) currentSchema["x-component"] = mapping["x-component"];
37
+ if (!["Hidden"].includes(currentSchema["x-component"])) currentSchema["x-decorator"] = mapping["x-decorator"];
38
+ }
39
+ }
40
+ });
41
+ return schema;
42
+ }
43
+
44
+ //#endregion
45
+ exports.transformSchema = transformSchema;