@frontify/fondue-components 29.0.0 → 29.0.1

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 (87) hide show
  1. package/dist/fondue-components111.js +15 -3
  2. package/dist/fondue-components111.js.map +1 -1
  3. package/dist/fondue-components112.js +127 -5
  4. package/dist/fondue-components112.js.map +1 -1
  5. package/dist/fondue-components113.js +11 -17
  6. package/dist/fondue-components113.js.map +1 -1
  7. package/dist/fondue-components114.js +36 -14
  8. package/dist/fondue-components114.js.map +1 -1
  9. package/dist/fondue-components115.js +14 -15
  10. package/dist/fondue-components115.js.map +1 -1
  11. package/dist/fondue-components116.js +15 -111
  12. package/dist/fondue-components116.js.map +1 -1
  13. package/dist/fondue-components117.js +110 -12
  14. package/dist/fondue-components117.js.map +1 -1
  15. package/dist/fondue-components118.js +13 -17
  16. package/dist/fondue-components118.js.map +1 -1
  17. package/dist/fondue-components119.js +17 -13
  18. package/dist/fondue-components119.js.map +1 -1
  19. package/dist/fondue-components120.js +12 -126
  20. package/dist/fondue-components120.js.map +1 -1
  21. package/dist/fondue-components121.js +217 -11
  22. package/dist/fondue-components121.js.map +1 -1
  23. package/dist/fondue-components122.js +17 -34
  24. package/dist/fondue-components122.js.map +1 -1
  25. package/dist/fondue-components123.js +14 -214
  26. package/dist/fondue-components123.js.map +1 -1
  27. package/dist/fondue-components124.js +149 -17
  28. package/dist/fondue-components124.js.map +1 -1
  29. package/dist/fondue-components125.js +44 -16
  30. package/dist/fondue-components125.js.map +1 -1
  31. package/dist/fondue-components126.js +4 -150
  32. package/dist/fondue-components126.js.map +1 -1
  33. package/dist/fondue-components127.js +4 -44
  34. package/dist/fondue-components127.js.map +1 -1
  35. package/dist/fondue-components128.js +28 -169
  36. package/dist/fondue-components128.js.map +1 -1
  37. package/dist/fondue-components130.js +41 -9
  38. package/dist/fondue-components130.js.map +1 -1
  39. package/dist/fondue-components131.js +6 -256
  40. package/dist/fondue-components131.js.map +1 -1
  41. package/dist/fondue-components132.js +11 -28
  42. package/dist/fondue-components132.js.map +1 -1
  43. package/dist/fondue-components133.js +74 -0
  44. package/dist/fondue-components133.js.map +1 -0
  45. package/dist/fondue-components134.js +14 -40
  46. package/dist/fondue-components134.js.map +1 -1
  47. package/dist/fondue-components135.js +7 -6
  48. package/dist/fondue-components135.js.map +1 -1
  49. package/dist/fondue-components136.js +88 -11
  50. package/dist/fondue-components136.js.map +1 -1
  51. package/dist/fondue-components137.js +79 -69
  52. package/dist/fondue-components137.js.map +1 -1
  53. package/dist/fondue-components138.js +30 -14
  54. package/dist/fondue-components138.js.map +1 -1
  55. package/dist/fondue-components139.js +170 -7
  56. package/dist/fondue-components139.js.map +1 -1
  57. package/dist/fondue-components140.js +57 -86
  58. package/dist/fondue-components140.js.map +1 -1
  59. package/dist/fondue-components141.js +9 -81
  60. package/dist/fondue-components141.js.map +1 -1
  61. package/dist/fondue-components142.js +254 -29
  62. package/dist/fondue-components142.js.map +1 -1
  63. package/dist/fondue-components145.js +2 -2
  64. package/dist/fondue-components147.js +2 -2
  65. package/dist/fondue-components148.js +1 -1
  66. package/dist/fondue-components43.js +2 -2
  67. package/dist/fondue-components50.js +1 -1
  68. package/dist/fondue-components60.js +2 -2
  69. package/dist/fondue-components61.js +3 -3
  70. package/dist/fondue-components62.js +2 -2
  71. package/dist/fondue-components74.js +2 -2
  72. package/dist/fondue-components77.js +1 -1
  73. package/dist/fondue-components78.js +1 -1
  74. package/dist/fondue-components79.js +1 -1
  75. package/dist/fondue-components82.js +1 -1
  76. package/dist/fondue-components84.js +2 -2
  77. package/dist/fondue-components90.js +2 -2
  78. package/dist/fondue-components91.js +2 -2
  79. package/dist/fondue-components92.js +2 -2
  80. package/dist/fondue-components93.js +2 -2
  81. package/dist/fondue-components94.js +1 -1
  82. package/dist/fondue-components95.js +1 -1
  83. package/dist/index.d.ts +2 -2
  84. package/dist/style.css +1 -1
  85. package/package.json +1 -1
  86. package/dist/fondue-components129.js +0 -63
  87. package/dist/fondue-components129.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components139.js","sources":["../src/components/Select/components/ClearButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Slot as RadixSlot } from '@radix-ui/react-slot';\nimport { type MouseEvent, type ReactNode } from 'react';\n\nimport styles from '../styles/select.module.scss';\n\ntype ClearButtonProps = {\n /** The clear button element to render inside the slot. */\n children: ReactNode;\n /** Callback fired when the clear button is clicked. */\n onClear: () => void;\n};\n\nexport const ClearButton = ({ children, onClear }: ClearButtonProps): ReactNode => {\n const handleClick = (event: MouseEvent): void => {\n event.stopPropagation();\n onClear();\n };\n\n return (\n <RadixSlot onClick={handleClick} className={styles.clear} role=\"button\" aria-label=\"Clear selection\">\n {children}\n </RadixSlot>\n );\n};\n"],"names":["ClearButton","children","onClear","jsx","RadixSlot","event","styles"],"mappings":";;;AAcO,MAAMA,IAAc,CAAC,EAAE,UAAAC,GAAU,SAAAC,QAOhC,gBAAAC,EAACC,GAAA,EAAU,SANK,CAACC,MAA4B;AAC7C,EAAAA,EAAM,gBAAA,GACNH,EAAA;AACJ,GAGqC,WAAWI,EAAO,OAAO,MAAK,UAAS,cAAW,mBAC9E,UAAAL,EAAA,CACL;"}
1
+ {"version":3,"file":"fondue-components139.js","sources":["../../../node_modules/.pnpm/@dnd-kit+state@0.3.2/node_modules/@dnd-kit/state/dist/index.mjs"],"sourcesContent":["var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for(\"Symbol.\" + name);\nvar __typeError = (msg) => {\n throw TypeError(msg);\n};\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __decoratorStart = (base) => {\n var _a2;\n return [, , , __create((_a2 = base == null ? void 0 : base[__knownSymbol(\"metadata\")]) != null ? _a2 : null)];\n};\nvar __decoratorStrings = [\"class\", \"method\", \"getter\", \"setter\", \"accessor\", \"field\", \"value\", \"get\", \"set\"];\nvar __expectFn = (fn) => fn !== void 0 && typeof fn !== \"function\" ? __typeError(\"Function expected\") : fn;\nvar __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError(\"Already initialized\") : fns.push(__expectFn(fn || null)) });\nvar __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol(\"metadata\"), array[3]);\nvar __runInitializers = (array, flags, self, value) => {\n for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);\n return value;\n};\nvar __decorateElement = (array, flags, name, decorators, target, extra) => {\n var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);\n var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];\n var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);\n var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {\n return __privateGet(this, extra);\n }, set [name](x) {\n return __privateSet(this, extra, x);\n } }, name));\n k ? p && k < 4 && __name(extra, (k > 2 ? \"set \" : k > 1 ? \"get \" : \"\") + name) : __name(target, name);\n for (var i = decorators.length - 1; i >= 0; i--) {\n ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);\n if (k) {\n ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };\n if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];\n if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;\n }\n it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;\n if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);\n else if (typeof it !== \"object\" || it === null) __typeError(\"Object expected\");\n else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);\n }\n return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the \"in\" operator on this value') : member.has(obj);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar __privateMethod = (obj, member, method) => (__accessCheck(obj, member, \"access private method\"), method);\n\n// src/index.ts\nimport {\n batch as batch2,\n effect as effect2,\n untracked as untracked3,\n signal as signal2,\n Signal\n} from \"@preact/signals-core\";\n\n// src/computed.ts\nimport {\n computed as computedSignal\n} from \"@preact/signals-core\";\nfunction computed(compute, comparator) {\n if (comparator) {\n let previousValue;\n return computedSignal(() => {\n const value = compute();\n if (value && previousValue && comparator(previousValue, value)) {\n return previousValue;\n }\n previousValue = value;\n return value;\n });\n }\n return computedSignal(compute);\n}\n\n// src/comparators.ts\nfunction deepEqual(a, b) {\n if (Object.is(a, b)) {\n return true;\n }\n if (a === null || b === null) return false;\n if (typeof a === \"function\" && typeof b === \"function\") {\n return a === b;\n }\n if (a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) {\n return false;\n }\n for (const value of a) {\n if (!b.has(value)) {\n return false;\n }\n }\n return true;\n }\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n const hasDifferentValues = a.some(\n (value, index) => !deepEqual(value, b[index])\n );\n return !hasDifferentValues;\n }\n if (typeof a === \"object\" && typeof b === \"object\") {\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) return false;\n const hasDifferentValues = aKeys.some(\n (key) => !deepEqual(a[key], b[key])\n );\n return !hasDifferentValues;\n }\n return false;\n}\n\n// src/decorators.ts\nimport { signal } from \"@preact/signals-core\";\nfunction reactive({ get }, _) {\n return {\n init(value) {\n return signal(value);\n },\n get() {\n const current = get.call(this);\n return current.value;\n },\n set(newValue) {\n const current = get.call(this);\n if (current.peek() === newValue) {\n return;\n }\n current.value = newValue;\n }\n };\n}\nfunction derived(target, _) {\n const map = /* @__PURE__ */ new WeakMap();\n return function() {\n let result = map.get(this);\n if (!result) {\n result = computed(target.bind(this));\n map.set(this, result);\n }\n return result.value;\n };\n}\nfunction enumerable(enumerable2 = true) {\n return function(_value, context) {\n context.addInitializer(function() {\n const host = context.kind === \"field\" ? this : context.static ? this : Object.getPrototypeOf(this);\n const descriptor = Object.getOwnPropertyDescriptor(host, context.name);\n if (descriptor) {\n Object.defineProperty(host, context.name, __spreadProps(__spreadValues({}, descriptor), { enumerable: enumerable2 }));\n }\n });\n };\n}\n\n// src/effects.ts\nimport { effect } from \"@preact/signals-core\";\nfunction effects(...entries) {\n const effects2 = entries.map((fn) => effect(fn));\n return () => effects2.forEach((cleanup) => cleanup());\n}\n\n// src/history.ts\nimport { batch, untracked } from \"@preact/signals-core\";\nvar _previous_dec, _initial_dec, _current_dec, _current_dec2, _previous_dec2, _initial_dec2, _init, _initial, _a, initial_get, initial_set, _ValueHistory_instances, _previous, _b, previous_get, previous_set, _current, _c, current_get, current_set;\n_initial_dec2 = [reactive], _previous_dec2 = [reactive], _current_dec2 = [reactive], _current_dec = [enumerable()], _initial_dec = [enumerable()], _previous_dec = [enumerable()];\nvar ValueHistory = class {\n constructor(defaultValue, equals = Object.is) {\n this.defaultValue = defaultValue;\n this.equals = equals;\n __runInitializers(_init, 5, this);\n __privateAdd(this, _ValueHistory_instances);\n // @ts-ignore\n __privateAdd(this, _initial, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);\n // @ts-ignore\n __privateAdd(this, _previous, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);\n // @ts-ignore\n __privateAdd(this, _current, __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);\n this.reset = this.reset.bind(this);\n this.reset();\n }\n get current() {\n return __privateGet(this, _ValueHistory_instances, current_get);\n }\n get initial() {\n return __privateGet(this, _ValueHistory_instances, initial_get);\n }\n get previous() {\n return __privateGet(this, _ValueHistory_instances, previous_get);\n }\n /** Set the current value */\n set current(value) {\n const current = untracked(() => __privateGet(this, _ValueHistory_instances, current_get));\n if (value && current && this.equals(current, value)) {\n return;\n }\n batch(() => {\n if (!__privateGet(this, _ValueHistory_instances, initial_get)) {\n __privateSet(this, _ValueHistory_instances, value, initial_set);\n }\n __privateSet(this, _ValueHistory_instances, current, previous_set);\n __privateSet(this, _ValueHistory_instances, value, current_set);\n });\n }\n /** Reset the state to the initial value */\n reset(value = this.defaultValue) {\n batch(() => {\n __privateSet(this, _ValueHistory_instances, void 0, previous_set);\n __privateSet(this, _ValueHistory_instances, value, initial_set);\n __privateSet(this, _ValueHistory_instances, value, current_set);\n });\n }\n};\n_init = __decoratorStart(null);\n_initial = new WeakMap();\n_ValueHistory_instances = new WeakSet();\n_previous = new WeakMap();\n_current = new WeakMap();\n_a = __decorateElement(_init, 20, \"#initial\", _initial_dec2, _ValueHistory_instances, _initial), initial_get = _a.get, initial_set = _a.set;\n_b = __decorateElement(_init, 20, \"#previous\", _previous_dec2, _ValueHistory_instances, _previous), previous_get = _b.get, previous_set = _b.set;\n_c = __decorateElement(_init, 20, \"#current\", _current_dec2, _ValueHistory_instances, _current), current_get = _c.get, current_set = _c.set;\n__decorateElement(_init, 2, \"current\", _current_dec, ValueHistory);\n__decorateElement(_init, 2, \"initial\", _initial_dec, ValueHistory);\n__decorateElement(_init, 2, \"previous\", _previous_dec, ValueHistory);\n__decoratorMetadata(_init, ValueHistory);\n\n// src/snapshot.ts\nimport { untracked as untracked2 } from \"@preact/signals-core\";\nfunction snapshot(value) {\n return untracked2(() => {\n const output = {};\n for (const key in value) {\n output[key] = value[key];\n }\n return output;\n });\n}\n\n// src/store.ts\nvar _store;\nvar WeakStore = class {\n constructor() {\n __privateAdd(this, _store, /* @__PURE__ */ new WeakMap());\n }\n get(key, id) {\n var _a2;\n return key ? (_a2 = __privateGet(this, _store).get(key)) == null ? void 0 : _a2.get(id) : void 0;\n }\n set(key, id, value) {\n var _a2;\n if (!key) return;\n if (!__privateGet(this, _store).has(key)) __privateGet(this, _store).set(key, /* @__PURE__ */ new Map());\n return (_a2 = __privateGet(this, _store).get(key)) == null ? void 0 : _a2.set(id, value);\n }\n clear(key) {\n var _a2;\n return key ? (_a2 = __privateGet(this, _store).get(key)) == null ? void 0 : _a2.clear() : void 0;\n }\n};\n_store = new WeakMap();\nexport {\n Signal,\n ValueHistory,\n WeakStore,\n batch2 as batch,\n computed,\n deepEqual,\n derived,\n effect2 as effect,\n effects,\n enumerable,\n reactive,\n signal2 as signal,\n snapshot,\n untracked3 as untracked\n};\n"],"names":["__create","__defProp","__defProps","__getOwnPropDesc","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__knownSymbol","name","symbol","__typeError","msg","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","__spreadProps","__name","target","__decoratorStart","base","_a2","__decoratorStrings","__expectFn","fn","__decoratorContext","kind","done","metadata","fns","__decoratorMetadata","array","__runInitializers","flags","self","i","n","__decorateElement","decorators","extra","it","ctx","access","k","s","p","j","initializers","extraInitializers","desc","__privateGet","x","__privateSet","__privateIn","__privateMethod","y","__accessCheck","member","getter","__privateAdd","setter","method","computed","compute","comparator","previousValue","computedSignal","deepEqual","index","aKeys","bKeys","reactive","get","_","signal","newValue","current","derived","map","result","enumerable","enumerable2","_value","context","host","descriptor","effects","entries","effects2","effect","cleanup","_previous_dec","_initial_dec","_current_dec","_current_dec2","_previous_dec2","_initial_dec2","_init","_initial","_a","initial_get","initial_set","_ValueHistory_instances","_previous","_b","previous_get","previous_set","_current","_c","current_get","current_set","ValueHistory","defaultValue","equals","untracked","batch","_store","WeakStore","id"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,92 +1,63 @@
1
- import { jsxs as S, jsx as f } from "react/jsx-runtime";
2
- import { useRef as m, useState as C, useEffect as _ } from "react";
3
- import { Badge as w } from "./fondue-components4.js";
4
- import { useTranslation as I } from "./fondue-components42.js";
5
- import p from "./fondue-components127.js";
6
- const W = 4, D = 40, E = 24, M = (r, h, u, o) => {
7
- const g = r.offsetWidth;
8
- let s = o ? E + W : 0, n = 0;
9
- for (const d of u) {
10
- const a = h.get(d.value);
11
- if (!a)
12
- continue;
13
- const l = a.offsetWidth, i = n > 0 ? l + W : l, c = u.length - n - 1 > 0 ? D + W : 0;
14
- if (s + i + c > g)
15
- break;
16
- s += i, n++;
17
- }
18
- return Math.max(1, n);
19
- }, x = ({
20
- items: r,
21
- placeholder: h,
22
- onDismiss: u,
23
- children: o,
24
- selectedCount: g = 0
25
- }) => {
26
- const { t: s } = I(), n = m(!1), d = m(null), a = m(/* @__PURE__ */ new Map()), [l, i] = C(r.length), b = o !== void 0;
27
- if (_(() => {
28
- const e = d.current;
29
- if (!e)
1
+ import { useEffect as m, useLayoutEffect as w, useRef as i, useMemo as y, useState as E, useCallback as k } from "react";
2
+ import "./fondue-components139.js";
3
+ import { flushSync as O } from "react-dom";
4
+ import { currentValue as d } from "./fondue-components141.js";
5
+ import { effect as S, untracked as V } from "./fondue-components142.js";
6
+ var M = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", p = M ? w : m;
7
+ function U() {
8
+ const e = E(0)[1];
9
+ return k(() => {
10
+ e((t) => t + 1);
11
+ }, [e]);
12
+ }
13
+ function D(e, t) {
14
+ const n = i(/* @__PURE__ */ new Map()), r = U();
15
+ return p(() => {
16
+ if (!e) {
17
+ n.current.clear();
30
18
  return;
31
- const v = () => {
32
- if (r.length === 0) {
33
- i(0);
34
- return;
19
+ }
20
+ return S(() => {
21
+ var o;
22
+ let c = !1, u = !1;
23
+ for (const a of n.current) {
24
+ const [f] = a, l = V(() => a[1]), s = e[f];
25
+ l !== s && (c = !0, n.current.set(f, s), u = (o = t == null ? void 0 : t(f, l, s)) != null ? o : !1);
35
26
  }
36
- i(M(e, a.current, r, b));
37
- }, t = new ResizeObserver(v);
38
- return t.observe(e), () => {
39
- t.disconnect();
40
- };
41
- }, [r, b]), r.length === 0 && !o)
42
- return h;
43
- const c = r.length - l, y = (e) => e === 1 ? s("Select_singleItemSelected") : e > 1 ? s("Select_multipleItemsSelected", { count: e.toString() }) : "";
44
- return /* @__PURE__ */ S("div", { ref: d, className: p.badgesContainer, children: [
45
- /* @__PURE__ */ f("span", { className: p.srOnly, "aria-live": "polite", "aria-atomic": "true", children: y(g) }),
46
- o,
47
- r.map((e, v) => /* @__PURE__ */ f(
48
- "div",
49
- {
50
- ref: (t) => {
51
- t ? a.current.set(e.value, t) : a.current.delete(e.value);
52
- },
53
- role: "presentation",
54
- className: p.badgeWrapper,
55
- "data-visible": v < l,
56
- onKeyDown: (t) => {
57
- (t.key === "Enter" || t.key === " ") && t.stopPropagation();
58
- },
59
- onMouseDown: () => {
60
- n.current = !0;
61
- },
62
- children: /* @__PURE__ */ f(
63
- w,
64
- {
65
- emphasis: "weak",
66
- "aria-label": typeof e.displayValue == "string" ? e.displayValue : e.value,
67
- onDismiss: (t) => {
68
- t.stopPropagation(), u(e.value, n.current), n.current = !1;
69
- },
70
- children: e.displayValue
71
- }
72
- )
73
- },
74
- e.value
75
- )),
76
- c > 0 && /* @__PURE__ */ f(
77
- "div",
78
- {
79
- className: p.badgeWrapper,
80
- "aria-label": s("Select_additionalItemsSelected", { count: c.toString() }),
81
- children: /* @__PURE__ */ S(w, { emphasis: "weak", "aria-hidden": "true", children: [
82
- "+",
83
- c
84
- ] })
27
+ c && (u ? O(r) : r());
28
+ });
29
+ }, [e]), y(
30
+ () => e && new Proxy(e, {
31
+ get(o, c) {
32
+ const u = o[c];
33
+ return n.current.set(c, u), u;
85
34
  }
86
- )
87
- ] });
88
- };
35
+ }),
36
+ [e]
37
+ );
38
+ }
39
+ function I(e, t) {
40
+ e();
41
+ }
42
+ function L(e, t, n = m, r = Object.is) {
43
+ const o = i(e);
44
+ n(() => {
45
+ const c = o.current;
46
+ r(e, c) || (o.current = e, t(e, c));
47
+ }, [t, e]);
48
+ }
49
+ function _(e, t) {
50
+ const n = i(d(e));
51
+ p(() => {
52
+ const r = d(e);
53
+ r !== n.current && (n.current = r, t(r));
54
+ });
55
+ }
89
56
  export {
90
- x as CollapsibleBadges
57
+ D as useDeepSignal,
58
+ I as useImmediateEffect,
59
+ p as useIsomorphicLayoutEffect,
60
+ _ as useOnElementChange,
61
+ L as useOnValueChange
91
62
  };
92
63
  //# sourceMappingURL=fondue-components140.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components140.js","sources":["../src/components/Select/components/CollapsibleBadges.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useEffect, useRef, useState, type KeyboardEvent, type ReactNode } from 'react';\n\nimport { Badge } from '#/components/Badge/Badge';\nimport { useTranslation } from '#/hooks/useTranslation';\n\nimport styles from '../styles/select.module.scss';\n\nconst BADGE_GAP = 4;\nconst OVERFLOW_BADGE_MIN_WIDTH = 40;\nconst INPUT_MIN_WIDTH = 24;\n\ntype BadgeItem = {\n value: string;\n displayValue: ReactNode;\n};\n\ntype CollapsibleBadgesProps = {\n items: BadgeItem[];\n placeholder?: string;\n onDismiss: (value: string, preventFocusRing: boolean) => void;\n /** Optional children to render at the end (e.g., an input field). Space is reserved in the layout calculation. */\n children?: ReactNode;\n /** Total number of selected items (for screen reader announcements). */\n selectedCount?: number;\n};\n\nconst calculateVisibleCount = (\n container: HTMLDivElement,\n badgeElements: Map<string, HTMLDivElement>,\n items: BadgeItem[],\n hasInputSlot: boolean,\n): number => {\n const containerWidth = container.offsetWidth;\n let usedWidth = hasInputSlot ? INPUT_MIN_WIDTH + BADGE_GAP : 0;\n let count = 0;\n\n for (const item of items) {\n const badgeElement = badgeElements.get(item.value);\n if (!badgeElement) {\n continue;\n }\n\n const badgeWidth = badgeElement.offsetWidth;\n const widthWithGap = count > 0 ? badgeWidth + BADGE_GAP : badgeWidth;\n const hasMoreAfterThis = items.length - count - 1 > 0;\n const reservedWidth = hasMoreAfterThis ? OVERFLOW_BADGE_MIN_WIDTH + BADGE_GAP : 0;\n\n if (usedWidth + widthWithGap + reservedWidth > containerWidth) {\n break;\n }\n\n usedWidth += widthWithGap;\n count++;\n }\n\n return Math.max(1, count);\n};\n\nexport const CollapsibleBadges = ({\n items,\n placeholder,\n onDismiss,\n children,\n selectedCount = 0,\n}: CollapsibleBadgesProps): ReactNode => {\n const { t } = useTranslation();\n const wasClickedRef = useRef(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const badgeElementsRef = useRef<Map<string, HTMLDivElement>>(new Map());\n const [visibleCount, setVisibleCount] = useState(items.length);\n const hasChildren = children !== undefined;\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) {\n return;\n }\n\n const recalculate = (): void => {\n if (items.length === 0) {\n setVisibleCount(0);\n return;\n }\n setVisibleCount(calculateVisibleCount(container, badgeElementsRef.current, items, hasChildren));\n };\n\n const observer = new ResizeObserver(recalculate);\n observer.observe(container);\n return (): void => {\n observer.disconnect();\n };\n }, [items, hasChildren]);\n\n if (items.length === 0 && !children) {\n return placeholder;\n }\n\n const overflowCount = items.length - visibleCount;\n\n const getSelectedCountText = (count: number): string => {\n if (count === 1) {\n return t('Select_singleItemSelected');\n }\n if (count > 1) {\n return t('Select_multipleItemsSelected', { count: count.toString() });\n }\n return '';\n };\n\n return (\n <div ref={containerRef} className={styles.badgesContainer}>\n <span className={styles.srOnly} aria-live=\"polite\" aria-atomic=\"true\">\n {getSelectedCountText(selectedCount)}\n </span>\n {children}\n {items.map((item, index) => (\n <div\n key={item.value}\n ref={(element): void => {\n if (element) {\n badgeElementsRef.current.set(item.value, element);\n } else {\n badgeElementsRef.current.delete(item.value);\n }\n }}\n role=\"presentation\"\n className={styles.badgeWrapper}\n data-visible={index < visibleCount}\n onKeyDown={(event: KeyboardEvent<HTMLDivElement>): void => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.stopPropagation();\n }\n }}\n onMouseDown={(): void => {\n wasClickedRef.current = true;\n }}\n >\n <Badge\n emphasis=\"weak\"\n aria-label={typeof item.displayValue === 'string' ? item.displayValue : item.value}\n onDismiss={(event) => {\n event.stopPropagation();\n onDismiss(item.value, wasClickedRef.current);\n wasClickedRef.current = false;\n }}\n >\n {item.displayValue}\n </Badge>\n </div>\n ))}\n {overflowCount > 0 && (\n <div\n className={styles.badgeWrapper}\n aria-label={t('Select_additionalItemsSelected', { count: overflowCount.toString() })}\n >\n <Badge emphasis=\"weak\" aria-hidden=\"true\">\n +{overflowCount}\n </Badge>\n </div>\n )}\n </div>\n );\n};\n"],"names":["BADGE_GAP","OVERFLOW_BADGE_MIN_WIDTH","INPUT_MIN_WIDTH","calculateVisibleCount","container","badgeElements","items","hasInputSlot","containerWidth","usedWidth","count","item","badgeElement","badgeWidth","widthWithGap","reservedWidth","CollapsibleBadges","placeholder","onDismiss","children","selectedCount","t","useTranslation","wasClickedRef","useRef","containerRef","badgeElementsRef","visibleCount","setVisibleCount","useState","hasChildren","useEffect","recalculate","observer","overflowCount","getSelectedCountText","styles","jsx","index","element","event","Badge","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"fondue-components140.js","sources":["../../../node_modules/.pnpm/@dnd-kit+react@0.3.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/react/hooks.js"],"sourcesContent":["import { useLayoutEffect, useEffect, useRef, useMemo, useState, useCallback } from 'react';\nimport { computed, effect, untracked } from '@dnd-kit/state';\nimport { flushSync } from 'react-dom';\nimport { currentValue } from '@dnd-kit/react/utilities';\n\nfunction useConstant(initializer) {\n const ref = useRef(null);\n if (!ref.current) {\n ref.current = initializer();\n }\n return ref.current;\n}\nvar canUseDOM = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\nvar useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\nfunction useForceUpdate() {\n const setState = useState(0)[1];\n return useCallback(() => {\n setState((value) => value + 1);\n }, [setState]);\n}\n\n// src/hooks/useSignal.ts\nfunction useSignal(signal, sync = false) {\n const previous = useRef(signal.peek());\n const read = useRef(false);\n const forceUpdate = useForceUpdate();\n useIsomorphicLayoutEffect(\n () => effect(() => {\n const previousValue = previous.current;\n const currentValue2 = signal.value;\n if (previousValue !== currentValue2) {\n previous.current = currentValue2;\n if (!read.current) return;\n if (sync) {\n flushSync(forceUpdate);\n } else {\n forceUpdate();\n }\n }\n }),\n [signal, sync, forceUpdate]\n );\n return {\n get value() {\n read.current = true;\n return signal.peek();\n }\n };\n}\n\n// src/hooks/useComputed.ts\nfunction useComputed(compute, dependencies = [], sync = false) {\n const $compute = useRef(compute);\n $compute.current = compute;\n return useSignal(\n useMemo(() => computed(() => $compute.current()), dependencies),\n sync\n );\n}\nfunction useDeepSignal(target, synchronous) {\n const tracked = useRef(/* @__PURE__ */ new Map());\n const forceUpdate = useForceUpdate();\n useIsomorphicLayoutEffect(() => {\n if (!target) {\n tracked.current.clear();\n return;\n }\n return effect(() => {\n var _a;\n let stale = false;\n let sync = false;\n for (const entry of tracked.current) {\n const [key] = entry;\n const value = untracked(() => entry[1]);\n const latestValue = target[key];\n if (value !== latestValue) {\n stale = true;\n tracked.current.set(key, latestValue);\n sync = (_a = synchronous == null ? void 0 : synchronous(key, value, latestValue)) != null ? _a : false;\n }\n }\n if (stale) {\n sync ? flushSync(forceUpdate) : forceUpdate();\n }\n });\n }, [target]);\n return useMemo(\n () => target ? new Proxy(target, {\n get(target2, key) {\n const value = target2[key];\n tracked.current.set(key, value);\n return value;\n }\n }) : target,\n [target]\n );\n}\n\n// src/hooks/useImmediateEffect.ts\nfunction useImmediateEffect(callback, _) {\n callback();\n}\nfunction useLatest(value) {\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n valueRef.current = value;\n }, [value]);\n return valueRef;\n}\nfunction useOnValueChange(value, onChange, effect3 = useEffect, compare = Object.is) {\n const tracked = useRef(value);\n effect3(() => {\n const oldValue = tracked.current;\n if (!compare(value, oldValue)) {\n tracked.current = value;\n onChange(value, oldValue);\n }\n }, [onChange, value]);\n}\nfunction useOnElementChange(value, onChange) {\n const previous = useRef(currentValue(value));\n useIsomorphicLayoutEffect(() => {\n const current = currentValue(value);\n if (current !== previous.current) {\n previous.current = current;\n onChange(current);\n }\n });\n}\n\nexport { useComputed, useConstant, useDeepSignal, useImmediateEffect, useIsomorphicLayoutEffect, useLatest, useOnElementChange, useOnValueChange };\n//# sourceMappingURL=hooks.js.map\n//# sourceMappingURL=hooks.js.map"],"names":["canUseDOM","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","useForceUpdate","setState","useState","useCallback","value","useDeepSignal","target","synchronous","tracked","useRef","forceUpdate","effect","_a","stale","sync","entry","key","untracked","latestValue","flushSync","useMemo","target2","useImmediateEffect","callback","_","useOnValueChange","onChange","effect3","compare","oldValue","useOnElementChange","previous","currentValue","current"],"mappings":";;;;;AAYA,IAAIA,IAAY,OAAO,SAAW,OAAe,OAAO,OAAO,WAAa,OAAe,OAAO,OAAO,SAAS,gBAAkB,KAChIC,IAA4BD,IAAYE,IAAkBC;AAC9D,SAASC,IAAiB;AACxB,QAAMC,IAAWC,EAAS,CAAC,EAAE,CAAC;AAC9B,SAAOC,EAAY,MAAM;AACvB,IAAAF,EAAS,CAACG,MAAUA,IAAQ,CAAC;AAAA,EAC/B,GAAG,CAACH,CAAQ,CAAC;AACf;AAwCA,SAASI,EAAcC,GAAQC,GAAa;AAC1C,QAAMC,IAAUC,EAAuB,oBAAI,KAAK,GAC1CC,IAAcV,EAAc;AAClC,SAAAH,EAA0B,MAAM;AAC9B,QAAI,CAACS,GAAQ;AACX,MAAAE,EAAQ,QAAQ,MAAK;AACrB;AAAA,IACF;AACA,WAAOG,EAAO,MAAM;AAClB,UAAIC;AACJ,UAAIC,IAAQ,IACRC,IAAO;AACX,iBAAWC,KAASP,EAAQ,SAAS;AACnC,cAAM,CAACQ,CAAG,IAAID,GACRX,IAAQa,EAAU,MAAMF,EAAM,CAAC,CAAC,GAChCG,IAAcZ,EAAOU,CAAG;AAC9B,QAAIZ,MAAUc,MACZL,IAAQ,IACRL,EAAQ,QAAQ,IAAIQ,GAAKE,CAAW,GACpCJ,KAAQF,IAAKL,KAAe,OAAO,SAASA,EAAYS,GAAKZ,GAAOc,CAAW,MAAM,OAAON,IAAK;AAAA,MAErG;AACA,MAAIC,MACFC,IAAOK,EAAUT,CAAW,IAAIA,EAAW;AAAA,IAE/C,CAAC;AAAA,EACH,GAAG,CAACJ,CAAM,CAAC,GACJc;AAAA,IACL,MAAMd,KAAS,IAAI,MAAMA,GAAQ;AAAA,MAC/B,IAAIe,GAASL,GAAK;AAChB,cAAMZ,IAAQiB,EAAQL,CAAG;AACzB,eAAAR,EAAQ,QAAQ,IAAIQ,GAAKZ,CAAK,GACvBA;AAAA,MACT;AAAA,IACN,CAAK;AAAA,IACD,CAACE,CAAM;AAAA,EACX;AACA;AAGA,SAASgB,EAAmBC,GAAUC,GAAG;AACvC,EAAAD,EAAQ;AACV;AAQA,SAASE,EAAiBrB,GAAOsB,GAAUC,IAAU5B,GAAW6B,IAAU,OAAO,IAAI;AACnF,QAAMpB,IAAUC,EAAOL,CAAK;AAC5B,EAAAuB,EAAQ,MAAM;AACZ,UAAME,IAAWrB,EAAQ;AACzB,IAAKoB,EAAQxB,GAAOyB,CAAQ,MAC1BrB,EAAQ,UAAUJ,GAClBsB,EAAStB,GAAOyB,CAAQ;AAAA,EAE5B,GAAG,CAACH,GAAUtB,CAAK,CAAC;AACtB;AACA,SAAS0B,EAAmB1B,GAAOsB,GAAU;AAC3C,QAAMK,IAAWtB,EAAOuB,EAAa5B,CAAK,CAAC;AAC3C,EAAAP,EAA0B,MAAM;AAC9B,UAAMoC,IAAUD,EAAa5B,CAAK;AAClC,IAAI6B,MAAYF,EAAS,YACvBA,EAAS,UAAUE,GACnBP,EAASO,CAAO;AAAA,EAEpB,CAAC;AACH;","x_google_ignoreList":[0]}
@@ -1,84 +1,12 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import * as p from "@radix-ui/react-popover";
3
- import { Slot as M } from "@radix-ui/react-slot";
4
- import { isValidElement as T } from "react";
5
- import { useFondueTheme as E, ThemeProvider as F } from "./fondue-components39.js";
6
- import a from "./fondue-components127.js";
7
- import { recursiveMap as R, getSelectOptionValue as _ } from "./fondue-components149.js";
8
- const j = ({
9
- highlightedIndex: l,
10
- getMenuProps: u,
11
- getItemProps: m,
12
- children: f,
13
- filterText: d,
14
- align: h,
15
- side: P,
16
- selectedItemValues: o,
17
- hasInteractedSinceOpening: S,
18
- viewportCollisionPadding: g = "compact",
19
- onEscapeKeyDown: v
20
- }) => {
21
- const O = (e) => {
22
- e.preventDefault();
23
- }, N = {
24
- compact: 8,
25
- spacious: 24
26
- }, { theme: A, dir: n } = E(), C = (e) => n === "ltr" ? e : e === "left" ? "right" : e === "right" ? "left" : e;
27
- return /* @__PURE__ */ r(p.Portal, { children: /* @__PURE__ */ r(F, { theme: A, dir: n, children: /* @__PURE__ */ r(
28
- p.Content,
29
- {
30
- dir: n,
31
- align: h,
32
- side: C(P),
33
- collisionPadding: N[g] + 8,
34
- onOpenAutoFocus: O,
35
- onEscapeKeyDown: v,
36
- className: a.portal,
37
- children: /* @__PURE__ */ r(
38
- "ul",
39
- {
40
- className: a.menu,
41
- ...u({}, { suppressRefError: !0 }),
42
- "data-has-interacted": S ? "true" : "false",
43
- "data-test-id": "fondue-select-menu",
44
- children: R(
45
- f,
46
- (e, s) => {
47
- if (((t) => (
48
- // @ts-expect-error - We are explicitly checking for ref
49
- T(t) && t.ref !== void 0
50
- ))(e)) {
51
- const t = _(e.props), i = m({
52
- item: t,
53
- index: s,
54
- ...e.ref ? { ref: e.ref } : {}
55
- }), c = o == null ? void 0 : o.includes(t.value);
56
- return /* @__PURE__ */ r(
57
- M,
58
- {
59
- className: a.item,
60
- "data-highlighted": l === s,
61
- "data-selected": c,
62
- onTouchStart: (D) => {
63
- i.onClick && i.onClick(D);
64
- },
65
- ...i,
66
- "aria-selected": c,
67
- children: e
68
- },
69
- e.props.value
70
- );
71
- }
72
- },
73
- d
74
- ).parsedChildren
75
- }
76
- )
77
- }
78
- ) }) });
79
- };
80
- j.displayName = "Select.Menu";
1
+ function t(r) {
2
+ return r != null && typeof r == "object" && "current" in r;
3
+ }
4
+ function i(r) {
5
+ var n;
6
+ if (r != null)
7
+ return t(r) ? (n = r.current) != null ? n : void 0 : r;
8
+ }
81
9
  export {
82
- j as SelectMenu
10
+ i as currentValue
83
11
  };
84
12
  //# sourceMappingURL=fondue-components141.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components141.js","sources":["../src/components/Select/components/SelectMenu.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { Slot as RadixSlot } from '@radix-ui/react-slot';\nimport { type UseComboboxPropGetters, type UseSelectPropGetters } from 'downshift';\nimport { isValidElement, type ForwardedRef, type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport { ThemeProvider, useFondueTheme } from '#/components/ThemeProvider/ThemeProvider';\n\nimport styles from '../styles/select.module.scss';\nimport { getSelectOptionValue, recursiveMap } from '../utils';\n\nimport { type SelectItemProps } from './SelectItem';\n\nexport type SelectMenuViewportCollisionPadding = 'compact' | 'spacious';\n\nexport type SelectMenuProps = {\n /**\n * @internal\n * The index of the highlighted item in the menu.\n */\n highlightedIndex: number;\n /**\n * @internal\n * Callback function to retrieve the props for a menu element.\n */\n getMenuProps: UseSelectPropGetters<unknown>['getMenuProps'] | UseComboboxPropGetters<unknown>['getMenuProps'];\n /**\n * @internal\n * Callback function to retrieve the props for a item element.\n */\n getItemProps: UseSelectPropGetters<unknown>['getItemProps'] | UseComboboxPropGetters<unknown>['getItemProps'];\n /**\n * @internal\n * The children of the menu component. This can contain multiple `Select.Item` or `Select.Group` components.\n */\n children: ReactNode;\n /**\n * @internal\n * The filter text shown in the combobox input element.\n */\n filterText?: string;\n /**\n * @internal\n * The alignment of the menu.\n */\n align: 'start' | 'center' | 'end';\n /**\n * @internal\n * Defines the preferred side of the select. It will not be respected if there are collisions with the viewport.\n * @default \"bottom\"\n */\n side: 'left' | 'right' | 'bottom' | 'top';\n /**\n * @internal\n * The type of the menu.\n */\n selectedItemValues?: string[];\n /**\n * @internal\n * A boolean to indicate if highlighted item was changed since opening the menu.\n * This is used to determine the style of the selected/highlighted item.\n */\n hasInteractedSinceOpening?: boolean;\n /**\n * Define the minimum distance between the select menu and the viewport edge\n * @default 'compact'\n */\n viewportCollisionPadding?: SelectMenuViewportCollisionPadding;\n /**\n * @internal\n * Event handler called when the escape key is pressed.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n};\n\nexport const SelectMenu = ({\n highlightedIndex,\n getMenuProps,\n getItemProps,\n children,\n filterText,\n align,\n side,\n selectedItemValues,\n hasInteractedSinceOpening,\n viewportCollisionPadding = 'compact',\n onEscapeKeyDown,\n}: SelectMenuProps) => {\n const handleOnOpenAutoFocus = (event: Event) => {\n event.preventDefault();\n };\n\n const VIEWPORT_COLLISION_PADDING_MAP: Record<SelectMenuViewportCollisionPadding, number> = {\n compact: 8,\n spacious: 24,\n };\n\n const { theme, dir } = useFondueTheme();\n\n const getAdjustedSide = (side: 'left' | 'right' | 'bottom' | 'top') => {\n if (dir === 'ltr') {\n return side;\n }\n\n if (side === 'left') {\n return 'right';\n }\n if (side === 'right') {\n return 'left';\n }\n\n return side;\n };\n\n return (\n <RadixPopover.Portal>\n <ThemeProvider theme={theme} dir={dir}>\n <RadixPopover.Content\n dir={dir}\n align={align}\n side={getAdjustedSide(side)}\n collisionPadding={VIEWPORT_COLLISION_PADDING_MAP[viewportCollisionPadding] + 8}\n onOpenAutoFocus={handleOnOpenAutoFocus}\n onEscapeKeyDown={onEscapeKeyDown}\n className={styles.portal}\n >\n <ul\n className={styles.menu}\n // TODO: fix this accessibility issue\n // We are mounting/unmounting the menu on open/close\n // We should instead toggle its visibility for accessibility reasons\n // https://github.com/downshift-js/downshift?tab=readme-ov-file#getmenuprops\n {...getMenuProps({}, { suppressRefError: true })}\n data-has-interacted={hasInteractedSinceOpening ? 'true' : 'false'}\n data-test-id=\"fondue-select-menu\"\n >\n {\n recursiveMap(\n children,\n (child, index) => {\n const isValid = <TProps,>(\n child: ReactNode,\n ): child is ReactElement<TProps> & { ref: ForwardedRef<HTMLElement> } =>\n // @ts-expect-error - We are explicitly checking for ref\n isValidElement<TProps>(child) && child.ref !== undefined;\n\n if (isValid<SelectItemProps>(child)) {\n const optionData = getSelectOptionValue(child.props);\n const itemProps = getItemProps({\n item: optionData,\n index,\n ...(child.ref ? { ref: child.ref } : {}),\n });\n\n const isSelected = selectedItemValues?.includes(optionData.value);\n\n return (\n <RadixSlot\n className={styles.item}\n data-highlighted={highlightedIndex === index}\n data-selected={isSelected}\n key={child.props.value}\n // Workaround for the issue where the onClick event is not fired on touch devices because of portal usage\n onTouchStart={(event) => {\n if (itemProps.onClick) {\n itemProps.onClick(event as unknown as MouseEvent<HTMLElement>);\n }\n }}\n {...itemProps}\n aria-selected={isSelected}\n >\n {child}\n </RadixSlot>\n );\n }\n },\n filterText,\n ).parsedChildren\n }\n </ul>\n </RadixPopover.Content>\n </ThemeProvider>\n </RadixPopover.Portal>\n );\n};\nSelectMenu.displayName = 'Select.Menu';\n"],"names":["SelectMenu","highlightedIndex","getMenuProps","getItemProps","children","filterText","align","side","selectedItemValues","hasInteractedSinceOpening","viewportCollisionPadding","onEscapeKeyDown","handleOnOpenAutoFocus","event","VIEWPORT_COLLISION_PADDING_MAP","theme","dir","useFondueTheme","getAdjustedSide","RadixPopover","jsx","ThemeProvider","styles","recursiveMap","child","index","isValidElement","optionData","getSelectOptionValue","itemProps","isSelected","RadixSlot"],"mappings":";;;;;;;AA4EO,MAAMA,IAAa,CAAC;AAAA,EACvB,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,0BAAAC,IAA2B;AAAA,EAC3B,iBAAAC;AACJ,MAAuB;AACnB,QAAMC,IAAwB,CAACC,MAAiB;AAC5C,IAAAA,EAAM,eAAA;AAAA,EACV,GAEMC,IAAqF;AAAA,IACvF,SAAS;AAAA,IACT,UAAU;AAAA,EAAA,GAGR,EAAE,OAAAC,GAAO,KAAAC,EAAA,IAAQC,EAAA,GAEjBC,IAAkB,CAACX,MACjBS,MAAQ,QACDT,IAGPA,MAAS,SACF,UAEPA,MAAS,UACF,SAGJA;AAGX,2BACKY,EAAa,QAAb,EACG,UAAA,gBAAAC,EAACC,GAAA,EAAc,OAAAN,GAAc,KAAAC,GACzB,UAAA,gBAAAI;AAAA,IAACD,EAAa;AAAA,IAAb;AAAA,MACG,KAAAH;AAAA,MACA,OAAAV;AAAA,MACA,MAAMY,EAAgBX,CAAI;AAAA,MAC1B,kBAAkBO,EAA+BJ,CAAwB,IAAI;AAAA,MAC7E,iBAAiBE;AAAA,MACjB,iBAAAD;AAAA,MACA,WAAWW,EAAO;AAAA,MAElB,UAAA,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAWE,EAAO;AAAA,UAKjB,GAAGpB,EAAa,CAAA,GAAI,EAAE,kBAAkB,IAAM;AAAA,UAC/C,uBAAqBO,IAA4B,SAAS;AAAA,UAC1D,gBAAa;AAAA,UAGT,UAAAc;AAAA,YACInB;AAAA,YACA,CAACoB,GAAOC,MAAU;AAOd,mBANgB,CACZD;AAAAA;AAAAA,gBAGAE,EAAuBF,CAAK,KAAKA,EAAM,QAAQ;AAAA,iBAEtBA,CAAK,GAAG;AACjC,sBAAMG,IAAaC,EAAqBJ,EAAM,KAAK,GAC7CK,IAAY1B,EAAa;AAAA,kBAC3B,MAAMwB;AAAA,kBACN,OAAAF;AAAA,kBACA,GAAID,EAAM,MAAM,EAAE,KAAKA,EAAM,IAAA,IAAQ,CAAA;AAAA,gBAAC,CACzC,GAEKM,IAAatB,KAAA,gBAAAA,EAAoB,SAASmB,EAAW;AAE3D,uBACI,gBAAAP;AAAA,kBAACW;AAAAA,kBAAA;AAAA,oBACG,WAAWT,EAAO;AAAA,oBAClB,oBAAkBrB,MAAqBwB;AAAA,oBACvC,iBAAeK;AAAA,oBAGf,cAAc,CAACjB,MAAU;AACrB,sBAAIgB,EAAU,WACVA,EAAU,QAAQhB,CAA2C;AAAA,oBAErE;AAAA,oBACC,GAAGgB;AAAA,oBACJ,iBAAeC;AAAA,oBAEd,UAAAN;AAAA,kBAAA;AAAA,kBAVIA,EAAM,MAAM;AAAA,gBAAA;AAAA,cAa7B;AAAA,YACJ;AAAA,YACAnB;AAAA,UAAA,EACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAEV;AAAA,EAAA,GAER,EAAA,CACJ;AAER;AACAL,EAAW,cAAc;"}
1
+ {"version":3,"file":"fondue-components141.js","sources":["../../../node_modules/.pnpm/@dnd-kit+react@0.3.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/react/utilities.js"],"sourcesContent":["// src/utilities/currentValue.ts\nfunction isRef(value) {\n return value != null && typeof value === \"object\" && \"current\" in value;\n}\nfunction currentValue(value) {\n var _a;\n if (value == null) {\n return void 0;\n }\n if (isRef(value)) {\n return (_a = value.current) != null ? _a : void 0;\n }\n return value;\n}\n\nexport { currentValue };\n//# sourceMappingURL=utilities.js.map\n//# sourceMappingURL=utilities.js.map"],"names":["isRef","value","currentValue","_a"],"mappings":"AACA,SAASA,EAAMC,GAAO;AACpB,SAAOA,KAAS,QAAQ,OAAOA,KAAU,YAAY,aAAaA;AACpE;AACA,SAASC,EAAaD,GAAO;AAC3B,MAAIE;AACJ,MAAIF,KAAS;AAGb,WAAID,EAAMC,CAAK,KACLE,IAAKF,EAAM,YAAY,OAAOE,IAAK,SAEtCF;AACT;","x_google_ignoreList":[0]}