@bigbinary/neeto-molecules 3.15.10 → 3.15.12
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 +6 -5
- package/dist/BoardView.js.map +1 -1
- package/dist/Insights.js +12 -6
- package/dist/Insights.js.map +1 -1
- package/dist/cjs/BoardView.js +6 -5
- package/dist/cjs/BoardView.js.map +1 -1
- package/dist/cjs/Insights.js +12 -6
- package/dist/cjs/Insights.js.map +1 -1
- package/package.json +1 -1
- package/types/BoardView.d.ts +1 -0
- package/types/Insights.d.ts +3 -0
package/dist/BoardView.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
2
|
import { useRef, useId, forwardRef, createElement, useState } from 'react';
|
|
3
3
|
import { DragOverlay, useDraggable, useDroppable, useSensors, useSensor, PointerSensor, DndContext } from '@dnd-kit/core';
|
|
4
|
+
import classnames from 'classnames';
|
|
4
5
|
import { n } from './inject-css-DmrvuTKK.js';
|
|
5
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
7
|
import { P as PropTypes } from './index-DAYCJu79.js';
|
|
7
8
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
-
import classnames from 'classnames';
|
|
9
9
|
import { useInView } from 'react-intersection-observer';
|
|
10
10
|
import './_commonjsHelpers-BFTU3MAI.js';
|
|
11
11
|
|
|
12
|
-
var css = ".neeto-molecules-boardview-section{flex-shrink:0;width:
|
|
12
|
+
var css = ".neeto-molecules-boardview-section{flex-shrink:0;width:280px}@media screen and (min-width:768px){.neeto-molecules-boardview-section{width:300px}}@media screen and (min-width:1024px){.neeto-molecules-boardview-section{width:320px}}";
|
|
13
13
|
n(css,{});
|
|
14
14
|
|
|
15
15
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
@@ -269,7 +269,7 @@ var SectionContainer = function SectionContainer(_ref) {
|
|
|
269
269
|
setDroppableNodeRef = _useDroppable.setNodeRef;
|
|
270
270
|
var isIndicatorVisible = !isDragging && isOver;
|
|
271
271
|
return /*#__PURE__*/jsxs("div", _objectSpread$1(_objectSpread$1(_objectSpread$1({}, listeners), attributes), {}, {
|
|
272
|
-
className: classnames("neeto-molecules-boardview-section relative
|
|
272
|
+
className: classnames("neeto-molecules-boardview-section relative mr-3 flex h-full flex-col last-of-type:mr-0", {
|
|
273
273
|
"opacity-65": isDragging
|
|
274
274
|
}),
|
|
275
275
|
ref: function ref(node) {
|
|
@@ -322,7 +322,8 @@ var BoardView = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
322
322
|
var sections = props.sections,
|
|
323
323
|
onMoveSection = props.onMoveSection,
|
|
324
324
|
onMoveItem = props.onMoveItem,
|
|
325
|
-
renderSection = props.renderSection
|
|
325
|
+
renderSection = props.renderSection,
|
|
326
|
+
className = props.className;
|
|
326
327
|
var _useState = useState({}),
|
|
327
328
|
_useState2 = _slicedToArray(_useState, 2),
|
|
328
329
|
dragState = _useState2[0],
|
|
@@ -347,7 +348,7 @@ var BoardView = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
347
348
|
onDragStart: setDragState,
|
|
348
349
|
children: [/*#__PURE__*/jsxs("div", {
|
|
349
350
|
ref: ref,
|
|
350
|
-
className: "flex w-full flex-1 overflow-x-auto
|
|
351
|
+
className: classnames("neeto-molecules-boardview-outer-wrapper flex w-full flex-1 overflow-x-auto", className),
|
|
351
352
|
children: [/*#__PURE__*/jsx(SectionPlaceholder, {}), sections.map(function (section, index) {
|
|
352
353
|
return /*#__PURE__*/createElement(SectionContainer, {
|
|
353
354
|
index: index,
|
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":["// Customised collision detection algorithm based on `closestCenter` implementation for dnd-kit\n// Extracts collisions by respecting `accepts` property\n\nconst 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\n// `active` attribute from the `dnd-kit` is unreliable since the data can be lost on unmount during a drag.\nexport const closestCenter =\n ({ active }) =>\n ({ collisionRect, droppableRects, droppableContainers }) => {\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\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 ItemContainer = ({ id, index, data, render }) => {\n const mutables = useRef({ containerHeight: 128 }).current;\n\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index, type: DRAGGABLE_TYPES.ITEM },\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 [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 const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n className={classNames(\"relative mt-4\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n setViewRef(node);\n }}\n {...{ id, ...attributes, ...listeners }}\n style={{ height: inView ? undefined : mutables.containerHeight }}\n >\n {inView && render()}\n {isIndicatorVisible && <DndIndicator layout=\"horizontal\" />}\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 {...{ ref }} className=\"relative min-h-0 flex-1 basis-0 overflow-auto\">\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 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 SectionContainer = ({ id, index, data, render }) => {\n const [setViewRef, inView] = useInView();\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 });\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(\n \"neeto-molecules-boardview-section relative ml-3 flex h-full flex-col\",\n { \"opacity-65\": isDragging }\n )}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n setViewRef(node);\n }}\n >\n {inView && render()}\n {isIndicatorVisible && <DndIndicator layout=\"vertical\" />}\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 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 } = 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 {...{ ref }} className=\"flex w-full flex-1 overflow-x-auto p-3\">\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 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 renderSectionOverlay: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual items (drag preview) */\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\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","closestCenter","_ref","active","_ref2","collisionRect","droppableRects","droppableContainers","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","ItemContainer","index","render","mutables","useRef","containerHeight","_useDraggable","useDraggable","_objectSpread","concat","attributes","listeners","isDragging","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableNodeRef","_useInView","useInView","onChange","inView","entry","target","clientHeight","_useInView2","_slicedToArray","setViewRef","isIndicatorVisible","ref","node","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":["// Customised collision detection algorithm based on `closestCenter` implementation for dnd-kit\n// Extracts collisions by respecting `accepts` property\n\nconst 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\n// `active` attribute from the `dnd-kit` is unreliable since the data can be lost on unmount during a drag.\nexport const closestCenter =\n ({ active }) =>\n ({ collisionRect, droppableRects, droppableContainers }) => {\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\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 ItemContainer = ({ id, index, data, render }) => {\n const mutables = useRef({ containerHeight: 128 }).current;\n\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index, type: DRAGGABLE_TYPES.ITEM },\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 [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 const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n className={classNames(\"relative mt-4\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n setViewRef(node);\n }}\n {...{ id, ...attributes, ...listeners }}\n style={{ height: inView ? undefined : mutables.containerHeight }}\n >\n {inView && render()}\n {isIndicatorVisible && <DndIndicator layout=\"horizontal\" />}\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 {...{ ref }} className=\"relative min-h-0 flex-1 basis-0 overflow-auto\">\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 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 SectionContainer = ({ id, index, data, render }) => {\n const [setViewRef, inView] = useInView();\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 });\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(\n \"neeto-molecules-boardview-section relative mr-3 flex h-full flex-col last-of-type:mr-0\",\n { \"opacity-65\": isDragging }\n )}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n setViewRef(node);\n }}\n >\n {inView && render()}\n {isIndicatorVisible && <DndIndicator layout=\"vertical\" />}\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 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 renderSectionOverlay: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual items (drag preview) */\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","closestCenter","_ref","active","_ref2","collisionRect","droppableRects","droppableContainers","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","ItemContainer","index","render","mutables","useRef","containerHeight","_useDraggable","useDraggable","_objectSpread","concat","attributes","listeners","isDragging","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableNodeRef","_useInView","useInView","onChange","inView","entry","target","clientHeight","_useInView2","_slicedToArray","setViewRef","isIndicatorVisible","ref","node","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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"}
|
package/dist/Insights.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
1
2
|
import classnames from 'classnames';
|
|
2
3
|
import Warning from '@bigbinary/neeto-icons/Warning';
|
|
3
4
|
import Tooltip from '@bigbinary/neetoui/Tooltip';
|
|
@@ -11,7 +12,6 @@ import { sum, values, pluck } from 'ramda';
|
|
|
11
12
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
12
13
|
import { existsBy, hyphenate } from '@bigbinary/neeto-cist';
|
|
13
14
|
import HelpPopover from './HelpPopover.js';
|
|
14
|
-
import '@babel/runtime/helpers/defineProperty';
|
|
15
15
|
import '@babel/runtime/helpers/slicedToArray';
|
|
16
16
|
import '@bigbinary/neeto-commons-frontend/initializers';
|
|
17
17
|
import '@bigbinary/neeto-commons-frontend/utils';
|
|
@@ -247,6 +247,8 @@ var MetricItem = function MetricItem(_ref) {
|
|
|
247
247
|
};
|
|
248
248
|
var MetricItem$1 = /*#__PURE__*/memo(MetricItem);
|
|
249
249
|
|
|
250
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
251
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
250
252
|
var Insights = function Insights(_ref) {
|
|
251
253
|
var insightsData = _ref.insightsData,
|
|
252
254
|
isLoading = _ref.isLoading,
|
|
@@ -256,7 +258,10 @@ var Insights = function Insights(_ref) {
|
|
|
256
258
|
helpTexts = _ref$helpTexts === void 0 ? {} : _ref$helpTexts,
|
|
257
259
|
_ref$showWarningMessa = _ref.showWarningMessage,
|
|
258
260
|
showWarningMessage = _ref$showWarningMessa === void 0 ? false : _ref$showWarningMessa,
|
|
259
|
-
className = _ref.className
|
|
261
|
+
className = _ref.className,
|
|
262
|
+
title = _ref.title,
|
|
263
|
+
_ref$tooltipProps = _ref.tooltipProps,
|
|
264
|
+
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps;
|
|
260
265
|
var _useTranslation = useTranslation(),
|
|
261
266
|
t = _useTranslation.t;
|
|
262
267
|
var visitCount = insightsData.visitCount,
|
|
@@ -282,11 +287,12 @@ var Insights = function Insights(_ref) {
|
|
|
282
287
|
children: [/*#__PURE__*/jsx(Typography, {
|
|
283
288
|
"data-cy": "submissions-insights-title",
|
|
284
289
|
style: "h2",
|
|
285
|
-
children: t("neetoMolecules.insights.title")
|
|
286
|
-
}), showWarningMessage && /*#__PURE__*/jsx(Tooltip, {
|
|
290
|
+
children: title || t("neetoMolecules.insights.title")
|
|
291
|
+
}), showWarningMessage && /*#__PURE__*/jsx(Tooltip, _objectSpread(_objectSpread({
|
|
287
292
|
content: t("neetoMolecules.insights.dataInaccuracyWarning"),
|
|
288
293
|
position: "bottom",
|
|
289
|
-
touch: ["hold", 500]
|
|
294
|
+
touch: ["hold", 500]
|
|
295
|
+
}, tooltipProps), {}, {
|
|
290
296
|
children: /*#__PURE__*/jsx("span", {
|
|
291
297
|
className: "ml-3",
|
|
292
298
|
children: /*#__PURE__*/jsx(Warning, {
|
|
@@ -296,7 +302,7 @@ var Insights = function Insights(_ref) {
|
|
|
296
302
|
size: 20
|
|
297
303
|
})
|
|
298
304
|
})
|
|
299
|
-
}), /*#__PURE__*/jsx("span", {
|
|
305
|
+
})), /*#__PURE__*/jsx("span", {
|
|
300
306
|
className: "ml-auto",
|
|
301
307
|
children: /*#__PURE__*/jsx(DateRangeFilter, {
|
|
302
308
|
setTimePeriod: setTimePeriod,
|
package/dist/Insights.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Insights.js","sources":["../src/components/Insights/constants.js","../src/components/Insights/MetaInfo/PercentageBar.jsx","../src/components/Insights/MetaInfo/MetaInfoItem.jsx","../src/components/Insights/MetaInfo/DataDistribution.jsx","../src/components/Insights/utils.js","../src/components/Insights/MetaInfo/index.jsx","../src/components/Insights/TimeItem.jsx","../src/components/Insights/MetricItem.jsx","../src/components/Insights/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const DEFAULT_DEVICES = [\n {\n label: t(\"neetoMolecules.insights.labels.devices.desktop\"),\n value: \"desktop\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.devices.mobile\"),\n value: \"smartphone\",\n },\n];\n\nexport const DEFAULT_OS = [\n { label: t(\"neetoMolecules.insights.labels.os.macos\"), value: \"mac\" },\n {\n label: t(\"neetoMolecules.insights.labels.os.windows\"),\n value: \"windows\",\n },\n];\n\nexport const DEFAULT_BROWSERS = [\n {\n label: t(\"neetoMolecules.insights.labels.browsers.chrome\"),\n value: \"chrome\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.browsers.safari\"),\n value: \"safari\",\n },\n];\n\nexport const INITIAL_TIME_PERIOD_VALUE = {\n label: t(\"neetoMolecules.insights.labels.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n};\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst PercentageBar = ({ value }) => (\n <>\n {value !== 0 && (\n <div\n className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2\"\n style={{ width: `${value}%` }}\n />\n )}\n <Typography style=\"body3\">{value ? `${value}%` : 0}</Typography>\n </>\n);\n\nexport default memo(PercentageBar);\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport PercentageBar from \"./PercentageBar\";\n\nconst MetaInfoItem = ({ name, value }) => (\n <>\n <Typography style=\"body2\" textTransform=\"capitalize\">\n {name}\n </Typography>\n <div className=\"col-span-3 flex items-center gap-2\">\n <PercentageBar {...{ value }} />\n </div>\n </>\n);\n\nexport default memo(MetaInfoItem);\n","import MetaInfoItem from \"./MetaInfoItem\";\n\nconst DataDistribution = ({ data }) => (\n <div className=\"grid grid-cols-4 gap-2\">\n {data.map(({ name, value }) => (\n <MetaInfoItem {...{ name, value }} key={name} />\n ))}\n </div>\n);\n\nexport default DataDistribution;\n","import { existsBy } from \"neetocist\";\n\nconst getSum = (data, searchKey) => {\n let sum = 0;\n for (const key in data) {\n if (key.includes(searchKey)) sum += data[key];\n }\n\n return sum;\n};\n\nexport const transformInsights = (data, defaultItems) => {\n const othersData = Object.keys(data)\n .filter(key => !existsBy({ value: key }, defaultItems))\n .map(key => ({ name: key, value: data[key] }));\n\n const defaultData = defaultItems.map(({ label, value }) => ({\n name: label,\n value: getSum(data, value) || 0,\n }));\n\n return { defaultData, othersData };\n};\n","import { memo } from \"react\";\n\nimport { Tooltip, Typography } from \"neetoui\";\nimport { pluck, sum, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DataDistribution from \"./DataDistribution\";\nimport MetaInfoItem from \"./MetaInfoItem\";\n\nimport { transformInsights } from \"../utils\";\n\nconst MetaInfo = ({ type, data, defaultItems }) => {\n const { t } = useTranslation();\n const { defaultData, othersData } = transformInsights(data, defaultItems);\n\n const othersSum = sum(values(pluck(\"value\", othersData)));\n\n return (\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\">\n <Typography\n className=\"mb-2\"\n style=\"body2\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {type}\n </Typography>\n <DataDistribution data={defaultData} />\n <Tooltip\n content={<DataDistribution data={othersData} />}\n disabled={!othersSum}\n position=\"bottom\"\n >\n <div className=\"mt-2 grid grid-cols-4 gap-2\">\n <MetaInfoItem\n name={t(\"neetoMolecules.insights.others\")}\n value={othersSum}\n />\n </div>\n </Tooltip>\n </div>\n );\n};\n\nexport default memo(MetaInfo);\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst TimeItem = ({ value, suffix }) => (\n <div className=\"flex items-end\" data-testid=\"time-item\">\n <Typography className=\"mr-1\" style=\"h1\" weight=\"semibold\">\n {value}\n </Typography>\n <Typography lineHeight=\"loose\" style=\"body2\">\n {suffix}\n </Typography>\n </div>\n);\n\nexport default memo(TimeItem);\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport TimeItem from \"./TimeItem\";\n\nconst MetricItem = ({ metric, value, helpText, isTime, isPercentage }) => {\n const renderTime = value => {\n const { h: hours, m: minutes, s: seconds } = value;\n const showSeconds = !hours && !minutes;\n\n return (\n <div className=\"flex gap-2\">\n {!!hours && <TimeItem suffix=\"H\" value={hours} />}\n {!!minutes && <TimeItem suffix=\"M\" value={minutes} />}\n {(!!seconds || showSeconds) && <TimeItem suffix=\"S\" value={seconds} />}\n </div>\n );\n };\n\n return (\n <div\n className=\"nf-insights__metric-item neeto-ui-border-gray-200 border-b pb-4\"\n data-cy={`${hyphenate(metric)}-metric`}\n >\n <div className=\"flex items-center gap-2\">\n <div className=\"flex items-end gap-x-1\">\n {isTime ? (\n renderTime(value)\n ) : (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n data-cy=\"insights-count\"\n data-testid=\"insights-count\"\n style=\"h1\"\n weight=\"semibold\"\n >\n {value || 0}\n {isPercentage ? \"%\" : \"\"}\n </Typography>\n )}\n </div>\n {helpText && (\n <div>\n <HelpPopover description={helpText} />\n </div>\n )}\n </div>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"insights-type\"\n style=\"body3\"\n >\n {metric}\n </Typography>\n </div>\n );\n};\n\nexport default memo(MetricItem);\n","import classNames from \"classnames\";\nimport { Warning } from \"neetoicons\";\nimport { Tooltip, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DateRangeFilter from \"components/DateRangeFilter\";\n\nimport { DEFAULT_DEVICES, DEFAULT_BROWSERS, DEFAULT_OS } from \"./constants\";\nimport MetaInfo from \"./MetaInfo\";\nimport MetricItem from \"./MetricItem\";\n\nconst Insights = ({\n insightsData,\n isLoading,\n timePeriod,\n setTimePeriod,\n helpTexts = {},\n showWarningMessage = false,\n className,\n}) => {\n const { t } = useTranslation();\n\n const {\n visitCount,\n startCount,\n submissionCount,\n completionRate,\n averageSubmissionTime,\n devices,\n operatingSystems,\n browsers,\n } = insightsData;\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"mx-auto pt-10\", className)}\n data-cy=\"insights\"\n data-testid=\"insights\"\n >\n <div className=\"mb-10 flex w-full items-center\">\n <Typography data-cy=\"submissions-insights-title\" style=\"h2\">\n {t(\"neetoMolecules.insights.title\")}\n </Typography>\n {showWarningMessage && (\n <Tooltip\n content={t(\"neetoMolecules.insights.dataInaccuracyWarning\")}\n position=\"bottom\"\n touch={[\"hold\", 500]}\n >\n <span className=\"ml-3\">\n <Warning\n className=\"neeto-ui-text-warning-500\"\n data-cy=\"insights-warning\"\n data-testid=\"insights-warning\"\n size={20}\n />\n </span>\n </Tooltip>\n )}\n <span className=\"ml-auto\">\n <DateRangeFilter {...{ setTimePeriod, timePeriod }} />\n </span>\n </div>\n <div className=\"mb-6 grid grid-cols-1 gap-x-9 gap-y-6 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 lg:gap-0\">\n <MetricItem\n helpText={helpTexts[\"visitCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.visits\")}\n value={visitCount}\n />\n <MetricItem\n helpText={helpTexts[\"startCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.starts\")}\n value={startCount}\n />\n <MetricItem\n helpText={helpTexts[\"submissions\"]}\n metric={t(\"neetoMolecules.insights.metrics.submissions\")}\n value={submissionCount}\n />\n <MetricItem\n isPercentage\n helpText={helpTexts[\"completionRate\"]}\n metric={t(\"neetoMolecules.insights.metrics.completionRate\")}\n value={completionRate}\n />\n <MetricItem\n isTime\n helpText={helpTexts[\"averageSubmissionTime\"]}\n metric={t(\"neetoMolecules.insights.metrics.avgTimeToComplete\")}\n timeSuffix={t(\"neetoMolecules.insights.mins\")}\n value={averageSubmissionTime}\n />\n </div>\n <div className=\"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3\">\n <MetaInfo\n data={devices}\n defaultItems={DEFAULT_DEVICES}\n type={t(\"neetoMolecules.insights.devices\")}\n />\n <MetaInfo\n data={operatingSystems}\n defaultItems={DEFAULT_OS}\n type={t(\"neetoMolecules.insights.os\")}\n />\n <MetaInfo\n data={browsers}\n defaultItems={DEFAULT_BROWSERS}\n type={t(\"neetoMolecules.insights.browsers\")}\n />\n </div>\n </div>\n );\n};\n\nInsights.propTypes = {\n /**\n * Object containing metrics and statistics for insights\n */\n insightsData: PropTypes.shape({\n visitCount: PropTypes.number,\n startCount: PropTypes.number,\n submissionCount: PropTypes.number,\n completionRate: PropTypes.number,\n averageSubmissionTime: PropTypes.shape({\n h: PropTypes.number,\n m: PropTypes.number,\n s: PropTypes.number,\n }),\n devices: PropTypes.shape({\n desktop: PropTypes.number,\n smartphone: PropTypes.number,\n }),\n operatingSystems: PropTypes.shape({\n mac: PropTypes.number,\n windows: PropTypes.number,\n }),\n browsers: PropTypes.shape({\n chrome: PropTypes.number,\n safari: PropTypes.number,\n }),\n }),\n /**\n * Indicates whether insights data is currently being fetched from an API\n */\n isLoading: PropTypes.bool,\n /**\n * The state corresponding to the currently selected date range.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * Object containing explanatory text for each metric, providing additional context that can help users understand the significance of the metrics displayed.\n */\n helpTexts: PropTypes.shape({\n visitCount: PropTypes.string,\n startCount: PropTypes.string,\n submissions: PropTypes.string,\n completionRate: PropTypes.string,\n averageSubmissionTime: PropTypes.string,\n }),\n /**\n * Displays a warning to indicate that the insights may not be accurate, as the insights integration occurred after the record's creation.\n */\n showWarningMessage: PropTypes.bool,\n /**\n * To provide additional classes.\n */\n className: PropTypes.string,\n};\n\nexport default Insights;\n"],"names":["DEFAULT_DEVICES","label","t","value","DEFAULT_OS","DEFAULT_BROWSERS","startDate","endDate","rangeType","PercentageBar","_ref","_jsxs","_Fragment","children","_jsx","className","style","width","concat","Typography","memo","MetaInfoItem","name","textTransform","DataDistribution","data","map","_ref2","_createElement","key","getSum","searchKey","sum","includes","transformInsights","defaultItems","othersData","Object","keys","filter","existsBy","defaultData","MetaInfo","type","_useTranslation","useTranslation","_transformInsights","othersSum","values","pluck","weight","Tooltip","content","disabled","position","TimeItem","suffix","lineHeight","MetricItem","metric","helpText","isTime","isPercentage","renderTime","hours","h","minutes","m","seconds","s","showSeconds","hyphenate","HelpPopover","description","Insights","insightsData","isLoading","timePeriod","setTimePeriod","_ref$helpTexts","helpTexts","_ref$showWarningMessa","showWarningMessage","visitCount","startCount","submissionCount","completionRate","averageSubmissionTime","devices","operatingSystems","browsers","Spinner","classNames","touch","Warning","size","DateRangeFilter","timeSuffix"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Insights.js","sources":["../src/components/Insights/constants.js","../src/components/Insights/MetaInfo/PercentageBar.jsx","../src/components/Insights/MetaInfo/MetaInfoItem.jsx","../src/components/Insights/MetaInfo/DataDistribution.jsx","../src/components/Insights/utils.js","../src/components/Insights/MetaInfo/index.jsx","../src/components/Insights/TimeItem.jsx","../src/components/Insights/MetricItem.jsx","../src/components/Insights/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const DEFAULT_DEVICES = [\n {\n label: t(\"neetoMolecules.insights.labels.devices.desktop\"),\n value: \"desktop\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.devices.mobile\"),\n value: \"smartphone\",\n },\n];\n\nexport const DEFAULT_OS = [\n { label: t(\"neetoMolecules.insights.labels.os.macos\"), value: \"mac\" },\n {\n label: t(\"neetoMolecules.insights.labels.os.windows\"),\n value: \"windows\",\n },\n];\n\nexport const DEFAULT_BROWSERS = [\n {\n label: t(\"neetoMolecules.insights.labels.browsers.chrome\"),\n value: \"chrome\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.browsers.safari\"),\n value: \"safari\",\n },\n];\n\nexport const INITIAL_TIME_PERIOD_VALUE = {\n label: t(\"neetoMolecules.insights.labels.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n};\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst PercentageBar = ({ value }) => (\n <>\n {value !== 0 && (\n <div\n className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2\"\n style={{ width: `${value}%` }}\n />\n )}\n <Typography style=\"body3\">{value ? `${value}%` : 0}</Typography>\n </>\n);\n\nexport default memo(PercentageBar);\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport PercentageBar from \"./PercentageBar\";\n\nconst MetaInfoItem = ({ name, value }) => (\n <>\n <Typography style=\"body2\" textTransform=\"capitalize\">\n {name}\n </Typography>\n <div className=\"col-span-3 flex items-center gap-2\">\n <PercentageBar {...{ value }} />\n </div>\n </>\n);\n\nexport default memo(MetaInfoItem);\n","import MetaInfoItem from \"./MetaInfoItem\";\n\nconst DataDistribution = ({ data }) => (\n <div className=\"grid grid-cols-4 gap-2\">\n {data.map(({ name, value }) => (\n <MetaInfoItem {...{ name, value }} key={name} />\n ))}\n </div>\n);\n\nexport default DataDistribution;\n","import { existsBy } from \"neetocist\";\n\nconst getSum = (data, searchKey) => {\n let sum = 0;\n for (const key in data) {\n if (key.includes(searchKey)) sum += data[key];\n }\n\n return sum;\n};\n\nexport const transformInsights = (data, defaultItems) => {\n const othersData = Object.keys(data)\n .filter(key => !existsBy({ value: key }, defaultItems))\n .map(key => ({ name: key, value: data[key] }));\n\n const defaultData = defaultItems.map(({ label, value }) => ({\n name: label,\n value: getSum(data, value) || 0,\n }));\n\n return { defaultData, othersData };\n};\n","import { memo } from \"react\";\n\nimport { Tooltip, Typography } from \"neetoui\";\nimport { pluck, sum, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DataDistribution from \"./DataDistribution\";\nimport MetaInfoItem from \"./MetaInfoItem\";\n\nimport { transformInsights } from \"../utils\";\n\nconst MetaInfo = ({ type, data, defaultItems }) => {\n const { t } = useTranslation();\n const { defaultData, othersData } = transformInsights(data, defaultItems);\n\n const othersSum = sum(values(pluck(\"value\", othersData)));\n\n return (\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\">\n <Typography\n className=\"mb-2\"\n style=\"body2\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {type}\n </Typography>\n <DataDistribution data={defaultData} />\n <Tooltip\n content={<DataDistribution data={othersData} />}\n disabled={!othersSum}\n position=\"bottom\"\n >\n <div className=\"mt-2 grid grid-cols-4 gap-2\">\n <MetaInfoItem\n name={t(\"neetoMolecules.insights.others\")}\n value={othersSum}\n />\n </div>\n </Tooltip>\n </div>\n );\n};\n\nexport default memo(MetaInfo);\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst TimeItem = ({ value, suffix }) => (\n <div className=\"flex items-end\" data-testid=\"time-item\">\n <Typography className=\"mr-1\" style=\"h1\" weight=\"semibold\">\n {value}\n </Typography>\n <Typography lineHeight=\"loose\" style=\"body2\">\n {suffix}\n </Typography>\n </div>\n);\n\nexport default memo(TimeItem);\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport TimeItem from \"./TimeItem\";\n\nconst MetricItem = ({ metric, value, helpText, isTime, isPercentage }) => {\n const renderTime = value => {\n const { h: hours, m: minutes, s: seconds } = value;\n const showSeconds = !hours && !minutes;\n\n return (\n <div className=\"flex gap-2\">\n {!!hours && <TimeItem suffix=\"H\" value={hours} />}\n {!!minutes && <TimeItem suffix=\"M\" value={minutes} />}\n {(!!seconds || showSeconds) && <TimeItem suffix=\"S\" value={seconds} />}\n </div>\n );\n };\n\n return (\n <div\n className=\"nf-insights__metric-item neeto-ui-border-gray-200 border-b pb-4\"\n data-cy={`${hyphenate(metric)}-metric`}\n >\n <div className=\"flex items-center gap-2\">\n <div className=\"flex items-end gap-x-1\">\n {isTime ? (\n renderTime(value)\n ) : (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n data-cy=\"insights-count\"\n data-testid=\"insights-count\"\n style=\"h1\"\n weight=\"semibold\"\n >\n {value || 0}\n {isPercentage ? \"%\" : \"\"}\n </Typography>\n )}\n </div>\n {helpText && (\n <div>\n <HelpPopover description={helpText} />\n </div>\n )}\n </div>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"insights-type\"\n style=\"body3\"\n >\n {metric}\n </Typography>\n </div>\n );\n};\n\nexport default memo(MetricItem);\n","import classNames from \"classnames\";\nimport { Warning } from \"neetoicons\";\nimport { Tooltip, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DateRangeFilter from \"components/DateRangeFilter\";\n\nimport { DEFAULT_DEVICES, DEFAULT_BROWSERS, DEFAULT_OS } from \"./constants\";\nimport MetaInfo from \"./MetaInfo\";\nimport MetricItem from \"./MetricItem\";\n\nconst Insights = ({\n insightsData,\n isLoading,\n timePeriod,\n setTimePeriod,\n helpTexts = {},\n showWarningMessage = false,\n className,\n title,\n tooltipProps = {},\n}) => {\n const { t } = useTranslation();\n\n const {\n visitCount,\n startCount,\n submissionCount,\n completionRate,\n averageSubmissionTime,\n devices,\n operatingSystems,\n browsers,\n } = insightsData;\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"mx-auto pt-10\", className)}\n data-cy=\"insights\"\n data-testid=\"insights\"\n >\n <div className=\"mb-10 flex w-full items-center\">\n <Typography data-cy=\"submissions-insights-title\" style=\"h2\">\n {title || t(\"neetoMolecules.insights.title\")}\n </Typography>\n {showWarningMessage && (\n <Tooltip\n content={t(\"neetoMolecules.insights.dataInaccuracyWarning\")}\n position=\"bottom\"\n touch={[\"hold\", 500]}\n {...tooltipProps}\n >\n <span className=\"ml-3\">\n <Warning\n className=\"neeto-ui-text-warning-500\"\n data-cy=\"insights-warning\"\n data-testid=\"insights-warning\"\n size={20}\n />\n </span>\n </Tooltip>\n )}\n <span className=\"ml-auto\">\n <DateRangeFilter {...{ setTimePeriod, timePeriod }} />\n </span>\n </div>\n <div className=\"mb-6 grid grid-cols-1 gap-x-9 gap-y-6 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 lg:gap-0\">\n <MetricItem\n helpText={helpTexts[\"visitCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.visits\")}\n value={visitCount}\n />\n <MetricItem\n helpText={helpTexts[\"startCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.starts\")}\n value={startCount}\n />\n <MetricItem\n helpText={helpTexts[\"submissions\"]}\n metric={t(\"neetoMolecules.insights.metrics.submissions\")}\n value={submissionCount}\n />\n <MetricItem\n isPercentage\n helpText={helpTexts[\"completionRate\"]}\n metric={t(\"neetoMolecules.insights.metrics.completionRate\")}\n value={completionRate}\n />\n <MetricItem\n isTime\n helpText={helpTexts[\"averageSubmissionTime\"]}\n metric={t(\"neetoMolecules.insights.metrics.avgTimeToComplete\")}\n timeSuffix={t(\"neetoMolecules.insights.mins\")}\n value={averageSubmissionTime}\n />\n </div>\n <div className=\"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3\">\n <MetaInfo\n data={devices}\n defaultItems={DEFAULT_DEVICES}\n type={t(\"neetoMolecules.insights.devices\")}\n />\n <MetaInfo\n data={operatingSystems}\n defaultItems={DEFAULT_OS}\n type={t(\"neetoMolecules.insights.os\")}\n />\n <MetaInfo\n data={browsers}\n defaultItems={DEFAULT_BROWSERS}\n type={t(\"neetoMolecules.insights.browsers\")}\n />\n </div>\n </div>\n );\n};\n\nInsights.propTypes = {\n /**\n * Title displayed for the Insights component.\n */\n title: PropTypes.string,\n /**\n * Props for the tooltip displayed on the warning icon.\n */\n tooltipProps: PropTypes.object,\n /**\n * Object containing metrics and statistics for insights\n */\n insightsData: PropTypes.shape({\n visitCount: PropTypes.number,\n startCount: PropTypes.number,\n submissionCount: PropTypes.number,\n completionRate: PropTypes.number,\n averageSubmissionTime: PropTypes.shape({\n h: PropTypes.number,\n m: PropTypes.number,\n s: PropTypes.number,\n }),\n devices: PropTypes.shape({\n desktop: PropTypes.number,\n smartphone: PropTypes.number,\n }),\n operatingSystems: PropTypes.shape({\n mac: PropTypes.number,\n windows: PropTypes.number,\n }),\n browsers: PropTypes.shape({\n chrome: PropTypes.number,\n safari: PropTypes.number,\n }),\n }),\n /**\n * Indicates whether insights data is currently being fetched from an API\n */\n isLoading: PropTypes.bool,\n /**\n * The state corresponding to the currently selected date range.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * Object containing explanatory text for each metric, providing additional context that can help users understand the significance of the metrics displayed.\n */\n helpTexts: PropTypes.shape({\n visitCount: PropTypes.string,\n startCount: PropTypes.string,\n submissions: PropTypes.string,\n completionRate: PropTypes.string,\n averageSubmissionTime: PropTypes.string,\n }),\n /**\n * Displays a warning to indicate that the insights may not be accurate, as the insights integration occurred after the record's creation.\n */\n showWarningMessage: PropTypes.bool,\n /**\n * To provide additional classes.\n */\n className: PropTypes.string,\n};\n\nexport default Insights;\n"],"names":["DEFAULT_DEVICES","label","t","value","DEFAULT_OS","DEFAULT_BROWSERS","startDate","endDate","rangeType","PercentageBar","_ref","_jsxs","_Fragment","children","_jsx","className","style","width","concat","Typography","memo","MetaInfoItem","name","textTransform","DataDistribution","data","map","_ref2","_createElement","key","getSum","searchKey","sum","includes","transformInsights","defaultItems","othersData","Object","keys","filter","existsBy","defaultData","MetaInfo","type","_useTranslation","useTranslation","_transformInsights","othersSum","values","pluck","weight","Tooltip","content","disabled","position","TimeItem","suffix","lineHeight","MetricItem","metric","helpText","isTime","isPercentage","renderTime","hours","h","minutes","m","seconds","s","showSeconds","hyphenate","HelpPopover","description","Insights","insightsData","isLoading","timePeriod","setTimePeriod","_ref$helpTexts","helpTexts","_ref$showWarningMessa","showWarningMessage","title","_ref$tooltipProps","tooltipProps","visitCount","startCount","submissionCount","completionRate","averageSubmissionTime","devices","operatingSystems","browsers","Spinner","classNames","_objectSpread","touch","Warning","size","DateRangeFilter","timeSuffix"],"mappings":"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"}
|
package/dist/cjs/BoardView.js
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var core = require('@dnd-kit/core');
|
|
6
|
+
var classnames = require('classnames');
|
|
6
7
|
var injectCss = require('./inject-css-vQvjPR2x.js');
|
|
7
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
9
|
var index = require('./index-JY2zVpnv.js');
|
|
9
10
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
10
|
-
var classnames = require('classnames');
|
|
11
11
|
var reactIntersectionObserver = require('react-intersection-observer');
|
|
12
12
|
require('./_commonjsHelpers-BJu3ubxk.js');
|
|
13
13
|
|
|
14
|
-
var css = ".neeto-molecules-boardview-section{flex-shrink:0;width:
|
|
14
|
+
var css = ".neeto-molecules-boardview-section{flex-shrink:0;width:280px}@media screen and (min-width:768px){.neeto-molecules-boardview-section{width:300px}}@media screen and (min-width:1024px){.neeto-molecules-boardview-section{width:320px}}";
|
|
15
15
|
injectCss.n(css,{});
|
|
16
16
|
|
|
17
17
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
@@ -271,7 +271,7 @@ var SectionContainer = function SectionContainer(_ref) {
|
|
|
271
271
|
setDroppableNodeRef = _useDroppable.setNodeRef;
|
|
272
272
|
var isIndicatorVisible = !isDragging && isOver;
|
|
273
273
|
return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$1(_objectSpread$1(_objectSpread$1({}, listeners), attributes), {}, {
|
|
274
|
-
className: classnames("neeto-molecules-boardview-section relative
|
|
274
|
+
className: classnames("neeto-molecules-boardview-section relative mr-3 flex h-full flex-col last-of-type:mr-0", {
|
|
275
275
|
"opacity-65": isDragging
|
|
276
276
|
}),
|
|
277
277
|
ref: function ref(node) {
|
|
@@ -324,7 +324,8 @@ var BoardView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
324
324
|
var sections = props.sections,
|
|
325
325
|
onMoveSection = props.onMoveSection,
|
|
326
326
|
onMoveItem = props.onMoveItem,
|
|
327
|
-
renderSection = props.renderSection
|
|
327
|
+
renderSection = props.renderSection,
|
|
328
|
+
className = props.className;
|
|
328
329
|
var _useState = React.useState({}),
|
|
329
330
|
_useState2 = _slicedToArray(_useState, 2),
|
|
330
331
|
dragState = _useState2[0],
|
|
@@ -349,7 +350,7 @@ var BoardView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
349
350
|
onDragStart: setDragState,
|
|
350
351
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
351
352
|
ref: ref,
|
|
352
|
-
className: "flex w-full flex-1 overflow-x-auto
|
|
353
|
+
className: classnames("neeto-molecules-boardview-outer-wrapper flex w-full flex-1 overflow-x-auto", className),
|
|
353
354
|
children: [/*#__PURE__*/jsxRuntime.jsx(SectionPlaceholder, {}), sections.map(function (section, index) {
|
|
354
355
|
return /*#__PURE__*/React.createElement(SectionContainer, {
|
|
355
356
|
index: index,
|
|
@@ -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":["// Customised collision detection algorithm based on `closestCenter` implementation for dnd-kit\n// Extracts collisions by respecting `accepts` property\n\nconst 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\n// `active` attribute from the `dnd-kit` is unreliable since the data can be lost on unmount during a drag.\nexport const closestCenter =\n ({ active }) =>\n ({ collisionRect, droppableRects, droppableContainers }) => {\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\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 ItemContainer = ({ id, index, data, render }) => {\n const mutables = useRef({ containerHeight: 128 }).current;\n\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index, type: DRAGGABLE_TYPES.ITEM },\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 [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 const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n className={classNames(\"relative mt-4\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n setViewRef(node);\n }}\n {...{ id, ...attributes, ...listeners }}\n style={{ height: inView ? undefined : mutables.containerHeight }}\n >\n {inView && render()}\n {isIndicatorVisible && <DndIndicator layout=\"horizontal\" />}\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 {...{ ref }} className=\"relative min-h-0 flex-1 basis-0 overflow-auto\">\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 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 SectionContainer = ({ id, index, data, render }) => {\n const [setViewRef, inView] = useInView();\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 });\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(\n \"neeto-molecules-boardview-section relative ml-3 flex h-full flex-col\",\n { \"opacity-65\": isDragging }\n )}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n setViewRef(node);\n }}\n >\n {inView && render()}\n {isIndicatorVisible && <DndIndicator layout=\"vertical\" />}\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 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 } = 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 {...{ ref }} className=\"flex w-full flex-1 overflow-x-auto p-3\">\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 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 renderSectionOverlay: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual items (drag preview) */\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\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","closestCenter","_ref","active","_ref2","collisionRect","droppableRects","droppableContainers","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","ItemContainer","index","render","mutables","useRef","containerHeight","_useDraggable","useDraggable","_objectSpread","concat","attributes","listeners","isDragging","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableNodeRef","_useInView","useInView","onChange","inView","entry","target","clientHeight","_useInView2","_slicedToArray","setViewRef","isIndicatorVisible","ref","node","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":";;;;;;;;;;;;;;;;;;;AAAA;AACA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,EAAE,EAAEC,EAAE,EAAA;AAAA,EAAA,OAC7BC,IAAI,CAACC,IAAI,CAACD,IAAI,CAACE,GAAG,CAACJ,EAAE,CAACK,CAAC,GAAGJ,EAAE,CAACI,CAAC,EAAE,CAAC,CAAC,GAAGH,IAAI,CAACE,GAAG,CAACJ,EAAE,CAACM,CAAC,GAAGL,EAAE,CAACK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEhE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,IAAI,EAAA;AAAA,EAAA,IAAEC,IAAI,GAAAC,SAAA,CAAAC,MAAA,GAAAD,CAAAA,IAAAA,SAAA,CAAAE,CAAAA,CAAAA,KAAAA,SAAA,GAAAF,SAAA,CAAGF,CAAAA,CAAAA,GAAAA,IAAI,CAACC,IAAI,CAAA;AAAA,EAAA,IAAEI,GAAG,GAAAH,SAAA,CAAAC,MAAA,GAAAD,CAAAA,IAAAA,SAAA,CAAAE,CAAAA,CAAAA,KAAAA,SAAA,GAAAF,SAAA,CAAGF,CAAAA,CAAAA,GAAAA,IAAI,CAACK,GAAG,CAAA;EAAA,OAAM;AACrER,IAAAA,CAAC,EAAEI,IAAI,GAAGD,IAAI,CAACM,KAAK,GAAG,GAAG;AAC1BR,IAAAA,CAAC,EAAEO,GAAG,GAAGL,IAAI,CAACO,MAAM,GAAG,GAAA;GACxB,CAAA;AAAA,CAAC,CAAA;AAEF,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,SAAS,EAAEC,SAAS,EAAA;AAAA,EAAA,OACrCA,SAAS,CAACC,IAAI,CAACC,OAAO,CAACC,OAAO,CAACC,QAAQ,CAACL,SAAS,CAACE,IAAI,CAACC,OAAO,CAACG,IAAI,CAAC,CAAA;AAAA,CAAA,CAAA;;AAEtE;AACO,IAAMC,aAAa,GACxB,SADWA,aAAaA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACrBC,MAAM,GAAAD,IAAA,CAANC,MAAM,CAAA;EAAA,OACT,UAAAC,KAAA,EAA4D;AAAA,IAAA,IAAzDC,aAAa,GAAAD,KAAA,CAAbC,aAAa;MAAEC,cAAc,GAAAF,KAAA,CAAdE,cAAc;MAAEC,mBAAmB,GAAAH,KAAA,CAAnBG,mBAAmB,CAAA;AACnD,IAAA,IAAMC,UAAU,GAAGxB,iBAAiB,CAClCqB,aAAa,EACbA,aAAa,CAACnB,IAAI,EAClBmB,aAAa,CAACf,GAChB,CAAC,CAAA;AAED,IAAA,IAAImB,WAAW,GAAGC,MAAM,CAACC,iBAAiB,CAAA;AAC1C,IAAA,IAAIC,SAAS,GAAG;AAAEC,MAAAA,EAAE,EAAExB,SAAAA;KAAW,CAAA;;AAEjC;AAAA,IAAA,IAAAyB,SAAA,GAAAC,0BAAA,CACiCR,mBAAmB,CAAA;MAAAS,KAAA,CAAA;AAAA,IAAA,IAAA;MAApD,KAAAF,SAAA,CAAAG,CAAA,EAAAD,EAAAA,CAAAA,CAAAA,KAAA,GAAAF,SAAA,CAAAI,CAAA,EAAAC,EAAAA,IAAA,GAAsD;AAAA,QAAA,IAA3CC,kBAAkB,GAAAJ,KAAA,CAAAK,KAAA,CAAA;QAC3B,IAAMpC,IAAI,GAAGqB,cAAc,CAACgB,GAAG,CAACF,kBAAkB,CAACP,EAAE,CAAC,CAAA;QAEtD,IAAI,CAAC5B,IAAI,IAAImC,kBAAkB,CAACP,EAAE,KAAKV,MAAM,CAACU,EAAE,EAAE,SAAS,KACtD,IAAI,CAACpB,SAAS,CAACU,MAAM,EAAEiB,kBAAkB,CAAC,EAAE,SAAA;QAEjD,IAAMG,QAAQ,GAAG/C,eAAe,CAACQ,iBAAiB,CAACC,IAAI,CAAC,EAAEuB,UAAU,CAAC,CAAA;QACrE,IAAIe,QAAQ,GAAGd,WAAW,EAAE;AAC1BA,UAAAA,WAAW,GAAGc,QAAQ,CAAA;AACtBX,UAAAA,SAAS,GAAG;YACVC,EAAE,EAAEO,kBAAkB,CAACP,EAAE;AACzBjB,YAAAA,IAAI,EAAE;AAAEwB,cAAAA,kBAAkB,EAAlBA,kBAAkB;AAAEC,cAAAA,KAAK,EAAEE,QAAAA;AAAS,aAAA;WAC7C,CAAA;AACH,SAAA;AACF,OAAA;AAAC,KAAA,CAAA,OAAAC,GAAA,EAAA;MAAAV,SAAA,CAAAW,CAAA,CAAAD,GAAA,CAAA,CAAA;AAAA,KAAA,SAAA;AAAAV,MAAAA,SAAA,CAAAY,CAAA,EAAA,CAAA;AAAA,KAAA;IAED,OAAO,CAACd,SAAS,CAAC,CAAA;GACnB,CAAA;AAAA,CAAA;;AC7CI,IAAMe,eAAe,GAAG;AAAEC,EAAAA,OAAO,EAAE,SAAS;AAAEC,EAAAA,IAAI,EAAE,MAAA;AAAO,CAAC;;ACInE,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA5B,IAAA,EAAyB;AAAA,EAAA,IAAA6B,aAAA,CAAA;AAAA,EAAA,IAAnBC,KAAK,GAAA9B,IAAA,CAAL8B,KAAK;IAAEC,KAAK,GAAA/B,IAAA,CAAL+B,KAAK,CAAA;AAChC,EAAA,IAAQC,oBAAoB,GAAwBF,KAAK,CAAjDE,oBAAoB;IAAEC,iBAAiB,GAAKH,KAAK,CAA3BG,iBAAiB,CAAA;AAC/C,EAAA,IAAMvC,IAAI,GAAG,CAAA,CAAAmC,aAAA,GAAAE,KAAK,CAAC9B,MAAM,MAAA,IAAA,IAAA4B,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,aAAA,CAAcnC,IAAI,CAACC,OAAO,KAAI,EAAE,CAAA;EAE7C,oBACEuC,eAAA,CAACC,gBAAW,EAAA;AAAAC,IAAAA,QAAA,EACT1C,CAAAA,IAAI,CAACI,IAAI,KAAK2B,eAAe,CAACE,IAAI,KAAIM,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAiB,CAAGvC,IAAI,CAAC,CAAA,EAC/DA,IAAI,CAACI,IAAI,KAAK2B,eAAe,CAACC,OAAO,KAAIM,oBAAoB,aAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,CAAGtC,IAAI,CAAC,CAAA,CAAA;AAAA,GAC3D,CAAC,CAAA;AAElB,CAAC;;ACZD,IAAM2C,YAAY,GAAG,SAAfA,YAAYA,CAAArC,IAAA,EAAA;AAAA,EAAA,IAAAsC,WAAA,GAAAtC,IAAA,CAAMuC,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,WAAA,CAAA;AAAA,EAAA,oBACzCE,cAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAEC,UAAU,CACnB,qDAAqD,EACrD;MACE,8BAA8B,EAAEH,MAAM,KAAK,YAAY;MACvD,6BAA6B,EAAEA,MAAM,KAAK,UAAA;KAE9C,CAAA;AAAE,GACH,CAAC,CAAA;AAAA,CACH;;;;ACHD,IAAMI,aAAa,GAAG,SAAhBA,aAAaA,CAAA3C,IAAA,EAAoC;AAAA,EAAA,IAA9BW,EAAE,GAAAX,IAAA,CAAFW,EAAE;IAAEiC,KAAK,GAAA5C,IAAA,CAAL4C,KAAK;IAAElD,IAAI,GAAAM,IAAA,CAAJN,IAAI;IAAEmD,MAAM,GAAA7C,IAAA,CAAN6C,MAAM,CAAA;EAC9C,IAAMC,QAAQ,GAAGC,YAAM,CAAC;AAAEC,IAAAA,eAAe,EAAE,GAAA;GAAK,CAAC,CAACrD,OAAO,CAAA;EAEzD,IAAAsD,aAAA,GAKIC,iBAAY,CAAC;AACfxD,MAAAA,IAAI,EAAAyD,eAAA,CAAAA,eAAA,KAAOzD,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEkD,QAAAA,KAAK,EAALA,KAAK;QAAE9C,IAAI,EAAE2B,eAAe,CAACE,IAAAA;OAAM,CAAA;MACpDhB,EAAE,EAAA,kBAAA,CAAAyC,MAAA,CAAqBzC,EAAE,CAAA;AAC3B,KAAC,CAAC;IAPA0C,UAAU,GAAAJ,aAAA,CAAVI,UAAU;IACVC,SAAS,GAAAL,aAAA,CAATK,SAAS;IACTC,UAAU,GAAAN,aAAA,CAAVM,UAAU;IACEC,mBAAmB,GAAAP,aAAA,CAA/BQ,UAAU,CAAA;EAMZ,IAAAC,aAAA,GAAoDC,iBAAY,CAAC;AAC/DjE,MAAAA,IAAI,EAAAyD,eAAA,CAAAA,eAAA,KAAOzD,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,OAAO,EAAE,CAAC6B,eAAe,CAACE,IAAI,CAAC;QAAEiB,KAAK,EAAEA,KAAK,GAAG,CAAA;OAAG,CAAA;MACpEjC,EAAE,EAAA,kBAAA,CAAAyC,MAAA,CAAqBzC,EAAE,CAAA;AAC3B,KAAC,CAAC;IAHMiD,MAAM,GAAAF,aAAA,CAANE,MAAM;IAAcC,mBAAmB,GAAAH,aAAA,CAA/BD,UAAU,CAAA;EAK1B,IAAAK,UAAA,GAA6BC,mCAAS,CAAC;AACrCC,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,MAAM,EAAEC,KAAK,EAAK;QAC3B,IAAID,MAAM,EAAE,OAAO;AACnBnB,QAAAA,QAAQ,CAACE,eAAe,GAAGkB,KAAK,CAACC,MAAM,CAACC,YAAY,CAAA;AACtD,OAAA;AACF,KAAC,CAAC;IAAAC,WAAA,GAAAC,cAAA,CAAAR,UAAA,EAAA,CAAA,CAAA;AALKS,IAAAA,UAAU,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAEJ,IAAAA,MAAM,GAAAI,WAAA,CAAA,CAAA,CAAA,CAAA;AAOzB,EAAA,IAAMG,kBAAkB,GAAG,CAACjB,UAAU,IAAIK,MAAM,CAAA;AAEhD,EAAA,oBACE1B,eAAA,CAAA,KAAA,EAAAiB,eAAA,CAAAA,eAAA,CAAA;AACEV,IAAAA,SAAS,EAAEC,UAAU,CAAC,eAAe,EAAE;AACrC,MAAA,YAAY,EAAEa,UAAAA;AAChB,KAAC,CAAE;AACHkB,IAAAA,GAAG,EAAE,SAALA,GAAGA,CAAEC,IAAI,EAAI;MACXlB,mBAAmB,CAACkB,IAAI,CAAC,CAAA;MACzBb,mBAAmB,CAACa,IAAI,CAAC,CAAA;MACzBH,UAAU,CAACG,IAAI,CAAC,CAAA;AAClB,KAAA;GAAEvB,EAAAA,eAAA,CAAAA,eAAA,CAAA;AACIxC,IAAAA,EAAE,EAAFA,EAAAA;GAAO0C,EAAAA,UAAU,GAAKC,SAAS,CAAA,CAAA,EAAA,EAAA,EAAA;AACrCqB,IAAAA,KAAK,EAAE;AAAErF,MAAAA,MAAM,EAAE2E,MAAM,GAAG9E,SAAS,GAAG2D,QAAQ,CAACE,eAAAA;KAAkB;IAAAZ,QAAA,EAAA,CAEhE6B,MAAM,IAAIpB,MAAM,EAAE,EAClB2B,kBAAkB,iBAAIhC,cAAA,CAACH,YAAY,EAAA;AAACE,MAAAA,MAAM,EAAC,YAAA;AAAY,KAAE,CAAC,CAAA;AAAA,GAAA,CACxD,CAAC,CAAA;AAEV,CAAC;;;;AC9CD,IAAMqC,eAAe,GAAG,SAAlBA,eAAeA,CAAA5E,IAAA,EAA4B;AAAA,EAAA,IAAtBN,IAAI,GAAAM,IAAA,CAAJN,IAAI;IAAAmF,UAAA,GAAA7E,IAAA,CAAE4C,KAAK;AAALA,IAAAA,KAAK,GAAAiC,UAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,UAAA,CAAA;AACxC,EAAA,IAAMlE,EAAE,GAAGmE,WAAK,EAAE,CAAA;EAElB,IAAApB,aAAA,GAA+BC,iBAAY,CAAC;AAC1CjE,MAAAA,IAAI,EAAAyD,eAAA,CAAAA,eAAA,KAAOzD,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,OAAO,EAAE,CAAC6B,eAAe,CAACE,IAAI,CAAC;AAAEiB,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAA;MACzDjC,EAAE,EAAA,kBAAA,CAAAyC,MAAA,CAAqBzC,EAAE,CAAA;AAC3B,KAAC,CAAC;IAHMiD,MAAM,GAAAF,aAAA,CAANE,MAAM;IAAEH,UAAU,GAAAC,aAAA,CAAVD,UAAU,CAAA;AAK1B,EAAA,oBACEjB,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAACgC,IAAAA,GAAG,EAAEhB,UAAW;AAAArB,IAAAA,QAAA,EACvCwB,MAAM,iBAAIpB,cAAA,CAACH,YAAY,EAAA;AAACE,MAAAA,MAAM,EAAC,YAAA;KAAc,CAAA;AAAC,GAC5C,CAAC,CAAA;AAEV,CAAC;;ACbD,IAAMwC,OAAO,gBAAGC,gBAAU,CAAC,UAAAhF,IAAA,EAAiCyE,GAAG,EAAA;AAAA,EAAA,IAAjCQ,OAAO,GAAAjF,IAAA,CAAPiF,OAAO;IAAEC,KAAK,GAAAlF,IAAA,CAALkF,KAAK;IAAEC,UAAU,GAAAnF,IAAA,CAAVmF,UAAU,CAAA;AAAA,EAAA,oBACtDjD,eAAA,CAAA,KAAA,EAAA;AAAWuC,IAAAA,GAAG,EAAHA,GAAG;AAAIhC,IAAAA,SAAS,EAAC,+CAA+C;IAAAL,QAAA,EAAA,cACzEI,cAAA,CAACoC,eAAe,EAAA;AAAClF,MAAAA,IAAI,EAAE;AAAEuF,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAA;KAAI,CAAC,EACrCC,KAAK,CAACE,GAAG,CAAC,UAACC,IAAI,EAAEzC,KAAK,EAAA;MAAA,oBACrB0C,mBAAA,CAAC3C,aAAa,EAAA;AACNC,QAAAA,KAAK,EAALA,KAAK;AACXlD,QAAAA,IAAI,EAAE;AAAEuF,UAAAA,OAAO,EAAPA,OAAO;AAAEI,UAAAA,IAAI,EAAJA,IAAAA;SAAO;AACxB1E,QAAAA,EAAE,EAAAyC,EAAAA,CAAAA,MAAA,CAAK6B,OAAO,CAACtE,EAAE,EAAAyC,IAAAA,CAAAA,CAAAA,MAAA,CAAKiC,IAAI,CAAC1E,EAAE,CAAG;AAChC4E,QAAAA,GAAG,EAAAnC,EAAAA,CAAAA,MAAA,CAAK6B,OAAO,CAACtE,EAAE,EAAAyC,IAAAA,CAAAA,CAAAA,MAAA,CAAKiC,IAAI,CAAC1E,EAAE,CAAG;QACjCkC,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,UAAA,OAAQsC,UAAU,CAAC;AAAEvC,YAAAA,KAAK,EAALA,KAAK;AAAEyC,YAAAA,IAAI,EAAJA,IAAI;AAAEJ,YAAAA,OAAO,EAAPA,OAAAA;AAAQ,WAAC,CAAC,CAAA;AAAA,SAAA;AAAC,OACpD,CAAC,CAAA;AAAA,KACH,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAAA,CACP,CAAC,CAAA;AAEFF,OAAO,CAACS,WAAW,GAAG,SAAS,CAAA;AAC/BT,OAAO,CAACU,SAAS,GAAG;AAClB;EACAhB,GAAG,EAAEiB,eAAS,CAACC,GAAG;AAElB;AACAV,EAAAA,OAAO,EAAES,eAAS,CAACE,KAAK,CAAC;AAAEjF,IAAAA,EAAE,EAAE+E,eAAS,CAACG,MAAM,CAACC,UAAAA;GAAY,CAAC,CAACA,UAAU;AAExE;EACAZ,KAAK,EAAEQ,eAAS,CAACK,OAAO,CAACL,eAAS,CAACE,KAAK,CAAC;AAAEjF,IAAAA,EAAE,EAAE+E,eAAS,CAACG,MAAM,CAACC,UAAAA;GAAY,CAAC,CAAC,CAC3EA,UAAU;AAEb;AACAX,EAAAA,UAAU,EAAEO,eAAS,CAACM,IAAI,CAACF,UAAAA;AAC7B,CAAC;;;;AC7BD,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAjG,IAAA,EAAoC;AAAA,EAAA,IAA9BW,EAAE,GAAAX,IAAA,CAAFW,EAAE;IAAEiC,KAAK,GAAA5C,IAAA,CAAL4C,KAAK;IAAElD,IAAI,GAAAM,IAAA,CAAJN,IAAI;IAAEmD,MAAM,GAAA7C,IAAA,CAAN6C,MAAM,CAAA;AACjD,EAAA,IAAAiB,UAAA,GAA6BC,mCAAS,EAAE;IAAAM,WAAA,GAAAC,cAAA,CAAAR,UAAA,EAAA,CAAA,CAAA;AAAjCS,IAAAA,UAAU,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAEJ,IAAAA,MAAM,GAAAI,WAAA,CAAA,CAAA,CAAA,CAAA;EAEzB,IAAApB,aAAA,GAKIC,iBAAY,CAAC;AACfxD,MAAAA,IAAI,EAAAyD,eAAA,CAAAA,eAAA,KAAOzD,IAAI,CAAA,EAAA,EAAA,EAAA;QAAEI,IAAI,EAAE2B,eAAe,CAACC,OAAO;AAAEkB,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAA;MACvDjC,EAAE,EAAA,qBAAA,CAAAyC,MAAA,CAAwBzC,EAAE,CAAA;AAC9B,KAAC,CAAC;IAPA0C,UAAU,GAAAJ,aAAA,CAAVI,UAAU;IACVC,SAAS,GAAAL,aAAA,CAATK,SAAS;IACTC,UAAU,GAAAN,aAAA,CAAVM,UAAU;IACEC,mBAAmB,GAAAP,aAAA,CAA/BQ,UAAU,CAAA;EAMZ,IAAAC,aAAA,GAAoDC,iBAAY,CAAC;AAC/DjE,MAAAA,IAAI,EAAAyD,eAAA,CAAAA,eAAA,KAAOzD,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,OAAO,EAAE,CAAC6B,eAAe,CAACC,OAAO,CAAC;QAAEkB,KAAK,EAAEA,KAAK,GAAG,CAAA;OAAG,CAAA;MACvEjC,EAAE,EAAA,qBAAA,CAAAyC,MAAA,CAAwBzC,EAAE,CAAA;AAC9B,KAAC,CAAC;IAHMiD,MAAM,GAAAF,aAAA,CAANE,MAAM;IAAcC,mBAAmB,GAAAH,aAAA,CAA/BD,UAAU,CAAA;AAK1B,EAAA,IAAMe,kBAAkB,GAAG,CAACjB,UAAU,IAAIK,MAAM,CAAA;EAEhD,oBACE1B,eAAA,CAAAiB,KAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACMG,SAAS,CAAA,EACTD,UAAU,CAAA,EAAA,EAAA,EAAA;AACdZ,IAAAA,SAAS,EAAEC,UAAU,CACnB,sEAAsE,EACtE;AAAE,MAAA,YAAY,EAAEa,UAAAA;AAAW,KAC7B,CAAE;AACFkB,IAAAA,GAAG,EAAE,SAALA,GAAGA,CAAEC,IAAI,EAAI;MACXlB,mBAAmB,CAACkB,IAAI,CAAC,CAAA;MACzBb,mBAAmB,CAACa,IAAI,CAAC,CAAA;MACzBH,UAAU,CAACG,IAAI,CAAC,CAAA;KAChB;IAAAtC,QAAA,EAAA,CAED6B,MAAM,IAAIpB,MAAM,EAAE,EAClB2B,kBAAkB,iBAAIhC,cAAA,CAACH,YAAY,EAAA;AAACE,MAAAA,MAAM,EAAC,UAAA;AAAU,KAAE,CAAC,CAAA;AAAA,GAAA,CACtD,CAAC,CAAA;AAEV,CAAC;;;;ACtCD,IAAM2D,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAlG,IAAA,EAA4B;AAAA,EAAA,IAAtBN,IAAI,GAAAM,IAAA,CAAJN,IAAI;IAAAmF,UAAA,GAAA7E,IAAA,CAAE4C,KAAK;AAALA,IAAAA,KAAK,GAAAiC,UAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,UAAA,CAAA;AAC3C,EAAA,IAAMlE,EAAE,GAAGmE,WAAK,EAAE,CAAA;EAElB,IAAApB,aAAA,GAA+BC,iBAAY,CAAC;AAC1CjE,MAAAA,IAAI,EAAAyD,aAAA,CAAAA,aAAA,KAAOzD,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,OAAO,EAAE,CAAC6B,eAAe,CAACC,OAAO,CAAC;AAAEkB,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAA;MAC5DjC,EAAE,EAAA,qBAAA,CAAAyC,MAAA,CAAwBzC,EAAE,CAAA;AAC9B,KAAC,CAAC;IAHMiD,MAAM,GAAAF,aAAA,CAANE,MAAM;IAAEH,UAAU,GAAAC,aAAA,CAAVD,UAAU,CAAA;AAK1B,EAAA,oBACEjB,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAACgC,IAAAA,GAAG,EAAEhB,UAAW;AAAArB,IAAAA,QAAA,EACvCwB,MAAM,iBAAIpB,cAAA,CAACH,YAAY,EAAA;AAACE,MAAAA,MAAM,EAAC,UAAA;KAAY,CAAA;AAAC,GAC1C,CAAC,CAAA;AAEV,CAAC;;ACFD,IAAM4D,YAAY,GAAG;AAAEC,EAAAA,oBAAoB,EAAE;AAAE/E,IAAAA,QAAQ,EAAE,CAAA;AAAE,GAAA;AAAE,CAAC,CAAA;AAC9D,IAAMgF,eAAe,GAAG;AAAE5G,EAAAA,SAAS,EAAE;AAAE6G,IAAAA,SAAS,EAAE,GAAA;AAAI,GAAA;AAAE,CAAC,CAAA;AAEnDC,IAAAA,SAAS,gBAAGvB,gBAAU,CAAC,UAAClD,KAAK,EAAE2C,GAAG,EAAK;AAC3C,EAAA,IAAQ+B,QAAQ,GAA+C1E,KAAK,CAA5D0E,QAAQ;IAAEC,aAAa,GAAgC3E,KAAK,CAAlD2E,aAAa;IAAEC,UAAU,GAAoB5E,KAAK,CAAnC4E,UAAU;IAAEC,aAAa,GAAK7E,KAAK,CAAvB6E,aAAa,CAAA;AAE1D,EAAA,IAAAC,SAAA,GAAkCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAxC,cAAA,CAAAsC,SAAA,EAAA,CAAA,CAAA;AAAvCG,IAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAC9B,IAAMG,OAAO,GAAGC,eAAU,CAACC,cAAS,CAACC,kBAAa,EAAEjB,YAAY,CAAC,CAAC,CAAA;AAElE,EAAA,IAAMkB,SAAS,GAAG,SAAZA,SAASA,CAAGC,IAAI,EAAI;AAAA,IAAA,IAAAC,UAAA,CAAA;IACxB,IAAMtH,MAAM,GAAG8G,SAAS,CAAC9G,MAAM,CAACP,IAAI,CAACC,OAAO,CAAA;AAC5C,IAAA,IAAM6H,IAAI,GAAA,CAAAD,UAAA,GAAGD,IAAI,CAACE,IAAI,MAAAD,IAAAA,IAAAA,UAAA,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAW7H,IAAI,CAACC,OAAO,CAAA;AACpC,IAAA,IAAI,CAACM,MAAM,IAAI,CAACuH,IAAI,EAAE,OAAA;AAEtB,IAAA,IAAIvH,MAAM,CAACH,IAAI,KAAK2B,eAAe,CAACE,IAAI,EAAE;MACxC+E,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAGzG,MAAM,EAAEuH,IAAI,CAAC,CAAA;KAC3B,MAAM,IAAIvH,MAAM,CAACH,IAAI,KAAK2B,eAAe,CAACC,OAAO,EAAE;MAClD+E,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAGxG,MAAM,EAAEuH,IAAI,CAAC,CAAA;AAC/B,KAAA;GACD,CAAA;EAED,oBACEtF,eAAA,CAACuF,eAAU,EAAA;AACHJ,IAAAA,SAAS,EAATA,SAAS;AAAEJ,IAAAA,OAAO,EAAPA,OAAO;AACxBS,IAAAA,kBAAkB,EAAE3H,aAAa,CAACgH,SAAS,CAAE;AAC7CY,IAAAA,SAAS,EAAEtB,eAAgB;AAC3BuB,IAAAA,WAAW,EAAEZ,YAAa;AAAA5E,IAAAA,QAAA,gBAE1BF,eAAA,CAAA,KAAA,EAAA;AAAWuC,MAAAA,GAAG,EAAHA,GAAG;AAAIhC,MAAAA,SAAS,EAAC,wCAAwC;AAAAL,MAAAA,QAAA,EAClEI,cAAAA,cAAA,CAAC0D,kBAAkB,IAAE,CAAC,EACrBM,QAAQ,CAACpB,GAAG,CAAC,UAACH,OAAO,EAAErC,KAAK,EAAA;QAAA,oBAC3B0C,mBAAA,CAACW,gBAAgB,EAAA;AACTrD,UAAAA,KAAK,EAALA,KAAK;AACXlD,UAAAA,IAAI,EAAE;AAAEuF,YAAAA,OAAO,EAAPA,OAAAA;WAAU;UAClBtE,EAAE,EAAEsE,OAAO,CAACtE,EAAG;UACf4E,GAAG,EAAEN,OAAO,CAACtE,EAAG;UAChBkC,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,YAAA,OAAQ8D,aAAa,CAAC;AAAE/D,cAAAA,KAAK,EAALA,KAAK;AAAEqC,cAAAA,OAAO,EAAPA,OAAAA;AAAQ,aAAC,CAAC,CAAA;AAAA,WAAA;AAAC,SACjD,CAAC,CAAA;AAAA,OACH,CAAC,CAAA;AAAA,KACC,CAAC,eACNzC,cAAA,CAACZ,UAAU,EAAA;AAAOE,MAAAA,KAAK,EAALA,KAAK;AAAIC,MAAAA,KAAK,EAAEgF,SAAAA;AAAU,KAAE,CAAC,CAAA;AAAA,GACrC,CAAC,CAAA;AAEjB,CAAC,EAAC;AAEFR,SAAS,CAACf,WAAW,GAAG,WAAW,CAAA;AACnCe,SAAS,CAACxB,OAAO,GAAGA,OAAO;;;;"}
|
|
1
|
+
{"version":3,"file":"BoardView.js","sources":["../../src/components/BoardView/closestCenter.js","../../src/components/BoardView/constants.js","../../src/components/BoardView/Overlay.jsx","../../src/components/BoardView/Indicator.jsx","../../src/components/BoardView/Item/Container.jsx","../../src/components/BoardView/Item/Placeholder.jsx","../../src/components/BoardView/Section/index.jsx","../../src/components/BoardView/Section/Container.jsx","../../src/components/BoardView/Section/Placeholder.jsx","../../src/components/BoardView/index.jsx"],"sourcesContent":["// Customised collision detection algorithm based on `closestCenter` implementation for dnd-kit\n// Extracts collisions by respecting `accepts` property\n\nconst 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\n// `active` attribute from the `dnd-kit` is unreliable since the data can be lost on unmount during a drag.\nexport const closestCenter =\n ({ active }) =>\n ({ collisionRect, droppableRects, droppableContainers }) => {\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\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 ItemContainer = ({ id, index, data, render }) => {\n const mutables = useRef({ containerHeight: 128 }).current;\n\n const {\n attributes,\n listeners,\n isDragging,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index, type: DRAGGABLE_TYPES.ITEM },\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 [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 const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <div\n className={classNames(\"relative mt-4\", {\n \"opacity-65\": isDragging,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n setViewRef(node);\n }}\n {...{ id, ...attributes, ...listeners }}\n style={{ height: inView ? undefined : mutables.containerHeight }}\n >\n {inView && render()}\n {isIndicatorVisible && <DndIndicator layout=\"horizontal\" />}\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 {...{ ref }} className=\"relative min-h-0 flex-1 basis-0 overflow-auto\">\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 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 SectionContainer = ({ id, index, data, render }) => {\n const [setViewRef, inView] = useInView();\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 });\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(\n \"neeto-molecules-boardview-section relative mr-3 flex h-full flex-col last-of-type:mr-0\",\n { \"opacity-65\": isDragging }\n )}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n setViewRef(node);\n }}\n >\n {inView && render()}\n {isIndicatorVisible && <DndIndicator layout=\"vertical\" />}\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 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 renderSectionOverlay: PropTypes.func.isRequired,\n\n /** A function to render a drag overlay for individual items (drag preview) */\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","closestCenter","_ref","active","_ref2","collisionRect","droppableRects","droppableContainers","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","ItemContainer","index","render","mutables","useRef","containerHeight","_useDraggable","useDraggable","_objectSpread","concat","attributes","listeners","isDragging","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","isOver","setDroppableNodeRef","_useInView","useInView","onChange","inView","entry","target","clientHeight","_useInView2","_slicedToArray","setViewRef","isIndicatorVisible","ref","node","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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"}
|
package/dist/cjs/Insights.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
3
4
|
var classnames = require('classnames');
|
|
4
5
|
var Warning = require('@bigbinary/neeto-icons/Warning');
|
|
5
6
|
var Tooltip = require('@bigbinary/neetoui/Tooltip');
|
|
@@ -13,7 +14,6 @@ var ramda = require('ramda');
|
|
|
13
14
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
15
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
15
16
|
var HelpPopover = require('./HelpPopover.js');
|
|
16
|
-
require('@babel/runtime/helpers/defineProperty');
|
|
17
17
|
require('@babel/runtime/helpers/slicedToArray');
|
|
18
18
|
require('@bigbinary/neeto-commons-frontend/initializers');
|
|
19
19
|
require('@bigbinary/neeto-commons-frontend/utils');
|
|
@@ -249,6 +249,8 @@ var MetricItem = function MetricItem(_ref) {
|
|
|
249
249
|
};
|
|
250
250
|
var MetricItem$1 = /*#__PURE__*/React.memo(MetricItem);
|
|
251
251
|
|
|
252
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
253
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
252
254
|
var Insights = function Insights(_ref) {
|
|
253
255
|
var insightsData = _ref.insightsData,
|
|
254
256
|
isLoading = _ref.isLoading,
|
|
@@ -258,7 +260,10 @@ var Insights = function Insights(_ref) {
|
|
|
258
260
|
helpTexts = _ref$helpTexts === void 0 ? {} : _ref$helpTexts,
|
|
259
261
|
_ref$showWarningMessa = _ref.showWarningMessage,
|
|
260
262
|
showWarningMessage = _ref$showWarningMessa === void 0 ? false : _ref$showWarningMessa,
|
|
261
|
-
className = _ref.className
|
|
263
|
+
className = _ref.className,
|
|
264
|
+
title = _ref.title,
|
|
265
|
+
_ref$tooltipProps = _ref.tooltipProps,
|
|
266
|
+
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps;
|
|
262
267
|
var _useTranslation = reactI18next.useTranslation(),
|
|
263
268
|
t = _useTranslation.t;
|
|
264
269
|
var visitCount = insightsData.visitCount,
|
|
@@ -284,11 +289,12 @@ var Insights = function Insights(_ref) {
|
|
|
284
289
|
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
285
290
|
"data-cy": "submissions-insights-title",
|
|
286
291
|
style: "h2",
|
|
287
|
-
children: t("neetoMolecules.insights.title")
|
|
288
|
-
}), showWarningMessage && /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
|
|
292
|
+
children: title || t("neetoMolecules.insights.title")
|
|
293
|
+
}), showWarningMessage && /*#__PURE__*/jsxRuntime.jsx(Tooltip, _objectSpread(_objectSpread({
|
|
289
294
|
content: t("neetoMolecules.insights.dataInaccuracyWarning"),
|
|
290
295
|
position: "bottom",
|
|
291
|
-
touch: ["hold", 500]
|
|
296
|
+
touch: ["hold", 500]
|
|
297
|
+
}, tooltipProps), {}, {
|
|
292
298
|
children: /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
293
299
|
className: "ml-3",
|
|
294
300
|
children: /*#__PURE__*/jsxRuntime.jsx(Warning, {
|
|
@@ -298,7 +304,7 @@ var Insights = function Insights(_ref) {
|
|
|
298
304
|
size: 20
|
|
299
305
|
})
|
|
300
306
|
})
|
|
301
|
-
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
307
|
+
})), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
302
308
|
className: "ml-auto",
|
|
303
309
|
children: /*#__PURE__*/jsxRuntime.jsx(DateRangeFilter, {
|
|
304
310
|
setTimePeriod: setTimePeriod,
|
package/dist/cjs/Insights.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Insights.js","sources":["../../src/components/Insights/constants.js","../../src/components/Insights/MetaInfo/PercentageBar.jsx","../../src/components/Insights/MetaInfo/MetaInfoItem.jsx","../../src/components/Insights/MetaInfo/DataDistribution.jsx","../../src/components/Insights/utils.js","../../src/components/Insights/MetaInfo/index.jsx","../../src/components/Insights/TimeItem.jsx","../../src/components/Insights/MetricItem.jsx","../../src/components/Insights/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const DEFAULT_DEVICES = [\n {\n label: t(\"neetoMolecules.insights.labels.devices.desktop\"),\n value: \"desktop\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.devices.mobile\"),\n value: \"smartphone\",\n },\n];\n\nexport const DEFAULT_OS = [\n { label: t(\"neetoMolecules.insights.labels.os.macos\"), value: \"mac\" },\n {\n label: t(\"neetoMolecules.insights.labels.os.windows\"),\n value: \"windows\",\n },\n];\n\nexport const DEFAULT_BROWSERS = [\n {\n label: t(\"neetoMolecules.insights.labels.browsers.chrome\"),\n value: \"chrome\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.browsers.safari\"),\n value: \"safari\",\n },\n];\n\nexport const INITIAL_TIME_PERIOD_VALUE = {\n label: t(\"neetoMolecules.insights.labels.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n};\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst PercentageBar = ({ value }) => (\n <>\n {value !== 0 && (\n <div\n className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2\"\n style={{ width: `${value}%` }}\n />\n )}\n <Typography style=\"body3\">{value ? `${value}%` : 0}</Typography>\n </>\n);\n\nexport default memo(PercentageBar);\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport PercentageBar from \"./PercentageBar\";\n\nconst MetaInfoItem = ({ name, value }) => (\n <>\n <Typography style=\"body2\" textTransform=\"capitalize\">\n {name}\n </Typography>\n <div className=\"col-span-3 flex items-center gap-2\">\n <PercentageBar {...{ value }} />\n </div>\n </>\n);\n\nexport default memo(MetaInfoItem);\n","import MetaInfoItem from \"./MetaInfoItem\";\n\nconst DataDistribution = ({ data }) => (\n <div className=\"grid grid-cols-4 gap-2\">\n {data.map(({ name, value }) => (\n <MetaInfoItem {...{ name, value }} key={name} />\n ))}\n </div>\n);\n\nexport default DataDistribution;\n","import { existsBy } from \"neetocist\";\n\nconst getSum = (data, searchKey) => {\n let sum = 0;\n for (const key in data) {\n if (key.includes(searchKey)) sum += data[key];\n }\n\n return sum;\n};\n\nexport const transformInsights = (data, defaultItems) => {\n const othersData = Object.keys(data)\n .filter(key => !existsBy({ value: key }, defaultItems))\n .map(key => ({ name: key, value: data[key] }));\n\n const defaultData = defaultItems.map(({ label, value }) => ({\n name: label,\n value: getSum(data, value) || 0,\n }));\n\n return { defaultData, othersData };\n};\n","import { memo } from \"react\";\n\nimport { Tooltip, Typography } from \"neetoui\";\nimport { pluck, sum, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DataDistribution from \"./DataDistribution\";\nimport MetaInfoItem from \"./MetaInfoItem\";\n\nimport { transformInsights } from \"../utils\";\n\nconst MetaInfo = ({ type, data, defaultItems }) => {\n const { t } = useTranslation();\n const { defaultData, othersData } = transformInsights(data, defaultItems);\n\n const othersSum = sum(values(pluck(\"value\", othersData)));\n\n return (\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\">\n <Typography\n className=\"mb-2\"\n style=\"body2\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {type}\n </Typography>\n <DataDistribution data={defaultData} />\n <Tooltip\n content={<DataDistribution data={othersData} />}\n disabled={!othersSum}\n position=\"bottom\"\n >\n <div className=\"mt-2 grid grid-cols-4 gap-2\">\n <MetaInfoItem\n name={t(\"neetoMolecules.insights.others\")}\n value={othersSum}\n />\n </div>\n </Tooltip>\n </div>\n );\n};\n\nexport default memo(MetaInfo);\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst TimeItem = ({ value, suffix }) => (\n <div className=\"flex items-end\" data-testid=\"time-item\">\n <Typography className=\"mr-1\" style=\"h1\" weight=\"semibold\">\n {value}\n </Typography>\n <Typography lineHeight=\"loose\" style=\"body2\">\n {suffix}\n </Typography>\n </div>\n);\n\nexport default memo(TimeItem);\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport TimeItem from \"./TimeItem\";\n\nconst MetricItem = ({ metric, value, helpText, isTime, isPercentage }) => {\n const renderTime = value => {\n const { h: hours, m: minutes, s: seconds } = value;\n const showSeconds = !hours && !minutes;\n\n return (\n <div className=\"flex gap-2\">\n {!!hours && <TimeItem suffix=\"H\" value={hours} />}\n {!!minutes && <TimeItem suffix=\"M\" value={minutes} />}\n {(!!seconds || showSeconds) && <TimeItem suffix=\"S\" value={seconds} />}\n </div>\n );\n };\n\n return (\n <div\n className=\"nf-insights__metric-item neeto-ui-border-gray-200 border-b pb-4\"\n data-cy={`${hyphenate(metric)}-metric`}\n >\n <div className=\"flex items-center gap-2\">\n <div className=\"flex items-end gap-x-1\">\n {isTime ? (\n renderTime(value)\n ) : (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n data-cy=\"insights-count\"\n data-testid=\"insights-count\"\n style=\"h1\"\n weight=\"semibold\"\n >\n {value || 0}\n {isPercentage ? \"%\" : \"\"}\n </Typography>\n )}\n </div>\n {helpText && (\n <div>\n <HelpPopover description={helpText} />\n </div>\n )}\n </div>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"insights-type\"\n style=\"body3\"\n >\n {metric}\n </Typography>\n </div>\n );\n};\n\nexport default memo(MetricItem);\n","import classNames from \"classnames\";\nimport { Warning } from \"neetoicons\";\nimport { Tooltip, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DateRangeFilter from \"components/DateRangeFilter\";\n\nimport { DEFAULT_DEVICES, DEFAULT_BROWSERS, DEFAULT_OS } from \"./constants\";\nimport MetaInfo from \"./MetaInfo\";\nimport MetricItem from \"./MetricItem\";\n\nconst Insights = ({\n insightsData,\n isLoading,\n timePeriod,\n setTimePeriod,\n helpTexts = {},\n showWarningMessage = false,\n className,\n}) => {\n const { t } = useTranslation();\n\n const {\n visitCount,\n startCount,\n submissionCount,\n completionRate,\n averageSubmissionTime,\n devices,\n operatingSystems,\n browsers,\n } = insightsData;\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"mx-auto pt-10\", className)}\n data-cy=\"insights\"\n data-testid=\"insights\"\n >\n <div className=\"mb-10 flex w-full items-center\">\n <Typography data-cy=\"submissions-insights-title\" style=\"h2\">\n {t(\"neetoMolecules.insights.title\")}\n </Typography>\n {showWarningMessage && (\n <Tooltip\n content={t(\"neetoMolecules.insights.dataInaccuracyWarning\")}\n position=\"bottom\"\n touch={[\"hold\", 500]}\n >\n <span className=\"ml-3\">\n <Warning\n className=\"neeto-ui-text-warning-500\"\n data-cy=\"insights-warning\"\n data-testid=\"insights-warning\"\n size={20}\n />\n </span>\n </Tooltip>\n )}\n <span className=\"ml-auto\">\n <DateRangeFilter {...{ setTimePeriod, timePeriod }} />\n </span>\n </div>\n <div className=\"mb-6 grid grid-cols-1 gap-x-9 gap-y-6 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 lg:gap-0\">\n <MetricItem\n helpText={helpTexts[\"visitCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.visits\")}\n value={visitCount}\n />\n <MetricItem\n helpText={helpTexts[\"startCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.starts\")}\n value={startCount}\n />\n <MetricItem\n helpText={helpTexts[\"submissions\"]}\n metric={t(\"neetoMolecules.insights.metrics.submissions\")}\n value={submissionCount}\n />\n <MetricItem\n isPercentage\n helpText={helpTexts[\"completionRate\"]}\n metric={t(\"neetoMolecules.insights.metrics.completionRate\")}\n value={completionRate}\n />\n <MetricItem\n isTime\n helpText={helpTexts[\"averageSubmissionTime\"]}\n metric={t(\"neetoMolecules.insights.metrics.avgTimeToComplete\")}\n timeSuffix={t(\"neetoMolecules.insights.mins\")}\n value={averageSubmissionTime}\n />\n </div>\n <div className=\"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3\">\n <MetaInfo\n data={devices}\n defaultItems={DEFAULT_DEVICES}\n type={t(\"neetoMolecules.insights.devices\")}\n />\n <MetaInfo\n data={operatingSystems}\n defaultItems={DEFAULT_OS}\n type={t(\"neetoMolecules.insights.os\")}\n />\n <MetaInfo\n data={browsers}\n defaultItems={DEFAULT_BROWSERS}\n type={t(\"neetoMolecules.insights.browsers\")}\n />\n </div>\n </div>\n );\n};\n\nInsights.propTypes = {\n /**\n * Object containing metrics and statistics for insights\n */\n insightsData: PropTypes.shape({\n visitCount: PropTypes.number,\n startCount: PropTypes.number,\n submissionCount: PropTypes.number,\n completionRate: PropTypes.number,\n averageSubmissionTime: PropTypes.shape({\n h: PropTypes.number,\n m: PropTypes.number,\n s: PropTypes.number,\n }),\n devices: PropTypes.shape({\n desktop: PropTypes.number,\n smartphone: PropTypes.number,\n }),\n operatingSystems: PropTypes.shape({\n mac: PropTypes.number,\n windows: PropTypes.number,\n }),\n browsers: PropTypes.shape({\n chrome: PropTypes.number,\n safari: PropTypes.number,\n }),\n }),\n /**\n * Indicates whether insights data is currently being fetched from an API\n */\n isLoading: PropTypes.bool,\n /**\n * The state corresponding to the currently selected date range.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * Object containing explanatory text for each metric, providing additional context that can help users understand the significance of the metrics displayed.\n */\n helpTexts: PropTypes.shape({\n visitCount: PropTypes.string,\n startCount: PropTypes.string,\n submissions: PropTypes.string,\n completionRate: PropTypes.string,\n averageSubmissionTime: PropTypes.string,\n }),\n /**\n * Displays a warning to indicate that the insights may not be accurate, as the insights integration occurred after the record's creation.\n */\n showWarningMessage: PropTypes.bool,\n /**\n * To provide additional classes.\n */\n className: PropTypes.string,\n};\n\nexport default Insights;\n"],"names":["DEFAULT_DEVICES","label","t","value","DEFAULT_OS","DEFAULT_BROWSERS","startDate","endDate","rangeType","PercentageBar","_ref","_jsxs","_Fragment","children","_jsx","className","style","width","concat","Typography","memo","MetaInfoItem","name","textTransform","DataDistribution","data","map","_ref2","_createElement","key","getSum","searchKey","sum","includes","transformInsights","defaultItems","othersData","Object","keys","filter","existsBy","defaultData","MetaInfo","type","_useTranslation","useTranslation","_transformInsights","othersSum","values","pluck","weight","Tooltip","content","disabled","position","TimeItem","suffix","lineHeight","MetricItem","metric","helpText","isTime","isPercentage","renderTime","hours","h","minutes","m","seconds","s","showSeconds","hyphenate","HelpPopover","description","Insights","insightsData","isLoading","timePeriod","setTimePeriod","_ref$helpTexts","helpTexts","_ref$showWarningMessa","showWarningMessage","visitCount","startCount","submissionCount","completionRate","averageSubmissionTime","devices","operatingSystems","browsers","Spinner","classNames","touch","Warning","size","DateRangeFilter","timeSuffix"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,eAAe,GAAG,CAC7B;AACEC,EAAAA,KAAK,EAAEC,SAAC,CAAC,gDAAgD,CAAC;AAC1DC,EAAAA,KAAK,EAAE,SAAA;AACT,CAAC,EACD;AACEF,EAAAA,KAAK,EAAEC,SAAC,CAAC,+CAA+C,CAAC;AACzDC,EAAAA,KAAK,EAAE,YAAA;AACT,CAAC,CACF,CAAA;AAEM,IAAMC,UAAU,GAAG,CACxB;AAAEH,EAAAA,KAAK,EAAEC,SAAC,CAAC,yCAAyC,CAAC;AAAEC,EAAAA,KAAK,EAAE,KAAA;AAAM,CAAC,EACrE;AACEF,EAAAA,KAAK,EAAEC,SAAC,CAAC,2CAA2C,CAAC;AACrDC,EAAAA,KAAK,EAAE,SAAA;AACT,CAAC,CACF,CAAA;AAEM,IAAME,gBAAgB,GAAG,CAC9B;AACEJ,EAAAA,KAAK,EAAEC,SAAC,CAAC,gDAAgD,CAAC;AAC1DC,EAAAA,KAAK,EAAE,QAAA;AACT,CAAC,EACD;AACEF,EAAAA,KAAK,EAAEC,SAAC,CAAC,gDAAgD,CAAC;AAC1DC,EAAAA,KAAK,EAAE,QAAA;AACT,CAAC,CACF,CAAA;CAEwC;AACvCF,EAAAA,KAAK,EAAEC,SAAC,CAAC,wCAAwC,CAAC;AAClDC,EAAAA,KAAK,EAAE;AAAEG,IAAAA,SAAS,EAAE,IAAI;AAAEC,IAAAA,OAAO,EAAE,IAAI;AAAEC,IAAAA,SAAS,EAAE,KAAA;AAAM,GAAA;AAC5D;;AC/BA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMP,KAAK,GAAAO,IAAA,CAALP,KAAK,CAAA;EAAA,oBAC5BQ,eAAA,CAAAC,mBAAA,EAAA;AAAAC,IAAAA,QAAA,EACGV,CAAAA,KAAK,KAAK,CAAC,iBACVW,cAAA,CAAA,KAAA,EAAA;AACEC,MAAAA,SAAS,EAAC,gDAAgD;AAC1DC,MAAAA,KAAK,EAAE;QAAEC,KAAK,EAAA,EAAA,CAAAC,MAAA,CAAKf,KAAK,EAAA,GAAA,CAAA;AAAI,OAAA;AAAE,KAC/B,CACF,eACDW,cAAA,CAACK,UAAU,EAAA;AAACH,MAAAA,KAAK,EAAC,OAAO;AAAAH,MAAAA,QAAA,EAAEV,KAAK,GAAA,EAAA,CAAAe,MAAA,CAAMf,KAAK,EAAM,GAAA,CAAA,GAAA,CAAA;AAAC,KAAa,CAAC,CAAA;AAAA,GAChE,CAAC,CAAA;AAAA,CACJ,CAAA;AAED,sBAAeiB,aAAAA,UAAI,CAACX,aAAa,CAAC;;ACVlC,IAAMY,YAAY,GAAG,SAAfA,YAAYA,CAAAX,IAAA,EAAA;AAAA,EAAA,IAAMY,IAAI,GAAAZ,IAAA,CAAJY,IAAI;IAAEnB,KAAK,GAAAO,IAAA,CAALP,KAAK,CAAA;EAAA,oBACjCQ,eAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,cACEC,cAAA,CAACK,UAAU,EAAA;AAACH,MAAAA,KAAK,EAAC,OAAO;AAACO,MAAAA,aAAa,EAAC,YAAY;AAAAV,MAAAA,QAAA,EACjDS,IAAAA;KACS,CAAC,eACbR,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,oCAAoC;MAAAF,QAAA,eACjDC,cAAA,CAACL,eAAa,EAAA;AAAON,QAAAA,KAAK,EAALA,KAAAA;OAAU,CAAA;AAAC,KAC7B,CAAC,CAAA;AAAA,GACN,CAAC,CAAA;AAAA,CACJ,CAAA;AAED,qBAAeiB,aAAAA,UAAI,CAACC,YAAY,CAAC;;ACfjC,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAd,IAAA,EAAA;AAAA,EAAA,IAAMe,IAAI,GAAAf,IAAA,CAAJe,IAAI,CAAA;AAAA,EAAA,oBAC9BX,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,wBAAwB;AAAAF,IAAAA,QAAA,EACpCY,IAAI,CAACC,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,MAAA,IAAGL,IAAI,GAAAK,KAAA,CAAJL,IAAI;QAAEnB,KAAK,GAAAwB,KAAA,CAALxB,KAAK,CAAA;MAAA,oBACtByB,mBAAA,CAACP,cAAY,EAAA;AAAOC,QAAAA,IAAI,EAAJA,IAAI;AAAEnB,QAAAA,KAAK,EAALA,KAAK;AAAI0B,QAAAA,GAAG,EAAEP,IAAAA;AAAK,OAAE,CAAC,CAAA;KACjD,CAAA;AAAC,GACC,CAAC,CAAA;AAAA,CACP;;ACND,IAAMQ,MAAM,GAAG,SAATA,MAAMA,CAAIL,IAAI,EAAEM,SAAS,EAAK;EAClC,IAAIC,GAAG,GAAG,CAAC,CAAA;AACX,EAAA,KAAK,IAAMH,GAAG,IAAIJ,IAAI,EAAE;AACtB,IAAA,IAAII,GAAG,CAACI,QAAQ,CAACF,SAAS,CAAC,EAAEC,GAAG,IAAIP,IAAI,CAACI,GAAG,CAAC,CAAA;AAC/C,GAAA;AAEA,EAAA,OAAOG,GAAG,CAAA;AACZ,CAAC,CAAA;AAEM,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIT,IAAI,EAAEU,YAAY,EAAK;AACvD,EAAA,IAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACb,IAAI,CAAC,CACjCc,MAAM,CAAC,UAAAV,GAAG,EAAA;IAAA,OAAI,CAACW,kBAAQ,CAAC;AAAErC,MAAAA,KAAK,EAAE0B,GAAAA;KAAK,EAAEM,YAAY,CAAC,CAAA;AAAA,GAAA,CAAC,CACtDT,GAAG,CAAC,UAAAG,GAAG,EAAA;IAAA,OAAK;AAAEP,MAAAA,IAAI,EAAEO,GAAG;MAAE1B,KAAK,EAAEsB,IAAI,CAACI,GAAG,CAAA;KAAG,CAAA;AAAA,GAAC,CAAC,CAAA;AAEhD,EAAA,IAAMY,WAAW,GAAGN,YAAY,CAACT,GAAG,CAAC,UAAAhB,IAAA,EAAA;AAAA,IAAA,IAAGT,KAAK,GAAAS,IAAA,CAALT,KAAK;MAAEE,KAAK,GAAAO,IAAA,CAALP,KAAK,CAAA;IAAA,OAAQ;AAC1DmB,MAAAA,IAAI,EAAErB,KAAK;AACXE,MAAAA,KAAK,EAAE2B,MAAM,CAACL,IAAI,EAAEtB,KAAK,CAAC,IAAI,CAAA;KAC/B,CAAA;AAAA,GAAC,CAAC,CAAA;EAEH,OAAO;AAAEsC,IAAAA,WAAW,EAAXA,WAAW;AAAEL,IAAAA,UAAU,EAAVA,UAAAA;GAAY,CAAA;AACpC,CAAC;;ACXD,IAAMM,QAAQ,GAAG,SAAXA,QAAQA,CAAAhC,IAAA,EAAqC;AAAA,EAAA,IAA/BiC,IAAI,GAAAjC,IAAA,CAAJiC,IAAI;IAAElB,IAAI,GAAAf,IAAA,CAAJe,IAAI;IAAEU,YAAY,GAAAzB,IAAA,CAAZyB,YAAY,CAAA;AAC1C,EAAA,IAAAS,eAAA,GAAcC,2BAAc,EAAE;IAAtB3C,CAAC,GAAA0C,eAAA,CAAD1C,CAAC,CAAA;AACT,EAAA,IAAA4C,kBAAA,GAAoCZ,iBAAiB,CAACT,IAAI,EAAEU,YAAY,CAAC;IAAjEM,WAAW,GAAAK,kBAAA,CAAXL,WAAW;IAAEL,UAAU,GAAAU,kBAAA,CAAVV,UAAU,CAAA;AAE/B,EAAA,IAAMW,SAAS,GAAGf,SAAG,CAACgB,YAAM,CAACC,WAAK,CAAC,OAAO,EAAEb,UAAU,CAAC,CAAC,CAAC,CAAA;AAEzD,EAAA,oBACEzB,eAAA,CAAA,KAAA,EAAA;AAAKI,IAAAA,SAAS,EAAC,2CAA2C;IAAAF,QAAA,EAAA,cACxDC,cAAA,CAACK,UAAU,EAAA;AACTJ,MAAAA,SAAS,EAAC,MAAM;AAChBC,MAAAA,KAAK,EAAC,OAAO;AACbO,MAAAA,aAAa,EAAC,WAAW;AACzB2B,MAAAA,MAAM,EAAC,MAAM;AAAArC,MAAAA,QAAA,EAEZ8B,IAAAA;AAAI,KACK,CAAC,eACb7B,cAAA,CAACU,gBAAgB,EAAA;AAACC,MAAAA,IAAI,EAAEgB,WAAAA;AAAY,KAAE,CAAC,eACvC3B,cAAA,CAACqC,OAAO,EAAA;MACNC,OAAO,eAAEtC,cAAA,CAACU,gBAAgB,EAAA;AAACC,QAAAA,IAAI,EAAEW,UAAAA;AAAW,OAAE,CAAE;MAChDiB,QAAQ,EAAE,CAACN,SAAU;AACrBO,MAAAA,QAAQ,EAAC,QAAQ;AAAAzC,MAAAA,QAAA,eAEjBC,cAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,6BAA6B;QAAAF,QAAA,eAC1CC,cAAA,CAACO,cAAY,EAAA;AACXC,UAAAA,IAAI,EAAEpB,CAAC,CAAC,gCAAgC,CAAE;AAC1CC,UAAAA,KAAK,EAAE4C,SAAAA;SACR,CAAA;OACE,CAAA;AAAC,KACC,CAAC,CAAA;AAAA,GACP,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,iBAAe3B,aAAAA,UAAI,CAACsB,QAAQ,CAAC;;ACxC7B,IAAMa,QAAQ,GAAG,SAAXA,QAAQA,CAAA7C,IAAA,EAAA;AAAA,EAAA,IAAMP,KAAK,GAAAO,IAAA,CAALP,KAAK;IAAEqD,MAAM,GAAA9C,IAAA,CAAN8C,MAAM,CAAA;AAAA,EAAA,oBAC/B7C,eAAA,CAAA,KAAA,EAAA;AAAKI,IAAAA,SAAS,EAAC,gBAAgB;AAAC,IAAA,aAAA,EAAY,WAAW;IAAAF,QAAA,EAAA,cACrDC,cAAA,CAACK,UAAU,EAAA;AAACJ,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,KAAK,EAAC,IAAI;AAACkC,MAAAA,MAAM,EAAC,UAAU;AAAArC,MAAAA,QAAA,EACtDV,KAAAA;AAAK,KACI,CAAC,eACbW,cAAA,CAACK,UAAU,EAAA;AAACsC,MAAAA,UAAU,EAAC,OAAO;AAACzC,MAAAA,KAAK,EAAC,OAAO;AAAAH,MAAAA,QAAA,EACzC2C,MAAAA;AAAM,KACG,CAAC,CAAA;AAAA,GACV,CAAC,CAAA;AAAA,CACP,CAAA;AAED,iBAAepC,aAAAA,UAAI,CAACmC,QAAQ,CAAC;;ACN7B,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAAhD,IAAA,EAA0D;AAAA,EAAA,IAApDiD,MAAM,GAAAjD,IAAA,CAANiD,MAAM;IAAExD,KAAK,GAAAO,IAAA,CAALP,KAAK;IAAEyD,QAAQ,GAAAlD,IAAA,CAARkD,QAAQ;IAAEC,MAAM,GAAAnD,IAAA,CAANmD,MAAM;IAAEC,YAAY,GAAApD,IAAA,CAAZoD,YAAY,CAAA;AACjE,EAAA,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAG5D,KAAK,EAAI;AAC1B,IAAA,IAAW6D,KAAK,GAA6B7D,KAAK,CAA1C8D,CAAC;MAAYC,OAAO,GAAiB/D,KAAK,CAAhCgE,CAAC;MAAcC,OAAO,GAAKjE,KAAK,CAApBkE,CAAC,CAAA;AAC/B,IAAA,IAAMC,WAAW,GAAG,CAACN,KAAK,IAAI,CAACE,OAAO,CAAA;AAEtC,IAAA,oBACEvD,eAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,YAAY;AAAAF,MAAAA,QAAA,GACxB,CAAC,CAACmD,KAAK,iBAAIlD,cAAA,CAACyC,UAAQ,EAAA;AAACC,QAAAA,MAAM,EAAC,GAAG;AAACrD,QAAAA,KAAK,EAAE6D,KAAAA;OAAQ,CAAC,EAChD,CAAC,CAACE,OAAO,iBAAIpD,cAAA,CAACyC,UAAQ,EAAA;AAACC,QAAAA,MAAM,EAAC,GAAG;AAACrD,QAAAA,KAAK,EAAE+D,OAAAA;OAAU,CAAC,EACpD,CAAC,CAAC,CAACE,OAAO,IAAIE,WAAW,kBAAKxD,cAAA,CAACyC,UAAQ,EAAA;AAACC,QAAAA,MAAM,EAAC,GAAG;AAACrD,QAAAA,KAAK,EAAEiE,OAAAA;AAAQ,OAAE,CAAC,CAAA;AAAA,KACnE,CAAC,CAAA;GAET,CAAA;AAED,EAAA,oBACEzD,eAAA,CAAA,KAAA,EAAA;AACEI,IAAAA,SAAS,EAAC,iEAAiE;AAC3E,IAAA,SAAA,EAAA,EAAA,CAAAG,MAAA,CAAYqD,mBAAS,CAACZ,MAAM,CAAC,EAAU,SAAA,CAAA;AAAA9C,IAAAA,QAAA,gBAEvCF,eAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,yBAAyB;AAAAF,MAAAA,QAAA,gBACtCC,cAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,wBAAwB;QAAAF,QAAA,EACpCgD,MAAM,GACLE,UAAU,CAAC5D,KAAK,CAAC,gBAEjBQ,eAAA,CAACQ,UAAU,EAAA;AACTJ,UAAAA,SAAS,EAAC,wBAAwB;AAClC,UAAA,SAAA,EAAQ,gBAAgB;AACxB,UAAA,aAAA,EAAY,gBAAgB;AAC5BC,UAAAA,KAAK,EAAC,IAAI;AACVkC,UAAAA,MAAM,EAAC,UAAU;UAAArC,QAAA,EAAA,CAEhBV,KAAK,IAAI,CAAC,EACV2D,YAAY,GAAG,GAAG,GAAG,EAAE,CAAA;SACd,CAAA;AACb,OACE,CAAC,EACLF,QAAQ,iBACP9C,cAAA,CAAA,KAAA,EAAA;QAAAD,QAAA,eACEC,cAAA,CAAC0D,WAAW,EAAA;AAACC,UAAAA,WAAW,EAAEb,QAAAA;SAAW,CAAA;AAAC,OACnC,CACN,CAAA;AAAA,KACE,CAAC,eACN9C,cAAA,CAACK,UAAU,EAAA;AACTJ,MAAAA,SAAS,EAAC,wBAAwB;AAClC,MAAA,SAAA,EAAQ,eAAe;AACvBC,MAAAA,KAAK,EAAC,OAAO;AAAAH,MAAAA,QAAA,EAEZ8C,MAAAA;AAAM,KACG,CAAC,CAAA;AAAA,GACV,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,mBAAevC,aAAAA,UAAI,CAACsC,UAAU,CAAC;;AClD/B,IAAMgB,QAAQ,GAAG,SAAXA,QAAQA,CAAAhE,IAAA,EAQR;AAAA,EAAA,IAPJiE,YAAY,GAAAjE,IAAA,CAAZiE,YAAY;IACZC,SAAS,GAAAlE,IAAA,CAATkE,SAAS;IACTC,UAAU,GAAAnE,IAAA,CAAVmE,UAAU;IACVC,aAAa,GAAApE,IAAA,CAAboE,aAAa;IAAAC,cAAA,GAAArE,IAAA,CACbsE,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,cAAA;IAAAE,qBAAA,GAAAvE,IAAA,CACdwE,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAC1BlE,SAAS,GAAAL,IAAA,CAATK,SAAS,CAAA;AAET,EAAA,IAAA6B,eAAA,GAAcC,2BAAc,EAAE;IAAtB3C,CAAC,GAAA0C,eAAA,CAAD1C,CAAC,CAAA;AAET,EAAA,IACEiF,UAAU,GAQRR,YAAY,CARdQ,UAAU;IACVC,UAAU,GAORT,YAAY,CAPdS,UAAU;IACVC,eAAe,GAMbV,YAAY,CANdU,eAAe;IACfC,cAAc,GAKZX,YAAY,CALdW,cAAc;IACdC,qBAAqB,GAInBZ,YAAY,CAJdY,qBAAqB;IACrBC,OAAO,GAGLb,YAAY,CAHda,OAAO;IACPC,gBAAgB,GAEdd,YAAY,CAFdc,gBAAgB;IAChBC,QAAQ,GACNf,YAAY,CADde,QAAQ,CAAA;AAGV,EAAA,IAAId,SAAS,EAAE;AACb,IAAA,oBACE9D,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;AAAAF,MAAAA,QAAA,eAC7DC,cAAA,CAAC6E,OAAO,EAAE,EAAA,CAAA;AAAC,KACR,CAAC,CAAA;AAEV,GAAA;AAEA,EAAA,oBACEhF,eAAA,CAAA,KAAA,EAAA;AACEI,IAAAA,SAAS,EAAE6E,UAAU,CAAC,eAAe,EAAE7E,SAAS,CAAE;AAClD,IAAA,SAAA,EAAQ,UAAU;AAClB,IAAA,aAAA,EAAY,UAAU;AAAAF,IAAAA,QAAA,gBAEtBF,eAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,gCAAgC;MAAAF,QAAA,EAAA,cAC7CC,cAAA,CAACK,UAAU,EAAA;AAAC,QAAA,SAAA,EAAQ,4BAA4B;AAACH,QAAAA,KAAK,EAAC,IAAI;QAAAH,QAAA,EACxDX,CAAC,CAAC,+BAA+B,CAAA;AAAC,OACzB,CAAC,EACZgF,kBAAkB,iBACjBpE,cAAA,CAACqC,OAAO,EAAA;AACNC,QAAAA,OAAO,EAAElD,CAAC,CAAC,+CAA+C,CAAE;AAC5DoD,QAAAA,QAAQ,EAAC,QAAQ;AACjBuC,QAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAE;AAAAhF,QAAAA,QAAA,eAErBC,cAAA,CAAA,MAAA,EAAA;AAAMC,UAAAA,SAAS,EAAC,MAAM;UAAAF,QAAA,eACpBC,cAAA,CAACgF,OAAO,EAAA;AACN/E,YAAAA,SAAS,EAAC,2BAA2B;AACrC,YAAA,SAAA,EAAQ,kBAAkB;AAC1B,YAAA,aAAA,EAAY,kBAAkB;AAC9BgF,YAAAA,IAAI,EAAE,EAAA;WACP,CAAA;SACG,CAAA;OACC,CACV,eACDjF,cAAA,CAAA,MAAA,EAAA;AAAMC,QAAAA,SAAS,EAAC,SAAS;QAAAF,QAAA,eACvBC,cAAA,CAACkF,eAAe,EAAA;AAAOlB,UAAAA,aAAa,EAAbA,aAAa;AAAED,UAAAA,UAAU,EAAVA,UAAAA;SAAe,CAAA;AAAC,OAClD,CAAC,CAAA;KACJ,CAAC,eACNlE,eAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,8FAA8F;MAAAF,QAAA,EAAA,cAC3GC,cAAA,CAAC4C,YAAU,EAAA;AACTE,QAAAA,QAAQ,EAAEoB,SAAS,CAAC,YAAY,CAAE;AAClCrB,QAAAA,MAAM,EAAEzD,CAAC,CAAC,wCAAwC,CAAE;AACpDC,QAAAA,KAAK,EAAEgF,UAAAA;AAAW,OACnB,CAAC,eACFrE,cAAA,CAAC4C,YAAU,EAAA;AACTE,QAAAA,QAAQ,EAAEoB,SAAS,CAAC,YAAY,CAAE;AAClCrB,QAAAA,MAAM,EAAEzD,CAAC,CAAC,wCAAwC,CAAE;AACpDC,QAAAA,KAAK,EAAEiF,UAAAA;AAAW,OACnB,CAAC,eACFtE,cAAA,CAAC4C,YAAU,EAAA;AACTE,QAAAA,QAAQ,EAAEoB,SAAS,CAAC,aAAa,CAAE;AACnCrB,QAAAA,MAAM,EAAEzD,CAAC,CAAC,6CAA6C,CAAE;AACzDC,QAAAA,KAAK,EAAEkF,eAAAA;AAAgB,OACxB,CAAC,eACFvE,cAAA,CAAC4C,YAAU,EAAA;QACTI,YAAY,EAAA,IAAA;AACZF,QAAAA,QAAQ,EAAEoB,SAAS,CAAC,gBAAgB,CAAE;AACtCrB,QAAAA,MAAM,EAAEzD,CAAC,CAAC,gDAAgD,CAAE;AAC5DC,QAAAA,KAAK,EAAEmF,cAAAA;AAAe,OACvB,CAAC,eACFxE,cAAA,CAAC4C,YAAU,EAAA;QACTG,MAAM,EAAA,IAAA;AACND,QAAAA,QAAQ,EAAEoB,SAAS,CAAC,uBAAuB,CAAE;AAC7CrB,QAAAA,MAAM,EAAEzD,CAAC,CAAC,mDAAmD,CAAE;AAC/D+F,QAAAA,UAAU,EAAE/F,CAAC,CAAC,8BAA8B,CAAE;AAC9CC,QAAAA,KAAK,EAAEoF,qBAAAA;AAAsB,OAC9B,CAAC,CAAA;KACC,CAAC,eACN5E,eAAA,CAAA,KAAA,EAAA;AAAKI,MAAAA,SAAS,EAAC,sDAAsD;MAAAF,QAAA,EAAA,cACnEC,cAAA,CAAC4B,UAAQ,EAAA;AACPjB,QAAAA,IAAI,EAAE+D,OAAQ;AACdrD,QAAAA,YAAY,EAAEnC,eAAgB;QAC9B2C,IAAI,EAAEzC,CAAC,CAAC,iCAAiC,CAAA;AAAE,OAC5C,CAAC,eACFY,cAAA,CAAC4B,UAAQ,EAAA;AACPjB,QAAAA,IAAI,EAAEgE,gBAAiB;AACvBtD,QAAAA,YAAY,EAAE/B,UAAW;QACzBuC,IAAI,EAAEzC,CAAC,CAAC,4BAA4B,CAAA;AAAE,OACvC,CAAC,eACFY,cAAA,CAAC4B,UAAQ,EAAA;AACPjB,QAAAA,IAAI,EAAEiE,QAAS;AACfvD,QAAAA,YAAY,EAAE9B,gBAAiB;QAC/BsC,IAAI,EAAEzC,CAAC,CAAC,kCAAkC,CAAA;AAAE,OAC7C,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV;;;;"}
|
|
1
|
+
{"version":3,"file":"Insights.js","sources":["../../src/components/Insights/constants.js","../../src/components/Insights/MetaInfo/PercentageBar.jsx","../../src/components/Insights/MetaInfo/MetaInfoItem.jsx","../../src/components/Insights/MetaInfo/DataDistribution.jsx","../../src/components/Insights/utils.js","../../src/components/Insights/MetaInfo/index.jsx","../../src/components/Insights/TimeItem.jsx","../../src/components/Insights/MetricItem.jsx","../../src/components/Insights/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const DEFAULT_DEVICES = [\n {\n label: t(\"neetoMolecules.insights.labels.devices.desktop\"),\n value: \"desktop\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.devices.mobile\"),\n value: \"smartphone\",\n },\n];\n\nexport const DEFAULT_OS = [\n { label: t(\"neetoMolecules.insights.labels.os.macos\"), value: \"mac\" },\n {\n label: t(\"neetoMolecules.insights.labels.os.windows\"),\n value: \"windows\",\n },\n];\n\nexport const DEFAULT_BROWSERS = [\n {\n label: t(\"neetoMolecules.insights.labels.browsers.chrome\"),\n value: \"chrome\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.browsers.safari\"),\n value: \"safari\",\n },\n];\n\nexport const INITIAL_TIME_PERIOD_VALUE = {\n label: t(\"neetoMolecules.insights.labels.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n};\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst PercentageBar = ({ value }) => (\n <>\n {value !== 0 && (\n <div\n className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2\"\n style={{ width: `${value}%` }}\n />\n )}\n <Typography style=\"body3\">{value ? `${value}%` : 0}</Typography>\n </>\n);\n\nexport default memo(PercentageBar);\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport PercentageBar from \"./PercentageBar\";\n\nconst MetaInfoItem = ({ name, value }) => (\n <>\n <Typography style=\"body2\" textTransform=\"capitalize\">\n {name}\n </Typography>\n <div className=\"col-span-3 flex items-center gap-2\">\n <PercentageBar {...{ value }} />\n </div>\n </>\n);\n\nexport default memo(MetaInfoItem);\n","import MetaInfoItem from \"./MetaInfoItem\";\n\nconst DataDistribution = ({ data }) => (\n <div className=\"grid grid-cols-4 gap-2\">\n {data.map(({ name, value }) => (\n <MetaInfoItem {...{ name, value }} key={name} />\n ))}\n </div>\n);\n\nexport default DataDistribution;\n","import { existsBy } from \"neetocist\";\n\nconst getSum = (data, searchKey) => {\n let sum = 0;\n for (const key in data) {\n if (key.includes(searchKey)) sum += data[key];\n }\n\n return sum;\n};\n\nexport const transformInsights = (data, defaultItems) => {\n const othersData = Object.keys(data)\n .filter(key => !existsBy({ value: key }, defaultItems))\n .map(key => ({ name: key, value: data[key] }));\n\n const defaultData = defaultItems.map(({ label, value }) => ({\n name: label,\n value: getSum(data, value) || 0,\n }));\n\n return { defaultData, othersData };\n};\n","import { memo } from \"react\";\n\nimport { Tooltip, Typography } from \"neetoui\";\nimport { pluck, sum, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DataDistribution from \"./DataDistribution\";\nimport MetaInfoItem from \"./MetaInfoItem\";\n\nimport { transformInsights } from \"../utils\";\n\nconst MetaInfo = ({ type, data, defaultItems }) => {\n const { t } = useTranslation();\n const { defaultData, othersData } = transformInsights(data, defaultItems);\n\n const othersSum = sum(values(pluck(\"value\", othersData)));\n\n return (\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\">\n <Typography\n className=\"mb-2\"\n style=\"body2\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {type}\n </Typography>\n <DataDistribution data={defaultData} />\n <Tooltip\n content={<DataDistribution data={othersData} />}\n disabled={!othersSum}\n position=\"bottom\"\n >\n <div className=\"mt-2 grid grid-cols-4 gap-2\">\n <MetaInfoItem\n name={t(\"neetoMolecules.insights.others\")}\n value={othersSum}\n />\n </div>\n </Tooltip>\n </div>\n );\n};\n\nexport default memo(MetaInfo);\n","import { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst TimeItem = ({ value, suffix }) => (\n <div className=\"flex items-end\" data-testid=\"time-item\">\n <Typography className=\"mr-1\" style=\"h1\" weight=\"semibold\">\n {value}\n </Typography>\n <Typography lineHeight=\"loose\" style=\"body2\">\n {suffix}\n </Typography>\n </div>\n);\n\nexport default memo(TimeItem);\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport TimeItem from \"./TimeItem\";\n\nconst MetricItem = ({ metric, value, helpText, isTime, isPercentage }) => {\n const renderTime = value => {\n const { h: hours, m: minutes, s: seconds } = value;\n const showSeconds = !hours && !minutes;\n\n return (\n <div className=\"flex gap-2\">\n {!!hours && <TimeItem suffix=\"H\" value={hours} />}\n {!!minutes && <TimeItem suffix=\"M\" value={minutes} />}\n {(!!seconds || showSeconds) && <TimeItem suffix=\"S\" value={seconds} />}\n </div>\n );\n };\n\n return (\n <div\n className=\"nf-insights__metric-item neeto-ui-border-gray-200 border-b pb-4\"\n data-cy={`${hyphenate(metric)}-metric`}\n >\n <div className=\"flex items-center gap-2\">\n <div className=\"flex items-end gap-x-1\">\n {isTime ? (\n renderTime(value)\n ) : (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n data-cy=\"insights-count\"\n data-testid=\"insights-count\"\n style=\"h1\"\n weight=\"semibold\"\n >\n {value || 0}\n {isPercentage ? \"%\" : \"\"}\n </Typography>\n )}\n </div>\n {helpText && (\n <div>\n <HelpPopover description={helpText} />\n </div>\n )}\n </div>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"insights-type\"\n style=\"body3\"\n >\n {metric}\n </Typography>\n </div>\n );\n};\n\nexport default memo(MetricItem);\n","import classNames from \"classnames\";\nimport { Warning } from \"neetoicons\";\nimport { Tooltip, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DateRangeFilter from \"components/DateRangeFilter\";\n\nimport { DEFAULT_DEVICES, DEFAULT_BROWSERS, DEFAULT_OS } from \"./constants\";\nimport MetaInfo from \"./MetaInfo\";\nimport MetricItem from \"./MetricItem\";\n\nconst Insights = ({\n insightsData,\n isLoading,\n timePeriod,\n setTimePeriod,\n helpTexts = {},\n showWarningMessage = false,\n className,\n title,\n tooltipProps = {},\n}) => {\n const { t } = useTranslation();\n\n const {\n visitCount,\n startCount,\n submissionCount,\n completionRate,\n averageSubmissionTime,\n devices,\n operatingSystems,\n browsers,\n } = insightsData;\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"mx-auto pt-10\", className)}\n data-cy=\"insights\"\n data-testid=\"insights\"\n >\n <div className=\"mb-10 flex w-full items-center\">\n <Typography data-cy=\"submissions-insights-title\" style=\"h2\">\n {title || t(\"neetoMolecules.insights.title\")}\n </Typography>\n {showWarningMessage && (\n <Tooltip\n content={t(\"neetoMolecules.insights.dataInaccuracyWarning\")}\n position=\"bottom\"\n touch={[\"hold\", 500]}\n {...tooltipProps}\n >\n <span className=\"ml-3\">\n <Warning\n className=\"neeto-ui-text-warning-500\"\n data-cy=\"insights-warning\"\n data-testid=\"insights-warning\"\n size={20}\n />\n </span>\n </Tooltip>\n )}\n <span className=\"ml-auto\">\n <DateRangeFilter {...{ setTimePeriod, timePeriod }} />\n </span>\n </div>\n <div className=\"mb-6 grid grid-cols-1 gap-x-9 gap-y-6 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 lg:gap-0\">\n <MetricItem\n helpText={helpTexts[\"visitCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.visits\")}\n value={visitCount}\n />\n <MetricItem\n helpText={helpTexts[\"startCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.starts\")}\n value={startCount}\n />\n <MetricItem\n helpText={helpTexts[\"submissions\"]}\n metric={t(\"neetoMolecules.insights.metrics.submissions\")}\n value={submissionCount}\n />\n <MetricItem\n isPercentage\n helpText={helpTexts[\"completionRate\"]}\n metric={t(\"neetoMolecules.insights.metrics.completionRate\")}\n value={completionRate}\n />\n <MetricItem\n isTime\n helpText={helpTexts[\"averageSubmissionTime\"]}\n metric={t(\"neetoMolecules.insights.metrics.avgTimeToComplete\")}\n timeSuffix={t(\"neetoMolecules.insights.mins\")}\n value={averageSubmissionTime}\n />\n </div>\n <div className=\"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3\">\n <MetaInfo\n data={devices}\n defaultItems={DEFAULT_DEVICES}\n type={t(\"neetoMolecules.insights.devices\")}\n />\n <MetaInfo\n data={operatingSystems}\n defaultItems={DEFAULT_OS}\n type={t(\"neetoMolecules.insights.os\")}\n />\n <MetaInfo\n data={browsers}\n defaultItems={DEFAULT_BROWSERS}\n type={t(\"neetoMolecules.insights.browsers\")}\n />\n </div>\n </div>\n );\n};\n\nInsights.propTypes = {\n /**\n * Title displayed for the Insights component.\n */\n title: PropTypes.string,\n /**\n * Props for the tooltip displayed on the warning icon.\n */\n tooltipProps: PropTypes.object,\n /**\n * Object containing metrics and statistics for insights\n */\n insightsData: PropTypes.shape({\n visitCount: PropTypes.number,\n startCount: PropTypes.number,\n submissionCount: PropTypes.number,\n completionRate: PropTypes.number,\n averageSubmissionTime: PropTypes.shape({\n h: PropTypes.number,\n m: PropTypes.number,\n s: PropTypes.number,\n }),\n devices: PropTypes.shape({\n desktop: PropTypes.number,\n smartphone: PropTypes.number,\n }),\n operatingSystems: PropTypes.shape({\n mac: PropTypes.number,\n windows: PropTypes.number,\n }),\n browsers: PropTypes.shape({\n chrome: PropTypes.number,\n safari: PropTypes.number,\n }),\n }),\n /**\n * Indicates whether insights data is currently being fetched from an API\n */\n isLoading: PropTypes.bool,\n /**\n * The state corresponding to the currently selected date range.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * Object containing explanatory text for each metric, providing additional context that can help users understand the significance of the metrics displayed.\n */\n helpTexts: PropTypes.shape({\n visitCount: PropTypes.string,\n startCount: PropTypes.string,\n submissions: PropTypes.string,\n completionRate: PropTypes.string,\n averageSubmissionTime: PropTypes.string,\n }),\n /**\n * Displays a warning to indicate that the insights may not be accurate, as the insights integration occurred after the record's creation.\n */\n showWarningMessage: PropTypes.bool,\n /**\n * To provide additional classes.\n */\n className: PropTypes.string,\n};\n\nexport default Insights;\n"],"names":["DEFAULT_DEVICES","label","t","value","DEFAULT_OS","DEFAULT_BROWSERS","startDate","endDate","rangeType","PercentageBar","_ref","_jsxs","_Fragment","children","_jsx","className","style","width","concat","Typography","memo","MetaInfoItem","name","textTransform","DataDistribution","data","map","_ref2","_createElement","key","getSum","searchKey","sum","includes","transformInsights","defaultItems","othersData","Object","keys","filter","existsBy","defaultData","MetaInfo","type","_useTranslation","useTranslation","_transformInsights","othersSum","values","pluck","weight","Tooltip","content","disabled","position","TimeItem","suffix","lineHeight","MetricItem","metric","helpText","isTime","isPercentage","renderTime","hours","h","minutes","m","seconds","s","showSeconds","hyphenate","HelpPopover","description","Insights","insightsData","isLoading","timePeriod","setTimePeriod","_ref$helpTexts","helpTexts","_ref$showWarningMessa","showWarningMessage","title","_ref$tooltipProps","tooltipProps","visitCount","startCount","submissionCount","completionRate","averageSubmissionTime","devices","operatingSystems","browsers","Spinner","classNames","_objectSpread","touch","Warning","size","DateRangeFilter","timeSuffix"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "3.15.
|
|
3
|
+
"version": "3.15.12",
|
|
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>",
|
package/types/BoardView.d.ts
CHANGED
|
@@ -136,6 +136,7 @@ declare const BoardView: React.FC<{
|
|
|
136
136
|
renderItemOverlay: (args: ItemArgs) => React.ReactNode;
|
|
137
137
|
onMoveSection?: (source: SectionArgs, destination: SectionArgs) => void;
|
|
138
138
|
onMoveItem?: (source: ItemArgs, destination: ItemArgs) => void;
|
|
139
|
+
className?: string;
|
|
139
140
|
}> & {
|
|
140
141
|
Section: React.FC<{
|
|
141
142
|
ref?: React.Ref<HTMLDivElement>;
|
package/types/Insights.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TooltipProps } from '@bigbinary/neetoui';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
|
|
3
4
|
interface Time {
|
|
@@ -98,6 +99,8 @@ interface HelpTexts {
|
|
|
98
99
|
*
|
|
99
100
|
*/
|
|
100
101
|
declare const Insights: React.FC<{
|
|
102
|
+
title?: string;
|
|
103
|
+
tooltipProps?: Partial<TooltipProps>;
|
|
101
104
|
insightsData: InsightsData;
|
|
102
105
|
isLoading: boolean;
|
|
103
106
|
timePeriod: TimePeriod;
|