@dxos/react-ui-pickers 0.8.2-main.fbd8ed0 → 0.8.2-staging.42af850

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.
@@ -1 +1 @@
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":17252,"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":10790,"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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20776},"packages/ui/react-ui-pickers/dist/lib/browser/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/browser/index.css","inputs":{"packages/ui/react-ui-pickers/src/components/EmojiPicker/EmojiPicker.tsx":{"bytesInOutput":4473},"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":2808},"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":10722},"packages/ui/react-ui-pickers/dist/lib/browser/index.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":1029},"packages/ui/react-ui-pickers/dist/lib/browser/index.css":{"imports":[],"inputs":{"packages/ui/react-ui-pickers/src/components/EmojiPicker/emoji.css":{"bytesInOutput":146}},"bytes":256}}}
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":17046,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"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":502,"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":10392,"imports":[{"path":"@preact-signals/safe-react/tracking","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}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/PickerButton/index.ts":{"bytes":504,"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":4516,"imports":[{"path":"@preact-signals/safe-react/tracking","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":"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":494,"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":7792,"imports":[{"path":"@preact-signals/safe-react/tracking","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/PickerButton/index.ts","kind":"import-statement","original":"../PickerButton"}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/IconPicker/index.ts":{"bytes":496,"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":773,"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":474,"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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20039},"packages/ui/react-ui-pickers/dist/lib/browser/index.mjs":{"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"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":"@preact-signals/safe-react/tracking","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":"@preact-signals/safe-react/tracking","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":"@preact-signals/safe-react/tracking","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/browser/index.css","inputs":{"packages/ui/react-ui-pickers/src/components/EmojiPicker/EmojiPicker.tsx":{"bytesInOutput":4760},"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":1193},"packages/ui/react-ui-pickers/src/components/PickerButton/PickerButton.tsx":{"bytesInOutput":2912},"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":2272},"packages/ui/react-ui-pickers/src/components/IconPicker/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-pickers/src/index.ts":{"bytesInOutput":0}},"bytes":11645},"packages/ui/react-ui-pickers/dist/lib/browser/index.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":1029},"packages/ui/react-ui-pickers/dist/lib/browser/index.css":{"imports":[],"inputs":{"packages/ui/react-ui-pickers/src/components/EmojiPicker/emoji.css":{"bytesInOutput":146}},"bytes":256}}}
@@ -35,245 +35,275 @@ __export(node_exports, {
35
35
  PickerButton: () => PickerButton
36
36
  });
37
37
  module.exports = __toCommonJS(node_exports);
38
+ var import_tracking = require("@preact-signals/safe-react/tracking");
38
39
  var import_data = __toESM(require("@emoji-mart/data"));
39
40
  var import_react = __toESM(require("@emoji-mart/react"));
40
41
  var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
41
42
  var import_react2 = __toESM(require("react"));
42
43
  var import_react_ui = require("@dxos/react-ui");
44
+ var import_tracking2 = require("@preact-signals/safe-react/tracking");
43
45
  var import_react3 = __toESM(require("react"));
44
46
  var import_react_ui2 = require("@dxos/react-ui");
45
47
  var import_react_ui_theme = require("@dxos/react-ui-theme");
48
+ var import_tracking3 = require("@preact-signals/safe-react/tracking");
46
49
  var import_react_use_controllable_state2 = require("@radix-ui/react-use-controllable-state");
47
50
  var import_react4 = __toESM(require("react"));
48
51
  var import_react_ui3 = require("@dxos/react-ui");
52
+ var import_tracking4 = require("@preact-signals/safe-react/tracking");
49
53
  var import_react5 = __toESM(require("react"));
50
54
  var import_react_ui4 = require("@dxos/react-ui");
51
55
  var EmojiPickerToolbarButton = ({ classNames, emoji, disabled, defaultEmoji, onChangeEmoji }) => {
52
- const { t } = (0, import_react_ui.useTranslation)("os");
53
- const { themeMode } = (0, import_react_ui.useThemeContext)();
54
- const [_emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
55
- prop: emoji,
56
- onChange: onChangeEmoji,
57
- defaultProp: defaultEmoji
58
- });
59
- const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react2.useState)(false);
60
- const suppressNextTooltip = (0, import_react2.useRef)(false);
61
- return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Root, {
62
- open: emojiPickerOpen,
63
- onOpenChange: (nextOpen) => {
64
- setEmojiPickerOpen(nextOpen);
65
- suppressNextTooltip.current = true;
66
- }
67
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Trigger, {
68
- asChild: true,
69
- content: t("select emoji label"),
70
- side: "bottom",
71
- suppressNextTooltip
72
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Trigger, {
73
- asChild: true
74
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toolbar.Button, {
75
- classNames: [
76
- "gap-2 text-2xl plb-1",
77
- classNames
78
- ],
79
- disabled
80
- }, /* @__PURE__ */ import_react2.default.createElement("span", {
81
- className: "sr-only"
82
- }, t("select emoji label")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Icon, {
83
- icon: "ph--user-circle--regular",
84
- size: 5
85
- })))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Content, {
86
- side: "bottom",
87
- onKeyDownCapture: (event) => {
88
- if (event.key === "Escape") {
89
- event.stopPropagation();
90
- setEmojiPickerOpen(false);
91
- suppressNextTooltip.current = true;
56
+ var _effect = (0, import_tracking.useSignals)();
57
+ try {
58
+ const { t } = (0, import_react_ui.useTranslation)("os");
59
+ const { themeMode } = (0, import_react_ui.useThemeContext)();
60
+ const [_emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
61
+ prop: emoji,
62
+ onChange: onChangeEmoji,
63
+ defaultProp: defaultEmoji
64
+ });
65
+ const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react2.useState)(false);
66
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Root, {
67
+ open: emojiPickerOpen,
68
+ onOpenChange: (nextOpen) => {
69
+ setEmojiPickerOpen(nextOpen);
92
70
  }
93
- }
94
- }, /* @__PURE__ */ import_react2.default.createElement(import_react.default, {
95
- data: import_data.default,
96
- onEmojiSelect: ({ native }) => {
97
- if (native) {
98
- setEmojiValue(native);
99
- setEmojiPickerOpen(false);
71
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Trigger, {
72
+ asChild: true,
73
+ content: t("select emoji label"),
74
+ side: "bottom"
75
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Trigger, {
76
+ asChild: true
77
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toolbar.Button, {
78
+ classNames: [
79
+ "gap-2 text-2xl plb-1",
80
+ classNames
81
+ ],
82
+ disabled
83
+ }, /* @__PURE__ */ import_react2.default.createElement("span", {
84
+ className: "sr-only"
85
+ }, t("select emoji label")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Icon, {
86
+ icon: "ph--user-circle--regular",
87
+ size: 5
88
+ })))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Content, {
89
+ side: "bottom",
90
+ onKeyDownCapture: (event) => {
91
+ if (event.key === "Escape") {
92
+ event.stopPropagation();
93
+ setEmojiPickerOpen(false);
94
+ }
100
95
  }
101
- },
102
- autoFocus: true,
103
- maxFrequentRows: 0,
104
- noCountryFlags: true,
105
- theme: themeMode
106
- }), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Arrow, null))));
96
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react.default, {
97
+ data: import_data.default,
98
+ onEmojiSelect: ({ native }) => {
99
+ if (native) {
100
+ setEmojiValue(native);
101
+ setEmojiPickerOpen(false);
102
+ }
103
+ },
104
+ autoFocus: true,
105
+ maxFrequentRows: 0,
106
+ noCountryFlags: true,
107
+ theme: themeMode
108
+ }), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Arrow, null))));
109
+ } finally {
110
+ _effect.f();
111
+ }
107
112
  };
108
113
  var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear, triggerVariant = "ghost", classNames }) => {
109
- const { t } = (0, import_react_ui.useTranslation)("os");
110
- const [isMd] = (0, import_react_ui.useMediaQuery)("md", {
111
- ssr: false
112
- });
113
- const [emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
114
- prop: emoji,
115
- onChange: onChangeEmoji,
116
- defaultProp: defaultEmoji
117
- });
118
- const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react2.useState)(false);
119
- return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.ButtonGroup, {
120
- classNames
121
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Root, {
122
- open: emojiPickerOpen,
123
- onOpenChange: setEmojiPickerOpen
124
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Trigger, {
125
- asChild: true
126
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
127
- variant: triggerVariant,
128
- classNames: "grow gap-2 text-2xl plb-1",
129
- disabled
130
- }, /* @__PURE__ */ import_react2.default.createElement("span", {
131
- className: "sr-only"
132
- }, t("select emoji label")), /* @__PURE__ */ import_react2.default.createElement("span", null, emojiValue), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Icon, {
133
- icon: "ph--caret-down--bold",
134
- size: 3
135
- }))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Content, {
136
- side: "right",
137
- sideOffset: isMd ? 0 : -310,
138
- onKeyDownCapture: (event) => {
139
- if (event.key === "Escape") {
140
- event.stopPropagation();
141
- setEmojiPickerOpen(false);
142
- }
143
- }
144
- }, /* @__PURE__ */ import_react2.default.createElement(import_react.default, {
145
- data: import_data.default,
146
- onEmojiSelect: ({ native }) => {
147
- if (native) {
148
- setEmojiValue(native);
149
- setEmojiPickerOpen(false);
114
+ var _effect = (0, import_tracking.useSignals)();
115
+ try {
116
+ const { t } = (0, import_react_ui.useTranslation)("os");
117
+ const [isMd] = (0, import_react_ui.useMediaQuery)("md", {
118
+ ssr: false
119
+ });
120
+ const [emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
121
+ prop: emoji,
122
+ onChange: onChangeEmoji,
123
+ defaultProp: defaultEmoji
124
+ });
125
+ const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react2.useState)(false);
126
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.ButtonGroup, {
127
+ classNames
128
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Root, {
129
+ open: emojiPickerOpen,
130
+ onOpenChange: setEmojiPickerOpen
131
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Trigger, {
132
+ asChild: true
133
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
134
+ variant: triggerVariant,
135
+ classNames: "grow gap-2 text-2xl plb-1",
136
+ disabled
137
+ }, /* @__PURE__ */ import_react2.default.createElement("span", {
138
+ className: "sr-only"
139
+ }, t("select emoji label")), /* @__PURE__ */ import_react2.default.createElement("span", null, emojiValue), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Icon, {
140
+ icon: "ph--caret-down--bold",
141
+ size: 3
142
+ }))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Content, {
143
+ side: "right",
144
+ sideOffset: isMd ? 0 : -310,
145
+ onKeyDownCapture: (event) => {
146
+ if (event.key === "Escape") {
147
+ event.stopPropagation();
148
+ setEmojiPickerOpen(false);
149
+ }
150
150
  }
151
- },
152
- autoFocus: true,
153
- maxFrequentRows: 0,
154
- noCountryFlags: true
155
- }), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Arrow, null))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Trigger, {
156
- asChild: true,
157
- content: t("clear label"),
158
- side: "right"
159
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
160
- variant: triggerVariant,
161
- onClick: onClickClear,
162
- disabled
163
- }, /* @__PURE__ */ import_react2.default.createElement("span", {
164
- className: "sr-only"
165
- }, t("clear label")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Icon, {
166
- icon: "ph--arrow-counter-clockwise--regular",
167
- size: 5
168
- }))));
151
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react.default, {
152
+ data: import_data.default,
153
+ onEmojiSelect: ({ native }) => {
154
+ if (native) {
155
+ setEmojiValue(native);
156
+ setEmojiPickerOpen(false);
157
+ }
158
+ },
159
+ autoFocus: true,
160
+ maxFrequentRows: 0,
161
+ noCountryFlags: true
162
+ }), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Arrow, null))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Trigger, {
163
+ asChild: true,
164
+ content: t("clear label"),
165
+ side: "right"
166
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
167
+ variant: triggerVariant,
168
+ onClick: onClickClear,
169
+ disabled
170
+ }, /* @__PURE__ */ import_react2.default.createElement("span", {
171
+ className: "sr-only"
172
+ }, t("clear label")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Icon, {
173
+ icon: "ph--arrow-counter-clockwise--regular",
174
+ size: 5
175
+ }))));
176
+ } finally {
177
+ _effect.f();
178
+ }
169
179
  };
170
180
  var PickerButton = ({ Component, disabled, classNames, defaultValue: _defaultValue, value: _value, values, label, icon, onChange, onReset, rootVariant = "button", iconSize = 5 }) => {
171
- const [value, setValue] = (0, import_react_use_controllable_state2.useControllableState)({
172
- prop: _value,
173
- defaultProp: _defaultValue,
174
- onChange
175
- });
176
- (0, import_react4.useEffect)(() => setValue(_value), [
177
- _value
178
- ]);
179
- const [open, setOpen] = (0, import_react4.useState)(false);
180
- const suppressNextTooltip = (0, import_react4.useRef)(false);
181
- const TriggerRoot = rootVariant === "toolbar-button" ? import_react_ui3.Toolbar.Button : import_react_ui3.Button;
182
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Root, {
183
- modal: false,
184
- open,
185
- onOpenChange: (nextOpen) => {
186
- setOpen(nextOpen);
187
- suppressNextTooltip.current = true;
188
- }
189
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Tooltip.Trigger, {
190
- asChild: true,
191
- content: label,
192
- side: "bottom",
193
- suppressNextTooltip
194
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Trigger, {
195
- asChild: true
196
- }, /* @__PURE__ */ import_react4.default.createElement(TriggerRoot, {
197
- classNames: [
198
- "gap-2 plb-1",
199
- classNames
200
- ],
201
- disabled
202
- }, /* @__PURE__ */ import_react4.default.createElement("span", {
203
- className: "sr-only"
204
- }, label), value && /* @__PURE__ */ import_react4.default.createElement(Component, {
205
- value,
206
- iconSize
207
- }) || /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Icon, {
208
- icon,
209
- size: iconSize
210
- }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Icon, {
211
- icon: "ph--caret-down--bold",
212
- size: 3
213
- })))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Content, {
214
- side: "bottom",
215
- classNames: "!is-min"
216
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Viewport, {
217
- classNames: "grid grid-cols-[repeat(6,min-content)]"
218
- }, values.map((_value2) => {
219
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.CheckboxItem, {
220
- key: _value2,
221
- checked: _value2 === value,
222
- onCheckedChange: () => setValue(_value2),
223
- classNames: "p-1 items-center justify-center aspect-square"
224
- }, /* @__PURE__ */ import_react4.default.createElement(Component, {
225
- value: _value2,
181
+ var _effect = (0, import_tracking3.useSignals)();
182
+ try {
183
+ const [value, setValue] = (0, import_react_use_controllable_state2.useControllableState)({
184
+ prop: _value,
185
+ defaultProp: _defaultValue,
186
+ onChange
187
+ });
188
+ (0, import_react4.useEffect)(() => setValue(_value), [
189
+ _value
190
+ ]);
191
+ const [open, setOpen] = (0, import_react4.useState)(false);
192
+ const TriggerRoot = rootVariant === "toolbar-button" ? import_react_ui3.Toolbar.Button : import_react_ui3.Button;
193
+ return /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Root, {
194
+ modal: false,
195
+ open,
196
+ onOpenChange: setOpen
197
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Tooltip.Trigger, {
198
+ asChild: true,
199
+ content: label,
200
+ side: "bottom"
201
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Trigger, {
202
+ asChild: true
203
+ }, /* @__PURE__ */ import_react4.default.createElement(TriggerRoot, {
204
+ classNames: [
205
+ "gap-2 plb-1",
206
+ classNames
207
+ ],
208
+ disabled
209
+ }, /* @__PURE__ */ import_react4.default.createElement("span", {
210
+ className: "sr-only"
211
+ }, label), value && /* @__PURE__ */ import_react4.default.createElement(Component, {
212
+ value,
226
213
  iconSize
227
- }));
228
- }), onReset && /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.CheckboxItem, {
229
- onCheckedChange: () => onReset(),
230
- classNames: "p-1 items-center justify-center aspect-square"
231
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Icon, {
232
- icon: "ph--x--regular",
233
- size: iconSize
234
- }))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Arrow, null))));
214
+ }) || /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Icon, {
215
+ icon,
216
+ size: iconSize
217
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Icon, {
218
+ icon: "ph--caret-down--bold",
219
+ size: 3
220
+ })))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Content, {
221
+ side: "bottom",
222
+ classNames: "!is-min"
223
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Viewport, {
224
+ classNames: "grid grid-cols-[repeat(6,min-content)]"
225
+ }, values.map((_value2) => {
226
+ return /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.CheckboxItem, {
227
+ key: _value2,
228
+ checked: _value2 === value,
229
+ onCheckedChange: () => setValue(_value2),
230
+ classNames: "p-1 items-center justify-center aspect-square"
231
+ }, /* @__PURE__ */ import_react4.default.createElement(Component, {
232
+ value: _value2,
233
+ iconSize
234
+ }));
235
+ }), onReset && /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.CheckboxItem, {
236
+ onCheckedChange: () => onReset(),
237
+ classNames: "p-1 items-center justify-center aspect-square"
238
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Icon, {
239
+ icon: "ph--x--regular",
240
+ size: iconSize
241
+ }))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.DropdownMenu.Arrow, null))));
242
+ } finally {
243
+ _effect.f();
244
+ }
235
245
  };
236
246
  var HuePicker = (props) => {
237
- const { t } = (0, import_react_ui2.useTranslation)("os");
238
- return /* @__PURE__ */ import_react3.default.createElement(PickerButton, {
239
- Component: HuePreview,
240
- label: t("select hue label"),
241
- icon: "ph--palette--regular",
242
- values: import_react_ui_theme.hues,
243
- ...props
244
- });
247
+ var _effect = (0, import_tracking2.useSignals)();
248
+ try {
249
+ const { t } = (0, import_react_ui2.useTranslation)("os");
250
+ return /* @__PURE__ */ import_react3.default.createElement(PickerButton, {
251
+ Component: HuePreview,
252
+ label: t("select hue label"),
253
+ icon: "ph--palette--regular",
254
+ values: import_react_ui_theme.hues,
255
+ ...props
256
+ });
257
+ } finally {
258
+ _effect.f();
259
+ }
245
260
  };
246
261
  var HuePreview = ({ value }) => {
247
- const size = 16;
248
- return /* @__PURE__ */ import_react3.default.createElement("div", {
249
- className: "flex p-[2px] justify-center items-center"
250
- }, /* @__PURE__ */ import_react3.default.createElement("svg", {
251
- viewBox: `0 0 ${size} ${size}`,
252
- className: "is-[var(--hue-preview-size,1rem)] bs-[var(--hue-preview-size,1rem)]"
253
- }, /* @__PURE__ */ import_react3.default.createElement("rect", {
254
- x: 0,
255
- y: 0,
256
- width: size,
257
- height: size,
258
- fill: `var(--dx-${value}Fill)`,
259
- strokeWidth: 4
260
- })));
262
+ var _effect = (0, import_tracking2.useSignals)();
263
+ try {
264
+ const size = 16;
265
+ return /* @__PURE__ */ import_react3.default.createElement("div", {
266
+ className: "flex p-[2px] justify-center items-center"
267
+ }, /* @__PURE__ */ import_react3.default.createElement("svg", {
268
+ viewBox: `0 0 ${size} ${size}`,
269
+ className: "is-[var(--hue-preview-size,1rem)] bs-[var(--hue-preview-size,1rem)]"
270
+ }, /* @__PURE__ */ import_react3.default.createElement("rect", {
271
+ x: 0,
272
+ y: 0,
273
+ width: size,
274
+ height: size,
275
+ fill: `var(--dx-${value}Fill)`,
276
+ strokeWidth: 4
277
+ })));
278
+ } finally {
279
+ _effect.f();
280
+ }
261
281
  };
262
282
  var IconPicker = ({ ...props }) => {
263
- const { t } = (0, import_react_ui4.useTranslation)("os");
264
- return /* @__PURE__ */ import_react5.default.createElement(PickerButton, {
265
- Component: IconPreview,
266
- label: t("select icon label"),
267
- icon: "ph--selection--regular",
268
- values: iconValues,
269
- ...props
270
- });
283
+ var _effect = (0, import_tracking4.useSignals)();
284
+ try {
285
+ const { t } = (0, import_react_ui4.useTranslation)("os");
286
+ return /* @__PURE__ */ import_react5.default.createElement(PickerButton, {
287
+ Component: IconPreview,
288
+ label: t("select icon label"),
289
+ icon: "ph--selection--regular",
290
+ values: iconValues,
291
+ ...props
292
+ });
293
+ } finally {
294
+ _effect.f();
295
+ }
271
296
  };
272
297
  var IconPreview = ({ value, iconSize = 5 }) => {
273
- return /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Icon, {
274
- icon: `ph--${value}--regular`,
275
- size: iconSize
276
- });
298
+ var _effect = (0, import_tracking4.useSignals)();
299
+ try {
300
+ return /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Icon, {
301
+ icon: `ph--${value}--regular`,
302
+ size: iconSize
303
+ });
304
+ } finally {
305
+ _effect.f();
306
+ }
277
307
  };
278
308
  var icons = [
279
309
  "ph--air-traffic-control--regular",