@bigbinary/neeto-molecules 3.16.69 → 3.16.71

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 CHANGED
@@ -117,14 +117,17 @@ var DragDropContainer$1 = function DragDropContainer(_ref) {
117
117
  var id = _ref.id,
118
118
  index = _ref.index,
119
119
  data = _ref.data,
120
- render = _ref.render;
120
+ render = _ref.render,
121
+ _ref$isDragAndDropDis = _ref.isDragAndDropDisabled,
122
+ isDragAndDropDisabled = _ref$isDragAndDropDis === void 0 ? false : _ref$isDragAndDropDis;
121
123
  var _useDraggable = useDraggable({
122
124
  data: _objectSpread$3(_objectSpread$3({}, data), {}, {
123
125
  index: index,
124
126
  type: DRAGGABLE_TYPES.ITEM,
125
127
  direction: "vertical"
126
128
  }),
127
- id: "draggable-item--".concat(id)
129
+ id: "draggable-item--".concat(id),
130
+ disabled: isDragAndDropDisabled
128
131
  }),
129
132
  attributes = _useDraggable.attributes,
130
133
  listeners = _useDraggable.listeners,
@@ -148,7 +151,7 @@ var DragDropContainer$1 = function DragDropContainer(_ref) {
148
151
  setDraggableNodeRef(node);
149
152
  setDroppableNodeRef(node);
150
153
  }
151
- }, attributes), listeners), {}, {
154
+ }, !isDragAndDropDisabled && attributes), !isDragAndDropDisabled && listeners), {}, {
152
155
  children: [render(), isIndicatorVisible && /*#__PURE__*/jsx(DndIndicator, {
153
156
  layout: "horizontal"
154
157
  })]
@@ -208,7 +211,8 @@ var ItemPlaceholder = function ItemPlaceholder(_ref) {
208
211
  var Section = /*#__PURE__*/forwardRef(function (_ref, ref) {
209
212
  var section = _ref.section,
210
213
  items = _ref.items,
211
- renderItem = _ref.renderItem;
214
+ renderItem = _ref.renderItem,
215
+ isDragAndDropDisabled = _ref.isDragAndDropDisabled;
212
216
  return /*#__PURE__*/jsxs("div", {
213
217
  ref: ref,
214
218
  className: "neeto-molecules-boardview-section__body relative min-h-0 flex-1 basis-0 overflow-y-auto",
@@ -219,6 +223,7 @@ var Section = /*#__PURE__*/forwardRef(function (_ref, ref) {
219
223
  }), items.map(function (item, index) {
220
224
  return /*#__PURE__*/createElement(ItemContainer, {
221
225
  index: index,
226
+ isDragAndDropDisabled: isDragAndDropDisabled,
222
227
  data: {
223
228
  section: section,
224
229
  item: item
@@ -245,6 +250,8 @@ Section.propTypes = {
245
250
  section: PropTypes.shape({
246
251
  id: PropTypes.string.isRequired
247
252
  }).isRequired,
253
+ /** When true, disables all drag and drop functionality for the section */
254
+ isDragAndDropDisabled: PropTypes.bool,
248
255
  /** An array of items belonging to the current section. */
249
256
  items: PropTypes.arrayOf(PropTypes.shape({
250
257
  id: PropTypes.string.isRequired
@@ -259,13 +266,16 @@ var DragDropContainer = function DragDropContainer(_ref) {
259
266
  var id = _ref.id,
260
267
  index = _ref.index,
261
268
  data = _ref.data,
262
- render = _ref.render;
269
+ render = _ref.render,
270
+ _ref$isDragAndDropDis = _ref.isDragAndDropDisabled,
271
+ isDragAndDropDisabled = _ref$isDragAndDropDis === void 0 ? false : _ref$isDragAndDropDis;
263
272
  var _useDraggable = useDraggable({
264
273
  data: _objectSpread$1(_objectSpread$1({}, data), {}, {
265
274
  type: DRAGGABLE_TYPES.SECTION,
266
275
  index: index
267
276
  }),
268
- id: "draggable-section--".concat(id)
277
+ id: "draggable-section--".concat(id),
278
+ disabled: isDragAndDropDisabled
269
279
  }),
270
280
  attributes = _useDraggable.attributes,
271
281
  listeners = _useDraggable.listeners,
@@ -281,7 +291,7 @@ var DragDropContainer = function DragDropContainer(_ref) {
281
291
  isOver = _useDroppable.isOver,
282
292
  setDroppableNodeRef = _useDroppable.setNodeRef;
283
293
  var isIndicatorVisible = !isDragging && isOver;
284
- return /*#__PURE__*/jsxs("div", _objectSpread$1(_objectSpread$1(_objectSpread$1({}, listeners), attributes), {}, {
294
+ return /*#__PURE__*/jsxs("div", _objectSpread$1(_objectSpread$1(_objectSpread$1({}, !isDragAndDropDisabled && listeners), !isDragAndDropDisabled && attributes), {}, {
285
295
  className: classnames("relative h-full w-full flex-col", {
286
296
  "opacity-65": isDragging
287
297
  }),
@@ -344,7 +354,9 @@ var measuringConfig = {
344
354
  }
345
355
  };
346
356
  var BoardView = /*#__PURE__*/forwardRef(function (props, ref) {
347
- var sections = props.sections,
357
+ var _props$isDragAndDropD = props.isDragAndDropDisabled,
358
+ isDragAndDropDisabled = _props$isDragAndDropD === void 0 ? false : _props$isDragAndDropD,
359
+ sections = props.sections,
348
360
  onMoveSection = props.onMoveSection,
349
361
  onMoveItem = props.onMoveItem,
350
362
  renderSection = props.renderSection,
@@ -356,6 +368,7 @@ var BoardView = /*#__PURE__*/forwardRef(function (props, ref) {
356
368
  var sensors = useSensors(useSensor(PointerSensor, sensorConfig));
357
369
  var onDragEnd = function onDragEnd(drag) {
358
370
  var _drag$over;
371
+ if (isDragAndDropDisabled) return;
359
372
  var active = dragState.active.data.current;
360
373
  var over = (_drag$over = drag.over) === null || _drag$over === void 0 ? void 0 : _drag$over.data.current;
361
374
  if (!active || !over) return;
@@ -367,16 +380,17 @@ var BoardView = /*#__PURE__*/forwardRef(function (props, ref) {
367
380
  };
368
381
  return /*#__PURE__*/jsxs(DndContext, {
369
382
  onDragEnd: onDragEnd,
370
- sensors: sensors,
371
383
  collisionDetection: closestCenter(dragState),
372
384
  measuring: measuringConfig,
373
- onDragStart: setDragState,
385
+ sensors: isDragAndDropDisabled ? [] : sensors,
386
+ onDragStart: isDragAndDropDisabled ? undefined : setDragState,
374
387
  children: [/*#__PURE__*/jsxs("div", {
375
388
  ref: ref,
376
389
  className: classnames("neeto-molecules-boardview-outer-wrapper flex w-full flex-1 overflow-x-auto", className),
377
390
  children: [/*#__PURE__*/jsx(SectionPlaceholder, {}), sections.map(function (section, index) {
378
391
  return /*#__PURE__*/createElement(SectionContainer, {
379
392
  index: index,
393
+ isDragAndDropDisabled: isDragAndDropDisabled,
380
394
  data: {
381
395
  section: section
382
396
  },
@@ -385,7 +399,8 @@ var BoardView = /*#__PURE__*/forwardRef(function (props, ref) {
385
399
  render: function render() {
386
400
  return renderSection({
387
401
  index: index,
388
- section: section
402
+ section: section,
403
+ isDragAndDropDisabled: isDragAndDropDisabled
389
404
  });
390
405
  }
391
406
  });
@@ -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 = ({ id, index, data, render }) => {\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 });\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 {...attributes}\n {...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(({ section, items, renderItem }, 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 }}\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\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 /** 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 = ({ id, index, data, render }) => {\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 });\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 {...listeners}\n {...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 { sections, onMoveSection, onMoveItem, renderSection, className } =\n props;\n\n const [dragState, setDragState] = useState({});\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const onDragEnd = drag => {\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, sensors }}\n collisionDetection={closestCenter(dragState)}\n measuring={measuringConfig}\n onDragStart={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 }}\n data={{ section }}\n id={section.id}\n key={section.id}\n render={() => renderSection({ index, section })}\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 * 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","_useDraggable","useDraggable","_objectSpread","concat","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","arrayOf","func","SectionContainer","SectionPlaceholder","sensorConfig","activationConstraint","measuringConfig","frequency","BoardView","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/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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"}
@@ -151,7 +151,7 @@ var iframeEmbedCode$1 = function iframeEmbedCode(_ref6) {
151
151
  queryParams: queryParams,
152
152
  extraArgs: extraArgs
153
153
  });
154
- return "\n <!-- ".concat(globalProps.appName, " iframe embed code begins -->\n <iframe\n allowfullscreen\n height=\"").concat(height, "%\"\n width=\"").concat(width, "%\"\n frameborder=\"0\"\n title=\"").concat(iframeTitle, "\"\n src=\"").concat(iframeSrc, "\"\n />\n <!-- ").concat(globalProps.appName, " iframe embed code ends -->");
154
+ return "\n <!-- ".concat(globalProps.appName, " iframe embed code begins -->\n <iframe\n allowfullscreen\n height=\"").concat(height, "\"\n width=\"").concat(width, "\"\n frameborder=\"0\"\n title=\"").concat(iframeTitle, "\"\n src=\"").concat(iframeSrc, "\"\n />\n <!-- ").concat(globalProps.appName, " iframe embed code ends -->");
155
155
  };
156
156
  var htmlCodeGenerators = {
157
157
  inline: inlineEmbedCode$1,
@@ -240,7 +240,7 @@ var iframeEmbedCode = function iframeEmbedCode(_ref6) {
240
240
  queryParams: queryParams,
241
241
  extraArgs: extraArgs
242
242
  });
243
- return "\n const App = () => {\n return (\n <>\n {/* ".concat(globalProps.appName, " iframe embed code begins */}\n <iframe\n allowFullScreen\n height=\"").concat(height, "%\"\n width=\"").concat(width, "%\"\n frameBorder=\"0\"\n title=\"").concat(iframeTitle, "\"\n src=\"").concat(iframeSrc, "\"\n />\n {/* ").concat(globalProps.appName, " iframe embed code ends */}\n </>\n );\n };\n ");
243
+ return "\n const App = () => {\n return (\n <>\n {/* ".concat(globalProps.appName, " iframe embed code begins */}\n <iframe\n allowFullScreen\n height=\"").concat(height, "\"\n width=\"").concat(width, "\"\n frameBorder=\"0\"\n title=\"").concat(iframeTitle, "\"\n src=\"").concat(iframeSrc, "\"\n />\n {/* ").concat(globalProps.appName, " iframe embed code ends */}\n </>\n );\n };\n ");
244
244
  };
245
245
  var reactCodeGenerators = {
246
246
  inline: inlineEmbedCode,
@@ -537,23 +537,14 @@ var FloatingPopup$1 = function FloatingPopup(_ref) {
537
537
  };
538
538
 
539
539
  var Iframe$1 = function Iframe(_ref) {
540
- var customization = _ref.customization,
541
- updateCustomization = _ref.updateCustomization,
540
+ var updateCustomization = _ref.updateCustomization,
542
541
  otherCustomizations = _ref.otherCustomizations;
543
- var _useTranslation = useTranslation(),
544
- t = _useTranslation.t;
545
542
  var _useProductEmbedStore = useProductEmbedStore(function (store) {
546
543
  return {
547
544
  isQueryParamsEnabled: store["isQueryParamsEnabled"]
548
545
  };
549
546
  }, shallow),
550
547
  isQueryParamsEnabled = _useProductEmbedStore.isQueryParamsEnabled;
551
- var height = customization.height,
552
- width = customization.width;
553
- var handleInputChange = function handleInputChange(_ref2, attribute) {
554
- var value = _ref2.target.value;
555
- return updateCustomization(_defineProperty({}, attribute, value));
556
- };
557
548
  useEffect(function () {
558
549
  if (isQueryParamsEnabled) return;
559
550
  updateCustomization({
@@ -561,42 +552,7 @@ var Iframe$1 = function Iframe(_ref) {
561
552
  });
562
553
  }, []);
563
554
  return /*#__PURE__*/jsxs(Fragment, {
564
- children: [/*#__PURE__*/jsxs("div", {
565
- className: "flex flex-col gap-2",
566
- children: [/*#__PURE__*/jsx(Label, {
567
- "data-cy": "window-size-text",
568
- children: t("neetoMolecules.productEmbed.iframe.sizeOfIframe")
569
- }), /*#__PURE__*/jsxs("div", {
570
- className: "flex justify-between gap-x-2",
571
- children: [/*#__PURE__*/jsx(Input, {
572
- className: "neeto-molecules-product-embed-size-input",
573
- "data-cy": "iframe-width-input-field",
574
- "data-testid": "iframe-width-input-field",
575
- max: 100,
576
- min: 0,
577
- prefix: "W",
578
- suffix: "%",
579
- type: "number",
580
- value: width,
581
- onChange: function onChange(e) {
582
- return handleInputChange(e, "width");
583
- }
584
- }), /*#__PURE__*/jsx(Input, {
585
- className: "neeto-molecules-product-embed-size-input",
586
- "data-cy": "iframe-height-input-field",
587
- "data-testid": "iframe-height-input-field",
588
- max: 100,
589
- min: 0,
590
- prefix: "H",
591
- suffix: "%",
592
- type: "number",
593
- value: height,
594
- onChange: function onChange(e) {
595
- return handleInputChange(e, "height");
596
- }
597
- })]
598
- })]
599
- }), otherCustomizations(), isQueryParamsEnabled && /*#__PURE__*/jsx(DynamicQueryParams, {
555
+ children: [otherCustomizations(), isQueryParamsEnabled && /*#__PURE__*/jsx(DynamicQueryParams, {
600
556
  updateCustomization: updateCustomization
601
557
  })]
602
558
  });