@react-fabric/core 1.0.0-beta.0 → 1.0.0-beta.11

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.
Files changed (157) hide show
  1. package/css/index.js +13 -13
  2. package/dist/cjs/components/actionLabel/ActionLabel.js +1 -0
  3. package/dist/cjs/components/animations/Animations.js +13 -6
  4. package/dist/cjs/components/avatar/Avatar.js +6 -7
  5. package/dist/cjs/components/badge/Badge.js +6 -4
  6. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +2 -2
  7. package/dist/cjs/components/button/Button.js +9 -7
  8. package/dist/cjs/components/button/Button.module.css +1 -1
  9. package/dist/cjs/components/button/ConfirmButton.js +4 -2
  10. package/dist/cjs/components/callout/Callout.js +3 -2
  11. package/dist/cjs/components/card/Card.js +4 -2
  12. package/dist/cjs/components/chip/Chip.js +2 -2
  13. package/dist/cjs/components/chip/Chip.module.css +1 -1
  14. package/dist/cjs/components/collapsable/Collapsable.js +5 -3
  15. package/dist/cjs/components/divider/Divider.js +3 -2
  16. package/dist/cjs/components/divider/Divider.module.css +1 -0
  17. package/dist/cjs/components/dropdown/Dropdown.js +3 -1
  18. package/dist/cjs/components/dropdown/DropdownTool.js +4 -2
  19. package/dist/cjs/components/icon/Icon.js +8 -7
  20. package/dist/cjs/components/menu/ContextMenu.js +30 -10
  21. package/dist/cjs/components/menu/Menu.js +1 -1
  22. package/dist/cjs/components/menu/MenuItem.js +1 -1
  23. package/dist/cjs/components/navigator/Navigator.js +15 -9
  24. package/dist/cjs/components/panel/Panel.js +2 -0
  25. package/dist/cjs/components/tabpanel/Tab.js +55 -36
  26. package/dist/cjs/components/tabpanel/TabPanel.js +18 -13
  27. package/dist/cjs/components/tabpanel/TabPanel.module.css +1 -1
  28. package/dist/cjs/core/aside/Aside.js +7 -2
  29. package/dist/cjs/core/content/Content.js +8 -5
  30. package/dist/cjs/core/headfoot/HeadFoot.js +1 -1
  31. package/dist/cjs/core/headfoot/HeadFoot.module.css +1 -1
  32. package/dist/cjs/core/page/Page.js +1 -0
  33. package/dist/cjs/core/section/Section.js +5 -2
  34. package/dist/cjs/hooks/useNavigator.js +6 -4
  35. package/dist/cjs/index.js +4 -2
  36. package/dist/cjs/overlays/alert/Alert.js +38 -16
  37. package/dist/cjs/overlays/modal/Modal.js +1 -1
  38. package/dist/cjs/overlays/tooltip/Tooltip.js +2 -2
  39. package/dist/cjs/overlays/tooltip/Tooltip.module.css +1 -1
  40. package/dist/cjs/types/icons.js +3 -0
  41. package/dist/cjs/typography/Abbr.js +2 -0
  42. package/dist/cjs/typography/{Link.js → Anchor.js} +2 -2
  43. package/dist/cjs/typography/Typography.module.css +1 -1
  44. package/dist/esm/components/actionLabel/ActionLabel.js +1 -0
  45. package/dist/esm/components/animations/Animations.js +13 -6
  46. package/dist/esm/components/avatar/Avatar.js +7 -8
  47. package/dist/esm/components/badge/Badge.js +7 -5
  48. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +2 -2
  49. package/dist/esm/components/button/Button.js +9 -7
  50. package/dist/esm/components/button/Button.module.css +1 -1
  51. package/dist/esm/components/button/ConfirmButton.js +4 -2
  52. package/dist/esm/components/callout/Callout.js +3 -2
  53. package/dist/esm/components/card/Card.js +4 -2
  54. package/dist/esm/components/chip/Chip.js +2 -2
  55. package/dist/esm/components/chip/Chip.module.css +1 -1
  56. package/dist/esm/components/collapsable/Collapsable.js +5 -3
  57. package/dist/esm/components/divider/Divider.js +3 -2
  58. package/dist/esm/components/divider/Divider.module.css +1 -0
  59. package/dist/esm/components/dropdown/Dropdown.js +3 -1
  60. package/dist/esm/components/dropdown/DropdownTool.js +4 -2
  61. package/dist/esm/components/icon/Icon.js +8 -7
  62. package/dist/esm/components/menu/ContextMenu.js +32 -12
  63. package/dist/esm/components/menu/Menu.js +1 -1
  64. package/dist/esm/components/menu/MenuItem.js +1 -1
  65. package/dist/esm/components/navigator/Navigator.js +15 -9
  66. package/dist/esm/components/panel/Panel.js +2 -0
  67. package/dist/esm/components/tabpanel/Tab.js +56 -37
  68. package/dist/esm/components/tabpanel/TabPanel.js +18 -13
  69. package/dist/esm/components/tabpanel/TabPanel.module.css +1 -1
  70. package/dist/esm/core/aside/Aside.js +7 -2
  71. package/dist/esm/core/content/Content.js +8 -5
  72. package/dist/esm/core/headfoot/HeadFoot.js +1 -1
  73. package/dist/esm/core/headfoot/HeadFoot.module.css +1 -1
  74. package/dist/esm/core/page/Page.js +1 -0
  75. package/dist/esm/core/section/Section.js +5 -2
  76. package/dist/esm/hooks/useNavigator.js +7 -5
  77. package/dist/esm/index.js +3 -2
  78. package/dist/esm/overlays/alert/Alert.js +27 -5
  79. package/dist/esm/overlays/modal/Modal.js +1 -1
  80. package/dist/esm/overlays/tooltip/Tooltip.js +2 -2
  81. package/dist/esm/overlays/tooltip/Tooltip.module.css +1 -1
  82. package/dist/esm/types/icons.js +3 -0
  83. package/dist/esm/typography/Abbr.js +2 -0
  84. package/dist/esm/typography/{Link.js → Anchor.js} +2 -2
  85. package/dist/esm/typography/Typography.module.css +1 -1
  86. package/dist/types/components/actionLabel/ActionLabel.d.ts +2 -2
  87. package/dist/types/components/animations/Animations.d.ts +1 -1
  88. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +2 -2
  89. package/dist/types/components/button/Button.d.ts +5 -2
  90. package/dist/types/components/button/ConfirmButton.d.ts +6 -1
  91. package/dist/types/components/callout/Callout.d.ts +3 -3
  92. package/dist/types/components/card/Card.d.ts +3 -3
  93. package/dist/types/components/collapsable/Collapsable.d.ts +9 -1
  94. package/dist/types/components/dropdown/DropdownTool.d.ts +2 -1
  95. package/dist/types/components/index.d.ts +1 -1
  96. package/dist/types/components/media/Media.d.ts +2 -2
  97. package/dist/types/components/menu/ContextMenu.d.ts +2 -1
  98. package/dist/types/components/menu/types.d.ts +2 -2
  99. package/dist/types/components/navigator/Navigator.d.ts +3 -3
  100. package/dist/types/components/tabpanel/Tab.d.ts +8 -4
  101. package/dist/types/components/tabpanel/TabPanel.d.ts +10 -1
  102. package/dist/types/core/aside/Aside.d.ts +9 -5
  103. package/dist/types/core/content/Content.d.ts +3 -2
  104. package/dist/types/core/section/Section.d.ts +2 -2
  105. package/dist/types/overlays/alert/Alert.d.ts +9 -1
  106. package/dist/types/overlays/modal/Modal.d.ts +1 -1
  107. package/dist/types/types/icons.d.ts +3 -0
  108. package/dist/types/types/index.d.ts +6 -2
  109. package/dist/types/typography/Abbr.d.ts +3 -3
  110. package/dist/types/typography/{Link.d.ts → Anchor.d.ts} +4 -3
  111. package/dist/types/typography/index.d.ts +1 -1
  112. package/package.json +3 -3
  113. package/src/components/actionLabel/ActionLabel.tsx +13 -3
  114. package/src/components/animations/Animations.tsx +9 -3
  115. package/src/components/avatar/Avatar.tsx +68 -81
  116. package/src/components/badge/Badge.tsx +24 -20
  117. package/src/components/breadcrumbs/Breadcrumbs.tsx +3 -3
  118. package/src/components/button/Button.module.css +1 -1
  119. package/src/components/button/Button.tsx +16 -10
  120. package/src/components/button/ConfirmButton.tsx +10 -4
  121. package/src/components/callout/Callout.tsx +8 -1
  122. package/src/components/card/Card.tsx +4 -0
  123. package/src/components/chip/Chip.module.css +1 -1
  124. package/src/components/chip/Chip.tsx +2 -4
  125. package/src/components/collapsable/Collapsable.tsx +12 -1
  126. package/src/components/divider/Divider.module.css +32 -0
  127. package/src/components/divider/Divider.tsx +3 -2
  128. package/src/components/dropdown/Dropdown.tsx +2 -0
  129. package/src/components/dropdown/DropdownTool.tsx +4 -1
  130. package/src/components/icon/Icon.tsx +46 -57
  131. package/src/components/index.ts +1 -0
  132. package/src/components/media/Media.tsx +2 -2
  133. package/src/components/menu/ContextMenu.tsx +36 -11
  134. package/src/components/menu/Menu.tsx +2 -2
  135. package/src/components/menu/types.ts +2 -2
  136. package/src/components/navigator/Navigator.tsx +16 -4
  137. package/src/components/panel/Panel.tsx +2 -0
  138. package/src/components/tabpanel/Tab.tsx +78 -59
  139. package/src/components/tabpanel/TabPanel.module.css +19 -26
  140. package/src/components/tabpanel/TabPanel.tsx +32 -10
  141. package/src/core/aside/Aside.tsx +26 -4
  142. package/src/core/content/Content.tsx +16 -10
  143. package/src/core/headfoot/HeadFoot.module.css +2 -0
  144. package/src/core/headfoot/HeadFoot.tsx +1 -1
  145. package/src/core/page/Page.tsx +1 -0
  146. package/src/core/section/Section.tsx +8 -2
  147. package/src/hooks/useNavigator.tsx +10 -5
  148. package/src/overlays/alert/Alert.tsx +25 -2
  149. package/src/overlays/modal/Modal.tsx +2 -2
  150. package/src/overlays/tooltip/Tooltip.module.css +1 -1
  151. package/src/overlays/tooltip/Tooltip.tsx +3 -3
  152. package/src/types/icons.ts +6 -0
  153. package/src/types/index.ts +10 -2
  154. package/src/typography/Abbr.tsx +4 -3
  155. package/src/typography/{Link.tsx → Anchor.tsx} +6 -3
  156. package/src/typography/Typography.module.css +2 -2
  157. package/src/typography/index.ts +1 -1
package/css/index.js CHANGED
@@ -190,7 +190,7 @@ module.exports = plugin(
190
190
  cardpulse: {
191
191
  "50%": { opacity: 0.5 },
192
192
  },
193
- progress: {
193
+ bgprogress: {
194
194
  "0%": {
195
195
  "background-position-x": 0,
196
196
  },
@@ -201,7 +201,7 @@ module.exports = plugin(
201
201
  },
202
202
  animation: {
203
203
  pulse: "cardpulse 2s cubic-bezier(.4,0,.6,1) infinite",
204
- progress: "progress 750ms linear infinite",
204
+ progress: "bgprogress 750ms linear infinite",
205
205
  },
206
206
  aspectRatio: {
207
207
  screen: "4 / 3",
@@ -222,18 +222,18 @@ module.exports = plugin(
222
222
  DEFAULT: "var(--rounding)",
223
223
  },
224
224
  boxShadow: {
225
- 1: "0 0 0 1px var(--tw-shadow-color)",
226
- xs: "0 1px 1px 0 var(--tw-shadow-color)",
227
- sm: "0 1px 2px 0 var(--tw-shadow-color)",
225
+ 1: "0 0 0 1px var(--fabric-shadow)",
226
+ xs: "0 1px 1px 0 var(--fabric-shadow)",
227
+ sm: "0 1px 2px 0 var(--fabric-shadow)",
228
228
  DEFAULT:
229
- "0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color)",
230
- md: "0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color)",
231
- lg: "0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color)",
232
- xl: "0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color)",
233
- "2xl": "0 25px 50px -12px var(--tw-shadow-color)",
234
- inset: "inset 0 0 2px var(--tw-shadow-color)",
235
- inner: "inset 0 2px 4px 0 var(--tw-shadow-color)",
236
- paper: "0 1px 3px 0 var(--tw-shadow-color)",
229
+ "0 1px 3px 0 var(--fabric-shadow), 0 1px 2px -1px var(--fabric-shadow)",
230
+ md: "0 4px 6px -1px var(--fabric-shadow), 0 2px 4px -2px var(--fabric-shadow)",
231
+ lg: "0 10px 15px -3px var(--fabric-shadow), 0 4px 6px -4px var(--fabric-shadow)",
232
+ xl: "0 20px 25px -5px var(--fabric-shadow), 0 8px 10px -6px var(--fabric-shadow)",
233
+ "2xl": "0 25px 50px -12px var(--fabric-shadow)",
234
+ inset: "inset 0 0 2px var(--fabric-shadow)",
235
+ inner: "inset 0 2px 4px 0 var(--fabric-shadow)",
236
+ paper: "0 1px 3px 0 var(--fabric-shadow)",
237
237
  none: "none",
238
238
  },
239
239
  boxShadowColor: {
@@ -44,6 +44,7 @@ var ActionLabel = function ActionLabel(_ref) {
44
44
  }, rest), {}, {
45
45
  children: [/*#__PURE__*/jsxRuntime.jsx(ButtonGroup.ButtonGroup, {
46
46
  ref: calculateBasis,
47
+ "data-inner-clickable": true,
47
48
  className: classNames(ActionLabel_module.actions, "overflow-hidden flex-content", align === "end" && "order-2"),
48
49
  children: actions
49
50
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -10,7 +10,8 @@ require('@react-fabric/utilities');
10
10
  var Animations_module = require('./Animations.module.css');
11
11
  var jsxRuntime = require('react/jsx-runtime');
12
12
 
13
- var _excluded = ["className", "color", "strokeColor", "type"];
13
+ var _excluded = ["className", "color", "strokeColor", "type"],
14
+ _excluded2 = ["className"];
14
15
  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; }
15
16
  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; }
16
17
  var AnimationIndicator = function AnimationIndicator(_ref) {
@@ -58,7 +59,7 @@ var AnimationIndicator = function AnimationIndicator(_ref) {
58
59
  };
59
60
  var AnimationBars = function AnimationBars(_ref2) {
60
61
  var _ref2$color = _ref2.color,
61
- color = _ref2$color === void 0 ? "tint-700" : _ref2$color,
62
+ color = _ref2$color === void 0 ? "tint" : _ref2$color,
62
63
  _ref2$size = _ref2.size,
63
64
  size = _ref2$size === void 0 ? "2rem" : _ref2$size;
64
65
  return /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -81,6 +82,7 @@ var AnimationSpinner = function AnimationSpinner(_ref3) {
81
82
  size = _ref3$size === void 0 ? "2rem" : _ref3$size;
82
83
  return /*#__PURE__*/jsxRuntime.jsx("div", {
83
84
  className: classNames("absolute inset-0 z-10 flex justify-center items-center cursor-wait"),
85
+ "data-testid": "spinner",
84
86
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
85
87
  className: classNames("outline outline-tint-500/20 p-4 bg-base/50 backdrop-blur-sm rounded"),
86
88
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -95,14 +97,19 @@ var AnimationSpinner = function AnimationSpinner(_ref3) {
95
97
  var Loading = function Loading() {
96
98
  return /*#__PURE__*/jsxRuntime.jsx("div", {
97
99
  className: classNames(Animations_module.loader, "area-[loader] relative overflow-x-clip"),
100
+ "data-testid": "loading",
98
101
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
99
102
  className: "absolute z-10 py-px inset-x-0 top-0 after:h-0.5 after:block after:bg-primary-500"
100
103
  })
101
104
  });
102
105
  };
103
- var Skeleton = function Skeleton() {
104
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
105
- className: classNames("p-2 animate-pulse flex gap-2 max-w-lg"),
106
+ var Skeleton = function Skeleton(_ref4) {
107
+ var className = _ref4.className,
108
+ rest = _objectWithoutProperties(_ref4, _excluded2);
109
+ return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
110
+ className: classNames(className, "p-2 animate-pulse flex gap-2 max-w-lg"),
111
+ "data-testid": "skeleton"
112
+ }, rest), {}, {
106
113
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
107
114
  className: "bg-tint-100 rounded aspect-square h-12"
108
115
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -125,7 +132,7 @@ var Skeleton = function Skeleton() {
125
132
  })]
126
133
  })]
127
134
  })]
128
- });
135
+ }));
129
136
  };
130
137
 
131
138
  exports.AnimationBars = AnimationBars;
@@ -7,7 +7,6 @@ var utilities = require('@react-fabric/utilities');
7
7
  var BoringAvatar = require('boring-avatars');
8
8
  var classNames = require('classnames');
9
9
  var react = require('react');
10
- var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
11
10
  var getColor = require('../../utils/getColor.js');
12
11
  var Avatar_module = require('./Avatar.module.css');
13
12
  var jsxRuntime = require('react/jsx-runtime');
@@ -49,7 +48,7 @@ var Avatar = function Avatar(_ref) {
49
48
  setFallback = _useState2[1];
50
49
 
51
50
  /** ***************** style map *******************/
52
- var styles = useEffectDebugger.useMemoDebugger(function () {
51
+ var styles = react.useMemo(function () {
53
52
  var s = {};
54
53
  if (bg) {
55
54
  s.backgroundColor = getColor.getColor(bg);
@@ -64,10 +63,10 @@ var Avatar = function Avatar(_ref) {
64
63
  s.fontSize = SizeMap[size];
65
64
  }
66
65
  return s;
67
- }, [bg, color, size], "Avatar styles");
66
+ }, [bg, color, size]);
68
67
 
69
68
  /** ***************** render icon *******************/
70
- var avatarImage = useEffectDebugger.useMemoDebugger(function () {
69
+ var avatarImage = react.useMemo(function () {
71
70
  setFallback(!avatar);
72
71
  return avatar && /*#__PURE__*/jsxRuntime.jsxs("div", {
73
72
  className: "contents",
@@ -86,8 +85,8 @@ var Avatar = function Avatar(_ref) {
86
85
  }
87
86
  })]
88
87
  });
89
- }, [avatar], "Avatar icon");
90
- var fallbackAvatar = useEffectDebugger.useMemoDebugger(function () {
88
+ }, [avatar]);
89
+ var fallbackAvatar = react.useMemo(function () {
91
90
  if (fallbackIcon) {
92
91
  return utilities.isSvgPath(fallbackIcon) ? /*#__PURE__*/jsxRuntime.jsx("svg", {
93
92
  viewBox: viewBox,
@@ -128,7 +127,7 @@ var Avatar = function Avatar(_ref) {
128
127
  variant: variant,
129
128
  name: name
130
129
  });
131
- }, [name, variant, fallbackIcon], "Avatar fallback");
130
+ }, [name, variant, fallbackIcon]);
132
131
  return /*#__PURE__*/jsxRuntime.jsxs("dfn", _objectSpread(_objectSpread({
133
132
  role: "presentation",
134
133
  className: classNames(Avatar_module.avatar, className, "select-none relative overflow-hidden inline-block box-content leading-none not-italic text-center", bg && getColor.getBgClass(bg), color && getColor.getColorClass(color), !rounded && "rounded", rounded && "rounded-full"),
@@ -44,10 +44,12 @@ var Badge = function Badge(_ref) {
44
44
  rtlFlip = _ref.rtlFlip,
45
45
  rest = _objectWithoutProperties(_ref, _excluded);
46
46
  var label = react.useMemo(function () {
47
- if (utilities.isNumber(value) && max && value > max) {
48
- return "".concat(max, "+");
47
+ if (!utilities.isNil(value)) {
48
+ if (utilities.isNumber(value) && max && value > max) {
49
+ return "".concat(max, "+");
50
+ }
51
+ return "".concat(value);
49
52
  }
50
- return "".concat(value);
51
53
  }, [value, max]);
52
54
  var innerRef = react.useMemo(function () {
53
55
  return utilities.mergeRefs(ref, children === null || children === void 0 ? void 0 : children.props.ref);
@@ -60,7 +62,7 @@ var Badge = function Badge(_ref) {
60
62
  className: classNames(forButton ? "contents" : "relative", block ? "block" : "inline-block"),
61
63
  children: [children && /*#__PURE__*/react.cloneElement(children, _objectSpread(_objectSpread({}, rest), {}, {
62
64
  ref: innerRef
63
- })), /*#__PURE__*/jsxRuntime.jsxs("div", {
65
+ })), (!!ping || label) && /*#__PURE__*/jsxRuntime.jsxs("div", {
64
66
  "data-ref": "badge",
65
67
  "data-ping": ping,
66
68
  "data-placement": placement,
@@ -5,7 +5,7 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
5
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
6
  var classNames = require('classnames');
7
7
  var react = require('react');
8
- var Link = require('../../typography/Link.js');
8
+ var Anchor = require('../../typography/Anchor.js');
9
9
  var Dropdown = require('../dropdown/Dropdown.js');
10
10
  var Breadcrumbs_module = require('./Breadcrumbs.module.css');
11
11
  var jsxRuntime = require('react/jsx-runtime');
@@ -50,7 +50,7 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
50
50
  children: [/*#__PURE__*/jsxRuntime.jsx("li", {
51
51
  className: Breadcrumbs_module.breadcrumbLink,
52
52
  "data-separator": separator,
53
- children: /*#__PURE__*/jsxRuntime.jsx(Link.Link, {
53
+ children: /*#__PURE__*/jsxRuntime.jsx(Anchor.Anchor, {
54
54
  children: "..."
55
55
  })
56
56
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -16,7 +16,7 @@ var Icon = require('../icon/Icon.js');
16
16
  var Button_module = require('./Button.module.css');
17
17
  var jsxRuntime = require('react/jsx-runtime');
18
18
 
19
- var _excluded = ["as", "ref", "children", "className", "active", "color", "icon", "iconBg", "iconColor", "iconAlign", "altIcon", "rtlFlip", "rounded", "size", "disabled", "loading", "variant", "badge", "fullWidth", "spinOnHover", "onClick", "actionMessage", "type", "hotKey", "showActionDone", "showActionDoneEvent", "tabIndex", "data-ref"];
19
+ var _excluded = ["as", "ref", "children", "className", "active", "color", "icon", "iconBg", "iconColor", "iconAlign", "altIcon", "rtlFlip", "rounded", "size", "disabled", "loading", "variant", "badge", "fullWidth", "spinOnHover", "onClick", "actionMessage", "stopPropagation", "type", "hotKey", "showActionDone", "showActionDoneEvent", "tabIndex", "data-ref"];
20
20
  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; }
21
21
  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; }
22
22
  /**
@@ -47,6 +47,7 @@ var Button = function Button(_ref) {
47
47
  spinOnHover = _ref.spinOnHover,
48
48
  onClick = _ref.onClick,
49
49
  actionMessage = _ref.actionMessage,
50
+ stopPropagation = _ref.stopPropagation,
50
51
  _ref$type = _ref.type,
51
52
  type = _ref$type === void 0 ? "button" : _ref$type,
52
53
  hotKey = _ref.hotKey,
@@ -68,7 +69,7 @@ var Button = function Button(_ref) {
68
69
  setActionDone = _useState4[1];
69
70
  var clickHandler = react.useCallback(function (e) {
70
71
  setBusy(true);
71
- // e.stopPropagation();
72
+ stopPropagation && e.stopPropagation();
72
73
  var ret = onClick === null || onClick === void 0 ? void 0 : onClick(e);
73
74
  void Promise.resolve(ret).then(function (b) {
74
75
  setBusy(false);
@@ -76,7 +77,7 @@ var Button = function Button(_ref) {
76
77
  setActionDone(true);
77
78
  }
78
79
  });
79
- }, [onClick, disabled, actionMessage, showActionDoneEvent]);
80
+ }, [onClick, disabled, actionMessage, showActionDoneEvent, stopPropagation]);
80
81
 
81
82
  /** ***************** reset done state on timeout *******************/
82
83
  react.useEffect(function () {
@@ -108,6 +109,10 @@ var Button = function Button(_ref) {
108
109
  var badgeProps = react.useMemo(function () {
109
110
  return Badge.getBadgeProps(badge);
110
111
  }, [badge]);
112
+ var hotKeyHandler = react.useRef(function () {
113
+ var _refEl$current;
114
+ !disabled && ((_refEl$current = refEl.current) === null || _refEl$current === void 0 ? void 0 : _refEl$current.click());
115
+ });
111
116
  var E = as !== null && as !== void 0 ? as : "button";
112
117
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
113
118
  className: classNames(Button_module.buttonWrapper, className, "relative align-text-top select-none focus-within:z-1", fullWidth ? "block w-full" : "inline-block"),
@@ -117,10 +122,7 @@ var Button = function Button(_ref) {
117
122
  "data-disabled": disabled,
118
123
  children: [hotKey && /*#__PURE__*/jsxRuntime.jsx(HotKey.HotKey, {
119
124
  keyCombo: hotKey,
120
- handler: function handler() {
121
- var _refEl$current;
122
- return !disabled && ((_refEl$current = refEl.current) === null || _refEl$current === void 0 ? void 0 : _refEl$current.click());
123
- }
125
+ handler: hotKeyHandler.current
124
126
  }), /*#__PURE__*/jsxRuntime.jsx(TooltipWrapper, _objectSpread(_objectSpread({}, tooltipProps), {}, {
125
127
  children: /*#__PURE__*/jsxRuntime.jsxs(E, _objectSpread(_objectSpread({
126
128
  ref: utilities.mergeRefs(ref, refEl),
@@ -1 +1 @@
1
- @layer comp{.buttonWrapper{--color:theme(colors.primary.500);border-radius:var(--rounding);font-size:1rem;& .button{background-color:var(--bg);background-image:var(--click-gradient);border-radius:inherit;color:var(--text);outline:1px solid var(--outline);&.spinOnHover:hover .buttonIcon{& :global{animation:spin 2s linear infinite}}&>*{pointer-events:none}&:not(:disabled) input[type=file]{pointer-events:auto;&::-webkit-file-upload-button{cursor:pointer;inset:0;position:absolute}}}& .rounded{border-radius:9999px}& .buttonLabel{line-height:1;order:1;padding:.5em 1em;&+.altIcon{margin-inline-start:-1em}}& .buttonChild{line-height:1;order:1;padding:.5em}& .buttonIcon{font-size:1.125em;padding:.3889em}& :global(.hotkey-label){align-self:center;order:3}& .altIcon{align-self:center;order:4;padding:.125em .5em}& [data-ref=badge]{align-self:center;margin-inline-end:.5em;order:2}}.buttonGroup{&>.buttonWrapper{flex:0 1 1em}&:not(.flex)+&:not(.flex){margin-inline-start:.5rem}}}@layer util{.buttonWrapper{&[data-size=xs]{font-size:.625rem}&[data-size=sm]{font-size:.875rem}&[data-size=md]{font-size:1.125rem}&[data-size=lg]{font-size:1.25rem}&[data-size=xl]{font-size:1.5rem}}.button{--bg:color-mix(in lab,var(--fabric-bg) 99%,var(--tint));--outline:color-mix(in lab,var(--bg) 90%,var(--fabric-text));--text:color-mix(in lab,var(--color) 80%,var(--fabric-text));--bg-hover:color-mix(in lab,var(--color) 18%,var(--fabric-bg));--bg-click:color-mix(in lab,var(--color) 25%,var(--fabric-bg));--bg-active:color-mix(in lab,var(--color) 36%,var(--fabric-bg));&[data-color=accent]{--color:theme(colors.accent.500)}&[data-color=info]{--color:theme(colors.info.500)}&[data-color=danger]{--color:theme(colors.danger.500)}&[data-color=success]{--color:theme(colors.success.500)}&[data-color=warning]{--color:theme(colors.warning.500)}&[data-variant=outline]{--outline:var(--color)}&[data-variant=solid]{--outline:var(--color);--bg:color-mix(in lab,var(--color) 96%,var(--fabric-text));--text:theme(colors.white);--bg-hover:color-mix(in lab,var(--color) 90%,var(--fabric-bg));--bg-click:color-mix(in lab,var(--color) 80%,theme(colors.black));--bg-active:color-mix(in lab,var(--color) 70%,theme(colors.black));& :global(.hotkey-label){background-color:theme(backgroundColor.dark/30%);color:theme(colors.white/70%)}}&[data-variant=link]{--bg:transparent;--outline:transparent;background-image:none;box-shadow:none}&[data-color=invert]{--bg:theme(backgroundColor.invert);--text:color-mix(in lab,var(--color) 90%,theme(textColor.invert));--bg-hover:color-mix(in lab,var(--color) 15%,theme(backgroundColor.invert));--bg-click:color-mix(in lab,var(--color) 35%,theme(backgroundColor.invert))}}.buttonIcon[data-align=start]{order:0;&+.buttonLabel[data-colored-icon=false]{margin-inline-start:-1em}}.buttonIcon[data-align=end]{order:2;&~.buttonLabel[data-colored-icon=false]{margin-inline-end:-1em}}}@layer var{.buttonWrapper{height:unset;padding:unset;&[data-disabled=true]{cursor:not-allowed;& .button{background-image:var(--active-gradient);opacity:.5;pointer-events:none}}&[data-loading=true]{cursor:wait;& .button{background-image:var(--progress-gradient);background-size:1em 1em;pointer-events:none;& :global{animation:progress .75s linear infinite}}& .button:not([data-variant=solid]){background-color:color-mix(in lab,var(--color) 15%,var(--fabric-bg))}}&:global(.btn-dashed)>.button{color:theme(colors.tint.600);outline:1px dashed theme(colors.tint.600);&[data-invalid=true]{background-color:theme(colors.danger.100);color:theme(colors.danger.600);outline:1px dashed theme(colors.danger.600)}}}.button{--tw-ring-color:var(--color);&:hover{background-color:var(--bg-hover)}&:active{background-color:var(--bg-click);background-image:var(--active-gradient);.buttonIcon,.buttonLabel{transform:translateY(1px)}}&[data-active=true],&[data-checked=true],&[data-dropdown-open=true]{background-color:var(--bg-active);background-image:none}&[data-active=true],&[data-dropdown-open=true]{pointer-events:none}}.buttonGroup{&>.buttonWrapper{margin:0;& .button[data-variant=link]{--outline:theme(backgroundColor.base)}}&:not(.vertical){&>:not(:first-child){&:before{border-inline-start:.5px solid theme(borderColor.base);content:"";inset-block:5%;inset-inline-start:-.5px;position:absolute}}&.separator>:not(:first-child){margin-inline-start:2px;&:before{inset-inline-start:-1.5px}}&>:not(:last-child) .button{border-end-end-radius:0;border-start-end-radius:0}&>:not(:first-child) .button{border-end-start-radius:0;border-start-start-radius:0}}&.vertical{&>:not(:first-child){&:before{border-block-start:.5px solid theme(borderColor.base);content:"";inset-block-start:-.5px;inset-inline:5%;position:absolute}}&.separator>:not(:first-child){margin-block-start:1px;&:before{inset-block-start:-1px}}&>:not(:last-child) .button{border-end-end-radius:0;border-end-start-radius:0}&>:not(:first-child) .button{border-start-end-radius:0;border-start-start-radius:0}}}}
1
+ @layer comp{.buttonWrapper{--color:theme(colors.primary.500);border-radius:var(--rounding);font-size:1rem;& .button{background-color:var(--bg);background-image:var(--click-gradient);border-radius:inherit;color:var(--text);outline:1px solid var(--outline);&.spinOnHover:hover .buttonIcon{& :global{animation:spin 2s linear infinite}}&>*{pointer-events:none}&:not(:disabled) input[type=file]{pointer-events:auto;&::-webkit-file-upload-button{cursor:pointer;inset:0;position:absolute}}}& .rounded{border-radius:9999px}& .buttonLabel{line-height:1;order:1;padding:.5em 1em;&+.altIcon{margin-inline-start:-1em}}& .buttonChild{line-height:1;order:1;padding:.5em}& .buttonIcon{font-size:1.125em;padding:.3889em}& :global(.hotkey-label){align-self:center;order:3}& .altIcon{align-self:center;order:4;padding:.125em .5em}& [data-ref=badge]{align-self:center;margin-inline-end:.5em;order:2}}.buttonGroup{&>.buttonWrapper{flex:0 1 1em}&:not(.flex)+&:not(.flex){margin-inline-start:.5rem}}}@layer util{.buttonWrapper{&[data-size=xs]{font-size:.625rem}&[data-size=sm]{font-size:.875rem}&[data-size=md]{font-size:1.125rem}&[data-size=lg]{font-size:1.25rem}&[data-size=xl]{font-size:1.5rem}}.button{--bg:color-mix(in lab,var(--fabric-bg) 99%,var(--tint));--outline:color-mix(in lab,var(--bg) 90%,var(--fabric-text));--text:color-mix(in lab,var(--color) 80%,var(--fabric-text));--bg-hover:color-mix(in lab,var(--color) 18%,var(--fabric-bg));--bg-click:color-mix(in lab,var(--color) 25%,var(--fabric-bg));--bg-active:color-mix(in lab,var(--color) 36%,var(--fabric-bg));&[data-color=accent]{--color:theme(colors.accent.500)}&[data-color=info]{--color:theme(colors.info.500)}&[data-color=danger]{--color:theme(colors.danger.500)}&[data-color=success]{--color:theme(colors.success.500)}&[data-color=warning]{--color:theme(colors.warning.500)}&[data-variant=outline]{--outline:var(--color)}&[data-variant=solid]{--outline:var(--color);--bg:color-mix(in lab,var(--color) 96%,var(--fabric-text));--text:theme(colors.white);--bg-hover:color-mix(in lab,var(--color) 90%,var(--fabric-bg));--bg-click:color-mix(in lab,var(--color) 80%,theme(colors.black));--bg-active:color-mix(in lab,var(--color) 70%,theme(colors.black));& :global(.hotkey-label){background-color:theme(backgroundColor.dark/30%);color:theme(colors.white/70%)}}&[data-variant=link]{--bg:transparent;--outline:transparent;background-image:none;box-shadow:none}&[data-color=invert]{--bg:theme(backgroundColor.invert);--text:color-mix(in lab,var(--color) 90%,theme(textColor.invert));--bg-hover:color-mix(in lab,var(--color) 15%,theme(backgroundColor.invert));--bg-click:color-mix(in lab,var(--color) 35%,theme(backgroundColor.invert))}}.buttonIcon[data-align=start]{order:0;&+.buttonLabel[data-colored-icon=false]{margin-inline-start:-1em}}.buttonIcon[data-align=end]{order:2;&~.buttonLabel[data-colored-icon=false]{margin-inline-end:-1em}}}@layer var{.buttonWrapper{height:unset;padding:unset;&[data-disabled=true]{cursor:not-allowed;& .button{background-image:var(--active-gradient);opacity:.5;pointer-events:none}}&[data-loading=true]{cursor:wait;& .button{background-image:var(--progress-gradient);background-size:1em 1em;pointer-events:none;& :global{animation:bgprogress .75s linear infinite}}& .button:not([data-variant=solid]){background-color:color-mix(in lab,var(--color) 15%,var(--fabric-bg))}}&:global(.btn-dashed)>.button{color:theme(colors.tint.600);outline:1px dashed theme(colors.tint.600);&[data-invalid=true]{background-color:theme(colors.danger.100);color:theme(colors.danger.600);outline:1px dashed theme(colors.danger.600)}}}.button{--tw-ring-color:var(--color);&:hover{background-color:var(--bg-hover)}&:active{background-color:var(--bg-click);background-image:var(--active-gradient);.buttonIcon,.buttonLabel{transform:translateY(1px)}}&[data-active=true],&[data-checked=true],&[data-dropdown-open=true]{background-color:var(--bg-active);background-image:none}&[data-active=true],&[data-dropdown-open=true]{pointer-events:none}}.buttonGroup{&>.buttonWrapper{margin:0;& .button[data-variant=link]{--outline:theme(backgroundColor.base)}}&:not(.vertical){&>:not(:first-child){&:before{border-inline-start:.5px solid theme(borderColor.base);content:"";inset-block:5%;inset-inline-start:-.5px;position:absolute}}&.separator>:not(:first-child){margin-inline-start:2px;&:before{inset-inline-start:-1.5px}}&>:not(:last-child) .button{border-end-end-radius:0;border-start-end-radius:0}&>:not(:first-child) .button{border-end-start-radius:0;border-start-start-radius:0}}&.vertical{&>:not(:first-child){&:before{border-block-start:.5px solid theme(borderColor.base);content:"";inset-block-start:-.5px;inset-inline:5%;position:absolute}}&.separator>:not(:first-child){margin-block-start:1px;&:before{inset-block-start:-1px}}&>:not(:last-child) .button{border-end-end-radius:0;border-end-start-radius:0}&>:not(:first-child) .button{border-start-end-radius:0;border-start-start-radius:0}}}}
@@ -11,7 +11,7 @@ var reactI18next = require('react-i18next');
11
11
  var Button = require('./Button.js');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
 
14
- var _excluded = ["ref", "message", "color", "okLabel", "cancelLabel", "onClick", "loading", "actionMessage", "showActionDone", "showActionDoneEvent"],
14
+ var _excluded = ["ref", "message", "color", "okLabel", "cancelLabel", "onClick", "loading", "placement", "actionMessage", "showActionDone", "showActionDoneEvent"],
15
15
  _excluded2 = ["ref"];
16
16
  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; }
17
17
  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; }
@@ -26,6 +26,8 @@ var ConfirmButton = function ConfirmButton(_ref) {
26
26
  cancelLabel = _ref.cancelLabel,
27
27
  onClick = _ref.onClick,
28
28
  loading = _ref.loading,
29
+ _ref$placement = _ref.placement,
30
+ placement = _ref$placement === void 0 ? "bottom" : _ref$placement,
29
31
  actionMessage = _ref.actionMessage,
30
32
  showActionDone = _ref.showActionDone,
31
33
  _ref$showActionDoneEv = _ref.showActionDoneEvent,
@@ -77,7 +79,7 @@ var ConfirmButton = function ConfirmButton(_ref) {
77
79
  }
78
80
  },
79
81
  strategy: "fixed",
80
- placement: "bottom",
82
+ placement: placement,
81
83
  whileElementsMounted: react$1.autoUpdate,
82
84
  middleware: [react$1.shift({
83
85
  padding: 8
@@ -9,7 +9,7 @@ require('@react-fabric/utilities');
9
9
  var Icon = require('../icon/Icon.js');
10
10
  var jsxRuntime = require('react/jsx-runtime');
11
11
 
12
- var _excluded = ["children", "color", "legend", "title", "icon", "border", "onClose"];
12
+ var _excluded = ["children", "color", "legend", "title", "icon", "border", "onClose", "className"];
13
13
  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; }
14
14
  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; }
15
15
  var Callout = function Callout(_ref) {
@@ -21,9 +21,10 @@ var Callout = function Callout(_ref) {
21
21
  icon = _ref.icon,
22
22
  border = _ref.border,
23
23
  onClose = _ref.onClose,
24
+ className = _ref.className,
24
25
  aria = _objectWithoutProperties(_ref, _excluded);
25
26
  return /*#__PURE__*/jsxRuntime.jsxs("fieldset", _objectSpread(_objectSpread({
26
- className: classNames("block rounded-capped border max-w-full relative overflow-hidden mb-4", getColor.getBgClass(color + "-50"), getColor.getColorClass(color + "-700"), getColor.getBorderClass(color + "-300"), border === "dashed" && "border-dashed", border === "dotted" && "border-dotted")
27
+ className: classNames(className, "block rounded-capped border max-w-full relative overflow-hidden mb-4", getColor.getBgClass(color + "-50"), getColor.getColorClass(color + "-700"), getColor.getBorderClass(color + "-300"), border === "dashed" && "border-dashed", border === "dotted" && "border-dotted")
27
28
  }, aria), {}, {
28
29
  children: [legend && /*#__PURE__*/jsxRuntime.jsx("legend", {
29
30
  className: "px-2 mx-4 font-medium",
@@ -12,7 +12,7 @@ var nodeCheck = require('../../utils/nodeCheck.js');
12
12
  var Card_module = require('./Card.module.css');
13
13
  var jsxRuntime = require('react/jsx-runtime');
14
14
 
15
- var _excluded = ["children", "className", "bodyClassName", "selected", "selectedRibbon", "onClick", "flex", "draggable", "dragKey", "dragData"];
15
+ var _excluded = ["children", "className", "bodyClassName", "selected", "selectedRibbon", "onClick", "flex", "draggable", "dragKey", "dragData", "ref"];
16
16
  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; }
17
17
  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; }
18
18
  var Card = function Card(_ref) {
@@ -26,6 +26,7 @@ var Card = function Card(_ref) {
26
26
  draggable = _ref.draggable,
27
27
  dragKey = _ref.dragKey,
28
28
  dragData = _ref.dragData,
29
+ ref = _ref.ref,
29
30
  aria = _objectWithoutProperties(_ref, _excluded);
30
31
  var _useMemo = react.useMemo(function () {
31
32
  return react.Children.toArray(children).reduce(function (ret, node) {
@@ -46,7 +47,8 @@ var Card = function Card(_ref) {
46
47
  onDragStart: !draggable ? undefined : function (e) {
47
48
  var _e$dataTransfer;
48
49
  return dragKey && ((_e$dataTransfer = e.dataTransfer) === null || _e$dataTransfer === void 0 ? void 0 : _e$dataTransfer.setData(dragKey, JSON.stringify(dragData)));
49
- }
50
+ },
51
+ ref: ref
50
52
  }, aria), {}, {
51
53
  children: [header, /*#__PURE__*/jsxRuntime.jsx("div", {
52
54
  role: "none",
@@ -66,7 +66,7 @@ var Chip = function Chip(_ref) {
66
66
  return /*#__PURE__*/jsxRuntime.jsxs(E, _objectSpread(_objectSpread({
67
67
  ref: ref,
68
68
  role: "term",
69
- className: classNames(Chip_module.chip, className, color && getColor.getColorClass(color), "select-none inline-flex flex-nowrap items-center max-w-72 text-sm leading-none rounded", rounded && "rounded-full", !!onClick && Chip_module.clickable, disabled && Chip_module.disabled),
69
+ className: classNames(Chip_module.chip, className, color && getColor.getColorClass(color), "select-none inline-flex flex-nowrap items-center max-w-72 text-sm rounded", rounded && "rounded-full", !!onClick && Chip_module.clickable, disabled && Chip_module.disabled),
70
70
  style: styles,
71
71
  "data-variant": variant,
72
72
  "data-inner-clickable": !!onClick,
@@ -80,7 +80,7 @@ var Chip = function Chip(_ref) {
80
80
  color: iconColor,
81
81
  rtlFlip: rtlFlip
82
82
  }), children && /*#__PURE__*/jsxRuntime.jsx("label", {
83
- className: classNames(Chip_module.chipLabel, "leading-none truncate"),
83
+ className: classNames(Chip_module.chipLabel, "truncate"),
84
84
  children: children
85
85
  }), onRemove && /*#__PURE__*/jsxRuntime.jsx("span", {
86
86
  role: "none",
@@ -1 +1 @@
1
- @layer comp{.chip{--blank-gradient:linear-gradient(180deg,#00000005 0%,#0000 10%);background-image:var(--blank-gradient);color:theme(colors.tint.500);outline:1px solid color-mix(in lab,currentcolor 20%,var(--fabric-bg));outline-offset:-1px;&>.chipLabel{padding:.25em .5em}&>.chipIcon{&+.chipLabel{margin-inline-start:-.5em}}&.clickable{background-image:var(--click-gradient);cursor:pointer;&.disabled{opacity:.5;pointer-events:none}}}}@layer var{.chip{background-color:color-mix(in lab,currentcolor 10%,var(--fabric-bg));height:unset;padding:unset;&[data-variant=outline]{box-shadow:0 0 2px color-mix(in lab,currentcolor 50%,var(--tint)) inset;outline-color:color-mix(in lab,currentcolor 50%,var(--fabric-bg))}>*{color:color-mix(in lab,currentcolor 50%,var(--fabric-text))}&.clickable{&:hover{background-color:color-mix(in lab,currentcolor 20%,var(--fabric-bg))}&:active,&[data-dropdown-open=true]{background-color:color-mix(in lab,currentcolor 15%,var(--fabric-bg));background-image:var(--active-gradient)}&[data-dropdown-open=true]{pointer-events:none}}&[data-variant=solid]{background-color:color-mix(in lab,currentcolor 35%,var(--fabric-bg));outline-color:color-mix(in lab,currentcolor 50%,var(--fabric-bg));&>*{color:color-mix(in lab,currentcolor 5%,var(--fabric-text))}&.clickable{&:hover{background-color:color-mix(in lab,currentcolor 45%,var(--fabric-bg))}&:active,&[data-dropdown-open=true]{background-color:color-mix(in lab,currentcolor 30%,var(--fabric-bg))}}}}}
1
+ @layer comp{.chip{--blank-gradient:linear-gradient(180deg,#00000005 0%,#0000 10%);background-image:var(--blank-gradient);color:theme(colors.tint.500);outline:1px solid color-mix(in lab,currentcolor 20%,var(--fabric-bg));outline-offset:-1px;&>.chipLabel{padding:0 .5em}&>.chipIcon{&+.chipLabel{margin-inline-start:-.5em}}&.clickable{background-image:var(--click-gradient);cursor:pointer;&.disabled{opacity:.5;pointer-events:none}}}}@layer var{.chip{background-color:color-mix(in lab,currentcolor 10%,var(--fabric-bg));height:unset;padding:unset;&[data-variant=outline]{box-shadow:0 0 2px color-mix(in lab,currentcolor 50%,var(--tint)) inset;outline-color:color-mix(in lab,currentcolor 50%,var(--fabric-bg))}>*{color:color-mix(in lab,currentcolor 50%,var(--fabric-text))}&.clickable{&:hover{background-color:color-mix(in lab,currentcolor 20%,var(--fabric-bg))}&:active,&[data-dropdown-open=true]{background-color:color-mix(in lab,currentcolor 15%,var(--fabric-bg));background-image:var(--active-gradient)}&[data-dropdown-open=true]{pointer-events:none}}&[data-variant=solid]{background-color:color-mix(in lab,currentcolor 35%,var(--fabric-bg));outline-color:color-mix(in lab,currentcolor 50%,var(--fabric-bg));&>*{color:color-mix(in lab,currentcolor 5%,var(--fabric-text))}&.clickable{&:hover{background-color:color-mix(in lab,currentcolor 45%,var(--fabric-bg))}&:active,&[data-dropdown-open=true]{background-color:color-mix(in lab,currentcolor 30%,var(--fabric-bg))}}}}}
@@ -11,16 +11,18 @@ var Icon = require('../icon/Icon.js');
11
11
  var Collapsable_module = require('./Collapsable.module.css');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
 
14
- var _excluded = ["ref", "className", "bodyClassName", "headerClassName", "children", "iconAlign", "iconClosed", "iconOpen", "open", "onClose", "onOpen"];
14
+ var _excluded = ["ref", "disabled", "className", "bodyClassName", "headerClassName", "children", "iconAlign", "stickyHeader", "iconClosed", "iconOpen", "open", "onClose", "onOpen"];
15
15
  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; }
16
16
  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; }
17
17
  var Collapsable = function Collapsable(_ref) {
18
18
  var ref = _ref.ref,
19
+ disabled = _ref.disabled,
19
20
  className = _ref.className,
20
21
  bodyClassName = _ref.bodyClassName,
21
22
  headerClassName = _ref.headerClassName,
22
23
  children = _ref.children,
23
24
  iconAlign = _ref.iconAlign,
25
+ stickyHeader = _ref.stickyHeader,
24
26
  _ref$iconClosed = _ref.iconClosed,
25
27
  iconClosed = _ref$iconClosed === void 0 ? icons.CoreIcons.chevronRight : _ref$iconClosed,
26
28
  _ref$iconOpen = _ref.iconOpen,
@@ -61,9 +63,9 @@ var Collapsable = function Collapsable(_ref) {
61
63
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
62
64
  role: "none",
63
65
  ref: headRef,
64
- className: classNames(Collapsable_module.collapsableHead, "flex gap-1 flex-nowrap py-2 font-medium cursor-pointer items-center select-none hover:opacity-70", headerClassName, iconAlign === "end" ? "flex-row-reverse" : "flex-row"),
66
+ className: classNames(Collapsable_module.collapsableHead, "flex gap-1 flex-nowrap py-2 font-medium cursor-pointer items-center select-none hover:opacity-70", headerClassName, stickyHeader && "bg-base sticky top-0 px-2 py-1 z-10", iconAlign === "end" ? "flex-row-reverse" : "flex-row"),
65
67
  onClick: function onClick() {
66
- return setOpenState(!openState);
68
+ return !disabled && setOpenState(!openState);
67
69
  },
68
70
  children: [/*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
69
71
  size: "1.125em",
@@ -4,6 +4,7 @@ var classNames = require('classnames');
4
4
  var react = require('react');
5
5
  var getColor = require('../../utils/getColor.js');
6
6
  require('@react-fabric/utilities');
7
+ var Divider_module = require('./Divider.module.css');
7
8
  var jsxRuntime = require('react/jsx-runtime');
8
9
 
9
10
  /*
@@ -44,7 +45,7 @@ var Divider = function Divider(_ref) {
44
45
  style: {
45
46
  flex: flex
46
47
  },
47
- className: classNames(className, vertical && "vertical", !flex && "self-stretch", vertical ? "mx-1" : "my-1", color && getColor.getBorderClass(color + "-200"))
48
+ className: classNames(className, vertical && "vertical", !flex && "self-stretch", vertical ? Divider_module.vertical : Divider_module.horizontal, color && getColor.getBorderClass(color + "-200"))
48
49
  });
49
50
  }, [color, vertical]);
50
51
  return children ? /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -52,7 +53,7 @@ var Divider = function Divider(_ref) {
52
53
  children: [/*#__PURE__*/jsxRuntime.jsx(Rule, {
53
54
  flex: align === "start" ? "0 0 1rem" : "1 1 1em"
54
55
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
55
- className: classNames("px-2 whitespace-nowrap", vertical ? "mx-1" : "my-1", fill && getColor.getBgClass((color !== null && color !== void 0 ? color : "tint") + "-200"), !fill && getColor.getColorClass((color !== null && color !== void 0 ? color : "tint") + "-600"), "rounded-full text-[0.75em]", vertical && "origin-center -rotate-90 z-1"),
56
+ className: classNames("px-2 whitespace-nowrap", vertical ? Divider_module.vertical : Divider_module.horizontal, fill && getColor.getBgClass((color !== null && color !== void 0 ? color : "tint") + "-200"), !fill && getColor.getColorClass((color !== null && color !== void 0 ? color : "tint") + "-600"), "rounded-full text-[0.75em]", vertical && "origin-center -rotate-90 z-1"),
56
57
  children: children
57
58
  }), /*#__PURE__*/jsxRuntime.jsx(Rule, {
58
59
  flex: align === "end" ? "0 0 1rem" : "1 1 1em"
@@ -0,0 +1 @@
1
+ @layer comp{.vertical{margin-inline:.25rem}.horizontal{margin-block:.25rem}}
@@ -115,6 +115,7 @@ var DropdownElement = function DropdownElement(_ref) {
115
115
  e.stopPropagation();
116
116
  }
117
117
  })), {}, {
118
+ "data-inner-clickable": "true",
118
119
  "data-dropdown-open": isOpen ? true : undefined,
119
120
  ref: innerRef
120
121
  })), isOpen && /*#__PURE__*/jsxRuntime.jsxs(react.FloatingPortal, {
@@ -131,7 +132,8 @@ var DropdownElement = function DropdownElement(_ref) {
131
132
  style: _objectSpread({
132
133
  minWidth: minWidth,
133
134
  zIndex: "var(--z-popover)"
134
- }, floatingStyles)
135
+ }, floatingStyles),
136
+ "data-testid": "dropdown-body"
135
137
  }, getFloatingProps({
136
138
  onClick: function onClick(e) {
137
139
  return e.stopPropagation();
@@ -3,21 +3,23 @@
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
5
  var classNames = require('classnames');
6
+ var icons = require('../../types/icons.js');
6
7
  var Icon = require('../icon/Icon.js');
7
8
  var Dropdown = require('./Dropdown.js');
8
9
  var jsxRuntime = require('react/jsx-runtime');
9
10
 
10
- var _excluded = ["children", "className", "groupHover"];
11
+ var _excluded = ["children", "className", "groupHover", "icon"];
11
12
  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; }
12
13
  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; }
13
14
  var DropdownTool = function DropdownTool(_ref) {
14
15
  var children = _ref.children,
15
16
  className = _ref.className,
16
17
  groupHover = _ref.groupHover,
18
+ icon = _ref.icon,
17
19
  props = _objectWithoutProperties(_ref, _excluded);
18
20
  return /*#__PURE__*/jsxRuntime.jsxs(Dropdown.Dropdown, _objectSpread(_objectSpread({}, props), {}, {
19
21
  children: [/*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
20
- icon: "mdi mdi-menu-down",
22
+ icon: icon !== null && icon !== void 0 ? icon : icons.CoreIcons.caretDown,
21
23
  className: classNames(className, "outline bg-base flex-content pointer-events-auto cursor-pointer", groupHover && "hidden group-hover:inline-block data-[dropdown-open]:inline-block")
22
24
  }), children]
23
25
  }));
@@ -4,7 +4,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
5
  var utilities = require('@react-fabric/utilities');
6
6
  var classNames = require('classnames');
7
- var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
7
+ var react = require('react');
8
8
  var getColor = require('../../utils/getColor.js');
9
9
  var Icon_module = require('./Icon.module.css');
10
10
  var jsxRuntime = require('react/jsx-runtime');
@@ -40,7 +40,7 @@ var Icon = function Icon(_ref) {
40
40
  onClick = _ref.onClick,
41
41
  rest = _objectWithoutProperties(_ref, _excluded);
42
42
  /** ***************** style map *******************/
43
- var styles = useEffectDebugger.useMemoDebugger(function () {
43
+ var styles = react.useMemo(function () {
44
44
  var s = {};
45
45
  if (bg) {
46
46
  s.backgroundColor = getColor.getColor(bg);
@@ -55,15 +55,15 @@ var Icon = function Icon(_ref) {
55
55
  s.fontSize = SizeMap[size];
56
56
  }
57
57
  return s;
58
- }, [bg, color, size], "Icon styles");
58
+ }, [bg, color, size]);
59
59
 
60
60
  /** ***************** check if icon is svg path *******************/
61
- var isSvg = useEffectDebugger.useMemoDebugger(function () {
61
+ var isSvg = react.useMemo(function () {
62
62
  return utilities.isSvgPath(icon);
63
- }, [icon], "Icon isSvg");
63
+ }, [icon]);
64
64
 
65
65
  /** ***************** render icon *******************/
66
- var iconEl = useEffectDebugger.useMemoDebugger(function () {
66
+ var iconEl = react.useMemo(function () {
67
67
  var _SvgTextSize$icon$len;
68
68
  if (!utilities.isString(icon)) {
69
69
  throw Error("Invalid icon expected string");
@@ -90,7 +90,7 @@ var Icon = function Icon(_ref) {
90
90
  }) : /*#__PURE__*/jsxRuntime.jsx("i", {
91
91
  className: "".concat(icon)
92
92
  });
93
- }, [icon, isSvg, viewBox], "Icon el");
93
+ }, [icon, isSvg, viewBox]);
94
94
  return /*#__PURE__*/jsxRuntime.jsx("dfn", _objectSpread(_objectSpread({}, rest), {}, {
95
95
  ref: ref,
96
96
  role: "presentation",
@@ -99,6 +99,7 @@ var Icon = function Icon(_ref) {
99
99
  "data-flip": rtlFlip,
100
100
  style: styles,
101
101
  "data-clickable": !!onClick,
102
+ "data-inner-clickable": !!onClick,
102
103
  children: iconEl
103
104
  }));
104
105
  };