@pixpilot/shadcn-ui 1.23.0 → 1.25.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 (133) hide show
  1. package/dist/AbsoluteFill.d.cts +2 -2
  2. package/dist/Alert.cjs +21 -17
  3. package/dist/Alert.js +21 -17
  4. package/dist/Button.d.cts +2 -2
  5. package/dist/ButtonExtended.d.cts +2 -2
  6. package/dist/ColorPicker/ColorPicker.cjs +4 -1
  7. package/dist/ColorPicker/ColorPicker.js +4 -1
  8. package/dist/ColorPickerBase/ColorPickerBase.cjs +5 -2
  9. package/dist/ColorPickerBase/ColorPickerBase.js +5 -2
  10. package/dist/ColorPickerBase/ColorPickerButton.cjs +6 -2
  11. package/dist/ColorPickerBase/ColorPickerButton.js +6 -2
  12. package/dist/ColorPickerBase/ColorPickerCompactControls.cjs +5 -3
  13. package/dist/ColorPickerBase/ColorPickerCompactControls.js +5 -3
  14. package/dist/ColorPickerBase/ColorPickerControls.cjs +14 -3
  15. package/dist/ColorPickerBase/ColorPickerControls.js +14 -3
  16. package/dist/ColorPickerBase/ColorPickerFormatControls.cjs +3 -2
  17. package/dist/ColorPickerBase/ColorPickerFormatControls.js +3 -2
  18. package/dist/ColorPickerBase/ColorPickerFullControls.cjs +8 -4
  19. package/dist/ColorPickerBase/ColorPickerFullControls.js +8 -4
  20. package/dist/ColorPickerBase/ColorPickerInput.cjs +6 -2
  21. package/dist/ColorPickerBase/ColorPickerInput.js +6 -2
  22. package/dist/ColorPickerBase/ColorPickerRoot.cjs +2 -1
  23. package/dist/ColorPickerBase/ColorPickerRoot.js +2 -1
  24. package/dist/ColorPickerBase/color-palette/ColorPalette.cjs +8 -2
  25. package/dist/ColorPickerBase/color-palette/ColorPalette.js +8 -2
  26. package/dist/ColorPickerBase/color-palette/PaletteSwatch.cjs +2 -1
  27. package/dist/ColorPickerBase/color-palette/PaletteSwatch.d.cts +1 -0
  28. package/dist/ColorPickerBase/color-palette/PaletteSwatch.d.ts +1 -0
  29. package/dist/ColorPickerBase/color-palette/PaletteSwatch.js +2 -1
  30. package/dist/ColorPickerBase/color-picker-context.d.cts +1 -0
  31. package/dist/ColorPickerBase/color-picker-context.d.ts +1 -0
  32. package/dist/ColorPickerBase/types.d.cts +2 -0
  33. package/dist/ColorPickerBase/types.d.ts +2 -0
  34. package/dist/ColorSelect.cjs +4 -1
  35. package/dist/ColorSelect.d.cts +3 -2
  36. package/dist/ColorSelect.d.ts +1 -0
  37. package/dist/ColorSelect.js +4 -1
  38. package/dist/Combobox.cjs +8 -2
  39. package/dist/Combobox.d.cts +1 -0
  40. package/dist/Combobox.d.ts +1 -0
  41. package/dist/Combobox.js +8 -2
  42. package/dist/CommandOptionList.cjs +3 -1
  43. package/dist/CommandOptionList.js +3 -1
  44. package/dist/ContentCard.d.cts +2 -2
  45. package/dist/ContentCard.d.ts +2 -2
  46. package/dist/DatePicker.cjs +2 -1
  47. package/dist/DatePicker.d.cts +3 -2
  48. package/dist/DatePicker.d.ts +3 -2
  49. package/dist/DatePicker.js +2 -1
  50. package/dist/IconToggle.cjs +1 -1
  51. package/dist/IconToggle.js +1 -1
  52. package/dist/Rating.cjs +7 -2
  53. package/dist/Rating.d.cts +4 -3
  54. package/dist/Rating.d.ts +4 -3
  55. package/dist/Rating.js +7 -2
  56. package/dist/Select.cjs +1 -1
  57. package/dist/Select.d.cts +2 -2
  58. package/dist/Select.js +1 -1
  59. package/dist/avatar-upload/AvatarUpload.cjs +5 -2
  60. package/dist/avatar-upload/AvatarUpload.js +5 -2
  61. package/dist/avatar-upload/AvatarUploadComponents.cjs +3 -1
  62. package/dist/avatar-upload/AvatarUploadComponents.js +3 -1
  63. package/dist/avatar-upload/AvatarUploadItem.cjs +4 -1
  64. package/dist/avatar-upload/AvatarUploadItem.js +4 -1
  65. package/dist/confirmation-dialog/ConfirmationDialog.cjs +4 -1
  66. package/dist/confirmation-dialog/ConfirmationDialog.d.cts +1 -0
  67. package/dist/confirmation-dialog/ConfirmationDialog.d.ts +1 -0
  68. package/dist/confirmation-dialog/ConfirmationDialog.js +4 -1
  69. package/dist/dialog/Dialog.d.cts +4 -4
  70. package/dist/file-upload/FileUpload.cjs +3 -1
  71. package/dist/file-upload/FileUpload.d.cts +2 -2
  72. package/dist/file-upload/FileUpload.js +3 -1
  73. package/dist/file-upload/FileUploadItems.cjs +2 -1
  74. package/dist/file-upload/FileUploadItems.js +2 -1
  75. package/dist/file-upload/FileUploadListItem.cjs +3 -1
  76. package/dist/file-upload/FileUploadListItem.js +3 -1
  77. package/dist/file-upload-inline/FileUploadInline.d.cts +2 -2
  78. package/dist/file-upload-root/FileUploadRoot.cjs +3 -1
  79. package/dist/file-upload-root/FileUploadRoot.d.cts +2 -2
  80. package/dist/file-upload-root/FileUploadRoot.js +3 -1
  81. package/dist/file-upload-root/FileUploadRootItem.cjs +18 -13
  82. package/dist/file-upload-root/FileUploadRootItem.d.cts +1 -0
  83. package/dist/file-upload-root/FileUploadRootItem.d.ts +1 -0
  84. package/dist/file-upload-root/FileUploadRootItem.js +18 -13
  85. package/dist/icon-selector/IconPicker.cjs +7 -1
  86. package/dist/icon-selector/IconPicker.d.cts +1 -0
  87. package/dist/icon-selector/IconPicker.d.ts +1 -0
  88. package/dist/icon-selector/IconPicker.js +7 -1
  89. package/dist/icon-selector/icon-picker-content.cjs +8 -1
  90. package/dist/icon-selector/icon-picker-content.js +8 -1
  91. package/dist/icon-selector/virtualized-icon-grid.cjs +5 -2
  92. package/dist/icon-selector/virtualized-icon-grid.js +5 -2
  93. package/dist/index.cjs +2 -2
  94. package/dist/index.js +2 -2
  95. package/dist/input/Input.d.cts +2 -2
  96. package/dist/input/Input.d.ts +2 -2
  97. package/dist/pagination/Pagination.cjs +28 -6
  98. package/dist/pagination/Pagination.d.cts +1 -0
  99. package/dist/pagination/Pagination.d.ts +1 -0
  100. package/dist/pagination/Pagination.js +28 -6
  101. package/dist/rich-text-editor/ToolbarButton.cjs +1 -1
  102. package/dist/rich-text-editor/ToolbarButton.js +1 -1
  103. package/dist/slider/SliderInput.cjs +1 -1
  104. package/dist/slider/SliderInput.js +1 -1
  105. package/dist/slider/SliderSelect.cjs +1 -1
  106. package/dist/slider/SliderSelect.js +1 -1
  107. package/dist/tags-input/TagsInput.cjs +4 -1
  108. package/dist/tags-input/TagsInput.d.cts +4 -2
  109. package/dist/tags-input/TagsInput.d.ts +2 -0
  110. package/dist/tags-input/TagsInput.js +4 -1
  111. package/dist/tags-input/TagsInputInline.cjs +9 -2
  112. package/dist/tags-input/TagsInputInline.d.cts +4 -2
  113. package/dist/tags-input/TagsInputInline.d.ts +4 -2
  114. package/dist/tags-input/TagsInputInline.js +9 -2
  115. package/dist/theme-toggle/ThemeModeDropdown.cjs +6 -1
  116. package/dist/theme-toggle/ThemeModeDropdown.d.cts +3 -2
  117. package/dist/theme-toggle/ThemeModeDropdown.d.ts +3 -2
  118. package/dist/theme-toggle/ThemeModeDropdown.js +6 -1
  119. package/dist/theme-toggle/ThemeModeSwitchInside.cjs +3 -1
  120. package/dist/theme-toggle/ThemeModeSwitchInside.d.cts +3 -2
  121. package/dist/theme-toggle/ThemeModeSwitchInside.d.ts +3 -2
  122. package/dist/theme-toggle/ThemeModeSwitchInside.js +3 -1
  123. package/dist/theme-toggle/ThemeModeSwitchOutside.cjs +3 -1
  124. package/dist/theme-toggle/ThemeModeSwitchOutside.d.cts +3 -2
  125. package/dist/theme-toggle/ThemeModeSwitchOutside.d.ts +3 -2
  126. package/dist/theme-toggle/ThemeModeSwitchOutside.js +3 -1
  127. package/dist/theme-toggle/ThemeModeToggleButton.cjs +2 -1
  128. package/dist/theme-toggle/ThemeModeToggleButton.d.cts +3 -2
  129. package/dist/theme-toggle/ThemeModeToggleButton.d.ts +3 -2
  130. package/dist/theme-toggle/ThemeModeToggleButton.js +2 -1
  131. package/dist/toast/AlertToast.cjs +2 -1
  132. package/dist/toast/AlertToast.js +2 -1
  133. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime1 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
  import React from "react";
3
3
 
4
4
  //#region src/AbsoluteFill.d.ts
@@ -10,7 +10,7 @@ import React from "react";
10
10
  */
11
11
  declare function AbsoluteFill(props: React.HTMLAttributes<HTMLDivElement> & {
12
12
  ref?: React.Ref<HTMLDivElement>;
13
- }): react_jsx_runtime1.JSX.Element;
13
+ }): react_jsx_runtime0.JSX.Element;
14
14
  declare namespace AbsoluteFill {
15
15
  var displayName: string;
16
16
  }
package/dist/Alert.cjs CHANGED
@@ -22,28 +22,32 @@ const Alert = (props) => {
22
22
  const msgIcon = getIcon(icon, variant);
23
23
  const hasTitle = title != null && title.trim() !== "";
24
24
  const hasContent = hasTitle || description != null;
25
+ const hasStructuredLayout = Boolean(msgIcon || hasContent);
25
26
  const config = require_variant_config.variantConfig[variant] ?? require_variant_config.variantConfig.default;
26
27
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Alert, {
27
28
  ...rest,
28
29
  variant: "destructive",
29
- className: require_utils.cn("bg-card border-accent! flex justify-between rounded-sm border-0 border-l-4", msgIcon ? "flex-row" : "flex-col", config.borderClass, config.textClass, className),
30
- children: [
31
- msgIcon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
32
- className: require_utils.cn("mr-3 flex items-start pt-0.5"),
30
+ className: require_utils.cn("flex flex-col items-stretch bg-card border-accent! rounded-sm border-0 border-l-4", config.borderClass, config.textClass, className),
31
+ children: [hasStructuredLayout && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
32
+ className: require_utils.cn("col-span-full flex w-full min-w-0 items-start", msgIcon ? "flex-row" : "flex-col"),
33
+ children: [msgIcon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
34
+ className: require_utils.cn("mr-3 flex shrink-0 items-start pt-0.5"),
33
35
  children: msgIcon
34
- }),
35
- hasContent && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
36
- className: "flex flex-1 flex-col gap-1",
37
- children: [hasTitle && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.AlertTitle, {
38
- className: require_utils.cn(config.textClass, { "block!": !hasTitle }),
39
- children: title
40
- }), description != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.AlertDescription, {
41
- className: require_utils.cn(config.descClass, !hasTitle && config.textClass, "whitespace-pre-wrap"),
42
- children: description
43
- })]
44
- }),
45
- children
46
- ]
36
+ }), (hasContent || children != null) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
37
+ className: "flex w-full min-w-0 flex-1 flex-col gap-1",
38
+ children: [
39
+ hasTitle && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.AlertTitle, {
40
+ className: require_utils.cn(config.textClass, { "block!": !hasTitle }),
41
+ children: title
42
+ }),
43
+ description != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.AlertDescription, {
44
+ className: require_utils.cn(config.descClass, !hasTitle && config.textClass, "whitespace-pre-wrap"),
45
+ children: description
46
+ }),
47
+ children
48
+ ]
49
+ })]
50
+ }), !hasStructuredLayout && children]
47
51
  });
48
52
  };
49
53
  Alert.displayName = "Alert";
package/dist/Alert.js CHANGED
@@ -18,28 +18,32 @@ const Alert$1 = (props) => {
18
18
  const msgIcon = getIcon(icon, variant);
19
19
  const hasTitle = title != null && title.trim() !== "";
20
20
  const hasContent = hasTitle || description != null;
21
+ const hasStructuredLayout = Boolean(msgIcon || hasContent);
21
22
  const config = variantConfig[variant] ?? variantConfig.default;
22
23
  return /* @__PURE__ */ jsxs(Alert, {
23
24
  ...rest,
24
25
  variant: "destructive",
25
- className: cn$1("bg-card border-accent! flex justify-between rounded-sm border-0 border-l-4", msgIcon ? "flex-row" : "flex-col", config.borderClass, config.textClass, className),
26
- children: [
27
- msgIcon && /* @__PURE__ */ jsx("div", {
28
- className: cn$1("mr-3 flex items-start pt-0.5"),
26
+ className: cn$1("flex flex-col items-stretch bg-card border-accent! rounded-sm border-0 border-l-4", config.borderClass, config.textClass, className),
27
+ children: [hasStructuredLayout && /* @__PURE__ */ jsxs("div", {
28
+ className: cn$1("col-span-full flex w-full min-w-0 items-start", msgIcon ? "flex-row" : "flex-col"),
29
+ children: [msgIcon && /* @__PURE__ */ jsx("div", {
30
+ className: cn$1("mr-3 flex shrink-0 items-start pt-0.5"),
29
31
  children: msgIcon
30
- }),
31
- hasContent && /* @__PURE__ */ jsxs("div", {
32
- className: "flex flex-1 flex-col gap-1",
33
- children: [hasTitle && /* @__PURE__ */ jsx(AlertTitle, {
34
- className: cn$1(config.textClass, { "block!": !hasTitle }),
35
- children: title
36
- }), description != null && /* @__PURE__ */ jsx(AlertDescription, {
37
- className: cn$1(config.descClass, !hasTitle && config.textClass, "whitespace-pre-wrap"),
38
- children: description
39
- })]
40
- }),
41
- children
42
- ]
32
+ }), (hasContent || children != null) && /* @__PURE__ */ jsxs("div", {
33
+ className: "flex w-full min-w-0 flex-1 flex-col gap-1",
34
+ children: [
35
+ hasTitle && /* @__PURE__ */ jsx(AlertTitle, {
36
+ className: cn$1(config.textClass, { "block!": !hasTitle }),
37
+ children: title
38
+ }),
39
+ description != null && /* @__PURE__ */ jsx(AlertDescription, {
40
+ className: cn$1(config.descClass, !hasTitle && config.textClass, "whitespace-pre-wrap"),
41
+ children: description
42
+ }),
43
+ children
44
+ ]
45
+ })]
46
+ }), !hasStructuredLayout && children]
43
47
  });
44
48
  };
45
49
  Alert$1.displayName = "Alert";
package/dist/Button.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime2 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
  import { Button, Tooltip, TooltipContent, TooltipTrigger, buttonVariants } from "@pixpilot/shadcn";
3
3
  import React from "react";
4
4
  import { VariantProps } from "class-variance-authority";
@@ -27,7 +27,7 @@ interface ButtonProps extends React.ComponentProps<typeof Button>, VariantProps<
27
27
  }
28
28
  declare function Button$1(props: ButtonProps & {
29
29
  ref?: React.Ref<HTMLButtonElement>;
30
- }): react_jsx_runtime2.JSX.Element;
30
+ }): react_jsx_runtime0.JSX.Element;
31
31
  declare namespace Button$1 {
32
32
  var displayName: string;
33
33
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime3 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
2
  import { Button, Tooltip, TooltipContent, TooltipTrigger, buttonVariants } from "@pixpilot/shadcn";
3
3
  import React from "react";
4
4
  import { VariantProps } from "class-variance-authority";
@@ -50,7 +50,7 @@ interface ButtonExtendedProps extends React.ComponentProps<typeof Button>, Varia
50
50
  }
51
51
  declare function ButtonExtended(props: ButtonExtendedProps & {
52
52
  ref?: React.Ref<HTMLButtonElement>;
53
- }): react_jsx_runtime3.JSX.Element;
53
+ }): react_jsx_runtime1.JSX.Element;
54
54
  declare namespace ButtonExtended {
55
55
  var displayName: string;
56
56
  }
@@ -11,13 +11,16 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
11
11
 
12
12
  //#region src/ColorPicker/ColorPicker.tsx
13
13
  const ColorPicker = (props) => {
14
- const { variant = "input", formatDisplayValue, placeholder, resetOptions,...rest } = props;
14
+ const { variant = "input", formatDisplayValue, placeholder, resetOptions, id,...rest } = props;
15
15
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerBase.ColorPickerBase, {
16
+ id,
16
17
  ...rest,
17
18
  children: variant === "input" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerInput.ColorPickerInput, {
19
+ id,
18
20
  placeholder,
19
21
  resetOptions
20
22
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerButton.ColorPickerButton, {
23
+ id,
21
24
  placeholder,
22
25
  formatDisplayValue,
23
26
  resetOptions
@@ -9,13 +9,16 @@ import { jsx } from "react/jsx-runtime";
9
9
 
10
10
  //#region src/ColorPicker/ColorPicker.tsx
11
11
  const ColorPicker = (props) => {
12
- const { variant = "input", formatDisplayValue, placeholder, resetOptions,...rest } = props;
12
+ const { variant = "input", formatDisplayValue, placeholder, resetOptions, id,...rest } = props;
13
13
  return /* @__PURE__ */ jsx(ColorPickerBase, {
14
+ id,
14
15
  ...rest,
15
16
  children: variant === "input" ? /* @__PURE__ */ jsx(ColorPickerInput, {
17
+ id,
16
18
  placeholder,
17
19
  resetOptions
18
20
  }) : /* @__PURE__ */ jsx(ColorPickerButton, {
21
+ id,
19
22
  placeholder,
20
23
  formatDisplayValue,
21
24
  resetOptions
@@ -17,7 +17,7 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
17
17
 
18
18
  //#region src/ColorPickerBase/ColorPickerBase.tsx
19
19
  const ColorPickerBase = (props) => {
20
- const { value: propValue, onChange, onValueChange, layout = "full", presetColors, sections, format, defaultFormat = "hex", onFormatChange, contentProps, children,...rest } = props;
20
+ const { value: propValue, onChange, onValueChange, layout = "full", presetColors, sections, format, defaultFormat = "hex", onFormatChange, contentProps, children, id,...rest } = props;
21
21
  const { currentValue, handleValueChange } = require_use_color_picker_base_value.useColorPickerBaseValue({
22
22
  value: propValue,
23
23
  defaultValue: require_constants.DEFAULT_COLOR,
@@ -49,13 +49,16 @@ const ColorPickerBase = (props) => {
49
49
  children: [typeof children === "function" ? children({
50
50
  value: currentValue,
51
51
  onValueChange: handleValueChange,
52
- isPickerOpen: open
52
+ isPickerOpen: open,
53
+ id
53
54
  }) : children, layout === "compact" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerCompactControls.ColorPickerCompactControls, {
54
55
  ...contentProps,
56
+ id,
55
57
  presetColors: colors,
56
58
  sections: resolvedSections
57
59
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerFullControls.ColorPickerFullControls, {
58
60
  ...contentProps,
61
+ id,
59
62
  presetColors: colors,
60
63
  sections: resolvedSections
61
64
  })]
@@ -14,7 +14,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
14
14
 
15
15
  //#region src/ColorPickerBase/ColorPickerBase.tsx
16
16
  const ColorPickerBase = (props) => {
17
- const { value: propValue, onChange, onValueChange, layout = "full", presetColors, sections, format, defaultFormat = "hex", onFormatChange, contentProps, children,...rest } = props;
17
+ const { value: propValue, onChange, onValueChange, layout = "full", presetColors, sections, format, defaultFormat = "hex", onFormatChange, contentProps, children, id,...rest } = props;
18
18
  const { currentValue, handleValueChange } = useColorPickerBaseValue({
19
19
  value: propValue,
20
20
  defaultValue: DEFAULT_COLOR,
@@ -46,13 +46,16 @@ const ColorPickerBase = (props) => {
46
46
  children: [typeof children === "function" ? children({
47
47
  value: currentValue,
48
48
  onValueChange: handleValueChange,
49
- isPickerOpen: open
49
+ isPickerOpen: open,
50
+ id
50
51
  }) : children, layout === "compact" ? /* @__PURE__ */ jsx(ColorPickerCompactControls, {
51
52
  ...contentProps,
53
+ id,
52
54
  presetColors: colors,
53
55
  sections: resolvedSections
54
56
  }) : /* @__PURE__ */ jsx(ColorPickerFullControls, {
55
57
  ...contentProps,
58
+ id,
56
59
  presetColors: colors,
57
60
  sections: resolvedSections
58
61
  })]
@@ -1,4 +1,5 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_get_id = require('../utils/get-id.cjs');
2
3
  const require_color_picker_context = require('./color-picker-context.cjs');
3
4
  const require_ColorPickerSwatch = require('./ColorPickerSwatch.cjs');
4
5
  const require_use_color_picker_reset_options = require('./hooks/use-color-picker-reset-options.cjs');
@@ -13,8 +14,8 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
13
14
 
14
15
  //#region src/ColorPickerBase/ColorPickerButton.tsx
15
16
  const ColorPickerButton = (props) => {
16
- const { slots, formatDisplayValue, placeholder = "Pick a color", onClear, resetOptions, title,...rest } = props;
17
- const { isPickerOpen, onValueChange } = require_color_picker_context.useColorPickerContext();
17
+ const { slots, formatDisplayValue, placeholder = "Pick a color", onClear, resetOptions, title, id,...rest } = props;
18
+ const { id: contextId, isPickerOpen, onValueChange } = require_color_picker_context.useColorPickerContext();
18
19
  const { value, isResetValue, resetLabel, resetTooltip, resetIcon, handleClear, showClearButton, swatchColor } = require_use_color_picker_reset_options.useColorPickerResetOptions({
19
20
  resetOptions,
20
21
  onClear
@@ -28,9 +29,11 @@ const ColorPickerButton = (props) => {
28
29
  return formatDisplayValue != null ? formatDisplayValue(value) : value;
29
30
  };
30
31
  const swatchChildren = slots?.swatch?.children ?? (isResetValue ? resetIcon : void 0);
32
+ const controlId = id ?? contextId;
31
33
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerTrigger, {
32
34
  asChild: true,
33
35
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.InputGroup, {
36
+ id: controlId,
34
37
  ...rest,
35
38
  title,
36
39
  className: (0, __pixpilot_shadcn.cn)("dark:hover:bg-input/50 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer", rest.className),
@@ -51,6 +54,7 @@ const ColorPickerButton = (props) => {
51
54
  align: "inline-end",
52
55
  className: "gap-1",
53
56
  children: [showClearButton && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
57
+ id: require_get_id.getId(controlId, "clear-button"),
54
58
  type: "button",
55
59
  title: resetTooltip,
56
60
  variant: "ghost",
@@ -1,3 +1,4 @@
1
+ import { getId } from "../utils/get-id.js";
1
2
  import { useColorPickerContext } from "./color-picker-context.js";
2
3
  import { ColorPickerSwatch as ColorPickerSwatch$1 } from "./ColorPickerSwatch.js";
3
4
  import { useColorPickerResetOptions } from "./hooks/use-color-picker-reset-options.js";
@@ -8,8 +9,8 @@ import { jsx, jsxs } from "react/jsx-runtime";
8
9
 
9
10
  //#region src/ColorPickerBase/ColorPickerButton.tsx
10
11
  const ColorPickerButton = (props) => {
11
- const { slots, formatDisplayValue, placeholder = "Pick a color", onClear, resetOptions, title,...rest } = props;
12
- const { isPickerOpen, onValueChange } = useColorPickerContext();
12
+ const { slots, formatDisplayValue, placeholder = "Pick a color", onClear, resetOptions, title, id,...rest } = props;
13
+ const { id: contextId, isPickerOpen, onValueChange } = useColorPickerContext();
13
14
  const { value, isResetValue, resetLabel, resetTooltip, resetIcon, handleClear, showClearButton, swatchColor } = useColorPickerResetOptions({
14
15
  resetOptions,
15
16
  onClear
@@ -21,9 +22,11 @@ const ColorPickerButton = (props) => {
21
22
  return formatDisplayValue != null ? formatDisplayValue(value) : value;
22
23
  };
23
24
  const swatchChildren = slots?.swatch?.children ?? (isResetValue ? resetIcon : void 0);
25
+ const controlId = id ?? contextId;
24
26
  return /* @__PURE__ */ jsx(ColorPickerTrigger, {
25
27
  asChild: true,
26
28
  children: /* @__PURE__ */ jsxs(InputGroup, {
29
+ id: controlId,
27
30
  ...rest,
28
31
  title,
29
32
  className: cn("dark:hover:bg-input/50 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer", rest.className),
@@ -44,6 +47,7 @@ const ColorPickerButton = (props) => {
44
47
  align: "inline-end",
45
48
  className: "gap-1",
46
49
  children: [showClearButton && /* @__PURE__ */ jsx(Button, {
50
+ id: getId(controlId, "clear-button"),
47
51
  type: "button",
48
52
  title: resetTooltip,
49
53
  variant: "ghost",
@@ -12,7 +12,7 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
12
12
 
13
13
  //#region src/ColorPickerBase/ColorPickerCompactControls.tsx
14
14
  const ColorPickerCompactControls = react.default.memo((props) => {
15
- const { presetColors, sections = require_constants.DEFAULT_SECTIONS,...rest } = props;
15
+ const { presetColors, sections = require_constants.DEFAULT_SECTIONS, id,...rest } = props;
16
16
  const enabledSections = new Set(sections);
17
17
  const showPicker = enabledSections.has("picker");
18
18
  const showSwatch = enabledSections.has("swatch");
@@ -24,17 +24,19 @@ const ColorPickerCompactControls = react.default.memo((props) => {
24
24
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_ColorPickerContent.ColorPickerContent, {
25
25
  ...rest,
26
26
  children: [
27
- shouldShowPickerUi && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerControls.ColorPickerControls, {}),
27
+ shouldShowPickerUi && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerControls.ColorPickerControls, { id }),
28
28
  showSwatch && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
29
29
  className: "gap-2 flex flex-wrap",
30
30
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPalette.ColorPickerColorPalette, {
31
+ id,
31
32
  presetColors,
32
33
  onMoreColor: canTogglePickerUi ? () => setShowFullPicker(!showFullPicker) : void 0
33
34
  })
34
35
  }),
35
36
  (showFormatSelect || showInput) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerFormatControls.ColorPickerFormatControls, {
36
37
  showFormatSelect,
37
- showInput
38
+ showInput,
39
+ id
38
40
  })
39
41
  ]
40
42
  });
@@ -9,7 +9,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
9
9
 
10
10
  //#region src/ColorPickerBase/ColorPickerCompactControls.tsx
11
11
  const ColorPickerCompactControls = React.memo((props) => {
12
- const { presetColors, sections = DEFAULT_SECTIONS,...rest } = props;
12
+ const { presetColors, sections = DEFAULT_SECTIONS, id,...rest } = props;
13
13
  const enabledSections = new Set(sections);
14
14
  const showPicker = enabledSections.has("picker");
15
15
  const showSwatch = enabledSections.has("swatch");
@@ -21,17 +21,19 @@ const ColorPickerCompactControls = React.memo((props) => {
21
21
  return /* @__PURE__ */ jsxs(ColorPickerContent, {
22
22
  ...rest,
23
23
  children: [
24
- shouldShowPickerUi && /* @__PURE__ */ jsx(ColorPickerControls, {}),
24
+ shouldShowPickerUi && /* @__PURE__ */ jsx(ColorPickerControls, { id }),
25
25
  showSwatch && /* @__PURE__ */ jsx("div", {
26
26
  className: "gap-2 flex flex-wrap",
27
27
  children: /* @__PURE__ */ jsx(ColorPickerColorPalette, {
28
+ id,
28
29
  presetColors,
29
30
  onMoreColor: canTogglePickerUi ? () => setShowFullPicker(!showFullPicker) : void 0
30
31
  })
31
32
  }),
32
33
  (showFormatSelect || showInput) && /* @__PURE__ */ jsx(ColorPickerFormatControls, {
33
34
  showFormatSelect,
34
- showInput
35
+ showInput,
36
+ id
35
37
  })
36
38
  ]
37
39
  });
@@ -1,4 +1,5 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_get_id = require('../utils/get-id.cjs');
2
3
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
3
4
  __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
4
5
  let react = require("react");
@@ -8,21 +9,31 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
8
9
 
9
10
  //#region src/ColorPickerBase/ColorPickerControls.tsx
10
11
  const ColorPickerControls = (props) => {
11
- const { slots,...rest } = props;
12
+ const { slots, id,...rest } = props;
12
13
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13
14
  "data-slot": "color-picker-controls",
14
15
  ...rest,
15
16
  className: (0, __pixpilot_shadcn.cn)("space-y-4", rest.className),
16
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerArea, { ...slots?.area }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
17
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerArea, {
18
+ id: require_get_id.getId(id, "picker-area"),
19
+ ...slots?.area
20
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
17
21
  "data-slot": "color-picker-controls-row",
18
22
  className: "flex items-center gap-2",
19
23
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerEyeDropper, {
24
+ id: require_get_id.getId(id, "eye-dropper-button"),
20
25
  ...slots?.eyeDropper,
21
26
  className: (0, __pixpilot_shadcn.cn)("hidden xs:flex ", slots?.eyeDropper.className)
22
27
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
23
28
  "data-slot": "color-picker-controls-sliders",
24
29
  className: "flex-1 space-y-2",
25
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerHueSlider, { ...slots?.hueSlider }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerAlphaSlider, { ...slots?.alphaSlider })]
30
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerHueSlider, {
31
+ id: require_get_id.getId(id, "hue-slider"),
32
+ ...slots?.hueSlider
33
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerAlphaSlider, {
34
+ id: require_get_id.getId(id, "alpha-slider"),
35
+ ...slots?.alphaSlider
36
+ })]
26
37
  })]
27
38
  })]
28
39
  });
@@ -1,24 +1,35 @@
1
+ import { getId } from "../utils/get-id.js";
1
2
  import { ColorPickerAlphaSlider, ColorPickerArea, ColorPickerEyeDropper as ColorPickerEyeDropper$1, ColorPickerHueSlider, cn } from "@pixpilot/shadcn";
2
3
  import React from "react";
3
4
  import { jsx, jsxs } from "react/jsx-runtime";
4
5
 
5
6
  //#region src/ColorPickerBase/ColorPickerControls.tsx
6
7
  const ColorPickerControls = (props) => {
7
- const { slots,...rest } = props;
8
+ const { slots, id,...rest } = props;
8
9
  return /* @__PURE__ */ jsxs("div", {
9
10
  "data-slot": "color-picker-controls",
10
11
  ...rest,
11
12
  className: cn("space-y-4", rest.className),
12
- children: [/* @__PURE__ */ jsx(ColorPickerArea, { ...slots?.area }), /* @__PURE__ */ jsxs("div", {
13
+ children: [/* @__PURE__ */ jsx(ColorPickerArea, {
14
+ id: getId(id, "picker-area"),
15
+ ...slots?.area
16
+ }), /* @__PURE__ */ jsxs("div", {
13
17
  "data-slot": "color-picker-controls-row",
14
18
  className: "flex items-center gap-2",
15
19
  children: [/* @__PURE__ */ jsx(ColorPickerEyeDropper$1, {
20
+ id: getId(id, "eye-dropper-button"),
16
21
  ...slots?.eyeDropper,
17
22
  className: cn("hidden xs:flex ", slots?.eyeDropper.className)
18
23
  }), /* @__PURE__ */ jsxs("div", {
19
24
  "data-slot": "color-picker-controls-sliders",
20
25
  className: "flex-1 space-y-2",
21
- children: [/* @__PURE__ */ jsx(ColorPickerHueSlider, { ...slots?.hueSlider }), /* @__PURE__ */ jsx(ColorPickerAlphaSlider, { ...slots?.alphaSlider })]
26
+ children: [/* @__PURE__ */ jsx(ColorPickerHueSlider, {
27
+ id: getId(id, "hue-slider"),
28
+ ...slots?.hueSlider
29
+ }), /* @__PURE__ */ jsx(ColorPickerAlphaSlider, {
30
+ id: getId(id, "alpha-slider"),
31
+ ...slots?.alphaSlider
32
+ })]
22
33
  })]
23
34
  })]
24
35
  });
@@ -1,4 +1,5 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_get_id = require('../utils/get-id.cjs');
2
3
  const require_ColorPickerFormatInput = require('./ColorPickerFormatInput.cjs');
3
4
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
4
5
  __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
@@ -9,11 +10,11 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
10
 
10
11
  //#region src/ColorPickerBase/ColorPickerFormatControls.tsx
11
12
  const ColorPickerFormatControls = (props) => {
12
- const { showFormatSelect = true, showInput = true,...rest } = props;
13
+ const { showFormatSelect = true, showInput = true, id,...rest } = props;
13
14
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
14
15
  ...rest,
15
16
  className: (0, __pixpilot_shadcn.cn)("flex items-center gap-2 w-full", rest.className),
16
- children: [showFormatSelect && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerFormatSelect, {}), showInput && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerFormatInput.ColorPickerFormatInput, {})]
17
+ children: [showFormatSelect && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerFormatSelect, { id: require_get_id.getId(id, "format-select") }), showInput && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerFormatInput.ColorPickerFormatInput, { id: require_get_id.getId(id, "format-input") })]
17
18
  });
18
19
  };
19
20
  ColorPickerFormatControls.displayName = "ColorPickerFormatControls";
@@ -1,3 +1,4 @@
1
+ import { getId } from "../utils/get-id.js";
1
2
  import { ColorPickerFormatInput } from "./ColorPickerFormatInput.js";
2
3
  import { ColorPickerFormatSelect, cn } from "@pixpilot/shadcn";
3
4
  import React from "react";
@@ -5,11 +6,11 @@ import { jsx, jsxs } from "react/jsx-runtime";
5
6
 
6
7
  //#region src/ColorPickerBase/ColorPickerFormatControls.tsx
7
8
  const ColorPickerFormatControls = (props) => {
8
- const { showFormatSelect = true, showInput = true,...rest } = props;
9
+ const { showFormatSelect = true, showInput = true, id,...rest } = props;
9
10
  return /* @__PURE__ */ jsxs("div", {
10
11
  ...rest,
11
12
  className: cn("flex items-center gap-2 w-full", rest.className),
12
- children: [showFormatSelect && /* @__PURE__ */ jsx(ColorPickerFormatSelect, {}), showInput && /* @__PURE__ */ jsx(ColorPickerFormatInput, {})]
13
+ children: [showFormatSelect && /* @__PURE__ */ jsx(ColorPickerFormatSelect, { id: getId(id, "format-select") }), showInput && /* @__PURE__ */ jsx(ColorPickerFormatInput, { id: getId(id, "format-input") })]
13
14
  });
14
15
  };
15
16
  ColorPickerFormatControls.displayName = "ColorPickerFormatControls";
@@ -11,7 +11,7 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
11
11
 
12
12
  //#region src/ColorPickerBase/ColorPickerFullControls.tsx
13
13
  const ColorPickerFullControls = react.default.memo((props) => {
14
- const { presetColors, sections,...rest } = props;
14
+ const { presetColors, sections, id,...rest } = props;
15
15
  const enabledSections = new Set(sections);
16
16
  const showPicker = enabledSections.has("picker");
17
17
  const showSwatch = enabledSections.has("swatch");
@@ -20,14 +20,18 @@ const ColorPickerFullControls = react.default.memo((props) => {
20
20
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_ColorPickerContent.ColorPickerContent, {
21
21
  ...rest,
22
22
  children: [
23
- showPicker && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerControls.ColorPickerControls, {}),
23
+ showPicker && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerControls.ColorPickerControls, { id }),
24
24
  showSwatch && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
25
25
  className: "gap-2 flex flex-wrap",
26
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPalette.ColorPickerColorPalette, { presetColors })
26
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPalette.ColorPickerColorPalette, {
27
+ id,
28
+ presetColors
29
+ })
27
30
  }),
28
31
  (showFormatSelect || showInput) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ColorPickerFormatControls.ColorPickerFormatControls, {
29
32
  showFormatSelect,
30
- showInput
33
+ showInput,
34
+ id
31
35
  })
32
36
  ]
33
37
  });
@@ -8,7 +8,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
8
8
 
9
9
  //#region src/ColorPickerBase/ColorPickerFullControls.tsx
10
10
  const ColorPickerFullControls = React.memo((props) => {
11
- const { presetColors, sections,...rest } = props;
11
+ const { presetColors, sections, id,...rest } = props;
12
12
  const enabledSections = new Set(sections);
13
13
  const showPicker = enabledSections.has("picker");
14
14
  const showSwatch = enabledSections.has("swatch");
@@ -17,14 +17,18 @@ const ColorPickerFullControls = React.memo((props) => {
17
17
  return /* @__PURE__ */ jsxs(ColorPickerContent, {
18
18
  ...rest,
19
19
  children: [
20
- showPicker && /* @__PURE__ */ jsx(ColorPickerControls, {}),
20
+ showPicker && /* @__PURE__ */ jsx(ColorPickerControls, { id }),
21
21
  showSwatch && /* @__PURE__ */ jsx("div", {
22
22
  className: "gap-2 flex flex-wrap",
23
- children: /* @__PURE__ */ jsx(ColorPickerColorPalette, { presetColors })
23
+ children: /* @__PURE__ */ jsx(ColorPickerColorPalette, {
24
+ id,
25
+ presetColors
26
+ })
24
27
  }),
25
28
  (showFormatSelect || showInput) && /* @__PURE__ */ jsx(ColorPickerFormatControls, {
26
29
  showFormatSelect,
27
- showInput
30
+ showInput,
31
+ id
28
32
  })
29
33
  ]
30
34
  });
@@ -1,4 +1,5 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_get_id = require('../utils/get-id.cjs');
2
3
  const require_color_picker_context = require('./color-picker-context.cjs');
3
4
  const require_ColorPickerSwatch = require('./ColorPickerSwatch.cjs');
4
5
  const require_use_color_picker_reset_options = require('./hooks/use-color-picker-reset-options.cjs');
@@ -13,8 +14,8 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
13
14
 
14
15
  //#region src/ColorPickerBase/ColorPickerInput.tsx
15
16
  const ColorPickerInput = (props) => {
16
- const { slots, onChange, onClear, resetOptions, placeholder, title,...rest } = props;
17
- const { isPickerOpen, onValueChange } = require_color_picker_context.useColorPickerContext();
17
+ const { slots, onChange, onClear, resetOptions, placeholder, title, id,...rest } = props;
18
+ const { id: contextId, isPickerOpen, onValueChange } = require_color_picker_context.useColorPickerContext();
18
19
  const { value, isResetValue, resetLabel, resetTooltip, resetIcon, handleClear, showClearButton, swatchColor } = require_use_color_picker_reset_options.useColorPickerResetOptions({
19
20
  resetOptions,
20
21
  onClear
@@ -24,6 +25,7 @@ const ColorPickerInput = (props) => {
24
25
  }
25
26
  const inputValue = isResetValue ? "" : value ?? "";
26
27
  const inputPlaceholder = isResetValue ? resetLabel : placeholder;
28
+ const controlId = id ?? contextId;
27
29
  const swatchChildren = slots?.swatch?.children ?? (isResetValue ? resetIcon : void 0);
28
30
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.ColorPickerTrigger, {
29
31
  asChild: true,
@@ -39,6 +41,7 @@ const ColorPickerInput = (props) => {
39
41
  })
40
42
  }),
41
43
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupInput, {
44
+ id: controlId,
42
45
  value: inputValue,
43
46
  ...rest,
44
47
  title,
@@ -61,6 +64,7 @@ const ColorPickerInput = (props) => {
61
64
  showClearButton ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.InputGroupAddon, {
62
65
  align: "inline-end",
63
66
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
67
+ id: require_get_id.getId(controlId, "clear-button"),
64
68
  type: "button",
65
69
  variant: "ghost",
66
70
  size: "icon",