@ark-ui/solid 3.7.0 → 3.9.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 (70) hide show
  1. package/dist/cjs/index.js +272 -1
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/esm/index.js +245 -2
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/source/components/editable/editable-root.jsx +3 -2
  6. package/dist/source/components/editable/index.js +1 -0
  7. package/dist/source/components/editable/use-editable.js +2 -0
  8. package/dist/source/components/index.js +2 -0
  9. package/dist/source/components/steps/index.js +17 -0
  10. package/dist/source/components/steps/steps-completed-content.jsx +8 -0
  11. package/dist/source/components/steps/steps-content.jsx +10 -0
  12. package/dist/source/components/steps/steps-indicator.jsx +10 -0
  13. package/dist/source/components/steps/steps-item-context.jsx +5 -0
  14. package/dist/source/components/steps/steps-item.jsx +18 -0
  15. package/dist/source/components/steps/steps-list.jsx +8 -0
  16. package/dist/source/components/steps/steps-next-trigger.jsx +8 -0
  17. package/dist/source/components/steps/steps-prev-trigger.jsx +8 -0
  18. package/dist/source/components/steps/steps-progress.jsx +8 -0
  19. package/dist/source/components/steps/steps-root-provider.jsx +11 -0
  20. package/dist/source/components/steps/steps-root.jsx +23 -0
  21. package/dist/source/components/steps/steps-separator.jsx +10 -0
  22. package/dist/source/components/steps/steps-trigger.jsx +10 -0
  23. package/dist/source/components/steps/steps.js +12 -0
  24. package/dist/source/components/steps/use-steps-context.js +5 -0
  25. package/dist/source/components/steps/use-steps-item-context.js +5 -0
  26. package/dist/source/components/steps/use-steps-item-props-context.js +5 -0
  27. package/dist/source/components/steps/use-steps.js +18 -0
  28. package/dist/source/components/timer/index.js +9 -0
  29. package/dist/source/components/timer/timer-action-trigger.jsx +8 -0
  30. package/dist/source/components/timer/timer-context.jsx +2 -0
  31. package/dist/source/components/timer/timer-item.jsx +10 -0
  32. package/dist/source/components/timer/timer-root-provider.jsx +11 -0
  33. package/dist/source/components/timer/timer-root.jsx +22 -0
  34. package/dist/source/components/timer/timer-separator.jsx +8 -0
  35. package/dist/source/components/timer/timer.js +6 -0
  36. package/dist/source/components/timer/use-timer-context.js +5 -0
  37. package/dist/source/components/timer/use-timer.js +15 -0
  38. package/dist/types/components/editable/index.d.ts +3 -0
  39. package/dist/types/components/editable/use-editable.d.ts +6 -1
  40. package/dist/types/components/index.d.ts +2 -0
  41. package/dist/types/components/steps/index.d.ts +18 -0
  42. package/dist/types/components/steps/steps-completed-content.d.ts +6 -0
  43. package/dist/types/components/steps/steps-content.d.ts +7 -0
  44. package/dist/types/components/steps/steps-indicator.d.ts +6 -0
  45. package/dist/types/components/steps/steps-item-context.d.ts +9 -0
  46. package/dist/types/components/steps/steps-item.d.ts +7 -0
  47. package/dist/types/components/steps/steps-list.d.ts +6 -0
  48. package/dist/types/components/steps/steps-next-trigger.d.ts +6 -0
  49. package/dist/types/components/steps/steps-prev-trigger.d.ts +6 -0
  50. package/dist/types/components/steps/steps-progress.d.ts +6 -0
  51. package/dist/types/components/steps/steps-root-provider.d.ts +11 -0
  52. package/dist/types/components/steps/steps-root.d.ts +7 -0
  53. package/dist/types/components/steps/steps-separator.d.ts +6 -0
  54. package/dist/types/components/steps/steps-trigger.d.ts +6 -0
  55. package/dist/types/components/steps/steps.d.ts +13 -0
  56. package/dist/types/components/steps/use-steps-context.d.ts +4 -0
  57. package/dist/types/components/steps/use-steps-item-context.d.ts +5 -0
  58. package/dist/types/components/steps/use-steps-item-props-context.d.ts +4 -0
  59. package/dist/types/components/steps/use-steps.d.ts +13 -0
  60. package/dist/types/components/timer/index.d.ts +9 -0
  61. package/dist/types/components/timer/timer-action-trigger.d.ts +7 -0
  62. package/dist/types/components/timer/timer-context.d.ts +6 -0
  63. package/dist/types/components/timer/timer-item.d.ts +7 -0
  64. package/dist/types/components/timer/timer-root-provider.d.ts +11 -0
  65. package/dist/types/components/timer/timer-root.d.ts +7 -0
  66. package/dist/types/components/timer/timer-separator.d.ts +6 -0
  67. package/dist/types/components/timer/timer.d.ts +6 -0
  68. package/dist/types/components/timer/use-timer-context.d.ts +4 -0
  69. package/dist/types/components/timer/use-timer.d.ts +9 -0
  70. package/package.json +53 -52
package/dist/cjs/index.js CHANGED
@@ -42,6 +42,8 @@ var toast$1 = require('@zag-js/toast');
42
42
  var toggleGroup$1 = require('@zag-js/toggle-group');
43
43
  var tooltip$1 = require('@zag-js/tooltip');
44
44
  var treeView$1 = require('@zag-js/tree-view');
45
+ var timer$1 = require('@zag-js/timer');
46
+ var steps$1 = require('@zag-js/steps');
45
47
 
46
48
  function _interopNamespaceDefault(e) {
47
49
  var n = Object.create(null);
@@ -95,6 +97,8 @@ var toast__namespace = /*#__PURE__*/_interopNamespaceDefault(toast$1);
95
97
  var toggleGroup__namespace = /*#__PURE__*/_interopNamespaceDefault(toggleGroup$1);
96
98
  var tooltip__namespace = /*#__PURE__*/_interopNamespaceDefault(tooltip$1);
97
99
  var treeView__namespace = /*#__PURE__*/_interopNamespaceDefault(treeView$1);
100
+ var timer__namespace = /*#__PURE__*/_interopNamespaceDefault(timer$1);
101
+ var steps__namespace = /*#__PURE__*/_interopNamespaceDefault(steps$1);
98
102
 
99
103
  function getErrorMessage(hook, provider) {
100
104
  return `${hook} returned \`undefined\`. Seems you forgot to wrap component within ${provider}`;
@@ -2570,7 +2574,9 @@ const useEditable = props => {
2570
2574
  readOnly: field?.().readOnly,
2571
2575
  required: field?.().required,
2572
2576
  getRootNode: environment().getRootNode,
2577
+ edit: props.defaultEdit,
2573
2578
  value: props.defaultValue,
2579
+ 'edit.controlled': props.edit !== undefined,
2574
2580
  ...props
2575
2581
  }));
2576
2582
  const [state, send] = solid.useMachine(editable__namespace.machine(context()), {
@@ -2580,7 +2586,7 @@ const useEditable = props => {
2580
2586
  };
2581
2587
 
2582
2588
  const EditableRoot = props => {
2583
- const [useEditableProps, localProps] = createSplitProps()(props, ['activationMode', 'autoResize', 'defaultValue', 'disabled', 'finalFocusEl', 'form', 'id', 'ids', 'invalid', 'maxLength', 'name', 'onEdit', 'onFocusOutside', 'onInteractOutside', 'onPointerDownOutside', 'onValueChange', 'onValueCommit', 'onValueRevert', 'placeholder', 'readOnly', 'required', 'selectOnFocus', 'startWithEditView', 'submitMode', 'translations', 'value']);
2589
+ const [useEditableProps, localProps] = createSplitProps()(props, ['activationMode', 'autoResize', 'defaultEdit', 'defaultValue', 'disabled', 'edit', 'finalFocusEl', 'form', 'id', 'ids', 'invalid', 'maxLength', 'name', 'onEditChange', 'onFocusOutside', 'onInteractOutside', 'onPointerDownOutside', 'onValueChange', 'onValueCommit', 'onValueRevert', 'placeholder', 'readOnly', 'required', 'selectOnFocus', 'submitMode', 'translations', 'value']);
2584
2590
  const api = useEditable(useEditableProps);
2585
2591
  const mergedProps = solid.mergeProps(() => api().getRootProps(), localProps);
2586
2592
  return web.createComponent(EditableProvider, {
@@ -6090,6 +6096,245 @@ var treeView = /*#__PURE__*/Object.freeze({
6090
6096
  Tree: TreeViewTree
6091
6097
  });
6092
6098
 
6099
+ const [TimerProvider, useTimerContext] = createContext({
6100
+ hookName: 'useTimerContext',
6101
+ providerName: '<TimerProvider />'
6102
+ });
6103
+
6104
+ const TimerContext = props => props.children(useTimerContext());
6105
+
6106
+ const TimerActionTrigger = props => {
6107
+ const timer = useTimerContext();
6108
+ const mergedProps = solid.mergeProps(() => timer().getActionTriggerProps(props), props);
6109
+ return web.createComponent(ark.button, mergedProps);
6110
+ };
6111
+
6112
+ const TimerItem = props => {
6113
+ const [itemProps, localProps] = createSplitProps()(props, ['type']);
6114
+ const timer = useTimerContext();
6115
+ const mergedProps = solid.mergeProps(() => timer().getItemProps(itemProps), localProps);
6116
+ return web.createComponent(ark.div, web.mergeProps(mergedProps, {
6117
+ get children() {
6118
+ return timer().formattedTime[itemProps.type];
6119
+ }
6120
+ }));
6121
+ };
6122
+
6123
+ const TimerSeparator = props => {
6124
+ const timer = useTimerContext();
6125
+ const mergedProps = solid.mergeProps(() => timer().getSeparatorProps(), props);
6126
+ return web.createComponent(ark.div, mergedProps);
6127
+ };
6128
+
6129
+ const useTimer = props => {
6130
+ const env = useEnvironmentContext();
6131
+ const id = solidJs.createUniqueId();
6132
+ const context = solidJs.createMemo(() => ({
6133
+ id,
6134
+ getRootNode: env().getRootNode,
6135
+ ...props
6136
+ }));
6137
+ const [state, send] = solid.useMachine(timer__namespace.machine(context()), {
6138
+ context
6139
+ });
6140
+ return solidJs.createMemo(() => timer__namespace.connect(state, send, solid.normalizeProps));
6141
+ };
6142
+
6143
+ const TimerRoot = props => {
6144
+ const [useTimerProps, localProps] = createSplitProps()(props, ['id', 'autoStart', 'interval', 'countdown', 'startMs', 'targetMs', 'onComplete', 'onTick']);
6145
+ const timer = useTimer(useTimerProps);
6146
+ const mergedProps = solid.mergeProps(() => timer().getRootProps(), localProps);
6147
+ return web.createComponent(TimerProvider, {
6148
+ value: timer,
6149
+ get children() {
6150
+ return web.createComponent(ark.div, mergedProps);
6151
+ }
6152
+ });
6153
+ };
6154
+
6155
+ const TimerRootProvider = props => {
6156
+ const [{
6157
+ value: timer
6158
+ }, localProps] = createSplitProps()(props, ['value']);
6159
+ const mergedProps = solid.mergeProps(() => timer().getRootProps(), localProps);
6160
+ return web.createComponent(TimerProvider, {
6161
+ value: timer,
6162
+ get children() {
6163
+ return web.createComponent(ark.div, mergedProps);
6164
+ }
6165
+ });
6166
+ };
6167
+
6168
+ var timer = /*#__PURE__*/Object.freeze({
6169
+ __proto__: null,
6170
+ ActionTrigger: TimerActionTrigger,
6171
+ Context: TimerContext,
6172
+ Item: TimerItem,
6173
+ Root: TimerRoot,
6174
+ RootProvider: TimerRootProvider,
6175
+ Separator: TimerSeparator
6176
+ });
6177
+
6178
+ const [StepsProvider, useStepsContext] = createContext({
6179
+ hookName: 'useStepsContext',
6180
+ providerName: '<StepsProvider />'
6181
+ });
6182
+
6183
+ const StepsCompletedContent = props => {
6184
+ const steps = useStepsContext();
6185
+ const mergedProps = solid.mergeProps(() => steps().getContentProps({
6186
+ index: steps().count
6187
+ }), props);
6188
+ return web.createComponent(ark.div, mergedProps);
6189
+ };
6190
+
6191
+ const StepsContent = props => {
6192
+ const [itemProps, localProps] = createSplitProps()(props, ['index']);
6193
+ const steps = useStepsContext();
6194
+ const mergedProps = solid.mergeProps(() => steps().getContentProps(itemProps), localProps);
6195
+ return web.createComponent(ark.div, mergedProps);
6196
+ };
6197
+
6198
+ const [StepsItemPropsProvider, useStepsItemPropsContext] = createContext({
6199
+ hookName: 'useStepsItemPropsContext',
6200
+ providerName: '<StepsItemPropsProvider />'
6201
+ });
6202
+
6203
+ const StepsIndicator = props => {
6204
+ const steps = useStepsContext();
6205
+ const itemProps = useStepsItemPropsContext();
6206
+ const mergedProps = solid.mergeProps(() => steps().getIndicatorProps(itemProps), props);
6207
+ return web.createComponent(ark.div, mergedProps);
6208
+ };
6209
+
6210
+ const [StepsItemProvider, useStepsItemContext] = createContext({
6211
+ hookName: 'useStepsItemContext',
6212
+ providerName: '<StepsItem />'
6213
+ });
6214
+
6215
+ const StepsItem = props => {
6216
+ const [itemProps, localProps] = createSplitProps()(props, ['index']);
6217
+ const steps = useStepsContext();
6218
+ const mergedProps = solid.mergeProps(() => steps().getItemProps(itemProps), localProps);
6219
+ const itemState = solidJs.createMemo(() => steps().getItemState(itemProps));
6220
+ return web.createComponent(StepsItemPropsProvider, {
6221
+ value: itemProps,
6222
+ get children() {
6223
+ return web.createComponent(StepsItemProvider, {
6224
+ value: itemState,
6225
+ get children() {
6226
+ return web.createComponent(ark.li, mergedProps);
6227
+ }
6228
+ });
6229
+ }
6230
+ });
6231
+ };
6232
+
6233
+ const StepsItemContext = props => {
6234
+ return props.children(useStepsItemContext());
6235
+ };
6236
+ StepsItemContext.displayName = 'StepsItemContext';
6237
+
6238
+ const StepsList = props => {
6239
+ const steps = useStepsContext();
6240
+ const mergedProps = solid.mergeProps(() => steps().getListProps(), props);
6241
+ return web.createComponent(ark.ol, mergedProps);
6242
+ };
6243
+
6244
+ const StepsNextTrigger = props => {
6245
+ const steps = useStepsContext();
6246
+ const mergedProps = solid.mergeProps(() => steps().getNextTriggerProps(), props);
6247
+ return web.createComponent(ark.button, mergedProps);
6248
+ };
6249
+
6250
+ const StepsPrevTrigger = props => {
6251
+ const steps = useStepsContext();
6252
+ const mergedProps = solid.mergeProps(() => steps().getPrevTriggerProps(), props);
6253
+ return web.createComponent(ark.button, mergedProps);
6254
+ };
6255
+
6256
+ const StepsProgress = props => {
6257
+ const steps = useStepsContext();
6258
+ const mergedProps = solid.mergeProps(() => steps().getProgressProps(), props);
6259
+ return web.createComponent(ark.div, mergedProps);
6260
+ };
6261
+
6262
+ function useSteps(props = {}) {
6263
+ const environment = useEnvironmentContext();
6264
+ const locale = useLocaleContext();
6265
+ const id = solidJs.createUniqueId();
6266
+ const context = solidJs.createMemo(() => ({
6267
+ id,
6268
+ dir: locale().dir,
6269
+ getRootNode: environment().getRootNode,
6270
+ step: props.defaultStep,
6271
+ ...props
6272
+ }));
6273
+ const [state, send] = solid.useMachine(steps__namespace.machine(context()), {
6274
+ context
6275
+ });
6276
+ return solidJs.createMemo(() => steps__namespace.connect(state, send, solid.normalizeProps));
6277
+ }
6278
+
6279
+ const StepsRoot = props => {
6280
+ const [useStepsProps, localProps] = createSplitProps()(props, ['defaultStep', 'id', 'ids', 'count', 'linear', 'onStepChange', 'onStepComplete', 'orientation', 'step']);
6281
+ const steps = useSteps(useStepsProps);
6282
+ const mergedProps = solid.mergeProps(() => steps().getRootProps(), localProps);
6283
+ return web.createComponent(StepsProvider, {
6284
+ value: steps,
6285
+ get children() {
6286
+ return web.createComponent(ark.div, mergedProps);
6287
+ }
6288
+ });
6289
+ };
6290
+
6291
+ const StepsRootProvider = props => {
6292
+ const [{
6293
+ value: steps
6294
+ }, rootProps] = createSplitProps()(props, ['value']);
6295
+ const mergedProps = solid.mergeProps(() => steps().getRootProps(), rootProps);
6296
+ return web.createComponent(StepsProvider, {
6297
+ value: steps,
6298
+ get children() {
6299
+ return web.createComponent(ark.div, web.mergeProps(mergedProps, {
6300
+ get children() {
6301
+ return props.children;
6302
+ }
6303
+ }));
6304
+ }
6305
+ });
6306
+ };
6307
+
6308
+ const StepsSeparator = props => {
6309
+ const steps = useStepsContext();
6310
+ const itemProps = useStepsItemPropsContext();
6311
+ const mergedProps = solid.mergeProps(() => steps().getSeparatorProps(itemProps), props);
6312
+ return web.createComponent(ark.div, mergedProps);
6313
+ };
6314
+
6315
+ const StepsTrigger = props => {
6316
+ const steps = useStepsContext();
6317
+ const itemProps = useStepsItemPropsContext();
6318
+ const mergedProps = solid.mergeProps(() => steps().getTriggerProps(itemProps), props);
6319
+ return web.createComponent(ark.button, mergedProps);
6320
+ };
6321
+
6322
+ var steps = /*#__PURE__*/Object.freeze({
6323
+ __proto__: null,
6324
+ CompletedContent: StepsCompletedContent,
6325
+ Content: StepsContent,
6326
+ Indicator: StepsIndicator,
6327
+ Item: StepsItem,
6328
+ List: StepsList,
6329
+ NextTrigger: StepsNextTrigger,
6330
+ PrevTrigger: StepsPrevTrigger,
6331
+ Progress: StepsProgress,
6332
+ Root: StepsRoot,
6333
+ RootProvider: StepsRootProvider,
6334
+ Separator: StepsSeparator,
6335
+ Trigger: StepsTrigger
6336
+ });
6337
+
6093
6338
  Object.defineProperty(exports, "collapsibleAnatomy", {
6094
6339
  enumerable: true,
6095
6340
  get: function () { return collapsible$1.anatomy; }
@@ -6566,6 +6811,20 @@ exports.SplitterPanel = SplitterPanel;
6566
6811
  exports.SplitterResizeTrigger = SplitterResizeTrigger;
6567
6812
  exports.SplitterRoot = SplitterRoot;
6568
6813
  exports.SplitterRootProvider = SplitterRootProvider;
6814
+ exports.Steps = steps;
6815
+ exports.StepsCompletedContent = StepsCompletedContent;
6816
+ exports.StepsContent = StepsContent;
6817
+ exports.StepsIndicator = StepsIndicator;
6818
+ exports.StepsItem = StepsItem;
6819
+ exports.StepsItemContext = StepsItemContext;
6820
+ exports.StepsList = StepsList;
6821
+ exports.StepsNextTrigger = StepsNextTrigger;
6822
+ exports.StepsPrevTrigger = StepsPrevTrigger;
6823
+ exports.StepsProgress = StepsProgress;
6824
+ exports.StepsRoot = StepsRoot;
6825
+ exports.StepsRootProvider = StepsRootProvider;
6826
+ exports.StepsSeparator = StepsSeparator;
6827
+ exports.StepsTrigger = StepsTrigger;
6569
6828
  exports.Switch = _switch;
6570
6829
  exports.SwitchContext = SwitchContext;
6571
6830
  exports.SwitchControl = SwitchControl;
@@ -6611,6 +6870,13 @@ exports.TimePickerRoot = TimePickerRoot;
6611
6870
  exports.TimePickerRootProvider = TimePickerRootProvider;
6612
6871
  exports.TimePickerSpacer = TimePickerSpacer;
6613
6872
  exports.TimePickerTrigger = TimePickerTrigger;
6873
+ exports.Timer = timer;
6874
+ exports.TimerActionTrigger = TimerActionTrigger;
6875
+ exports.TimerContext = TimerContext;
6876
+ exports.TimerItem = TimerItem;
6877
+ exports.TimerRoot = TimerRoot;
6878
+ exports.TimerRootProvider = TimerRootProvider;
6879
+ exports.TimerSeparator = TimerSeparator;
6614
6880
  exports.Toast = toast;
6615
6881
  exports.ToastActionTrigger = ToastActionTrigger;
6616
6882
  exports.ToastCloseTrigger = ToastCloseTrigger;
@@ -6729,6 +6995,9 @@ exports.useSlider = useSlider;
6729
6995
  exports.useSliderContext = useSliderContext;
6730
6996
  exports.useSplitter = useSplitter;
6731
6997
  exports.useSplitterContext = useSplitterContext;
6998
+ exports.useSteps = useSteps;
6999
+ exports.useStepsContext = useStepsContext;
7000
+ exports.useStepsItemContext = useStepsItemContext;
6732
7001
  exports.useSwitch = useSwitch;
6733
7002
  exports.useSwitchContext = useSwitchContext;
6734
7003
  exports.useTabs = useTabs;
@@ -6738,6 +7007,8 @@ exports.useTagsInputContext = useTagsInputContext;
6738
7007
  exports.useTagsInputItemContext = useTagsInputItemContext;
6739
7008
  exports.useTimePicker = useTimePicker;
6740
7009
  exports.useTimePickerContext = useTimePickerContext;
7010
+ exports.useTimer = useTimer;
7011
+ exports.useTimerContext = useTimerContext;
6741
7012
  exports.useToastContext = useToastContext;
6742
7013
  exports.useToggleGroup = useToggleGroup;
6743
7014
  exports.useToggleGroupContext = useToggleGroupContext;