@bigbinary/neeto-molecules 4.0.5 → 4.0.7
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/VersionHistory.js +2 -0
- package/dist/VersionHistory.js.map +1 -1
- package/dist/cjs/BoardView.js +28 -13
- package/dist/cjs/BoardView.js.map +1 -1
- package/dist/cjs/VersionHistory.js +2 -0
- package/dist/cjs/VersionHistory.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/VersionHistory.js
CHANGED
|
@@ -70,6 +70,7 @@ var Version = withT(function (_ref) {
|
|
|
70
70
|
}),
|
|
71
71
|
children: /*#__PURE__*/jsxs("div", {
|
|
72
72
|
className: "neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300",
|
|
73
|
+
"data-cy": "version-history-event",
|
|
73
74
|
children: [/*#__PURE__*/jsxs("div", {
|
|
74
75
|
className: "flex flex-grow flex-col gap-2",
|
|
75
76
|
children: [/*#__PURE__*/jsxs("div", {
|
|
@@ -152,6 +153,7 @@ var VersionHistory = withT$1(function (_ref) {
|
|
|
152
153
|
children: [/*#__PURE__*/jsxs(Pane.Header, {
|
|
153
154
|
className: "flex justify-between",
|
|
154
155
|
children: [/*#__PURE__*/jsx(Typography, {
|
|
156
|
+
"data-cy": "version-history-pane-header",
|
|
155
157
|
"data-testid": "version-history-pane-header",
|
|
156
158
|
lineHeight: "normal",
|
|
157
159
|
style: "h2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionHistory.js","sources":["../src/components/VersionHistory/constants.js","../src/components/VersionHistory/Version.jsx","../src/components/VersionHistory/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const REFRESH_BUTTON_TOOLTIP_PROPS = Object.freeze({\n content: t(\"neetoMolecules.versionHistory.refreshButtonTooltip\"),\n position: \"bottom\",\n});\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Tag, Avatar } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Version = withT(\n ({\n t,\n id,\n date,\n user,\n onClick,\n isDraft = false,\n isPublished = false,\n showMoreDropdown = false,\n moreDropdownProps = {},\n isLast = false,\n }) => (\n <div className=\"flex w-full gap-2\" key={id}>\n <div className=\"relative mt-2.5 flex flex-col items-center\">\n <span\n className={classnames(\n \"neeto-ui-rounded-full neeto-ui-bg-gray-300 relative z-10 h-2 w-2\",\n { \"neeto-ui-bg-warning-500\": isDraft },\n { \"neeto-ui-bg-primary-500\": isPublished }\n )}\n />\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className=\"neeto-ui-bg-gray-300 absolute left-1/2 top-[9px] z-0 h-full w-px -translate-x-1/2\"\n />\n )}\n </div>\n <div\n {...{ onClick }}\n className={classnames(\"w-full\", { \"pb-3\": !isDraft })}\n >\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300\">\n <div className=\"flex flex-grow flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h5\" weight=\"medium\">\n <DateFormat.DateWeekTime\n {...{ date }}\n typographyProps={{ style: \"body3\", lineHeight: \"snug\" }}\n />\n </Typography>\n {isDraft && (\n <Tag\n className=\"float-left\"\n data-testid=\"version-history-draft-tag\"\n label={t(\"neetoMolecules.common.actions.draft\")}\n size=\"small\"\n style=\"warning\"\n />\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar size=\"small\" user={{ name: user }} />\n <Typography style=\"body3\">{user}</Typography>\n </div>\n </div>\n {showMoreDropdown && (\n <div className=\"flex-shrink-0\" onClick={e => e.stopPropagation()}>\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-1\",\n size: \"small\",\n disabled: moreDropdownProps.disabled,\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n {...moreDropdownProps}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default Version;\n","import { isNotEmpty } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Refresh } from \"neetoicons\";\nimport { Button, Typography, Pane, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport { REFRESH_BUTTON_TOOLTIP_PROPS } from \"./constants\";\nimport Version from \"./Version\";\n\nconst VersionHistory = withT(\n ({\n t,\n isOpen,\n onClose,\n isLoading,\n draftVersions = [],\n publishedVersions = [],\n paneTitle,\n showRefreshButton = false,\n onRefreshClick,\n }) => (\n <Pane {...{ isOpen, onClose }}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header className=\"flex justify-between\">\n <Typography\n data-testid=\"version-history-pane-header\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {paneTitle || t(\"neetoMolecules.versionHistory.paneTitle\")}\n </Typography>\n {showRefreshButton && (\n <Button\n data-testid=\"version-history-refresh-button\"\n icon={Refresh}\n iconSize={18}\n size=\"small\"\n style=\"text\"\n tooltipProps={REFRESH_BUTTON_TOOLTIP_PROPS}\n onClick={onRefreshClick}\n />\n )}\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n {isNotEmpty(draftVersions) && (\n <div className=\"flex flex-col\">\n {draftVersions.map((version, index) => {\n const isLast = index === draftVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n )}\n {isNotEmpty(publishedVersions) && (\n <div className=\"flex items-center\">\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-800 neeto-ui-rounded inline-block px-3 py-1\"\n data-cy=\"version-history-published-title\"\n data-testid=\"version-history-published-title\"\n lineHeight=\"normal\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.versionHistory.publishedVersions\")}\n </Typography>\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n </div>\n )}\n <div className=\"flex flex-col\">\n {publishedVersions.map((version, index) => {\n const isLast = index === publishedVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n )\n);\n\nVersionHistory.propTypes = {\n /**\n * To specify whether the version history pane should be opened or closed.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Handler function that is triggered when the close button is clicked.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean flag to show loading state with spinner.\n */\n isLoading: PropTypes.bool,\n /**\n * Array of draft version objects to be displayed in the version history.\n */\n draftVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Array of published version objects to be displayed in the version history.\n */\n publishedVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Custom title to be displayed in the pane header. If not provided, a default title will be used.\n */\n paneTitle: PropTypes.string,\n /**\n * Boolean flag to show or hide the refresh button in the pane header.\n */\n showRefreshButton: PropTypes.bool,\n /**\n * Handler function that is triggered when the refresh button is clicked.\n */\n onRefreshClick: PropTypes.func,\n};\n\nexport default VersionHistory;\n"],"names":["REFRESH_BUTTON_TOOLTIP_PROPS","Object","freeze","content","t","position","Version","withT","_ref","id","date","user","onClick","_ref$isDraft","isDraft","_ref$isPublished","isPublished","_ref$showMoreDropdown","showMoreDropdown","_ref$moreDropdownProp","moreDropdownProps","_ref$isLast","isLast","_jsxs","className","children","_jsx","classnames","Typography","style","weight","DateFormat","DateWeekTime","typographyProps","lineHeight","Tag","label","size","Avatar","name","e","stopPropagation","MoreDropdown","_objectSpread","dropdownButtonProps","disabled","dropdownProps","strategy","appendTo","document","body","VersionHistory","isOpen","onClose","isLoading","_ref$draftVersions","draftVersions","_ref$publishedVersion","publishedVersions","paneTitle","_ref$showRefreshButto","showRefreshButton","onRefreshClick","Pane","Spinner","_Fragment","Header","Button","icon","Refresh","iconSize","tooltipProps","Body","isNotEmpty","map","version","index","length","_createElement","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VersionHistory.js","sources":["../src/components/VersionHistory/constants.js","../src/components/VersionHistory/Version.jsx","../src/components/VersionHistory/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const REFRESH_BUTTON_TOOLTIP_PROPS = Object.freeze({\n content: t(\"neetoMolecules.versionHistory.refreshButtonTooltip\"),\n position: \"bottom\",\n});\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Tag, Avatar } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Version = withT(\n ({\n t,\n id,\n date,\n user,\n onClick,\n isDraft = false,\n isPublished = false,\n showMoreDropdown = false,\n moreDropdownProps = {},\n isLast = false,\n }) => (\n <div className=\"flex w-full gap-2\" key={id}>\n <div className=\"relative mt-2.5 flex flex-col items-center\">\n <span\n className={classnames(\n \"neeto-ui-rounded-full neeto-ui-bg-gray-300 relative z-10 h-2 w-2\",\n { \"neeto-ui-bg-warning-500\": isDraft },\n { \"neeto-ui-bg-primary-500\": isPublished }\n )}\n />\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className=\"neeto-ui-bg-gray-300 absolute left-1/2 top-[9px] z-0 h-full w-px -translate-x-1/2\"\n />\n )}\n </div>\n <div\n {...{ onClick }}\n className={classnames(\"w-full\", { \"pb-3\": !isDraft })}\n >\n <div\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300\"\n data-cy=\"version-history-event\"\n >\n <div className=\"flex flex-grow flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h5\" weight=\"medium\">\n <DateFormat.DateWeekTime\n {...{ date }}\n typographyProps={{ style: \"body3\", lineHeight: \"snug\" }}\n />\n </Typography>\n {isDraft && (\n <Tag\n className=\"float-left\"\n data-testid=\"version-history-draft-tag\"\n label={t(\"neetoMolecules.common.actions.draft\")}\n size=\"small\"\n style=\"warning\"\n />\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar size=\"small\" user={{ name: user }} />\n <Typography style=\"body3\">{user}</Typography>\n </div>\n </div>\n {showMoreDropdown && (\n <div className=\"flex-shrink-0\" onClick={e => e.stopPropagation()}>\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-1\",\n size: \"small\",\n disabled: moreDropdownProps.disabled,\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n {...moreDropdownProps}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default Version;\n","import { isNotEmpty } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Refresh } from \"neetoicons\";\nimport { Button, Typography, Pane, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport { REFRESH_BUTTON_TOOLTIP_PROPS } from \"./constants\";\nimport Version from \"./Version\";\n\nconst VersionHistory = withT(\n ({\n t,\n isOpen,\n onClose,\n isLoading,\n draftVersions = [],\n publishedVersions = [],\n paneTitle,\n showRefreshButton = false,\n onRefreshClick,\n }) => (\n <Pane {...{ isOpen, onClose }}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header className=\"flex justify-between\">\n <Typography\n data-cy=\"version-history-pane-header\"\n data-testid=\"version-history-pane-header\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {paneTitle || t(\"neetoMolecules.versionHistory.paneTitle\")}\n </Typography>\n {showRefreshButton && (\n <Button\n data-testid=\"version-history-refresh-button\"\n icon={Refresh}\n iconSize={18}\n size=\"small\"\n style=\"text\"\n tooltipProps={REFRESH_BUTTON_TOOLTIP_PROPS}\n onClick={onRefreshClick}\n />\n )}\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n {isNotEmpty(draftVersions) && (\n <div className=\"flex flex-col\">\n {draftVersions.map((version, index) => {\n const isLast = index === draftVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n )}\n {isNotEmpty(publishedVersions) && (\n <div className=\"flex items-center\">\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-800 neeto-ui-rounded inline-block px-3 py-1\"\n data-cy=\"version-history-published-title\"\n data-testid=\"version-history-published-title\"\n lineHeight=\"normal\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.versionHistory.publishedVersions\")}\n </Typography>\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n </div>\n )}\n <div className=\"flex flex-col\">\n {publishedVersions.map((version, index) => {\n const isLast = index === publishedVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n )\n);\n\nVersionHistory.propTypes = {\n /**\n * To specify whether the version history pane should be opened or closed.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Handler function that is triggered when the close button is clicked.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean flag to show loading state with spinner.\n */\n isLoading: PropTypes.bool,\n /**\n * Array of draft version objects to be displayed in the version history.\n */\n draftVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Array of published version objects to be displayed in the version history.\n */\n publishedVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Custom title to be displayed in the pane header. If not provided, a default title will be used.\n */\n paneTitle: PropTypes.string,\n /**\n * Boolean flag to show or hide the refresh button in the pane header.\n */\n showRefreshButton: PropTypes.bool,\n /**\n * Handler function that is triggered when the refresh button is clicked.\n */\n onRefreshClick: PropTypes.func,\n};\n\nexport default VersionHistory;\n"],"names":["REFRESH_BUTTON_TOOLTIP_PROPS","Object","freeze","content","t","position","Version","withT","_ref","id","date","user","onClick","_ref$isDraft","isDraft","_ref$isPublished","isPublished","_ref$showMoreDropdown","showMoreDropdown","_ref$moreDropdownProp","moreDropdownProps","_ref$isLast","isLast","_jsxs","className","children","_jsx","classnames","Typography","style","weight","DateFormat","DateWeekTime","typographyProps","lineHeight","Tag","label","size","Avatar","name","e","stopPropagation","MoreDropdown","_objectSpread","dropdownButtonProps","disabled","dropdownProps","strategy","appendTo","document","body","VersionHistory","isOpen","onClose","isLoading","_ref$draftVersions","draftVersions","_ref$publishedVersion","publishedVersions","paneTitle","_ref$showRefreshButto","showRefreshButton","onRefreshClick","Pane","Spinner","_Fragment","Header","Button","icon","Refresh","iconSize","tooltipProps","Body","isNotEmpty","map","version","index","length","_createElement","key"],"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":"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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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"}
|
|
@@ -72,6 +72,7 @@ var Version = reactUtils.withT(function (_ref) {
|
|
|
72
72
|
}),
|
|
73
73
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
74
74
|
className: "neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300",
|
|
75
|
+
"data-cy": "version-history-event",
|
|
75
76
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
76
77
|
className: "flex flex-grow flex-col gap-2",
|
|
77
78
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -154,6 +155,7 @@ var VersionHistory = withT(function (_ref) {
|
|
|
154
155
|
children: [/*#__PURE__*/jsxRuntime.jsxs(Pane.Header, {
|
|
155
156
|
className: "flex justify-between",
|
|
156
157
|
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
158
|
+
"data-cy": "version-history-pane-header",
|
|
157
159
|
"data-testid": "version-history-pane-header",
|
|
158
160
|
lineHeight: "normal",
|
|
159
161
|
style: "h2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionHistory.js","sources":["../../src/components/VersionHistory/constants.js","../../src/components/VersionHistory/Version.jsx","../../src/components/VersionHistory/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const REFRESH_BUTTON_TOOLTIP_PROPS = Object.freeze({\n content: t(\"neetoMolecules.versionHistory.refreshButtonTooltip\"),\n position: \"bottom\",\n});\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Tag, Avatar } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Version = withT(\n ({\n t,\n id,\n date,\n user,\n onClick,\n isDraft = false,\n isPublished = false,\n showMoreDropdown = false,\n moreDropdownProps = {},\n isLast = false,\n }) => (\n <div className=\"flex w-full gap-2\" key={id}>\n <div className=\"relative mt-2.5 flex flex-col items-center\">\n <span\n className={classnames(\n \"neeto-ui-rounded-full neeto-ui-bg-gray-300 relative z-10 h-2 w-2\",\n { \"neeto-ui-bg-warning-500\": isDraft },\n { \"neeto-ui-bg-primary-500\": isPublished }\n )}\n />\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className=\"neeto-ui-bg-gray-300 absolute left-1/2 top-[9px] z-0 h-full w-px -translate-x-1/2\"\n />\n )}\n </div>\n <div\n {...{ onClick }}\n className={classnames(\"w-full\", { \"pb-3\": !isDraft })}\n >\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300\">\n <div className=\"flex flex-grow flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h5\" weight=\"medium\">\n <DateFormat.DateWeekTime\n {...{ date }}\n typographyProps={{ style: \"body3\", lineHeight: \"snug\" }}\n />\n </Typography>\n {isDraft && (\n <Tag\n className=\"float-left\"\n data-testid=\"version-history-draft-tag\"\n label={t(\"neetoMolecules.common.actions.draft\")}\n size=\"small\"\n style=\"warning\"\n />\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar size=\"small\" user={{ name: user }} />\n <Typography style=\"body3\">{user}</Typography>\n </div>\n </div>\n {showMoreDropdown && (\n <div className=\"flex-shrink-0\" onClick={e => e.stopPropagation()}>\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-1\",\n size: \"small\",\n disabled: moreDropdownProps.disabled,\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n {...moreDropdownProps}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default Version;\n","import { isNotEmpty } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Refresh } from \"neetoicons\";\nimport { Button, Typography, Pane, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport { REFRESH_BUTTON_TOOLTIP_PROPS } from \"./constants\";\nimport Version from \"./Version\";\n\nconst VersionHistory = withT(\n ({\n t,\n isOpen,\n onClose,\n isLoading,\n draftVersions = [],\n publishedVersions = [],\n paneTitle,\n showRefreshButton = false,\n onRefreshClick,\n }) => (\n <Pane {...{ isOpen, onClose }}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header className=\"flex justify-between\">\n <Typography\n data-testid=\"version-history-pane-header\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {paneTitle || t(\"neetoMolecules.versionHistory.paneTitle\")}\n </Typography>\n {showRefreshButton && (\n <Button\n data-testid=\"version-history-refresh-button\"\n icon={Refresh}\n iconSize={18}\n size=\"small\"\n style=\"text\"\n tooltipProps={REFRESH_BUTTON_TOOLTIP_PROPS}\n onClick={onRefreshClick}\n />\n )}\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n {isNotEmpty(draftVersions) && (\n <div className=\"flex flex-col\">\n {draftVersions.map((version, index) => {\n const isLast = index === draftVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n )}\n {isNotEmpty(publishedVersions) && (\n <div className=\"flex items-center\">\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-800 neeto-ui-rounded inline-block px-3 py-1\"\n data-cy=\"version-history-published-title\"\n data-testid=\"version-history-published-title\"\n lineHeight=\"normal\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.versionHistory.publishedVersions\")}\n </Typography>\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n </div>\n )}\n <div className=\"flex flex-col\">\n {publishedVersions.map((version, index) => {\n const isLast = index === publishedVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n )\n);\n\nVersionHistory.propTypes = {\n /**\n * To specify whether the version history pane should be opened or closed.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Handler function that is triggered when the close button is clicked.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean flag to show loading state with spinner.\n */\n isLoading: PropTypes.bool,\n /**\n * Array of draft version objects to be displayed in the version history.\n */\n draftVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Array of published version objects to be displayed in the version history.\n */\n publishedVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Custom title to be displayed in the pane header. If not provided, a default title will be used.\n */\n paneTitle: PropTypes.string,\n /**\n * Boolean flag to show or hide the refresh button in the pane header.\n */\n showRefreshButton: PropTypes.bool,\n /**\n * Handler function that is triggered when the refresh button is clicked.\n */\n onRefreshClick: PropTypes.func,\n};\n\nexport default VersionHistory;\n"],"names":["REFRESH_BUTTON_TOOLTIP_PROPS","Object","freeze","content","t","position","Version","withT","_ref","id","date","user","onClick","_ref$isDraft","isDraft","_ref$isPublished","isPublished","_ref$showMoreDropdown","showMoreDropdown","_ref$moreDropdownProp","moreDropdownProps","_ref$isLast","isLast","_jsxs","className","children","_jsx","classnames","Typography","style","weight","DateFormat","DateWeekTime","typographyProps","lineHeight","Tag","label","size","Avatar","name","e","stopPropagation","MoreDropdown","_objectSpread","dropdownButtonProps","disabled","dropdownProps","strategy","appendTo","document","body","VersionHistory","isOpen","onClose","isLoading","_ref$draftVersions","draftVersions","_ref$publishedVersion","publishedVersions","paneTitle","_ref$showRefreshButto","showRefreshButton","onRefreshClick","Pane","Spinner","_Fragment","Header","Button","icon","Refresh","iconSize","tooltipProps","Body","isNotEmpty","map","version","index","length","_createElement","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VersionHistory.js","sources":["../../src/components/VersionHistory/constants.js","../../src/components/VersionHistory/Version.jsx","../../src/components/VersionHistory/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const REFRESH_BUTTON_TOOLTIP_PROPS = Object.freeze({\n content: t(\"neetoMolecules.versionHistory.refreshButtonTooltip\"),\n position: \"bottom\",\n});\n","import classnames from \"classnames\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Tag, Avatar } from \"neetoui\";\n\nimport DateFormat from \"components/DateFormat\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Version = withT(\n ({\n t,\n id,\n date,\n user,\n onClick,\n isDraft = false,\n isPublished = false,\n showMoreDropdown = false,\n moreDropdownProps = {},\n isLast = false,\n }) => (\n <div className=\"flex w-full gap-2\" key={id}>\n <div className=\"relative mt-2.5 flex flex-col items-center\">\n <span\n className={classnames(\n \"neeto-ui-rounded-full neeto-ui-bg-gray-300 relative z-10 h-2 w-2\",\n { \"neeto-ui-bg-warning-500\": isDraft },\n { \"neeto-ui-bg-primary-500\": isPublished }\n )}\n />\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className=\"neeto-ui-bg-gray-300 absolute left-1/2 top-[9px] z-0 h-full w-px -translate-x-1/2\"\n />\n )}\n </div>\n <div\n {...{ onClick }}\n className={classnames(\"w-full\", { \"pb-3\": !isDraft })}\n >\n <div\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-100 flex flex-grow cursor-pointer justify-between gap-4 px-1.5 pb-1.5 pt-1 transition-all duration-300\"\n data-cy=\"version-history-event\"\n >\n <div className=\"flex flex-grow flex-col gap-2\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h5\" weight=\"medium\">\n <DateFormat.DateWeekTime\n {...{ date }}\n typographyProps={{ style: \"body3\", lineHeight: \"snug\" }}\n />\n </Typography>\n {isDraft && (\n <Tag\n className=\"float-left\"\n data-testid=\"version-history-draft-tag\"\n label={t(\"neetoMolecules.common.actions.draft\")}\n size=\"small\"\n style=\"warning\"\n />\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n <Avatar size=\"small\" user={{ name: user }} />\n <Typography style=\"body3\">{user}</Typography>\n </div>\n </div>\n {showMoreDropdown && (\n <div className=\"flex-shrink-0\" onClick={e => e.stopPropagation()}>\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-1\",\n size: \"small\",\n disabled: moreDropdownProps.disabled,\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n {...moreDropdownProps}\n />\n </div>\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default Version;\n","import { isNotEmpty } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Refresh } from \"neetoicons\";\nimport { Button, Typography, Pane, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport { REFRESH_BUTTON_TOOLTIP_PROPS } from \"./constants\";\nimport Version from \"./Version\";\n\nconst VersionHistory = withT(\n ({\n t,\n isOpen,\n onClose,\n isLoading,\n draftVersions = [],\n publishedVersions = [],\n paneTitle,\n showRefreshButton = false,\n onRefreshClick,\n }) => (\n <Pane {...{ isOpen, onClose }}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header className=\"flex justify-between\">\n <Typography\n data-cy=\"version-history-pane-header\"\n data-testid=\"version-history-pane-header\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {paneTitle || t(\"neetoMolecules.versionHistory.paneTitle\")}\n </Typography>\n {showRefreshButton && (\n <Button\n data-testid=\"version-history-refresh-button\"\n icon={Refresh}\n iconSize={18}\n size=\"small\"\n style=\"text\"\n tooltipProps={REFRESH_BUTTON_TOOLTIP_PROPS}\n onClick={onRefreshClick}\n />\n )}\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n {isNotEmpty(draftVersions) && (\n <div className=\"flex flex-col\">\n {draftVersions.map((version, index) => {\n const isLast = index === draftVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n )}\n {isNotEmpty(publishedVersions) && (\n <div className=\"flex items-center\">\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n <Typography\n className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-800 neeto-ui-rounded inline-block px-3 py-1\"\n data-cy=\"version-history-published-title\"\n data-testid=\"version-history-published-title\"\n lineHeight=\"normal\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.versionHistory.publishedVersions\")}\n </Typography>\n <hr className=\"neeto-ui-border-gray-200 flex-grow\" />\n </div>\n )}\n <div className=\"flex flex-col\">\n {publishedVersions.map((version, index) => {\n const isLast = index === publishedVersions.length - 1;\n\n return (\n <Version {...{ ...version, isLast }} key={version.id} />\n );\n })}\n </div>\n </div>\n </Pane.Body>\n </>\n )}\n </Pane>\n )\n);\n\nVersionHistory.propTypes = {\n /**\n * To specify whether the version history pane should be opened or closed.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Handler function that is triggered when the close button is clicked.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean flag to show loading state with spinner.\n */\n isLoading: PropTypes.bool,\n /**\n * Array of draft version objects to be displayed in the version history.\n */\n draftVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Array of published version objects to be displayed in the version history.\n */\n publishedVersions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n date: PropTypes.instanceOf(Date).isRequired,\n user: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n isDraft: PropTypes.bool,\n isPublished: PropTypes.bool,\n showMoreDropdown: PropTypes.bool,\n moreDropdownProps: PropTypes.object,\n })\n ),\n /**\n * Custom title to be displayed in the pane header. If not provided, a default title will be used.\n */\n paneTitle: PropTypes.string,\n /**\n * Boolean flag to show or hide the refresh button in the pane header.\n */\n showRefreshButton: PropTypes.bool,\n /**\n * Handler function that is triggered when the refresh button is clicked.\n */\n onRefreshClick: PropTypes.func,\n};\n\nexport default VersionHistory;\n"],"names":["REFRESH_BUTTON_TOOLTIP_PROPS","Object","freeze","content","t","position","Version","withT","_ref","id","date","user","onClick","_ref$isDraft","isDraft","_ref$isPublished","isPublished","_ref$showMoreDropdown","showMoreDropdown","_ref$moreDropdownProp","moreDropdownProps","_ref$isLast","isLast","_jsxs","className","children","_jsx","classnames","Typography","style","weight","DateFormat","DateWeekTime","typographyProps","lineHeight","Tag","label","size","Avatar","name","e","stopPropagation","MoreDropdown","_objectSpread","dropdownButtonProps","disabled","dropdownProps","strategy","appendTo","document","body","VersionHistory","isOpen","onClose","isLoading","_ref$draftVersions","draftVersions","_ref$publishedVersion","publishedVersions","paneTitle","_ref$showRefreshButto","showRefreshButton","onRefreshClick","Pane","Spinner","_Fragment","Header","Button","icon","Refresh","iconSize","tooltipProps","Body","isNotEmpty","map","version","index","length","_createElement","key"],"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.7",
|
|
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>",
|