@synerise/ds-icon-picker 2.0.3 → 2.0.5

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.0.5](https://github.com/Synerise/synerise-design/compare/@synerise/ds-icon-picker@2.0.4...@synerise/ds-icon-picker@2.0.5) (2026-09-18)
7
+
8
+ **Note:** Version bump only for package @synerise/ds-icon-picker
9
+
10
+
11
+
12
+
13
+
14
+ ## [2.0.4](https://github.com/Synerise/synerise-design/compare/@synerise/ds-icon-picker@2.0.3...@synerise/ds-icon-picker@2.0.4) (2026-09-16)
15
+
16
+ **Note:** Version bump only for package @synerise/ds-icon-picker
17
+
6
18
  ## [2.0.3](https://github.com/Synerise/synerise-design/compare/@synerise/ds-icon-picker@2.0.2...@synerise/ds-icon-picker@2.0.3) (2026-09-08)
7
19
 
8
20
  **Note:** Version bump only for package @synerise/ds-icon-picker
@@ -6,9 +6,9 @@ import Dropdown from "@synerise/ds-dropdown";
6
6
  import Icon, { AddM, Close3S } from "@synerise/ds-icon";
7
7
  import Tooltip from "@synerise/ds-tooltip";
8
8
  import { useOnClickOutside } from "@synerise/ds-utils";
9
- import { ClearIcon, Overlay } from "./IconPicker.styles.js";
10
9
  import Overlay$1 from "./components/Overlay/Overlay.js";
11
10
  import { useIconSourceLoader } from "./hooks/useIconSourceLoader.js";
11
+ import { ClearIcon, Overlay } from "./IconPicker.styles.js";
12
12
  import { matchesSearchQuery } from "./utils/matchesSearchQuery.js";
13
13
  const IconPicker = ({
14
14
  button,
@@ -1,5 +1,5 @@
1
- import { CSSProperties, ReactElement, ReactNode } from 'react';
2
1
  import { IconName, IconPrefix } from '@fortawesome/fontawesome-svg-core';
2
+ import { CSSProperties, ReactElement, ReactNode } from 'react';
3
3
  import { PopoverTriggerType } from '@synerise/ds-popover';
4
4
  export type IconMetadata = {
5
5
  name?: string;
@@ -4,9 +4,9 @@ import { FormattedMessage } from "react-intl";
4
4
  import { useTheme } from "@synerise/ds-core";
5
5
  import Icon, { SearchNoResultsM } from "@synerise/ds-icon";
6
6
  import Scrollbar from "@synerise/ds-scrollbar";
7
+ import { useGroupItems } from "../../hooks/useGroupItems.js";
7
8
  import { ITEMS_PER_ROW, ELEMENT_HEIGHT } from "../../IconPicker.const.js";
8
9
  import { OverlayWrapper, NoResults, Content, NoResultIcon, VirtualList } from "../../IconPicker.styles.js";
9
- import { useGroupItems } from "../../hooks/useGroupItems.js";
10
10
  import { createItemData } from "../../utils/createItemData.js";
11
11
  import { RowItem } from "../RowItem.js";
12
12
  const List = ({
@@ -11,7 +11,7 @@ const ListItem = ({
11
11
  const selectIcon = () => {
12
12
  onSelect(element.value, element.metadata ?? {});
13
13
  };
14
- return /* @__PURE__ */ jsx(ListItem$1, { itemsPerRow, children: typeof element.item !== "string" && // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ return /* @__PURE__ */ jsx(ListItem$1, { itemsPerRow, children: typeof element.item !== "string" && // biome-ignore lint/suspicious/noExplicitAny: upstream type is not expressible here
15
15
  element.item.type.name === "Avatar" ? /* @__PURE__ */ jsx(IconTrigger, { onMouseUp: selectIcon, "data-testid": `icon-${index}`, children: element.item }) : /* @__PURE__ */ jsx(Tooltip, { title: element.keywords, children: /* @__PURE__ */ jsx(Button, { type: "ghost", mode: "single-icon", onClick: selectIcon, children: /* @__PURE__ */ jsx(IconTrigger, { "data-testid": `icon-${index}`, children: /* @__PURE__ */ jsx("div", { className: "icon-wrapper", children: typeof element.item === "string" ? /* @__PURE__ */ jsx(FontIcon, { children: element.item }) : element.item }) }) }) }) });
16
16
  };
17
17
  export {
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export { default } from './IconPicker';
2
- export type { FilterElement, FilterItem, DataSource, IconMetadata, IconPickerProps, SourceType, FASource, FAValue, DSSource, } from './IconPicker.types';
2
+ export type { DataSource, DSSource, FASource, FAValue, FilterElement, FilterItem, IconMetadata, IconPickerProps, SourceType, } from './IconPicker.types';
@@ -1,10 +1,9 @@
1
- import { __vitePreload } from "../_virtual/preload-helper.js";
2
1
  const loadFontAwesome = async () => {
3
- const core = __vitePreload(() => import("@fortawesome/fontawesome-svg-core"), true ? [] : void 0);
4
- const solid = __vitePreload(() => import("@fortawesome/free-solid-svg-icons"), true ? [] : void 0);
5
- const brands = __vitePreload(() => import("@fortawesome/free-brands-svg-icons"), true ? [] : void 0);
6
- const regular = __vitePreload(() => import("@fortawesome/free-regular-svg-icons"), true ? [] : void 0);
7
- const component = __vitePreload(() => import("@fortawesome/react-fontawesome"), true ? [] : void 0);
2
+ const core = import("@fortawesome/fontawesome-svg-core");
3
+ const solid = import("@fortawesome/free-solid-svg-icons");
4
+ const brands = import("@fortawesome/free-brands-svg-icons");
5
+ const regular = import("@fortawesome/free-regular-svg-icons");
6
+ const component = import("@fortawesome/react-fontawesome");
8
7
  const loaded = await Promise.all([core, solid, brands, regular, component]);
9
8
  const {
10
9
  library,
@@ -1,4 +1,4 @@
1
- import { Category, DSSource, DataSource, FASource, GroupedFilterElement, SourceType } from '../IconPicker.types';
1
+ import { Category, DataSource, DSSource, FASource, GroupedFilterElement, SourceType } from '../IconPicker.types';
2
2
  export declare const isFASourceType: (data: SourceType) => data is FASource;
3
3
  export declare const isDSSourceType: (data: SourceType) => data is DSSource;
4
4
  export declare const isData: (data: SourceType) => data is DataSource[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-icon-picker",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "description": "IconPicker UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -39,14 +39,14 @@
39
39
  "sideEffects": false,
40
40
  "types": "dist/index.d.ts",
41
41
  "dependencies": {
42
- "@synerise/ds-button": "^2.0.2",
43
- "@synerise/ds-button-group": "^2.0.2",
44
- "@synerise/ds-dropdown": "^2.0.3",
45
- "@synerise/ds-icon": "^2.1.0",
46
- "@synerise/ds-popover": "^2.0.1",
47
- "@synerise/ds-scrollbar": "^2.0.1",
48
- "@synerise/ds-tooltip": "^2.0.2",
49
- "@synerise/ds-utils": "^2.0.0",
42
+ "@synerise/ds-button": "^2.0.4",
43
+ "@synerise/ds-button-group": "^2.0.4",
44
+ "@synerise/ds-dropdown": "^2.1.1",
45
+ "@synerise/ds-icon": "^2.1.2",
46
+ "@synerise/ds-popover": "^2.0.2",
47
+ "@synerise/ds-scrollbar": "^2.0.3",
48
+ "@synerise/ds-tooltip": "^2.0.4",
49
+ "@synerise/ds-utils": "^2.1.1",
50
50
  "memoize-one": "^5.1.1",
51
51
  "react-window": "^1.8.11"
52
52
  },
@@ -62,5 +62,5 @@
62
62
  "styled-components": "^5.3.3",
63
63
  "vitest": "4"
64
64
  },
65
- "gitHead": "e0dced8fd3a1194eff2fafc1b7e385b29238af88"
65
+ "gitHead": "b1d905617dfb186b5d80966d63ce55bf29df743d"
66
66
  }
@@ -1,57 +0,0 @@
1
- const scriptRel = "modulepreload";
2
- const assetsURL = function(dep) {
3
- return "/" + dep;
4
- };
5
- const seen = {};
6
- const __vitePreload = function preload(baseModule, deps, importerUrl) {
7
- let promise = Promise.resolve();
8
- if (deps && deps.length > 0) {
9
- let allSettled = function(promises$2) {
10
- return Promise.all(promises$2.map((p) => Promise.resolve(p).then((value$1) => ({
11
- status: "fulfilled",
12
- value: value$1
13
- }), (reason) => ({
14
- status: "rejected",
15
- reason
16
- }))));
17
- };
18
- document.getElementsByTagName("link");
19
- const cspNonceMeta = document.querySelector("meta[property=csp-nonce]");
20
- const cspNonce = cspNonceMeta?.nonce || cspNonceMeta?.getAttribute("nonce");
21
- promise = allSettled(deps.map((dep) => {
22
- dep = assetsURL(dep);
23
- if (dep in seen) return;
24
- seen[dep] = true;
25
- const isCss = dep.endsWith(".css");
26
- const cssSelector = isCss ? '[rel="stylesheet"]' : "";
27
- if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) return;
28
- const link = document.createElement("link");
29
- link.rel = isCss ? "stylesheet" : scriptRel;
30
- if (!isCss) link.as = "script";
31
- link.crossOrigin = "";
32
- link.href = dep;
33
- if (cspNonce) link.setAttribute("nonce", cspNonce);
34
- document.head.appendChild(link);
35
- if (isCss) return new Promise((res, rej) => {
36
- link.addEventListener("load", res);
37
- link.addEventListener("error", () => rej(/* @__PURE__ */ new Error(`Unable to preload CSS for ${dep}`)));
38
- });
39
- }));
40
- }
41
- function handlePreloadError(err$2) {
42
- const e$1 = new Event("vite:preloadError", { cancelable: true });
43
- e$1.payload = err$2;
44
- window.dispatchEvent(e$1);
45
- if (!e$1.defaultPrevented) throw err$2;
46
- }
47
- return promise.then((res) => {
48
- for (const item of res || []) {
49
- if (item.status !== "rejected") continue;
50
- handlePreloadError(item.reason);
51
- }
52
- return baseModule().catch(handlePreloadError);
53
- });
54
- };
55
- export {
56
- __vitePreload
57
- };