@react-fabric/core 1.0.0-beta.51 → 1.0.0-beta.52

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 (242) hide show
  1. package/css/components/_modal.css +2 -2
  2. package/dist/cjs/components/actionLabel/ActionLabel.js +23 -5
  3. package/dist/cjs/components/animations/Animations.js +92 -9
  4. package/dist/cjs/components/avatar/Avatar.js +33 -3
  5. package/dist/cjs/components/avatar/AvatarGroup.js +19 -1
  6. package/dist/cjs/components/badge/Badge.js +30 -1
  7. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +29 -0
  8. package/dist/cjs/components/button/Button.js +24 -1
  9. package/dist/cjs/components/button/ButtonGroup.js +26 -0
  10. package/dist/cjs/components/button/ConfirmButton.js +22 -1
  11. package/dist/cjs/components/button/ToggleButtonGroup.js +38 -12
  12. package/dist/cjs/components/callout/Callout.js +28 -0
  13. package/dist/cjs/components/card/Card.js +34 -0
  14. package/dist/cjs/components/card/CardCover.js +26 -0
  15. package/dist/cjs/components/card/FlipContent.js +21 -0
  16. package/dist/cjs/components/chip/Chip.js +22 -1
  17. package/dist/cjs/components/collapsable/Collapsable.js +26 -0
  18. package/dist/cjs/components/divider/Divider.js +19 -0
  19. package/dist/cjs/components/dropdown/Dropdown.js +42 -0
  20. package/dist/cjs/components/empty/EmptyContent.js +27 -0
  21. package/dist/cjs/components/icon/Icon.js +27 -1
  22. package/dist/cjs/components/media/Media.js +56 -0
  23. package/dist/cjs/components/menu/ContextMenu.js +19 -0
  24. package/dist/cjs/components/menu/Menu.js +30 -0
  25. package/dist/cjs/components/menu/MenuItem.js +21 -0
  26. package/dist/cjs/components/meter/Meter.js +24 -0
  27. package/dist/cjs/components/navigator/Navigator.js +22 -0
  28. package/dist/cjs/components/panel/Panel.js +37 -0
  29. package/dist/cjs/components/panel/PanelGroup.js +24 -0
  30. package/dist/cjs/components/panel/PanelStack.js +31 -0
  31. package/dist/cjs/components/progress/ProgressBar.js +21 -0
  32. package/dist/cjs/components/progress/ProgressCircle.js +20 -0
  33. package/dist/cjs/components/tabpanel/Tab.js +31 -0
  34. package/dist/cjs/components/tabpanel/TabPanel.js +33 -0
  35. package/dist/cjs/context/Global.js +25 -1
  36. package/dist/cjs/core/aside/Aside.js +39 -2
  37. package/dist/cjs/core/boundary/ErrorBoundary.js +17 -1
  38. package/dist/cjs/core/content/Content.js +6 -1
  39. package/dist/cjs/core/headfoot/HeadFoot.js +42 -0
  40. package/dist/cjs/core/page/Page.js +26 -1
  41. package/dist/cjs/core/responsive/Responsive.js +54 -1
  42. package/dist/cjs/core/theme/ThemeProvider.js +21 -1
  43. package/dist/cjs/core/viewport/Viewport.js +15 -1
  44. package/dist/cjs/hooks/useControlledValue.js +12 -0
  45. package/dist/cjs/hooks/useDebounce.js +13 -0
  46. package/dist/cjs/hooks/useEffectDebugger.js +52 -0
  47. package/dist/cjs/hooks/useIsDark.js +8 -0
  48. package/dist/cjs/hooks/useIsRtl.js +12 -0
  49. package/dist/cjs/hooks/useOverlayService.js +24 -0
  50. package/dist/cjs/hooks/usePropToggle.js +16 -5
  51. package/dist/cjs/hooks/useResize.js +18 -0
  52. package/dist/cjs/hooks/useResizeObserver.js +19 -0
  53. package/dist/cjs/hooks/useStorage.js +39 -0
  54. package/dist/cjs/types/icons.js +4 -0
  55. package/dist/cjs/typography/Abbr.js +28 -1
  56. package/dist/cjs/typography/Anchor.js +18 -1
  57. package/dist/cjs/typography/Mark.js +20 -1
  58. package/dist/cjs/typography/Text.js +27 -1
  59. package/dist/cjs/typography/Title.js +16 -1
  60. package/dist/esm/components/actionLabel/ActionLabel.js +23 -5
  61. package/dist/esm/components/animations/Animations.js +92 -9
  62. package/dist/esm/components/avatar/Avatar.js +33 -3
  63. package/dist/esm/components/avatar/AvatarGroup.js +19 -1
  64. package/dist/esm/components/badge/Badge.js +31 -2
  65. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +29 -0
  66. package/dist/esm/components/button/Button.js +24 -1
  67. package/dist/esm/components/button/ButtonGroup.js +26 -0
  68. package/dist/esm/components/button/ConfirmButton.js +22 -1
  69. package/dist/esm/components/button/ToggleButtonGroup.js +39 -13
  70. package/dist/esm/components/callout/Callout.js +28 -0
  71. package/dist/esm/components/card/Card.js +34 -0
  72. package/dist/esm/components/card/CardCover.js +26 -0
  73. package/dist/esm/components/card/FlipContent.js +21 -0
  74. package/dist/esm/components/chip/Chip.js +22 -1
  75. package/dist/esm/components/collapsable/Collapsable.js +26 -0
  76. package/dist/esm/components/divider/Divider.js +19 -0
  77. package/dist/esm/components/dropdown/Dropdown.js +42 -0
  78. package/dist/esm/components/empty/EmptyContent.js +27 -0
  79. package/dist/esm/components/icon/Icon.js +27 -1
  80. package/dist/esm/components/media/Media.js +56 -0
  81. package/dist/esm/components/menu/ContextMenu.js +19 -0
  82. package/dist/esm/components/menu/Menu.js +30 -0
  83. package/dist/esm/components/menu/MenuItem.js +21 -0
  84. package/dist/esm/components/meter/Meter.js +24 -0
  85. package/dist/esm/components/navigator/Navigator.js +22 -0
  86. package/dist/esm/components/panel/Panel.js +37 -0
  87. package/dist/esm/components/panel/PanelGroup.js +24 -0
  88. package/dist/esm/components/panel/PanelStack.js +31 -0
  89. package/dist/esm/components/progress/ProgressBar.js +21 -0
  90. package/dist/esm/components/progress/ProgressCircle.js +20 -0
  91. package/dist/esm/components/tabpanel/Tab.js +31 -0
  92. package/dist/esm/components/tabpanel/TabPanel.js +33 -0
  93. package/dist/esm/context/Global.js +25 -1
  94. package/dist/esm/core/aside/Aside.js +39 -2
  95. package/dist/esm/core/boundary/ErrorBoundary.js +17 -1
  96. package/dist/esm/core/content/Content.js +6 -1
  97. package/dist/esm/core/headfoot/HeadFoot.js +42 -0
  98. package/dist/esm/core/page/Page.js +26 -1
  99. package/dist/esm/core/responsive/Responsive.js +54 -1
  100. package/dist/esm/core/theme/ThemeProvider.js +21 -1
  101. package/dist/esm/core/viewport/Viewport.js +15 -1
  102. package/dist/esm/hooks/useControlledValue.js +12 -0
  103. package/dist/esm/hooks/useDebounce.js +13 -0
  104. package/dist/esm/hooks/useEffectDebugger.js +52 -0
  105. package/dist/esm/hooks/useIsDark.js +8 -0
  106. package/dist/esm/hooks/useIsRtl.js +12 -0
  107. package/dist/esm/hooks/useOverlayService.js +24 -0
  108. package/dist/esm/hooks/usePropToggle.js +16 -5
  109. package/dist/esm/hooks/useResize.js +18 -0
  110. package/dist/esm/hooks/useResizeObserver.js +19 -0
  111. package/dist/esm/hooks/useStorage.js +39 -0
  112. package/dist/esm/types/icons.js +4 -0
  113. package/dist/esm/typography/Abbr.js +28 -1
  114. package/dist/esm/typography/Anchor.js +18 -1
  115. package/dist/esm/typography/Mark.js +20 -1
  116. package/dist/esm/typography/Text.js +27 -1
  117. package/dist/esm/typography/Title.js +16 -1
  118. package/dist/types/components/actionLabel/ActionLabel.d.ts +21 -2
  119. package/dist/types/components/animations/Animations.d.ts +80 -1
  120. package/dist/types/components/avatar/Avatar.d.ts +26 -2
  121. package/dist/types/components/avatar/AvatarGroup.d.ts +19 -1
  122. package/dist/types/components/badge/Badge.d.ts +25 -0
  123. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +29 -0
  124. package/dist/types/components/button/Button.d.ts +23 -2
  125. package/dist/types/components/button/ButtonGroup.d.ts +26 -1
  126. package/dist/types/components/button/ConfirmButton.d.ts +23 -3
  127. package/dist/types/components/button/ToggleButtonGroup.d.ts +39 -11
  128. package/dist/types/components/callout/Callout.d.ts +26 -1
  129. package/dist/types/components/card/Card.d.ts +34 -0
  130. package/dist/types/components/card/CardCover.d.ts +25 -0
  131. package/dist/types/components/card/FlipContent.d.ts +21 -0
  132. package/dist/types/components/chip/Chip.d.ts +21 -1
  133. package/dist/types/components/collapsable/Collapsable.d.ts +26 -0
  134. package/dist/types/components/divider/Divider.d.ts +19 -0
  135. package/dist/types/components/dropdown/Dropdown.d.ts +40 -1
  136. package/dist/types/components/dropdown/DropdownTool.d.ts +25 -0
  137. package/dist/types/components/empty/EmptyContent.d.ts +26 -1
  138. package/dist/types/components/icon/Icon.d.ts +27 -2
  139. package/dist/types/components/media/Media.d.ts +54 -0
  140. package/dist/types/components/menu/ContextMenu.d.ts +19 -1
  141. package/dist/types/components/menu/Menu.d.ts +29 -0
  142. package/dist/types/components/menu/MenuItem.d.ts +22 -2
  143. package/dist/types/components/meter/Meter.d.ts +24 -0
  144. package/dist/types/components/navigator/Navigator.d.ts +22 -0
  145. package/dist/types/components/panel/Panel.d.ts +37 -0
  146. package/dist/types/components/panel/PanelGroup.d.ts +24 -0
  147. package/dist/types/components/panel/PanelStack.d.ts +31 -0
  148. package/dist/types/components/progress/ProgressBar.d.ts +20 -0
  149. package/dist/types/components/progress/ProgressCircle.d.ts +19 -0
  150. package/dist/types/components/tabpanel/Tab.d.ts +32 -1
  151. package/dist/types/components/tabpanel/TabPanel.d.ts +33 -0
  152. package/dist/types/context/Global.d.ts +24 -1
  153. package/dist/types/core/aside/Aside.d.ts +38 -1
  154. package/dist/types/core/boundary/ErrorBoundary.d.ts +17 -1
  155. package/dist/types/core/content/Content.d.ts +6 -1
  156. package/dist/types/core/headfoot/HeadFoot.d.ts +40 -0
  157. package/dist/types/core/page/Page.d.ts +26 -1
  158. package/dist/types/core/responsive/Responsive.d.ts +52 -1
  159. package/dist/types/core/section/Section.d.ts +16 -1
  160. package/dist/types/core/theme/ThemeProvider.d.ts +21 -1
  161. package/dist/types/core/viewport/Viewport.d.ts +15 -1
  162. package/dist/types/hooks/useControlledValue.d.ts +13 -2
  163. package/dist/types/hooks/useDebounce.d.ts +12 -0
  164. package/dist/types/hooks/useEffectDebugger.d.ts +49 -0
  165. package/dist/types/hooks/useIsDark.d.ts +8 -0
  166. package/dist/types/hooks/useIsRtl.d.ts +12 -0
  167. package/dist/types/hooks/useNavigator.d.ts +18 -1
  168. package/dist/types/hooks/useOverlayService.d.ts +25 -4
  169. package/dist/types/hooks/usePropToggle.d.ts +16 -5
  170. package/dist/types/hooks/useResize.d.ts +18 -0
  171. package/dist/types/hooks/useResizeObserver.d.ts +19 -0
  172. package/dist/types/hooks/useStorage.d.ts +38 -0
  173. package/dist/types/types/icons.d.ts +4 -0
  174. package/dist/types/typography/Abbr.d.ts +28 -1
  175. package/dist/types/typography/Anchor.d.ts +19 -2
  176. package/dist/types/typography/Copy.d.ts +15 -0
  177. package/dist/types/typography/Mark.d.ts +20 -1
  178. package/dist/types/typography/Text.d.ts +27 -1
  179. package/dist/types/typography/Title.d.ts +16 -1
  180. package/package.json +3 -3
  181. package/src/components/actionLabel/ActionLabel.tsx +23 -5
  182. package/src/components/animations/Animations.tsx +93 -14
  183. package/src/components/avatar/Avatar.tsx +32 -3
  184. package/src/components/avatar/AvatarGroup.tsx +19 -1
  185. package/src/components/badge/Badge.tsx +30 -2
  186. package/src/components/breadcrumbs/Breadcrumbs.tsx +29 -0
  187. package/src/components/button/Button.tsx +23 -1
  188. package/src/components/button/ButtonGroup.tsx +26 -0
  189. package/src/components/button/ConfirmButton.tsx +22 -1
  190. package/src/components/button/ToggleButtonGroup.tsx +70 -43
  191. package/src/components/callout/Callout.tsx +27 -0
  192. package/src/components/card/Card.tsx +34 -0
  193. package/src/components/card/CardCover.tsx +25 -0
  194. package/src/components/card/FlipContent.tsx +21 -0
  195. package/src/components/chip/Chip.tsx +21 -1
  196. package/src/components/collapsable/Collapsable.tsx +26 -0
  197. package/src/components/divider/Divider.tsx +19 -0
  198. package/src/components/dropdown/Dropdown.tsx +40 -0
  199. package/src/components/dropdown/DropdownTool.tsx +25 -0
  200. package/src/components/empty/EmptyContent.tsx +26 -0
  201. package/src/components/icon/Icon.tsx +27 -1
  202. package/src/components/media/Media.tsx +54 -0
  203. package/src/components/menu/ContextMenu.tsx +19 -0
  204. package/src/components/menu/Menu.tsx +29 -0
  205. package/src/components/menu/MenuItem.tsx +21 -0
  206. package/src/components/meter/Meter.tsx +24 -0
  207. package/src/components/navigator/Navigator.tsx +22 -0
  208. package/src/components/panel/Panel.tsx +37 -0
  209. package/src/components/panel/PanelGroup.tsx +24 -0
  210. package/src/components/panel/PanelStack.tsx +31 -0
  211. package/src/components/progress/ProgressBar.tsx +20 -0
  212. package/src/components/progress/ProgressCircle.tsx +19 -0
  213. package/src/components/tabpanel/Tab.tsx +31 -0
  214. package/src/components/tabpanel/TabPanel.tsx +33 -0
  215. package/src/context/Global.tsx +24 -1
  216. package/src/core/aside/Aside.tsx +39 -2
  217. package/src/core/boundary/ErrorBoundary.tsx +17 -1
  218. package/src/core/content/Content.tsx +6 -1
  219. package/src/core/headfoot/HeadFoot.tsx +40 -0
  220. package/src/core/page/Page.tsx +26 -1
  221. package/src/core/responsive/Responsive.tsx +52 -1
  222. package/src/core/section/Section.tsx +16 -1
  223. package/src/core/theme/ThemeProvider.tsx +21 -1
  224. package/src/core/viewport/Viewport.tsx +15 -1
  225. package/src/hooks/useControlledValue.tsx +12 -0
  226. package/src/hooks/useDebounce.ts +12 -0
  227. package/src/hooks/useEffectDebugger.ts +49 -0
  228. package/src/hooks/useIsDark.ts +8 -0
  229. package/src/hooks/useIsRtl.ts +12 -0
  230. package/src/hooks/useNavigator.tsx +18 -0
  231. package/src/hooks/useOverlayService.tsx +24 -0
  232. package/src/hooks/usePropToggle.ts +16 -5
  233. package/src/hooks/useResize.ts +18 -0
  234. package/src/hooks/useResizeObserver.ts +19 -0
  235. package/src/hooks/useStorage.ts +38 -0
  236. package/src/types/icons.ts +5 -1
  237. package/src/typography/Abbr.tsx +28 -1
  238. package/src/typography/Anchor.tsx +18 -1
  239. package/src/typography/Copy.tsx +15 -0
  240. package/src/typography/Mark.tsx +20 -1
  241. package/src/typography/Text.tsx +27 -1
  242. package/src/typography/Title.tsx +16 -1
@@ -18,6 +18,32 @@ var scheme = {
18
18
  light: "light",
19
19
  dark: "dark"
20
20
  };
21
+
22
+ /**
23
+ * A cover component for cards that can contain media and content.
24
+ * It allows for flexible layout options and supports different color schemes.
25
+ * It can be used to create visually appealing card layouts with media content.
26
+ *
27
+ * @param {CardCoverProps} props - The properties for the CardCover component.
28
+ * @returns {JSX.Element} The rendered CardCover component.
29
+ *
30
+ * @example
31
+ * ```jsx
32
+ * <CardCover
33
+ * height={200}
34
+ * colorScheme="light"
35
+ * justify="center"
36
+ * className="my-custom-class"
37
+ * aria-label="Card Cover"
38
+ * >
39
+ * <Image src="image.jpg" alt="Card Image" />
40
+ * <div>Card Content</div>
41
+ * </CardCover>
42
+ * // Renders a card cover with a height of 200px, light color scheme, centered content, and a custom class name.
43
+ * ```
44
+ *
45
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/story/core-components-card--docs} for more details.
46
+ */
21
47
  var CardCover = function CardCover(_ref) {
22
48
  var className = _ref.className,
23
49
  children = _ref.children,
@@ -5,6 +5,27 @@ var classNames = require('classnames');
5
5
  var react = require('react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
 
8
+ /**
9
+ * A component that allows flipping between front and back content.
10
+ * It uses a ref to control the flipping action, which toggles the visibility of the front and back content.
11
+ * The component accepts children elements, which should be valid React elements representing the front and back content.
12
+ * The front content is expected to be the first child, and the back content is expected to be the second child.
13
+ * The component applies specific classes to the children based on their position (front or back) and manages the flipping state internally.
14
+ * The `flipCard` method can be called to toggle the visibility of the back content.
15
+ *
16
+ * @param {Props} props - The properties for the FlipContent component.
17
+ * @returns {JSX.Element} The rendered FlipContent component.
18
+ *
19
+ * @example
20
+ * ```jsx
21
+ * <FlipContent ref={flipRef}>
22
+ * <div className="front">Front Content</div>
23
+ * <div className="back">Back Content</div>
24
+ * </FlipContent>
25
+ * ```
26
+ *
27
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-flipcontent--docs}
28
+ */
8
29
  var FlipContent = function FlipContent(_ref) {
9
30
  var ref = _ref.ref,
10
31
  children = _ref.children;
@@ -20,6 +20,27 @@ var SizeMap = {
20
20
  lg: "1.5rem",
21
21
  xl: "2rem"
22
22
  };
23
+
24
+ /**
25
+ * A component that represents a small block of information, often used for tags, categories, or actions.
26
+ * It allows customization of size, color, variant, and includes optional icon and remove functionality.
27
+ * It supports various properties for styling and interaction, including click handlers and disabled state.
28
+ * It can be used in various contexts, such as filtering options, displaying tags, or representing user actions.
29
+ * It can be styled with custom CSS classes and supports features like rounded edges and click handling.
30
+ * It can also include an icon and a remove button, making it versatile for different use cases.
31
+ *
32
+ * @param {ChipProps} props - The properties for the Chip component.
33
+ * @returns {JSX.Element} The rendered Chip component.
34
+ *
35
+ * @example
36
+ * ```jsx
37
+ * <Chip color="primary" size="md" className="my-chip">
38
+ * Example Chip
39
+ * </Chip>
40
+ * ```
41
+ *
42
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-chip--docs} for more details.
43
+ */
23
44
  var Chip = function Chip(_ref) {
24
45
  var ref = _ref.ref,
25
46
  children = _ref.children,
@@ -74,7 +95,7 @@ var Chip = function Chip(_ref) {
74
95
  }, aria), {}, {
75
96
  children: [icon && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
76
97
  "data-ref": "chipIcon",
77
- className: classNames("fabric-chipIcon", "m-1"),
98
+ className: classNames("fabric-chipIcon", "m-1 flex-auto"),
78
99
  icon: icon,
79
100
  bg: iconBg,
80
101
  onClick: onIconClick,
@@ -13,6 +13,32 @@ var jsxRuntime = require('react/jsx-runtime');
13
13
  var _excluded = ["ref", "disabled", "className", "bodyClassName", "headerClassName", "children", "iconAlign", "stickyHeader", "iconClosed", "iconOpen", "open", "onClose", "onOpen"];
14
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; }
15
15
  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
+ * A component that can be expanded or collapsed to show or hide content.
18
+ * It is useful for organizing content in a way that allows users to focus on the information they are interested in.
19
+ * It supports custom icons for open and closed states, alignment options, and can be made sticky.
20
+ * This component is ideal for creating accordions, expandable panels, or sections that can be toggled by the user.
21
+ *
22
+ * @param {CollapsableProps} props - The properties for the Collapsable component.
23
+ * @returns {JSX.Element} The rendered Collapsable component.
24
+ *
25
+ * @example
26
+ * ```jsx
27
+ * <Collapsable
28
+ * iconAlign="start"
29
+ * iconOpen={CoreIcons.chevronDown}
30
+ * iconClosed={CoreIcons.chevronRight}
31
+ * open={true}
32
+ * onOpen={() => console.log("Opened")}
33
+ * onClose={() => console.log("Closed")}
34
+ * >
35
+ * <div>Header Content</div>
36
+ * <div>Body Content</div>
37
+ * </Collapsable>
38
+ * ```
39
+ *
40
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-collapsable--docs} for more details.
41
+ */
16
42
  var Collapsable = function Collapsable(_ref) {
17
43
  var ref = _ref.ref,
18
44
  disabled = _ref.disabled,
@@ -29,6 +29,25 @@ require('@react-fabric/utilities');
29
29
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
30
  */
31
31
 
32
+ /**
33
+ * A component that represents a visual divider between content.
34
+ * It can be used to separate sections of content, with optional text labels.
35
+ * It supports both horizontal and vertical orientations, customizable colors,
36
+ * styles, and alignment options.
37
+ *
38
+ * @param {DividerProps} props - The properties for the Divider component.
39
+ * @returns {JSX.Element} The rendered Divider component.
40
+ *
41
+ * @example
42
+ * ```jsx
43
+ * <Divider color="primary" align="center" style="dashed">
44
+ * Divider Text
45
+ * </Divider>
46
+ * // Renders a horizontal divider with primary color, centered text, and dashed style.
47
+ * ```
48
+ *
49
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-divider--docs} for more details.
50
+ */
32
51
  var Divider = function Divider(_ref) {
33
52
  var children = _ref.children,
34
53
  _ref$color = _ref.color,
@@ -150,11 +150,53 @@ var DropdownElement = function DropdownElement(_ref) {
150
150
  })]
151
151
  });
152
152
  };
153
+
154
+ /**
155
+ * A component that displays a dropdown menu with an anchor and a panel.
156
+ * It supports various features such as placement, arrow display, click handling,
157
+ * and event handling for opening and closing the dropdown.
158
+ *
159
+ * @param props - Dropdown properties
160
+ * @returns JSX Element
161
+ *
162
+ * @example
163
+ * ```jsx
164
+ * <Dropdown
165
+ * placement="bottom"
166
+ * showArrow
167
+ * closeOnClick
168
+ * fitToParent
169
+ * onOpen={() => console.log("Dropdown opened")}
170
+ * onClose={() => console.log("Dropdown closed")}
171
+ * >
172
+ * <button>Open Dropdown</button>
173
+ * <div>
174
+ * <DropdownDismiss>
175
+ * <button>Dismiss</button>
176
+ * </DropdownDismiss>
177
+ * <p>Dropdown Content</p>
178
+ * </div>
179
+ * </Dropdown>
180
+ * ```
181
+ *
182
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-dropdown--docs} for more details.
183
+ * @see {@link https://floating-ui.com/docs/react} for more details on Floating UI.
184
+ */
153
185
  var Dropdown = function Dropdown(props) {
154
186
  return /*#__PURE__*/jsxRuntime.jsx(react.FloatingTree, {
155
187
  children: /*#__PURE__*/jsxRuntime.jsx(DropdownElement, _objectSpread({}, props))
156
188
  });
157
189
  };
190
+
191
+ /**
192
+ * A component that allows dismissing the dropdown when clicked.
193
+ * It can be used inside the dropdown panel to provide a dismiss area.
194
+ * It supports an optional `dismiss` prop to control whether the dropdown should be dismissed on click.
195
+ *
196
+ * @param children - The children elements to render inside the dismiss area.
197
+ * @param dismiss - Whether to dismiss the dropdown on click (default: true).
198
+ * @returns JSX Element
199
+ */
158
200
  var DropdownDismiss = function DropdownDismiss(_ref3) {
159
201
  var children = _ref3.children,
160
202
  _ref3$dismiss = _ref3.dismiss,
@@ -49,6 +49,33 @@ var DefaultIcon = function DefaultIcon() {
49
49
  })]
50
50
  });
51
51
  };
52
+
53
+ /**
54
+ * A component that displays a message and an optional icon when there is no content to show.
55
+ * It allows customization of title, message, icon, size, and additional CSS properties.
56
+ * It can also accept children elements for additional actions or information.
57
+ * This component is useful for displaying a friendly message when data is not available,
58
+ * such as in empty states of lists, tables, or other content areas.
59
+ *
60
+ * @param {EmptyContentProps} props - The properties for the EmptyContent component.
61
+ * @returns {JSX.Element} The rendered EmptyContent component.
62
+ *
63
+ * @example
64
+ * ```jsx
65
+ * <EmptyContent
66
+ * title="No Data Available"
67
+ * message="Please check back later."
68
+ * icon="empty"
69
+ * iconColor="tint-700"
70
+ * size="md"
71
+ * >
72
+ * <Button onClick={() => console.log("Action clicked")}>Retry</Button>
73
+ * </EmptyContent>
74
+ * // Renders an empty content area with a title, message, icon, and a button for retrying the action.
75
+ * ```
76
+ *
77
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-emptycontent--docs} for more details.
78
+ */
52
79
  var EmptyContent = function EmptyContent(_ref) {
53
80
  var children = _ref.children,
54
81
  title = _ref.title,
@@ -21,7 +21,33 @@ var SizeMap = {
21
21
  };
22
22
 
23
23
  /**
24
- * An icon is a display component for svg icon path / image
24
+ * A versatile icon component that supports SVG paths, webfont icons, and text icons.
25
+ * It can be styled with background color, icon color, size, and animations.
26
+ * It also supports RTL flipping and rounded corners.
27
+ * The component can be used as a standalone icon or as part of other components.
28
+ * It accepts various properties to customize its appearance and behavior.
29
+ * These include `bg`, `color`, `size`, `rtlFlip`, `animate`, and `rounded`.
30
+ *
31
+ * @param {IconProps} props - The properties for the Icon component.
32
+ * @returns {JSX.Element} The rendered Icon component.
33
+ *
34
+ * @example
35
+ * ```jsx
36
+ * <Icon
37
+ * icon="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"
38
+ * bg="bg-blue-500"
39
+ * color="text-white"
40
+ * size="lg"
41
+ * rtlFlip={true}
42
+ * animate="spin"
43
+ * rounded={true}
44
+ * onClick={() => console.log("Icon clicked")}
45
+ * />
46
+ * // Renders an icon with a SVG path, blue background, white text color,
47
+ * // large size, RTL flip, spin animation, rounded corners, and a click handler.
48
+ * ```
49
+ *
50
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-icon--docs} for more details.
25
51
  */
26
52
  var Icon = function Icon(_ref) {
27
53
  var ref = _ref.ref,
@@ -24,6 +24,31 @@ var loadIndicator = /*#__PURE__*/jsxRuntime.jsx("div", {
24
24
  className: classNames("fabric-mediaPlaceholder", "absolute z-1 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-4xl text-gray animate-pulse"),
25
25
  children: "\u25CF\u25CF\u25CF"
26
26
  });
27
+
28
+ /**
29
+ * Component for displaying images with optional reel decoration.
30
+ * A versatile media component that supports images and videos with various display options.
31
+ * It can display images with a reel decoration, handle loading states, and show error icons if the media fails to load.
32
+ * This component is useful for displaying images in a visually appealing way, with support for lazy loading and error handling.
33
+ * It automatically adjusts the display based on the provided fit property, allowing for different styles such as cover, contain, or fill.
34
+ *
35
+ * @param {ImageProps | VideoProps} props - The properties for the Media component.
36
+ * @returns {JSX.Element} The rendered Media component.
37
+ *
38
+ * @example
39
+ * ```jsx
40
+ * <Image
41
+ * src="image.jpg"
42
+ * alt="Example Image"
43
+ * reel={true}
44
+ * fit="cover"
45
+ * className="custom-class"
46
+ * />
47
+ * // Renders an image with reel decoration, cover fit, and a custom class name.
48
+ * ```
49
+ *
50
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-media--docs} for more details.
51
+ */
27
52
  var Image = function Image(_ref) {
28
53
  var src = _ref.src,
29
54
  alt = _ref.alt,
@@ -73,6 +98,37 @@ var Image = function Image(_ref) {
73
98
  })]
74
99
  }));
75
100
  };
101
+
102
+ /**
103
+ * Component for displaying videos with optional controls and reel decoration.
104
+ * A versatile video component that supports autoplay, hover play, and various display options.
105
+ * It can display videos with a reel decoration, handle loading states, and show error icons if the video fails to load.
106
+ * This component is useful for displaying videos in a visually appealing way, with support for controls, autoplay, and error handling.
107
+ * It automatically adjusts the display based on the provided fit property, allowing for different styles such as cover, contain, or fill.
108
+ * It also includes controls for play/pause and volume, enhancing user interaction with the video content.
109
+ * This component is ideal for media-rich applications where video content needs to be displayed with user-friendly controls and visual effects.
110
+ * It supports features like autoplay, play on hover, and custom fit options for the video display.
111
+ * It also includes a reel decoration for a more engaging visual presentation.
112
+ *
113
+ * @param {VideoProps} props - The properties for the Video component.
114
+ * @returns {JSX.Element} The rendered Video component.
115
+ *
116
+ * @example
117
+ * ```jsx
118
+ * <Video
119
+ * src="video.mp4"
120
+ * poster="poster.jpg"
121
+ * reel={true}
122
+ * autoPlay={true}
123
+ * playOnHover={true}
124
+ * fit="cover"
125
+ * className="custom-class"
126
+ * />
127
+ * // Renders a video with reel decoration, autoplay, play on hover, cover fit, and a custom class name.
128
+ * ```
129
+ *
130
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-video--docs} for more details.
131
+ */
76
132
  var Video = function Video(_ref2) {
77
133
  var src = _ref2.src,
78
134
  poster = _ref2.poster,
@@ -8,6 +8,25 @@ var jsxRuntime = require('react/jsx-runtime');
8
8
 
9
9
  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; }
10
10
  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; }
11
+ /**
12
+ * A component that provides a context menu that appears on right-click.
13
+ * It uses the Floating UI library to manage the positioning and interactions of the menu.
14
+ * This component is useful for creating custom context menus that can be triggered by right-clicking on elements.
15
+ *
16
+ * @param {ContextMenuProps} props - The properties for the ContextMenu component.
17
+ * @returns {JSX.Element} The rendered ContextMenu component.
18
+ *
19
+ * @example
20
+ * ```jsx
21
+ * <ContextMenu
22
+ * menu={<Menu items={[{ label: "Option 1" }, { label: "Option 2" }]} />}
23
+ * >
24
+ * <div className="context-menu-target">Right-click me!</div>
25
+ * </ContextMenu>
26
+ * ```
27
+ *
28
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-menu--docs}
29
+ */
11
30
  var ContextMenu = function ContextMenu(_ref) {
12
31
  var _refs$domReference$cu, _refs$domReference$cu2;
13
32
  var children = _ref.children,
@@ -206,6 +206,36 @@ var MenuComponent = function MenuComponent(_ref) {
206
206
  })]
207
207
  });
208
208
  };
209
+
210
+ /**
211
+ * A component that displays a menu with items, supports nested menus and various interactions.
212
+ * It can be triggered by hover or click events, and allows for custom styling and behavior.
213
+ * This component is designed to be used within a Floating UI context, allowing for dynamic positioning and interaction handling.
214
+ * It can be nested within other menus to create complex menu structures.
215
+ *
216
+ * @param {MenuProps} props - The properties for the Menu component.
217
+ * @returns {JSX.Element} The rendered Menu component.
218
+ *
219
+ * @example
220
+ * ```jsx
221
+ * <Menu
222
+ * className="my-menu"
223
+ * trigger="click"
224
+ * onClick={(id) => console.log(`Clicked item with id: ${id}`)}
225
+ * >
226
+ * <MenuItem id="item1" label="Item 1" />
227
+ * <MenuItem id="item2" label="Item 2" />
228
+ * <MenuItem id="item3" label="Item 3">
229
+ * <Menu>
230
+ * <MenuItem id="subitem1" label="Sub Item 1" />
231
+ * <MenuItem id="subitem2" label="Sub Item 2" />
232
+ * </Menu>
233
+ * </MenuItem>
234
+ * </Menu>
235
+ * ```
236
+ *
237
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-menu--docs} for more details.
238
+ */
209
239
  var Menu = function Menu(props) {
210
240
  var parentId = react.useFloatingParentNodeId();
211
241
  var tree = react.useFloatingTree();
@@ -22,6 +22,27 @@ var _excluded = ["as", "label", "color", "className", "icon", "iconBg", "iconCol
22
22
  _excluded2 = ["children"];
23
23
  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; }
24
24
  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; }
25
+ /**
26
+ * A menu item component that can be used in a dropdown or menu.
27
+ * It supports various features such as icons, badges, hotkeys, and more.
28
+ * It can be customized with different colors, icons, and behaviors.
29
+ *
30
+ * @param {MenuItemProps} props
31
+ * @returns A JSX element representing the menu item.
32
+ *
33
+ * @example
34
+ * ```jsx
35
+ * <MenuItem
36
+ * label="Settings"
37
+ * icon="settings"
38
+ * onClick={() => console.log("Settings clicked")}
39
+ * hotKey="Ctrl+S"
40
+ * badge={{ count: 3, color: "red" }}
41
+ * />
42
+ * ```
43
+ *
44
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-menu--docs} for documentation.
45
+ */
25
46
  var MenuItem = function MenuItem(_ref) {
26
47
  var as = _ref.as,
27
48
  label = _ref.label,
@@ -10,6 +10,30 @@ var jsxRuntime = require('react/jsx-runtime');
10
10
  var _excluded = ["value", "hideLabel", "className"];
11
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ /**
14
+ * A component that displays a visual representation of a value as a series of dots.
15
+ * It is useful for showing progress or completion status in a compact form.
16
+ * The meter consists of 6 dots, each representing approximately 16.67% of the total value.
17
+ * The active dots are filled based on the value provided, and the remaining dots are empty.
18
+ * The component can also display a label showing the percentage value.
19
+ *
20
+ * @param {MeterProps} props - The properties for the Meter component.
21
+ * @returns {JSX.Element} The rendered Meter component.
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * <Meter value={75} />
26
+ * // Renders a meter with 4 active dots and a label showing "75%"
27
+ *
28
+ * <Meter value={50} hideLabel />
29
+ * // Renders a meter with 3 active dots and no label
30
+ *
31
+ * <Meter value={100} className="custom-meter" />
32
+ * // Renders a meter with all 6 active dots and a custom class name
33
+ * ```
34
+ *
35
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-meter--docs} for more details.
36
+ */
13
37
  var Meter = function Meter(_ref) {
14
38
  var value = _ref.value,
15
39
  hideLabel = _ref.hideLabel,
@@ -13,6 +13,28 @@ var jsxRuntime = require('react/jsx-runtime');
13
13
  var _excluded = ["className", "onNavigate", "color", "children", "length", "current", "disableKeyHandlers"];
14
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; }
15
15
  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
+ * A component that provides navigation controls for traversing through items.
18
+ * It includes previous and next buttons, and supports keyboard navigation.
19
+ *
20
+ * @param {NavigatorProps} props - The properties for the Navigator component.
21
+ * @returns {JSX.Element} The rendered Navigator component.
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * <Navigator
26
+ * className="my-navigator"
27
+ * onNavigate={(dir) => console.log(`Navigate ${dir === -1 ? 'previous' : 'next'}`)}
28
+ * color="blue"
29
+ * length={10}
30
+ * current={0}
31
+ * >
32
+ * <span>Current Item: 1</span>
33
+ * </Navigator>
34
+ * ```
35
+ *
36
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-navigator--docs} for more details.
37
+ */
16
38
  var Navigator = function Navigator(_ref) {
17
39
  var className = _ref.className,
18
40
  onNavigate = _ref.onNavigate,
@@ -14,6 +14,43 @@ var jsxRuntime = require('react/jsx-runtime');
14
14
  var _excluded = ["children", "className", "titleClassName", "headerClassName", "title", "actions", "icon", "iconBg", "iconColor", "rtlFlip", "panelId", "height", "width", "minHeight", "minWidth", "maxHeight", "maxWidth", "loading", "expandable", "expanded", "onExpand", "collapsable", "collapsed", "onCollapse", "onClose", "onBack"];
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
+ /**
18
+ * A component that represents a panel with a header, body, and optional actions.
19
+ * It supports expandable and collapsible functionality, loading state, and customizable styles.
20
+ * The panel can be resized and has a fixed position when expanded.
21
+ * It can be customized with different colors, icons, and behaviors.
22
+ * This component is useful for displaying content in a structured way, allowing users to interact with it through actions and toggles.
23
+ * It can be used in various applications where panels are needed, such as dashboards, settings pages, or content management systems.
24
+ *
25
+ * @param {PanelProps} props - The properties for the Panel component.
26
+ * @returns {JSX.Element} The rendered Panel component.
27
+ *
28
+ * @example
29
+ * ```jsx
30
+ * <Panel
31
+ * title="Panel Title"
32
+ * icon={CoreIcons.info}
33
+ * iconBg="bg-blue-500"
34
+ * iconColor="text-white"
35
+ * actions={<button>Action</button>}
36
+ * expandable
37
+ * collapsable
38
+ * onExpand={() => console.log("Expanded")}
39
+ * onCollapse={() => console.log("Collapsed")}
40
+ * onClose={() => console.log("Closed")}
41
+ * height="400px"
42
+ * width="300px"
43
+ * minHeight="200px"
44
+ * minWidth="200px"
45
+ * maxHeight="600px"
46
+ * maxWidth="600px"
47
+ * >
48
+ * <p>This is the content of the panel.</p>
49
+ * </Panel>
50
+ * ```
51
+ *
52
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-panel--docs} for more details.
53
+ */
17
54
  var Panel = function Panel(_ref) {
18
55
  var children = _ref.children,
19
56
  className = _ref.className,
@@ -6,6 +6,30 @@ var react = require('react');
6
6
  var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
9
+ /**
10
+ * A component that groups multiple panels together, allowing for one panel to be expanded at a time.
11
+ * This component allows you to manage a group of panels where only one can be expanded at a time.
12
+ * It accepts an `activePanel` prop to control which panel is currently expanded,
13
+ * and an `onActiveChange` callback that is triggered when the active panel changes.
14
+ * It uses the `Panel` component to render each individual panel within the group.
15
+ *
16
+ * @param {PanelGroupProps} props - The properties for the PanelGroup component.
17
+ * @returns {JSX.Element} The rendered PanelGroup component.
18
+ *
19
+ * @example
20
+ * ```jsx
21
+ * <PanelGroup
22
+ * activePanel="panel1"
23
+ * onActiveChange={(panelId) => console.log(`Active panel changed to: ${panelId}`)}
24
+ * >
25
+ * <Panel panelId="panel1" title="Panel 1">Content for Panel 1</Panel>
26
+ * <Panel panelId="panel2" title="Panel 2">Content for Panel 2</Panel>
27
+ * <Panel panelId="panel3" title="Panel 3">Content for Panel 3</Panel>
28
+ * </PanelGroup>
29
+ * ```
30
+ *
31
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-panel--docs} for more details.
32
+ */
9
33
  var PanelGroup = function PanelGroup(_ref) {
10
34
  var children = _ref.children,
11
35
  activePanel = _ref.activePanel,
@@ -10,6 +10,37 @@ var jsxRuntime = require('react/jsx-runtime');
10
10
  var _excluded = ["active", "children", "className", "onPanelChange", "onBack"];
11
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ /**
14
+ * A component that manages a stack of panels, allowing navigation between them.
15
+ * This component allows you to manage a stack of panels where you can navigate between them.
16
+ * It accepts an `active` prop to control which panel is currently active,
17
+ * an `onPanelChange` callback that is triggered when the active panel changes,
18
+ * and an `onBack` callback to handle navigation to the previous panel in the history.
19
+ * It uses the `Panel` component to render each individual panel within the stack.
20
+ * The component maintains a history of panels to allow back navigation,
21
+ * and it updates the active panel based on user interactions.
22
+ *
23
+ * @param {PanelStackProps} props - The properties for the PanelStack component.
24
+ * @returns {JSX.Element} The rendered PanelStack component.
25
+ *
26
+ * @example
27
+ * ```jsx
28
+ * <PanelStack
29
+ * active="panel1"
30
+ * onPanelChange={(panelId) => console.log(`Active panel changed to: ${panelId}`)}
31
+ * onBack={(currentPanel, nextPanel) => {
32
+ * console.log(`Navigating back from ${currentPanel} to ${nextPanel}`);
33
+ * return true; // return false to prevent navigation
34
+ * }}
35
+ * >
36
+ * <Panel panelId="panel1" title="Panel 1">Content for Panel 1</Panel>
37
+ * <Panel panelId="panel2" title="Panel 2">Content for Panel 2</Panel>
38
+ * <Panel panelId="panel3" title="Panel 3">Content for Panel 3</Panel>
39
+ * </PanelStack>
40
+ * ```
41
+ *
42
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-panelstack--docs} for more details.
43
+ */
13
44
  var PanelStack = function PanelStack(_ref) {
14
45
  _ref.active;
15
46
  var children = _ref.children,
@@ -19,6 +19,27 @@ var SizeMap = {
19
19
  lg: "1.5rem",
20
20
  xl: "2rem"
21
21
  };
22
+
23
+ /**
24
+ * A component that displays a progress bar indicating the completion percentage of a task or operation.
25
+ * The progress bar is styled with a background color and a track that fills based on the value provided.
26
+ * It can also display a label showing the percentage value.
27
+ * The label can be customized or hidden based on the props provided.
28
+ *
29
+ * @param {ProgressProps} props - The properties for the ProgressBar component.
30
+ * @returns {JSX.Element} The rendered ProgressBar component.
31
+ *
32
+ * @example
33
+ * ```jsx
34
+ * <ProgressBar value={0.75} size="md" color="primary-500" label="Loading" animate />
35
+ * // Renders a progress bar with 75% completion, medium size, primary color, and a label "Loading"
36
+ *
37
+ * <ProgressBar value={0.5} size="lg" color="success-500" />
38
+ * // Renders a progress bar with 50% completion, large size, and success color without a label
39
+ * ```
40
+ *
41
+ * @see {@link https://adarshpastakia.github.io/react-fabric/?path=/docs/core-components-progress--docs} for more details.
42
+ */
22
43
  var ProgressBar = function ProgressBar(_ref) {
23
44
  var _ref$value = _ref.value,
24
45
  value = _ref$value === void 0 ? 0 : _ref$value,