@moda/om 21.5.1 → 21.6.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.
package/dist/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { useContext, useState, createContext, forwardRef, useRef, useCallback, useEffect, useMemo, Fragment, PureComponent, Children, isValidElement, cloneElement, useReducer } from 'react';
3
- import { Link, Prompt } from 'react-router-dom';
3
+ import { Link } from 'react-router-dom';
4
4
  import { createPortal } from 'react-dom';
5
5
 
6
6
  function getDefaultExportFromCjs (x) {
@@ -371,7 +371,7 @@ function requireColors() {
371
371
  "tuscany": "rgb(186, 83, 44)",
372
372
  "klein-blue": "rgb(38, 48, 120)",
373
373
  "persian-blue": "rgb(30, 34, 170)",
374
- "brick": "rgb(147, 58, 32)",
374
+ "brick": "rgb(158, 48, 57)",
375
375
  "goldenrod": "rgb(186, 145, 46)",
376
376
  "seafoam": "rgb(177, 191, 170)",
377
377
  "coral": "rgb(255, 146, 121)",
@@ -401,7 +401,7 @@ function requireColors() {
401
401
  "global": {
402
402
  "klein-blue": "rgb(38, 48, 120)",
403
403
  "persian-blue": "rgb(30, 34, 170)",
404
- "brick": "rgb(147, 58, 32)",
404
+ "brick": "rgb(158, 48, 57)",
405
405
  "goldenrod": "rgb(186, 145, 46)",
406
406
  "seafoam": "rgb(177, 191, 170)",
407
407
  "coral": "rgb(255, 146, 121)"
@@ -1360,11 +1360,6 @@ var States = function States(_ref) {
1360
1360
  }));
1361
1361
  };
1362
1362
 
1363
- var preventNavigation = function preventNavigation(event) {
1364
- event.preventDefault();
1365
- event.returnValue = '';
1366
- };
1367
-
1368
1363
  /******************************************************************************
1369
1364
  Copyright (c) Microsoft Corporation.
1370
1365
 
@@ -5518,14 +5513,18 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
5518
5513
  };
5519
5514
 
5520
5515
  var _excluded$B = ["className", "styleless", "disabled"];
5516
+
5517
+ // Define minimal LinkProps that work with both v5 and v7
5518
+ // Using Omit to remove conflicting HTML attributes, then add router-specific props
5519
+
5521
5520
  var isLink = function isLink(props) {
5522
5521
  return 'to' in props;
5523
5522
  };
5524
5523
  var isAnchor = function isAnchor(props) {
5525
- return 'href' in props;
5524
+ return 'href' in props && !('to' in props);
5526
5525
  };
5527
5526
  var isButton = function isButton(props) {
5528
- return !('href' in props);
5527
+ return !('href' in props) && !('to' in props);
5529
5528
  };
5530
5529
  var Clickable = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
5531
5530
  var className = _ref.className,
@@ -5533,16 +5532,23 @@ var Clickable = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
5533
5532
  styleless = _ref$styleless === void 0 ? false : _ref$styleless,
5534
5533
  disabled = _ref.disabled,
5535
5534
  rest = _objectWithoutProperties(_ref, _excluded$B);
5535
+ var baseClassName = classNames({
5536
+ Clickable: !styleless,
5537
+ 'Clickable--disabled': disabled
5538
+ }, className);
5539
+ if (isLink(rest)) {
5540
+ // Link doesn't support disabled prop, but we handle it via CSS class
5541
+ return /*#__PURE__*/React__default.createElement(Link, _extends$1({}, rest, {
5542
+ className: baseClassName,
5543
+ ref: ref
5544
+ }));
5545
+ }
5546
+
5547
+ // For anchor and button, include the disabled prop
5536
5548
  var props = _objectSpread2(_objectSpread2({}, rest), {}, {
5537
- className: classNames({
5538
- Clickable: !styleless,
5539
- 'Clickable--disabled': disabled
5540
- }, className),
5549
+ className: baseClassName,
5541
5550
  disabled: disabled
5542
5551
  });
5543
- if (isLink(props)) return /*#__PURE__*/React__default.createElement(Link, _extends$1({}, props, {
5544
- ref: ref
5545
- }));
5546
5552
  if (isAnchor(props)) return /*#__PURE__*/React__default.createElement("a", _extends$1({}, props, {
5547
5553
  ref: ref
5548
5554
  }));
@@ -6046,6 +6052,8 @@ var keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/_
6046
6052
  * @example
6047
6053
  *
6048
6054
  * R.type({}); //=> "Object"
6055
+ * R.type(new Map); //=> "Map"
6056
+ * R.type(new Set); //=> "Set"
6049
6057
  * R.type(1); //=> "Number"
6050
6058
  * R.type(false); //=> "Boolean"
6051
6059
  * R.type('s'); //=> "String"
@@ -7196,16 +7204,17 @@ var omit = /*#__PURE__*/_curry2(function omit(names, obj) {
7196
7204
  * @example
7197
7205
  *
7198
7206
  * R.range(1, 5); //=> [1, 2, 3, 4]
7199
- * R.range(50, 53); //=> [50, 51, 52]
7207
+ * R.range(1, 5.5); //=> [1, 2, 3, 4, 5]
7208
+ * R.range(1.5, 5.5); //=> [1.5, 2.5, 3.5, 4.5]
7200
7209
  */
7201
7210
  var range = /*#__PURE__*/_curry2(function range(from, to) {
7202
7211
  if (!(_isNumber(from) && _isNumber(to))) {
7203
7212
  throw new TypeError('Both arguments to range must be numbers');
7204
7213
  }
7205
- var result = Array(from < to ? to - from : 0);
7206
- var finish = from < 0 ? to + Math.abs(from) : to - from;
7214
+ var length = from < to ? Math.ceil(to - from) : 0;
7215
+ var result = Array(length);
7207
7216
  var idx = 0;
7208
- while (idx < finish) {
7217
+ while (idx < length) {
7209
7218
  result[idx] = idx + from;
7210
7219
  idx += 1;
7211
7220
  }
@@ -11188,12 +11197,14 @@ var Divider = function Divider(_ref) {
11188
11197
  var defaultFamily = type === 'two-line' ? undefined : 'serif';
11189
11198
  return /*#__PURE__*/React__default.createElement("div", _extends$1({
11190
11199
  className: classNames('Divider', type ? "Divider--".concat(type) : '', className)
11200
+ }, rest), /*#__PURE__*/React__default.createElement("div", _extends$1({
11201
+ className: classNames('Divider__content', type ? "Divider__content--".concat(type) : '', className)
11191
11202
  }, rest), text && /*#__PURE__*/React__default.createElement(Text, {
11192
11203
  className: "Divider__text",
11193
11204
  treatment: treatment !== null && treatment !== void 0 ? treatment : defaultTreatment,
11194
11205
  color: color,
11195
11206
  family: family !== null && family !== void 0 ? family : defaultFamily
11196
- }, text));
11207
+ }, text)));
11197
11208
  };
11198
11209
 
11199
11210
  var TwoLineDivider = function TwoLineDivider(props) {
@@ -12007,30 +12018,6 @@ var LoadingShapesLavenderBlue = function LoadingShapesLavenderBlue() {
12007
12018
  }));
12008
12019
  };
12009
12020
 
12010
- var usePreventNavigation = function usePreventNavigation() {
12011
- var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
12012
- useEffect(function () {
12013
- if (enabled) {
12014
- window.addEventListener('beforeunload', preventNavigation);
12015
- return function () {
12016
- return window.removeEventListener('beforeunload', preventNavigation);
12017
- };
12018
- }
12019
- }, [enabled]);
12020
- };
12021
-
12022
- var NavigationPreventer = function NavigationPreventer(_ref) {
12023
- var _ref$enabled = _ref.enabled,
12024
- enabled = _ref$enabled === void 0 ? false : _ref$enabled,
12025
- _ref$message = _ref.message,
12026
- message = _ref$message === void 0 ? 'Changes that you made may not be saved.' : _ref$message;
12027
- usePreventNavigation(enabled);
12028
- return /*#__PURE__*/React__default.createElement(Prompt, {
12029
- when: enabled,
12030
- message: message
12031
- });
12032
- };
12033
-
12034
12021
  var __assign$1 = undefined && undefined.__assign || function () {
12035
12022
  __assign$1 = Object.assign || function (t) {
12036
12023
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -12511,35 +12498,23 @@ var SlidingPane = function SlidingPane(_ref) {
12511
12498
  }, children))));
12512
12499
  };
12513
12500
 
12514
- var _excluded$4 = ["tabs", "onTabClicked", "defaultActiveTab", "activeTab", "className"];
12515
- var Tabs = function Tabs(_ref) {
12516
- var tabs = _ref.tabs,
12517
- onTabClicked = _ref.onTabClicked,
12518
- defaultActiveTab = _ref.defaultActiveTab,
12519
- activeTab = _ref.activeTab,
12520
- className = _ref.className,
12521
- rest = _objectWithoutProperties(_ref, _excluded$4);
12522
- var _useState = useState(activeTab || defaultActiveTab || tabs[0].name),
12523
- _useState2 = _slicedToArray(_useState, 2),
12524
- activePanel = _useState2[0],
12525
- setActivePanel = _useState2[1];
12526
- var handleTabClick = function handleTabClick(tabName) {
12527
- if (!activeTab) setActivePanel(tabName);
12528
- if (onTabClicked) onTabClicked(tabName);
12529
- };
12530
- useEffect(function () {
12531
- if (activeTab) setActivePanel(activeTab);
12532
- }, [activeTab]);
12533
- return /*#__PURE__*/React__default.createElement("div", _extends$1({
12534
- className: classNames('Tabs', className)
12535
- }, rest), /*#__PURE__*/React__default.createElement(TabList, {
12536
- tabs: tabs,
12537
- onTabSelected: handleTabClick,
12538
- activePanel: activePanel
12539
- }), /*#__PURE__*/React__default.createElement(TabPanels, {
12540
- panels: tabs,
12541
- activePanel: activePanel
12542
- }));
12501
+ var Tab = function Tab(_ref) {
12502
+ var tab = _ref.tab,
12503
+ onTabChosen = _ref.onTabChosen,
12504
+ activeTab = _ref.activeTab;
12505
+ var handleClick = useCallback(function () {
12506
+ return onTabChosen(tab.name);
12507
+ }, [tab.name, onTabChosen]);
12508
+ var handleKeyDown = useCallback(function (event) {
12509
+ if (event.key === 'Enter') {
12510
+ handleClick();
12511
+ }
12512
+ }, [handleClick]);
12513
+ return /*#__PURE__*/React__default.createElement(Clickable, {
12514
+ className: "Tab ".concat(activeTab === tab.name ? 'Tab--active' : ''),
12515
+ onClick: handleClick,
12516
+ onKeyDown: handleKeyDown
12517
+ }, tab.title);
12543
12518
  };
12544
12519
 
12545
12520
  var TabList = function TabList(_ref) {
@@ -12558,23 +12533,11 @@ var TabList = function TabList(_ref) {
12558
12533
  }));
12559
12534
  };
12560
12535
 
12561
- var Tab = function Tab(_ref) {
12562
- var tab = _ref.tab,
12563
- onTabChosen = _ref.onTabChosen,
12564
- activeTab = _ref.activeTab;
12565
- var handleClick = useCallback(function () {
12566
- return onTabChosen(tab.name);
12567
- }, [tab.name, onTabChosen]);
12568
- var handleKeyDown = useCallback(function (event) {
12569
- if (event.key === 'Enter') {
12570
- handleClick();
12571
- }
12572
- }, [handleClick]);
12573
- return /*#__PURE__*/React__default.createElement(Clickable, {
12574
- className: "Tab ".concat(activeTab === tab.name ? 'Tab--active' : ''),
12575
- onClick: handleClick,
12576
- onKeyDown: handleKeyDown
12577
- }, tab.title);
12536
+ var TabPanel = function TabPanel(_ref) {
12537
+ var children = _ref.children;
12538
+ return /*#__PURE__*/React__default.createElement("div", {
12539
+ className: "TabPanel"
12540
+ }, children);
12578
12541
  };
12579
12542
 
12580
12543
  var TabPanels = function TabPanels(_ref) {
@@ -12591,11 +12554,35 @@ var TabPanels = function TabPanels(_ref) {
12591
12554
  }));
12592
12555
  };
12593
12556
 
12594
- var TabPanel = function TabPanel(_ref) {
12595
- var children = _ref.children;
12596
- return /*#__PURE__*/React__default.createElement("div", {
12597
- className: "TabPanel"
12598
- }, children);
12557
+ var _excluded$4 = ["tabs", "onTabClicked", "defaultActiveTab", "activeTab", "className"];
12558
+ var Tabs = function Tabs(_ref) {
12559
+ var tabs = _ref.tabs,
12560
+ onTabClicked = _ref.onTabClicked,
12561
+ defaultActiveTab = _ref.defaultActiveTab,
12562
+ activeTab = _ref.activeTab,
12563
+ className = _ref.className,
12564
+ rest = _objectWithoutProperties(_ref, _excluded$4);
12565
+ var _useState = useState(activeTab || defaultActiveTab || tabs[0].name),
12566
+ _useState2 = _slicedToArray(_useState, 2),
12567
+ activePanel = _useState2[0],
12568
+ setActivePanel = _useState2[1];
12569
+ var handleTabClick = function handleTabClick(tabName) {
12570
+ if (!activeTab) setActivePanel(tabName);
12571
+ if (onTabClicked) onTabClicked(tabName);
12572
+ };
12573
+ useEffect(function () {
12574
+ if (activeTab) setActivePanel(activeTab);
12575
+ }, [activeTab]);
12576
+ return /*#__PURE__*/React__default.createElement("div", _extends$1({
12577
+ className: classNames('Tabs', className)
12578
+ }, rest), /*#__PURE__*/React__default.createElement(TabList, {
12579
+ tabs: tabs,
12580
+ onTabSelected: handleTabClick,
12581
+ activePanel: activePanel
12582
+ }), /*#__PURE__*/React__default.createElement(TabPanels, {
12583
+ panels: tabs,
12584
+ activePanel: activePanel
12585
+ }));
12599
12586
  };
12600
12587
 
12601
12588
  var _excluded$3 = ["className", "disabled", "onRemove", "children"];
@@ -12687,4 +12674,4 @@ var Utilities = {
12687
12674
  States: States
12688
12675
  };
12689
12676
 
12690
- export { ArcWindow, AspectRatioBox, Badge, Bradley, Brancusi, Breadcrumb, Breadcrumbs, Breakpoint, BreakpointContext, BreakpointProvider, Button, Checkbox, Circle, Clickable, ColorSwatch, ConfirmProvider, Constrain, ControlLink, CreditCardNumberInput, DEFAULT_PRODUCT_ASPECT_HEIGHT, DEFAULT_PRODUCT_ASPECT_RATIO, DEFAULT_PRODUCT_ASPECT_WIDTH, DefinitionList, Dialog, Diamond, Divider, ExceedConstrain, Expandable, Field, FocusOn, Field as Input, Keyhole, Label, LineAboveDivider, Loading, LoadingBalls, LoadingItems1, LoadingItems2, LoadingItems3, LoadingItems4, LoadingItems5, LoadingItemsLavenderBlue1, LoadingItemsLavenderBlue2, LoadingItemsLavenderBlue3, LoadingItemsLavenderBlue4, LoadingItemsLavenderBlue5, LoadingShapes, LoadingShapesLavenderBlue, LoadingShapesPinkGreen, Mirror, Modal, ModalOverlay, MultiSelect, NavigationPreventer, NoLineDivider, Oval, Overlay, POPOVER_MOUSEOUT_DELAY_MS, Paginator, PasswordInput, Popover, PromoBanner, RadioButton, SKU_COLORS, SearchInput, Select, SelectableButton, SlidingPane, Stack, Tab, TabList, TabPanel, TabPanels, Tabs, Tag, Text, TextInput, Textarea, Toast, Triangle, TwoLineDivider, UNMOUNT_DELAY_MS, Utilities, VerticalDivider, Window, discriminate, tokens, useBreakpoint, useClickOutside, useConfirm, useKeyboardListNavigation, usePreventNavigation, useUpdateEffect };
12677
+ export { ArcWindow, AspectRatioBox, Badge, Bradley, Brancusi, Breadcrumb, Breadcrumbs, Breakpoint, BreakpointContext, BreakpointProvider, Button, Checkbox, Circle, Clickable, ColorSwatch, ConfirmProvider, Constrain, ControlLink, CreditCardNumberInput, DEFAULT_PRODUCT_ASPECT_HEIGHT, DEFAULT_PRODUCT_ASPECT_RATIO, DEFAULT_PRODUCT_ASPECT_WIDTH, DefinitionList, Dialog, Diamond, Divider, ExceedConstrain, Expandable, Field, FocusOn, Field as Input, Keyhole, Label, LineAboveDivider, Loading, LoadingBalls, LoadingItems1, LoadingItems2, LoadingItems3, LoadingItems4, LoadingItems5, LoadingItemsLavenderBlue1, LoadingItemsLavenderBlue2, LoadingItemsLavenderBlue3, LoadingItemsLavenderBlue4, LoadingItemsLavenderBlue5, LoadingShapes, LoadingShapesLavenderBlue, LoadingShapesPinkGreen, Mirror, Modal, ModalOverlay, MultiSelect, NoLineDivider, Oval, Overlay, POPOVER_MOUSEOUT_DELAY_MS, Paginator, PasswordInput, Popover, PromoBanner, RadioButton, SKU_COLORS, SearchInput, Select, SelectableButton, SlidingPane, Stack, Tab, TabList, TabPanel, TabPanels, Tabs, Tag, Text, TextInput, Textarea, Toast, Triangle, TwoLineDivider, UNMOUNT_DELAY_MS, Utilities, VerticalDivider, Window, discriminate, tokens, useBreakpoint, useClickOutside, useConfirm, useKeyboardListNavigation, useUpdateEffect };