@digi-frontend/dgate-api-documentation 1.0.26 → 1.0.27

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 (132) hide show
  1. package/dist/node_modules/dom-serializer/lib/foreignNames.js +2 -0
  2. package/dist/node_modules/dom-serializer/lib/foreignNames.js.map +1 -0
  3. package/dist/node_modules/dom-serializer/lib/index.js +2 -0
  4. package/dist/node_modules/dom-serializer/lib/index.js.map +1 -0
  5. package/dist/node_modules/domhandler/lib/index.js +2 -0
  6. package/dist/node_modules/domhandler/lib/index.js.map +1 -0
  7. package/dist/node_modules/domhandler/lib/node.js +2 -0
  8. package/dist/node_modules/domhandler/lib/node.js.map +1 -0
  9. package/dist/node_modules/domutils/lib/feeds.js +2 -0
  10. package/dist/node_modules/domutils/lib/feeds.js.map +1 -0
  11. package/dist/node_modules/domutils/lib/helpers.js +2 -0
  12. package/dist/node_modules/domutils/lib/helpers.js.map +1 -0
  13. package/dist/node_modules/domutils/lib/index.js +2 -0
  14. package/dist/node_modules/domutils/lib/index.js.map +1 -0
  15. package/dist/node_modules/domutils/lib/legacy.js +2 -0
  16. package/dist/node_modules/domutils/lib/legacy.js.map +1 -0
  17. package/dist/node_modules/domutils/lib/manipulation.js +2 -0
  18. package/dist/node_modules/domutils/lib/manipulation.js.map +1 -0
  19. package/dist/node_modules/domutils/lib/querying.js +2 -0
  20. package/dist/node_modules/domutils/lib/querying.js.map +1 -0
  21. package/dist/node_modules/domutils/lib/stringify.js +2 -0
  22. package/dist/node_modules/domutils/lib/stringify.js.map +1 -0
  23. package/dist/node_modules/domutils/lib/traversal.js +2 -0
  24. package/dist/node_modules/domutils/lib/traversal.js.map +1 -0
  25. package/dist/node_modules/entities/lib/decode.js +2 -0
  26. package/dist/node_modules/entities/lib/decode.js.map +1 -0
  27. package/dist/node_modules/entities/lib/decode_codepoint.js +2 -0
  28. package/dist/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  29. package/dist/node_modules/entities/lib/encode.js +2 -0
  30. package/dist/node_modules/entities/lib/encode.js.map +1 -0
  31. package/dist/node_modules/entities/lib/escape.js +2 -0
  32. package/dist/node_modules/entities/lib/escape.js.map +1 -0
  33. package/dist/node_modules/entities/lib/generated/decode-data-html.js +2 -0
  34. package/dist/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  35. package/dist/node_modules/entities/lib/generated/decode-data-xml.js +2 -0
  36. package/dist/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  37. package/dist/node_modules/entities/lib/generated/encode-html.js +2 -0
  38. package/dist/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  39. package/dist/node_modules/entities/lib/index.js +2 -0
  40. package/dist/node_modules/entities/lib/index.js.map +1 -0
  41. package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js +1 -1
  42. package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js.map +1 -1
  43. package/dist/node_modules/html-react-parser/lib/index.js +1 -1
  44. package/dist/node_modules/html-react-parser/lib/index.js.map +1 -1
  45. package/dist/node_modules/htmlparser2/dist/commonjs/index.js +1 -1
  46. package/dist/node_modules/htmlparser2/dist/commonjs/index.js.map +1 -1
  47. package/dist/node_modules/style-to-object/cjs/index.js +1 -1
  48. package/dist/src/components/InfoForm/InfoForm.js +1 -1
  49. package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
  50. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  51. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  52. package/dist/src/helpers/layout.helper.js +1 -1
  53. package/dist/src/helpers/layout.helper.js.map +1 -1
  54. package/dist/src/layout/layout.js +1 -1
  55. package/dist/src/layout/layout.js.map +1 -1
  56. package/dist/src/layout/layout.module.css.js +1 -1
  57. package/dist/src/validator/form.scheme.js +1 -1
  58. package/dist/src/validator/form.scheme.js.map +1 -1
  59. package/dist/styles.css +310 -304
  60. package/package.json +1 -1
  61. package/src/components/InfoForm/InfoForm.tsx +34 -21
  62. package/src/components/LivePreview/LivePreview.module.scss +6 -0
  63. package/src/components/MethodAccordion/MethodAccordion.tsx +3 -1
  64. package/src/helpers/layout.helper.ts +5 -0
  65. package/src/layout/layout.module.css +2 -1
  66. package/src/layout/layout.tsx +9 -8
  67. package/src/validator/form.scheme.ts +1 -1
  68. package/dist/_virtual/index20.js +0 -2
  69. package/dist/_virtual/index20.js.map +0 -1
  70. package/dist/_virtual/index21.js +0 -2
  71. package/dist/_virtual/index21.js.map +0 -1
  72. package/dist/_virtual/node2.js +0 -2
  73. package/dist/_virtual/node2.js.map +0 -1
  74. package/dist/_virtual/node3.js +0 -2
  75. package/dist/_virtual/node3.js.map +0 -1
  76. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +0 -2
  77. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js.map +0 -1
  78. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +0 -2
  79. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js.map +0 -1
  80. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +0 -2
  81. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js.map +0 -1
  82. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +0 -2
  83. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js.map +0 -1
  84. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js +0 -2
  85. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js.map +0 -1
  86. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js +0 -2
  87. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js.map +0 -1
  88. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js +0 -2
  89. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +0 -1
  90. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +0 -2
  91. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +0 -1
  92. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js +0 -2
  93. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +0 -1
  94. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js +0 -2
  95. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +0 -1
  96. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +0 -2
  97. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
  98. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +0 -2
  99. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
  100. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +0 -2
  101. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +0 -1
  102. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js +0 -2
  103. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +0 -1
  104. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js +0 -2
  105. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js.map +0 -1
  106. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js +0 -2
  107. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js.map +0 -1
  108. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js +0 -2
  109. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js.map +0 -1
  110. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js +0 -2
  111. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js.map +0 -1
  112. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js +0 -2
  113. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js.map +0 -1
  114. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js +0 -2
  115. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js.map +0 -1
  116. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js +0 -2
  117. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js.map +0 -1
  118. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js +0 -2
  119. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js.map +0 -1
  120. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js +0 -2
  121. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js.map +0 -1
  122. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js +0 -2
  123. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js.map +0 -1
  124. package/dist/src/assets/icons/CheckMarkSquare.svg.js +0 -2
  125. package/dist/src/assets/icons/CheckMarkSquare.svg.js.map +0 -1
  126. package/dist/src/assets/icons/CloseIcon.svg.js +0 -2
  127. package/dist/src/assets/icons/CloseIcon.svg.js.map +0 -1
  128. package/dist/src/assets/icons/UpArrow.svg.js +0 -2
  129. package/dist/src/assets/icons/UpArrow.svg.js.map +0 -1
  130. package/dist/src/components/Chips/Chips.js +0 -2
  131. package/dist/src/components/Chips/Chips.js.map +0 -1
  132. package/dist/types/types/index.d.ts +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\r\nimport { OpenAPIFile, SecurityScheme } from '@entities/openApi'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\n\r\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\r\n if (openApiJson.components && openApiJson.components.securitySchemes) {\r\n const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n openApiJson.components.securitySchemes[authKey].type =\r\n openApiJson?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n } else {\r\n openApiJson.components = {\r\n securitySchemes: {\r\n Public: {\r\n type: 'http',\r\n scheme: 'public',\r\n },\r\n },\r\n }\r\n }\r\n\r\n return {\r\n ...openApiJson,\r\n paths: transformPathsToArray(openApiJson.paths),\r\n } as TransformedOpenApi\r\n}\r\n\r\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\r\n const object = {\r\n ...values,\r\n paths: transformPathsArrayToOrigin(values.paths),\r\n }\r\n if (object.components && object.components.securitySchemes) {\r\n const authKey = Object.keys(object.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\r\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[\r\n authKey\r\n ].in.toUpperCase() as SecurityScheme['in']\r\n }\r\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n }\r\n return object\r\n}\r\n\r\nexport const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {\r\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\r\n path,\r\n methods: Object.entries(methods).map(([method, methodProps]) => {\r\n const obj: any = {\r\n ...methodProps,\r\n type: method,\r\n tags: methodProps.tags || [],\r\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n return {\r\n code,\r\n content: {\r\n contentType,\r\n schema: {\r\n ...codeProps.content?.[contentType]?.schema,\r\n properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),\r\n },\r\n },\r\n }\r\n }),\r\n }\r\n // Add parameters if it does not exist in the original JSON\r\n if (!methodProps?.parameters) {\r\n obj.parameters = []\r\n }\r\n\r\n if (method.toLowerCase() != 'get') {\r\n const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]\r\n const reqSchema = methodProps?.requestBody?.content?.schema\r\n const requestBodyData = methodProps?.requestBody?.content?.schema?.properties\r\n ? {\r\n content: {\r\n contentType,\r\n schema: {\r\n ...reqSchema,\r\n properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',\r\n },\r\n },\r\n }\r\n : {\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n properties: '{}',\r\n type: 'object',\r\n },\r\n },\r\n }\r\n\r\n obj['requestBody'] = requestBodyData\r\n }\r\n\r\n return obj\r\n }),\r\n }))\r\n return transformedPaths\r\n}\r\n\r\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\r\n return paths.reduce((acc, { path, methods }) => {\r\n acc[path] = methods.reduce((methodAcc, { type, tags, responses, requestBody, ...rest }) => {\r\n // Initialize the method object\r\n methodAcc[type] = {\r\n ...rest,\r\n tags,\r\n responses: responses.reduce((respAcc, { code, content }) => {\r\n respAcc[code] = {\r\n description: 'Success', // Assuming this is static from the original data\r\n content: content.contentType\r\n ? {\r\n [content.contentType]: {\r\n schema: {\r\n ...(content.schema as object),\r\n properties: JSON.parse((content?.schema as any)?.properties as string),\r\n },\r\n },\r\n }\r\n : {},\r\n }\r\n return respAcc\r\n }, {} as Record<string, any>),\r\n }\r\n\r\n const parsedRequestBodyProps =\r\n type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}\r\n // Add requestBody for non-GET methods\r\n if (type !== 'get') {\r\n methodAcc[type].requestBody = {\r\n content: {\r\n [requestBody.content.contentType]: {\r\n schema: {\r\n ...requestBody.content.schema,\r\n properties: parsedRequestBodyProps,\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n return methodAcc\r\n }, {} as Record<string, any>)\r\n\r\n return acc\r\n }, {} as OpenAPIFile['paths'])\r\n}\r\n"],"names":["transformOpenApiObject","openApiJson","components","securitySchemes","authKey","_a","Object","keys","at","type","_e","_d","_b","_c","toUpperCase","Public","scheme","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","tags","responses","code","codeProps","contentType","content","schema","properties","JSON","stringify","parameters","requestBody","reqSchema","requestBodyData","reduce","acc","methodAcc","rest","__rest","respAcc","description","parse","parsedRequestBodyProps"],"mappings":"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"}
1
+ {"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\r\nimport { OpenAPIFile, SecurityScheme } from '@entities/openApi'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\n\r\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\r\n if (openApiJson.components && openApiJson.components.securitySchemes) {\r\n const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n openApiJson.components.securitySchemes[authKey].type =\r\n openApiJson?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n } else {\r\n openApiJson.components = {\r\n securitySchemes: {\r\n Public: {\r\n type: 'http',\r\n scheme: 'public',\r\n },\r\n },\r\n }\r\n }\r\n\r\n if (!openApiJson.tags) {\r\n openApiJson.tags = []\r\n }\r\n\r\n return {\r\n ...openApiJson,\r\n paths: transformPathsToArray(openApiJson.paths),\r\n } as TransformedOpenApi\r\n}\r\n\r\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\r\n const object = {\r\n ...values,\r\n paths: transformPathsArrayToOrigin(values.paths),\r\n }\r\n if (object.components && object.components.securitySchemes) {\r\n const authKey = Object.keys(object.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\r\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[\r\n authKey\r\n ].in.toUpperCase() as SecurityScheme['in']\r\n }\r\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n }\r\n return object\r\n}\r\n\r\nexport const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {\r\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\r\n path,\r\n methods: Object.entries(methods).map(([method, methodProps]) => {\r\n const obj: any = {\r\n ...methodProps,\r\n type: method,\r\n tags: methodProps.tags || [],\r\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n return {\r\n code,\r\n content: {\r\n contentType,\r\n schema: {\r\n ...codeProps.content?.[contentType]?.schema,\r\n properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),\r\n },\r\n },\r\n }\r\n }),\r\n }\r\n // Add parameters if it does not exist in the original JSON\r\n if (!methodProps?.parameters) {\r\n obj.parameters = []\r\n }\r\n\r\n if (method.toLowerCase() != 'get') {\r\n const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]\r\n const reqSchema = methodProps?.requestBody?.content?.schema\r\n const requestBodyData = methodProps?.requestBody?.content?.schema?.properties\r\n ? {\r\n content: {\r\n contentType,\r\n schema: {\r\n ...reqSchema,\r\n properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',\r\n },\r\n },\r\n }\r\n : {\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n properties: '{}',\r\n type: 'object',\r\n },\r\n },\r\n }\r\n\r\n obj['requestBody'] = requestBodyData\r\n }\r\n\r\n return obj\r\n }),\r\n }))\r\n\r\n return transformedPaths\r\n}\r\n\r\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\r\n return paths.reduce((acc, { path, methods }) => {\r\n acc[path] = methods.reduce((methodAcc, { type, tags, responses, requestBody, ...rest }) => {\r\n // Initialize the method object\r\n methodAcc[type] = {\r\n ...rest,\r\n tags,\r\n responses: responses.reduce((respAcc, { code, content }) => {\r\n respAcc[code] = {\r\n description: 'Success', // Assuming this is static from the original data\r\n content: content.contentType\r\n ? {\r\n [content.contentType]: {\r\n schema: {\r\n ...(content.schema as object),\r\n properties: JSON.parse((content?.schema as any)?.properties as string),\r\n },\r\n },\r\n }\r\n : {},\r\n }\r\n return respAcc\r\n }, {} as Record<string, any>),\r\n }\r\n\r\n const parsedRequestBodyProps =\r\n type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}\r\n // Add requestBody for non-GET methods\r\n if (type !== 'get') {\r\n methodAcc[type].requestBody = {\r\n content: {\r\n [requestBody.content.contentType]: {\r\n schema: {\r\n ...requestBody.content.schema,\r\n properties: parsedRequestBodyProps,\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n return methodAcc\r\n }, {} as Record<string, any>)\r\n\r\n return acc\r\n }, {} as OpenAPIFile['paths'])\r\n}\r\n"],"names":["transformOpenApiObject","openApiJson","components","securitySchemes","authKey","_a","Object","keys","at","type","_e","_d","_b","_c","toUpperCase","Public","scheme","tags","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","responses","code","codeProps","contentType","content","schema","properties","JSON","stringify","parameters","requestBody","reqSchema","requestBodyData","reduce","acc","methodAcc","rest","__rest","respAcc","description","parse","parsedRequestBodyProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../_virtual/jsx-runtime.js";import{useState as t,useEffect as o}from"react";import{d as s}from"../../_virtual/index.js";import i from"../components/MethodAccordion/MethodAccordion.js";import r from"./layout.module.css.js";import n from"../components/InfoForm/InfoForm.js";import a from"../components/SectionHead/SectionHead.js";import{transformOpenApiObject as l,transformOpenApiObjectToOrigin as d}from"../helpers/layout.helper.js";import m from"../components/LivePreview/LivePreview.js";import{useFormik as c,FormikProvider as u}from"../../node_modules/formik/dist/formik.esm.js";import{schemaValidation as p}from"../validator/form.scheme.js";import{methodColorMapping as h}from"../constants/index.js";import j from"../components/dialog/index.js";const v=({openApiJson:v,handleSave:x,setIsFormDirty:f})=>{const y=structuredClone(v),S=l(y),g=c({initialValues:structuredClone(S),validationSchema:p,validateOnMount:!0,onSubmit:(e,{validateForm:t,resetForm:o})=>{const s=d(e);x(s),o({values:e}),t(e)}}),[b,F]=t(!1),[N,w]=t(null);return o((()=>{f&&f(g.dirty)}),[g.dirty]),e.jsxs("div",{className:r.docsLayout,children:[g.dirty&&e.jsx(s.Alert,{className:r.apiDocAlert,color:"warning",severity:"warning",children:"There are changes you made may not be saved"}),e.jsxs("div",{className:r.layoutContainer,children:[e.jsxs("div",{className:`${r.editorSide} ${r.docSide}`,children:[e.jsx(a,{className:r.editorSectionHead,text:e.jsxs("div",{className:r.editorSectionHead_content,children:["API Information",e.jsx(s.Button,{className:r.methodForm_submitBtn,size:"medium",fullWidth:!1,type:"submit",variant:"contained",color:"primary",onClick:()=>F(!0),disabled:!g.isValid||g.isSubmitting,children:"Save"})]})}),e.jsx(u,{value:g,children:e.jsx(n,{})}),e.jsx(a,{className:r.editorSectionHead,text:"Endpoints"}),e.jsx(u,{value:g,children:g.values.paths.map(((t,o)=>e.jsx(e.Fragment,{children:t.methods.sort(((e,t)=>h[e.type].order-h[t.type].order)).map(((s,r)=>e.jsx(i,{tags:g.values.tags,method:s,path:t.path,setFieldValue:(e,t)=>{const s=`paths[${o}].methods[${r}].${e}`;g.setFieldValue(s,t)},isOpen:N===r,setIsOpen:e=>w(e?r:null)})))})))})]}),e.jsx("div",{className:`${r.livePreviewSide} ${r.docSide}`,children:S&&e.jsx(u,{value:g,children:e.jsx(m,{transformedData:S})})})]}),e.jsx(j,{status:"warning",content:e.jsx("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},children:"Are you sure you want to Publish your changes?"}),onSubmit:{onClick:()=>{g.handleSubmit(),F(!1)},text:"Publish",color:"warning",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>F(!1),open:b})]})};export{v as default};
1
+ import{j as e}from"../../_virtual/jsx-runtime.js";import{useState as o,useEffect as t}from"react";import{d as s}from"../../_virtual/index.js";import i from"../components/MethodAccordion/MethodAccordion.js";import r from"./layout.module.css.js";import n from"../components/InfoForm/InfoForm.js";import a from"../components/SectionHead/SectionHead.js";import{transformOpenApiObject as l,transformOpenApiObjectToOrigin as m}from"../helpers/layout.helper.js";import d from"../components/LivePreview/LivePreview.js";import{useFormik as c,FormikProvider as u}from"../../node_modules/formik/dist/formik.esm.js";import{schemaValidation as p}from"../validator/form.scheme.js";import{methodColorMapping as h}from"../constants/index.js";import j from"../components/dialog/index.js";const x=({openApiJson:x,handleSave:v,setIsFormDirty:f})=>{const y=structuredClone(x),S=l(y),g=c({initialValues:structuredClone(S),validationSchema:p,validateOnMount:!0,onSubmit:(e,{validateForm:o,resetForm:t})=>{const s=m(e);v(s),t({values:e}),o(e)}}),{dirty:b,isValid:F,isSubmitting:N,values:w,setFieldValue:A,handleSubmit:C}=g,[$,H]=o(!1),[I,P]=o(null);return t((()=>{f&&f(b)}),[b]),e.jsxs("div",{className:r.docsLayout,children:[b&&e.jsx(s.Alert,{className:r.apiDocAlert,color:"warning",severity:"warning",children:"There are changes you made may not be saved"}),e.jsxs("div",{className:r.layoutContainer,children:[e.jsxs("div",{className:`${r.editorSide} ${r.docSide}`,children:[e.jsx(a,{className:r.editorSectionHead,text:e.jsxs("div",{className:r.editorSectionHead_content,children:["API Information",e.jsx(s.Button,{className:r.methodForm_submitBtn,size:"medium",fullWidth:!1,type:"submit",variant:"contained",color:"primary",onClick:()=>H(!0),disabled:!F||N||!b,children:"Save"})]})}),e.jsx(u,{value:g,children:e.jsx(n,{})}),e.jsx(a,{className:r.editorSectionHead,text:"Endpoints"}),e.jsx(u,{value:g,children:w.paths.map(((o,t)=>e.jsx(e.Fragment,{children:o.methods.sort(((e,o)=>h[e.type].order-h[o.type].order)).map(((s,r)=>e.jsx(i,{tags:w.tags,method:s,path:o.path,setFieldValue:(e,o)=>{A(`paths[${t}].methods[${r}].${e}`,o)},isOpen:I===r,setIsOpen:e=>P(e?r:null)})))})))})]}),e.jsx("div",{className:`${r.livePreviewSide} ${r.docSide}`,children:S&&e.jsx(u,{value:g,children:e.jsx(d,{transformedData:S})})})]}),e.jsx(j,{status:"warning",content:e.jsx("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},children:"Are you sure you want to Publish your changes?"}),onSubmit:{onClick:()=>{C(),H(!1)},text:"Publish",color:"warning",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>H(!1),open:$})]})};export{x as default};
2
2
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["import { JSX, useEffect, useState } from 'react'\r\nimport { Alert, Button } from 'digitinary-ui'\r\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\r\nimport styles from './layout.module.css'\r\nimport InfoForm from '../components/InfoForm/InfoForm'\r\nimport SectionHead from '../components/SectionHead/SectionHead'\r\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\r\nimport { OpenAPIFile } from '../types/openApi'\r\nimport LivePreview from '../components/LivePreview/LivePreview'\r\nimport { FormikProvider, useFormik } from 'formik'\r\nimport { schemaValidation } from '../validator/form.scheme'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\nimport { methodColorMapping } from '../constants/index'\r\nimport CommonDialog from '../components/dialog'\r\n\r\ninterface ILayoutProps {\r\n openApiJson?: OpenAPIFile\r\n handleSave?: (values: unknown) => unknown\r\n setIsFormDirty?: any\r\n}\r\n\r\nconst Layout = ({ openApiJson, handleSave, setIsFormDirty }: ILayoutProps): JSX.Element => {\r\n const clonedOpenApiJson = structuredClone(openApiJson)\r\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\r\n const formik = useFormik<TransformedOpenApi>({\r\n initialValues: structuredClone(transformedOpenApi),\r\n validationSchema: schemaValidation,\r\n validateOnMount: true,\r\n onSubmit: (values, { validateForm, resetForm }) => {\r\n // Handle save logic\r\n const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\r\n handleSave(originalOpenApiForm)\r\n resetForm({\r\n values: values, // You can reset it to the same values if you want\r\n })\r\n\r\n validateForm(values)\r\n },\r\n })\r\n const [isPublishDialogOpen, setIsPublishDialogOpen] = useState(false)\r\n const [openMethodIndex, setOpenMethodIndex] = useState<number | null>(null)\r\n\r\n useEffect(() => {\r\n if (setIsFormDirty) {\r\n setIsFormDirty(formik.dirty)\r\n }\r\n }, [formik.dirty])\r\n\r\n return (\r\n <div className={styles.docsLayout}>\r\n {formik.dirty && (\r\n <Alert className={styles.apiDocAlert} color=\"warning\" severity=\"warning\">\r\n There are changes you made may not be saved\r\n </Alert>\r\n )}\r\n <div className={styles.layoutContainer}>\r\n <div className={`${styles.editorSide} ${styles.docSide}`}>\r\n <SectionHead\r\n className={styles.editorSectionHead}\r\n text={\r\n <div className={styles.editorSectionHead_content}>\r\n API Information\r\n <Button\r\n className={styles.methodForm_submitBtn}\r\n size=\"medium\"\r\n fullWidth={false}\r\n type=\"submit\"\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={() => setIsPublishDialogOpen(true)}\r\n disabled={!formik.isValid || formik.isSubmitting}\r\n >\r\n Save\r\n </Button>\r\n </div>\r\n }\r\n />\r\n <FormikProvider value={formik}>\r\n <InfoForm />\r\n </FormikProvider>\r\n <SectionHead className={styles.editorSectionHead} text=\"Endpoints\" />\r\n <FormikProvider value={formik}>\r\n {formik.values.paths.map((path, pathIndex) => (\r\n <>\r\n {path.methods\r\n .sort(\r\n (a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order\r\n )\r\n .map((method, methodIndex) => (\r\n <MethodsAccordion\r\n tags={formik.values.tags}\r\n method={method}\r\n path={path.path}\r\n setFieldValue={(key, value) => {\r\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\r\n formik.setFieldValue(h, value)\r\n }}\r\n isOpen={openMethodIndex === methodIndex}\r\n setIsOpen={(open) => setOpenMethodIndex(open ? methodIndex : null)}\r\n />\r\n ))}\r\n </>\r\n ))}\r\n </FormikProvider>\r\n </div>\r\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\r\n {transformedOpenApi && (\r\n <FormikProvider value={formik}>\r\n <LivePreview transformedData={transformedOpenApi} />\r\n </FormikProvider>\r\n )}\r\n </div>\r\n </div>\r\n <CommonDialog\r\n status=\"warning\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n >\r\n Are you sure you want to Publish your changes?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: () => {\r\n formik.handleSubmit()\r\n setIsPublishDialogOpen(false)\r\n },\r\n text: 'Publish',\r\n color: 'warning',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setIsPublishDialogOpen(false)}\r\n open={isPublishDialogOpen}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Layout\r\n"],"names":["Layout","openApiJson","handleSave","setIsFormDirty","clonedOpenApiJson","structuredClone","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","resetForm","originalOpenApiForm","transformOpenApiObjectToOrigin","isPublishDialogOpen","setIsPublishDialogOpen","useState","openMethodIndex","setOpenMethodIndex","useEffect","dirty","_jsxs","jsxs","className","styles","docsLayout","children","_jsx","Alert","apiDocAlert","color","severity","layoutContainer","editorSide","docSide","SectionHead","editorSectionHead","text","editorSectionHead_content","Button","methodForm_submitBtn","size","fullWidth","type","variant","onClick","disabled","isValid","isSubmitting","FormikProvider","value","jsx","InfoForm","paths","map","path","pathIndex","_Fragment","methods","sort","a","b","methodColorMapping","order","method","methodIndex","MethodsAccordion","tags","setFieldValue","key","h","isOpen","setIsOpen","open","livePreviewSide","LivePreview","transformedData","CommonDialog","status","content","style","textAlign","fontWeight","fontSize","lineHeight","handleSubmit","onCancel","onClose"],"mappings":"mwBAqBM,MAAAA,EAAS,EAAGC,cAAaC,aAAYC,qBACzC,MAAMC,EAAoBC,gBAAgBJ,GACpCK,EAAqBC,EAAuBH,GAC5CI,EAASC,EAA8B,CAC3CC,cAAeL,gBAAgBC,GAC/BK,iBAAkBC,EAClBC,iBAAiB,EACjBC,SAAU,CAACC,GAAUC,eAAcC,gBAEjC,MAAMC,EAAsBC,EAA+BJ,GAC3Db,EAAWgB,GACXD,EAAU,CACRF,OAAQA,IAGVC,EAAaD,EAAO,KAGjBK,EAAqBC,GAA0BC,GAAS,IACxDC,EAAiBC,GAAsBF,EAAwB,MAQtE,OANAG,GAAU,KACJtB,GACFA,EAAeK,EAAOkB,MACvB,GACA,CAAClB,EAAOkB,QAGTC,EAAKC,KAAA,MAAA,CAAAC,UAAWC,EAAOC,WACpBC,SAAA,CAAAxB,EAAOkB,OACNO,EAAAA,IAACC,EAAAA,MAAM,CAAAL,UAAWC,EAAOK,YAAaC,MAAM,UAAUC,SAAS,UAEvDL,SAAA,gDAEVL,EAAAC,KAAA,MAAA,CAAKC,UAAWC,EAAOQ,gBAAeN,SAAA,CACpCL,cAAKE,UAAW,GAAGC,EAAOS,cAAcT,EAAOU,UAC7CR,SAAA,CAAAC,EAAAA,IAACQ,EAAW,CACVZ,UAAWC,EAAOY,kBAClBC,KACEhB,EAAAA,KAAA,MAAA,CAAKE,UAAWC,EAAOc,sDAErBX,EAAAA,IAACY,EAAAA,QACChB,UAAWC,EAAOgB,qBAClBC,KAAK,SACLC,WAAW,EACXC,KAAK,SACLC,QAAQ,YACRd,MAAM,UACNe,QAAS,IAAM9B,GAAuB,GACtC+B,UAAW5C,EAAO6C,SAAW7C,EAAO8C,aAAYtB,SAAA,cAOxDC,MAACsB,EAAc,CAACC,MAAOhD,WACrByB,EAACwB,IAAAC,EAAW,CAAA,KAEdzB,EAAAA,IAACQ,GAAYZ,UAAWC,EAAOY,kBAAmBC,KAAK,cACvDV,EAACwB,IAAAF,GAAeC,MAAOhD,EAAMwB,SAC1BxB,EAAOO,OAAO4C,MAAMC,KAAI,CAACC,EAAMC,IAC9B7B,EAAAA,IACG8B,EAAAA,SAAA,CAAA/B,SAAA6B,EAAKG,QACHC,MACC,CAACC,EAAGC,IAAMC,EAAmBF,EAAEjB,MAAMoB,MAAQD,EAAmBD,EAAElB,MAAMoB,QAEzET,KAAI,CAACU,EAAQC,IACZtC,EAAAA,IAACuC,EACC,CAAAC,KAAMjE,EAAOO,OAAO0D,KACpBH,OAAQA,EACRT,KAAMA,EAAKA,KACXa,cAAe,CAACC,EAAKnB,KACnB,MAAMoB,EAAI,SAASd,cAAsBS,MAAgBI,IACzDnE,EAAOkE,cAAcE,EAAGpB,EAAM,EAEhCqB,OAAQtD,IAAoBgD,EAC5BO,UAAYC,GAASvD,EAAmBuD,EAAOR,EAAc,mBAO3EtC,EAAAA,IAAK,MAAA,CAAAJ,UAAW,GAAGC,EAAOkD,mBAAmBlD,EAAOU,mBACjDlC,GACC2B,MAACsB,EAAe,CAAAC,MAAOhD,EAAMwB,SAC3BC,EAAAA,IAACgD,EAAW,CAACC,gBAAiB5E,WAKtC2B,EAAAA,IAACkD,EACC,CAAAC,OAAO,UACPC,QACEpD,EAAAA,IAAA,IAAA,CACEqD,MAAO,CACLC,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,aAIZ1D,SAAA,mDAENlB,SAAU,CACRqC,QAAS,KACP3C,EAAOmF,eACPtE,GAAuB,EAAM,EAE/BsB,KAAM,UACNP,MAAO,UACPY,WAAW,GAEb4C,SAAU,CACRjD,KAAM,SACNP,MAAO,SACPY,WAAW,GAEb6C,QAAS,IAAMxE,GAAuB,GACtC0D,KAAM3D,MAGX"}
1
+ {"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["import { JSX, useEffect, useState } from 'react'\r\nimport { Alert, Button } from 'digitinary-ui'\r\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\r\nimport styles from './layout.module.css'\r\nimport InfoForm from '../components/InfoForm/InfoForm'\r\nimport SectionHead from '../components/SectionHead/SectionHead'\r\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\r\nimport { OpenAPIFile } from '../types/openApi'\r\nimport LivePreview from '../components/LivePreview/LivePreview'\r\nimport { FormikProvider, useFormik } from 'formik'\r\nimport { schemaValidation } from '../validator/form.scheme'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\nimport { methodColorMapping } from '../constants/index'\r\nimport CommonDialog from '../components/dialog'\r\n\r\ninterface ILayoutProps {\r\n openApiJson?: OpenAPIFile\r\n handleSave?: (values: unknown) => unknown\r\n setIsFormDirty?: any\r\n}\r\n\r\nconst Layout = ({ openApiJson, handleSave, setIsFormDirty }: ILayoutProps): JSX.Element => {\r\n const clonedOpenApiJson = structuredClone(openApiJson)\r\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\r\n const formik = useFormik<TransformedOpenApi>({\r\n initialValues: structuredClone(transformedOpenApi),\r\n validationSchema: schemaValidation,\r\n validateOnMount: true,\r\n onSubmit: (values, { validateForm, resetForm }) => {\r\n // Handle save logic\r\n const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\r\n handleSave(originalOpenApiForm)\r\n resetForm({\r\n values: values, // You can reset it to the same values if you want\r\n })\r\n\r\n validateForm(values)\r\n },\r\n })\r\n const { dirty, isValid, isSubmitting, values, setFieldValue, handleSubmit } = formik\r\n const [isPublishDialogOpen, setIsPublishDialogOpen] = useState(false)\r\n const [openMethodIndex, setOpenMethodIndex] = useState<number | null>(null)\r\n\r\n useEffect(() => {\r\n if (setIsFormDirty) {\r\n setIsFormDirty(dirty)\r\n }\r\n }, [dirty])\r\n\r\n return (\r\n <div className={styles.docsLayout}>\r\n {dirty && (\r\n <Alert className={styles.apiDocAlert} color=\"warning\" severity=\"warning\">\r\n There are changes you made may not be saved\r\n </Alert>\r\n )}\r\n <div className={styles.layoutContainer}>\r\n <div className={`${styles.editorSide} ${styles.docSide}`}>\r\n <SectionHead\r\n className={styles.editorSectionHead}\r\n text={\r\n <div className={styles.editorSectionHead_content}>\r\n API Information\r\n <Button\r\n className={styles.methodForm_submitBtn}\r\n size=\"medium\"\r\n fullWidth={false}\r\n type=\"submit\"\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={() => setIsPublishDialogOpen(true)}\r\n disabled={!isValid || isSubmitting || !dirty}\r\n >\r\n Save\r\n </Button>\r\n </div>\r\n }\r\n />\r\n <FormikProvider value={formik}>\r\n <InfoForm />\r\n </FormikProvider>\r\n <SectionHead className={styles.editorSectionHead} text=\"Endpoints\" />\r\n <FormikProvider value={formik}>\r\n {values.paths.map((path, pathIndex) => (\r\n <>\r\n {path.methods\r\n .sort(\r\n (a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order\r\n )\r\n .map((method, methodIndex) => (\r\n <MethodsAccordion\r\n tags={values.tags}\r\n method={method}\r\n path={path.path}\r\n setFieldValue={(key, value) => {\r\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\r\n setFieldValue(h, value)\r\n }}\r\n isOpen={openMethodIndex === methodIndex}\r\n setIsOpen={(open) => setOpenMethodIndex(open ? methodIndex : null)}\r\n />\r\n ))}\r\n </>\r\n ))}\r\n </FormikProvider>\r\n </div>\r\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\r\n {transformedOpenApi && (\r\n <FormikProvider value={formik}>\r\n <LivePreview transformedData={transformedOpenApi} />\r\n </FormikProvider>\r\n )}\r\n </div>\r\n </div>\r\n <CommonDialog\r\n status=\"warning\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n >\r\n Are you sure you want to Publish your changes?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: () => {\r\n handleSubmit()\r\n setIsPublishDialogOpen(false)\r\n },\r\n text: 'Publish',\r\n color: 'warning',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setIsPublishDialogOpen(false)}\r\n open={isPublishDialogOpen}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Layout\r\n"],"names":["Layout","openApiJson","handleSave","setIsFormDirty","clonedOpenApiJson","structuredClone","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","resetForm","originalOpenApiForm","transformOpenApiObjectToOrigin","dirty","isValid","isSubmitting","setFieldValue","handleSubmit","isPublishDialogOpen","setIsPublishDialogOpen","useState","openMethodIndex","setOpenMethodIndex","useEffect","_jsxs","jsxs","className","styles","docsLayout","children","_jsx","Alert","apiDocAlert","color","severity","layoutContainer","editorSide","docSide","SectionHead","editorSectionHead","text","editorSectionHead_content","Button","methodForm_submitBtn","size","fullWidth","type","variant","onClick","disabled","FormikProvider","value","InfoForm","jsx","paths","map","path","pathIndex","_Fragment","methods","sort","a","b","methodColorMapping","order","method","methodIndex","MethodsAccordion","tags","key","isOpen","setIsOpen","open","livePreviewSide","LivePreview","transformedData","CommonDialog","status","content","style","textAlign","fontWeight","fontSize","lineHeight","onCancel","onClose"],"mappings":"mwBAqBM,MAAAA,EAAS,EAAGC,cAAaC,aAAYC,qBACzC,MAAMC,EAAoBC,gBAAgBJ,GACpCK,EAAqBC,EAAuBH,GAC5CI,EAASC,EAA8B,CAC3CC,cAAeL,gBAAgBC,GAC/BK,iBAAkBC,EAClBC,iBAAiB,EACjBC,SAAU,CAACC,GAAUC,eAAcC,gBAEjC,MAAMC,EAAsBC,EAA+BJ,GAC3Db,EAAWgB,GACXD,EAAU,CACRF,OAAQA,IAGVC,EAAaD,EAAO,KAGlBK,MAAEA,EAAKC,QAAEA,EAAOC,aAAEA,EAAYP,OAAEA,EAAMQ,cAAEA,EAAaC,aAAEA,GAAiBhB,GACvEiB,EAAqBC,GAA0BC,GAAS,IACxDC,EAAiBC,GAAsBF,EAAwB,MAQtE,OANAG,GAAU,KACJ3B,GACFA,EAAeiB,EAChB,GACA,CAACA,IAGFW,EAAKC,KAAA,MAAA,CAAAC,UAAWC,EAAOC,WAAUC,SAAA,CAC9BhB,GACCiB,EAAAA,IAACC,EAAAA,OAAML,UAAWC,EAAOK,YAAaC,MAAM,UAAUC,SAAS,mEAIjEV,OAAK,MAAA,CAAAE,UAAWC,EAAOQ,gBACrBN,SAAA,CAAAL,EAAAA,KAAA,MAAA,CAAKE,UAAW,GAAGC,EAAOS,cAAcT,EAAOU,oBAC7CP,EAAAA,IAACQ,EACC,CAAAZ,UAAWC,EAAOY,kBAClBC,KACEhB,EAAAA,KAAK,MAAA,CAAAE,UAAWC,EAAOc,0BAAyBZ,SAAA,CAAA,kBAE9CC,EAAAA,IAACY,EAAAA,OAAM,CACLhB,UAAWC,EAAOgB,qBAClBC,KAAK,SACLC,WAAW,EACXC,KAAK,SACLC,QAAQ,YACRd,MAAM,UACNe,QAAS,IAAM7B,GAAuB,GACtC8B,UAAWnC,GAAWC,IAAiBF,EAAKgB,SAAA,cAOpDC,EAAAA,IAACoB,GAAeC,MAAOlD,EACrB4B,SAAAC,EAAAA,IAACsB,EAAQ,CAAA,KAEXtB,EAAAuB,IAACf,EAAY,CAAAZ,UAAWC,EAAOY,kBAAmBC,KAAK,cACvDV,EAAAuB,IAACH,EAAe,CAAAC,MAAOlD,WACpBO,EAAO8C,MAAMC,KAAI,CAACC,EAAMC,IACvB3B,EAAAA,IACG4B,EAAAA,SAAA,CAAA7B,SAAA2B,EAAKG,QACHC,MACC,CAACC,EAAGC,IAAMC,EAAmBF,EAAEf,MAAMkB,MAAQD,EAAmBD,EAAEhB,MAAMkB,QAEzET,KAAI,CAACU,EAAQC,IACZpC,MAACqC,EAAgB,CACfC,KAAM5D,EAAO4D,KACbH,OAAQA,EACRT,KAAMA,EAAKA,KACXxC,cAAe,CAACqD,EAAKlB,KAEnBnC,EADU,SAASyC,cAAsBS,MAAgBG,IACxClB,EAAM,EAEzBmB,OAAQjD,IAAoB6C,EAC5BK,UAAYC,GAASlD,EAAmBkD,EAAON,EAAc,mBAO3EpC,EAAAA,IAAK,MAAA,CAAAJ,UAAW,GAAGC,EAAO8C,mBAAmB9C,EAAOU,mBACjDtC,GACC+B,MAACoB,EAAe,CAAAC,MAAOlD,EAAM4B,SAC3BC,EAAAA,IAAC4C,EAAW,CAACC,gBAAiB5E,WAKtC+B,EAAAA,IAAC8C,EACC,CAAAC,OAAO,UACPC,QACEhD,EAAAA,IAAA,IAAA,CACEiD,MAAO,CACLC,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,aAIZtD,SAAA,mDAENtB,SAAU,CACRyC,QAAS,KACP/B,IACAE,GAAuB,EAAM,EAE/BqB,KAAM,UACNP,MAAO,UACPY,WAAW,GAEbuC,SAAU,CACR5C,KAAM,SACNP,MAAO,SACPY,WAAW,GAEbwC,QAAS,IAAMlE,GAAuB,GACtCqD,KAAMtD,MAGX"}
@@ -1,2 +1,2 @@
1
- import e from"../../node_modules/style-inject/dist/style-inject.es.js";var o={docsLayout:"layout-module_docsLayout__vDeK7",apiDocAlert:"layout-module_apiDocAlert__cSDp2",layoutContainer:"layout-module_layoutContainer__qBWib",editorSide:"layout-module_editorSide__hWc6O",editorSectionHead:"layout-module_editorSectionHead__chDdH",editorSectionHead_content:"layout-module_editorSectionHead_content__DQa6a",livePreviewSide:"layout-module_livePreviewSide__Q5HsZ",docSide:"layout-module_docSide__qLt4E"};e(".layout-module_docsLayout__vDeK7{display:flex;flex-direction:column;height:100vh;max-height:100%;overflow:hidden;.layout-module_apiDocAlert__cSDp2{border-radius:0;z-index:3}.layout-module_layoutContainer__qBWib{display:grid;grid-template-columns:60% 40%;height:100%;max-height:100%;max-width:100%;overflow:hidden;width:100%;.layout-module_editorSide__hWc6O{background-color:#fff;padding-bottom:1.25rem;.layout-module_editorSectionHead__chDdH{span{width:100%}.layout-module_editorSectionHead_content__DQa6a{align-items:center;display:flex;justify-content:space-between;button{width:6.25rem}}}}.layout-module_livePreviewSide__Q5HsZ{background-color:#f8f9fb;padding:1.25rem 1.875rem}.layout-module_docSide__qLt4E{max-height:100%;overflow-x:clip;overflow-y:overlay;scroll-behavior:smooth}}.textArea .inputField{padding-inline-end:2.5rem}}");export{o as default};
1
+ import e from"../../node_modules/style-inject/dist/style-inject.es.js";var o={docsLayout:"layout-module_docsLayout__vDeK7",apiDocAlert:"layout-module_apiDocAlert__cSDp2",layoutContainer:"layout-module_layoutContainer__qBWib",editorSide:"layout-module_editorSide__hWc6O",editorSectionHead:"layout-module_editorSectionHead__chDdH",editorSectionHead_content:"layout-module_editorSectionHead_content__DQa6a",livePreviewSide:"layout-module_livePreviewSide__Q5HsZ",docSide:"layout-module_docSide__qLt4E"};e(".layout-module_docsLayout__vDeK7{display:flex;flex-direction:column;height:100vh;max-height:100%;overflow:hidden;.layout-module_apiDocAlert__cSDp2{border-radius:0;z-index:3}.layout-module_layoutContainer__qBWib{display:grid;grid-template-columns:60% 40%;height:100%;max-height:100%;max-width:100%;overflow:hidden;width:100%;.layout-module_editorSide__hWc6O{background-color:#fff;padding-bottom:1.25rem;.layout-module_editorSectionHead__chDdH{span{width:100%}.layout-module_editorSectionHead_content__DQa6a{align-items:center;display:flex;justify-content:space-between;button{width:6.25rem}}}}.layout-module_livePreviewSide__Q5HsZ{background-color:#f8f9fb;padding:1.25rem 1.875rem}.layout-module_docSide__qLt4E{max-height:100%;overflow-x:clip;overflow-y:overlay;scroll-behavior:smooth}}.inputContainer .inputWrapper .innerInputContainer .input,.textArea .inputField{padding-inline-end:2.5rem}}");export{o as default};
2
2
  //# sourceMappingURL=layout.module.css.js.map
@@ -1,2 +1,2 @@
1
- import{object as e,string as i,array as o,mixed as r,lazy as t}from"../../node_modules/yup/index.esm.js";const s=e({openapi:i().required(),info:e({title:i().trim().required("API Name is required."),description:i().trim().required(),version:i().required("API Version is required")}).required(),servers:o(e({url:i().url().required(),description:i().optional()})).optional(),paths:r().required(),components:e({schemas:t((s=>e(s?Object.keys(s).reduce(((s,a)=>(s[a]=e({type:i().optional(),format:i().optional(),properties:t((i=>e(i?Object.keys(i).reduce(((e,i)=>(e[i]=r(),e)),{}):{}))).optional(),items:r().optional(),enum:o(i()).optional(),required:o(i()).optional()}),s)),{}):{}))).optional(),securitySchemes:e().optional()}).optional(),security:o(e().shape({schemeName:o(i()).optional()})).optional(),tags:o(e({name:i().required(),description:i().optional()})).optional()});export{s as schemaValidation};
1
+ import{object as e,string as i,array as o,mixed as r,lazy as t}from"../../node_modules/yup/index.esm.js";const s=e({openapi:i().required(),info:e({title:i().trim().required("API Name is required."),description:i().trim().required("API Description is required."),version:i().required("API Version is required")}).required(),servers:o(e({url:i().url().required(),description:i().optional()})).optional(),paths:r().required(),components:e({schemas:t((s=>e(s?Object.keys(s).reduce(((s,a)=>(s[a]=e({type:i().optional(),format:i().optional(),properties:t((i=>e(i?Object.keys(i).reduce(((e,i)=>(e[i]=r(),e)),{}):{}))).optional(),items:r().optional(),enum:o(i()).optional(),required:o(i()).optional()}),s)),{}):{}))).optional(),securitySchemes:e().optional()}).optional(),security:o(e().shape({schemeName:o(i()).optional()})).optional(),tags:o(e({name:i().required(),description:i().optional()})).optional()});export{s as schemaValidation};
2
2
  //# sourceMappingURL=form.scheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.scheme.js","sources":["../../../src/validator/form.scheme.ts"],"sourcesContent":["import * as yup from 'yup'\r\nexport const schemaValidation = yup.object({\r\n openapi: yup.string().required(),\r\n info: yup\r\n .object({\r\n title: yup.string().trim().required('API Name is required.'),\r\n description: yup.string().trim().required(),\r\n version: yup.string().required('API Version is required'),\r\n })\r\n .required(),\r\n servers: yup\r\n .array(\r\n yup.object({\r\n url: yup.string().url().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n paths: yup.mixed().required(), // Assuming TransformedPathsArray is validated elsewhere\r\n components: yup\r\n .object({\r\n schemas: yup\r\n .lazy((value) =>\r\n yup.object(\r\n value\r\n ? Object.keys(value).reduce((acc, key) => {\r\n acc[key] = yup.object({\r\n type: yup.string().optional(),\r\n format: yup.string().optional(),\r\n properties: yup\r\n .lazy((props) =>\r\n yup.object(\r\n props\r\n ? Object.keys(props).reduce((acc, propKey) => {\r\n acc[propKey] = yup.mixed()\r\n return acc\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n items: yup.mixed().optional(),\r\n enum: yup.array(yup.string()).optional(),\r\n required: yup.array(yup.string()).optional(),\r\n })\r\n return acc\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n securitySchemes: yup.object().optional(),\r\n })\r\n .optional(),\r\n security: yup\r\n .array(\r\n yup.object().shape({\r\n schemeName: yup.array(yup.string()).optional(),\r\n })\r\n )\r\n .optional(),\r\n tags: yup\r\n .array(\r\n yup.object({\r\n name: yup.string().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n})\r\n"],"names":["schemaValidation","yup.object","openapi","yup.string","required","info","yup\n .object","title","trim","description","version","servers","yup\n .array","url","optional","paths","yup.mixed","components","schemas","yup\n .lazy","value","Object","keys","reduce","acc","key","type","format","properties","yup\n .lazy","props","propKey","items","enum","yup.array","securitySchemes","security","shape","schemeName","tags","name"],"mappings":"yGACa,MAAAA,EAAmBC,EAAW,CACzCC,QAASC,IAAaC,WACtBC,KAAMC,EACI,CACNC,MAAOJ,IAAaK,OAAOJ,SAAS,yBACpCK,YAAaN,IAAaK,OAAOJ,WACjCM,QAASP,IAAaC,SAAS,6BAEhCA,WACHO,QAASC,EAELX,EAAW,CACTY,IAAKV,IAAaU,MAAMT,WACxBK,YAAaN,IAAaW,cAG7BA,WACHC,MAAOC,IAAYZ,WACnBa,WAAYX,EACF,CACNY,QAASC,GACAC,GACLnB,EACEmB,EACIC,OAAOC,KAAKF,GAAOG,QAAO,CAACC,EAAKC,KAC9BD,EAAIC,GAAOxB,EAAW,CACpByB,KAAMvB,IAAaW,WACnBa,OAAQxB,IAAaW,WACrBc,WAAYC,GACHC,GACL7B,EACE6B,EACIT,OAAOC,KAAKQ,GAAOP,QAAO,CAACC,EAAKO,KAC9BP,EAAIO,GAAWf,IACRQ,IACN,IACH,CAAA,KAGPV,WACHkB,MAAOhB,IAAYF,WACnBmB,KAAMC,EAAU/B,KAAcW,WAC9BV,SAAU8B,EAAU/B,KAAcW,aAE7BU,IACN,IACH,CAAA,KAGPV,WACHqB,gBAAiBlC,IAAaa,aAE/BA,WACHsB,SAAUxB,EAENX,IAAaoC,MAAM,CACjBC,WAAYJ,EAAU/B,KAAcW,cAGvCA,WACHyB,KAAM3B,EAEFX,EAAW,CACTuC,KAAMrC,IAAaC,WACnBK,YAAaN,IAAaW,cAG7BA"}
1
+ {"version":3,"file":"form.scheme.js","sources":["../../../src/validator/form.scheme.ts"],"sourcesContent":["import * as yup from 'yup'\r\nexport const schemaValidation = yup.object({\r\n openapi: yup.string().required(),\r\n info: yup\r\n .object({\r\n title: yup.string().trim().required('API Name is required.'),\r\n description: yup.string().trim().required('API Description is required.'),\r\n version: yup.string().required('API Version is required'),\r\n })\r\n .required(),\r\n servers: yup\r\n .array(\r\n yup.object({\r\n url: yup.string().url().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n paths: yup.mixed().required(), // Assuming TransformedPathsArray is validated elsewhere\r\n components: yup\r\n .object({\r\n schemas: yup\r\n .lazy((value) =>\r\n yup.object(\r\n value\r\n ? Object.keys(value).reduce((acc, key) => {\r\n acc[key] = yup.object({\r\n type: yup.string().optional(),\r\n format: yup.string().optional(),\r\n properties: yup\r\n .lazy((props) =>\r\n yup.object(\r\n props\r\n ? Object.keys(props).reduce((acc, propKey) => {\r\n acc[propKey] = yup.mixed()\r\n return acc\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n items: yup.mixed().optional(),\r\n enum: yup.array(yup.string()).optional(),\r\n required: yup.array(yup.string()).optional(),\r\n })\r\n return acc\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n securitySchemes: yup.object().optional(),\r\n })\r\n .optional(),\r\n security: yup\r\n .array(\r\n yup.object().shape({\r\n schemeName: yup.array(yup.string()).optional(),\r\n })\r\n )\r\n .optional(),\r\n tags: yup\r\n .array(\r\n yup.object({\r\n name: yup.string().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n})\r\n"],"names":["schemaValidation","yup.object","openapi","yup.string","required","info","yup\n .object","title","trim","description","version","servers","yup\n .array","url","optional","paths","yup.mixed","components","schemas","yup\n .lazy","value","Object","keys","reduce","acc","key","type","format","properties","yup\n .lazy","props","propKey","items","enum","yup.array","securitySchemes","security","shape","schemeName","tags","name"],"mappings":"yGACa,MAAAA,EAAmBC,EAAW,CACzCC,QAASC,IAAaC,WACtBC,KAAMC,EACI,CACNC,MAAOJ,IAAaK,OAAOJ,SAAS,yBACpCK,YAAaN,IAAaK,OAAOJ,SAAS,gCAC1CM,QAASP,IAAaC,SAAS,6BAEhCA,WACHO,QAASC,EAELX,EAAW,CACTY,IAAKV,IAAaU,MAAMT,WACxBK,YAAaN,IAAaW,cAG7BA,WACHC,MAAOC,IAAYZ,WACnBa,WAAYX,EACF,CACNY,QAASC,GACAC,GACLnB,EACEmB,EACIC,OAAOC,KAAKF,GAAOG,QAAO,CAACC,EAAKC,KAC9BD,EAAIC,GAAOxB,EAAW,CACpByB,KAAMvB,IAAaW,WACnBa,OAAQxB,IAAaW,WACrBc,WAAYC,GACHC,GACL7B,EACE6B,EACIT,OAAOC,KAAKQ,GAAOP,QAAO,CAACC,EAAKO,KAC9BP,EAAIO,GAAWf,IACRQ,IACN,IACH,CAAA,KAGPV,WACHkB,MAAOhB,IAAYF,WACnBmB,KAAMC,EAAU/B,KAAcW,WAC9BV,SAAU8B,EAAU/B,KAAcW,aAE7BU,IACN,IACH,CAAA,KAGPV,WACHqB,gBAAiBlC,IAAaa,aAE/BA,WACHsB,SAAUxB,EAENX,IAAaoC,MAAM,CACjBC,WAAYJ,EAAU/B,KAAcW,cAGvCA,WACHyB,KAAM3B,EAEFX,EAAW,CACTuC,KAAMrC,IAAaC,WACnBK,YAAaN,IAAaW,cAG7BA"}