@react-fabric/core 1.0.0-beta.3 → 1.0.0-beta.30

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 (207) hide show
  1. package/css/index.js +14 -14
  2. package/css/reset/_reset.css +1 -1
  3. package/dist/cjs/components/actionLabel/ActionLabel.js +1 -0
  4. package/dist/cjs/components/animations/Animations.js +14 -7
  5. package/dist/cjs/components/avatar/Avatar.js +8 -10
  6. package/dist/cjs/components/avatar/AvatarGroup.js +1 -0
  7. package/dist/cjs/components/badge/Badge.js +5 -4
  8. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +5 -2
  9. package/dist/cjs/components/button/Button.js +5 -4
  10. package/dist/cjs/components/button/Button.module.css +1 -1
  11. package/dist/cjs/components/button/ButtonGroup.js +3 -1
  12. package/dist/cjs/components/button/ConfirmButton.js +7 -2
  13. package/dist/cjs/components/button/ToggleButtonGroup.js +2 -1
  14. package/dist/cjs/components/callout/Callout.js +7 -2
  15. package/dist/cjs/components/card/Card.js +5 -3
  16. package/dist/cjs/components/card/CardCover.js +1 -1
  17. package/dist/cjs/components/chip/Chip.js +9 -4
  18. package/dist/cjs/components/chip/Chip.module.css +1 -1
  19. package/dist/cjs/components/collapsable/Collapsable.js +3 -2
  20. package/dist/cjs/components/divider/Divider.js +4 -3
  21. package/dist/cjs/components/divider/Divider.module.css +1 -0
  22. package/dist/cjs/components/dropdown/Dropdown.js +4 -2
  23. package/dist/cjs/components/dropdown/DropdownTool.js +4 -3
  24. package/dist/cjs/components/icon/Icon.js +14 -12
  25. package/dist/cjs/components/icon/Icon.module.css +1 -1
  26. package/dist/cjs/components/menu/ContextMenu.js +30 -10
  27. package/dist/cjs/components/menu/Menu.js +39 -20
  28. package/dist/cjs/components/menu/MenuItem.js +29 -14
  29. package/dist/cjs/components/navigator/Navigator.js +16 -9
  30. package/dist/cjs/components/panel/Panel.js +3 -1
  31. package/dist/cjs/components/progress/ProgressBar.js +2 -1
  32. package/dist/cjs/components/progress/ProgressCircle.js +2 -1
  33. package/dist/cjs/components/tabpanel/Tab.js +55 -36
  34. package/dist/cjs/components/tabpanel/TabPanel.js +19 -14
  35. package/dist/cjs/components/tabpanel/TabPanel.module.css +1 -1
  36. package/dist/cjs/core/aside/Aside.js +6 -2
  37. package/dist/cjs/core/content/Content.js +8 -5
  38. package/dist/cjs/core/headfoot/HeadFoot.js +3 -2
  39. package/dist/cjs/core/headfoot/HeadFoot.module.css +1 -1
  40. package/dist/cjs/core/page/Page.js +1 -0
  41. package/dist/cjs/core/responsive/Responsive.js +1 -1
  42. package/dist/cjs/core/section/Section.module.css +1 -1
  43. package/dist/cjs/hooks/useNavigator.js +6 -4
  44. package/dist/cjs/index.js +7 -2
  45. package/dist/cjs/overlays/alert/Alert.js +42 -17
  46. package/dist/cjs/overlays/alert/Alert.module.css +1 -1
  47. package/dist/cjs/overlays/flyout/Flyout.js +40 -42
  48. package/dist/cjs/overlays/message/Message.js +1 -1
  49. package/dist/cjs/overlays/modal/Modal.js +4 -5
  50. package/dist/cjs/overlays/toast/Toast.js +1 -1
  51. package/dist/cjs/overlays/tooltip/Tooltip.js +3 -3
  52. package/dist/cjs/overlays/tooltip/Tooltip.module.css +1 -1
  53. package/dist/cjs/types/icons.js +3 -0
  54. package/dist/cjs/typography/Abbr.js +1 -1
  55. package/dist/cjs/typography/{Link.js → Anchor.js} +4 -3
  56. package/dist/cjs/typography/Mark.js +1 -1
  57. package/dist/cjs/typography/Text.js +2 -2
  58. package/dist/cjs/typography/Title.js +3 -2
  59. package/dist/cjs/typography/Typography.module.css +1 -1
  60. package/dist/cjs/utils/cloneElement.js +44 -0
  61. package/dist/esm/components/actionLabel/ActionLabel.js +1 -0
  62. package/dist/esm/components/animations/Animations.js +14 -7
  63. package/dist/esm/components/avatar/Avatar.js +9 -11
  64. package/dist/esm/components/avatar/AvatarGroup.js +1 -0
  65. package/dist/esm/components/badge/Badge.js +5 -4
  66. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +5 -2
  67. package/dist/esm/components/button/Button.js +5 -4
  68. package/dist/esm/components/button/Button.module.css +1 -1
  69. package/dist/esm/components/button/ButtonGroup.js +4 -2
  70. package/dist/esm/components/button/ConfirmButton.js +7 -2
  71. package/dist/esm/components/button/ToggleButtonGroup.js +3 -2
  72. package/dist/esm/components/callout/Callout.js +7 -2
  73. package/dist/esm/components/card/Card.js +5 -3
  74. package/dist/esm/components/card/CardCover.js +1 -1
  75. package/dist/esm/components/chip/Chip.js +9 -4
  76. package/dist/esm/components/chip/Chip.module.css +1 -1
  77. package/dist/esm/components/collapsable/Collapsable.js +3 -2
  78. package/dist/esm/components/divider/Divider.js +4 -3
  79. package/dist/esm/components/divider/Divider.module.css +1 -0
  80. package/dist/esm/components/dropdown/Dropdown.js +4 -2
  81. package/dist/esm/components/dropdown/DropdownTool.js +4 -3
  82. package/dist/esm/components/icon/Icon.js +14 -12
  83. package/dist/esm/components/icon/Icon.module.css +1 -1
  84. package/dist/esm/components/menu/ContextMenu.js +32 -12
  85. package/dist/esm/components/menu/Menu.js +41 -22
  86. package/dist/esm/components/menu/MenuItem.js +23 -8
  87. package/dist/esm/components/navigator/Navigator.js +16 -9
  88. package/dist/esm/components/panel/Panel.js +3 -1
  89. package/dist/esm/components/progress/ProgressBar.js +2 -1
  90. package/dist/esm/components/progress/ProgressCircle.js +2 -1
  91. package/dist/esm/components/tabpanel/Tab.js +56 -37
  92. package/dist/esm/components/tabpanel/TabPanel.js +19 -14
  93. package/dist/esm/components/tabpanel/TabPanel.module.css +1 -1
  94. package/dist/esm/core/aside/Aside.js +6 -2
  95. package/dist/esm/core/content/Content.js +8 -5
  96. package/dist/esm/core/headfoot/HeadFoot.js +3 -2
  97. package/dist/esm/core/headfoot/HeadFoot.module.css +1 -1
  98. package/dist/esm/core/page/Page.js +1 -0
  99. package/dist/esm/core/responsive/Responsive.js +1 -1
  100. package/dist/esm/core/section/Section.module.css +1 -1
  101. package/dist/esm/hooks/useNavigator.js +7 -5
  102. package/dist/esm/index.js +4 -1
  103. package/dist/esm/overlays/alert/Alert.js +31 -6
  104. package/dist/esm/overlays/alert/Alert.module.css +1 -1
  105. package/dist/esm/overlays/flyout/Flyout.js +41 -43
  106. package/dist/esm/overlays/message/Message.js +1 -1
  107. package/dist/esm/overlays/modal/Modal.js +5 -6
  108. package/dist/esm/overlays/toast/Toast.js +1 -1
  109. package/dist/esm/overlays/tooltip/Tooltip.js +3 -3
  110. package/dist/esm/overlays/tooltip/Tooltip.module.css +1 -1
  111. package/dist/esm/types/icons.js +3 -0
  112. package/dist/esm/typography/Abbr.js +1 -1
  113. package/dist/esm/typography/{Link.js → Anchor.js} +4 -3
  114. package/dist/esm/typography/Mark.js +1 -1
  115. package/dist/esm/typography/Text.js +2 -2
  116. package/dist/esm/typography/Title.js +3 -2
  117. package/dist/esm/typography/Typography.module.css +1 -1
  118. package/dist/esm/utils/cloneElement.js +44 -0
  119. package/dist/types/components/actionLabel/ActionLabel.d.ts +2 -2
  120. package/dist/types/components/animations/Animations.d.ts +1 -1
  121. package/dist/types/components/badge/Badge.d.ts +5 -1
  122. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +2 -2
  123. package/dist/types/components/button/Button.d.ts +5 -3
  124. package/dist/types/components/button/ConfirmButton.d.ts +6 -1
  125. package/dist/types/components/card/Card.d.ts +3 -3
  126. package/dist/types/components/chip/Chip.d.ts +1 -1
  127. package/dist/types/components/collapsable/Collapsable.d.ts +5 -1
  128. package/dist/types/components/dropdown/DropdownTool.d.ts +2 -1
  129. package/dist/types/components/media/Media.d.ts +2 -2
  130. package/dist/types/components/menu/ContextMenu.d.ts +2 -1
  131. package/dist/types/components/menu/MenuItem.d.ts +1 -1
  132. package/dist/types/components/navigator/Navigator.d.ts +3 -3
  133. package/dist/types/components/tabpanel/Tab.d.ts +4 -4
  134. package/dist/types/components/tabpanel/TabPanel.d.ts +10 -1
  135. package/dist/types/core/aside/Aside.d.ts +7 -3
  136. package/dist/types/core/content/Content.d.ts +3 -2
  137. package/dist/types/core/responsive/Responsive.d.ts +1 -1
  138. package/dist/types/core/theme/ThemeProvider.d.ts +1 -1
  139. package/dist/types/hooks/useOverlayService.d.ts +3 -3
  140. package/dist/types/index.d.ts +3 -0
  141. package/dist/types/overlays/alert/Alert.d.ts +9 -1
  142. package/dist/types/overlays/flyout/Flyout.d.ts +3 -2
  143. package/dist/types/overlays/modal/Modal.d.ts +4 -3
  144. package/dist/types/types/icons.d.ts +3 -0
  145. package/dist/types/types/index.d.ts +8 -1
  146. package/dist/types/typography/{Link.d.ts → Anchor.d.ts} +2 -2
  147. package/dist/types/typography/index.d.ts +1 -1
  148. package/dist/types/utils/cloneElement.d.ts +2 -0
  149. package/dist/types/utils/index.d.ts +1 -0
  150. package/package.json +5 -5
  151. package/src/components/actionLabel/ActionLabel.tsx +13 -3
  152. package/src/components/animations/Animations.tsx +9 -3
  153. package/src/components/avatar/Avatar.tsx +69 -81
  154. package/src/components/avatar/AvatarGroup.tsx +1 -0
  155. package/src/components/badge/Badge.tsx +9 -4
  156. package/src/components/breadcrumbs/Breadcrumbs.tsx +9 -4
  157. package/src/components/button/Button.module.css +8 -1
  158. package/src/components/button/Button.tsx +12 -9
  159. package/src/components/button/ButtonGroup.tsx +3 -2
  160. package/src/components/button/ConfirmButton.tsx +15 -5
  161. package/src/components/button/ToggleButtonGroup.tsx +3 -2
  162. package/src/components/callout/Callout.tsx +12 -3
  163. package/src/components/card/Card.tsx +4 -0
  164. package/src/components/chip/Chip.module.css +4 -1
  165. package/src/components/chip/Chip.tsx +9 -4
  166. package/src/components/collapsable/Collapsable.tsx +6 -0
  167. package/src/components/divider/Divider.module.css +32 -0
  168. package/src/components/divider/Divider.tsx +3 -2
  169. package/src/components/dropdown/Dropdown.tsx +3 -2
  170. package/src/components/dropdown/DropdownTool.tsx +4 -2
  171. package/src/components/icon/Icon.module.css +0 -1
  172. package/src/components/icon/Icon.tsx +48 -58
  173. package/src/components/media/Media.tsx +2 -2
  174. package/src/components/menu/ContextMenu.tsx +36 -11
  175. package/src/components/menu/Menu.tsx +51 -30
  176. package/src/components/menu/MenuItem.tsx +14 -3
  177. package/src/components/navigator/Navigator.tsx +17 -4
  178. package/src/components/panel/Panel.tsx +3 -1
  179. package/src/components/tabpanel/Tab.tsx +74 -59
  180. package/src/components/tabpanel/TabPanel.module.css +19 -30
  181. package/src/components/tabpanel/TabPanel.tsx +33 -10
  182. package/src/core/aside/Aside.tsx +17 -3
  183. package/src/core/content/Content.tsx +16 -10
  184. package/src/core/headfoot/HeadFoot.module.css +2 -0
  185. package/src/core/headfoot/HeadFoot.tsx +1 -1
  186. package/src/core/page/Page.tsx +1 -0
  187. package/src/core/responsive/Responsive.tsx +3 -2
  188. package/src/core/section/Section.module.css +1 -1
  189. package/src/core/theme/ThemeProvider.tsx +1 -1
  190. package/src/hooks/useNavigator.tsx +10 -5
  191. package/src/hooks/useOverlayService.tsx +12 -4
  192. package/src/index.ts +4 -0
  193. package/src/overlays/alert/Alert.module.css +1 -1
  194. package/src/overlays/alert/Alert.tsx +30 -4
  195. package/src/overlays/flyout/Flyout.tsx +63 -62
  196. package/src/overlays/modal/Modal.tsx +13 -8
  197. package/src/overlays/tooltip/Tooltip.module.css +7 -7
  198. package/src/overlays/tooltip/Tooltip.tsx +4 -4
  199. package/src/types/icons.ts +6 -0
  200. package/src/types/index.ts +10 -9
  201. package/src/typography/{Link.tsx → Anchor.tsx} +3 -3
  202. package/src/typography/Text.tsx +1 -1
  203. package/src/typography/Title.tsx +0 -1
  204. package/src/typography/Typography.module.css +4 -2
  205. package/src/typography/index.ts +1 -1
  206. package/src/utils/cloneElement.ts +44 -0
  207. package/src/utils/index.ts +1 -0
@@ -2,15 +2,23 @@
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
+ var utilities = require('@react-fabric/utilities');
5
6
  var classNames = require('classnames');
6
7
  var react = require('react');
8
+ require('@babel/runtime/helpers/slicedToArray');
9
+ require('@floating-ui/react');
10
+ require('react-i18next');
11
+ require('../../hooks/useEffectDebugger.js');
12
+ var jsxRuntime = require('react/jsx-runtime');
13
+ require('../../hotkeys/HotKeyWrapper.js');
14
+ var Tooltip = require('../../overlays/tooltip/Tooltip.js');
7
15
  var Badge = require('../badge/Badge.js');
8
- var DropdownTool = require('../dropdown/DropdownTool.js');
9
16
  var Icon = require('../icon/Icon.js');
17
+ require('../../types/icons.js');
18
+ var DropdownTool = require('../dropdown/DropdownTool.js');
10
19
  var TabPanel_module = require('./TabPanel.module.css');
11
- var jsxRuntime = require('react/jsx-runtime');
12
20
 
13
- var _excluded = ["ref", "as", "id", "className", "label", "icon", "iconBg", "iconColor", "rtlFlip", "badge", "disabled", "onClose", "active", "minimal", "onClick", "tabFlex", "color", "actions", "activeClassName"];
21
+ var _excluded = ["ref", "as", "id", "className", "label", "icon", "iconBg", "iconColor", "rtlFlip", "badge", "disabled", "onClose", "active", "minimal", "onClick", "tabFlex", "color", "actions", "tooltip", "activeClassName"];
14
22
  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
23
  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
24
  var Tab = function Tab(_ref) {
@@ -32,46 +40,57 @@ var Tab = function Tab(_ref) {
32
40
  tabFlex = _ref.tabFlex,
33
41
  color = _ref.color,
34
42
  actions = _ref.actions,
43
+ tooltip = _ref.tooltip,
35
44
  activeClassName = _ref.activeClassName,
36
45
  aria = _objectWithoutProperties(_ref, _excluded);
37
46
  var badgeProps = react.useMemo(function () {
38
47
  return Badge.getBadgeProps(badge);
39
48
  }, [badge]);
49
+ var tooltipProps = react.useMemo(function () {
50
+ if (utilities.isString(tooltip)) return {
51
+ content: tooltip
52
+ };
53
+ return tooltip !== null && tooltip !== void 0 ? tooltip : {};
54
+ }, [tooltip]);
40
55
  var E = as !== null && as !== void 0 ? as : "button";
41
- return /*#__PURE__*/jsxRuntime.jsxs(E, _objectSpread(_objectSpread({
42
- "data-id": id,
43
- disabled: disabled,
44
- "data-color": color,
45
- className: classNames(TabPanel_module.tabButton, className, active && "active pointer-events-none", active && activeClassName, disabled && "text-tint-500 pointer-events-none", tabFlex ? "flex-1" : "flex-initial max-w-36 min-w-24", "flex items-center justify-center px-1 rounded overflow-hidden"),
46
- onClick: function onClick() {
47
- return !active && (_onClick === null || _onClick === void 0 ? void 0 : _onClick(id));
48
- },
49
- ref: ref
50
- }, aria), {}, {
51
- children: [icon && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
52
- icon: icon,
53
- bg: iconBg,
54
- color: iconColor,
55
- rtlFlip: rtlFlip,
56
- className: "flex-content"
57
- }), !minimal && /*#__PURE__*/jsxRuntime.jsx("label", {
58
- className: "flex-initial truncate text-center px-1 py-1",
59
- children: label
60
- }), badge && /*#__PURE__*/jsxRuntime.jsx(Badge.Badge, _objectSpread(_objectSpread({}, badgeProps), {}, {
61
- placement: minimal ? "end" : "",
62
- className: classNames("me-1", badgeProps.className)
63
- })), actions && active && /*#__PURE__*/jsxRuntime.jsx(DropdownTool.DropdownTool, {
64
- className: "bg-base/20 me-1 z-5",
65
- children: actions
66
- }), onClose && /*#__PURE__*/jsxRuntime.jsx("span", {
67
- role: "none",
68
- className: classNames("cursor-pointer me-1 opacity-65 hover:opacity-90 pointer-events-auto"),
69
- onClick: function onClick(e) {
70
- onClose === null || onClose === void 0 || onClose();
71
- e.stopPropagation();
56
+ var W = tooltip ? Tooltip.Tooltip : react.Fragment;
57
+ return /*#__PURE__*/jsxRuntime.jsx(W, _objectSpread(_objectSpread({}, tooltipProps), {}, {
58
+ children: /*#__PURE__*/jsxRuntime.jsxs(E, _objectSpread(_objectSpread({
59
+ "data-id": id,
60
+ disabled: disabled,
61
+ "data-color": color,
62
+ "data-inner-clickable": true,
63
+ className: classNames(TabPanel_module.tabButton, className, active && "active pointer-events-none", active && activeClassName, disabled && "text-tint-500 pointer-events-none", tabFlex ? "flex-1" : "flex-initial max-w-36 min-w-24", "flex items-center justify-center px-1 rounded overflow-hidden"),
64
+ onClick: function onClick() {
65
+ return !active && (_onClick === null || _onClick === void 0 ? void 0 : _onClick(id));
72
66
  },
73
- children: "\xD7"
74
- })]
67
+ ref: ref
68
+ }, aria), {}, {
69
+ children: [icon && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
70
+ icon: icon,
71
+ bg: iconBg,
72
+ color: iconColor,
73
+ rtlFlip: rtlFlip,
74
+ className: "flex-content"
75
+ }), !minimal && /*#__PURE__*/jsxRuntime.jsx("label", {
76
+ className: "flex-initial truncate text-center px-1 py-1",
77
+ children: label
78
+ }), badge && /*#__PURE__*/jsxRuntime.jsx(Badge.Badge, _objectSpread(_objectSpread({}, badgeProps), {}, {
79
+ placement: minimal ? "end" : "",
80
+ className: classNames("me-1", badgeProps.className)
81
+ })), actions && active && /*#__PURE__*/jsxRuntime.jsx(DropdownTool.DropdownTool, {
82
+ className: "bg-base/20 me-1 z-5",
83
+ children: actions
84
+ }), onClose && /*#__PURE__*/jsxRuntime.jsx("span", {
85
+ role: "none",
86
+ className: classNames("cursor-pointer me-1 opacity-65 hover:opacity-90 pointer-events-auto"),
87
+ onClick: function onClick(e) {
88
+ onClose === null || onClose === void 0 || onClose();
89
+ e.stopPropagation();
90
+ },
91
+ children: "\xD7"
92
+ })]
93
+ }))
75
94
  }));
76
95
  };
77
96
 
@@ -3,11 +3,11 @@
3
3
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
4
  var classNames = require('classnames');
5
5
  var react = require('react');
6
+ var jsxRuntime = require('react/jsx-runtime');
6
7
  require('@react-fabric/utilities');
7
8
  var nodeCheck = require('../../utils/nodeCheck.js');
8
9
  var Tab = require('./Tab.js');
9
10
  var TabPanel_module = require('./TabPanel.module.css');
10
- var jsxRuntime = require('react/jsx-runtime');
11
11
 
12
12
  // TODO: implement append/prepend tab-bar items
13
13
 
@@ -20,6 +20,8 @@ var TabPanel = function TabPanel(_ref) {
20
20
  justify = _ref.justify,
21
21
  variant = _ref.variant,
22
22
  tabFlex = _ref.tabFlex,
23
+ append = _ref.append,
24
+ prepend = _ref.prepend,
23
25
  gap = _ref.gap,
24
26
  onBeforeChange = _ref.onBeforeChange,
25
27
  onChange = _ref.onChange;
@@ -57,19 +59,22 @@ var TabPanel = function TabPanel(_ref) {
57
59
  className: classNames(TabPanel_module.tabPanel, "area-content grid bg-base overflow-hidden"),
58
60
  "data-orientation": orientation,
59
61
  "data-variant": variant !== null && variant !== void 0 ? variant : "default",
60
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
61
- className: classNames(TabPanel_module.tabList, headerClassName, justify && "justify-".concat(justify), ["start", "end"].includes(orientation) && "flex-col", "flex flex-nowrap overflow-auto scroll-thin"),
62
- style: {
63
- gap: gap
64
- },
65
- children: tabs.map(function (node) {
66
- var _node$props$tabFlex;
67
- return /*#__PURE__*/react.cloneElement(node, {
68
- tabFlex: (_node$props$tabFlex = node.props.tabFlex) !== null && _node$props$tabFlex !== void 0 ? _node$props$tabFlex : tabFlex,
69
- onClick: handleClick,
70
- active: node.props.id === active
71
- });
72
- })
62
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
63
+ className: classNames(TabPanel_module.tabHeader, headerClassName, justify && "justify-".concat(justify), ["start", "end"].includes(orientation) && "flex-col", "flex flex-nowrap overflow-hidden items-center"),
64
+ children: [prepend, /*#__PURE__*/jsxRuntime.jsx("div", {
65
+ className: classNames(TabPanel_module.tabList, justify && "justify-".concat(justify), ["start", "end"].includes(orientation) && "flex-col", ["bottom", "end"].includes(orientation) ? "self-start" : "self-end", "flex flex-1 flex-nowrap overflow-auto scroll-thin"),
66
+ style: {
67
+ gap: gap
68
+ },
69
+ children: tabs.map(function (node) {
70
+ var _node$props$tabFlex;
71
+ return /*#__PURE__*/react.cloneElement(node, {
72
+ tabFlex: (_node$props$tabFlex = node.props.tabFlex) !== null && _node$props$tabFlex !== void 0 ? _node$props$tabFlex : tabFlex,
73
+ onClick: handleClick,
74
+ active: node.props.id === active
75
+ });
76
+ })
77
+ }), append]
73
78
  }), rest, activeTabPanel]
74
79
  });
75
80
  };
@@ -1 +1 @@
1
- @layer comp{.tabPanel{--color:theme(colors.primary.500);&>.tabList{grid-area:tablist;&>.tabButton{&[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)}&:not(:global(.active)):hover{background-color:theme(colors.tint.100/50%);color:color-mix(in lab,var(--color) 65%,var(--fabric-text))}&:global(.active){--active-color:var(--color);color:color-mix(in lab,var(--color) 65%,var(--fabric-text));font-weight:500}}}&[data-variant=outline]{&>.tabList>.tabButton:global(.active){--active-color:theme(backgroundColor.base);--active-border:0 0 0 1px theme(borderColor.base) inset;background-color:theme(backgroundColor.base)}}&[data-variant=solid]{&>.tabList>.tabButton:global(.active){background-color:var(--color);color:theme(colors.white)}}&[data-variant=soft]{&>.tabList>.tabButton:global(.active){background-color:color-mix(in lab,var(--color) 20%,var(--fabric-bg))}}&[data-orientation=top]{grid-template:"tablist" auto "content" 1fr/1fr;padding-inline:2px;&[data-variant=outline]>.tabList,&[data-variant=soft]>.tabList,&[data-variant=solid]>.tabList{box-shadow:inset 0 -1px 0 theme(borderColor.dimmed)}}&[data-orientation=bottom]{grid-template:"content" 1fr "tablist" auto/1fr;padding-inline:2px;&[data-variant=outline]>.tabList,&[data-variant=soft]>.tabList,&[data-variant=solid]>.tabList{box-shadow:inset 0 1px 0 theme(borderColor.dimmed)}}&[data-orientation=start]{grid-template:"tablist content" 1fr/auto 1fr;padding-block:2px;&[data-variant=outline]>.tabList,&[data-variant=soft]>.tabList,&[data-variant=solid]>.tabList{box-shadow:inset -1px 0 0 theme(borderColor.dimmed)}}&[data-orientation=end]{grid-template:"content tablist" 1fr/1fr auto;padding-block:2px;&[data-variant=outline]>.tabList,&[data-variant=soft]>.tabList,&[data-variant=solid]>.tabList{box-shadow:inset 1px 0 0 theme(borderColor.dimmed)}}}}@layer util{.tabPanel{&>.tabList>.tabButton:global(.active){pointer-events:none}&[data-orientation=top]>.tabList{&>.tabButton:global(.active){box-shadow:0 -2px 0 var(--active-color) inset,var(--active-border,0 0 0 transparent)}}&[data-orientation=bottom]>.tabList{&>.tabButton:global(.active){box-shadow:0 2px 0 var(--active-color) inset,var(--active-border,0 0 0 transparent)}}&[data-orientation=start]>.tabList{&>.tabButton:global(.active){box-shadow:-2px 0 0 var(--active-color) inset,var(--active-border,0 0 0 transparent)}}&[data-orientation=end]>.tabList{&>.tabButton:global(.active){box-shadow:2px 0 0 var(--active-color) inset,var(--active-border,0 0 0 transparent)}}&[data-orientation=top]>.tabList>.tabButton{border-end-end-radius:0;border-end-start-radius:0;margin-top:2px;margin-inline:1px}&[data-orientation=bottom]>.tabList>.tabButton{border-start-end-radius:0;border-start-start-radius:0;margin-bottom:2px;margin-inline:1px}&[data-orientation=start]>.tabList>.tabButton{border-end-end-radius:0;border-start-end-radius:0;margin-block:1px;margin-inline-start:2px}&[data-orientation=end]>.tabList>.tabButton{border-end-start-radius:0;border-start-start-radius:0;margin-block:1px;margin-inline-end:2px}}}
1
+ @layer comp{.tabPanel{--color:theme(colors.primary.500);&>.tabHeader{grid-area:tablist;&>.tabList>.tabButton{&[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)}&:not(:global(.active)):hover{background-color:theme(colors.tint.100/50%);color:color-mix(in lab,var(--color) 65%,var(--fabric-text))}&:global(.active){--active-color:var(--color);color:color-mix(in lab,var(--color) 65%,var(--fabric-text));font-weight:500}}}&[data-variant=outline]{& .tabList>.tabButton:global(.active){--active-color:theme(backgroundColor.base);--active-border:0 0 0 1px theme(borderColor.base) inset;background-color:theme(backgroundColor.base)}}&[data-variant=solid]{& .tabList>.tabButton:global(.active){background-color:var(--color);color:theme(colors.white)}}&[data-variant=soft]{& .tabList>.tabButton:global(.active){background-color:color-mix(in lab,var(--color) 20%,var(--fabric-bg))}}&[data-orientation=top]{grid-template:"tablist" auto "content" 1fr/1fr;.tabHeader{box-shadow:inset 0 -1px 0 theme(borderColor.dimmed)}}&[data-orientation=bottom]{grid-template:"content" 1fr "tablist" auto/1fr;.tabHeader{box-shadow:inset 0 1px 0 theme(borderColor.dimmed);margin-top:1px}}&[data-orientation=start]{grid-template:"tablist content" 1fr/auto 1fr;.tabHeader{box-shadow:inset -1px 0 0 theme(borderColor.dimmed)}}&[data-orientation=end]{grid-template:"content tablist" 1fr/1fr auto;.tabHeader{box-shadow:inset 1px 0 0 theme(borderColor.dimmed)}}}}@layer util{.tabPanel{& .tabList>.tabButton:global(.active){pointer-events:none}&[data-orientation=top] .tabList{&>.tabButton:global(.active){box-shadow:0 -2px 0 var(--active-color) inset,var(--active-border,0 0 0 transparent)}}&[data-orientation=bottom] .tabList{&>.tabButton:global(.active){box-shadow:0 2px 0 var(--active-color) inset,var(--active-border,0 0 0 transparent)}}&[data-orientation=start] .tabList{&>.tabButton:global(.active){box-shadow:-2px 0 0 var(--active-color) inset,var(--active-border,0 0 0 transparent)}}&[data-orientation=end] .tabList{&>.tabButton:global(.active){box-shadow:2px 0 0 var(--active-color) inset,var(--active-border,0 0 0 transparent)}}&[data-orientation=top] .tabList>.tabButton{border-end-end-radius:0;border-end-start-radius:0;margin-top:2px;margin-inline:1px}&[data-orientation=bottom] .tabList>.tabButton{border-start-end-radius:0;border-start-start-radius:0;margin-bottom:2px;margin-inline:1px}&[data-orientation=start] .tabList>.tabButton{border-end-end-radius:0;border-start-end-radius:0;margin-block:1px;margin-inline-start:2px}&[data-orientation=end] .tabList>.tabButton{border-end-start-radius:0;border-start-start-radius:0;margin-block:1px;margin-inline-end:2px}}}
@@ -26,6 +26,8 @@ var Aside = function Aside(_ref) {
26
26
  iconBg = _ref.iconBg,
27
27
  iconColor = _ref.iconColor,
28
28
  rtlFlip = _ref.rtlFlip,
29
+ className = _ref.className,
30
+ bodyClassName = _ref.bodyClassName,
29
31
  headerClassName = _ref.headerClassName,
30
32
  resizeable = _ref.resizeable,
31
33
  flyout = _ref.flyout,
@@ -101,15 +103,17 @@ var Aside = function Aside(_ref) {
101
103
  };
102
104
  }, [width, minWidth, maxWidth]);
103
105
  return /*#__PURE__*/jsxRuntime.jsxs("aside", {
104
- className: classNames(Aside_module.aside, "overflow-hidden grid"),
106
+ className: classNames(Aside_module.aside, className, "overflow-hidden grid"),
105
107
  "data-align": align,
106
108
  "data-flyout": peek,
109
+ "data-loading": loading,
107
110
  "data-collapsed": isCollapsed,
108
111
  style: isCollapsed ? undefined : widthStyles,
109
112
  "data-testid": testId,
110
113
  "data-test-value": testValue,
111
114
  children: [/*#__PURE__*/jsxRuntime.jsxs("header", {
112
115
  className: classNames(Aside_module.asideHeader, headerClassName, "grid area-head items-center"),
116
+ "data-ref": "asideHeader",
113
117
  children: [title && /*#__PURE__*/jsxRuntime.jsx("div", {
114
118
  className: classNames(Aside_module.asideTitle, "truncate py-0.5 px-1 select-none pointer-events-none"),
115
119
  children: title
@@ -138,7 +142,7 @@ var Aside = function Aside(_ref) {
138
142
  }), /*#__PURE__*/jsxRuntime.jsx("section", {
139
143
  ref: elementRef,
140
144
  "data-ref": "asideBody",
141
- className: classNames(Aside_module.asideBody, "overflow-hidden grid"),
145
+ className: classNames(Aside_module.asideBody, bodyClassName, "overflow-hidden grid"),
142
146
  style: isCollapsed ? widthStyles : undefined,
143
147
  children: /*#__PURE__*/jsxRuntime.jsx(ErrorBoundary.ErrorBoundary, {
144
148
  children: children
@@ -44,12 +44,15 @@ var Content = function Content(_ref) {
44
44
  testValue = _ref["data-test-value"];
45
45
  var resizeHandle = useResizeObserver.useResizeObserver(onResize);
46
46
  var scrollHandler = useDebounce.useDebounce(function (e) {
47
+ var el = e.target;
47
48
  onScroll === null || onScroll === void 0 || onScroll({
48
- // @ts-expect-error ignore
49
- left: e.target.scrollLeft,
50
- // @ts-expect-error ignore
51
- top: e.target.scrollTop
52
- });
49
+ left: el.scrollLeft,
50
+ top: el.scrollTop,
51
+ scrollHeight: el.scrollHeight,
52
+ scrollWidth: el.scrollWidth,
53
+ width: el.offsetWidth,
54
+ height: el.offsetHeight
55
+ }, e);
53
56
  }, [onScroll]);
54
57
  react.useImperativeHandle(ref, function () {
55
58
  return resizeHandle.current;
@@ -4,10 +4,11 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
5
  var classNames = require('classnames');
6
6
  var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
7
+ require('react');
8
+ var jsxRuntime = require('react/jsx-runtime');
7
9
  var getColor = require('../../utils/getColor.js');
8
10
  require('@react-fabric/utilities');
9
11
  var HeadFoot_module = require('./HeadFoot.module.css');
10
- var jsxRuntime = require('react/jsx-runtime');
11
12
 
12
13
  var _excluded = ["as", "children", "className", "bg", "color", "flex", "area", "dir", "align", "justify"];
13
14
  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; }
@@ -39,7 +40,7 @@ var HeadFoot = function HeadFoot(_ref) {
39
40
  }, [bg], "HeadFoot styles");
40
41
  return /*#__PURE__*/jsxRuntime.jsx(E, _objectSpread(_objectSpread({
41
42
  dir: dir,
42
- className: classNames(HeadFoot_module.headfoot, className, bg && getColor.getBgClass(bg), color && getColor.getColorClass(color), area === "head" ? "area-head" : "area-foot", "leading-none", flex && "flex flex-nowrap gap-px", align && "items-".concat(align), justify && "justify-".concat(justify)),
43
+ className: classNames(HeadFoot_module.headfoot, className, bg && getColor.getBgClass(bg), color && getColor.getColorClass(color), area === "head" ? "area-head" : "area-foot", "leading-none", flex && "flex flex-nowrap", align && "items-".concat(align), justify && "justify-".concat(justify)),
43
44
  style: styles
44
45
  }, aria), {}, {
45
46
  children: children
@@ -1 +1 @@
1
- @layer comp{.headfoot{.buttonWrapper+.buttonWrapper{margin-inline-start:.25rem}}}@layer util{.headfoot{height:unset;margin:unset;width:unset}}
1
+ @layer comp{.headfoot{gap:2px;.buttonWrapper+.buttonWrapper{margin-inline-start:.25rem}}}@layer util{.headfoot{height:unset;margin:unset;width:unset}}
@@ -47,6 +47,7 @@ var Page = function Page(_ref) {
47
47
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
48
48
  "data-testid": testId,
49
49
  "data-test-value": testValue,
50
+ "data-loading": loading,
50
51
  className: classNames(Page_module.page, "overflow-hidden grid area-content", paper && "shadow-paper m-[6px] rounded-capped"),
51
52
  children: [title && /*#__PURE__*/jsxRuntime.jsxs("div", {
52
53
  "data-ref": "pageTitle",
@@ -53,7 +53,7 @@ var Col = function Col(_ref3) {
53
53
  stretchContent = _ref3.stretchContent,
54
54
  aria = _objectWithoutProperties(_ref3, _excluded3);
55
55
  return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
56
- className: classNames(Responsive_module.col, className, stretchContent && Responsive_module.stretchContent, flex === "auto" && "flex-content", flex === "fill" && "flex-1", flex === "full" && "flex-full", align && "self-".concat(align))
56
+ className: classNames(Responsive_module.col, className, stretchContent && Responsive_module.stretchContent, flex === "fill" && "flex-1", flex === "full" && "flex-full", flex === "auto" && "flex-initial", flex === "content" && "flex-content", align && "self-".concat(align))
57
57
  }, aria), {}, {
58
58
  children: children
59
59
  }));
@@ -1 +1 @@
1
- @layer comp{.section{grid-template:"head head head" auto "side-s content side-e" 1fr "foot foot foot" auto/auto 1fr auto}}
1
+ @layer comp{.section{grid-template:". loader ." auto "head head head" auto "side-s content side-e" 1fr "foot foot foot" auto/auto 1fr auto}}
@@ -11,17 +11,19 @@ var useNavigator = function useNavigator() {
11
11
  _useState2 = _slicedToArray(_useState, 2),
12
12
  currentIndex = _useState2[0],
13
13
  setCurrentIndex = _useState2[1];
14
+ var refCurrent = react.useRef(defaultIndex);
14
15
  var onNavigate = react.useCallback(function (dir) {
15
16
  if (dir === -1) {
16
- setCurrentIndex(currentIndex > 0 ? currentIndex - 1 : totalCount - 1);
17
+ refCurrent.current = refCurrent.current > 0 ? refCurrent.current - 1 : totalCount - 1;
17
18
  }
18
19
  if (dir === 1) {
19
- setCurrentIndex(currentIndex + 1 < totalCount ? currentIndex + 1 : 0);
20
+ refCurrent.current = refCurrent.current + 1 < totalCount ? refCurrent.current + 1 : 0;
20
21
  }
21
- }, [currentIndex, totalCount]);
22
+ setCurrentIndex(refCurrent.current);
23
+ }, [totalCount]);
22
24
  var headLabel = react.useMemo(function () {
23
25
  return /*#__PURE__*/jsxRuntime.jsxs("span", {
24
- className: "text-muted leading-none",
26
+ className: "text-muted leading-none select-none",
25
27
  children: [currentIndex + 1, "/", totalCount]
26
28
  });
27
29
  }, [currentIndex, totalCount]);
package/dist/cjs/index.js CHANGED
@@ -44,20 +44,22 @@ var ThemeProvider = require('./core/theme/ThemeProvider.js');
44
44
  var Viewport = require('./core/viewport/Viewport.js');
45
45
  var index = require('./i18n/index.js');
46
46
  require('@babel/runtime/helpers/defineProperty');
47
+ require('@babel/runtime/helpers/slicedToArray');
47
48
  require('@floating-ui/react');
48
49
  require('classnames');
49
50
  require('react');
50
51
  require('react-i18next');
51
52
  var icons = require('./types/icons.js');
52
53
  var Title = require('./typography/Title.js');
54
+ var cloneElement = require('./utils/cloneElement.js');
53
55
  require('@react-fabric/utilities');
54
56
  require('react/jsx-runtime');
55
57
  var Flyout = require('./overlays/flyout/Flyout.js');
56
58
  var Modal = require('./overlays/modal/Modal.js');
57
59
  var Tooltip = require('./overlays/tooltip/Tooltip.js');
58
60
  var Abbr = require('./typography/Abbr.js');
61
+ var Anchor = require('./typography/Anchor.js');
59
62
  var Copy = require('./typography/Copy.js');
60
- var Link = require('./typography/Link.js');
61
63
  var Mark = require('./typography/Mark.js');
62
64
  var Text = require('./typography/Text.js');
63
65
  var useClientService = require('./hooks/useClientService.js');
@@ -72,6 +74,7 @@ var useResizeObserver = require('./hooks/useResizeObserver.js');
72
74
  var useStorage = require('./hooks/useStorage.js');
73
75
  var HotKey = require('./hotkeys/HotKey.js');
74
76
  var HotKeyLabel = require('./hotkeys/HotKeyLabel.js');
77
+ var HotKeyWrapper = require('./hotkeys/HotKeyWrapper.js');
75
78
  var Global = require('./context/Global.js');
76
79
 
77
80
 
@@ -134,12 +137,13 @@ Object.defineProperty(exports, "CoreIcons", {
134
137
  get: function () { return icons.CoreIcons; }
135
138
  });
136
139
  exports.Title = Title.Title;
140
+ exports.cloneChildren = cloneElement.cloneChildren;
137
141
  exports.Flyout = Flyout.Flyout;
138
142
  exports.Modal = Modal.Modal;
139
143
  exports.Tooltip = Tooltip.Tooltip;
140
144
  exports.Abbr = Abbr.Abbr;
145
+ exports.Anchor = Anchor.Anchor;
141
146
  exports.Copy = Copy.Copy;
142
- exports.Link = Link.Link;
143
147
  exports.Mark = Mark.Mark;
144
148
  exports.Text = Text.Text;
145
149
  exports.useClientService = useClientService.useClientService;
@@ -157,6 +161,7 @@ exports.useLocalStorage = useStorage.useLocalStorage;
157
161
  exports.useSessionStorage = useStorage.useSessionStorage;
158
162
  exports.HotKey = HotKey.HotKey;
159
163
  exports.HotKeyLabel = HotKeyLabel.HotKeyLabel;
164
+ exports.HotKeyWrapper = HotKeyWrapper.HotKeyWrapper;
160
165
  exports.ApplicationProvider = Global.ApplicationProvider;
161
166
  exports.useApplicationContext = Global.useApplicationContext;
162
167
  exports.useGlobals = Global.useGlobals;
@@ -1,19 +1,20 @@
1
1
  'use strict';
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var react = require('@floating-ui/react');
4
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var react$1 = require('@floating-ui/react');
5
6
  var classNames = require('classnames');
6
- var react$1 = require('react');
7
+ var react = require('react');
7
8
  var reactI18next = require('react-i18next');
8
9
  var Animations = require('../../components/animations/Animations.js');
9
10
  var Button = require('../../components/button/Button.js');
10
11
  var Icon = require('../../components/icon/Icon.js');
11
12
  var icons = require('../../types/icons.js');
12
13
  var Title = require('../../typography/Title.js');
14
+ var jsxRuntime = require('react/jsx-runtime');
13
15
  var getColor = require('../../utils/getColor.js');
14
16
  require('@react-fabric/utilities');
15
17
  var Alert_module = require('./Alert.module.css');
16
- var jsxRuntime = require('react/jsx-runtime');
17
18
 
18
19
  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; }
19
20
  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; }
@@ -28,10 +29,16 @@ var Alert = function Alert(_ref) {
28
29
  onClose = _ref.onClose,
29
30
  type = _ref.type,
30
31
  okLabel = _ref.okLabel,
31
- cancelLabel = _ref.cancelLabel;
32
+ cancelLabel = _ref.cancelLabel,
33
+ placeholder = _ref.placeholder,
34
+ defaultValue = _ref.defaultValue;
32
35
  var _useTranslation = reactI18next.useTranslation("core"),
33
36
  t = _useTranslation.t;
34
- var _useFloating = react.useFloating({
37
+ var _useState = react.useState(defaultValue),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ value = _useState2[0],
40
+ setValue = _useState2[1];
41
+ var _useFloating = react$1.useFloating({
35
42
  open: true,
36
43
  onOpenChange: function onOpenChange() {
37
44
  handleClose(false);
@@ -39,16 +46,16 @@ var Alert = function Alert(_ref) {
39
46
  }),
40
47
  refs = _useFloating.refs,
41
48
  context = _useFloating.context;
42
- var dismiss = react.useDismiss(context, {
49
+ var dismiss = react$1.useDismiss(context, {
43
50
  outsidePressEvent: "mousedown",
44
51
  escapeKey: true
45
52
  });
46
- var role = react.useRole(context);
53
+ var role = react$1.useRole(context);
47
54
 
48
55
  // Merge all the interactions into prop getters
49
- var _useInteractions = react.useInteractions([dismiss, role]),
56
+ var _useInteractions = react$1.useInteractions([dismiss, role]),
50
57
  getFloatingProps = _useInteractions.getFloatingProps;
51
- var iconType = react$1.useMemo(function () {
58
+ var iconType = react.useMemo(function () {
52
59
  if (icon) return /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
53
60
  icon: icon,
54
61
  size: "md",
@@ -78,25 +85,25 @@ var Alert = function Alert(_ref) {
78
85
  });
79
86
  }
80
87
  }, [color, type, icon]);
81
- var handleClose = react$1.useCallback(function (ret) {
88
+ var handleClose = react.useCallback(function (ret) {
82
89
  refs.floating.current && (refs.floating.current.dataset.show = "false");
83
90
  setTimeout(function () {
84
91
  onClose(ret);
85
92
  }, 250);
86
93
  }, [onClose]);
87
- react$1.useLayoutEffect(function () {
94
+ react.useLayoutEffect(function () {
88
95
  setTimeout(function () {
89
96
  return refs.floating.current && (refs.floating.current.dataset.show = "true");
90
97
  }, 100);
91
98
  }, []);
92
- return /*#__PURE__*/jsxRuntime.jsx(react.FloatingPortal, {
93
- children: /*#__PURE__*/jsxRuntime.jsx(react.FloatingOverlay, {
99
+ return /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
100
+ children: /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingOverlay, {
94
101
  lockScroll: true,
95
102
  style: {
96
103
  zIndex: "var(--z-overlay-mask)"
97
104
  },
98
105
  className: "bg-base/50 backdrop-blur-sm grid place-items-center",
99
- children: /*#__PURE__*/jsxRuntime.jsx(react.FloatingFocusManager, {
106
+ children: /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingFocusManager, {
100
107
  context: context,
101
108
  children: /*#__PURE__*/jsxRuntime.jsxs("dialog", _objectSpread(_objectSpread({
102
109
  role: "alertdialog",
@@ -107,11 +114,29 @@ var Alert = function Alert(_ref) {
107
114
  className: classNames("area-[icon] text-lg py-2"),
108
115
  children: iconType
109
116
  }), /*#__PURE__*/jsxRuntime.jsx(Title.Title, {
110
- className: "font-medium area-[title]",
117
+ className: "font-medium area-[title] self-center",
111
118
  children: title
112
- }), /*#__PURE__*/jsxRuntime.jsx("p", {
119
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
113
120
  className: "area-[message] py-4",
114
121
  children: message
122
+ }), type === "prompt" && /*#__PURE__*/jsxRuntime.jsx("input", {
123
+ value: value,
124
+ placeholder: placeholder,
125
+ className: classNames("area-[input] appearance-none outline-0 ring-".concat(color, "-500 border rounded border-").concat(color, "-200 w-full px-2 py-1")),
126
+ ref: function ref(e) {
127
+ return e != null && setTimeout(function () {
128
+ return e.focus();
129
+ }, 100);
130
+ },
131
+ onBlur: function onBlur(e) {
132
+ return e.target.focus();
133
+ },
134
+ onChange: function onChange(e) {
135
+ return setValue(e.target.value);
136
+ },
137
+ onKeyDown: function onKeyDown(e) {
138
+ return e.key === "Enter" && handleClose(value);
139
+ }
115
140
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
116
141
  className: "flex gap-1 justify-center flex-nowrap pt-2 area-[actions]",
117
142
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
@@ -133,7 +158,7 @@ var Alert = function Alert(_ref) {
133
158
  variant: "solid",
134
159
  color: color,
135
160
  onClick: function onClick() {
136
- return handleClose(true);
161
+ return handleClose(type === "prompt" ? value : true);
137
162
  },
138
163
  children: okLabel !== null && okLabel !== void 0 ? okLabel : t("action.ok", "OK")
139
164
  })]
@@ -1 +1 @@
1
- @layer comp{.alert{gap:.5rem 1rem;grid-template:"icon title" auto "icon message" auto "input input" auto "actions actions" auto/auto 1fr;margin-top:-100%;opacity:0;transition:margin .4s,opacity .3s .2s;z-index:var(--z-overlay);&[data-show=true]{margin-top:0;opacity:1}}}
1
+ @layer comp{.alert{gap:.5rem 1rem;grid-template:"icon title" auto "message message" auto "input input" auto "actions actions" auto/auto 1fr;margin-top:-100%;opacity:0;transition:margin .4s,opacity .3s .2s;z-index:var(--z-overlay);&[data-show=true]{margin-top:0;opacity:1}}}