{"version":3,"names":["defaultItemEquality","a","b","Object","is","compareItemEquality","itemValue","selectedValue","comparer","findItemIndex","values","target","i","length","removeItem","list","item","idx","slice","next","splice"],"sources":["item-equality.ts"],"sourcesContent":["/**\n * Item-equality helpers for Select. Mirrors Base UI React's\n * `packages/react/src/internals/itemEquality.ts`. The Solid port copies\n * the three functions the select machinery needs (default comparison,\n * find-index, remove-from-array). Kept local under `select/utils/` rather\n * than promoted to `src/internals/` since no other compound uses them yet.\n */\n\nexport function defaultItemEquality(a: unknown, b: unknown): boolean {\n\treturn Object.is(a, b);\n}\n\nexport function compareItemEquality(\n\titemValue: unknown,\n\tselectedValue: unknown,\n\tcomparer: (a: unknown, b: unknown) => boolean,\n): boolean {\n\ttry {\n\t\treturn comparer(itemValue, selectedValue);\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nexport function findItemIndex(\n\tvalues: ReadonlyArray<unknown>,\n\ttarget: unknown,\n\tcomparer: (a: unknown, b: unknown) => boolean,\n): number {\n\tfor (let i = 0; i < values.length; i += 1) {\n\t\tif (compareItemEquality(values[i], target, comparer)) return i;\n\t}\n\treturn -1;\n}\n\nexport function removeItem<T>(\n\tlist: ReadonlyArray<T>,\n\titem: T,\n\tcomparer: (a: unknown, b: unknown) => boolean,\n): T[] {\n\tconst idx = findItemIndex(list, item, comparer);\n\tif (idx === -1) return list.slice();\n\tconst next = list.slice();\n\tnext.splice(idx, 1);\n\treturn next;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASA,mBAAmBA,CAACC,CAAU,EAAEC,CAAU,EAAW;EACpE,OAAOC,MAAM,CAACC,EAAE,CAACH,CAAC,EAAEC,CAAC,CAAC;AACvB;AAEA,OAAO,SAASG,mBAAmBA,CAClCC,SAAkB,EAClBC,aAAsB,EACtBC,QAA6C,EACnC;EACV,IAAI;IACH,OAAOA,QAAQ,CAACF,SAAS,EAAEC,aAAa,CAAC;EAC1C,CAAC,CAAC,MAAM;IACP,OAAO,KAAK;EACb;AACD;AAEA,OAAO,SAASE,aAAaA,CAC5BC,MAA8B,EAC9BC,MAAe,EACfH,QAA6C,EACpC;EACT,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACG,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;IAC1C,IAAIP,mBAAmB,CAACK,MAAM,CAACE,CAAC,CAAC,EAAED,MAAM,EAAEH,QAAQ,CAAC,EAAE,OAAOI,CAAC;EAC/D;EACA,OAAO,CAAC,CAAC;AACV;AAEA,OAAO,SAASE,UAAUA,CACzBC,IAAsB,EACtBC,IAAO,EACPR,QAA6C,EACvC;EACN,MAAMS,GAAG,GAAGR,aAAa,CAACM,IAAI,EAAEC,IAAI,EAAER,QAAQ,CAAC;EAC/C,IAAIS,GAAG,KAAK,CAAC,CAAC,EAAE,OAAOF,IAAI,CAACG,KAAK,CAAC,CAAC;EACnC,MAAMC,IAAI,GAAGJ,IAAI,CAACG,KAAK,CAAC,CAAC;EACzBC,IAAI,CAACC,MAAM,CAACH,GAAG,EAAE,CAAC,CAAC;EACnB,OAAOE,IAAI;AACZ","ignoreList":[]}