@dxos/react-ui-pickers 0.7.5-labs.8a82073 → 0.7.5-labs.c0e040f

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.
@@ -36,16 +36,13 @@ __export(node_exports, {
36
36
  module.exports = __toCommonJS(node_exports);
37
37
  var import_data = __toESM(require("@emoji-mart/data"));
38
38
  var import_react = __toESM(require("@emoji-mart/react"));
39
- var import_react2 = require("@phosphor-icons/react");
40
39
  var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
41
- var import_react3 = __toESM(require("react"));
40
+ var import_react2 = __toESM(require("react"));
42
41
  var import_react_ui = require("@dxos/react-ui");
43
- var import_react_ui_theme = require("@dxos/react-ui-theme");
44
- var import_react4 = require("@phosphor-icons/react");
45
42
  var import_react_use_controllable_state2 = require("@radix-ui/react-use-controllable-state");
46
- var import_react5 = __toESM(require("react"));
43
+ var import_react3 = __toESM(require("react"));
47
44
  var import_react_ui2 = require("@dxos/react-ui");
48
- var import_react_ui_theme2 = require("@dxos/react-ui-theme");
45
+ var import_react_ui_theme = require("@dxos/react-ui-theme");
49
46
  var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji, classNames }) => {
50
47
  const { t } = (0, import_react_ui.useTranslation)("os");
51
48
  const { themeMode } = (0, import_react_ui.useThemeContext)();
@@ -54,10 +51,10 @@ var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
54
51
  onChange: onChangeEmoji,
55
52
  defaultProp: defaultEmoji
56
53
  });
57
- const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react3.useState)(false);
58
- const suppressNextTooltip = (0, import_react3.useRef)(false);
59
- const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react3.useState)(false);
60
- return /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Root, {
54
+ const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react2.useState)(false);
55
+ const suppressNextTooltip = (0, import_react2.useRef)(false);
56
+ const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react2.useState)(false);
57
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Root, {
61
58
  open: triggerTooltipOpen,
62
59
  onOpenChange: (nextOpen) => {
63
60
  if (suppressNextTooltip.current) {
@@ -67,29 +64,30 @@ var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
67
64
  setTriggerTooltipOpen(nextOpen);
68
65
  }
69
66
  }
70
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Popover.Root, {
67
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Root, {
71
68
  open: emojiPickerOpen,
72
69
  onOpenChange: (nextOpen) => {
73
70
  setEmojiPickerOpen(nextOpen);
74
71
  suppressNextTooltip.current = true;
75
72
  }
76
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Trigger, {
73
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Trigger, {
77
74
  asChild: true
78
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Popover.Trigger, {
75
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Trigger, {
79
76
  asChild: true
80
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Toolbar.Button, {
77
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toolbar.Button, {
81
78
  classNames: [
82
79
  "gap-2 text-2xl plb-1",
83
80
  classNames
84
81
  ],
85
82
  disabled
86
- }, /* @__PURE__ */ import_react3.default.createElement("span", {
83
+ }, /* @__PURE__ */ import_react2.default.createElement("span", {
87
84
  className: "sr-only"
88
- }, t("select emoji label")), /* @__PURE__ */ import_react3.default.createElement(import_react2.UserCircle, {
89
- className: (0, import_react_ui_theme.getSize)(5)
90
- })))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Content, {
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.Tooltip.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Content, {
91
89
  side: "bottom"
92
- }, t("select emoji label"), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Arrow, null))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Popover.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Popover.Content, {
90
+ }, t("select emoji label"), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Arrow, null))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Content, {
93
91
  side: "bottom",
94
92
  onKeyDownCapture: (event) => {
95
93
  if (event.key === "Escape") {
@@ -98,7 +96,7 @@ var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
98
96
  suppressNextTooltip.current = true;
99
97
  }
100
98
  }
101
- }, /* @__PURE__ */ import_react3.default.createElement(import_react.default, {
99
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react.default, {
102
100
  data: import_data.default,
103
101
  onEmojiSelect: ({ native }) => {
104
102
  if (native) {
@@ -110,7 +108,7 @@ var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
110
108
  maxFrequentRows: 0,
111
109
  noCountryFlags: true,
112
110
  theme: themeMode
113
- }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Popover.Arrow, null)))));
111
+ }), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Arrow, null)))));
114
112
  };
115
113
  var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }) => {
116
114
  const { t } = (0, import_react_ui.useTranslation)("os");
@@ -122,23 +120,24 @@ var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickC
122
120
  onChange: onChangeEmoji,
123
121
  defaultProp: defaultEmoji
124
122
  });
125
- const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react3.useState)(false);
126
- return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Popover.Root, {
123
+ const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react2.useState)(false);
124
+ return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Root, {
127
125
  open: emojiPickerOpen,
128
126
  onOpenChange: setEmojiPickerOpen
129
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Popover.Trigger, {
127
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Trigger, {
130
128
  asChild: true
131
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Button, {
129
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
132
130
  variant: "ghost",
133
131
  classNames: "gap-2 text-2xl plb-1",
134
132
  disabled
135
- }, /* @__PURE__ */ import_react3.default.createElement("span", {
133
+ }, /* @__PURE__ */ import_react2.default.createElement("span", {
136
134
  className: "sr-only"
137
- }, t("select emoji label")), /* @__PURE__ */ import_react3.default.createElement("span", {
135
+ }, t("select emoji label")), /* @__PURE__ */ import_react2.default.createElement("span", {
138
136
  className: "grow pis-14"
139
- }, emojiValue), /* @__PURE__ */ import_react3.default.createElement(import_react2.CaretDown, {
140
- className: (0, import_react_ui_theme.getSize)(4)
141
- }))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Popover.Content, {
137
+ }, emojiValue), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Icon, {
138
+ icon: "ph--caret-down--regular",
139
+ size: 4
140
+ }))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Content, {
142
141
  side: "right",
143
142
  sideOffset: isMd ? 0 : -310,
144
143
  onKeyDownCapture: (event) => {
@@ -147,7 +146,7 @@ var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickC
147
146
  setEmojiPickerOpen(false);
148
147
  }
149
148
  }
150
- }, /* @__PURE__ */ import_react3.default.createElement(import_react.default, {
149
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react.default, {
151
150
  data: import_data.default,
152
151
  onEmojiSelect: ({ native }) => {
153
152
  if (native) {
@@ -158,36 +157,42 @@ var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickC
158
157
  autoFocus: true,
159
158
  maxFrequentRows: 0,
160
159
  noCountryFlags: true
161
- }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Popover.Arrow, null))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Trigger, {
160
+ }), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Popover.Arrow, null))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Root, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Trigger, {
162
161
  asChild: true
163
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Button, {
162
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
164
163
  variant: "ghost",
165
164
  onClick: onClickClear,
166
165
  disabled
167
- }, /* @__PURE__ */ import_react3.default.createElement("span", {
166
+ }, /* @__PURE__ */ import_react2.default.createElement("span", {
168
167
  className: "sr-only"
169
- }, t("clear label")), /* @__PURE__ */ import_react3.default.createElement(import_react2.ArrowCounterClockwise, null))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Content, {
168
+ }, t("clear label")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Icon, {
169
+ icon: "ph--arrow-counter-clockwise--regular",
170
+ size: 5
171
+ }))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Content, {
170
172
  side: "right"
171
- }, t("clear label"), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Tooltip.Arrow, null)))));
173
+ }, t("clear label"), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Tooltip.Arrow, null)))));
172
174
  };
173
175
  var HuePreview = ({ hue }) => {
174
- const { tx } = (0, import_react_ui2.useThemeContext)();
175
176
  const size = 20;
176
- return /* @__PURE__ */ import_react5.default.createElement("svg", {
177
+ return /* @__PURE__ */ import_react3.default.createElement("svg", {
177
178
  width: size,
178
179
  height: size,
179
180
  viewBox: `0 0 ${size} ${size}`
180
- }, /* @__PURE__ */ import_react5.default.createElement("rect", {
181
+ }, /* @__PURE__ */ import_react3.default.createElement("rect", {
181
182
  x: 0,
182
183
  y: 0,
183
184
  width: size,
184
185
  height: size,
185
- className: tx("hue.fill", "select--hue__preview", {
186
- hue
187
- })
188
- }));
186
+ fill: `var(--dx-${hue}Surface)`
187
+ }), /* @__PURE__ */ import_react3.default.createElement("text", {
188
+ x: "10",
189
+ y: "15",
190
+ textAnchor: "middle",
191
+ fontSize: "14",
192
+ fontWeight: "bold",
193
+ fill: `var(--dx-${hue}SurfaceText)`
194
+ }, "T"));
189
195
  };
190
- var hueTokens = Object.keys(import_react_ui_theme2.hueTokenThemes).slice(0, 16);
191
196
  var HuePickerToolbarButton = ({ disabled, hue, onChangeHue, classNames, defaultHue }) => {
192
197
  const { t } = (0, import_react_ui2.useTranslation)("os");
193
198
  const [hueValue, setHueValue] = (0, import_react_use_controllable_state2.useControllableState)({
@@ -195,10 +200,10 @@ var HuePickerToolbarButton = ({ disabled, hue, onChangeHue, classNames, defaultH
195
200
  onChange: onChangeHue,
196
201
  defaultProp: defaultHue
197
202
  });
198
- const [huePickerOpen, setHuePickerOpen] = (0, import_react5.useState)(false);
199
- const suppressNextTooltip = (0, import_react5.useRef)(false);
200
- const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react5.useState)(false);
201
- return /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Root, {
203
+ const [huePickerOpen, setHuePickerOpen] = (0, import_react3.useState)(false);
204
+ const suppressNextTooltip = (0, import_react3.useRef)(false);
205
+ const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react3.useState)(false);
206
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Root, {
202
207
  open: triggerTooltipOpen,
203
208
  onOpenChange: (nextOpen) => {
204
209
  if (suppressNextTooltip.current) {
@@ -208,41 +213,42 @@ var HuePickerToolbarButton = ({ disabled, hue, onChangeHue, classNames, defaultH
208
213
  setTriggerTooltipOpen(nextOpen);
209
214
  }
210
215
  }
211
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Root, {
216
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Root, {
212
217
  modal: false,
213
218
  open: huePickerOpen,
214
219
  onOpenChange: (nextOpen) => {
215
220
  setHuePickerOpen(nextOpen);
216
221
  suppressNextTooltip.current = true;
217
222
  }
218
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Trigger, {
223
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Trigger, {
219
224
  asChild: true
220
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Trigger, {
225
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Trigger, {
221
226
  asChild: true
222
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toolbar.Button, {
223
- classNames: (0, import_react_ui_theme2.mx)("gap-2 plb-1", classNames),
227
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Toolbar.Button, {
228
+ classNames: (0, import_react_ui_theme.mx)("gap-2 plb-1", classNames),
224
229
  disabled
225
- }, /* @__PURE__ */ import_react5.default.createElement("span", {
230
+ }, /* @__PURE__ */ import_react3.default.createElement("span", {
226
231
  className: "sr-only"
227
- }, t("select hue label")), /* @__PURE__ */ import_react5.default.createElement(import_react4.Palette, {
228
- className: (0, import_react_ui_theme2.getSize)(5)
229
- })))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Content, {
232
+ }, t("select hue label")), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Icon, {
233
+ icon: "ph--palette--regular",
234
+ size: 5
235
+ })))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Content, {
230
236
  side: "bottom"
231
- }, t("select hue label"), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Arrow, null))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Portal, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Content, {
237
+ }, t("select hue label"), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Arrow, null))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Content, {
232
238
  side: "bottom",
233
239
  classNames: "!w-40"
234
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Viewport, {
235
- classNames: "grid grid-cols-4"
236
- }, hueTokens.map((hue2) => {
237
- return /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.CheckboxItem, {
240
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Viewport, {
241
+ classNames: "grid grid-cols-6"
242
+ }, import_react_ui_theme.hues.map((hue2) => {
243
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.CheckboxItem, {
238
244
  key: hue2,
239
245
  checked: hue2 === hueValue,
240
246
  onCheckedChange: () => setHueValue(hue2),
241
247
  classNames: "px-0 py-2 items-center justify-center"
242
- }, /* @__PURE__ */ import_react5.default.createElement(HuePreview, {
248
+ }, /* @__PURE__ */ import_react3.default.createElement(HuePreview, {
243
249
  hue: hue2
244
250
  }));
245
- })), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Arrow, null)))));
251
+ })), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Arrow, null)))));
246
252
  };
247
253
  var HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }) => {
248
254
  const { t } = (0, import_react_ui2.useTranslation)("os");
@@ -251,46 +257,53 @@ var HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear })
251
257
  onChange: onChangeHue,
252
258
  defaultProp: defaultHue
253
259
  });
254
- return /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Root, {
260
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Root, {
255
261
  modal: false
256
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Trigger, {
262
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Trigger, {
257
263
  asChild: true
258
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Button, {
264
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Button, {
259
265
  variant: "ghost",
260
266
  classNames: "gap-2 plb-1",
261
267
  disabled
262
- }, /* @__PURE__ */ import_react5.default.createElement("span", {
268
+ }, /* @__PURE__ */ import_react3.default.createElement("span", {
263
269
  className: "sr-only"
264
- }, t("select hue label")), /* @__PURE__ */ import_react5.default.createElement("div", {
270
+ }, t("select hue label")), /* @__PURE__ */ import_react3.default.createElement("div", {
265
271
  role: "none",
266
272
  className: "pis-14 grow flex items-center justify-center gap-2"
267
- }, /* @__PURE__ */ import_react5.default.createElement(HuePreview, {
273
+ }, hue ? /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(HuePreview, {
268
274
  hue: hueValue
269
- }), /* @__PURE__ */ import_react5.default.createElement("span", null, t(`${hueValue} label`))), /* @__PURE__ */ import_react5.default.createElement(import_react4.CaretDown, {
270
- className: (0, import_react_ui_theme2.getSize)(4)
271
- }))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Content, {
275
+ }), /* @__PURE__ */ import_react3.default.createElement("span", null, t(`${hueValue} label`))) : /* @__PURE__ */ import_react3.default.createElement("span", null, t("select a hue label"))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Icon, {
276
+ icon: "ph--caret-down--regular",
277
+ size: 4
278
+ }))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Content, {
272
279
  side: "right"
273
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Viewport, null, Object.keys(import_react_ui_theme2.hueTokenThemes).map((hue2) => {
274
- return /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.CheckboxItem, {
280
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Viewport, null, import_react_ui_theme.hues.map((hue2) => {
281
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.CheckboxItem, {
275
282
  key: hue2,
276
283
  checked: hue2 === hueValue,
277
284
  onCheckedChange: () => setHueValue(hue2)
278
- }, /* @__PURE__ */ import_react5.default.createElement(HuePreview, {
285
+ }, /* @__PURE__ */ import_react3.default.createElement(HuePreview, {
279
286
  hue: hue2
280
- }), /* @__PURE__ */ import_react5.default.createElement("span", {
287
+ }), /* @__PURE__ */ import_react3.default.createElement("span", {
281
288
  className: "grow"
282
- }, t(`${hue2} label`)), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.ItemIndicator, null, /* @__PURE__ */ import_react5.default.createElement(import_react4.Check, null)));
283
- })), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.DropdownMenu.Arrow, null))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Root, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Trigger, {
289
+ }, t(`${hue2} label`)), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.ItemIndicator, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Icon, {
290
+ icon: "ph--check--regular",
291
+ size: 4
292
+ })));
293
+ })), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DropdownMenu.Arrow, null)))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Trigger, {
284
294
  asChild: true
285
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Button, {
295
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Button, {
286
296
  variant: "ghost",
287
297
  onClick: onClickClear,
288
298
  disabled
289
- }, /* @__PURE__ */ import_react5.default.createElement("span", {
299
+ }, /* @__PURE__ */ import_react3.default.createElement("span", {
290
300
  className: "sr-only"
291
- }, t("clear label")), /* @__PURE__ */ import_react5.default.createElement(import_react4.ArrowCounterClockwise, null))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Content, {
301
+ }, t("clear label")), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Icon, {
302
+ icon: "ph--arrow-counter-clockwise--regular",
303
+ size: 5
304
+ }))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Content, {
292
305
  side: "right"
293
- }, t("clear label"), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Tooltip.Arrow, null)))));
306
+ }, t("clear label"), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Arrow, null)))));
294
307
  };
295
308
  // Annotate the CommonJS export names for ESM import in node:
296
309
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/EmojiPicker.tsx", "../../../src/components/HuePicker.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport emojiData from '@emoji-mart/data';\nimport EmojiMart from '@emoji-mart/react';\nimport { ArrowCounterClockwise, CaretDown, UserCircle } from '@phosphor-icons/react';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport React, { useRef, useState } from 'react';\n\nimport {\n Button,\n type ButtonProps,\n Popover,\n type ThemedClassName,\n Toolbar,\n Tooltip,\n useMediaQuery,\n useThemeContext,\n useTranslation,\n} from '@dxos/react-ui';\nimport { getSize } from '@dxos/react-ui-theme';\n\nimport './emoji.css';\n\nexport type EmojiPickerProps = {\n disabled?: boolean;\n defaultEmoji?: string;\n emoji?: string;\n onChangeEmoji?: (nextEmoji: string) => void;\n onClickClear?: ButtonProps['onClick'];\n};\n\n/**\n * A toolbar button for picking an emoji. Use only in `role=toolbar` elements. Unable to unset the value.\n */\nexport const EmojiPickerToolbarButton = ({\n disabled,\n defaultEmoji,\n emoji,\n onChangeEmoji,\n classNames,\n}: ThemedClassName<Omit<EmojiPickerProps, 'onClickClear'>>) => {\n const { t } = useTranslation('os');\n const { themeMode } = useThemeContext();\n\n const [_emojiValue, setEmojiValue] = useControllableState<string>({\n prop: emoji,\n onChange: onChangeEmoji,\n defaultProp: defaultEmoji,\n });\n\n const [emojiPickerOpen, setEmojiPickerOpen] = useState<boolean>(false);\n const suppressNextTooltip = useRef<boolean>(false);\n const [triggerTooltipOpen, setTriggerTooltipOpen] = useState(false);\n\n return (\n <Tooltip.Root\n open={triggerTooltipOpen}\n onOpenChange={(nextOpen) => {\n if (suppressNextTooltip.current) {\n setTriggerTooltipOpen(false);\n suppressNextTooltip.current = false;\n } else {\n setTriggerTooltipOpen(nextOpen);\n }\n }}\n >\n <Popover.Root\n open={emojiPickerOpen}\n onOpenChange={(nextOpen) => {\n setEmojiPickerOpen(nextOpen);\n suppressNextTooltip.current = true;\n }}\n >\n <Tooltip.Trigger asChild>\n <Popover.Trigger asChild>\n <Toolbar.Button classNames={['gap-2 text-2xl plb-1', classNames]} disabled={disabled}>\n <span className='sr-only'>{t('select emoji label')}</span>\n <UserCircle className={getSize(5)} />\n </Toolbar.Button>\n </Popover.Trigger>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content side='bottom'>\n {t('select emoji label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n <Popover.Portal>\n <Popover.Content\n side='bottom'\n onKeyDownCapture={(event) => {\n if (event.key === 'Escape') {\n event.stopPropagation();\n setEmojiPickerOpen(false);\n suppressNextTooltip.current = true;\n }\n }}\n >\n {/* https://github.com/missive/emoji-mart?tab=readme-ov-file#options--props */}\n <EmojiMart\n data={emojiData}\n onEmojiSelect={({ native }: { native?: string }) => {\n if (native) {\n setEmojiValue(native);\n setEmojiPickerOpen(false);\n }\n }}\n autoFocus={true}\n maxFrequentRows={0}\n noCountryFlags={true}\n theme={themeMode}\n />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n </Tooltip.Root>\n );\n};\n\n/**\n * A button for picking an emoji alongside a button for unsetting it.\n */\nexport const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }: EmojiPickerProps) => {\n const { t } = useTranslation('os');\n const [isMd] = useMediaQuery('md', { ssr: false });\n\n const [emojiValue, setEmojiValue] = useControllableState<string>({\n prop: emoji,\n onChange: onChangeEmoji,\n defaultProp: defaultEmoji,\n });\n\n const [emojiPickerOpen, setEmojiPickerOpen] = useState<boolean>(false);\n\n return (\n <>\n <Popover.Root open={emojiPickerOpen} onOpenChange={setEmojiPickerOpen}>\n <Popover.Trigger asChild>\n <Button variant='ghost' classNames='gap-2 text-2xl plb-1' disabled={disabled}>\n <span className='sr-only'>{t('select emoji label')}</span>\n <span className='grow pis-14'>{emojiValue}</span>\n <CaretDown className={getSize(4)} />\n </Button>\n </Popover.Trigger>\n <Popover.Content\n side='right'\n sideOffset={isMd ? 0 : -310}\n onKeyDownCapture={(event) => {\n if (event.key === 'Escape') {\n event.stopPropagation();\n setEmojiPickerOpen(false);\n }\n }}\n >\n <EmojiMart\n data={emojiData}\n onEmojiSelect={({ native }: { native?: string }) => {\n if (native) {\n setEmojiValue(native);\n setEmojiPickerOpen(false);\n }\n }}\n autoFocus={true}\n maxFrequentRows={0}\n noCountryFlags={true}\n />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Root>\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <Button variant='ghost' onClick={onClickClear} disabled={disabled}>\n <span className='sr-only'>{t('clear label')}</span>\n <ArrowCounterClockwise />\n </Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content side='right'>\n {t('clear label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n </>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ArrowCounterClockwise, CaretDown, Check, Palette } from '@phosphor-icons/react';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport React, { useRef, useState } from 'react';\n\nimport {\n Button,\n type ButtonProps,\n DropdownMenu,\n type ThemedClassName,\n Toolbar,\n Tooltip,\n useThemeContext,\n useTranslation,\n} from '@dxos/react-ui';\nimport { getSize, hueTokenThemes, mx } from '@dxos/react-ui-theme';\n\nconst HuePreview = ({ hue }: { hue: string }) => {\n const { tx } = useThemeContext();\n const size = 20;\n return (\n <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <rect x={0} y={0} width={size} height={size} className={tx('hue.fill', 'select--hue__preview', { hue })} />\n </svg>\n );\n};\n\nconst hueTokens = Object.keys(hueTokenThemes).slice(0, 16);\n\nexport type HuePickerProps = {\n disabled?: boolean;\n defaultHue?: string;\n hue?: string;\n onChangeHue?: (nextHue: string) => void;\n onClickClear?: ButtonProps['onClick'];\n};\n\n/**\n * A toolbar button for picking hue. Use only in `role=toolbar` elements. Unable to unset the value.\n */\nexport const HuePickerToolbarButton = ({\n disabled,\n hue,\n onChangeHue,\n classNames,\n defaultHue,\n}: ThemedClassName<Omit<HuePickerProps, 'onClickClear'>>) => {\n const { t } = useTranslation('os');\n\n const [hueValue, setHueValue] = useControllableState<string>({\n prop: hue,\n onChange: onChangeHue,\n defaultProp: defaultHue,\n });\n\n const [huePickerOpen, setHuePickerOpen] = useState<boolean>(false);\n\n const suppressNextTooltip = useRef<boolean>(false);\n const [triggerTooltipOpen, setTriggerTooltipOpen] = useState(false);\n\n return (\n <Tooltip.Root\n open={triggerTooltipOpen}\n onOpenChange={(nextOpen) => {\n if (suppressNextTooltip.current) {\n setTriggerTooltipOpen(false);\n suppressNextTooltip.current = false;\n } else {\n setTriggerTooltipOpen(nextOpen);\n }\n }}\n >\n <DropdownMenu.Root\n modal={false}\n open={huePickerOpen}\n onOpenChange={(nextOpen) => {\n setHuePickerOpen(nextOpen);\n suppressNextTooltip.current = true;\n }}\n >\n <Tooltip.Trigger asChild>\n <DropdownMenu.Trigger asChild>\n <Toolbar.Button classNames={mx('gap-2 plb-1', classNames)} disabled={disabled}>\n <span className='sr-only'>{t('select hue label')}</span>\n <Palette className={getSize(5)} />\n </Toolbar.Button>\n </DropdownMenu.Trigger>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content side='bottom'>\n {t('select hue label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n <DropdownMenu.Portal>\n <DropdownMenu.Content side='bottom' classNames='!w-40'>\n <DropdownMenu.Viewport classNames='grid grid-cols-4'>\n {hueTokens.map((hue) => {\n return (\n <DropdownMenu.CheckboxItem\n key={hue}\n checked={hue === hueValue}\n onCheckedChange={() => setHueValue(hue)}\n classNames={'px-0 py-2 items-center justify-center'}\n >\n <HuePreview hue={hue} />\n </DropdownMenu.CheckboxItem>\n );\n })}\n </DropdownMenu.Viewport>\n <DropdownMenu.Arrow />\n </DropdownMenu.Content>\n </DropdownMenu.Portal>\n </DropdownMenu.Root>\n </Tooltip.Root>\n );\n};\n\n/**\n * A button for picking hue alongside a button for unsetting it.\n */\nexport const HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }: HuePickerProps) => {\n const { t } = useTranslation('os');\n\n const [hueValue, setHueValue] = useControllableState<string>({\n prop: hue,\n onChange: onChangeHue,\n defaultProp: defaultHue,\n });\n\n return (\n <>\n <DropdownMenu.Root modal={false}>\n <DropdownMenu.Trigger asChild>\n <Button variant='ghost' classNames='gap-2 plb-1' disabled={disabled}>\n <span className='sr-only'>{t('select hue label')}</span>\n <div role='none' className='pis-14 grow flex items-center justify-center gap-2'>\n <HuePreview hue={hueValue!} />\n <span>{t(`${hueValue} label`)}</span>\n </div>\n <CaretDown className={getSize(4)} />\n </Button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content side='right'>\n <DropdownMenu.Viewport>\n {Object.keys(hueTokenThemes).map((hue) => {\n return (\n <DropdownMenu.CheckboxItem\n key={hue}\n checked={hue === hueValue}\n onCheckedChange={() => setHueValue(hue)}\n >\n <HuePreview hue={hue} />\n <span className='grow'>{t(`${hue} label`)}</span>\n <DropdownMenu.ItemIndicator>\n <Check />\n </DropdownMenu.ItemIndicator>\n </DropdownMenu.CheckboxItem>\n );\n })}\n </DropdownMenu.Viewport>\n <DropdownMenu.Arrow />\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <Button variant='ghost' onClick={onClickClear} disabled={disabled}>\n <span className='sr-only'>{t('clear label')}</span>\n <ArrowCounterClockwise />\n </Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content side='right'>\n {t('clear label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n </>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["import_react", "import_react_use_controllable_state", "import_react_ui", "import_react_ui_theme", "EmojiPickerToolbarButton", "disabled", "defaultEmoji", "emoji", "onChangeEmoji", "classNames", "t", "useTranslation", "themeMode", "useThemeContext", "_emojiValue", "setEmojiValue", "useControllableState", "prop", "onChange", "defaultProp", "emojiPickerOpen", "setEmojiPickerOpen", "useState", "suppressNextTooltip", "useRef", "triggerTooltipOpen", "setTriggerTooltipOpen", "React", "Tooltip", "Root", "open", "onOpenChange", "nextOpen", "current", "Popover", "Trigger", "asChild", "Toolbar", "Button", "span", "className", "UserCircle", "getSize", "Portal", "Content", "side", "Arrow", "onKeyDownCapture", "event", "key", "stopPropagation", "EmojiMart", "data", "emojiData", "onEmojiSelect", "native", "autoFocus", "maxFrequentRows", "noCountryFlags", "theme", "EmojiPickerBlock", "onClickClear", "isMd", "useMediaQuery", "ssr", "emojiValue", "variant", "CaretDown", "sideOffset", "onClick", "ArrowCounterClockwise", "HuePreview", "hue", "tx", "size", "svg", "width", "height", "viewBox", "rect", "x", "y", "hueTokens", "Object", "keys", "hueTokenThemes", "slice", "HuePickerToolbarButton", "onChangeHue", "defaultHue", "hueValue", "setHueValue", "huePickerOpen", "setHuePickerOpen", "DropdownMenu", "modal", "mx", "Palette", "Viewport", "map", "CheckboxItem", "checked", "onCheckedChange", "HuePickerBlock", "div", "role", "ItemIndicator", "Check"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport emojiData from '@emoji-mart/data';\nimport EmojiMart from '@emoji-mart/react';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport React, { useRef, useState } from 'react';\n\nimport {\n Button,\n type ButtonProps,\n Popover,\n type ThemedClassName,\n Toolbar,\n Tooltip,\n useMediaQuery,\n useThemeContext,\n useTranslation,\n Icon,\n} from '@dxos/react-ui';\n\nimport './emoji.css';\n\nexport type EmojiPickerProps = {\n disabled?: boolean;\n defaultEmoji?: string;\n emoji?: string;\n onChangeEmoji?: (nextEmoji: string) => void;\n onClickClear?: ButtonProps['onClick'];\n};\n\n/**\n * A toolbar button for picking an emoji. Use only in `role=toolbar` elements. Unable to unset the value.\n */\nexport const EmojiPickerToolbarButton = ({\n disabled,\n defaultEmoji,\n emoji,\n onChangeEmoji,\n classNames,\n}: ThemedClassName<Omit<EmojiPickerProps, 'onClickClear'>>) => {\n const { t } = useTranslation('os');\n const { themeMode } = useThemeContext();\n\n const [_emojiValue, setEmojiValue] = useControllableState<string>({\n prop: emoji,\n onChange: onChangeEmoji,\n defaultProp: defaultEmoji,\n });\n\n const [emojiPickerOpen, setEmojiPickerOpen] = useState<boolean>(false);\n const suppressNextTooltip = useRef<boolean>(false);\n const [triggerTooltipOpen, setTriggerTooltipOpen] = useState(false);\n\n return (\n <Tooltip.Root\n open={triggerTooltipOpen}\n onOpenChange={(nextOpen) => {\n if (suppressNextTooltip.current) {\n setTriggerTooltipOpen(false);\n suppressNextTooltip.current = false;\n } else {\n setTriggerTooltipOpen(nextOpen);\n }\n }}\n >\n <Popover.Root\n open={emojiPickerOpen}\n onOpenChange={(nextOpen) => {\n setEmojiPickerOpen(nextOpen);\n suppressNextTooltip.current = true;\n }}\n >\n <Tooltip.Trigger asChild>\n <Popover.Trigger asChild>\n <Toolbar.Button classNames={['gap-2 text-2xl plb-1', classNames]} disabled={disabled}>\n <span className='sr-only'>{t('select emoji label')}</span>\n <Icon icon='ph--user-circle--regular' size={5} />\n </Toolbar.Button>\n </Popover.Trigger>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content side='bottom'>\n {t('select emoji label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n <Popover.Portal>\n <Popover.Content\n side='bottom'\n onKeyDownCapture={(event) => {\n if (event.key === 'Escape') {\n event.stopPropagation();\n setEmojiPickerOpen(false);\n suppressNextTooltip.current = true;\n }\n }}\n >\n {/* https://github.com/missive/emoji-mart?tab=readme-ov-file#options--props */}\n <EmojiMart\n data={emojiData}\n onEmojiSelect={({ native }: { native?: string }) => {\n if (native) {\n setEmojiValue(native);\n setEmojiPickerOpen(false);\n }\n }}\n autoFocus={true}\n maxFrequentRows={0}\n noCountryFlags={true}\n theme={themeMode}\n />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n </Tooltip.Root>\n );\n};\n\n/**\n * A button for picking an emoji alongside a button for unsetting it.\n */\nexport const EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }: EmojiPickerProps) => {\n const { t } = useTranslation('os');\n const [isMd] = useMediaQuery('md', { ssr: false });\n\n const [emojiValue, setEmojiValue] = useControllableState<string>({\n prop: emoji,\n onChange: onChangeEmoji,\n defaultProp: defaultEmoji,\n });\n\n const [emojiPickerOpen, setEmojiPickerOpen] = useState<boolean>(false);\n\n return (\n <>\n <Popover.Root open={emojiPickerOpen} onOpenChange={setEmojiPickerOpen}>\n <Popover.Trigger asChild>\n <Button variant='ghost' classNames='gap-2 text-2xl plb-1' disabled={disabled}>\n <span className='sr-only'>{t('select emoji label')}</span>\n <span className='grow pis-14'>{emojiValue}</span>\n <Icon icon='ph--caret-down--regular' size={4} />\n </Button>\n </Popover.Trigger>\n <Popover.Content\n side='right'\n sideOffset={isMd ? 0 : -310}\n onKeyDownCapture={(event) => {\n if (event.key === 'Escape') {\n event.stopPropagation();\n setEmojiPickerOpen(false);\n }\n }}\n >\n <EmojiMart\n data={emojiData}\n onEmojiSelect={({ native }: { native?: string }) => {\n if (native) {\n setEmojiValue(native);\n setEmojiPickerOpen(false);\n }\n }}\n autoFocus={true}\n maxFrequentRows={0}\n noCountryFlags={true}\n />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Root>\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <Button variant='ghost' onClick={onClickClear} disabled={disabled}>\n <span className='sr-only'>{t('clear label')}</span>\n <Icon icon='ph--arrow-counter-clockwise--regular' size={5} />\n </Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content side='right'>\n {t('clear label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n </>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport React, { useRef, useState } from 'react';\n\nimport {\n Button,\n type ButtonProps,\n DropdownMenu,\n Icon,\n type ThemedClassName,\n Toolbar,\n Tooltip,\n useTranslation,\n} from '@dxos/react-ui';\nimport { hues, mx } from '@dxos/react-ui-theme';\n\nconst HuePreview = ({ hue }: { hue: string }) => {\n const size = 20;\n return (\n <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <rect x={0} y={0} width={size} height={size} fill={`var(--dx-${hue}Surface)`} />\n <text x='10' y='15' textAnchor='middle' fontSize='14' fontWeight='bold' fill={`var(--dx-${hue}SurfaceText)`}>\n T\n </text>\n </svg>\n );\n};\n\nexport type HuePickerProps = {\n disabled?: boolean;\n defaultHue?: string;\n hue?: string;\n onChangeHue?: (nextHue: string) => void;\n onClickClear?: ButtonProps['onClick'];\n};\n\n/**\n * A toolbar button for picking hue. Use only in `role=toolbar` elements. Unable to unset the value.\n */\nexport const HuePickerToolbarButton = ({\n disabled,\n hue,\n onChangeHue,\n classNames,\n defaultHue,\n}: ThemedClassName<Omit<HuePickerProps, 'onClickClear'>>) => {\n const { t } = useTranslation('os');\n\n const [hueValue, setHueValue] = useControllableState<string>({\n prop: hue,\n onChange: onChangeHue,\n defaultProp: defaultHue,\n });\n\n const [huePickerOpen, setHuePickerOpen] = useState<boolean>(false);\n\n const suppressNextTooltip = useRef<boolean>(false);\n const [triggerTooltipOpen, setTriggerTooltipOpen] = useState(false);\n\n return (\n <Tooltip.Root\n open={triggerTooltipOpen}\n onOpenChange={(nextOpen) => {\n if (suppressNextTooltip.current) {\n setTriggerTooltipOpen(false);\n suppressNextTooltip.current = false;\n } else {\n setTriggerTooltipOpen(nextOpen);\n }\n }}\n >\n <DropdownMenu.Root\n modal={false}\n open={huePickerOpen}\n onOpenChange={(nextOpen) => {\n setHuePickerOpen(nextOpen);\n suppressNextTooltip.current = true;\n }}\n >\n <Tooltip.Trigger asChild>\n <DropdownMenu.Trigger asChild>\n <Toolbar.Button classNames={mx('gap-2 plb-1', classNames)} disabled={disabled}>\n <span className='sr-only'>{t('select hue label')}</span>\n <Icon icon='ph--palette--regular' size={5} />\n </Toolbar.Button>\n </DropdownMenu.Trigger>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content side='bottom'>\n {t('select hue label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n <DropdownMenu.Portal>\n <DropdownMenu.Content side='bottom' classNames='!w-40'>\n <DropdownMenu.Viewport classNames='grid grid-cols-6'>\n {hues.map((hue) => {\n return (\n <DropdownMenu.CheckboxItem\n key={hue}\n checked={hue === hueValue}\n onCheckedChange={() => setHueValue(hue)}\n classNames={'px-0 py-2 items-center justify-center'}\n >\n <HuePreview hue={hue} />\n </DropdownMenu.CheckboxItem>\n );\n })}\n </DropdownMenu.Viewport>\n <DropdownMenu.Arrow />\n </DropdownMenu.Content>\n </DropdownMenu.Portal>\n </DropdownMenu.Root>\n </Tooltip.Root>\n );\n};\n\n/**\n * A button for picking hue alongside a button for unsetting it.\n */\nexport const HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }: HuePickerProps) => {\n const { t } = useTranslation('os');\n\n const [hueValue, setHueValue] = useControllableState<string>({\n prop: hue,\n onChange: onChangeHue,\n defaultProp: defaultHue,\n });\n\n return (\n <>\n <DropdownMenu.Root modal={false}>\n <DropdownMenu.Trigger asChild>\n <Button variant='ghost' classNames='gap-2 plb-1' disabled={disabled}>\n <span className='sr-only'>{t('select hue label')}</span>\n <div role='none' className='pis-14 grow flex items-center justify-center gap-2'>\n {hue ? (\n <>\n <HuePreview hue={hueValue!} />\n <span>{t(`${hueValue} label`)}</span>\n </>\n ) : (\n <span>{t('select a hue label')}</span>\n )}\n </div>\n <Icon icon='ph--caret-down--regular' size={4} />\n </Button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Portal>\n <DropdownMenu.Content side='right'>\n <DropdownMenu.Viewport>\n {hues.map((hue) => {\n return (\n <DropdownMenu.CheckboxItem\n key={hue}\n checked={hue === hueValue}\n onCheckedChange={() => setHueValue(hue)}\n >\n <HuePreview hue={hue} />\n <span className='grow'>{t(`${hue} label`)}</span>\n <DropdownMenu.ItemIndicator>\n <Icon icon='ph--check--regular' size={4} />\n </DropdownMenu.ItemIndicator>\n </DropdownMenu.CheckboxItem>\n );\n })}\n </DropdownMenu.Viewport>\n <DropdownMenu.Arrow />\n </DropdownMenu.Content>\n </DropdownMenu.Portal>\n </DropdownMenu.Root>\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <Button variant='ghost' onClick={onClickClear} disabled={disabled}>\n <span className='sr-only'>{t('clear label')}</span>\n <Icon icon='ph--arrow-counter-clockwise--regular' size={5} />\n </Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content side='right'>\n {t('clear label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n </>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_react_use_controllable_state", "import_react_ui", "EmojiPickerToolbarButton", "disabled", "defaultEmoji", "emoji", "onChangeEmoji", "classNames", "t", "useTranslation", "themeMode", "useThemeContext", "_emojiValue", "setEmojiValue", "useControllableState", "prop", "onChange", "defaultProp", "emojiPickerOpen", "setEmojiPickerOpen", "useState", "suppressNextTooltip", "useRef", "triggerTooltipOpen", "setTriggerTooltipOpen", "React", "Tooltip", "Root", "open", "onOpenChange", "nextOpen", "current", "Popover", "Trigger", "asChild", "Toolbar", "Button", "span", "className", "Icon", "icon", "size", "Portal", "Content", "side", "Arrow", "onKeyDownCapture", "event", "key", "stopPropagation", "EmojiMart", "data", "emojiData", "onEmojiSelect", "native", "autoFocus", "maxFrequentRows", "noCountryFlags", "theme", "EmojiPickerBlock", "onClickClear", "isMd", "useMediaQuery", "ssr", "emojiValue", "variant", "sideOffset", "onClick", "HuePreview", "hue", "svg", "width", "height", "viewBox", "rect", "x", "y", "fill", "text", "textAnchor", "fontSize", "fontWeight", "HuePickerToolbarButton", "onChangeHue", "defaultHue", "hueValue", "setHueValue", "huePickerOpen", "setHuePickerOpen", "DropdownMenu", "modal", "mx", "Viewport", "hues", "map", "CheckboxItem", "checked", "onCheckedChange", "HuePickerBlock", "div", "role", "ItemIndicator"]
7
7
  }
@@ -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":19368,"imports":[{"path":"@emoji-mart/data","kind":"import-statement","external":true},{"path":"@emoji-mart/react","kind":"import-statement","external":true},{"path":"@phosphor-icons/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":"@dxos/react-ui-theme","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/HuePicker.tsx":{"bytes":20029,"imports":[{"path":"@phosphor-icons/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":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-pickers/src/components/index.ts":{"bytes":611,"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"}],"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/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":21267},"packages/ui/react-ui-pickers/dist/lib/node/index.cjs":{"imports":[{"path":"@emoji-mart/data","kind":"import-statement","external":true},{"path":"@emoji-mart/react","kind":"import-statement","external":true},{"path":"@phosphor-icons/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":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@phosphor-icons/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":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["EmojiPickerBlock","EmojiPickerToolbarButton","HuePickerBlock","HuePickerToolbarButton"],"entryPoint":"packages/ui/react-ui-pickers/src/index.ts","cssBundle":"packages/ui/react-ui-pickers/dist/lib/node/index.css","inputs":{"packages/ui/react-ui-pickers/src/components/EmojiPicker.tsx":{"bytesInOutput":5216},"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":5891},"packages/ui/react-ui-pickers/src/index.ts":{"bytesInOutput":0}},"bytes":11370},"packages/ui/react-ui-pickers/dist/lib/node/index.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":1017},"packages/ui/react-ui-pickers/dist/lib/node/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/emoji.css":{"bytes":783,"imports":[]},"packages/ui/react-ui-pickers/src/components/EmojiPicker.tsx":{"bytes":19156,"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/HuePicker.tsx":{"bytes":20630,"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/index.ts":{"bytes":611,"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"}],"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/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":21213},"packages/ui/react-ui-pickers/dist/lib/node/index.cjs":{"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":"@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}],"exports":["EmojiPickerBlock","EmojiPickerToolbarButton","HuePickerBlock","HuePickerToolbarButton"],"entryPoint":"packages/ui/react-ui-pickers/src/index.ts","cssBundle":"packages/ui/react-ui-pickers/dist/lib/node/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":6083},"packages/ui/react-ui-pickers/src/index.ts":{"bytesInOutput":0}},"bytes":11516},"packages/ui/react-ui-pickers/dist/lib/node/index.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":1017},"packages/ui/react-ui-pickers/dist/lib/node/index.css":{"imports":[],"inputs":{"packages/ui/react-ui-pickers/src/components/emoji.css":{"bytesInOutput":146}},"bytes":244}}}