@ark-ui/solid 2.1.0 → 2.1.1

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 (34) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/cjs/index.js +141 -0
  3. package/cjs/index.js.map +1 -1
  4. package/esm/index.js +132 -2
  5. package/esm/index.js.map +1 -1
  6. package/package.json +1 -1
  7. package/source/clipboard/clipboard-context.js +5 -0
  8. package/source/clipboard/clipboard-control.jsx +8 -0
  9. package/source/clipboard/clipboard-indicator.jsx +16 -0
  10. package/source/clipboard/clipboard-input.jsx +8 -0
  11. package/source/clipboard/clipboard-label.jsx +8 -0
  12. package/source/clipboard/clipboard-root.jsx +22 -0
  13. package/source/clipboard/clipboard-trigger.jsx +8 -0
  14. package/source/clipboard/clipboard.jsx +7 -0
  15. package/source/clipboard/index.js +9 -0
  16. package/source/clipboard/use-clipboard.jsx +10 -0
  17. package/source/index.jsx +2 -0
  18. package/source/locale/index.js +2 -0
  19. package/source/locale/locale-context.jsx +7 -0
  20. package/source/locale/locale.jsx +24 -0
  21. package/types/clipboard/clipboard-context.d.ts +4 -0
  22. package/types/clipboard/clipboard-control.d.ts +4 -0
  23. package/types/clipboard/clipboard-indicator.d.ts +10 -0
  24. package/types/clipboard/clipboard-input.d.ts +4 -0
  25. package/types/clipboard/clipboard-label.d.ts +4 -0
  26. package/types/clipboard/clipboard-root.d.ts +11 -0
  27. package/types/clipboard/clipboard-trigger.d.ts +4 -0
  28. package/types/clipboard/clipboard.d.ts +7 -0
  29. package/types/clipboard/index.d.ts +11 -0
  30. package/types/clipboard/use-clipboard.d.ts +9 -0
  31. package/types/index.d.ts +2 -0
  32. package/types/locale/index.d.ts +2 -0
  33. package/types/locale/locale-context.d.ts +5 -0
  34. package/types/locale/locale.d.ts +9 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,12 @@ description: All notable changes to this project will be documented in this file
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [2.1.1] - 2024-02-16
10
+
11
+ ### Fixed
12
+
13
+ - Resolved an issue where the `Clipboard` component was not exported correctly.
14
+
9
15
  ## [2.1.0] - 2024-02-14
10
16
 
11
17
  ### Added
package/cjs/index.js CHANGED
@@ -9,6 +9,7 @@ var avatar$1 = require('@zag-js/avatar');
9
9
  var anatomy = require('@ark-ui/anatomy');
10
10
  var carousel$1 = require('@zag-js/carousel');
11
11
  var checkbox$1 = require('@zag-js/checkbox');
12
+ var clipboard$1 = require('@zag-js/clipboard');
12
13
  var colorPicker$1 = require('@zag-js/color-picker');
13
14
  var combobox$1 = require('@zag-js/combobox');
14
15
  var datePicker$1 = require('@zag-js/date-picker');
@@ -16,6 +17,7 @@ var dialog$1 = require('@zag-js/dialog');
16
17
  var editable$1 = require('@zag-js/editable');
17
18
  var fileUpload$1 = require('@zag-js/file-upload');
18
19
  var hoverCard$1 = require('@zag-js/hover-card');
20
+ var i18nUtils = require('@zag-js/i18n-utils');
19
21
  var menu$1 = require('@zag-js/menu');
20
22
  var numberInput$1 = require('@zag-js/number-input');
21
23
  var pagination$1 = require('@zag-js/pagination');
@@ -57,6 +59,7 @@ var accordion__namespace = /*#__PURE__*/_interopNamespaceDefault(accordion$1);
57
59
  var avatar__namespace = /*#__PURE__*/_interopNamespaceDefault(avatar$1);
58
60
  var carousel__namespace = /*#__PURE__*/_interopNamespaceDefault(carousel$1);
59
61
  var checkbox__namespace = /*#__PURE__*/_interopNamespaceDefault(checkbox$1);
62
+ var clipboard__namespace = /*#__PURE__*/_interopNamespaceDefault(clipboard$1);
60
63
  var colorPicker__namespace = /*#__PURE__*/_interopNamespaceDefault(colorPicker$1);
61
64
  var combobox__namespace = /*#__PURE__*/_interopNamespaceDefault(combobox$1);
62
65
  var datePicker__namespace = /*#__PURE__*/_interopNamespaceDefault(datePicker$1);
@@ -535,6 +538,98 @@ var checkbox = /*#__PURE__*/Object.freeze({
535
538
  Root: CheckboxRoot
536
539
  });
537
540
 
541
+ const [ClipboardProvider, useClipboardContext] = createContext({
542
+ hookName: 'useClipboardContext',
543
+ providerName: '<ClipboardProvider />'
544
+ });
545
+
546
+ const ClipboardControl = props => {
547
+ const api = useClipboardContext();
548
+ const mergedProps = solid.mergeProps(() => api().controlProps, props);
549
+ return web.createComponent(ark.div, mergedProps);
550
+ };
551
+
552
+ const ClipboardIndicator = props => {
553
+ const [indicatorProps, localProps] = createSplitProps()(props, ['copied']);
554
+ const api = useClipboardContext();
555
+ const mergedProps = solid.mergeProps(api().getIndicatorProps({
556
+ copied: api().isCopied
557
+ }), localProps);
558
+ const getChildren = solidJs.children(() => localProps.children);
559
+ return web.createComponent(ark.div, web.mergeProps(mergedProps, {
560
+ get children() {
561
+ return web.createComponent(solidJs.Show, {
562
+ get when() {
563
+ return api().isCopied;
564
+ },
565
+ get fallback() {
566
+ return getChildren();
567
+ },
568
+ get children() {
569
+ return indicatorProps.copied;
570
+ }
571
+ });
572
+ }
573
+ }));
574
+ };
575
+
576
+ const ClipboardInput = props => {
577
+ const api = useClipboardContext();
578
+ const mergedProps = solid.mergeProps(() => api().inputProps, props);
579
+ return web.createComponent(ark.input, mergedProps);
580
+ };
581
+
582
+ const ClipboardLabel = props => {
583
+ const api = useClipboardContext();
584
+ const mergedProps = solid.mergeProps(() => api().labelProps, props);
585
+ return web.createComponent(ark.label, mergedProps);
586
+ };
587
+
588
+ const useClipboard = props => {
589
+ const getRootNode = useEnvironmentContext();
590
+ const context = solid.mergeProps({
591
+ id: solidJs.createUniqueId(),
592
+ getRootNode
593
+ }, props);
594
+ const [state, send] = solid.useMachine(clipboard__namespace.machine(context), {
595
+ context
596
+ });
597
+ return solidJs.createMemo(() => clipboard__namespace.connect(state, send, solid.normalizeProps));
598
+ };
599
+
600
+ const ClipboardRoot = props => {
601
+ const [useClipboardProps, localProps] = createSplitProps()(props, ['getRootNode', 'id', 'ids', 'value', 'timeout', 'onCopyStatusChange']);
602
+ const api = useClipboard(useClipboardProps);
603
+ const mergedProps = solid.mergeProps(() => api().rootProps, localProps);
604
+ const getChildren = () => runIfFn(localProps.children, api);
605
+ return web.createComponent(ClipboardProvider, {
606
+ value: api,
607
+ get children() {
608
+ return web.createComponent(ark.div, web.mergeProps(mergedProps, {
609
+ get children() {
610
+ return getChildren();
611
+ }
612
+ }));
613
+ }
614
+ });
615
+ };
616
+
617
+ const ClipboardTrigger = props => {
618
+ const api = useClipboardContext();
619
+ const mergedProps = solid.mergeProps(() => api().triggerProps, props);
620
+ return web.createComponent(ark.button, mergedProps);
621
+ };
622
+
623
+ var clipboard = /*#__PURE__*/Object.freeze({
624
+ __proto__: null,
625
+ Control: ClipboardControl,
626
+ Indicator: ClipboardIndicator,
627
+ Input: ClipboardInput,
628
+ Label: ClipboardLabel,
629
+ Root: ClipboardRoot,
630
+ Trigger: ClipboardTrigger
631
+ });
632
+
538
633
  const [ColorPickerAreaProvider, useColorPickerAreaContext] = createContext({
539
634
  hookName: 'useColorPickerAreaContext',
540
635
  providerName: '<ColorPickerAreaProvider />'
@@ -1818,6 +1913,42 @@ var hoverCard = /*#__PURE__*/Object.freeze({
1818
1913
  Trigger: HoverCardTrigger
1819
1914
  });
1820
1915
 
1916
+ const [LocaleContextProvider, useLocaleContext] = createContext({
1917
+ hookName: 'useEnvironmentContext',
1918
+ providerName: '<EnvironmentProvider />',
1919
+ strict: false,
1920
+ defaultValue: () => ({
1921
+ dir: 'ltr',
1922
+ locale: 'en-US'
1923
+ })
1924
+ });
1925
+
1926
+ const LocaleProvider = props => {
1927
+ const [localeProps, restProps] = solidJs.splitProps(props, ['locale', 'defaultLocale']);
1928
+ const [locale, setLocale] = solidJs.createSignal(localeProps.defaultLocale || localeProps.locale || 'en-US');
1929
+ const getRootNode = useEnvironmentContext();
1930
+ solidJs.createEffect(() => {
1931
+ const cleanup = i18nUtils.trackLocale({
1932
+ locale: localeProps.locale,
1933
+ getRootNode,
1934
+ onLocaleChange(locale) {
1935
+ setLocale(locale.locale);
1936
+ }
1937
+ });
1938
+ solidJs.onCleanup(cleanup);
1939
+ });
1940
+ const context = solidJs.createMemo(() => ({
1941
+ locale: locale(),
1942
+ dir: i18nUtils.isRTL(locale()) ? 'rtl' : 'ltr'
1943
+ }));
1944
+ return web.createComponent(LocaleContextProvider, {
1945
+ value: context,
1946
+ get children() {
1947
+ return restProps.children;
1948
+ }
1949
+ });
1950
+ };
1951
+
1821
1952
  const [MenuProvider, useMenuContext] = createContext({
1822
1953
  hookName: 'useMenuContext',
1823
1954
  providerName: '<MenuProvider />',
@@ -3803,6 +3934,13 @@ exports.CheckboxControl = CheckboxControl;
3803
3934
  exports.CheckboxIndicator = CheckboxIndicator;
3804
3935
  exports.CheckboxLabel = CheckboxLabel;
3805
3936
  exports.CheckboxRoot = CheckboxRoot;
3937
+ exports.Clipboard = clipboard;
3938
+ exports.ClipboardControl = ClipboardControl;
3939
+ exports.ClipboardIndicator = ClipboardIndicator;
3940
+ exports.ClipboardInput = ClipboardInput;
3941
+ exports.ClipboardLabel = ClipboardLabel;
3942
+ exports.ClipboardRoot = ClipboardRoot;
3943
+ exports.ClipboardTrigger = ClipboardTrigger;
3806
3944
  exports.ColorPicker = colorPicker;
3807
3945
  exports.ColorPickerArea = ColorPickerArea;
3808
3946
  exports.ColorPickerAreaBackground = ColorPickerAreaBackground;
@@ -3905,6 +4043,7 @@ exports.HoverCardContent = HoverCardContent;
3905
4043
  exports.HoverCardPositioner = HoverCardPositioner;
3906
4044
  exports.HoverCardRoot = HoverCardRoot;
3907
4045
  exports.HoverCardTrigger = HoverCardTrigger;
4046
+ exports.LocaleProvider = LocaleProvider;
3908
4047
  exports.Menu = menu;
3909
4048
  exports.MenuArrow = MenuArrow;
3910
4049
  exports.MenuArrowTip = MenuArrowTip;
@@ -4070,6 +4209,7 @@ exports.useAccordionItemContext = useAccordionItemContext;
4070
4209
  exports.useAvatarContext = useAvatarContext;
4071
4210
  exports.useCarouselContext = useCarouselContext;
4072
4211
  exports.useCheckboxContext = useCheckboxContext;
4212
+ exports.useClipboardContext = useClipboardContext;
4073
4213
  exports.useColorPickerAreaContext = useColorPickerAreaContext;
4074
4214
  exports.useColorPickerChannelSliderContext = useColorPickerChannelSliderContext;
4075
4215
  exports.useColorPickerContext = useColorPickerContext;
@@ -4083,6 +4223,7 @@ exports.useEditableContext = useEditableContext;
4083
4223
  exports.useEnvironmentContext = useEnvironmentContext;
4084
4224
  exports.useFileUploadContext = useFileUploadContext;
4085
4225
  exports.useHoverCardContext = useHoverCardContext;
4226
+ exports.useLocaleContext = useLocaleContext;
4086
4227
  exports.useMenuContext = useMenuContext;
4087
4228
  exports.useNumberInputContext = useNumberInputContext;
4088
4229
  exports.usePaginationContext = usePaginationContext;