@elementor/editor-global-classes 4.2.0-871 → 4.2.0-872

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/dist/index.js CHANGED
@@ -2044,8 +2044,9 @@ var useFilteredCssClasses = () => {
2044
2044
  [cssClasses]
2045
2045
  );
2046
2046
  const filteredClasses = (0, import_react8.useMemo)(() => {
2047
- if (searchValue.length > 1) {
2048
- return lowercaseLabels.filter((cssClass) => cssClass.lowerLabel.includes(searchValue.toLowerCase()));
2047
+ const normalizedSearch = searchValue.replace(/[^a-zA-Z0-9_-]/g, "").toLowerCase();
2048
+ if (normalizedSearch.length > 1) {
2049
+ return lowercaseLabels.filter((cssClass) => cssClass.lowerLabel.includes(normalizedSearch));
2049
2050
  }
2050
2051
  return cssClasses;
2051
2052
  }, [searchValue, cssClasses, lowercaseLabels]);
@@ -2543,7 +2544,7 @@ async function fetchAndMergeClasses() {
2543
2544
  }
2544
2545
 
2545
2546
  // src/global-classes-styles-provider.ts
2546
- var MAX_CLASSES = 5e3;
2547
+ var MAX_CLASSES = 1e3;
2547
2548
  var GLOBAL_CLASSES_PROVIDER_KEY = "global-classes";
2548
2549
  var PREGENERATED_LINK_PATTERN = /^global-([0-9]+-)?(preview|frontend)-[a-zA-Z_-]+-css$/;
2549
2550
  var globalClassesStylesProvider = (0, import_editor_styles_repository2.createStylesProvider)({
@@ -2857,16 +2858,29 @@ function GlobalStylesImportListener() {
2857
2858
  return null;
2858
2859
  }
2859
2860
 
2860
- // src/components/open-panel-from-url.tsx
2861
+ // src/components/open-panel-from-event.tsx
2861
2862
  var import_react12 = require("react");
2863
+ var EVENT_OPEN_GLOBAL_CLASSES_MANAGER = "elementor/open-global-classes-manager";
2864
+ function OpenPanelFromEvent() {
2865
+ const { open } = usePanelActions();
2866
+ (0, import_react12.useEffect)(() => {
2867
+ const handler2 = () => open();
2868
+ window.addEventListener(EVENT_OPEN_GLOBAL_CLASSES_MANAGER, handler2);
2869
+ return () => window.removeEventListener(EVENT_OPEN_GLOBAL_CLASSES_MANAGER, handler2);
2870
+ }, [open]);
2871
+ return null;
2872
+ }
2873
+
2874
+ // src/components/open-panel-from-url.tsx
2875
+ var import_react13 = require("react");
2862
2876
  var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
2863
2877
  var ACTIVE_PANEL_PARAM = "active-panel";
2864
2878
  var PANEL_ID = "global-classes-manager";
2865
2879
  var DEFAULT_PANEL_ROUTE = "panel/elements";
2866
2880
  function OpenPanelFromUrl() {
2867
2881
  const { open } = usePanelActions();
2868
- const hasOpened = (0, import_react12.useRef)(false);
2869
- (0, import_react12.useEffect)(() => {
2882
+ const hasOpened = (0, import_react13.useRef)(false);
2883
+ (0, import_react13.useEffect)(() => {
2870
2884
  const urlParams = new URLSearchParams(window.location.search);
2871
2885
  const activePanel = urlParams.get(ACTIVE_PANEL_PARAM);
2872
2886
  if (activePanel !== PANEL_ID) {
@@ -2887,10 +2901,10 @@ function OpenPanelFromUrl() {
2887
2901
  }
2888
2902
 
2889
2903
  // src/components/populate-store.tsx
2890
- var import_react13 = require("react");
2904
+ var import_react14 = require("react");
2891
2905
  var import_editor_v1_adapters5 = require("@elementor/editor-v1-adapters");
2892
2906
  function PopulateStore() {
2893
- (0, import_react13.useEffect)(() => {
2907
+ (0, import_react14.useEffect)(() => {
2894
2908
  loadCurrentDocumentClasses();
2895
2909
  (0, import_editor_v1_adapters5.registerDataHook)("after", "editor/documents/attach-preview", async () => {
2896
2910
  await loadCurrentDocumentClasses();
@@ -3326,7 +3340,7 @@ var initMcpIntegration = (reg, canvasMcpEntry) => {
3326
3340
  };
3327
3341
 
3328
3342
  // src/sync-with-document.tsx
3329
- var import_react14 = require("react");
3343
+ var import_react15 = require("react");
3330
3344
  var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
3331
3345
 
3332
3346
  // src/sync-with-document-save.ts
@@ -3391,7 +3405,7 @@ function isDirty() {
3391
3405
  // src/sync-with-document.tsx
3392
3406
  function SyncWithDocumentSave() {
3393
3407
  const { open: openClassPanel } = usePanelActions();
3394
- (0, import_react14.useEffect)(() => {
3408
+ (0, import_react15.useEffect)(() => {
3395
3409
  const unsubscribe = (0, import_editor_v1_adapters7.__privateListenTo)((0, import_editor_v1_adapters7.v1ReadyEvent)(), () => {
3396
3410
  const open = (0, import_editor_v1_adapters7.isExperimentActive)("e_editor_design_system_panel") ? () => {
3397
3411
  window.dispatchEvent(new CustomEvent("elementor/open-global-classes-manager"));
@@ -3431,6 +3445,10 @@ function init() {
3431
3445
  id: "global-classes-open-panel-from-url",
3432
3446
  component: OpenPanelFromUrl
3433
3447
  });
3448
+ (0, import_editor.injectIntoLogic)({
3449
+ id: "global-classes-open-panel-from-event",
3450
+ component: OpenPanelFromEvent
3451
+ });
3434
3452
  }
3435
3453
  (0, import_editor_editing_panel2.injectIntoCssClassConvert)({
3436
3454
  id: "global-classes-convert-from-local-class",