@digi-frontend/dgate-api-documentation 1.1.12 → 1.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 (240) hide show
  1. package/.editorconfig +13 -0
  2. package/.prettierignore +8 -0
  3. package/.prettierrc +15 -0
  4. package/dist/_virtual/index4.js +1 -1
  5. package/dist/_virtual/index5.js +1 -1
  6. package/dist/_virtual/index6.js +1 -1
  7. package/dist/_virtual/index7.js +1 -1
  8. package/dist/node_modules/@popperjs/core/lib/createPopper.js +1 -1
  9. package/dist/node_modules/@popperjs/core/lib/createPopper.js.map +1 -1
  10. package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js +1 -1
  11. package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js.map +1 -1
  12. package/dist/node_modules/@popperjs/core/lib/enums.js +1 -1
  13. package/dist/node_modules/@popperjs/core/lib/enums.js.map +1 -1
  14. package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js +1 -1
  15. package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.map +1 -1
  16. package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js +1 -1
  17. package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.map +1 -1
  18. package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js +1 -1
  19. package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js.map +1 -1
  20. package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js +1 -1
  21. package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js.map +1 -1
  22. package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js +1 -1
  23. package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js.map +1 -1
  24. package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +1 -1
  25. package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.map +1 -1
  26. package/dist/node_modules/@popperjs/core/lib/utils/debounce.js +1 -1
  27. package/dist/node_modules/@popperjs/core/lib/utils/debounce.js.map +1 -1
  28. package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js +1 -1
  29. package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js.map +1 -1
  30. package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js +1 -1
  31. package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js.map +1 -1
  32. package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js +1 -1
  33. package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js.map +1 -1
  34. package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js +1 -1
  35. package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js.map +1 -1
  36. package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js +1 -1
  37. package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js.map +1 -1
  38. package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js +1 -1
  39. package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js.map +1 -1
  40. package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js +1 -1
  41. package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js.map +1 -1
  42. package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js +1 -1
  43. package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js.map +1 -1
  44. package/dist/node_modules/digitinary-ui/dist/index.js +1 -1
  45. package/dist/node_modules/digitinary-ui/dist/index.js.map +1 -1
  46. package/dist/node_modules/dom-serializer/lib/foreignNames.js +1 -1
  47. package/dist/node_modules/dom-serializer/lib/foreignNames.js.map +1 -1
  48. package/dist/node_modules/dom-serializer/lib/index.js +1 -1
  49. package/dist/node_modules/dom-serializer/lib/index.js.map +1 -1
  50. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js +1 -1
  51. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +1 -1
  52. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +1 -1
  53. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +1 -1
  54. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +1 -1
  55. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -1
  56. package/dist/node_modules/domhandler/lib/node.js +1 -1
  57. package/dist/node_modules/domhandler/lib/node.js.map +1 -1
  58. package/dist/node_modules/domutils/lib/feeds.js +1 -1
  59. package/dist/node_modules/domutils/lib/feeds.js.map +1 -1
  60. package/dist/node_modules/domutils/lib/helpers.js +1 -1
  61. package/dist/node_modules/domutils/lib/helpers.js.map +1 -1
  62. package/dist/node_modules/domutils/lib/legacy.js +1 -1
  63. package/dist/node_modules/domutils/lib/legacy.js.map +1 -1
  64. package/dist/node_modules/domutils/lib/querying.js +1 -1
  65. package/dist/node_modules/domutils/lib/querying.js.map +1 -1
  66. package/dist/node_modules/domutils/lib/stringify.js +1 -1
  67. package/dist/node_modules/domutils/lib/stringify.js.map +1 -1
  68. package/dist/node_modules/entities/dist/commonjs/decode.js +1 -1
  69. package/dist/node_modules/entities/dist/commonjs/decode.js.map +1 -1
  70. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js +1 -1
  71. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -1
  72. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +1 -1
  73. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -1
  74. package/dist/node_modules/formik/dist/formik.esm.js +1 -1
  75. package/dist/node_modules/formik/dist/formik.esm.js.map +1 -1
  76. package/dist/node_modules/formik/node_modules/deepmerge/dist/es.js +1 -1
  77. package/dist/node_modules/formik/node_modules/deepmerge/dist/es.js.map +1 -1
  78. package/dist/node_modules/highlight.js/lib/core.js +1 -1
  79. package/dist/node_modules/highlight.js/lib/core.js.map +1 -1
  80. package/dist/node_modules/highlight.js/lib/languages/json.js +1 -1
  81. package/dist/node_modules/highlight.js/lib/languages/json.js.map +1 -1
  82. package/dist/node_modules/html-react-parser/lib/utilities.js.map +1 -1
  83. package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +1 -1
  84. package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +1 -1
  85. package/dist/node_modules/htmlparser2/dist/commonjs/index.js +1 -1
  86. package/dist/node_modules/htmlparser2/dist/commonjs/index.js.map +1 -1
  87. package/dist/node_modules/js-yaml/dist/js-yaml.mjs.js +1 -1
  88. package/dist/node_modules/js-yaml/dist/js-yaml.mjs.js.map +1 -1
  89. package/dist/node_modules/lodash-es/_baseClone.js +1 -1
  90. package/dist/node_modules/lodash-es/_baseClone.js.map +1 -1
  91. package/dist/node_modules/lodash-es/_getSymbols.js +1 -1
  92. package/dist/node_modules/lodash-es/_getSymbols.js.map +1 -1
  93. package/dist/node_modules/lodash-es/_memoizeCapped.js +1 -1
  94. package/dist/node_modules/lodash-es/_memoizeCapped.js.map +1 -1
  95. package/dist/node_modules/lodash-es/_stringToPath.js +1 -1
  96. package/dist/node_modules/lodash-es/_stringToPath.js.map +1 -1
  97. package/dist/node_modules/property-expr/index.js +1 -1
  98. package/dist/node_modules/property-expr/index.js.map +1 -1
  99. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +1 -1
  100. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -1
  101. package/dist/node_modules/react-property/lib/index.js +1 -1
  102. package/dist/node_modules/react-property/lib/index.js.map +1 -1
  103. package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js +1 -1
  104. package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js.map +1 -1
  105. package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js +1 -1
  106. package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js.map +1 -1
  107. package/dist/node_modules/react-toastify/dist/index.mjs.js +1 -1
  108. package/dist/node_modules/react-toastify/dist/index.mjs.js.map +1 -1
  109. package/dist/node_modules/style-to-js/cjs/index.js +1 -1
  110. package/dist/node_modules/style-to-js/cjs/index.js.map +1 -1
  111. package/dist/node_modules/style-to-object/cjs/index.js +1 -1
  112. package/dist/node_modules/style-to-object/cjs/index.js.map +1 -1
  113. package/dist/node_modules/tiny-case/index.js +1 -1
  114. package/dist/node_modules/tiny-case/index.js.map +1 -1
  115. package/dist/node_modules/tippy.js/dist/tippy.esm.js +1 -1
  116. package/dist/node_modules/tippy.js/dist/tippy.esm.js.map +1 -1
  117. package/dist/node_modules/toposort/index.js +1 -1
  118. package/dist/node_modules/toposort/index.js.map +1 -1
  119. package/dist/node_modules/tslib/tslib.es6.js +1 -1
  120. package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
  121. package/dist/node_modules/yup/index.esm.js +1 -1
  122. package/dist/node_modules/yup/index.esm.js.map +1 -1
  123. package/dist/src/components/InfoForm/InfoForm.js +1 -1
  124. package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
  125. package/dist/src/components/JsonInput/JsonInput.js +1 -1
  126. package/dist/src/components/JsonInput/JsonInput.js.map +1 -1
  127. package/dist/src/components/LivePreview/LivePreview.js +1 -1
  128. package/dist/src/components/LivePreview/LivePreview.js.map +1 -1
  129. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  130. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  131. package/dist/src/components/SVGLoader/SVGLoader.js +1 -1
  132. package/dist/src/components/SVGLoader/SVGLoader.js.map +1 -1
  133. package/dist/src/components/Tooltip/Tooltip.js +1 -1
  134. package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
  135. package/dist/src/components/table/table.js +1 -1
  136. package/dist/src/components/table/table.js.map +1 -1
  137. package/dist/src/components/table/tags-table.js +1 -1
  138. package/dist/src/components/table/tags-table.js.map +1 -1
  139. package/dist/src/constants/methods.constant.js +1 -1
  140. package/dist/src/constants/methods.constant.js.map +1 -1
  141. package/dist/src/context/SectionToggleContext.js +1 -1
  142. package/dist/src/context/SectionToggleContext.js.map +1 -1
  143. package/dist/src/helpers/docs.helper.js +1 -1
  144. package/dist/src/helpers/docs.helper.js.map +1 -1
  145. package/dist/src/helpers/layout.helper.js +1 -1
  146. package/dist/src/helpers/layout.helper.js.map +1 -1
  147. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +1 -1
  148. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +1 -1
  149. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +1 -1
  150. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -1
  151. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +1 -1
  152. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
  153. package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js +1 -1
  154. package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js.map +1 -1
  155. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +1 -1
  156. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +1 -1
  157. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +1 -1
  158. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -1
  159. package/dist/src/layout/docsLayout.js +1 -1
  160. package/dist/src/layout/docsLayout.js.map +1 -1
  161. package/dist/src/layout/layout.js +1 -1
  162. package/dist/src/layout/layout.js.map +1 -1
  163. package/dist/src/utils/index.js +1 -1
  164. package/dist/src/utils/index.js.map +1 -1
  165. package/dist/src/validator/form.scheme.js +1 -1
  166. package/dist/src/validator/form.scheme.js.map +1 -1
  167. package/dist/styles.css +773 -773
  168. package/index.ts +2 -0
  169. package/package.json +4 -9
  170. package/rollup.config.js +37 -0
  171. package/src/assets/icons/AddRow.svg +3 -0
  172. package/src/assets/icons/ApiIcon.svg +12 -0
  173. package/src/assets/icons/ArrowBack.svg +3 -0
  174. package/src/assets/icons/BookIcon.svg +6 -0
  175. package/src/assets/icons/CheckMarkSquare.svg +5 -0
  176. package/src/assets/icons/CloseIcon.svg +4 -0
  177. package/src/assets/icons/CopySticker.svg +6 -0
  178. package/src/assets/icons/DeleteIcon.svg +3 -0
  179. package/src/assets/icons/DownArrow.svg +3 -0
  180. package/src/assets/icons/EditIcon.svg +3 -0
  181. package/src/assets/icons/FilterIcon.svg +4 -0
  182. package/src/assets/icons/Plus.svg +5 -0
  183. package/src/assets/icons/PlusSquare.svg +3 -0
  184. package/src/assets/icons/RequestOption.svg +5 -0
  185. package/src/assets/icons/UpArrow.svg +3 -0
  186. package/src/assets/icons/arrow-down.svg +3 -0
  187. package/src/assets/icons/arrow-up.svg +10 -0
  188. package/src/assets/icons/arrowDownGray.svg +3 -0
  189. package/src/assets/icons/arrowRightGray.svg +3 -0
  190. package/src/assets/icons/close-circle.svg +5 -0
  191. package/src/assets/icons/copy.svg +4 -0
  192. package/src/assets/icons/deleteOutlinedIcon.svg +8 -0
  193. package/src/assets/icons/document.svg +6 -0
  194. package/src/assets/icons/eye.svg +4 -0
  195. package/src/assets/icons/index.ts +27 -0
  196. package/src/assets/icons/infoIcon.svg +5 -0
  197. package/src/assets/icons/newCopyIcon.svg +4 -0
  198. package/src/assets/icons/searchIcon.svg +4 -0
  199. package/src/components/Chips/Chips.tsx +87 -0
  200. package/src/components/InfoForm/InfoForm.tsx +432 -0
  201. package/src/components/JsonInput/JsonInput.tsx +149 -0
  202. package/src/components/LivePreview/LivePreview.tsx +224 -0
  203. package/src/components/MethodAccordion/MethodAccordion.tsx +1070 -0
  204. package/src/components/SVGLoader/SVGLoader.tsx +96 -0
  205. package/src/components/SectionHead/SectionHead.tsx +22 -0
  206. package/src/components/SimpleLabelValue/SimpleLabelValue.tsx +31 -0
  207. package/src/components/SimpleLabelValue/index.ts +1 -0
  208. package/src/components/Tooltip/Tooltip.tsx +85 -0
  209. package/src/components/dialog/dialog.ts +61 -0
  210. package/src/components/dialog/index.tsx +88 -0
  211. package/src/components/table/table.tsx +508 -0
  212. package/src/components/table/tags-table.tsx +348 -0
  213. package/src/constants/index.ts +95 -0
  214. package/src/constants/methods.constant.ts +26 -0
  215. package/src/constants/regex.ts +7 -0
  216. package/src/context/SectionToggleContext.tsx +121 -0
  217. package/src/global.d.ts +13 -0
  218. package/src/helpers/docs.helper.ts +42 -0
  219. package/src/helpers/layout.helper.ts +290 -0
  220. package/src/helpers/methodAccordion.helper.ts +20 -0
  221. package/src/index.ts +2 -0
  222. package/src/layout/docsComponents/Codebox/Codebox.tsx +61 -0
  223. package/src/layout/docsComponents/DocsAside/DocsAside.tsx +112 -0
  224. package/src/layout/docsComponents/DocsContent/DocsContent.tsx +51 -0
  225. package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +307 -0
  226. package/src/layout/docsComponents/DocsContent/OverviewPage/index.tsx +223 -0
  227. package/src/layout/docsComponents/DocsHeader/DocsHeader.tsx +188 -0
  228. package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +229 -0
  229. package/src/layout/docsComponents/index.tsx +28 -0
  230. package/src/layout/docsLayout.tsx +123 -0
  231. package/src/layout/layout.module.css +65 -0
  232. package/src/layout/layout.tsx +177 -0
  233. package/src/types/docsLayout.type.ts +7 -0
  234. package/src/types/index.ts +28 -0
  235. package/src/types/layout.type.ts +32 -0
  236. package/src/types/openApi.ts +109 -0
  237. package/src/types/transformedOpenApi.ts +52 -0
  238. package/src/utils/index.ts +15 -0
  239. package/src/validator/form.scheme.ts +96 -0
  240. package/tsconfig.json +33 -0
@@ -0,0 +1,96 @@
1
+ import React, { useState, useEffect } from 'react'
2
+ import parse from 'html-react-parser'
3
+
4
+ // Utility function to create an SVG element from a string
5
+ const createSvgElement = (svgString: string): SVGSVGElement | null => {
6
+ const parser = new DOMParser()
7
+ const doc = parser.parseFromString(svgString, 'image/svg+xml')
8
+ return doc.querySelector('svg')
9
+ }
10
+
11
+ // Define the type for SVG attributes
12
+ type SVGAttributes = React.SVGProps<SVGSVGElement>
13
+
14
+ interface SVGLoaderProps extends SVGAttributes {
15
+ src: string
16
+ cache?: boolean
17
+ }
18
+
19
+ const SVGLoader: React.FC<SVGLoaderProps> | any = ({ src, cache = true, ...props }) => {
20
+ const [svgMarkup, setSvgMarkup] = useState<string | null>(null)
21
+
22
+ useEffect(() => {
23
+ if (!src) return
24
+ if (typeof src !== 'string') console.log({ src })
25
+ const isUrl = src.startsWith('http') || src.startsWith('/')
26
+
27
+ const cacheName = 'svg-cache'
28
+
29
+ const fetchSvg = async () => {
30
+ try {
31
+ let svgString: string | null = null
32
+
33
+ // Use the Cache API if caching is enabled
34
+ if (cache && isUrl && 'caches' in window) {
35
+ const cacheStorage = await caches.open(cacheName)
36
+ const cachedResponse = await cacheStorage.match(src)
37
+
38
+ // If SVG is found in cache, use it
39
+ if (cachedResponse && cachedResponse.ok) {
40
+ svgString = await cachedResponse.text()
41
+ setSvgMarkup(svgString)
42
+ return
43
+ }
44
+ }
45
+
46
+ // If not cached, fetch from URL
47
+ if (isUrl) {
48
+ const response = await fetch(src)
49
+
50
+ // Clone the response before consuming it
51
+ const responseClone = response.clone()
52
+
53
+ // Consume the response body for the SVG content
54
+ svgString = await response.text()
55
+
56
+ // Store the cloned response in the cache
57
+ if (cache && 'caches' in window) {
58
+ const cacheStorage = await caches.open(cacheName)
59
+ await cacheStorage.put(src, responseClone)
60
+ }
61
+ } else {
62
+ // If it's not a URL (it's inline), just use the source string
63
+ svgString = src
64
+ }
65
+
66
+ // If we have valid SVG content, set it
67
+ if (svgString) {
68
+ const svg = createSvgElement(svgString)
69
+ if (svg) {
70
+ const svgStringWithProps = new XMLSerializer().serializeToString(svg)
71
+ setSvgMarkup(svgStringWithProps)
72
+ }
73
+ }
74
+ } catch (error) {
75
+ console.error('Error loading SVG:', error)
76
+ }
77
+ }
78
+
79
+ fetchSvg()
80
+ }, [src, props])
81
+
82
+ if (!svgMarkup) return null
83
+
84
+ // Parse the SVG string and return it as JSX
85
+ const parsedSvg = parse(svgMarkup)
86
+ // Sometimes parse returns an array which includes the element
87
+ const toBeClonedElement = Array.isArray(parsedSvg)
88
+ ? parsedSvg.find((item) => React.isValidElement(item))
89
+ : parsedSvg
90
+ // Clone the parsed SVG element to apply the props
91
+ const clonedSvg = React.cloneElement(toBeClonedElement as React.ReactElement, props)
92
+
93
+ return <>{clonedSvg}</>
94
+ }
95
+
96
+ export default SVGLoader
@@ -0,0 +1,22 @@
1
+ import React, { type JSX } from 'react'
2
+ import './SectionHead.scss'
3
+ import SVGLoader from '../SVGLoader/SVGLoader'
4
+
5
+ type SectionHeadProps = {
6
+ text: string | JSX.Element
7
+ closeFunction?: () => void
8
+ children?: JSX.Element
9
+ className?: string
10
+ }
11
+
12
+ const SectionHead: React.FC<SectionHeadProps> = ({ text, closeFunction, children, className = '' }: SectionHeadProps): any => {
13
+ return (
14
+ <div className={`containerTitleDrawer ${className}`}>
15
+ <span data-id={`${String(text)?.toUpperCase()?.replaceAll(' ', '_')}_ID`}>{text}</span>
16
+ {children}
17
+
18
+ {closeFunction && <SVGLoader className='closeIcon' onClick={closeFunction} width='1.5rem' height='1.5rem' />}
19
+ </div>
20
+ )
21
+ }
22
+ export default SectionHead
@@ -0,0 +1,31 @@
1
+ import React from 'react'
2
+ import './style.scss'
3
+
4
+ type SimpleLabelValueProps = {
5
+ label?: string | JSX.Element
6
+ value?: string | number | JSX.Element | JSX.Element[]
7
+ color?: string
8
+ className?: string
9
+ dataId?: string
10
+ }
11
+
12
+ const SimpleLabelValue: React.FC<SimpleLabelValueProps> = ({
13
+ label,
14
+ value,
15
+ color,
16
+ className = '',
17
+ dataId,
18
+ }: SimpleLabelValueProps) => {
19
+ const dataIdLabel =
20
+ typeof label === 'string' ? label?.toUpperCase()?.replaceAll(' ', '_') + '_LABEL_ID' : dataId
21
+ return (
22
+ <div className={`drawerItemContainer ${className}`}>
23
+ <span className="title" data-id={dataIdLabel}>
24
+ {label}
25
+ </span>
26
+ <span className={`text ${color ? `color-${color}` : ''}`}>{value}</span>
27
+ </div>
28
+ )
29
+ }
30
+
31
+ export default SimpleLabelValue
@@ -0,0 +1 @@
1
+ export { default } from './SimpleLabelValue'
@@ -0,0 +1,85 @@
1
+ import React, { useState, useEffect, ReactNode } from 'react'
2
+ import Tippy, { TippyProps } from '@tippyjs/react'
3
+ import 'tippy.js/dist/tippy.css'
4
+ import './Tooltip.scss'
5
+
6
+ interface TooltipProps extends TippyProps {
7
+ content: ReactNode
8
+ success?: boolean
9
+ onMouseEnter?: (event: React.MouseEvent<HTMLDivElement>) => void
10
+ onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void
11
+ visible?: boolean
12
+ delay?: [number, number]
13
+ type?: 'info' | 'function'
14
+ maxWidth?: number
15
+ className?: string
16
+ arrowWithBorder?: boolean
17
+ disabled?: boolean
18
+ }
19
+
20
+ const Tooltip: React.FC<TooltipProps> = ({
21
+ children,
22
+ content,
23
+ success,
24
+ onMouseEnter,
25
+ onMouseLeave,
26
+ visible,
27
+ delay = [200, 400],
28
+ type = 'info',
29
+ maxWidth = 390,
30
+ className,
31
+ arrowWithBorder,
32
+ disabled,
33
+ ...props
34
+ }) => {
35
+ const [rootFontSize, setRootFontSize] = useState(16)
36
+
37
+ useEffect(() => {
38
+ const handleFontSizeChange = (fontSize: number) => {
39
+ setRootFontSize((prev) => (prev !== fontSize ? fontSize : prev))
40
+ }
41
+
42
+ if (
43
+ // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist
44
+ window.applicationUIScaling &&
45
+ // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist
46
+ typeof window.applicationUIScaling.addEventHandler === 'function'
47
+ ) {
48
+ // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist
49
+ window.applicationUIScaling.addEventHandler(handleFontSizeChange)
50
+ }
51
+ }, [])
52
+
53
+ return (
54
+ <Tippy
55
+ visible={visible}
56
+ allowHTML={typeof content !== 'string'}
57
+ interactive
58
+ maxWidth={(maxWidth / 16) * rootFontSize}
59
+ delay={delay}
60
+ content={content}
61
+ placement="bottom-start"
62
+ className={`${success ? 'success' : ''} ${type} ${className || ''} ${
63
+ arrowWithBorder ? 'arrow-with-border' : ''
64
+ }`}
65
+ disabled={disabled}
66
+ {...props}
67
+ >
68
+ <div
69
+ className="tooltip-custom-wrapper"
70
+ onMouseEnter={onMouseEnter}
71
+ onMouseLeave={onMouseLeave}
72
+ >
73
+ <div
74
+ className="tooltip-custom-wrapper"
75
+ onMouseEnter={onMouseEnter}
76
+ onMouseLeave={onMouseLeave}
77
+ >
78
+ {children}
79
+ </div>
80
+ </div>
81
+ </Tippy>
82
+ )
83
+ }
84
+
85
+ export default Tooltip
@@ -0,0 +1,61 @@
1
+ import { JSX } from 'react'
2
+
3
+ export type DialogStatus = 'error' | 'info' | 'warning'
4
+ export type DialogSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'
5
+ export type ButtonType = 'text' | 'submit' | 'reset'
6
+ export type ButtonVariant = 'outlined' | 'contained' | 'text' | 'link'
7
+ export type ButtonColor =
8
+ | 'inherit'
9
+ | 'primary'
10
+ | 'secondary'
11
+ | 'success'
12
+ | 'error'
13
+ | 'info'
14
+ | 'warning'
15
+ | 'action'
16
+ | 'normal'
17
+ export type ButtonSize = 'small' | 'medium' | 'large'
18
+
19
+ export interface BaseActionButtonProps {
20
+ text: string
21
+ color?: ButtonColor
22
+ variant?: ButtonVariant
23
+ type?: ButtonType
24
+ size?: ButtonSize
25
+ id?: string
26
+ className?: string
27
+ disabled?: boolean
28
+ startIcon?: JSX.Element
29
+ endIcon?: JSX.Element
30
+ dataId?: string
31
+ loading?: boolean
32
+ fullWidth?: boolean
33
+ active?: boolean
34
+ onKeyDown?: () => void
35
+ }
36
+
37
+ export interface SubmitButtonProps extends BaseActionButtonProps {
38
+ onClick: () => void // Required for submit
39
+ }
40
+
41
+ export interface CancelButtonProps extends BaseActionButtonProps {
42
+ onClick?: () => void // Optional for cancel
43
+ }
44
+
45
+ export interface CommonDialogProps {
46
+ status?: DialogStatus
47
+ content?: React.ReactElement
48
+ onSubmit?: SubmitButtonProps
49
+ onCancel?: CancelButtonProps
50
+ onClose: () => void
51
+ open?: boolean
52
+ icon?: JSX.Element | boolean
53
+ size?: DialogSize
54
+ children?: React.ReactElement
55
+ statusTitle?: boolean
56
+ isSubmitDisabled?: boolean
57
+ submitBtnComponent?: JSX.Element | null
58
+ withClose?: boolean
59
+ noActions?: boolean
60
+ closeIcon?: JSX.Element
61
+ }
@@ -0,0 +1,88 @@
1
+ import React from 'react'
2
+ // @ts-ignore
3
+ import { Dialog, Button } from 'digitinary-ui'
4
+ import SVGLoader from '../SVGLoader/SVGLoader'
5
+ import './style.scss'
6
+ import { CommonDialogProps } from './dialog'
7
+ import { Closecircle, InfoIcon } from './../../assets/icons'
8
+
9
+ const CommonDialog = ({
10
+ status = 'info',
11
+ content,
12
+ onSubmit,
13
+ onCancel,
14
+ onClose,
15
+ open,
16
+ size = 'xs',
17
+ icon = (
18
+ <>
19
+ <SVGLoader src={InfoIcon} width="4.0625rem" height="4.0625rem" />
20
+ </>
21
+ ),
22
+ noActions = false,
23
+ closeIcon,
24
+ }: CommonDialogProps) => {
25
+ const handleClose = () => {
26
+ onClose() // Always close the dialog first
27
+
28
+ if (onCancel && onCancel.onClick) {
29
+ onCancel.onClick() // If onCancel.onClick is provided, invoke it after closing the dialog
30
+ }
31
+ }
32
+
33
+ const body = (
34
+ <div className="common-dialog">
35
+ {icon && (
36
+ <div className="confirmation-dialog-header">
37
+ <div className={`icon ${status}`}>{icon}</div>
38
+ </div>
39
+ )}
40
+ <div className="close-icon">
41
+ {closeIcon ?? (
42
+ <SVGLoader src={Closecircle} width={'1.5rem'} height={'1.5rem'} onClick={handleClose} />
43
+ )}
44
+ </div>
45
+
46
+ {content}
47
+ {!!noActions ? null : (
48
+ <div
49
+ className="confirmation-dialog-footer"
50
+ style={{ marginBottom: onCancel || onSubmit ? '1.5rem' : '1rem' }}
51
+ >
52
+ {onCancel && (
53
+ <Button
54
+ {...onCancel}
55
+ onClick={handleClose}
56
+ variant={onCancel.variant || 'outlined'}
57
+ color={onCancel.color || 'normal'}
58
+ >
59
+ {onCancel.text}
60
+ </Button>
61
+ )}
62
+ {onSubmit && (
63
+ <Button
64
+ {...onSubmit}
65
+ variant={onSubmit.variant || 'contained'}
66
+ color={onSubmit.color || 'secondary'}
67
+ >
68
+ {onSubmit.text}
69
+ </Button>
70
+ )}
71
+ </div>
72
+ )}
73
+ </div>
74
+ )
75
+
76
+ return (
77
+ <Dialog
78
+ open={open}
79
+ onClose={handleClose}
80
+ content={body}
81
+ fullWidth={false}
82
+ size={size}
83
+ id="common-dialog"
84
+ />
85
+ )
86
+ }
87
+
88
+ export default CommonDialog