@axdspub/axiom-ui-forms 0.2.9 → 0.3.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.
Files changed (229) hide show
  1. package/README.md +272 -272
  2. package/library/axiom-ui-forms.d.ts +213 -77
  3. package/library/esm/_virtual/_commonjsHelpers.js +26 -1
  4. package/library/esm/_virtual/_commonjsHelpers.js.map +1 -1
  5. package/library/esm/_virtual/_freeGlobal.js +7 -0
  6. package/library/esm/_virtual/_freeGlobal.js.map +1 -0
  7. package/library/esm/_virtual/get.js +8 -0
  8. package/library/esm/_virtual/get.js.map +1 -0
  9. package/library/esm/_virtual/index10.js +2 -2
  10. package/library/esm/_virtual/index11.js +2 -2
  11. package/library/esm/_virtual/index12.js +2 -6
  12. package/library/esm/_virtual/index12.js.map +1 -1
  13. package/library/esm/_virtual/index13.js +2 -6
  14. package/library/esm/_virtual/index13.js.map +1 -1
  15. package/library/esm/_virtual/index3.js +2 -2
  16. package/library/esm/_virtual/index3.js.map +1 -1
  17. package/library/esm/_virtual/index5.js +2 -2
  18. package/library/esm/_virtual/index6.js +2 -2
  19. package/library/esm/_virtual/index6.js.map +1 -1
  20. package/library/esm/_virtual/index7.js +6 -2
  21. package/library/esm/_virtual/index7.js.map +1 -1
  22. package/library/esm/_virtual/index8.js +6 -2
  23. package/library/esm/_virtual/index8.js.map +1 -1
  24. package/library/esm/_virtual/index9.js +2 -2
  25. package/library/esm/_virtual/set.js +8 -0
  26. package/library/esm/_virtual/set.js.map +1 -0
  27. package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js +1 -1
  28. package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js.map +1 -1
  29. package/library/esm/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js +23 -1
  30. package/library/esm/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js.map +1 -1
  31. package/library/esm/node_modules/ajv/dist/compile/codegen/index.js +1 -1
  32. package/library/esm/node_modules/ajv/dist/compile/index.js +1 -1
  33. package/library/esm/node_modules/ajv/dist/compile/validate/index.js +1 -1
  34. package/library/esm/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -1
  35. package/library/esm/node_modules/ajv/dist/vocabularies/core/index.js +1 -1
  36. package/library/esm/node_modules/ajv/dist/vocabularies/format/index.js +1 -1
  37. package/library/esm/node_modules/ajv/dist/vocabularies/validation/index.js +1 -1
  38. package/library/esm/node_modules/hast-util-to-jsx-runtime/lib/index.js +1 -1
  39. package/library/esm/node_modules/jotai/esm/react.js +135 -0
  40. package/library/esm/node_modules/jotai/esm/react.js.map +1 -0
  41. package/library/esm/node_modules/jotai/esm/vanilla/internals.js +551 -0
  42. package/library/esm/node_modules/jotai/esm/vanilla/internals.js.map +1 -0
  43. package/library/esm/node_modules/jotai/esm/vanilla.js +111 -0
  44. package/library/esm/node_modules/jotai/esm/vanilla.js.map +1 -0
  45. package/library/esm/node_modules/lodash/_Hash.js +49 -0
  46. package/library/esm/node_modules/lodash/_Hash.js.map +1 -0
  47. package/library/esm/node_modules/lodash/_ListCache.js +49 -0
  48. package/library/esm/node_modules/lodash/_ListCache.js.map +1 -0
  49. package/library/esm/node_modules/lodash/_Map.js +21 -0
  50. package/library/esm/node_modules/lodash/_Map.js.map +1 -0
  51. package/library/esm/node_modules/lodash/_MapCache.js +49 -0
  52. package/library/esm/node_modules/lodash/_MapCache.js.map +1 -0
  53. package/library/esm/node_modules/lodash/_Symbol.js +19 -0
  54. package/library/esm/node_modules/lodash/_Symbol.js.map +1 -0
  55. package/library/esm/node_modules/lodash/_arrayMap.js +33 -0
  56. package/library/esm/node_modules/lodash/_arrayMap.js.map +1 -0
  57. package/library/esm/node_modules/lodash/_assignValue.js +42 -0
  58. package/library/esm/node_modules/lodash/_assignValue.js.map +1 -0
  59. package/library/esm/node_modules/lodash/_assocIndexOf.js +34 -0
  60. package/library/esm/node_modules/lodash/_assocIndexOf.js.map +1 -0
  61. package/library/esm/node_modules/lodash/_baseAssignValue.js +38 -0
  62. package/library/esm/node_modules/lodash/_baseAssignValue.js.map +1 -0
  63. package/library/esm/node_modules/lodash/_baseGet.js +38 -0
  64. package/library/esm/node_modules/lodash/_baseGet.js.map +1 -0
  65. package/library/esm/node_modules/lodash/_baseGetTag.js +43 -0
  66. package/library/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
  67. package/library/esm/node_modules/lodash/_baseIsNative.js +63 -0
  68. package/library/esm/node_modules/lodash/_baseIsNative.js.map +1 -0
  69. package/library/esm/node_modules/lodash/_baseSet.js +68 -0
  70. package/library/esm/node_modules/lodash/_baseSet.js.map +1 -0
  71. package/library/esm/node_modules/lodash/_baseToString.js +50 -0
  72. package/library/esm/node_modules/lodash/_baseToString.js.map +1 -0
  73. package/library/esm/node_modules/lodash/_castPath.js +37 -0
  74. package/library/esm/node_modules/lodash/_castPath.js.map +1 -0
  75. package/library/esm/node_modules/lodash/_coreJsData.js +19 -0
  76. package/library/esm/node_modules/lodash/_coreJsData.js.map +1 -0
  77. package/library/esm/node_modules/lodash/_defineProperty.js +24 -0
  78. package/library/esm/node_modules/lodash/_defineProperty.js.map +1 -0
  79. package/library/esm/node_modules/lodash/_freeGlobal.js +7 -0
  80. package/library/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
  81. package/library/esm/node_modules/lodash/_getMapData.js +31 -0
  82. package/library/esm/node_modules/lodash/_getMapData.js.map +1 -0
  83. package/library/esm/node_modules/lodash/_getNative.js +31 -0
  84. package/library/esm/node_modules/lodash/_getNative.js.map +1 -0
  85. package/library/esm/node_modules/lodash/_getRawTag.js +59 -0
  86. package/library/esm/node_modules/lodash/_getRawTag.js.map +1 -0
  87. package/library/esm/node_modules/lodash/_getValue.js +25 -0
  88. package/library/esm/node_modules/lodash/_getValue.js.map +1 -0
  89. package/library/esm/node_modules/lodash/_hashClear.js +28 -0
  90. package/library/esm/node_modules/lodash/_hashClear.js.map +1 -0
  91. package/library/esm/node_modules/lodash/_hashDelete.js +29 -0
  92. package/library/esm/node_modules/lodash/_hashDelete.js.map +1 -0
  93. package/library/esm/node_modules/lodash/_hashGet.js +43 -0
  94. package/library/esm/node_modules/lodash/_hashGet.js.map +1 -0
  95. package/library/esm/node_modules/lodash/_hashHas.js +36 -0
  96. package/library/esm/node_modules/lodash/_hashHas.js.map +1 -0
  97. package/library/esm/node_modules/lodash/_hashSet.js +36 -0
  98. package/library/esm/node_modules/lodash/_hashSet.js.map +1 -0
  99. package/library/esm/node_modules/lodash/_isIndex.js +37 -0
  100. package/library/esm/node_modules/lodash/_isIndex.js.map +1 -0
  101. package/library/esm/node_modules/lodash/_isKey.js +43 -0
  102. package/library/esm/node_modules/lodash/_isKey.js.map +1 -0
  103. package/library/esm/node_modules/lodash/_isKeyable.js +27 -0
  104. package/library/esm/node_modules/lodash/_isKeyable.js.map +1 -0
  105. package/library/esm/node_modules/lodash/_isMasked.js +33 -0
  106. package/library/esm/node_modules/lodash/_isMasked.js.map +1 -0
  107. package/library/esm/node_modules/lodash/_listCacheClear.js +25 -0
  108. package/library/esm/node_modules/lodash/_listCacheClear.js.map +1 -0
  109. package/library/esm/node_modules/lodash/_listCacheDelete.js +48 -0
  110. package/library/esm/node_modules/lodash/_listCacheDelete.js.map +1 -0
  111. package/library/esm/node_modules/lodash/_listCacheGet.js +32 -0
  112. package/library/esm/node_modules/lodash/_listCacheGet.js.map +1 -0
  113. package/library/esm/node_modules/lodash/_listCacheHas.js +29 -0
  114. package/library/esm/node_modules/lodash/_listCacheHas.js.map +1 -0
  115. package/library/esm/node_modules/lodash/_listCacheSet.js +39 -0
  116. package/library/esm/node_modules/lodash/_listCacheSet.js.map +1 -0
  117. package/library/esm/node_modules/lodash/_mapCacheClear.js +36 -0
  118. package/library/esm/node_modules/lodash/_mapCacheClear.js.map +1 -0
  119. package/library/esm/node_modules/lodash/_mapCacheDelete.js +31 -0
  120. package/library/esm/node_modules/lodash/_mapCacheDelete.js.map +1 -0
  121. package/library/esm/node_modules/lodash/_mapCacheGet.js +29 -0
  122. package/library/esm/node_modules/lodash/_mapCacheGet.js.map +1 -0
  123. package/library/esm/node_modules/lodash/_mapCacheHas.js +29 -0
  124. package/library/esm/node_modules/lodash/_mapCacheHas.js.map +1 -0
  125. package/library/esm/node_modules/lodash/_mapCacheSet.js +35 -0
  126. package/library/esm/node_modules/lodash/_mapCacheSet.js.map +1 -0
  127. package/library/esm/node_modules/lodash/_memoizeCapped.js +39 -0
  128. package/library/esm/node_modules/lodash/_memoizeCapped.js.map +1 -0
  129. package/library/esm/node_modules/lodash/_nativeCreate.js +19 -0
  130. package/library/esm/node_modules/lodash/_nativeCreate.js.map +1 -0
  131. package/library/esm/node_modules/lodash/_objectToString.js +34 -0
  132. package/library/esm/node_modules/lodash/_objectToString.js.map +1 -0
  133. package/library/esm/node_modules/lodash/_root.js +22 -0
  134. package/library/esm/node_modules/lodash/_root.js.map +1 -0
  135. package/library/esm/node_modules/lodash/_stringToPath.js +40 -0
  136. package/library/esm/node_modules/lodash/_stringToPath.js.map +1 -0
  137. package/library/esm/node_modules/lodash/_toKey.js +31 -0
  138. package/library/esm/node_modules/lodash/_toKey.js.map +1 -0
  139. package/library/esm/node_modules/lodash/_toSource.js +38 -0
  140. package/library/esm/node_modules/lodash/_toSource.js.map +1 -0
  141. package/library/esm/node_modules/lodash/eq.js +49 -0
  142. package/library/esm/node_modules/lodash/eq.js.map +1 -0
  143. package/library/esm/node_modules/lodash/get.js +46 -0
  144. package/library/esm/node_modules/lodash/get.js.map +1 -0
  145. package/library/esm/node_modules/lodash/isArray.js +38 -0
  146. package/library/esm/node_modules/lodash/isArray.js.map +1 -0
  147. package/library/esm/node_modules/lodash/isFunction.js +51 -0
  148. package/library/esm/node_modules/lodash/isFunction.js.map +1 -0
  149. package/library/esm/node_modules/lodash/isObject.js +43 -0
  150. package/library/esm/node_modules/lodash/isObject.js.map +1 -0
  151. package/library/esm/node_modules/lodash/isObjectLike.js +41 -0
  152. package/library/esm/node_modules/lodash/isObjectLike.js.map +1 -0
  153. package/library/esm/node_modules/lodash/isSymbol.js +43 -0
  154. package/library/esm/node_modules/lodash/isSymbol.js.map +1 -0
  155. package/library/esm/node_modules/lodash/memoize.js +86 -0
  156. package/library/esm/node_modules/lodash/memoize.js.map +1 -0
  157. package/library/esm/node_modules/lodash/set.js +48 -0
  158. package/library/esm/node_modules/lodash/set.js.map +1 -0
  159. package/library/esm/node_modules/lodash/toString.js +41 -0
  160. package/library/esm/node_modules/lodash/toString.js.map +1 -0
  161. package/library/esm/node_modules/react-router/dist/development/chunk-HA7DTUK3.js +1 -1
  162. package/library/esm/node_modules/unified/lib/index.js +1 -1
  163. package/library/esm/src/Form/Components/FieldCreator.js +24 -7
  164. package/library/esm/src/Form/Components/FieldCreator.js.map +1 -1
  165. package/library/esm/src/Form/Components/FieldLabel.js +1 -1
  166. package/library/esm/src/Form/Components/FieldLabel.js.map +1 -1
  167. package/library/esm/src/Form/Components/InlineMarkdown.js.map +1 -1
  168. package/library/esm/src/Form/Components/Inputs/Boolean.js.map +1 -1
  169. package/library/esm/src/Form/Components/Inputs/Constant.js.map +1 -1
  170. package/library/esm/src/Form/Components/Inputs/Date.js.map +1 -1
  171. package/library/esm/src/Form/Components/Inputs/DateTime.js.map +1 -1
  172. package/library/esm/src/Form/Components/Inputs/GeoJSON.js.map +1 -1
  173. package/library/esm/src/Form/Components/Inputs/GeoJSONInputLoader.js.map +1 -1
  174. package/library/esm/src/Form/Components/Inputs/Geometry.js +38 -32
  175. package/library/esm/src/Form/Components/Inputs/Geometry.js.map +1 -1
  176. package/library/esm/src/Form/Components/Inputs/GeometryInputLoader.js +4 -1
  177. package/library/esm/src/Form/Components/Inputs/GeometryInputLoader.js.map +1 -1
  178. package/library/esm/src/Form/Components/Inputs/JSON.js +83 -42
  179. package/library/esm/src/Form/Components/Inputs/JSON.js.map +1 -1
  180. package/library/esm/src/Form/Components/Inputs/JSONInputLoader.js.map +1 -1
  181. package/library/esm/src/Form/Components/Inputs/LongString.js.map +1 -1
  182. package/library/esm/src/Form/Components/Inputs/Number.js +34 -9
  183. package/library/esm/src/Form/Components/Inputs/Number.js.map +1 -1
  184. package/library/esm/src/Form/Components/Inputs/Object.js +7 -2
  185. package/library/esm/src/Form/Components/Inputs/Object.js.map +1 -1
  186. package/library/esm/src/Form/Components/Inputs/OneOfInput.js.map +1 -1
  187. package/library/esm/src/Form/Components/Inputs/RadioGroup.js.map +1 -1
  188. package/library/esm/src/Form/Components/Inputs/SingleSelect.js +2 -1
  189. package/library/esm/src/Form/Components/Inputs/SingleSelect.js.map +1 -1
  190. package/library/esm/src/Form/Components/Inputs/String.js +2 -2
  191. package/library/esm/src/Form/Components/Inputs/String.js.map +1 -1
  192. package/library/esm/src/Form/Components/Inputs/Time.js.map +1 -1
  193. package/library/esm/src/Form/Components/Inputs/index.js +11 -0
  194. package/library/esm/src/Form/Components/Inputs/index.js.map +1 -0
  195. package/library/esm/src/Form/Components/Inputs/inputMap.js.map +1 -1
  196. package/library/esm/src/Form/Creator/FormContextProvider.js.map +1 -1
  197. package/library/esm/src/Form/Creator/FormCreator.js +20 -9
  198. package/library/esm/src/Form/Creator/FormCreator.js.map +1 -1
  199. package/library/esm/src/Form/Creator/FormFields.js.map +1 -1
  200. package/library/esm/src/Form/Creator/FormHeader.js.map +1 -1
  201. package/library/esm/src/Form/Creator/FormSection.js.map +1 -1
  202. package/library/esm/src/Form/Creator/FormSectionContextProvider.js.map +1 -1
  203. package/library/esm/src/Form/Creator/NavElement.js.map +1 -1
  204. package/library/esm/src/Form/Creator/Page.js +40 -7
  205. package/library/esm/src/Form/Creator/Page.js.map +1 -1
  206. package/library/esm/src/Form/Creator/Wizard.js +79 -22
  207. package/library/esm/src/Form/Creator/Wizard.js.map +1 -1
  208. package/library/esm/src/Form/Manage/CopyableJSONOutput.js +3 -3
  209. package/library/esm/src/Form/Manage/CopyableJSONOutput.js.map +1 -1
  210. package/library/esm/src/library.js +11 -13
  211. package/library/esm/src/library.js.map +1 -1
  212. package/library/esm/src/utils/getters.js +135 -0
  213. package/library/esm/src/utils/getters.js.map +1 -0
  214. package/library/esm/src/utils/manipulators.js +171 -0
  215. package/library/esm/src/utils/manipulators.js.map +1 -0
  216. package/library/esm/src/utils/resolveRefs.js +44 -0
  217. package/library/esm/src/utils/resolveRefs.js.map +1 -0
  218. package/library/esm/src/utils/responsive/layoutState.js +18 -0
  219. package/library/esm/src/utils/responsive/layoutState.js.map +1 -0
  220. package/library/esm/src/{Form → utils}/schemaToFormHelpers.js +157 -38
  221. package/library/esm/src/utils/schemaToFormHelpers.js.map +1 -0
  222. package/library/esm/src/utils/validators.js +38 -0
  223. package/library/esm/src/utils/validators.js.map +1 -0
  224. package/package.json +131 -124
  225. package/library/esm/src/Form/helpers.js +0 -162
  226. package/library/esm/src/Form/helpers.js.map +0 -1
  227. package/library/esm/src/Form/resolveRefs.js +0 -26
  228. package/library/esm/src/Form/resolveRefs.js.map +0 -1
  229. package/library/esm/src/Form/schemaToFormHelpers.js.map +0 -1
@@ -3,7 +3,7 @@ import { CheckIcon, CopyIcon } from '../../../node_modules/@radix-ui/react-icons
3
3
  import React__default, { useState } from 'react';
4
4
 
5
5
  var CopyButton = function (_a) {
6
- var string = _a.string, _b = _a.size, size = _b === void 0 ? 'med' : _b, _c = _a.defaultClassName, defaultClassName = _c === void 0 ? 'text-lg text-slate-400 pointer-events-none' : _c, className = _a.className, defaultWrapperClassName = _a.defaultWrapperClassName, wrapperClassName = _a.wrapperClassName;
6
+ var string = _a.string, _b = _a.size, size = _b === void 0 ? 'med' : _b, _c = _a.defaultClassName, defaultClassName = _c === void 0 ? 'text-lg text-slate-400 pointer-events-none' : _c, className = _a.className, defaultWrapperClassName = _a.defaultWrapperClassName, wrapperClassName = _a.wrapperClassName, ToCopyElement = _a.ToCopyElement, OnCopiedElement = _a.OnCopiedElement;
7
7
  var _d = useState(false), copied = _d[0], setCopied = _d[1];
8
8
  return (React__default.createElement("button", { className: index$1.makeClassName({
9
9
  className: wrapperClassName,
@@ -21,7 +21,7 @@ var CopyButton = function (_a) {
21
21
  });
22
22
  } },
23
23
  copied
24
- ? React__default.createElement("span", { className: index$1.makeClassName({
24
+ ? OnCopiedElement !== null && OnCopiedElement !== void 0 ? OnCopiedElement : React__default.createElement("span", { className: index$1.makeClassName({
25
25
  className: className,
26
26
  defaultClassName: defaultClassName
27
27
  }) },
@@ -29,7 +29,7 @@ var CopyButton = function (_a) {
29
29
  className: 'bg-slate-600 text-white rounded-full',
30
30
  extras: [index$1.getIconClassForSize(size)]
31
31
  }) }))
32
- : React__default.createElement(CopyIcon, { className: index$1.makeClassName({
32
+ : ToCopyElement !== null && ToCopyElement !== void 0 ? ToCopyElement : React__default.createElement(CopyIcon, { className: index$1.makeClassName({
33
33
  className: className,
34
34
  defaultClassName: defaultClassName,
35
35
  extras: [index$1.getIconClassForSize(size)]
@@ -1 +1 @@
1
- {"version":3,"file":"CopyableJSONOutput.js","sources":["../../../../../src/Form/Manage/CopyableJSONOutput.tsx"],"sourcesContent":["import { utils } from '@axdspub/axiom-ui-utilities'\nimport { CheckIcon, CopyIcon } from '@radix-ui/react-icons'\nimport React, { type ReactElement, useState } from 'react'\n\nexport const CopyButton = ({\n string,\n size = 'med',\n defaultClassName = 'text-lg text-slate-400 pointer-events-none',\n className,\n defaultWrapperClassName,\n wrapperClassName\n}: {\n string: string\n defaultClassName?: string\n className?: string\n defaultWrapperClassName?: string\n wrapperClassName?: string\n size?: 'sm' | 'med' | 'lg' | 'xlg'\n}): ReactElement => {\n const [copied, setCopied] = useState(false)\n return (\n <button className={utils.makeClassName({\n className: wrapperClassName,\n defaultClassName: defaultWrapperClassName\n })} onClick={() => {\n navigator.clipboard.writeText(string)\n .then(() => {\n setCopied(true)\n setTimeout(() => {\n setCopied(false)\n }, 1000)\n })\n .catch(e => {\n console.log('Error!')\n })\n }}>\n {copied\n ? <span className={utils.makeClassName({\n className,\n defaultClassName\n })}><CheckIcon className={utils.makeClassName({\n className: 'bg-slate-600 text-white rounded-full',\n extras: [utils.getIconClassForSize(size)]\n })} /></span>\n : <CopyIcon className={utils.makeClassName({\n className,\n defaultClassName,\n extras: [utils.getIconClassForSize(size)]\n })} />}\n\n <span className='sr-only'>Copy</span>\n </button>\n )\n}\nexport const CopyableJSONOutput = ({ string, label }: { string: string, label?: string }): ReactElement => {\n return <div>\n {label !== undefined\n ? <h2 className='text-lg pb-4 font-bold'>{label}</h2>\n : ''}\n <div className='relative' onClick={() => {\n navigator.clipboard.writeText(string)\n .then(() => {\n console.log('Copied!')\n })\n .catch(e => {\n console.log('Error!')\n })\n }}>\n <CopyButton string={string} className='text-slate-400 absolute top-4 right-4' wrapperClassName='absolute top-0 right-0 bottom-0 left-0' />\n <pre className='p-10 bg-slate-200 hover:bg-slate-300 text-slate-600 select-none cursor-pointer font-mono text-xs'>\n {string}\n </pre>\n </div>\n </div>\n}\n"],"names":["React","utils"],"mappings":";;;;AAIO,IAAM,UAAU,GAAG,UAAC,EAc1B,EAAA;QAbC,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAY,GAAA,EAAA,CAAA,IAAA,EAAZ,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,GAAA,EAAA,EACZ,EAA+D,GAAA,EAAA,CAAA,gBAAA,EAA/D,gBAAgB,GAAG,EAAA,KAAA,MAAA,GAAA,4CAA4C,GAAA,EAAA,EAC/D,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,uBAAuB,GAAA,EAAA,CAAA,uBAAA,EACvB,gBAAgB,GAAA,EAAA,CAAA,gBAAA;IASV,IAAA,EAAA,GAAsB,QAAQ,CAAC,KAAK,CAAC,EAApC,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,SAAS,GAAA,EAAA,CAAA,CAAA,CAAmB;AAC3C,IAAA,QACEA,cAAQ,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AACrC,YAAA,SAAS,EAAE,gBAAgB;AAC3B,YAAA,gBAAgB,EAAE;SACnB,CAAC,EAAE,OAAO,EAAE,YAAA;AACX,YAAA,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM;AACjC,iBAAA,IAAI,CAAC,YAAA;gBACJ,SAAS,CAAC,IAAI,CAAC;AACf,gBAAA,UAAU,CAAC,YAAA;oBACT,SAAS,CAAC,KAAK,CAAC;iBACjB,EAAE,IAAI,CAAC;AACV,aAAC;iBACA,KAAK,CAAC,UAAA,CAAC,EAAA;AACN,gBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvB,aAAC,CAAC;SACL,EAAA;QACE;AACC,cAAED,cAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AACrC,oBAAA,SAAS,EAAA,SAAA;AACT,oBAAA,gBAAgB,EAAA;iBACjB,CAAC,EAAA;AAAE,gBAAAD,cAAA,CAAA,aAAA,CAAC,SAAS,EAAC,EAAA,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AAC5C,wBAAA,SAAS,EAAE,sCAAsC;wBACjD,MAAM,EAAE,CAACA,OAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACzC,qBAAA,CAAC,GAAI;cACJD,6BAAC,QAAQ,EAAA,EAAC,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AACzC,oBAAA,SAAS,EAAA,SAAA;AACT,oBAAA,gBAAgB,EAAA,gBAAA;oBAChB,MAAM,EAAE,CAACA,OAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACzC,iBAAA,CAAC,EAAI,CAAA;AAER,QAAAD,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAY,EAAA,MAAA,CAAA,CAC9B;AAEb;;;;"}
1
+ {"version":3,"file":"CopyableJSONOutput.js","sources":["../../../../../src/Form/Manage/CopyableJSONOutput.tsx"],"sourcesContent":["import { utils } from '@axdspub/axiom-ui-utilities'\r\nimport { CheckIcon, CopyIcon } from '@radix-ui/react-icons'\r\nimport React, { type ReactElement, type ReactNode, useState } from 'react'\r\n\r\nexport const CopyButton = ({\r\n string,\r\n size = 'med',\r\n defaultClassName = 'text-lg text-slate-400 pointer-events-none',\r\n className,\r\n defaultWrapperClassName,\r\n wrapperClassName,\r\n ToCopyElement,\r\n OnCopiedElement\r\n\r\n}: {\r\n string: string\r\n defaultClassName?: string\r\n className?: string\r\n defaultWrapperClassName?: string\r\n wrapperClassName?: string\r\n size?: 'sm' | 'med' | 'lg' | 'xlg'\r\n ToCopyElement?: ReactNode\r\n OnCopiedElement?: ReactNode\r\n}): ReactElement => {\r\n const [copied, setCopied] = useState(false)\r\n return (\r\n <button className={utils.makeClassName({\r\n className: wrapperClassName,\r\n defaultClassName: defaultWrapperClassName\r\n })} onClick={() => {\r\n navigator.clipboard.writeText(string)\r\n .then(() => {\r\n setCopied(true)\r\n setTimeout(() => {\r\n setCopied(false)\r\n }, 1000)\r\n })\r\n .catch(e => {\r\n console.log('Error!')\r\n })\r\n }}>\r\n {copied\r\n ? OnCopiedElement ?? <span className={utils.makeClassName({\r\n className,\r\n defaultClassName\r\n })}><CheckIcon className={utils.makeClassName({\r\n className: 'bg-slate-600 text-white rounded-full',\r\n extras: [utils.getIconClassForSize(size)]\r\n })} /></span>\r\n : ToCopyElement ?? <CopyIcon className={utils.makeClassName({\r\n className,\r\n defaultClassName,\r\n extras: [utils.getIconClassForSize(size)]\r\n })} />}\r\n\r\n <span className='sr-only'>Copy</span>\r\n </button>\r\n )\r\n}\r\nexport const CopyableJSONOutput = ({ string, label }: { string: string, label?: string }): ReactElement => {\r\n return <div>\r\n {label !== undefined\r\n ? <h2 className='text-lg pb-4 font-bold'>{label}</h2>\r\n : ''}\r\n <div className='relative' onClick={() => {\r\n navigator.clipboard.writeText(string)\r\n .then(() => {\r\n console.log('Copied!')\r\n })\r\n .catch(e => {\r\n console.log('Error!')\r\n })\r\n }}>\r\n <CopyButton string={string} className='text-slate-400 absolute top-4 right-4' wrapperClassName='absolute top-0 right-0 bottom-0 left-0' />\r\n <pre className='p-10 bg-slate-200 hover:bg-slate-300 text-slate-600 select-none cursor-pointer font-mono text-xs'>\r\n {string}\r\n </pre>\r\n </div>\r\n </div>\r\n}\r\n"],"names":["React","utils"],"mappings":";;;;AAIO,IAAM,UAAU,GAAG,UAAC,EAmB1B,EAAA;AAlBC,IAAA,IAAA,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAY,GAAA,EAAA,CAAA,IAAA,EAAZ,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA,EACZ,EAAA,GAAA,EAAA,CAAA,gBAA+D,EAA/D,gBAAgB,GAAG,EAAA,KAAA,MAAA,GAAA,4CAA4C,GAAA,EAAA,EAC/D,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,uBAAuB,GAAA,EAAA,CAAA,uBAAA,EACvB,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,eAAe,GAAA,EAAA,CAAA,eAAA;IAYT,IAAA,EAAA,GAAsB,QAAQ,CAAC,KAAK,CAAC,EAApC,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,SAAS,GAAA,EAAA,CAAA,CAAA,CAAmB;AAC3C,IAAA,QACEA,cAAQ,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AACrC,YAAA,SAAS,EAAE,gBAAgB;AAC3B,YAAA,gBAAgB,EAAE;SACnB,CAAC,EAAE,OAAO,EAAE,YAAA;AACX,YAAA,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM;AACjC,iBAAA,IAAI,CAAC,YAAA;gBACJ,SAAS,CAAC,IAAI,CAAC;AACf,gBAAA,UAAU,CAAC,YAAA;oBACT,SAAS,CAAC,KAAK,CAAC;iBACjB,EAAE,IAAI,CAAC;AACV,aAAC;iBACA,KAAK,CAAC,UAAA,CAAC,EAAA;AACN,gBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvB,aAAC,CAAC;SACL,EAAA;QACE;AACC,cAAE,eAAe,KAAf,IAAA,IAAA,eAAe,KAAf,MAAA,GAAA,eAAe,GAAID,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AACxD,oBAAA,SAAS,EAAA,SAAA;AACT,oBAAA,gBAAgB,EAAA;iBACjB,CAAC,EAAA;AAAE,gBAAAD,cAAA,CAAA,aAAA,CAAC,SAAS,EAAC,EAAA,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AAC5C,wBAAA,SAAS,EAAE,sCAAsC;wBACjD,MAAM,EAAE,CAACA,OAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACzC,qBAAA,CAAC,GAAI;AACN,cAAE,aAAa,KAAb,IAAA,IAAA,aAAa,cAAb,aAAa,GAAID,cAAC,CAAA,aAAA,CAAA,QAAQ,IAAC,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AAC1D,oBAAA,SAAS,EAAA,SAAA;AACT,oBAAA,gBAAgB,EAAA,gBAAA;oBAChB,MAAM,EAAE,CAACA,OAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACzC,iBAAA,CAAC,EAAI,CAAA;AAER,QAAAD,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAY,EAAA,MAAA,CAAA,CAC9B;AAEb;;;;"}
@@ -1,16 +1,14 @@
1
- export { addFieldPath, assignDefaultValuesToFormValues, calculateSectionStatus, checkCondition, cleanUnusedDependenciesFromFormValues, copyAndAddPathToFields, getChildFields, getFieldValue, getFields, getFieldsFromFormSection, getPathFromField, getUniqueFormFields, makeJsonPath, updateFormValuesWithFieldValue, updateFormValuesWithFieldValueInPlace } from './Form/helpers.js';
1
+ import * as getters from './utils/getters.js';
2
+ export { getters };
3
+ import * as manipulators from './utils/manipulators.js';
4
+ export { manipulators };
5
+ import * as validators from './utils/validators.js';
6
+ export { validators };
7
+ import * as schemaToFormHelpers from './utils/schemaToFormHelpers.js';
8
+ export { schemaToFormHelpers as schemToFormHelpers };
9
+ export { schemaToFormHelpers as schemaToFormUtils };
2
10
  export { default as FormCreator } from './Form/Creator/FormCreator.js';
3
11
  export { default as FieldCreator } from './Form/Components/FieldCreator.js';
4
- export { default as BooleanInput } from './Form/Components/Inputs/Boolean.js';
5
- export { default as JSONInput } from './Form/Components/Inputs/JSONInputLoader.js';
6
- export { default as NumberInput } from './Form/Components/Inputs/Number.js';
7
- export { default as TextInput } from './Form/Components/Inputs/String.js';
8
- export { default as LongTextInput } from './Form/Components/Inputs/LongString.js';
9
- export { default as SelectInput } from './Form/Components/Inputs/SingleSelect.js';
10
- export { default as GeoJSONInput } from './Form/Components/Inputs/GeoJSONInputLoader.js';
11
- export { default as DateTimeInput } from './Form/Components/Inputs/DateTime.js';
12
- export { default as DateInput } from './Form/Components/Inputs/Date.js';
13
- export { default as TimeInput } from './Form/Components/Inputs/Time.js';
14
- import * as schemaToFormHelpers from './Form/schemaToFormHelpers.js';
15
- export { schemaToFormHelpers as schemToFormHelpers };
12
+ import * as index from './Form/Components/Inputs/index.js';
13
+ export { index as Inputs };
16
14
  //# sourceMappingURL=library.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"library.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,135 @@
1
+ import get from '../../_virtual/get.js';
2
+
3
+ /**
4
+ * Returns the JSON path for a given field
5
+ *
6
+ * @param field - The field to get the JSON path for
7
+ * @param index - The index of the field in the array (optional)
8
+ * @returns The JSON path for the given field
9
+ */
10
+ var makeJsonPath = function (field, index) {
11
+ if (field.type === 'object' && field.skip_path === true) {
12
+ return undefined;
13
+ }
14
+ var fieldExtra = "".concat(field.multiple && (field.index !== undefined || index !== undefined) ? "[".concat(index !== null && index !== void 0 ? index : field.index, "]") : '');
15
+ if (field.destPath !== undefined) {
16
+ return "".concat(field.destPath).concat(fieldExtra);
17
+ }
18
+ else if (field.path === undefined) {
19
+ return "".concat(field.id).concat(fieldExtra);
20
+ }
21
+ else {
22
+ var path = field.path;
23
+ var pathLen_1 = path.length;
24
+ return field.path.map(function (f, i) { var _a; return (f.multiple && (i < (pathLen_1 - 1) || index !== undefined || f.index !== undefined)) ? "".concat(f.id).concat("[".concat((_a = index !== null && index !== void 0 ? index : f.index) !== null && _a !== void 0 ? _a : 0, "]")) : f.id; }).join('.');
25
+ }
26
+ };
27
+ /**
28
+ * Returns the child fields of a given field
29
+ *
30
+ * @param field - The field to get the child fields from
31
+ * @returns The child fields of the given field
32
+ */
33
+ var getChildFields = function (field) {
34
+ var _a;
35
+ return (_a = field === null || field === void 0 ? void 0 : field.fields) !== null && _a !== void 0 ? _a : [];
36
+ };
37
+ /**
38
+ * Recursively gets all fields from a given array of fields
39
+ *
40
+ * @param fields - The array of fields to get the fields from
41
+ * @returns An array of all fields
42
+ */
43
+ var getFields = function (fields) {
44
+ if (fields === undefined) {
45
+ return [];
46
+ }
47
+ var all = fields.map(function (field) {
48
+ var fields = [field];
49
+ var children = getChildFields(field);
50
+ children.forEach(function (c) {
51
+ fields = fields.concat(getFields([c]));
52
+ });
53
+ return fields;
54
+ }).flat(Infinity);
55
+ return all;
56
+ };
57
+ /**
58
+ * Wrapper for lodash `get` function to get the value from a given path in the form values
59
+ *
60
+ * @param path - The path to get the value from
61
+ * @param formValues - The form values to get the value from
62
+ * @returns The value from the given path in the form values or undefined
63
+ */
64
+ function getValueFromPath(path, formValues) {
65
+ return get(formValues, path);
66
+ }
67
+ function getObjectFieldValue(field, formValues, index) {
68
+ var vals = field.fields.map(function (f) {
69
+ var p = makeJsonPath(f, index);
70
+ var val = getFieldValue(f, formValues, index);
71
+ return p !== undefined
72
+ ? { key: p, val: val }
73
+ : typeof val === 'object' && val !== null
74
+ ? Object.entries(val).map(function (_a) {
75
+ var k = _a[0], v = _a[1];
76
+ return ({ key: k, val: v });
77
+ })
78
+ : undefined;
79
+ }).flat(Infinity).filter(function (d) { return d !== undefined; });
80
+ return Object.fromEntries(vals.map(function (v) { return [v.key, v.val]; }));
81
+ }
82
+ /**
83
+ * Returns the value of a given field from the form values
84
+ *
85
+ * @param field - The field to get the value from
86
+ * @param formValues - The form values to get the value from
87
+ * @param index - The index of the field in the array (optional). If undefined, the last value will be returned as an array if it is one
88
+ * @returns The value of the given field from the form values or undefined
89
+ */
90
+ function getFieldValue(field, formValues, index) {
91
+ var path = makeJsonPath(field, index);
92
+ if (field.type === 'object' && field.fields !== undefined && path === undefined) {
93
+ return getObjectFieldValue(field, formValues, index);
94
+ }
95
+ else if (path === undefined) {
96
+ return undefined;
97
+ }
98
+ var val = getValueFromPath(path, formValues); // formValues[field.id]
99
+ return val;
100
+ }
101
+ /**
102
+ * Returns the path of a given field. Used for writing to form values
103
+ *
104
+ * @param field - The field to get the path from
105
+ * @returns The path of the given field or the id of the field if no path is defined
106
+ */
107
+ function getPathFromField(field) {
108
+ // console.log(`${field.path !== undefined ? field.path.join('.') : 'nopath'} = ${field.id}`)
109
+ if (field.type === 'object' && field.skip_path === true) {
110
+ return undefined;
111
+ }
112
+ if (field.destPath) {
113
+ return field.destPath;
114
+ }
115
+ return field.path !== undefined
116
+ ? field.path.filter(function (f) { return !(f.type === 'object' && f.skip_path === true); }).map(function (f) { return f.id; }).join('.')
117
+ : field.id;
118
+ // return makeJsonPath(field)
119
+ }
120
+ /**
121
+ * Returns all fields and child from a given form section. A form can be a form section or a wizard step or a page. This will recursively find child fields in pages, wizard steps and object fields
122
+ *
123
+ * @param formSection - The form section to get the fields from
124
+ * @returns An array of fields from the given form section
125
+ */
126
+ function getFieldsFromFormSection(formSection) {
127
+ var _a, _b, _c;
128
+ var pageFields = (_a = formSection === null || formSection === void 0 ? void 0 : formSection.pages) === null || _a === void 0 ? void 0 : _a.map(function (p) { return getFieldsFromFormSection(p); }).flat(1);
129
+ var wizardFields = (_b = formSection === null || formSection === void 0 ? void 0 : formSection.wizard_steps) === null || _b === void 0 ? void 0 : _b.map(function (p) { return getFieldsFromFormSection(p); }).flat(1);
130
+ var fields = getFields(((_c = formSection === null || formSection === void 0 ? void 0 : formSection.fields) !== null && _c !== void 0 ? _c : [])).concat(pageFields !== null && pageFields !== void 0 ? pageFields : []).concat(wizardFields !== null && wizardFields !== void 0 ? wizardFields : []);
131
+ return fields;
132
+ }
133
+
134
+ export { getChildFields, getFieldValue, getFields, getFieldsFromFormSection, getPathFromField, getValueFromPath, makeJsonPath };
135
+ //# sourceMappingURL=getters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getters.js","sources":["../../../../src/utils/getters.ts"],"sourcesContent":["import { type IFormSection, type IFormValues, type IValueType, type IFormField, type IObjectField } from '@/Form/Creator/FormCreatorTypes'\r\nimport get from 'lodash/get'\r\n\r\n/**\r\n * Returns the JSON path for a given field\r\n *\r\n * @param field - The field to get the JSON path for\r\n * @param index - The index of the field in the array (optional)\r\n * @returns The JSON path for the given field\r\n */\r\nexport const makeJsonPath = (field: IFormField, index?: number): string | undefined => {\r\n if (field.type === 'object' && field.skip_path === true) {\r\n return undefined\r\n }\r\n const fieldExtra = `${field.multiple && (field.index !== undefined || index !== undefined) ? `[${index ?? field.index}]` : ''}`\r\n if (field.destPath !== undefined) {\r\n return `${field.destPath}${fieldExtra}`\r\n } else if (field.path === undefined) {\r\n return `${field.id}${fieldExtra}`\r\n } else {\r\n const path = field.path\r\n const pathLen = path.length\r\n return field.path.map((f, i) => (f.multiple && (i < (pathLen - 1) || index !== undefined || f.index !== undefined)) ? `${f.id}${`[${index ?? f.index ?? 0}]`}` : f.id).join('.')\r\n }\r\n}\r\n\r\n/**\r\n * Returns the child fields of a given field\r\n *\r\n * @param field - The field to get the child fields from\r\n * @returns The child fields of the given field\r\n */\r\nexport const getChildFields = (field: { id: string, fields?: IFormField[] }): IFormField[] => {\r\n return field?.fields ?? []\r\n}\r\n\r\n/**\r\n * Recursively gets all fields from a given array of fields\r\n *\r\n * @param fields - The array of fields to get the fields from\r\n * @returns An array of all fields\r\n */\r\n\r\nexport const getFields = (fields?: Array<{ id: string, fields?: IFormField[] }>): IFormField[] => {\r\n if (fields === undefined) {\r\n return []\r\n }\r\n const all = fields.map(field => {\r\n let fields = [field]\r\n const children = getChildFields(field)\r\n children.forEach(c => {\r\n fields = fields.concat(getFields([c]))\r\n })\r\n return fields\r\n }).flat(Infinity) as IFormField[]\r\n return all\r\n}\r\n\r\n/**\r\n * Wrapper for lodash `get` function to get the value from a given path in the form values\r\n *\r\n * @param path - The path to get the value from\r\n * @param formValues - The form values to get the value from\r\n * @returns The value from the given path in the form values or undefined\r\n */\r\n\r\nexport function getValueFromPath (path: string, formValues: IFormValues): IValueType | IValueType[] | undefined {\r\n return get(formValues, path)\r\n}\r\n\r\nfunction getObjectFieldValue (field: IObjectField, formValues: IFormValues, index?: number): IValueType | IValueType[] | undefined {\r\n const vals = field.fields.map(f => {\r\n const p = makeJsonPath(f, index)\r\n const val = getFieldValue(f, formValues, index)\r\n return p !== undefined\r\n ? { key: p, val }\r\n : typeof val === 'object' && val !== null\r\n ? Object.entries(val).map(([k, v]) => ({ key: k, val: v }))\r\n : undefined\r\n }).flat(Infinity).filter(d => d !== undefined) as Array<{ key: string, val: IValueType | IValueType[] | undefined }>\r\n return Object.fromEntries(vals.map(v => [v.key, v.val]))\r\n}\r\n\r\n/**\r\n * Returns the value of a given field from the form values\r\n *\r\n * @param field - The field to get the value from\r\n * @param formValues - The form values to get the value from\r\n * @param index - The index of the field in the array (optional). If undefined, the last value will be returned as an array if it is one\r\n * @returns The value of the given field from the form values or undefined\r\n */\r\n\r\nexport function getFieldValue (field: IFormField, formValues: IFormValues, index?: number): IValueType | IValueType[] | undefined {\r\n const path = makeJsonPath(field, index)\r\n if (field.type === 'object' && field.fields !== undefined && path === undefined) {\r\n return getObjectFieldValue(field, formValues, index)\r\n } else if (path === undefined) {\r\n return undefined\r\n }\r\n const val = getValueFromPath(path, formValues) // formValues[field.id]\r\n return val\r\n}\r\n\r\n/**\r\n * Returns the path of a given field. Used for writing to form values\r\n *\r\n * @param field - The field to get the path from\r\n * @returns The path of the given field or the id of the field if no path is defined\r\n */\r\nexport function getPathFromField (field: IFormField): string | undefined {\r\n // console.log(`${field.path !== undefined ? field.path.join('.') : 'nopath'} = ${field.id}`)\r\n if (field.type === 'object' && field.skip_path === true) {\r\n return undefined\r\n }\r\n if (field.destPath) {\r\n return field.destPath\r\n }\r\n return field.path !== undefined\r\n ? field.path.filter(f => !(f.type === 'object' && f.skip_path === true)).map(f => f.id).join('.')\r\n : field.id\r\n // return makeJsonPath(field)\r\n}\r\n\r\n/**\r\n * Returns all fields and child from a given form section. A form can be a form section or a wizard step or a page. This will recursively find child fields in pages, wizard steps and object fields\r\n *\r\n * @param formSection - The form section to get the fields from\r\n * @returns An array of fields from the given form section\r\n */\r\nexport function getFieldsFromFormSection (formSection: IFormSection): IFormField[] {\r\n const pageFields = formSection?.pages?.map(p => getFieldsFromFormSection(p)).flat(1)\r\n const wizardFields = formSection?.wizard_steps?.map(p => getFieldsFromFormSection(p)).flat(1)\r\n const fields = getFields((formSection?.fields ?? [])).concat(pageFields ?? []).concat(wizardFields ?? [])\r\n return fields\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ import { __assign } from '../../node_modules/tslib/tslib.es6.js';
2
+ import { getFieldsFromFormSection, getPathFromField, getFieldValue } from './getters.js';
3
+ import { checkCondition } from './validators.js';
4
+ import { merge } from 'lodash';
5
+ import set from '../../_virtual/set.js';
6
+
7
+ var addFieldPath = function (field, parentPath) {
8
+ if (field.type === 'object' && field.skip_path === true) {
9
+ field.path = parentPath !== undefined ? parentPath.slice() : [];
10
+ field.level = parentPath !== undefined ? parentPath.length : 0;
11
+ }
12
+ else {
13
+ var newSegment = field; // `${field.id}${field.multiple === true ? '[]' : ''}`
14
+ field.path = parentPath !== undefined ? parentPath.slice().concat(newSegment) : [newSegment];
15
+ field.level = parentPath !== undefined ? parentPath.length + 1 : 1;
16
+ }
17
+ if ((field.type === 'object' || field.type === 'section') && field.fields !== undefined) {
18
+ field.fields = field.fields.map(function (childField) {
19
+ var _a;
20
+ return addFieldPath(childField, (_a = field.path) === null || _a === void 0 ? void 0 : _a.slice());
21
+ });
22
+ }
23
+ return field;
24
+ };
25
+ function addPathsToFormSections(section) {
26
+ if (section.pages !== undefined) {
27
+ section.pages = section.pages.map(function (page) {
28
+ return addPathsToFormSections(page);
29
+ });
30
+ }
31
+ if (section.wizard_steps !== undefined) {
32
+ section.wizard_steps = section.wizard_steps.map(function (wizardStep) {
33
+ return addPathsToFormSections(wizardStep);
34
+ });
35
+ }
36
+ if (section.fields !== undefined) {
37
+ section.fields = section.fields.map(function (field) {
38
+ return addFieldPath(field);
39
+ });
40
+ }
41
+ return section;
42
+ }
43
+ function copyAndAddPathToFields(formOrContainer) {
44
+ var form = addPathsToFormSections(structuredClone(formOrContainer));
45
+ return form;
46
+ }
47
+ function removeFieldPath(field) {
48
+ field.path = undefined;
49
+ field.level = undefined;
50
+ if (field.type === 'object' && field.fields !== undefined) {
51
+ field.fields = field.fields.map(function (childField) {
52
+ return removeFieldPath(childField);
53
+ });
54
+ }
55
+ return field;
56
+ }
57
+ function removePathsFromFormSections(section) {
58
+ if (section.pages !== undefined) {
59
+ section.pages = section.pages.map(function (page) {
60
+ return removePathsFromFormSections(page);
61
+ });
62
+ }
63
+ if (section.wizard_steps !== undefined) {
64
+ section.wizard_steps = section.wizard_steps.map(function (wizardStep) {
65
+ return removePathsFromFormSections(wizardStep);
66
+ });
67
+ }
68
+ if (section.fields !== undefined) {
69
+ section.fields = section.fields.map(function (field) {
70
+ return removeFieldPath(field);
71
+ });
72
+ }
73
+ return section;
74
+ }
75
+ function copyAndRemovePathFromFields(formOrContainer) {
76
+ var form = removePathsFromFormSections(structuredClone(formOrContainer));
77
+ return form;
78
+ }
79
+ function cleanFormValuesLevel(formValues, fields, formValuesPath) {
80
+ if (formValuesPath === void 0) { formValuesPath = ''; }
81
+ var formValuesCopy = structuredClone(formValues);
82
+ Object.keys(formValues).forEach(function (key) {
83
+ var _a;
84
+ var path = formValuesPath !== '' ? "".concat(formValuesPath, ".").concat(key) : key;
85
+ var field = fields === null || fields === void 0 ? void 0 : fields.find(function (f) { return getPathFromField(f) === path; });
86
+ if (field !== undefined && !checkCondition(field, formValues)) {
87
+ formValuesCopy[key] = undefined;
88
+ // this ensures that objects that are the result of mapping get checked
89
+ // but fields that are not explicitly defined as objects but may contain objects
90
+ // are not checked (geom, json, etc)
91
+ }
92
+ else if (typeof formValuesCopy[key] === 'object' && ((field === null || field === void 0 ? void 0 : field.type) === 'object' || field === undefined)) {
93
+ formValuesCopy[key] = cleanFormValuesLevel(((_a = formValuesCopy[key]) !== null && _a !== void 0 ? _a : {}), fields, path);
94
+ }
95
+ else if (field === undefined) {
96
+ formValuesCopy[key] = undefined;
97
+ }
98
+ });
99
+ // const fieldIds = fields.map(f => getPathFromField(f))
100
+ // return Object.fromEntries(Object.entries(formValuesCopy).filter(([key]) => fieldIds.includes(formValuesPath !== '' ? `${formValuesPath}.${key}` : key)))
101
+ return formValuesCopy;
102
+ }
103
+ function cleanUnusedDependenciesFromFormValues(form, formValues) {
104
+ var fields = getFieldsFromFormSection(form);
105
+ var newFormValues = cleanFormValuesLevel(formValues, fields);
106
+ return newFormValues;
107
+ }
108
+ function updateFormValuesWithFieldValueInPlace(field, newValue, formValues) {
109
+ var fieldPath = getPathFromField(field);
110
+ if (fieldPath === undefined) {
111
+ merge(formValues, newValue);
112
+ }
113
+ else {
114
+ set(formValues, fieldPath !== null && fieldPath !== void 0 ? fieldPath : '', newValue);
115
+ }
116
+ }
117
+ function updateFormValuesWithFieldValue(field, newValue, formValues) {
118
+ var formValuesCopy = structuredClone(formValues);
119
+ updateFormValuesWithFieldValueInPlace(field, newValue, formValuesCopy);
120
+ return formValuesCopy;
121
+ }
122
+ function cleanAndUpdateFormValuesWithFieldValue(_a) {
123
+ var field = _a.field, form = _a.form, value = _a.value, formValues = _a.formValues;
124
+ var updatedFormValuesCopyPreClean = updateFormValuesWithFieldValue(field, value, formValues);
125
+ var cleanedFormValues = cleanUnusedDependenciesFromFormValues(form, updatedFormValuesCopyPreClean);
126
+ // re-assigning the form values lets it be cleaned above, and re-assigned below if the value is uses the same path as a removed value
127
+ // initial use case: multiple geometry fields with each shape type as pre-set draw type and a second field that determines the draw type
128
+ var formValuesCopyClean = updateFormValuesWithFieldValue(field, value, cleanedFormValues);
129
+ return formValuesCopyClean;
130
+ }
131
+ var assignDefaultValuesToFormValues = function (form, formValues) {
132
+ var formValuesCopy = structuredClone(formValues);
133
+ var formWithPaths = copyAndAddPathToFields(form);
134
+ getFieldsFromFormSection(formWithPaths).forEach(function (field) {
135
+ if (field.defaultValue !== undefined && getFieldValue(field, formValuesCopy) === undefined) {
136
+ updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy);
137
+ }
138
+ });
139
+ return formValuesCopy;
140
+ };
141
+ var assignIndexToField = function (field, index) {
142
+ return __assign(__assign({}, field), { index: index });
143
+ };
144
+ var assignIndexToFields = function (parentField, index) {
145
+ return parentField.fields.map(function (f) {
146
+ if (f.path !== undefined && parentField.level !== undefined && f.path[parentField.level - 1] !== undefined) {
147
+ var newPath = f.path.slice();
148
+ newPath[parentField.level - 1] = __assign(__assign({}, parentField), { index: index });
149
+ f.path = newPath;
150
+ }
151
+ return __assign({}, f);
152
+ });
153
+ };
154
+ var createOneOfMultipleField = function (field, index) {
155
+ var path = field.path ? field.path.slice() : undefined;
156
+ if (path !== undefined) {
157
+ var last = assignIndexToField(path[path.length - 1], index);
158
+ path[path.length - 1] = last;
159
+ if (last.type === 'object' && last.fields !== undefined) {
160
+ last.fields = assignIndexToFields(last, index);
161
+ }
162
+ }
163
+ var out = __assign(__assign({}, field), { path: path, index: index, required: false, label: index > 0 ? null : field.label, id: "".concat(field.id, "-").concat(index) });
164
+ if (field.type === 'object' && field.fields !== undefined && out.type === 'object') {
165
+ out.fields = assignIndexToFields(field, index);
166
+ }
167
+ return out;
168
+ };
169
+
170
+ export { addFieldPath, assignDefaultValuesToFormValues, cleanAndUpdateFormValuesWithFieldValue, cleanUnusedDependenciesFromFormValues, copyAndAddPathToFields, copyAndRemovePathFromFields, createOneOfMultipleField, updateFormValuesWithFieldValue, updateFormValuesWithFieldValueInPlace };
171
+ //# sourceMappingURL=manipulators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manipulators.js","sources":["../../../../src/utils/manipulators.ts"],"sourcesContent":["import { type IFormSection, type IPage, type IWizardStep, type IFormField, type IForm, type IValueType, type IFormValues, type IObjectField } from '@/Form/Creator/FormCreatorTypes'\r\nimport { getFieldsFromFormSection, getFieldValue, getPathFromField } from '@/utils/getters'\r\nimport { checkCondition } from '@/utils/validators'\r\nimport { merge } from 'lodash'\r\nimport set from 'lodash/set'\r\n\r\nexport const addFieldPath = (field: IFormField, parentPath?: IFormField[]): IFormField => {\r\n if (field.type === 'object' && field.skip_path === true) {\r\n field.path = parentPath !== undefined ? parentPath.slice() : []\r\n field.level = parentPath !== undefined ? parentPath.length : 0\r\n } else {\r\n const newSegment = field // `${field.id}${field.multiple === true ? '[]' : ''}`\r\n field.path = parentPath !== undefined ? parentPath.slice().concat(newSegment) : [newSegment]\r\n field.level = parentPath !== undefined ? parentPath.length + 1 : 1\r\n }\r\n if ((field.type === 'object' || field.type === 'section') && field.fields !== undefined) {\r\n field.fields = field.fields.map(childField => {\r\n return addFieldPath(childField, field.path?.slice())\r\n })\r\n }\r\n return field\r\n}\r\n\r\nfunction addPathsToFormSections (section: IFormSection): IFormSection {\r\n if (section.pages !== undefined) {\r\n section.pages = section.pages.map(page => {\r\n return addPathsToFormSections(page)\r\n }) as IPage[]\r\n }\r\n if (section.wizard_steps !== undefined) {\r\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\r\n return addPathsToFormSections(wizardStep)\r\n }) as IWizardStep[]\r\n }\r\n if (section.fields !== undefined) {\r\n section.fields = section.fields.map(field => {\r\n return addFieldPath(field)\r\n })\r\n }\r\n return section\r\n}\r\n\r\nexport function copyAndAddPathToFields (formOrContainer: IFormSection | IForm): IForm {\r\n const form = addPathsToFormSections(structuredClone(formOrContainer)) as IForm\r\n return form\r\n}\r\n\r\nfunction removeFieldPath (field: IFormField): IFormField {\r\n field.path = undefined\r\n field.level = undefined\r\n if (field.type === 'object' && field.fields !== undefined) {\r\n field.fields = field.fields.map(childField => {\r\n return removeFieldPath(childField)\r\n })\r\n }\r\n\r\n return field\r\n}\r\n\r\nfunction removePathsFromFormSections (section: IFormSection): IFormSection {\r\n if (section.pages !== undefined) {\r\n section.pages = section.pages.map(page => {\r\n return removePathsFromFormSections(page)\r\n }) as IPage[]\r\n }\r\n if (section.wizard_steps !== undefined) {\r\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\r\n return removePathsFromFormSections(wizardStep)\r\n }) as IWizardStep[]\r\n }\r\n if (section.fields !== undefined) {\r\n section.fields = section.fields.map(field => {\r\n return removeFieldPath(field)\r\n })\r\n }\r\n return section\r\n}\r\n\r\nexport function copyAndRemovePathFromFields (formOrContainer: IFormSection | IForm): IForm {\r\n const form = removePathsFromFormSections(structuredClone(formOrContainer)) as IForm\r\n return form\r\n}\r\n\r\nfunction cleanFormValuesLevel (formValues: IFormValues, fields: IFormField[], formValuesPath: string = ''): IFormValues {\r\n const formValuesCopy = structuredClone(formValues)\r\n Object.keys(formValues).forEach(key => {\r\n const path = formValuesPath !== '' ? `${formValuesPath}.${key}` : key\r\n const field = fields?.find(f => getPathFromField(f) === path)\r\n if (field !== undefined && !checkCondition(field, formValues)) {\r\n formValuesCopy[key] = undefined\r\n // this ensures that objects that are the result of mapping get checked\r\n // but fields that are not explicitly defined as objects but may contain objects\r\n // are not checked (geom, json, etc)\r\n } else if (typeof formValuesCopy[key] === 'object' && (\r\n field?.type === 'object' || field === undefined\r\n )) {\r\n formValuesCopy[key] = cleanFormValuesLevel((formValuesCopy[key] ?? {}) as IFormValues, fields, path)\r\n } else if (field === undefined) {\r\n formValuesCopy[key] = undefined\r\n }\r\n })\r\n // const fieldIds = fields.map(f => getPathFromField(f))\r\n // return Object.fromEntries(Object.entries(formValuesCopy).filter(([key]) => fieldIds.includes(formValuesPath !== '' ? `${formValuesPath}.${key}` : key)))\r\n return formValuesCopy\r\n}\r\n\r\nexport function cleanUnusedDependenciesFromFormValues (form: IForm, formValues: IFormValues): IFormValues {\r\n const fields = getFieldsFromFormSection(form)\r\n const newFormValues = cleanFormValuesLevel(formValues, fields)\r\n return newFormValues\r\n}\r\n\r\nexport function updateFormValuesWithFieldValueInPlace (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): void {\r\n const fieldPath = getPathFromField(field)\r\n if (fieldPath === undefined) {\r\n merge(formValues, newValue)\r\n } else {\r\n set(formValues, fieldPath ?? '', newValue)\r\n }\r\n}\r\n\r\nexport function updateFormValuesWithFieldValue (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): IFormValues {\r\n const formValuesCopy = structuredClone(formValues)\r\n updateFormValuesWithFieldValueInPlace(field, newValue, formValuesCopy)\r\n return formValuesCopy\r\n}\r\n\r\nexport function cleanAndUpdateFormValuesWithFieldValue ({\r\n field,\r\n form,\r\n value,\r\n formValues\r\n}: {\r\n field: IFormField\r\n form: IForm\r\n value: IValueType | IValueType[]\r\n formValues: IFormValues\r\n}): IFormValues {\r\n const updatedFormValuesCopyPreClean = updateFormValuesWithFieldValue(\r\n field,\r\n value,\r\n formValues\r\n )\r\n const cleanedFormValues = cleanUnusedDependenciesFromFormValues(form, updatedFormValuesCopyPreClean)\r\n // re-assigning the form values lets it be cleaned above, and re-assigned below if the value is uses the same path as a removed value\r\n // initial use case: multiple geometry fields with each shape type as pre-set draw type and a second field that determines the draw type\r\n const formValuesCopyClean = updateFormValuesWithFieldValue(\r\n field,\r\n value,\r\n cleanedFormValues\r\n )\r\n return formValuesCopyClean\r\n}\r\n\r\nexport const assignDefaultValuesToFormValues = (form: IForm, formValues: IFormValues): IFormValues => {\r\n const formValuesCopy = structuredClone(formValues)\r\n const formWithPaths = copyAndAddPathToFields(form)\r\n getFieldsFromFormSection(formWithPaths).forEach(field => {\r\n if (field.defaultValue !== undefined && getFieldValue(field, formValuesCopy) === undefined) {\r\n updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy)\r\n }\r\n })\r\n return formValuesCopy\r\n}\r\n\r\nconst assignIndexToField = (field: IFormField, index: number): IFormField => {\r\n return {\r\n ...field,\r\n index\r\n }\r\n}\r\n\r\nconst assignIndexToFields = (parentField: IObjectField, index: number): IFormField[] => {\r\n return parentField.fields.map(f => {\r\n if (f.path !== undefined && parentField.level !== undefined && f.path[parentField.level - 1] !== undefined) {\r\n const newPath = f.path.slice()\r\n newPath[parentField.level - 1] = {\r\n ...parentField,\r\n index\r\n }\r\n f.path = newPath\r\n }\r\n return {\r\n ...f\r\n }\r\n })\r\n}\r\n\r\nexport const createOneOfMultipleField = (field: IFormField, index: number): IFormField => {\r\n const path = field.path ? field.path.slice() : undefined\r\n if (path !== undefined) {\r\n const last = assignIndexToField(path[path.length - 1], index)\r\n path[path.length - 1] = last\r\n if (last.type === 'object' && last.fields !== undefined) {\r\n last.fields = assignIndexToFields(last, index)\r\n }\r\n }\r\n\r\n const out = {\r\n ...field,\r\n path,\r\n index,\r\n required: false,\r\n label: index > 0 ? null : field.label,\r\n id: `${field.id}-${index}`\r\n }\r\n\r\n if (field.type === 'object' && field.fields !== undefined && out.type === 'object') {\r\n out.fields = assignIndexToFields(field, index)\r\n }\r\n return out\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { __assign } from '../../node_modules/tslib/tslib.es6.js';
2
+
3
+ /**
4
+ * Recursively resolves JSON Schema $ref references. Does not support external references.
5
+ * @param schema The schema to resolve.
6
+ * @param root The root schema for references. Defaults to schema itself
7
+ * TO DO: support external references
8
+ * @returns The schema with all $ref references resolved.
9
+ */
10
+ function resolveRefs(schema, root) {
11
+ var _a;
12
+ if (root === void 0) { root = schema; }
13
+ if (typeof schema !== 'object' || schema === null)
14
+ return schema;
15
+ if (Array.isArray(schema)) {
16
+ // if top level root is array, don't pass it
17
+ // but hold on to root if we're looking at an embedded array (anyOf: [], allOf: [], oneOf: [])
18
+ return schema.map(function (item) { return resolveRefs(item, Array.isArray(root) ? undefined : root); });
19
+ }
20
+ if (schema.$ref) {
21
+ var refPath = schema.$ref.replace('#/', '').split('/');
22
+ var refValue = root;
23
+ for (var _i = 0, refPath_1 = refPath; _i < refPath_1.length; _i++) {
24
+ var key = refPath_1[_i];
25
+ refValue = refValue[key];
26
+ if (!refValue)
27
+ throw new Error("Invalid reference: ".concat(schema.$ref));
28
+ }
29
+ // Merge the original schema with the resolved reference
30
+ var mergedSchema = __assign(__assign({}, refValue), schema);
31
+ // allow a $ref to be followed multiple steps
32
+ mergedSchema.$ref = (_a = refValue.$ref) !== null && _a !== void 0 ? _a : undefined;
33
+ // Recursively resolve all properties of the merged schema
34
+ return resolveRefs(mergedSchema, root);
35
+ }
36
+ // Recursively resolve all properties
37
+ return Object.fromEntries(Object.entries(schema).map(function (_a) {
38
+ var key = _a[0], value = _a[1];
39
+ return [key, resolveRefs(value, root)];
40
+ }));
41
+ }
42
+
43
+ export { resolveRefs };
44
+ //# sourceMappingURL=resolveRefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveRefs.js","sources":["../../../../src/utils/resolveRefs.ts"],"sourcesContent":["import { type JSONSchema6 } from 'json-schema'\r\n\r\n/**\r\n * Recursively resolves JSON Schema $ref references. Does not support external references.\r\n * @param schema The schema to resolve.\r\n * @param root The root schema for references. Defaults to schema itself\r\n * TO DO: support external references\r\n * @returns The schema with all $ref references resolved.\r\n */\r\nexport function resolveRefs<T extends JSONSchema6> (schema: T, root: JSONSchema6 = schema): T {\r\n if (typeof schema !== 'object' || schema === null) return schema\r\n\r\n if (Array.isArray(schema)) {\r\n // if top level root is array, don't pass it\r\n // but hold on to root if we're looking at an embedded array (anyOf: [], allOf: [], oneOf: [])\r\n return schema.map((item) => resolveRefs(item, Array.isArray(root) ? undefined : root)) as unknown as T\r\n }\r\n\r\n if (schema.$ref) {\r\n const refPath = schema.$ref.replace('#/', '').split('/')\r\n let refValue: any = root\r\n\r\n for (const key of refPath) {\r\n refValue = refValue[key]\r\n if (!refValue) throw new Error(`Invalid reference: ${schema.$ref}`)\r\n }\r\n\r\n // Merge the original schema with the resolved reference\r\n const mergedSchema = { ...refValue, ...schema }\r\n\r\n // allow a $ref to be followed multiple steps\r\n mergedSchema.$ref = refValue.$ref ?? undefined\r\n\r\n // Recursively resolve all properties of the merged schema\r\n return resolveRefs(mergedSchema, root) as T\r\n }\r\n\r\n // Recursively resolve all properties\r\n return Object.fromEntries(\r\n Object.entries(schema).map(([key, value]) => {\r\n return [key, resolveRefs(value, root)]\r\n })\r\n ) as T\r\n}\r\n"],"names":[],"mappings":";;AAEA;;;;;;AAMG;AACa,SAAA,WAAW,CAAyB,MAAS,EAAE,IAA0B,EAAA;;AAA1B,IAAA,IAAA,IAAA,KAAA,MAAA,EAAA,EAAA,IAA0B,GAAA,MAAA,CAAA;AACvF,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;AAAE,QAAA,OAAO,MAAM;AAEhE,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;;;AAGzB,QAAA,OAAO,MAAM,CAAC,GAAG,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,CAAzD,EAAyD,CAAiB;;AAGxG,IAAA,IAAI,MAAM,CAAC,IAAI,EAAE;AACf,QAAA,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACxD,IAAI,QAAQ,GAAQ,IAAI;QAExB,KAAkB,IAAA,EAAA,GAAA,CAAO,EAAP,SAAO,GAAA,OAAA,EAAP,qBAAO,EAAP,EAAA,EAAO,EAAE;AAAtB,YAAA,IAAM,GAAG,GAAA,SAAA,CAAA,EAAA,CAAA;AACZ,YAAA,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC;AACxB,YAAA,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAA,CAAA,MAAA,CAAsB,MAAM,CAAC,IAAI,CAAE,CAAC;;;AAIrE,QAAA,IAAM,YAAY,GAAQ,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,QAAQ,CAAK,EAAA,MAAM,CAAE;;QAG/C,YAAY,CAAC,IAAI,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,SAAS;;AAG9C,QAAA,OAAO,WAAW,CAAC,YAAY,EAAE,IAAI,CAAM;;;AAI7C,IAAA,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY,EAAA;YAAX,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA;QACrC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACvC,CAAC,CACE;AACR;;;;"}
@@ -0,0 +1,18 @@
1
+ import { atom } from '../../../node_modules/jotai/esm/vanilla.js';
2
+
3
+ var getWindowSize = function () {
4
+ var width = window.innerWidth;
5
+ if (width < 768)
6
+ return 'sm';
7
+ if (width < 1024)
8
+ return 'md';
9
+ if (width < 1280)
10
+ return 'lg';
11
+ return 'xl';
12
+ };
13
+ var layoutAtom = atom({
14
+ size: getWindowSize()
15
+ });
16
+
17
+ export { layoutAtom as default, getWindowSize };
18
+ //# sourceMappingURL=layoutState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutState.js","sources":["../../../../../src/utils/responsive/layoutState.ts"],"sourcesContent":["import { atom } from 'jotai'\r\n\r\ntype ISize = 'sm' | 'md' | 'lg' | 'xl'\r\n\r\nexport const getWindowSize = (): ISize => {\r\n const width = window.innerWidth\r\n if (width < 768) return 'sm'\r\n if (width < 1024) return 'md'\r\n if (width < 1280) return 'lg'\r\n return 'xl'\r\n}\r\n\r\nconst layoutAtom = atom<{ size: ISize }>({\r\n size: getWindowSize()\r\n})\r\n\r\nexport default layoutAtom\r\n"],"names":[],"mappings":";;AAIa,IAAA,aAAa,GAAG,YAAA;AAC3B,IAAA,IAAM,KAAK,GAAG,MAAM,CAAC,UAAU;IAC/B,IAAI,KAAK,GAAG,GAAG;AAAE,QAAA,OAAO,IAAI;IAC5B,IAAI,KAAK,GAAG,IAAI;AAAE,QAAA,OAAO,IAAI;IAC7B,IAAI,KAAK,GAAG,IAAI;AAAE,QAAA,OAAO,IAAI;AAC7B,IAAA,OAAO,IAAI;AACb;AAEM,IAAA,UAAU,GAAG,IAAI,CAAkB;IACvC,IAAI,EAAE,aAAa;AACpB,CAAA;;;;"}