@stratakit/structures 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.2
4
+
5
+ - [#756](https://github.com/iTwin/design-system/pull/756): `DropdownMenu.Button` will now ignore `render={undefined}`.
6
+ - [#755](https://github.com/iTwin/design-system/pull/755): Updated the code for icons used internally by components.
7
+ - Updated dependencies:
8
+ - @stratakit/bricks@0.3.0
9
+ - @stratakit/foundations@0.1.6
10
+
11
+ ## 0.2.1
12
+
13
+ - [#736](https://github.com/iTwin/design-system/pull/736): Updated the `label` prop type in the `<Chip />` component from `string` to `ReactNode`.
14
+ - [#740](https://github.com/iTwin/design-system/pull/740): Added `types` field to `package.json` file for better TypeScript support and TS icon on `npm`.
15
+ - [#737](https://github.com/iTwin/design-system/pull/737): Fixed console warnings raised from `<Tree.Item>` component.
16
+ - Updated dependencies:
17
+ - @stratakit/foundations@0.1.5
18
+ - @stratakit/bricks@0.2.1
19
+
3
20
  ## 0.2.0
4
21
 
5
22
  ### Breaking changes
package/dist/Chip.d.ts CHANGED
@@ -4,7 +4,7 @@ interface ChipProps extends Omit<BaseProps<"div">, "children"> {
4
4
  /**
5
5
  * The label displayed inside the chip.
6
6
  */
7
- label: string;
7
+ label: React.ReactNode;
8
8
  /**
9
9
  * The variant style of the Chip.
10
10
  * Use "solid" for primary states and "outline" for less prominent states.
@@ -73,11 +73,11 @@ const DropdownMenuButton = forwardRef(
73
73
  MenuButton,
74
74
  {
75
75
  accessibleWhenDisabled: true,
76
- render: /* @__PURE__ */ jsxs(Button, { accessibleWhenDisabled, children: [
76
+ ...rest,
77
+ render: props.render ?? /* @__PURE__ */ jsxs(Button, { accessibleWhenDisabled, children: [
77
78
  children,
78
79
  /* @__PURE__ */ jsx(DisclosureArrow, {})
79
80
  ] }),
80
- ...rest,
81
81
  className: cx("\u{1F95D}-dropdown-menu-button", props.className),
82
82
  "data-has-popover-open": open || void 0,
83
83
  ref: forwardedRef
@@ -38,15 +38,17 @@ const TreeItemOverflowActionsContext = React.createContext(void 0);
38
38
  const TreeItemHasOverflowActionsContext = React.createContext(false);
39
39
  const TreeItem = React.memo(
40
40
  forwardRef((props, forwardedRef) => {
41
- const { expanded, selected } = props;
42
41
  const {
42
+ selected,
43
43
  onSelectedChange,
44
+ expanded,
44
45
  onExpandedChange,
45
- icon,
46
- unstable_decorations,
47
- label,
48
- description,
49
- actions,
46
+ icon: _icon,
47
+ unstable_decorations: _unstable_decorations,
48
+ label: _label,
49
+ description: _description,
50
+ actions: _actions,
51
+ error: _error,
50
52
  onClick: onClickProp,
51
53
  onKeyDown: onKeyDownProp,
52
54
  ...rest
@@ -74,6 +76,8 @@ const TreeItem = React.memo(
74
76
  TreeItemRoot,
75
77
  {
76
78
  ...rest,
79
+ expanded,
80
+ selected,
77
81
  onClick: useEventHandlers(onClickProp, handleClick),
78
82
  onKeyDown: useEventHandlers(onKeyDownProp, handleKeyDown),
79
83
  ref: forwardedRef,
@@ -276,39 +280,33 @@ const arrowKeys = ["ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"];
276
280
  const TreeItemActionsOverflowMenuContext = React.createContext(false);
277
281
  function TreeItemActionsOverflowMenu() {
278
282
  const overflow = React.useContext(TreeItemHasOverflowActionsContext);
279
- const [open, setOpen] = React.useState(false);
283
+ const [open, _setOpen] = React.useState(false);
280
284
  const isArrowKeyPressed = React.useRef(false);
285
+ const setOpen = React.useCallback((value) => {
286
+ if (value && !isArrowKeyPressed.current) {
287
+ _setOpen(true);
288
+ } else {
289
+ _setOpen(false);
290
+ }
291
+ }, []);
281
292
  if (!overflow) return null;
282
- return /* @__PURE__ */ jsx(PopoverProvider, { placement: "right-start", children: /* @__PURE__ */ jsxs(
283
- DropdownMenu.Root,
284
- {
285
- open,
286
- setOpen: React.useCallback((value) => {
287
- if (value && !isArrowKeyPressed.current) {
288
- setOpen(true);
289
- } else {
290
- setOpen(false);
291
- }
292
- }, []),
293
- children: [
294
- /* @__PURE__ */ jsx(
295
- DropdownMenu.Button,
296
- {
297
- onKeyDown: (e) => {
298
- if (arrowKeys.includes(e.key)) {
299
- isArrowKeyPressed.current = true;
300
- }
301
- queueMicrotask(() => {
302
- isArrowKeyPressed.current = false;
303
- });
304
- },
305
- render: /* @__PURE__ */ jsx(TreeItemAction, { label: "More", icon: /* @__PURE__ */ jsx(MoreHorizontal, {}) })
293
+ return /* @__PURE__ */ jsx(PopoverProvider, { placement: "right-start", children: /* @__PURE__ */ jsxs(DropdownMenu.Root, { open, setOpen, children: [
294
+ /* @__PURE__ */ jsx(
295
+ DropdownMenu.Button,
296
+ {
297
+ onKeyDown: (e) => {
298
+ if (arrowKeys.includes(e.key)) {
299
+ isArrowKeyPressed.current = true;
306
300
  }
307
- ),
308
- /* @__PURE__ */ jsx(TreeItemActionsOverflowMenuContext.Provider, { value: true, children: /* @__PURE__ */ jsx(TreeItemActionsOverflowMenuContent, {}) })
309
- ]
310
- }
311
- ) });
301
+ queueMicrotask(() => {
302
+ isArrowKeyPressed.current = false;
303
+ });
304
+ },
305
+ render: /* @__PURE__ */ jsx(TreeItemAction, { label: "More", icon: /* @__PURE__ */ jsx(MoreHorizontal, {}) })
306
+ }
307
+ ),
308
+ /* @__PURE__ */ jsx(TreeItemActionsOverflowMenuContext.Provider, { value: true, children: /* @__PURE__ */ jsx(TreeItemActionsOverflowMenuContent, {}) })
309
+ ] }) });
312
310
  }
313
311
  DEV: TreeItemActionsOverflowMenu.displayName = "TreeItemActionsOverflowMenu";
314
312
  function TreeItemActionsOverflowMenuContent() {
@@ -357,7 +355,7 @@ const TreeItemAction = React.memo(
357
355
  {
358
356
  label,
359
357
  icon,
360
- inert: visible === false ? true : void 0,
358
+ inert: visible === false ? "true" : void 0,
361
359
  ...rest,
362
360
  dot,
363
361
  variant: "ghost",
@@ -5,25 +5,25 @@ import {
5
5
  } from "@stratakit/foundations/secret-internals";
6
6
  import cx from "classnames";
7
7
  const Checkmark = createIconFromPath(
8
- "M13.854 4.146a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L6.5 10.793l6.646-6.647a.5.5 0 0 1 .708 0Z"
8
+ "M11.607 4.191a.5.5 0 0 1 .787.617l-5.5 7a.503.503 0 0 1-.777.012l-2.5-3-.057-.084a.5.5 0 0 1 .752-.627l.072.07 2.105 2.526 5.118-6.514Z"
9
9
  );
10
10
  DEV: Checkmark.displayName = "Checkmark";
11
11
  const Dismiss = createIconFromPath(
12
- "M4.853 4.146a.5.5 0 1 0-.707.708L7.293 8l-3.147 3.146a.5.5 0 0 0 .707.708L8 8.707l3.146 3.147a.5.5 0 0 0 .707-.708L8.707 8l3.146-3.146a.5.5 0 1 0-.707-.708L8 7.293 4.853 4.146Z"
12
+ "M4.854 4.146a.5.5 0 1 0-.708.708L7.293 8l-3.147 3.146a.5.5 0 1 0 .708.707L8 8.707l3.146 3.146a.5.5 0 1 0 .707-.707L8.707 8l3.146-3.146a.5.5 0 1 0-.707-.708L8 7.293 4.854 4.146Z"
13
13
  );
14
14
  DEV: Dismiss.displayName = "Dismiss";
15
15
  const statusIcons = {
16
16
  positive: createIconFromPath(
17
- "M7.748 1.726a.5.5 0 0 1 .504 0l5 2.916a.5.5 0 0 1 .248.432v5.852a.5.5 0 0 1-.248.431l-5 2.917a.5.5 0 0 1-.504 0l-5-2.916a.5.5 0 0 1-.248-.432V5.074a.5.5 0 0 1 .248-.432l5-2.916ZM8.756.862a1.5 1.5 0 0 0-1.512 0l-5 2.917A1.5 1.5 0 0 0 1.5 5.074v5.852a1.5 1.5 0 0 0 .744 1.295l5 2.917a1.5 1.5 0 0 0 1.512 0l5-2.917a1.5 1.5 0 0 0 .744-1.295V5.074a1.5 1.5 0 0 0-.744-1.295l-5-2.917Zm2.139 5.445a.5.5 0 0 0-.79-.614L6.953 9.746l-1.1-1.1a.5.5 0 0 0-.707.708l1.5 1.5a.5.5 0 0 0 .749-.047l3.5-4.5Z"
17
+ "M7.25 1.855a1.5 1.5 0 0 1 1.5 0l4.196 2.423a1.5 1.5 0 0 1 .75 1.299v4.846a1.5 1.5 0 0 1-.75 1.298L8.75 14.144a1.5 1.5 0 0 1-1.5 0l-4.196-2.423a1.5 1.5 0 0 1-.75-1.298V5.577a1.5 1.5 0 0 1 .75-1.299L7.25 1.855Zm1 .866a.5.5 0 0 0-.5 0L3.554 5.144a.5.5 0 0 0-.25.433v4.846a.5.5 0 0 0 .25.432l4.196 2.423a.5.5 0 0 0 .5 0l4.196-2.423a.5.5 0 0 0 .25-.432V5.577a.5.5 0 0 0-.25-.433L8.25 2.721ZM9.85 5.7a.501.501 0 0 1 .8.6l-3 4a.502.502 0 0 1-.754.053l-1.5-1.5-.064-.078a.5.5 0 0 1 .693-.693l.079.064 1.091 1.092L9.85 5.7Z"
18
18
  ),
19
19
  attention: createIconFromPath(
20
- "M8.354 2.06a.5.5 0 0 0-.708 0L2.061 7.647a.5.5 0 0 0 0 .707l5.585 5.586a.5.5 0 0 0 .708 0l5.585-5.586a.5.5 0 0 0 0-.707L8.354 2.061Zm-1.415-.707a1.5 1.5 0 0 1 2.122 0l5.585 5.586a1.5 1.5 0 0 1 0 2.122l-5.585 5.585a1.5 1.5 0 0 1-2.122 0L1.354 9.061a1.5 1.5 0 0 1 0-2.122l5.585-5.586ZM8.75 10.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8.5 8.5v-3a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0Z"
20
+ "M6.94 2.354a1.5 1.5 0 0 1 2.121 0l4.586 4.586a1.5 1.5 0 0 1 0 2.12l-4.586 4.587a1.5 1.5 0 0 1-2.121 0L2.354 9.06a1.5 1.5 0 0 1 0-2.121L6.94 2.354Zm1.414.707a.5.5 0 0 0-.707 0L3.061 7.647a.5.5 0 0 0 0 .707l4.586 4.586a.5.5 0 0 0 .707 0l4.586-4.586a.5.5 0 0 0 0-.707L8.354 3.06ZM8 9.5A.75.75 0 1 1 8 11a.75.75 0 0 1 0-1.5ZM8 5a.5.5 0 0 1 .5.5V8a.5.5 0 0 1-1 0V5.5A.5.5 0 0 1 8 5Z"
21
21
  ),
22
22
  critical: createIconFromPath(
23
- "M8.252 1.726a.5.5 0 0 0-.504 0l-5 2.916a.5.5 0 0 0-.248.432v5.852a.5.5 0 0 0 .248.431l5 2.917a.5.5 0 0 0 .504 0l5-2.916a.5.5 0 0 0 .248-.432V5.074a.5.5 0 0 0-.248-.432l-5-2.916ZM7.244.862a1.5 1.5 0 0 1 1.512 0l5 2.917a1.5 1.5 0 0 1 .744 1.295v5.852a1.5 1.5 0 0 1-.744 1.295l-5 2.917a1.5 1.5 0 0 1-1.512 0l-5-2.917a1.5 1.5 0 0 1-.744-1.295V5.074a1.5 1.5 0 0 1 .744-1.295l5-2.917ZM8.75 10.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8.5 5.5a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0v-3Z"
23
+ "M7.25 1.855a1.5 1.5 0 0 1 1.5 0l4.196 2.423a1.5 1.5 0 0 1 .75 1.299v4.846a1.5 1.5 0 0 1-.75 1.298L8.75 14.144a1.5 1.5 0 0 1-1.5 0l-4.196-2.423a1.5 1.5 0 0 1-.75-1.298V5.577a1.5 1.5 0 0 1 .75-1.299L7.25 1.855Zm1 .866a.5.5 0 0 0-.5 0L3.554 5.144a.5.5 0 0 0-.25.433v4.846a.5.5 0 0 0 .25.432l4.196 2.423a.5.5 0 0 0 .5 0l4.196-2.423a.5.5 0 0 0 .25-.432V5.577a.5.5 0 0 0-.25-.433L8.25 2.721ZM8 9.5A.75.75 0 1 1 8 11a.75.75 0 0 1 0-1.5ZM8 5a.5.5 0 0 1 .5.5V8a.5.5 0 0 1-1 0V5.5A.5.5 0 0 1 8 5Z"
24
24
  ),
25
25
  info: createIconFromPath(
26
- "M8 2a6 6 0 1 0 0 12A6 6 0 0 0 8 2ZM1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8Zm5.5-1.5a.5.5 0 0 0 0 1h1v3h-1a.5.5 0 1 0 0 1h3a.5.5 0 0 0 0-1h-1V7a.5.5 0 0 0-.5-.5H6.5Zm1.375-1a.625.625 0 1 0 0-1.25.625.625 0 0 0 0 1.25Z"
26
+ "M8 1.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13Zm0 1a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Zm0 4a.5.5 0 0 1 .5.5v3.5h1a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1h1v-3h-1a.5.5 0 0 1 0-1H8Zm-.125-2.25a.625.625 0 1 1 0 1.25.625.625 0 0 1 0-1.25Z"
27
27
  )
28
28
  };
29
29
  const StatusIcon = forwardRef(
@@ -35,11 +35,11 @@ const StatusIcon = forwardRef(
35
35
  );
36
36
  DEV: StatusIcon.displayName = "StatusIcon";
37
37
  const MoreHorizontal = createIconFromPath(
38
- "M3 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"
38
+ "M4 7a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm4 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm4 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"
39
39
  );
40
40
  DEV: MoreHorizontal.displayName = "MoreHorizontal";
41
41
  const ChevronDownBase = createIconFromPath(
42
- "M4.146 6.146a.5.5 0 0 1 .708 0L8 9.293l3.146-3.147a.5.5 0 0 1 .708.708l-3.5 3.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 0 1 0-.708Z"
42
+ "M11.146 6.146a.5.5 0 1 1 .707.708l-3.5 3.5a.5.5 0 0 1-.707 0l-3.5-3.5a.5.5 0 1 1 .708-.708L8 9.293l3.146-3.147Z"
43
43
  );
44
44
  const ChevronDown = forwardRef((props, forwardedRef) => {
45
45
  return /* @__PURE__ */ jsx(
@@ -71,11 +71,11 @@ const DropdownMenuButton = forwardRef(
71
71
  MenuButton,
72
72
  {
73
73
  accessibleWhenDisabled: true,
74
- render: /* @__PURE__ */ jsxs(Button, { accessibleWhenDisabled, children: [
74
+ ...rest,
75
+ render: props.render ?? /* @__PURE__ */ jsxs(Button, { accessibleWhenDisabled, children: [
75
76
  children,
76
77
  /* @__PURE__ */ jsx(DisclosureArrow, {})
77
78
  ] }),
78
- ...rest,
79
79
  className: cx("\u{1F95D}-dropdown-menu-button", props.className),
80
80
  "data-has-popover-open": open || void 0,
81
81
  ref: forwardedRef
package/dist/TreeItem.js CHANGED
@@ -38,15 +38,17 @@ const TreeItemOverflowActionsContext = React.createContext(void 0);
38
38
  const TreeItemHasOverflowActionsContext = React.createContext(false);
39
39
  const TreeItem = React.memo(
40
40
  forwardRef((props, forwardedRef) => {
41
- const { expanded, selected } = props;
42
41
  const {
42
+ selected,
43
43
  onSelectedChange,
44
+ expanded,
44
45
  onExpandedChange,
45
- icon,
46
- unstable_decorations,
47
- label,
48
- description,
49
- actions,
46
+ icon: _icon,
47
+ unstable_decorations: _unstable_decorations,
48
+ label: _label,
49
+ description: _description,
50
+ actions: _actions,
51
+ error: _error,
50
52
  onClick: onClickProp,
51
53
  onKeyDown: onKeyDownProp,
52
54
  ...rest
@@ -74,6 +76,8 @@ const TreeItem = React.memo(
74
76
  TreeItemRoot,
75
77
  {
76
78
  ...rest,
79
+ expanded,
80
+ selected,
77
81
  onClick: useEventHandlers(onClickProp, handleClick),
78
82
  onKeyDown: useEventHandlers(onKeyDownProp, handleKeyDown),
79
83
  ref: forwardedRef,
@@ -265,39 +269,33 @@ const arrowKeys = ["ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"];
265
269
  const TreeItemActionsOverflowMenuContext = React.createContext(false);
266
270
  function TreeItemActionsOverflowMenu() {
267
271
  const overflow = React.useContext(TreeItemHasOverflowActionsContext);
268
- const [open, setOpen] = React.useState(false);
272
+ const [open, _setOpen] = React.useState(false);
269
273
  const isArrowKeyPressed = React.useRef(false);
274
+ const setOpen = React.useCallback((value) => {
275
+ if (value && !isArrowKeyPressed.current) {
276
+ _setOpen(true);
277
+ } else {
278
+ _setOpen(false);
279
+ }
280
+ }, []);
270
281
  if (!overflow) return null;
271
- return /* @__PURE__ */ jsx(PopoverProvider, { placement: "right-start", children: /* @__PURE__ */ jsxs(
272
- DropdownMenu.Root,
273
- {
274
- open,
275
- setOpen: React.useCallback((value) => {
276
- if (value && !isArrowKeyPressed.current) {
277
- setOpen(true);
278
- } else {
279
- setOpen(false);
280
- }
281
- }, []),
282
- children: [
283
- /* @__PURE__ */ jsx(
284
- DropdownMenu.Button,
285
- {
286
- onKeyDown: (e) => {
287
- if (arrowKeys.includes(e.key)) {
288
- isArrowKeyPressed.current = true;
289
- }
290
- queueMicrotask(() => {
291
- isArrowKeyPressed.current = false;
292
- });
293
- },
294
- render: /* @__PURE__ */ jsx(TreeItemAction, { label: "More", icon: /* @__PURE__ */ jsx(MoreHorizontal, {}) })
282
+ return /* @__PURE__ */ jsx(PopoverProvider, { placement: "right-start", children: /* @__PURE__ */ jsxs(DropdownMenu.Root, { open, setOpen, children: [
283
+ /* @__PURE__ */ jsx(
284
+ DropdownMenu.Button,
285
+ {
286
+ onKeyDown: (e) => {
287
+ if (arrowKeys.includes(e.key)) {
288
+ isArrowKeyPressed.current = true;
295
289
  }
296
- ),
297
- /* @__PURE__ */ jsx(TreeItemActionsOverflowMenuContext.Provider, { value: true, children: /* @__PURE__ */ jsx(TreeItemActionsOverflowMenuContent, {}) })
298
- ]
299
- }
300
- ) });
290
+ queueMicrotask(() => {
291
+ isArrowKeyPressed.current = false;
292
+ });
293
+ },
294
+ render: /* @__PURE__ */ jsx(TreeItemAction, { label: "More", icon: /* @__PURE__ */ jsx(MoreHorizontal, {}) })
295
+ }
296
+ ),
297
+ /* @__PURE__ */ jsx(TreeItemActionsOverflowMenuContext.Provider, { value: true, children: /* @__PURE__ */ jsx(TreeItemActionsOverflowMenuContent, {}) })
298
+ ] }) });
301
299
  }
302
300
  function TreeItemActionsOverflowMenuContent() {
303
301
  const actions = React.useContext(TreeItemOverflowActionsContext);
@@ -334,7 +332,7 @@ const TreeItemAction = React.memo(
334
332
  {
335
333
  label,
336
334
  icon,
337
- inert: visible === false ? true : void 0,
335
+ inert: visible === false ? "true" : void 0,
338
336
  ...rest,
339
337
  dot,
340
338
  variant: "ghost",
@@ -5,23 +5,23 @@ import {
5
5
  } from "@stratakit/foundations/secret-internals";
6
6
  import cx from "classnames";
7
7
  const Checkmark = createIconFromPath(
8
- "M13.854 4.146a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L6.5 10.793l6.646-6.647a.5.5 0 0 1 .708 0Z"
8
+ "M11.607 4.191a.5.5 0 0 1 .787.617l-5.5 7a.503.503 0 0 1-.777.012l-2.5-3-.057-.084a.5.5 0 0 1 .752-.627l.072.07 2.105 2.526 5.118-6.514Z"
9
9
  );
10
10
  const Dismiss = createIconFromPath(
11
- "M4.853 4.146a.5.5 0 1 0-.707.708L7.293 8l-3.147 3.146a.5.5 0 0 0 .707.708L8 8.707l3.146 3.147a.5.5 0 0 0 .707-.708L8.707 8l3.146-3.146a.5.5 0 1 0-.707-.708L8 7.293 4.853 4.146Z"
11
+ "M4.854 4.146a.5.5 0 1 0-.708.708L7.293 8l-3.147 3.146a.5.5 0 1 0 .708.707L8 8.707l3.146 3.146a.5.5 0 1 0 .707-.707L8.707 8l3.146-3.146a.5.5 0 1 0-.707-.708L8 7.293 4.854 4.146Z"
12
12
  );
13
13
  const statusIcons = {
14
14
  positive: createIconFromPath(
15
- "M7.748 1.726a.5.5 0 0 1 .504 0l5 2.916a.5.5 0 0 1 .248.432v5.852a.5.5 0 0 1-.248.431l-5 2.917a.5.5 0 0 1-.504 0l-5-2.916a.5.5 0 0 1-.248-.432V5.074a.5.5 0 0 1 .248-.432l5-2.916ZM8.756.862a1.5 1.5 0 0 0-1.512 0l-5 2.917A1.5 1.5 0 0 0 1.5 5.074v5.852a1.5 1.5 0 0 0 .744 1.295l5 2.917a1.5 1.5 0 0 0 1.512 0l5-2.917a1.5 1.5 0 0 0 .744-1.295V5.074a1.5 1.5 0 0 0-.744-1.295l-5-2.917Zm2.139 5.445a.5.5 0 0 0-.79-.614L6.953 9.746l-1.1-1.1a.5.5 0 0 0-.707.708l1.5 1.5a.5.5 0 0 0 .749-.047l3.5-4.5Z"
15
+ "M7.25 1.855a1.5 1.5 0 0 1 1.5 0l4.196 2.423a1.5 1.5 0 0 1 .75 1.299v4.846a1.5 1.5 0 0 1-.75 1.298L8.75 14.144a1.5 1.5 0 0 1-1.5 0l-4.196-2.423a1.5 1.5 0 0 1-.75-1.298V5.577a1.5 1.5 0 0 1 .75-1.299L7.25 1.855Zm1 .866a.5.5 0 0 0-.5 0L3.554 5.144a.5.5 0 0 0-.25.433v4.846a.5.5 0 0 0 .25.432l4.196 2.423a.5.5 0 0 0 .5 0l4.196-2.423a.5.5 0 0 0 .25-.432V5.577a.5.5 0 0 0-.25-.433L8.25 2.721ZM9.85 5.7a.501.501 0 0 1 .8.6l-3 4a.502.502 0 0 1-.754.053l-1.5-1.5-.064-.078a.5.5 0 0 1 .693-.693l.079.064 1.091 1.092L9.85 5.7Z"
16
16
  ),
17
17
  attention: createIconFromPath(
18
- "M8.354 2.06a.5.5 0 0 0-.708 0L2.061 7.647a.5.5 0 0 0 0 .707l5.585 5.586a.5.5 0 0 0 .708 0l5.585-5.586a.5.5 0 0 0 0-.707L8.354 2.061Zm-1.415-.707a1.5 1.5 0 0 1 2.122 0l5.585 5.586a1.5 1.5 0 0 1 0 2.122l-5.585 5.585a1.5 1.5 0 0 1-2.122 0L1.354 9.061a1.5 1.5 0 0 1 0-2.122l5.585-5.586ZM8.75 10.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8.5 8.5v-3a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0Z"
18
+ "M6.94 2.354a1.5 1.5 0 0 1 2.121 0l4.586 4.586a1.5 1.5 0 0 1 0 2.12l-4.586 4.587a1.5 1.5 0 0 1-2.121 0L2.354 9.06a1.5 1.5 0 0 1 0-2.121L6.94 2.354Zm1.414.707a.5.5 0 0 0-.707 0L3.061 7.647a.5.5 0 0 0 0 .707l4.586 4.586a.5.5 0 0 0 .707 0l4.586-4.586a.5.5 0 0 0 0-.707L8.354 3.06ZM8 9.5A.75.75 0 1 1 8 11a.75.75 0 0 1 0-1.5ZM8 5a.5.5 0 0 1 .5.5V8a.5.5 0 0 1-1 0V5.5A.5.5 0 0 1 8 5Z"
19
19
  ),
20
20
  critical: createIconFromPath(
21
- "M8.252 1.726a.5.5 0 0 0-.504 0l-5 2.916a.5.5 0 0 0-.248.432v5.852a.5.5 0 0 0 .248.431l5 2.917a.5.5 0 0 0 .504 0l5-2.916a.5.5 0 0 0 .248-.432V5.074a.5.5 0 0 0-.248-.432l-5-2.916ZM7.244.862a1.5 1.5 0 0 1 1.512 0l5 2.917a1.5 1.5 0 0 1 .744 1.295v5.852a1.5 1.5 0 0 1-.744 1.295l-5 2.917a1.5 1.5 0 0 1-1.512 0l-5-2.917a1.5 1.5 0 0 1-.744-1.295V5.074a1.5 1.5 0 0 1 .744-1.295l5-2.917ZM8.75 10.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8.5 5.5a.5.5 0 0 0-1 0v3a.5.5 0 0 0 1 0v-3Z"
21
+ "M7.25 1.855a1.5 1.5 0 0 1 1.5 0l4.196 2.423a1.5 1.5 0 0 1 .75 1.299v4.846a1.5 1.5 0 0 1-.75 1.298L8.75 14.144a1.5 1.5 0 0 1-1.5 0l-4.196-2.423a1.5 1.5 0 0 1-.75-1.298V5.577a1.5 1.5 0 0 1 .75-1.299L7.25 1.855Zm1 .866a.5.5 0 0 0-.5 0L3.554 5.144a.5.5 0 0 0-.25.433v4.846a.5.5 0 0 0 .25.432l4.196 2.423a.5.5 0 0 0 .5 0l4.196-2.423a.5.5 0 0 0 .25-.432V5.577a.5.5 0 0 0-.25-.433L8.25 2.721ZM8 9.5A.75.75 0 1 1 8 11a.75.75 0 0 1 0-1.5ZM8 5a.5.5 0 0 1 .5.5V8a.5.5 0 0 1-1 0V5.5A.5.5 0 0 1 8 5Z"
22
22
  ),
23
23
  info: createIconFromPath(
24
- "M8 2a6 6 0 1 0 0 12A6 6 0 0 0 8 2ZM1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8Zm5.5-1.5a.5.5 0 0 0 0 1h1v3h-1a.5.5 0 1 0 0 1h3a.5.5 0 0 0 0-1h-1V7a.5.5 0 0 0-.5-.5H6.5Zm1.375-1a.625.625 0 1 0 0-1.25.625.625 0 0 0 0 1.25Z"
24
+ "M8 1.5a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13Zm0 1a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Zm0 4a.5.5 0 0 1 .5.5v3.5h1a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1h1v-3h-1a.5.5 0 0 1 0-1H8Zm-.125-2.25a.625.625 0 1 1 0 1.25.625.625 0 0 1 0-1.25Z"
25
25
  )
26
26
  };
27
27
  const StatusIcon = forwardRef(
@@ -32,10 +32,10 @@ const StatusIcon = forwardRef(
32
32
  }
33
33
  );
34
34
  const MoreHorizontal = createIconFromPath(
35
- "M3 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm5 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"
35
+ "M4 7a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm4 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2Zm4 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"
36
36
  );
37
37
  const ChevronDownBase = createIconFromPath(
38
- "M4.146 6.146a.5.5 0 0 1 .708 0L8 9.293l3.146-3.147a.5.5 0 0 1 .708.708l-3.5 3.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 0 1 0-.708Z"
38
+ "M11.146 6.146a.5.5 0 1 1 .707.708l-3.5 3.5a.5.5 0 0 1-.707 0l-3.5-3.5a.5.5 0 1 1 .708-.708L8 9.293l3.146-3.147Z"
39
39
  );
40
40
  const ChevronDown = forwardRef((props, forwardedRef) => {
41
41
  return /* @__PURE__ */ jsx(
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@stratakit/structures",
3
3
  "type": "module",
4
- "version": "0.2.0",
4
+ "version": "0.2.2",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
+ "types": "./dist/index.d.ts",
7
8
  "exports": {
8
9
  ".": {
9
10
  "@stratakit/source": "./src/index.ts",
@@ -41,21 +42,21 @@
41
42
  ],
42
43
  "dependencies": {
43
44
  "@ariakit/react": "^0.4.17",
44
- "@stratakit/bricks": "^0.2.0",
45
+ "@stratakit/bricks": "^0.3.0",
45
46
  "classnames": "^2.5.1"
46
47
  },
47
48
  "devDependencies": {
48
- "@types/node": "^22.15.21",
49
+ "@types/node": "^22.15.30",
49
50
  "@types/react": "^19.1.5",
50
- "@types/react-dom": "^19.1.5",
51
- "esbuild": "^0.25.4",
51
+ "@types/react-dom": "^19.1.6",
52
+ "esbuild": "^0.25.5",
52
53
  "react": "^19.1.0",
53
54
  "react-dom": "^19.1.0",
54
55
  "typescript": "~5.8.3",
55
- "@stratakit/foundations": "0.1.4"
56
+ "@stratakit/foundations": "0.1.6"
56
57
  },
57
58
  "peerDependencies": {
58
- "@stratakit/foundations": "^0.1.4",
59
+ "@stratakit/foundations": "^0.1.6",
59
60
  "react": ">=18.0.0",
60
61
  "react-dom": ">=18.0.0"
61
62
  },