@lumx/react 2.1.6-alpha.4 → 2.1.8-alpha.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 (166) hide show
  1. package/esm/_internal/AlertDialog.js +1 -2
  2. package/esm/_internal/AlertDialog.js.map +1 -1
  3. package/esm/_internal/AutocompleteMultiple.js +1 -2
  4. package/esm/_internal/AutocompleteMultiple.js.map +1 -1
  5. package/esm/_internal/Button2.js +1 -1
  6. package/esm/_internal/Checkbox2.js +1 -2
  7. package/esm/_internal/Checkbox2.js.map +1 -1
  8. package/esm/_internal/DatePickerField.js +1 -1
  9. package/esm/_internal/DragHandle.js +1 -2
  10. package/esm/_internal/DragHandle.js.map +1 -1
  11. package/esm/_internal/ExpansionPanel.js +1 -1
  12. package/esm/_internal/Icon2.js +23 -3
  13. package/esm/_internal/Icon2.js.map +1 -1
  14. package/esm/_internal/IconButton.js +1 -1
  15. package/esm/_internal/Lightbox2.js +11 -5
  16. package/esm/_internal/Lightbox2.js.map +1 -1
  17. package/esm/_internal/Link2.js +1 -1
  18. package/esm/_internal/LinkPreview.js +1 -1
  19. package/esm/_internal/LinkPreview.js.map +1 -1
  20. package/esm/_internal/Message2.js +3 -3
  21. package/esm/_internal/Message2.js.map +1 -1
  22. package/esm/_internal/Notification2.js +1 -2
  23. package/esm/_internal/Notification2.js.map +1 -1
  24. package/esm/_internal/ProgressTrackerStepPanel.js +1 -2
  25. package/esm/_internal/ProgressTrackerStepPanel.js.map +1 -1
  26. package/esm/_internal/SelectMultiple.js +1 -2
  27. package/esm/_internal/SelectMultiple.js.map +1 -1
  28. package/esm/_internal/SideNavigationItem.js +1 -2
  29. package/esm/_internal/SideNavigationItem.js.map +1 -1
  30. package/esm/_internal/SlideshowControls.js +1 -1
  31. package/esm/_internal/TabPanel.js +1 -1
  32. package/esm/_internal/TableRow.js +1 -2
  33. package/esm/_internal/TableRow.js.map +1 -1
  34. package/esm/_internal/TextField.js +3 -4
  35. package/esm/_internal/TextField.js.map +1 -1
  36. package/esm/_internal/Thumbnail2.js +1 -2
  37. package/esm/_internal/Thumbnail2.js.map +1 -1
  38. package/esm/_internal/UserBlock.js +1 -0
  39. package/esm/_internal/UserBlock.js.map +1 -1
  40. package/esm/_internal/alert-dialog.js +1 -2
  41. package/esm/_internal/alert-dialog.js.map +1 -1
  42. package/esm/_internal/autocomplete.js +1 -2
  43. package/esm/_internal/autocomplete.js.map +1 -1
  44. package/esm/_internal/avatar.js +1 -2
  45. package/esm/_internal/avatar.js.map +1 -1
  46. package/esm/_internal/button.js +1 -1
  47. package/esm/_internal/checkbox.js +1 -2
  48. package/esm/_internal/checkbox.js.map +1 -1
  49. package/esm/_internal/comment-block.js +1 -2
  50. package/esm/_internal/comment-block.js.map +1 -1
  51. package/esm/_internal/date-picker.js +1 -2
  52. package/esm/_internal/date-picker.js.map +1 -1
  53. package/esm/_internal/drag-handle.js +1 -2
  54. package/esm/_internal/drag-handle.js.map +1 -1
  55. package/esm/_internal/expansion-panel.js +1 -2
  56. package/esm/_internal/expansion-panel.js.map +1 -1
  57. package/esm/_internal/flag.js +1 -1
  58. package/esm/_internal/icon.js +1 -1
  59. package/esm/_internal/image-block.js +1 -2
  60. package/esm/_internal/image-block.js.map +1 -1
  61. package/esm/_internal/lightbox.js +1 -2
  62. package/esm/_internal/lightbox.js.map +1 -1
  63. package/esm/_internal/link-preview.js +1 -2
  64. package/esm/_internal/link-preview.js.map +1 -1
  65. package/esm/_internal/link.js +1 -1
  66. package/esm/_internal/message.js +1 -2
  67. package/esm/_internal/message.js.map +1 -1
  68. package/esm/_internal/mosaic.js +1 -2
  69. package/esm/_internal/mosaic.js.map +1 -1
  70. package/esm/_internal/notification.js +1 -2
  71. package/esm/_internal/notification.js.map +1 -1
  72. package/esm/_internal/post-block.js +1 -2
  73. package/esm/_internal/post-block.js.map +1 -1
  74. package/esm/_internal/progress-tracker.js +1 -2
  75. package/esm/_internal/progress-tracker.js.map +1 -1
  76. package/esm/_internal/select.js +1 -2
  77. package/esm/_internal/select.js.map +1 -1
  78. package/esm/_internal/side-navigation.js +1 -2
  79. package/esm/_internal/side-navigation.js.map +1 -1
  80. package/esm/_internal/slideshow.js +1 -2
  81. package/esm/_internal/slideshow.js.map +1 -1
  82. package/esm/_internal/table.js +1 -2
  83. package/esm/_internal/table.js.map +1 -1
  84. package/esm/_internal/tabs.js +1 -1
  85. package/esm/_internal/text-field.js +1 -2
  86. package/esm/_internal/text-field.js.map +1 -1
  87. package/esm/_internal/thumbnail.js +1 -2
  88. package/esm/_internal/thumbnail.js.map +1 -1
  89. package/esm/_internal/uploader.js +1 -1
  90. package/esm/_internal/user-block.js +1 -2
  91. package/esm/_internal/user-block.js.map +1 -1
  92. package/esm/index.js +1 -2
  93. package/esm/index.js.map +1 -1
  94. package/package.json +10 -15
  95. package/src/components/alert-dialog/AlertDialog.stories.tsx +9 -2
  96. package/src/components/autocomplete/AutocompleteMultiple.stories.tsx +1 -1
  97. package/src/components/avatar/__snapshots__/Avatar.test.tsx.snap +30 -30
  98. package/src/components/comment-block/__snapshots__/CommentBlock.test.tsx.snap +1 -1
  99. package/src/components/dialog/Dialog.stories.tsx +9 -2
  100. package/src/components/icon/Icon.tsx +5 -0
  101. package/src/components/image-block/ImageBlock.stories.tsx +2 -2
  102. package/src/components/image-block/__snapshots__/ImageBlock.test.tsx.snap +1 -1
  103. package/src/components/lightbox/Lightbox.stories.tsx +82 -0
  104. package/src/components/lightbox/Lightbox.tsx +12 -4
  105. package/src/components/link-preview/LinkPreview.tsx +1 -1
  106. package/src/components/link-preview/__snapshots__/LinkPreview.test.tsx.snap +2 -2
  107. package/src/components/message/Message.tsx +3 -1
  108. package/src/components/mosaic/__snapshots__/Mosaic.test.tsx.snap +18 -18
  109. package/src/components/notification/Notifications.stories.tsx +16 -10
  110. package/src/components/skeleton/SkeletonCircle.stories.tsx +1 -1
  111. package/src/components/skeleton/SkeletonRectangle.stories.tsx +1 -1
  112. package/src/components/skeleton/SkeletonTypography.stories.tsx +1 -1
  113. package/src/components/slideshow/__snapshots__/Slideshow.test.tsx.snap +12 -12
  114. package/src/components/text-field/TextField.stories.tsx +30 -0
  115. package/src/components/text-field/TextField.tsx +11 -9
  116. package/src/components/thumbnail/Thumbnail.stories.tsx +2 -2
  117. package/src/components/thumbnail/__snapshots__/Thumbnail.test.tsx.snap +5 -5
  118. package/src/components/user-block/UserBlock.stories.tsx +4 -1
  119. package/src/components/user-block/UserBlock.tsx +1 -0
  120. package/src/components/user-block/__snapshots__/UserBlock.test.tsx.snap +10 -10
  121. package/src/stories/chromaticForceScreenSize.tsx +7 -0
  122. package/src/stories/generated/Autocomplete/Demos.stories.tsx +1 -1
  123. package/src/stories/generated/Avatar/Demos.stories.tsx +1 -1
  124. package/src/stories/generated/Badge/Demos.stories.tsx +1 -1
  125. package/src/stories/generated/Button/Demos.stories.tsx +1 -1
  126. package/src/stories/generated/Checkbox/Demos.stories.tsx +1 -1
  127. package/src/stories/generated/Chip/Demos.stories.tsx +1 -1
  128. package/src/stories/generated/CommentBlock/Demos.stories.tsx +1 -1
  129. package/src/stories/generated/DatePicker/Demos.stories.tsx +1 -1
  130. package/src/stories/generated/Dialog/Demos.stories.tsx +1 -1
  131. package/src/stories/generated/Divider/Demos.stories.tsx +1 -1
  132. package/src/stories/generated/Dropdown/Demos.stories.tsx +1 -1
  133. package/src/stories/generated/ExpansionPanel/Demos.stories.tsx +1 -1
  134. package/src/stories/generated/Icon/Demos.stories.tsx +1 -1
  135. package/src/stories/generated/ImageBlock/Demos.stories.tsx +1 -1
  136. package/src/stories/generated/Lightbox/Demos.stories.tsx +1 -1
  137. package/src/stories/generated/Link/Demos.stories.tsx +1 -1
  138. package/src/stories/generated/LinkPreview/Demos.stories.tsx +1 -1
  139. package/src/stories/generated/List/Demos.stories.tsx +1 -1
  140. package/src/stories/generated/Message/Demos.stories.tsx +1 -1
  141. package/src/stories/generated/Mosaic/Demos.stories.tsx +1 -1
  142. package/src/stories/generated/Notification/Demos.stories.tsx +1 -1
  143. package/src/stories/generated/Popover/Demos.stories.tsx +1 -1
  144. package/src/stories/generated/PostBlock/Demos.stories.tsx +1 -1
  145. package/src/stories/generated/Progress/Demos.stories.tsx +1 -1
  146. package/src/stories/generated/ProgressTracker/Demos.stories.tsx +1 -1
  147. package/src/stories/generated/RadioButton/Demos.stories.tsx +1 -1
  148. package/src/stories/generated/Select/Demos.stories.tsx +1 -1
  149. package/src/stories/generated/SideNavigation/Demos.stories.tsx +1 -1
  150. package/src/stories/generated/Skeleton/Demos.stories.tsx +1 -1
  151. package/src/stories/generated/Slider/Demos.stories.tsx +1 -1
  152. package/src/stories/generated/Slideshow/Demos.stories.tsx +1 -1
  153. package/src/stories/generated/Switch/Demos.stories.tsx +1 -1
  154. package/src/stories/generated/Table/Demos.stories.tsx +1 -1
  155. package/src/stories/generated/Tabs/Demos.stories.tsx +1 -1
  156. package/src/stories/generated/TextField/Demos.stories.tsx +1 -1
  157. package/src/stories/generated/Thumbnail/Demos.stories.tsx +1 -1
  158. package/src/stories/generated/Toolbar/Demos.stories.tsx +1 -1
  159. package/src/stories/generated/Tooltip/Demos.stories.tsx +1 -1
  160. package/src/stories/generated/Uploader/Demos.stories.tsx +1 -1
  161. package/src/stories/generated/UserBlock/Demos.stories.tsx +1 -1
  162. package/src/stories/knobs/enumKnob.ts +1 -1
  163. package/src/stories/knobs/image.ts +12 -12
  164. package/src/untypped-modules.d.ts +2 -0
  165. package/esm/_internal/mdi.js +0 -22
  166. package/esm/_internal/mdi.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Thumbnail2.js","sources":["../../../src/utils/isInternetExplorer.ts","../../../../../node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../../../../../node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/element.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/global.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/process.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../../../src/hooks/useOnResize.ts","../../../src/components/thumbnail/useFocusPoint.ts","../../../src/components/thumbnail/useImageLoad.ts","../../../src/components/thumbnail/Thumbnail.tsx"],"sourcesContent":["import { WINDOW } from '@lumx/react/constants';\n\n/**\n * Check if browser is IE\n * @return Browser is IE or not\n */\nexport const isInternetExplorer = () => {\n const userAgent = WINDOW?.navigator?.userAgent;\n if (!userAgent) {\n return false;\n }\n const msie = userAgent.indexOf('MSIE ');\n const isIEVersion = !!userAgent.match(/Trident.*rv:11\\./);\n return msie > 0 || isIEVersion;\n};\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","var DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return Object.freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a, _b;\n var scope = (_b = (_a = obj) === null || _a === void 0 ? void 0 : _a.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return Object.freeze({\n inlineSize: (switchSizes ? blockSize : inlineSize) || 0,\n blockSize: (switchSizes ? inlineSize : blockSize) || 0\n });\n};\nvar zeroBoxes = Object.freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = Object.freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = [boxes.borderBoxSize];\n this.contentBoxSize = [boxes.contentBoxSize];\n this.devicePixelContentBoxSize = [boxes.devicePixelContentBoxSize];\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\" + (toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { Callback, Falsy } from '@lumx/react/utils';\nimport { MutableRefObject, RefObject, useEffect, useRef } from 'react';\nimport { WINDOW } from '@lumx/react/constants';\nimport { ResizeObserver as Polyfill } from '@juggle/resize-observer';\n\nconst ResizeObserver: typeof Polyfill = (WINDOW as any)?.ResizeObserver || Polyfill;\n\nexport function useOnResize(element: HTMLElement | Falsy, update: RefObject<Callback>): void {\n const observerRef = useRef(null) as MutableRefObject<Polyfill | null>;\n const previousSize = useRef<{ width: number; height: number }>();\n\n useEffect(() => {\n if (!element || !update) {\n return undefined;\n }\n\n previousSize.current = undefined;\n const observer =\n observerRef.current ||\n new ResizeObserver(([entry]) => {\n const updateFunction = update.current;\n if (!updateFunction) {\n return;\n }\n\n const { width, height } = entry.contentRect;\n if (previousSize.current?.width === width && previousSize.current?.height === height) {\n return;\n }\n\n window.requestAnimationFrame(() => updateFunction());\n previousSize.current = entry.contentRect;\n });\n if (!observerRef.current) observerRef.current = observer;\n\n observer.observe(element);\n return () => {\n observer.unobserve(element);\n };\n }, [element, update]);\n}\n","import { CSSProperties, MutableRefObject, RefObject, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { useOnResize } from '@lumx/react/hooks/useOnResize';\nimport { AspectRatio } from '@lumx/react';\nimport { clamp } from '@lumx/react/utils/clamp';\nimport { LoadingState } from '@lumx/react/components/thumbnail/useImageLoad';\nimport { Callback } from '@lumx/react/utils';\nimport { isEqual } from 'lodash';\nimport { FocusPoint } from './types';\n\nconst IMG_STYLES: CSSProperties = {\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n minHeight: '100%',\n minWidth: '100%',\n};\n\nconst WRAPPER_STYLES: CSSProperties = {\n overflow: 'hidden',\n position: 'relative',\n};\n\ntype Sizes = {\n imgWidth?: number;\n imgHeight?: number;\n containerWidth?: number;\n containerHeight?: number;\n aspectRatio?: AspectRatio;\n};\n\nfunction calculateSizes(\n imageElement?: HTMLImageElement | null | undefined,\n parentElement?: HTMLElement | null,\n aspectRatio?: AspectRatio,\n): Sizes | undefined {\n if (!imageElement || !parentElement || !aspectRatio || aspectRatio === AspectRatio.original) return undefined;\n const { naturalWidth: imgWidth, naturalHeight: imgHeight } = imageElement || { naturalWidth: 0, naturalHeight: 0 };\n const { width: containerWidth, height: containerHeight } = parentElement?.getBoundingClientRect() || {\n width: 0,\n height: 0,\n };\n return { imgWidth, imgHeight, containerWidth, containerHeight, aspectRatio };\n}\n\nconst parseFocusPoint = (point: FocusPoint = {}): Required<FocusPoint> => {\n return { x: point.x ? clamp(point.x, -1, 1) : 0, y: point.y ? clamp(point.y, -1, 1) : 0 };\n};\n\nfunction calculateImageShift(\n containerToImageSizeRatio: number,\n containerSize: number,\n imageSize: number,\n focusSize: number,\n toMinus?: boolean,\n) {\n const containerCenter = Math.floor(containerSize / 2); // Container center in px\n const focusFactor = (focusSize + 1) / 2; // Focus point of resize image in px\n const scaledImage = Math.floor(imageSize / containerToImageSizeRatio); // Can't use width() as images may be display:none\n let focus = Math.floor(focusFactor * scaledImage);\n if (toMinus) {\n focus = scaledImage - focus;\n }\n let focusOffset = focus - containerCenter; // Calculate difference between focus point and center\n const remainder = scaledImage - focus; // Reduce offset if necessary so image remains filled\n const containerRemainder = containerSize - containerCenter;\n if (remainder < containerRemainder) {\n focusOffset -= containerRemainder - remainder;\n }\n if (focusOffset < 0) {\n focusOffset = 0;\n }\n return (focusOffset * -100) / containerSize;\n}\n\ntype Styles = { wrapper: CSSProperties; image: CSSProperties };\n\nfunction calculateImageStyle(sizes: Sizes, point: Required<FocusPoint>): Styles | undefined {\n if (!sizes.imgWidth || !sizes.imgHeight || !sizes.containerWidth || !sizes.containerHeight) {\n return undefined;\n }\n\n // Which is over by more?\n const widthRatio = sizes.imgWidth / sizes.containerWidth;\n const heightRatio = sizes.imgHeight / sizes.containerHeight;\n\n const image: CSSProperties = { ...IMG_STYLES };\n\n // Minimize image while still filling space\n if (sizes.imgWidth > sizes.containerWidth && sizes.imgHeight > sizes.containerHeight) {\n image[widthRatio > heightRatio ? 'maxHeight' : 'maxWidth'] = '100%';\n }\n\n if (widthRatio > heightRatio) {\n image.left = `${calculateImageShift(heightRatio, sizes.containerWidth, sizes.imgWidth, point.x)}%`;\n } else if (widthRatio < heightRatio) {\n image.top = `${calculateImageShift(widthRatio, sizes.containerHeight, sizes.imgHeight, point.y, true)}%`;\n }\n\n return {\n image,\n wrapper: WRAPPER_STYLES,\n };\n}\n\n/**\n * Hook that calculate CSS style to shift the image in it's container according to the focus point.\n */\nexport const useFocusPoint = (options: {\n image: string;\n focusPoint?: FocusPoint;\n aspectRatio?: AspectRatio;\n imgRef: RefObject<HTMLImageElement>;\n loadingState: LoadingState;\n wrapper?: HTMLElement;\n}): Styles | undefined => {\n const { image, aspectRatio, focusPoint, imgRef, loadingState, wrapper } = options;\n\n const point = parseFocusPoint(focusPoint);\n\n const previousPoint = useRef<Required<FocusPoint>>();\n const previousSizes = useRef<Sizes>({});\n const [style, setStyle] = useState<Styles>();\n\n // Update style.\n const updateRef = useRef<Callback>(null);\n const update = useMemo(\n () => {\n const updateFunction = () => {\n const sizes = calculateSizes(imgRef?.current, wrapper, aspectRatio);\n if (!sizes || (isEqual(sizes, previousSizes.current) && isEqual(point, previousPoint.current))) {\n // Nothing changed.\n return;\n }\n setStyle(calculateImageStyle(sizes, point));\n previousPoint.current = point;\n previousSizes.current = sizes;\n };\n (updateRef as MutableRefObject<Callback>).current = updateFunction;\n return updateFunction;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [...Object.values(point), imgRef, wrapper, aspectRatio],\n );\n\n // Update on image loaded.\n useLayoutEffect(update, [image, update, loadingState]);\n\n // Update on parent resize.\n useOnResize(wrapper, updateRef);\n\n return style;\n};\n","import { RefObject, useCallback, useEffect, useState } from 'react';\n\nexport type LoadingState = 'isLoading' | 'isLoaded' | 'hasError';\n\nexport function useImageLoad(imgRef?: RefObject<HTMLImageElement>): LoadingState {\n const [state, setState] = useState<LoadingState>('isLoading');\n\n const update = useCallback(\n (event?: any) => {\n const img = imgRef?.current;\n if (!img || !img.complete) {\n setState('isLoading');\n return;\n }\n\n if (event?.type === 'error' || (img.complete && img?.naturalWidth === 0)) {\n setState('hasError');\n return;\n }\n\n setState('isLoaded');\n },\n [imgRef],\n );\n\n useEffect(() => {\n const img = imgRef?.current;\n if (!img) return undefined;\n\n update();\n img.addEventListener('load', update);\n img.addEventListener('error', update);\n return () => {\n img.removeEventListener('load', update);\n img.removeEventListener('error', update);\n };\n }, [update, imgRef, imgRef?.current?.src]);\n return state;\n}\n","import React, {\n forwardRef,\n ImgHTMLAttributes,\n KeyboardEventHandler,\n MouseEventHandler,\n ReactElement,\n ReactNode,\n Ref,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { AspectRatio, HorizontalAlignment, Icon, Size, Theme } from '@lumx/react';\n\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\n\nimport { mdiImageBrokenVariant } from '@lumx/icons';\nimport { isInternetExplorer } from '@lumx/react/utils/isInternetExplorer';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport { useFocusPoint } from '@lumx/react/components/thumbnail/useFocusPoint';\nimport { useImageLoad } from '@lumx/react/components/thumbnail/useImageLoad';\nimport { FocusPoint, ThumbnailSize, ThumbnailVariant } from './types';\n\ntype ImgHTMLProps = ImgHTMLAttributes<HTMLImageElement>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ThumbnailProps extends GenericProps {\n /** Alignment of the thumbnail in it's parent (requires flex parent). */\n align?: HorizontalAlignment;\n /** Image alternative text. */\n alt: string;\n /** Image aspect ratio. */\n aspectRatio?: AspectRatio;\n /** Badge. */\n badge?: ReactElement;\n /** Image cross origin resource policy. */\n crossOrigin?: ImgHTMLProps['crossOrigin'];\n /** Fallback icon (SVG path) or react node when image fails to load. */\n fallback?: string | ReactNode;\n /** Whether the thumbnail should fill it's parent size (requires flex parent) or not. */\n fillHeight?: boolean;\n /** Apply relative vertical and horizontal shift (from -1 to 1) on the image position inside the thumbnail. */\n focusPoint?: FocusPoint;\n /** Image URL. */\n image: string;\n /** Props to inject into the native <img> element. */\n imgProps?: ImgHTMLProps;\n /** Reference to the native <img> element. */\n imgRef?: Ref<HTMLImageElement>;\n /** Size variant of the component. */\n size?: ThumbnailSize;\n /** Image loading mode. */\n loading?: ImgHTMLProps['loading'];\n /** On click callback. */\n onClick?: MouseEventHandler<HTMLDivElement>;\n /** On key press callback. */\n onKeyPress?: KeyboardEventHandler<HTMLDivElement>;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** Variant of the component. */\n variant?: ThumbnailVariant;\n /** Props to pass to the link wrapping the thumbnail. */\n linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Thumbnail';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ThumbnailProps> = {\n fallback: mdiImageBrokenVariant,\n loading: 'lazy',\n theme: Theme.light,\n};\n\n/**\n * Thumbnail component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Thumbnail: Comp<ThumbnailProps> = forwardRef((props, ref) => {\n const {\n align,\n alt,\n aspectRatio,\n badge,\n className,\n crossOrigin,\n fallback,\n fillHeight,\n focusPoint,\n image,\n imgProps,\n imgRef: propImgRef,\n loading,\n size,\n theme,\n variant,\n linkProps,\n linkAs,\n ...forwardedProps\n } = props;\n const imgRef = useRef<HTMLImageElement>(null);\n\n // Image loading state.\n const loadingState = useImageLoad(imgRef);\n const hasError = loadingState === 'hasError';\n const isLoading = loadingState === 'isLoading';\n\n const [wrapper, setWrapper] = useState<HTMLElement>();\n\n const isLink = Boolean(linkProps?.href || linkAs);\n const isButton = !!forwardedProps.onClick;\n const isClickable = isButton || isLink;\n\n let Wrapper: any = 'div';\n const wrapperProps = { ...forwardedProps };\n if (isLink) {\n Wrapper = linkAs || 'a';\n Object.assign(wrapperProps, linkProps);\n } else if (isButton) {\n Wrapper = 'button';\n }\n\n // Update img style according to focus point and aspect ratio.\n const style = useFocusPoint({ image, focusPoint, aspectRatio, imgRef, loadingState, wrapper });\n\n return (\n <Wrapper\n {...wrapperProps}\n ref={mergeRefs(setWrapper, ref) as any}\n className={classNames(\n linkProps?.className,\n className,\n handleBasicClasses({\n align,\n aspectRatio,\n prefix: CLASSNAME,\n size,\n theme,\n variant,\n isClickable,\n hasBadge: !!badge,\n }),\n isLoading && wrapper?.getBoundingClientRect()?.height && 'lumx-color-background-dark-L6',\n fillHeight && `${CLASSNAME}--fill-height`,\n )}\n >\n <div\n className={`${CLASSNAME}__background`}\n style={{\n ...style?.wrapper,\n // Remove from layout if image not loaded correctly (use fallback)\n display: hasError ? 'none' : undefined,\n // Hide while loading.\n visibility: isLoading ? 'hidden' : undefined,\n }}\n >\n <img\n {...imgProps}\n style={{\n ...imgProps?.style,\n ...style?.image,\n }}\n ref={mergeRefs(imgRef, propImgRef)}\n className={style?.image ? `${CLASSNAME}__focused-image` : `${CLASSNAME}__image`}\n crossOrigin={crossOrigin && !isInternetExplorer() ? crossOrigin : undefined}\n src={image}\n alt={alt}\n loading={loading}\n />\n </div>\n {hasError &&\n (typeof fallback === 'string' ? (\n <Icon className={`${CLASSNAME}__fallback`} icon={fallback} size={size || Size.m} theme={theme} />\n ) : (\n <div className={`${CLASSNAME}__fallback`}>{fallback}</div>\n ))}\n {badge &&\n React.cloneElement(badge, { className: classNames(`${CLASSNAME}__badge`, badge.props.className) })}\n </Wrapper>\n );\n});\nThumbnail.displayName = COMPONENT_NAME;\nThumbnail.className = CLASSNAME;\nThumbnail.defaultProps = DEFAULT_PROPS;\n"],"names":["isInternetExplorer","userAgent","WINDOW","navigator","msie","indexOf","isIEVersion","match","ResizeObserver","Polyfill","useOnResize","element","update","observerRef","useRef","previousSize","useEffect","undefined","current","observer","entry","updateFunction","contentRect","width","height","window","requestAnimationFrame","observe","unobserve","IMG_STYLES","bottom","left","position","right","top","minHeight","minWidth","WRAPPER_STYLES","overflow","calculateSizes","imageElement","parentElement","aspectRatio","AspectRatio","original","naturalWidth","naturalHeight","imgWidth","imgHeight","getBoundingClientRect","containerWidth","containerHeight","parseFocusPoint","point","x","clamp","y","calculateImageShift","containerToImageSizeRatio","containerSize","imageSize","focusSize","toMinus","containerCenter","Math","floor","focusFactor","scaledImage","focus","focusOffset","remainder","containerRemainder","calculateImageStyle","sizes","widthRatio","heightRatio","image","wrapper","useFocusPoint","options","focusPoint","imgRef","loadingState","previousPoint","previousSizes","useState","style","setStyle","updateRef","useMemo","isEqual","Object","values","useLayoutEffect","useImageLoad","state","setState","useCallback","event","img","complete","type","addEventListener","removeEventListener","src","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","fallback","mdiImageBrokenVariant","loading","theme","Theme","light","Thumbnail","forwardRef","props","ref","align","alt","badge","className","crossOrigin","fillHeight","imgProps","propImgRef","size","variant","linkProps","linkAs","forwardedProps","hasError","isLoading","setWrapper","isLink","Boolean","href","isButton","onClick","isClickable","Wrapper","wrapperProps","assign","mergeRefs","classNames","handleBasicClasses","prefix","hasBadge","display","visibility","Size","m","React","cloneElement","displayName","defaultProps"],"mappings":";;;;;;;;;;;AAEA;;;;;AAIO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAAA;;AACpC,MAAMC,SAAS,GAAGC,MAAH,aAAGA,MAAH,4CAAGA,MAAM,CAAEC,SAAX,sDAAG,kBAAmBF,SAArC;;AACA,MAAI,CAACA,SAAL,EAAgB;AACZ,WAAO,KAAP;AACH;;AACD,MAAMG,IAAI,GAAGH,SAAS,CAACI,OAAV,CAAkB,OAAlB,CAAb;AACA,MAAMC,WAAW,GAAG,CAAC,CAACL,SAAS,CAACM,KAAV,CAAgB,kBAAhB,CAAtB;AACA,SAAOH,IAAI,GAAG,CAAP,IAAYE,WAAnB;AACH,CARM;;ACNP,IAAI,eAAe,GAAG,EAAE;;ACCxB,IAAI,qBAAqB,GAAG,YAAY;AACxC,IAAI,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC;;ACFD,IAAI,sBAAsB,GAAG,YAAY;AACzC,IAAI,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC;;ACHD,IAAI,GAAG,GAAG,+DAA+D,CAAC;AAC1E,IAAI,sBAAsB,GAAG,YAAY;AACzC,IAAI,IAAI,KAAK,CAAC;AACd,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC1C,QAAQ,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE;AACxC,YAAY,OAAO,EAAE,GAAG;AACxB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,SAAS;AACT,QAAQ,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9C,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/C,QAAQ,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AAC5B,KAAK;AACL,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;;ACdD,IAAI,wBAAwB,CAAC;AAC7B,CAAC,UAAU,wBAAwB,EAAE;AACrC,IAAI,wBAAwB,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AAC1D,IAAI,wBAAwB,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAC5D,IAAI,wBAAwB,CAAC,0BAA0B,CAAC,GAAG,0BAA0B,CAAC;AACtF,CAAC,EAAE,wBAAwB,KAAK,wBAAwB,GAAG,EAAE,CAAC,CAAC;;ACL/D,IAAI,eAAe,IAAI,YAAY;AACnC,IAAI,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;AAClD,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACnB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACnB,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC7C,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AAC5C,QAAQ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK;AACL,IAAI,eAAe,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY;AACnD,QAAQ,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACpJ,QAAQ,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAChH,KAAK,CAAC;AACN,IAAI,eAAe,CAAC,QAAQ,GAAG,UAAU,SAAS,EAAE;AACpD,QAAQ,OAAO,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAChG,KAAK,CAAC;AACN,IAAI,OAAO,eAAe,CAAC;AAC3B,CAAC,EAAE,CAAC;;ACpBJ,IAAI,KAAK,GAAG,UAAU,MAAM,EAAE,EAAE,OAAO,MAAM,YAAY,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;AAC9F,IAAI,QAAQ,GAAG,UAAU,MAAM,EAAE;AACjC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;AACvB,QAAQ,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACxE,QAAQ,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,EAAE,GAAG,MAAM,EAAE,WAAW,GAAG,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;AAClF,IAAI,OAAO,EAAE,WAAW,IAAI,YAAY,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,UAAU,GAAG,EAAE;AAC/B,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;AACf,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;AAC5I,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,GAAG,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC,CAAC;AACF,IAAI,iBAAiB,GAAG,UAAU,MAAM,EAAE;AAC1C,IAAI,QAAQ,MAAM,CAAC,OAAO;AAC1B,QAAQ,KAAK,OAAO;AACpB,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AACzC,gBAAgB,MAAM;AACtB,aAAa;AACb,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,QAAQ,CAAC;AACtB,QAAQ,KAAK,QAAQ,CAAC;AACtB,QAAQ,KAAK,QAAQ,CAAC;AACtB,QAAQ,KAAK,KAAK;AAClB,YAAY,OAAO,IAAI,CAAC;AACxB,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC;;AC9BM,IAAI,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,EAAE;;ACI/D,IAAI,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,IAAI,YAAY,GAAG,aAAa,CAAC;AACjC,IAAI,cAAc,GAAG,cAAc,CAAC;AACpC,IAAI,EAAE,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAChF,IAAI,cAAc,GAAG,UAAU,KAAK,EAAE,EAAE,OAAO,UAAU,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;AAC3E,IAAI,IAAI,GAAG,UAAU,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE;AACzD,IAAI,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE;AAClD,IAAI,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE;AAChD,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,EAAE;AACxD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB,QAAQ,UAAU,EAAE,CAAC,WAAW,GAAG,SAAS,GAAG,UAAU,KAAK,CAAC;AAC/D,QAAQ,SAAS,EAAE,CAAC,WAAW,GAAG,UAAU,GAAG,SAAS,KAAK,CAAC;AAC9D,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;AAC9B,IAAI,yBAAyB,EAAE,IAAI,EAAE;AACrC,IAAI,aAAa,EAAE,IAAI,EAAE;AACzB,IAAI,cAAc,EAAE,IAAI,EAAE;AAC1B,IAAI,WAAW,EAAE,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AACH,IAAI,iBAAiB,GAAG,UAAU,MAAM,EAAE,kBAAkB,EAAE;AAC9D,IAAI,IAAI,kBAAkB,KAAK,KAAK,CAAC,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,EAAE;AACtE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAClD,QAAQ,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAQ,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACrC,QAAQ,OAAO,SAAS,CAAC;AACzB,KAAK;AACL,IAAI,IAAI,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1E,IAAI,IAAI,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,KAAK,YAAY,CAAC;AAC7D,IAAI,IAAI,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,mBAAmB,GAAG,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAC5E,IAAI,IAAI,qBAAqB,GAAG,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAC9E,IAAI,IAAI,UAAU,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;AAC7D,IAAI,IAAI,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;AACjE,IAAI,IAAI,aAAa,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;AACnE,IAAI,IAAI,WAAW,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAC/D,IAAI,IAAI,SAAS,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;AAChE,IAAI,IAAI,WAAW,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;AACpE,IAAI,IAAI,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;AACtE,IAAI,IAAI,UAAU,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;AAClE,IAAI,IAAI,iBAAiB,GAAG,WAAW,GAAG,YAAY,CAAC;AACvD,IAAI,IAAI,eAAe,GAAG,UAAU,GAAG,aAAa,CAAC;AACrD,IAAI,IAAI,oBAAoB,GAAG,UAAU,GAAG,WAAW,CAAC;AACxD,IAAI,IAAI,kBAAkB,GAAG,SAAS,GAAG,YAAY,CAAC;AACtD,IAAI,IAAI,4BAA4B,GAAG,CAAC,qBAAqB,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;AACnI,IAAI,IAAI,0BAA0B,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC;AAC/H,IAAI,IAAI,cAAc,GAAG,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,CAAC,CAAC;AACtF,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,eAAe,GAAG,kBAAkB,GAAG,CAAC,CAAC;AACnF,IAAI,IAAI,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,cAAc,GAAG,0BAA0B,CAAC;AAChH,IAAI,IAAI,aAAa,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,eAAe,GAAG,4BAA4B,CAAC;AACtH,IAAI,IAAI,cAAc,GAAG,YAAY,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,oBAAoB,CAAC;AAC9G,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,eAAe,GAAG,4BAA4B,GAAG,kBAAkB,CAAC;AAC9G,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;AAC9B,QAAQ,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,gBAAgB,CAAC,EAAE,WAAW,CAAC;AAC/I,QAAQ,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,CAAC;AACzE,QAAQ,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;AACtE,QAAQ,WAAW,EAAE,IAAI,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC;AAC9F,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7B,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAG,UAAU,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE;AAC1E,IAAI,IAAI,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,cAAc,GAAG,EAAE,CAAC,cAAc,EAAE,yBAAyB,GAAG,EAAE,CAAC,yBAAyB,CAAC;AAC3L,IAAI,QAAQ,WAAW;AACvB,QAAQ,KAAK,wBAAwB,CAAC,wBAAwB;AAC9D,YAAY,OAAO,yBAAyB,CAAC;AAC7C,QAAQ,KAAK,wBAAwB,CAAC,UAAU;AAChD,YAAY,OAAO,aAAa,CAAC;AACjC,QAAQ;AACR,YAAY,OAAO,cAAc,CAAC;AAClC,KAAK;AACL,CAAC;;AC7ED,IAAI,mBAAmB,IAAI,YAAY;AACvC,IAAI,SAAS,mBAAmB,CAAC,MAAM,EAAE;AACzC,QAAQ,IAAI,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;AAC7C,QAAQ,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACnD,QAAQ,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,IAAI,CAAC,yBAAyB,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC3E,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC;AAC/B,CAAC,EAAE,CAAC;;ACVJ,IAAI,qBAAqB,GAAG,UAAU,IAAI,EAAE;AAC5C,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;AACxB,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AAClB,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;AACjC,IAAI,OAAO,MAAM,EAAE;AACnB,QAAQ,KAAK,IAAI,CAAC,CAAC;AACnB,QAAQ,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;AACnC,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC;;ACRD,IAAI,2BAA2B,GAAG,YAAY;AAC9C,IAAI,IAAI,eAAe,GAAG,QAAQ,CAAC;AACnC,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC;AACvB,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,EAAE,EAAE;AACzD,QAAQ,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,GAAG,EAAE,CAAC;AACzB,QAAQ,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,EAAE,EAAE;AAC5D,YAAY,IAAI,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC3D,YAAY,IAAI,WAAW,GAAG,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC/D,YAAY,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,YAAY,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;AAC9E,YAAY,IAAI,WAAW,GAAG,eAAe,EAAE;AAC/C,gBAAgB,eAAe,GAAG,WAAW,CAAC;AAC9C,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,SAAS,CAAC,IAAI,CAAC,SAAS,sBAAsB,GAAG;AACzD,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AAChE,SAAS,CAAC,CAAC;AACX,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5D,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC7E,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AACvC,QAAQ,QAAQ,EAAE,CAAC;AACnB,KAAK;AACL,IAAI,OAAO,eAAe,CAAC;AAC3B,CAAC;;AC7BD,IAAI,+BAA+B,GAAG,UAAU,KAAK,EAAE;AACvD,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,EAAE,EAAE;AACzD,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5D,QAAQ,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC9D,QAAQ,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,EAAE,EAAE;AACjE,YAAY,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;AAC/B,gBAAgB,IAAI,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE;AAC9D,oBAAoB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;;ACZD,IAAI,OAAO,GAAG,YAAY;AAC1B,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AAClB,IAAI,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAC3C,IAAI,OAAO,qBAAqB,EAAE,EAAE;AACpC,QAAQ,KAAK,GAAG,2BAA2B,EAAE,CAAC;AAC9C,QAAQ,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,IAAI,sBAAsB,EAAE,EAAE;AAClC,QAAQ,sBAAsB,EAAE,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC;AACrB,CAAC;;AChBD,IAAI,OAAO,CAAC;AACZ,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,IAAI,MAAM,GAAG,YAAY,EAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACjG,IAAI,cAAc,GAAG,UAAU,QAAQ,EAAE;AACzC,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;AAC/C,QAAQ,IAAI,MAAM,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAC7C,QAAQ,IAAI,gBAAgB,CAAC,YAAY,EAAE,OAAO,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrF,QAAQ,OAAO,GAAG,YAAY,EAAE,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,QAAQ,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;AAChG,KAAK;AACL,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7B,IAAI,OAAO,EAAE,CAAC;AACd,CAAC;;ACZD,IAAI,mBAAmB,GAAG,UAAU,EAAE,EAAE;AACxC,IAAI,cAAc,CAAC,SAAS,cAAc,GAAG;AAC7C,QAAQ,qBAAqB,CAAC,EAAE,CAAC,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACFD,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAI,UAAU,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpD,IAAI,YAAY,GAAG,GAAG,CAAC;AACvB,IAAI,cAAc,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC/F,IAAI,MAAM,GAAG;AACb,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,OAAO;AACX,CAAC,CAAC;AACF,IAAI,IAAI,GAAG,UAAU,OAAO,EAAE;AAC9B,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE;AAC5C,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;AAChC,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,SAAS,IAAI,YAAY;AAC7B,IAAI,SAAS,SAAS,GAAG;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,QAAQ,IAAI,CAAC,QAAQ,GAAG,YAAY,EAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;AACjE,KAAK;AACL,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,OAAO,EAAE;AACjD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,YAAY,CAAC,EAAE;AAC3D,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,SAAS,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,QAAQ,mBAAmB,CAAC,YAAY;AACxC,YAAY,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAC5C,YAAY,IAAI;AAChB,gBAAgB,mBAAmB,GAAG,OAAO,EAAE,CAAC;AAChD,aAAa;AACb,oBAAoB;AACpB,gBAAgB,SAAS,GAAG,KAAK,CAAC;AAClC,gBAAgB,OAAO,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC;AACzC,gBAAgB,IAAI,CAAC,UAAU,EAAE,EAAE;AACnC,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,IAAI,mBAAmB,EAAE;AACzC,oBAAoB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,iBAAiB;AACjB,qBAAqB,IAAI,OAAO,GAAG,CAAC,EAAE;AACtC,oBAAoB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvC,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,KAAK,CAAC,KAAK,EAAE,CAAC;AAClC,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;AACpB,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;AACnB,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY;AAC9C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,EAAE,GAAG,YAAY,EAAE,OAAO,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;AACjH,QAAQ,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY;AAC5C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACjC,YAAY,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChE,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;AAC3B,YAAY,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5G,SAAS;AACT,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,GAAG,YAAY;AAC3C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3B,YAAY,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;AACxD,YAAY,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/G,YAAY,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC,EAAE,CAAC,CAAC;AACL,IAAI,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAChC,IAAI,WAAW,GAAG,UAAU,CAAC,EAAE;AAC/B,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;AAC5C,IAAI,QAAQ,IAAI,CAAC,CAAC;AAClB,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;;AC/FD,IAAI,mBAAmB,GAAG,UAAU,MAAM,EAAE;AAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;AACzB,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACrC,WAAW,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;AACzD,CAAC,CAAC;AACF,IAAI,iBAAiB,IAAI,YAAY;AACrC,IAAI,SAAS,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE;AACpD,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,wBAAwB,CAAC,WAAW,CAAC;AAC/E,QAAQ,IAAI,CAAC,gBAAgB,GAAG;AAChC,YAAY,UAAU,EAAE,CAAC;AACzB,YAAY,SAAS,EAAE,CAAC;AACxB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,iBAAiB,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AACvD,QAAQ,IAAI,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACzE,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC9C,YAAY,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACzC,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;AAChE,eAAe,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;AACnE,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK,CAAC;AACN,IAAI,OAAO,iBAAiB,CAAC;AAC7B,CAAC,EAAE,CAAC;;AC7BJ,IAAI,oBAAoB,IAAI,YAAY;AACxC,IAAI,SAAS,oBAAoB,CAAC,cAAc,EAAE,QAAQ,EAAE;AAC5D,QAAQ,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAChC,QAAQ,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACjC,QAAQ,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AACrC,QAAQ,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;AACvC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,oBAAoB,CAAC;AAChC,CAAC,EAAE,CAAC;;ACLJ,IAAI,WAAW,GAAG,IAAI,OAAO,EAAE,CAAC;AAChC,IAAI,mBAAmB,GAAG,UAAU,kBAAkB,EAAE,MAAM,EAAE;AAChE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3D,QAAQ,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE;AACrD,YAAY,OAAO,CAAC,CAAC;AACrB,SAAS;AACT,KAAK;AACL,IAAI,OAAO,CAAC,CAAC,CAAC;AACd,CAAC,CAAC;AACF,IAAI,wBAAwB,IAAI,YAAY;AAC5C,IAAI,SAAS,wBAAwB,GAAG;AACxC,KAAK;AACL,IAAI,wBAAwB,CAAC,OAAO,GAAG,UAAU,cAAc,EAAE,QAAQ,EAAE;AAC3E,QAAQ,IAAI,MAAM,GAAG,IAAI,oBAAoB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AACxE,QAAQ,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAChD,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,OAAO,GAAG,UAAU,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE;AAClF,QAAQ,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,IAAI,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;AACtE,QAAQ,IAAI,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;AACxE,YAAY,gBAAgB,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7D,YAAY,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAClG,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC;AAC3B,YAAY,SAAS,CAAC,QAAQ,EAAE,CAAC;AACjC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,SAAS,GAAG,UAAU,cAAc,EAAE,MAAM,EAAE;AAC3E,QAAQ,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,IAAI,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAC3E,QAAQ,IAAI,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;AACrE,QAAQ,IAAI,KAAK,IAAI,CAAC,EAAE;AACxB,YAAY,eAAe,IAAI,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1F,YAAY,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACvD,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,UAAU,GAAG,UAAU,cAAc,EAAE;AACpE,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AACxH,QAAQ,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACpE,KAAK,CAAC;AACN,IAAI,OAAO,wBAAwB,CAAC;AACpC,CAAC,EAAE,CAAC;;AC7CJ,IAAI,cAAc,IAAI,YAAY;AAClC,IAAI,SAAS,cAAc,CAAC,QAAQ,EAAE;AACtC,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,gFAAgF,CAAC,CAAC;AAClH,SAAS;AACT,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC5C,YAAY,MAAM,IAAI,SAAS,CAAC,+FAA+F,CAAC,CAAC;AACjI,SAAS;AACT,QAAQ,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,MAAM,EAAE,OAAO,EAAE;AAClE,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,2FAA2F,CAAC,CAAC;AAC7H,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AAChC,YAAY,MAAM,IAAI,SAAS,CAAC,sFAAsF,CAAC,CAAC;AACxH,SAAS;AACT,QAAQ,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,MAAM,EAAE;AAC3D,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,6FAA6F,CAAC,CAAC;AAC/H,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AAChC,YAAY,MAAM,IAAI,SAAS,CAAC,wFAAwF,CAAC,CAAC;AAC1H,SAAS;AACT,QAAQ,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzD,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,UAAU,GAAG,YAAY;AACtD,QAAQ,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAClD,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,QAAQ,GAAG,YAAY;AAC1C,QAAQ,OAAO,gDAAgD,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,OAAO,cAAc,CAAC;AAC1B,CAAC,EAAE,CAAC;;;AChCJ,IAAME,gBAA+B,GAAG,SAACN,MAAD,8CAAiBM,cAAjB,KAAmCC,cAA3E;AAEO,SAASC,WAAT,CAAqBC,OAArB,EAAmDC,MAAnD,EAAsF;AACzF,MAAMC,WAAW,GAAGC,MAAM,CAAC,IAAD,CAA1B;AACA,MAAMC,YAAY,GAAGD,MAAM,EAA3B;AAEAE,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAI,CAACL,OAAD,IAAY,CAACC,MAAjB,EAAyB;AACrB,aAAOK,SAAP;AACH;;AAEDF,IAAAA,YAAY,CAACG,OAAb,GAAuBD,SAAvB;AACA,QAAME,QAAQ,GACVN,WAAW,CAACK,OAAZ,IACA,IAAIV,gBAAJ,CAAmB,iBAAa;AAAA;;AAAA;AAAA,UAAXY,KAAW;;AAC5B,UAAMC,cAAc,GAAGT,MAAM,CAACM,OAA9B;;AACA,UAAI,CAACG,cAAL,EAAqB;AACjB;AACH;;AAJ2B,+BAMFD,KAAK,CAACE,WANJ;AAAA,UAMpBC,KANoB,sBAMpBA,KANoB;AAAA,UAMbC,MANa,sBAMbA,MANa;;AAO5B,UAAI,0BAAAT,YAAY,CAACG,OAAb,gFAAsBK,KAAtB,MAAgCA,KAAhC,IAAyC,2BAAAR,YAAY,CAACG,OAAb,kFAAsBM,MAAtB,MAAiCA,MAA9E,EAAsF;AAClF;AACH;;AAEDC,MAAAA,MAAM,CAACC,qBAAP,CAA6B;AAAA,eAAML,cAAc,EAApB;AAAA,OAA7B;AACAN,MAAAA,YAAY,CAACG,OAAb,GAAuBE,KAAK,CAACE,WAA7B;AACH,KAbD,CAFJ;AAgBA,QAAI,CAACT,WAAW,CAACK,OAAjB,EAA0BL,WAAW,CAACK,OAAZ,GAAsBC,QAAtB;AAE1BA,IAAAA,QAAQ,CAACQ,OAAT,CAAiBhB,OAAjB;AACA,WAAO,YAAM;AACTQ,MAAAA,QAAQ,CAACS,SAAT,CAAmBjB,OAAnB;AACH,KAFD;AAGH,GA5BQ,EA4BN,CAACA,OAAD,EAAUC,MAAV,CA5BM,CAAT;AA6BH;;AC/BD,IAAMiB,UAAyB,GAAG;AAC9BC,EAAAA,MAAM,EAAE,CADsB;AAE9BC,EAAAA,IAAI,EAAE,CAFwB;AAG9BC,EAAAA,QAAQ,EAAE,UAHoB;AAI9BC,EAAAA,KAAK,EAAE,CAJuB;AAK9BC,EAAAA,GAAG,EAAE,CALyB;AAM9BC,EAAAA,SAAS,EAAE,MANmB;AAO9BC,EAAAA,QAAQ,EAAE;AAPoB,CAAlC;AAUA,IAAMC,cAA6B,GAAG;AAClCC,EAAAA,QAAQ,EAAE,QADwB;AAElCN,EAAAA,QAAQ,EAAE;AAFwB,CAAtC;;AAaA,SAASO,cAAT,CACIC,YADJ,EAEIC,aAFJ,EAGIC,WAHJ,EAIqB;AACjB,MAAI,CAACF,YAAD,IAAiB,CAACC,aAAlB,IAAmC,CAACC,WAApC,IAAmDA,WAAW,KAAKC,WAAW,CAACC,QAAnF,EAA6F,OAAO3B,SAAP;;AAD5E,aAE4CuB,YAAY,IAAI;AAAEK,IAAAA,YAAY,EAAE,CAAhB;AAAmBC,IAAAA,aAAa,EAAE;AAAlC,GAF5D;AAAA,MAEKC,QAFL,QAETF,YAFS;AAAA,MAE8BG,SAF9B,QAEeF,aAFf;;AAAA,cAG0C,CAAAL,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEQ,qBAAf,OAA0C;AACjG1B,IAAAA,KAAK,EAAE,CAD0F;AAEjGC,IAAAA,MAAM,EAAE;AAFyF,GAHpF;AAAA,MAGF0B,cAHE,SAGT3B,KAHS;AAAA,MAGsB4B,eAHtB,SAGc3B,MAHd;;AAOjB,SAAO;AAAEuB,IAAAA,QAAQ,EAARA,QAAF;AAAYC,IAAAA,SAAS,EAATA,SAAZ;AAAuBE,IAAAA,cAAc,EAAdA,cAAvB;AAAuCC,IAAAA,eAAe,EAAfA,eAAvC;AAAwDT,IAAAA,WAAW,EAAXA;AAAxD,GAAP;AACH;;AAED,IAAMU,eAAe,GAAG,SAAlBA,eAAkB,GAAkD;AAAA,MAAjDC,KAAiD,uEAA7B,EAA6B;AACtE,SAAO;AAAEC,IAAAA,CAAC,EAAED,KAAK,CAACC,CAAN,GAAUC,KAAK,CAACF,KAAK,CAACC,CAAP,EAAU,CAAC,CAAX,EAAc,CAAd,CAAf,GAAkC,CAAvC;AAA0CE,IAAAA,CAAC,EAAEH,KAAK,CAACG,CAAN,GAAUD,KAAK,CAACF,KAAK,CAACG,CAAP,EAAU,CAAC,CAAX,EAAc,CAAd,CAAf,GAAkC;AAA/E,GAAP;AACH,CAFD;;AAIA,SAASC,mBAAT,CACIC,yBADJ,EAEIC,aAFJ,EAGIC,SAHJ,EAIIC,SAJJ,EAKIC,OALJ,EAME;AACE,MAAMC,eAAe,GAAGC,IAAI,CAACC,KAAL,CAAWN,aAAa,GAAG,CAA3B,CAAxB,CADF;;AAEE,MAAMO,WAAW,GAAG,CAACL,SAAS,GAAG,CAAb,IAAkB,CAAtC,CAFF;;AAGE,MAAMM,WAAW,GAAGH,IAAI,CAACC,KAAL,CAAWL,SAAS,GAAGF,yBAAvB,CAApB,CAHF;;AAIE,MAAIU,KAAK,GAAGJ,IAAI,CAACC,KAAL,CAAWC,WAAW,GAAGC,WAAzB,CAAZ;;AACA,MAAIL,OAAJ,EAAa;AACTM,IAAAA,KAAK,GAAGD,WAAW,GAAGC,KAAtB;AACH;;AACD,MAAIC,WAAW,GAAGD,KAAK,GAAGL,eAA1B,CARF;;AASE,MAAMO,SAAS,GAAGH,WAAW,GAAGC,KAAhC,CATF;;AAUE,MAAMG,kBAAkB,GAAGZ,aAAa,GAAGI,eAA3C;;AACA,MAAIO,SAAS,GAAGC,kBAAhB,EAAoC;AAChCF,IAAAA,WAAW,IAAIE,kBAAkB,GAAGD,SAApC;AACH;;AACD,MAAID,WAAW,GAAG,CAAlB,EAAqB;AACjBA,IAAAA,WAAW,GAAG,CAAd;AACH;;AACD,SAAQA,WAAW,GAAG,CAAC,GAAhB,GAAuBV,aAA9B;AACH;;AAID,SAASa,mBAAT,CAA6BC,KAA7B,EAA2CpB,KAA3C,EAA4F;AACxF,MAAI,CAACoB,KAAK,CAAC1B,QAAP,IAAmB,CAAC0B,KAAK,CAACzB,SAA1B,IAAuC,CAACyB,KAAK,CAACvB,cAA9C,IAAgE,CAACuB,KAAK,CAACtB,eAA3E,EAA4F;AACxF,WAAOlC,SAAP;AACH,GAHuF;;;AAMxF,MAAMyD,UAAU,GAAGD,KAAK,CAAC1B,QAAN,GAAiB0B,KAAK,CAACvB,cAA1C;AACA,MAAMyB,WAAW,GAAGF,KAAK,CAACzB,SAAN,GAAkByB,KAAK,CAACtB,eAA5C;;AAEA,MAAMyB,KAAoB,sBAAQ/C,UAAR,CAA1B,CATwF;;;AAYxF,MAAI4C,KAAK,CAAC1B,QAAN,GAAiB0B,KAAK,CAACvB,cAAvB,IAAyCuB,KAAK,CAACzB,SAAN,GAAkByB,KAAK,CAACtB,eAArE,EAAsF;AAClFyB,IAAAA,KAAK,CAACF,UAAU,GAAGC,WAAb,GAA2B,WAA3B,GAAyC,UAA1C,CAAL,GAA6D,MAA7D;AACH;;AAED,MAAID,UAAU,GAAGC,WAAjB,EAA8B;AAC1BC,IAAAA,KAAK,CAAC7C,IAAN,aAAgB0B,mBAAmB,CAACkB,WAAD,EAAcF,KAAK,CAACvB,cAApB,EAAoCuB,KAAK,CAAC1B,QAA1C,EAAoDM,KAAK,CAACC,CAA1D,CAAnC;AACH,GAFD,MAEO,IAAIoB,UAAU,GAAGC,WAAjB,EAA8B;AACjCC,IAAAA,KAAK,CAAC1C,GAAN,aAAeuB,mBAAmB,CAACiB,UAAD,EAAaD,KAAK,CAACtB,eAAnB,EAAoCsB,KAAK,CAACzB,SAA1C,EAAqDK,KAAK,CAACG,CAA3D,EAA8D,IAA9D,CAAlC;AACH;;AAED,SAAO;AACHoB,IAAAA,KAAK,EAALA,KADG;AAEHC,IAAAA,OAAO,EAAExC;AAFN,GAAP;AAIH;AAED;;;;;AAGO,IAAMyC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,OAAD,EAOH;AAAA,MACdH,KADc,GACoDG,OADpD,CACdH,KADc;AAAA,MACPlC,WADO,GACoDqC,OADpD,CACPrC,WADO;AAAA,MACMsC,UADN,GACoDD,OADpD,CACMC,UADN;AAAA,MACkBC,MADlB,GACoDF,OADpD,CACkBE,MADlB;AAAA,MAC0BC,YAD1B,GACoDH,OADpD,CAC0BG,YAD1B;AAAA,MACwCL,OADxC,GACoDE,OADpD,CACwCF,OADxC;AAGtB,MAAMxB,KAAK,GAAGD,eAAe,CAAC4B,UAAD,CAA7B;AAEA,MAAMG,aAAa,GAAGrE,MAAM,EAA5B;AACA,MAAMsE,aAAa,GAAGtE,MAAM,CAAQ,EAAR,CAA5B;;AANsB,kBAOIuE,QAAQ,EAPZ;AAAA;AAAA,MAOfC,KAPe;AAAA,MAORC,QAPQ;;;AAUtB,MAAMC,SAAS,GAAG1E,MAAM,CAAW,IAAX,CAAxB;AACA,MAAMF,MAAM,GAAG6E,OAAO,CAClB,YAAM;AACF,QAAMpE,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AACzB,UAAMoD,KAAK,GAAGlC,cAAc,CAAC0C,MAAD,aAACA,MAAD,uBAACA,MAAM,CAAE/D,OAAT,EAAkB2D,OAAlB,EAA2BnC,WAA3B,CAA5B;;AACA,UAAI,CAAC+B,KAAD,IAAWiB,OAAO,CAACjB,KAAD,EAAQW,aAAa,CAAClE,OAAtB,CAAP,IAAyCwE,OAAO,CAACrC,KAAD,EAAQ8B,aAAa,CAACjE,OAAtB,CAA/D,EAAgG;AAC5F;AACA;AACH;;AACDqE,MAAAA,QAAQ,CAACf,mBAAmB,CAACC,KAAD,EAAQpB,KAAR,CAApB,CAAR;AACA8B,MAAAA,aAAa,CAACjE,OAAd,GAAwBmC,KAAxB;AACA+B,MAAAA,aAAa,CAAClE,OAAd,GAAwBuD,KAAxB;AACH,KATD;;AAUCe,IAAAA,SAAD,CAA0CtE,OAA1C,GAAoDG,cAApD;AACA,WAAOA,cAAP;AACH,GAdiB;AAAA,+BAgBdsE,MAAM,CAACC,MAAP,CAAcvC,KAAd,CAhBc,IAgBQ4B,MAhBR,EAgBgBJ,OAhBhB,EAgByBnC,WAhBzB,GAAtB,CAXsB;;AA+BtBmD,EAAAA,eAAe,CAACjF,MAAD,EAAS,CAACgE,KAAD,EAAQhE,MAAR,EAAgBsE,YAAhB,CAAT,CAAf,CA/BsB;;AAkCtBxE,EAAAA,WAAW,CAACmE,OAAD,EAAUW,SAAV,CAAX;AAEA,SAAOF,KAAP;AACH,CA5CM;;ACzGA,SAASQ,YAAT,CAAsBb,MAAtB,EAA0E;AAAA;;AAAA,kBACnDI,QAAQ,CAAe,WAAf,CAD2C;AAAA;AAAA,MACtEU,KADsE;AAAA,MAC/DC,QAD+D;;AAG7E,MAAMpF,MAAM,GAAGqF,WAAW,CACtB,UAACC,KAAD,EAAiB;AACb,QAAMC,GAAG,GAAGlB,MAAH,aAAGA,MAAH,uBAAGA,MAAM,CAAE/D,OAApB;;AACA,QAAI,CAACiF,GAAD,IAAQ,CAACA,GAAG,CAACC,QAAjB,EAA2B;AACvBJ,MAAAA,QAAQ,CAAC,WAAD,CAAR;AACA;AACH;;AAED,QAAI,CAAAE,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEG,IAAP,MAAgB,OAAhB,IAA4BF,GAAG,CAACC,QAAJ,IAAgB,CAAAD,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAEtD,YAAL,MAAsB,CAAtE,EAA0E;AACtEmD,MAAAA,QAAQ,CAAC,UAAD,CAAR;AACA;AACH;;AAEDA,IAAAA,QAAQ,CAAC,UAAD,CAAR;AACH,GAdqB,EAetB,CAACf,MAAD,CAfsB,CAA1B;AAkBAjE,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAMmF,GAAG,GAAGlB,MAAH,aAAGA,MAAH,uBAAGA,MAAM,CAAE/D,OAApB;AACA,QAAI,CAACiF,GAAL,EAAU,OAAOlF,SAAP;AAEVL,IAAAA,MAAM;AACNuF,IAAAA,GAAG,CAACG,gBAAJ,CAAqB,MAArB,EAA6B1F,MAA7B;AACAuF,IAAAA,GAAG,CAACG,gBAAJ,CAAqB,OAArB,EAA8B1F,MAA9B;AACA,WAAO,YAAM;AACTuF,MAAAA,GAAG,CAACI,mBAAJ,CAAwB,MAAxB,EAAgC3F,MAAhC;AACAuF,MAAAA,GAAG,CAACI,mBAAJ,CAAwB,OAAxB,EAAiC3F,MAAjC;AACH,KAHD;AAIH,GAXQ,EAWN,CAACA,MAAD,EAASqE,MAAT,EAAiBA,MAAjB,aAAiBA,MAAjB,0CAAiBA,MAAM,CAAE/D,OAAzB,oDAAiB,gBAAiBsF,GAAlC,CAXM,CAAT;AAYA,SAAOT,KAAP;AACH;;ACgCD;;;AAGA,IAAMU,cAAc,GAAG,WAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,aAAsC,GAAG;AAC3CC,EAAAA,QAAQ,EAAEC,qBADiC;AAE3CC,EAAAA,OAAO,EAAE,MAFkC;AAG3CC,EAAAA,KAAK,EAAEC,KAAK,CAACC;AAH8B,CAA/C;AAMA;;;;;;;;IAOaC,SAA+B,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA;;AAAA,MAElEC,KAFkE,GAqBlEF,KArBkE,CAElEE,KAFkE;AAAA,MAGlEC,GAHkE,GAqBlEH,KArBkE,CAGlEG,GAHkE;AAAA,MAIlE9E,WAJkE,GAqBlE2E,KArBkE,CAIlE3E,WAJkE;AAAA,MAKlE+E,KALkE,GAqBlEJ,KArBkE,CAKlEI,KALkE;AAAA,MAMlEC,SANkE,GAqBlEL,KArBkE,CAMlEK,SANkE;AAAA,MAOlEC,WAPkE,GAqBlEN,KArBkE,CAOlEM,WAPkE;AAAA,MAQlEd,QARkE,GAqBlEQ,KArBkE,CAQlER,QARkE;AAAA,MASlEe,UATkE,GAqBlEP,KArBkE,CASlEO,UATkE;AAAA,MAUlE5C,UAVkE,GAqBlEqC,KArBkE,CAUlErC,UAVkE;AAAA,MAWlEJ,KAXkE,GAqBlEyC,KArBkE,CAWlEzC,KAXkE;AAAA,MAYlEiD,QAZkE,GAqBlER,KArBkE,CAYlEQ,QAZkE;AAAA,MAa1DC,UAb0D,GAqBlET,KArBkE,CAalEpC,MAbkE;AAAA,MAclE8B,OAdkE,GAqBlEM,KArBkE,CAclEN,OAdkE;AAAA,MAelEgB,IAfkE,GAqBlEV,KArBkE,CAelEU,IAfkE;AAAA,MAgBlEf,KAhBkE,GAqBlEK,KArBkE,CAgBlEL,KAhBkE;AAAA,MAiBlEgB,OAjBkE,GAqBlEX,KArBkE,CAiBlEW,OAjBkE;AAAA,MAkBlEC,SAlBkE,GAqBlEZ,KArBkE,CAkBlEY,SAlBkE;AAAA,MAmBlEC,MAnBkE,GAqBlEb,KArBkE,CAmBlEa,MAnBkE;AAAA,MAoB/DC,cApB+D,4BAqBlEd,KArBkE;;AAsBtE,MAAMpC,MAAM,GAAGnE,MAAM,CAAmB,IAAnB,CAArB,CAtBsE;;AAyBtE,MAAMoE,YAAY,GAAGY,YAAY,CAACb,MAAD,CAAjC;AACA,MAAMmD,QAAQ,GAAGlD,YAAY,KAAK,UAAlC;AACA,MAAMmD,SAAS,GAAGnD,YAAY,KAAK,WAAnC;;AA3BsE,kBA6BxCG,QAAQ,EA7BgC;AAAA;AAAA,MA6B/DR,OA7B+D;AAAA,MA6BtDyD,UA7BsD;;AA+BtE,MAAMC,MAAM,GAAGC,OAAO,CAAC,CAAAP,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEQ,IAAX,KAAmBP,MAApB,CAAtB;AACA,MAAMQ,QAAQ,GAAG,CAAC,CAACP,cAAc,CAACQ,OAAlC;AACA,MAAMC,WAAW,GAAGF,QAAQ,IAAIH,MAAhC;AAEA,MAAIM,OAAY,GAAG,KAAnB;;AACA,MAAMC,YAAY,sBAAQX,cAAR,CAAlB;;AACA,MAAII,MAAJ,EAAY;AACRM,IAAAA,OAAO,GAAGX,MAAM,IAAI,GAApB;AACAvC,IAAAA,MAAM,CAACoD,MAAP,CAAcD,YAAd,EAA4Bb,SAA5B;AACH,GAHD,MAGO,IAAIS,QAAJ,EAAc;AACjBG,IAAAA,OAAO,GAAG,QAAV;AACH,GA1CqE;;;AA6CtE,MAAMvD,KAAK,GAAGR,aAAa,CAAC;AAAEF,IAAAA,KAAK,EAALA,KAAF;AAASI,IAAAA,UAAU,EAAVA,UAAT;AAAqBtC,IAAAA,WAAW,EAAXA,WAArB;AAAkCuC,IAAAA,MAAM,EAANA,MAAlC;AAA0CC,IAAAA,YAAY,EAAZA,YAA1C;AAAwDL,IAAAA,OAAO,EAAPA;AAAxD,GAAD,CAA3B;AAEA,SACI,oBAAC,OAAD,eACQiE,YADR;AAEI,IAAA,GAAG,EAAEE,SAAS,CAACV,UAAD,EAAahB,GAAb,CAFlB;AAGI,IAAA,SAAS,EAAE2B,UAAU,CACjBhB,SADiB,aACjBA,SADiB,uBACjBA,SAAS,CAAEP,SADM,EAEjBA,SAFiB,EAGjBwB,kBAAkB,CAAC;AACf3B,MAAAA,KAAK,EAALA,KADe;AAEf7E,MAAAA,WAAW,EAAXA,WAFe;AAGfyG,MAAAA,MAAM,EAAEzC,SAHO;AAIfqB,MAAAA,IAAI,EAAJA,IAJe;AAKff,MAAAA,KAAK,EAALA,KALe;AAMfgB,MAAAA,OAAO,EAAPA,OANe;AAOfY,MAAAA,WAAW,EAAXA,WAPe;AAQfQ,MAAAA,QAAQ,EAAE,CAAC,CAAC3B;AARG,KAAD,CAHD,EAajBY,SAAS,KAAIxD,OAAJ,aAAIA,OAAJ,gDAAIA,OAAO,CAAE5B,qBAAT,EAAJ,0DAAI,sBAAkCzB,MAAtC,CAAT,IAAyD,+BAbxC,EAcjBoG,UAAU,cAAOlB,SAAP,kBAdO;AAHzB,MAoBI;AACI,IAAA,SAAS,YAAKA,SAAL,iBADb;AAEI,IAAA,KAAK,qBACEpB,KADF,aACEA,KADF,uBACEA,KAAK,CAAET,OADT;AAED;AACAwE,MAAAA,OAAO,EAAEjB,QAAQ,GAAG,MAAH,GAAYnH,SAH5B;AAID;AACAqI,MAAAA,UAAU,EAAEjB,SAAS,GAAG,QAAH,GAAcpH;AALlC;AAFT,KAUI,wCACQ4G,QADR;AAEI,IAAA,KAAK,qBACEA,QADF,aACEA,QADF,uBACEA,QAAQ,CAAEvC,KADZ,MAEEA,KAFF,aAEEA,KAFF,uBAEEA,KAAK,CAAEV,KAFT,CAFT;AAMI,IAAA,GAAG,EAAEoE,SAAS,CAAC/D,MAAD,EAAS6C,UAAT,CANlB;AAOI,IAAA,SAAS,EAAE,CAAAxC,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEV,KAAP,cAAkB8B,SAAlB,iCAAkDA,SAAlD,YAPf;AAQI,IAAA,WAAW,EAAEiB,WAAW,IAAI,CAAC3H,kBAAkB,EAAlC,GAAuC2H,WAAvC,GAAqD1G,SARtE;AASI,IAAA,GAAG,EAAE2D,KATT;AAUI,IAAA,GAAG,EAAE4C,GAVT;AAWI,IAAA,OAAO,EAAET;AAXb,KAVJ,CApBJ,EA4CKqB,QAAQ,KACJ,OAAOvB,QAAP,KAAoB,QAApB,GACG,oBAAC,IAAD;AAAM,IAAA,SAAS,YAAKH,SAAL,eAAf;AAA2C,IAAA,IAAI,EAAEG,QAAjD;AAA2D,IAAA,IAAI,EAAEkB,IAAI,IAAIwB,IAAI,CAACC,CAA9E;AAAiF,IAAA,KAAK,EAAExC;AAAxF,IADH,GAGG;AAAK,IAAA,SAAS,YAAKN,SAAL;AAAd,KAA2CG,QAA3C,CAJC,CA5Cb,EAkDKY,KAAK,IACFgC,KAAK,CAACC,YAAN,CAAmBjC,KAAnB,EAA0B;AAAEC,IAAAA,SAAS,EAAEuB,UAAU,WAAIvC,SAAJ,cAAwBe,KAAK,CAACJ,KAAN,CAAYK,SAApC;AAAvB,GAA1B,CAnDR,CADJ;AAuDH,CAtGwD;AAuGzDP,SAAS,CAACwC,WAAV,GAAwBlD,cAAxB;AACAU,SAAS,CAACO,SAAV,GAAsBhB,SAAtB;AACAS,SAAS,CAACyC,YAAV,GAAyBhD,aAAzB;;;;"}
1
+ {"version":3,"file":"Thumbnail2.js","sources":["../../../src/utils/isInternetExplorer.ts","../../../../../node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../../../../../node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/element.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/global.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../../../../../node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/process.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../../../../../node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../../../../../node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../../../src/hooks/useOnResize.ts","../../../src/components/thumbnail/useFocusPoint.ts","../../../src/components/thumbnail/useImageLoad.ts","../../../src/components/thumbnail/Thumbnail.tsx"],"sourcesContent":["import { WINDOW } from '@lumx/react/constants';\n\n/**\n * Check if browser is IE\n * @return Browser is IE or not\n */\nexport const isInternetExplorer = () => {\n const userAgent = WINDOW?.navigator?.userAgent;\n if (!userAgent) {\n return false;\n }\n const msie = userAgent.indexOf('MSIE ');\n const isIEVersion = !!userAgent.match(/Trident.*rv:11\\./);\n return msie > 0 || isIEVersion;\n};\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","var DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return Object.freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a, _b;\n var scope = (_b = (_a = obj) === null || _a === void 0 ? void 0 : _a.ownerDocument) === null || _b === void 0 ? void 0 : _b.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return Object.freeze({\n inlineSize: (switchSizes ? blockSize : inlineSize) || 0,\n blockSize: (switchSizes ? inlineSize : blockSize) || 0\n });\n};\nvar zeroBoxes = Object.freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = Object.freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = [boxes.borderBoxSize];\n this.contentBoxSize = [boxes.contentBoxSize];\n this.devicePixelContentBoxSize = [boxes.devicePixelContentBoxSize];\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\" + (toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { Callback, Falsy } from '@lumx/react/utils';\nimport { MutableRefObject, RefObject, useEffect, useRef } from 'react';\nimport { WINDOW } from '@lumx/react/constants';\nimport { ResizeObserver as Polyfill } from '@juggle/resize-observer';\n\nconst ResizeObserver: typeof Polyfill = (WINDOW as any)?.ResizeObserver || Polyfill;\n\nexport function useOnResize(element: HTMLElement | Falsy, update: RefObject<Callback>): void {\n const observerRef = useRef(null) as MutableRefObject<Polyfill | null>;\n const previousSize = useRef<{ width: number; height: number }>();\n\n useEffect(() => {\n if (!element || !update) {\n return undefined;\n }\n\n previousSize.current = undefined;\n const observer =\n observerRef.current ||\n new ResizeObserver(([entry]) => {\n const updateFunction = update.current;\n if (!updateFunction) {\n return;\n }\n\n const { width, height } = entry.contentRect;\n if (previousSize.current?.width === width && previousSize.current?.height === height) {\n return;\n }\n\n window.requestAnimationFrame(() => updateFunction());\n previousSize.current = entry.contentRect;\n });\n if (!observerRef.current) observerRef.current = observer;\n\n observer.observe(element);\n return () => {\n observer.unobserve(element);\n };\n }, [element, update]);\n}\n","import { CSSProperties, MutableRefObject, RefObject, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { useOnResize } from '@lumx/react/hooks/useOnResize';\nimport { AspectRatio } from '@lumx/react';\nimport { clamp } from '@lumx/react/utils/clamp';\nimport { LoadingState } from '@lumx/react/components/thumbnail/useImageLoad';\nimport { Callback } from '@lumx/react/utils';\nimport { isEqual } from 'lodash';\nimport { FocusPoint } from './types';\n\nconst IMG_STYLES: CSSProperties = {\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n minHeight: '100%',\n minWidth: '100%',\n};\n\nconst WRAPPER_STYLES: CSSProperties = {\n overflow: 'hidden',\n position: 'relative',\n};\n\ntype Sizes = {\n imgWidth?: number;\n imgHeight?: number;\n containerWidth?: number;\n containerHeight?: number;\n aspectRatio?: AspectRatio;\n};\n\nfunction calculateSizes(\n imageElement?: HTMLImageElement | null | undefined,\n parentElement?: HTMLElement | null,\n aspectRatio?: AspectRatio,\n): Sizes | undefined {\n if (!imageElement || !parentElement || !aspectRatio || aspectRatio === AspectRatio.original) return undefined;\n const { naturalWidth: imgWidth, naturalHeight: imgHeight } = imageElement || { naturalWidth: 0, naturalHeight: 0 };\n const { width: containerWidth, height: containerHeight } = parentElement?.getBoundingClientRect() || {\n width: 0,\n height: 0,\n };\n return { imgWidth, imgHeight, containerWidth, containerHeight, aspectRatio };\n}\n\nconst parseFocusPoint = (point: FocusPoint = {}): Required<FocusPoint> => {\n return { x: point.x ? clamp(point.x, -1, 1) : 0, y: point.y ? clamp(point.y, -1, 1) : 0 };\n};\n\nfunction calculateImageShift(\n containerToImageSizeRatio: number,\n containerSize: number,\n imageSize: number,\n focusSize: number,\n toMinus?: boolean,\n) {\n const containerCenter = Math.floor(containerSize / 2); // Container center in px\n const focusFactor = (focusSize + 1) / 2; // Focus point of resize image in px\n const scaledImage = Math.floor(imageSize / containerToImageSizeRatio); // Can't use width() as images may be display:none\n let focus = Math.floor(focusFactor * scaledImage);\n if (toMinus) {\n focus = scaledImage - focus;\n }\n let focusOffset = focus - containerCenter; // Calculate difference between focus point and center\n const remainder = scaledImage - focus; // Reduce offset if necessary so image remains filled\n const containerRemainder = containerSize - containerCenter;\n if (remainder < containerRemainder) {\n focusOffset -= containerRemainder - remainder;\n }\n if (focusOffset < 0) {\n focusOffset = 0;\n }\n return (focusOffset * -100) / containerSize;\n}\n\ntype Styles = { wrapper: CSSProperties; image: CSSProperties };\n\nfunction calculateImageStyle(sizes: Sizes, point: Required<FocusPoint>): Styles | undefined {\n if (!sizes.imgWidth || !sizes.imgHeight || !sizes.containerWidth || !sizes.containerHeight) {\n return undefined;\n }\n\n // Which is over by more?\n const widthRatio = sizes.imgWidth / sizes.containerWidth;\n const heightRatio = sizes.imgHeight / sizes.containerHeight;\n\n const image: CSSProperties = { ...IMG_STYLES };\n\n // Minimize image while still filling space\n if (sizes.imgWidth > sizes.containerWidth && sizes.imgHeight > sizes.containerHeight) {\n image[widthRatio > heightRatio ? 'maxHeight' : 'maxWidth'] = '100%';\n }\n\n if (widthRatio > heightRatio) {\n image.left = `${calculateImageShift(heightRatio, sizes.containerWidth, sizes.imgWidth, point.x)}%`;\n } else if (widthRatio < heightRatio) {\n image.top = `${calculateImageShift(widthRatio, sizes.containerHeight, sizes.imgHeight, point.y, true)}%`;\n }\n\n return {\n image,\n wrapper: WRAPPER_STYLES,\n };\n}\n\n/**\n * Hook that calculate CSS style to shift the image in it's container according to the focus point.\n */\nexport const useFocusPoint = (options: {\n image: string;\n focusPoint?: FocusPoint;\n aspectRatio?: AspectRatio;\n imgRef: RefObject<HTMLImageElement>;\n loadingState: LoadingState;\n wrapper?: HTMLElement;\n}): Styles | undefined => {\n const { image, aspectRatio, focusPoint, imgRef, loadingState, wrapper } = options;\n\n const point = parseFocusPoint(focusPoint);\n\n const previousPoint = useRef<Required<FocusPoint>>();\n const previousSizes = useRef<Sizes>({});\n const [style, setStyle] = useState<Styles>();\n\n // Update style.\n const updateRef = useRef<Callback>(null);\n const update = useMemo(\n () => {\n const updateFunction = () => {\n const sizes = calculateSizes(imgRef?.current, wrapper, aspectRatio);\n if (!sizes || (isEqual(sizes, previousSizes.current) && isEqual(point, previousPoint.current))) {\n // Nothing changed.\n return;\n }\n setStyle(calculateImageStyle(sizes, point));\n previousPoint.current = point;\n previousSizes.current = sizes;\n };\n (updateRef as MutableRefObject<Callback>).current = updateFunction;\n return updateFunction;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [...Object.values(point), imgRef, wrapper, aspectRatio],\n );\n\n // Update on image loaded.\n useLayoutEffect(update, [image, update, loadingState]);\n\n // Update on parent resize.\n useOnResize(wrapper, updateRef);\n\n return style;\n};\n","import { RefObject, useCallback, useEffect, useState } from 'react';\n\nexport type LoadingState = 'isLoading' | 'isLoaded' | 'hasError';\n\nexport function useImageLoad(imgRef?: RefObject<HTMLImageElement>): LoadingState {\n const [state, setState] = useState<LoadingState>('isLoading');\n\n const update = useCallback(\n (event?: any) => {\n const img = imgRef?.current;\n if (!img || !img.complete) {\n setState('isLoading');\n return;\n }\n\n if (event?.type === 'error' || (img.complete && img?.naturalWidth === 0)) {\n setState('hasError');\n return;\n }\n\n setState('isLoaded');\n },\n [imgRef],\n );\n\n useEffect(() => {\n const img = imgRef?.current;\n if (!img) return undefined;\n\n update();\n img.addEventListener('load', update);\n img.addEventListener('error', update);\n return () => {\n img.removeEventListener('load', update);\n img.removeEventListener('error', update);\n };\n }, [update, imgRef, imgRef?.current?.src]);\n return state;\n}\n","import React, {\n forwardRef,\n ImgHTMLAttributes,\n KeyboardEventHandler,\n MouseEventHandler,\n ReactElement,\n ReactNode,\n Ref,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { AspectRatio, HorizontalAlignment, Icon, Size, Theme } from '@lumx/react';\n\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\n\nimport { mdiImageBrokenVariant } from '@lumx/icons';\nimport { isInternetExplorer } from '@lumx/react/utils/isInternetExplorer';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport { useFocusPoint } from '@lumx/react/components/thumbnail/useFocusPoint';\nimport { useImageLoad } from '@lumx/react/components/thumbnail/useImageLoad';\nimport { FocusPoint, ThumbnailSize, ThumbnailVariant } from './types';\n\ntype ImgHTMLProps = ImgHTMLAttributes<HTMLImageElement>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ThumbnailProps extends GenericProps {\n /** Alignment of the thumbnail in it's parent (requires flex parent). */\n align?: HorizontalAlignment;\n /** Image alternative text. */\n alt: string;\n /** Image aspect ratio. */\n aspectRatio?: AspectRatio;\n /** Badge. */\n badge?: ReactElement;\n /** Image cross origin resource policy. */\n crossOrigin?: ImgHTMLProps['crossOrigin'];\n /** Fallback icon (SVG path) or react node when image fails to load. */\n fallback?: string | ReactNode;\n /** Whether the thumbnail should fill it's parent size (requires flex parent) or not. */\n fillHeight?: boolean;\n /** Apply relative vertical and horizontal shift (from -1 to 1) on the image position inside the thumbnail. */\n focusPoint?: FocusPoint;\n /** Image URL. */\n image: string;\n /** Props to inject into the native <img> element. */\n imgProps?: ImgHTMLProps;\n /** Reference to the native <img> element. */\n imgRef?: Ref<HTMLImageElement>;\n /** Size variant of the component. */\n size?: ThumbnailSize;\n /** Image loading mode. */\n loading?: ImgHTMLProps['loading'];\n /** On click callback. */\n onClick?: MouseEventHandler<HTMLDivElement>;\n /** On key press callback. */\n onKeyPress?: KeyboardEventHandler<HTMLDivElement>;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** Variant of the component. */\n variant?: ThumbnailVariant;\n /** Props to pass to the link wrapping the thumbnail. */\n linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Thumbnail';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ThumbnailProps> = {\n fallback: mdiImageBrokenVariant,\n loading: 'lazy',\n theme: Theme.light,\n};\n\n/**\n * Thumbnail component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Thumbnail: Comp<ThumbnailProps> = forwardRef((props, ref) => {\n const {\n align,\n alt,\n aspectRatio,\n badge,\n className,\n crossOrigin,\n fallback,\n fillHeight,\n focusPoint,\n image,\n imgProps,\n imgRef: propImgRef,\n loading,\n size,\n theme,\n variant,\n linkProps,\n linkAs,\n ...forwardedProps\n } = props;\n const imgRef = useRef<HTMLImageElement>(null);\n\n // Image loading state.\n const loadingState = useImageLoad(imgRef);\n const hasError = loadingState === 'hasError';\n const isLoading = loadingState === 'isLoading';\n\n const [wrapper, setWrapper] = useState<HTMLElement>();\n\n const isLink = Boolean(linkProps?.href || linkAs);\n const isButton = !!forwardedProps.onClick;\n const isClickable = isButton || isLink;\n\n let Wrapper: any = 'div';\n const wrapperProps = { ...forwardedProps };\n if (isLink) {\n Wrapper = linkAs || 'a';\n Object.assign(wrapperProps, linkProps);\n } else if (isButton) {\n Wrapper = 'button';\n }\n\n // Update img style according to focus point and aspect ratio.\n const style = useFocusPoint({ image, focusPoint, aspectRatio, imgRef, loadingState, wrapper });\n\n return (\n <Wrapper\n {...wrapperProps}\n ref={mergeRefs(setWrapper, ref) as any}\n className={classNames(\n linkProps?.className,\n className,\n handleBasicClasses({\n align,\n aspectRatio,\n prefix: CLASSNAME,\n size,\n theme,\n variant,\n isClickable,\n hasBadge: !!badge,\n }),\n isLoading && wrapper?.getBoundingClientRect()?.height && 'lumx-color-background-dark-L6',\n fillHeight && `${CLASSNAME}--fill-height`,\n )}\n >\n <div\n className={`${CLASSNAME}__background`}\n style={{\n ...style?.wrapper,\n // Remove from layout if image not loaded correctly (use fallback)\n display: hasError ? 'none' : undefined,\n // Hide while loading.\n visibility: isLoading ? 'hidden' : undefined,\n }}\n >\n <img\n {...imgProps}\n style={{\n ...imgProps?.style,\n ...style?.image,\n }}\n ref={mergeRefs(imgRef, propImgRef)}\n className={style?.image ? `${CLASSNAME}__focused-image` : `${CLASSNAME}__image`}\n crossOrigin={crossOrigin && !isInternetExplorer() ? crossOrigin : undefined}\n src={image}\n alt={alt}\n loading={loading}\n />\n </div>\n {hasError &&\n (typeof fallback === 'string' ? (\n <Icon className={`${CLASSNAME}__fallback`} icon={fallback} size={size || Size.m} theme={theme} />\n ) : (\n <div className={`${CLASSNAME}__fallback`}>{fallback}</div>\n ))}\n {badge &&\n React.cloneElement(badge, { className: classNames(`${CLASSNAME}__badge`, badge.props.className) })}\n </Wrapper>\n );\n});\nThumbnail.displayName = COMPONENT_NAME;\nThumbnail.className = CLASSNAME;\nThumbnail.defaultProps = DEFAULT_PROPS;\n"],"names":["isInternetExplorer","userAgent","WINDOW","navigator","msie","indexOf","isIEVersion","match","ResizeObserver","Polyfill","useOnResize","element","update","observerRef","useRef","previousSize","useEffect","undefined","current","observer","entry","updateFunction","contentRect","width","height","window","requestAnimationFrame","observe","unobserve","IMG_STYLES","bottom","left","position","right","top","minHeight","minWidth","WRAPPER_STYLES","overflow","calculateSizes","imageElement","parentElement","aspectRatio","AspectRatio","original","naturalWidth","naturalHeight","imgWidth","imgHeight","getBoundingClientRect","containerWidth","containerHeight","parseFocusPoint","point","x","clamp","y","calculateImageShift","containerToImageSizeRatio","containerSize","imageSize","focusSize","toMinus","containerCenter","Math","floor","focusFactor","scaledImage","focus","focusOffset","remainder","containerRemainder","calculateImageStyle","sizes","widthRatio","heightRatio","image","wrapper","useFocusPoint","options","focusPoint","imgRef","loadingState","previousPoint","previousSizes","useState","style","setStyle","updateRef","useMemo","isEqual","Object","values","useLayoutEffect","useImageLoad","state","setState","useCallback","event","img","complete","type","addEventListener","removeEventListener","src","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","fallback","mdiImageBrokenVariant","loading","theme","Theme","light","Thumbnail","forwardRef","props","ref","align","alt","badge","className","crossOrigin","fillHeight","imgProps","propImgRef","size","variant","linkProps","linkAs","forwardedProps","hasError","isLoading","setWrapper","isLink","Boolean","href","isButton","onClick","isClickable","Wrapper","wrapperProps","assign","mergeRefs","classNames","handleBasicClasses","prefix","hasBadge","display","visibility","Size","m","React","cloneElement","displayName","defaultProps"],"mappings":"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"}
@@ -108,6 +108,7 @@ var UserBlock = forwardRef(function (props, ref) {
108
108
  onMouseLeave: onMouseLeave,
109
109
  onMouseEnter: onMouseEnter
110
110
  }), avatarProps && React.createElement(Avatar, _extends({
111
+ linkAs: linkAs,
111
112
  linkProps: linkProps
112
113
  }, avatarProps, {
113
114
  className: classnames("".concat(CLASSNAME, "__avatar"), avatarProps.className),
@@ -1 +1 @@
1
- {"version":3,"file":"UserBlock.js","sources":["../../../src/components/user-block/UserBlock.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Avatar, Orientation, Size, Theme } from '@lumx/react';\n\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport { isEmpty } from 'lodash';\nimport { renderLink } from '@lumx/react/utils/renderLink';\nimport { AvatarProps } from '../avatar/Avatar';\n\n/**\n * User block sizes.\n */\nexport type UserBlockSize = Extract<Size, 's' | 'm' | 'l'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface UserBlockProps extends GenericProps {\n /** Props to pass to the avatar. */\n avatarProps?: AvatarProps;\n /** Props to pass to the link wrapping the avatar thumbnail. */\n linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n /** Simple action toolbar content. */\n simpleAction?: ReactNode;\n /** Multiple action toolbar content. */\n multipleActions?: ReactNode;\n /** Additional fields used to describe the user. */\n fields?: string[];\n /** User name. */\n name?: string;\n /** Orientation. */\n orientation?: Orientation;\n /** Size variant. */\n size?: UserBlockSize;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** On click callback. */\n onClick?(): void;\n /** On mouse enter callback. */\n onMouseEnter?(): void;\n /** On mouse leave callback. */\n onMouseLeave?(): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'UserBlock';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<UserBlockProps> = {\n orientation: Orientation.horizontal,\n size: Size.m,\n theme: Theme.light,\n};\n\n/**\n * UserBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const UserBlock: Comp<UserBlockProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n avatarProps,\n className,\n fields,\n multipleActions,\n name,\n onClick,\n onMouseEnter,\n onMouseLeave,\n orientation,\n simpleAction,\n size,\n theme,\n linkProps,\n linkAs,\n ...forwardedProps\n } = props;\n let componentSize = size;\n\n // Special case - When using vertical orientation force the size to be Sizes.l.\n if (orientation === Orientation.vertical) {\n componentSize = Size.l;\n }\n\n const shouldDisplayActions: boolean = orientation === Orientation.vertical;\n\n const isLink = Boolean(linkProps?.href || linkAs);\n const isClickable = !!onClick || isLink;\n\n const nameBlock: ReactNode = React.useMemo(() => {\n if (isEmpty(name)) {\n return null;\n }\n const nameClassName = classNames(\n handleBasicClasses({ prefix: `${CLASSNAME}__name`, isClickable }),\n isLink && linkProps?.className,\n );\n if (isLink) {\n return renderLink({ ...linkProps, linkAs, className: nameClassName }, name);\n }\n if (onClick) {\n return (\n <button onClick={onClick} type=\"button\" className={nameClassName}>\n {name}\n </button>\n );\n }\n return <span className={nameClassName}>{name}</span>;\n }, [isClickable, isLink, linkAs, linkProps, name, onClick]);\n\n const fieldsBlock: ReactNode = fields && componentSize !== Size.s && (\n <div className={`${CLASSNAME}__fields`}>\n {fields.map((aField: string, idx: number) => (\n <span key={idx} className={`${CLASSNAME}__field`}>\n {aField}\n </span>\n ))}\n </div>\n );\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, orientation, size: componentSize, theme, isClickable }),\n )}\n onMouseLeave={onMouseLeave}\n onMouseEnter={onMouseEnter}\n >\n {avatarProps && (\n <Avatar\n linkProps={linkProps}\n {...avatarProps}\n className={classNames(`${CLASSNAME}__avatar`, avatarProps.className)}\n size={componentSize}\n onClick={onClick}\n theme={theme}\n />\n )}\n {(fields || name) && (\n <div className={`${CLASSNAME}__wrapper`}>\n {nameBlock}\n {fieldsBlock}\n </div>\n )}\n {shouldDisplayActions && simpleAction && <div className={`${CLASSNAME}__action`}>{simpleAction}</div>}\n {shouldDisplayActions && multipleActions && (\n <div className={`${CLASSNAME}__actions`}>{multipleActions}</div>\n )}\n </div>\n );\n});\nUserBlock.displayName = COMPONENT_NAME;\nUserBlock.className = CLASSNAME;\nUserBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","orientation","Orientation","horizontal","size","Size","m","theme","Theme","light","UserBlock","forwardRef","props","ref","avatarProps","className","fields","multipleActions","name","onClick","onMouseEnter","onMouseLeave","simpleAction","linkProps","linkAs","forwardedProps","componentSize","vertical","l","shouldDisplayActions","isLink","Boolean","href","isClickable","nameBlock","React","useMemo","isEmpty","nameClassName","classNames","handleBasicClasses","prefix","renderLink","fieldsBlock","s","map","aField","idx","displayName","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"UserBlock.js","sources":["../../../src/components/user-block/UserBlock.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Avatar, Orientation, Size, Theme } from '@lumx/react';\n\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport { isEmpty } from 'lodash';\nimport { renderLink } from '@lumx/react/utils/renderLink';\nimport { AvatarProps } from '../avatar/Avatar';\n\n/**\n * User block sizes.\n */\nexport type UserBlockSize = Extract<Size, 's' | 'm' | 'l'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface UserBlockProps extends GenericProps {\n /** Props to pass to the avatar. */\n avatarProps?: AvatarProps;\n /** Props to pass to the link wrapping the avatar thumbnail. */\n linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n /** Simple action toolbar content. */\n simpleAction?: ReactNode;\n /** Multiple action toolbar content. */\n multipleActions?: ReactNode;\n /** Additional fields used to describe the user. */\n fields?: string[];\n /** User name. */\n name?: string;\n /** Orientation. */\n orientation?: Orientation;\n /** Size variant. */\n size?: UserBlockSize;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** On click callback. */\n onClick?(): void;\n /** On mouse enter callback. */\n onMouseEnter?(): void;\n /** On mouse leave callback. */\n onMouseLeave?(): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'UserBlock';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<UserBlockProps> = {\n orientation: Orientation.horizontal,\n size: Size.m,\n theme: Theme.light,\n};\n\n/**\n * UserBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const UserBlock: Comp<UserBlockProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n avatarProps,\n className,\n fields,\n multipleActions,\n name,\n onClick,\n onMouseEnter,\n onMouseLeave,\n orientation,\n simpleAction,\n size,\n theme,\n linkProps,\n linkAs,\n ...forwardedProps\n } = props;\n let componentSize = size;\n\n // Special case - When using vertical orientation force the size to be Sizes.l.\n if (orientation === Orientation.vertical) {\n componentSize = Size.l;\n }\n\n const shouldDisplayActions: boolean = orientation === Orientation.vertical;\n\n const isLink = Boolean(linkProps?.href || linkAs);\n const isClickable = !!onClick || isLink;\n\n const nameBlock: ReactNode = React.useMemo(() => {\n if (isEmpty(name)) {\n return null;\n }\n const nameClassName = classNames(\n handleBasicClasses({ prefix: `${CLASSNAME}__name`, isClickable }),\n isLink && linkProps?.className,\n );\n if (isLink) {\n return renderLink({ ...linkProps, linkAs, className: nameClassName }, name);\n }\n if (onClick) {\n return (\n <button onClick={onClick} type=\"button\" className={nameClassName}>\n {name}\n </button>\n );\n }\n return <span className={nameClassName}>{name}</span>;\n }, [isClickable, isLink, linkAs, linkProps, name, onClick]);\n\n const fieldsBlock: ReactNode = fields && componentSize !== Size.s && (\n <div className={`${CLASSNAME}__fields`}>\n {fields.map((aField: string, idx: number) => (\n <span key={idx} className={`${CLASSNAME}__field`}>\n {aField}\n </span>\n ))}\n </div>\n );\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, orientation, size: componentSize, theme, isClickable }),\n )}\n onMouseLeave={onMouseLeave}\n onMouseEnter={onMouseEnter}\n >\n {avatarProps && (\n <Avatar\n linkAs={linkAs}\n linkProps={linkProps}\n {...avatarProps}\n className={classNames(`${CLASSNAME}__avatar`, avatarProps.className)}\n size={componentSize}\n onClick={onClick}\n theme={theme}\n />\n )}\n {(fields || name) && (\n <div className={`${CLASSNAME}__wrapper`}>\n {nameBlock}\n {fieldsBlock}\n </div>\n )}\n {shouldDisplayActions && simpleAction && <div className={`${CLASSNAME}__action`}>{simpleAction}</div>}\n {shouldDisplayActions && multipleActions && (\n <div className={`${CLASSNAME}__actions`}>{multipleActions}</div>\n )}\n </div>\n );\n});\nUserBlock.displayName = COMPONENT_NAME;\nUserBlock.className = CLASSNAME;\nUserBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","orientation","Orientation","horizontal","size","Size","m","theme","Theme","light","UserBlock","forwardRef","props","ref","avatarProps","className","fields","multipleActions","name","onClick","onMouseEnter","onMouseLeave","simpleAction","linkProps","linkAs","forwardedProps","componentSize","vertical","l","shouldDisplayActions","isLink","Boolean","href","isClickable","nameBlock","React","useMemo","isEmpty","nameClassName","classNames","handleBasicClasses","prefix","renderLink","fieldsBlock","s","map","aField","idx","displayName","defaultProps"],"mappings":"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"}
@@ -2,7 +2,7 @@ import './_rollupPluginBabelHelpers.js';
2
2
  import './components.js';
3
3
  import 'react';
4
4
  import './getRootClassName.js';
5
- import './mdi.js';
5
+ import './Icon2.js';
6
6
  import '../index2.js';
7
7
  import 'lodash/isBoolean';
8
8
  import 'lodash/isEmpty';
@@ -29,7 +29,6 @@ import './Dialog2.js';
29
29
  import 'lodash/pull';
30
30
  import './useDelayedVisibility.js';
31
31
  import './useDisableBodyScroll.js';
32
- import './Icon2.js';
33
32
  import './Progress2.js';
34
33
  import './Toolbar2.js';
35
34
  //# sourceMappingURL=alert-dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"alert-dialog.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@ import './_rollupPluginBabelHelpers.js';
2
2
  import './components.js';
3
3
  import 'react';
4
4
  import './getRootClassName.js';
5
- import './mdi.js';
5
+ import './Icon2.js';
6
6
  import '../index2.js';
7
7
  import 'lodash/isBoolean';
8
8
  import 'lodash/isEmpty';
@@ -24,7 +24,6 @@ import './ClickAwayProvider.js';
24
24
  import 'lodash/pull';
25
25
  import './List2.js';
26
26
  import './Dropdown2.js';
27
- import './Icon2.js';
28
27
  import './InputHelper.js';
29
28
  import './InputLabel.js';
30
29
  import './TextField.js';
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"autocomplete.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@ import './_rollupPluginBabelHelpers.js';
2
2
  import './components.js';
3
3
  import 'react';
4
4
  import './getRootClassName.js';
5
- import './mdi.js';
5
+ import './Icon2.js';
6
6
  import 'lodash/isBoolean';
7
7
  import 'lodash/isEmpty';
8
8
  import 'lodash/kebabCase';
@@ -10,7 +10,6 @@ import 'lodash/noop';
10
10
  import './constants.js';
11
11
  import './mergeRefs.js';
12
12
  export { A as Avatar } from './Avatar2.js';
13
- import './Icon2.js';
14
13
  import './clamp.js';
15
14
  import './Thumbnail2.js';
16
15
  import 'lodash';
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"avatar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -2,6 +2,7 @@ import './_rollupPluginBabelHelpers.js';
2
2
  import './components.js';
3
3
  import 'react';
4
4
  import './getRootClassName.js';
5
+ import './Icon2.js';
5
6
  import '../index2.js';
6
7
  import 'lodash/isBoolean';
7
8
  import 'lodash/isEmpty';
@@ -19,7 +20,6 @@ export { B as ButtonGroup } from './ButtonGroup.js';
19
20
  import 'react-dom';
20
21
  import './ClickAwayProvider.js';
21
22
  import 'lodash/pull';
22
- import './Icon2.js';
23
23
  import './Tooltip2.js';
24
24
  import 'lodash/debounce';
25
25
  //# sourceMappingURL=button.js.map
@@ -2,14 +2,13 @@ import './_rollupPluginBabelHelpers.js';
2
2
  import './components.js';
3
3
  import 'react';
4
4
  import './getRootClassName.js';
5
- import './mdi.js';
5
+ import './Icon2.js';
6
6
  import '../index2.js';
7
7
  import 'lodash/isBoolean';
8
8
  import 'lodash/isEmpty';
9
9
  import 'lodash/kebabCase';
10
10
  import 'lodash/noop';
11
11
  export { C as Checkbox } from './Checkbox2.js';
12
- import './Icon2.js';
13
12
  import './InputHelper.js';
14
13
  import './InputLabel.js';
15
14
  //# sourceMappingURL=checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"checkbox.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -2,7 +2,7 @@ import './_rollupPluginBabelHelpers.js';
2
2
  import './components.js';
3
3
  import 'react';
4
4
  import './getRootClassName.js';
5
- import './mdi.js';
5
+ import './Icon2.js';
6
6
  import 'lodash/isBoolean';
7
7
  import 'lodash/isEmpty';
8
8
  import 'lodash/kebabCase';
@@ -12,7 +12,6 @@ import './mergeRefs.js';
12
12
  import './Avatar2.js';
13
13
  import 'lodash/isFunction';
14
14
  export { a as CommentBlock, C as CommentBlockVariant } from './CommentBlock.js';
15
- import './Icon2.js';
16
15
  import './clamp.js';
17
16
  import './Thumbnail2.js';
18
17
  import 'lodash';
@@ -1 +1 @@
1
- {"version":3,"file":"comment-block.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"comment-block.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@ import './_rollupPluginBabelHelpers.js';
2
2
  import './components.js';
3
3
  import 'react';
4
4
  import './getRootClassName.js';
5
- import './mdi.js';
5
+ import './Icon2.js';
6
6
  import '../index2.js';
7
7
  import 'lodash/isBoolean';
8
8
  import 'lodash/isEmpty';
@@ -23,7 +23,6 @@ import './useFocusTrap.js';
23
23
  import 'react-dom';
24
24
  import './ClickAwayProvider.js';
25
25
  import 'lodash/pull';
26
- import './Icon2.js';
27
26
  import './InputHelper.js';
28
27
  import './InputLabel.js';
29
28
  import './TextField.js';
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"date-picker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,11 +2,10 @@ import './_rollupPluginBabelHelpers.js';
2
2
  import './components.js';
3
3
  import 'react';
4
4
  import './getRootClassName.js';
5
- import './mdi.js';
5
+ import './Icon2.js';
6
6
  import 'lodash/isBoolean';
7
7
  import 'lodash/isEmpty';
8
8
  import 'lodash/kebabCase';
9
9
  import 'lodash/noop';
10
10
  export { D as DragHandle } from './DragHandle.js';
11
- import './Icon2.js';
12
11
  //# sourceMappingURL=drag-handle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drag-handle.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"drag-handle.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}