@speakapbv/dough-component-library 9.28.2 → 9.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,5 +39,6 @@ export interface DropMenuProps {
39
39
  overlaySelector?: string;
40
40
  customClickHandler?: (e: MouseEvent) => void;
41
41
  alwaysTop?: boolean;
42
+ desktopOnly?: boolean;
42
43
  }
43
44
  export declare const DropMenu: React.ForwardRefExoticComponent<DropMenuProps & React.RefAttributes<DoughDropMenuRef>>;
package/dist/index.es.js CHANGED
@@ -1326,16 +1326,17 @@ var generateUID = function () {
1326
1326
  ("000" + secondPart.toString(36)).slice(-3));
1327
1327
  };
1328
1328
 
1329
- var css_248z$b = "/* COLORS */\n/* Typography*/\n/*Dennis should provide medium font size*/\n.dough-drop-area-wrapper {\n position: fixed;\n background-color: rgba(0, 0, 0, 0);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n width: auto;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n opacity: 0;\n transform-origin: center center;\n font-family: \"Roboto\", sans-serif;\n}\nbody:not(.no-transition) .dough-drop-area-wrapper {\n transition: opacity 350ms cubic-bezier(0.25, 1, 0, 1);\n}\nbody.no-transition .dough-drop-area-wrapper {\n transition: none 0ms linear !important;\n transition-delay: 0ms !important;\n}\n.dough-drop-area-wrapper > .dough-drop-area-container {\n pointer-events: fill;\n max-height: calc(80vh - 16px);\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n background-color: rgb(255, 255, 255);\n background-color: var(--dough-color-theme);\n box-sizing: border-box;\n border-radius: 12px;\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1), 0px 1px 4px 0px rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow {\n pointer-events: none;\n position: absolute;\n z-index: 50;\n width: 32px !important;\n height: 16px !important;\n margin-top: -16px;\n overflow: hidden;\n min-width: initial !important;\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow:before {\n content: \"\";\n background-color: rgb(255, 255, 255);\n background-color: var(--dough-color-theme);\n position: absolute;\n top: 8px;\n left: 4px;\n z-index: 10;\n width: 16px;\n height: 16px;\n transform: translate3d(0, 0, 0) rotateZ(45deg);\n box-shadow: 0 24px 10px 0 rgba(0, 0, 0, 0.07), 0 1px 4px 0 rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow.to-up {\n margin-top: initial;\n margin-bottom: -16px;\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow.to-up:before {\n top: -8px;\n box-shadow: 0 -24px 10px 0 rgba(0, 0, 0, 0.07), 0 1px 4px 0 rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow,\n.dough-drop-area-wrapper > .dough-drop-area-container {\n transform: translate3d(0, -4px, 0);\n}\nbody:not(.no-transition) .dough-drop-area-wrapper > .dough-drop-area-arrow,\nbody:not(.no-transition) .dough-drop-area-wrapper > .dough-drop-area-container {\n transition: transform 250ms cubic-bezier(0.25, 1, 0, 1);\n}\nbody.no-transition .dough-drop-area-wrapper > .dough-drop-area-arrow,\nbody.no-transition .dough-drop-area-wrapper > .dough-drop-area-container {\n transition: none 0ms linear !important;\n transition-delay: 0ms !important;\n}\n.dough-drop-area-wrapper.visible {\n opacity: 1;\n}\n.dough-drop-area-wrapper.visible > .dough-drop-area-arrow,\n.dough-drop-area-wrapper.visible > .dough-drop-area-container {\n transform: translate3d(0, 0, 0) !important;\n}\n\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper.visible {\n pointer-events: all;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper > .dough-drop-area-arrow {\n display: none !important;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper > .dough-drop-area-container {\n position: absolute;\n top: initial !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 2;\n width: 100% !important;\n height: auto !important;\n min-height: 1vh !important;\n max-height: 85vh !important;\n box-shadow: 0 -2px 20px 0 rgba(0, 0, 0, 0.1);\n transform: translate3d(0, 20vh, 0);\n border-radius: 0;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper.visible {\n background-color: rgba(0, 0, 0, 0.4);\n}\n\n@media only screen and (max-width: 576px) {\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper.visible {\n pointer-events: all;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper > .dough-drop-area-arrow {\n display: none !important;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper > .dough-drop-area-container {\n position: absolute;\n top: initial !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 2;\n width: 100% !important;\n height: auto !important;\n min-height: 1vh !important;\n max-height: 85vh !important;\n box-shadow: 0 -2px 20px 0 rgba(0, 0, 0, 0.1);\n transform: translate3d(0, 20vh, 0);\n border-radius: 0;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper.visible {\n background-color: rgba(0, 0, 0, 0.4);\n }\n}";
1329
+ var css_248z$b = "/* COLORS */\n/* Typography*/\n/*Dennis should provide medium font size*/\n.dough-drop-area-wrapper {\n position: fixed;\n background-color: rgba(0, 0, 0, 0);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n width: auto;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n opacity: 0;\n transform-origin: center center;\n font-family: \"Roboto\", sans-serif;\n}\nbody:not(.no-transition) .dough-drop-area-wrapper {\n transition: opacity 350ms cubic-bezier(0.25, 1, 0, 1);\n}\nbody.no-transition .dough-drop-area-wrapper {\n transition: none 0ms linear !important;\n transition-delay: 0ms !important;\n}\n.dough-drop-area-wrapper > .dough-drop-area-container {\n pointer-events: fill;\n max-height: calc(80vh - 16px);\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n background-color: rgb(255, 255, 255);\n background-color: var(--dough-color-theme);\n box-sizing: border-box;\n border-radius: 12px;\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1), 0px 1px 4px 0px rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow {\n pointer-events: none;\n position: absolute;\n z-index: 50;\n width: 32px !important;\n height: 16px !important;\n margin-top: -16px;\n overflow: hidden;\n min-width: initial !important;\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow:before {\n content: \"\";\n background-color: rgb(255, 255, 255);\n background-color: var(--dough-color-theme);\n position: absolute;\n top: 8px;\n left: 4px;\n z-index: 10;\n width: 16px;\n height: 16px;\n transform: translate3d(0, 0, 0) rotateZ(45deg);\n box-shadow: 0 24px 10px 0 rgba(0, 0, 0, 0.07), 0 1px 4px 0 rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow.to-up {\n margin-top: initial;\n margin-bottom: -16px;\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow.to-up:before {\n top: -8px;\n box-shadow: 0 -24px 10px 0 rgba(0, 0, 0, 0.07), 0 1px 4px 0 rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow,\n.dough-drop-area-wrapper > .dough-drop-area-container {\n transform: translate3d(0, -4px, 0);\n}\nbody:not(.no-transition) .dough-drop-area-wrapper > .dough-drop-area-arrow,\nbody:not(.no-transition) .dough-drop-area-wrapper > .dough-drop-area-container {\n transition: transform 250ms cubic-bezier(0.25, 1, 0, 1);\n}\nbody.no-transition .dough-drop-area-wrapper > .dough-drop-area-arrow,\nbody.no-transition .dough-drop-area-wrapper > .dough-drop-area-container {\n transition: none 0ms linear !important;\n transition-delay: 0ms !important;\n}\n.dough-drop-area-wrapper.visible {\n opacity: 1;\n}\n.dough-drop-area-wrapper.visible > .dough-drop-area-arrow,\n.dough-drop-area-wrapper.visible > .dough-drop-area-container {\n transform: translate3d(0, 0, 0) !important;\n}\n\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper:not(.desktop-only).visible {\n pointer-events: all;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper:not(.desktop-only) > .dough-drop-area-arrow {\n display: none !important;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper:not(.desktop-only) > .dough-drop-area-container {\n position: absolute;\n top: initial !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 2;\n width: 100% !important;\n height: auto !important;\n min-height: 1vh !important;\n max-height: 85vh !important;\n box-shadow: 0 -2px 20px 0 rgba(0, 0, 0, 0.1);\n transform: translate3d(0, 20vh, 0);\n border-radius: 0;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper:not(.desktop-only).visible {\n background-color: rgba(0, 0, 0, 0.4);\n}\n\n@media only screen and (max-width: 576px) {\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper:not(.desktop-only).visible {\n pointer-events: all;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper:not(.desktop-only) > .dough-drop-area-arrow {\n display: none !important;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper:not(.desktop-only) > .dough-drop-area-container {\n position: absolute;\n top: initial !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 2;\n width: 100% !important;\n height: auto !important;\n min-height: 1vh !important;\n max-height: 85vh !important;\n box-shadow: 0 -2px 20px 0 rgba(0, 0, 0, 0.1);\n transform: translate3d(0, 20vh, 0);\n border-radius: 0;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper:not(.desktop-only).visible {\n background-color: rgba(0, 0, 0, 0.4);\n }\n}";
1330
1330
  styleInject(css_248z$b);
1331
1331
 
1332
1332
  var TOP_MARGIN = 4;
1333
1333
  var TOUP = "to-up";
1334
1334
  var TODOWN = "to-down";
1335
1335
  var DropArea = function (props) {
1336
- var _a = props.rightShift, rightShift = _a === void 0 ? 0 : _a, _b = props.topShift, topShift = _b === void 0 ? 0 : _b, _c = props.closeOnClickOutside, closeOnClickOutside = _c === void 0 ? true : _c, _d = props.closeOnEscape, closeOnEscape = _d === void 0 ? true : _d;
1336
+ var _a;
1337
+ var _b = props.rightShift, rightShift = _b === void 0 ? 0 : _b, _c = props.topShift, topShift = _c === void 0 ? 0 : _c, _d = props.closeOnClickOutside, closeOnClickOutside = _d === void 0 ? true : _d, _e = props.closeOnEscape, closeOnEscape = _e === void 0 ? true : _e, _f = props.desktopOnly, desktopOnly = _f === void 0 ? false : _f;
1337
1338
  var scrollLockId = useState(generateUID)[0];
1338
- var _e = useState(null), showDropArea = _e[0], setShowDropArea = _e[1];
1339
+ var _g = useState(null), showDropArea = _g[0], setShowDropArea = _g[1];
1339
1340
  var dropAreaWrapperRef = useRef(null);
1340
1341
  var dropAreaArrowRef = useRef(null);
1341
1342
  var dropAreaContainerRef = useRef(null);
@@ -1521,7 +1522,9 @@ var DropArea = function (props) {
1521
1522
  };
1522
1523
  }, [props.show]);
1523
1524
  return (React.createElement(React.Fragment, null, showDropArea &&
1524
- createPortal(React.createElement("div", { ref: dropAreaWrapperRef, className: cn("dough-drop-area-wrapper"), onClick: function (e) {
1525
+ createPortal(React.createElement("div", { ref: dropAreaWrapperRef, className: cn("dough-drop-area-wrapper", (_a = {},
1526
+ _a["desktop-only"] = desktopOnly,
1527
+ _a)), onClick: function (e) {
1525
1528
  if (e.target &&
1526
1529
  e.target.classList.contains("dough-drop-area-wrapper")) {
1527
1530
  cancelEvent(e);
@@ -1539,7 +1542,7 @@ var css_248z$c = "/* COLORS */\n/* Typography*/\n/*Dennis should provide medium
1539
1542
  styleInject(css_248z$c);
1540
1543
 
1541
1544
  var DropMenu = forwardRef(function (_a, ref) {
1542
- var _b = _a.alignIconRight, alignIconRight = _b === void 0 ? false : _b, _c = _a.color, color = _c === void 0 ? Colors.TRANSPARENT : _c, _d = _a.closeOnClickOutside, closeOnClickOutside = _d === void 0 ? true : _d, _e = _a.closeOnEscape, closeOnEscape = _e === void 0 ? true : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.showCaret, showCaret = _g === void 0 ? true : _g, _h = _a.rightShift, rightShift = _h === void 0 ? 0 : _h, _j = _a.topShift, topShift = _j === void 0 ? 0 : _j, _k = _a.shadow, shadow = _k === void 0 ? false : _k, _l = _a.show, show = _l === void 0 ? false : _l, _m = _a.rounded, rounded = _m === void 0 ? true : _m, _o = _a.icon, icon = _o === void 0 ? React.createElement(EllipsisVIcon, null) : _o, _p = _a.size, size = _p === void 0 ? Sizes.SMALL : _p, _q = _a.innerButtonSize, innerButtonSize = _q === void 0 ? Sizes.NORMAL : _q, ButtonComponent = _a.ButtonComponent, className = _a.className, onOpen = _a.onOpen, onClose = _a.onClose, children = _a.children, asInvisibleLine = _a.asInvisibleLine, alignFromRight = _a.alignFromRight, alignToCenter = _a.alignToCenter, dataAttributes = _a.dataAttributes, padding = _a.padding, label = _a.label, fullWidth = _a.fullWidth, strictToReferenceWidth = _a.strictToReferenceWidth, buttonClassName = _a.buttonClassName, overlaySelector = _a.overlaySelector, overlayWidth = _a.overlayWidth, customClickHandler = _a.customClickHandler, alwaysTop = _a.alwaysTop;
1545
+ var _b = _a.alignIconRight, alignIconRight = _b === void 0 ? false : _b, _c = _a.color, color = _c === void 0 ? Colors.TRANSPARENT : _c, _d = _a.closeOnClickOutside, closeOnClickOutside = _d === void 0 ? true : _d, _e = _a.closeOnEscape, closeOnEscape = _e === void 0 ? true : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.showCaret, showCaret = _g === void 0 ? true : _g, _h = _a.rightShift, rightShift = _h === void 0 ? 0 : _h, _j = _a.topShift, topShift = _j === void 0 ? 0 : _j, _k = _a.shadow, shadow = _k === void 0 ? false : _k, _l = _a.show, show = _l === void 0 ? false : _l, _m = _a.rounded, rounded = _m === void 0 ? true : _m, _o = _a.icon, icon = _o === void 0 ? React.createElement(EllipsisVIcon, null) : _o, _p = _a.size, size = _p === void 0 ? Sizes.SMALL : _p, _q = _a.innerButtonSize, innerButtonSize = _q === void 0 ? Sizes.NORMAL : _q, ButtonComponent = _a.ButtonComponent, className = _a.className, onOpen = _a.onOpen, onClose = _a.onClose, children = _a.children, asInvisibleLine = _a.asInvisibleLine, alignFromRight = _a.alignFromRight, alignToCenter = _a.alignToCenter, dataAttributes = _a.dataAttributes, padding = _a.padding, label = _a.label, fullWidth = _a.fullWidth, strictToReferenceWidth = _a.strictToReferenceWidth, buttonClassName = _a.buttonClassName, overlaySelector = _a.overlaySelector, overlayWidth = _a.overlayWidth, customClickHandler = _a.customClickHandler, alwaysTop = _a.alwaysTop, desktopOnly = _a.desktopOnly;
1543
1546
  var componentRef = useRef(null);
1544
1547
  var _r = useState(false), showDropArea = _r[0], setShowDropArea = _r[1];
1545
1548
  var openDropArea = function (e) {
@@ -1637,7 +1640,7 @@ var DropMenu = forwardRef(function (_a, ref) {
1637
1640
  "dough-dropmenu-full-width": fullWidth,
1638
1641
  }), ref: componentRef }, dataAttributes),
1639
1642
  asInvisibleLine !== true && renderButtonComponent(),
1640
- React.createElement(DropArea, { overlaySelector: overlaySelector, rightShift: rightShift, topShift: topShift, alignFromRight: alignFromRight, alignToCenter: alignToCenter, closeOnClickOutside: closeOnClickOutside, closeOnEscape: closeOnEscape, onHide: closeDropArea, referenceElement: componentRef, show: showDropArea, showCaret: showCaret, strictToReferenceWidth: strictToReferenceWidth, alwaysTop: alwaysTop, width: overlayWidth || "auto" },
1643
+ React.createElement(DropArea, { overlaySelector: overlaySelector, rightShift: rightShift, topShift: topShift, alignFromRight: alignFromRight, alignToCenter: alignToCenter, closeOnClickOutside: closeOnClickOutside, closeOnEscape: closeOnEscape, onHide: closeDropArea, referenceElement: componentRef, show: showDropArea, showCaret: showCaret, strictToReferenceWidth: strictToReferenceWidth, alwaysTop: alwaysTop, desktopOnly: desktopOnly, width: overlayWidth || "auto" },
1641
1644
  React.createElement(LayoutContainer, { className: cn("dough-drop-menu-buttons-container", className), layoutType: Direction.VERTICAL, dataAttributes: dataAttributes }, getButtons()))));
1642
1645
  });
1643
1646
  DropMenu.displayName = "DropMenu";
package/dist/index.js CHANGED
@@ -1311,16 +1311,17 @@ var generateUID = function () {
1311
1311
  ("000" + secondPart.toString(36)).slice(-3));
1312
1312
  };
1313
1313
 
1314
- var css_248z$b = "/* COLORS */\n/* Typography*/\n/*Dennis should provide medium font size*/\n.dough-drop-area-wrapper {\n position: fixed;\n background-color: rgba(0, 0, 0, 0);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n width: auto;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n opacity: 0;\n transform-origin: center center;\n font-family: \"Roboto\", sans-serif;\n}\nbody:not(.no-transition) .dough-drop-area-wrapper {\n transition: opacity 350ms cubic-bezier(0.25, 1, 0, 1);\n}\nbody.no-transition .dough-drop-area-wrapper {\n transition: none 0ms linear !important;\n transition-delay: 0ms !important;\n}\n.dough-drop-area-wrapper > .dough-drop-area-container {\n pointer-events: fill;\n max-height: calc(80vh - 16px);\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n background-color: rgb(255, 255, 255);\n background-color: var(--dough-color-theme);\n box-sizing: border-box;\n border-radius: 12px;\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1), 0px 1px 4px 0px rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow {\n pointer-events: none;\n position: absolute;\n z-index: 50;\n width: 32px !important;\n height: 16px !important;\n margin-top: -16px;\n overflow: hidden;\n min-width: initial !important;\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow:before {\n content: \"\";\n background-color: rgb(255, 255, 255);\n background-color: var(--dough-color-theme);\n position: absolute;\n top: 8px;\n left: 4px;\n z-index: 10;\n width: 16px;\n height: 16px;\n transform: translate3d(0, 0, 0) rotateZ(45deg);\n box-shadow: 0 24px 10px 0 rgba(0, 0, 0, 0.07), 0 1px 4px 0 rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow.to-up {\n margin-top: initial;\n margin-bottom: -16px;\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow.to-up:before {\n top: -8px;\n box-shadow: 0 -24px 10px 0 rgba(0, 0, 0, 0.07), 0 1px 4px 0 rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow,\n.dough-drop-area-wrapper > .dough-drop-area-container {\n transform: translate3d(0, -4px, 0);\n}\nbody:not(.no-transition) .dough-drop-area-wrapper > .dough-drop-area-arrow,\nbody:not(.no-transition) .dough-drop-area-wrapper > .dough-drop-area-container {\n transition: transform 250ms cubic-bezier(0.25, 1, 0, 1);\n}\nbody.no-transition .dough-drop-area-wrapper > .dough-drop-area-arrow,\nbody.no-transition .dough-drop-area-wrapper > .dough-drop-area-container {\n transition: none 0ms linear !important;\n transition-delay: 0ms !important;\n}\n.dough-drop-area-wrapper.visible {\n opacity: 1;\n}\n.dough-drop-area-wrapper.visible > .dough-drop-area-arrow,\n.dough-drop-area-wrapper.visible > .dough-drop-area-container {\n transform: translate3d(0, 0, 0) !important;\n}\n\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper.visible {\n pointer-events: all;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper > .dough-drop-area-arrow {\n display: none !important;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper > .dough-drop-area-container {\n position: absolute;\n top: initial !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 2;\n width: 100% !important;\n height: auto !important;\n min-height: 1vh !important;\n max-height: 85vh !important;\n box-shadow: 0 -2px 20px 0 rgba(0, 0, 0, 0.1);\n transform: translate3d(0, 20vh, 0);\n border-radius: 0;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper.visible {\n background-color: rgba(0, 0, 0, 0.4);\n}\n\n@media only screen and (max-width: 576px) {\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper.visible {\n pointer-events: all;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper > .dough-drop-area-arrow {\n display: none !important;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper > .dough-drop-area-container {\n position: absolute;\n top: initial !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 2;\n width: 100% !important;\n height: auto !important;\n min-height: 1vh !important;\n max-height: 85vh !important;\n box-shadow: 0 -2px 20px 0 rgba(0, 0, 0, 0.1);\n transform: translate3d(0, 20vh, 0);\n border-radius: 0;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper.visible {\n background-color: rgba(0, 0, 0, 0.4);\n }\n}";
1314
+ var css_248z$b = "/* COLORS */\n/* Typography*/\n/*Dennis should provide medium font size*/\n.dough-drop-area-wrapper {\n position: fixed;\n background-color: rgba(0, 0, 0, 0);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n width: auto;\n height: auto;\n overflow: hidden;\n pointer-events: none;\n opacity: 0;\n transform-origin: center center;\n font-family: \"Roboto\", sans-serif;\n}\nbody:not(.no-transition) .dough-drop-area-wrapper {\n transition: opacity 350ms cubic-bezier(0.25, 1, 0, 1);\n}\nbody.no-transition .dough-drop-area-wrapper {\n transition: none 0ms linear !important;\n transition-delay: 0ms !important;\n}\n.dough-drop-area-wrapper > .dough-drop-area-container {\n pointer-events: fill;\n max-height: calc(80vh - 16px);\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n background-color: rgb(255, 255, 255);\n background-color: var(--dough-color-theme);\n box-sizing: border-box;\n border-radius: 12px;\n box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1), 0px 1px 4px 0px rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow {\n pointer-events: none;\n position: absolute;\n z-index: 50;\n width: 32px !important;\n height: 16px !important;\n margin-top: -16px;\n overflow: hidden;\n min-width: initial !important;\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow:before {\n content: \"\";\n background-color: rgb(255, 255, 255);\n background-color: var(--dough-color-theme);\n position: absolute;\n top: 8px;\n left: 4px;\n z-index: 10;\n width: 16px;\n height: 16px;\n transform: translate3d(0, 0, 0) rotateZ(45deg);\n box-shadow: 0 24px 10px 0 rgba(0, 0, 0, 0.07), 0 1px 4px 0 rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow.to-up {\n margin-top: initial;\n margin-bottom: -16px;\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow.to-up:before {\n top: -8px;\n box-shadow: 0 -24px 10px 0 rgba(0, 0, 0, 0.07), 0 1px 4px 0 rgba(0, 0, 0, 0.2);\n}\n.dough-drop-area-wrapper > .dough-drop-area-arrow,\n.dough-drop-area-wrapper > .dough-drop-area-container {\n transform: translate3d(0, -4px, 0);\n}\nbody:not(.no-transition) .dough-drop-area-wrapper > .dough-drop-area-arrow,\nbody:not(.no-transition) .dough-drop-area-wrapper > .dough-drop-area-container {\n transition: transform 250ms cubic-bezier(0.25, 1, 0, 1);\n}\nbody.no-transition .dough-drop-area-wrapper > .dough-drop-area-arrow,\nbody.no-transition .dough-drop-area-wrapper > .dough-drop-area-container {\n transition: none 0ms linear !important;\n transition-delay: 0ms !important;\n}\n.dough-drop-area-wrapper.visible {\n opacity: 1;\n}\n.dough-drop-area-wrapper.visible > .dough-drop-area-arrow,\n.dough-drop-area-wrapper.visible > .dough-drop-area-container {\n transform: translate3d(0, 0, 0) !important;\n}\n\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper:not(.desktop-only).visible {\n pointer-events: all;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper:not(.desktop-only) > .dough-drop-area-arrow {\n display: none !important;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper:not(.desktop-only) > .dough-drop-area-container {\n position: absolute;\n top: initial !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 2;\n width: 100% !important;\n height: auto !important;\n min-height: 1vh !important;\n max-height: 85vh !important;\n box-shadow: 0 -2px 20px 0 rgba(0, 0, 0, 0.1);\n transform: translate3d(0, 20vh, 0);\n border-radius: 0;\n}\nbody:not(.dough-no-viewport-control) .dough-max-viewport-size-small .dough-drop-area-wrapper:not(.desktop-only).visible {\n background-color: rgba(0, 0, 0, 0.4);\n}\n\n@media only screen and (max-width: 576px) {\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper:not(.desktop-only).visible {\n pointer-events: all;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper:not(.desktop-only) > .dough-drop-area-arrow {\n display: none !important;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper:not(.desktop-only) > .dough-drop-area-container {\n position: absolute;\n top: initial !important;\n bottom: 0 !important;\n left: 0 !important;\n z-index: 2;\n width: 100% !important;\n height: auto !important;\n min-height: 1vh !important;\n max-height: 85vh !important;\n box-shadow: 0 -2px 20px 0 rgba(0, 0, 0, 0.1);\n transform: translate3d(0, 20vh, 0);\n border-radius: 0;\n }\n body:not(.dough-no-viewport-control) .dough-drop-area-wrapper:not(.desktop-only).visible {\n background-color: rgba(0, 0, 0, 0.4);\n }\n}";
1315
1315
  styleInject(css_248z$b);
1316
1316
 
1317
1317
  var TOP_MARGIN = 4;
1318
1318
  var TOUP = "to-up";
1319
1319
  var TODOWN = "to-down";
1320
1320
  var DropArea = function (props) {
1321
- var _a = props.rightShift, rightShift = _a === void 0 ? 0 : _a, _b = props.topShift, topShift = _b === void 0 ? 0 : _b, _c = props.closeOnClickOutside, closeOnClickOutside = _c === void 0 ? true : _c, _d = props.closeOnEscape, closeOnEscape = _d === void 0 ? true : _d;
1321
+ var _a;
1322
+ var _b = props.rightShift, rightShift = _b === void 0 ? 0 : _b, _c = props.topShift, topShift = _c === void 0 ? 0 : _c, _d = props.closeOnClickOutside, closeOnClickOutside = _d === void 0 ? true : _d, _e = props.closeOnEscape, closeOnEscape = _e === void 0 ? true : _e, _f = props.desktopOnly, desktopOnly = _f === void 0 ? false : _f;
1322
1323
  var scrollLockId = React.useState(generateUID)[0];
1323
- var _e = React.useState(null), showDropArea = _e[0], setShowDropArea = _e[1];
1324
+ var _g = React.useState(null), showDropArea = _g[0], setShowDropArea = _g[1];
1324
1325
  var dropAreaWrapperRef = React.useRef(null);
1325
1326
  var dropAreaArrowRef = React.useRef(null);
1326
1327
  var dropAreaContainerRef = React.useRef(null);
@@ -1506,7 +1507,9 @@ var DropArea = function (props) {
1506
1507
  };
1507
1508
  }, [props.show]);
1508
1509
  return (React__default.createElement(React__default.Fragment, null, showDropArea &&
1509
- reactDom.createPortal(React__default.createElement("div", { ref: dropAreaWrapperRef, className: cn("dough-drop-area-wrapper"), onClick: function (e) {
1510
+ reactDom.createPortal(React__default.createElement("div", { ref: dropAreaWrapperRef, className: cn("dough-drop-area-wrapper", (_a = {},
1511
+ _a["desktop-only"] = desktopOnly,
1512
+ _a)), onClick: function (e) {
1510
1513
  if (e.target &&
1511
1514
  e.target.classList.contains("dough-drop-area-wrapper")) {
1512
1515
  cancelEvent(e);
@@ -1524,7 +1527,7 @@ var css_248z$c = "/* COLORS */\n/* Typography*/\n/*Dennis should provide medium
1524
1527
  styleInject(css_248z$c);
1525
1528
 
1526
1529
  var DropMenu = React.forwardRef(function (_a, ref) {
1527
- var _b = _a.alignIconRight, alignIconRight = _b === void 0 ? false : _b, _c = _a.color, color = _c === void 0 ? exports.Colors.TRANSPARENT : _c, _d = _a.closeOnClickOutside, closeOnClickOutside = _d === void 0 ? true : _d, _e = _a.closeOnEscape, closeOnEscape = _e === void 0 ? true : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.showCaret, showCaret = _g === void 0 ? true : _g, _h = _a.rightShift, rightShift = _h === void 0 ? 0 : _h, _j = _a.topShift, topShift = _j === void 0 ? 0 : _j, _k = _a.shadow, shadow = _k === void 0 ? false : _k, _l = _a.show, show = _l === void 0 ? false : _l, _m = _a.rounded, rounded = _m === void 0 ? true : _m, _o = _a.icon, icon = _o === void 0 ? React__default.createElement(EllipsisVIcon, null) : _o, _p = _a.size, size = _p === void 0 ? exports.Sizes.SMALL : _p, _q = _a.innerButtonSize, innerButtonSize = _q === void 0 ? exports.Sizes.NORMAL : _q, ButtonComponent = _a.ButtonComponent, className = _a.className, onOpen = _a.onOpen, onClose = _a.onClose, children = _a.children, asInvisibleLine = _a.asInvisibleLine, alignFromRight = _a.alignFromRight, alignToCenter = _a.alignToCenter, dataAttributes = _a.dataAttributes, padding = _a.padding, label = _a.label, fullWidth = _a.fullWidth, strictToReferenceWidth = _a.strictToReferenceWidth, buttonClassName = _a.buttonClassName, overlaySelector = _a.overlaySelector, overlayWidth = _a.overlayWidth, customClickHandler = _a.customClickHandler, alwaysTop = _a.alwaysTop;
1530
+ var _b = _a.alignIconRight, alignIconRight = _b === void 0 ? false : _b, _c = _a.color, color = _c === void 0 ? exports.Colors.TRANSPARENT : _c, _d = _a.closeOnClickOutside, closeOnClickOutside = _d === void 0 ? true : _d, _e = _a.closeOnEscape, closeOnEscape = _e === void 0 ? true : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.showCaret, showCaret = _g === void 0 ? true : _g, _h = _a.rightShift, rightShift = _h === void 0 ? 0 : _h, _j = _a.topShift, topShift = _j === void 0 ? 0 : _j, _k = _a.shadow, shadow = _k === void 0 ? false : _k, _l = _a.show, show = _l === void 0 ? false : _l, _m = _a.rounded, rounded = _m === void 0 ? true : _m, _o = _a.icon, icon = _o === void 0 ? React__default.createElement(EllipsisVIcon, null) : _o, _p = _a.size, size = _p === void 0 ? exports.Sizes.SMALL : _p, _q = _a.innerButtonSize, innerButtonSize = _q === void 0 ? exports.Sizes.NORMAL : _q, ButtonComponent = _a.ButtonComponent, className = _a.className, onOpen = _a.onOpen, onClose = _a.onClose, children = _a.children, asInvisibleLine = _a.asInvisibleLine, alignFromRight = _a.alignFromRight, alignToCenter = _a.alignToCenter, dataAttributes = _a.dataAttributes, padding = _a.padding, label = _a.label, fullWidth = _a.fullWidth, strictToReferenceWidth = _a.strictToReferenceWidth, buttonClassName = _a.buttonClassName, overlaySelector = _a.overlaySelector, overlayWidth = _a.overlayWidth, customClickHandler = _a.customClickHandler, alwaysTop = _a.alwaysTop, desktopOnly = _a.desktopOnly;
1528
1531
  var componentRef = React.useRef(null);
1529
1532
  var _r = React.useState(false), showDropArea = _r[0], setShowDropArea = _r[1];
1530
1533
  var openDropArea = function (e) {
@@ -1622,7 +1625,7 @@ var DropMenu = React.forwardRef(function (_a, ref) {
1622
1625
  "dough-dropmenu-full-width": fullWidth,
1623
1626
  }), ref: componentRef }, dataAttributes),
1624
1627
  asInvisibleLine !== true && renderButtonComponent(),
1625
- React__default.createElement(DropArea, { overlaySelector: overlaySelector, rightShift: rightShift, topShift: topShift, alignFromRight: alignFromRight, alignToCenter: alignToCenter, closeOnClickOutside: closeOnClickOutside, closeOnEscape: closeOnEscape, onHide: closeDropArea, referenceElement: componentRef, show: showDropArea, showCaret: showCaret, strictToReferenceWidth: strictToReferenceWidth, alwaysTop: alwaysTop, width: overlayWidth || "auto" },
1628
+ React__default.createElement(DropArea, { overlaySelector: overlaySelector, rightShift: rightShift, topShift: topShift, alignFromRight: alignFromRight, alignToCenter: alignToCenter, closeOnClickOutside: closeOnClickOutside, closeOnEscape: closeOnEscape, onHide: closeDropArea, referenceElement: componentRef, show: showDropArea, showCaret: showCaret, strictToReferenceWidth: strictToReferenceWidth, alwaysTop: alwaysTop, desktopOnly: desktopOnly, width: overlayWidth || "auto" },
1626
1629
  React__default.createElement(LayoutContainer, { className: cn("dough-drop-menu-buttons-container", className), layoutType: exports.Direction.VERTICAL, dataAttributes: dataAttributes }, getButtons()))));
1627
1630
  });
1628
1631
  DropMenu.displayName = "DropMenu";
@@ -17,6 +17,7 @@ export interface DropAreaProps {
17
17
  topShift?: number;
18
18
  overlaySelector?: string;
19
19
  alwaysTop?: boolean;
20
+ desktopOnly?: boolean;
20
21
  }
21
22
  export declare const DropArea: {
22
23
  (props: DropAreaProps): JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speakapbv/dough-component-library",
3
- "version": "9.28.2",
3
+ "version": "9.29.0",
4
4
  "description": "DOUGH: Speakap React Component Library",
5
5
  "author": "Speakap",
6
6
  "license": "MIT",