@pixpilot/shadcn-ui 1.23.0 → 1.24.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/Button.d.cts +2 -2
  3. package/dist/ButtonExtended.d.cts +2 -2
  4. package/dist/ColorPicker/ColorPicker.cjs +4 -1
  5. package/dist/ColorPicker/ColorPicker.js +4 -1
  6. package/dist/ColorPickerBase/ColorPickerBase.cjs +5 -2
  7. package/dist/ColorPickerBase/ColorPickerBase.js +5 -2
  8. package/dist/ColorPickerBase/ColorPickerButton.cjs +6 -2
  9. package/dist/ColorPickerBase/ColorPickerButton.js +6 -2
  10. package/dist/ColorPickerBase/ColorPickerCompactControls.cjs +5 -3
  11. package/dist/ColorPickerBase/ColorPickerCompactControls.js +5 -3
  12. package/dist/ColorPickerBase/ColorPickerControls.cjs +14 -3
  13. package/dist/ColorPickerBase/ColorPickerControls.js +14 -3
  14. package/dist/ColorPickerBase/ColorPickerFormatControls.cjs +3 -2
  15. package/dist/ColorPickerBase/ColorPickerFormatControls.js +3 -2
  16. package/dist/ColorPickerBase/ColorPickerFullControls.cjs +8 -4
  17. package/dist/ColorPickerBase/ColorPickerFullControls.js +8 -4
  18. package/dist/ColorPickerBase/ColorPickerInput.cjs +6 -2
  19. package/dist/ColorPickerBase/ColorPickerInput.js +6 -2
  20. package/dist/ColorPickerBase/ColorPickerRoot.cjs +2 -1
  21. package/dist/ColorPickerBase/ColorPickerRoot.js +2 -1
  22. package/dist/ColorPickerBase/color-palette/ColorPalette.cjs +8 -2
  23. package/dist/ColorPickerBase/color-palette/ColorPalette.js +8 -2
  24. package/dist/ColorPickerBase/color-palette/PaletteSwatch.cjs +2 -1
  25. package/dist/ColorPickerBase/color-palette/PaletteSwatch.d.cts +1 -0
  26. package/dist/ColorPickerBase/color-palette/PaletteSwatch.d.ts +1 -0
  27. package/dist/ColorPickerBase/color-palette/PaletteSwatch.js +2 -1
  28. package/dist/ColorPickerBase/color-picker-context.d.cts +1 -0
  29. package/dist/ColorPickerBase/color-picker-context.d.ts +1 -0
  30. package/dist/ColorPickerBase/types.d.cts +2 -0
  31. package/dist/ColorPickerBase/types.d.ts +2 -0
  32. package/dist/ColorSelect.cjs +4 -1
  33. package/dist/ColorSelect.d.cts +3 -2
  34. package/dist/ColorSelect.d.ts +1 -0
  35. package/dist/ColorSelect.js +4 -1
  36. package/dist/Combobox.cjs +8 -2
  37. package/dist/Combobox.d.cts +1 -0
  38. package/dist/Combobox.d.ts +1 -0
  39. package/dist/Combobox.js +8 -2
  40. package/dist/CommandOptionList.cjs +3 -1
  41. package/dist/CommandOptionList.js +3 -1
  42. package/dist/ContentCard.d.cts +2 -2
  43. package/dist/ContentCard.d.ts +2 -2
  44. package/dist/DatePicker.cjs +2 -1
  45. package/dist/DatePicker.d.cts +3 -2
  46. package/dist/DatePicker.d.ts +3 -2
  47. package/dist/DatePicker.js +2 -1
  48. package/dist/IconToggle.cjs +1 -1
  49. package/dist/IconToggle.js +1 -1
  50. package/dist/Rating.cjs +7 -2
  51. package/dist/Rating.d.cts +5 -4
  52. package/dist/Rating.d.ts +5 -4
  53. package/dist/Rating.js +7 -2
  54. package/dist/Select.cjs +1 -1
  55. package/dist/Select.d.cts +2 -2
  56. package/dist/Select.js +1 -1
  57. package/dist/avatar-upload/AvatarUpload.cjs +5 -2
  58. package/dist/avatar-upload/AvatarUpload.js +5 -2
  59. package/dist/avatar-upload/AvatarUploadComponents.cjs +3 -1
  60. package/dist/avatar-upload/AvatarUploadComponents.js +3 -1
  61. package/dist/avatar-upload/AvatarUploadItem.cjs +4 -1
  62. package/dist/avatar-upload/AvatarUploadItem.js +4 -1
  63. package/dist/confirmation-dialog/ConfirmationDialog.cjs +4 -1
  64. package/dist/confirmation-dialog/ConfirmationDialog.d.cts +1 -0
  65. package/dist/confirmation-dialog/ConfirmationDialog.d.ts +1 -0
  66. package/dist/confirmation-dialog/ConfirmationDialog.js +4 -1
  67. package/dist/dialog/Dialog.d.cts +4 -4
  68. package/dist/dialog/Dialog.d.ts +4 -4
  69. package/dist/file-upload/FileUpload.cjs +3 -1
  70. package/dist/file-upload/FileUpload.d.cts +2 -2
  71. package/dist/file-upload/FileUpload.js +3 -1
  72. package/dist/file-upload/FileUploadItems.cjs +2 -1
  73. package/dist/file-upload/FileUploadItems.js +2 -1
  74. package/dist/file-upload/FileUploadListItem.cjs +3 -1
  75. package/dist/file-upload/FileUploadListItem.js +3 -1
  76. package/dist/file-upload-inline/FileUploadInline.d.cts +2 -2
  77. package/dist/file-upload-inline/FileUploadInline.d.ts +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 +4 -2
  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 +1 -0
  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 +1 -0
  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 +1 -0
  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 +1 -0
  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
@@ -8,7 +8,7 @@ let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
10
  //#region src/ColorPickerBase/color-palette/PaletteSwatch.tsx
11
- const ColorPickerPaletteSwatch = ({ color, onSelect, className, selectedValue }) => {
11
+ const ColorPickerPaletteSwatch = ({ id, color, onSelect, className, selectedValue }) => {
12
12
  const colorValue = color?.value ?? "rgb(0,0,0,0)";
13
13
  const colorLabel = color?.label;
14
14
  const normalizeColor = (0, react.useCallback)((value) => {
@@ -27,6 +27,7 @@ const ColorPickerPaletteSwatch = ({ color, onSelect, className, selectedValue })
27
27
  if (onSelect) onSelect(colorValue);
28
28
  }, [colorValue, onSelect]);
29
29
  const button = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PaletteButton.ColorPickerPaletteButton, {
30
+ id,
30
31
  style: {
31
32
  backgroundImage: `linear-gradient(${colorValue}, ${colorValue}), repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%)`,
32
33
  backgroundSize: "auto, 8px 8px"
@@ -2,6 +2,7 @@ import { PresetColor } from "../types.cjs";
2
2
 
3
3
  //#region src/ColorPickerBase/color-palette/PaletteSwatch.d.ts
4
4
  declare const ColorPickerPaletteSwatch: React.FC<{
5
+ id?: string;
5
6
  color?: PresetColor;
6
7
  onSelect?: (color: string) => void;
7
8
  className?: string;
@@ -2,6 +2,7 @@ import { PresetColor } from "../types.js";
2
2
 
3
3
  //#region src/ColorPickerBase/color-palette/PaletteSwatch.d.ts
4
4
  declare const ColorPickerPaletteSwatch: React.FC<{
5
+ id?: string;
5
6
  color?: PresetColor;
6
7
  onSelect?: (color: string) => void;
7
8
  className?: string;
@@ -4,7 +4,7 @@ import { useCallback } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
6
  //#region src/ColorPickerBase/color-palette/PaletteSwatch.tsx
7
- const ColorPickerPaletteSwatch = ({ color, onSelect, className, selectedValue }) => {
7
+ const ColorPickerPaletteSwatch = ({ id, color, onSelect, className, selectedValue }) => {
8
8
  const colorValue = color?.value ?? "rgb(0,0,0,0)";
9
9
  const colorLabel = color?.label;
10
10
  const normalizeColor = useCallback((value) => {
@@ -23,6 +23,7 @@ const ColorPickerPaletteSwatch = ({ color, onSelect, className, selectedValue })
23
23
  if (onSelect) onSelect(colorValue);
24
24
  }, [colorValue, onSelect]);
25
25
  const button = /* @__PURE__ */ jsx(ColorPickerPaletteButton, {
26
+ id,
26
27
  style: {
27
28
  backgroundImage: `linear-gradient(${colorValue}, ${colorValue}), repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%)`,
28
29
  backgroundSize: "auto, 8px 8px"
@@ -2,6 +2,7 @@ import React from "react";
2
2
 
3
3
  //#region src/ColorPickerBase/color-picker-context.d.ts
4
4
  interface ColorPickerContextStates {
5
+ id?: string;
5
6
  isPickerOpen: boolean;
6
7
  value: string;
7
8
  onValueChange: (value: string) => void;
@@ -2,6 +2,7 @@ import React from "react";
2
2
 
3
3
  //#region src/ColorPickerBase/color-picker-context.d.ts
4
4
  interface ColorPickerContextStates {
5
+ id?: string;
5
6
  isPickerOpen: boolean;
6
7
  value: string;
7
8
  onValueChange: (value: string) => void;
@@ -12,6 +12,7 @@ interface ColorPickerContentWrapperProps extends React.ComponentProps<typeof Col
12
12
  width?: number | string;
13
13
  }
14
14
  type ColorPickerContentProps = Required<Pick<ColorPickerBaseProps, 'onValueChange' | 'presetColors' | 'sections'>> & {
15
+ id?: string;
15
16
  currentValue: string;
16
17
  contentProps?: Partial<ColorPickerContentWrapperProps>;
17
18
  };
@@ -34,6 +35,7 @@ interface ColorPickerBaseProps extends Omit<ColorPickerProps, 'onChange' | 'chil
34
35
  value?: string;
35
36
  onValueChange: (value: string) => void;
36
37
  isPickerOpen: boolean;
38
+ id?: string;
37
39
  }) => React.ReactNode);
38
40
  }
39
41
  interface ColorPickerResetOptions {
@@ -12,6 +12,7 @@ interface ColorPickerContentWrapperProps extends React.ComponentProps<typeof Col
12
12
  width?: number | string;
13
13
  }
14
14
  type ColorPickerContentProps = Required<Pick<ColorPickerBaseProps, 'onValueChange' | 'presetColors' | 'sections'>> & {
15
+ id?: string;
15
16
  currentValue: string;
16
17
  contentProps?: Partial<ColorPickerContentWrapperProps>;
17
18
  };
@@ -34,6 +35,7 @@ interface ColorPickerBaseProps extends Omit<ColorPickerProps, 'onChange' | 'chil
34
35
  value?: string;
35
36
  onValueChange: (value: string) => void;
36
37
  isPickerOpen: boolean;
38
+ id?: string;
37
39
  }) => React.ReactNode);
38
40
  }
39
41
  interface ColorPickerResetOptions {
@@ -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_use_select_keyboard = require('./hooks/use-select-keyboard.cjs');
3
4
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
4
5
  __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
@@ -9,7 +10,7 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
10
 
10
11
  //#region src/ColorSelect.tsx
11
12
  function ColorSelect(props) {
12
- const { options, value = "", onChange, placeholder, contentProps, keyboardMode = "dropdown", open: openProp, onOpenChange: onOpenChangeProp,...restProps } = props;
13
+ const { options, value = "", onChange, placeholder, contentProps, keyboardMode = "dropdown", open: openProp, onOpenChange: onOpenChangeProp, id,...restProps } = props;
13
14
  const [uncontrolledOpen, setUncontrolledOpen] = react.default.useState(false);
14
15
  const open = openProp ?? uncontrolledOpen;
15
16
  const handleOpenChange = (nextOpen) => {
@@ -32,6 +33,7 @@ function ColorSelect(props) {
32
33
  onOpenChange: handleOpenChange,
33
34
  ...restProps,
34
35
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.SelectTrigger, {
36
+ id,
35
37
  className: "w-full",
36
38
  onKeyDown: handleTriggerKeyDown,
37
39
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.SelectValue, {
@@ -47,6 +49,7 @@ function ColorSelect(props) {
47
49
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.SelectContent, {
48
50
  ...contentProps,
49
51
  children: options?.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.SelectItem, {
52
+ id: require_get_id.getId(id, `option-${option.value}`),
50
53
  value: option.value,
51
54
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
52
55
  className: "flex items-center gap-2",
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime7 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
2
2
  import { Select, SelectContent } from "@pixpilot/shadcn";
3
3
  import React, { ComponentProps } from "react";
4
4
 
@@ -8,6 +8,7 @@ interface ColorSelectOption {
8
8
  value: string;
9
9
  }
10
10
  type BaseColorSelectProps = {
11
+ id?: string;
11
12
  options?: ColorSelectOption[];
12
13
  contentProps?: React.ComponentProps<typeof SelectContent>;
13
14
  value?: string;
@@ -15,6 +16,6 @@ type BaseColorSelectProps = {
15
16
  placeholder?: string;
16
17
  keyboardMode?: 'cycle' | 'dropdown';
17
18
  } & Omit<ComponentProps<typeof Select>, 'value' | 'onValueChange' | 'children'>;
18
- declare function ColorSelect(props: BaseColorSelectProps): react_jsx_runtime7.JSX.Element;
19
+ declare function ColorSelect(props: BaseColorSelectProps): react_jsx_runtime2.JSX.Element;
19
20
  //#endregion
20
21
  export { BaseColorSelectProps, ColorSelect, ColorSelectOption };
@@ -8,6 +8,7 @@ interface ColorSelectOption {
8
8
  value: string;
9
9
  }
10
10
  type BaseColorSelectProps = {
11
+ id?: string;
11
12
  options?: ColorSelectOption[];
12
13
  contentProps?: React.ComponentProps<typeof SelectContent>;
13
14
  value?: string;
@@ -1,3 +1,4 @@
1
+ import { getId } from "./utils/get-id.js";
1
2
  import { useSelectKeyboard } from "./hooks/use-select-keyboard.js";
2
3
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@pixpilot/shadcn";
3
4
  import React from "react";
@@ -5,7 +6,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
5
6
 
6
7
  //#region src/ColorSelect.tsx
7
8
  function ColorSelect(props) {
8
- const { options, value = "", onChange, placeholder, contentProps, keyboardMode = "dropdown", open: openProp, onOpenChange: onOpenChangeProp,...restProps } = props;
9
+ const { options, value = "", onChange, placeholder, contentProps, keyboardMode = "dropdown", open: openProp, onOpenChange: onOpenChangeProp, id,...restProps } = props;
9
10
  const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false);
10
11
  const open = openProp ?? uncontrolledOpen;
11
12
  const handleOpenChange = (nextOpen) => {
@@ -28,6 +29,7 @@ function ColorSelect(props) {
28
29
  onOpenChange: handleOpenChange,
29
30
  ...restProps,
30
31
  children: [/* @__PURE__ */ jsx(SelectTrigger, {
32
+ id,
31
33
  className: "w-full",
32
34
  onKeyDown: handleTriggerKeyDown,
33
35
  children: /* @__PURE__ */ jsx(SelectValue, {
@@ -43,6 +45,7 @@ function ColorSelect(props) {
43
45
  }), /* @__PURE__ */ jsx(SelectContent, {
44
46
  ...contentProps,
45
47
  children: options?.map((option) => /* @__PURE__ */ jsx(SelectItem, {
48
+ id: getId(id, `option-${option.value}`),
46
49
  value: option.value,
47
50
  children: /* @__PURE__ */ jsxs("div", {
48
51
  className: "flex items-center gap-2",
package/dist/Combobox.cjs CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
5
+ const require_get_id = require('./utils/get-id.cjs');
5
6
  const require_CommandOptionList = require('./CommandOptionList.cjs');
6
7
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
7
8
  __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
@@ -15,7 +16,7 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
15
16
  //#region src/Combobox.tsx
16
17
  const DEFAULT_OPTIONS = [];
17
18
  const Combobox = (props) => {
18
- const { value = "", onChange, options = DEFAULT_OPTIONS, placeholder = "Select option...", searchPlaceholder = "Search...", emptyText = "No option found.",...commandProps } = props;
19
+ const { value = "", onChange, options = DEFAULT_OPTIONS, placeholder = "Select option...", searchPlaceholder = "Search...", emptyText = "No option found.", id,...commandProps } = props;
19
20
  const [open, setOpen] = (0, react.useState)(false);
20
21
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Popover, {
21
22
  open,
@@ -23,6 +24,7 @@ const Combobox = (props) => {
23
24
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.PopoverTrigger, {
24
25
  asChild: true,
25
26
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Button, {
27
+ id,
26
28
  variant: "outline",
27
29
  role: "combobox",
28
30
  "aria-expanded": open,
@@ -34,7 +36,11 @@ const Combobox = (props) => {
34
36
  style: { width: "var(--radix-popover-trigger-width)" },
35
37
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Command, {
36
38
  ...commandProps,
37
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.CommandInput, { placeholder: searchPlaceholder }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CommandOptionList.CommandOptionList, {
39
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.CommandInput, {
40
+ id: require_get_id.getId(id, "search-input"),
41
+ placeholder: searchPlaceholder
42
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CommandOptionList.CommandOptionList, {
43
+ id,
38
44
  options,
39
45
  value,
40
46
  onChange: (val) => {
@@ -4,6 +4,7 @@ import React, { ComponentProps } from "react";
4
4
 
5
5
  //#region src/Combobox.d.ts
6
6
  type ComboboxProps = {
7
+ id?: string;
7
8
  value?: string;
8
9
  onChange?: (value: string) => void;
9
10
  options?: CommandOptionListItem[];
@@ -4,6 +4,7 @@ import React, { ComponentProps } from "react";
4
4
 
5
5
  //#region src/Combobox.d.ts
6
6
  type ComboboxProps = {
7
+ id?: string;
7
8
  value?: string;
8
9
  onChange?: (value: string) => void;
9
10
  options?: CommandOptionListItem[];
package/dist/Combobox.js CHANGED
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
 
3
3
 
4
+ import { getId } from "./utils/get-id.js";
4
5
  import { CommandOptionList } from "./CommandOptionList.js";
5
6
  import { Button, Command, CommandInput, Popover, PopoverContent, PopoverTrigger } from "@pixpilot/shadcn";
6
7
  import { ChevronsUpDown } from "lucide-react";
@@ -10,7 +11,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
10
11
  //#region src/Combobox.tsx
11
12
  const DEFAULT_OPTIONS = [];
12
13
  const Combobox = (props) => {
13
- const { value = "", onChange, options = DEFAULT_OPTIONS, placeholder = "Select option...", searchPlaceholder = "Search...", emptyText = "No option found.",...commandProps } = props;
14
+ const { value = "", onChange, options = DEFAULT_OPTIONS, placeholder = "Select option...", searchPlaceholder = "Search...", emptyText = "No option found.", id,...commandProps } = props;
14
15
  const [open, setOpen] = useState(false);
15
16
  return /* @__PURE__ */ jsxs(Popover, {
16
17
  open,
@@ -18,6 +19,7 @@ const Combobox = (props) => {
18
19
  children: [/* @__PURE__ */ jsx(PopoverTrigger, {
19
20
  asChild: true,
20
21
  children: /* @__PURE__ */ jsxs(Button, {
22
+ id,
21
23
  variant: "outline",
22
24
  role: "combobox",
23
25
  "aria-expanded": open,
@@ -29,7 +31,11 @@ const Combobox = (props) => {
29
31
  style: { width: "var(--radix-popover-trigger-width)" },
30
32
  children: /* @__PURE__ */ jsxs(Command, {
31
33
  ...commandProps,
32
- children: [/* @__PURE__ */ jsx(CommandInput, { placeholder: searchPlaceholder }), /* @__PURE__ */ jsx(CommandOptionList, {
34
+ children: [/* @__PURE__ */ jsx(CommandInput, {
35
+ id: getId(id, "search-input"),
36
+ placeholder: searchPlaceholder
37
+ }), /* @__PURE__ */ jsx(CommandOptionList, {
38
+ id,
33
39
  options,
34
40
  value,
35
41
  onChange: (val) => {
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
5
+ const require_get_id = require('./utils/get-id.cjs');
5
6
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
6
7
  __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
7
8
  let lucide_react = require("lucide-react");
@@ -11,8 +12,9 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
11
12
 
12
13
  //#region src/CommandOptionList.tsx
13
14
  const CommandOptionList = (props) => {
14
- const { options, value, onChange, emptyText = "No option found." } = props;
15
+ const { id, options, value, onChange, emptyText = "No option found." } = props;
15
16
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.CommandList, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.CommandEmpty, { children: emptyText }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.CommandGroup, { children: options.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.CommandItem, {
17
+ id: require_get_id.getId(id, `option-${option.value}`),
16
18
  value: option.value,
17
19
  onSelect: (currentValue) => {
18
20
  onChange?.(currentValue === value ? "" : currentValue);
@@ -1,14 +1,16 @@
1
1
  'use client';
2
2
 
3
3
 
4
+ import { getId } from "./utils/get-id.js";
4
5
  import { CommandEmpty, CommandGroup, CommandItem, CommandList, cn } from "@pixpilot/shadcn";
5
6
  import { Check } from "lucide-react";
6
7
  import { jsx, jsxs } from "react/jsx-runtime";
7
8
 
8
9
  //#region src/CommandOptionList.tsx
9
10
  const CommandOptionList = (props) => {
10
- const { options, value, onChange, emptyText = "No option found." } = props;
11
+ const { id, options, value, onChange, emptyText = "No option found." } = props;
11
12
  return /* @__PURE__ */ jsxs(CommandList, { children: [/* @__PURE__ */ jsx(CommandEmpty, { children: emptyText }), /* @__PURE__ */ jsx(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsx(CommandItem, {
13
+ id: getId(id, `option-${option.value}`),
12
14
  value: option.value,
13
15
  onSelect: (currentValue) => {
14
16
  onChange?.(currentValue === value ? "" : currentValue);
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime5 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
2
2
  import { Card } from "@pixpilot/shadcn";
3
3
  import React, { ReactNode } from "react";
4
4
 
@@ -8,7 +8,7 @@ interface SectionCardProps extends React.ComponentProps<typeof Card> {
8
8
  children: ReactNode;
9
9
  marginBottom?: boolean;
10
10
  }
11
- declare function ContentCard(props: SectionCardProps): react_jsx_runtime5.JSX.Element;
11
+ declare function ContentCard(props: SectionCardProps): react_jsx_runtime3.JSX.Element;
12
12
  declare namespace ContentCard {
13
13
  var displayName: string;
14
14
  }
@@ -1,6 +1,6 @@
1
1
  import { Card } from "@pixpilot/shadcn";
2
2
  import React, { ReactNode } from "react";
3
- import * as react_jsx_runtime5 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/ContentCard.d.ts
6
6
  interface SectionCardProps extends React.ComponentProps<typeof Card> {
@@ -8,7 +8,7 @@ interface SectionCardProps extends React.ComponentProps<typeof Card> {
8
8
  children: ReactNode;
9
9
  marginBottom?: boolean;
10
10
  }
11
- declare function ContentCard(props: SectionCardProps): react_jsx_runtime5.JSX.Element;
11
+ declare function ContentCard(props: SectionCardProps): react_jsx_runtime3.JSX.Element;
12
12
  declare namespace ContentCard {
13
13
  var displayName: string;
14
14
  }
@@ -13,10 +13,11 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
13
13
 
14
14
  //#region src/DatePicker.tsx
15
15
  function DatePicker(props) {
16
- const { value, onChange, placeholder = "Pick a date",...calendarProps } = props;
16
+ const { id, value, onChange, placeholder = "Pick a date",...calendarProps } = props;
17
17
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Popover, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.PopoverTrigger, {
18
18
  asChild: true,
19
19
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Button, {
20
+ id,
20
21
  variant: "outline",
21
22
  className: (0, __pixpilot_shadcn.cn)("w-full justify-start text-left font-normal", !value && "text-muted-foreground"),
22
23
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CalendarIcon, { className: "mr-2 h-4 w-4" }), value ? value.toLocaleDateString() : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: placeholder })]
@@ -1,14 +1,15 @@
1
- import * as react_jsx_runtime6 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime4 from "react/jsx-runtime";
2
2
  import { Calendar } from "@pixpilot/shadcn";
3
3
  import { ComponentProps } from "react";
4
4
 
5
5
  //#region src/DatePicker.d.ts
6
6
  type DatePickerProps = {
7
+ id?: string;
7
8
  value?: Date;
8
9
  onChange?: (date: Date | undefined) => void;
9
10
  placeholder?: string;
10
11
  } & Omit<ComponentProps<typeof Calendar>, 'selected' | 'onSelect' | 'mode'>;
11
- declare function DatePicker(props: DatePickerProps): react_jsx_runtime6.JSX.Element;
12
+ declare function DatePicker(props: DatePickerProps): react_jsx_runtime4.JSX.Element;
12
13
  declare namespace DatePicker {
13
14
  var displayName: string;
14
15
  }
@@ -1,14 +1,15 @@
1
1
  import { Calendar } from "@pixpilot/shadcn";
2
2
  import { ComponentProps } from "react";
3
- import * as react_jsx_runtime6 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime4 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/DatePicker.d.ts
6
6
  type DatePickerProps = {
7
+ id?: string;
7
8
  value?: Date;
8
9
  onChange?: (date: Date | undefined) => void;
9
10
  placeholder?: string;
10
11
  } & Omit<ComponentProps<typeof Calendar>, 'selected' | 'onSelect' | 'mode'>;
11
- declare function DatePicker(props: DatePickerProps): react_jsx_runtime6.JSX.Element;
12
+ declare function DatePicker(props: DatePickerProps): react_jsx_runtime4.JSX.Element;
12
13
  declare namespace DatePicker {
13
14
  var displayName: string;
14
15
  }
@@ -8,10 +8,11 @@ import { jsx, jsxs } from "react/jsx-runtime";
8
8
 
9
9
  //#region src/DatePicker.tsx
10
10
  function DatePicker(props) {
11
- const { value, onChange, placeholder = "Pick a date",...calendarProps } = props;
11
+ const { id, value, onChange, placeholder = "Pick a date",...calendarProps } = props;
12
12
  return /* @__PURE__ */ jsxs(Popover, { children: [/* @__PURE__ */ jsx(PopoverTrigger, {
13
13
  asChild: true,
14
14
  children: /* @__PURE__ */ jsxs(Button, {
15
+ id,
15
16
  variant: "outline",
16
17
  className: cn("w-full justify-start text-left font-normal", !value && "text-muted-foreground"),
17
18
  children: [/* @__PURE__ */ jsx(CalendarIcon, { className: "mr-2 h-4 w-4" }), value ? value.toLocaleDateString() : /* @__PURE__ */ jsx("span", { children: placeholder })]
@@ -1,6 +1,6 @@
1
1
  const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
- const require_ToggleButton = require('./ToggleButton.cjs');
3
2
  const require_svg = require('./utils/svg.cjs');
3
+ const require_ToggleButton = require('./ToggleButton.cjs');
4
4
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
5
5
  __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
6
6
  let react = require("react");
@@ -1,5 +1,5 @@
1
- import { ToggleButton } from "./ToggleButton.js";
2
1
  import { isSvgMarkupString, svgMarkupToMaskUrl } from "./utils/svg.js";
2
+ import { ToggleButton } from "./ToggleButton.js";
3
3
  import { cn } from "@pixpilot/shadcn";
4
4
  import React from "react";
5
5
  import { jsx } from "react/jsx-runtime";
package/dist/Rating.cjs CHANGED
@@ -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 lucide_react = require("lucide-react");
@@ -124,7 +125,7 @@ function RatingButton({ index, className,...props }) {
124
125
  }) : null]
125
126
  });
126
127
  }
127
- function Rating({ value: valueProp, defaultValue, onValueChange, options: optionsProp, max: maxProp = DEFAULT_MAX_RATING, iconType = "star", size = "default", readOnly = false, disabled = false, name, required, color = "default", className, children,...props }) {
128
+ function Rating({ value: valueProp, defaultValue, onValueChange, options: optionsProp, max: maxProp = DEFAULT_MAX_RATING, iconType = "star", size = "default", readOnly = false, disabled = false, name, required, color = "default", className, children, id,...props }) {
128
129
  const isControlled = valueProp !== void 0;
129
130
  const [internalValue, setInternalValue] = react.useState(defaultValue ?? 0);
130
131
  const [hoverIndex, setHoverIndex] = react.useState(0);
@@ -185,12 +186,16 @@ function Rating({ value: valueProp, defaultValue, onValueChange, options: option
185
186
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RatingContext, {
186
187
  value: contextValue,
187
188
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
189
+ id: require_get_id.getId(id, "rating-group"),
188
190
  role: "radiogroup",
189
191
  tabIndex: 0,
190
192
  className: (0, __pixpilot_shadcn.cn)(ratingVariants({ size }), className),
191
193
  onMouseLeave: handleMouseLeave,
192
194
  ...props,
193
- children: [children ?? Array.from({ length: max }, (_, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RatingButton, { index: index + 1 }, index)), hasNameText ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
195
+ children: [children ?? Array.from({ length: max }, (_, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RatingButton, {
196
+ id: index === 0 ? id : require_get_id.getId(id, `option-${index + 1}`),
197
+ index: index + 1
198
+ }, index)), hasNameText ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
194
199
  type: "hidden",
195
200
  name: nameTextOrEmpty,
196
201
  value: value || "",
package/dist/Rating.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types0 from "class-variance-authority/types";
@@ -10,7 +10,7 @@ interface RatingOption {
10
10
  value: number;
11
11
  }
12
12
  declare const ratingVariants: (props?: ({
13
- size?: "sm" | "default" | "lg" | "xl" | null | undefined;
13
+ size?: "default" | "sm" | "lg" | "xl" | null | undefined;
14
14
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
15
15
  type RatingSize = VariantProps<typeof ratingVariants>['size'];
16
16
  type IconType = 'star' | 'circle';
@@ -35,7 +35,7 @@ declare function RatingButton({
35
35
  index,
36
36
  className,
37
37
  ...props
38
- }: RatingButtonProps): react_jsx_runtime0.JSX.Element;
38
+ }: RatingButtonProps): react_jsx_runtime5.JSX.Element;
39
39
  declare function Rating({
40
40
  value: valueProp,
41
41
  defaultValue,
@@ -51,7 +51,8 @@ declare function Rating({
51
51
  color,
52
52
  className,
53
53
  children,
54
+ id,
54
55
  ...props
55
- }: React$1.PropsWithChildren<RatingProps>): react_jsx_runtime0.JSX.Element;
56
+ }: React$1.PropsWithChildren<RatingProps>): react_jsx_runtime5.JSX.Element;
56
57
  //#endregion
57
58
  export { Rating, RatingButton, RatingButtonProps, RatingColor, RatingOption, RatingProps };
package/dist/Rating.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime3 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types0 from "class-variance-authority/types";
5
5
 
@@ -10,7 +10,7 @@ interface RatingOption {
10
10
  value: number;
11
11
  }
12
12
  declare const ratingVariants: (props?: ({
13
- size?: "sm" | "default" | "lg" | "xl" | null | undefined;
13
+ size?: "default" | "sm" | "lg" | "xl" | null | undefined;
14
14
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
15
15
  type RatingSize = VariantProps<typeof ratingVariants>['size'];
16
16
  type IconType = 'star' | 'circle';
@@ -35,7 +35,7 @@ declare function RatingButton({
35
35
  index,
36
36
  className,
37
37
  ...props
38
- }: RatingButtonProps): react_jsx_runtime3.JSX.Element;
38
+ }: RatingButtonProps): react_jsx_runtime5.JSX.Element;
39
39
  declare function Rating({
40
40
  value: valueProp,
41
41
  defaultValue,
@@ -51,7 +51,8 @@ declare function Rating({
51
51
  color,
52
52
  className,
53
53
  children,
54
+ id,
54
55
  ...props
55
- }: React$1.PropsWithChildren<RatingProps>): react_jsx_runtime3.JSX.Element;
56
+ }: React$1.PropsWithChildren<RatingProps>): react_jsx_runtime5.JSX.Element;
56
57
  //#endregion
57
58
  export { Rating, RatingButton, RatingButtonProps, RatingColor, RatingOption, RatingProps };
package/dist/Rating.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { getId } from "./utils/get-id.js";
1
2
  import { cn } from "@pixpilot/shadcn";
2
3
  import { Circle, Star } from "lucide-react";
3
4
  import * as React$1 from "react";
@@ -118,7 +119,7 @@ function RatingButton({ index, className,...props }) {
118
119
  }) : null]
119
120
  });
120
121
  }
121
- function Rating({ value: valueProp, defaultValue, onValueChange, options: optionsProp, max: maxProp = DEFAULT_MAX_RATING, iconType = "star", size = "default", readOnly = false, disabled = false, name, required, color = "default", className, children,...props }) {
122
+ function Rating({ value: valueProp, defaultValue, onValueChange, options: optionsProp, max: maxProp = DEFAULT_MAX_RATING, iconType = "star", size = "default", readOnly = false, disabled = false, name, required, color = "default", className, children, id,...props }) {
122
123
  const isControlled = valueProp !== void 0;
123
124
  const [internalValue, setInternalValue] = React$1.useState(defaultValue ?? 0);
124
125
  const [hoverIndex, setHoverIndex] = React$1.useState(0);
@@ -179,12 +180,16 @@ function Rating({ value: valueProp, defaultValue, onValueChange, options: option
179
180
  return /* @__PURE__ */ jsx(RatingContext, {
180
181
  value: contextValue,
181
182
  children: /* @__PURE__ */ jsxs("div", {
183
+ id: getId(id, "rating-group"),
182
184
  role: "radiogroup",
183
185
  tabIndex: 0,
184
186
  className: cn(ratingVariants({ size }), className),
185
187
  onMouseLeave: handleMouseLeave,
186
188
  ...props,
187
- children: [children ?? Array.from({ length: max }, (_, index) => /* @__PURE__ */ jsx(RatingButton, { index: index + 1 }, index)), hasNameText ? /* @__PURE__ */ jsx("input", {
189
+ children: [children ?? Array.from({ length: max }, (_, index) => /* @__PURE__ */ jsx(RatingButton, {
190
+ id: index === 0 ? id : getId(id, `option-${index + 1}`),
191
+ index: index + 1
192
+ }, index)), hasNameText ? /* @__PURE__ */ jsx("input", {
188
193
  type: "hidden",
189
194
  name: nameTextOrEmpty,
190
195
  value: value || "",
package/dist/Select.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
- const require_use_select_keyboard = require('./hooks/use-select-keyboard.cjs');
3
2
  const require_get_id = require('./utils/get-id.cjs');
3
+ const require_use_select_keyboard = require('./hooks/use-select-keyboard.cjs');
4
4
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
5
5
  __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
6
6
  let lucide_react = require("lucide-react");
package/dist/Select.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime4 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime7 from "react/jsx-runtime";
2
2
  import { Select, SelectContent } from "@pixpilot/shadcn";
3
3
  import React, { ComponentProps } from "react";
4
4
 
@@ -51,6 +51,6 @@ type BaseSelectProps = {
51
51
  required?: boolean;
52
52
  className?: string;
53
53
  } & Omit<ComponentProps<typeof Select>, 'value' | 'onValueChange' | 'children' | 'disabled' | 'name' | 'required'>;
54
- declare function Select$1(props: BaseSelectProps): react_jsx_runtime4.JSX.Element;
54
+ declare function Select$1(props: BaseSelectProps): react_jsx_runtime7.JSX.Element;
55
55
  //#endregion
56
56
  export { Select$1 as Select, SelectContentProps, SelectOption };
package/dist/Select.js CHANGED
@@ -1,5 +1,5 @@
1
- import { useSelectKeyboard } from "./hooks/use-select-keyboard.js";
2
1
  import { getId } from "./utils/get-id.js";
2
+ import { useSelectKeyboard } from "./hooks/use-select-keyboard.js";
3
3
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, cn } from "@pixpilot/shadcn";
4
4
  import { XIcon } from "lucide-react";
5
5
  import React from "react";