@dxos/react-ui-pickers 0.8.1-main.ba2dec9 → 0.8.1-staging.31c3ee1

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 (61) hide show
  1. package/dist/lib/browser/index.css +1 -1
  2. package/dist/lib/browser/index.css.map +1 -1
  3. package/dist/lib/browser/index.mjs +44 -37
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/node/index.cjs +38 -31
  7. package/dist/lib/node/index.cjs.map +4 -4
  8. package/dist/lib/node/index.css +1 -1
  9. package/dist/lib/node/index.css.map +1 -1
  10. package/dist/lib/node/meta.json +1 -1
  11. package/dist/lib/node-esm/index.css +1 -1
  12. package/dist/lib/node-esm/index.css.map +1 -1
  13. package/dist/lib/node-esm/index.mjs +44 -37
  14. package/dist/lib/node-esm/index.mjs.map +4 -4
  15. package/dist/lib/node-esm/meta.json +1 -1
  16. package/dist/types/src/components/{EmojiPicker.d.ts → EmojiPicker/EmojiPicker.d.ts} +5 -5
  17. package/dist/types/src/components/EmojiPicker/EmojiPicker.d.ts.map +1 -0
  18. package/dist/types/src/components/EmojiPicker/EmojiPicker.stories.d.ts.map +1 -0
  19. package/dist/types/src/components/EmojiPicker/index.d.ts +2 -0
  20. package/dist/types/src/components/EmojiPicker/index.d.ts.map +1 -0
  21. package/dist/types/src/components/{HuePicker.d.ts → HuePicker/HuePicker.d.ts} +2 -2
  22. package/dist/types/src/components/HuePicker/HuePicker.d.ts.map +1 -0
  23. package/dist/types/src/components/HuePicker/HuePicker.stories.d.ts.map +1 -0
  24. package/dist/types/src/components/HuePicker/index.d.ts +2 -0
  25. package/dist/types/src/components/HuePicker/index.d.ts.map +1 -0
  26. package/dist/types/src/components/{IconPicker.d.ts → IconPicker/IconPicker.d.ts} +2 -2
  27. package/dist/types/src/components/IconPicker/IconPicker.d.ts.map +1 -0
  28. package/dist/types/src/components/IconPicker/IconPicker.stories.d.ts.map +1 -0
  29. package/dist/types/src/components/IconPicker/index.d.ts +2 -0
  30. package/dist/types/src/components/IconPicker/index.d.ts.map +1 -0
  31. package/dist/types/src/components/PickerButton/PickerButton.d.ts +20 -0
  32. package/dist/types/src/components/PickerButton/PickerButton.d.ts.map +1 -0
  33. package/dist/types/src/components/PickerButton/index.d.ts +2 -0
  34. package/dist/types/src/components/PickerButton/index.d.ts.map +1 -0
  35. package/dist/types/src/components/index.d.ts +1 -1
  36. package/dist/types/src/components/index.d.ts.map +1 -1
  37. package/package.json +10 -8
  38. package/src/components/{EmojiPicker.tsx → EmojiPicker/EmojiPicker.tsx} +22 -13
  39. package/src/components/EmojiPicker/index.ts +5 -0
  40. package/src/components/{HuePicker.stories.tsx → HuePicker/HuePicker.stories.tsx} +7 -1
  41. package/src/components/{HuePicker.tsx → HuePicker/HuePicker.tsx} +7 -4
  42. package/src/components/HuePicker/index.ts +5 -0
  43. package/src/components/{IconPicker.tsx → IconPicker/IconPicker.tsx} +9 -6
  44. package/src/components/IconPicker/index.ts +5 -0
  45. package/src/components/{ToolbarPicker.tsx → PickerButton/PickerButton.tsx} +21 -15
  46. package/src/components/PickerButton/index.ts +5 -0
  47. package/src/components/index.ts +1 -1
  48. package/dist/types/src/components/EmojiPicker.d.ts.map +0 -1
  49. package/dist/types/src/components/EmojiPicker.stories.d.ts.map +0 -1
  50. package/dist/types/src/components/HuePicker.d.ts.map +0 -1
  51. package/dist/types/src/components/HuePicker.stories.d.ts.map +0 -1
  52. package/dist/types/src/components/IconPicker.d.ts.map +0 -1
  53. package/dist/types/src/components/IconPicker.stories.d.ts.map +0 -1
  54. package/dist/types/src/components/ToolbarPicker.d.ts +0 -17
  55. package/dist/types/src/components/ToolbarPicker.d.ts.map +0 -1
  56. /package/dist/types/src/components/{EmojiPicker.stories.d.ts → EmojiPicker/EmojiPicker.stories.d.ts} +0 -0
  57. /package/dist/types/src/components/{HuePicker.stories.d.ts → HuePicker/HuePicker.stories.d.ts} +0 -0
  58. /package/dist/types/src/components/{IconPicker.stories.d.ts → IconPicker/IconPicker.stories.d.ts} +0 -0
  59. /package/src/components/{EmojiPicker.stories.tsx → EmojiPicker/EmojiPicker.stories.tsx} +0 -0
  60. /package/src/components/{emoji.css → EmojiPicker/emoji.css} +0 -0
  61. /package/src/components/{IconPicker.stories.tsx → IconPicker/IconPicker.stories.tsx} +0 -0
@@ -1 +1 @@
1
- {"inputs":{"packages/ui/react-ui-pickers/src/components/emoji.css":{"bytes":783,"imports":[]},"packages/ui/react-ui-pickers/src/components/EmojiPicker.tsx":{"bytes":19195,"imports":[{"path":"@emoji-mart/data","kind":"import-statement","external":true},{"path":"@emoji-mart/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-use-controllable-state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-pickers/src/components/emoji.css","kind":"import-statement","original":"./emoji.css"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/ToolbarPicker.tsx":{"bytes":11609,"imports":[{"path":"@radix-ui/react-use-controllable-state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/HuePicker.tsx":{"bytes":4122,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-pickers/src/components/ToolbarPicker.tsx","kind":"import-statement","original":"./ToolbarPicker"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/IconPicker.tsx":{"bytes":7443,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-pickers/src/components/ToolbarPicker.tsx","kind":"import-statement","original":"./ToolbarPicker"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/index.ts":{"bytes":810,"imports":[{"path":"packages/ui/react-ui-pickers/src/components/EmojiPicker.tsx","kind":"import-statement","original":"./EmojiPicker"},{"path":"packages/ui/react-ui-pickers/src/components/HuePicker.tsx","kind":"import-statement","original":"./HuePicker"},{"path":"packages/ui/react-ui-pickers/src/components/IconPicker.tsx","kind":"import-statement","original":"./IconPicker"},{"path":"packages/ui/react-ui-pickers/src/components/ToolbarPicker.tsx","kind":"import-statement","original":"./ToolbarPicker"}],"format":"esm"},"packages/ui/react-ui-pickers/src/index.ts":{"bytes":506,"imports":[{"path":"packages/ui/react-ui-pickers/src/components/index.ts","kind":"import-statement","original":"./components"}],"format":"esm"}},"outputs":{"packages/ui/react-ui-pickers/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22088},"packages/ui/react-ui-pickers/dist/lib/node-esm/index.mjs":{"imports":[{"path":"@emoji-mart/data","kind":"import-statement","external":true},{"path":"@emoji-mart/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-use-controllable-state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@radix-ui/react-use-controllable-state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["EmojiPickerBlock","EmojiPickerToolbarButton","HuePicker","IconPicker","ToolbarPickerButton"],"entryPoint":"packages/ui/react-ui-pickers/src/index.ts","cssBundle":"packages/ui/react-ui-pickers/dist/lib/node-esm/index.css","inputs":{"packages/ui/react-ui-pickers/src/components/EmojiPicker.tsx":{"bytesInOutput":5170},"packages/ui/react-ui-pickers/src/components/emoji.css":{"bytesInOutput":0},"packages/ui/react-ui-pickers/src/components/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-pickers/src/components/HuePicker.tsx":{"bytesInOutput":873},"packages/ui/react-ui-pickers/src/components/ToolbarPicker.tsx":{"bytesInOutput":3093},"packages/ui/react-ui-pickers/src/components/IconPicker.tsx":{"bytesInOutput":2002},"packages/ui/react-ui-pickers/src/index.ts":{"bytesInOutput":0}},"bytes":11691},"packages/ui/react-ui-pickers/dist/lib/node-esm/index.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":1017},"packages/ui/react-ui-pickers/dist/lib/node-esm/index.css":{"imports":[],"inputs":{"packages/ui/react-ui-pickers/src/components/emoji.css":{"bytesInOutput":146}},"bytes":244}}}
1
+ {"inputs":{"packages/ui/react-ui-pickers/src/components/EmojiPicker/emoji.css":{"bytes":783,"imports":[]},"packages/ui/react-ui-pickers/src/components/EmojiPicker/EmojiPicker.tsx":{"bytes":19562,"imports":[{"path":"@emoji-mart/data","kind":"import-statement","external":true},{"path":"@emoji-mart/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-use-controllable-state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-pickers/src/components/EmojiPicker/emoji.css","kind":"import-statement","original":"./emoji.css"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/EmojiPicker/index.ts":{"bytes":534,"imports":[{"path":"packages/ui/react-ui-pickers/src/components/EmojiPicker/EmojiPicker.tsx","kind":"import-statement","original":"./EmojiPicker"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/PickerButton/PickerButton.tsx":{"bytes":12553,"imports":[{"path":"@radix-ui/react-use-controllable-state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/PickerButton/index.ts":{"bytes":536,"imports":[{"path":"packages/ui/react-ui-pickers/src/components/PickerButton/PickerButton.tsx","kind":"import-statement","original":"./PickerButton"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/HuePicker/HuePicker.tsx":{"bytes":4241,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-pickers/src/components/PickerButton/index.ts","kind":"import-statement","original":"../PickerButton"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/HuePicker/index.ts":{"bytes":522,"imports":[{"path":"packages/ui/react-ui-pickers/src/components/HuePicker/HuePicker.tsx","kind":"import-statement","original":"./HuePicker"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/IconPicker/IconPicker.tsx":{"bytes":7605,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-pickers/src/components/PickerButton/index.ts","kind":"import-statement","original":"../PickerButton"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/IconPicker/index.ts":{"bytes":528,"imports":[{"path":"packages/ui/react-ui-pickers/src/components/IconPicker/IconPicker.tsx","kind":"import-statement","original":"./IconPicker"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/index.ts":{"bytes":809,"imports":[{"path":"packages/ui/react-ui-pickers/src/components/EmojiPicker/index.ts","kind":"import-statement","original":"./EmojiPicker"},{"path":"packages/ui/react-ui-pickers/src/components/HuePicker/index.ts","kind":"import-statement","original":"./HuePicker"},{"path":"packages/ui/react-ui-pickers/src/components/IconPicker/index.ts","kind":"import-statement","original":"./IconPicker"},{"path":"packages/ui/react-ui-pickers/src/components/PickerButton/index.ts","kind":"import-statement","original":"./PickerButton"}],"format":"esm"},"packages/ui/react-ui-pickers/src/index.ts":{"bytes":506,"imports":[{"path":"packages/ui/react-ui-pickers/src/components/index.ts","kind":"import-statement","original":"./components"}],"format":"esm"}},"outputs":{"packages/ui/react-ui-pickers/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22986},"packages/ui/react-ui-pickers/dist/lib/node-esm/index.mjs":{"imports":[{"path":"@emoji-mart/data","kind":"import-statement","external":true},{"path":"@emoji-mart/react","kind":"import-statement","external":true},{"path":"@radix-ui/react-use-controllable-state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@radix-ui/react-use-controllable-state","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["EmojiPickerBlock","EmojiPickerToolbarButton","HuePicker","IconPicker","PickerButton"],"entryPoint":"packages/ui/react-ui-pickers/src/index.ts","cssBundle":"packages/ui/react-ui-pickers/dist/lib/node-esm/index.css","inputs":{"packages/ui/react-ui-pickers/src/components/EmojiPicker/EmojiPicker.tsx":{"bytesInOutput":5220},"packages/ui/react-ui-pickers/src/components/EmojiPicker/emoji.css":{"bytesInOutput":0},"packages/ui/react-ui-pickers/src/components/EmojiPicker/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-pickers/src/components/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-pickers/src/components/HuePicker/HuePicker.tsx":{"bytesInOutput":917},"packages/ui/react-ui-pickers/src/components/PickerButton/PickerButton.tsx":{"bytesInOutput":3343},"packages/ui/react-ui-pickers/src/components/PickerButton/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-pickers/src/components/HuePicker/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-pickers/src/components/IconPicker/IconPicker.tsx":{"bytesInOutput":2016},"packages/ui/react-ui-pickers/src/components/IconPicker/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-pickers/src/index.ts":{"bytesInOutput":0}},"bytes":12097},"packages/ui/react-ui-pickers/dist/lib/node-esm/index.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":1029},"packages/ui/react-ui-pickers/dist/lib/node-esm/index.css":{"imports":[],"inputs":{"packages/ui/react-ui-pickers/src/components/EmojiPicker/emoji.css":{"bytesInOutput":146}},"bytes":256}}}
@@ -1,20 +1,20 @@
1
1
  import React from 'react';
2
2
  import { type ButtonProps, type ThemedClassName } from '@dxos/react-ui';
3
3
  import './emoji.css';
4
- export type EmojiPickerProps = {
4
+ export type EmojiPickerProps = ThemedClassName<{
5
5
  disabled?: boolean;
6
6
  defaultEmoji?: string;
7
7
  emoji?: string;
8
8
  onChangeEmoji?: (nextEmoji: string) => void;
9
9
  onClickClear?: ButtonProps['onClick'];
10
- };
10
+ triggerVariant?: ButtonProps['variant'];
11
+ }>;
11
12
  /**
12
13
  * A toolbar button for picking an emoji. Use only in `role=toolbar` elements. Unable to unset the value.
13
14
  */
14
- export declare const EmojiPickerToolbarButton: ({ disabled, defaultEmoji, emoji, onChangeEmoji, classNames, }: ThemedClassName<Omit<EmojiPickerProps, "onClickClear">>) => React.JSX.Element;
15
+ export declare const EmojiPickerToolbarButton: ({ classNames, emoji, disabled, defaultEmoji, onChangeEmoji, }: Omit<EmojiPickerProps, "onClickClear">) => React.JSX.Element;
15
16
  /**
16
17
  * A button for picking an emoji alongside a button for unsetting it.
17
- * @deprecated
18
18
  */
19
- export declare const EmojiPickerBlock: ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }: EmojiPickerProps) => React.JSX.Element;
19
+ export declare const EmojiPickerBlock: ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear, triggerVariant, classNames, }: EmojiPickerProps) => React.JSX.Element;
20
20
  //# sourceMappingURL=EmojiPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiPicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/EmojiPicker/EmojiPicker.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,eAAe,EAQrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACzC,CAAC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,kEAMlC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,sBA8ExC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,gGAQ1B,gBAAgB,sBA+DlB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiPicker.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/EmojiPicker/EmojiPicker.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5D,OAAO,EAA8C,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA2BlG,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAKpD,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAK5C,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,IAMX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './EmojiPicker';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/EmojiPicker/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { type ButtonProps, type ThemedClassName } from '@dxos/react-ui';
3
- import { type ToolbarPickerProps } from './ToolbarPicker';
3
+ import { type PickerButtonProps } from '../PickerButton';
4
4
  export type HuePickerProps = {
5
5
  disabled?: boolean;
6
6
  defaultValue?: string;
7
7
  value?: string;
8
8
  onChange?: (nextHue: string) => void;
9
9
  onReset?: ButtonProps['onClick'];
10
- } & Pick<ToolbarPickerProps, 'disabled' | 'defaultValue' | 'value' | 'onChange' | 'onReset'>;
10
+ } & Pick<PickerButtonProps, 'disabled' | 'defaultValue' | 'value' | 'onChange' | 'onReset' | 'rootVariant'>;
11
11
  export declare const HuePicker: (props: ThemedClassName<HuePickerProps>) => React.JSX.Element;
12
12
  //# sourceMappingURL=HuePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HuePicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/HuePicker/HuePicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAGxF,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC;AAE5G,eAAO,MAAM,SAAS,UAAW,eAAe,CAAC,cAAc,CAAC,sBAY/D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HuePicker.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/HuePicker/HuePicker.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5D,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAkB7D,QAAA,MAAM,IAAI,EAAE,IAMX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,cAAc,CAK5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './HuePicker';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/HuePicker/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { type ButtonProps, type ThemedClassName } from '@dxos/react-ui';
3
- import { type ToolbarPickerProps } from './ToolbarPicker';
3
+ import { type PickerButtonProps } from '../PickerButton';
4
4
  export type IconPickerProps = {
5
5
  disabled?: boolean;
6
6
  defaultValue?: string;
7
7
  value?: string;
8
8
  onChange?: (nextHue: string) => void;
9
9
  onReset?: ButtonProps['onClick'];
10
- } & Pick<ToolbarPickerProps, 'disabled' | 'defaultValue' | 'value' | 'onChange' | 'onReset'>;
10
+ } & Pick<PickerButtonProps, 'disabled' | 'defaultValue' | 'value' | 'onChange' | 'onReset' | 'rootVariant' | 'iconSize'>;
11
11
  export declare const IconPicker: ({ ...props }: ThemedClassName<IconPickerProps>) => React.JSX.Element;
12
12
  //# sourceMappingURL=IconPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconPicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/IconPicker/IconPicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAwB,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAE9G,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC,GAAG,IAAI,CACN,iBAAiB,EACjB,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAC5F,CAAC;AAEF,eAAO,MAAM,UAAU,iBAAkB,eAAe,CAAC,eAAe,CAAC,sBAYxE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconPicker.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/IconPicker/IconPicker.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5D,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAahE,QAAA,MAAM,IAAI,EAAE,IAMX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,eAAe,CAG7C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './IconPicker';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/IconPicker/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React, { type FC } from 'react';
2
+ import { type IconProps, type ThemedClassName } from '@dxos/react-ui';
3
+ export type PickerButtonProps = ThemedClassName<{
4
+ Component: FC<{
5
+ value: string;
6
+ iconSize?: IconProps['size'];
7
+ }>;
8
+ label: string;
9
+ icon: string;
10
+ values: string[];
11
+ disabled?: boolean;
12
+ defaultValue?: string;
13
+ value?: string;
14
+ onChange?: (value: string) => void;
15
+ onReset?: () => void;
16
+ rootVariant?: 'button' | 'toolbar-button';
17
+ iconSize?: IconProps['size'];
18
+ }>;
19
+ export declare const PickerButton: ({ Component, disabled, classNames, defaultValue: _defaultValue, value: _value, values, label, icon, onChange, onReset, rootVariant, iconSize, }: PickerButtonProps) => React.JSX.Element;
20
+ //# sourceMappingURL=PickerButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/PickerButton/PickerButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAA+B,MAAM,OAAO,CAAC;AAEpE,OAAO,EAA8B,KAAK,SAAS,EAAE,KAAK,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AAEpH,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;IAC9C,SAAS,EAAE,EAAE,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAC1C,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAC9B,CAAC,CAAC;AAEH,eAAO,MAAM,YAAY,oJAatB,iBAAiB,sBAiFnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './PickerButton';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/PickerButton/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export * from './EmojiPicker';
2
2
  export * from './HuePicker';
3
3
  export * from './IconPicker';
4
- export * from './ToolbarPicker';
4
+ export * from './PickerButton';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/react-ui-pickers",
3
- "version": "0.8.1-main.ba2dec9",
3
+ "version": "0.8.1-staging.31c3ee1",
4
4
  "description": "A collection of picker components.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -26,8 +26,10 @@
26
26
  "@emoji-mart/data": "^1.1.2",
27
27
  "@emoji-mart/react": "^1.1.1",
28
28
  "@radix-ui/react-use-controllable-state": "1.1.0",
29
- "@dxos/react-ui-types": "0.8.1-main.ba2dec9",
30
- "@dxos/util": "0.8.1-main.ba2dec9"
29
+ "react-resize-detector": "^11.0.1",
30
+ "@dxos/log": "0.8.1-staging.31c3ee1",
31
+ "@dxos/react-ui-types": "0.8.1-staging.31c3ee1",
32
+ "@dxos/util": "0.8.1-staging.31c3ee1"
31
33
  },
32
34
  "devDependencies": {
33
35
  "@types/react": "~18.2.0",
@@ -35,15 +37,15 @@
35
37
  "react": "~18.2.0",
36
38
  "react-dom": "~18.2.0",
37
39
  "vite": "5.4.7",
38
- "@dxos/react-ui": "0.8.1-main.ba2dec9",
39
- "@dxos/storybook-utils": "0.8.1-main.ba2dec9",
40
- "@dxos/react-ui-theme": "0.8.1-main.ba2dec9"
40
+ "@dxos/react-ui": "0.8.1-staging.31c3ee1",
41
+ "@dxos/react-ui-theme": "0.8.1-staging.31c3ee1",
42
+ "@dxos/storybook-utils": "0.8.1-staging.31c3ee1"
41
43
  },
42
44
  "peerDependencies": {
43
45
  "react": "~18.2.0",
44
46
  "react-dom": "~18.2.0",
45
- "@dxos/react-ui": "0.8.1-main.ba2dec9",
46
- "@dxos/react-ui-theme": "0.8.1-main.ba2dec9"
47
+ "@dxos/react-ui": "0.8.1-staging.31c3ee1",
48
+ "@dxos/react-ui-theme": "0.8.1-staging.31c3ee1"
47
49
  },
48
50
  "publishConfig": {
49
51
  "access": "public"
@@ -18,28 +18,30 @@ import {
18
18
  useThemeContext,
19
19
  useTranslation,
20
20
  Icon,
21
+ ButtonGroup,
21
22
  } from '@dxos/react-ui';
22
23
 
23
24
  import './emoji.css';
24
25
 
25
- export type EmojiPickerProps = {
26
+ export type EmojiPickerProps = ThemedClassName<{
26
27
  disabled?: boolean;
27
28
  defaultEmoji?: string;
28
29
  emoji?: string;
29
30
  onChangeEmoji?: (nextEmoji: string) => void;
30
31
  onClickClear?: ButtonProps['onClick'];
31
- };
32
+ triggerVariant?: ButtonProps['variant'];
33
+ }>;
32
34
 
33
35
  /**
34
36
  * A toolbar button for picking an emoji. Use only in `role=toolbar` elements. Unable to unset the value.
35
37
  */
36
38
  export const EmojiPickerToolbarButton = ({
39
+ classNames,
40
+ emoji,
37
41
  disabled,
38
42
  defaultEmoji,
39
- emoji,
40
43
  onChangeEmoji,
41
- classNames,
42
- }: ThemedClassName<Omit<EmojiPickerProps, 'onClickClear'>>) => {
44
+ }: Omit<EmojiPickerProps, 'onClickClear'>) => {
43
45
  const { t } = useTranslation('os');
44
46
  const { themeMode } = useThemeContext();
45
47
 
@@ -121,9 +123,16 @@ export const EmojiPickerToolbarButton = ({
121
123
 
122
124
  /**
123
125
  * A button for picking an emoji alongside a button for unsetting it.
124
- * @deprecated
125
126
  */
126
- export const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }: EmojiPickerProps) => {
127
+ export const EmojiPickerBlock = ({
128
+ disabled,
129
+ defaultEmoji,
130
+ emoji,
131
+ onChangeEmoji,
132
+ onClickClear,
133
+ triggerVariant = 'ghost',
134
+ classNames,
135
+ }: EmojiPickerProps) => {
127
136
  const { t } = useTranslation('os');
128
137
  const [isMd] = useMediaQuery('md', { ssr: false });
129
138
 
@@ -136,13 +145,13 @@ export const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
136
145
  const [emojiPickerOpen, setEmojiPickerOpen] = useState<boolean>(false);
137
146
 
138
147
  return (
139
- <>
148
+ <ButtonGroup classNames={classNames}>
140
149
  <Popover.Root open={emojiPickerOpen} onOpenChange={setEmojiPickerOpen}>
141
150
  <Popover.Trigger asChild>
142
- <Button variant='ghost' classNames='gap-2 text-2xl plb-1' disabled={disabled}>
151
+ <Button variant={triggerVariant} classNames='grow gap-2 text-2xl plb-1' disabled={disabled}>
143
152
  <span className='sr-only'>{t('select emoji label')}</span>
144
- <span className='grow pis-14'>{emojiValue}</span>
145
- <Icon icon='ph--caret-down--regular' size={4} />
153
+ <span>{emojiValue}</span>
154
+ <Icon icon='ph--caret-down--bold' size={3} />
146
155
  </Button>
147
156
  </Popover.Trigger>
148
157
  <Popover.Content
@@ -172,7 +181,7 @@ export const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
172
181
  </Popover.Root>
173
182
  <Tooltip.Root>
174
183
  <Tooltip.Trigger asChild>
175
- <Button variant='ghost' onClick={onClickClear} disabled={disabled}>
184
+ <Button variant={triggerVariant} onClick={onClickClear} disabled={disabled}>
176
185
  <span className='sr-only'>{t('clear label')}</span>
177
186
  <Icon icon='ph--arrow-counter-clockwise--regular' size={5} />
178
187
  </Button>
@@ -184,6 +193,6 @@ export const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
184
193
  </Tooltip.Content>
185
194
  </Tooltip.Portal>
186
195
  </Tooltip.Root>
187
- </>
196
+ </ButtonGroup>
188
197
  );
189
198
  };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './EmojiPicker';
@@ -17,7 +17,13 @@ const ToolbarStory = (props: HuePickerProps) => {
17
17
 
18
18
  return (
19
19
  <Toolbar.Root>
20
- <HuePicker {...props} value={hue} onChange={setHue} onReset={() => setHue(undefined)} />
20
+ <HuePicker
21
+ {...props}
22
+ value={hue}
23
+ onChange={setHue}
24
+ onReset={() => setHue(undefined)}
25
+ rootVariant='toolbar-button'
26
+ />
21
27
  </Toolbar.Root>
22
28
  );
23
29
  };
@@ -7,7 +7,7 @@ import React from 'react';
7
7
  import { type ButtonProps, type ThemedClassName, useTranslation } from '@dxos/react-ui';
8
8
  import { hues } from '@dxos/react-ui-theme';
9
9
 
10
- import { ToolbarPickerButton, type ToolbarPickerProps } from './ToolbarPicker';
10
+ import { PickerButton, type PickerButtonProps } from '../PickerButton';
11
11
 
12
12
  export type HuePickerProps = {
13
13
  disabled?: boolean;
@@ -15,13 +15,13 @@ export type HuePickerProps = {
15
15
  value?: string;
16
16
  onChange?: (nextHue: string) => void;
17
17
  onReset?: ButtonProps['onClick'];
18
- } & Pick<ToolbarPickerProps, 'disabled' | 'defaultValue' | 'value' | 'onChange' | 'onReset'>;
18
+ } & Pick<PickerButtonProps, 'disabled' | 'defaultValue' | 'value' | 'onChange' | 'onReset' | 'rootVariant'>;
19
19
 
20
20
  export const HuePicker = (props: ThemedClassName<HuePickerProps>) => {
21
21
  const { t } = useTranslation('os');
22
22
 
23
23
  return (
24
- <ToolbarPickerButton
24
+ <PickerButton
25
25
  Component={HuePreview}
26
26
  label={t('select hue label')}
27
27
  icon='ph--palette--regular'
@@ -35,7 +35,10 @@ const HuePreview = ({ value }: { value: string }) => {
35
35
  const size = 16;
36
36
  return (
37
37
  <div className='flex p-[2px] justify-center items-center'>
38
- <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>
38
+ <svg
39
+ viewBox={`0 0 ${size} ${size}`}
40
+ className='is-[var(--hue-preview-size,1rem)] bs-[var(--hue-preview-size,1rem)]'
41
+ >
39
42
  <rect x={0} y={0} width={size} height={size} fill={`var(--dx-${value}Fill)`} strokeWidth={4} />
40
43
  </svg>
41
44
  </div>
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './HuePicker';
@@ -4,9 +4,9 @@
4
4
 
5
5
  import React from 'react';
6
6
 
7
- import { type ButtonProps, Icon, type ThemedClassName, useTranslation } from '@dxos/react-ui';
7
+ import { type ButtonProps, Icon, type IconProps, type ThemedClassName, useTranslation } from '@dxos/react-ui';
8
8
 
9
- import { ToolbarPickerButton, type ToolbarPickerProps } from './ToolbarPicker';
9
+ import { PickerButton, type PickerButtonProps } from '../PickerButton';
10
10
 
11
11
  export type IconPickerProps = {
12
12
  disabled?: boolean;
@@ -14,13 +14,16 @@ export type IconPickerProps = {
14
14
  value?: string;
15
15
  onChange?: (nextHue: string) => void;
16
16
  onReset?: ButtonProps['onClick'];
17
- } & Pick<ToolbarPickerProps, 'disabled' | 'defaultValue' | 'value' | 'onChange' | 'onReset'>;
17
+ } & Pick<
18
+ PickerButtonProps,
19
+ 'disabled' | 'defaultValue' | 'value' | 'onChange' | 'onReset' | 'rootVariant' | 'iconSize'
20
+ >;
18
21
 
19
22
  export const IconPicker = ({ ...props }: ThemedClassName<IconPickerProps>) => {
20
23
  const { t } = useTranslation('os');
21
24
 
22
25
  return (
23
- <ToolbarPickerButton
26
+ <PickerButton
24
27
  Component={IconPreview}
25
28
  label={t('select icon label')}
26
29
  icon='ph--selection--regular'
@@ -30,8 +33,8 @@ export const IconPicker = ({ ...props }: ThemedClassName<IconPickerProps>) => {
30
33
  );
31
34
  };
32
35
 
33
- const IconPreview = ({ value }: { value: string }) => {
34
- return <Icon icon={`ph--${value}--regular`} size={5} />;
36
+ const IconPreview = ({ value, iconSize = 5 }: { value: string; iconSize?: IconProps['size'] }) => {
37
+ return <Icon icon={`ph--${value}--regular`} size={iconSize} />;
35
38
  };
36
39
 
37
40
  /**
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './IconPicker';
@@ -5,11 +5,10 @@
5
5
  import { useControllableState } from '@radix-ui/react-use-controllable-state';
6
6
  import React, { type FC, useEffect, useRef, useState } from 'react';
7
7
 
8
- import { DropdownMenu, Icon, type ThemedClassName, Toolbar, Tooltip } from '@dxos/react-ui';
9
- import { mx } from '@dxos/react-ui-theme';
8
+ import { Button, DropdownMenu, Icon, type IconProps, type ThemedClassName, Toolbar, Tooltip } from '@dxos/react-ui';
10
9
 
11
- export type ToolbarPickerProps = {
12
- Component: FC<{ value: string }>;
10
+ export type PickerButtonProps = ThemedClassName<{
11
+ Component: FC<{ value: string; iconSize?: IconProps['size'] }>;
13
12
  label: string;
14
13
  icon: string;
15
14
  values: string[];
@@ -18,9 +17,11 @@ export type ToolbarPickerProps = {
18
17
  value?: string;
19
18
  onChange?: (value: string) => void;
20
19
  onReset?: () => void;
21
- };
20
+ rootVariant?: 'button' | 'toolbar-button';
21
+ iconSize?: IconProps['size'];
22
+ }>;
22
23
 
23
- export const ToolbarPickerButton = ({
24
+ export const PickerButton = ({
24
25
  Component,
25
26
  disabled,
26
27
  classNames,
@@ -31,7 +32,9 @@ export const ToolbarPickerButton = ({
31
32
  icon,
32
33
  onChange,
33
34
  onReset,
34
- }: ThemedClassName<ToolbarPickerProps>) => {
35
+ rootVariant = 'button',
36
+ iconSize = 5,
37
+ }: PickerButtonProps) => {
35
38
  const [value, setValue] = useControllableState<string>({
36
39
  prop: _value,
37
40
  defaultProp: _defaultValue,
@@ -45,6 +48,8 @@ export const ToolbarPickerButton = ({
45
48
  const suppressNextTooltip = useRef<boolean>(false);
46
49
  const [triggerTooltipOpen, setTriggerTooltipOpen] = useState(false);
47
50
 
51
+ const TriggerRoot = rootVariant === 'toolbar-button' ? Toolbar.Button : Button;
52
+
48
53
  return (
49
54
  <Tooltip.Root
50
55
  open={triggerTooltipOpen}
@@ -67,10 +72,11 @@ export const ToolbarPickerButton = ({
67
72
  >
68
73
  <Tooltip.Trigger asChild>
69
74
  <DropdownMenu.Trigger asChild>
70
- <Toolbar.Button classNames={mx('gap-2 plb-1', classNames)} disabled={disabled}>
75
+ <TriggerRoot classNames={['gap-2 plb-1', classNames]} disabled={disabled}>
71
76
  <span className='sr-only'>{label}</span>
72
- {(value && <Component value={value} />) || <Icon icon={icon} size={5} />}
73
- </Toolbar.Button>
77
+ {(value && <Component value={value} iconSize={iconSize} />) || <Icon icon={icon} size={iconSize} />}
78
+ <Icon icon='ph--caret-down--bold' size={3} />
79
+ </TriggerRoot>
74
80
  </DropdownMenu.Trigger>
75
81
  </Tooltip.Trigger>
76
82
  <Tooltip.Portal>
@@ -81,25 +87,25 @@ export const ToolbarPickerButton = ({
81
87
  </Tooltip.Portal>
82
88
  <DropdownMenu.Portal>
83
89
  <DropdownMenu.Content side='bottom' classNames='!is-min'>
84
- <DropdownMenu.Viewport classNames='grid grid-cols-[repeat(6,2rem)]'>
90
+ <DropdownMenu.Viewport classNames='grid grid-cols-[repeat(6,min-content)]'>
85
91
  {values.map((_value) => {
86
92
  return (
87
93
  <DropdownMenu.CheckboxItem
88
94
  key={_value}
89
95
  checked={_value === value}
90
96
  onCheckedChange={() => setValue(_value)}
91
- classNames={'p-px items-center justify-center aspect-square'}
97
+ classNames={'p-1 items-center justify-center aspect-square'}
92
98
  >
93
- <Component value={_value} />
99
+ <Component value={_value} iconSize={iconSize} />
94
100
  </DropdownMenu.CheckboxItem>
95
101
  );
96
102
  })}
97
103
  {onReset && (
98
104
  <DropdownMenu.CheckboxItem
99
105
  onCheckedChange={() => onReset()}
100
- classNames={'p-px items-center justify-center aspect-square'}
106
+ classNames={'p-1 items-center justify-center aspect-square'}
101
107
  >
102
- <Icon icon='ph--x--regular' size={6} />
108
+ <Icon icon='ph--x--regular' size={iconSize} />
103
109
  </DropdownMenu.CheckboxItem>
104
110
  )}
105
111
  </DropdownMenu.Viewport>
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './PickerButton';
@@ -5,4 +5,4 @@
5
5
  export * from './EmojiPicker';
6
6
  export * from './HuePicker';
7
7
  export * from './IconPicker';
8
- export * from './ToolbarPicker';
8
+ export * from './PickerButton';
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmojiPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/EmojiPicker.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,eAAe,EAOrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,kEAMlC,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,sBA8EzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,mEAAoE,gBAAgB,sBA+DhH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmojiPicker.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/EmojiPicker.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5D,OAAO,EAA8C,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA2BlG,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAKpD,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAK5C,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,IAMX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HuePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/HuePicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAGxF,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAE7F,eAAO,MAAM,SAAS,UAAW,eAAe,CAAC,cAAc,CAAC,sBAY/D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HuePicker.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/HuePicker.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5D,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAY7D,QAAA,MAAM,IAAI,EAAE,IAMX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,cAAc,CAK5C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/IconPicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAQ,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAE9F,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAE7F,eAAO,MAAM,UAAU,iBAAkB,eAAe,CAAC,eAAe,CAAC,sBAYxE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconPicker.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/IconPicker.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5D,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAahE,QAAA,MAAM,IAAI,EAAE,IAMX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,eAAe,CAG7C,CAAC"}
@@ -1,17 +0,0 @@
1
- import React, { type FC } from 'react';
2
- import { type ThemedClassName } from '@dxos/react-ui';
3
- export type ToolbarPickerProps = {
4
- Component: FC<{
5
- value: string;
6
- }>;
7
- label: string;
8
- icon: string;
9
- values: string[];
10
- disabled?: boolean;
11
- defaultValue?: string;
12
- value?: string;
13
- onChange?: (value: string) => void;
14
- onReset?: () => void;
15
- };
16
- export declare const ToolbarPickerButton: ({ Component, disabled, classNames, defaultValue: _defaultValue, value: _value, values, label, icon, onChange, onReset, }: ThemedClassName<ToolbarPickerProps>) => React.JSX.Element;
17
- //# sourceMappingURL=ToolbarPicker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolbarPicker.d.ts","sourceRoot":"","sources":["../../../../src/components/ToolbarPicker.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAA+B,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAsB,KAAK,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AAG5F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,EAAE,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,6HAW7B,eAAe,CAAC,kBAAkB,CAAC,sBA8ErC,CAAC"}