@ark-ui/solid 0.1.0 → 0.2.0

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 (151) hide show
  1. package/dist/accordion/accordion-trigger.cjs +1 -1
  2. package/dist/accordion/accordion-trigger.d.ts +3 -2
  3. package/dist/accordion/accordion-trigger.mjs +1 -1
  4. package/dist/combobox/combobox-trigger.cjs +1 -1
  5. package/dist/combobox/combobox-trigger.d.ts +3 -2
  6. package/dist/combobox/combobox-trigger.mjs +1 -1
  7. package/dist/dialog/dialog-close-trigger.cjs +1 -1
  8. package/dist/dialog/dialog-close-trigger.d.ts +3 -2
  9. package/dist/dialog/dialog-close-trigger.mjs +1 -1
  10. package/dist/dialog/dialog-trigger.cjs +1 -1
  11. package/dist/dialog/dialog-trigger.d.ts +3 -2
  12. package/dist/dialog/dialog-trigger.mjs +1 -1
  13. package/dist/dialog/dialog.cjs +4 -2
  14. package/dist/dialog/dialog.mjs +4 -2
  15. package/dist/editable/editable-cancel-trigger.cjs +1 -1
  16. package/dist/editable/editable-cancel-trigger.d.ts +3 -2
  17. package/dist/editable/editable-cancel-trigger.mjs +1 -1
  18. package/dist/editable/editable-edit-trigger.cjs +1 -1
  19. package/dist/editable/editable-edit-trigger.d.ts +3 -2
  20. package/dist/editable/editable-edit-trigger.mjs +1 -1
  21. package/dist/editable/editable-submit-trigger.cjs +1 -1
  22. package/dist/editable/editable-submit-trigger.d.ts +3 -2
  23. package/dist/editable/editable-submit-trigger.mjs +1 -1
  24. package/dist/environment/environment.cjs +2 -2
  25. package/dist/environment/environment.mjs +2 -2
  26. package/dist/hover-card/hover-card-trigger.cjs +1 -1
  27. package/dist/hover-card/hover-card-trigger.d.ts +3 -2
  28. package/dist/hover-card/hover-card-trigger.mjs +1 -1
  29. package/dist/index.cjs +54 -0
  30. package/dist/index.d.ts +3 -0
  31. package/dist/index.mjs +22 -0
  32. package/dist/menu/menu-context-trigger.cjs +1 -1
  33. package/dist/menu/menu-context-trigger.d.ts +3 -2
  34. package/dist/menu/menu-context-trigger.mjs +1 -1
  35. package/dist/menu/menu-trigger.cjs +1 -1
  36. package/dist/menu/menu-trigger.d.ts +3 -2
  37. package/dist/menu/menu-trigger.mjs +1 -1
  38. package/dist/number-input/number-input-decrement-trigger.cjs +1 -1
  39. package/dist/number-input/number-input-decrement-trigger.d.ts +3 -2
  40. package/dist/number-input/number-input-decrement-trigger.mjs +1 -1
  41. package/dist/number-input/number-input-increment-trigger.cjs +1 -1
  42. package/dist/number-input/number-input-increment-trigger.d.ts +3 -2
  43. package/dist/number-input/number-input-increment-trigger.mjs +1 -1
  44. package/dist/pin-input/pin-input-control.cjs +2 -2
  45. package/dist/pin-input/pin-input-control.mjs +2 -2
  46. package/dist/popover/popover-anchor.cjs +1 -1
  47. package/dist/popover/popover-anchor.d.ts +3 -2
  48. package/dist/popover/popover-anchor.mjs +1 -1
  49. package/dist/popover/popover-close-trigger.cjs +1 -1
  50. package/dist/popover/popover-close-trigger.d.ts +3 -2
  51. package/dist/popover/popover-close-trigger.mjs +1 -1
  52. package/dist/popover/popover-trigger.cjs +1 -1
  53. package/dist/popover/popover-trigger.d.ts +3 -2
  54. package/dist/popover/popover-trigger.mjs +1 -1
  55. package/dist/range-slider/index.d.ts +10 -0
  56. package/dist/range-slider/range-slider-context.cjs +13 -0
  57. package/dist/range-slider/range-slider-context.d.ts +61 -0
  58. package/dist/range-slider/range-slider-context.mjs +8 -0
  59. package/dist/range-slider/range-slider-control.cjs +14 -0
  60. package/dist/range-slider/range-slider-control.d.ts +4 -0
  61. package/dist/range-slider/range-slider-control.mjs +10 -0
  62. package/dist/range-slider/range-slider-label.cjs +14 -0
  63. package/dist/range-slider/range-slider-label.d.ts +4 -0
  64. package/dist/range-slider/range-slider-label.mjs +10 -0
  65. package/dist/range-slider/range-slider-marker-group.cjs +14 -0
  66. package/dist/range-slider/range-slider-marker-group.d.ts +4 -0
  67. package/dist/range-slider/range-slider-marker-group.mjs +10 -0
  68. package/dist/range-slider/range-slider-marker.cjs +16 -0
  69. package/dist/range-slider/range-slider-marker.d.ts +9 -0
  70. package/dist/range-slider/range-slider-marker.mjs +12 -0
  71. package/dist/range-slider/range-slider-output.cjs +21 -0
  72. package/dist/range-slider/range-slider-output.d.ts +8 -0
  73. package/dist/range-slider/range-slider-output.mjs +17 -0
  74. package/dist/range-slider/range-slider-range.cjs +14 -0
  75. package/dist/range-slider/range-slider-range.d.ts +4 -0
  76. package/dist/range-slider/range-slider-range.mjs +10 -0
  77. package/dist/range-slider/range-slider-thumb.cjs +16 -0
  78. package/dist/range-slider/range-slider-thumb.d.ts +9 -0
  79. package/dist/range-slider/range-slider-thumb.mjs +12 -0
  80. package/dist/range-slider/range-slider-track.cjs +14 -0
  81. package/dist/range-slider/range-slider-track.d.ts +4 -0
  82. package/dist/range-slider/range-slider-track.mjs +10 -0
  83. package/dist/range-slider/range-slider.anatomy.d.ts +1 -0
  84. package/dist/range-slider/range-slider.cjs +27 -0
  85. package/dist/range-slider/range-slider.d.ts +8 -0
  86. package/dist/range-slider/range-slider.mjs +23 -0
  87. package/dist/range-slider/use-range-slider.cjs +38 -0
  88. package/dist/range-slider/use-range-slider.d.ts +34 -0
  89. package/dist/range-slider/use-range-slider.mjs +15 -0
  90. package/dist/select/select-trigger.cjs +1 -1
  91. package/dist/select/select-trigger.d.ts +3 -2
  92. package/dist/select/select-trigger.mjs +1 -1
  93. package/dist/splitter/index.d.ts +4 -0
  94. package/dist/splitter/splitter-context.cjs +13 -0
  95. package/dist/splitter/splitter-context.d.ts +50 -0
  96. package/dist/splitter/splitter-context.mjs +8 -0
  97. package/dist/splitter/splitter-panel.cjs +16 -0
  98. package/dist/splitter/splitter-panel.d.ts +8 -0
  99. package/dist/splitter/splitter-panel.mjs +12 -0
  100. package/dist/splitter/splitter-resize-trigger.cjs +23 -0
  101. package/dist/splitter/splitter-resize-trigger.d.ts +10 -0
  102. package/dist/splitter/splitter-resize-trigger.mjs +19 -0
  103. package/dist/splitter/splitter.anatomy.d.ts +1 -0
  104. package/dist/splitter/splitter.cjs +22 -0
  105. package/dist/splitter/splitter.d.ts +6 -0
  106. package/dist/splitter/splitter.mjs +18 -0
  107. package/dist/splitter/use-splitter.cjs +17 -0
  108. package/dist/splitter/use-splitter.d.ts +29 -0
  109. package/dist/splitter/use-splitter.mjs +13 -0
  110. package/dist/tabs/tab-trigger.cjs +1 -1
  111. package/dist/tabs/tab-trigger.d.ts +3 -2
  112. package/dist/tabs/tab-trigger.mjs +1 -1
  113. package/dist/tags-input/tag-delete-trigger.cjs +1 -1
  114. package/dist/tags-input/tag-delete-trigger.d.ts +3 -2
  115. package/dist/tags-input/tag-delete-trigger.mjs +1 -1
  116. package/dist/tags-input/tags-input-clear-trigger.cjs +1 -1
  117. package/dist/tags-input/tags-input-clear-trigger.d.ts +3 -2
  118. package/dist/tags-input/tags-input-clear-trigger.mjs +1 -1
  119. package/dist/toast/index.d.ts +8 -0
  120. package/dist/toast/toast-close-trigger.cjs +23 -0
  121. package/dist/toast/toast-close-trigger.d.ts +6 -0
  122. package/dist/toast/toast-close-trigger.mjs +19 -0
  123. package/dist/toast/toast-description.cjs +18 -0
  124. package/dist/toast/toast-description.d.ts +4 -0
  125. package/dist/toast/toast-description.mjs +14 -0
  126. package/dist/toast/toast-group.cjs +25 -0
  127. package/dist/toast/toast-group.d.ts +11 -0
  128. package/dist/toast/toast-group.mjs +21 -0
  129. package/dist/toast/toast-item-context.cjs +13 -0
  130. package/dist/toast/toast-item-context.d.ts +38 -0
  131. package/dist/toast/toast-item-context.mjs +8 -0
  132. package/dist/toast/toast-placements.cjs +15 -0
  133. package/dist/toast/toast-placements.d.ts +6 -0
  134. package/dist/toast/toast-placements.mjs +11 -0
  135. package/dist/toast/toast-provider.cjs +52 -0
  136. package/dist/toast/toast-provider.d.ts +13 -0
  137. package/dist/toast/toast-provider.mjs +27 -0
  138. package/dist/toast/toast-title.cjs +18 -0
  139. package/dist/toast/toast-title.d.ts +4 -0
  140. package/dist/toast/toast-title.mjs +14 -0
  141. package/dist/toast/toast.anatomy.d.ts +1 -0
  142. package/dist/toast/toast.cjs +22 -0
  143. package/dist/toast/toast.d.ts +6 -0
  144. package/dist/toast/toast.mjs +18 -0
  145. package/dist/toast/use-toast-item.cjs +33 -0
  146. package/dist/toast/use-toast-item.d.ts +23 -0
  147. package/dist/toast/use-toast-item.mjs +10 -0
  148. package/dist/tooltip/tooltip-trigger.cjs +1 -1
  149. package/dist/tooltip/tooltip-trigger.d.ts +2 -2
  150. package/dist/tooltip/tooltip-trigger.mjs +1 -1
  151. package/package.json +9 -8
@@ -17,7 +17,7 @@ const SelectTrigger = props => {
17
17
  web.spread(children, triggerProps);
18
18
  }
19
19
  });
20
- return getChildren;
20
+ return getChildren();
21
21
  };
22
22
 
23
23
  exports.SelectTrigger = SelectTrigger;
@@ -1,5 +1,6 @@
1
- import type { ChildrenReturn, type JSX } from 'solid-js';
1
+ import type { ResolvedChildren } from 'solid-js/types/reactive/signal';
2
+ import { type JSX } from 'solid-js';
2
3
  export type SelectTriggerProps = {
3
4
  children: JSX.Element;
4
5
  };
5
- export declare const SelectTrigger: (props: SelectTriggerProps) => ChildrenReturn;
6
+ export declare const SelectTrigger: (props: SelectTriggerProps) => ResolvedChildren;
@@ -13,7 +13,7 @@ const SelectTrigger = props => {
13
13
  spread(children, triggerProps);
14
14
  }
15
15
  });
16
- return getChildren;
16
+ return getChildren();
17
17
  };
18
18
 
19
19
  export { SelectTrigger };
@@ -0,0 +1,4 @@
1
+ export { Splitter, type SplitterProps } from './splitter';
2
+ export { SplitterPanel, type SplitterPanelProps } from './splitter-panel';
3
+ export { SplitterResizeTrigger, type SplitterResizeTriggerProps } from './splitter-resize-trigger';
4
+ export { splitterAnatomy } from './splitter.anatomy';
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const createContext = require('../create-context.cjs');
6
+
7
+ const [SplitterProvider, useSplitterContext] = createContext.createContext({
8
+ hookName: "useSplitterContext",
9
+ providerName: "<SplitterProvider />"
10
+ });
11
+
12
+ exports.SplitterProvider = SplitterProvider;
13
+ exports.useSplitterContext = useSplitterContext;
@@ -0,0 +1,50 @@
1
+ import type { PanelId, ResizeTriggerProps, PanelProps } from '@zag-js/splitter/dist/splitter.types';
2
+ import type { Accessor, JSX } from 'solid-js';
3
+ import type { ContextProviderComponent } from 'solid-js/types/reactive/signal';
4
+ import { type UseSplitterReturn } from './use-splitter';
5
+ export type SplitterContext = UseSplitterReturn;
6
+ export declare const SplitterProvider: ContextProviderComponent<Accessor<{
7
+ isFocused: boolean;
8
+ isDragging: boolean;
9
+ bounds: {
10
+ min: number;
11
+ max: number;
12
+ } | undefined;
13
+ collapse(id: PanelId): void;
14
+ expand(id: PanelId): void;
15
+ toggle(id: PanelId): void;
16
+ setSize(id: PanelId, size: number): void;
17
+ getResizeTriggerState(props: ResizeTriggerProps): {
18
+ isDisabled: boolean;
19
+ isFocused: boolean;
20
+ panelIds: string[];
21
+ min: number | undefined;
22
+ max: number | undefined;
23
+ value: number;
24
+ };
25
+ rootProps: JSX.HTMLAttributes<any>;
26
+ getPanelProps(props: PanelProps): JSX.HTMLAttributes<any>;
27
+ getResizeTriggerProps(props: ResizeTriggerProps): JSX.HTMLAttributes<any>;
28
+ }>>, useSplitterContext: () => Accessor<{
29
+ isFocused: boolean;
30
+ isDragging: boolean;
31
+ bounds: {
32
+ min: number;
33
+ max: number;
34
+ } | undefined;
35
+ collapse(id: PanelId): void;
36
+ expand(id: PanelId): void;
37
+ toggle(id: PanelId): void;
38
+ setSize(id: PanelId, size: number): void;
39
+ getResizeTriggerState(props: ResizeTriggerProps): {
40
+ isDisabled: boolean;
41
+ isFocused: boolean;
42
+ panelIds: string[];
43
+ min: number | undefined;
44
+ max: number | undefined;
45
+ value: number;
46
+ };
47
+ rootProps: JSX.HTMLAttributes<any>;
48
+ getPanelProps(props: PanelProps): JSX.HTMLAttributes<any>;
49
+ getResizeTriggerProps(props: ResizeTriggerProps): JSX.HTMLAttributes<any>;
50
+ }>;
@@ -0,0 +1,8 @@
1
+ import { createContext } from '../create-context.mjs';
2
+
3
+ const [SplitterProvider, useSplitterContext] = createContext({
4
+ hookName: "useSplitterContext",
5
+ providerName: "<SplitterProvider />"
6
+ });
7
+
8
+ export { SplitterProvider, useSplitterContext };
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const createSplitProps = require('../create-split-props.cjs');
7
+ const factory = require('../factory.cjs');
8
+ const splitterContext = require('./splitter-context.cjs');
9
+
10
+ const SplitterPanel = props => {
11
+ const [splitterPanelProps, divProps] = createSplitProps.createSplitProps()(props, ['id', 'snapSize']);
12
+ const splitter = splitterContext.useSplitterContext();
13
+ return web.createComponent(factory.ark.div, web.mergeProps(() => splitter().getPanelProps(splitterPanelProps), divProps));
14
+ };
15
+
16
+ exports.SplitterPanel = SplitterPanel;
@@ -0,0 +1,8 @@
1
+ import type { JSX } from 'solid-js';
2
+ import { type Assign } from '@polymorphic-factory/solid';
3
+ import { type connect } from '@zag-js/splitter';
4
+ import { type HTMLArkProps } from '../factory';
5
+ type GetPanelProps = Parameters<ReturnType<typeof connect>['getPanelProps']>[0];
6
+ export type SplitterPanelProps = Assign<HTMLArkProps<'div'>, GetPanelProps>;
7
+ export declare const SplitterPanel: (props: SplitterPanelProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ import { createComponent, mergeProps } from 'solid-js/web';
2
+ import { createSplitProps } from '../create-split-props.mjs';
3
+ import { ark } from '../factory.mjs';
4
+ import { useSplitterContext } from './splitter-context.mjs';
5
+
6
+ const SplitterPanel = props => {
7
+ const [splitterPanelProps, divProps] = createSplitProps()(props, ['id', 'snapSize']);
8
+ const splitter = useSplitterContext();
9
+ return createComponent(ark.div, mergeProps(() => splitter().getPanelProps(splitterPanelProps), divProps));
10
+ };
11
+
12
+ export { SplitterPanel };
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const solidJs = require('solid-js');
6
+ const web = require('solid-js/web');
7
+ const ssrSpread = require('../ssr-spread.cjs');
8
+ const splitterContext = require('./splitter-context.cjs');
9
+
10
+ const SplitterResizeTrigger = props => {
11
+ const splitter = splitterContext.useSplitterContext();
12
+ const triggerProps = splitter?.().getResizeTriggerProps(props);
13
+ const getChildren = solidJs.children(() => ssrSpread.ssrSpread(props.children, triggerProps));
14
+ solidJs.createEffect(() => {
15
+ const children = getChildren();
16
+ if (children instanceof HTMLElement) {
17
+ web.spread(children, triggerProps);
18
+ }
19
+ });
20
+ return getChildren();
21
+ };
22
+
23
+ exports.SplitterResizeTrigger = SplitterResizeTrigger;
@@ -0,0 +1,10 @@
1
+ import type { ResolvedChildren } from 'solid-js/types/reactive/signal';
2
+ import { type Assign } from '@polymorphic-factory/solid';
3
+ import { type connect } from '@zag-js/splitter';
4
+ import { type JSX } from 'solid-js';
5
+ type SplitterContext = Parameters<ReturnType<typeof connect>['getResizeTriggerProps']>[0];
6
+ export type SplitterResizeTriggerProps = Assign<{
7
+ children: JSX.Element;
8
+ }, SplitterContext>;
9
+ export declare const SplitterResizeTrigger: (props: SplitterResizeTriggerProps) => ResolvedChildren;
10
+ export {};
@@ -0,0 +1,19 @@
1
+ import { children, createEffect } from 'solid-js';
2
+ import { spread } from 'solid-js/web';
3
+ import { ssrSpread } from '../ssr-spread.mjs';
4
+ import { useSplitterContext } from './splitter-context.mjs';
5
+
6
+ const SplitterResizeTrigger = props => {
7
+ const splitter = useSplitterContext();
8
+ const triggerProps = splitter?.().getResizeTriggerProps(props);
9
+ const getChildren = children(() => ssrSpread(props.children, triggerProps));
10
+ createEffect(() => {
11
+ const children = getChildren();
12
+ if (children instanceof HTMLElement) {
13
+ spread(children, triggerProps);
14
+ }
15
+ });
16
+ return getChildren();
17
+ };
18
+
19
+ export { SplitterResizeTrigger };
@@ -0,0 +1 @@
1
+ export { anatomy as splitterAnatomy } from '@zag-js/splitter';
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const createSplitProps = require('../create-split-props.cjs');
7
+ const factory = require('../factory.cjs');
8
+ const splitterContext = require('./splitter-context.cjs');
9
+ const useSplitter = require('./use-splitter.cjs');
10
+
11
+ const Splitter = props => {
12
+ const [useSplitterProps, divProps] = createSplitProps.createSplitProps()(props, ['dir', 'getRootNode', 'id', 'onResize', 'onResizeEnd', 'onResizeStart', 'orientation', 'size']);
13
+ const splitter = useSplitter.useSplitter(useSplitterProps);
14
+ return web.createComponent(splitterContext.SplitterProvider, {
15
+ value: splitter,
16
+ get children() {
17
+ return web.createComponent(factory.ark.div, web.mergeProps(() => splitter().rootProps, divProps));
18
+ }
19
+ });
20
+ };
21
+
22
+ exports.Splitter = Splitter;
@@ -0,0 +1,6 @@
1
+ import type { JSX } from 'solid-js';
2
+ import { type Assign } from '@polymorphic-factory/solid';
3
+ import { type HTMLArkProps } from '../factory';
4
+ import { type UseSplitterProps } from './use-splitter';
5
+ export type SplitterProps = Assign<HTMLArkProps<'div'>, UseSplitterProps>;
6
+ export declare const Splitter: (props: SplitterProps) => JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { createComponent, mergeProps } from 'solid-js/web';
2
+ import { createSplitProps } from '../create-split-props.mjs';
3
+ import { ark } from '../factory.mjs';
4
+ import { SplitterProvider } from './splitter-context.mjs';
5
+ import { useSplitter } from './use-splitter.mjs';
6
+
7
+ const Splitter = props => {
8
+ const [useSplitterProps, divProps] = createSplitProps()(props, ['dir', 'getRootNode', 'id', 'onResize', 'onResizeEnd', 'onResizeStart', 'orientation', 'size']);
9
+ const splitter = useSplitter(useSplitterProps);
10
+ return createComponent(SplitterProvider, {
11
+ value: splitter,
12
+ get children() {
13
+ return createComponent(ark.div, mergeProps(() => splitter().rootProps, divProps));
14
+ }
15
+ });
16
+ };
17
+
18
+ export { Splitter };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const solid = require('@zag-js/solid');
6
+ const splitter = require('@zag-js/splitter');
7
+ const solidJs = require('solid-js');
8
+ const environmentContext = require('../environment/environment-context.cjs');
9
+
10
+ const useSplitter = (props) => {
11
+ const getRootNode = environmentContext.useEnvironmentContext();
12
+ const context = solidJs.mergeProps({ id: solidJs.createUniqueId(), getRootNode }, props);
13
+ const [state, send] = solid.useMachine(splitter.machine(context), { context });
14
+ return solidJs.createMemo(() => splitter.connect(state, send, solid.normalizeProps));
15
+ };
16
+
17
+ exports.useSplitter = useSplitter;
@@ -0,0 +1,29 @@
1
+ import type { PanelId, ResizeTriggerProps, PanelProps } from '@zag-js/splitter/dist/splitter.types';
2
+ import type { Accessor, JSX } from 'solid-js';
3
+ import { type Context } from '@zag-js/splitter';
4
+ import { type Optional } from '../types';
5
+ export type UseSplitterProps = Optional<Context, 'id'>;
6
+ export type UseSplitterReturn = ReturnType<typeof useSplitter>;
7
+ export declare const useSplitter: (props: UseSplitterProps) => Accessor<{
8
+ isFocused: boolean;
9
+ isDragging: boolean;
10
+ bounds: {
11
+ min: number;
12
+ max: number;
13
+ } | undefined;
14
+ collapse(id: PanelId): void;
15
+ expand(id: PanelId): void;
16
+ toggle(id: PanelId): void;
17
+ setSize(id: PanelId, size: number): void;
18
+ getResizeTriggerState(props: ResizeTriggerProps): {
19
+ isDisabled: boolean;
20
+ isFocused: boolean;
21
+ panelIds: string[];
22
+ min: number | undefined;
23
+ max: number | undefined;
24
+ value: number;
25
+ };
26
+ rootProps: JSX.HTMLAttributes<any>;
27
+ getPanelProps(props: PanelProps): JSX.HTMLAttributes<any>;
28
+ getResizeTriggerProps(props: ResizeTriggerProps): JSX.HTMLAttributes<any>;
29
+ }>;
@@ -0,0 +1,13 @@
1
+ import { useMachine, normalizeProps } from '@zag-js/solid';
2
+ import { machine, connect } from '@zag-js/splitter';
3
+ import { mergeProps, createUniqueId, createMemo } from 'solid-js';
4
+ import { useEnvironmentContext } from '../environment/environment-context.mjs';
5
+
6
+ const useSplitter = (props) => {
7
+ const getRootNode = useEnvironmentContext();
8
+ const context = mergeProps({ id: createUniqueId(), getRootNode }, props);
9
+ const [state, send] = useMachine(machine(context), { context });
10
+ return createMemo(() => connect(state, send, normalizeProps));
11
+ };
12
+
13
+ export { useSplitter };
@@ -19,7 +19,7 @@ const TabTrigger = props => {
19
19
  web.spread(children, triggerProps);
20
20
  }
21
21
  });
22
- return getChildren;
22
+ return getChildren();
23
23
  };
24
24
 
25
25
  exports.TabTrigger = TabTrigger;
@@ -1,9 +1,10 @@
1
+ import type { ResolvedChildren } from 'solid-js/types/reactive/signal';
1
2
  import { type Assign } from '@polymorphic-factory/solid';
2
3
  import { type connect } from '@zag-js/tabs';
3
- import type { ChildrenReturn, type JSX } from 'solid-js';
4
+ import { type JSX } from 'solid-js';
4
5
  type GetTriggerPropsArgs = Parameters<ReturnType<typeof connect>['getTriggerProps']>[0];
5
6
  export type TabTriggerProps = Assign<GetTriggerPropsArgs, {
6
7
  children: JSX.Element;
7
8
  }>;
8
- export declare const TabTrigger: (props: TabTriggerProps) => ChildrenReturn;
9
+ export declare const TabTrigger: (props: TabTriggerProps) => ResolvedChildren;
9
10
  export {};
@@ -15,7 +15,7 @@ const TabTrigger = props => {
15
15
  spread(children, triggerProps);
16
16
  }
17
17
  });
18
- return getChildren;
18
+ return getChildren();
19
19
  };
20
20
 
21
21
  export { TabTrigger };
@@ -19,7 +19,7 @@ const TagDeleteTrigger = props => {
19
19
  web.spread(children, triggerProps);
20
20
  }
21
21
  });
22
- return getChildren;
22
+ return getChildren();
23
23
  };
24
24
 
25
25
  exports.TagDeleteTrigger = TagDeleteTrigger;
@@ -1,7 +1,8 @@
1
+ import type { ResolvedChildren } from 'solid-js/types/reactive/signal';
1
2
  import { type Assign } from '@polymorphic-factory/solid';
2
- import type { ChildrenReturn, type JSX } from 'solid-js';
3
+ import { type JSX } from 'solid-js';
3
4
  import { type TagProps } from './tag';
4
5
  export type TagDeleteTriggerProps = Assign<{
5
6
  children: JSX.Element;
6
7
  }, TagProps>;
7
- export declare const TagDeleteTrigger: (props: TagDeleteTriggerProps) => ChildrenReturn;
8
+ export declare const TagDeleteTrigger: (props: TagDeleteTriggerProps) => ResolvedChildren;
@@ -15,7 +15,7 @@ const TagDeleteTrigger = props => {
15
15
  spread(children, triggerProps);
16
16
  }
17
17
  });
18
- return getChildren;
18
+ return getChildren();
19
19
  };
20
20
 
21
21
  export { TagDeleteTrigger };
@@ -17,7 +17,7 @@ const TagsInputClearTrigger = props => {
17
17
  web.spread(children, triggerProps);
18
18
  }
19
19
  });
20
- return getChildren;
20
+ return getChildren();
21
21
  };
22
22
 
23
23
  exports.TagsInputClearTrigger = TagsInputClearTrigger;
@@ -1,5 +1,6 @@
1
- import type { ChildrenReturn, type JSX } from 'solid-js';
1
+ import type { ResolvedChildren } from 'solid-js/types/reactive/signal';
2
+ import { type JSX } from 'solid-js';
2
3
  export type TagsInputClearTriggerProps = {
3
4
  children: JSX.Element;
4
5
  };
5
- export declare const TagsInputClearTrigger: (props: TagsInputClearTriggerProps) => ChildrenReturn;
6
+ export declare const TagsInputClearTrigger: (props: TagsInputClearTriggerProps) => ResolvedChildren;
@@ -13,7 +13,7 @@ const TagsInputClearTrigger = props => {
13
13
  spread(children, triggerProps);
14
14
  }
15
15
  });
16
- return getChildren;
16
+ return getChildren();
17
17
  };
18
18
 
19
19
  export { TagsInputClearTrigger };
@@ -0,0 +1,8 @@
1
+ export { Toast, type ToastProps } from './toast';
2
+ export { ToastCloseTrigger, type ToastCloseTriggerProps } from './toast-close-trigger';
3
+ export { ToastDescription, type ToastDescriptionProps } from './toast-description';
4
+ export { ToastGroup, type ToastGroupProps } from './toast-group';
5
+ export { ToastPlacements, type ToastPlacementsProps } from './toast-placements';
6
+ export { ToastProvider, useToast, type ToastProviderProps } from './toast-provider';
7
+ export { ToastTitle, type ToastTitleProps } from './toast-title';
8
+ export { toastAnatomy } from './toast.anatomy';
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const solidJs = require('solid-js');
6
+ const web = require('solid-js/web');
7
+ const ssrSpread = require('../ssr-spread.cjs');
8
+ const toastItemContext = require('./toast-item-context.cjs');
9
+
10
+ const ToastCloseTrigger = props => {
11
+ const toast = toastItemContext.useToastItemContext();
12
+ const triggerProps = toast().closeTriggerProps;
13
+ const getChildren = solidJs.children(() => ssrSpread.ssrSpread(props.children, triggerProps));
14
+ solidJs.createEffect(() => {
15
+ const children = getChildren();
16
+ if (children instanceof HTMLElement) {
17
+ web.spread(children, triggerProps);
18
+ }
19
+ });
20
+ return getChildren();
21
+ };
22
+
23
+ exports.ToastCloseTrigger = ToastCloseTrigger;
@@ -0,0 +1,6 @@
1
+ import type { ResolvedChildren } from 'solid-js/types/reactive/signal';
2
+ import { type JSX } from 'solid-js';
3
+ export type ToastCloseTriggerProps = {
4
+ children: JSX.Element;
5
+ };
6
+ export declare const ToastCloseTrigger: (props: ToastCloseTriggerProps) => ResolvedChildren;
@@ -0,0 +1,19 @@
1
+ import { children, createEffect } from 'solid-js';
2
+ import { spread } from 'solid-js/web';
3
+ import { ssrSpread } from '../ssr-spread.mjs';
4
+ import { useToastItemContext } from './toast-item-context.mjs';
5
+
6
+ const ToastCloseTrigger = props => {
7
+ const toast = useToastItemContext();
8
+ const triggerProps = toast().closeTriggerProps;
9
+ const getChildren = children(() => ssrSpread(props.children, triggerProps));
10
+ createEffect(() => {
11
+ const children = getChildren();
12
+ if (children instanceof HTMLElement) {
13
+ spread(children, triggerProps);
14
+ }
15
+ });
16
+ return getChildren();
17
+ };
18
+
19
+ export { ToastCloseTrigger };
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const factory = require('../factory.cjs');
7
+ const toastItemContext = require('./toast-item-context.cjs');
8
+
9
+ const ToastDescription = props => {
10
+ const toast = toastItemContext.useToastItemContext();
11
+ return web.createComponent(factory.ark.p, web.mergeProps(() => toast().descriptionProps, props, {
12
+ get children() {
13
+ return toast().description;
14
+ }
15
+ }));
16
+ };
17
+
18
+ exports.ToastDescription = ToastDescription;
@@ -0,0 +1,4 @@
1
+ import type { JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ export type ToastDescriptionProps = HTMLArkProps<'p'>;
4
+ export declare const ToastDescription: (props: ToastDescriptionProps) => JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { createComponent, mergeProps } from 'solid-js/web';
2
+ import { ark } from '../factory.mjs';
3
+ import { useToastItemContext } from './toast-item-context.mjs';
4
+
5
+ const ToastDescription = props => {
6
+ const toast = useToastItemContext();
7
+ return createComponent(ark.p, mergeProps(() => toast().descriptionProps, props, {
8
+ get children() {
9
+ return toast().description;
10
+ }
11
+ }));
12
+ };
13
+
14
+ export { ToastDescription };
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const solidJs = require('solid-js');
7
+ const createSplitProps = require('../create-split-props.cjs');
8
+ const factory = require('../factory.cjs');
9
+ const runIfFn = require('../run-if-fn.cjs');
10
+ const toastProvider = require('./toast-provider.cjs');
11
+
12
+ const ToastGroup = props => {
13
+ const [toastGroupParams, divProps] = createSplitProps.createSplitProps()(props, ['placement', 'children']);
14
+ const toast = toastProvider.useToast();
15
+ const view = () => solidJs.children(() => runIfFn.runIfFn(toastGroupParams.children, toast().toastsByPlacement[toastGroupParams.placement] ?? []));
16
+ return web.createComponent(factory.ark.div, web.mergeProps(() => toast().getGroupProps({
17
+ placement: toastGroupParams.placement
18
+ }), divProps, {
19
+ get children() {
20
+ return view;
21
+ }
22
+ }));
23
+ };
24
+
25
+ exports.ToastGroup = ToastGroup;
@@ -0,0 +1,11 @@
1
+ import { type Assign } from '@polymorphic-factory/solid';
2
+ import { type Placement, type Service } from '@zag-js/toast';
3
+ import { type JSX } from 'solid-js';
4
+ import { type HTMLArkProps } from '../factory';
5
+ type ToastGroupParams = {
6
+ placement: Placement;
7
+ children: JSX.Element | ((toasts: Service[]) => JSX.Element);
8
+ };
9
+ export type ToastGroupProps = Assign<HTMLArkProps<'div'>, ToastGroupParams>;
10
+ export declare const ToastGroup: (props: ToastGroupProps) => JSX.Element;
11
+ export {};
@@ -0,0 +1,21 @@
1
+ import { createComponent, mergeProps } from 'solid-js/web';
2
+ import { children } from 'solid-js';
3
+ import { createSplitProps } from '../create-split-props.mjs';
4
+ import { ark } from '../factory.mjs';
5
+ import { runIfFn } from '../run-if-fn.mjs';
6
+ import { useToast } from './toast-provider.mjs';
7
+
8
+ const ToastGroup = props => {
9
+ const [toastGroupParams, divProps] = createSplitProps()(props, ['placement', 'children']);
10
+ const toast = useToast();
11
+ const view = () => children(() => runIfFn(toastGroupParams.children, toast().toastsByPlacement[toastGroupParams.placement] ?? []));
12
+ return createComponent(ark.div, mergeProps(() => toast().getGroupProps({
13
+ placement: toastGroupParams.placement
14
+ }), divProps, {
15
+ get children() {
16
+ return view;
17
+ }
18
+ }));
19
+ };
20
+
21
+ export { ToastGroup };
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const createContext = require('../create-context.cjs');
6
+
7
+ const [ToastItemProvider, useToastItemContext] = createContext.createContext({
8
+ hookName: "useToastItemContext",
9
+ providerName: "<ToastItemProvider />"
10
+ });
11
+
12
+ exports.ToastItemProvider = ToastItemProvider;
13
+ exports.useToastItemContext = useToastItemContext;
@@ -0,0 +1,38 @@
1
+ import type { Type, Placement } from '@zag-js/toast/dist/toast.types';
2
+ import type { Accessor, JSX } from 'solid-js';
3
+ import type { ContextProviderComponent } from 'solid-js/types/reactive/signal';
4
+ import { type UseToastItemReturn } from './use-toast-item';
5
+ export type ToastItemContext = UseToastItemReturn;
6
+ export declare const ToastItemProvider: ContextProviderComponent<Accessor<{
7
+ type: Type;
8
+ title: string | undefined;
9
+ description: string | undefined;
10
+ placement: Placement;
11
+ isVisible: boolean;
12
+ isPaused: boolean;
13
+ isRtl: boolean;
14
+ pause(): void;
15
+ resume(): void;
16
+ dismiss(): void;
17
+ render(): any;
18
+ rootProps: JSX.HTMLAttributes<any>;
19
+ titleProps: JSX.HTMLAttributes<any>;
20
+ descriptionProps: JSX.HTMLAttributes<any>;
21
+ closeTriggerProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;
22
+ }>>, useToastItemContext: () => Accessor<{
23
+ type: Type;
24
+ title: string | undefined;
25
+ description: string | undefined;
26
+ placement: Placement;
27
+ isVisible: boolean;
28
+ isPaused: boolean;
29
+ isRtl: boolean;
30
+ pause(): void;
31
+ resume(): void;
32
+ dismiss(): void;
33
+ render(): any;
34
+ rootProps: JSX.HTMLAttributes<any>;
35
+ titleProps: JSX.HTMLAttributes<any>;
36
+ descriptionProps: JSX.HTMLAttributes<any>;
37
+ closeTriggerProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;
38
+ }>;