@react-fabric/core 1.0.0-beta.1 → 1.0.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) 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 +4 -2
  18. package/dist/cjs/components/dropdown/DropdownTool.js +3 -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 +3 -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 +3 -3
  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 +4 -2
  60. package/dist/esm/components/dropdown/DropdownTool.js +3 -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 +2 -1
  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 +3 -3
  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/media/Media.d.ts +2 -2
  96. package/dist/types/components/menu/ContextMenu.d.ts +2 -1
  97. package/dist/types/components/menu/types.d.ts +2 -2
  98. package/dist/types/components/navigator/Navigator.d.ts +3 -3
  99. package/dist/types/components/tabpanel/Tab.d.ts +8 -4
  100. package/dist/types/components/tabpanel/TabPanel.d.ts +10 -1
  101. package/dist/types/core/aside/Aside.d.ts +9 -5
  102. package/dist/types/core/content/Content.d.ts +3 -2
  103. package/dist/types/core/section/Section.d.ts +2 -2
  104. package/dist/types/overlays/alert/Alert.d.ts +9 -1
  105. package/dist/types/overlays/modal/Modal.d.ts +1 -1
  106. package/dist/types/types/icons.d.ts +3 -0
  107. package/dist/types/types/index.d.ts +6 -2
  108. package/dist/types/typography/Abbr.d.ts +3 -3
  109. package/dist/types/typography/{Link.d.ts → Anchor.d.ts} +4 -3
  110. package/dist/types/typography/index.d.ts +1 -1
  111. package/package.json +3 -3
  112. package/src/components/actionLabel/ActionLabel.tsx +13 -3
  113. package/src/components/animations/Animations.tsx +9 -3
  114. package/src/components/avatar/Avatar.tsx +68 -81
  115. package/src/components/badge/Badge.tsx +24 -20
  116. package/src/components/breadcrumbs/Breadcrumbs.tsx +3 -3
  117. package/src/components/button/Button.module.css +1 -1
  118. package/src/components/button/Button.tsx +16 -10
  119. package/src/components/button/ConfirmButton.tsx +10 -4
  120. package/src/components/callout/Callout.tsx +8 -1
  121. package/src/components/card/Card.tsx +4 -0
  122. package/src/components/chip/Chip.module.css +1 -1
  123. package/src/components/chip/Chip.tsx +2 -4
  124. package/src/components/collapsable/Collapsable.tsx +12 -1
  125. package/src/components/divider/Divider.module.css +32 -0
  126. package/src/components/divider/Divider.tsx +3 -2
  127. package/src/components/dropdown/Dropdown.tsx +3 -2
  128. package/src/components/dropdown/DropdownTool.tsx +3 -1
  129. package/src/components/icon/Icon.tsx +46 -57
  130. package/src/components/media/Media.tsx +2 -2
  131. package/src/components/menu/ContextMenu.tsx +36 -11
  132. package/src/components/menu/Menu.tsx +2 -2
  133. package/src/components/menu/types.ts +2 -2
  134. package/src/components/navigator/Navigator.tsx +16 -4
  135. package/src/components/panel/Panel.tsx +2 -0
  136. package/src/components/tabpanel/Tab.tsx +78 -59
  137. package/src/components/tabpanel/TabPanel.module.css +19 -26
  138. package/src/components/tabpanel/TabPanel.tsx +32 -10
  139. package/src/core/aside/Aside.tsx +26 -4
  140. package/src/core/content/Content.tsx +16 -10
  141. package/src/core/headfoot/HeadFoot.module.css +2 -0
  142. package/src/core/headfoot/HeadFoot.tsx +1 -1
  143. package/src/core/page/Page.tsx +1 -0
  144. package/src/core/section/Section.tsx +8 -2
  145. package/src/hooks/useNavigator.tsx +10 -5
  146. package/src/overlays/alert/Alert.tsx +25 -2
  147. package/src/overlays/modal/Modal.tsx +2 -2
  148. package/src/overlays/tooltip/Tooltip.module.css +1 -1
  149. package/src/overlays/tooltip/Tooltip.tsx +4 -4
  150. package/src/types/icons.ts +6 -0
  151. package/src/types/index.ts +10 -2
  152. package/src/typography/Abbr.tsx +4 -3
  153. package/src/typography/{Link.tsx → Anchor.tsx} +6 -3
  154. package/src/typography/Typography.module.css +2 -2
  155. package/src/typography/index.ts +1 -1
@@ -97,7 +97,7 @@ var Tooltip = function Tooltip(_ref) {
97
97
  };
98
98
  return /*#__PURE__*/jsxRuntime.jsx("span", {
99
99
  role: "none",
100
- className: "ms-2 cursor-pointer text-invert flex-content opacity-75 hover:opacity-90 active:opacity-60",
100
+ className: "ms-2 cursor-pointer flex-content opacity-75 hover:opacity-90 active:opacity-60",
101
101
  onClick: handler,
102
102
  children: /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
103
103
  icon: icons.CoreIcons.copy
@@ -113,12 +113,12 @@ var Tooltip = function Tooltip(_ref) {
113
113
  children: /*#__PURE__*/jsxRuntime.jsxs("dfn", _objectSpread(_objectSpread({
114
114
  "data-ref": "tooltip",
115
115
  "data-color": color,
116
- className: classNames(Tooltip_module.tooltip, "select-none text-sm not-italic flex py-1 px-2 rounded shadow-md bg-current"),
116
+ className: classNames(Tooltip_module.tooltip, "select-none text-sm not-italic flex py-1 px-2 !max-w-64 rounded shadow-md bg-current"),
117
117
  ref: refs.setFloating,
118
118
  style: floatingStyles
119
119
  }, getFloatingProps()), {}, {
120
120
  children: [/*#__PURE__*/jsxRuntime.jsx("span", {
121
- className: classNames("font-medium text-invert flex-1", utilities.isString(content) && "whitespace-pre-wrap"),
121
+ className: classNames("font-medium text-dimmed flex-1", utilities.isString(content) && "whitespace-pre-wrap mixed-lang"),
122
122
  children: content
123
123
  }), copyEl, /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingArrow, {
124
124
  ref: arrowRef,
@@ -1 +1 @@
1
- @layer comp{.tooltip{color:theme(backgroundColor.invert);z-index:var(--z-tooltip);&[data-color=primary]{color:theme(colors.primary.600)}&[data-color=accent]{color:theme(colors.accent.600)}&[data-color=info]{color:theme(colors.info.600)}&[data-color=danger]{color:theme(colors.danger.600)}&[data-color=success]{color:theme(colors.success.600)}&[data-color=warning]{color:theme(colors.warning.600)}}}
1
+ @layer comp{.tooltip{color:theme(backgroundColor.dimmed);z-index:var(--z-tooltip);&[data-color=primary]{color:theme(colors.primary.600)}&[data-color=accent]{color:theme(colors.accent.600)}&[data-color=info]{color:theme(colors.info.600)}&[data-color=danger]{color:theme(colors.danger.600)}&[data-color=success]{color:theme(colors.success.600)}&[data-color=warning]{color:theme(colors.warning.600)}}}
@@ -52,6 +52,8 @@ exports.CoreIcons = void 0;
52
52
  _CoreIcons.caretUp = "M7,15L12,10L17,15H7Z";
53
53
  _CoreIcons.expand = "M5 2c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v14c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h14c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-14c0-0.828-0.337-1.58-0.879-2.121s-1.293-0.879-2.121-0.879zM5 4h14c0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707v14c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-14c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-14c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293zM8 13h3v3c0 0.552 0.448 1 1 1s1-0.448 1-1v-3h3c0.552 0 1-0.448 1-1s-0.448-1-1-1h-3v-3c0-0.552-0.448-1-1-1s-1 0.448-1 1v3h-3c-0.552 0-1 0.448-1 1s0.448 1 1 1z";
54
54
  _CoreIcons.collapse = "M5 2c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v14c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h14c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-14c0-0.828-0.337-1.58-0.879-2.121s-1.293-0.879-2.121-0.879zM5 4h14c0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707v14c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-14c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-14c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293zM8 13h8c0.552 0 1-0.448 1-1s-0.448-1-1-1h-8c-0.552 0-1 0.448-1 1s0.448 1 1 1z";
55
+ _CoreIcons.expandActive = "M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z";
56
+ _CoreIcons.collapseActive = "M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z";
55
57
  _CoreIcons.expandAll = "M5.293 16.707l6 6c0.391 0.391 1.024 0.391 1.414 0l6-6c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM18.707 7.293l-6-6c-0.391-0.391-1.024-0.391-1.414 0l-6 6c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z";
56
58
  _CoreIcons.colapseAll = "M18.707 21.293l-6-6c-0.391-0.391-1.024-0.391-1.414 0l-6 6c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414zM5.293 2.707l6 6c0.391 0.391 1.024 0.391 1.414 0l6-6c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z";
57
59
  _CoreIcons.folderClosed = "M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z";
@@ -118,6 +120,7 @@ exports.CoreIcons = void 0;
118
120
  _CoreIcons.mic = "M12 2c0.553 0 1.051 0.223 1.414 0.586s0.586 0.861 0.586 1.414v8c0 0.553-0.223 1.051-0.586 1.414s-0.861 0.586-1.414 0.586-1.051-0.223-1.414-0.586-0.586-0.861-0.586-1.414v-8c0-0.553 0.223-1.051 0.586-1.414s0.861-0.586 1.414-0.586zM12 0c-1.104 0-2.106 0.449-2.828 1.172s-1.172 1.724-1.172 2.828v8c0 1.104 0.449 2.106 1.172 2.828s1.724 1.172 2.828 1.172 2.106-0.449 2.828-1.172 1.172-1.724 1.172-2.828v-8c0-1.104-0.449-2.106-1.172-2.828s-1.724-1.172-2.828-1.172zM8 24h8c0.552 0 1-0.448 1-1s-0.448-1-1-1h-3v-2.062c1.809-0.226 3.432-1.056 4.657-2.281 1.446-1.447 2.343-3.448 2.343-5.657v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1v2c0 1.657-0.67 3.156-1.757 4.243s-2.586 1.757-4.243 1.757-3.156-0.67-4.243-1.757-1.757-2.586-1.757-4.243v-2c0-0.552-0.448-1-1-1s-1 0.448-1 1v2c0 2.209 0.897 4.21 2.343 5.657 1.225 1.225 2.847 2.055 4.657 2.281v2.062h-3c-0.552 0-1 0.448-1 1s0.448 1 1 1z";
119
121
  _CoreIcons.play = "M5.541 2.159c-0.153-0.1-0.34-0.159-0.541-0.159-0.552 0-1 0.448-1 1v18c-0.001 0.182 0.050 0.372 0.159 0.541 0.299 0.465 0.917 0.599 1.382 0.3l14-9c0.114-0.072 0.219-0.174 0.3-0.3 0.299-0.465 0.164-1.083-0.3-1.382zM6 4.832l11.151 7.168-11.151 7.168z";
120
122
  _CoreIcons.pause = "M6 3c-0.552 0-1 0.448-1 1v16c0 0.552 0.448 1 1 1h4c0.552 0 1-0.448 1-1v-16c0-0.552-0.448-1-1-1zM7 5h2v14h-2zM14 3c-0.552 0-1 0.448-1 1v16c0 0.552 0.448 1 1 1h4c0.552 0 1-0.448 1-1v-16c0-0.552-0.448-1-1-1zM15 5h2v14h-2z";
123
+ _CoreIcons.stop = "M18,18H6V6H18V18Z";
121
124
  _CoreIcons.volumeOn = "M10 7.081v9.839l-3.375-2.7c-0.17-0.137-0.388-0.22-0.625-0.22h-3v-4h3c0.218 0.001 0.439-0.071 0.625-0.219zM10.375 4.219l-4.726 3.781h-3.649c-0.552 0-1 0.448-1 1v6c0 0.552 0.448 1 1 1h3.649l4.726 3.781c0.431 0.345 1.061 0.275 1.406-0.156 0.148-0.185 0.22-0.407 0.219-0.625v-14c0-0.552-0.448-1-1-1-0.237 0-0.455 0.083-0.625 0.219zM18.363 5.637c1.757 1.758 2.635 4.059 2.635 6.364 0 2.304-0.878 4.605-2.635 6.362-0.39 0.391-0.39 1.024 0 1.414s1.024 0.39 1.414 0c2.147-2.147 3.22-4.963 3.221-7.776s-1.074-5.63-3.221-7.778c-0.39-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414zM14.833 9.167c0.781 0.781 1.171 1.803 1.171 2.828s-0.39 2.047-1.171 2.828c-0.39 0.391-0.39 1.024 0 1.414s1.024 0.39 1.414 0c1.171-1.171 1.757-2.708 1.757-4.242s-0.586-3.071-1.757-4.242c-0.39-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z";
122
125
  _CoreIcons.volumeOff = "M10 7.081v9.839l-3.375-2.7c-0.17-0.137-0.388-0.22-0.625-0.22h-3v-4h3c0.218 0.001 0.439-0.071 0.625-0.219zM10.375 4.219l-4.726 3.781h-3.649c-0.552 0-1 0.448-1 1v6c0 0.552 0.448 1 1 1h3.649l4.726 3.781c0.431 0.345 1.061 0.275 1.406-0.156 0.148-0.185 0.22-0.407 0.219-0.625v-14c0-0.552-0.448-1-1-1-0.237 0-0.455 0.083-0.625 0.219zM16.293 9.707l2.293 2.293-2.293 2.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l2.293-2.293 2.293 2.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-2.293-2.293 2.293-2.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-2.293 2.293-2.293-2.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z";
123
126
  _CoreIcons.alignLeft = "M3,3H21V5H3V3M3,7H15V9H3V7M3,11H21V13H3V11M3,15H15V17H3V15M3,19H21V21H3V19Z";
@@ -42,6 +42,7 @@ var AbbrText = function AbbrText(_ref) {
42
42
  var Abbr = function Abbr(_ref2) {
43
43
  var children = _ref2.children,
44
44
  abbr = _ref2.abbr,
45
+ className = _ref2.className,
45
46
  renderer = _ref2.renderer,
46
47
  _ref2$copyContent = _ref2.copyContent,
47
48
  copyContent = _ref2$copyContent === void 0 ? "text" : _ref2$copyContent;
@@ -101,6 +102,7 @@ var Abbr = function Abbr(_ref2) {
101
102
 
102
103
  /** ***************** component *******************/
103
104
  return /*#__PURE__*/jsxRuntime.jsx("span", {
105
+ className: className,
104
106
  children: inner
105
107
  });
106
108
  };
@@ -15,7 +15,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
15
15
  /**
16
16
  * Typography link component
17
17
  */
18
- var Link = function Link(_ref) {
18
+ var Anchor = function Anchor(_ref) {
19
19
  var ref = _ref.ref,
20
20
  as = _ref.as,
21
21
  children = _ref.children,
@@ -52,4 +52,4 @@ var Link = function Link(_ref) {
52
52
  }));
53
53
  };
54
54
 
55
- exports.Link = Link;
55
+ exports.Anchor = Anchor;
@@ -1 +1 @@
1
- @layer comp{.title{line-height:1.125}.moreLink{margin:-.25rem 0 1rem;text-align:end;&>span{color:theme(colors.accent.700);cursor:pointer;font-size:.75rem;user-select:none;&:hover{color:theme(colors.accent.500);text-decoration:underline;text-underline-offset:2px}}}}@layer util{.text{-webkit-line-clamp:var(--text-clamp)}.abbr{--abbr-color:var(--accent);color:color-mix(in lab,var(--abbr-color) 50%,var(--fabric-text))}.mark{--mark-color:var(--accent);background-color:color-mix(in lab,var(--mark-color) 25%,var(--fabric-bg))}}
1
+ @layer comp{.title{line-height:1.125}.moreLink{margin:-.25rem 0 .25rem;text-align:end;&>span{color:theme(colors.accent.700);cursor:pointer;font-size:.75rem;user-select:none;&:hover{color:theme(colors.accent.500);text-decoration:underline;text-underline-offset:2px}}}}@layer util{.text{-webkit-line-clamp:var(--text-clamp)}.abbr{--abbr-color:var(--accent);color:color-mix(in lab,var(--abbr-color) 50%,var(--fabric-text))}.mark{--mark-color:var(--primary);background-color:color-mix(in lab,var(--mark-color) 25%,var(--fabric-bg))}}
@@ -44,6 +44,7 @@ var ActionLabel = function ActionLabel(_ref) {
44
44
  }, rest), {}, {
45
45
  children: [/*#__PURE__*/jsx(ButtonGroup, {
46
46
  ref: calculateBasis,
47
+ "data-inner-clickable": true,
47
48
  className: classNames(classes.actions, "overflow-hidden flex-content", align === "end" && "order-2"),
48
49
  children: actions
49
50
  }), /*#__PURE__*/jsx("div", {
@@ -10,7 +10,8 @@ import '@react-fabric/utilities';
10
10
  import classes from './Animations.module.css';
11
11
  import { jsxs, jsx } from '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__*/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__*/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__*/jsx("div", {
85
87
  className: classNames("outline outline-tint-500/20 p-4 bg-base/50 backdrop-blur-sm rounded"),
86
88
  children: /*#__PURE__*/jsx("div", {
@@ -95,14 +97,19 @@ var AnimationSpinner = function AnimationSpinner(_ref3) {
95
97
  var Loading = function Loading() {
96
98
  return /*#__PURE__*/jsx("div", {
97
99
  className: classNames(classes.loader, "area-[loader] relative overflow-x-clip"),
100
+ "data-testid": "loading",
98
101
  children: /*#__PURE__*/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__*/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__*/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__*/jsx("div", {
107
114
  className: "bg-tint-100 rounded aspect-square h-12"
108
115
  }), /*#__PURE__*/jsxs("div", {
@@ -125,7 +132,7 @@ var Skeleton = function Skeleton() {
125
132
  })]
126
133
  })]
127
134
  })]
128
- });
135
+ }));
129
136
  };
130
137
 
131
138
  export { AnimationBars, AnimationIndicator, AnimationSpinner, Loading, Skeleton };
@@ -6,8 +6,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
6
6
  import { isSvgPath } from '@react-fabric/utilities';
7
7
  import BoringAvatar from 'boring-avatars';
8
8
  import classNames from 'classnames';
9
- import { useState } from 'react';
10
- import { useMemoDebugger } from '../../hooks/useEffectDebugger.js';
9
+ import { useState, useMemo } from 'react';
11
10
  import { getColor, getBgClass, getColorClass } from '../../utils/getColor.js';
12
11
  import classes from './Avatar.module.css';
13
12
  import { jsxs, jsx } from '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 = useMemoDebugger(function () {
51
+ var styles = useMemo(function () {
53
52
  var s = {};
54
53
  if (bg) {
55
54
  s.backgroundColor = 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 = useMemoDebugger(function () {
69
+ var avatarImage = useMemo(function () {
71
70
  setFallback(!avatar);
72
71
  return avatar && /*#__PURE__*/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 = useMemoDebugger(function () {
88
+ }, [avatar]);
89
+ var fallbackAvatar = useMemo(function () {
91
90
  if (fallbackIcon) {
92
91
  return isSvgPath(fallbackIcon) ? /*#__PURE__*/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__*/jsxs("dfn", _objectSpread(_objectSpread({
133
132
  role: "presentation",
134
133
  className: classNames(classes.avatar, className, "select-none relative overflow-hidden inline-block box-content leading-none not-italic text-center", bg && getBgClass(bg), color && getColorClass(color), !rounded && "rounded", rounded && "rounded-full"),
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
- import { isObject, isNumber, mergeRefs } from '@react-fabric/utilities';
5
+ import { isObject, isNil, isNumber, mergeRefs } from '@react-fabric/utilities';
6
6
  import classNames from 'classnames';
7
7
  import { useMemo, cloneElement } from 'react';
8
8
  import { Icon } from '../icon/Icon.js';
@@ -44,10 +44,12 @@ var Badge = function Badge(_ref) {
44
44
  rtlFlip = _ref.rtlFlip,
45
45
  rest = _objectWithoutProperties(_ref, _excluded);
46
46
  var label = useMemo(function () {
47
- if (isNumber(value) && max && value > max) {
48
- return "".concat(max, "+");
47
+ if (!isNil(value)) {
48
+ if (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 = useMemo(function () {
53
55
  return 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__*/cloneElement(children, _objectSpread(_objectSpread({}, rest), {}, {
62
64
  ref: innerRef
63
- })), /*#__PURE__*/jsxs("div", {
65
+ })), (!!ping || label) && /*#__PURE__*/jsxs("div", {
64
66
  "data-ref": "badge",
65
67
  "data-ping": ping,
66
68
  "data-placement": placement,
@@ -5,7 +5,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
5
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
6
6
  import classNames from 'classnames';
7
7
  import { useMemo, Children } from 'react';
8
- import { Link } from '../../typography/Link.js';
8
+ import { Anchor } from '../../typography/Anchor.js';
9
9
  import { Dropdown } from '../dropdown/Dropdown.js';
10
10
  import classes from './Breadcrumbs.module.css';
11
11
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -50,7 +50,7 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
50
50
  children: [/*#__PURE__*/jsx("li", {
51
51
  className: classes.breadcrumbLink,
52
52
  "data-separator": separator,
53
- children: /*#__PURE__*/jsx(Link, {
53
+ children: /*#__PURE__*/jsx(Anchor, {
54
54
  children: "..."
55
55
  })
56
56
  }), /*#__PURE__*/jsx("div", {
@@ -16,7 +16,7 @@ import { Icon } from '../icon/Icon.js';
16
16
  import classes from './Button.module.css';
17
17
  import { jsxs, jsx } from '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 = 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
  useEffect(function () {
@@ -108,6 +109,10 @@ var Button = function Button(_ref) {
108
109
  var badgeProps = useMemo(function () {
109
110
  return getBadgeProps(badge);
110
111
  }, [badge]);
112
+ var hotKeyHandler = 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__*/jsxs("div", {
113
118
  className: classNames(classes.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__*/jsx(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__*/jsx(TooltipWrapper, _objectSpread(_objectSpread({}, tooltipProps), {}, {
125
127
  children: /*#__PURE__*/jsxs(E, _objectSpread(_objectSpread({
126
128
  ref: 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 @@ import { useTranslation } from 'react-i18next';
11
11
  import { Button } from './Button.js';
12
12
  import { jsx, jsxs } from '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: autoUpdate,
82
84
  middleware: [shift({
83
85
  padding: 8
@@ -9,7 +9,7 @@ import '@react-fabric/utilities';
9
9
  import { Icon } from '../icon/Icon.js';
10
10
  import { jsxs, jsx } from '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__*/jsxs("fieldset", _objectSpread(_objectSpread({
26
- className: classNames("block rounded-capped border max-w-full relative overflow-hidden mb-4", getBgClass(color + "-50"), getColorClass(color + "-700"), 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", getBgClass(color + "-50"), getColorClass(color + "-700"), getBorderClass(color + "-300"), border === "dashed" && "border-dashed", border === "dotted" && "border-dotted")
27
28
  }, aria), {}, {
28
29
  children: [legend && /*#__PURE__*/jsx("legend", {
29
30
  className: "px-2 mx-4 font-medium",
@@ -12,7 +12,7 @@ import { nodeCheck } from '../../utils/nodeCheck.js';
12
12
  import classes from './Card.module.css';
13
13
  import { jsx, jsxs } from '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 = useMemo(function () {
31
32
  return 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__*/jsx("div", {
52
54
  role: "none",
@@ -66,7 +66,7 @@ var Chip = function Chip(_ref) {
66
66
  return /*#__PURE__*/jsxs(E, _objectSpread(_objectSpread({
67
67
  ref: ref,
68
68
  role: "term",
69
- className: classNames(classes.chip, className, color && getColorClass(color), "select-none inline-flex flex-nowrap items-center max-w-72 text-sm leading-none rounded", rounded && "rounded-full", !!onClick && classes.clickable, disabled && classes.disabled),
69
+ className: classNames(classes.chip, className, color && getColorClass(color), "select-none inline-flex flex-nowrap items-center max-w-72 text-sm rounded", rounded && "rounded-full", !!onClick && classes.clickable, disabled && classes.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__*/jsx("label", {
83
- className: classNames(classes.chipLabel, "leading-none truncate"),
83
+ className: classNames(classes.chipLabel, "truncate"),
84
84
  children: children
85
85
  }), onRemove && /*#__PURE__*/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 @@ import { Icon } from '../icon/Icon.js';
11
11
  import classes from './Collapsable.module.css';
12
12
  import { jsxs, jsx } from '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 ? CoreIcons.chevronRight : _ref$iconClosed,
26
28
  _ref$iconOpen = _ref.iconOpen,
@@ -61,9 +63,9 @@ var Collapsable = function Collapsable(_ref) {
61
63
  children: [/*#__PURE__*/jsxs("div", {
62
64
  role: "none",
63
65
  ref: headRef,
64
- className: classNames(classes.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(classes.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__*/jsx(Icon, {
69
71
  size: "1.125em",
@@ -4,6 +4,7 @@ import classNames from 'classnames';
4
4
  import { useCallback } from 'react';
5
5
  import { getBorderClass, getBgClass, getColorClass } from '../../utils/getColor.js';
6
6
  import '@react-fabric/utilities';
7
+ import classes from './Divider.module.css';
7
8
  import { jsx, jsxs } from '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 && getBorderClass(color + "-200"))
48
+ className: classNames(className, vertical && "vertical", !flex && "self-stretch", vertical ? classes.vertical : classes.horizontal, color && getBorderClass(color + "-200"))
48
49
  });
49
50
  }, [color, vertical]);
50
51
  return children ? /*#__PURE__*/jsxs("div", {
@@ -52,7 +53,7 @@ var Divider = function Divider(_ref) {
52
53
  children: [/*#__PURE__*/jsx(Rule, {
53
54
  flex: align === "start" ? "0 0 1rem" : "1 1 1em"
54
55
  }), /*#__PURE__*/jsx("div", {
55
- className: classNames("px-2 whitespace-nowrap", vertical ? "mx-1" : "my-1", fill && getBgClass((color !== null && color !== void 0 ? color : "tint") + "-200"), !fill && 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 ? classes.vertical : classes.horizontal, fill && getBgClass((color !== null && color !== void 0 ? color : "tint") + "-200"), !fill && 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__*/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__*/jsxs(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();
@@ -139,7 +141,7 @@ var DropdownElement = function DropdownElement(_ref) {
139
141
  })), {}, {
140
142
  children: [/*#__PURE__*/jsx("div", {
141
143
  role: "none",
142
- className: classNames(classes.dropdownBody, dropdownClassName, !plainDropdown && "shadow-lg shadow-base bg-base ring-1 ring-tint-100", "rounded-capped overflow-auto scroll-thin grid max-h-[70vh]"),
144
+ className: classNames(classes.dropdownBody, dropdownClassName, !plainDropdown && "shadow-lg bg-base ring-1 ring-tint-100", "rounded-capped overflow-auto scroll-thin grid max-h-[70vh]"),
143
145
  onMouseUpCapture: tryClosing,
144
146
  children: panel
145
147
  }), showArrow && /*#__PURE__*/jsx(FloatingArrow, {
@@ -8,17 +8,18 @@ import { Icon } from '../icon/Icon.js';
8
8
  import { Dropdown } from './Dropdown.js';
9
9
  import { jsxs, jsx } from 'react/jsx-runtime';
10
10
 
11
- var _excluded = ["children", "className", "groupHover"];
11
+ var _excluded = ["children", "className", "groupHover", "icon"];
12
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; }
13
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; }
14
14
  var DropdownTool = function DropdownTool(_ref) {
15
15
  var children = _ref.children,
16
16
  className = _ref.className,
17
17
  groupHover = _ref.groupHover,
18
+ icon = _ref.icon,
18
19
  props = _objectWithoutProperties(_ref, _excluded);
19
20
  return /*#__PURE__*/jsxs(Dropdown, _objectSpread(_objectSpread({}, props), {}, {
20
21
  children: [/*#__PURE__*/jsx(Icon, {
21
- icon: CoreIcons.caretDown,
22
+ icon: icon !== null && icon !== void 0 ? icon : CoreIcons.caretDown,
22
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")
23
24
  }), children]
24
25
  }));