@jotforminc/dnd-builder 3.2.1 → 3.4.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 (90) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/lib/cjs/assets/svg/exclamation.svg.js +22 -0
  3. package/lib/cjs/assets/svg/exclamation.svg.js.map +1 -0
  4. package/lib/cjs/components/Builder/Builder.js +6 -0
  5. package/lib/cjs/components/Builder/Builder.js.map +1 -1
  6. package/lib/cjs/components/Builder/BuilderWrapper.js +17 -2
  7. package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
  8. package/lib/cjs/components/Builder/Page.js +3 -1
  9. package/lib/cjs/components/Builder/Page.js.map +1 -1
  10. package/lib/cjs/components/DraggableItem/DraggableItem.js +30 -19
  11. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  12. package/lib/cjs/components/ErrorBoundary/ErrorBoundary.js +94 -0
  13. package/lib/cjs/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  14. package/lib/cjs/components/ErrorBoundary/ErrorDetails.js +81 -0
  15. package/lib/cjs/components/ErrorBoundary/ErrorDetails.js.map +1 -0
  16. package/lib/cjs/components/ErrorBoundary/ErrorFallbackWrapper.js +129 -0
  17. package/lib/cjs/components/ErrorBoundary/ErrorFallbackWrapper.js.map +1 -0
  18. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js +1 -4
  19. package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  20. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +1 -3
  21. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  22. package/lib/cjs/components/Panels/RightPanel/Settings.js +3 -1
  23. package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
  24. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +9 -7
  25. package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  26. package/lib/cjs/components/Preview/StaticItem.js +10 -7
  27. package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
  28. package/lib/cjs/components/Preview/StaticPage.js +26 -21
  29. package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
  30. package/lib/cjs/constants/texts.js +5 -0
  31. package/lib/cjs/constants/texts.js.map +1 -1
  32. package/lib/cjs/contexts/BuilderContext.js +3 -0
  33. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  34. package/lib/cjs/contexts/PropContext.js +15 -20
  35. package/lib/cjs/contexts/PropContext.js.map +1 -1
  36. package/lib/cjs/contexts/Providers.js +6 -1
  37. package/lib/cjs/contexts/Providers.js.map +1 -1
  38. package/lib/cjs/styles/_jfReportsMain.scss +150 -0
  39. package/lib/cjs/utils/hooks.js +17 -3
  40. package/lib/cjs/utils/hooks.js.map +1 -1
  41. package/lib/cjs/utils/icons.js +2 -0
  42. package/lib/cjs/utils/icons.js.map +1 -1
  43. package/lib/esm/assets/svg/exclamation.svg.js +20 -0
  44. package/lib/esm/assets/svg/exclamation.svg.js.map +1 -0
  45. package/lib/esm/components/Builder/Builder.js +6 -0
  46. package/lib/esm/components/Builder/Builder.js.map +1 -1
  47. package/lib/esm/components/Builder/BuilderWrapper.js +17 -3
  48. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
  49. package/lib/esm/components/Builder/Page.js +4 -2
  50. package/lib/esm/components/Builder/Page.js.map +1 -1
  51. package/lib/esm/components/DraggableItem/DraggableItem.js +31 -20
  52. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  53. package/lib/esm/components/ErrorBoundary/ErrorBoundary.js +88 -0
  54. package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  55. package/lib/esm/components/ErrorBoundary/ErrorDetails.js +75 -0
  56. package/lib/esm/components/ErrorBoundary/ErrorDetails.js.map +1 -0
  57. package/lib/esm/components/ErrorBoundary/ErrorFallbackWrapper.js +123 -0
  58. package/lib/esm/components/ErrorBoundary/ErrorFallbackWrapper.js.map +1 -0
  59. package/lib/esm/components/Panels/LeftPanel/Elements.js +2 -2
  60. package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
  61. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js +1 -4
  62. package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
  63. package/lib/esm/components/Panels/RightPanel/RightPanel.js +2 -4
  64. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  65. package/lib/esm/components/Panels/RightPanel/Settings.js +4 -2
  66. package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
  67. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +10 -8
  68. package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
  69. package/lib/esm/components/Preview/StaticItem.js +10 -7
  70. package/lib/esm/components/Preview/StaticItem.js.map +1 -1
  71. package/lib/esm/components/Preview/StaticPage.js +26 -21
  72. package/lib/esm/components/Preview/StaticPage.js.map +1 -1
  73. package/lib/esm/constants/texts.js +5 -0
  74. package/lib/esm/constants/texts.js.map +1 -1
  75. package/lib/esm/contexts/BuilderContext.js +3 -0
  76. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  77. package/lib/esm/contexts/PropContext.js +14 -20
  78. package/lib/esm/contexts/PropContext.js.map +1 -1
  79. package/lib/esm/contexts/Providers.js +6 -1
  80. package/lib/esm/contexts/Providers.js.map +1 -1
  81. package/lib/esm/styles/_jfReportsMain.scss +150 -0
  82. package/lib/esm/utils/hooks.js +17 -4
  83. package/lib/esm/utils/hooks.js.map +1 -1
  84. package/lib/esm/utils/icons.js +1 -0
  85. package/lib/esm/utils/icons.js.map +1 -1
  86. package/package.json +2 -1
  87. package/lib/cjs/components/ErrorBoundary.js +0 -101
  88. package/lib/cjs/components/ErrorBoundary.js.map +0 -1
  89. package/lib/esm/components/ErrorBoundary.js +0 -95
  90. package/lib/esm/components/ErrorBoundary.js.map +0 -1
@@ -80,3 +80,153 @@ body {
80
80
  right: calc(#{$right-pane-width} + 15px);
81
81
  }
82
82
  }
83
+
84
+ .errorBoundary-wrapper {
85
+ display: flex;
86
+ flex-direction: column;
87
+ align-items: center;
88
+ justify-content: center;
89
+ gap: 16px;
90
+ padding: 20px;
91
+ border: 1px solid #e74c3c;
92
+ border-radius: 4px;
93
+ height: 100%;
94
+ width: 100%;
95
+ position: relative;
96
+ background-color: transparent;
97
+
98
+ * {
99
+ z-index: 10;
100
+ }
101
+
102
+ &:before {
103
+ content: "";
104
+ position: absolute;
105
+ top: 0;
106
+ left: 0;
107
+ width: 100%;
108
+ border-radius: 8px;
109
+ height: 100%;
110
+ z-index: 9;
111
+ background-color: #F3F3FE;
112
+ background-image: repeating-linear-gradient(
113
+ -45deg,
114
+ #F3F3FE 0,
115
+ #F3F3FE 20px,
116
+ #FFF 20px,
117
+ #FFF 40px
118
+ );
119
+ }
120
+ }
121
+
122
+ .errorBoundary-icon {
123
+ width: 40px;
124
+ height: 40px;
125
+ color: #e74c3c;
126
+ fill: #e74c3c;
127
+ }
128
+
129
+ .errorBoundary-icon-static {
130
+ width: 24px;
131
+ height: 24px;
132
+ color: #e74c3c;
133
+ fill: #e74c3c;
134
+ }
135
+
136
+ .errorBoundary-view-details-button {
137
+ background-color: #343C6A !important;
138
+ height: auto;
139
+ width: auto;
140
+ border-radius: 4px;
141
+ padding: 12px 24px;
142
+ display: flex !important;
143
+ flex-direction: column !important;
144
+ align-items: center;
145
+ justify-content: center;
146
+ color: #FFFFFF;
147
+ }
148
+
149
+ .errorBoundary-details-overlay {
150
+ position: fixed;
151
+ top: 0;
152
+ left: 0;
153
+ width: 100%;
154
+ height: 100%;
155
+ background-color: rgba(0, 0, 0, 0.7);
156
+ z-index: 9999;
157
+ }
158
+
159
+ .errorBoundary-details-wrapper {
160
+ background: #FFFFFF;
161
+ border-radius: 8px;
162
+ color: #0A1551;
163
+ top: 50%;
164
+ left: 50%;
165
+ position: absolute;
166
+ max-height: 70vh;
167
+ max-width: 60vw;
168
+ overflow: auto;
169
+ transform: translate(-50%, -50%);
170
+ width: 100%;
171
+ display: flex;
172
+ flex-direction: column;
173
+ align-items: start;
174
+ justify-content: start;
175
+ }
176
+
177
+ .errorBoundary-details-header {
178
+ display: flex;
179
+ flex-direction: row;
180
+ align-items: start;
181
+ justify-content: start;
182
+ width: 100%;
183
+ padding: 24px 32px;
184
+ border-bottom: 1px solid #E5E5F5;
185
+ }
186
+
187
+ .errorBoundary-details-content {
188
+ display: flex;
189
+ flex-direction: column;
190
+ justify-content: start;
191
+ align-items: start;
192
+ width: 100%;
193
+ height: auto;
194
+ overflow: hidden;
195
+ padding: 32px;
196
+ }
197
+
198
+ .errorBoundary-details-content-inner {
199
+ display: flex;
200
+ flex-direction: column;
201
+ justify-content: start;
202
+ align-items: start;
203
+ width: 100%;
204
+ height: auto;
205
+ overflow: auto;
206
+ padding: 24px;
207
+ background: #F3F3FE;
208
+ border-radius: 8px;
209
+ white-space: pre-wrap;
210
+ color: #6C73A8;
211
+ font-size: 14px;
212
+ line-height: 20px;
213
+ }
214
+
215
+ .errorBoundary-details-close-button {
216
+ background: #DADEF3;
217
+ height: 40px;
218
+ margin-left: auto;
219
+ width: 40px;
220
+ border-radius: 100%;
221
+
222
+ svg {
223
+ height: 20px;
224
+ width: 20px;
225
+ color: #343C6A;
226
+ fill: #343C6A;
227
+
228
+ path {
229
+ fill: #343C6A;
230
+ }
231
+ }
232
+ }
@@ -49,6 +49,13 @@ var useEventListener = function useEventListener(eventName, handler) {
49
49
  };
50
50
  }, [eventName, element]);
51
51
  };
52
+ var usePrevious = function usePrevious(value) {
53
+ var ref = useRef();
54
+ useEffect(function () {
55
+ ref.current = value;
56
+ });
57
+ return ref.current;
58
+ };
52
59
  var useFitZoom = function useFitZoom() {
53
60
  var settings = usePropStore(function (state) {
54
61
  return state.settings;
@@ -69,6 +76,7 @@ var useFitZoom = function useFitZoom() {
69
76
  };
70
77
  var usePageVisibility = function usePageVisibility(callback, pageCount, selectedPageIndex) {
71
78
  var ratio = useRef({});
79
+ var prevVisiblePageIndex = useRef(-1);
72
80
  var pageRefs = useRef([]);
73
81
  var observer = useMemo(function () {
74
82
  return new window.IntersectionObserver(function (entries) {
@@ -81,13 +89,18 @@ var usePageVisibility = function usePageVisibility(callback, pageCount, selected
81
89
  delete ratio.current[order];
82
90
  }
83
91
  });
84
- callback(parseInt(Object.keys(ratio.current).find(function (key) {
92
+ var visiblePageIndex = parseInt(Object.keys(ratio.current).find(function (key) {
85
93
  return ratio.current[key] === Math.max.apply(Math, _toConsumableArray(Object.values(ratio.current)));
86
- }), 10));
94
+ }), 10);
95
+
96
+ if (visiblePageIndex !== prevVisiblePageIndex.current) {
97
+ prevVisiblePageIndex.current = visiblePageIndex;
98
+ callback(visiblePageIndex);
99
+ }
87
100
  }, {
88
101
  delay: 100,
89
102
  root: document.querySelector('.jfReport-viewport'),
90
- threshold: [0, 0.5, 1]
103
+ threshold: [0, 0.25, 0.5, 0.75, 1]
91
104
  });
92
105
  }, [callback]);
93
106
  useEffect(function () {
@@ -212,5 +225,5 @@ var useSelectedElements = function useSelectedElements() {
212
225
  }, [pages, activeElements, acceptedItems]);
213
226
  };
214
227
 
215
- export { useClickOutsideListener, useEventListener, useFitZoom, useFullscreenChange, usePageTransition, usePageVisibility, useSelectedElements, useTranslatedTexts };
228
+ export { useClickOutsideListener, useEventListener, useFitZoom, useFullscreenChange, usePageTransition, usePageVisibility, usePrevious, useSelectedElements, useTranslatedTexts };
216
229
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react';\nimport { getZoomValue } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\nimport { usePropStore } from '../contexts/PropContext';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePresentationStore } from '../contexts/PresentationContext';\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const useFitZoom = () => {\n const settings = usePropStore(state => state.settings);\n const setZoom = useBuilderStore(state => state.setZoom);\n\n useEffect(() => {\n const newZoom = getZoomValue({\n limitZoom: true,\n settings: {\n reportLayoutHeight: settings.reportLayoutHeight,\n reportLayoutWidth: settings.reportLayoutWidth,\n },\n });\n setZoom(newZoom, settings.reportLayoutWidth);\n }, [\n settings.reportLayoutHeight,\n settings.reportLayoutWidth,\n setZoom,\n ]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const pageRefs = useRef([]);\n const observer = useMemo(() => new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n callback(parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n ));\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.5, 1],\n }), [callback]);\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex, observer]);\n};\n\nexport const useFullscreenChange = (isFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const setIsFullscreen = usePresentationStore(state => state.setIsFullscreen);\n\n const onFullscreenChange = useCallback(() => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(false);\n fitToScreen(500);\n } else {\n setIsFullscreen(true);\n fitToScreen(600);\n }\n }, [fitToScreen, setIsFullscreen, onAnEventTrigger]);\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return useMemo(() => SharingTextsModule.Texts, []);\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = useCallback(({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n }, [classes, onClose]);\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue, onClickOutsideForPanel]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n\nexport const useSelectedElements = () => {\n const pages = usePropStore(state => state.pages);\n const activeElements = useBuilderStore(state => state.activeElements);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n\n return useMemo(() => {\n if (activeElements.length === 0) return [];\n const items = activeElements.map(itemID => {\n let foundItem = [];\n pages.forEach(page => {\n const item = page.items.find(el => el.id === itemID);\n if (item) {\n foundItem = item;\n }\n });\n const defItem = (acceptedItems[foundItem.itemType] && acceptedItems[foundItem.itemType].defaultItem) || {};\n return { ...defItem, ...foundItem };\n });\n return items;\n }, [pages, activeElements, acceptedItems]);\n};\n"],"names":["useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useFitZoom","settings","usePropStore","state","setZoom","useBuilderStore","newZoom","getZoomValue","limitZoom","reportLayoutHeight","reportLayoutWidth","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","pageRefs","observer","useMemo","window","IntersectionObserver","entries","forEach","entry","order","target","getAttribute","intersectionRatio","parseInt","Object","keys","find","key","Math","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","fitToScreen","onAnEventTrigger","setIsFullscreen","usePresentationStore","onFullscreenChange","useCallback","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","transform","toString","useSelectedElements","pages","activeElements","acceptedItems","length","items","map","itemID","foundItem","item","el","id","defItem","itemType","defaultItem"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react';\nimport { getZoomValue } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\nimport { usePropStore } from '../contexts/PropContext';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePresentationStore } from '../contexts/PresentationContext';\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const useFitZoom = () => {\n const settings = usePropStore(state => state.settings);\n const setZoom = useBuilderStore(state => state.setZoom);\n\n useEffect(() => {\n const newZoom = getZoomValue({\n limitZoom: true,\n settings: {\n reportLayoutHeight: settings.reportLayoutHeight,\n reportLayoutWidth: settings.reportLayoutWidth,\n },\n });\n setZoom(newZoom, settings.reportLayoutWidth);\n }, [\n settings.reportLayoutHeight,\n settings.reportLayoutWidth,\n setZoom,\n ]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const prevVisiblePageIndex = useRef(-1);\n const pageRefs = useRef([]);\n const observer = useMemo(() => new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n const visiblePageIndex = parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n );\n if (visiblePageIndex !== prevVisiblePageIndex.current) {\n prevVisiblePageIndex.current = visiblePageIndex;\n callback(visiblePageIndex);\n }\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }), [callback]);\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex, observer]);\n};\n\nexport const useFullscreenChange = (isFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const setIsFullscreen = usePresentationStore(state => state.setIsFullscreen);\n\n const onFullscreenChange = useCallback(() => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(false);\n fitToScreen(500);\n } else {\n setIsFullscreen(true);\n fitToScreen(600);\n }\n }, [fitToScreen, setIsFullscreen, onAnEventTrigger]);\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return useMemo(() => SharingTextsModule.Texts, []);\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = useCallback(({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n }, [classes, onClose]);\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue, onClickOutsideForPanel]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n\nexport const useSelectedElements = () => {\n const pages = usePropStore(state => state.pages);\n const activeElements = useBuilderStore(state => state.activeElements);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n\n return useMemo(() => {\n if (activeElements.length === 0) return [];\n const items = activeElements.map(itemID => {\n let foundItem = [];\n pages.forEach(page => {\n const item = page.items.find(el => el.id === itemID);\n if (item) {\n foundItem = item;\n }\n });\n const defItem = (acceptedItems[foundItem.itemType] && acceptedItems[foundItem.itemType].defaultItem) || {};\n return { ...defItem, ...foundItem };\n });\n return items;\n }, [pages, activeElements, acceptedItems]);\n};\n"],"names":["useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","usePrevious","value","ref","useFitZoom","settings","usePropStore","state","setZoom","useBuilderStore","newZoom","getZoomValue","limitZoom","reportLayoutHeight","reportLayoutWidth","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","prevVisiblePageIndex","pageRefs","observer","useMemo","window","IntersectionObserver","entries","forEach","entry","order","target","getAttribute","intersectionRatio","visiblePageIndex","parseInt","Object","keys","find","key","Math","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","fitToScreen","onAnEventTrigger","setIsFullscreen","usePresentationStore","onFullscreenChange","useCallback","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","transform","toString","useSelectedElements","pages","activeElements","acceptedItems","length","items","map","itemID","foundItem","item","el","id","defItem","itemType","defaultItem"],"mappings":"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"}
@@ -76,6 +76,7 @@ export { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg
76
76
  export { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg.js';
77
77
  export { default as fit } from '../assets/svg/fit_screen.svg.js';
78
78
  export { default as loadingCircle } from '../assets/svg/loading_circle.svg.js';
79
+ export { default as exclamationIcon } from '../assets/svg/exclamation.svg.js';
79
80
 
80
81
  // General //
81
82
  //# sourceMappingURL=icons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sources":["../../../src/utils/icons.js"],"sourcesContent":["// General //\n\nexport { default as down } from '../assets/svg/arrow_down.svg';\nexport { default as drag } from '../assets/svg/settings/drag.svg';\nexport { default as trash } from '../assets/svg/trash.svg';\nexport { default as close } from '../assets/svg/close.svg';\nexport { default as rotate } from '../assets/svg/rotate.svg';\nexport { default as customize } from '../assets/svg/customize.svg';\nexport { default as slides } from '../assets/svg/slides.svg';\nexport { default as allSlides } from '../assets/svg/all_slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.svg';\n\n// Elements //\n\nexport { default as header } from '../assets/svg/toolbox/header.svg';\nexport { default as icon } from '../assets/svg/toolbox/icon.svg';\nexport { default as image } from '../assets/svg/toolbox/image.svg';\nexport { default as label } from '../assets/svg/toolbox/label.svg';\nexport { default as shapes } from '../assets/svg/toolbox/shapes.svg';\nexport { default as table } from '../assets/svg/toolbox/table.svg';\nexport { default as textElement } from '../assets/svg/toolbox/text_element.svg';\nexport { default as text } from '../assets/svg/toolbox/text.svg';\nexport { default as star } from '../assets/svg/toolbox/star.svg';\nexport { default as email } from '../assets/svg/toolbox/email.svg';\nexport { default as singleChoice } from '../assets/svg/toolbox/single_choice.svg';\nexport { default as multipleChoice } from '../assets/svg/toolbox/multiple_choice.svg';\nexport { default as lock } from '../assets/svg/settings/lock.svg';\nexport { default as unlock } from '../assets/svg/settings/unlock.svg';\n\n// Settings //\n\nexport { default as bold } from '../assets/svg/settings/font_bold.svg';\nexport { default as italic } from '../assets/svg/settings/font_italic.svg';\nexport { default as underline } from '../assets/svg/settings/font_underline.svg';\nexport { default as alignLeft } from '../assets/svg/settings/align_left.svg';\nexport { default as alignCenter } from '../assets/svg/settings/align_center.svg';\nexport { default as alignRight } from '../assets/svg/settings/align_right.svg';\n\n// Chart Settings //\n\nexport { default as pie } from '../assets/svg/settings/chart_pie.svg';\nexport { default as bar } from '../assets/svg/settings/chart_bar.svg';\nexport { default as line } from '../assets/svg/settings/chart_line.svg';\nexport { default as basic } from '../assets/svg/settings/chart_basic.svg';\nexport { default as donut } from '../assets/svg/settings/chart_donut.svg';\nexport { default as grid } from '../assets/svg/settings/chart_grid.svg';\nexport { default as textGrid } from '../assets/svg/settings/chart_textGrid.svg';\nexport { default as column } from '../assets/svg/settings/chart_column.svg';\nexport { default as layout } from '../assets/svg/settings/layout.svg';\nexport { default as starRating } from '../assets/svg/star_rating.svg';\nexport { default as heartRating } from '../assets/svg/heart_rating.svg';\n\n// Shape Settings //\n\nexport { default as rectangleIcon } from '../assets/svg/settings/rectangle.svg';\nexport { default as ellipseIcon } from '../assets/svg/settings/ellipse.svg';\nexport { default as triangleIcon } from '../assets/svg/settings/triangle.svg';\nexport { default as starIcon } from '../assets/svg/settings/star.svg';\nexport { default as lineIcon } from '../assets/svg/settings/line.svg';\n\n// Element Menu //\n\nexport { default as duplicate } from '../assets/svg/duplicate.svg';\nexport { default as settings } from '../assets/svg/settings.svg';\n\n// Page Menu //\n\nexport { default as arrowDown } from '../assets/svg/arrow_down.svg';\nexport { default as arrowUp } from '../assets/svg/arrow_up.svg';\nexport { default as arrowLeft } from '../assets/svg/arrow_left.svg';\nexport { default as arrowRight } from '../assets/svg/arrow_right.svg';\nexport { default as duplicateLine } from '../assets/svg/page-actions/duplicate_line.svg';\nexport { default as plus } from '../assets/svg/plus.svg';\nexport { default as minus } from '../assets/svg/minus.svg';\nexport { default as trashLine } from '../assets/svg/page-actions/trash_line.svg';\nexport { default as pageSettings } from '../assets/svg/page_settings.svg';\n\n// Context Menu //\n\nexport { default as moveToFront } from '../assets/svg/contextmenu/moveToFront.svg';\nexport { default as moveToForward } from '../assets/svg/contextmenu/moveToForward.svg';\nexport { default as moveToBackward } from '../assets/svg/contextmenu/moveToBackward.svg';\nexport { default as moveToBack } from '../assets/svg/contextmenu/moveToBack.svg';\n\n// Presentation //\n\nexport { default as print } from '../assets/svg/presentation/print.svg';\nexport { default as download } from '../assets/svg/presentation/download.svg';\nexport { default as play } from '../assets/svg/presentation/play.svg';\nexport { default as enterFullscreen } from '../assets/svg/presentation/enter_fullscreen.svg';\nexport { default as exitFullscreen } from '../assets/svg/presentation/exit_fullscreen.svg';\nexport { default as pause } from '../assets/svg/presentation/pause.svg';\nexport { default as share } from '../assets/svg/presentation/share.svg';\nexport { default as attachment } from '../assets/svg/presentation/attachment.svg';\nexport { default as pen } from '../assets/svg/presentation/pen.svg';\n\n// Password Modal //\n\nexport { default as key } from '../assets/svg/presentation/key.svg';\nexport { default as eye } from '../assets/svg/presentation/eye.svg';\n\n// Placeholder //\n\nexport { default as piePlaceholder } from '../assets/svg/placeholder/pie.svg';\nexport { default as barPlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as linePlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as columnPlaceholder } from '../assets/svg/placeholder/column.svg';\nexport { default as basicPlaceholder } from '../assets/svg/placeholder/basic.svg';\nexport { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg';\nexport { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg';\n\n// Placeholder //\n\n// Zoom //\n\nexport { default as fit } from '../assets/svg/fit_screen.svg';\n\n// Zoom //\n\n// Loading //\nexport { default as loadingCircle } from '../assets/svg/loading_circle.svg';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA"}
1
+ {"version":3,"file":"icons.js","sources":["../../../src/utils/icons.js"],"sourcesContent":["// General //\n\nexport { default as down } from '../assets/svg/arrow_down.svg';\nexport { default as drag } from '../assets/svg/settings/drag.svg';\nexport { default as trash } from '../assets/svg/trash.svg';\nexport { default as close } from '../assets/svg/close.svg';\nexport { default as rotate } from '../assets/svg/rotate.svg';\nexport { default as customize } from '../assets/svg/customize.svg';\nexport { default as slides } from '../assets/svg/slides.svg';\nexport { default as allSlides } from '../assets/svg/all_slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.svg';\n\n// Elements //\n\nexport { default as header } from '../assets/svg/toolbox/header.svg';\nexport { default as icon } from '../assets/svg/toolbox/icon.svg';\nexport { default as image } from '../assets/svg/toolbox/image.svg';\nexport { default as label } from '../assets/svg/toolbox/label.svg';\nexport { default as shapes } from '../assets/svg/toolbox/shapes.svg';\nexport { default as table } from '../assets/svg/toolbox/table.svg';\nexport { default as textElement } from '../assets/svg/toolbox/text_element.svg';\nexport { default as text } from '../assets/svg/toolbox/text.svg';\nexport { default as star } from '../assets/svg/toolbox/star.svg';\nexport { default as email } from '../assets/svg/toolbox/email.svg';\nexport { default as singleChoice } from '../assets/svg/toolbox/single_choice.svg';\nexport { default as multipleChoice } from '../assets/svg/toolbox/multiple_choice.svg';\nexport { default as lock } from '../assets/svg/settings/lock.svg';\nexport { default as unlock } from '../assets/svg/settings/unlock.svg';\n\n// Settings //\n\nexport { default as bold } from '../assets/svg/settings/font_bold.svg';\nexport { default as italic } from '../assets/svg/settings/font_italic.svg';\nexport { default as underline } from '../assets/svg/settings/font_underline.svg';\nexport { default as alignLeft } from '../assets/svg/settings/align_left.svg';\nexport { default as alignCenter } from '../assets/svg/settings/align_center.svg';\nexport { default as alignRight } from '../assets/svg/settings/align_right.svg';\n\n// Chart Settings //\n\nexport { default as pie } from '../assets/svg/settings/chart_pie.svg';\nexport { default as bar } from '../assets/svg/settings/chart_bar.svg';\nexport { default as line } from '../assets/svg/settings/chart_line.svg';\nexport { default as basic } from '../assets/svg/settings/chart_basic.svg';\nexport { default as donut } from '../assets/svg/settings/chart_donut.svg';\nexport { default as grid } from '../assets/svg/settings/chart_grid.svg';\nexport { default as textGrid } from '../assets/svg/settings/chart_textGrid.svg';\nexport { default as column } from '../assets/svg/settings/chart_column.svg';\nexport { default as layout } from '../assets/svg/settings/layout.svg';\nexport { default as starRating } from '../assets/svg/star_rating.svg';\nexport { default as heartRating } from '../assets/svg/heart_rating.svg';\n\n// Shape Settings //\n\nexport { default as rectangleIcon } from '../assets/svg/settings/rectangle.svg';\nexport { default as ellipseIcon } from '../assets/svg/settings/ellipse.svg';\nexport { default as triangleIcon } from '../assets/svg/settings/triangle.svg';\nexport { default as starIcon } from '../assets/svg/settings/star.svg';\nexport { default as lineIcon } from '../assets/svg/settings/line.svg';\n\n// Element Menu //\n\nexport { default as duplicate } from '../assets/svg/duplicate.svg';\nexport { default as settings } from '../assets/svg/settings.svg';\n\n// Page Menu //\n\nexport { default as arrowDown } from '../assets/svg/arrow_down.svg';\nexport { default as arrowUp } from '../assets/svg/arrow_up.svg';\nexport { default as arrowLeft } from '../assets/svg/arrow_left.svg';\nexport { default as arrowRight } from '../assets/svg/arrow_right.svg';\nexport { default as duplicateLine } from '../assets/svg/page-actions/duplicate_line.svg';\nexport { default as plus } from '../assets/svg/plus.svg';\nexport { default as minus } from '../assets/svg/minus.svg';\nexport { default as trashLine } from '../assets/svg/page-actions/trash_line.svg';\nexport { default as pageSettings } from '../assets/svg/page_settings.svg';\n\n// Context Menu //\n\nexport { default as moveToFront } from '../assets/svg/contextmenu/moveToFront.svg';\nexport { default as moveToForward } from '../assets/svg/contextmenu/moveToForward.svg';\nexport { default as moveToBackward } from '../assets/svg/contextmenu/moveToBackward.svg';\nexport { default as moveToBack } from '../assets/svg/contextmenu/moveToBack.svg';\n\n// Presentation //\n\nexport { default as print } from '../assets/svg/presentation/print.svg';\nexport { default as download } from '../assets/svg/presentation/download.svg';\nexport { default as play } from '../assets/svg/presentation/play.svg';\nexport { default as enterFullscreen } from '../assets/svg/presentation/enter_fullscreen.svg';\nexport { default as exitFullscreen } from '../assets/svg/presentation/exit_fullscreen.svg';\nexport { default as pause } from '../assets/svg/presentation/pause.svg';\nexport { default as share } from '../assets/svg/presentation/share.svg';\nexport { default as attachment } from '../assets/svg/presentation/attachment.svg';\nexport { default as pen } from '../assets/svg/presentation/pen.svg';\n\n// Password Modal //\n\nexport { default as key } from '../assets/svg/presentation/key.svg';\nexport { default as eye } from '../assets/svg/presentation/eye.svg';\n\n// Placeholder //\n\nexport { default as piePlaceholder } from '../assets/svg/placeholder/pie.svg';\nexport { default as barPlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as linePlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as columnPlaceholder } from '../assets/svg/placeholder/column.svg';\nexport { default as basicPlaceholder } from '../assets/svg/placeholder/basic.svg';\nexport { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg';\nexport { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg';\n\n// Placeholder //\n\n// Zoom //\n\nexport { default as fit } from '../assets/svg/fit_screen.svg';\n\n// Zoom //\n\n// Loading //\nexport { default as loadingCircle } from '../assets/svg/loading_circle.svg';\n\n// Error Boundary //\n\nexport { default as exclamationIcon } from '../assets/svg/exclamation.svg';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jotforminc/dnd-builder",
3
- "version": "3.2.1",
3
+ "version": "3.4.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "index.d.ts"
@@ -29,6 +29,7 @@
29
29
  "react-dnd-multi-backend": "7.1.3",
30
30
  "react-dnd-touch-backend": "11.1.3",
31
31
  "react-dom": "18.3.0",
32
+ "react-error-boundary": "^4.0.13",
32
33
  "react-modal": "3.12.1",
33
34
  "react-quill": "1.3.5",
34
35
  "react-virtuoso": "^4.6.2",
@@ -1,101 +0,0 @@
1
- 'use strict';
2
-
3
- require('core-js/modules/es.object.get-prototype-of.js');
4
- require('core-js/modules/es.object.to-string.js');
5
- require('core-js/modules/es.regexp.to-string.js');
6
- var React = require('react');
7
- var PropTypes = require('prop-types');
8
- var jsxRuntime = require('react/jsx-runtime');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
13
-
14
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
15
-
16
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
-
18
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
19
-
20
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
21
-
22
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
23
-
24
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
25
-
26
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
27
-
28
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
29
-
30
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
31
-
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
-
34
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
35
-
36
- var ErrorBoundry = /*#__PURE__*/function (_Component) {
37
- _inherits(ErrorBoundry, _Component);
38
-
39
- var _super = _createSuper(ErrorBoundry);
40
-
41
- function ErrorBoundry(props) {
42
- var _this;
43
-
44
- _classCallCheck(this, ErrorBoundry);
45
-
46
- _this = _super.call(this, props);
47
- _this.state = {
48
- errorInfo: null,
49
- hasError: false
50
- };
51
- return _this;
52
- }
53
-
54
- _createClass(ErrorBoundry, [{
55
- key: "componentDidCatch",
56
- value: function componentDidCatch(error, errorInfo) {
57
- this.setState({
58
- errorInfo: errorInfo.componentStack
59
- });
60
- }
61
- }, {
62
- key: "render",
63
- value: function render() {
64
- var children = this.props.children;
65
- var _this$state = this.state,
66
- errorInfo = _this$state.errorInfo,
67
- hasError = _this$state.hasError;
68
-
69
- if (hasError) {
70
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
71
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
72
- children: "Something went wrong."
73
- }), /*#__PURE__*/jsxRuntime.jsxs("details", {
74
- style: {
75
- whiteSpace: 'pre-wrap'
76
- },
77
- children: [hasError && hasError.toString(), errorInfo]
78
- })]
79
- });
80
- }
81
-
82
- return children;
83
- }
84
- }], [{
85
- key: "getDerivedStateFromError",
86
- value: function getDerivedStateFromError(error) {
87
- return {
88
- hasError: error
89
- };
90
- }
91
- }]);
92
-
93
- return ErrorBoundry;
94
- }(React.Component);
95
-
96
- ErrorBoundry.propTypes = {
97
- children: PropTypes__default['default'].oneOfType([PropTypes__default['default'].arrayOf(PropTypes__default['default'].node), PropTypes__default['default'].node]).isRequired
98
- };
99
-
100
- module.exports = ErrorBoundry;
101
- //# sourceMappingURL=ErrorBoundary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ErrorBoundary.js","sources":["../../../src/components/ErrorBoundary.js"],"sourcesContent":["import { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nclass ErrorBoundry extends Component {\n constructor(props) {\n super(props);\n this.state = {\n errorInfo: null,\n hasError: false,\n };\n }\n\n static getDerivedStateFromError(error) {\n return { hasError: error };\n }\n\n componentDidCatch(error, errorInfo) {\n this.setState({ errorInfo: errorInfo.componentStack });\n }\n\n render() {\n const { children } = this.props;\n const { errorInfo, hasError } = this.state;\n if (hasError) {\n return (\n <>\n <div>Something went wrong.</div>\n <details style={{ whiteSpace: 'pre-wrap' }}>\n {hasError && hasError.toString()}\n {errorInfo}\n </details>\n </>\n );\n }\n return children;\n }\n}\n\nErrorBoundry.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n};\n\nexport default ErrorBoundry;\n"],"names":["ErrorBoundry","props","state","errorInfo","hasError","error","setState","componentStack","children","_jsxs","_jsx","whiteSpace","toString","Component","propTypes","PropTypes","oneOfType","arrayOf","node","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGMA;;;;;AACJ,wBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,SAAS,EAAE,IADA;AAEXC,MAAAA,QAAQ,EAAE;AAFC,KAAb;AAFiB;AAMlB;;;;WAMD,2BAAkBC,KAAlB,EAAyBF,SAAzB,EAAoC;AAClC,WAAKG,QAAL,CAAc;AAAEH,QAAAA,SAAS,EAAEA,SAAS,CAACI;AAAvB,OAAd;AACD;;;WAED,kBAAS;AACP,UAAQC,QAAR,GAAqB,KAAKP,KAA1B,CAAQO,QAAR;AACA,wBAAgC,KAAKN,KAArC;AAAA,UAAQC,SAAR,eAAQA,SAAR;AAAA,UAAmBC,QAAnB,eAAmBA,QAAnB;;AACA,UAAIA,QAAJ,EAAc;AACZ,4BACEK;AAAA,kCACEC;AAAA;AAAA,YADF,eAEED;AAAS,YAAA,KAAK,EAAE;AAAEE,cAAAA,UAAU,EAAE;AAAd,aAAhB;AAAA,uBACGP,QAAQ,IAAIA,QAAQ,CAACQ,QAAT,EADf,EAEGT,SAFH;AAAA,YAFF;AAAA,UADF;AASD;;AACD,aAAOK,QAAP;AACD;;;WAvBD,kCAAgCH,KAAhC,EAAuC;AACrC,aAAO;AAAED,QAAAA,QAAQ,EAAEC;AAAZ,OAAP;AACD;;;;EAXwBQ;;AAmC3Bb,YAAY,CAACc,SAAb,GAAyB;AACvBN,EAAAA,QAAQ,EAAEO,6BAAS,CAACC,SAAV,CAAoB,CAC5BD,6BAAS,CAACE,OAAV,CAAkBF,6BAAS,CAACG,IAA5B,CAD4B,EAE5BH,6BAAS,CAACG,IAFkB,CAApB,EAGPC;AAJoB,CAAzB;;;;"}
@@ -1,95 +0,0 @@
1
- import 'core-js/modules/es.object.get-prototype-of.js';
2
- import 'core-js/modules/es.object.to-string.js';
3
- import 'core-js/modules/es.regexp.to-string.js';
4
- import { Component } from 'react';
5
- import PropTypes from 'prop-types';
6
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
7
-
8
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
9
-
10
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
-
12
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
13
-
14
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
15
-
16
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
17
-
18
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
19
-
20
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
21
-
22
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
23
-
24
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
25
-
26
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
27
-
28
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
29
-
30
- var ErrorBoundry = /*#__PURE__*/function (_Component) {
31
- _inherits(ErrorBoundry, _Component);
32
-
33
- var _super = _createSuper(ErrorBoundry);
34
-
35
- function ErrorBoundry(props) {
36
- var _this;
37
-
38
- _classCallCheck(this, ErrorBoundry);
39
-
40
- _this = _super.call(this, props);
41
- _this.state = {
42
- errorInfo: null,
43
- hasError: false
44
- };
45
- return _this;
46
- }
47
-
48
- _createClass(ErrorBoundry, [{
49
- key: "componentDidCatch",
50
- value: function componentDidCatch(error, errorInfo) {
51
- this.setState({
52
- errorInfo: errorInfo.componentStack
53
- });
54
- }
55
- }, {
56
- key: "render",
57
- value: function render() {
58
- var children = this.props.children;
59
- var _this$state = this.state,
60
- errorInfo = _this$state.errorInfo,
61
- hasError = _this$state.hasError;
62
-
63
- if (hasError) {
64
- return /*#__PURE__*/jsxs(Fragment, {
65
- children: [/*#__PURE__*/jsx("div", {
66
- children: "Something went wrong."
67
- }), /*#__PURE__*/jsxs("details", {
68
- style: {
69
- whiteSpace: 'pre-wrap'
70
- },
71
- children: [hasError && hasError.toString(), errorInfo]
72
- })]
73
- });
74
- }
75
-
76
- return children;
77
- }
78
- }], [{
79
- key: "getDerivedStateFromError",
80
- value: function getDerivedStateFromError(error) {
81
- return {
82
- hasError: error
83
- };
84
- }
85
- }]);
86
-
87
- return ErrorBoundry;
88
- }(Component);
89
-
90
- ErrorBoundry.propTypes = {
91
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
92
- };
93
-
94
- export default ErrorBoundry;
95
- //# sourceMappingURL=ErrorBoundary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ErrorBoundary.js","sources":["../../../src/components/ErrorBoundary.js"],"sourcesContent":["import { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nclass ErrorBoundry extends Component {\n constructor(props) {\n super(props);\n this.state = {\n errorInfo: null,\n hasError: false,\n };\n }\n\n static getDerivedStateFromError(error) {\n return { hasError: error };\n }\n\n componentDidCatch(error, errorInfo) {\n this.setState({ errorInfo: errorInfo.componentStack });\n }\n\n render() {\n const { children } = this.props;\n const { errorInfo, hasError } = this.state;\n if (hasError) {\n return (\n <>\n <div>Something went wrong.</div>\n <details style={{ whiteSpace: 'pre-wrap' }}>\n {hasError && hasError.toString()}\n {errorInfo}\n </details>\n </>\n );\n }\n return children;\n }\n}\n\nErrorBoundry.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n};\n\nexport default ErrorBoundry;\n"],"names":["ErrorBoundry","props","state","errorInfo","hasError","error","setState","componentStack","children","_jsxs","_jsx","whiteSpace","toString","Component","propTypes","PropTypes","oneOfType","arrayOf","node","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGMA;;;;;AACJ,wBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,SAAS,EAAE,IADA;AAEXC,MAAAA,QAAQ,EAAE;AAFC,KAAb;AAFiB;AAMlB;;;;WAMD,2BAAkBC,KAAlB,EAAyBF,SAAzB,EAAoC;AAClC,WAAKG,QAAL,CAAc;AAAEH,QAAAA,SAAS,EAAEA,SAAS,CAACI;AAAvB,OAAd;AACD;;;WAED,kBAAS;AACP,UAAQC,QAAR,GAAqB,KAAKP,KAA1B,CAAQO,QAAR;AACA,wBAAgC,KAAKN,KAArC;AAAA,UAAQC,SAAR,eAAQA,SAAR;AAAA,UAAmBC,QAAnB,eAAmBA,QAAnB;;AACA,UAAIA,QAAJ,EAAc;AACZ,4BACEK;AAAA,kCACEC;AAAA;AAAA,YADF,eAEED;AAAS,YAAA,KAAK,EAAE;AAAEE,cAAAA,UAAU,EAAE;AAAd,aAAhB;AAAA,uBACGP,QAAQ,IAAIA,QAAQ,CAACQ,QAAT,EADf,EAEGT,SAFH;AAAA,YAFF;AAAA,UADF;AASD;;AACD,aAAOK,QAAP;AACD;;;WAvBD,kCAAgCH,KAAhC,EAAuC;AACrC,aAAO;AAAED,QAAAA,QAAQ,EAAEC;AAAZ,OAAP;AACD;;;;EAXwBQ;;AAmC3Bb,YAAY,CAACc,SAAb,GAAyB;AACvBN,EAAAA,QAAQ,EAAEO,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,OAAV,CAAkBF,SAAS,CAACG,IAA5B,CAD4B,EAE5BH,SAAS,CAACG,IAFkB,CAApB,EAGPC;AAJoB,CAAzB;;;;"}