@bigbinary/neeto-molecules 4.0.5 → 4.0.6
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.
- package/dist/BoardView.js +29 -14
- package/dist/BoardView.js.map +1 -1
- package/dist/cjs/BoardView.js +28 -13
- package/dist/cjs/BoardView.js.map +1 -1
- package/package.json +1 -1
package/dist/BoardView.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
2
|
import { useRef, useId, forwardRef, createElement, useState } from 'react';
|
|
3
|
-
import { DragOverlay, useDraggable, useDroppable, useSensors, useSensor,
|
|
3
|
+
import { DragOverlay, useDraggable, useDroppable, TouchSensor, PointerSensor, useSensors, useSensor, DndContext } from '@dnd-kit/core';
|
|
4
4
|
import classnames from 'classnames';
|
|
5
5
|
import { n } from './inject-css-DmrvuTKK.js';
|
|
6
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -87,6 +87,22 @@ var DRAGGABLE_TYPES = {
|
|
|
87
87
|
SECTION: "section",
|
|
88
88
|
ITEM: "item"
|
|
89
89
|
};
|
|
90
|
+
var MEASURING_CONFIG = {
|
|
91
|
+
droppable: {
|
|
92
|
+
frequency: 500
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
var POINTER_SENSOR_CONFIG = {
|
|
96
|
+
activationConstraint: {
|
|
97
|
+
distance: 8
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
var TOUCH_SENSOR_CONFIG = {
|
|
101
|
+
activationConstraint: {
|
|
102
|
+
delay: 300,
|
|
103
|
+
tolerance: 5
|
|
104
|
+
}
|
|
105
|
+
};
|
|
90
106
|
|
|
91
107
|
var DndOverlay = function DndOverlay(_ref) {
|
|
92
108
|
var _state$active;
|
|
@@ -96,6 +112,7 @@ var DndOverlay = function DndOverlay(_ref) {
|
|
|
96
112
|
renderItemOverlay = props.renderItemOverlay;
|
|
97
113
|
var data = ((_state$active = state.active) === null || _state$active === void 0 ? void 0 : _state$active.data.current) || {};
|
|
98
114
|
return /*#__PURE__*/jsxs(DragOverlay, {
|
|
115
|
+
className: "neeto-ui-shadow-xs",
|
|
99
116
|
children: [data.type === DRAGGABLE_TYPES.ITEM && (renderItemOverlay === null || renderItemOverlay === void 0 ? void 0 : renderItemOverlay(data)), data.type === DRAGGABLE_TYPES.SECTION && (renderSectionOverlay === null || renderSectionOverlay === void 0 ? void 0 : renderSectionOverlay(data))]
|
|
100
117
|
});
|
|
101
118
|
};
|
|
@@ -144,7 +161,7 @@ var DragDropContainer$1 = function DragDropContainer(_ref) {
|
|
|
144
161
|
setDroppableNodeRef = _useDroppable.setNodeRef;
|
|
145
162
|
var isIndicatorVisible = !isDragging && isOver;
|
|
146
163
|
return /*#__PURE__*/jsxs("div", _objectSpread$3(_objectSpread$3(_objectSpread$3({
|
|
147
|
-
className: classnames("relative h-full w-full", {
|
|
164
|
+
className: classnames("relative h-full w-full select-none", {
|
|
148
165
|
"opacity-65": isDragging
|
|
149
166
|
}),
|
|
150
167
|
ref: function ref(node) {
|
|
@@ -292,7 +309,7 @@ var DragDropContainer = function DragDropContainer(_ref) {
|
|
|
292
309
|
setDroppableNodeRef = _useDroppable.setNodeRef;
|
|
293
310
|
var isIndicatorVisible = !isDragging && isOver;
|
|
294
311
|
return /*#__PURE__*/jsxs("div", _objectSpread$1(_objectSpread$1(_objectSpread$1({}, !isDragAndDropDisabled && listeners), !isDragAndDropDisabled && attributes), {}, {
|
|
295
|
-
className: classnames("relative h-full w-full flex-col", {
|
|
312
|
+
className: classnames("relative h-full w-full select-none flex-col", {
|
|
296
313
|
"opacity-65": isDragging
|
|
297
314
|
}),
|
|
298
315
|
ref: function ref(node) {
|
|
@@ -343,16 +360,14 @@ var SectionPlaceholder = function SectionPlaceholder(_ref) {
|
|
|
343
360
|
});
|
|
344
361
|
};
|
|
345
362
|
|
|
346
|
-
var
|
|
347
|
-
|
|
348
|
-
distance: 8
|
|
349
|
-
}
|
|
350
|
-
};
|
|
351
|
-
var measuringConfig = {
|
|
352
|
-
droppable: {
|
|
353
|
-
frequency: 500
|
|
354
|
-
}
|
|
363
|
+
var getPlatformSensor = function getPlatformSensor() {
|
|
364
|
+
return "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0 ? [TouchSensor, TOUCH_SENSOR_CONFIG] : [PointerSensor, POINTER_SENSOR_CONFIG];
|
|
355
365
|
};
|
|
366
|
+
|
|
367
|
+
var _getPlatformSensor = getPlatformSensor(),
|
|
368
|
+
_getPlatformSensor2 = _slicedToArray(_getPlatformSensor, 2),
|
|
369
|
+
sensor = _getPlatformSensor2[0],
|
|
370
|
+
sensorConfig = _getPlatformSensor2[1];
|
|
356
371
|
var BoardView = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
357
372
|
var _props$isDragAndDropD = props.isDragAndDropDisabled,
|
|
358
373
|
isDragAndDropDisabled = _props$isDragAndDropD === void 0 ? false : _props$isDragAndDropD,
|
|
@@ -365,7 +380,7 @@ var BoardView = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
365
380
|
_useState2 = _slicedToArray(_useState, 2),
|
|
366
381
|
dragState = _useState2[0],
|
|
367
382
|
setDragState = _useState2[1];
|
|
368
|
-
var sensors = useSensors(useSensor(
|
|
383
|
+
var sensors = useSensors(useSensor(sensor, sensorConfig));
|
|
369
384
|
var onDragEnd = function onDragEnd(drag) {
|
|
370
385
|
var _drag$over;
|
|
371
386
|
if (isDragAndDropDisabled) return;
|
|
@@ -381,7 +396,7 @@ var BoardView = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
381
396
|
return /*#__PURE__*/jsxs(DndContext, {
|
|
382
397
|
onDragEnd: onDragEnd,
|
|
383
398
|
collisionDetection: closestCenter(dragState),
|
|
384
|
-
measuring:
|
|
399
|
+
measuring: MEASURING_CONFIG,
|
|
385
400
|
sensors: isDragAndDropDisabled ? [] : sensors,
|
|
386
401
|
onDragStart: isDragAndDropDisabled ? undefined : setDragState,
|
|
387
402
|
children: [/*#__PURE__*/jsxs("div", {
|
package/dist/BoardView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardView.js","sources":["../src/components/BoardView/closestCenter.js","../src/components/BoardView/constants.js","../src/components/BoardView/Overlay.jsx","../src/components/BoardView/Indicator.jsx","../src/components/BoardView/Item/Container.jsx","../src/components/BoardView/Item/Placeholder.jsx","../src/components/BoardView/Section/index.jsx","../src/components/BoardView/Section/Container.jsx","../src/components/BoardView/Section/Placeholder.jsx","../src/components/BoardView/index.jsx"],"sourcesContent":["const distanceBetween = (p1, p2) =>\n Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n\nconst centerOfRectangle = (rect, left = rect.left, top = rect.top) => ({\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5,\n});\n\nconst matchType = (draggable, droppable) =>\n droppable.data.current.accepts.includes(draggable.data.current.type);\n\nconst matchDirection = (direction, droppable, reference) => {\n const matchX = () =>\n reference.x > droppable.left &&\n reference.x < droppable.left + droppable.width;\n\n const matchY = () =>\n reference.y > droppable.top &&\n reference.y < droppable.top + droppable.height;\n\n if (direction === \"vertical\") return matchX();\n else if (direction === \"horizontal\") return matchY();\n\n return true;\n};\nexport const closestCenter =\n ({ active }) =>\n ({\n collisionRect,\n droppableRects,\n droppableContainers,\n pointerCoordinates,\n }) => {\n const direction = active.data.current?.direction;\n const centerRect = centerOfRectangle(\n collisionRect,\n collisionRect.left,\n collisionRect.top\n );\n\n let minDistance = Number.POSITIVE_INFINITY;\n let collision = { id: undefined };\n\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const droppableContainer of droppableContainers) {\n const rect = droppableRects.get(droppableContainer.id);\n\n if (!rect || droppableContainer.id === active.id) continue;\n else if (!matchType(active, droppableContainer)) continue;\n else if (!matchDirection(direction, rect, pointerCoordinates)) continue;\n\n const distance = distanceBetween(centerOfRectangle(rect), centerRect);\n if (distance < minDistance) {\n minDistance = distance;\n collision = {\n id: droppableContainer.id,\n data: { droppableContainer, value: distance },\n };\n }\n }\n\n return [collision];\n };\n","export const DRAGGABLE_TYPES = { SECTION: \"section\", ITEM: \"item\" };\n","import { DragOverlay } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"./constants\";\n\nconst DndOverlay = ({ props, state }) => {\n const { renderSectionOverlay, renderItemOverlay } = props;\n const data = state.active?.data.current || {};\n\n return (\n <DragOverlay>\n {data.type === DRAGGABLE_TYPES.ITEM && renderItemOverlay?.(data)}\n {data.type === DRAGGABLE_TYPES.SECTION && renderSectionOverlay?.(data)}\n </DragOverlay>\n );\n};\n\nexport default DndOverlay;\n","import classNames from \"classnames\";\n\nconst DndIndicator = ({ layout = \"vertical\" }) => (\n <div\n className={classNames(\n \"neeto-ui-rounded-xl neeto-ui-bg-accent-600 absolute\",\n {\n \"-bottom-3 left-0 right-0 h-1\": layout === \"horizontal\",\n \"-right-2 bottom-0 top-0 w-1\": layout === \"vertical\",\n }\n )}\n />\n);\n\nexport default DndIndicator;\n","import { useRef } from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { useInView } from \"react-intersection-observer\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst DragDropContainer = ({\n id,\n index,\n data,\n render,\n isDragAndDropDisabled = false,\n}) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index, type: DRAGGABLE_TYPES.ITEM, direction: \"vertical\" },\n id: `draggable-item--${id}`,\n disabled: isDragAndDropDisabled,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.ITEM], index: index + 1 },\n id: `droppable-item--${id}`,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n className={classNames(\"relative h-full w-full\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n {...(!isDragAndDropDisabled && attributes)}\n {...(!isDragAndDropDisabled && listeners)}\n >\n {render()}\n {isIndicatorVisible && <DndIndicator layout=\"horizontal\" />}\n </div>\n );\n};\n\nconst ItemContainer = props => {\n const mutables = useRef({ containerHeight: 128 }).current;\n\n const [setViewRef, inView] = useInView({\n onChange: (inView, entry) => {\n if (inView) return; // We need the last height value when elements moves out.\n mutables.containerHeight = entry.target.clientHeight;\n },\n });\n\n return (\n <div\n className=\"neeto-molecules-boardview-section__card relative shrink-0\"\n id={props.id}\n style={{ height: inView ? undefined : mutables.containerHeight }}\n ref={node => {\n setViewRef(node);\n }}\n >\n {inView && <DragDropContainer {...props} />}\n </div>\n );\n};\n\nexport default ItemContainer;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst ItemPlaceholder = ({ data, index = 0 }) => {\n const id = useId();\n\n const { isOver, setNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.ITEM], index },\n id: `droppable-item--${id}`,\n });\n\n return (\n <div className=\"relative\" ref={setNodeRef}>\n {isOver && <DndIndicator layout=\"horizontal\" />}\n </div>\n );\n};\n\nexport default ItemPlaceholder;\n","import { forwardRef } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport ItemContainer from \"../Item/Container\";\nimport ItemPlaceholder from \"../Item/Placeholder\";\n\nconst Section = forwardRef(\n ({ section, items, renderItem, isDragAndDropDisabled }, ref) => (\n <div\n {...{ ref }}\n className=\"neeto-molecules-boardview-section__body relative min-h-0 flex-1 basis-0 overflow-y-auto\"\n >\n <ItemPlaceholder data={{ section }} />\n {items.map((item, index) => (\n <ItemContainer\n {...{ index, isDragAndDropDisabled }}\n data={{ section, item }}\n id={`${section.id}--${item.id}`}\n key={`${section.id}--${item.id}`}\n render={() => renderItem({ index, item, section })}\n />\n ))}\n </div>\n )\n);\n\nSection.displayName = \"Section\";\nSection.propTypes = {\n /** A reference to the section container element. */\n // eslint-disable-next-line react/no-unused-prop-types\n ref: PropTypes.any,\n\n /** The current section data */\n section: PropTypes.shape({ id: PropTypes.string.isRequired }).isRequired,\n\n /** When true, disables all drag and drop functionality for the section */\n isDragAndDropDisabled: PropTypes.bool,\n\n /** An array of items belonging to the current section. */\n items: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n\n /** A function that renders the content of each item in the list. */\n renderItem: PropTypes.func.isRequired,\n};\n\nexport default Section;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { useInView } from \"react-intersection-observer\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst DragDropContainer = ({\n id,\n index,\n data,\n render,\n isDragAndDropDisabled = false,\n}) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, type: DRAGGABLE_TYPES.SECTION, index },\n id: `draggable-section--${id}`,\n disabled: isDragAndDropDisabled,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.SECTION], index: index + 1 },\n id: `droppable-section--${id}`,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n {...(!isDragAndDropDisabled && listeners)}\n {...(!isDragAndDropDisabled && attributes)}\n className={classNames(\"relative h-full w-full flex-col\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {render()}\n {isIndicatorVisible && <DndIndicator layout=\"vertical\" />}\n </div>\n );\n};\n\nconst SectionContainer = props => {\n const [setViewRef, inView] = useInView();\n\n return (\n <div\n className=\"neeto-molecules-boardview-section relative mr-3 h-full last-of-type:mr-0\"\n ref={node => {\n setViewRef(node);\n }}\n >\n {inView && <DragDropContainer {...props} />}\n </div>\n );\n};\n\nexport default SectionContainer;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst SectionPlaceholder = ({ data, index = 0 }) => {\n const id = useId();\n\n const { isOver, setNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.SECTION], index },\n id: `droppable-section--${id}`,\n });\n\n return (\n <div className=\"relative\" ref={setNodeRef}>\n {isOver && <DndIndicator layout=\"vertical\" />}\n </div>\n );\n};\n\nexport default SectionPlaceholder;\n","import { forwardRef, useState } from \"react\";\n\nimport {\n DndContext,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport \"./boardview.scss\";\nimport { closestCenter } from \"./closestCenter\";\nimport { DRAGGABLE_TYPES } from \"./constants\";\nimport DndOverlay from \"./Overlay\";\nimport Section from \"./Section\";\nimport SectionContainer from \"./Section/Container\";\nimport SectionPlaceholder from \"./Section/Placeholder\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\nconst measuringConfig = { droppable: { frequency: 500 } };\n\nconst BoardView = forwardRef((props, ref) => {\n const {\n isDragAndDropDisabled = false,\n sections,\n onMoveSection,\n onMoveItem,\n renderSection,\n className,\n } = props;\n\n const [dragState, setDragState] = useState({});\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const onDragEnd = drag => {\n if (isDragAndDropDisabled) return;\n\n const active = dragState.active.data.current;\n const over = drag.over?.data.current;\n if (!active || !over) return;\n\n if (active.type === DRAGGABLE_TYPES.ITEM) {\n onMoveItem?.(active, over);\n } else if (active.type === DRAGGABLE_TYPES.SECTION) {\n onMoveSection?.(active, over);\n }\n };\n\n return (\n <DndContext\n {...{ onDragEnd }}\n collisionDetection={closestCenter(dragState)}\n measuring={measuringConfig}\n sensors={isDragAndDropDisabled ? [] : sensors}\n onDragStart={isDragAndDropDisabled ? undefined : setDragState}\n >\n <div\n {...{ ref }}\n className={classNames(\n \"neeto-molecules-boardview-outer-wrapper flex w-full flex-1 overflow-x-auto\",\n className\n )}\n >\n <SectionPlaceholder />\n {sections.map((section, index) => (\n <SectionContainer\n {...{ index, isDragAndDropDisabled }}\n data={{ section }}\n id={section.id}\n key={section.id}\n render={() =>\n renderSection({ index, section, isDragAndDropDisabled })\n }\n />\n ))}\n </div>\n <DndOverlay {...{ props }} state={dragState} />\n </DndContext>\n );\n});\n\nBoardView.displayName = \"BoardView\";\nBoardView.Section = Section;\nBoardView.propTypes = {\n /** A reference to the container element. */\n // eslint-disable-next-line react/no-unused-prop-types\n ref: PropTypes.any,\n\n /**\n An array of sections, each defined by an object with an `id` string.\n */\n sections: PropTypes.arrayOf(\n PropTypes.shape({ id: PropTypes.string.isRequired })\n ).isRequired,\n\n /** function to render each section content in the board view */\n renderSection: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual sections (drag preview) */\n // eslint-disable-next-line react/no-unused-prop-types\n renderSectionOverlay: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual items (drag preview) */\n // eslint-disable-next-line react/no-unused-prop-types\n renderItemOverlay: PropTypes.func.isRequired,\n\n /** Callback function triggered when a section is reordered */\n onMoveSection: PropTypes.func,\n\n /** Callback function triggered when an item is moved */\n onMoveItem: PropTypes.func,\n\n /** When true, disables all drag and drop functionality for the board view */\n isDragAndDropDisabled: PropTypes.bool,\n\n /**\n * Additional classes passed on to the board view.\n */\n className: PropTypes.string,\n};\n\nexport default BoardView;\n"],"names":["distanceBetween","p1","p2","Math","sqrt","pow","x","y","centerOfRectangle","rect","left","arguments","length","undefined","top","width","height","matchType","draggable","droppable","data","current","accepts","includes","type","matchDirection","direction","reference","matchX","matchY","closestCenter","_ref","active","_ref2","_active$data$current","collisionRect","droppableRects","droppableContainers","pointerCoordinates","centerRect","minDistance","Number","POSITIVE_INFINITY","collision","id","_iterator","_createForOfIteratorHelper","_step","s","n","done","droppableContainer","value","get","distance","err","e","f","DRAGGABLE_TYPES","SECTION","ITEM","DndOverlay","_state$active","props","state","renderSectionOverlay","renderItemOverlay","_jsxs","DragOverlay","children","DndIndicator","_ref$layout","layout","_jsx","className","classNames","DragDropContainer","index","render","_ref$isDragAndDropDis","isDragAndDropDisabled","_useDraggable","useDraggable","_objectSpread","concat","disabled","attributes","listeners","isDragging","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableNodeRef","isIndicatorVisible","ref","node","ItemContainer","mutables","useRef","containerHeight","_useInView","useInView","onChange","inView","entry","target","clientHeight","_useInView2","_slicedToArray","setViewRef","style","ItemPlaceholder","_ref$index","useId","Section","forwardRef","section","items","renderItem","map","item","_createElement","key","displayName","propTypes","PropTypes","any","shape","string","isRequired","bool","arrayOf","func","SectionContainer","SectionPlaceholder","sensorConfig","activationConstraint","measuringConfig","frequency","BoardView","_props$isDragAndDropD","sections","onMoveSection","onMoveItem","renderSection","_useState","useState","_useState2","dragState","setDragState","sensors","useSensors","useSensor","PointerSensor","onDragEnd","drag","_drag$over","over","DndContext","collisionDetection","measuring","onDragStart"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BoardView.js","sources":["../src/components/BoardView/closestCenter.js","../src/components/BoardView/constants.js","../src/components/BoardView/Overlay.jsx","../src/components/BoardView/Indicator.jsx","../src/components/BoardView/Item/Container.jsx","../src/components/BoardView/Item/Placeholder.jsx","../src/components/BoardView/Section/index.jsx","../src/components/BoardView/Section/Container.jsx","../src/components/BoardView/Section/Placeholder.jsx","../src/components/BoardView/utils.js","../src/components/BoardView/index.jsx"],"sourcesContent":["const distanceBetween = (p1, p2) =>\n Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n\nconst centerOfRectangle = (rect, left = rect.left, top = rect.top) => ({\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5,\n});\n\nconst matchType = (draggable, droppable) =>\n droppable.data.current.accepts.includes(draggable.data.current.type);\n\nconst matchDirection = (direction, droppable, reference) => {\n const matchX = () =>\n reference.x > droppable.left &&\n reference.x < droppable.left + droppable.width;\n\n const matchY = () =>\n reference.y > droppable.top &&\n reference.y < droppable.top + droppable.height;\n\n if (direction === \"vertical\") return matchX();\n else if (direction === \"horizontal\") return matchY();\n\n return true;\n};\nexport const closestCenter =\n ({ active }) =>\n ({\n collisionRect,\n droppableRects,\n droppableContainers,\n pointerCoordinates,\n }) => {\n const direction = active.data.current?.direction;\n const centerRect = centerOfRectangle(\n collisionRect,\n collisionRect.left,\n collisionRect.top\n );\n\n let minDistance = Number.POSITIVE_INFINITY;\n let collision = { id: undefined };\n\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const droppableContainer of droppableContainers) {\n const rect = droppableRects.get(droppableContainer.id);\n\n if (!rect || droppableContainer.id === active.id) continue;\n else if (!matchType(active, droppableContainer)) continue;\n else if (!matchDirection(direction, rect, pointerCoordinates)) continue;\n\n const distance = distanceBetween(centerOfRectangle(rect), centerRect);\n if (distance < minDistance) {\n minDistance = distance;\n collision = {\n id: droppableContainer.id,\n data: { droppableContainer, value: distance },\n };\n }\n }\n\n return [collision];\n };\n","export const DRAGGABLE_TYPES = { SECTION: \"section\", ITEM: \"item\" };\n\nexport const MEASURING_CONFIG = { droppable: { frequency: 500 } };\n\nexport const POINTER_SENSOR_CONFIG = { activationConstraint: { distance: 8 } };\n\nexport const TOUCH_SENSOR_CONFIG = {\n activationConstraint: { delay: 300, tolerance: 5 },\n};\n","import { DragOverlay } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"./constants\";\n\nconst DndOverlay = ({ props, state }) => {\n const { renderSectionOverlay, renderItemOverlay } = props;\n const data = state.active?.data.current || {};\n\n return (\n <DragOverlay className=\"neeto-ui-shadow-xs\">\n {data.type === DRAGGABLE_TYPES.ITEM && renderItemOverlay?.(data)}\n {data.type === DRAGGABLE_TYPES.SECTION && renderSectionOverlay?.(data)}\n </DragOverlay>\n );\n};\n\nexport default DndOverlay;\n","import classNames from \"classnames\";\n\nconst DndIndicator = ({ layout = \"vertical\" }) => (\n <div\n className={classNames(\n \"neeto-ui-rounded-xl neeto-ui-bg-accent-600 absolute\",\n {\n \"-bottom-3 left-0 right-0 h-1\": layout === \"horizontal\",\n \"-right-2 bottom-0 top-0 w-1\": layout === \"vertical\",\n }\n )}\n />\n);\n\nexport default DndIndicator;\n","import { useRef } from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { useInView } from \"react-intersection-observer\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst DragDropContainer = ({\n id,\n index,\n data,\n render,\n isDragAndDropDisabled = false,\n}) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index, type: DRAGGABLE_TYPES.ITEM, direction: \"vertical\" },\n id: `draggable-item--${id}`,\n disabled: isDragAndDropDisabled,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.ITEM], index: index + 1 },\n id: `droppable-item--${id}`,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n className={classNames(\"relative h-full w-full select-none\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n {...(!isDragAndDropDisabled && attributes)}\n {...(!isDragAndDropDisabled && listeners)}\n >\n {render()}\n {isIndicatorVisible && <DndIndicator layout=\"horizontal\" />}\n </div>\n );\n};\n\nconst ItemContainer = props => {\n const mutables = useRef({ containerHeight: 128 }).current;\n\n const [setViewRef, inView] = useInView({\n onChange: (inView, entry) => {\n if (inView) return; // We need the last height value when elements moves out.\n mutables.containerHeight = entry.target.clientHeight;\n },\n });\n\n return (\n <div\n className=\"neeto-molecules-boardview-section__card relative shrink-0\"\n id={props.id}\n style={{ height: inView ? undefined : mutables.containerHeight }}\n ref={node => {\n setViewRef(node);\n }}\n >\n {inView && <DragDropContainer {...props} />}\n </div>\n );\n};\n\nexport default ItemContainer;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst ItemPlaceholder = ({ data, index = 0 }) => {\n const id = useId();\n\n const { isOver, setNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.ITEM], index },\n id: `droppable-item--${id}`,\n });\n\n return (\n <div className=\"relative\" ref={setNodeRef}>\n {isOver && <DndIndicator layout=\"horizontal\" />}\n </div>\n );\n};\n\nexport default ItemPlaceholder;\n","import { forwardRef } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport ItemContainer from \"../Item/Container\";\nimport ItemPlaceholder from \"../Item/Placeholder\";\n\nconst Section = forwardRef(\n ({ section, items, renderItem, isDragAndDropDisabled }, ref) => (\n <div\n {...{ ref }}\n className=\"neeto-molecules-boardview-section__body relative min-h-0 flex-1 basis-0 overflow-y-auto\"\n >\n <ItemPlaceholder data={{ section }} />\n {items.map((item, index) => (\n <ItemContainer\n {...{ index, isDragAndDropDisabled }}\n data={{ section, item }}\n id={`${section.id}--${item.id}`}\n key={`${section.id}--${item.id}`}\n render={() => renderItem({ index, item, section })}\n />\n ))}\n </div>\n )\n);\n\nSection.displayName = \"Section\";\nSection.propTypes = {\n /** A reference to the section container element. */\n // eslint-disable-next-line react/no-unused-prop-types\n ref: PropTypes.any,\n\n /** The current section data */\n section: PropTypes.shape({ id: PropTypes.string.isRequired }).isRequired,\n\n /** When true, disables all drag and drop functionality for the section */\n isDragAndDropDisabled: PropTypes.bool,\n\n /** An array of items belonging to the current section. */\n items: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n\n /** A function that renders the content of each item in the list. */\n renderItem: PropTypes.func.isRequired,\n};\n\nexport default Section;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { useInView } from \"react-intersection-observer\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst DragDropContainer = ({\n id,\n index,\n data,\n render,\n isDragAndDropDisabled = false,\n}) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, type: DRAGGABLE_TYPES.SECTION, index },\n id: `draggable-section--${id}`,\n disabled: isDragAndDropDisabled,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.SECTION], index: index + 1 },\n id: `droppable-section--${id}`,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n {...(!isDragAndDropDisabled && listeners)}\n {...(!isDragAndDropDisabled && attributes)}\n className={classNames(\"relative h-full w-full select-none flex-col\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {render()}\n {isIndicatorVisible && <DndIndicator layout=\"vertical\" />}\n </div>\n );\n};\n\nconst SectionContainer = props => {\n const [setViewRef, inView] = useInView();\n\n return (\n <div\n className=\"neeto-molecules-boardview-section relative mr-3 h-full last-of-type:mr-0\"\n ref={node => {\n setViewRef(node);\n }}\n >\n {inView && <DragDropContainer {...props} />}\n </div>\n );\n};\n\nexport default SectionContainer;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst SectionPlaceholder = ({ data, index = 0 }) => {\n const id = useId();\n\n const { isOver, setNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.SECTION], index },\n id: `droppable-section--${id}`,\n });\n\n return (\n <div className=\"relative\" ref={setNodeRef}>\n {isOver && <DndIndicator layout=\"vertical\" />}\n </div>\n );\n};\n\nexport default SectionPlaceholder;\n","import { PointerSensor, TouchSensor } from \"@dnd-kit/core\";\n\nimport { TOUCH_SENSOR_CONFIG, POINTER_SENSOR_CONFIG } from \"./constants\";\n\nexport const getPlatformSensor = () =>\n \"ontouchstart\" in window ||\n navigator.maxTouchPoints > 0 ||\n navigator.msMaxTouchPoints > 0\n ? [TouchSensor, TOUCH_SENSOR_CONFIG]\n : [PointerSensor, POINTER_SENSOR_CONFIG];\n","import { forwardRef, useState } from \"react\";\n\nimport { DndContext, useSensor, useSensors } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport \"./boardview.scss\";\nimport { closestCenter } from \"./closestCenter\";\nimport { DRAGGABLE_TYPES, MEASURING_CONFIG } from \"./constants\";\nimport DndOverlay from \"./Overlay\";\nimport Section from \"./Section\";\nimport SectionContainer from \"./Section/Container\";\nimport SectionPlaceholder from \"./Section/Placeholder\";\nimport { getPlatformSensor } from \"./utils\";\n\nconst [sensor, sensorConfig] = getPlatformSensor();\n\nconst BoardView = forwardRef((props, ref) => {\n const {\n isDragAndDropDisabled = false,\n sections,\n onMoveSection,\n onMoveItem,\n renderSection,\n className,\n } = props;\n\n const [dragState, setDragState] = useState({});\n const sensors = useSensors(useSensor(sensor, sensorConfig));\n\n const onDragEnd = drag => {\n if (isDragAndDropDisabled) return;\n\n const active = dragState.active.data.current;\n const over = drag.over?.data.current;\n if (!active || !over) return;\n\n if (active.type === DRAGGABLE_TYPES.ITEM) {\n onMoveItem?.(active, over);\n } else if (active.type === DRAGGABLE_TYPES.SECTION) {\n onMoveSection?.(active, over);\n }\n };\n\n return (\n <DndContext\n {...{ onDragEnd }}\n collisionDetection={closestCenter(dragState)}\n measuring={MEASURING_CONFIG}\n sensors={isDragAndDropDisabled ? [] : sensors}\n onDragStart={isDragAndDropDisabled ? undefined : setDragState}\n >\n <div\n {...{ ref }}\n className={classNames(\n \"neeto-molecules-boardview-outer-wrapper flex w-full flex-1 overflow-x-auto\",\n className\n )}\n >\n <SectionPlaceholder />\n {sections.map((section, index) => (\n <SectionContainer\n {...{ index, isDragAndDropDisabled }}\n data={{ section }}\n id={section.id}\n key={section.id}\n render={() =>\n renderSection({ index, section, isDragAndDropDisabled })\n }\n />\n ))}\n </div>\n <DndOverlay {...{ props }} state={dragState} />\n </DndContext>\n );\n});\n\nBoardView.displayName = \"BoardView\";\nBoardView.Section = Section;\nBoardView.propTypes = {\n /** A reference to the container element. */\n // eslint-disable-next-line react/no-unused-prop-types\n ref: PropTypes.any,\n\n /**\n An array of sections, each defined by an object with an `id` string.\n */\n sections: PropTypes.arrayOf(\n PropTypes.shape({ id: PropTypes.string.isRequired })\n ).isRequired,\n\n /** function to render each section content in the board view */\n renderSection: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual sections (drag preview) */\n // eslint-disable-next-line react/no-unused-prop-types\n renderSectionOverlay: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual items (drag preview) */\n // eslint-disable-next-line react/no-unused-prop-types\n renderItemOverlay: PropTypes.func.isRequired,\n\n /** Callback function triggered when a section is reordered */\n onMoveSection: PropTypes.func,\n\n /** Callback function triggered when an item is moved */\n onMoveItem: PropTypes.func,\n\n /** When true, disables all drag and drop functionality for the board view */\n isDragAndDropDisabled: PropTypes.bool,\n\n /**\n * Additional classes passed on to the board view.\n */\n className: PropTypes.string,\n};\n\nexport default BoardView;\n"],"names":["distanceBetween","p1","p2","Math","sqrt","pow","x","y","centerOfRectangle","rect","left","arguments","length","undefined","top","width","height","matchType","draggable","droppable","data","current","accepts","includes","type","matchDirection","direction","reference","matchX","matchY","closestCenter","_ref","active","_ref2","_active$data$current","collisionRect","droppableRects","droppableContainers","pointerCoordinates","centerRect","minDistance","Number","POSITIVE_INFINITY","collision","id","_iterator","_createForOfIteratorHelper","_step","s","n","done","droppableContainer","value","get","distance","err","e","f","DRAGGABLE_TYPES","SECTION","ITEM","MEASURING_CONFIG","frequency","POINTER_SENSOR_CONFIG","activationConstraint","TOUCH_SENSOR_CONFIG","delay","tolerance","DndOverlay","_state$active","props","state","renderSectionOverlay","renderItemOverlay","_jsxs","DragOverlay","className","children","DndIndicator","_ref$layout","layout","_jsx","classNames","DragDropContainer","index","render","_ref$isDragAndDropDis","isDragAndDropDisabled","_useDraggable","useDraggable","_objectSpread","concat","disabled","attributes","listeners","isDragging","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableNodeRef","isIndicatorVisible","ref","node","ItemContainer","mutables","useRef","containerHeight","_useInView","useInView","onChange","inView","entry","target","clientHeight","_useInView2","_slicedToArray","setViewRef","style","ItemPlaceholder","_ref$index","useId","Section","forwardRef","section","items","renderItem","map","item","_createElement","key","displayName","propTypes","PropTypes","any","shape","string","isRequired","bool","arrayOf","func","SectionContainer","SectionPlaceholder","getPlatformSensor","window","navigator","maxTouchPoints","msMaxTouchPoints","TouchSensor","PointerSensor","_getPlatformSensor","_getPlatformSensor2","sensor","sensorConfig","BoardView","_props$isDragAndDropD","sections","onMoveSection","onMoveItem","renderSection","_useState","useState","_useState2","dragState","setDragState","sensors","useSensors","useSensor","onDragEnd","drag","_drag$over","over","DndContext","collisionDetection","measuring","onDragStart"],"mappings":"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"}
|
package/dist/cjs/BoardView.js
CHANGED
|
@@ -89,6 +89,22 @@ var DRAGGABLE_TYPES = {
|
|
|
89
89
|
SECTION: "section",
|
|
90
90
|
ITEM: "item"
|
|
91
91
|
};
|
|
92
|
+
var MEASURING_CONFIG = {
|
|
93
|
+
droppable: {
|
|
94
|
+
frequency: 500
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
var POINTER_SENSOR_CONFIG = {
|
|
98
|
+
activationConstraint: {
|
|
99
|
+
distance: 8
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
var TOUCH_SENSOR_CONFIG = {
|
|
103
|
+
activationConstraint: {
|
|
104
|
+
delay: 300,
|
|
105
|
+
tolerance: 5
|
|
106
|
+
}
|
|
107
|
+
};
|
|
92
108
|
|
|
93
109
|
var DndOverlay = function DndOverlay(_ref) {
|
|
94
110
|
var _state$active;
|
|
@@ -98,6 +114,7 @@ var DndOverlay = function DndOverlay(_ref) {
|
|
|
98
114
|
renderItemOverlay = props.renderItemOverlay;
|
|
99
115
|
var data = ((_state$active = state.active) === null || _state$active === void 0 ? void 0 : _state$active.data.current) || {};
|
|
100
116
|
return /*#__PURE__*/jsxRuntime.jsxs(core.DragOverlay, {
|
|
117
|
+
className: "neeto-ui-shadow-xs",
|
|
101
118
|
children: [data.type === DRAGGABLE_TYPES.ITEM && (renderItemOverlay === null || renderItemOverlay === void 0 ? void 0 : renderItemOverlay(data)), data.type === DRAGGABLE_TYPES.SECTION && (renderSectionOverlay === null || renderSectionOverlay === void 0 ? void 0 : renderSectionOverlay(data))]
|
|
102
119
|
});
|
|
103
120
|
};
|
|
@@ -146,7 +163,7 @@ var DragDropContainer$1 = function DragDropContainer(_ref) {
|
|
|
146
163
|
setDroppableNodeRef = _useDroppable.setNodeRef;
|
|
147
164
|
var isIndicatorVisible = !isDragging && isOver;
|
|
148
165
|
return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$3(_objectSpread$3(_objectSpread$3({
|
|
149
|
-
className: classnames("relative h-full w-full", {
|
|
166
|
+
className: classnames("relative h-full w-full select-none", {
|
|
150
167
|
"opacity-65": isDragging
|
|
151
168
|
}),
|
|
152
169
|
ref: function ref(node) {
|
|
@@ -294,7 +311,7 @@ var DragDropContainer = function DragDropContainer(_ref) {
|
|
|
294
311
|
setDroppableNodeRef = _useDroppable.setNodeRef;
|
|
295
312
|
var isIndicatorVisible = !isDragging && isOver;
|
|
296
313
|
return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$1(_objectSpread$1(_objectSpread$1({}, !isDragAndDropDisabled && listeners), !isDragAndDropDisabled && attributes), {}, {
|
|
297
|
-
className: classnames("relative h-full w-full flex-col", {
|
|
314
|
+
className: classnames("relative h-full w-full select-none flex-col", {
|
|
298
315
|
"opacity-65": isDragging
|
|
299
316
|
}),
|
|
300
317
|
ref: function ref(node) {
|
|
@@ -345,16 +362,14 @@ var SectionPlaceholder = function SectionPlaceholder(_ref) {
|
|
|
345
362
|
});
|
|
346
363
|
};
|
|
347
364
|
|
|
348
|
-
var
|
|
349
|
-
|
|
350
|
-
distance: 8
|
|
351
|
-
}
|
|
352
|
-
};
|
|
353
|
-
var measuringConfig = {
|
|
354
|
-
droppable: {
|
|
355
|
-
frequency: 500
|
|
356
|
-
}
|
|
365
|
+
var getPlatformSensor = function getPlatformSensor() {
|
|
366
|
+
return "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0 ? [core.TouchSensor, TOUCH_SENSOR_CONFIG] : [core.PointerSensor, POINTER_SENSOR_CONFIG];
|
|
357
367
|
};
|
|
368
|
+
|
|
369
|
+
var _getPlatformSensor = getPlatformSensor(),
|
|
370
|
+
_getPlatformSensor2 = _slicedToArray(_getPlatformSensor, 2),
|
|
371
|
+
sensor = _getPlatformSensor2[0],
|
|
372
|
+
sensorConfig = _getPlatformSensor2[1];
|
|
358
373
|
var BoardView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
359
374
|
var _props$isDragAndDropD = props.isDragAndDropDisabled,
|
|
360
375
|
isDragAndDropDisabled = _props$isDragAndDropD === void 0 ? false : _props$isDragAndDropD,
|
|
@@ -367,7 +382,7 @@ var BoardView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
367
382
|
_useState2 = _slicedToArray(_useState, 2),
|
|
368
383
|
dragState = _useState2[0],
|
|
369
384
|
setDragState = _useState2[1];
|
|
370
|
-
var sensors = core.useSensors(core.useSensor(
|
|
385
|
+
var sensors = core.useSensors(core.useSensor(sensor, sensorConfig));
|
|
371
386
|
var onDragEnd = function onDragEnd(drag) {
|
|
372
387
|
var _drag$over;
|
|
373
388
|
if (isDragAndDropDisabled) return;
|
|
@@ -383,7 +398,7 @@ var BoardView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
383
398
|
return /*#__PURE__*/jsxRuntime.jsxs(core.DndContext, {
|
|
384
399
|
onDragEnd: onDragEnd,
|
|
385
400
|
collisionDetection: closestCenter(dragState),
|
|
386
|
-
measuring:
|
|
401
|
+
measuring: MEASURING_CONFIG,
|
|
387
402
|
sensors: isDragAndDropDisabled ? [] : sensors,
|
|
388
403
|
onDragStart: isDragAndDropDisabled ? undefined : setDragState,
|
|
389
404
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardView.js","sources":["../../src/components/BoardView/closestCenter.js","../../src/components/BoardView/constants.js","../../src/components/BoardView/Overlay.jsx","../../src/components/BoardView/Indicator.jsx","../../src/components/BoardView/Item/Container.jsx","../../src/components/BoardView/Item/Placeholder.jsx","../../src/components/BoardView/Section/index.jsx","../../src/components/BoardView/Section/Container.jsx","../../src/components/BoardView/Section/Placeholder.jsx","../../src/components/BoardView/index.jsx"],"sourcesContent":["const distanceBetween = (p1, p2) =>\n Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n\nconst centerOfRectangle = (rect, left = rect.left, top = rect.top) => ({\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5,\n});\n\nconst matchType = (draggable, droppable) =>\n droppable.data.current.accepts.includes(draggable.data.current.type);\n\nconst matchDirection = (direction, droppable, reference) => {\n const matchX = () =>\n reference.x > droppable.left &&\n reference.x < droppable.left + droppable.width;\n\n const matchY = () =>\n reference.y > droppable.top &&\n reference.y < droppable.top + droppable.height;\n\n if (direction === \"vertical\") return matchX();\n else if (direction === \"horizontal\") return matchY();\n\n return true;\n};\nexport const closestCenter =\n ({ active }) =>\n ({\n collisionRect,\n droppableRects,\n droppableContainers,\n pointerCoordinates,\n }) => {\n const direction = active.data.current?.direction;\n const centerRect = centerOfRectangle(\n collisionRect,\n collisionRect.left,\n collisionRect.top\n );\n\n let minDistance = Number.POSITIVE_INFINITY;\n let collision = { id: undefined };\n\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const droppableContainer of droppableContainers) {\n const rect = droppableRects.get(droppableContainer.id);\n\n if (!rect || droppableContainer.id === active.id) continue;\n else if (!matchType(active, droppableContainer)) continue;\n else if (!matchDirection(direction, rect, pointerCoordinates)) continue;\n\n const distance = distanceBetween(centerOfRectangle(rect), centerRect);\n if (distance < minDistance) {\n minDistance = distance;\n collision = {\n id: droppableContainer.id,\n data: { droppableContainer, value: distance },\n };\n }\n }\n\n return [collision];\n };\n","export const DRAGGABLE_TYPES = { SECTION: \"section\", ITEM: \"item\" };\n","import { DragOverlay } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"./constants\";\n\nconst DndOverlay = ({ props, state }) => {\n const { renderSectionOverlay, renderItemOverlay } = props;\n const data = state.active?.data.current || {};\n\n return (\n <DragOverlay>\n {data.type === DRAGGABLE_TYPES.ITEM && renderItemOverlay?.(data)}\n {data.type === DRAGGABLE_TYPES.SECTION && renderSectionOverlay?.(data)}\n </DragOverlay>\n );\n};\n\nexport default DndOverlay;\n","import classNames from \"classnames\";\n\nconst DndIndicator = ({ layout = \"vertical\" }) => (\n <div\n className={classNames(\n \"neeto-ui-rounded-xl neeto-ui-bg-accent-600 absolute\",\n {\n \"-bottom-3 left-0 right-0 h-1\": layout === \"horizontal\",\n \"-right-2 bottom-0 top-0 w-1\": layout === \"vertical\",\n }\n )}\n />\n);\n\nexport default DndIndicator;\n","import { useRef } from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { useInView } from \"react-intersection-observer\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst DragDropContainer = ({\n id,\n index,\n data,\n render,\n isDragAndDropDisabled = false,\n}) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index, type: DRAGGABLE_TYPES.ITEM, direction: \"vertical\" },\n id: `draggable-item--${id}`,\n disabled: isDragAndDropDisabled,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.ITEM], index: index + 1 },\n id: `droppable-item--${id}`,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n className={classNames(\"relative h-full w-full\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n {...(!isDragAndDropDisabled && attributes)}\n {...(!isDragAndDropDisabled && listeners)}\n >\n {render()}\n {isIndicatorVisible && <DndIndicator layout=\"horizontal\" />}\n </div>\n );\n};\n\nconst ItemContainer = props => {\n const mutables = useRef({ containerHeight: 128 }).current;\n\n const [setViewRef, inView] = useInView({\n onChange: (inView, entry) => {\n if (inView) return; // We need the last height value when elements moves out.\n mutables.containerHeight = entry.target.clientHeight;\n },\n });\n\n return (\n <div\n className=\"neeto-molecules-boardview-section__card relative shrink-0\"\n id={props.id}\n style={{ height: inView ? undefined : mutables.containerHeight }}\n ref={node => {\n setViewRef(node);\n }}\n >\n {inView && <DragDropContainer {...props} />}\n </div>\n );\n};\n\nexport default ItemContainer;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst ItemPlaceholder = ({ data, index = 0 }) => {\n const id = useId();\n\n const { isOver, setNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.ITEM], index },\n id: `droppable-item--${id}`,\n });\n\n return (\n <div className=\"relative\" ref={setNodeRef}>\n {isOver && <DndIndicator layout=\"horizontal\" />}\n </div>\n );\n};\n\nexport default ItemPlaceholder;\n","import { forwardRef } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport ItemContainer from \"../Item/Container\";\nimport ItemPlaceholder from \"../Item/Placeholder\";\n\nconst Section = forwardRef(\n ({ section, items, renderItem, isDragAndDropDisabled }, ref) => (\n <div\n {...{ ref }}\n className=\"neeto-molecules-boardview-section__body relative min-h-0 flex-1 basis-0 overflow-y-auto\"\n >\n <ItemPlaceholder data={{ section }} />\n {items.map((item, index) => (\n <ItemContainer\n {...{ index, isDragAndDropDisabled }}\n data={{ section, item }}\n id={`${section.id}--${item.id}`}\n key={`${section.id}--${item.id}`}\n render={() => renderItem({ index, item, section })}\n />\n ))}\n </div>\n )\n);\n\nSection.displayName = \"Section\";\nSection.propTypes = {\n /** A reference to the section container element. */\n // eslint-disable-next-line react/no-unused-prop-types\n ref: PropTypes.any,\n\n /** The current section data */\n section: PropTypes.shape({ id: PropTypes.string.isRequired }).isRequired,\n\n /** When true, disables all drag and drop functionality for the section */\n isDragAndDropDisabled: PropTypes.bool,\n\n /** An array of items belonging to the current section. */\n items: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n\n /** A function that renders the content of each item in the list. */\n renderItem: PropTypes.func.isRequired,\n};\n\nexport default Section;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { useInView } from \"react-intersection-observer\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst DragDropContainer = ({\n id,\n index,\n data,\n render,\n isDragAndDropDisabled = false,\n}) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, type: DRAGGABLE_TYPES.SECTION, index },\n id: `draggable-section--${id}`,\n disabled: isDragAndDropDisabled,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.SECTION], index: index + 1 },\n id: `droppable-section--${id}`,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n {...(!isDragAndDropDisabled && listeners)}\n {...(!isDragAndDropDisabled && attributes)}\n className={classNames(\"relative h-full w-full flex-col\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {render()}\n {isIndicatorVisible && <DndIndicator layout=\"vertical\" />}\n </div>\n );\n};\n\nconst SectionContainer = props => {\n const [setViewRef, inView] = useInView();\n\n return (\n <div\n className=\"neeto-molecules-boardview-section relative mr-3 h-full last-of-type:mr-0\"\n ref={node => {\n setViewRef(node);\n }}\n >\n {inView && <DragDropContainer {...props} />}\n </div>\n );\n};\n\nexport default SectionContainer;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst SectionPlaceholder = ({ data, index = 0 }) => {\n const id = useId();\n\n const { isOver, setNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.SECTION], index },\n id: `droppable-section--${id}`,\n });\n\n return (\n <div className=\"relative\" ref={setNodeRef}>\n {isOver && <DndIndicator layout=\"vertical\" />}\n </div>\n );\n};\n\nexport default SectionPlaceholder;\n","import { forwardRef, useState } from \"react\";\n\nimport {\n DndContext,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport \"./boardview.scss\";\nimport { closestCenter } from \"./closestCenter\";\nimport { DRAGGABLE_TYPES } from \"./constants\";\nimport DndOverlay from \"./Overlay\";\nimport Section from \"./Section\";\nimport SectionContainer from \"./Section/Container\";\nimport SectionPlaceholder from \"./Section/Placeholder\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\nconst measuringConfig = { droppable: { frequency: 500 } };\n\nconst BoardView = forwardRef((props, ref) => {\n const {\n isDragAndDropDisabled = false,\n sections,\n onMoveSection,\n onMoveItem,\n renderSection,\n className,\n } = props;\n\n const [dragState, setDragState] = useState({});\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const onDragEnd = drag => {\n if (isDragAndDropDisabled) return;\n\n const active = dragState.active.data.current;\n const over = drag.over?.data.current;\n if (!active || !over) return;\n\n if (active.type === DRAGGABLE_TYPES.ITEM) {\n onMoveItem?.(active, over);\n } else if (active.type === DRAGGABLE_TYPES.SECTION) {\n onMoveSection?.(active, over);\n }\n };\n\n return (\n <DndContext\n {...{ onDragEnd }}\n collisionDetection={closestCenter(dragState)}\n measuring={measuringConfig}\n sensors={isDragAndDropDisabled ? [] : sensors}\n onDragStart={isDragAndDropDisabled ? undefined : setDragState}\n >\n <div\n {...{ ref }}\n className={classNames(\n \"neeto-molecules-boardview-outer-wrapper flex w-full flex-1 overflow-x-auto\",\n className\n )}\n >\n <SectionPlaceholder />\n {sections.map((section, index) => (\n <SectionContainer\n {...{ index, isDragAndDropDisabled }}\n data={{ section }}\n id={section.id}\n key={section.id}\n render={() =>\n renderSection({ index, section, isDragAndDropDisabled })\n }\n />\n ))}\n </div>\n <DndOverlay {...{ props }} state={dragState} />\n </DndContext>\n );\n});\n\nBoardView.displayName = \"BoardView\";\nBoardView.Section = Section;\nBoardView.propTypes = {\n /** A reference to the container element. */\n // eslint-disable-next-line react/no-unused-prop-types\n ref: PropTypes.any,\n\n /**\n An array of sections, each defined by an object with an `id` string.\n */\n sections: PropTypes.arrayOf(\n PropTypes.shape({ id: PropTypes.string.isRequired })\n ).isRequired,\n\n /** function to render each section content in the board view */\n renderSection: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual sections (drag preview) */\n // eslint-disable-next-line react/no-unused-prop-types\n renderSectionOverlay: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual items (drag preview) */\n // eslint-disable-next-line react/no-unused-prop-types\n renderItemOverlay: PropTypes.func.isRequired,\n\n /** Callback function triggered when a section is reordered */\n onMoveSection: PropTypes.func,\n\n /** Callback function triggered when an item is moved */\n onMoveItem: PropTypes.func,\n\n /** When true, disables all drag and drop functionality for the board view */\n isDragAndDropDisabled: PropTypes.bool,\n\n /**\n * Additional classes passed on to the board view.\n */\n className: PropTypes.string,\n};\n\nexport default BoardView;\n"],"names":["distanceBetween","p1","p2","Math","sqrt","pow","x","y","centerOfRectangle","rect","left","arguments","length","undefined","top","width","height","matchType","draggable","droppable","data","current","accepts","includes","type","matchDirection","direction","reference","matchX","matchY","closestCenter","_ref","active","_ref2","_active$data$current","collisionRect","droppableRects","droppableContainers","pointerCoordinates","centerRect","minDistance","Number","POSITIVE_INFINITY","collision","id","_iterator","_createForOfIteratorHelper","_step","s","n","done","droppableContainer","value","get","distance","err","e","f","DRAGGABLE_TYPES","SECTION","ITEM","DndOverlay","_state$active","props","state","renderSectionOverlay","renderItemOverlay","_jsxs","DragOverlay","children","DndIndicator","_ref$layout","layout","_jsx","className","classNames","DragDropContainer","index","render","_ref$isDragAndDropDis","isDragAndDropDisabled","_useDraggable","useDraggable","_objectSpread","concat","disabled","attributes","listeners","isDragging","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableNodeRef","isIndicatorVisible","ref","node","ItemContainer","mutables","useRef","containerHeight","_useInView","useInView","onChange","inView","entry","target","clientHeight","_useInView2","_slicedToArray","setViewRef","style","ItemPlaceholder","_ref$index","useId","Section","forwardRef","section","items","renderItem","map","item","_createElement","key","displayName","propTypes","PropTypes","any","shape","string","isRequired","bool","arrayOf","func","SectionContainer","SectionPlaceholder","sensorConfig","activationConstraint","measuringConfig","frequency","BoardView","_props$isDragAndDropD","sections","onMoveSection","onMoveItem","renderSection","_useState","useState","_useState2","dragState","setDragState","sensors","useSensors","useSensor","PointerSensor","onDragEnd","drag","_drag$over","over","DndContext","collisionDetection","measuring","onDragStart"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,EAAE,EAAEC,EAAE,EAAA;AAAA,EAAA,OAC7BC,IAAI,CAACC,IAAI,CAACD,IAAI,CAACE,GAAG,CAACJ,EAAE,CAACK,CAAC,GAAGJ,EAAE,CAACI,CAAC,EAAE,CAAC,CAAC,GAAGH,IAAI,CAACE,GAAG,CAACJ,EAAE,CAACM,CAAC,GAAGL,EAAE,CAACK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEhE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,IAAI,EAAA;AAAA,EAAA,IAAEC,IAAI,GAAAC,SAAA,CAAAC,MAAA,GAAAD,CAAAA,IAAAA,SAAA,CAAAE,CAAAA,CAAAA,KAAAA,SAAA,GAAAF,SAAA,CAAGF,CAAAA,CAAAA,GAAAA,IAAI,CAACC,IAAI,CAAA;AAAA,EAAA,IAAEI,GAAG,GAAAH,SAAA,CAAAC,MAAA,GAAAD,CAAAA,IAAAA,SAAA,CAAAE,CAAAA,CAAAA,KAAAA,SAAA,GAAAF,SAAA,CAAGF,CAAAA,CAAAA,GAAAA,IAAI,CAACK,GAAG,CAAA;EAAA,OAAM;AACrER,IAAAA,CAAC,EAAEI,IAAI,GAAGD,IAAI,CAACM,KAAK,GAAG,GAAG;AAC1BR,IAAAA,CAAC,EAAEO,GAAG,GAAGL,IAAI,CAACO,MAAM,GAAG,GAAA;GACxB,CAAA;AAAA,CAAC,CAAA;AAEF,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,SAAS,EAAEC,SAAS,EAAA;AAAA,EAAA,OACrCA,SAAS,CAACC,IAAI,CAACC,OAAO,CAACC,OAAO,CAACC,QAAQ,CAACL,SAAS,CAACE,IAAI,CAACC,OAAO,CAACG,IAAI,CAAC,CAAA;AAAA,CAAA,CAAA;AAEtE,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,SAAS,EAAEP,SAAS,EAAEQ,SAAS,EAAK;AAC1D,EAAA,IAAMC,MAAM,GAAG,SAATA,MAAMA,GAAA;AAAA,IAAA,OACVD,SAAS,CAACrB,CAAC,GAAGa,SAAS,CAACT,IAAI,IAC5BiB,SAAS,CAACrB,CAAC,GAAGa,SAAS,CAACT,IAAI,GAAGS,SAAS,CAACJ,KAAK,CAAA;AAAA,GAAA,CAAA;AAEhD,EAAA,IAAMc,MAAM,GAAG,SAATA,MAAMA,GAAA;AAAA,IAAA,OACVF,SAAS,CAACpB,CAAC,GAAGY,SAAS,CAACL,GAAG,IAC3Ba,SAAS,CAACpB,CAAC,GAAGY,SAAS,CAACL,GAAG,GAAGK,SAAS,CAACH,MAAM,CAAA;AAAA,GAAA,CAAA;AAEhD,EAAA,IAAIU,SAAS,KAAK,UAAU,EAAE,OAAOE,MAAM,EAAE,CAAC,KACzC,IAAIF,SAAS,KAAK,YAAY,EAAE,OAAOG,MAAM,EAAE,CAAA;AAEpD,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AACM,IAAMC,aAAa,GACxB,SADWA,aAAaA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACrBC,MAAM,GAAAD,IAAA,CAANC,MAAM,CAAA;EAAA,OACT,UAAAC,KAAA,EAKM;AAAA,IAAA,IAAAC,oBAAA,CAAA;AAAA,IAAA,IAJJC,aAAa,GAAAF,KAAA,CAAbE,aAAa;MACbC,cAAc,GAAAH,KAAA,CAAdG,cAAc;MACdC,mBAAmB,GAAAJ,KAAA,CAAnBI,mBAAmB;MACnBC,kBAAkB,GAAAL,KAAA,CAAlBK,kBAAkB,CAAA;AAElB,IAAA,IAAMZ,SAAS,GAAA,CAAAQ,oBAAA,GAAGF,MAAM,CAACZ,IAAI,CAACC,OAAO,MAAAa,IAAAA,IAAAA,oBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAqBR,SAAS,CAAA;AAChD,IAAA,IAAMa,UAAU,GAAG/B,iBAAiB,CAClC2B,aAAa,EACbA,aAAa,CAACzB,IAAI,EAClByB,aAAa,CAACrB,GAChB,CAAC,CAAA;AAED,IAAA,IAAI0B,WAAW,GAAGC,MAAM,CAACC,iBAAiB,CAAA;AAC1C,IAAA,IAAIC,SAAS,GAAG;AAAEC,MAAAA,EAAE,EAAE/B,SAAAA;KAAW,CAAA;;AAEjC;AAAA,IAAA,IAAAgC,SAAA,GAAAC,0BAAA,CACiCT,mBAAmB,CAAA;MAAAU,KAAA,CAAA;AAAA,IAAA,IAAA;MAApD,KAAAF,SAAA,CAAAG,CAAA,EAAAD,EAAAA,CAAAA,CAAAA,KAAA,GAAAF,SAAA,CAAAI,CAAA,EAAAC,EAAAA,IAAA,GAAsD;AAAA,QAAA,IAA3CC,kBAAkB,GAAAJ,KAAA,CAAAK,KAAA,CAAA;QAC3B,IAAM3C,IAAI,GAAG2B,cAAc,CAACiB,GAAG,CAACF,kBAAkB,CAACP,EAAE,CAAC,CAAA;AAEtD,QAAA,IAAI,CAACnC,IAAI,IAAI0C,kBAAkB,CAACP,EAAE,KAAKZ,MAAM,CAACY,EAAE,EAAE,SAAS,KACtD,IAAI,CAAC3B,SAAS,CAACe,MAAM,EAAEmB,kBAAkB,CAAC,EAAE,SAAS,KACrD,IAAI,CAAC1B,cAAc,CAACC,SAAS,EAAEjB,IAAI,EAAE6B,kBAAkB,CAAC,EAAE,SAAA;QAE/D,IAAMgB,QAAQ,GAAGtD,eAAe,CAACQ,iBAAiB,CAACC,IAAI,CAAC,EAAE8B,UAAU,CAAC,CAAA;QACrE,IAAIe,QAAQ,GAAGd,WAAW,EAAE;AAC1BA,UAAAA,WAAW,GAAGc,QAAQ,CAAA;AACtBX,UAAAA,SAAS,GAAG;YACVC,EAAE,EAAEO,kBAAkB,CAACP,EAAE;AACzBxB,YAAAA,IAAI,EAAE;AAAE+B,cAAAA,kBAAkB,EAAlBA,kBAAkB;AAAEC,cAAAA,KAAK,EAAEE,QAAAA;AAAS,aAAA;WAC7C,CAAA;AACH,SAAA;AACF,OAAA;AAAC,KAAA,CAAA,OAAAC,GAAA,EAAA;MAAAV,SAAA,CAAAW,CAAA,CAAAD,GAAA,CAAA,CAAA;AAAA,KAAA,SAAA;AAAAV,MAAAA,SAAA,CAAAY,CAAA,EAAA,CAAA;AAAA,KAAA;IAED,OAAO,CAACd,SAAS,CAAC,CAAA;GACnB,CAAA;AAAA,CAAA;;AC9DI,IAAMe,eAAe,GAAG;AAAEC,EAAAA,OAAO,EAAE,SAAS;AAAEC,EAAAA,IAAI,EAAE,MAAA;AAAO,CAAC;;ACInE,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA9B,IAAA,EAAyB;AAAA,EAAA,IAAA+B,aAAA,CAAA;AAAA,EAAA,IAAnBC,KAAK,GAAAhC,IAAA,CAALgC,KAAK;IAAEC,KAAK,GAAAjC,IAAA,CAALiC,KAAK,CAAA;AAChC,EAAA,IAAQC,oBAAoB,GAAwBF,KAAK,CAAjDE,oBAAoB;IAAEC,iBAAiB,GAAKH,KAAK,CAA3BG,iBAAiB,CAAA;AAC/C,EAAA,IAAM9C,IAAI,GAAG,CAAA,CAAA0C,aAAA,GAAAE,KAAK,CAAChC,MAAM,MAAA,IAAA,IAAA8B,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,aAAA,CAAc1C,IAAI,CAACC,OAAO,KAAI,EAAE,CAAA;EAE7C,oBACE8C,eAAA,CAACC,gBAAW,EAAA;AAAAC,IAAAA,QAAA,EACTjD,CAAAA,IAAI,CAACI,IAAI,KAAKkC,eAAe,CAACE,IAAI,KAAIM,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAiB,CAAG9C,IAAI,CAAC,CAAA,EAC/DA,IAAI,CAACI,IAAI,KAAKkC,eAAe,CAACC,OAAO,KAAIM,oBAAoB,aAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,CAAG7C,IAAI,CAAC,CAAA,CAAA;AAAA,GAC3D,CAAC,CAAA;AAElB,CAAC;;ACZD,IAAMkD,YAAY,GAAG,SAAfA,YAAYA,CAAAvC,IAAA,EAAA;AAAA,EAAA,IAAAwC,WAAA,GAAAxC,IAAA,CAAMyC,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,WAAA,CAAA;AAAA,EAAA,oBACzCE,cAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEC,UAAU,CACnB,qDAAqD,EACrD;MACE,8BAA8B,EAAEH,MAAM,KAAK,YAAY;MACvD,6BAA6B,EAAEA,MAAM,KAAK,UAAA;KAE9C,CAAA;AAAE,GACH,CAAC,CAAA;AAAA,CACH;;;;ACHD,IAAMI,mBAAiB,GAAG,SAApBA,iBAAiBA,CAAA7C,IAAA,EAMjB;AAAA,EAAA,IALJa,EAAE,GAAAb,IAAA,CAAFa,EAAE;IACFiC,KAAK,GAAA9C,IAAA,CAAL8C,KAAK;IACLzD,IAAI,GAAAW,IAAA,CAAJX,IAAI;IACJ0D,MAAM,GAAA/C,IAAA,CAAN+C,MAAM;IAAAC,qBAAA,GAAAhD,IAAA,CACNiD,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;EAE7B,IAAAE,aAAA,GAKIC,iBAAY,CAAC;AACf9D,MAAAA,IAAI,EAAA+D,eAAA,CAAAA,eAAA,KAAO/D,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEyD,QAAAA,KAAK,EAALA,KAAK;QAAErD,IAAI,EAAEkC,eAAe,CAACE,IAAI;AAAElC,QAAAA,SAAS,EAAE,UAAA;OAAY,CAAA;AAC3EkB,MAAAA,EAAE,EAAAwC,kBAAAA,CAAAA,MAAA,CAAqBxC,EAAE,CAAE;AAC3ByC,MAAAA,QAAQ,EAAEL,qBAAAA;AACZ,KAAC,CAAC;IARAM,UAAU,GAAAL,aAAA,CAAVK,UAAU;IACVC,SAAS,GAAAN,aAAA,CAATM,SAAS;IACTC,UAAU,GAAAP,aAAA,CAAVO,UAAU;IACEC,mBAAmB,GAAAR,aAAA,CAA/BS,UAAU,CAAA;EAOZ,IAAAC,aAAA,GAAoDC,iBAAY,CAAC;AAC/DxE,MAAAA,IAAI,EAAA+D,eAAA,CAAAA,eAAA,KAAO/D,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,OAAO,EAAE,CAACoC,eAAe,CAACE,IAAI,CAAC;QAAEiB,KAAK,EAAEA,KAAK,GAAG,CAAA;OAAG,CAAA;MACpEjC,EAAE,EAAA,kBAAA,CAAAwC,MAAA,CAAqBxC,EAAE,CAAA;AAC3B,KAAC,CAAC;IAHMiD,MAAM,GAAAF,aAAA,CAANE,MAAM;IAAcC,mBAAmB,GAAAH,aAAA,CAA/BD,UAAU,CAAA;AAK1B,EAAA,IAAMK,kBAAkB,GAAG,CAACP,UAAU,IAAIK,MAAM,CAAA;AAEhD,EAAA,oBACE1B,eAAA,CAAAgB,KAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;AACET,IAAAA,SAAS,EAAEC,UAAU,CAAC,wBAAwB,EAAE;AAC9C,MAAA,YAAY,EAAEa,UAAAA;AAChB,KAAC,CAAE;AACHQ,IAAAA,GAAG,EAAE,SAALA,GAAGA,CAAEC,IAAI,EAAI;MACXR,mBAAmB,CAACQ,IAAI,CAAC,CAAA;MACzBH,mBAAmB,CAACG,IAAI,CAAC,CAAA;AAC3B,KAAA;GACK,EAAA,CAACjB,qBAAqB,IAAIM,UAAU,GACpC,CAACN,qBAAqB,IAAIO,SAAS,CAAA,EAAA,EAAA,EAAA;IAAAlB,QAAA,EAAA,CAEvCS,MAAM,EAAE,EACRiB,kBAAkB,iBAAItB,cAAA,CAACH,YAAY,EAAA;AAACE,MAAAA,MAAM,EAAC,YAAA;AAAY,KAAE,CAAC,CAAA;AAAA,GAAA,CACxD,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,IAAM0B,aAAa,GAAG,SAAhBA,aAAaA,CAAGnC,KAAK,EAAI;EAC7B,IAAMoC,QAAQ,GAAGC,YAAM,CAAC;AAAEC,IAAAA,eAAe,EAAE,GAAA;GAAK,CAAC,CAAChF,OAAO,CAAA;EAEzD,IAAAiF,UAAA,GAA6BC,mCAAS,CAAC;AACrCC,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,MAAM,EAAEC,KAAK,EAAK;QAC3B,IAAID,MAAM,EAAE,OAAO;AACnBN,QAAAA,QAAQ,CAACE,eAAe,GAAGK,KAAK,CAACC,MAAM,CAACC,YAAY,CAAA;AACtD,OAAA;AACF,KAAC,CAAC;IAAAC,WAAA,GAAAC,cAAA,CAAAR,UAAA,EAAA,CAAA,CAAA;AALKS,IAAAA,UAAU,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAEJ,IAAAA,MAAM,GAAAI,WAAA,CAAA,CAAA,CAAA,CAAA;AAOzB,EAAA,oBACEpC,cAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,2DAA2D;IACrE9B,EAAE,EAAEmB,KAAK,CAACnB,EAAG;AACboE,IAAAA,KAAK,EAAE;AAAEhG,MAAAA,MAAM,EAAEyF,MAAM,GAAG5F,SAAS,GAAGsF,QAAQ,CAACE,eAAAA;KAAkB;AACjEL,IAAAA,GAAG,EAAE,SAALA,GAAGA,CAAEC,IAAI,EAAI;MACXc,UAAU,CAACd,IAAI,CAAC,CAAA;KAChB;IAAA5B,QAAA,EAEDoC,MAAM,iBAAIhC,cAAA,CAACG,mBAAiB,EAAAO,eAAA,CAAKpB,EAAAA,EAAAA,KAAK,CAAG,CAAA;AAAC,GACxC,CAAC,CAAA;AAEV,CAAC;;;;ACnED,IAAMkD,eAAe,GAAG,SAAlBA,eAAeA,CAAAlF,IAAA,EAA4B;AAAA,EAAA,IAAtBX,IAAI,GAAAW,IAAA,CAAJX,IAAI;IAAA8F,UAAA,GAAAnF,IAAA,CAAE8C,KAAK;AAALA,IAAAA,KAAK,GAAAqC,UAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,UAAA,CAAA;AACxC,EAAA,IAAMtE,EAAE,GAAGuE,WAAK,EAAE,CAAA;EAElB,IAAAxB,aAAA,GAA+BC,iBAAY,CAAC;AAC1CxE,MAAAA,IAAI,EAAA+D,eAAA,CAAAA,eAAA,KAAO/D,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,OAAO,EAAE,CAACoC,eAAe,CAACE,IAAI,CAAC;AAAEiB,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAA;MACzDjC,EAAE,EAAA,kBAAA,CAAAwC,MAAA,CAAqBxC,EAAE,CAAA;AAC3B,KAAC,CAAC;IAHMiD,MAAM,GAAAF,aAAA,CAANE,MAAM;IAAEH,UAAU,GAAAC,aAAA,CAAVD,UAAU,CAAA;AAK1B,EAAA,oBACEjB,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAACsB,IAAAA,GAAG,EAAEN,UAAW;AAAArB,IAAAA,QAAA,EACvCwB,MAAM,iBAAIpB,cAAA,CAACH,YAAY,EAAA;AAACE,MAAAA,MAAM,EAAC,YAAA;KAAc,CAAA;AAAC,GAC5C,CAAC,CAAA;AAEV,CAAC;;ACbD,IAAM4C,OAAO,gBAAGC,gBAAU,CACxB,UAAAtF,IAAA,EAAwDiE,GAAG,EAAA;AAAA,EAAA,IAAxDsB,OAAO,GAAAvF,IAAA,CAAPuF,OAAO;IAAEC,KAAK,GAAAxF,IAAA,CAALwF,KAAK;IAAEC,UAAU,GAAAzF,IAAA,CAAVyF,UAAU;IAAExC,qBAAqB,GAAAjD,IAAA,CAArBiD,qBAAqB,CAAA;AAAA,EAAA,oBAClDb,eAAA,CAAA,KAAA,EAAA;AACQ6B,IAAAA,GAAG,EAAHA,GAAG;AACTtB,IAAAA,SAAS,EAAC,yFAAyF;IAAAL,QAAA,EAAA,cAEnGI,cAAA,CAACwC,eAAe,EAAA;AAAC7F,MAAAA,IAAI,EAAE;AAAEkG,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAA;KAAI,CAAC,EACrCC,KAAK,CAACE,GAAG,CAAC,UAACC,IAAI,EAAE7C,KAAK,EAAA;MAAA,oBACrB8C,mBAAA,CAACzB,aAAa,EAAA;AACNrB,QAAAA,KAAK,EAALA,KAAK;AAAEG,QAAAA,qBAAqB,EAArBA,qBAAqB;AAClC5D,QAAAA,IAAI,EAAE;AAAEkG,UAAAA,OAAO,EAAPA,OAAO;AAAEI,UAAAA,IAAI,EAAJA,IAAAA;SAAO;AACxB9E,QAAAA,EAAE,EAAAwC,EAAAA,CAAAA,MAAA,CAAKkC,OAAO,CAAC1E,EAAE,EAAAwC,IAAAA,CAAAA,CAAAA,MAAA,CAAKsC,IAAI,CAAC9E,EAAE,CAAG;AAChCgF,QAAAA,GAAG,EAAAxC,EAAAA,CAAAA,MAAA,CAAKkC,OAAO,CAAC1E,EAAE,EAAAwC,IAAAA,CAAAA,CAAAA,MAAA,CAAKsC,IAAI,CAAC9E,EAAE,CAAG;QACjCkC,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,UAAA,OAAQ0C,UAAU,CAAC;AAAE3C,YAAAA,KAAK,EAALA,KAAK;AAAE6C,YAAAA,IAAI,EAAJA,IAAI;AAAEJ,YAAAA,OAAO,EAAPA,OAAAA;AAAQ,WAAC,CAAC,CAAA;AAAA,SAAA;AAAC,OACpD,CAAC,CAAA;AAAA,KACH,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAAA,CAEV,CAAC,CAAA;AAEDF,OAAO,CAACS,WAAW,GAAG,SAAS,CAAA;AAC/BT,OAAO,CAACU,SAAS,GAAG;AAClB;AACA;EACA9B,GAAG,EAAE+B,eAAS,CAACC,GAAG;AAElB;AACAV,EAAAA,OAAO,EAAES,eAAS,CAACE,KAAK,CAAC;AAAErF,IAAAA,EAAE,EAAEmF,eAAS,CAACG,MAAM,CAACC,UAAAA;GAAY,CAAC,CAACA,UAAU;AAExE;EACAnD,qBAAqB,EAAE+C,eAAS,CAACK,IAAI;AAErC;EACAb,KAAK,EAAEQ,eAAS,CAACM,OAAO,CAACN,eAAS,CAACE,KAAK,CAAC;AAAErF,IAAAA,EAAE,EAAEmF,eAAS,CAACG,MAAM,CAACC,UAAAA;GAAY,CAAC,CAAC,CAC3EA,UAAU;AAEb;AACAX,EAAAA,UAAU,EAAEO,eAAS,CAACO,IAAI,CAACH,UAAAA;AAC7B,CAAC;;;;ACtCD,IAAMvD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA7C,IAAA,EAMjB;AAAA,EAAA,IALJa,EAAE,GAAAb,IAAA,CAAFa,EAAE;IACFiC,KAAK,GAAA9C,IAAA,CAAL8C,KAAK;IACLzD,IAAI,GAAAW,IAAA,CAAJX,IAAI;IACJ0D,MAAM,GAAA/C,IAAA,CAAN+C,MAAM;IAAAC,qBAAA,GAAAhD,IAAA,CACNiD,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;EAE7B,IAAAE,aAAA,GAKIC,iBAAY,CAAC;AACf9D,MAAAA,IAAI,EAAA+D,eAAA,CAAAA,eAAA,KAAO/D,IAAI,CAAA,EAAA,EAAA,EAAA;QAAEI,IAAI,EAAEkC,eAAe,CAACC,OAAO;AAAEkB,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAA;AACvDjC,MAAAA,EAAE,EAAAwC,qBAAAA,CAAAA,MAAA,CAAwBxC,EAAE,CAAE;AAC9ByC,MAAAA,QAAQ,EAAEL,qBAAAA;AACZ,KAAC,CAAC;IARAM,UAAU,GAAAL,aAAA,CAAVK,UAAU;IACVC,SAAS,GAAAN,aAAA,CAATM,SAAS;IACTC,UAAU,GAAAP,aAAA,CAAVO,UAAU;IACEC,mBAAmB,GAAAR,aAAA,CAA/BS,UAAU,CAAA;EAOZ,IAAAC,aAAA,GAAoDC,iBAAY,CAAC;AAC/DxE,MAAAA,IAAI,EAAA+D,eAAA,CAAAA,eAAA,KAAO/D,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,OAAO,EAAE,CAACoC,eAAe,CAACC,OAAO,CAAC;QAAEkB,KAAK,EAAEA,KAAK,GAAG,CAAA;OAAG,CAAA;MACvEjC,EAAE,EAAA,qBAAA,CAAAwC,MAAA,CAAwBxC,EAAE,CAAA;AAC9B,KAAC,CAAC;IAHMiD,MAAM,GAAAF,aAAA,CAANE,MAAM;IAAcC,mBAAmB,GAAAH,aAAA,CAA/BD,UAAU,CAAA;AAK1B,EAAA,IAAMK,kBAAkB,GAAG,CAACP,UAAU,IAAIK,MAAM,CAAA;AAEhD,EAAA,oBACE1B,eAAA,CAAAgB,KAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACO,CAACH,qBAAqB,IAAIO,SAAS,CAAA,EACnC,CAACP,qBAAqB,IAAIM,UAAU,CAAA,EAAA,EAAA,EAAA;AACzCZ,IAAAA,SAAS,EAAEC,UAAU,CAAC,iCAAiC,EAAE;AACvD,MAAA,YAAY,EAAEa,UAAAA;AAChB,KAAC,CAAE;AACHQ,IAAAA,GAAG,EAAE,SAALA,GAAGA,CAAEC,IAAI,EAAI;MACXR,mBAAmB,CAACQ,IAAI,CAAC,CAAA;MACzBH,mBAAmB,CAACG,IAAI,CAAC,CAAA;KACzB;IAAA5B,QAAA,EAAA,CAEDS,MAAM,EAAE,EACRiB,kBAAkB,iBAAItB,cAAA,CAACH,YAAY,EAAA;AAACE,MAAAA,MAAM,EAAC,UAAA;AAAU,KAAE,CAAC,CAAA;AAAA,GAAA,CACtD,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,IAAM+D,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGxE,KAAK,EAAI;AAChC,EAAA,IAAAuC,UAAA,GAA6BC,mCAAS,EAAE;IAAAM,WAAA,GAAAC,cAAA,CAAAR,UAAA,EAAA,CAAA,CAAA;AAAjCS,IAAAA,UAAU,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAEJ,IAAAA,MAAM,GAAAI,WAAA,CAAA,CAAA,CAAA,CAAA;AAEzB,EAAA,oBACEpC,cAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,0EAA0E;AACpFsB,IAAAA,GAAG,EAAE,SAALA,GAAGA,CAAEC,IAAI,EAAI;MACXc,UAAU,CAACd,IAAI,CAAC,CAAA;KAChB;IAAA5B,QAAA,EAEDoC,MAAM,iBAAIhC,cAAA,CAACG,iBAAiB,EAAAO,eAAA,CAAKpB,EAAAA,EAAAA,KAAK,CAAG,CAAA;AAAC,GACxC,CAAC,CAAA;AAEV,CAAC;;;;ACxDD,IAAMyE,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAzG,IAAA,EAA4B;AAAA,EAAA,IAAtBX,IAAI,GAAAW,IAAA,CAAJX,IAAI;IAAA8F,UAAA,GAAAnF,IAAA,CAAE8C,KAAK;AAALA,IAAAA,KAAK,GAAAqC,UAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,UAAA,CAAA;AAC3C,EAAA,IAAMtE,EAAE,GAAGuE,WAAK,EAAE,CAAA;EAElB,IAAAxB,aAAA,GAA+BC,iBAAY,CAAC;AAC1CxE,MAAAA,IAAI,EAAA+D,aAAA,CAAAA,aAAA,KAAO/D,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,OAAO,EAAE,CAACoC,eAAe,CAACC,OAAO,CAAC;AAAEkB,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAA;MAC5DjC,EAAE,EAAA,qBAAA,CAAAwC,MAAA,CAAwBxC,EAAE,CAAA;AAC9B,KAAC,CAAC;IAHMiD,MAAM,GAAAF,aAAA,CAANE,MAAM;IAAEH,UAAU,GAAAC,aAAA,CAAVD,UAAU,CAAA;AAK1B,EAAA,oBACEjB,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAACsB,IAAAA,GAAG,EAAEN,UAAW;AAAArB,IAAAA,QAAA,EACvCwB,MAAM,iBAAIpB,cAAA,CAACH,YAAY,EAAA;AAACE,MAAAA,MAAM,EAAC,UAAA;KAAY,CAAA;AAAC,GAC1C,CAAC,CAAA;AAEV,CAAC;;ACDD,IAAMiE,YAAY,GAAG;AAAEC,EAAAA,oBAAoB,EAAE;AAAEpF,IAAAA,QAAQ,EAAE,CAAA;AAAE,GAAA;AAAE,CAAC,CAAA;AAC9D,IAAMqF,eAAe,GAAG;AAAExH,EAAAA,SAAS,EAAE;AAAEyH,IAAAA,SAAS,EAAE,GAAA;AAAI,GAAA;AAAE,CAAC,CAAA;AAEnDC,IAAAA,SAAS,gBAAGxB,gBAAU,CAAC,UAACtD,KAAK,EAAEiC,GAAG,EAAK;AAC3C,EAAA,IAAA8C,qBAAA,GAOI/E,KAAK,CANPiB,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAA8D,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAC7BC,QAAQ,GAKNhF,KAAK,CALPgF,QAAQ;IACRC,aAAa,GAIXjF,KAAK,CAJPiF,aAAa;IACbC,UAAU,GAGRlF,KAAK,CAHPkF,UAAU;IACVC,aAAa,GAEXnF,KAAK,CAFPmF,aAAa;IACbxE,SAAS,GACPX,KAAK,CADPW,SAAS,CAAA;AAGX,EAAA,IAAAyE,SAAA,GAAkCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAvC,cAAA,CAAAqC,SAAA,EAAA,CAAA,CAAA;AAAvCG,IAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAC9B,IAAMG,OAAO,GAAGC,eAAU,CAACC,cAAS,CAACC,kBAAa,EAAElB,YAAY,CAAC,CAAC,CAAA;AAElE,EAAA,IAAMmB,SAAS,GAAG,SAAZA,SAASA,CAAGC,IAAI,EAAI;AAAA,IAAA,IAAAC,UAAA,CAAA;AACxB,IAAA,IAAI9E,qBAAqB,EAAE,OAAA;IAE3B,IAAMhD,MAAM,GAAGsH,SAAS,CAACtH,MAAM,CAACZ,IAAI,CAACC,OAAO,CAAA;AAC5C,IAAA,IAAM0I,IAAI,GAAA,CAAAD,UAAA,GAAGD,IAAI,CAACE,IAAI,MAAAD,IAAAA,IAAAA,UAAA,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAW1I,IAAI,CAACC,OAAO,CAAA;AACpC,IAAA,IAAI,CAACW,MAAM,IAAI,CAAC+H,IAAI,EAAE,OAAA;AAEtB,IAAA,IAAI/H,MAAM,CAACR,IAAI,KAAKkC,eAAe,CAACE,IAAI,EAAE;MACxCqF,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,IAAAA,UAAU,CAAGjH,MAAM,EAAE+H,IAAI,CAAC,CAAA;KAC3B,MAAM,IAAI/H,MAAM,CAACR,IAAI,KAAKkC,eAAe,CAACC,OAAO,EAAE;MAClDqF,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,IAAAA,aAAa,CAAGhH,MAAM,EAAE+H,IAAI,CAAC,CAAA;AAC/B,KAAA;GACD,CAAA;EAED,oBACE5F,eAAA,CAAC6F,eAAU,EAAA;AACHJ,IAAAA,SAAS,EAATA,SAAS;AACfK,IAAAA,kBAAkB,EAAEnI,aAAa,CAACwH,SAAS,CAAE;AAC7CY,IAAAA,SAAS,EAAEvB,eAAgB;AAC3Ba,IAAAA,OAAO,EAAExE,qBAAqB,GAAG,EAAE,GAAGwE,OAAQ;AAC9CW,IAAAA,WAAW,EAAEnF,qBAAqB,GAAGnE,SAAS,GAAG0I,YAAa;AAAAlF,IAAAA,QAAA,gBAE9DF,eAAA,CAAA,KAAA,EAAA;AACQ6B,MAAAA,GAAG,EAAHA,GAAG;AACTtB,MAAAA,SAAS,EAAEC,UAAU,CACnB,4EAA4E,EAC5ED,SACF,CAAE;AAAAL,MAAAA,QAAA,EAEFI,cAAAA,cAAA,CAAC+D,kBAAkB,IAAE,CAAC,EACrBO,QAAQ,CAACtB,GAAG,CAAC,UAACH,OAAO,EAAEzC,KAAK,EAAA;QAAA,oBAC3B8C,mBAAA,CAACY,gBAAgB,EAAA;AACT1D,UAAAA,KAAK,EAALA,KAAK;AAAEG,UAAAA,qBAAqB,EAArBA,qBAAqB;AAClC5D,UAAAA,IAAI,EAAE;AAAEkG,YAAAA,OAAO,EAAPA,OAAAA;WAAU;UAClB1E,EAAE,EAAE0E,OAAO,CAAC1E,EAAG;UACfgF,GAAG,EAAEN,OAAO,CAAC1E,EAAG;UAChBkC,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,YAAA,OACJoE,aAAa,CAAC;AAAErE,cAAAA,KAAK,EAALA,KAAK;AAAEyC,cAAAA,OAAO,EAAPA,OAAO;AAAEtC,cAAAA,qBAAqB,EAArBA,qBAAAA;AAAsB,aAAC,CAAC,CAAA;AAAA,WAAA;AACzD,SACF,CAAC,CAAA;AAAA,OACH,CAAC,CAAA;AAAA,KACC,CAAC,eACNP,cAAA,CAACZ,UAAU,EAAA;AAAOE,MAAAA,KAAK,EAALA,KAAK;AAAIC,MAAAA,KAAK,EAAEsF,SAAAA;AAAU,KAAE,CAAC,CAAA;AAAA,GACrC,CAAC,CAAA;AAEjB,CAAC,EAAC;AAEFT,SAAS,CAAChB,WAAW,GAAG,WAAW,CAAA;AACnCgB,SAAS,CAACzB,OAAO,GAAGA,OAAO;;;;"}
|
|
1
|
+
{"version":3,"file":"BoardView.js","sources":["../../src/components/BoardView/closestCenter.js","../../src/components/BoardView/constants.js","../../src/components/BoardView/Overlay.jsx","../../src/components/BoardView/Indicator.jsx","../../src/components/BoardView/Item/Container.jsx","../../src/components/BoardView/Item/Placeholder.jsx","../../src/components/BoardView/Section/index.jsx","../../src/components/BoardView/Section/Container.jsx","../../src/components/BoardView/Section/Placeholder.jsx","../../src/components/BoardView/utils.js","../../src/components/BoardView/index.jsx"],"sourcesContent":["const distanceBetween = (p1, p2) =>\n Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n\nconst centerOfRectangle = (rect, left = rect.left, top = rect.top) => ({\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5,\n});\n\nconst matchType = (draggable, droppable) =>\n droppable.data.current.accepts.includes(draggable.data.current.type);\n\nconst matchDirection = (direction, droppable, reference) => {\n const matchX = () =>\n reference.x > droppable.left &&\n reference.x < droppable.left + droppable.width;\n\n const matchY = () =>\n reference.y > droppable.top &&\n reference.y < droppable.top + droppable.height;\n\n if (direction === \"vertical\") return matchX();\n else if (direction === \"horizontal\") return matchY();\n\n return true;\n};\nexport const closestCenter =\n ({ active }) =>\n ({\n collisionRect,\n droppableRects,\n droppableContainers,\n pointerCoordinates,\n }) => {\n const direction = active.data.current?.direction;\n const centerRect = centerOfRectangle(\n collisionRect,\n collisionRect.left,\n collisionRect.top\n );\n\n let minDistance = Number.POSITIVE_INFINITY;\n let collision = { id: undefined };\n\n // eslint-disable-next-line @bigbinary/neeto/use-array-methods\n for (const droppableContainer of droppableContainers) {\n const rect = droppableRects.get(droppableContainer.id);\n\n if (!rect || droppableContainer.id === active.id) continue;\n else if (!matchType(active, droppableContainer)) continue;\n else if (!matchDirection(direction, rect, pointerCoordinates)) continue;\n\n const distance = distanceBetween(centerOfRectangle(rect), centerRect);\n if (distance < minDistance) {\n minDistance = distance;\n collision = {\n id: droppableContainer.id,\n data: { droppableContainer, value: distance },\n };\n }\n }\n\n return [collision];\n };\n","export const DRAGGABLE_TYPES = { SECTION: \"section\", ITEM: \"item\" };\n\nexport const MEASURING_CONFIG = { droppable: { frequency: 500 } };\n\nexport const POINTER_SENSOR_CONFIG = { activationConstraint: { distance: 8 } };\n\nexport const TOUCH_SENSOR_CONFIG = {\n activationConstraint: { delay: 300, tolerance: 5 },\n};\n","import { DragOverlay } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"./constants\";\n\nconst DndOverlay = ({ props, state }) => {\n const { renderSectionOverlay, renderItemOverlay } = props;\n const data = state.active?.data.current || {};\n\n return (\n <DragOverlay className=\"neeto-ui-shadow-xs\">\n {data.type === DRAGGABLE_TYPES.ITEM && renderItemOverlay?.(data)}\n {data.type === DRAGGABLE_TYPES.SECTION && renderSectionOverlay?.(data)}\n </DragOverlay>\n );\n};\n\nexport default DndOverlay;\n","import classNames from \"classnames\";\n\nconst DndIndicator = ({ layout = \"vertical\" }) => (\n <div\n className={classNames(\n \"neeto-ui-rounded-xl neeto-ui-bg-accent-600 absolute\",\n {\n \"-bottom-3 left-0 right-0 h-1\": layout === \"horizontal\",\n \"-right-2 bottom-0 top-0 w-1\": layout === \"vertical\",\n }\n )}\n />\n);\n\nexport default DndIndicator;\n","import { useRef } from \"react\";\n\nimport { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { useInView } from \"react-intersection-observer\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst DragDropContainer = ({\n id,\n index,\n data,\n render,\n isDragAndDropDisabled = false,\n}) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index, type: DRAGGABLE_TYPES.ITEM, direction: \"vertical\" },\n id: `draggable-item--${id}`,\n disabled: isDragAndDropDisabled,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.ITEM], index: index + 1 },\n id: `droppable-item--${id}`,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n className={classNames(\"relative h-full w-full select-none\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n {...(!isDragAndDropDisabled && attributes)}\n {...(!isDragAndDropDisabled && listeners)}\n >\n {render()}\n {isIndicatorVisible && <DndIndicator layout=\"horizontal\" />}\n </div>\n );\n};\n\nconst ItemContainer = props => {\n const mutables = useRef({ containerHeight: 128 }).current;\n\n const [setViewRef, inView] = useInView({\n onChange: (inView, entry) => {\n if (inView) return; // We need the last height value when elements moves out.\n mutables.containerHeight = entry.target.clientHeight;\n },\n });\n\n return (\n <div\n className=\"neeto-molecules-boardview-section__card relative shrink-0\"\n id={props.id}\n style={{ height: inView ? undefined : mutables.containerHeight }}\n ref={node => {\n setViewRef(node);\n }}\n >\n {inView && <DragDropContainer {...props} />}\n </div>\n );\n};\n\nexport default ItemContainer;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst ItemPlaceholder = ({ data, index = 0 }) => {\n const id = useId();\n\n const { isOver, setNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.ITEM], index },\n id: `droppable-item--${id}`,\n });\n\n return (\n <div className=\"relative\" ref={setNodeRef}>\n {isOver && <DndIndicator layout=\"horizontal\" />}\n </div>\n );\n};\n\nexport default ItemPlaceholder;\n","import { forwardRef } from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport ItemContainer from \"../Item/Container\";\nimport ItemPlaceholder from \"../Item/Placeholder\";\n\nconst Section = forwardRef(\n ({ section, items, renderItem, isDragAndDropDisabled }, ref) => (\n <div\n {...{ ref }}\n className=\"neeto-molecules-boardview-section__body relative min-h-0 flex-1 basis-0 overflow-y-auto\"\n >\n <ItemPlaceholder data={{ section }} />\n {items.map((item, index) => (\n <ItemContainer\n {...{ index, isDragAndDropDisabled }}\n data={{ section, item }}\n id={`${section.id}--${item.id}`}\n key={`${section.id}--${item.id}`}\n render={() => renderItem({ index, item, section })}\n />\n ))}\n </div>\n )\n);\n\nSection.displayName = \"Section\";\nSection.propTypes = {\n /** A reference to the section container element. */\n // eslint-disable-next-line react/no-unused-prop-types\n ref: PropTypes.any,\n\n /** The current section data */\n section: PropTypes.shape({ id: PropTypes.string.isRequired }).isRequired,\n\n /** When true, disables all drag and drop functionality for the section */\n isDragAndDropDisabled: PropTypes.bool,\n\n /** An array of items belonging to the current section. */\n items: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired }))\n .isRequired,\n\n /** A function that renders the content of each item in the list. */\n renderItem: PropTypes.func.isRequired,\n};\n\nexport default Section;\n","import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport { useInView } from \"react-intersection-observer\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst DragDropContainer = ({\n id,\n index,\n data,\n render,\n isDragAndDropDisabled = false,\n}) => {\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, type: DRAGGABLE_TYPES.SECTION, index },\n id: `draggable-section--${id}`,\n disabled: isDragAndDropDisabled,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.SECTION], index: index + 1 },\n id: `droppable-section--${id}`,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n {...(!isDragAndDropDisabled && listeners)}\n {...(!isDragAndDropDisabled && attributes)}\n className={classNames(\"relative h-full w-full select-none flex-col\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {render()}\n {isIndicatorVisible && <DndIndicator layout=\"vertical\" />}\n </div>\n );\n};\n\nconst SectionContainer = props => {\n const [setViewRef, inView] = useInView();\n\n return (\n <div\n className=\"neeto-molecules-boardview-section relative mr-3 h-full last-of-type:mr-0\"\n ref={node => {\n setViewRef(node);\n }}\n >\n {inView && <DragDropContainer {...props} />}\n </div>\n );\n};\n\nexport default SectionContainer;\n","import { useId } from \"react\";\n\nimport { useDroppable } from \"@dnd-kit/core\";\n\nimport { DRAGGABLE_TYPES } from \"../constants\";\nimport DndIndicator from \"../Indicator\";\n\nconst SectionPlaceholder = ({ data, index = 0 }) => {\n const id = useId();\n\n const { isOver, setNodeRef } = useDroppable({\n data: { ...data, accepts: [DRAGGABLE_TYPES.SECTION], index },\n id: `droppable-section--${id}`,\n });\n\n return (\n <div className=\"relative\" ref={setNodeRef}>\n {isOver && <DndIndicator layout=\"vertical\" />}\n </div>\n );\n};\n\nexport default SectionPlaceholder;\n","import { PointerSensor, TouchSensor } from \"@dnd-kit/core\";\n\nimport { TOUCH_SENSOR_CONFIG, POINTER_SENSOR_CONFIG } from \"./constants\";\n\nexport const getPlatformSensor = () =>\n \"ontouchstart\" in window ||\n navigator.maxTouchPoints > 0 ||\n navigator.msMaxTouchPoints > 0\n ? [TouchSensor, TOUCH_SENSOR_CONFIG]\n : [PointerSensor, POINTER_SENSOR_CONFIG];\n","import { forwardRef, useState } from \"react\";\n\nimport { DndContext, useSensor, useSensors } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport \"./boardview.scss\";\nimport { closestCenter } from \"./closestCenter\";\nimport { DRAGGABLE_TYPES, MEASURING_CONFIG } from \"./constants\";\nimport DndOverlay from \"./Overlay\";\nimport Section from \"./Section\";\nimport SectionContainer from \"./Section/Container\";\nimport SectionPlaceholder from \"./Section/Placeholder\";\nimport { getPlatformSensor } from \"./utils\";\n\nconst [sensor, sensorConfig] = getPlatformSensor();\n\nconst BoardView = forwardRef((props, ref) => {\n const {\n isDragAndDropDisabled = false,\n sections,\n onMoveSection,\n onMoveItem,\n renderSection,\n className,\n } = props;\n\n const [dragState, setDragState] = useState({});\n const sensors = useSensors(useSensor(sensor, sensorConfig));\n\n const onDragEnd = drag => {\n if (isDragAndDropDisabled) return;\n\n const active = dragState.active.data.current;\n const over = drag.over?.data.current;\n if (!active || !over) return;\n\n if (active.type === DRAGGABLE_TYPES.ITEM) {\n onMoveItem?.(active, over);\n } else if (active.type === DRAGGABLE_TYPES.SECTION) {\n onMoveSection?.(active, over);\n }\n };\n\n return (\n <DndContext\n {...{ onDragEnd }}\n collisionDetection={closestCenter(dragState)}\n measuring={MEASURING_CONFIG}\n sensors={isDragAndDropDisabled ? [] : sensors}\n onDragStart={isDragAndDropDisabled ? undefined : setDragState}\n >\n <div\n {...{ ref }}\n className={classNames(\n \"neeto-molecules-boardview-outer-wrapper flex w-full flex-1 overflow-x-auto\",\n className\n )}\n >\n <SectionPlaceholder />\n {sections.map((section, index) => (\n <SectionContainer\n {...{ index, isDragAndDropDisabled }}\n data={{ section }}\n id={section.id}\n key={section.id}\n render={() =>\n renderSection({ index, section, isDragAndDropDisabled })\n }\n />\n ))}\n </div>\n <DndOverlay {...{ props }} state={dragState} />\n </DndContext>\n );\n});\n\nBoardView.displayName = \"BoardView\";\nBoardView.Section = Section;\nBoardView.propTypes = {\n /** A reference to the container element. */\n // eslint-disable-next-line react/no-unused-prop-types\n ref: PropTypes.any,\n\n /**\n An array of sections, each defined by an object with an `id` string.\n */\n sections: PropTypes.arrayOf(\n PropTypes.shape({ id: PropTypes.string.isRequired })\n ).isRequired,\n\n /** function to render each section content in the board view */\n renderSection: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual sections (drag preview) */\n // eslint-disable-next-line react/no-unused-prop-types\n renderSectionOverlay: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual items (drag preview) */\n // eslint-disable-next-line react/no-unused-prop-types\n renderItemOverlay: PropTypes.func.isRequired,\n\n /** Callback function triggered when a section is reordered */\n onMoveSection: PropTypes.func,\n\n /** Callback function triggered when an item is moved */\n onMoveItem: PropTypes.func,\n\n /** When true, disables all drag and drop functionality for the board view */\n isDragAndDropDisabled: PropTypes.bool,\n\n /**\n * Additional classes passed on to the board view.\n */\n className: PropTypes.string,\n};\n\nexport default BoardView;\n"],"names":["distanceBetween","p1","p2","Math","sqrt","pow","x","y","centerOfRectangle","rect","left","arguments","length","undefined","top","width","height","matchType","draggable","droppable","data","current","accepts","includes","type","matchDirection","direction","reference","matchX","matchY","closestCenter","_ref","active","_ref2","_active$data$current","collisionRect","droppableRects","droppableContainers","pointerCoordinates","centerRect","minDistance","Number","POSITIVE_INFINITY","collision","id","_iterator","_createForOfIteratorHelper","_step","s","n","done","droppableContainer","value","get","distance","err","e","f","DRAGGABLE_TYPES","SECTION","ITEM","MEASURING_CONFIG","frequency","POINTER_SENSOR_CONFIG","activationConstraint","TOUCH_SENSOR_CONFIG","delay","tolerance","DndOverlay","_state$active","props","state","renderSectionOverlay","renderItemOverlay","_jsxs","DragOverlay","className","children","DndIndicator","_ref$layout","layout","_jsx","classNames","DragDropContainer","index","render","_ref$isDragAndDropDis","isDragAndDropDisabled","_useDraggable","useDraggable","_objectSpread","concat","disabled","attributes","listeners","isDragging","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableNodeRef","isIndicatorVisible","ref","node","ItemContainer","mutables","useRef","containerHeight","_useInView","useInView","onChange","inView","entry","target","clientHeight","_useInView2","_slicedToArray","setViewRef","style","ItemPlaceholder","_ref$index","useId","Section","forwardRef","section","items","renderItem","map","item","_createElement","key","displayName","propTypes","PropTypes","any","shape","string","isRequired","bool","arrayOf","func","SectionContainer","SectionPlaceholder","getPlatformSensor","window","navigator","maxTouchPoints","msMaxTouchPoints","TouchSensor","PointerSensor","_getPlatformSensor","_getPlatformSensor2","sensor","sensorConfig","BoardView","_props$isDragAndDropD","sections","onMoveSection","onMoveItem","renderSection","_useState","useState","_useState2","dragState","setDragState","sensors","useSensors","useSensor","onDragEnd","drag","_drag$over","over","DndContext","collisionDetection","measuring","onDragStart"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.6",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|