diff --git a/.prettierrc b/.prettierrc index e7e0f9a4a..6837e51f4 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,12 +1,12 @@ { - "plugins": ["prettier-plugin-tailwindcss"], - "useTabs": true, - "jsxSingleQuote": true, - "singleQuote": true, - "singleAttributePerLine": true, - "printWidth": 180, - "arrowParens": "always", - "bracketSpacing": true, - "semi": true, - "trailingComma": "all" + "plugins": ["prettier-plugin-tailwindcss"], + "useTabs": true, + "jsxSingleQuote": true, + "singleQuote": true, + "singleAttributePerLine": true, + "printWidth": 120, + "arrowParens": "always", + "bracketSpacing": true, + "semi": true, + "trailingComma": "all" } diff --git a/.stylelintrc b/.stylelintrc index 3a127493d..2f30a4605 100644 --- a/.stylelintrc +++ b/.stylelintrc @@ -1,4 +1,4 @@ { - "extends": "./node_modules/@eightshift/frontend-libs/linters/stylelint.config.js", + "extends": "./node_modules/@eightshift/frontend-libs-tailwind/linters/stylelint.config.js", "ignoreFiles": "public/**/*.css" } diff --git a/bun.lock b/bun.lock index 9093f3e3d..44b915fb7 100644 --- a/bun.lock +++ b/bun.lock @@ -1,12 +1,14 @@ { "lockfileVersion": 1, - "configVersion": 0, + "configVersion": 1, "workspaces": { "": { "name": "@eightshift/eightshift-forms", "dependencies": { - "@eightshift/frontend-libs": "^12.1.9", - "@eightshift/ui-components": "^5.6.1", + "@eightshift/frontend-libs-tailwind": "^2.3.0", + "@eightshift/ui-components": "^6.0.6", + "@tailwindcss/postcss": "^4.1.17", + "@tailwindcss/typography": "^0.5.19", "autosize": "^6.0.1", "baseline-browser-mapping": "^2.9.16", "caniuse-lite": "^1.0.30001765", @@ -14,6 +16,9 @@ "dropzone": "^6.0.0-beta.2", "flatpickr": "^4.6.13", "reactflow": "^11.11.4", + "tailwindcss": "^4.1.17", + "tailwindcss-motion": "^1.1.1", + "tailwindcss-react-aria-components": "^2.0.1", }, "devDependencies": { "@playwright/test": "^1.57.0", @@ -25,21 +30,15 @@ }, }, "packages": { - "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], - - "@ariakit/core": ["@ariakit/core@0.3.11", "", {}, "sha512-+MnOeqnA4FLI/7vqsZLbZQHHN4ofd9kvkNjz44fNi0gqmD+ZbMWiDkFAvZII75dYnxYw5ZPpWjA4waK22VBWig=="], - - "@ariakit/react": ["@ariakit/react@0.3.14", "", { "dependencies": { "@ariakit/react-core": "0.3.14" }, "peerDependencies": { "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0" } }, "sha512-h71BPMZ2eW+E2ESbdYxSAEMR1DozYzd5eHE5IOzGd9Egi5u7EZxqmuW4CXVXZ1Y6vbaDMV3SudgPh7iHS/ArFw=="], - - "@ariakit/react-core": ["@ariakit/react-core@0.3.14", "", { "dependencies": { "@ariakit/core": "0.3.11", "@floating-ui/dom": "^1.0.0", "use-sync-external-store": "^1.2.0" }, "peerDependencies": { "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0" } }, "sha512-16Qj6kDPglpdWtU5roY9q+G66naOjauTY5HvUIaL2aLY0187ATaRrABIKoMMzTtJyhvsud4jFlzivz+/zCQ8yw=="], + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], "@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], - "@babel/compat-data": ["@babel/compat-data@7.28.0", "", {}, "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw=="], + "@babel/compat-data": ["@babel/compat-data@7.28.5", "", {}, "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA=="], - "@babel/core": ["@babel/core@7.28.3", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.3", "@babel/parser": "^7.28.3", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.3", "@babel/types": "^7.28.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ=="], + "@babel/core": ["@babel/core@7.28.5", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.5", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw=="], - "@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@babel/generator": ["@babel/generator@7.28.5", "", { "dependencies": { "@babel/parser": "^7.28.5", "@babel/types": "^7.28.5", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ=="], "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.27.2", "", { "dependencies": { "@babel/compat-data": "^7.27.2", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ=="], @@ -51,129 +50,93 @@ "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], - "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.27.1", "", {}, "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="], + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.28.5", "", {}, "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="], "@babel/helper-validator-option": ["@babel/helper-validator-option@7.27.1", "", {}, "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="], - "@babel/helpers": ["@babel/helpers@7.28.3", "", { "dependencies": { "@babel/template": "^7.27.2", "@babel/types": "^7.28.2" } }, "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw=="], + "@babel/helpers": ["@babel/helpers@7.28.4", "", { "dependencies": { "@babel/template": "^7.27.2", "@babel/types": "^7.28.4" } }, "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w=="], - "@babel/parser": ["@babel/parser@7.28.3", "", { "dependencies": { "@babel/types": "^7.28.2" }, "bin": "./bin/babel-parser.js" }, "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA=="], - - "@babel/runtime": ["@babel/runtime@7.27.6", "", {}, "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q=="], + "@babel/parser": ["@babel/parser@7.28.5", "", { "dependencies": { "@babel/types": "^7.28.5" }, "bin": "./bin/babel-parser.js" }, "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ=="], "@babel/template": ["@babel/template@7.27.2", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" } }, "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw=="], - "@babel/traverse": ["@babel/traverse@7.28.3", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.3", "@babel/template": "^7.27.2", "@babel/types": "^7.28.2", "debug": "^4.3.1" } }, "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ=="], - - "@babel/types": ["@babel/types@7.28.2", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ=="], - - "@csstools/css-parser-algorithms": ["@csstools/css-parser-algorithms@2.7.1", "", { "peerDependencies": { "@csstools/css-tokenizer": "^2.4.1" } }, "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw=="], - - "@csstools/css-tokenizer": ["@csstools/css-tokenizer@2.4.1", "", {}, "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg=="], - - "@csstools/media-query-list-parser": ["@csstools/media-query-list-parser@2.1.13", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^2.7.1", "@csstools/css-tokenizer": "^2.4.1" } }, "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA=="], - - "@csstools/selector-specificity": ["@csstools/selector-specificity@5.0.0", "", { "peerDependencies": { "postcss-selector-parser": "^7.0.0" } }, "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw=="], - - "@discoveryjs/json-ext": ["@discoveryjs/json-ext@0.6.3", "", {}, "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ=="], - - "@dnd-kit/accessibility": ["@dnd-kit/accessibility@3.1.1", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw=="], - - "@dnd-kit/core": ["@dnd-kit/core@6.3.1", "", { "dependencies": { "@dnd-kit/accessibility": "^3.1.1", "@dnd-kit/utilities": "^3.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ=="], - - "@dnd-kit/modifiers": ["@dnd-kit/modifiers@7.0.0", "", { "dependencies": { "@dnd-kit/utilities": "^3.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@dnd-kit/core": "^6.1.0", "react": ">=16.8.0" } }, "sha512-BG/ETy3eBjFap7+zIti53f0PCLGDzNXyTmn6fSdrudORf+OH04MxrW4p5+mPu4mgMk9kM41iYONjc3DOUWTcfg=="], - - "@dnd-kit/sortable": ["@dnd-kit/sortable@8.0.0", "", { "dependencies": { "@dnd-kit/utilities": "^3.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@dnd-kit/core": "^6.1.0", "react": ">=16.8.0" } }, "sha512-U3jk5ebVXe1Lr7c2wU7SBZjcWdQP+j7peHJfCspnA81enlu88Mgd7CC8Q+pub9ubP7eKVETzJW+IBAhsqbSu/g=="], - - "@dnd-kit/utilities": ["@dnd-kit/utilities@3.2.2", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg=="], - - "@dual-bundle/import-meta-resolve": ["@dual-bundle/import-meta-resolve@4.1.0", "", {}, "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg=="], - - "@eightshift/frontend-libs": ["@eightshift/frontend-libs@12.1.9", "", { "dependencies": { "@dnd-kit/core": "^6.1.0", "@dnd-kit/modifiers": "^7.0.0", "@dnd-kit/sortable": "^8.0.0", "@dnd-kit/utilities": "^3.2.2", "@stylistic/eslint-plugin-js": "^2.3.0", "@stylistic/stylelint-plugin": "^2.1.2", "@swc/core": "^1.5.25", "@uidotdev/usehooks": "^2.4.1", "@wordpress/api-fetch": "^6.55.0", "@wordpress/block-editor": "^12.26.0", "@wordpress/dependency-extraction-webpack-plugin": "^5.9.0", "@wordpress/dom-ready": "^4.0.0", "autoprefixer": "^10.4.19", "babel-loader": "^9.1.3", "clean-webpack-plugin": "^4.0.0", "core-js": "^3.37.1", "css-loader": "^7.1.2", "css-minimizer-webpack-plugin": "^7.0.0", "eslint": "^9.6.0", "file-loader": "^6.2.0", "framer-motion": "^11.2.10", "globals": "^15.8.0", "husky": "^9.0.11", "import-glob": "^1.5.0", "just-camel-case": "^6.2.0", "just-debounce-it": "^3.2.0", "just-has": "^2.3.0", "just-is-empty": "^3.4.1", "just-kebab-case": "^4.2.0", "just-throttle": "^4.2.0", "media-blender": "^2.1.0", "mini-css-extract-plugin": "^2.9.0", "postcss": "^8.4.38", "postcss-loader": "^8.1.1", "postcss-scss": "^4.0.9", "promisify-child-process": "^4.1.2", "raw-loader": "^4.0.2", "rc-slider": "^10.6.2", "rc-tooltip": "^6.2.0", "react-colorful": "^5.6.1", "react-gcolor-picker": "^1.3.3", "react-select": "^5.8.0", "regenerator-runtime": "^0.14.1", "sass": "^1.77.4", "sass-loader": "^14.2.1", "style-loader": "^4.0.0", "stylelint": "^16.6.1", "stylelint-config-standard": "^36.0.0", "stylelint-config-standard-scss": "^13.1.0", "swc-loader": "^0.2.6", "terser-webpack-plugin": "^5.3.10", "webpack": "^5.91.0", "webpack-cli": "^5.1.4", "webpack-manifest-plugin": "^5.0.0", "webpack-merge": "^5.10.0" } }, "sha512-fDJ5HbyGqXmRS1BkFYF25CdhlVd1NcapBdo+c0e/S0WxmTAr9kRklr3Cgs9gj/jWp0RCG7CNE4ejkBMRUFjfxg=="], - - "@eightshift/ui-components": ["@eightshift/ui-components@5.6.1", "", { "dependencies": { "@fontsource-variable/geist": "^5.2.8", "@fontsource-variable/geist-mono": "^5.2.7" }, "peerDependencies": { "react": "^18.3.1", "react-dom": "^18.3.1" } }, "sha512-VaLXLGQf6jyEQXPi2BKIJ2rSzRCgbRnDxJU1UDxllnkxCt18b9I7izXrArbbwVBdlLZ4iHk37OvT47d9GdncWg=="], - - "@emotion/babel-plugin": ["@emotion/babel-plugin@11.13.5", "", { "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", "@emotion/serialize": "^1.3.3", "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", "find-root": "^1.1.0", "source-map": "^0.5.7", "stylis": "4.2.0" } }, "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ=="], + "@babel/traverse": ["@babel/traverse@7.28.5", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.5", "@babel/template": "^7.27.2", "@babel/types": "^7.28.5", "debug": "^4.3.1" } }, "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ=="], - "@emotion/cache": ["@emotion/cache@11.14.0", "", { "dependencies": { "@emotion/memoize": "^0.9.0", "@emotion/sheet": "^1.4.0", "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } }, "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA=="], + "@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="], - "@emotion/css": ["@emotion/css@11.13.5", "", { "dependencies": { "@emotion/babel-plugin": "^11.13.5", "@emotion/cache": "^11.13.5", "@emotion/serialize": "^1.3.3", "@emotion/sheet": "^1.4.0", "@emotion/utils": "^1.4.2" } }, "sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w=="], + "@cacheable/memory": ["@cacheable/memory@2.0.6", "", { "dependencies": { "@cacheable/utils": "^2.3.2", "@keyv/bigmap": "^1.3.0", "hookified": "^1.13.0", "keyv": "^5.5.4" } }, "sha512-7e8SScMocHxcAb8YhtkbMhGG+EKLRIficb1F5sjvhSYsWTZGxvg4KIDp8kgxnV2PUJ3ddPe6J9QESjKvBWRDkg=="], - "@emotion/hash": ["@emotion/hash@0.9.2", "", {}, "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g=="], + "@cacheable/utils": ["@cacheable/utils@2.3.2", "", { "dependencies": { "hashery": "^1.2.0", "keyv": "^5.5.4" } }, "sha512-8kGE2P+HjfY8FglaOiW+y8qxcaQAfAhVML+i66XJR3YX5FtyDqn6Txctr3K2FrbxLKixRRYYBWMbuGciOhYNDg=="], - "@emotion/is-prop-valid": ["@emotion/is-prop-valid@1.3.1", "", { "dependencies": { "@emotion/memoize": "^0.9.0" } }, "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw=="], + "@csstools/css-parser-algorithms": ["@csstools/css-parser-algorithms@3.0.5", "", { "peerDependencies": { "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ=="], - "@emotion/memoize": ["@emotion/memoize@0.9.0", "", {}, "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="], + "@csstools/css-syntax-patches-for-csstree": ["@csstools/css-syntax-patches-for-csstree@1.0.21", "", {}, "sha512-plP8N8zKfEZ26figX4Nvajx8DuzfuRpLTqglQ5d0chfnt35Qt3X+m6ASZ+rG0D0kxe/upDVNwSIVJP5n4FuNfw=="], - "@emotion/react": ["@emotion/react@11.14.0", "", { "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", "@emotion/cache": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA=="], + "@csstools/css-tokenizer": ["@csstools/css-tokenizer@3.0.4", "", {}, "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw=="], - "@emotion/serialize": ["@emotion/serialize@1.3.3", "", { "dependencies": { "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", "@emotion/unitless": "^0.10.0", "@emotion/utils": "^1.4.2", "csstype": "^3.0.2" } }, "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA=="], + "@csstools/media-query-list-parser": ["@csstools/media-query-list-parser@4.0.3", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ=="], - "@emotion/sheet": ["@emotion/sheet@1.4.0", "", {}, "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg=="], - - "@emotion/styled": ["@emotion/styled@11.14.1", "", { "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", "@emotion/is-prop-valid": "^1.3.0", "@emotion/serialize": "^1.3.3", "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", "@emotion/utils": "^1.4.2" }, "peerDependencies": { "@emotion/react": "^11.0.0-rc.0", "react": ">=16.8.0" } }, "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw=="], - - "@emotion/unitless": ["@emotion/unitless@0.10.0", "", {}, "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg=="], - - "@emotion/use-insertion-effect-with-fallbacks": ["@emotion/use-insertion-effect-with-fallbacks@1.2.0", "", { "peerDependencies": { "react": ">=16.8.0" } }, "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg=="], - - "@emotion/utils": ["@emotion/utils@1.4.2", "", {}, "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA=="], - - "@emotion/weak-memoize": ["@emotion/weak-memoize@0.4.0", "", {}, "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg=="], - - "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], + "@csstools/selector-specificity": ["@csstools/selector-specificity@5.0.0", "", { "peerDependencies": { "postcss-selector-parser": "^7.0.0" } }, "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw=="], - "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="], + "@discoveryjs/json-ext": ["@discoveryjs/json-ext@0.6.3", "", {}, "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ=="], - "@eslint/config-array": ["@eslint/config-array@0.21.0", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ=="], + "@dual-bundle/import-meta-resolve": ["@dual-bundle/import-meta-resolve@4.2.1", "", {}, "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg=="], - "@eslint/config-helpers": ["@eslint/config-helpers@0.3.0", "", {}, "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw=="], + "@eightshift/frontend-libs-tailwind": ["@eightshift/frontend-libs-tailwind@2.3.0", "", { "dependencies": { "@stylistic/eslint-plugin": "^5.6.1", "@stylistic/stylelint-plugin": "^4.0.0", "@swc/core": "^1.15.3", "@wordpress/dependency-extraction-webpack-plugin": "^6.36.0", "browserslist": "^4.28.1", "css-loader": "^7.1.2", "css-minimizer-webpack-plugin": "^7.0.3", "eslint": "^9.39.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.1", "globals": "^16.5.0", "husky": "^9.1.7", "lightningcss": "^1.30.2", "mini-css-extract-plugin": "^2.9.4", "postcss": "^8.5.6", "postcss-loader": "^8.2.0", "prettier": "^3.7.4", "prettier-plugin-tailwindcss": "^0.7.2", "sonner": "^2.0.7", "stylelint": "^16.26.1", "stylelint-config-standard": "^39.0.1", "swc-loader": "^0.2.6", "terser-webpack-plugin": "^5.3.15", "webpack": "^5.103.0", "webpack-cli": "^6.0.1", "webpack-manifest-plugin": "^6.0.1", "webpack-merge": "^6.0.1" }, "peerDependencies": { "@eightshift/ui-components": "^6.0.8" } }, "sha512-96cQVDbuCPJ8dUJJig7YONnaXQB5gy5HKCVXJdNeKIyd0+J3lDvbuoqD3ZcOC9CesUSrklb2RkfEbaAtULcDEg=="], - "@eslint/core": ["@eslint/core@0.15.1", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA=="], + "@eightshift/ui-components": ["@eightshift/ui-components@6.0.8", "", { "dependencies": { "@fontsource-variable/geist-mono": "^5.2.7", "@fontsource-variable/roboto-flex": "^5.2.8", "motion": "^12.23.25" }, "peerDependencies": { "react": "^18.3.1", "react-dom": "^18.3.1" } }, "sha512-L8OgjTDTBJj+d5g4msQEOwKv6CCT2bxPLedEXWFRfRRIc1Hoz46EupyB/SSWKs2/4fOpu55anNY0S/8F2BxjsA=="], - "@eslint/eslintrc": ["@eslint/eslintrc@3.3.1", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ=="], + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g=="], - "@eslint/js": ["@eslint/js@9.31.0", "", {}, "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw=="], + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], - "@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="], + "@eslint/config-array": ["@eslint/config-array@0.21.1", "", { "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA=="], - "@eslint/plugin-kit": ["@eslint/plugin-kit@0.3.3", "", { "dependencies": { "@eslint/core": "^0.15.1", "levn": "^0.4.1" } }, "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag=="], + "@eslint/config-helpers": ["@eslint/config-helpers@0.4.2", "", { "dependencies": { "@eslint/core": "^0.17.0" } }, "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw=="], - "@floating-ui/core": ["@floating-ui/core@1.7.2", "", { "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw=="], + "@eslint/core": ["@eslint/core@0.17.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ=="], - "@floating-ui/dom": ["@floating-ui/dom@1.7.2", "", { "dependencies": { "@floating-ui/core": "^1.7.2", "@floating-ui/utils": "^0.2.10" } }, "sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA=="], + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.3", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ=="], - "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.4", "", { "dependencies": { "@floating-ui/dom": "^1.7.2" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-JbbpPhp38UmXDDAu60RJmbeme37Jbgsm7NrHGgzYYFKmblzRUh6Pa641dII6LsjwF4XlScDrde2UAzDo/b9KPw=="], + "@eslint/js": ["@eslint/js@9.39.2", "", {}, "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA=="], - "@floating-ui/utils": ["@floating-ui/utils@0.2.10", "", {}, "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="], + "@eslint/object-schema": ["@eslint/object-schema@2.1.7", "", {}, "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA=="], - "@fontsource-variable/geist": ["@fontsource-variable/geist@5.2.8", "", {}, "sha512-cJ6m9e+8MQ5dCYJsLylfZrgBh6KkG4bOLckB35Tr9J/EqdkEM6QllH5PxqP1dhTvFup+HtMRPuz9xOjxXJggxw=="], + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.4.1", "", { "dependencies": { "@eslint/core": "^0.17.0", "levn": "^0.4.1" } }, "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA=="], "@fontsource-variable/geist-mono": ["@fontsource-variable/geist-mono@5.2.7", "", {}, "sha512-ZKlZ5sjtalb2TwXKs400mAGDlt/+2ENLNySPx0wTz3bP3mWARCsUW+rpxzZc7e05d2qGch70pItt3K4qttbIYA=="], + "@fontsource-variable/roboto-flex": ["@fontsource-variable/roboto-flex@5.2.8", "", {}, "sha512-Q9zbz+P2VrDeIxBu9YAIG+eYpLmQF5FIJEEwAWn8En9Lao1TOISnoYcywGV+jSv7LGsHEndCR8hveXPnvCBEQQ=="], + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], - "@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="], + "@humanfs/node": ["@humanfs/node@0.16.7", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ=="], "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], - "@jest/schemas": ["@jest/schemas@29.6.3", "", { "dependencies": { "@sinclair/typebox": "^0.27.8" } }, "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA=="], + "@jest/pattern": ["@jest/pattern@30.0.1", "", { "dependencies": { "@types/node": "*", "jest-regex-util": "30.0.1" } }, "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA=="], + + "@jest/schemas": ["@jest/schemas@30.0.5", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA=="], + + "@jest/types": ["@jest/types@30.2.0", "", { "dependencies": { "@jest/pattern": "30.0.1", "@jest/schemas": "30.0.5", "@types/istanbul-lib-coverage": "^2.0.6", "@types/istanbul-reports": "^3.0.4", "@types/node": "*", "@types/yargs": "^17.0.33", "chalk": "^4.1.2" } }, "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg=="], - "@jest/types": ["@jest/types@29.6.3", "", { "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", "@types/yargs": "^17.0.8", "chalk": "^4.0.0" } }, "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw=="], + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], - "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.12", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg=="], + "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], - "@jridgewell/source-map": ["@jridgewell/source-map@0.3.10", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q=="], + "@jridgewell/source-map": ["@jridgewell/source-map@0.3.11", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA=="], - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.4", "", {}, "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw=="], + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], - "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.29", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ=="], + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], - "@keyv/serialize": ["@keyv/serialize@1.0.3", "", { "dependencies": { "buffer": "^6.0.3" } }, "sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g=="], + "@keyv/bigmap": ["@keyv/bigmap@1.3.0", "", { "dependencies": { "hashery": "^1.2.0", "hookified": "^1.13.0" }, "peerDependencies": { "keyv": "^5.5.4" } }, "sha512-KT01GjzV6AQD5+IYrcpoYLkCu1Jod3nau1Z7EsEuViO3TZGRacSbO9MfHmbJ1WaOXFtWLxPVj169cn2WNKPkIg=="], + + "@keyv/serialize": ["@keyv/serialize@1.1.1", "", {}, "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA=="], "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], @@ -181,141 +144,91 @@ "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], - "@parcel/watcher": ["@parcel/watcher@2.5.1", "", { "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", "node-addon-api": "^7.0.0" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-freebsd-x64": "2.5.1", "@parcel/watcher-linux-arm-glibc": "2.5.1", "@parcel/watcher-linux-arm-musl": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", "@parcel/watcher-linux-arm64-musl": "2.5.1", "@parcel/watcher-linux-x64-glibc": "2.5.1", "@parcel/watcher-linux-x64-musl": "2.5.1", "@parcel/watcher-win32-arm64": "2.5.1", "@parcel/watcher-win32-ia32": "2.5.1", "@parcel/watcher-win32-x64": "2.5.1" } }, "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg=="], + "@pkgr/core": ["@pkgr/core@0.2.9", "", {}, "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA=="], - "@parcel/watcher-android-arm64": ["@parcel/watcher-android-arm64@2.5.1", "", { "os": "android", "cpu": "arm64" }, "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA=="], + "@playwright/test": ["@playwright/test@1.57.0", "", { "dependencies": { "playwright": "1.57.0" }, "bin": { "playwright": "cli.js" } }, "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA=="], - "@parcel/watcher-darwin-arm64": ["@parcel/watcher-darwin-arm64@2.5.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw=="], + "@reactflow/background": ["@reactflow/background@11.3.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "classcat": "^5.0.3", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-Gewd7blEVT5Lh6jqrvOgd4G6Qk17eGKQfsDXgyRSqM+CTwDqRldG2LsWN4sNeno6sbqVIC2fZ+rAUBFA9ZEUDA=="], - "@parcel/watcher-darwin-x64": ["@parcel/watcher-darwin-x64@2.5.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg=="], + "@reactflow/controls": ["@reactflow/controls@11.2.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "classcat": "^5.0.3", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-MiJp5VldFD7FrqaBNIrQ85dxChrG6ivuZ+dcFhPQUwOK3HfYgX2RHdBua+gx+40p5Vw5It3dVNp/my4Z3jF0dw=="], - "@parcel/watcher-freebsd-x64": ["@parcel/watcher-freebsd-x64@2.5.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ=="], + "@reactflow/core": ["@reactflow/core@11.11.4", "", { "dependencies": { "@types/d3": "^7.4.0", "@types/d3-drag": "^3.0.1", "@types/d3-selection": "^3.0.3", "@types/d3-zoom": "^3.0.1", "classcat": "^5.0.3", "d3-drag": "^3.0.0", "d3-selection": "^3.0.0", "d3-zoom": "^3.0.0", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-H4vODklsjAq3AMq6Np4LE12i1I4Ta9PrDHuBR9GmL8uzTt2l2jh4CiQbEMpvMDcp7xi4be0hgXj+Ysodde/i7Q=="], - "@parcel/watcher-linux-arm-glibc": ["@parcel/watcher-linux-arm-glibc@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA=="], + "@reactflow/minimap": ["@reactflow/minimap@11.7.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "@types/d3-selection": "^3.0.3", "@types/d3-zoom": "^3.0.1", "classcat": "^5.0.3", "d3-selection": "^3.0.0", "d3-zoom": "^3.0.0", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-mpwLKKrEAofgFJdkhwR5UQ1JYWlcAAL/ZU/bctBkuNTT1yqV+y0buoNVImsRehVYhJwffSWeSHaBR5/GJjlCSQ=="], - "@parcel/watcher-linux-arm-musl": ["@parcel/watcher-linux-arm-musl@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q=="], + "@reactflow/node-resizer": ["@reactflow/node-resizer@2.2.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "classcat": "^5.0.4", "d3-drag": "^3.0.0", "d3-selection": "^3.0.0", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-fwqnks83jUlYr6OHcdFEedumWKChTHRGw/kbCxj0oqBd+ekfs+SIp4ddyNU0pdx96JIm5iNFS0oNrmEiJbbSaA=="], - "@parcel/watcher-linux-arm64-glibc": ["@parcel/watcher-linux-arm64-glibc@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w=="], + "@reactflow/node-toolbar": ["@reactflow/node-toolbar@1.3.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "classcat": "^5.0.3", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-rbynXQnH/xFNu4P9H+hVqlEUafDCkEoCy0Dg9mG22Sg+rY/0ck6KkrAQrYrTgXusd+cEJOMK0uOOFCK2/5rSGQ=="], - "@parcel/watcher-linux-arm64-musl": ["@parcel/watcher-linux-arm64-musl@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg=="], + "@sinclair/typebox": ["@sinclair/typebox@0.34.41", "", {}, "sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g=="], - "@parcel/watcher-linux-x64-glibc": ["@parcel/watcher-linux-x64-glibc@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A=="], + "@stylistic/eslint-plugin": ["@stylistic/eslint-plugin@5.6.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.0", "@typescript-eslint/types": "^8.47.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "estraverse": "^5.3.0", "picomatch": "^4.0.3" }, "peerDependencies": { "eslint": ">=9.0.0" } }, "sha512-JCs+MqoXfXrRPGbGmho/zGS/jMcn3ieKl/A8YImqib76C8kjgZwq5uUFzc30lJkMvcchuRn6/v8IApLxli3Jyw=="], - "@parcel/watcher-linux-x64-musl": ["@parcel/watcher-linux-x64-musl@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg=="], + "@stylistic/stylelint-plugin": ["@stylistic/stylelint-plugin@4.0.0", "", { "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/media-query-list-parser": "^4.0.3", "postcss": "^8.5.6", "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0", "style-search": "^0.1.0" }, "peerDependencies": { "stylelint": "^16.22.0" } }, "sha512-CFwt3K4Y/7bygNCLCQ8Sy4Hzgbhxq3BsNW0FIuYxl17HD3ywptm54ocyeiLVRrk5jtz1Zwks7Xr9eiZt8SWHAw=="], - "@parcel/watcher-win32-arm64": ["@parcel/watcher-win32-arm64@2.5.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw=="], + "@swc/core": ["@swc/core@1.15.4", "", { "dependencies": { "@swc/counter": "^0.1.3", "@swc/types": "^0.1.25" }, "optionalDependencies": { "@swc/core-darwin-arm64": "1.15.4", "@swc/core-darwin-x64": "1.15.4", "@swc/core-linux-arm-gnueabihf": "1.15.4", "@swc/core-linux-arm64-gnu": "1.15.4", "@swc/core-linux-arm64-musl": "1.15.4", "@swc/core-linux-x64-gnu": "1.15.4", "@swc/core-linux-x64-musl": "1.15.4", "@swc/core-win32-arm64-msvc": "1.15.4", "@swc/core-win32-ia32-msvc": "1.15.4", "@swc/core-win32-x64-msvc": "1.15.4" }, "peerDependencies": { "@swc/helpers": ">=0.5.17" }, "optionalPeers": ["@swc/helpers"] }, "sha512-fH81BPo6EiJ7BUb6Qa5SY/NLWIRVambqU3740g0XPFPEz5KFPnzRYpR6zodQNOcEb9XUtZzRO1Y0WyIJP7iBxQ=="], - "@parcel/watcher-win32-ia32": ["@parcel/watcher-win32-ia32@2.5.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ=="], + "@swc/core-darwin-arm64": ["@swc/core-darwin-arm64@1.15.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-NU/Of+ShFGG/i0lXKsF6GaGeTBNsr9iD8uUzdXxFfGbEjTeuKNXc5CWn3/Uo4Gr4LMAGD3hsRwG2Jq5iBDMalw=="], - "@parcel/watcher-win32-x64": ["@parcel/watcher-win32-x64@2.5.1", "", { "os": "win32", "cpu": "x64" }, "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA=="], + "@swc/core-darwin-x64": ["@swc/core-darwin-x64@1.15.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-9oWYMZHiEfHLqjjRGrXL17I8HdAOpWK/Rps34RKQ74O+eliygi1Iyq1TDUzYqUXcNvqN2K5fHgoMLRIni41ClQ=="], "@playwright/test": ["@playwright/test@1.58.0", "", { "dependencies": { "playwright": "1.58.0" }, "bin": { "playwright": "cli.js" } }, "sha512-fWza+Lpbj6SkQKCrU6si4iu+fD2dD3gxNHFhUPxsfXBPhnv3rRSQVd0NtBUT9Z/RhF/boCBcuUaMUSTRTopjZg=="], - "@radix-ui/primitive": ["@radix-ui/primitive@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10" } }, "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA=="], - - "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA=="], - - "@radix-ui/react-context": ["@radix-ui/react-context@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg=="], - - "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", "@radix-ui/react-compose-refs": "1.0.0", "@radix-ui/react-context": "1.0.0", "@radix-ui/react-dismissable-layer": "1.0.0", "@radix-ui/react-focus-guards": "1.0.0", "@radix-ui/react-focus-scope": "1.0.0", "@radix-ui/react-id": "1.0.0", "@radix-ui/react-portal": "1.0.0", "@radix-ui/react-presence": "1.0.0", "@radix-ui/react-primitive": "1.0.0", "@radix-ui/react-slot": "1.0.0", "@radix-ui/react-use-controllable-state": "1.0.0", "aria-hidden": "^1.1.1", "react-remove-scroll": "2.5.4" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" } }, "sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q=="], + "@swc/core-linux-arm64-gnu": ["@swc/core-linux-arm64-gnu@1.15.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-iGpuS/2PDZ68ioAlhkxiN5M4+pB9uDJolTKk4mZ0JM29uFf9YIkiyk7Bbr2y1QtmD82rF0tDHhoG9jtnV8mZMg=="], - "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", "@radix-ui/react-compose-refs": "1.0.0", "@radix-ui/react-primitive": "1.0.0", "@radix-ui/react-use-callback-ref": "1.0.0", "@radix-ui/react-use-escape-keydown": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" } }, "sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g=="], + "@swc/core-linux-arm64-musl": ["@swc/core-linux-arm64-musl@1.15.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-Ly95wc+VXDhl08pjAoPUhVu5vNbuPMbURknRZa5QOZuiizJ6DkaSI0/zsEc26PpC6HTc4prNLY3ARVwZ7j/IJQ=="], - "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ=="], + "@swc/core-linux-x64-gnu": ["@swc/core-linux-x64-gnu@1.15.4", "", { "os": "linux", "cpu": "x64" }, "sha512-7pIG0BnaMn4zTpHeColPwyrWoTY9Drr+ISZQIgYHUKh3oaPtNCrXb289ScGbPPPjLsSfcGTeOy2pXmNczMC+yg=="], - "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.0", "@radix-ui/react-primitive": "1.0.0", "@radix-ui/react-use-callback-ref": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" } }, "sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ=="], + "@swc/core-linux-x64-musl": ["@swc/core-linux-x64-musl@1.15.4", "", { "os": "linux", "cpu": "x64" }, "sha512-oaqTV25V9H+PpSkvTcK25q6Q56FvXc6d2xBu486dv9LAPCHWgeAworE8WpBLV26g8rubcN5nGhO5HwSunXA7Ww=="], - "@radix-ui/react-id": ["@radix-ui/react-id@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-layout-effect": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw=="], + "@swc/core-win32-arm64-msvc": ["@swc/core-win32-arm64-msvc@1.15.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-VcPuUJw27YbGo1HcOaAriI50dpM3ZZeDW3x2cMnJW6vtkeyzUFk1TADmTwFax0Fn+yicCxhaWjnFE3eAzGAxIQ=="], - "@radix-ui/react-portal": ["@radix-ui/react-portal@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-primitive": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" } }, "sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA=="], + "@swc/core-win32-ia32-msvc": ["@swc/core-win32-ia32-msvc@1.15.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-dREjghAZEuKAK9nQzJETAiCSihSpAVS6Vk9+y2ElaoeTj68tNB1txV/m1RTPPD/+Kgbz6ITPNyXRWxPdkP5aXw=="], - "@radix-ui/react-presence": ["@radix-ui/react-presence@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.0", "@radix-ui/react-use-layout-effect": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" } }, "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w=="], + "@swc/core-win32-x64-msvc": ["@swc/core-win32-x64-msvc@1.15.4", "", { "os": "win32", "cpu": "x64" }, "sha512-o/odIBuQkoxKbRweJWOMI9LeRSOenFKN2zgPeaaNQ/cyuVk2r6DCAobKMOodvDdZWlMn6N1xJrldeCRSTZIgiQ=="], - "@radix-ui/react-primitive": ["@radix-ui/react-primitive@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-slot": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" } }, "sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ=="], - - "@radix-ui/react-slot": ["@radix-ui/react-slot@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ=="], - - "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg=="], - - "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-callback-ref": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg=="], - - "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-callback-ref": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg=="], - - "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ=="], - - "@rc-component/portal": ["@rc-component/portal@1.1.2", "", { "dependencies": { "@babel/runtime": "^7.18.0", "classnames": "^2.3.2", "rc-util": "^5.24.4" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg=="], - - "@rc-component/trigger": ["@rc-component/trigger@2.3.0", "", { "dependencies": { "@babel/runtime": "^7.23.2", "@rc-component/portal": "^1.1.0", "classnames": "^2.3.2", "rc-motion": "^2.0.0", "rc-resize-observer": "^1.3.1", "rc-util": "^5.44.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-iwaxZyzOuK0D7lS+0AQEtW52zUWxoGqTGkke3dRyb8pYiShmRpCjB/8TzPI4R6YySCH7Vm9BZj/31VPiiQTLBg=="], - - "@react-spring/animated": ["@react-spring/animated@9.7.5", "", { "dependencies": { "@react-spring/shared": "~9.7.5", "@react-spring/types": "~9.7.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg=="], - - "@react-spring/core": ["@react-spring/core@9.7.5", "", { "dependencies": { "@react-spring/animated": "~9.7.5", "@react-spring/shared": "~9.7.5", "@react-spring/types": "~9.7.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "sha512-rmEqcxRcu7dWh7MnCcMXLvrf6/SDlSokLaLTxiPlAYi11nN3B5oiCUAblO72o+9z/87j2uzxa2Inm8UbLjXA+w=="], - - "@react-spring/rafz": ["@react-spring/rafz@9.7.5", "", {}, "sha512-5ZenDQMC48wjUzPAm1EtwQ5Ot3bLIAwwqP2w2owG5KoNdNHpEJV263nGhCeKKmuA3vG2zLLOdu3or6kuDjA6Aw=="], - - "@react-spring/shared": ["@react-spring/shared@9.7.5", "", { "dependencies": { "@react-spring/rafz": "~9.7.5", "@react-spring/types": "~9.7.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "sha512-wdtoJrhUeeyD/PP/zo+np2s1Z820Ohr/BbuVYv+3dVLW7WctoiN7std8rISoYoHpUXtbkpesSKuPIw/6U1w1Pw=="], - - "@react-spring/types": ["@react-spring/types@9.7.5", "", {}, "sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g=="], - - "@react-spring/web": ["@react-spring/web@9.7.5", "", { "dependencies": { "@react-spring/animated": "~9.7.5", "@react-spring/core": "~9.7.5", "@react-spring/shared": "~9.7.5", "@react-spring/types": "~9.7.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "sha512-lmvqGwpe+CSttsWNZVr+Dg62adtKhauGwLyGE/RRyZ8AAMLgb9x3NDMA5RMElXo+IMyTkPp7nxTB8ZQlmhb6JQ=="], - - "@reactflow/background": ["@reactflow/background@11.3.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "classcat": "^5.0.3", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-Gewd7blEVT5Lh6jqrvOgd4G6Qk17eGKQfsDXgyRSqM+CTwDqRldG2LsWN4sNeno6sbqVIC2fZ+rAUBFA9ZEUDA=="], - - "@reactflow/controls": ["@reactflow/controls@11.2.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "classcat": "^5.0.3", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-MiJp5VldFD7FrqaBNIrQ85dxChrG6ivuZ+dcFhPQUwOK3HfYgX2RHdBua+gx+40p5Vw5It3dVNp/my4Z3jF0dw=="], - - "@reactflow/core": ["@reactflow/core@11.11.4", "", { "dependencies": { "@types/d3": "^7.4.0", "@types/d3-drag": "^3.0.1", "@types/d3-selection": "^3.0.3", "@types/d3-zoom": "^3.0.1", "classcat": "^5.0.3", "d3-drag": "^3.0.0", "d3-selection": "^3.0.0", "d3-zoom": "^3.0.0", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-H4vODklsjAq3AMq6Np4LE12i1I4Ta9PrDHuBR9GmL8uzTt2l2jh4CiQbEMpvMDcp7xi4be0hgXj+Ysodde/i7Q=="], - - "@reactflow/minimap": ["@reactflow/minimap@11.7.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "@types/d3-selection": "^3.0.3", "@types/d3-zoom": "^3.0.1", "classcat": "^5.0.3", "d3-selection": "^3.0.0", "d3-zoom": "^3.0.0", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-mpwLKKrEAofgFJdkhwR5UQ1JYWlcAAL/ZU/bctBkuNTT1yqV+y0buoNVImsRehVYhJwffSWeSHaBR5/GJjlCSQ=="], - - "@reactflow/node-resizer": ["@reactflow/node-resizer@2.2.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "classcat": "^5.0.4", "d3-drag": "^3.0.0", "d3-selection": "^3.0.0", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-fwqnks83jUlYr6OHcdFEedumWKChTHRGw/kbCxj0oqBd+ekfs+SIp4ddyNU0pdx96JIm5iNFS0oNrmEiJbbSaA=="], - - "@reactflow/node-toolbar": ["@reactflow/node-toolbar@1.3.14", "", { "dependencies": { "@reactflow/core": "11.11.4", "classcat": "^5.0.3", "zustand": "^4.4.1" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-rbynXQnH/xFNu4P9H+hVqlEUafDCkEoCy0Dg9mG22Sg+rY/0ck6KkrAQrYrTgXusd+cEJOMK0uOOFCK2/5rSGQ=="], - - "@sinclair/typebox": ["@sinclair/typebox@0.27.8", "", {}, "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA=="], - - "@stylistic/eslint-plugin-js": ["@stylistic/eslint-plugin-js@2.13.0", "", { "dependencies": { "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0" }, "peerDependencies": { "eslint": ">=8.40.0" } }, "sha512-GPPDK4+fcbsQD58a3abbng2Dx+jBoxM5cnYjBM4T24WFZRZdlNSKvR19TxP8CPevzMOodQ9QVzNeqWvMXzfJRA=="], - - "@stylistic/stylelint-plugin": ["@stylistic/stylelint-plugin@2.1.3", "", { "dependencies": { "@csstools/css-parser-algorithms": "^2.7.1", "@csstools/css-tokenizer": "^2.4.1", "@csstools/media-query-list-parser": "^2.1.13", "is-plain-object": "^5.0.0", "postcss-selector-parser": "^6.1.1", "postcss-value-parser": "^4.2.0", "style-search": "^0.1.0", "stylelint": "^16.8.0" } }, "sha512-/KUcqX36AbbUk7KvNuM0dWv2XSlPa1M12CPcC//eA4MNEFsZFl+2Kf8UZCLjlIWIrDNitd591vaVkXfOwUtsFQ=="], + "@swc/counter": ["@swc/counter@0.1.3", "", {}, "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="], - "@swc/core": ["@swc/core@1.12.14", "", { "dependencies": { "@swc/counter": "^0.1.3", "@swc/types": "^0.1.23" }, "optionalDependencies": { "@swc/core-darwin-arm64": "1.12.14", "@swc/core-darwin-x64": "1.12.14", "@swc/core-linux-arm-gnueabihf": "1.12.14", "@swc/core-linux-arm64-gnu": "1.12.14", "@swc/core-linux-arm64-musl": "1.12.14", "@swc/core-linux-x64-gnu": "1.12.14", "@swc/core-linux-x64-musl": "1.12.14", "@swc/core-win32-arm64-msvc": "1.12.14", "@swc/core-win32-ia32-msvc": "1.12.14", "@swc/core-win32-x64-msvc": "1.12.14" }, "peerDependencies": { "@swc/helpers": ">=0.5.17" }, "optionalPeers": ["@swc/helpers"] }, "sha512-CJSn2vstd17ddWIHBsjuD4OQnn9krQfaq6EO+w9YfId5DKznyPmzxAARlOXG99cC8/3Kli8ysKy6phL43bSr0w=="], + "@swc/helpers": ["@swc/helpers@0.2.14", "", {}, "sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA=="], - "@swc/core-darwin-arm64": ["@swc/core-darwin-arm64@1.12.14", "", { "os": "darwin", "cpu": "arm64" }, "sha512-HNukQoOKgMsHSETj8vgGGKK3SEcH7Cz6k4bpntCxBKNkO3sH7RcBTDulWGGHJfZaDNix7Rw2ExUVWtLZlzkzXg=="], + "@swc/types": ["@swc/types@0.1.25", "", { "dependencies": { "@swc/counter": "^0.1.3" } }, "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g=="], - "@swc/core-darwin-x64": ["@swc/core-darwin-x64@1.12.14", "", { "os": "darwin", "cpu": "x64" }, "sha512-4Ttf3Obtk3MvFrR0e04qr6HfXh4L1Z+K3dRej63TAFuYpo+cPXeOZdPUddAW73lSUGkj+61IHnGPoXD3OQYy4Q=="], + "@tailwindcss/node": ["@tailwindcss/node@4.1.18", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", "jiti": "^2.6.1", "lightningcss": "1.30.2", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.1.18" } }, "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ=="], - "@swc/core-linux-arm-gnueabihf": ["@swc/core-linux-arm-gnueabihf@1.12.14", "", { "os": "linux", "cpu": "arm" }, "sha512-zhJOH2KWjtQpzJ27Xjw/RKLVOa1aiEJC2b70xbCwEX6ZTVAl8tKbhkZ3GMphhfVmLJ9gf/2UQR58oxVnsXqX5Q=="], + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.18", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.18", "@tailwindcss/oxide-darwin-arm64": "4.1.18", "@tailwindcss/oxide-darwin-x64": "4.1.18", "@tailwindcss/oxide-freebsd-x64": "4.1.18", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", "@tailwindcss/oxide-linux-x64-musl": "4.1.18", "@tailwindcss/oxide-wasm32-wasi": "4.1.18", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" } }, "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A=="], - "@swc/core-linux-arm64-gnu": ["@swc/core-linux-arm64-gnu@1.12.14", "", { "os": "linux", "cpu": "arm64" }, "sha512-akUAe1YrBqZf1EDdUxahQ8QZnJi8Ts6Ya0jf6GBIMvnXL4Y6QIuvKTRwfNxy7rJ+x9zpzP1Vlh14ZZkSKZ1EGA=="], + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.18", "", { "os": "android", "cpu": "arm64" }, "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q=="], - "@swc/core-linux-arm64-musl": ["@swc/core-linux-arm64-musl@1.12.14", "", { "os": "linux", "cpu": "arm64" }, "sha512-ZkOOIpSMXuPAjfOXEIAEQcrPOgLi6CaXvA5W+GYnpIpFG21Nd0qb0WbwFRv4K8BRtl993Q21v0gPpOaFHU+wdA=="], + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.18", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A=="], - "@swc/core-linux-x64-gnu": ["@swc/core-linux-x64-gnu@1.12.14", "", { "os": "linux", "cpu": "x64" }, "sha512-71EPPccwJiJUxd2aMwNlTfom2mqWEWYGdbeTju01tzSHsEuD7E6ePlgC3P3ngBqB3urj41qKs87z7zPOswT5Iw=="], + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.18", "", { "os": "darwin", "cpu": "x64" }, "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw=="], - "@swc/core-linux-x64-musl": ["@swc/core-linux-x64-musl@1.12.14", "", { "os": "linux", "cpu": "x64" }, "sha512-nImF1hZJqKTcl0WWjHqlelOhvuB9rU9kHIw/CmISBUZXogjLIvGyop1TtJNz0ULcz2Oxr3Q2YpwfrzsgvgbGkA=="], + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.18", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA=="], - "@swc/core-win32-arm64-msvc": ["@swc/core-win32-arm64-msvc@1.12.14", "", { "os": "win32", "cpu": "arm64" }, "sha512-sABFQFxSuStFoxvEWZUHWYldtB1B4A9eDNFd4Ty50q7cemxp7uoscFoaCqfXSGNBwwBwpS5EiPB6YN4y6hqmLQ=="], + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18", "", { "os": "linux", "cpu": "arm" }, "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA=="], - "@swc/core-win32-ia32-msvc": ["@swc/core-win32-ia32-msvc@1.12.14", "", { "os": "win32", "cpu": "ia32" }, "sha512-KBznRB02NASkpepRdWIK4f1AvmaJCDipKWdW1M1xV9QL2tE4aySJFojVuG1+t0tVDkjRfwcZjycQfRoJ4RjD7Q=="], + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw=="], - "@swc/core-win32-x64-msvc": ["@swc/core-win32-x64-msvc@1.12.14", "", { "os": "win32", "cpu": "x64" }, "sha512-SymoP2CJHzrYaFKjWvuQljcF7BkTpzaS1vpywv7K9EzdTb5N8qPDvNd+PhWUqBz9JHBhbJxpaeTDQBXF/WWPmw=="], + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg=="], - "@swc/counter": ["@swc/counter@0.1.3", "", {}, "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="], + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g=="], - "@swc/helpers": ["@swc/helpers@0.2.14", "", {}, "sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA=="], + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ=="], - "@swc/types": ["@swc/types@0.1.23", "", { "dependencies": { "@swc/counter": "^0.1.3" } }, "sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw=="], + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.18", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.0", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.4.0" }, "cpu": "none" }, "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA=="], - "@tannin/compile": ["@tannin/compile@1.1.0", "", { "dependencies": { "@tannin/evaluate": "^1.2.0", "@tannin/postfix": "^1.1.0" } }, "sha512-n8m9eNDfoNZoxdvWiTfW/hSPhehzLJ3zW7f8E7oT6mCROoMNWCB4TYtv041+2FMAxweiE0j7i1jubQU4MEC/Gg=="], + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.18", "", { "os": "win32", "cpu": "arm64" }, "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA=="], - "@tannin/evaluate": ["@tannin/evaluate@1.2.0", "", {}, "sha512-3ioXvNowbO/wSrxsDG5DKIMxC81P0QrQTYai8zFNY+umuoHWRPbQ/TuuDEOju9E+jQDXmj6yI5GyejNuh8I+eg=="], + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.18", "", { "os": "win32", "cpu": "x64" }, "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q=="], - "@tannin/plural-forms": ["@tannin/plural-forms@1.1.0", "", { "dependencies": { "@tannin/compile": "^1.1.0" } }, "sha512-xl9R2mDZO/qiHam1AgMnAES6IKIg7OBhcXqy6eDsRCdXuxAFPcjrej9HMjyCLE0DJ/8cHf0i5OQTstuBRhpbHw=="], + "@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.18", "@tailwindcss/oxide": "4.1.18", "postcss": "^8.4.41", "tailwindcss": "4.1.18" } }, "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g=="], - "@tannin/postfix": ["@tannin/postfix@1.1.0", "", {}, "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw=="], + "@tailwindcss/typography": ["@tailwindcss/typography@0.5.19", "", { "dependencies": { "postcss-selector-parser": "6.0.10" }, "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" } }, "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg=="], "@types/d3": ["@types/d3@7.4.3", "", { "dependencies": { "@types/d3-array": "*", "@types/d3-axis": "*", "@types/d3-brush": "*", "@types/d3-chord": "*", "@types/d3-color": "*", "@types/d3-contour": "*", "@types/d3-delaunay": "*", "@types/d3-dispatch": "*", "@types/d3-drag": "*", "@types/d3-dsv": "*", "@types/d3-ease": "*", "@types/d3-fetch": "*", "@types/d3-force": "*", "@types/d3-format": "*", "@types/d3-geo": "*", "@types/d3-hierarchy": "*", "@types/d3-interpolate": "*", "@types/d3-path": "*", "@types/d3-polygon": "*", "@types/d3-quadtree": "*", "@types/d3-random": "*", "@types/d3-scale": "*", "@types/d3-scale-chromatic": "*", "@types/d3-selection": "*", "@types/d3-shape": "*", "@types/d3-time": "*", "@types/d3-time-format": "*", "@types/d3-timer": "*", "@types/d3-transition": "*", "@types/d3-zoom": "*" } }, "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww=="], - "@types/d3-array": ["@types/d3-array@3.2.1", "", {}, "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg=="], + "@types/d3-array": ["@types/d3-array@3.2.2", "", {}, "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw=="], "@types/d3-axis": ["@types/d3-axis@3.0.6", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw=="], @@ -329,7 +242,7 @@ "@types/d3-delaunay": ["@types/d3-delaunay@6.0.4", "", {}, "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw=="], - "@types/d3-dispatch": ["@types/d3-dispatch@3.0.6", "", {}, "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ=="], + "@types/d3-dispatch": ["@types/d3-dispatch@3.0.7", "", {}, "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA=="], "@types/d3-drag": ["@types/d3-drag@3.0.7", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ=="], @@ -383,12 +296,6 @@ "@types/geojson": ["@types/geojson@7946.0.16", "", {}, "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg=="], - "@types/glob": ["@types/glob@7.2.0", "", { "dependencies": { "@types/minimatch": "*", "@types/node": "*" } }, "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA=="], - - "@types/gradient-parser": ["@types/gradient-parser@0.1.3", "", {}, "sha512-XDbrTSBlQV9nxE1GiDL3FaOPy4G/KaJkhDutBX48Kg8CYZMBARyyDFGCWfWJn4pobmInmwud1xxH7VJMAr0CKQ=="], - - "@types/highlight-words-core": ["@types/highlight-words-core@1.2.1", "", {}, "sha512-9VZUA5omXBfn+hDxFjUDu1FOJTBM3LmvqfDey+Z6Aa8B8/JmF5SMj6FBrjfgJ/Q3YXOZd3qyTDfJyMZSs/wCUA=="], - "@types/istanbul-lib-coverage": ["@types/istanbul-lib-coverage@2.0.6", "", {}, "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w=="], "@types/istanbul-lib-report": ["@types/istanbul-lib-report@3.0.3", "", { "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA=="], @@ -397,33 +304,15 @@ "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], - "@types/minimatch": ["@types/minimatch@6.0.0", "", { "dependencies": { "minimatch": "*" } }, "sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA=="], - - "@types/mousetrap": ["@types/mousetrap@1.6.15", "", {}, "sha512-qL0hyIMNPow317QWW/63RvL1x5MVMV+Ru3NaY9f/CuEpCqrmb7WeuK2071ZY5hczOnm38qExWM2i2WtkXLSqFw=="], - - "@types/node": ["@types/node@24.0.14", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw=="], - - "@types/parse-json": ["@types/parse-json@4.0.2", "", {}, "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="], - - "@types/prop-types": ["@types/prop-types@15.7.15", "", {}, "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw=="], - - "@types/react": ["@types/react@18.3.23", "", { "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w=="], - - "@types/react-dom": ["@types/react-dom@18.3.7", "", { "peerDependencies": { "@types/react": "^18.0.0" } }, "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ=="], + "@types/node": ["@types/node@25.0.2", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-gWEkeiyYE4vqjON/+Obqcoeffmk0NF15WSBwSs7zwVA2bAbTaE0SJ7P0WNGoJn8uE7fiaV5a7dKYIJriEqOrmA=="], - "@types/react-transition-group": ["@types/react-transition-group@4.4.12", "", { "peerDependencies": { "@types/react": "*" } }, "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w=="], - - "@types/tinycolor2": ["@types/tinycolor2@1.4.6", "", {}, "sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw=="], - - "@types/yargs": ["@types/yargs@17.0.33", "", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA=="], + "@types/yargs": ["@types/yargs@17.0.35", "", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg=="], "@types/yargs-parser": ["@types/yargs-parser@21.0.3", "", {}, "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ=="], - "@uidotdev/usehooks": ["@uidotdev/usehooks@2.4.1", "", { "peerDependencies": { "react": ">=18.0.0", "react-dom": ">=18.0.0" } }, "sha512-1I+RwWyS+kdv3Mv0Vmc+p0dPYH0DTRAo04HLyXReYBL9AeseDWUJyi4THuksBJcu9F0Pih69Ak150VDnqbVnXg=="], - - "@use-gesture/core": ["@use-gesture/core@10.3.1", "", {}, "sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw=="], + "@typescript-eslint/types": ["@typescript-eslint/types@8.49.0", "", {}, "sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ=="], - "@use-gesture/react": ["@use-gesture/react@10.3.1", "", { "dependencies": { "@use-gesture/core": "10.3.1" }, "peerDependencies": { "react": ">= 16.8.0" } }, "sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g=="], + "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], "@webassemblyjs/ast": ["@webassemblyjs/ast@1.14.1", "", { "dependencies": { "@webassemblyjs/helper-numbers": "1.13.2", "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ=="], @@ -461,83 +350,7 @@ "@webpack-cli/serve": ["@webpack-cli/serve@3.0.1", "", { "peerDependencies": { "webpack": "^5.82.0", "webpack-cli": "6.x.x" } }, "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg=="], - "@wordpress/a11y": ["@wordpress/a11y@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/dom-ready": "^3.58.0", "@wordpress/i18n": "^4.58.0" } }, "sha512-7NnJKl4+pxP6kV/jvXaJcZZCGzW7zaj6YeMnyjUd96cH4ta1ykBIveWgejerFOGsbK+88FnStcxSFj+dbDXs/w=="], - - "@wordpress/api-fetch": ["@wordpress/api-fetch@6.55.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/i18n": "^4.58.0", "@wordpress/url": "^3.59.0" } }, "sha512-1HrCUsJdeRY5Y0IjplotINwqMRO81e7O7VhBScuKk7iOuDm/E1ioKv2uLGnPNWziYu+Zf025byxOqVzXDyM2gw=="], - - "@wordpress/autop": ["@wordpress/autop@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-RsdUV57A+DTJGU3slq/S9vTOtVkatnT1YyGIK3UDKaEhXkvBPtLTWwd3WR13GCfjFZ5XupH9FAGUQFkOve0eKQ=="], - - "@wordpress/blob": ["@wordpress/blob@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-6L3WqbOWEGFOSs3vLMwJ83YScggCiJ9NvZj1kC7mgeiP302UP2Fxkt4KlfjeTsD350XcvakkD/57wRkHXd819Q=="], - - "@wordpress/block-editor": ["@wordpress/block-editor@12.26.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", "@react-spring/web": "^9.4.5", "@wordpress/a11y": "^3.58.0", "@wordpress/api-fetch": "^6.55.0", "@wordpress/blob": "^3.58.0", "@wordpress/blocks": "^12.35.0", "@wordpress/commands": "^0.29.0", "@wordpress/components": "^27.6.0", "@wordpress/compose": "^6.35.0", "@wordpress/data": "^9.28.0", "@wordpress/date": "^4.58.0", "@wordpress/deprecated": "^3.58.0", "@wordpress/dom": "^3.58.0", "@wordpress/element": "^5.35.0", "@wordpress/escape-html": "^2.58.0", "@wordpress/hooks": "^3.58.0", "@wordpress/html-entities": "^3.58.0", "@wordpress/i18n": "^4.58.0", "@wordpress/icons": "^9.49.0", "@wordpress/is-shallow-equal": "^4.58.0", "@wordpress/keyboard-shortcuts": "^4.35.0", "@wordpress/keycodes": "^3.58.0", "@wordpress/notices": "^4.26.0", "@wordpress/preferences": "^3.35.0", "@wordpress/private-apis": "^0.40.0", "@wordpress/rich-text": "^6.35.0", "@wordpress/style-engine": "^1.41.0", "@wordpress/token-list": "^2.58.0", "@wordpress/url": "^3.59.0", "@wordpress/warning": "^2.58.0", "@wordpress/wordcount": "^3.58.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", "deepmerge": "^4.3.0", "diff": "^4.0.2", "fast-deep-equal": "^3.1.3", "memize": "^2.1.0", "postcss": "^8.4.21", "postcss-prefixwrap": "^1.41.0", "postcss-urlrebase": "^1.0.0", "react-autosize-textarea": "^7.1.0", "react-easy-crop": "^5.0.6", "remove-accents": "^0.5.0" }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" } }, "sha512-wkBP37hB6Fb1AaUIjry6S3LlFrjnVq3Seg8ktZPLozDv2cyODs/ym8+wjv8TR/aiuSWdk0dZZywYMNc+vHEfEg=="], - - "@wordpress/block-serialization-default-parser": ["@wordpress/block-serialization-default-parser@4.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-++fowmFEJC+1SwiCGuLPO9k+g3rgI2SCAA/p8/Bc1rNgnKB+rowzmQvSIIlRpcUkmOxHOrH5uruOEX27Ksg6uw=="], - - "@wordpress/blocks": ["@wordpress/blocks@12.35.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/autop": "^3.58.0", "@wordpress/blob": "^3.58.0", "@wordpress/block-serialization-default-parser": "^4.58.0", "@wordpress/compose": "^6.35.0", "@wordpress/data": "^9.28.0", "@wordpress/deprecated": "^3.58.0", "@wordpress/dom": "^3.58.0", "@wordpress/element": "^5.35.0", "@wordpress/hooks": "^3.58.0", "@wordpress/html-entities": "^3.58.0", "@wordpress/i18n": "^4.58.0", "@wordpress/is-shallow-equal": "^4.58.0", "@wordpress/private-apis": "^0.40.0", "@wordpress/rich-text": "^6.35.0", "@wordpress/shortcode": "^3.58.0", "change-case": "^4.1.2", "colord": "^2.7.0", "fast-deep-equal": "^3.1.3", "hpq": "^1.3.0", "is-plain-object": "^5.0.0", "memize": "^2.1.0", "react-is": "^18.3.0", "remove-accents": "^0.5.0", "showdown": "^1.9.1", "simple-html-tokenizer": "^0.5.7", "uuid": "^9.0.1" }, "peerDependencies": { "react": "^18.0.0" } }, "sha512-BwjMca4aGuttu3C0nLLpt6MBg6IBCogA6ulGTyg+0YdKnwac52k+2wfersqAem8AFgG0hTDwrIpLsWLxpF9dtg=="], - - "@wordpress/commands": ["@wordpress/commands@0.29.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/components": "^27.6.0", "@wordpress/data": "^9.28.0", "@wordpress/element": "^5.35.0", "@wordpress/i18n": "^4.58.0", "@wordpress/icons": "^9.49.0", "@wordpress/keyboard-shortcuts": "^4.35.0", "@wordpress/private-apis": "^0.40.0", "clsx": "^2.1.1", "cmdk": "^0.2.0" }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" } }, "sha512-HqTrYfQw/5cdT2hPgmuKW6gugnt1Pqtg9zjRHUa+D4ME7mjR4dYQoHRgnFM+hm8OOuEZRVBsa1kYO3t3041Jew=="], - - "@wordpress/components": ["@wordpress/components@27.6.0", "", { "dependencies": { "@ariakit/react": "^0.3.12", "@babel/runtime": "^7.16.0", "@emotion/cache": "^11.7.1", "@emotion/css": "^11.7.1", "@emotion/react": "^11.7.1", "@emotion/serialize": "^1.0.2", "@emotion/styled": "^11.6.0", "@emotion/utils": "^1.0.0", "@floating-ui/react-dom": "^2.0.8", "@types/gradient-parser": "0.1.3", "@types/highlight-words-core": "1.2.1", "@use-gesture/react": "^10.3.1", "@wordpress/a11y": "^3.58.0", "@wordpress/compose": "^6.35.0", "@wordpress/date": "^4.58.0", "@wordpress/deprecated": "^3.58.0", "@wordpress/dom": "^3.58.0", "@wordpress/element": "^5.35.0", "@wordpress/escape-html": "^2.58.0", "@wordpress/hooks": "^3.58.0", "@wordpress/html-entities": "^3.58.0", "@wordpress/i18n": "^4.58.0", "@wordpress/icons": "^9.49.0", "@wordpress/is-shallow-equal": "^4.58.0", "@wordpress/keycodes": "^3.58.0", "@wordpress/primitives": "^3.56.0", "@wordpress/private-apis": "^0.40.0", "@wordpress/rich-text": "^6.35.0", "@wordpress/warning": "^2.58.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", "date-fns": "^3.6.0", "deepmerge": "^4.3.0", "downshift": "^6.0.15", "fast-deep-equal": "^3.1.3", "framer-motion": "^11.1.9", "gradient-parser": "^0.1.5", "highlight-words-core": "^1.2.2", "is-plain-object": "^5.0.0", "memize": "^2.1.0", "path-to-regexp": "^6.2.1", "re-resizable": "^6.4.0", "react-colorful": "^5.3.1", "remove-accents": "^0.5.0", "use-lilius": "^2.0.5", "uuid": "^9.0.1" }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" } }, "sha512-f+fXENkgrPs5GLo2yu9fEAdVX0KriEatRcjDUyw0+DbNbJR62sCdDtGdhJRW4jPUUoUowxaGO0y4+jvQWxnbyg=="], - - "@wordpress/compose": ["@wordpress/compose@6.35.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@types/mousetrap": "^1.6.8", "@wordpress/deprecated": "^3.58.0", "@wordpress/dom": "^3.58.0", "@wordpress/element": "^5.35.0", "@wordpress/is-shallow-equal": "^4.58.0", "@wordpress/keycodes": "^3.58.0", "@wordpress/priority-queue": "^2.58.0", "@wordpress/undo-manager": "^0.18.0", "change-case": "^4.1.2", "clipboard": "^2.0.11", "mousetrap": "^1.6.5", "use-memo-one": "^1.1.1" }, "peerDependencies": { "react": "^18.0.0" } }, "sha512-PfruhCxxxJokDQHc2YBgerEiHV7BIxQk9g5vU4/f9X/0PBQWUTuxOzSFcAba03vnjfAgtPTSMp50T50hcJwXfA=="], - - "@wordpress/data": ["@wordpress/data@9.28.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/compose": "^6.35.0", "@wordpress/deprecated": "^3.58.0", "@wordpress/element": "^5.35.0", "@wordpress/is-shallow-equal": "^4.58.0", "@wordpress/priority-queue": "^2.58.0", "@wordpress/private-apis": "^0.40.0", "@wordpress/redux-routine": "^4.58.0", "deepmerge": "^4.3.0", "equivalent-key-map": "^0.2.2", "is-plain-object": "^5.0.0", "is-promise": "^4.0.0", "redux": "^4.1.2", "rememo": "^4.0.2", "use-memo-one": "^1.1.1" }, "peerDependencies": { "react": "^18.0.0" } }, "sha512-EDPpZdkngdoW7EMzPpGj0BmNcr7syJO67pgTODtN/4XFIdYL2RKzFyn3nlLBKhX17UsE/ALq9WdijacH4QJ9qw=="], - - "@wordpress/date": ["@wordpress/date@4.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/deprecated": "^3.58.0", "moment": "^2.29.4", "moment-timezone": "^0.5.40" } }, "sha512-yFT7DU0H9W0lsDytMaVMmjho08X1LeBMIQMppxdtKB04Ujx58hVh7gtunOsstUQ7pVg23nE2eLaVfx5JOdjzAw=="], - - "@wordpress/dependency-extraction-webpack-plugin": ["@wordpress/dependency-extraction-webpack-plugin@5.9.0", "", { "dependencies": { "json2php": "^0.0.7" }, "peerDependencies": { "webpack": "^5.0.0" } }, "sha512-hXbCkbG1XES47t7hFSETRrLfaRSPyQPlCnhlCx7FfhYFD0wh1jVArApXX5dD+A6wTrayXX/a16MpfaNqE662XA=="], - - "@wordpress/deprecated": ["@wordpress/deprecated@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/hooks": "^3.58.0" } }, "sha512-knweE2lLEUxWRr6A48sHiO0ww5pPybGe2NVIZVq/y7EaYCMdpy6gYA0ZdVqMKZvtxKKqicJfwigcn+hinsTvUQ=="], - - "@wordpress/dom": ["@wordpress/dom@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/deprecated": "^3.58.0" } }, "sha512-t3xSr/nqekj2qwUGRAqSeGx6116JOBxzI+VBiUfZrjGEnuyKdLelXDEeYtcwbb7etMkj/6F60/NB7GTl5IwizQ=="], - - "@wordpress/dom-ready": ["@wordpress/dom-ready@4.29.0", "", { "dependencies": { "@babel/runtime": "7.25.7" } }, "sha512-B1hoNo8uYYVsAlKXkbuMbn7InRksxXAYLdfM0Nuz/Ab+k8AoY3IUqufd2PAwLo+JzkLsyDeyvvLG8VgmK7+uFw=="], - - "@wordpress/element": ["@wordpress/element@5.35.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@types/react": "^18.2.79", "@types/react-dom": "^18.2.25", "@wordpress/escape-html": "^2.58.0", "change-case": "^4.1.2", "is-plain-object": "^5.0.0", "react": "^18.3.0", "react-dom": "^18.3.0" } }, "sha512-puswpGcIdS+0A2g28uHriMkZqqRCmzFczue5Tk99VNtzBdehyk7Ae+DZ4xw5yT6GqYai8NTqv6MRwCB78uh5Mw=="], - - "@wordpress/escape-html": ["@wordpress/escape-html@2.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-9YJXMNfzkrhHEVP1jFEhgijbZqW8Mt3NHIMZjIQoWtBf7QE86umpYpGGBXzYC0YlpGTRGzZTBwYaqFKxjeaSgA=="], - - "@wordpress/hooks": ["@wordpress/hooks@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-9LB0ZHnZRQlORttux9t/xbAskF+dk2ujqzPGsVzc92mSKpQP3K2a5Wy74fUnInguB1vLUNHT6nrNdkVom5qX1Q=="], - - "@wordpress/html-entities": ["@wordpress/html-entities@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-FU7b6QZdwTCuLKq6wCl0IZqqOMcMRxMcekVVytzTse7hYk9dvL1qQL/U4eQ/CNyKqiT9u7fb5NKTQILOzoolVQ=="], - - "@wordpress/i18n": ["@wordpress/i18n@4.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/hooks": "^3.58.0", "gettext-parser": "^1.3.1", "memize": "^2.1.0", "sprintf-js": "^1.1.1", "tannin": "^1.2.0" }, "bin": { "pot-to-php": "tools/pot-to-php.js" } }, "sha512-VfvS3BWv/RDjRKD6PscIcvYfWKnGJcI/DEqyDgUMhxCM6NRwoL478CsUKTiGJIymeyRodNRfprdcF086DpGKYw=="], - - "@wordpress/icons": ["@wordpress/icons@9.49.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/element": "^5.35.0", "@wordpress/primitives": "^3.56.0" } }, "sha512-Z8F+ledkfkcKDuS1c/RkM0dEWdfv2AXs6bCgey89p0atJSscf7qYbMJR9zE5rZ5aqXyFfV0DAFKJEgayNqneNQ=="], - - "@wordpress/is-shallow-equal": ["@wordpress/is-shallow-equal@4.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-NH2lbXo/6ix1t4Zu9UBXpXNtoLwSaYmIRSyDH34XNb0ic8a7yjEOhYWVW3LTfSCv9dJVyxlM5TJPtL85q7LdeQ=="], - - "@wordpress/keyboard-shortcuts": ["@wordpress/keyboard-shortcuts@4.35.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/data": "^9.28.0", "@wordpress/element": "^5.35.0", "@wordpress/keycodes": "^3.58.0" }, "peerDependencies": { "react": "^18.0.0" } }, "sha512-DR+fWhHt67GQT6PlrfMBpSmEYNCep+XvMYA55cnxoQ80LIFN5N5bkr4VeYdbrSatuOSRACm+6cfoQSIMQbdmjw=="], - - "@wordpress/keycodes": ["@wordpress/keycodes@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/i18n": "^4.58.0" } }, "sha512-Q/LRKpx8ndzuHlkxSQ2BD+NTYYKQPIneNNMng8hTAfyU7RFwXpqj06HpeOFGh4XIdPKCs/8hmucoLJRmmLmZJA=="], - - "@wordpress/notices": ["@wordpress/notices@4.26.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/a11y": "^3.58.0", "@wordpress/data": "^9.28.0" }, "peerDependencies": { "react": "^18.0.0" } }, "sha512-Lu98xQdtZHgC3d32IFalZbOiIu8aRFWlEQXXfRutD7EhXXp6FIXvnvc054700/Dk1mg9P/bWd0zm/cigkXgfkA=="], - - "@wordpress/preferences": ["@wordpress/preferences@3.35.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/a11y": "^3.58.0", "@wordpress/components": "^27.6.0", "@wordpress/compose": "^6.35.0", "@wordpress/data": "^9.28.0", "@wordpress/deprecated": "^3.58.0", "@wordpress/element": "^5.35.0", "@wordpress/i18n": "^4.58.0", "@wordpress/icons": "^9.49.0", "@wordpress/private-apis": "^0.40.0", "clsx": "^2.1.1" }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" } }, "sha512-OFzSEiI8Kk5YJtyPFnAauRHXtjuTJHkWapvcagpMoTP0WvwBwGfr5AeIIgV2ONtA3edrfMGgmrJUK7pd61K/1Q=="], - - "@wordpress/primitives": ["@wordpress/primitives@3.56.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/element": "^5.35.0", "clsx": "^2.1.1" } }, "sha512-NXBq1ODjl6inMWx/l7KCbATcjdoeIOqYeL9i9alqdAfWeKx1EH9PIvKWylIkqZk7erXxCxldiRkuyjTtwjNBxw=="], - - "@wordpress/priority-queue": ["@wordpress/priority-queue@2.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "requestidlecallback": "^0.3.0" } }, "sha512-W+qCS8HJWsXG8gE6yK/H/IObowcghPrQMM3cQHtfd/U05yFNU1Bd/fbj3AO1fVRztktS47lIpi9m3ll1evPEHA=="], - - "@wordpress/private-apis": ["@wordpress/private-apis@0.40.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-ZX/9Y8eA3C3K6LOj32bHFj+9tNV819CBd8+chqMmmlvQRcTngiuXbMbnSdZnnAr1gLQgNpH9PJ60dIwJnGSEtQ=="], - - "@wordpress/redux-routine": ["@wordpress/redux-routine@4.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "is-plain-object": "^5.0.0", "is-promise": "^4.0.0", "rungen": "^0.3.2" }, "peerDependencies": { "redux": ">=4" } }, "sha512-r0mMWFeJr93yPy2uY/M5+gdUUYj0Zu8+21OFFb5hyQ0z7UHIa3IdgQxzCaTbV1LDA1ZYJrjHeCnA6s4gNHjA2Q=="], - - "@wordpress/rich-text": ["@wordpress/rich-text@6.35.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/a11y": "^3.58.0", "@wordpress/compose": "^6.35.0", "@wordpress/data": "^9.28.0", "@wordpress/deprecated": "^3.58.0", "@wordpress/element": "^5.35.0", "@wordpress/escape-html": "^2.58.0", "@wordpress/i18n": "^4.58.0", "@wordpress/keycodes": "^3.58.0", "memize": "^2.1.0" }, "peerDependencies": { "react": "^18.0.0" } }, "sha512-h6/XftSqo9UQZebuNZyLfOVu+ButBLITW/BILsKeJhSpmM19VNdz8UhVGLp+xQPE+/GPCIMJrhhqipISDfc2Ig=="], - - "@wordpress/shortcode": ["@wordpress/shortcode@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "memize": "^2.0.1" } }, "sha512-yM3Y25XqLfz/X6xXowXbrTvk+tslKeALNNESI5nGt1X7wWPsYQDOqyBb1HT9TglSLFgWYlQlNtgEbz07dEiDgQ=="], - - "@wordpress/style-engine": ["@wordpress/style-engine@1.41.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "change-case": "^4.1.2" } }, "sha512-aM5bbJn6m8SHRotCoh/fSGuIB0MQJoVFBjpzIDoUDQ1KlO7CbY+fj9daDV1FZPMNv0h0ZEFWZ+y7Gv/CERypMA=="], - - "@wordpress/token-list": ["@wordpress/token-list@2.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-xzNGzAZ87GERq7rZvZjMv742nj37tSLFBb8+c7oaLdpUpfn8YTaXQacvphdN2jmtfHvEZHivW7hErwqF9eQW/A=="], - - "@wordpress/undo-manager": ["@wordpress/undo-manager@0.18.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/is-shallow-equal": "^4.58.0" } }, "sha512-upbzPEToa095XG+2JXLHaolF1LfXEMFS0lNMYV37myoUS+eZ7/tl9Gx+yU2+OqWy57TMwx33NlWUX/n+ynzPRw=="], - - "@wordpress/url": ["@wordpress/url@3.59.0", "", { "dependencies": { "@babel/runtime": "^7.16.0", "remove-accents": "^0.5.0" } }, "sha512-GxvoMjYCav0w4CiX0i0h3qflrE/9rhLIZg5aPCQjbrBdwTxYR3Exfw0IJYcmVaTKXQOUU8fOxlDxULsbLmKe9w=="], - - "@wordpress/warning": ["@wordpress/warning@2.58.0", "", {}, "sha512-9bZlORhyMY2nbWozeyC5kqJsFzEPP4DCLhGmjtbv+YWGHttUrxUZEfrKdqO+rUODA8rP5zeIly1nCQOUnkw4Lg=="], - - "@wordpress/wordcount": ["@wordpress/wordcount@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-cxmOOh8d4VeIC3B9HcqhlTQePmNkNrPeHQLj6xWHfC0Elflj+kYAjsTwkjVQ3tBMC4+mQzva1O8tFSVh02gs7w=="], + "@wordpress/dependency-extraction-webpack-plugin": ["@wordpress/dependency-extraction-webpack-plugin@6.36.0", "", { "dependencies": { "json2php": "^0.0.7" }, "peerDependencies": { "webpack": "^5.0.0" } }, "sha512-x59HhuZflt6gjm74m5ymuJgLsfvY0pwYhfy42SfrYN/V59vXkl5S6jEmzhlUsdDGVrQG6lSVDJm7n5btohPXvg=="], "@xtuc/ieee754": ["@xtuc/ieee754@1.2.0", "", {}, "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="], @@ -563,29 +376,33 @@ "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], + "array-buffer-byte-length": ["array-buffer-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" } }, "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw=="], + + "array-includes": ["array-includes@3.1.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-abstract": "^1.24.0", "es-object-atoms": "^1.1.1", "get-intrinsic": "^1.3.0", "is-string": "^1.1.1", "math-intrinsics": "^1.1.0" } }, "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ=="], "array-union": ["array-union@2.1.0", "", {}, "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="], - "array-uniq": ["array-uniq@1.0.3", "", {}, "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q=="], + "array.prototype.findlast": ["array.prototype.findlast@1.2.5", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "es-shim-unscopables": "^1.0.2" } }, "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ=="], - "astral-regex": ["astral-regex@2.0.0", "", {}, "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="], + "array.prototype.flat": ["array.prototype.flat@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg=="], - "autoprefixer": ["autoprefixer@10.4.21", "", { "dependencies": { "browserslist": "^4.24.4", "caniuse-lite": "^1.0.30001702", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ=="], + "array.prototype.flatmap": ["array.prototype.flatmap@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg=="], - "autosize": ["autosize@6.0.1", "", {}, "sha512-f86EjiUKE6Xvczc4ioP1JBlWG7FKrE13qe/DxBCpe8GCipCq2nFw73aO8QEBKHfSbYGDN5eB9jXWKen7tspDqQ=="], + "array.prototype.tosorted": ["array.prototype.tosorted@1.1.4", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.3", "es-errors": "^1.3.0", "es-shim-unscopables": "^1.0.2" } }, "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA=="], - "babel-loader": ["babel-loader@9.2.1", "", { "dependencies": { "find-cache-dir": "^4.0.0", "schema-utils": "^4.0.0" }, "peerDependencies": { "@babel/core": "^7.12.0", "webpack": ">=5" } }, "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA=="], + "arraybuffer.prototype.slice": ["arraybuffer.prototype.slice@1.0.4", "", { "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "is-array-buffer": "^3.0.4" } }, "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ=="], - "babel-plugin-macros": ["babel-plugin-macros@3.1.0", "", { "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", "resolve": "^1.19.0" } }, "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg=="], + "astral-regex": ["astral-regex@2.0.0", "", {}, "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="], - "balanced-match": ["balanced-match@2.0.0", "", {}, "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA=="], + "async-function": ["async-function@1.0.0", "", {}, "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA=="], - "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + "autosize": ["autosize@6.0.1", "", {}, "sha512-f86EjiUKE6Xvczc4ioP1JBlWG7FKrE13qe/DxBCpe8GCipCq2nFw73aO8QEBKHfSbYGDN5eB9jXWKen7tspDqQ=="], "baseline-browser-mapping": ["baseline-browser-mapping@2.9.18", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA=="], - "big.js": ["big.js@5.2.2", "", {}, "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="], + "balanced-match": ["balanced-match@2.0.0", "", {}, "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA=="], + + "baseline-browser-mapping": ["baseline-browser-mapping@2.9.7", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-k9xFKplee6KIio3IDbwj+uaCLpqzOwakOgmqzPezM0sFJlFKcg30vk2wOiAJtkTSfx0SSQDSe8q+mWA/fSH5Zg=="], "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], @@ -595,35 +412,29 @@ "browserslist": ["browserslist@4.28.1", "", { "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" } }, "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA=="], - "buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], - "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], - "cacheable": ["cacheable@1.10.1", "", { "dependencies": { "hookified": "^1.10.0", "keyv": "^5.3.4" } }, "sha512-Fa2BZY0CS9F0PFc/6aVA6tgpOdw+hmv9dkZOlHXII5v5Hw+meJBIWDcPrG9q/dXxGcNbym5t77fzmawrBQfTmQ=="], + "cacheable": ["cacheable@2.3.0", "", { "dependencies": { "@cacheable/memory": "^2.0.6", "@cacheable/utils": "^2.3.2", "hookified": "^1.13.0", "keyv": "^5.5.4", "qified": "^0.5.2" } }, "sha512-HHiAvOBmlcR2f3SQ7kdlYD8+AUJG+wlFZ/Ze8tl1Vzvz0MdOh8IYA/EFU4ve8t1/sZ0j4MGi7ST5MoTwHessQA=="], - "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + "call-bind": ["call-bind@1.0.8", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="], - "camel-case": ["camel-case@4.1.2", "", { "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" } }, "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw=="], + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], - "camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], "caniuse-api": ["caniuse-api@3.0.0", "", { "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", "lodash.memoize": "^4.1.2", "lodash.uniq": "^4.5.0" } }, "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw=="], "caniuse-lite": ["caniuse-lite@1.0.30001766", "", {}, "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA=="], - "capital-case": ["capital-case@1.0.4", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3", "upper-case-first": "^2.0.2" } }, "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A=="], - "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "change-case": ["change-case@4.1.2", "", { "dependencies": { "camel-case": "^4.1.2", "capital-case": "^1.0.4", "constant-case": "^3.0.4", "dot-case": "^3.0.4", "header-case": "^2.0.4", "no-case": "^3.0.4", "param-case": "^3.0.4", "pascal-case": "^3.1.2", "path-case": "^3.0.4", "sentence-case": "^3.0.4", "snake-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A=="], - "choices.js": ["choices.js@11.1.0", "", { "dependencies": { "fuse.js": "^7.0.0" } }, "sha512-mIt0uLhedHg2ea/K2PACrVpt391vRGHuOoctPAiHcyemezwzNMxj7jOzNEk8e7EbjLh0S0sspDkSCADOKz9kcw=="], - "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - "chrome-trace-event": ["chrome-trace-event@1.0.4", "", {}, "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ=="], - "ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], + "ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], "classcat": ["classcat@5.0.5", "", {}, "sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w=="], @@ -641,10 +452,6 @@ "clone-deep": ["clone-deep@4.0.1", "", { "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" } }, "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ=="], - "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], - - "cmdk": ["cmdk@0.2.1", "", { "dependencies": { "@radix-ui/react-dialog": "1.0.0" }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" } }, "sha512-U6//9lQ6JvT47+6OF6Gi8BvkxYQ8SCRRSKIJkthIMsFsLZRG0cKvTtuTaefyIKMQb8rvvXy0wGdpTNq/jPtm+g=="], - "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], @@ -655,31 +462,21 @@ "commander": ["commander@14.0.2", "", {}, "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ=="], - "common-path-prefix": ["common-path-prefix@3.0.0", "", {}, "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w=="], - - "compute-scroll-into-view": ["compute-scroll-into-view@1.0.20", "", {}, "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg=="], - - "computed-style": ["computed-style@0.1.4", "", {}, "sha512-WpAmaKbMNmS3OProfHIdJiNleNJdgUrJfbKArXua28QF7+0CoZjlLn0lp6vlc+dl5r2/X9GQiQRQQU4BzSa69w=="], - "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], - "constant-case": ["constant-case@3.0.4", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3", "upper-case": "^2.0.2" } }, "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ=="], - "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "core-js": ["core-js@3.44.0", "", {}, "sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw=="], - "cosmiconfig": ["cosmiconfig@9.0.0", "", { "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0" }, "peerDependencies": { "typescript": ">=4.9.5" }, "optionalPeers": ["typescript"] }, "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg=="], "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], - "css-declaration-sorter": ["css-declaration-sorter@7.2.0", "", { "peerDependencies": { "postcss": "^8.0.9" } }, "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow=="], + "css-declaration-sorter": ["css-declaration-sorter@7.3.0", "", { "peerDependencies": { "postcss": "^8.0.9" } }, "sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ=="], "css-functions-list": ["css-functions-list@3.2.3", "", {}, "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA=="], "css-loader": ["css-loader@7.1.2", "", { "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", "postcss-modules-extract-imports": "^3.1.0", "postcss-modules-local-by-default": "^4.0.5", "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "webpack": "^5.27.0" }, "optionalPeers": ["@rspack/core", "webpack"] }, "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA=="], - "css-minimizer-webpack-plugin": ["css-minimizer-webpack-plugin@7.0.2", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "cssnano": "^7.0.4", "jest-worker": "^29.7.0", "postcss": "^8.4.40", "schema-utils": "^4.2.0", "serialize-javascript": "^6.0.2" }, "peerDependencies": { "webpack": "^5.0.0" } }, "sha512-nBRWZtI77PBZQgcXMNqiIXVshiQOVLGSf2qX/WZfG8IQfMbeHUMXaBWQmiiSTmPJUflQxHjZjzAmuyO7tpL2Jg=="], + "css-minimizer-webpack-plugin": ["css-minimizer-webpack-plugin@7.0.4", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "cssnano": "^7.0.4", "jest-worker": "^30.0.5", "postcss": "^8.4.40", "schema-utils": "^4.2.0", "serialize-javascript": "^6.0.2" }, "peerDependencies": { "webpack": "^5.0.0" } }, "sha512-2iACis+P8qdLj1tHcShtztkGhCNIRUajJj7iX0IM9a5FA0wXGwjV8Nf6+HsBjBfb4LO8TTAVoetBbM54V6f3+Q=="], "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="], @@ -689,16 +486,14 @@ "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], - "cssnano": ["cssnano@7.1.0", "", { "dependencies": { "cssnano-preset-default": "^7.0.8", "lilconfig": "^3.1.3" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-Pu3rlKkd0ZtlCUzBrKL1Z4YmhKppjC1H9jo7u1o4qaKqyhvixFgu5qLyNIAOjSTg9DjVPtUqdROq2EfpVMEe+w=="], + "cssnano": ["cssnano@7.1.2", "", { "dependencies": { "cssnano-preset-default": "^7.0.10", "lilconfig": "^3.1.3" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-HYOPBsNvoiFeR1eghKD5C3ASm64v9YVyJB4Ivnl2gqKoQYvjjN/G0rztvKQq8OxocUtC6sjqY8jwYngIB4AByA=="], - "cssnano-preset-default": ["cssnano-preset-default@7.0.8", "", { "dependencies": { "browserslist": "^4.25.1", "css-declaration-sorter": "^7.2.0", "cssnano-utils": "^5.0.1", "postcss-calc": "^10.1.1", "postcss-colormin": "^7.0.4", "postcss-convert-values": "^7.0.6", "postcss-discard-comments": "^7.0.4", "postcss-discard-duplicates": "^7.0.2", "postcss-discard-empty": "^7.0.1", "postcss-discard-overridden": "^7.0.1", "postcss-merge-longhand": "^7.0.5", "postcss-merge-rules": "^7.0.6", "postcss-minify-font-values": "^7.0.1", "postcss-minify-gradients": "^7.0.1", "postcss-minify-params": "^7.0.4", "postcss-minify-selectors": "^7.0.5", "postcss-normalize-charset": "^7.0.1", "postcss-normalize-display-values": "^7.0.1", "postcss-normalize-positions": "^7.0.1", "postcss-normalize-repeat-style": "^7.0.1", "postcss-normalize-string": "^7.0.1", "postcss-normalize-timing-functions": "^7.0.1", "postcss-normalize-unicode": "^7.0.4", "postcss-normalize-url": "^7.0.1", "postcss-normalize-whitespace": "^7.0.1", "postcss-ordered-values": "^7.0.2", "postcss-reduce-initial": "^7.0.4", "postcss-reduce-transforms": "^7.0.1", "postcss-svgo": "^7.1.0", "postcss-unique-selectors": "^7.0.4" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-d+3R2qwrUV3g4LEMOjnndognKirBZISylDZAF/TPeCWVjEwlXS2e4eN4ICkoobRe7pD3H6lltinKVyS1AJhdjQ=="], + "cssnano-preset-default": ["cssnano-preset-default@7.0.10", "", { "dependencies": { "browserslist": "^4.27.0", "css-declaration-sorter": "^7.2.0", "cssnano-utils": "^5.0.1", "postcss-calc": "^10.1.1", "postcss-colormin": "^7.0.5", "postcss-convert-values": "^7.0.8", "postcss-discard-comments": "^7.0.5", "postcss-discard-duplicates": "^7.0.2", "postcss-discard-empty": "^7.0.1", "postcss-discard-overridden": "^7.0.1", "postcss-merge-longhand": "^7.0.5", "postcss-merge-rules": "^7.0.7", "postcss-minify-font-values": "^7.0.1", "postcss-minify-gradients": "^7.0.1", "postcss-minify-params": "^7.0.5", "postcss-minify-selectors": "^7.0.5", "postcss-normalize-charset": "^7.0.1", "postcss-normalize-display-values": "^7.0.1", "postcss-normalize-positions": "^7.0.1", "postcss-normalize-repeat-style": "^7.0.1", "postcss-normalize-string": "^7.0.1", "postcss-normalize-timing-functions": "^7.0.1", "postcss-normalize-unicode": "^7.0.5", "postcss-normalize-url": "^7.0.1", "postcss-normalize-whitespace": "^7.0.1", "postcss-ordered-values": "^7.0.2", "postcss-reduce-initial": "^7.0.5", "postcss-reduce-transforms": "^7.0.1", "postcss-svgo": "^7.1.0", "postcss-unique-selectors": "^7.0.4" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-6ZBjW0Lf1K1Z+0OKUAUpEN62tSXmYChXWi2NAA0afxEVsj9a+MbcB1l5qel6BHJHmULai2fCGRthCeKSFbScpA=="], "cssnano-utils": ["cssnano-utils@5.0.1", "", { "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg=="], "csso": ["csso@5.0.5", "", { "dependencies": { "css-tree": "~2.2.0" } }, "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="], - "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], - "d3-color": ["d3-color@3.1.0", "", {}, "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="], "d3-dispatch": ["d3-dispatch@3.0.1", "", {}, "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="], @@ -717,29 +512,25 @@ "d3-zoom": ["d3-zoom@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", "d3-interpolate": "1 - 3", "d3-selection": "2 - 3", "d3-transition": "2 - 3" } }, "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw=="], - "date-fns": ["date-fns@3.6.0", "", {}, "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww=="], - - "debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="], + "data-view-buffer": ["data-view-buffer@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ=="], - "decamelize": ["decamelize@1.2.0", "", {}, "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="], - - "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + "data-view-byte-length": ["data-view-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ=="], - "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], + "data-view-byte-offset": ["data-view-byte-offset@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" } }, "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ=="], - "del": ["del@4.1.1", "", { "dependencies": { "@types/glob": "^7.1.1", "globby": "^6.1.0", "is-path-cwd": "^2.0.0", "is-path-in-cwd": "^2.0.0", "p-map": "^2.0.0", "pify": "^4.0.1", "rimraf": "^2.6.3" } }, "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ=="], + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], - "delegate": ["delegate@3.2.0", "", {}, "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="], + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], - "detect-libc": ["detect-libc@1.0.3", "", { "bin": { "detect-libc": "./bin/detect-libc.js" } }, "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="], + "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="], - "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], + "define-properties": ["define-properties@1.2.1", "", { "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } }, "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg=="], - "diff": ["diff@4.0.2", "", {}, "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="], + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], "dir-glob": ["dir-glob@3.0.1", "", { "dependencies": { "path-type": "^4.0.0" } }, "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="], - "dom-helpers": ["dom-helpers@5.2.1", "", { "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA=="], + "doctrine": ["doctrine@2.1.0", "", { "dependencies": { "esutils": "^2.0.2" } }, "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="], "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], @@ -749,41 +540,51 @@ "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], - "dot-case": ["dot-case@3.0.4", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w=="], - - "downshift": ["downshift@6.1.12", "", { "dependencies": { "@babel/runtime": "^7.14.8", "compute-scroll-into-view": "^1.0.17", "prop-types": "^15.7.2", "react-is": "^17.0.2", "tslib": "^2.3.0" }, "peerDependencies": { "react": ">=16.12.0" } }, "sha512-7XB/iaSJVS4T8wGFT3WRXmSF1UlBHAA40DshZtkrIscIN+VC+Lh363skLxFTvJwtNgHxAMDGEHT4xsyQFWL+UA=="], - "dropzone": ["dropzone@6.0.0-beta.2", "", { "dependencies": { "@swc/helpers": "^0.2.13", "just-extend": "^5.0.0" } }, "sha512-k44yLuFFhRk53M8zP71FaaNzJYIzr99SKmpbO/oZKNslDjNXQsBTdfLs+iONd0U0L94zzlFzRnFdqbLcs7h9fQ=="], "electron-to-chromium": ["electron-to-chromium@1.5.267", "", {}, "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw=="], - "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - - "emojis-list": ["emojis-list@3.0.0", "", {}, "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="], + "electron-to-chromium": ["electron-to-chromium@1.5.267", "", {}, "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw=="], - "encoding": ["encoding@0.1.13", "", { "dependencies": { "iconv-lite": "^0.6.2" } }, "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A=="], + "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - "enhanced-resolve": ["enhanced-resolve@5.18.2", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ=="], + "enhanced-resolve": ["enhanced-resolve@5.18.4", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q=="], "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], "env-paths": ["env-paths@2.2.1", "", {}, "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="], - "envinfo": ["envinfo@7.14.0", "", { "bin": { "envinfo": "dist/cli.js" } }, "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg=="], + "envinfo": ["envinfo@7.21.0", "", { "bin": { "envinfo": "dist/cli.js" } }, "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow=="], "environment": ["environment@1.1.0", "", {}, "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q=="], "equivalent-key-map": ["equivalent-key-map@0.2.2", "", {}, "sha512-xvHeyCDbZzkpN4VHQj/n+j2lOwL0VWszG30X4cOrc9Y7Tuo2qCdZK/0AMod23Z5dCtNUbaju6p0rwOhHUk05ew=="], - "error-ex": ["error-ex@1.3.2", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g=="], + "es-abstract": ["es-abstract@1.24.1", "", { "dependencies": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", "get-intrinsic": "^1.3.0", "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "internal-slot": "^1.1.0", "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.3", "typed-array-byte-length": "^1.0.3", "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", "which-typed-array": "^1.1.19" } }, "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw=="], "es-module-lexer": ["es-module-lexer@2.0.0", "", {}, "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw=="], + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + + "es-shim-unscopables": ["es-shim-unscopables@1.1.0", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw=="], + + "es-to-primitive": ["es-to-primitive@1.3.0", "", { "dependencies": { "is-callable": "^1.2.7", "is-date-object": "^1.0.5", "is-symbol": "^1.0.4" } }, "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g=="], + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - "eslint": ["eslint@9.31.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.0", "@eslint/config-helpers": "^0.3.0", "@eslint/core": "^0.15.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.31.0", "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ=="], + "eslint": ["eslint@9.39.2", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.1", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.39.2", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw=="], + + "eslint-config-prettier": ["eslint-config-prettier@10.1.8", "", { "peerDependencies": { "eslint": ">=7.0.0" }, "bin": { "eslint-config-prettier": "bin/cli.js" } }, "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w=="], + + "eslint-plugin-prettier": ["eslint-plugin-prettier@5.5.4", "", { "dependencies": { "prettier-linter-helpers": "^1.0.0", "synckit": "^0.11.7" }, "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", "prettier": ">=3.0.0" }, "optionalPeers": ["@types/eslint", "eslint-config-prettier"] }, "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg=="], + + "eslint-plugin-react": ["eslint-plugin-react@7.37.5", "", { "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.3", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.9", "object.fromentries": "^2.0.8", "object.values": "^1.2.1", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", "string.prototype.matchall": "^4.0.12", "string.prototype.repeat": "^1.0.0" }, "peerDependencies": { "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA=="], + + "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@7.0.1", "", { "dependencies": { "@babel/core": "^7.24.4", "@babel/parser": "^7.24.4", "hermes-parser": "^0.25.1", "zod": "^3.25.0 || ^4.0.0", "zod-validation-error": "^3.5.0 || ^4.0.0" }, "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA=="], "eslint-scope": ["eslint-scope@5.1.1", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw=="], @@ -805,13 +606,15 @@ "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + "fast-diff": ["fast-diff@1.3.0", "", {}, "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw=="], + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], - "fast-uri": ["fast-uri@3.0.6", "", {}, "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw=="], + "fast-uri": ["fast-uri@3.1.0", "", {}, "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA=="], "fastest-levenshtein": ["fastest-levenshtein@1.0.16", "", {}, "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg=="], @@ -819,14 +622,8 @@ "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], - "file-loader": ["file-loader@6.2.0", "", { "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw=="], - "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], - "find-cache-dir": ["find-cache-dir@4.0.0", "", { "dependencies": { "common-path-prefix": "^3.0.0", "pkg-dir": "^7.0.0" } }, "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg=="], - - "find-root": ["find-root@1.1.0", "", {}, "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="], - "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], "flat": ["flat@5.0.2", "", { "bin": { "flat": "cli.js" } }, "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="], @@ -837,29 +634,31 @@ "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], - "fraction.js": ["fraction.js@4.3.7", "", {}, "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="], - - "framer-motion": ["framer-motion@11.18.2", "", { "dependencies": { "motion-dom": "^11.18.1", "motion-utils": "^11.18.1", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w=="], + "for-each": ["for-each@0.3.5", "", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="], - "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], + "framer-motion": ["framer-motion@12.23.26", "", { "dependencies": { "motion-dom": "^12.23.23", "motion-utils": "^12.23.6", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-cPcIhgR42xBn1Uj+PzOyheMtZ73H927+uWPDVhUMqxy8UHt6Okavb6xIz9J/phFUHUj0OncR6UvMfJTXoc/LKA=="], "fsevents": ["fsevents@2.3.2", "", { "os": "darwin" }, "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="], "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + "function.prototype.name": ["function.prototype.name@1.1.8", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "functions-have-names": "^1.2.3", "hasown": "^2.0.2", "is-callable": "^1.2.7" } }, "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q=="], + + "functions-have-names": ["functions-have-names@1.2.3", "", {}, "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="], + "fuse.js": ["fuse.js@7.1.0", "", {}, "sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ=="], + "generator-function": ["generator-function@2.0.1", "", {}, "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g=="], + "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], - "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], "get-east-asian-width": ["get-east-asian-width@1.4.0", "", {}, "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q=="], "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], - "gettext-parser": ["gettext-parser@1.4.0", "", { "dependencies": { "encoding": "^0.1.12", "safe-buffer": "^5.1.1" } }, "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA=="], - - "glob": ["glob@5.0.15", "", { "dependencies": { "inflight": "^1.0.4", "inherits": "2", "minimatch": "2 || 3", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA=="], + "get-symbol-description": ["get-symbol-description@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6" } }, "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg=="], "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], @@ -869,97 +668,135 @@ "global-prefix": ["global-prefix@3.0.0", "", { "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", "which": "^1.3.1" } }, "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg=="], - "globals": ["globals@15.15.0", "", {}, "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg=="], + "globals": ["globals@16.5.0", "", {}, "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ=="], + + "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="], "globby": ["globby@11.1.0", "", { "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" } }, "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g=="], "globjoin": ["globjoin@0.1.4", "", {}, "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg=="], - "good-listener": ["good-listener@1.2.2", "", { "dependencies": { "delegate": "^3.1.2" } }, "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw=="], + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - "gradient-parser": ["gradient-parser@0.1.5", "", {}, "sha512-+uPlcVbjrKOnTzvz0MjTj7BfACj8OmxIa1moIjJV7btvhUMSJk0D47RfDCgDrZE3dYMz9Cf5xKJwnrKLjUq0KQ=="], + "has-bigints": ["has-bigints@1.1.0", "", {}, "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg=="], "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], - "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="], - "header-case": ["header-case@2.0.4", "", { "dependencies": { "capital-case": "^1.0.4", "tslib": "^2.0.3" } }, "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q=="], + "has-proto": ["has-proto@1.2.0", "", { "dependencies": { "dunder-proto": "^1.0.0" } }, "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ=="], - "highlight-words-core": ["highlight-words-core@1.2.3", "", {}, "sha512-m1O9HW3/GNHxzSIXWw1wCNXXsgLlxrP0OI6+ycGUhiUHkikqW3OrwVHz+lxeNBe5yqLESdIcj8PowHQ2zLvUvQ=="], + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], - "hoist-non-react-statics": ["hoist-non-react-statics@3.3.2", "", { "dependencies": { "react-is": "^16.7.0" } }, "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw=="], + "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], - "hookified": ["hookified@1.10.0", "", {}, "sha512-dJw0492Iddsj56U1JsSTm9E/0B/29a1AuoSLRAte8vQg/kaTGF3IgjEWT8c8yG4cC10+HisE1x5QAwR0Xwc+DA=="], + "hashery": ["hashery@1.3.0", "", { "dependencies": { "hookified": "^1.13.0" } }, "sha512-fWltioiy5zsSAs9ouEnvhsVJeAXRybGCNNv0lvzpzNOSDbULXRy7ivFWwCCv4I5Am6kSo75hmbsCduOoc2/K4w=="], - "hpq": ["hpq@1.4.0", "", {}, "sha512-ycJQMRaRPBcfnoT1gS5I1XCvbbw9KO94Y0vkwksuOjcJMqNZtb03MF2tCItLI2mQbkZWSSeFinoRDPmjzv4tKg=="], + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "hermes-estree": ["hermes-estree@0.25.1", "", {}, "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw=="], + + "hermes-parser": ["hermes-parser@0.25.1", "", { "dependencies": { "hermes-estree": "0.25.1" } }, "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA=="], + + "hookified": ["hookified@1.14.0", "", {}, "sha512-pi1ynXIMFx/uIIwpWJ/5CEtOHLGtnUB0WhGeeYT+fKcQ+WCQbm3/rrkAXnpfph++PgepNqPdTC2WTj8A6k6zoQ=="], "html-tags": ["html-tags@3.3.1", "", {}, "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ=="], "husky": ["husky@9.1.7", "", { "bin": { "husky": "bin.js" } }, "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA=="], - "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], - "icss-utils": ["icss-utils@5.1.0", "", { "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA=="], - "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], - "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], - "immutable": ["immutable@5.1.3", "", {}, "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg=="], - "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], - "import-glob": ["import-glob@1.5.0", "", { "dependencies": { "glob": "^5.0.13" } }, "sha512-Xz84PoAQ+NIXFxdhUiMAqrrS8qws6CpGfo81C/9CL8JgRaAJEttJJtvjhcZJIEeYvT9rzFQ3+9x9koSqwoE36w=="], - "import-local": ["import-local@3.2.0", "", { "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" }, "bin": { "import-local-fixture": "fixtures/cli.js" } }, "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA=="], "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], - "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], - - "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], - "ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], + "internal-slot": ["internal-slot@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw=="], + "interpret": ["interpret@3.1.1", "", {}, "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ=="], + "is-array-buffer": ["is-array-buffer@3.0.5", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A=="], + "is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], + "is-async-function": ["is-async-function@2.1.1", "", { "dependencies": { "async-function": "^1.0.0", "call-bound": "^1.0.3", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ=="], + + "is-bigint": ["is-bigint@1.1.0", "", { "dependencies": { "has-bigints": "^1.0.2" } }, "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ=="], + + "is-boolean-object": ["is-boolean-object@1.2.2", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A=="], + + "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="], + "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], + "is-data-view": ["is-data-view@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" } }, "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw=="], + + "is-date-object": ["is-date-object@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg=="], + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + "is-finalizationregistry": ["is-finalizationregistry@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg=="], + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "is-generator-function": ["is-generator-function@1.1.2", "", { "dependencies": { "call-bound": "^1.0.4", "generator-function": "^2.0.0", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA=="], + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], - "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + "is-map": ["is-map@2.0.3", "", {}, "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw=="], - "is-path-cwd": ["is-path-cwd@2.2.0", "", {}, "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ=="], + "is-negative-zero": ["is-negative-zero@2.0.3", "", {}, "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw=="], - "is-path-in-cwd": ["is-path-in-cwd@2.1.0", "", { "dependencies": { "is-path-inside": "^2.1.0" } }, "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ=="], + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], - "is-path-inside": ["is-path-inside@2.1.0", "", { "dependencies": { "path-is-inside": "^1.0.2" } }, "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg=="], + "is-number-object": ["is-number-object@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw=="], "is-plain-object": ["is-plain-object@5.0.0", "", {}, "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="], - "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="], + "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], + + "is-set": ["is-set@2.0.3", "", {}, "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg=="], + + "is-shared-array-buffer": ["is-shared-array-buffer@1.0.4", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A=="], + + "is-string": ["is-string@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA=="], + + "is-symbol": ["is-symbol@1.1.1", "", { "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", "safe-regex-test": "^1.1.0" } }, "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w=="], + + "is-typed-array": ["is-typed-array@1.1.15", "", { "dependencies": { "which-typed-array": "^1.1.16" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="], + + "is-weakmap": ["is-weakmap@2.0.2", "", {}, "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w=="], + + "is-weakref": ["is-weakref@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew=="], + + "is-weakset": ["is-weakset@2.0.4", "", { "dependencies": { "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ=="], + + "isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], "isobject": ["isobject@3.0.1", "", {}, "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="], - "jest-util": ["jest-util@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", "graceful-fs": "^4.2.9", "picomatch": "^2.2.3" } }, "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA=="], + "iterator.prototype": ["iterator.prototype@1.1.5", "", { "dependencies": { "define-data-property": "^1.1.4", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.6", "get-proto": "^1.0.0", "has-symbols": "^1.1.0", "set-function-name": "^2.0.2" } }, "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g=="], + + "jest-regex-util": ["jest-regex-util@30.0.1", "", {}, "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA=="], + + "jest-util": ["jest-util@30.2.0", "", { "dependencies": { "@jest/types": "30.2.0", "@types/node": "*", "chalk": "^4.1.2", "ci-info": "^4.2.0", "graceful-fs": "^4.2.11", "picomatch": "^4.0.2" } }, "sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA=="], "jest-worker": ["jest-worker@27.5.1", "", { "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg=="], - "jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], + "jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], @@ -975,20 +812,10 @@ "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], - "just-camel-case": ["just-camel-case@6.2.0", "", {}, "sha512-ICenRLXwkQYLk3UyvLQZ+uKuwFVJ3JHFYFn7F2782G2Mv2hW8WPePqgdhpnjGaqkYtSVWnyCESZhGXUmY3/bEg=="], - - "just-debounce-it": ["just-debounce-it@3.2.0", "", {}, "sha512-WXzwLL0745uNuedrCsCs3rpmfD6DBaf7uuVwaq98/8dafURfgQaBsSpjiPp5+CW6Vjltwy9cOGI6qE71b3T8iQ=="], + "jsx-ast-utils": ["jsx-ast-utils@3.3.5", "", { "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", "object.assign": "^4.1.4", "object.values": "^1.1.6" } }, "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ=="], "just-extend": ["just-extend@5.1.1", "", {}, "sha512-b+z6yF1d4EOyDgylzQo5IminlUmzSeqR1hs/bzjBNjuGras4FXq/6TrzjxfN0j+TmI0ltJzTNlqXUMCniciwKQ=="], - "just-has": ["just-has@2.3.0", "", {}, "sha512-JzxCot/ETqLDullSSC5OtT/PLWiqgRNO5z33gVit6BoCXe/6BHut33o9ZunG5jQSqeY4EyzFnl8Wqc7S8Ci/wQ=="], - - "just-is-empty": ["just-is-empty@3.4.1", "", {}, "sha512-bweyqPPl3HReVyVzLJvCJn+cfXJKh6dy4kSLoW9YLqwFz+2vZbWLN38AOK7esEIVPQwY1W48HaNvOFZqYAjLpw=="], - - "just-kebab-case": ["just-kebab-case@4.2.0", "", {}, "sha512-p2BdO7o4BI+pMun3J+dhaOfYan5JsZrw9wjshRjkWY9+p+u+kKSMhNWYnot2yHDR9CSahZ9iT3dcqJ+V72qHMw=="], - - "just-throttle": ["just-throttle@4.2.0", "", {}, "sha512-/iAZv1953JcExpvsywaPKjSzfTiCLqeguUTE6+VmK15mOcwxBx7/FHrVvS4WEErMR03TRazH8kcBSHqMagYIYg=="], - "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], @@ -997,9 +824,31 @@ "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], - "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], + "lightningcss": ["lightningcss@1.30.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.30.2", "lightningcss-darwin-arm64": "1.30.2", "lightningcss-darwin-x64": "1.30.2", "lightningcss-freebsd-x64": "1.30.2", "lightningcss-linux-arm-gnueabihf": "1.30.2", "lightningcss-linux-arm64-gnu": "1.30.2", "lightningcss-linux-arm64-musl": "1.30.2", "lightningcss-linux-x64-gnu": "1.30.2", "lightningcss-linux-x64-musl": "1.30.2", "lightningcss-win32-arm64-msvc": "1.30.2", "lightningcss-win32-x64-msvc": "1.30.2" } }, "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ=="], + + "lightningcss-android-arm64": ["lightningcss-android-arm64@1.30.2", "", { "os": "android", "cpu": "arm64" }, "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA=="], - "line-height": ["line-height@0.3.1", "", { "dependencies": { "computed-style": "~0.1.3" } }, "sha512-YExecgqPwnp5gplD2+Y8e8A5+jKpr25+DzMbFdI1/1UAr0FJrTFv4VkHLf8/6B590i1wUPJWMKKldkd/bdQ//w=="], + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.2", "", { "os": "linux", "cpu": "arm" }, "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.2", "", { "os": "win32", "cpu": "x64" }, "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw=="], + + "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], @@ -1009,8 +858,6 @@ "loader-runner": ["loader-runner@4.3.1", "", {}, "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q=="], - "loader-utils": ["loader-utils@2.0.4", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw=="], - "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], "lodash.memoize": ["lodash.memoize@4.1.2", "", {}, "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag=="], @@ -1025,19 +872,15 @@ "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], - "lower-case": ["lower-case@2.0.2", "", { "dependencies": { "tslib": "^2.0.3" } }, "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg=="], - "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - "mathml-tag-names": ["mathml-tag-names@2.1.3", "", {}, "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg=="], - - "mdn-data": ["mdn-data@2.12.2", "", {}, "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA=="], + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], - "media-blender": ["media-blender@2.1.0", "", {}, "sha512-BqAvKQuyh68s1OGGzFW5pTIPYLBUA2HUWBnMLQaPIbI4PhBl0GWKbdPJL1eSUs3cedwdPXlhSqz/SY+YNc7zBA=="], + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], - "memize": ["memize@2.1.0", "", {}, "sha512-yywVJy8ctVlN5lNPxsep5urnZ6TTclwPEyigM9M3Bi8vseJBOfqNrGWN/r8NzuIt3PovM323W04blJfGQfQSVg=="], + "mathml-tag-names": ["mathml-tag-names@2.1.3", "", {}, "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg=="], - "memoize-one": ["memoize-one@6.0.0", "", {}, "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="], + "mdn-data": ["mdn-data@2.12.2", "", {}, "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA=="], "meow": ["meow@13.2.0", "", {}, "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA=="], @@ -1057,15 +900,11 @@ "minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], - "moment": ["moment@2.30.1", "", {}, "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="], - - "moment-timezone": ["moment-timezone@0.5.48", "", { "dependencies": { "moment": "^2.29.4" } }, "sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw=="], + "motion": ["motion@12.23.26", "", { "dependencies": { "framer-motion": "^12.23.26", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-Ll8XhVxY8LXMVYTCfme27WH2GjBrCIzY4+ndr5QKxsK+YwCtOi2B/oBi5jcIbik5doXuWT/4KKDOVAZJkeY5VQ=="], - "motion-dom": ["motion-dom@11.18.1", "", { "dependencies": { "motion-utils": "^11.18.1" } }, "sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw=="], + "motion-dom": ["motion-dom@12.23.23", "", { "dependencies": { "motion-utils": "^12.23.6" } }, "sha512-n5yolOs0TQQBRUFImrRfs/+6X4p3Q4n1dUEqt/H58Vx7OW6RF+foWEgmTVDhIWJIMXOuNNL0apKH2S16en9eiA=="], - "motion-utils": ["motion-utils@11.18.1", "", {}, "sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA=="], - - "mousetrap": ["mousetrap@1.6.5", "", {}, "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA=="], + "motion-utils": ["motion-utils@12.23.6", "", {}, "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ=="], "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], @@ -1077,63 +916,51 @@ "neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="], - "no-case": ["no-case@3.0.4", "", { "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg=="], + "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], - "node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="], + "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], - "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], + "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], - "normalize-range": ["normalize-range@0.1.2", "", {}, "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="], + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], - "normalize-wheel": ["normalize-wheel@1.0.1", "", {}, "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA=="], + "object-keys": ["object-keys@1.1.1", "", {}, "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="], - "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], + "object.assign": ["object.assign@4.1.7", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0", "has-symbols": "^1.1.0", "object-keys": "^1.1.1" } }, "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw=="], - "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], + "object.entries": ["object.entries@1.1.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-object-atoms": "^1.1.1" } }, "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw=="], - "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + "object.fromentries": ["object.fromentries@2.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-object-atoms": "^1.0.0" } }, "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ=="], "onetime": ["onetime@7.0.0", "", { "dependencies": { "mimic-function": "^5.0.0" } }, "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ=="], "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + "own-keys": ["own-keys@1.0.1", "", { "dependencies": { "get-intrinsic": "^1.2.6", "object-keys": "^1.1.1", "safe-push-apply": "^1.0.0" } }, "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg=="], + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], - "p-map": ["p-map@2.1.0", "", {}, "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="], - "p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], - "param-case": ["param-case@3.0.4", "", { "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A=="], - "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], "parse-json": ["parse-json@5.2.0", "", { "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], - "pascal-case": ["pascal-case@3.1.2", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g=="], - - "path-case": ["path-case@3.0.4", "", { "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg=="], - "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], - "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="], - - "path-is-inside": ["path-is-inside@1.0.2", "", {}, "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w=="], - "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], - "path-to-regexp": ["path-to-regexp@6.3.0", "", {}, "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ=="], - "path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="], "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - "picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], "pidtree": ["pidtree@0.6.0", "", { "bin": { "pidtree": "bin/pidtree.js" } }, "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g=="], @@ -1149,15 +976,17 @@ "playwright-core": ["playwright-core@1.58.0", "", { "bin": { "playwright-core": "cli.js" } }, "sha512-aaoB1RWrdNi3//rOeKuMiS65UCcgOVljU46At6eFcOFPFHWtd2weHRRow6z/n+Lec0Lvu0k9ZPKJSjPugikirw=="], + "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="], + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], "postcss-calc": ["postcss-calc@10.1.1", "", { "dependencies": { "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.38" } }, "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw=="], - "postcss-colormin": ["postcss-colormin@7.0.4", "", { "dependencies": { "browserslist": "^4.25.1", "caniuse-api": "^3.0.0", "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw=="], + "postcss-colormin": ["postcss-colormin@7.0.5", "", { "dependencies": { "browserslist": "^4.27.0", "caniuse-api": "^3.0.0", "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-ekIBP/nwzRWhEMmIxHHbXHcMdzd1HIUzBECaj5KEdLz9DVP2HzT065sEhvOx1dkLjYW7jyD0CngThx6bpFi2fA=="], - "postcss-convert-values": ["postcss-convert-values@7.0.6", "", { "dependencies": { "browserslist": "^4.25.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-MD/eb39Mr60hvgrqpXsgbiqluawYg/8K4nKsqRsuDX9f+xN1j6awZCUv/5tLH8ak3vYp/EMXwdcnXvfZYiejCQ=="], + "postcss-convert-values": ["postcss-convert-values@7.0.8", "", { "dependencies": { "browserslist": "^4.27.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-+XNKuPfkHTCEo499VzLMYn94TiL3r9YqRE3Ty+jP7UX4qjewUONey1t7CG21lrlTLN07GtGM8MqFVp86D4uKJg=="], - "postcss-discard-comments": ["postcss-discard-comments@7.0.4", "", { "dependencies": { "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg=="], + "postcss-discard-comments": ["postcss-discard-comments@7.0.5", "", { "dependencies": { "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-IR2Eja8WfYgN5n32vEGSctVQ1+JARfu4UH8M7bgGh1bC+xI/obsPJXaBpQF7MAByvgwZinhpHpdrmXtvVVlKcQ=="], "postcss-discard-duplicates": ["postcss-discard-duplicates@7.0.2", "", { "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w=="], @@ -1165,19 +994,17 @@ "postcss-discard-overridden": ["postcss-discard-overridden@7.0.1", "", { "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg=="], - "postcss-loader": ["postcss-loader@8.1.1", "", { "dependencies": { "cosmiconfig": "^9.0.0", "jiti": "^1.20.0", "semver": "^7.5.4" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "postcss": "^7.0.0 || ^8.0.1", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "webpack"] }, "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ=="], - - "postcss-media-query-parser": ["postcss-media-query-parser@0.2.3", "", {}, "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig=="], + "postcss-loader": ["postcss-loader@8.2.0", "", { "dependencies": { "cosmiconfig": "^9.0.0", "jiti": "^2.5.1", "semver": "^7.6.2" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "postcss": "^7.0.0 || ^8.0.1", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "webpack"] }, "sha512-tHX+RkpsXVcc7st4dSdDGliI+r4aAQDuv+v3vFYHixb6YgjreG5AG4SEB0kDK8u2s6htqEEpKlkhSBUTvWKYnA=="], "postcss-merge-longhand": ["postcss-merge-longhand@7.0.5", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^7.0.5" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw=="], - "postcss-merge-rules": ["postcss-merge-rules@7.0.6", "", { "dependencies": { "browserslist": "^4.25.1", "caniuse-api": "^3.0.0", "cssnano-utils": "^5.0.1", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ=="], + "postcss-merge-rules": ["postcss-merge-rules@7.0.7", "", { "dependencies": { "browserslist": "^4.27.0", "caniuse-api": "^3.0.0", "cssnano-utils": "^5.0.1", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-njWJrd/Ms6XViwowaaCc+/vqhPG3SmXn725AGrnl+BgTuRPEacjiLEaGq16J6XirMJbtKkTwnt67SS+e2WGoew=="], "postcss-minify-font-values": ["postcss-minify-font-values@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ=="], "postcss-minify-gradients": ["postcss-minify-gradients@7.0.1", "", { "dependencies": { "colord": "^2.9.3", "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A=="], - "postcss-minify-params": ["postcss-minify-params@7.0.4", "", { "dependencies": { "browserslist": "^4.25.1", "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw=="], + "postcss-minify-params": ["postcss-minify-params@7.0.5", "", { "dependencies": { "browserslist": "^4.27.0", "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-FGK9ky02h6Ighn3UihsyeAH5XmLEE2MSGH5Tc4tXMFtEDx7B+zTG6hD/+/cT+fbF7PbYojsmmWjyTwFwW1JKQQ=="], "postcss-minify-selectors": ["postcss-minify-selectors@7.0.5", "", { "dependencies": { "cssesc": "^3.0.0", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug=="], @@ -1201,7 +1028,7 @@ "postcss-normalize-timing-functions": ["postcss-normalize-timing-functions@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg=="], - "postcss-normalize-unicode": ["postcss-normalize-unicode@7.0.4", "", { "dependencies": { "browserslist": "^4.25.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g=="], + "postcss-normalize-unicode": ["postcss-normalize-unicode@7.0.5", "", { "dependencies": { "browserslist": "^4.27.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-X6BBwiRxVaFHrb2WyBMddIeB5HBjJcAaUHyhLrM2FsxSq5TFqcHSsK7Zu1otag+o0ZphQGJewGH1tAyrD0zX1Q=="], "postcss-normalize-url": ["postcss-normalize-url@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ=="], @@ -1209,9 +1036,7 @@ "postcss-ordered-values": ["postcss-ordered-values@7.0.2", "", { "dependencies": { "cssnano-utils": "^5.0.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw=="], - "postcss-prefixwrap": ["postcss-prefixwrap@1.56.2", "", { "peerDependencies": { "postcss": "*" } }, "sha512-PnIsMX/VTtLYUrZe8Cex4vqXVvl5PUKbDbD52Wcp94ObZkt05oehCuOVvsUeig0eQoGOhTDBHfR8nnIkjf1/uA=="], - - "postcss-reduce-initial": ["postcss-reduce-initial@7.0.4", "", { "dependencies": { "browserslist": "^4.25.1", "caniuse-api": "^3.0.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q=="], + "postcss-reduce-initial": ["postcss-reduce-initial@7.0.5", "", { "dependencies": { "browserslist": "^4.27.0", "caniuse-api": "^3.0.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-RHagHLidG8hTZcnr4FpyMB2jtgd/OcyAazjMhoy5qmWJOx1uxKh4ntk0Pb46ajKM0rkf32lRH4C8c9qQiPR6IA=="], "postcss-reduce-transforms": ["postcss-reduce-transforms@7.0.1", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g=="], @@ -1219,93 +1044,49 @@ "postcss-safe-parser": ["postcss-safe-parser@7.0.1", "", { "peerDependencies": { "postcss": "^8.4.31" } }, "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A=="], - "postcss-scss": ["postcss-scss@4.0.9", "", { "peerDependencies": { "postcss": "^8.4.29" } }, "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A=="], - - "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], + "postcss-selector-parser": ["postcss-selector-parser@6.0.10", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w=="], "postcss-svgo": ["postcss-svgo@7.1.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^4.0.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w=="], "postcss-unique-selectors": ["postcss-unique-selectors@7.0.4", "", { "dependencies": { "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ=="], - "postcss-urlrebase": ["postcss-urlrebase@1.4.0", "", { "dependencies": { "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.3.0" } }, "sha512-rRaxMmWvXrn8Rk1PqsxmaJwldRHsr0WbbASKKCZYxXwotHkM/5X/6IrwaEe8pdzpbNGCEY86yhYMN0MhgOkADA=="], - "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], - "promisify-child-process": ["promisify-child-process@4.1.2", "", {}, "sha512-APnkIgmaHNJpkAn7k+CrJSi9WMuff5ctYFbD0CO2XIPkM8yO7d/ShouU2clywbpHV/DUsyc4bpJCsNgddNtx4g=="], + "prettier": ["prettier@3.7.4", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA=="], + + "prettier-linter-helpers": ["prettier-linter-helpers@1.0.0", "", { "dependencies": { "fast-diff": "^1.1.2" } }, "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w=="], + + "prettier-plugin-tailwindcss": ["prettier-plugin-tailwindcss@0.7.2", "", { "peerDependencies": { "@ianvs/prettier-plugin-sort-imports": "*", "@prettier/plugin-hermes": "*", "@prettier/plugin-oxc": "*", "@prettier/plugin-pug": "*", "@shopify/prettier-plugin-liquid": "*", "@trivago/prettier-plugin-sort-imports": "*", "@zackad/prettier-plugin-twig": "*", "prettier": "^3.0", "prettier-plugin-astro": "*", "prettier-plugin-css-order": "*", "prettier-plugin-jsdoc": "*", "prettier-plugin-marko": "*", "prettier-plugin-multiline-arrays": "*", "prettier-plugin-organize-attributes": "*", "prettier-plugin-organize-imports": "*", "prettier-plugin-sort-imports": "*", "prettier-plugin-svelte": "*" }, "optionalPeers": ["@ianvs/prettier-plugin-sort-imports", "@prettier/plugin-hermes", "@prettier/plugin-oxc", "@prettier/plugin-pug", "@shopify/prettier-plugin-liquid", "@trivago/prettier-plugin-sort-imports", "@zackad/prettier-plugin-twig", "prettier-plugin-astro", "prettier-plugin-css-order", "prettier-plugin-jsdoc", "prettier-plugin-marko", "prettier-plugin-multiline-arrays", "prettier-plugin-organize-attributes", "prettier-plugin-organize-imports", "prettier-plugin-sort-imports", "prettier-plugin-svelte"] }, "sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA=="], "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + "qified": ["qified@0.5.3", "", { "dependencies": { "hookified": "^1.13.0" } }, "sha512-kXuQdQTB6oN3KhI6V4acnBSZx8D2I4xzZvn9+wFLLFCoBNQY/sFnCW6c43OL7pOQ2HvGV4lnWIXNmgfp7cTWhQ=="], + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], "randombytes": ["randombytes@2.1.0", "", { "dependencies": { "safe-buffer": "^5.1.0" } }, "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="], - "raw-loader": ["raw-loader@4.0.2", "", { "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA=="], - - "rc-motion": ["rc-motion@2.9.5", "", { "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", "rc-util": "^5.44.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-w+XTUrfh7ArbYEd2582uDrEhmBHwK1ZENJiSJVb7uRxdE7qJSYjbO2eksRXmndqyKqKoYPc9ClpPh5242mV1vA=="], - - "rc-resize-observer": ["rc-resize-observer@1.4.3", "", { "dependencies": { "@babel/runtime": "^7.20.7", "classnames": "^2.2.1", "rc-util": "^5.44.1", "resize-observer-polyfill": "^1.5.1" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-YZLjUbyIWox8E9i9C3Tm7ia+W7euPItNWSPX5sCcQTYbnwDb5uNpnLHQCG1f22oZWUhLw4Mv2tFmeWe68CDQRQ=="], - - "rc-slider": ["rc-slider@10.6.2", "", { "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", "rc-util": "^5.36.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw=="], - - "rc-tooltip": ["rc-tooltip@6.4.0", "", { "dependencies": { "@babel/runtime": "^7.11.2", "@rc-component/trigger": "^2.0.0", "classnames": "^2.3.1", "rc-util": "^5.44.3" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-kqyivim5cp8I5RkHmpsp1Nn/Wk+1oeloMv9c7LXNgDxUpGm+RbXJGL+OPvDlcRnx9DBeOe4wyOIl4OKUERyH1g=="], - - "rc-util": ["rc-util@5.44.4", "", { "dependencies": { "@babel/runtime": "^7.18.3", "react-is": "^18.2.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, "sha512-resueRJzmHG9Q6rI/DfK6Kdv9/Lfls05vzMs1Sk3M2P+3cJa+MakaZyWY8IPfehVuhPJFKrIY1IK4GqbiaiY5w=="], - - "re-resizable": ["re-resizable@6.11.2", "", { "peerDependencies": { "react": "^16.13.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-2xI2P3OHs5qw7K0Ud1aLILK6MQxW50TcO+DetD9eIV58j84TqYeHoZcL9H4GXFXXIh7afhH8mv5iUCXII7OW7A=="], - - "react": ["react@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ=="], - - "react-autosize-textarea": ["react-autosize-textarea@7.1.0", "", { "dependencies": { "autosize": "^4.0.2", "line-height": "^0.3.1", "prop-types": "^15.5.6" }, "peerDependencies": { "react": "^0.14.0 || ^15.0.0 || ^16.0.0", "react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0" } }, "sha512-BHpjCDkuOlllZn3nLazY2F8oYO1tS2jHnWhcjTWQdcKiiMU6gHLNt/fzmqMSyerR0eTdKtfSIqtSeTtghNwS+g=="], - - "react-colorful": ["react-colorful@5.6.1", "", { "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw=="], - - "react-dom": ["react-dom@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" }, "peerDependencies": { "react": "^18.3.1" } }, "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw=="], - - "react-easy-crop": ["react-easy-crop@5.5.0", "", { "dependencies": { "normalize-wheel": "^1.0.1", "tslib": "^2.0.1" }, "peerDependencies": { "react": ">=16.4.0", "react-dom": ">=16.4.0" } }, "sha512-OZzU+yXMhe69vLkDex+5QxcfT94FdcgVCyW2dBUw35ZoC3Is42TUxUy04w8nH1mfMKaizVdC3rh/wUfNW1mK4w=="], + "react": ["react@19.2.3", "", {}, "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA=="], - "react-gcolor-picker": ["react-gcolor-picker@1.3.3", "", { "dependencies": { "@types/tinycolor2": "^1.4.2", "tinycolor2": "^1.4.2" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-EIOdLzHY8Z1Wrbgs7nspo1FxpXskhkscyOlE1z6MQgO7qLyYuRcQ6OAS2NYBpHo7puqvCpe9fPCejtu8pxFARw=="], + "react-dom": ["react-dom@19.2.3", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.3" } }, "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg=="], - "react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], - - "react-remove-scroll": ["react-remove-scroll@2.5.4", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.3", "react-style-singleton": "^2.2.1", "tslib": "^2.1.0", "use-callback-ref": "^1.3.0", "use-sidecar": "^1.1.2" }, "peerDependencies": { "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA=="], - - "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], - - "react-select": ["react-select@5.10.2", "", { "dependencies": { "@babel/runtime": "^7.12.0", "@emotion/cache": "^11.4.0", "@emotion/react": "^11.8.1", "@floating-ui/dom": "^1.0.1", "@types/react-transition-group": "^4.4.0", "memoize-one": "^6.0.0", "prop-types": "^15.6.0", "react-transition-group": "^4.3.0", "use-isomorphic-layout-effect": "^1.2.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z33nHdEFWq9tfnfVXaiM12rbJmk+QjFEztWLtmXqQhz6Al4UZZ9xc0wiatmGtUOCCnHN0WizL3tCMYRENX4rVQ=="], - - "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], - - "react-transition-group": ["react-transition-group@4.4.5", "", { "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", "prop-types": "^15.6.2" }, "peerDependencies": { "react": ">=16.6.0", "react-dom": ">=16.6.0" } }, "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g=="], + "react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], "reactflow": ["reactflow@11.11.4", "", { "dependencies": { "@reactflow/background": "11.3.14", "@reactflow/controls": "11.2.14", "@reactflow/core": "11.11.4", "@reactflow/minimap": "11.7.14", "@reactflow/node-resizer": "2.2.14", "@reactflow/node-toolbar": "1.3.14" }, "peerDependencies": { "react": ">=17", "react-dom": ">=17" } }, "sha512-70FOtJkUWH3BAOsN+LU9lCrKoKbtOPnz2uq0CV2PLdNSwxTXOhCbsZr50GmZ+Rtw3jx8Uv7/vBFtCGixLfd4Og=="], - "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - "rechoir": ["rechoir@0.8.0", "", { "dependencies": { "resolve": "^1.20.0" } }, "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ=="], - "redux": ["redux@4.2.1", "", { "dependencies": { "@babel/runtime": "^7.9.2" } }, "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w=="], - - "regenerator-runtime": ["regenerator-runtime@0.14.1", "", {}, "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="], - - "rememo": ["rememo@4.0.2", "", {}, "sha512-NVfSP9NstE3QPNs/TnegQY0vnJnstKQSpcrsI2kBTB3dB2PkdfKdTa+abbjMIDqpc63fE5LfjLgfMst0ULMFxQ=="], - - "remove-accents": ["remove-accents@0.5.0", "", {}, "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A=="], - - "requestidlecallback": ["requestidlecallback@0.3.0", "", {}, "sha512-TWHFkT7S9p7IxLC5A1hYmAYQx2Eb9w1skrXmQ+dS1URyvR8tenMLl4lHbqEOUnpEYxNKpkVMXUgknVpBZWXXfQ=="], + "reflect.getprototypeof": ["reflect.getprototypeof@1.0.10", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.9", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.7", "get-proto": "^1.0.1", "which-builtin-type": "^1.2.1" } }, "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw=="], - "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], + "regexp.prototype.flags": ["regexp.prototype.flags@1.5.4", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", "get-proto": "^1.0.1", "gopd": "^1.2.0", "set-function-name": "^2.0.2" } }, "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA=="], "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], - "require-main-filename": ["require-main-filename@2.0.0", "", {}, "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="], - - "resize-observer-polyfill": ["resize-observer-polyfill@1.5.1", "", {}, "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="], - - "resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="], + "resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], "resolve-cwd": ["resolve-cwd@3.0.0", "", { "dependencies": { "resolve-from": "^5.0.0" } }, "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg=="], @@ -1321,31 +1102,29 @@ "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], - "rungen": ["rungen@0.3.2", "", {}, "sha512-zWl10xu2D7zoR8zSC2U6bg5bYF6T/Wk7rxwp8IPaJH7f0Ge21G03kNHVgHR7tyVkSSfAOG0Rqf/Cl38JftSmtw=="], + "safe-array-concat": ["safe-array-concat@1.1.3", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "has-symbols": "^1.1.0", "isarray": "^2.0.5" } }, "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q=="], "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], - "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - - "sass": ["sass@1.89.2", "", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA=="], + "safe-push-apply": ["safe-push-apply@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "isarray": "^2.0.5" } }, "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA=="], - "sass-loader": ["sass-loader@14.2.1", "", { "dependencies": { "neo-async": "^2.6.2" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "sass": "^1.3.0", "sass-embedded": "*", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "node-sass", "sass", "sass-embedded", "webpack"] }, "sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ=="], + "safe-regex-test": ["safe-regex-test@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-regex": "^1.2.1" } }, "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw=="], - "sax": ["sax@1.4.1", "", {}, "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="], + "sax": ["sax@1.4.3", "", {}, "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ=="], - "scheduler": ["scheduler@0.23.2", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ=="], + "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], "schema-utils": ["schema-utils@4.3.3", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA=="], - "select": ["select@1.1.2", "", {}, "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="], + "semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], - "semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "serialize-javascript": ["serialize-javascript@6.0.2", "", { "dependencies": { "randombytes": "^2.1.0" } }, "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g=="], - "sentence-case": ["sentence-case@3.0.4", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3", "upper-case-first": "^2.0.2" } }, "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg=="], + "set-function-length": ["set-function-length@1.2.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="], - "serialize-javascript": ["serialize-javascript@6.0.2", "", { "dependencies": { "randombytes": "^2.1.0" } }, "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g=="], + "set-function-name": ["set-function-name@2.0.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", "has-property-descriptors": "^1.0.2" } }, "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ=="], - "set-blocking": ["set-blocking@2.0.0", "", {}, "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="], + "set-proto": ["set-proto@1.0.0", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0" } }, "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw=="], "shallow-clone": ["shallow-clone@3.0.1", "", { "dependencies": { "kind-of": "^6.0.2" } }, "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA=="], @@ -1353,19 +1132,21 @@ "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], - "showdown": ["showdown@1.9.1", "", { "dependencies": { "yargs": "^14.2" }, "bin": { "showdown": "bin/showdown.js" } }, "sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA=="], + "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], - "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], + + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], - "simple-html-tokenizer": ["simple-html-tokenizer@0.5.11", "", {}, "sha512-C2WEK/Z3HoSFbYq8tI7ni3eOo/NneSPRoPpcM7WdLjFOArFuyXEjAoCdOC3DgMfRyziZQ1hCNR4mrNdWEvD0og=="], + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], "slash": ["slash@3.0.0", "", {}, "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="], "slice-ansi": ["slice-ansi@7.1.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" } }, "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w=="], - "snake-case": ["snake-case@3.0.4", "", { "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg=="], - - "source-list-map": ["source-list-map@2.0.1", "", {}, "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="], + "sonner": ["sonner@2.0.7", "", { "peerDependencies": { "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w=="], "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], @@ -1373,7 +1154,7 @@ "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], - "sprintf-js": ["sprintf-js@1.1.3", "", {}, "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="], + "stop-iteration-iterator": ["stop-iteration-iterator@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" } }, "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ=="], "string-argv": ["string-argv@0.3.2", "", {}, "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q=="], @@ -1381,27 +1162,27 @@ "strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], - "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + "string.prototype.repeat": ["string.prototype.repeat@1.0.0", "", { "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" } }, "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w=="], - "style-loader": ["style-loader@4.0.0", "", { "peerDependencies": { "webpack": "^5.27.0" } }, "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA=="], + "string.prototype.trim": ["string.prototype.trim@1.2.10", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-object-atoms": "^1.0.0", "has-property-descriptors": "^1.0.2" } }, "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA=="], - "style-search": ["style-search@0.1.0", "", {}, "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg=="], + "string.prototype.trimend": ["string.prototype.trimend@1.0.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ=="], - "stylehacks": ["stylehacks@7.0.6", "", { "dependencies": { "browserslist": "^4.25.1", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg=="], + "string.prototype.trimstart": ["string.prototype.trimstart@1.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg=="], - "stylelint": ["stylelint@16.21.1", "", { "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "@csstools/media-query-list-parser": "^4.0.3", "@csstools/selector-specificity": "^5.0.0", "@dual-bundle/import-meta-resolve": "^4.1.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^9.0.0", "css-functions-list": "^3.2.3", "css-tree": "^3.1.0", "debug": "^4.4.1", "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^10.1.1", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", "ignore": "^7.0.5", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", "known-css-properties": "^0.37.0", "mathml-tag-names": "^2.1.3", "meow": "^13.2.0", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.5.6", "postcss-resolve-nested-selector": "^0.1.6", "postcss-safe-parser": "^7.0.1", "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", "supports-hyperlinks": "^3.2.0", "svg-tags": "^1.0.0", "table": "^6.9.0", "write-file-atomic": "^5.0.1" }, "bin": { "stylelint": "bin/stylelint.mjs" } }, "sha512-WCXdXnYK2tpCbebgMF0Bme3YZH/Rh/UXerj75twYo4uLULlcrLwFVdZTvTEF8idFnAcW21YUDJFyKOfaf6xJRw=="], + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "stylelint-config-recommended": ["stylelint-config-recommended@14.0.1", "", { "peerDependencies": { "stylelint": "^16.1.0" } }, "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg=="], + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], - "stylelint-config-recommended-scss": ["stylelint-config-recommended-scss@14.1.0", "", { "dependencies": { "postcss-scss": "^4.0.9", "stylelint-config-recommended": "^14.0.1", "stylelint-scss": "^6.4.0" }, "peerDependencies": { "postcss": "^8.3.3", "stylelint": "^16.6.1" }, "optionalPeers": ["postcss"] }, "sha512-bhaMhh1u5dQqSsf6ri2GVWWQW5iUjBYgcHkh7SgDDn92ijoItC/cfO/W+fpXshgTQWhwFkP1rVcewcv4jaftRg=="], + "style-search": ["style-search@0.1.0", "", {}, "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg=="], - "stylelint-config-standard": ["stylelint-config-standard@36.0.1", "", { "dependencies": { "stylelint-config-recommended": "^14.0.1" }, "peerDependencies": { "stylelint": "^16.1.0" } }, "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw=="], + "stylehacks": ["stylehacks@7.0.7", "", { "dependencies": { "browserslist": "^4.27.0", "postcss-selector-parser": "^7.1.0" }, "peerDependencies": { "postcss": "^8.4.32" } }, "sha512-bJkD0JkEtbRrMFtwgpJyBbFIwfDDONQ1Ov3sDLZQP8HuJ73kBOyx66H4bOcAbVWmnfLdvQ0AJwXxOMkpujcO6g=="], - "stylelint-config-standard-scss": ["stylelint-config-standard-scss@13.1.0", "", { "dependencies": { "stylelint-config-recommended-scss": "^14.0.0", "stylelint-config-standard": "^36.0.0" }, "peerDependencies": { "postcss": "^8.3.3", "stylelint": "^16.3.1" }, "optionalPeers": ["postcss"] }, "sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA=="], + "stylelint": ["stylelint@16.26.1", "", { "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-syntax-patches-for-csstree": "^1.0.19", "@csstools/css-tokenizer": "^3.0.4", "@csstools/media-query-list-parser": "^4.0.3", "@csstools/selector-specificity": "^5.0.0", "@dual-bundle/import-meta-resolve": "^4.2.1", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^9.0.0", "css-functions-list": "^3.2.3", "css-tree": "^3.1.0", "debug": "^4.4.3", "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^11.1.1", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", "ignore": "^7.0.5", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", "known-css-properties": "^0.37.0", "mathml-tag-names": "^2.1.3", "meow": "^13.2.0", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.5.6", "postcss-resolve-nested-selector": "^0.1.6", "postcss-safe-parser": "^7.0.1", "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", "supports-hyperlinks": "^3.2.0", "svg-tags": "^1.0.0", "table": "^6.9.0", "write-file-atomic": "^5.0.1" }, "bin": { "stylelint": "bin/stylelint.mjs" } }, "sha512-v20V59/crfc8sVTAtge0mdafI3AdnzQ2KsWe6v523L4OA1bJO02S7MO2oyXDCS6iWb9ckIPnqAFVItqSBQr7jw=="], - "stylelint-scss": ["stylelint-scss@6.12.1", "", { "dependencies": { "css-tree": "^3.0.1", "is-plain-object": "^5.0.0", "known-css-properties": "^0.36.0", "mdn-data": "^2.21.0", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.6", "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "stylelint": "^16.0.2" } }, "sha512-UJUfBFIvXfly8WKIgmqfmkGKPilKB4L5j38JfsDd+OCg2GBdU0vGUV08Uw82tsRZzd4TbsUURVVNGeOhJVF7pA=="], + "stylelint-config-recommended": ["stylelint-config-recommended@17.0.0", "", { "peerDependencies": { "stylelint": "^16.23.0" } }, "sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA=="], - "stylis": ["stylis@4.2.0", "", {}, "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="], + "stylelint-config-standard": ["stylelint-config-standard@39.0.1", "", { "dependencies": { "stylelint-config-recommended": "^17.0.0" }, "peerDependencies": { "stylelint": "^16.23.0" } }, "sha512-b7Fja59EYHRNOTa3aXiuWnhUWXFU2Nfg6h61bLfAb5GS5fX3LMUD0U5t4S8N/4tpHQg3Acs2UVPR9jy2l1g/3A=="], "supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="], @@ -1415,19 +1196,21 @@ "swc-loader": ["swc-loader@0.2.6", "", { "dependencies": { "@swc/counter": "^0.1.3" }, "peerDependencies": { "@swc/core": "^1.2.147", "webpack": ">=2" } }, "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg=="], + "synckit": ["synckit@0.11.11", "", { "dependencies": { "@pkgr/core": "^0.2.9" } }, "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw=="], + "table": ["table@6.9.0", "", { "dependencies": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1" } }, "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A=="], - "tannin": ["tannin@1.2.0", "", { "dependencies": { "@tannin/plural-forms": "^1.1.0" } }, "sha512-U7GgX/RcSeUETbV7gYgoz8PD7Ni4y95pgIP/Z6ayI3CfhSujwKEBlGFTCRN+Aqnuyf4AN2yHL+L8x+TCGjb9uA=="], + "tailwindcss": ["tailwindcss@4.1.18", "", {}, "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw=="], - "tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="], + "tailwindcss-motion": ["tailwindcss-motion@1.1.1", "", { "peerDependencies": { "tailwindcss": ">=3.0.0 || insiders" } }, "sha512-CeeQAc5o31BuEPMyWdq/786X7QWNeifa+8khfu74Fs8lGkgEwjNYv6dGv+lRFS8FWXV5dp7F3AU9JjBXjiaQfw=="], - "terser": ["terser@5.43.1", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.14.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg=="], + "tailwindcss-react-aria-components": ["tailwindcss-react-aria-components@2.0.1", "", { "peerDependencies": { "tailwindcss": "^4.0.0" } }, "sha512-yTAfYv9BE/gKczS+b8UiFMqxnrEYKKNE6Y4vAWzGadkHGb4Yuawp0SHbZKkZJQgFvK0KjO3JpCq/0kzR5jJ9tw=="], "terser-webpack-plugin": ["terser-webpack-plugin@5.3.16", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "peerDependencies": { "webpack": "^5.1.0" } }, "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q=="], - "tiny-emitter": ["tiny-emitter@2.1.0", "", {}, "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="], + "terser": ["terser@5.44.1", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw=="], - "tinycolor2": ["tinycolor2@1.6.0", "", {}, "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="], + "terser-webpack-plugin": ["terser-webpack-plugin@5.3.16", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "peerDependencies": { "webpack": "^5.1.0" } }, "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q=="], "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], @@ -1435,39 +1218,33 @@ "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], - "undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="], + "typed-array-buffer": ["typed-array-buffer@1.0.3", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-typed-array": "^1.1.14" } }, "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw=="], "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], - "upper-case": ["upper-case@2.0.2", "", { "dependencies": { "tslib": "^2.0.3" } }, "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg=="], + "typed-array-byte-offset": ["typed-array-byte-offset@1.0.4", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.15", "reflect.getprototypeof": "^1.0.9" } }, "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ=="], - "upper-case-first": ["upper-case-first@2.0.2", "", { "dependencies": { "tslib": "^2.0.3" } }, "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg=="], + "typed-array-length": ["typed-array-length@1.0.7", "", { "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "is-typed-array": "^1.1.13", "possible-typed-array-names": "^1.0.0", "reflect.getprototypeof": "^1.0.6" } }, "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg=="], - "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], - - "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], - - "use-isomorphic-layout-effect": ["use-isomorphic-layout-effect@1.2.1", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA=="], + "unbox-primitive": ["unbox-primitive@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "has-bigints": "^1.0.2", "has-symbols": "^1.1.0", "which-boxed-primitive": "^1.1.1" } }, "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw=="], - "use-lilius": ["use-lilius@2.0.5", "", { "dependencies": { "date-fns": "^3.6.0" }, "peerDependencies": { "react": "*", "react-dom": "*" } }, "sha512-IbPjJe4T6B0zQV6ahftVtHvCAxi6RAuDpEcO8TmnHh4nBtx7JbGdpbgXWOUj/9YjrzEbdT/lW7JWcBVbX3MbrA=="], + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], - "use-memo-one": ["use-memo-one@1.1.3", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ=="], + "update-browserslist-db": ["update-browserslist-db@1.2.2", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA=="], - "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], - "use-sync-external-store": ["use-sync-external-store@1.5.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A=="], + "use-sync-external-store": ["use-sync-external-store@1.6.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w=="], "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], - "uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], - "watchpack": ["watchpack@2.4.4", "", { "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" } }, "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA=="], "webpack": ["webpack@5.104.1", "", { "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.15.0", "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.4", "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", "terser-webpack-plugin": "^5.3.16", "watchpack": "^2.4.4", "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA=="], "webpack-cli": ["webpack-cli@6.0.1", "", { "dependencies": { "@discoveryjs/json-ext": "^0.6.1", "@webpack-cli/configtest": "^3.0.1", "@webpack-cli/info": "^3.0.1", "@webpack-cli/serve": "^3.0.1", "colorette": "^2.0.14", "commander": "^12.1.0", "cross-spawn": "^7.0.3", "envinfo": "^7.14.0", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", "interpret": "^3.1.1", "rechoir": "^0.8.0", "webpack-merge": "^6.0.1" }, "peerDependencies": { "webpack": "^5.82.0" }, "bin": { "webpack-cli": "./bin/cli.js" } }, "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw=="], - "webpack-manifest-plugin": ["webpack-manifest-plugin@5.0.1", "", { "dependencies": { "tapable": "^2.0.0", "webpack-sources": "^2.2.0" }, "peerDependencies": { "webpack": "^5.75.0" } }, "sha512-xTlX7dC3hrASixA2inuWFMz6qHsNi6MT3Uiqw621sJjRTShtpMjbDYhPPZBwWUKdIYKIjSq9em6+uzWayf38aQ=="], + "webpack-manifest-plugin": ["webpack-manifest-plugin@6.0.1", "", { "dependencies": { "tapable": "^2.0.0", "webpack-sources": "^3.3.3" }, "peerDependencies": { "webpack": "^5.75.0" } }, "sha512-R0p/8/IJVY5hIhQtkeWUQugalVpIwojc09eb14zGq+oiZOCmN5paAz2NBJfd+6v9eBbxAS3YMjc2ov8UMlCDLQ=="], "webpack-merge": ["webpack-merge@6.0.1", "", { "dependencies": { "clone-deep": "^4.0.1", "flat": "^5.0.2", "wildcard": "^2.0.1" } }, "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg=="], @@ -1475,43 +1252,39 @@ "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], - "which-module": ["which-module@2.0.1", "", {}, "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="], + "which-boxed-primitive": ["which-boxed-primitive@1.1.1", "", { "dependencies": { "is-bigint": "^1.1.0", "is-boolean-object": "^1.2.1", "is-number-object": "^1.1.1", "is-string": "^1.1.1", "is-symbol": "^1.1.1" } }, "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA=="], - "wildcard": ["wildcard@2.0.1", "", {}, "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ=="], + "which-builtin-type": ["which-builtin-type@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.1.0", "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", "which-typed-array": "^1.1.16" } }, "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q=="], - "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + "which-collection": ["which-collection@1.0.2", "", { "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", "is-weakmap": "^2.0.2", "is-weakset": "^2.0.3" } }, "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw=="], "wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="], - "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + "wildcard": ["wildcard@2.0.1", "", {}, "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ=="], - "write-file-atomic": ["write-file-atomic@5.0.1", "", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" } }, "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw=="], + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], - "y18n": ["y18n@4.0.3", "", {}, "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="], + "write-file-atomic": ["write-file-atomic@5.0.1", "", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" } }, "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw=="], "yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], "yaml": ["yaml@2.8.2", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A=="], - "yargs": ["yargs@14.2.3", "", { "dependencies": { "cliui": "^5.0.0", "decamelize": "^1.2.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^15.0.1" } }, "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg=="], - - "yargs-parser": ["yargs-parser@15.0.3", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA=="], + "zod": ["zod@4.1.13", "", {}, "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig=="], - "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + "zod-validation-error": ["zod-validation-error@4.0.2", "", { "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" } }, "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ=="], "zustand": ["zustand@4.5.7", "", { "dependencies": { "use-sync-external-store": "^1.2.2" }, "peerDependencies": { "@types/react": ">=16.8", "immer": ">=9.0.6", "react": ">=16.8" }, "optionalPeers": ["@types/react", "immer", "react"] }, "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw=="], "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@babel/helper-compilation-targets/browserslist": ["browserslist@4.25.1", "", { "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw=="], - "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@babel/helper-module-imports/@babel/traverse": ["@babel/traverse@7.28.0", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/types": "^7.28.0", "debug": "^4.3.1" } }, "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg=="], + "@cacheable/memory/keyv": ["keyv@5.5.5", "", { "dependencies": { "@keyv/serialize": "^1.1.1" } }, "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ=="], - "@babel/helper-module-imports/@babel/types": ["@babel/types@7.28.1", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ=="], + "@cacheable/utils/keyv": ["keyv@5.5.5", "", { "dependencies": { "@keyv/serialize": "^1.1.1" } }, "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ=="], - "@babel/template/@babel/parser": ["@babel/parser@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.0" }, "bin": "./bin/babel-parser.js" }, "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g=="], + "@csstools/selector-specificity/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], "@babel/template/@babel/types": ["@babel/types@7.28.1", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ=="], @@ -1535,21 +1308,21 @@ "@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], - "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], + "@keyv/bigmap/keyv": ["keyv@5.5.5", "", { "dependencies": { "@keyv/serialize": "^1.1.1" } }, "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ=="], - "@wordpress/a11y/@wordpress/dom-ready": ["@wordpress/dom-ready@3.58.0", "", { "dependencies": { "@babel/runtime": "^7.16.0" } }, "sha512-sDgRPjNBToRKgYrpwvMRv2Yc7/17+sp8hm/rRnbubwb+d/DbGkK4Tc/r4sNLSZCqUAtcBXq9uk1lzvhge3QUSg=="], + "@stylistic/eslint-plugin/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - "@wordpress/dom-ready/@babel/runtime": ["@babel/runtime@7.25.7", "", { "dependencies": { "regenerator-runtime": "^0.14.0" } }, "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w=="], + "@stylistic/stylelint-plugin/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], - "autoprefixer/browserslist": ["browserslist@4.25.1", "", { "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.7.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg=="], - "autoprefixer/caniuse-lite": ["caniuse-lite@1.0.30001727", "", {}, "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.7.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA=="], - "babel-loader/schema-utils": ["schema-utils@4.3.2", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], - "babel-plugin-macros/cosmiconfig": ["cosmiconfig@7.1.0", "", { "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.10.0" } }, "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA=="], + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.0", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "bundled": true }, "sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA=="], - "brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], "browserslist/baseline-browser-mapping": ["baseline-browser-mapping@2.9.16", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-KeUZdBuxngy825i8xvzaK1Ncnkx0tBmb3k8DkEuqjKRkmtvNTjey2ZsNeh8Dw4lfKvbCOu9oeNx2TKm2vHqcRw=="], @@ -1575,23 +1348,19 @@ "clone-deep/is-plain-object": ["is-plain-object@2.0.4", "", { "dependencies": { "isobject": "^3.0.1" } }, "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og=="], - "css-minimizer-webpack-plugin/jest-worker": ["jest-worker@29.7.0", "", { "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw=="], - - "css-minimizer-webpack-plugin/schema-utils": ["schema-utils@4.3.2", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ=="], - - "cssnano-preset-default/browserslist": ["browserslist@4.25.1", "", { "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw=="], + "css-minimizer-webpack-plugin/jest-worker": ["jest-worker@30.2.0", "", { "dependencies": { "@types/node": "*", "@ungap/structured-clone": "^1.3.0", "jest-util": "30.2.0", "merge-stream": "^2.0.0", "supports-color": "^8.1.1" } }, "sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g=="], "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="], - "del/globby": ["globby@6.1.0", "", { "dependencies": { "array-union": "^1.0.1", "glob": "^7.0.3", "object-assign": "^4.0.1", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" } }, "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw=="], + "eslint/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], - "downshift/react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], + "eslint/eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="], - "enhanced-resolve/tapable": ["tapable@2.2.2", "", {}, "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg=="], + "eslint-plugin-react/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - "eslint/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], + "eslint-plugin-react/resolve": ["resolve@2.0.0-next.5", "", { "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA=="], - "eslint/eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="], + "eslint-plugin-react/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "esquery/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], @@ -1599,39 +1368,31 @@ "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - "file-loader/schema-utils": ["schema-utils@3.3.0", "", { "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg=="], - - "find-cache-dir/pkg-dir": ["pkg-dir@7.0.0", "", { "dependencies": { "find-up": "^6.3.0" } }, "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA=="], - "global-prefix/which": ["which@1.3.1", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "./bin/which" } }, "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="], - "hoist-non-react-statics/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], - "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], - "mini-css-extract-plugin/schema-utils": ["schema-utils@4.3.2", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ=="], - - "mini-css-extract-plugin/tapable": ["tapable@2.2.2", "", {}, "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg=="], + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "pkg-dir/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], - "postcss-calc/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + "postcss-calc/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], - "postcss-colormin/browserslist": ["browserslist@4.25.1", "", { "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw=="], + "postcss-discard-comments/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], - "postcss-convert-values/browserslist": ["browserslist@4.25.1", "", { "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw=="], + "postcss-merge-rules/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], - "postcss-discard-comments/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + "postcss-minify-selectors/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], - "postcss-merge-rules/browserslist": ["browserslist@4.25.1", "", { "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw=="], + "postcss-modules-local-by-default/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], - "postcss-merge-rules/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + "postcss-modules-scope/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], - "postcss-minify-params/browserslist": ["browserslist@4.25.1", "", { "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw=="], + "postcss-unique-selectors/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], - "postcss-minify-selectors/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + "stylehacks/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], - "postcss-modules-local-by-default/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + "stylelint/file-entry-cache": ["file-entry-cache@11.1.1", "", { "dependencies": { "flat-cache": "^6.1.19" } }, "sha512-TPVFSDE7q91Dlk1xpFLvFllf8r0HyOMOlnWy7Z2HBku5H3KhIeOGInexrIeg2D64DosVB/JXkrrk6N/7Wriq4A=="], "postcss-modules-scope/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], @@ -1667,13 +1428,7 @@ "stylelint/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], - "stylelint/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], - - "stylelint-scss/known-css-properties": ["known-css-properties@0.36.0", "", {}, "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA=="], - - "stylelint-scss/mdn-data": ["mdn-data@2.22.1", "", {}, "sha512-u9Xnc9zLuF/CL2IHPow7HcXPpb8okQyzYpwL5wFsY//JRedSWYglYRg3PYWoQCu1zO+tBTmWOJN/iM0mPC5CRQ=="], - - "stylelint-scss/postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + "stylelint/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="], "supports-hyperlinks/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], @@ -1765,25 +1520,13 @@ "csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="], - "del/globby/array-union": ["array-union@1.0.2", "", { "dependencies": { "array-uniq": "^1.0.1" } }, "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng=="], - - "del/globby/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], - - "del/globby/pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], - "eslint/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], "eslint/eslint-scope/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - "file-loader/schema-utils/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], - - "file-loader/schema-utils/ajv-keywords": ["ajv-keywords@3.5.2", "", { "peerDependencies": { "ajv": "^6.9.1" } }, "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="], - - "find-cache-dir/pkg-dir/find-up": ["find-up@6.3.0", "", { "dependencies": { "locate-path": "^7.1.0", "path-exists": "^5.0.0" } }, "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw=="], - "pkg-dir/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], - "postcss-colormin/browserslist/caniuse-lite": ["caniuse-lite@1.0.30001727", "", {}, "sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q=="], + "stylelint/file-entry-cache/flat-cache": ["flat-cache@6.1.19", "", { "dependencies": { "cacheable": "^2.2.0", "flatted": "^3.3.3", "hookified": "^1.13.0" } }, "sha512-l/K33newPTZMTGAnnzaiqSl6NnH7Namh8jBNjrgjprWxGmZUuxx/sJNIRaijOh3n7q7ESbhNZC+pvVZMFdeU4A=="], "postcss-colormin/browserslist/electron-to-chromium": ["electron-to-chromium@1.5.183", "", {}, "sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA=="], @@ -1892,11 +1635,5 @@ "find-cache-dir/pkg-dir/find-up/locate-path/p-locate": ["p-locate@6.0.0", "", { "dependencies": { "p-limit": "^4.0.0" } }, "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw=="], "pkg-dir/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - - "yargs/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - - "find-cache-dir/pkg-dir/find-up/locate-path/p-locate/p-limit": ["p-limit@4.0.0", "", { "dependencies": { "yocto-queue": "^1.0.0" } }, "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ=="], - - "find-cache-dir/pkg-dir/find-up/locate-path/p-locate/p-limit/yocto-queue": ["yocto-queue@1.2.1", "", {}, "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg=="], } } diff --git a/eslint.config.mjs b/eslint.config.mjs index ad1e5cbbd..b7d247b90 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,3 +1,3 @@ -import config from '@eightshift/frontend-libs/linters/eslint.config.mjs'; +import config from '@eightshift/frontend-libs-tailwind/linters/eslint.config.mjs'; export default config; diff --git a/package.json b/package.json index 2b2479420..9ee099b34 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "homepage": "https://github.com/infinum/eightshift-forms#readme", "scripts": { - "lintStyle": "stylelint **/*.scss", + "lintStyle": "stylelint **/*.css", "lintJs": "eslint src/", "lint": "eslint", "start": "webpack --watch --mode development", @@ -40,15 +40,20 @@ "lint-staged": "^16.2.7" }, "dependencies": { - "@eightshift/frontend-libs": "^12.1.9", - "@eightshift/ui-components": "^5.6.1", + "@eightshift/frontend-libs-tailwind": "^2.3.0", + "@eightshift/ui-components": "^6.0.6", "autosize": "^6.0.1", "baseline-browser-mapping": "^2.9.18", "caniuse-lite": "^1.0.30001766", "choices.js": "^11.1.0", "dropzone": "^6.0.0-beta.2", "flatpickr": "^4.6.13", - "reactflow": "^11.11.4" + "reactflow": "^11.11.4", + "@tailwindcss/postcss": "^4.1.17", + "@tailwindcss/typography": "^0.5.19", + "tailwindcss": "^4.1.17", + "tailwindcss-motion": "^1.1.1", + "tailwindcss-react-aria-components": "^2.0.1" }, "lint-staged": { "*.js": "eslint", diff --git a/postcss.config.js b/postcss.config.js index 355e47e6e..8e8b1fa89 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,9 +1,5 @@ -/* eslint-disable import/no-extraneous-dependencies, global-require */ - -const autoprefixer = require('autoprefixer'); - module.exports = { - plugins: [ - autoprefixer, - ], + plugins: { + '@tailwindcss/postcss': {}, + }, }; diff --git a/preprocess-tailwind.js b/preprocess-tailwind.js new file mode 100644 index 000000000..cc807654e --- /dev/null +++ b/preprocess-tailwind.js @@ -0,0 +1,74 @@ +const fs = require('fs'); +const glob = require('glob'); + +// Make sure to change this in your project! +const BREAKPOINTS = ['sm', 'md']; + +const JSON_GLOB_PATTERN = 'src/**/manifest.json'; // Recursively find all manifest.json files + +const OUTPUT_FILE = 'es-tw-responsive-classes.txt'; // A file Tailwind will scan + +let classes = new Set(); + +const verbose = process.argv.includes('--verbose'); + +const getAllClasses = (input) => { + return Object.values(input).forEach((value) => { + value.split(' ').forEach((cls) => { + // classes.add(cls); + + BREAKPOINTS.forEach((bp) => { + classes.add(`${bp}:${cls}`); + classes.add(`max-${bp}:${cls}`); + }); + }); + }); +}; + +function processJsonFile(jsonPath) { + const content = fs.readFileSync(jsonPath, 'utf-8'); + const json = JSON.parse(content); + + if (!json?.tailwind?.options) { + return ''; + } + + classes = new Set(); + + const responsiveOptions = Object.values(json?.tailwind?.options)?.filter((option) => option.responsive); + + responsiveOptions.forEach(({ twClasses, twClassesEditor, twClassesEditorOnly }) => { + if (twClasses) { + getAllClasses(twClasses); + } + + if (twClassesEditor) { + getAllClasses(twClassesEditor); + } + + if (twClassesEditorOnly) { + getAllClasses(twClassesEditorOnly); + } + }); + + return [...classes].join(' '); +} + +// Find all manifest.json files inside src/ +const manifestFiles = glob.sync(JSON_GLOB_PATTERN); + +// Using Set to avoid duplicates. +const allClasses = new Set(); + +// Process manifests. +manifestFiles.forEach((filePath) => { + if (verbose) { + console.log(`├─ ${filePath}`); + } + + processJsonFile(filePath) + .split(/\s+/) + .forEach((cls) => allClasses.add(cls)); +}); + +fs.writeFileSync(OUTPUT_FILE, [...allClasses].join(' ')); diff --git a/src/Blocks/assets/application-admin-all.js b/src/Blocks/assets/application-admin-all.js index 044ecab77..80aa29224 100644 --- a/src/Blocks/assets/application-admin-all.js +++ b/src/Blocks/assets/application-admin-all.js @@ -5,5 +5,9 @@ * Usage: `WordPress admin all`. */ +import { dynamicImport } from '@eightshift/frontend-libs-tailwind/scripts/helpers'; + // Styles. -import './styles/admin-all.scss'; +import './styles/admin-all.css'; + +dynamicImport(require.context('./../components', true, /styles-admin-all\.css$/)); diff --git a/src/Blocks/assets/application-admin.js b/src/Blocks/assets/application-admin.js index f7c014eaf..73c7814f1 100644 --- a/src/Blocks/assets/application-admin.js +++ b/src/Blocks/assets/application-admin.js @@ -5,8 +5,12 @@ * Usage: `WordPress admin`. */ +import { dynamicImport } from '@eightshift/frontend-libs-tailwind/scripts/helpers'; + // Styles. -import './styles/admin.scss'; +import './styles/admin.css'; + +dynamicImport(require.context('./../components', true, /styles-admin\.css$/)); // Scripts. import './scripts/admin'; diff --git a/src/Blocks/assets/application-blocks-editor.js b/src/Blocks/assets/application-blocks-editor.js index 0429ce964..2900f4a1e 100644 --- a/src/Blocks/assets/application-blocks-editor.js +++ b/src/Blocks/assets/application-blocks-editor.js @@ -5,11 +5,15 @@ * Usage: `WordPress admin editor`. */ +import { dynamicImport } from '@eightshift/frontend-libs-tailwind/scripts'; + // Images. import './images/blocks-editor'; // Styles. -import './styles/blocks-editor.scss'; +import './styles/blocks-editor.css'; + +dynamicImport(require.context('./../components', true, /styles-editor\.css$/)); // Scripts. import './scripts/blocks-editor'; diff --git a/src/Blocks/assets/application-blocks-frontend-mandatory.js b/src/Blocks/assets/application-blocks-frontend-mandatory.js index c11c4f6b4..f7b8c4487 100644 --- a/src/Blocks/assets/application-blocks-frontend-mandatory.js +++ b/src/Blocks/assets/application-blocks-frontend-mandatory.js @@ -9,4 +9,4 @@ import './images/blocks-frontend-mandatory'; // Styles. -import './styles/blocks-frontend-mandatory.scss'; +import './styles/blocks-frontend-mandatory.css'; diff --git a/src/Blocks/assets/application-blocks-frontend.js b/src/Blocks/assets/application-blocks-frontend.js index a3319af87..e3c9c716b 100644 --- a/src/Blocks/assets/application-blocks-frontend.js +++ b/src/Blocks/assets/application-blocks-frontend.js @@ -6,7 +6,7 @@ */ // Styles. -import './styles/blocks-frontend.scss'; +import './styles/blocks-frontend.css'; // Scripts. import './scripts/blocks-frontend'; diff --git a/src/Blocks/assets/scripts/admin.js b/src/Blocks/assets/scripts/admin.js index fe8b646e0..63b28dc24 100644 --- a/src/Blocks/assets/scripts/admin.js +++ b/src/Blocks/assets/scripts/admin.js @@ -8,7 +8,12 @@ * Usage: `WordPress admin `. */ - import { dynamicImport } from '@eightshift/frontend-libs/scripts/helpers'; +import { dynamicImport } from '@eightshift/frontend-libs-tailwind/scripts/helpers'; // Find all blocks and require assets index.js inside it. dynamicImport(require.context('./../../components', true, /assets-admin\/index\.js$/)); +dynamicImport(require.context('./../../custom', true, /assets-admin\/index\.js$/)); + +// Output all frontend-only styles. +dynamicImport(require.context('./../../components', true, /styles-admin.css$/)); +dynamicImport(require.context('./../../custom', true, /styles-admin.css$/)); diff --git a/src/Blocks/assets/scripts/blocks-editor.js b/src/Blocks/assets/scripts/blocks-editor.js index 2aec795ab..fe06085b1 100644 --- a/src/Blocks/assets/scripts/blocks-editor.js +++ b/src/Blocks/assets/scripts/blocks-editor.js @@ -11,11 +11,10 @@ */ import { unregisterBlockType } from '@wordpress/blocks'; -import { - registerBlocks, - outputCssVariablesGlobal, -} from '@eightshift/frontend-libs/scripts/editor'; +import { registerBlocks } from '@eightshift/frontend-libs-tailwind/scripts/editor'; +import { dynamicImport } from '@eightshift/frontend-libs-tailwind/scripts'; import globalManifest from '../../manifest.json'; +import './editor-hooks'; import './store'; registerBlocks( @@ -31,8 +30,9 @@ registerBlocks( require.context('./../../custom', true, /-overrides.js$/), ); -// Output global css variables. -outputCssVariablesGlobal(); +// Import styles. +dynamicImport(require.context('./../../components', true, /styles-editor.css$/)); +dynamicImport(require.context('./../../custom', true, /styles-editor.css$/)); if (esFormsLocalization?.currentPostType?.isForms) { globalManifest?.unregisterBlocks?.forms?.forEach((block) => unregisterBlockType(block)); @@ -45,4 +45,3 @@ if (esFormsLocalization?.currentPostType?.isResults) { if (esFormsLocalization?.currentPostType?.isCommon) { globalManifest?.unregisterBlocks?.common?.forEach((block) => unregisterBlockType(block)); } - diff --git a/src/Blocks/assets/scripts/blocks-frontend.js b/src/Blocks/assets/scripts/blocks-frontend.js index 758dd445b..58a6ab179 100644 --- a/src/Blocks/assets/scripts/blocks-frontend.js +++ b/src/Blocks/assets/scripts/blocks-frontend.js @@ -8,7 +8,15 @@ * Usage: `WordPress frontend screen`. */ -import { dynamicImport } from '@eightshift/frontend-libs/scripts/helpers'; +import { dynamicImport } from '@eightshift/frontend-libs-tailwind/scripts/helpers'; // Find all blocks and require assets index.js inside it. dynamicImport(require.context('./../../components', true, /assets\/index\.js$/)); +dynamicImport(require.context('./../../custom', true, /assets\/index\.js$/)); + +// Output all frontend-only styles. +dynamicImport(require.context('./../../components', true, /styles-frontend.css$/)); +dynamicImport(require.context('./../../custom', true, /styles-frontend.css$/)); + +// Images. +dynamicImport(require.context('./../images', true, /.svg$/)); diff --git a/src/Blocks/assets/scripts/editor-hooks.js b/src/Blocks/assets/scripts/editor-hooks.js new file mode 100644 index 000000000..ceda186c9 --- /dev/null +++ b/src/Blocks/assets/scripts/editor-hooks.js @@ -0,0 +1,109 @@ +/* global esFormsLocalization */ + +import { addFilter } from '@wordpress/hooks'; +import { createHigherOrderComponent } from '@wordpress/compose'; +import { Field } from '../../custom/field/field-block'; +import formsManifest from '../../custom/forms/manifest.json'; +import manifestField from '../../components/field/manifest.json'; +import manifestConditionalTags from '../../components/conditional-tags/manifest.json'; +import globalManifest from '../../manifest.json'; +import { camelCase, clsx, upperFirst } from '@eightshift/ui-components/utilities'; + +const { namespace, allowedBlocksList } = globalManifest; + +const onlyFields = [ + ...allowedBlocksList.formsCpt, + ...allowedBlocksList.other, + ...allowedBlocksList.fieldsIntegration, + ...allowedBlocksList.fieldsWithChildren, + ...allowedBlocksList.integrationsNoBuilder, + ...allowedBlocksList.integrationsBuilder, +]; + +// Wrap none forms block with field block. +const setNoneEightshiftFormsBlocksField = createHigherOrderComponent((BlockEdit) => { + return (innerProps) => { + const { name } = innerProps; + + // Change only none forms blocks in forms post type. + if (esFormsLocalization?.currentPostType.isForms && !name.includes(esFormsLocalization?.postTypes?.forms)) { + return ( + + + + ); + } + + // Return normal flow. + return ; + }; +}, 'setNoneEightshiftFormsBlocksField'); + +// Add none forms block attributes from field block. +function setNoneEightshiftBlocksFieldAttributes(settings, name) { + // Change only none forms blocks in forms post type. + if (esFormsLocalization?.currentPostType.isForms && !name.includes(esFormsLocalization?.postTypes?.forms)) { + return { + ...settings, + attributes: { + ...settings.attributes, + ...manifestField.attributes, + ...manifestConditionalTags.attributes, + }, + }; + } + + return settings; +} + +// Set editor block list block. +const setEditorBlockListBlock = createHigherOrderComponent((BlockListBlock) => { + return (innerProps) => { + const { name, attributes, clientId } = innerProps; + + if (esFormsLocalization?.currentPostType.isForms && !onlyFields.includes(name)) { + let key = `${attributes.blockName}${upperFirst(camelCase(attributes.blockName))}FieldWidthLarge`; + + if (esFormsLocalization.additionalBlocks.includes(name)) { + key = 'fieldWidthLarge'; + } + + const fieldWidthLarge = attributes?.[key]; + + const componentClass = clsx( + fieldWidthLarge && `esf:col-span-${fieldWidthLarge}!`, + attributes.blockClass, + globalManifest.globalVariables.customBlocksName, + ); + + const updatedProps = { + ...innerProps, + className: componentClass, + }; + + return ; + } + + if (name === formsManifest.blockName) { + const componentClass = clsx(attributes.blockClass, globalManifest.globalVariables.customBlocksName); + + const updatedProps = { + ...innerProps, + className: componentClass, + }; + + return ( + + ); + } + + return ; + }; +}, 'setEditorBlockListBlock'); + +addFilter('editor.BlockEdit', namespace, setNoneEightshiftFormsBlocksField); +addFilter('blocks.registerBlockType', namespace, setNoneEightshiftBlocksFieldAttributes); +addFilter('editor.BlockListBlock', namespace, setEditorBlockListBlock); diff --git a/src/Blocks/assets/scripts/store/index.js b/src/Blocks/assets/scripts/store/index.js index c2f36b6ac..4d7757ede 100644 --- a/src/Blocks/assets/scripts/store/index.js +++ b/src/Blocks/assets/scripts/store/index.js @@ -35,7 +35,7 @@ const actions = { }; // Define reducers - only setters. -const reducer = ( state = DEFAULT_STATE, action ) => { +const reducer = (state = DEFAULT_STATE, action) => { switch (action.type) { case 'SET_SYNC_DIALOG': { return { @@ -52,8 +52,10 @@ const reducer = ( state = DEFAULT_STATE, action ) => { } }; -register(createReduxStore(FORMS_STORE_NAME, { - selectors, - actions, - reducer, -})); +register( + createReduxStore(FORMS_STORE_NAME, { + selectors, + actions, + reducer, + }), +); diff --git a/src/Blocks/assets/styles/admin-all.css b/src/Blocks/assets/styles/admin-all.css new file mode 100644 index 000000000..def21ad66 --- /dev/null +++ b/src/Blocks/assets/styles/admin-all.css @@ -0,0 +1,7 @@ +/* Eightshift UI components */ +@import '@eightshift/ui-components/dist/assets/wp-overrides/replace-fonts.css'; +@import '@eightshift/ui-components/dist/assets/style-admin.css'; + +/* ES Utils styles */ +@import 'tailwindcss' prefix(esf); +@import '../../../../tailwind.css'; diff --git a/src/Blocks/assets/styles/admin-all.scss b/src/Blocks/assets/styles/admin-all.scss deleted file mode 100644 index 850314e87..000000000 --- a/src/Blocks/assets/styles/admin-all.scss +++ /dev/null @@ -1,14 +0,0 @@ -// stylelint-disable scss/load-partial-extension - -/** - * This is the main entry point for Admin styles used for the `WordPress admin`. - * File names must follow naming convention to be able to run dynamically. - * - * `src/blocks/custom/block_name/block_name-admin-all.scss`. - * - * Usage: `WordPress admin`. - * - */ - -// Find all components and require component_name-admin.scss inside it. -@import './../../components/*/*-admin-all.scss'; diff --git a/src/Blocks/assets/styles/admin.css b/src/Blocks/assets/styles/admin.css new file mode 100644 index 000000000..def21ad66 --- /dev/null +++ b/src/Blocks/assets/styles/admin.css @@ -0,0 +1,7 @@ +/* Eightshift UI components */ +@import '@eightshift/ui-components/dist/assets/wp-overrides/replace-fonts.css'; +@import '@eightshift/ui-components/dist/assets/style-admin.css'; + +/* ES Utils styles */ +@import 'tailwindcss' prefix(esf); +@import '../../../../tailwind.css'; diff --git a/src/Blocks/assets/styles/admin.scss b/src/Blocks/assets/styles/admin.scss deleted file mode 100644 index 8b644aa00..000000000 --- a/src/Blocks/assets/styles/admin.scss +++ /dev/null @@ -1,32 +0,0 @@ -// stylelint-disable scss/load-partial-extension - -/** - * This is the main entry point for Admin styles used for the `WordPress admin`. - * File names must follow naming convention to be able to run dynamically. - * - * `src/blocks/custom/block_name/block_name-admin.scss`. - * - * Usage: `WordPress admin`. - * - */ - -// Globals. -@import './parts/admin-theme-colors'; -@import './parts/shared'; - -// Find all components and require component_name-admin.scss inside it. -@import './../../components/*/*-admin.scss'; - -// Additional variables. -:root { - --global-es-radius-24: 1.5rem; - --global-es-radius-20: 1.25rem; - --global-es-radius-16: 1rem; - --global-es-radius-12: 0.75rem; - --global-es-radius-8: 0.5rem; -} - -.es-form-is-hidden { - display: none; - user-select: none; -} diff --git a/src/Blocks/assets/styles/blocks-editor.css b/src/Blocks/assets/styles/blocks-editor.css new file mode 100644 index 000000000..75f7a9e53 --- /dev/null +++ b/src/Blocks/assets/styles/blocks-editor.css @@ -0,0 +1,16 @@ +/* Eightshift UI components - WP overrides */ +@import '@eightshift/ui-components/dist/assets/wp-overrides/fix-label-text-case.css'; +@import '@eightshift/ui-components/dist/assets/wp-overrides/increase-sidebar-width.css'; +@import '@eightshift/ui-components/dist/assets/wp-overrides/make-block-messages-nicer.css'; +@import '@eightshift/ui-components/dist/assets/wp-overrides/restyle-tooltips.css'; +@import '@eightshift/ui-components/dist/assets/wp-overrides/round-corners.css'; +@import '@eightshift/ui-components/dist/assets/wp-overrides/unify-button-sizes.css'; +@import '@eightshift/ui-components/dist/assets/wp-overrides/replace-fonts.css'; +@import '@eightshift/ui-components/dist/assets/wp-overrides/allow-full-width-blocks.css'; + +/* Eightshift UI components */ +@import '@eightshift/ui-components/dist/assets/style.css'; + +/* ES Forms styles */ +@import 'tailwindcss' prefix(esf); +@import '../../../../tailwind.css'; diff --git a/src/Blocks/assets/styles/blocks-editor.scss b/src/Blocks/assets/styles/blocks-editor.scss deleted file mode 100644 index 44258a6da..000000000 --- a/src/Blocks/assets/styles/blocks-editor.scss +++ /dev/null @@ -1,24 +0,0 @@ -// stylelint-disable scss/load-partial-extension - -/** - * This is the main entry point for Block Editor blocks styles used for the `WordPress admin editor`. - * File names must follow naming convention to be able to run dynamically. - * - * `src/blocks/custom/block_name/block_name-editor.scss`. - * - * Usage: `WordPress admin editor`. - * - */ - -// Global. -@import './parts/shared'; - -// Utils helpers -@import '@eightshift/frontend-libs/styles/es-utility-classes'; -@import '@eightshift/frontend-libs/styles/es-component-styles'; - -// Find all components and require component_name-style.scss inside it. -@import './../../components/*/*-editor.scss'; - -// Find all blocks and require block_name-editor.scss inside it. -@import './../../custom/*/*-editor.scss'; diff --git a/src/Blocks/assets/styles/blocks-frontend-mandatory.css b/src/Blocks/assets/styles/blocks-frontend-mandatory.css new file mode 100644 index 000000000..e69de29bb diff --git a/src/Blocks/assets/styles/blocks-frontend-mandatory.scss b/src/Blocks/assets/styles/blocks-frontend-mandatory.scss deleted file mode 100644 index 4b26560af..000000000 --- a/src/Blocks/assets/styles/blocks-frontend-mandatory.scss +++ /dev/null @@ -1,21 +0,0 @@ -// stylelint-disable scss/load-partial-extension - -/** - * This is the main entry point for Block Editor blocks styles used for the `WordPress frontend screen`. - * But files that are mandatory to load if the user disables the options in admin. - * File names must follow naming convention to be able to run dynamically. - * - * `src/blocks/custom/block_name/block_name-editor.scss`. - * - * Usage: `WordPress frontend screen`. - * - */ - -// Globals. -@import './parts/shared'; - -// Find all components and require component_name-style.scss inside it. -@import './../../components/*/*-frontend-mandatory.scss'; - -// Find all blocks and require block_name-editor.scss inside it. -@import './../../custom/*/*-frontend-mandatory.scss'; diff --git a/src/Blocks/assets/styles/blocks-frontend.css b/src/Blocks/assets/styles/blocks-frontend.css new file mode 100644 index 000000000..e69de29bb diff --git a/src/Blocks/assets/styles/blocks-frontend.scss b/src/Blocks/assets/styles/blocks-frontend.scss deleted file mode 100644 index a4b4718d7..000000000 --- a/src/Blocks/assets/styles/blocks-frontend.scss +++ /dev/null @@ -1,20 +0,0 @@ -// stylelint-disable scss/load-partial-extension - -/** - * This is the main entry point for Block Editor blocks styles used for the `WordPress frontend screen`. - * File names must follow naming convention to be able to run dynamically. - * - * `src/blocks/custom/block_name/block_name-editor.scss`. - * - * Usage: `WordPress frontend screen`. - * - */ - -// Globals. -@import './parts/shared'; - -// Find all components and require component_name-style.scss inside it. -@import './../../components/*/*-frontend.scss'; - -// Find all blocks and require block_name-editor.scss inside it. -// @import './../../custom/*/*-frontend.scss'; diff --git a/src/Blocks/assets/styles/safelist-tailwind.txt b/src/Blocks/assets/styles/safelist-tailwind.txt new file mode 100644 index 000000000..885b7a8f9 --- /dev/null +++ b/src/Blocks/assets/styles/safelist-tailwind.txt @@ -0,0 +1,12 @@ +esf:col-span-1! +esf:col-span-2! +esf:col-span-3! +esf:col-span-4! +esf:col-span-5! +esf:col-span-6! +esf:col-span-7! +esf:col-span-8! +esf:col-span-9! +esf:col-span-10! +esf:col-span-11! +esf:col-span-12! diff --git a/src/Blocks/components/admin-listing/admin-listing.php b/src/Blocks/components/admin-listing/admin-listing.php index eca9b5f3e..243863e74 100644 --- a/src/Blocks/components/admin-listing/admin-listing.php +++ b/src/Blocks/components/admin-listing/admin-listing.php @@ -91,7 +91,7 @@ // This is fake form to be able to init state for global msg. -$formClasses = Helpers::classnames([ +$formClasses = Helpers::clsx([ UtilsHelper::getStateSelector('form'), Helpers::selector($componentClass, $componentClass, 'form'), ]); diff --git a/src/Blocks/components/admin-settings/admin-settings.php b/src/Blocks/components/admin-settings/admin-settings.php index f5447f13a..5adc013e9 100644 --- a/src/Blocks/components/admin-settings/admin-settings.php +++ b/src/Blocks/components/admin-settings/admin-settings.php @@ -28,7 +28,7 @@ $adminSettingsIsGlobal = Helpers::checkAttr('adminSettingsIsGlobal', $attributes, $manifest); $adminSettingsNotice = Helpers::checkAttr('adminSettingsNotice', $attributes, $manifest); -$layoutClass = Helpers::classnames([ +$layoutClass = Helpers::clsx([ Helpers::selector($componentClass, $componentClass), Helpers::selector($sectionClass, $sectionClass), Helpers::selector($sectionClass, $sectionClass, '', 'with-sidebar'), diff --git a/src/Blocks/components/card-inline/card-inline.php b/src/Blocks/components/card-inline/card-inline.php index 95a6e4e76..f7cb44b0c 100644 --- a/src/Blocks/components/card-inline/card-inline.php +++ b/src/Blocks/components/card-inline/card-inline.php @@ -25,7 +25,7 @@ $cardInlineUseHover = Helpers::checkAttr('cardInlineUseHover', $attributes, $manifest); $cardInlineUseDivider = Helpers::checkAttr('cardInlineUseDivider', $attributes, $manifest); -$cardInlineClass = Helpers::classnames([ +$cardInlineClass = Helpers::clsx([ Helpers::selector($componentClass, $componentClass), Helpers::selector($additionalClass, $additionalClass), Helpers::selector($cardInlineLastItem, $componentClass, '', 'last'), diff --git a/src/Blocks/components/checkbox/checkbox.php b/src/Blocks/components/checkbox/checkbox.php index df73f52ef..3444aefec 100644 --- a/src/Blocks/components/checkbox/checkbox.php +++ b/src/Blocks/components/checkbox/checkbox.php @@ -44,7 +44,7 @@ $twClasses = FormsHelper::getTwSelectors($checkboxTwSelectorsData, ['checkbox']); -$checkboxClass = Helpers::classnames([ +$checkboxClass = Helpers::clsx([ FormsHelper::getTwBase($twClasses, 'checkbox', $componentClass), Helpers::selector($componentClass && $checkboxAsToggleSize, $componentClass, '', $checkboxAsToggleSize), Helpers::selector($additionalClass, $additionalClass), @@ -52,7 +52,7 @@ Helpers::selector($checkboxIsHidden, UtilsHelper::getStateSelector('isHidden')), ]); -$checkboxInputClass = Helpers::classnames([ +$checkboxInputClass = Helpers::clsx([ FormsHelper::getTwPart($twClasses, 'checkbox', 'input', "{$componentClass}__input"), Helpers::selector($checkboxSingleSubmit, UtilsHelper::getStateSelectorAdmin('singleSubmit')), ]); diff --git a/src/Blocks/components/checkbox/components/checkbox-editor.js b/src/Blocks/components/checkbox/components/checkbox-editor.js index 7773d62c9..5a5414b30 100644 --- a/src/Blocks/components/checkbox/components/checkbox-editor.js +++ b/src/Blocks/components/checkbox/components/checkbox-editor.js @@ -1,30 +1,18 @@ -import React from 'react'; -import { select } from '@wordpress/data'; +import React from 'react'; import { __ } from '@wordpress/i18n'; -import classnames from 'classnames'; +import { checkAttr, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts'; import { - selector, - checkAttr, - props, - STORE_NAME, - getAttrKey, -} from '@eightshift/frontend-libs/scripts'; -import { ConditionalTagsEditor } from '../../conditional-tags/components/conditional-tags-editor'; -import { MissingName, VisibilityHidden, preventSaveOnMissingProps } from './../../utils'; + StatusFieldOutput, + StatusIconConditionals, + StatusIconHidden, + StatusIconMissingName, + preventSaveOnMissingProps, +} from './../../utils'; +import manifest from '../manifest.json'; +import { clsx } from '@eightshift/ui-components/utilities'; export const CheckboxEditor = (attributes) => { - const manifest = select(STORE_NAME).getComponent('checkbox'); - - const { - componentClass, - } = manifest; - - const { - selectorClass = componentClass, - blockClass, - additionalClass, - blockClientId, - } = attributes; + const { blockClientId, prefix } = attributes; const checkboxLabel = checkAttr('checkboxLabel', attributes, manifest); const checkboxValue = checkAttr('checkboxValue', attributes, manifest); @@ -33,36 +21,33 @@ export const CheckboxEditor = (attributes) => { preventSaveOnMissingProps(blockClientId, getAttrKey('checkboxValue', attributes, manifest), checkboxValue); - const checkboxClass = classnames([ - selector(componentClass, componentClass), - selector(blockClass, blockClass, selectorClass), - selector(additionalClass, additionalClass), - selector(checkboxIsHidden, 'es-form-is-hidden'), - ]); - - const checkboxLabelClass = classnames([ - selector(componentClass, componentClass, 'label'), - selector(checkboxLabel === '', componentClass, 'label', 'placeholder'), - selector(checkboxIsChecked, componentClass, 'label', 'checked'), - ]); - return ( -
- - -
-
- -
- - - - {checkboxValue && - - } -
+
+ + , + !checkboxValue && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} + />
); }; diff --git a/src/Blocks/components/checkbox/components/checkbox-options.js b/src/Blocks/components/checkbox/components/checkbox-options.js index 2f6e06e84..65ba5e66f 100644 --- a/src/Blocks/components/checkbox/components/checkbox-options.js +++ b/src/Blocks/components/checkbox/components/checkbox-options.js @@ -1,29 +1,17 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; -import { TextControl, PanelBody, Button, TextareaControl } from '@wordpress/components'; import { MediaPlaceholder } from '@wordpress/block-editor'; -import { - checkAttr, - getAttrKey, - icons, - IconLabel, - IconToggle, - Section, - props, - AnimatedContentVisibility, - STORE_NAME, -} from '@eightshift/frontend-libs/scripts'; +import { checkAttr, getAttrKey, props } from '@eightshift/frontend-libs-tailwind/scripts'; +import { Button, ContainerPanel, InputField, Toggle, Spacer } from '@eightshift/ui-components'; +import { icons } from '@eightshift/ui-components/icons'; import { isOptionDisabled, NameField } from './../../utils'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import manifest from '../manifest.json'; +import { Notice } from '@eightshift/ui-components'; export const CheckboxOptions = (attributes) => { - const manifest = select(STORE_NAME).getComponent('checkbox'); - - const { - setAttributes, - } = attributes; + const { setAttributes } = attributes; const [isNameChanged, setIsNameChanged] = useState(false); @@ -38,102 +26,113 @@ export const CheckboxOptions = (attributes) => { const checkboxIsHidden = checkAttr('checkboxIsHidden', attributes, manifest); return ( - -
- -
+ + + + + setAttributes({ [getAttrKey('checkboxHideLabelText', attributes, manifest)]: !value })} + /> -
- setAttributes({ [getAttrKey('checkboxHideLabelText', attributes, manifest)]: !value })} - reducedBottomSpacing + {!checkboxHideLabelText && ( + setAttributes({ [getAttrKey('checkboxLabel', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('checkboxLabel', attributes, manifest), checkboxDisabledOptions)} /> + )} - {!checkboxHideLabelText && - setAttributes({ [getAttrKey('checkboxLabel', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('checkboxLabel', attributes, manifest), checkboxDisabledOptions)} - /> - } + {(checkboxHideLabelText || checkboxLabel === '') && ( + + )} - - - -
+ + setAttributes({ [getAttrKey('checkboxIsChecked', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('checkboxIsChecked', attributes, manifest), checkboxDisabledOptions)} + /> -
- setAttributes({ [getAttrKey('checkboxIsChecked', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('checkboxIsChecked', attributes, manifest), checkboxDisabledOptions)} - /> + setAttributes({ [getAttrKey('checkboxIsDisabled', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('checkboxIsDisabled', attributes, manifest), checkboxDisabledOptions)} + /> - setAttributes({ [getAttrKey('checkboxIsDisabled', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('checkboxIsDisabled', attributes, manifest), checkboxDisabledOptions)} - /> + setAttributes({ [getAttrKey('checkboxIsHidden', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('checkboxIsHidden', attributes, manifest), checkboxDisabledOptions)} + /> - setAttributes({ [getAttrKey('checkboxIsHidden', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('checkboxIsHidden', attributes, manifest), checkboxDisabledOptions)} - noBottomSpacing + {checkboxIcon ? ( + <> + +
+ )} -
- {checkboxIcon ? - <> - -
+ -
- } - value={checkboxTracking} - onChange={(value) => setAttributes({ [getAttrKey('checkboxTracking', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('checkboxTracking', attributes, manifest), checkboxDisabledOptions)} - className='es-no-field-spacing' - /> -
+ setAttributes({ [getAttrKey('checkboxTracking', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('checkboxTracking', attributes, manifest), checkboxDisabledOptions)} + /> { conditionalTagsIsHidden: checkboxIsHidden, })} /> -
+ ); }; diff --git a/src/Blocks/components/checkboxes/components/checkboxes-editor.js b/src/Blocks/components/checkboxes/components/checkboxes-editor.js index 8426c9854..e03cc4da2 100644 --- a/src/Blocks/components/checkboxes/components/checkboxes-editor.js +++ b/src/Blocks/components/checkboxes/components/checkboxes-editor.js @@ -1,45 +1,18 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { - STORE_NAME, - checkAttr, - props, - getAttrKey, -} from '@eightshift/frontend-libs/scripts'; +import { checkAttr, props, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts'; import { FieldEditor } from '../../field/components/field-editor'; -import { MissingName, preventSaveOnMissingProps } from './../../utils'; -import { ConditionalTagsEditor } from '../../conditional-tags/components/conditional-tags-editor'; +import { preventSaveOnMissingProps, StatusIconConditionals, StatusIconMissingName } from './../../utils'; +import manifest from '../manifest.json'; export const CheckboxesEditor = (attributes) => { - const manifest = select(STORE_NAME).getComponent('checkboxes'); - - const { - componentName - } = manifest; - - const { - additionalFieldClass, - blockClientId, - } = attributes; + const { blockClientId, prefix } = attributes; const checkboxesContent = checkAttr('checkboxesContent', attributes, manifest); const checkboxesName = checkAttr('checkboxesName', attributes, manifest); preventSaveOnMissingProps(blockClientId, getAttrKey('checkboxesName', attributes, manifest), checkboxesName); - const checkboxes = ( - <> - {checkboxesContent} - - - - {checkboxesName && - - } - - ); + const checkboxes =
{checkboxesContent}
; return ( <> @@ -48,8 +21,10 @@ export const CheckboxesEditor = (attributes) => { fieldContent: checkboxes, fieldIsRequired: checkAttr('checkboxesIsRequired', attributes, manifest), })} - additionalFieldClass={additionalFieldClass} - selectorClass={componentName} + statusSlog={[ + !checkboxesName && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} /> ); diff --git a/src/Blocks/components/checkboxes/components/checkboxes-options.js b/src/Blocks/components/checkboxes/components/checkboxes-options.js index 9f0bb4eef..024076a01 100644 --- a/src/Blocks/components/checkboxes/components/checkboxes-options.js +++ b/src/Blocks/components/checkboxes/components/checkboxes-options.js @@ -1,35 +1,26 @@ import React, { useEffect } from 'react'; +import { useSelect } from '@wordpress/data'; import { useState } from '@wordpress/element'; -import { useSelect, select } from '@wordpress/data'; import { __, _n } from '@wordpress/i18n'; -import { TextControl, PanelBody } from '@wordpress/components'; +import { checkAttr, getAttrKey, props } from '@eightshift/frontend-libs-tailwind/scripts'; +import { AnimatedVisibility, Select, ContainerPanel, InputField, Toggle, Spacer } from '@eightshift/ui-components'; import { - checkAttr, - getAttrKey, - props, - icons, - Section, - IconToggle, - AnimatedContentVisibility, - STORE_NAME, - Select, - } from '@eightshift/frontend-libs/scripts'; -import { FieldOptions, FieldOptionsMore, FieldOptionsLayout, FieldOptionsVisibility } from '../../field/components/field-options'; + FieldOptions, + FieldOptionsMore, + FieldOptionsLayout, + FieldOptionsVisibility, +} from '../../field/components/field-options'; +import { icons } from '@eightshift/ui-components/icons'; import { isOptionDisabled, NameField } from './../../utils'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import manifest from '../manifest.json'; +import globalManifest from '../../../manifest.json'; +import { NumberPicker } from '@eightshift/ui-components'; export const CheckboxesOptions = (attributes) => { - const globalManifest = select(STORE_NAME).getSettings(); - const manifest = select(STORE_NAME).getComponent('checkboxes'); + const { options } = manifest; - const { - options, - } = manifest; - - const { - setAttributes, - clientId, - } = attributes; + const { setAttributes, clientId } = attributes; const [isNameChanged, setIsNameChanged] = useState(false); @@ -56,18 +47,22 @@ export const CheckboxesOptions = (attributes) => { }, [countInnerBlocksCheck]); return ( - -
- -
+ + + + { @@ -81,43 +76,43 @@ export const ConditionalTagsFormsOptions = (attributes) => { })} onChange={(value) => { conditionalTagsRulesForms[index][2] = value; - setAttributes({ [getAttrKey('conditionalTagsRulesForms', attributes, manifest)]: [...conditionalTagsRulesForms] }); + setAttributes({ + [getAttrKey('conditionalTagsRulesForms', attributes, manifest)]: [...conditionalTagsRulesForms], + }); }} - noBottomSpacing simpleValue noSearch - additionalSelectClasses='es-w-40' /> - } + )} - { conditionalTagsRulesForms[index][1] = value; - setAttributes({ [getAttrKey('conditionalTagsAction', attributes, manifest)]: [...conditionalTagsRulesForms] }); + setAttributes({ + [getAttrKey('conditionalTagsAction', attributes, manifest)]: [...conditionalTagsRulesForms], + }); }} - additionalContainerClass='es-w-40' - additionalButtonClass='es-h-7.5' - noBottomSpacing /> - - - - {conditionalTagsUse && isModalOpen && - } - onRequestClose={() => setIsModalOpen(false)} - > - - - {conditionalTagsRulesForms.length > 0 && -
- {__('Field', 'eightshift-forms')} - {__('Visibility', 'eightshift-forms')} -
+ subtitle={ + conditionalTagsRulesForms?.length > 0 && + sprintf(__('%d added', 'eightshift-forms'), conditionalTagsRulesForms.length) } + /> + -
- {conditionalTagsRulesForms?.map((_, index) => { - return ( -
- -
- ); - })} -
- + + } + triggerLabel={ + conditionalTagsRulesForms?.length > 0 + ? __('Edit rules', 'eightshift-forms') + : __('Add rule', 'eightshift-forms') + } + actions={ + } + > + -
- - - + {conditionalTagsRulesForms.length > 0 && ( +
+ {__('Field', 'eightshift-forms')} + {__('Visibility', 'eightshift-forms')}
- - } - + )} + +
+ {conditionalTagsRulesForms?.map((_, index) => { + return ( +
+ +
+ ); + })} +
+ + + + + + ); }; diff --git a/src/Blocks/components/conditional-tags/components/conditional-tags-options.js b/src/Blocks/components/conditional-tags/components/conditional-tags-options.js index c9618def0..a73cc00e6 100644 --- a/src/Blocks/components/conditional-tags/components/conditional-tags-options.js +++ b/src/Blocks/components/conditional-tags/components/conditional-tags-options.js @@ -1,20 +1,21 @@ import React, { useState, useEffect } from 'react'; import { __, sprintf } from '@wordpress/i18n'; -import { select } from "@wordpress/data"; +import { select } from '@wordpress/data'; import apiFetch from '@wordpress/api-fetch'; -import { TextControl, Button, Modal } from '@wordpress/components'; +import { getAttrKey, checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { - icons, - getAttrKey, - checkAttr, - IconToggle, - IconLabel, Select, - Control, - Section, - STORE_NAME, - Notification, -} from '@eightshift/frontend-libs/scripts'; + RichLabel, + Notice, + Button, + InputField, + Toggle, + ContainerGroup, + Spacer, + Modal, + HStack, +} from '@eightshift/ui-components'; +import { icons } from '@eightshift/ui-components/icons'; import { getConstantsOptions } from '../../utils'; import { CONDITIONAL_TAGS_ACTIONS_LABELS, @@ -23,18 +24,14 @@ import { } from './conditional-tags-labels'; import { getRestUrl } from '../../form/assets/state-init'; import globalManifest from '../../../manifest.json'; +import manifest from '../manifest.json'; +import { truncateMiddle } from '@eightshift/ui-components/utilities'; export const ConditionalTagsOptions = (attributes) => { - const manifest = select(STORE_NAME).getComponent('conditional-tags'); - - const { - setAttributes, - useCustom, - } = attributes; + const { setAttributes } = attributes; const postId = select('core/editor').getCurrentPostId(); - const [isModalOpen, setIsModalOpen] = useState(false); const [formFields, setFormFields] = useState([]); useEffect(() => { @@ -45,13 +42,13 @@ export const ConditionalTagsOptions = (attributes) => { }); }, [postId]); - const conditionalTagsUse = !useCustom ? checkAttr('conditionalTagsUse', attributes, manifest) : attributes?.conditionalTagsUse; - const conditionalTagsRules = !useCustom ? checkAttr('conditionalTagsRules', attributes, manifest) : attributes?.conditionalTagsRules; - const conditionalTagsBlockName = !useCustom ? checkAttr('conditionalTagsBlockName', attributes, manifest) : attributes?.conditionalTagsBlockName; - const conditionalTagsIsHidden = !useCustom ? checkAttr('conditionalTagsIsHidden', attributes, manifest) : attributes?.conditionalTagsIsHidden; + const conditionalTagsUse = checkAttr('conditionalTagsUse', attributes, manifest); + const conditionalTagsRules = checkAttr('conditionalTagsRules', attributes, manifest); + const conditionalTagsBlockName = checkAttr('conditionalTagsBlockName', attributes, manifest); + const conditionalTagsIsHidden = checkAttr('conditionalTagsIsHidden', attributes, manifest); - const conditionalTagsUseKey = !useCustom ? getAttrKey('conditionalTagsUse', attributes, manifest) : 'conditionalTagsUse'; - const conditionalTagsRulesKey = !useCustom ? getAttrKey('conditionalTagsRules', attributes, manifest) : 'conditionalTagsRules'; + const conditionalTagsUseKey = getAttrKey('conditionalTagsUse', attributes, manifest); + const conditionalTagsRulesKey = getAttrKey('conditionalTagsRules', attributes, manifest); const ConditionalTagsType = () => { if (!formFields) { @@ -61,7 +58,10 @@ export const ConditionalTagsOptions = (attributes) => { return ( <>
- {sprintf(__('This field will be %s by default, but you can provide exception to this rule.', 'eightshift-forms'), CONDITIONAL_TAGS_ACTIONS_LABELS[conditionalTagsRules[0]])} + {sprintf( + __('This field will be %s by default, but you can provide exception to this rule.', 'eightshift-forms'), + CONDITIONAL_TAGS_ACTIONS_LABELS[conditionalTagsRules[0]], + )}
{ - // Remove current field from selection. - if (item.value !== conditionalTagsBlockName) { - return item; - } + options={formFields + .filter((item) => { + // Remove current field from selection. + if (item.value !== conditionalTagsBlockName) { + return item; + } - return null; - })} + return null; + }) + .map((item) => { + return { ...item, label: truncateMiddle(item?.label, 20) }; + })} onChange={(value) => { conditionalTagsRules[1][parent][index][0] = value; conditionalTagsRules[1][parent][index][2] = ''; setAttributes({ [conditionalTagsRulesKey]: [...conditionalTagsRules] }); }} - noBottomSpacing simpleValue noSearch - additionalSelectClasses='es-w-40' /> { conditionalTagsRules[1][parent][index][2] = value; setAttributes({ [conditionalTagsRulesKey]: [...conditionalTagsRules] }); }} - noBottomSpacing simpleValue noSearch - additionalSelectClasses='es-w-40' /> - } + )} - {(total === index + 1) && + {total === index + 1 && ( - } + )}
+ ); }; const rulesCount = conditionalTagsRules?.[1]?.length && conditionalTagsRules?.[1]?.flat()?.length; return ( -
+ <> + <> - {formFields?.length < 1 ? - : - <> - { - setAttributes({ [conditionalTagsUseKey]: value }); - setAttributes({ [conditionalTagsRulesKey]: !value ? undefined : [globalManifest.comparatorActions.HIDE, []]}); - }} - noBottomSpacing={!conditionalTagsUse} - additionalClasses='es-font-weight-500' + {formFields?.length < 1 ? ( + - -
- {conditionalTagsIsHidden && - + { + setAttributes({ [conditionalTagsUseKey]: value }); + setAttributes({ + [conditionalTagsRulesKey]: !value ? undefined : [globalManifest.comparatorActions.HIDE, []], + }); + }} + /> + +
- - } + + + )} -
+ ); }; diff --git a/src/Blocks/components/country/components/country-editor.js b/src/Blocks/components/country/components/country-editor.js index 1d119541d..3c6bfd2a4 100644 --- a/src/Blocks/components/country/components/country-editor.js +++ b/src/Blocks/components/country/components/country-editor.js @@ -1,28 +1,12 @@ import React from 'react'; import { __ } from '@wordpress/i18n'; -import { select } from '@wordpress/data'; -import { - props, - checkAttr, - STORE_NAME, - getAttrKey, -} from '@eightshift/frontend-libs/scripts'; +import { props, checkAttr, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts'; import { FieldEditor } from '../../field/components/field-editor'; -import { MissingName, preventSaveOnMissingProps } from '../../utils'; -import { ConditionalTagsEditor } from '../../conditional-tags/components/conditional-tags-editor'; +import { preventSaveOnMissingProps, StatusIconMissingName, StatusIconConditionals } from '../../utils'; +import manifest from '../manifest.json'; export const CountryEditor = (attributes) => { - const manifest = select(STORE_NAME).getComponent('country'); - - const { - componentClass, - componentName - } = manifest; - - const { - additionalFieldClass, - blockClientId, - } = attributes; + const { blockClientId, prefix } = attributes; const countryName = checkAttr('countryName', attributes, manifest); @@ -30,17 +14,11 @@ export const CountryEditor = (attributes) => { const country = ( <> -
- {__('This data will be provided by an external source select in the sidebar!', 'eightshift-forms')} -
- - - - {countryName && - - } + ); @@ -51,8 +29,10 @@ export const CountryEditor = (attributes) => { fieldContent: country, fieldIsRequired: checkAttr('countryIsRequired', attributes, manifest), })} - additionalFieldClass={additionalFieldClass} - selectorClass={componentName} + statusSlog={[ + !countryName && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} /> ); diff --git a/src/Blocks/components/country/components/country-options.js b/src/Blocks/components/country/components/country-options.js index 4e3fef31e..d7004e611 100644 --- a/src/Blocks/components/country/components/country-options.js +++ b/src/Blocks/components/country/components/country-options.js @@ -1,16 +1,31 @@ import React from 'react'; import { __ } from '@wordpress/i18n'; -import { select } from '@wordpress/data'; import { useState } from '@wordpress/element'; -import { TextControl, PanelBody, Button } from '@wordpress/components'; -import { icons, checkAttr, getAttrKey, IconLabel, props, Section, IconToggle, STORE_NAME, Select, Control, NumberPicker } from '@eightshift/frontend-libs/scripts'; -import { FieldOptions, FieldOptionsMore, FieldOptionsLayout, FieldOptionsVisibility } from '../../field/components/field-options'; +import { checkAttr, getAttrKey, props } from '@eightshift/frontend-libs-tailwind/scripts'; +import { + BaseControl, + Select, + NumberPicker, + ContainerPanel, + InputField, + Toggle, + Spacer, + ContainerGroup, + Button, + HStack, +} from '@eightshift/ui-components'; +import { icons } from '@eightshift/ui-components/icons'; +import { + FieldOptions, + FieldOptionsMore, + FieldOptionsLayout, + FieldOptionsVisibility, +} from '../../field/components/field-options'; import { isOptionDisabled, NameField } from '../../utils'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import manifest from '../manifest.json'; export const CountryOptions = (attributes) => { - const manifest = select(STORE_NAME).getComponent('country'); - const { options } = manifest; const { setAttributes } = attributes; @@ -32,21 +47,21 @@ export const CountryOptions = (attributes) => { const countryValue = checkAttr('countryValue', attributes, manifest); return ( - -
+ - -
+ text={__('General', 'eightshift-forms')} + /> + { })} /> -
- {!countryUseLabelAsPlaceholder && ( - setAttributes({ [getAttrKey('countryPlaceholder', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('countryPlaceholder', attributes, manifest), countryDisabledOptions)} - className='es-no-field-spacing' - /> - )} - + { setAttributes({ [getAttrKey('countryUseLabelAsPlaceholder', attributes, manifest)]: value }); }} /> -
+ {!countryUseLabelAsPlaceholder && ( + setAttributes({ [getAttrKey('countryPlaceholder', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('countryPlaceholder', attributes, manifest), countryDisabledOptions)} + /> + )} + { })} /> -
- setAttributes({ [getAttrKey('countryIsRequired', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('countryIsRequired', attributes, manifest), countryDisabledOptions)} - noBottomSpacing - /> + - {countryIsMultiple && ( - -
-
- setAttributes({ [getAttrKey('countryMinCount', attributes, manifest)]: value })} - min={options.countryMinCount.min} - step={options.countryMinCount.step} - disabled={isOptionDisabled(getAttrKey('countryMinCount', attributes, manifest), countryDisabledOptions)} - placeholder='–' - fixedWidth={4} - noBottomSpacing - /> + setAttributes({ [getAttrKey('countryValue', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('countryValue', attributes, manifest), countryDisabledOptions)} + help={__( + 'Initial value of the field in country code format (e.g. "hr"). If you want to select multiple countries, separate them with a comma. If geolocation is enabled it will be preselected based on the user\'s location.', + 'eightshift-forms', + )} + /> - {countryMinCount > 0 && !isOptionDisabled(getAttrKey('countryMinCount', attributes, manifest), countryDisabledOptions) && ( -
+ -
- setAttributes({ [getAttrKey('countryMaxCount', attributes, manifest)]: value })} - min={options.countryMaxCount.min} - step={options.countryMaxCount.step} - disabled={isOptionDisabled(getAttrKey('countryMaxCount', attributes, manifest), countryDisabledOptions)} - placeholder='–' - fixedWidth={4} - noBottomSpacing - /> + setAttributes({ [getAttrKey('countryIsDisabled', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('countryIsDisabled', attributes, manifest), countryDisabledOptions)} + /> - {countryMaxCount > 0 && !isOptionDisabled(getAttrKey('countryMaxCount', attributes, manifest), countryDisabledOptions) && ( -
-
-
- )} -
+ setAttributes({ [getAttrKey('countryUseSearch', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('countryUseSearch', attributes, manifest), countryDisabledOptions)} + /> -
- - } - value={countryValue} - onChange={(value) => setAttributes({ [getAttrKey('countryValue', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('countryValue', attributes, manifest), countryDisabledOptions)} - help={__('Initial value of the field in country code format (e.g. "hr"). If you want to select multiple countries, separate them with a comma. If geolocation is enabled it will be preselected based on the user\'s location.', 'eightshift-forms')} - /> + { + setAttributes({ [getAttrKey('countryIsMultiple', attributes, manifest)]: value }); + }} + disabled={isOptionDisabled(getAttrKey('countryIsMultiple', attributes, manifest), countryDisabledOptions)} + /> - setAttributes({ [getAttrKey('countryValueType', attributes, manifest)]: value })} + label={__('Output value type', 'eightshift-forms')} + help={__('Determine which value to send on form submission.', 'eightshift-forms')} + options={[ + { + value: 'countryCode', + label: __('Country code (lowercase)', 'eightshift-forms'), + }, + { + value: 'countryCodeUppercase', + label: __('Country code (uppercase)', 'eightshift-forms'), + }, + { + value: 'countryName', + label: __('Localized country name (site locale)', 'eightshift-forms'), + }, + { + value: 'countryUnlocalizedName', + label: __('Country name in English', 'eightshift-forms'), + }, + ]} + simpleValue + /> - + - setAttributes({ [getAttrKey('countryIsDisabled', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('countryIsDisabled', attributes, manifest), countryDisabledOptions)} - /> + setAttributes({ [getAttrKey('countryIsRequired', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('countryIsRequired', attributes, manifest), countryDisabledOptions)} + /> - setAttributes({ [getAttrKey('countryUseSearch', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('countryUseSearch', attributes, manifest), countryDisabledOptions)} - /> + {countryIsMultiple && ( + + + setAttributes({ [getAttrKey('countryMinCount', attributes, manifest)]: value })} + min={options.countryMinCount.min} + step={options.countryMinCount.step} + disabled={isOptionDisabled(getAttrKey('countryMinCount', attributes, manifest), countryDisabledOptions)} + placeholder='–' + fixedWidth={4} + prefix={__('Min', 'eightshift-forms')} + > + + - { - setAttributes({ [getAttrKey('countryIsMultiple', attributes, manifest)]: value }); - }} - disabled={isOptionDisabled(getAttrKey('countryIsMultiple', attributes, manifest), countryDisabledOptions)} - /> -
+ setAttributes({ [getAttrKey('countryMaxCount', attributes, manifest)]: value })} + min={options.countryMaxCount.min} + step={options.countryMaxCount.step} + disabled={isOptionDisabled(getAttrKey('countryMaxCount', attributes, manifest), countryDisabledOptions)} + placeholder='–' + fixedWidth={4} + prefix={__('Max', 'eightshift-forms')} + > + + + + + )} -
- - } - value={countryTracking} - onChange={(value) => setAttributes({ [getAttrKey('countryTracking', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('countryTracking', attributes, manifest), countryDisabledOptions)} - className='es-no-field-spacing' - /> -
+ text={__('Tracking', 'eightshift-forms')} + /> + + setAttributes({ [getAttrKey('countryTracking', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('countryTracking', attributes, manifest), countryDisabledOptions)} + /> { conditionalTagsIsHidden: checkAttr('countryFieldHidden', attributes, manifest), })} /> -
+
); }; diff --git a/src/Blocks/components/country/country.php b/src/Blocks/components/country/country.php index 4e3f01e79..6bdd5c8fe 100644 --- a/src/Blocks/components/country/country.php +++ b/src/Blocks/components/country/country.php @@ -46,7 +46,7 @@ $countryHideLabel = false; $countryFieldLabel = $attributes[Helpers::getAttrKey('countryFieldLabel', $attributes, $manifest)] ?? ''; -$countryClass = Helpers::classnames([ +$countryClass = Helpers::clsx([ Helpers::selector($manifestSelect['componentClass'], $manifestSelect['componentClass'], 'select'), Helpers::selector($componentClass, $componentClass, 'select'), Helpers::selector($additionalClass, $additionalClass), diff --git a/src/Blocks/components/date/components/date-editor.js b/src/Blocks/components/date/components/date-editor.js index 4b902ad7f..b502bdb2f 100644 --- a/src/Blocks/components/date/components/date-editor.js +++ b/src/Blocks/components/date/components/date-editor.js @@ -1,25 +1,11 @@ import React from 'react'; -import classnames from 'classnames'; -import { select } from '@wordpress/data'; -import { - selector, - checkAttr, - props, - STORE_NAME, - getAttrKey, -} from '@eightshift/frontend-libs/scripts'; +import { checkAttr, props, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts'; import { FieldEditor } from '../../field/components/field-editor'; -import { MissingName, preventSaveOnMissingProps } from './../../utils'; -import { ConditionalTagsEditor } from '../../conditional-tags/components/conditional-tags-editor'; +import { preventSaveOnMissingProps, StatusIconConditionals, StatusIconMissingName } from './../../utils'; +import manifest from '../manifest.json'; export const DateEditor = (attributes) => { - const manifest = select(STORE_NAME).getComponent('date'); - - const { - additionalFieldClass, - additionalClass, - blockClientId, - } = attributes; + const { blockClientId, prefix } = attributes; const dateValue = checkAttr('dateValue', attributes, manifest); const datePlaceholder = checkAttr('datePlaceholder', attributes, manifest); @@ -28,28 +14,15 @@ export const DateEditor = (attributes) => { preventSaveOnMissingProps(blockClientId, getAttrKey('dateName', attributes, manifest), dateName); - const dateClass = classnames([ - selector(manifest.componentClass, manifest.componentClass), - selector(additionalClass, additionalClass), - ]); - const date = ( <> - - - - {dateName && - - } ); @@ -60,8 +33,10 @@ export const DateEditor = (attributes) => { fieldContent: date, fieldIsRequired: checkAttr('dateIsRequired', attributes, manifest), })} - additionalFieldClass={additionalFieldClass} - selectorClass={manifest.componentName} + statusSlog={[ + !dateName && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} /> ); diff --git a/src/Blocks/components/date/components/date-options.js b/src/Blocks/components/date/components/date-options.js index ff8fa266c..715f83b98 100644 --- a/src/Blocks/components/date/components/date-options.js +++ b/src/Blocks/components/date/components/date-options.js @@ -1,34 +1,23 @@ /* global esFormsLocalization */ import React from 'react'; -import { isArray } from 'lodash'; -import { select } from '@wordpress/data'; import { useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; -import { TextControl, PanelBody, Button } from '@wordpress/components'; +import { checkAttr, getAttrKey, props, getOption } from '@eightshift/frontend-libs-tailwind/scripts'; import { - icons, - checkAttr, - getAttrKey, - IconLabel, - props, - Section, - Select, - IconToggle, - getOption, - STORE_NAME, -} from '@eightshift/frontend-libs/scripts'; -import { FieldOptions, FieldOptionsMore, FieldOptionsLayout, FieldOptionsVisibility } from '../../field/components/field-options'; + FieldOptions, + FieldOptionsMore, + FieldOptionsLayout, + FieldOptionsVisibility, +} from '../../field/components/field-options'; +import { Select, Button, ContainerPanel, InputField, Toggle, ContainerGroup, Spacer } from '@eightshift/ui-components'; +import { icons } from '@eightshift/ui-components/icons'; import { isOptionDisabled, NameField } from '../../utils'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import manifest from '../manifest.json'; export const DateOptions = (attributes) => { - const manifest = select(STORE_NAME).getComponent('date'); - - const { - setAttributes, - title = __('Date', 'eightshift-forms'), - } = attributes; + const { setAttributes } = attributes; const [isNameChanged, setIsNameChanged] = useState(false); @@ -49,36 +38,38 @@ export const DateOptions = (attributes) => { let dateValidationPatternOptions = []; - if (typeof esFormsLocalization !== 'undefined' && isArray(esFormsLocalization?.validationPatternsOptions)) { + if (typeof esFormsLocalization !== 'undefined') { dateValidationPatternOptions = esFormsLocalization.validationPatternsOptions; } return ( - -
- + + - setAttributes({ [getAttrKey('dateType', attributes, manifest)]: value })} + simpleValue + noSearch + /> { })} /> -
- {!dateUseLabelAsPlaceholder && - setAttributes({ [getAttrKey('datePlaceholder', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('datePlaceholder', attributes, manifest), dateDisabledOptions)} - className='es-no-field-spacing' - /> - } - + { setAttributes({ [getAttrKey('dateUseLabelAsPlaceholder', attributes, manifest)]: value }); }} /> -
+ {!dateUseLabelAsPlaceholder && ( + setAttributes({ [getAttrKey('datePlaceholder', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('datePlaceholder', attributes, manifest), dateDisabledOptions)} + /> + )} + { })} /> -
- setAttributes({ [getAttrKey('dateIsRequired', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('dateIsRequired', attributes, manifest), dateDisabledOptions)} - /> + - setAttributes({ [getAttrKey('dateMode', attributes, manifest)]: value })} - simpleValue - noSearch - inlineLabel - /> + - + setAttributes({ [getAttrKey('dateIsRequired', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('dateIsRequired', attributes, manifest), dateDisabledOptions)} + /> - setAttributes({ [getAttrKey('dateIsReadOnly', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('dateIsReadOnly', attributes, manifest), dateDisabledOptions)} - /> + - - - - {inputName && - - } ); @@ -74,8 +57,10 @@ export const InputEditor = (attributes) => { fieldContent: input, fieldIsRequired: checkAttr('inputIsRequired', attributes, manifest), })} - additionalFieldClass={additionalFieldClass} - selectorClass={componentName} + statusSlog={[ + !inputName && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} /> ); diff --git a/src/Blocks/components/input/components/input-options.js b/src/Blocks/components/input/components/input-options.js index 346aae437..a4425d23b 100644 --- a/src/Blocks/components/input/components/input-options.js +++ b/src/Blocks/components/input/components/input-options.js @@ -2,58 +2,33 @@ import React from 'react'; import { useState } from '@wordpress/element'; -import { select } from '@wordpress/data'; -import { isArray } from 'lodash'; import { __ } from '@wordpress/i18n'; -import { TextControl, PanelBody, Button } from '@wordpress/components'; +import { getOption, checkAttr, getAttrKey, props } from '@eightshift/frontend-libs-tailwind/scripts'; import { - icons, - getOption, - checkAttr, - getAttrKey, - IconLabel, - props, Select, - Section, NumberPicker, - IconToggle, - UseToggle, - Control, - STORE_NAME, -} from '@eightshift/frontend-libs/scripts'; -import { FieldOptions, FieldOptionsMore, FieldOptionsLayout, FieldOptionsVisibility } from '../../field/components/field-options'; + ContainerPanel, + InputField, + Toggle, + HStack, + Spacer, + Button, +} from '@eightshift/ui-components'; +import { icons } from '@eightshift/ui-components/icons'; +import { + FieldOptions, + FieldOptionsMore, + FieldOptionsLayout, + FieldOptionsVisibility, +} from '../../field/components/field-options'; import { isOptionDisabled, NameField } from './../../utils'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import manifest from '../manifest.json'; export const InputOptions = (attributes) => { - const manifest = select(STORE_NAME).getComponent('input'); - - const { - options, - } = manifest; - - const { - setAttributes, - - showInputName = true, - showInputValue = true, - showInputAdvancedOptions = true, - showInputPlaceholder = true, - showInputType = true, - showInputValidationOptions = true, - showInputIsDisabled = true, - showInputIsReadOnly = true, - showInputIsRequired = true, - showInputTracking = true, - showInputValidationPattern = true, - showInputMinLength = true, - showInputMaxLength = true, - showInputMin = true, - showInputMax = true, - showInputStep = true, - - title = __('Input', 'eightshift-forms'), - } = attributes; + const { options } = manifest; + + const { setAttributes } = attributes; const [isNameChanged, setIsNameChanged] = useState(false); @@ -88,72 +63,70 @@ export const InputOptions = (attributes) => { let inputValidationPatternOptions = []; - if (typeof esFormsLocalization !== 'undefined' && isArray(esFormsLocalization?.validationPatternsOptions)) { + if (typeof esFormsLocalization !== 'undefined') { inputValidationPatternOptions = esFormsLocalization.validationPatternsOptions; } // Output number to 2 decimal places if it's a float, otherwise output to fixed number. - const formatNumber = (number) => Number((Number.isInteger(number) ? number.toString() : number.toFixed(2))); + const formatNumber = (number) => Number(Number.isInteger(number) ? number.toString() : number.toFixed(2)); return ( - -
- - - {showInputType && - { + setAttributes({ [getAttrKey('inputType', attributes, manifest)]: value }); + + setAttributes({ [getAttrKey('inputIsEmail', attributes, manifest)]: false }); + setAttributes({ [getAttrKey('inputIsNumber', attributes, manifest)]: false }); + setAttributes({ [getAttrKey('inputIsUrl', attributes, manifest)]: false }); + + if (value === 'email') { + setAttributes({ [getAttrKey('inputIsEmail', attributes, manifest)]: true }); + } + + if (value === 'number' || value === 'range') { + setAttributes({ [getAttrKey('inputIsNumber', attributes, manifest)]: true }); + } + + if (value === 'url') { + setAttributes({ [getAttrKey('inputIsUrl', attributes, manifest)]: true }); + } + + setAttributes({ [getAttrKey('inputRangeUseCustomField', attributes, manifest)]: undefined }); + }} + simpleValue + noSearch + /> - setAttributes({ [getAttrKey('inputRangeUseCustomField', attributes, manifest)]: undefined }); - }} - additionalSelectClasses='es-w-32' - simpleValue - inlineLabel - noSearch - closeMenuAfterSelect - /> - } - - {inputType === 'range' && ( - setAttributes({ [getAttrKey('inputRangeUseCustomField', attributes, manifest)]: value })} - /> - )} -
+ {inputType === 'range' && ( + setAttributes({ [getAttrKey('inputRangeUseCustomField', attributes, manifest)]: value })} + /> + )} { })} /> -
- {!inputUseLabelAsPlaceholder && - setAttributes({ [getAttrKey('inputPlaceholder', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputPlaceholder', attributes, manifest), inputDisabledOptions)} - className='es-no-field-spacing' - /> - } - + { setAttributes({ [getAttrKey('inputUseLabelAsPlaceholder', attributes, manifest)]: value }); }} /> -
+ {!inputUseLabelAsPlaceholder && ( + setAttributes({ [getAttrKey('inputPlaceholder', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('inputPlaceholder', attributes, manifest), inputDisabledOptions)} + /> + )} + { })} /> -
- {showInputValue && - } - value={inputValue} - onChange={(value) => setAttributes({ [getAttrKey('inputValue', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputValue', attributes, manifest), inputDisabledOptions)} - /> - } - - + + setAttributes({ [getAttrKey('inputValue', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('inputValue', attributes, manifest), inputDisabledOptions)} + /> - {showInputIsReadOnly && - setAttributes({ [getAttrKey('inputIsReadOnly', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputIsReadOnly', attributes, manifest), inputDisabledOptions)} - /> - } - - {showInputIsDisabled && - setAttributes({ [getAttrKey('inputIsDisabled', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputIsDisabled', attributes, manifest), inputDisabledOptions)} - noBottomSpacing - /> - } -
- -
- {showInputIsRequired && - setAttributes({ [getAttrKey('inputIsRequired', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputIsRequired', attributes, manifest), inputDisabledOptions)} - /> - } + - {(!['number', 'range'].includes(inputType) && (showInputMinLength || showInputMaxLength)) && - -
- {showInputMinLength && -
- setAttributes({ [getAttrKey('inputMinLength', attributes, manifest)]: value })} - min={options.inputMinLength.min} - max={options.inputMinLength.max} - step={options.inputMinLength.step} - disabled={isOptionDisabled(getAttrKey('inputMinLength', attributes, manifest), inputDisabledOptions)} - placeholder='–' - fixedWidth={5} - noBottomSpacing - /> + setAttributes({ [getAttrKey('inputIsReadOnly', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('inputIsReadOnly', attributes, manifest), inputDisabledOptions)} + /> - {inputMinLength > 0 && !isOptionDisabled(getAttrKey('inputMinLength', attributes, manifest), inputDisabledOptions) && -
- } + setAttributes({ [getAttrKey('inputIsDisabled', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('inputIsDisabled', attributes, manifest), inputDisabledOptions)} + /> - {showInputMaxLength && -
- setAttributes({ [getAttrKey('inputMaxLength', attributes, manifest)]: value })} - min={options.inputMaxLength.min} - max={options.inputMaxLength.max} - step={options.inputMaxLength.step} - disabled={isOptionDisabled(getAttrKey('inputMaxLength', attributes, manifest), inputDisabledOptions)} - placeholder='–' - fixedWidth={5} - noBottomSpacing - /> + + setAttributes({ [getAttrKey('inputIsRequired', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('inputIsRequired', attributes, manifest), inputDisabledOptions)} + /> - {inputMaxLength > 0 && !isOptionDisabled(getAttrKey('inputMaxLength', attributes, manifest), inputDisabledOptions) && -
- } -
-
- } - - {((inputType === 'number' || inputType === 'range') && (showInputMin || showInputMax)) && - setAttributes({ [getAttrKey('inputValidationPattern', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('inputValidationPattern', attributes, manifest), inputDisabledOptions)} + placeholder='–' + clearable + /> + )} + + {!['number', 'range'].includes(inputType) && ( + + setAttributes({ [getAttrKey('inputMinLength', attributes, manifest)]: value })} + min={options.inputMinLength.min} + max={options.inputMinLength.max} + step={options.inputMinLength.step} + disabled={isOptionDisabled(getAttrKey('inputMinLength', attributes, manifest), inputDisabledOptions)} + placeholder='–' + prefix={__('Min length', 'eightshift-forms')} + > + + + + setAttributes({ [getAttrKey('inputMaxLength', attributes, manifest)]: value })} + min={options.inputMaxLength.min} + max={options.inputMaxLength.max} + step={options.inputMaxLength.step} + disabled={isOptionDisabled(getAttrKey('inputMaxLength', attributes, manifest), inputDisabledOptions)} + placeholder='–' + prefix={__('Max length', 'eightshift-forms')} > - {inputType === 'range' && - <> - { - setAttributes({ [getAttrKey('inputRangeShowMin', attributes, manifest)]: value }); - - if (!value) { - setAttributes({ [getAttrKey('inputRangeShowMinPrefix', attributes, manifest)]: undefined }); - setAttributes({ [getAttrKey('inputRangeShowMinSuffix', attributes, manifest)]: undefined }); + + + + )} + + {(inputType === 'number' || inputType === 'range') && ( + <> + + + setAttributes({ [getAttrKey('inputMin', attributes, manifest)]: formatNumber(value) }) + } + min={options.inputMin.min} + max={options.inputMin.max} + step={options.inputMin.step} + disabled={isOptionDisabled(getAttrKey('inputMin', attributes, manifest), inputDisabledOptions)} + placeholder='–' + prefix={__('Min', 'eightshift-forms')} + > + + + + + setAttributes({ [getAttrKey('inputMax', attributes, manifest)]: formatNumber(value) }) + } + min={options.inputMax.min} + max={options.inputMax.max} + step={options.inputMax.step} + disabled={isOptionDisabled(getAttrKey('inputMax', attributes, manifest), inputDisabledOptions)} + placeholder='–' + prefix={__('Max', 'eightshift-forms')} + > + + + setAttributes({ [getAttrKey('inputStep', attributes, manifest)]: value })} + min={options.inputStep.min} + max={options.inputStep.max} + step={options.inputStep.step} + disabled={isOptionDisabled(getAttrKey('inputStep', attributes, manifest), inputDisabledOptions)} + prefix={__('Step', 'eightshift-forms')} + > + + + + + {inputType === 'range' && ( + <> + { + setAttributes({ [getAttrKey('inputRangeShowMin', attributes, manifest)]: value }); + + if (!value) { + setAttributes({ [getAttrKey('inputRangeShowMinPrefix', attributes, manifest)]: undefined }); + setAttributes({ [getAttrKey('inputRangeShowMinSuffix', attributes, manifest)]: undefined }); + } + }} + disabled={isOptionDisabled(getAttrKey('inputRangeShowMin', attributes, manifest), inputDisabledOptions)} + > + + + setAttributes({ [getAttrKey('inputRangeShowMinPrefix', attributes, manifest)]: value }) } - }} - disabled={isOptionDisabled(getAttrKey('inputRangeShowMin', attributes, manifest), inputDisabledOptions)} - noBottomSpacing - > -
- } - value={inputRangeShowMinPrefix} - onChange={(value) => setAttributes({ [getAttrKey('inputRangeShowMinPrefix', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputRangeShowMinPrefix', attributes, manifest), inputDisabledOptions)} - className='es-no-field-spacing' - /> - } - value={inputRangeShowMinSuffix} - onChange={(value) => setAttributes({ [getAttrKey('inputRangeShowMinSuffix', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputRangeShowMinSuffix', attributes, manifest), inputDisabledOptions)} - className='es-no-field-spacing' - /> -
- - { - setAttributes({ [getAttrKey('inputRangeShowCurrent', attributes, manifest)]: value }); - - if (!value) { - setAttributes({ [getAttrKey('inputRangeShowCurrentPrefix', attributes, manifest)]: undefined }); - setAttributes({ [getAttrKey('inputRangeShowCurrentSuffix', attributes, manifest)]: undefined }); + disabled={isOptionDisabled( + getAttrKey('inputRangeShowMinPrefix', attributes, manifest), + inputDisabledOptions, + )} + /> + + setAttributes({ [getAttrKey('inputRangeShowMinSuffix', attributes, manifest)]: value }) } - }} - disabled={isOptionDisabled(getAttrKey('inputRangeShowCurrent', attributes, manifest), inputDisabledOptions)} - noBottomSpacing - > -
- } - value={inputRangeShowCurrentPrefix} - onChange={(value) => setAttributes({ [getAttrKey('inputRangeShowCurrentPrefix', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputRangeShowCurrentPrefix', attributes, manifest), inputDisabledOptions)} - className='es-no-field-spacing' - /> - } - value={inputRangeShowCurrentSuffix} - onChange={(value) => setAttributes({ [getAttrKey('inputRangeShowCurrentSuffix', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputRangeShowCurrentSuffix', attributes, manifest), inputDisabledOptions)} - className='es-no-field-spacing' - /> -
-
- { - setAttributes({ [getAttrKey('inputRangeShowMax', attributes, manifest)]: value }); - - if (!value) { - setAttributes({ [getAttrKey('inputRangeShowMaxPrefix', attributes, manifest)]: undefined }); - setAttributes({ [getAttrKey('inputRangeShowMaxSuffix', attributes, manifest)]: undefined }); + disabled={isOptionDisabled( + getAttrKey('inputRangeShowMinSuffix', attributes, manifest), + inputDisabledOptions, + )} + /> +
+
+ { + setAttributes({ [getAttrKey('inputRangeShowCurrent', attributes, manifest)]: value }); + + if (!value) { + setAttributes({ [getAttrKey('inputRangeShowCurrentPrefix', attributes, manifest)]: undefined }); + setAttributes({ [getAttrKey('inputRangeShowCurrentSuffix', attributes, manifest)]: undefined }); + } + }} + disabled={isOptionDisabled( + getAttrKey('inputRangeShowCurrent', attributes, manifest), + inputDisabledOptions, + )} + > + + + setAttributes({ [getAttrKey('inputRangeShowCurrentPrefix', attributes, manifest)]: value }) } - }} - disabled={isOptionDisabled(getAttrKey('inputRangeShowMax', attributes, manifest), inputDisabledOptions)} - > -
- } - value={inputRangeShowMaxPrefix} - onChange={(value) => setAttributes({ [getAttrKey('inputRangeShowMaxPrefix', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputRangeShowMaxPrefix', attributes, manifest), inputDisabledOptions)} - className='es-no-field-spacing' - /> - } - value={inputRangeShowMaxSuffix} - onChange={(value) => setAttributes({ [getAttrKey('inputRangeShowMaxSuffix', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('inputRangeShowMaxSuffix', attributes, manifest), inputDisabledOptions)} - className='es-no-field-spacing' - /> -
- - - } - -
- {showInputMin && -
- setAttributes({ [getAttrKey('inputMin', attributes, manifest)]: formatNumber(value) })} - min={options.inputMin.min} - max={options.inputMin.max} - step={options.inputMin.step} - disabled={isOptionDisabled(getAttrKey('inputMin', attributes, manifest), inputDisabledOptions)} - placeholder='–' - fixedWidth={5} - noBottomSpacing + disabled={isOptionDisabled( + getAttrKey('inputRangeShowCurrentPrefix', attributes, manifest), + inputDisabledOptions, + )} /> - - {inputMin > 0 && !isOptionDisabled(getAttrKey('inputMin', attributes, manifest), inputDisabledOptions) && -
- } - - {showInputMax && -
- setAttributes({ [getAttrKey('inputMax', attributes, manifest)]: formatNumber(value) })} - min={options.inputMax.min} - max={options.inputMax.max} - step={options.inputMax.step} - disabled={isOptionDisabled(getAttrKey('inputMax', attributes, manifest), inputDisabledOptions)} - placeholder='–' - fixedWidth={5} - noBottomSpacing + }} + disabled={isOptionDisabled(getAttrKey('inputRangeShowMax', attributes, manifest), inputDisabledOptions)} + > + + + setAttributes({ [getAttrKey('inputRangeShowMaxPrefix', attributes, manifest)]: value }) + } + disabled={isOptionDisabled( + getAttrKey('inputRangeShowMaxPrefix', attributes, manifest), + inputDisabledOptions, + )} + /> + + setAttributes({ [getAttrKey('inputRangeShowMaxSuffix', attributes, manifest)]: value }) + } + disabled={isOptionDisabled( + getAttrKey('inputRangeShowMaxSuffix', attributes, manifest), + inputDisabledOptions, + )} /> + + + + )} + + )} + + - {inputMax > 0 && !isOptionDisabled(getAttrKey('inputMax', attributes, manifest), inputDisabledOptions) && -
- } -
-
- } - - {(inputType === 'number' || inputType === 'range') && showInputStep && - -
- setAttributes({ [getAttrKey('inputStep', attributes, manifest)]: value })} - min={options.inputStep.min} - max={options.inputStep.max} - step={options.inputStep.step} - disabled={isOptionDisabled(getAttrKey('inputStep', attributes, manifest), inputDisabledOptions)} - fixedWidth={5} - noBottomSpacing - /> - - {inputStep > 0 && !isOptionDisabled(getAttrKey('inputStep', attributes, manifest), inputDisabledOptions) && -
-
- } - - {showInputValidationPattern && !inputIsUrl && !inputIsEmail && - { @@ -175,15 +207,16 @@ export const IntegrationsOptions = ({ } } }} - reducedBottomSpacing={innerIdKey && itemId} - closeMenuAfterSelect simpleValue clearable /> - {(innerIdKey && itemId) && + {innerIdKey && itemId && ( +
+ - - - - - +
); return ( @@ -70,8 +39,10 @@ export const PhoneEditor = (attributes) => { fieldContent: phone, fieldIsRequired: checkAttr('phoneIsRequired', attributes, manifest), })} - additionalFieldClass={additionalFieldClass} - selectorClass={componentName} + statusSlog={[ + !phoneName && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} /> ); diff --git a/src/Blocks/components/phone/components/phone-options.js b/src/Blocks/components/phone/components/phone-options.js index 8aa6b9ba2..921c3edad 100644 --- a/src/Blocks/components/phone/components/phone-options.js +++ b/src/Blocks/components/phone/components/phone-options.js @@ -2,19 +2,23 @@ import React from 'react'; import { useState } from '@wordpress/element'; -import { select } from '@wordpress/data'; -import { isArray } from 'lodash'; import { __ } from '@wordpress/i18n'; -import { TextControl, PanelBody } from '@wordpress/components'; -import { icons, checkAttr, getAttrKey, IconLabel, props, IconToggle, Section, Select, STORE_NAME, getOption } from '@eightshift/frontend-libs/scripts'; -import { FieldOptions, FieldOptionsMore, FieldOptionsLayout, FieldOptionsVisibility } from '../../field/components/field-options'; +import { checkAttr, getAttrKey, props } from '@eightshift/frontend-libs-tailwind/scripts'; +import { Select, ContainerPanel, InputField, Toggle, Spacer } from '@eightshift/ui-components'; +import { icons } from '@eightshift/ui-components/icons'; +import { + FieldOptions, + FieldOptionsMore, + FieldOptionsLayout, + FieldOptionsVisibility, +} from '../../field/components/field-options'; import { isOptionDisabled, NameField } from '../../utils'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import manifest from '../manifest.json'; +import { ContainerGroup } from '@eightshift/ui-components'; export const PhoneOptions = (attributes) => { - const manifest = select(STORE_NAME).getComponent('phone'); - - const { setAttributes, title = __('Phone', 'eightshift-forms') } = attributes; + const { setAttributes } = attributes; const [isNameChanged, setIsNameChanged] = useState(false); @@ -36,26 +40,26 @@ export const PhoneOptions = (attributes) => { let phoneValidationPatternOptions = []; - if (typeof esFormsLocalization !== 'undefined' && isArray(esFormsLocalization?.validationPatternsOptions)) { + if (typeof esFormsLocalization !== 'undefined') { phoneValidationPatternOptions = esFormsLocalization.validationPatternsOptions; } return ( - -
+ - -
+ text={__('General', 'eightshift-forms')} + /> + { })} /> -
- {!phoneUseLabelAsPlaceholder && ( - setAttributes({ [getAttrKey('phonePlaceholder', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('phonePlaceholder', attributes, manifest), phoneDisabledOptions)} - className='es-no-field-spacing' - /> - )} - + { setAttributes({ [getAttrKey('phoneUseLabelAsPlaceholder', attributes, manifest)]: value }); }} /> -
+ {!phoneUseLabelAsPlaceholder && ( + setAttributes({ [getAttrKey('phonePlaceholder', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('phonePlaceholder', attributes, manifest), phoneDisabledOptions)} + /> + )} + { })} /> -
- - } - type='number' - min='1' - value={phoneValue} - onChange={(value) => setAttributes({ [getAttrKey('phoneValue', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('phoneValue', attributes, manifest), phoneDisabledOptions)} - help={__('Initial value of the field in phone number format (e.g. "1234567890").', 'eightshift-forms')} - /> + text={__('Advanced', 'eightshift-forms')} + /> - - } - value={phoneSelectValue} - onChange={(value) => setAttributes({ [getAttrKey('phoneSelectValue', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('phoneSelectValue', attributes, manifest), phoneDisabledOptions)} - help={__('Initial value of the field in country code format (e.g. "hr"). Only one value is allowed. Phone dropdown can\'t be empty so if no value is provided, the first option will be selected. If geolocation is enabled it will be preselected based on the user\'s location.', 'eightshift-forms')} - /> + setAttributes({ [getAttrKey('phoneValue', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('phoneValue', attributes, manifest), phoneDisabledOptions)} + help={__('Initial value of the field in phone number format (e.g. "1234567890").', 'eightshift-forms')} + /> - setAttributes({ [getAttrKey('phoneValueType', attributes, manifest)]: value })} - label={__('Output value type', 'eightshift-forms')} - help={__('Determine what value to sent on form submission.', 'eightshift-forms')} - options={[ - { - value: 'countryNumber', - label: __('Country number', 'eightshift-forms') - }, - { - value: 'countryNumberWithPlusPrefix', - label: __('Country number with "+" prefix', 'eightshift-forms') - }, - ]} - simpleValue - /> + - + setAttributes({ [getAttrKey('phoneIsReadOnly', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('phoneIsReadOnly', attributes, manifest), phoneDisabledOptions)} + /> - setAttributes({ [getAttrKey('phoneIsReadOnly', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('phoneIsReadOnly', attributes, manifest), phoneDisabledOptions)} - /> + setAttributes({ [getAttrKey('phoneIsDisabled', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('phoneIsDisabled', attributes, manifest), phoneDisabledOptions)} + /> - setAttributes({ [getAttrKey('phoneIsDisabled', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('phoneIsDisabled', attributes, manifest), phoneDisabledOptions)} - /> + setAttributes({ [getAttrKey('phoneIsNumber', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('phoneIsNumber', attributes, manifest), phoneDisabledOptions)} + /> - setAttributes({ [getAttrKey('phoneIsNumber', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('phoneIsNumber', attributes, manifest), phoneDisabledOptions)} - /> + setAttributes({ [getAttrKey('phoneUseSearch', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('phoneUseSearch', attributes, manifest), phoneDisabledOptions)} + /> - setAttributes({ [getAttrKey('phoneUseSearch', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('phoneUseSearch', attributes, manifest), phoneDisabledOptions)} - noBottomSpacing - /> -
+ setAttributes({ [getAttrKey('phoneValueType', attributes, manifest)]: value })} + label={__('Output value type', 'eightshift-forms')} + help={__('Determine what value to sent on form submission.', 'eightshift-forms')} + options={[ + { + value: 'countryNumber', + label: __('Country number', 'eightshift-forms'), + }, + { + value: 'countryNumberWithPlusPrefix', + label: __('Country number with "+" prefix', 'eightshift-forms'), + }, + ]} + simpleValue + /> -
- setAttributes({ [getAttrKey('phoneIsRequired', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('phoneIsRequired', attributes, manifest), phoneDisabledOptions)} - /> + text={__('Validation', 'eightshift-forms')} + /> - { disabled={isOptionDisabled(getAttrKey('radiosShowAs', attributes, manifest), radiosDisabledOptions)} onChange={(value) => setAttributes({ [getAttrKey('radiosShowAs', attributes, manifest)]: value })} simpleValue - inlineLabel noSearch clearable placeholder={__('Choose an alternative', 'eightshift-forms')} @@ -70,18 +64,17 @@ export const RadiosOptions = (attributes) => { })} /> - {radiosShowAs === 'select' && -
- {!radiosUseLabelAsPlaceholder && - + {!radiosUseLabelAsPlaceholder && ( + setAttributes({ [getAttrKey('radiosPlaceholder', attributes, manifest)]: value })} disabled={isOptionDisabled(getAttrKey('radiosPlaceholder', attributes, manifest), radiosDisabledOptions)} - className='es-no-field-spacing' /> - } - { setAttributes({ [getAttrKey('radiosUseLabelAsPlaceholder', attributes, manifest)]: value }); }} /> -
- } + + )} { })} /> -
- setAttributes({ [getAttrKey('radiosIsRequired', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('radiosIsRequired', attributes, manifest), radiosDisabledOptions)} - noBottomSpacing - /> -
- -
- -
- -
- } - value={radiosTracking} - onChange={(value) => setAttributes({ [getAttrKey('radiosTracking', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('radiosTracking', attributes, manifest), radiosDisabledOptions)} - className='es-no-field-spacing' - /> -
+ + + + + + + setAttributes({ [getAttrKey('radiosIsRequired', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('radiosIsRequired', attributes, manifest), radiosDisabledOptions)} + /> + + + + setAttributes({ [getAttrKey('radiosTracking', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('radiosTracking', attributes, manifest), radiosDisabledOptions)} + /> { conditionalTagsIsHidden: checkAttr('radiosFieldHidden', attributes, manifest), })} /> - + ); }; diff --git a/src/Blocks/components/rating/components/rating-editor.js b/src/Blocks/components/rating/components/rating-editor.js index 0b7054d4e..a959666b5 100644 --- a/src/Blocks/components/rating/components/rating-editor.js +++ b/src/Blocks/components/rating/components/rating-editor.js @@ -1,60 +1,37 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import classnames from 'classnames'; -import { - selector, - checkAttr, - props, - STORE_NAME, - getAttrKey, -} from '@eightshift/frontend-libs/scripts'; +import { checkAttr, props, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts'; import { FieldEditor } from '../../field/components/field-editor'; -import { MissingName, preventSaveOnMissingProps } from '../../utils'; -import { ConditionalTagsEditor } from '../../conditional-tags/components/conditional-tags-editor'; +import { preventSaveOnMissingProps, StatusIconMissingName, StatusIconConditionals } from '../../utils'; import { getUtilsIcons } from '../../form/assets/state-init'; +import manifest from '../manifest.json'; export const RatingEditor = (attributes) => { - const manifest = select(STORE_NAME).getComponent('rating'); - - const { - componentName, - componentClass - } = manifest; - - const { - additionalFieldClass, - blockClientId, - additionalClass, - } = attributes; + const { blockClientId, prefix } = attributes; const ratingName = checkAttr('ratingName', attributes, manifest); const ratingAmount = checkAttr('ratingAmount', attributes, manifest); const ratingValue = checkAttr('ratingValue', attributes, manifest); - const ratingClass = classnames([ - selector(componentClass, componentClass), - selector(additionalClass, additionalClass), - ]); - preventSaveOnMissingProps(blockClientId, getAttrKey('ratingName', attributes, manifest), ratingName); const rating = ( -
- {ratingAmount && +
+ {ratingAmount && ( <> {[...Array(parseInt(ratingAmount, 10))].map((x, i) => { - return
; + return ( +
+ ); })} - } - - - - {ratingName && - - } + )}
); @@ -64,8 +41,10 @@ export const RatingEditor = (attributes) => { fieldContent: rating, fieldIsRequired: checkAttr('ratingIsRequired', attributes, manifest), })} - additionalFieldClass={additionalFieldClass} - selectorClass={componentName} + statusSlog={[ + !ratingName && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} /> ); }; diff --git a/src/Blocks/components/rating/components/rating-options.js b/src/Blocks/components/rating/components/rating-options.js index cdba9b715..877c46613 100644 --- a/src/Blocks/components/rating/components/rating-options.js +++ b/src/Blocks/components/rating/components/rating-options.js @@ -1,29 +1,22 @@ import React from 'react'; import { useState } from '@wordpress/element'; -import { select } from '@wordpress/data'; import { __ } from '@wordpress/i18n'; -import { TextControl, PanelBody } from '@wordpress/components'; +import { checkAttr, getAttrKey, props } from '@eightshift/frontend-libs-tailwind/scripts'; import { - icons, - checkAttr, - getAttrKey, - IconLabel, - props, - Section, - IconToggle, - STORE_NAME, -} from '@eightshift/frontend-libs/scripts'; -import { FieldOptions, FieldOptionsMore, FieldOptionsLayout, FieldOptionsVisibility } from '../../field/components/field-options'; + FieldOptions, + FieldOptionsMore, + FieldOptionsLayout, + FieldOptionsVisibility, +} from '../../field/components/field-options'; import { isOptionDisabled, NameField } from '../../utils'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import { icons } from '@eightshift/ui-components/icons'; +import { ContainerPanel, InputField, Toggle, Spacer } from '@eightshift/ui-components'; +import manifest from '../manifest.json'; +import { Slider } from '@eightshift/ui-components'; export const RatingOptions = (attributes) => { - const manifest = select(STORE_NAME).getComponent('rating'); - - const { - setAttributes, - title = __('Rating', 'eightshift-forms'), - } = attributes; + const { setAttributes, title = __('Rating', 'eightshift-forms') } = attributes; const [isNameChanged, setIsNameChanged] = useState(false); @@ -37,29 +30,32 @@ export const RatingOptions = (attributes) => { const ratingAmount = checkAttr('ratingAmount', attributes, manifest); return ( - -
- - - } - value={ratingAmount} - onChange={(value) => setAttributes({ [getAttrKey('ratingAmount', attributes, manifest)]: value })} - min={1} - max={10} - type='number' - className='es-no-field-spacing' - disabled={isOptionDisabled(getAttrKey('ratingAmount', attributes, manifest), ratingDisabledOptions)} - /> -
+ + + + + + setAttributes({ [getAttrKey('ratingAmount', attributes, manifest)]: value })} + min={1} + max={10} + disabled={isOptionDisabled(getAttrKey('ratingAmount', attributes, manifest), ratingDisabledOptions)} + /> { })} /> -
- } - value={ratingValue} - onChange={(value) => setAttributes({ [getAttrKey('ratingValue', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('ratingValue', attributes, manifest), ratingDisabledOptions)} - /> - - - - - setAttributes({ [getAttrKey('ratingIsReadOnly', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('ratingIsReadOnly', attributes, manifest), ratingDisabledOptions)} - /> - - setAttributes({ [getAttrKey('ratingIsDisabled', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('ratingIsDisabled', attributes, manifest), ratingDisabledOptions)} - noBottomSpacing - /> -
- -
- setAttributes({ [getAttrKey('ratingIsRequired', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('ratingIsRequired', attributes, manifest), ratingDisabledOptions)} - /> -
- -
- } - value={ratingTracking} - onChange={(value) => setAttributes({ [getAttrKey('ratingTracking', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('ratingTracking', attributes, manifest), ratingDisabledOptions)} - className='es-no-field-spacing' - /> -
+ + + setAttributes({ [getAttrKey('ratingValue', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('ratingValue', attributes, manifest), ratingDisabledOptions)} + /> + + + + setAttributes({ [getAttrKey('ratingIsReadOnly', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('ratingIsReadOnly', attributes, manifest), ratingDisabledOptions)} + /> + + setAttributes({ [getAttrKey('ratingIsDisabled', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('ratingIsDisabled', attributes, manifest), ratingDisabledOptions)} + /> + + + setAttributes({ [getAttrKey('ratingIsRequired', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('ratingIsRequired', attributes, manifest), ratingDisabledOptions)} + /> + + + + setAttributes({ [getAttrKey('ratingTracking', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('ratingTracking', attributes, manifest), ratingDisabledOptions)} + /> { conditionalTagsIsHidden: checkAttr('ratingFieldHidden', attributes, manifest), })} /> -
+ ); }; diff --git a/src/Blocks/components/rating/rating.php b/src/Blocks/components/rating/rating.php index 6c62d435a..58553d627 100644 --- a/src/Blocks/components/rating/rating.php +++ b/src/Blocks/components/rating/rating.php @@ -37,7 +37,7 @@ $twClasses = FormsHelper::getTwSelectors($ratingTwSelectorsData, ['rating']); -$ratingClass = Helpers::classnames([ +$ratingClass = Helpers::clsx([ FormsHelper::getTwBase($twClasses, 'rating', $componentClass), Helpers::selector($additionalClass, $additionalClass), Helpers::selector($ratingSingleSubmit, UtilsHelper::getStateSelectorAdmin('singleSubmit')), diff --git a/src/Blocks/components/react-flow/index.js b/src/Blocks/components/react-flow/index.js index 6b486f230..442d0408a 100644 --- a/src/Blocks/components/react-flow/index.js +++ b/src/Blocks/components/react-flow/index.js @@ -1,41 +1,39 @@ import React, { memo } from 'react'; import ReactFlow, { MarkerType, Controls, Background, MiniMap, Position, Handle } from 'reactflow'; -import { camelize } from '@eightshift/frontend-libs/scripts'; +import { camelCase } from '@eightshift/ui-components/utilities'; // Create custom handle with 4 points. -const CustomHandle = memo(({data}) => { +const CustomHandle = memo(({ data }) => { return ( <> -
- {data.label} -
+
{data.label}
); }); @@ -49,8 +47,11 @@ const markerStyle = { // Generate a random hex color that is not too light or too dark. const getRandomHexColor = () => { - const getRandomHexValue = () => Math.floor(Math.random() * 256).toString(16).padStart(2, '0'); - + const getRandomHexValue = () => + Math.floor(Math.random() * 256) + .toString(16) + .padStart(2, '0'); + let hexColor, luminance; do { hexColor = `#${getRandomHexValue()}${getRandomHexValue()}${getRandomHexValue()}`; @@ -68,7 +69,7 @@ const outputMultiFlowPreviewData = (formFields, stepMultiflowRules) => { const color = '#333333'; const edges = formFields.map(({ value }, index) => { - const target = formFields?.[index+1]?.value; + const target = formFields?.[index + 1]?.value; // If there is no target bailout. if (!target) { @@ -76,9 +77,9 @@ const outputMultiFlowPreviewData = (formFields, stepMultiflowRules) => { } return { - id: camelize(`${value}-default-flow`), // Unique ID for the edge. - source: camelize(value), - target: camelize(target), + id: camelCase(`${value}-default-flow`), // Unique ID for the edge. + source: camelCase(value), + target: camelCase(target), sourceHandle: 'right', targetHandle: 'left', style: { @@ -94,13 +95,13 @@ const outputMultiFlowPreviewData = (formFields, stepMultiflowRules) => { // Custom flows. const customFlows = stepMultiflowRules.map((item, index) => { - const source = camelize(item?.[1].toLowerCase()); - const target = camelize(item?.[0].toLowerCase()); + const source = camelCase(item?.[1].toLowerCase()); + const target = camelCase(item?.[0].toLowerCase()); const edgeColor = getRandomHexColor(); return { - id: camelize(`${source}-rule-${index}`), // Unique ID for the edge. + id: camelCase(`${source}-rule-${index}`), // Unique ID for the edge. source: source, target: target, type: 'smoothstep', @@ -122,12 +123,9 @@ const outputMultiFlowPreviewData = (formFields, stepMultiflowRules) => { }); // Nodes list. - const nodes = formFields.map(({ - label, - value, - }, index) => { + const nodes = formFields.map(({ label, value }, index) => { return { - id: camelize(value), // Unique ID for the node. + id: camelCase(value), // Unique ID for the node. data: { label: `${label.substring(0, 40)}...`, // Limit the label to 40 characters. }, @@ -150,20 +148,14 @@ const outputMultiFlowPreviewData = (formFields, stepMultiflowRules) => { }); return { - edges: [ - ...edges, - ...customFlows, - ].filter(n => n), + edges: [...edges, ...customFlows].filter((n) => n), nodes, }; }; // Export multiflow forms react flow. -export const MultiflowFormsReactFlow = ({formFields, stepMultiflowRules}) => { - const { - edges, - nodes, - } = outputMultiFlowPreviewData(formFields, stepMultiflowRules); +export const MultiflowFormsReactFlow = ({ formFields, stepMultiflowRules }) => { + const { edges, nodes } = outputMultiFlowPreviewData(formFields, stepMultiflowRules); return (
@@ -173,10 +165,13 @@ export const MultiflowFormsReactFlow = ({formFields, stepMultiflowRules}) => { nodeTypes={{ selectorNode: CustomHandle, }} - > + > - +
); diff --git a/src/Blocks/components/select-option/components/select-option-editor.js b/src/Blocks/components/select-option/components/select-option-editor.js index 75d72d106..135e02e30 100644 --- a/src/Blocks/components/select-option/components/select-option-editor.js +++ b/src/Blocks/components/select-option/components/select-option-editor.js @@ -1,61 +1,43 @@ import React from 'react'; import { __ } from '@wordpress/i18n'; -import classnames from 'classnames'; -import { select } from '@wordpress/data'; +import { checkAttr, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts'; import { - selector, - checkAttr, - props, - STORE_NAME, - getAttrKey, -} from '@eightshift/frontend-libs/scripts'; -import { ConditionalTagsEditor } from '../../conditional-tags/components/conditional-tags-editor'; -import { MissingName, VisibilityHidden, preventSaveOnMissingProps } from './../../utils'; + StatusFieldOutput, + StatusIconHidden, + StatusIconConditionals, + StatusIconMissingName, + preventSaveOnMissingProps, +} from './../../utils'; +import manifest from '../manifest.json'; +import { clsx } from '@eightshift/ui-components/utilities'; export const SelectOptionEditor = (attributes) => { - const manifest = select(STORE_NAME).getComponent('select-option'); - - const { - componentClass, - } = manifest; - - const { - selectorClass = componentClass, - blockClass, - additionalClass, - blockClientId, - } = attributes; + const { blockClientId, prefix } = attributes; const selectOptionLabel = checkAttr('selectOptionLabel', attributes, manifest); const selectOptionValue = checkAttr('selectOptionValue', attributes, manifest); - const selectOptionAsPlaceholder = checkAttr('selectOptionAsPlaceholder', attributes, manifest); const selectOptionIsHidden = checkAttr('selectOptionIsHidden', attributes, manifest); const selectOptionIsSelected = checkAttr('selectOptionIsSelected', attributes, manifest); preventSaveOnMissingProps(blockClientId, getAttrKey('selectOptionValue', attributes, manifest), selectOptionValue); - const selectOptionClass = classnames([ - selector(componentClass, componentClass), - selector(blockClass, blockClass, selectorClass), - selector(additionalClass, additionalClass), - selector(selectOptionIsHidden, 'es-form-is-hidden'), - selector(selectOptionLabel === '', componentClass, '', 'placeholder'), - selector(selectOptionIsSelected, componentClass, '', 'checked'), - ]); - return ( -
- - +
{selectOptionLabel ? selectOptionLabel : __('Enter option label in sidebar.', 'eightshift-forms')} - - - {selectOptionValue && - - } + , + !selectOptionValue && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} + />
); }; diff --git a/src/Blocks/components/select-option/components/select-option-options.js b/src/Blocks/components/select-option/components/select-option-options.js index 62d9f1d67..0d5b39212 100644 --- a/src/Blocks/components/select-option/components/select-option-options.js +++ b/src/Blocks/components/select-option/components/select-option-options.js @@ -1,18 +1,16 @@ import React from 'react'; import { useState } from '@wordpress/element'; -import { select } from '@wordpress/data'; import { __ } from '@wordpress/i18n'; -import { PanelBody, TextareaControl } from '@wordpress/components'; -import { checkAttr, getAttrKey, icons, IconToggle, props, STORE_NAME, Section } from '@eightshift/frontend-libs/scripts'; +import { icons } from '@eightshift/ui-components/icons'; +import { checkAttr, getAttrKey, props } from '@eightshift/frontend-libs-tailwind/scripts'; import { isOptionDisabled, NameField } from './../../utils'; +import { ContainerPanel, InputField, Toggle, Spacer } from '@eightshift/ui-components'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import manifest from '../manifest.json'; +import { Notice } from '@eightshift/ui-components'; export const SelectOptionOptions = (attributes) => { - const manifest = select(STORE_NAME).getComponent('select-option'); - - const { - setAttributes, - } = attributes; + const { setAttributes } = attributes; const [isNameChanged, setIsNameChanged] = useState(false); @@ -24,54 +22,78 @@ export const SelectOptionOptions = (attributes) => { const selectOptionDisabledOptions = checkAttr('selectOptionDisabledOptions', attributes, manifest); return ( - -
- -
+ + -
- setAttributes({ [getAttrKey('selectOptionLabel', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('selectOptionLabel', attributes, manifest), selectOptionDisabledOptions)} - /> -
+ -
- setAttributes({ [getAttrKey('selectOptionIsSelected', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('selectOptionIsSelected', attributes, manifest), selectOptionDisabledOptions)} - /> + setAttributes({ [getAttrKey('selectOptionLabel', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('selectOptionLabel', attributes, manifest), selectOptionDisabledOptions)} + /> - setAttributes({ [getAttrKey('selectOptionIsDisabled', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('selectOptionIsDisabled', attributes, manifest), selectOptionDisabledOptions)} + {selectOptionLabel === '' && ( + + )} - setAttributes({ [getAttrKey('selectOptionIsHidden', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('selectOptionIsHidden', attributes, manifest), selectOptionDisabledOptions)} - noBottomSpacing - /> -
+ + + setAttributes({ [getAttrKey('selectOptionIsSelected', attributes, manifest)]: value })} + disabled={isOptionDisabled( + getAttrKey('selectOptionIsSelected', attributes, manifest), + selectOptionDisabledOptions, + )} + /> + + setAttributes({ [getAttrKey('selectOptionIsDisabled', attributes, manifest)]: value })} + disabled={isOptionDisabled( + getAttrKey('selectOptionIsDisabled', attributes, manifest), + selectOptionDisabledOptions, + )} + /> + + setAttributes({ [getAttrKey('selectOptionIsHidden', attributes, manifest)]: value })} + disabled={isOptionDisabled( + getAttrKey('selectOptionIsHidden', attributes, manifest), + selectOptionDisabledOptions, + )} + /> { conditionalTagsIsHidden: selectOptionIsHidden, })} /> -
+ ); }; diff --git a/src/Blocks/components/select/components/select-editor.js b/src/Blocks/components/select/components/select-editor.js index 43d235f58..38444fed1 100644 --- a/src/Blocks/components/select/components/select-editor.js +++ b/src/Blocks/components/select/components/select-editor.js @@ -1,30 +1,11 @@ import React from 'react'; -import classnames from 'classnames'; -import { select } from '@wordpress/data'; -import { - selector, - checkAttr, - props, - STORE_NAME, - getAttrKey, -} from '@eightshift/frontend-libs/scripts'; +import { checkAttr, props, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts'; import { FieldEditor } from '../../../components/field/components/field-editor'; -import { MissingName, preventSaveOnMissingProps } from './../../utils'; -import { ConditionalTagsEditor } from '../../conditional-tags/components/conditional-tags-editor'; +import { preventSaveOnMissingProps, StatusIconMissingName, StatusIconConditionals } from './../../utils'; +import manifest from '../manifest.json'; export const SelectEditor = (attributes) => { - const manifest = select(STORE_NAME).getComponent('select'); - - const { - componentClass, - componentName - } = manifest; - - const { - additionalFieldClass, - additionalClass, - blockClientId, - } = attributes; + const { blockClientId, prefix } = attributes; const selectContent = checkAttr('selectContent', attributes, manifest); const selectName = checkAttr('selectName', attributes, manifest); @@ -32,28 +13,7 @@ export const SelectEditor = (attributes) => { preventSaveOnMissingProps(blockClientId, getAttrKey('selectName', attributes, manifest), selectName); - const selectClass = classnames([ - selector(componentClass, componentClass), - selector(selectIsDisabled, componentClass, '', 'disabled'), - selector(additionalClass, additionalClass), - ]); - - const selectComponent = ( - <> -
- - {selectContent} - - - - {selectName && - - } -
- - ); + const selectComponent =
{selectContent}
; return ( <> @@ -62,8 +22,10 @@ export const SelectEditor = (attributes) => { fieldContent: selectComponent, fieldIsRequired: checkAttr('selectIsRequired', attributes, manifest), })} - additionalFieldClass={additionalFieldClass} - selectorClass={componentName} + statusSlog={[ + !selectName && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} /> ); diff --git a/src/Blocks/components/select/components/select-options.js b/src/Blocks/components/select/components/select-options.js index 08a054f1a..6ef84ecaa 100644 --- a/src/Blocks/components/select/components/select-options.js +++ b/src/Blocks/components/select/components/select-options.js @@ -1,36 +1,35 @@ import React from 'react'; import { __ } from '@wordpress/i18n'; -import { select } from '@wordpress/data'; import { useState } from '@wordpress/element'; -import { TextControl, PanelBody, Button } from '@wordpress/components'; +import { icons } from '@eightshift/ui-components/icons'; +import { checkAttr, getAttrKey, props } from '@eightshift/frontend-libs-tailwind/scripts'; import { - icons, - checkAttr, - getAttrKey, - IconLabel, - props, - Section, - IconToggle, - STORE_NAME, + BaseControl, NumberPicker, - Control, + ContainerPanel, + InputField, + Toggle, Select, -} from '@eightshift/frontend-libs/scripts'; -import { FieldOptions, FieldOptionsMore, FieldOptionsLayout, FieldOptionsVisibility } from '../../field/components/field-options'; + Spacer, + Button, + HStack, + ContainerGroup, +} from '@eightshift/ui-components'; +import { + FieldOptions, + FieldOptionsMore, + FieldOptionsLayout, + FieldOptionsVisibility, +} from '../../field/components/field-options'; import { isOptionDisabled, NameField } from './../../utils'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import manifest from '../manifest.json'; +import globalManifest from '../../../manifest.json'; export const SelectOptions = (attributes) => { - const globalManifest = select(STORE_NAME).getSettings(); - const manifest = select(STORE_NAME).getComponent('select'); - - const { - options, - } = manifest; + const { options } = manifest; - const { - setAttributes, - } = attributes; + const { setAttributes } = attributes; const [isNameChanged, setIsNameChanged] = useState(false); @@ -48,18 +47,21 @@ export const SelectOptions = (attributes) => { const selectShowAs = checkAttr('selectShowAs', attributes, manifest); return ( - -
- -
+ + + { onChange={(value) => { stepMultiflowRules[index][1] = value; stepMultiflowRules[index][2] = []; - setAttributes({ [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules] }); + setAttributes({ + [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules], + }); }} - noBottomSpacing simpleValue noSearch /> @@ -68,9 +78,10 @@ export const StepMultiflowOptions = (attributes) => { options={formFieldsFull} onChange={(value) => { stepMultiflowRules[index][0] = value; - setAttributes({ [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules] }); + setAttributes({ + [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules], + }); }} - noBottomSpacing simpleValue noSearch /> @@ -81,38 +92,46 @@ export const StepMultiflowOptions = (attributes) => { icon={icons.trash} onClick={() => { stepMultiflowRules.splice(index, 1); - setAttributes({ [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules] }); + setAttributes({ + [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules], + }); }} label={__('Remove', 'eightshift-forms')} - className='es-ml-auto es-rounded-1!' />
- + - {stepProgressBarUse && -
+ {stepProgressBarUse && ( +
{__('and show', 'eightshift-forms')} - { - stepMultiflowRules[index][3] = value; - setAttributes({ [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules] }); - }} - className='es-w-15 es-mb-0' - /> + { + stepMultiflowRules[index][3] = value; + setAttributes({ + [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules], + }); + }} + /> {__('steps in the progress bar.', 'eightshift-forms')}
- } + )}
); })} @@ -120,60 +139,56 @@ export const StepMultiflowOptions = (attributes) => { ); }; - const ConditionalTagsType = ({topParent}) => { + const ConditionalTagsType = ({ topParent }) => { if (!formFields) { return null; } return ( <> -
+
{stepMultiflowRules?.[topParent]?.[2]?.map((_, index) => { const total = stepMultiflowRules[topParent][1].length; return ( <> {stepMultiflowRules?.[topParent]?.[2]?.[index]?.map((_, innerIndex) => { - return ( - - ); - }) - } - - {(stepMultiflowRules?.[topParent]?.[2]?.length > 1 && (index + 1) < total) && -
- {__('OR', 'eightshift-forms')} -
- } + return ( + + ); + })} + + {stepMultiflowRules?.[topParent]?.[2]?.length > 1 && index + 1 < total && ( +
{__('OR', 'eightshift-forms')}
+ )} ); })}
-
+
- { stepMultiflowRules[topParent][4] = !stepMultiflowRules[topParent][4]; setAttributes({ [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules] }); @@ -191,13 +206,16 @@ export const StepMultiflowOptions = (attributes) => { // Internal state due to rerendering issue. const [inputCheck, setInputCheck] = useState(stepMultiflowRules?.[topParent]?.[2]?.[parent]?.[index]?.[2]); - const formFieldOptions = formFields?.find((item) => item.value === stepMultiflowRules[topParent][1])?.subItems ?? []; + const formFieldOptions = + formFields?.find((item) => item.value === stepMultiflowRules[topParent][1])?.subItems ?? []; const formFieldSelectedItem = formFieldOptions?.find((item) => item.value === fieldValue)?.subItems ?? []; - const showRuleValuePicker = formFieldSelectedItem?.length > 0 && (operatorValue === globalManifest.comparator.IS || operatorValue === globalManifest.comparator.ISN); + const showRuleValuePicker = + formFieldSelectedItem?.length > 0 && + (operatorValue === globalManifest.comparator.IS || operatorValue === globalManifest.comparator.ISN); return ( <> -
+
{ stepMultiflowRules[topParent][2][parent][index][1] = value; setAttributes({ [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules] }); }} - noBottomSpacing simpleValue noSearch - additionalSelectClasses='es-w-40' /> {'='} - {!showRuleValuePicker ? - setAttributes({ [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules] })} + onBlur={() => + setAttributes({ [getAttrKey('stepMultiflowRules', attributes, manifest)]: [...stepMultiflowRules] }) + } onChange={(value) => { stepMultiflowRules[topParent][2][parent][index][2] = value; setInputCheck(value); }} - className='es-w-40 es-m-0-bcf!' - /> : + /> + ) : ( - - - - {textareaName && - - } ); @@ -64,8 +32,10 @@ export const TextareaEditor = (attributes) => { fieldContent: textarea, fieldIsRequired: checkAttr('textareaIsRequired', attributes, manifest), })} - additionalFieldClass={additionalFieldClass} - selectorClass={componentName} + statusSlog={[ + !textareaName && , + attributes?.[`${prefix}ConditionalTagsUse`] && , + ]} /> ); diff --git a/src/Blocks/components/textarea/components/textarea-options.js b/src/Blocks/components/textarea/components/textarea-options.js index 40471f3e7..34364bb60 100644 --- a/src/Blocks/components/textarea/components/textarea-options.js +++ b/src/Blocks/components/textarea/components/textarea-options.js @@ -3,39 +3,32 @@ import React from 'react'; import { __ } from '@wordpress/i18n'; import { useState } from '@wordpress/element'; -import { isArray } from 'lodash'; -import { select } from '@wordpress/data'; -import { TextControl, PanelBody, Button } from '@wordpress/components'; +import { icons } from '@eightshift/ui-components/icons'; +import { checkAttr, getAttrKey, props } from '@eightshift/frontend-libs-tailwind/scripts'; import { - icons, - checkAttr, - getAttrKey, - IconLabel, - props, - Section, Select, - IconToggle, NumberPicker, - Control, - STORE_NAME, -} from '@eightshift/frontend-libs/scripts'; -import { FieldOptions, FieldOptionsMore, FieldOptionsLayout, FieldOptionsVisibility } from '../../field/components/field-options'; + HStack, + InputField, + Toggle, + ContainerPanel, + Spacer, + Button, +} from '@eightshift/ui-components'; +import { + FieldOptions, + FieldOptionsMore, + FieldOptionsLayout, + FieldOptionsVisibility, +} from '../../field/components/field-options'; import { isOptionDisabled, NameField } from './../../utils'; import { ConditionalTagsOptions } from '../../conditional-tags/components/conditional-tags-options'; +import manifest from '../manifest.json'; export const TextareaOptions = (attributes) => { - const manifest = select(STORE_NAME).getComponent('textarea'); - - const { - options, - } = manifest; - - const { - setAttributes, + const { options } = manifest; - showTextareaMinLength = true, - showTextareaMaxLength = true, - } = attributes; + const { setAttributes } = attributes; const [isNameChanged, setIsNameChanged] = useState(false); @@ -54,23 +47,27 @@ export const TextareaOptions = (attributes) => { let textareaValidationPatternOptions = []; - if (typeof esFormsLocalization !== 'undefined' && isArray(esFormsLocalization?.validationPatternsOptions)) { + if (typeof esFormsLocalization !== 'undefined') { textareaValidationPatternOptions = esFormsLocalization.validationPatternsOptions; } return ( - -
- -
+ + + + { })} /> -
- {!textareaUseLabelAsPlaceholder && - setAttributes({ [getAttrKey('textareaPlaceholder', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('textareaPlaceholder', attributes, manifest), textareaDisabledOptions)} - className='es-no-field-spacing' - /> - } - { - setAttributes({ [getAttrKey('textareaPlaceholder', attributes, manifest)]: undefined }); - setAttributes({ [getAttrKey('textareaUseLabelAsPlaceholder', attributes, manifest)]: value }); - }} + { + setAttributes({ [getAttrKey('textareaPlaceholder', attributes, manifest)]: undefined }); + setAttributes({ [getAttrKey('textareaUseLabelAsPlaceholder', attributes, manifest)]: value }); + }} + /> + + {!textareaUseLabelAsPlaceholder && ( + setAttributes({ [getAttrKey('textareaPlaceholder', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('textareaPlaceholder', attributes, manifest), textareaDisabledOptions)} /> -
+ )} { })} /> -
- setAttributes({ [getAttrKey('textareaIsRequired', attributes, manifest)]: value })} - disabled={isOptionDisabled(getAttrKey('textareaIsRequired', attributes, manifest), textareaDisabledOptions)} - /> + - setAttributes({ [getAttrKey('textareaValidationPattern', attributes, manifest)]: value })} + disabled={isOptionDisabled( + getAttrKey('textareaValidationPattern', attributes, manifest), + textareaDisabledOptions, + )} + placeholder='–' + clearable + /> + + + setAttributes({ [getAttrKey('textareaMinLength', attributes, manifest)]: value })} + min={options.textareaMinLength.min} + step={options.textareaMinLength.step} + disabled={isOptionDisabled(getAttrKey('textareaMinLength', attributes, manifest), textareaDisabledOptions)} + placeholder='–' + fixedWidth={4} + prefix={__('Min length', 'eightshift-forms')} + > + + + + setAttributes({ [getAttrKey('textareaMaxLength', attributes, manifest)]: value })} + min={options.textareaMaxLength.min} + step={options.textareaMaxLength.step} + disabled={isOptionDisabled(getAttrKey('textareaMaxLength', attributes, manifest), textareaDisabledOptions)} + placeholder='–' + fixedWidth={4} + prefix={__('Max length', 'eightshift-forms')} + > + + + + + + + setAttributes({ [getAttrKey('textareaTracking', attributes, manifest)]: value })} + disabled={isOptionDisabled(getAttrKey('textareaTracking', attributes, manifest), textareaDisabledOptions)} + /> { conditionalTagsIsHidden: checkAttr('textareaFieldHidden', attributes, manifest), })} /> - + ); }; diff --git a/src/Blocks/components/textarea/textarea.php b/src/Blocks/components/textarea/textarea.php index faa527ed3..52f61b570 100644 --- a/src/Blocks/components/textarea/textarea.php +++ b/src/Blocks/components/textarea/textarea.php @@ -44,7 +44,7 @@ $twClasses = FormsHelper::getTwSelectors($textareaTwSelectorsData, ['textarea']); -$textareaClass = Helpers::classnames([ +$textareaClass = Helpers::clsx([ FormsHelper::getTwBase($twClasses, 'textarea', $componentClass), Helpers::selector($additionalClass, $additionalClass), Helpers::selector($textareaIsMonospace, $componentClass, '', 'monospace'), diff --git a/src/Blocks/components/tooltip/tooltip.php b/src/Blocks/components/tooltip/tooltip.php index a00d1a46c..361c56eac 100644 --- a/src/Blocks/components/tooltip/tooltip.php +++ b/src/Blocks/components/tooltip/tooltip.php @@ -16,7 +16,7 @@ $tooltipContent = Helpers::checkAttr('tooltipContent', $attributes, $manifest); $tooltipPosition = Helpers::checkAttr('tooltipPosition', $attributes, $manifest); -$tooltipClass = Helpers::classnames([ +$tooltipClass = Helpers::clsx([ Helpers::selector($componentClass, $componentClass), Helpers::selector($tooltipPosition, $componentClass, '', $tooltipPosition), Helpers::selector($selectorClass, $selectorClass, $componentClass), diff --git a/src/Blocks/components/utils/index.js b/src/Blocks/components/utils/index.js index 2a6bcebad..c02727e77 100644 --- a/src/Blocks/components/utils/index.js +++ b/src/Blocks/components/utils/index.js @@ -2,26 +2,16 @@ import React, { useEffect } from 'react'; import { __, sprintf } from '@wordpress/i18n'; -import { select, dispatch } from "@wordpress/data"; +import { select, dispatch } from '@wordpress/data'; import apiFetch from '@wordpress/api-fetch'; -import { Tooltip, Button, TextControl } from '@wordpress/components'; import { createBlock, createBlocksFromInnerBlocksTemplate } from '@wordpress/blocks'; -import { - AnimatedContentVisibility, - camelize, - classnames, - IconLabel, - icons, - STORE_NAME, - Notification, - lockPostEditing, - unlockPostEditing, - unescapeHTML, - getUnique, -} from '@eightshift/frontend-libs/scripts'; +import { icons } from '@eightshift/ui-components/icons'; +import { STORE_NAME, lockPostEditing, unlockPostEditing, getUnique } from '@eightshift/frontend-libs-tailwind/scripts'; +import { AnimatedVisibility, RichLabel, Notice, Button, InputField, Tooltip } from '@eightshift/ui-components'; +import { unescapeHTML, camelCase } from '@eightshift/ui-components/utilities'; import { FORMS_STORE_NAME } from './../../assets/scripts/store'; import { getRestUrl, getRestUrlByType, getUtilsIcons } from '../form/assets/state-init'; -import globalSettings from './../../manifest.json'; +import globalSettings from './../../manifest.json'; /** * check if block options is disabled by integration or other component. @@ -87,7 +77,7 @@ export const syncIntegrationBlocks = (clientId, postId) => { path: `${getRestUrlByType('prefixIntegrationEditor', 'integrationsEditorSync', true, true)}?id=${postId}`, }).then((response) => { if (isDeveloperMode()) { - console.log(response); + console.info(response); } dispatch(FORMS_STORE_NAME).setSyncDialog({}); @@ -155,11 +145,7 @@ export const clearTransientCache = (type) => { * @returns {void} */ export const createBlockFromTemplate = (clientId, name, templates) => { - const { - blockName, - attributes = {}, - innerBlocks = [], - } = templates.filter((form) => form.slug === name)[0]; + const { blockName, attributes = {}, innerBlocks = [] } = templates.filter((form) => form.slug === name)[0]; // Build all inner blocks. const inner = innerBlocks.map((item) => createBlock(item[0], item[1] ?? {}, item[2] ?? [])); @@ -221,30 +207,30 @@ export const getFormFields = () => { value: '', label: '', }, - ...fields.map((item) => { - const { - attributes, - attributes: { - blockName, + ...fields + .map((item) => { + const { + attributes, + attributes: { blockName }, + } = item; + + const value = attributes[camelCase(`${blockName}-${blockName}-name`)]; + let label = attributes[camelCase(`${blockName}-${blockName}-field-label`)]; + + if (value === 'submit') { + return null; } - } = item; - const value = attributes[camelize(`${blockName}-${blockName}-name`)]; - let label = attributes[camelize(`${blockName}-${blockName}-field-label`)]; - - if (value === 'submit') { - return null; - } - - if (label === 'Label') { - label = value; - } + if (label === 'Label') { + label = value; + } - return { - 'label': label, - 'value': value, - }; - }).filter((elm) => elm), + return { + label: label, + value: value, + }; + }) + .filter((elm) => elm), ]; }; @@ -290,8 +276,8 @@ export const getConstantsOptions = (options, useEmpty = false) => { if (options) { for (const [key, value] of Object.entries(options)) { items.push({ - 'value': key, - 'label': value + value: key, + label: value, }); } } @@ -317,8 +303,8 @@ export const getSettingsJsonOptions = (options, useEmpty = false) => { if (options) { options.map((item) => { items.push({ - 'value': item[0], - 'label': item[1], + value: item[0], + label: item[1], }); }); } @@ -331,55 +317,72 @@ export const getSettingsJsonOptions = (options, useEmpty = false) => { * * @param {string} value Field name value. * @param {bool} asPlaceholder If this is a placeholder. - * @param {string} className Additional class name to add. + * @param {bool} isOptional If this is an optional field. * * @returns Component */ -export const MissingName = ({ - value, - asPlaceholder, - className = '', - isOptional = false, -}) => { +export const MissingName = ({ value, asPlaceholder, isOptional = false }) => { if (value || asPlaceholder) { return null; } - const style = classnames( - 'es-position-absolute es-right-0 es-top-0 es-nested-color-pure-white es-nested-w-5 es-nested-h-5 es-w-8 es-h-8 es-rounded-full es-has-enhanced-contrast-icon es-display-flex es-items-center es-content-center', - isOptional ? 'es-bg-yellow-500' : 'es-bg-red-500', - className, + return ( +
+ + {React.cloneElement(icons.warning)} + +
); +}; + +export const StatusFieldOutput = ({ components }) => { + if (!components) { + return null; + } return ( -
- - {React.cloneElement(icons.warning, {className: 'es-mb-0.5'})} - +
+ {components.map((component) => { + if (!component) { + return null; + } + + return ( +
+ {component} +
+ ); + })}
); }; /** - * Outputs notification if visibility is hidden. + * Outputs notification if status is conditionals. * * @param {bool} value Field value. - * @param {string} label Field label. * * @returns Component */ -export const VisibilityHidden = ({ value, label }) => { - if (!value) { - return null; - } +export const StatusIconConditionals = () => { + return icons.conditionalVisibility; +}; - return ( -
- - {icons.hide} - -
- ); +export const StatusIconHidden = () => { + return icons.hide; +}; + +export const StatusIconMissingName = () => { + return icons.warning; }; /** @@ -409,59 +412,76 @@ export const NameField = ({ isOptional = false, setIsChanged, }) => { - const isDisabled = isOptionDisabled(attribute, disabledOptions); const NameFieldLabel = () => { - let labelTipText = !isOptional ? __('The form may not work correctly.', 'eightshift-forms') : __('Name field is required only if you are using conditional tags on this field.', 'eightshift-forms'); + let labelTipText = !isOptional + ? __('The form may not work correctly.', 'eightshift-forms') + : __('Name field is required only if you are using conditional tags on this field.', 'eightshift-forms'); if (type === 'resultOutputItem') { - labelTipText = __(`Variable name you can use is "${globalSettings.enums.successRedirectUrlKeys.variation}" or any other provided by the plugins' add-on.`, 'eightshift-forms'); + labelTipText = __( + `Variable name you can use is "${globalSettings.enums.successRedirectUrlKeys.variation}" or any other provided by the plugins' add-on.`, + 'eightshift-forms', + ); } return ( -
- +
+ - + - { - !isOptional ? - {__('Required', 'eightshift-forms')} : - {__('Optional', 'eightshift-forms')} - } + {!isOptional ? ( + {__('Required', 'eightshift-forms')} + ) : ( + {__('Optional', 'eightshift-forms')} + )} - + - {(!value && !isDisabled) && + {!value && !isDisabled && ( - } + )}
); }; - let helpText = sprintf(__('Identifies the %s within form submission data. Must be unique. %s', 'eightshift-forms'), type, help); + let helpText = sprintf( + __('Identifies the %s within form submission data. Must be unique. %s', 'eightshift-forms'), + type, + help, + ); if (type === 'resultOutputItem') { - helpText = __('Identifies the what result output item the user will see after successful submit redirect.', 'eightshift-forms'); + helpText = __( + 'Identifies the what result output item the user will see after successful submit redirect.', + 'eightshift-forms', + ); } return ( <> - {show && + {show && ( <> - } + placeholder={__('Enter name', 'eightshift-forms')} help={helpText} value={value} onChange={(value) => { @@ -471,9 +491,12 @@ export const NameField = ({ disabled={isDisabled} /> - + - } + )} ); }; @@ -492,7 +515,7 @@ export const preventSaveOnMissingProps = (blockClientId, key, value) => { // Allows triggering this action only when the block is inserted in the editor. if (select('core/block-editor').getBlock(blockClientId)) { // Lock/unlock depending on the value. - (value === '') ? lockPostEditing(blockClientId, key) : unlockPostEditing(blockClientId, key); + value === '' ? lockPostEditing(blockClientId, key) : unlockPostEditing(blockClientId, key); } // Use this method to detect if the block has been deleted from the block editor. @@ -510,10 +533,7 @@ export const preventSaveOnMissingProps = (blockClientId, key, value) => { * * @returns Component */ -export const NameChangeWarning = ({ - isChanged = false, - type = 'default' - }) => { +export const NameChangeWarning = ({ isChanged = false, type = 'default' }) => { let text = ''; if (!isChanged) { @@ -522,22 +542,34 @@ export const NameChangeWarning = ({ switch (type) { case 'value': - text = __('After changing the field value, ensure that you review all conditional tags and form multi-flow configurations to avoid any errors.', 'eightshift-forms'); + text = __( + 'After changing the field value, ensure that you review all conditional tags and form multi-flow configurations to avoid any errors.', + 'eightshift-forms', + ); break; case 'step': - text = __('After changing the step name, ensure that you review forms multi-flow configurations to avoid any errors.', 'eightshift-forms'); + text = __( + 'After changing the step name, ensure that you review forms multi-flow configurations to avoid any errors.', + 'eightshift-forms', + ); break; case 'resultOutputItem': - text = __('After changing the result item variable name, ensure that you provide the correct variation name via form settings.', 'eightshift-forms'); + text = __( + 'After changing the result item variable name, ensure that you provide the correct variation name via form settings.', + 'eightshift-forms', + ); break; default: - text = __('After changing the field name, ensure that you review all conditional tags and form multi-flow configurations to avoid any errors.', 'eightshift-forms'); + text = __( + 'After changing the field name, ensure that you review all conditional tags and form multi-flow configurations to avoid any errors.', + 'eightshift-forms', + ); break; } return ( - ); @@ -548,18 +580,15 @@ export const NameChangeWarning = ({ * * @returns Component */ -export const FormEditButton = ({formId}) => { +export const FormEditButton = ({ formId }) => { const wpAdminUrl = esFormsLocalization.wpAdminUrl; - const { - editFormUrl, - } = select(STORE_NAME).getSettings(); + const { editFormUrl } = select(STORE_NAME).getSettings(); return ( @@ -571,44 +600,37 @@ export const FormEditButton = ({formId}) => { * * @returns Component */ -export const SettingsButton = ({formId}) => { +export const SettingsButton = ({ formId = null }) => { const wpAdminUrl = esFormsLocalization.wpAdminUrl; const postId = select('core/editor').getCurrentPostId(); const id = formId ?? postId; - const { - settingsPageUrl, - } = select(STORE_NAME).getSettings(); + const { settingsPageUrl } = select(STORE_NAME).getSettings(); return ( ); }; -/** - * Returns global setting button component. - * - * @returns Component - */ export const GlobalSettingsButton = () => { const wpAdminUrl = esFormsLocalization.wpAdminUrl; - const { - globalSettingsPageUrl, - } = select(STORE_NAME).getSettings(); + const { globalSettingsPageUrl } = select(STORE_NAME).getSettings(); return ( @@ -620,21 +642,20 @@ export const GlobalSettingsButton = () => { * * @returns Component */ -export const LocationsButton = ({formId}) => { +export const LocationsButton = ({ formId = null }) => { const wpAdminUrl = esFormsLocalization.wpAdminUrl; const postId = select('core/editor').getCurrentPostId(); const id = formId ?? postId; - const { - locationsPageUrl, - } = select(STORE_NAME).getSettings(); + const { locationsPageUrl } = select(STORE_NAME).getSettings(); return ( @@ -649,15 +670,14 @@ export const LocationsButton = ({formId}) => { export const DashboardButton = () => { const wpAdminUrl = esFormsLocalization.wpAdminUrl; - const { - dashboardPageUrl, - } = select(STORE_NAME).getSettings(); + const { dashboardPageUrl } = select(STORE_NAME).getSettings(); return ( @@ -670,11 +690,7 @@ export const DashboardButton = () => { * @returns object */ export const outputFormSelectItemWithIcon = (props) => { - const { - label, - id, - metadata, - } = props; + const { label, id, metadata } = props; if (!id) { return ''; @@ -697,7 +713,13 @@ export const outputFormSelectItemWithIcon = (props) => { return { id, - label: ${icon}${outputLabel}`}} />, + label: ( + ${icon}${outputLabel}`, + }} + /> + ), value: id, metadata, }; diff --git a/src/Blocks/components/utils/partials/debug-field-details.php b/src/Blocks/components/utils/partials/debug-field-details.php index 8b181afdf..ba171712b 100644 --- a/src/Blocks/components/utils/partials/debug-field-details.php +++ b/src/Blocks/components/utils/partials/debug-field-details.php @@ -20,7 +20,7 @@ $fieldManifest = Helpers::getComponent('field'); -$componentClass = Helpers::classnames([ +$componentClass = Helpers::clsx([ Helpers::selector(true, $fieldManifest['componentClass'], 'debug'), ]); diff --git a/src/Blocks/custom/activecampaign/activecampaign-overrides.js b/src/Blocks/custom/activecampaign/activecampaign-overrides.js index 16304cbf7..f28355f4a 100644 --- a/src/Blocks/custom/activecampaign/activecampaign-overrides.js +++ b/src/Blocks/custom/activecampaign/activecampaign-overrides.js @@ -1,11 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from '../../manifest.json'; export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('activecampaign') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.formsCpt, }; diff --git a/src/Blocks/custom/activecampaign/components/activecampaign-editor.js b/src/Blocks/custom/activecampaign/components/activecampaign-editor.js index f6f0bf47b..83b4caa5c 100644 --- a/src/Blocks/custom/activecampaign/components/activecampaign-editor.js +++ b/src/Blocks/custom/activecampaign/components/activecampaign-editor.js @@ -1,26 +1,14 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsEditor } from '../../../components/integrations/components/integrations-editor'; +import manifest from '../manifest.json'; -export const ActivecampaignEditor = ({ - attributes, - setAttributes, - itemIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('activecampaign'); - - const { - blockClass, - } = attributes; - +export const ActivecampaignEditor = ({ attributes, setAttributes, itemIdKey }) => { return ( -
- -
+ ); }; diff --git a/src/Blocks/custom/activecampaign/components/activecampaign-options.js b/src/Blocks/custom/activecampaign/components/activecampaign-options.js index 42c8283fe..2e3f4011d 100644 --- a/src/Blocks/custom/activecampaign/components/activecampaign-options.js +++ b/src/Blocks/custom/activecampaign/components/activecampaign-options.js @@ -1,20 +1,10 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsOptions } from '../../../components/integrations/components/integrations-options'; +import manifest from '../manifest.json'; -export const ActivecampaignOptions = ({ - attributes, - setAttributes, - clientId, - itemIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('activecampaign'); - - const { - title, - blockName, - } = manifest; +export const ActivecampaignOptions = ({ attributes, setAttributes, clientId, itemIdKey }) => { + const { title, blockName } = manifest; return ( { - const manifest = select(STORE_NAME).getBlock('airtable'); - - const { - blockClass, - } = attributes; - +export const AirtableEditor = ({ attributes, setAttributes, itemIdKey, innerIdKey, clientId }) => { return ( -
- -
+ ); }; diff --git a/src/Blocks/custom/airtable/components/airtable-options.js b/src/Blocks/custom/airtable/components/airtable-options.js index 311a64a77..49411a0ac 100644 --- a/src/Blocks/custom/airtable/components/airtable-options.js +++ b/src/Blocks/custom/airtable/components/airtable-options.js @@ -1,21 +1,10 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsOptions } from './../../../components/integrations/components/integrations-options'; +import manifest from '../manifest.json'; -export const AirtableOptions = ({ - attributes, - setAttributes, - clientId, - itemIdKey, - innerIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('airtable'); - - const { - title, - blockName, - } = manifest; +export const AirtableOptions = ({ attributes, setAttributes, clientId, itemIdKey, innerIdKey }) => { + const { title, blockName } = manifest; return ( { - const { - blockClass, - } = attributes; + const { blockClass } = attributes; return (
} /> + ), })} />
diff --git a/src/Blocks/custom/calculator/components/calculator-options.js b/src/Blocks/custom/calculator/components/calculator-options.js index c007b2af8..af5b5a003 100644 --- a/src/Blocks/custom/calculator/components/calculator-options.js +++ b/src/Blocks/custom/calculator/components/calculator-options.js @@ -1,18 +1,9 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { IntegrationsInternalOptions } from '../../../components/integrations/components/integrations-internal-options'; -import { STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import manifest from '../manifest.json'; -export const CalculatorOptions = ({ - attributes, - setAttributes, - clientId, -}) => { - const manifest = select(STORE_NAME).getBlock('calculator'); - - const { - title, - } = manifest; +export const CalculatorOptions = ({ attributes, setAttributes, clientId }) => { + const { title } = manifest; return ( { - const { - blockClass, - } = attributes; + const { blockClass } = attributes; return (
diff --git a/src/Blocks/custom/checkbox/components/checkbox-options.js b/src/Blocks/custom/checkbox/components/checkbox-options.js index 6d923140b..ac49d6813 100644 --- a/src/Blocks/custom/checkbox/components/checkbox-options.js +++ b/src/Blocks/custom/checkbox/components/checkbox-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { CheckboxOptions as CheckboxOptionsComponent } from '../../../components/checkbox/components/checkbox-options'; export const CheckboxOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/checkbox/manifest.json b/src/Blocks/custom/checkbox/manifest.json index 1bb3c8a7f..d77d501e5 100644 --- a/src/Blocks/custom/checkbox/manifest.json +++ b/src/Blocks/custom/checkbox/manifest.json @@ -5,7 +5,7 @@ "description" : "Simple true/false toggle", "category": "eightshift-forms", "icon": { - "src": "esf-checkbox" + "src": "checkbox" }, "keywords": [ "checkbox" diff --git a/src/Blocks/custom/checkboxes/checkboxes-overrides.js b/src/Blocks/custom/checkboxes/checkboxes-overrides.js index ec065da36..83e5cea62 100644 --- a/src/Blocks/custom/checkboxes/checkboxes-overrides.js +++ b/src/Blocks/custom/checkboxes/checkboxes-overrides.js @@ -1,11 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from './../../manifest.json'; export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('checkboxes') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.integrationsNoBuilder, }; diff --git a/src/Blocks/custom/checkboxes/components/checkboxes-editor.js b/src/Blocks/custom/checkboxes/components/checkboxes-editor.js index 57ee6ac6b..2fee2491a 100644 --- a/src/Blocks/custom/checkboxes/components/checkboxes-editor.js +++ b/src/Blocks/custom/checkboxes/components/checkboxes-editor.js @@ -1,31 +1,29 @@ import React, { useEffect, useState } from 'react'; import { select } from '@wordpress/data'; import { InnerBlocks } from '@wordpress/block-editor'; -import { props, BlockInserter, STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import { props, BlockInserter } from '@eightshift/frontend-libs-tailwind/scripts'; import { CheckboxesEditor as CheckboxesEditorComponent } from '../../../components/checkboxes/components/checkboxes-editor'; import globalManifest from '../../../manifest.json'; +import manifest from '../manifest.json'; export const CheckboxesEditor = ({ attributes, setAttributes, clientId }) => { - const manifest = select(STORE_NAME).getBlock('checkboxes'); - const { template } = manifest; - const { blockClass } = attributes; - const [parentBlock, setParentBlock] = useState([]); useEffect(() => { const parentBlockIds = select('core/block-editor').getBlockParents(clientId); const parents = select('core/block-editor').getBlocksByClientId(parentBlockIds); - setParentBlock(parents.filter((parent) => globalManifest.allowedBlocksList.integrationsBuilder.includes(parent.name))); + setParentBlock( + parents.filter((parent) => globalManifest.allowedBlocksList.integrationsBuilder.includes(parent.name)), + ); }, [clientId]); return ( { @@ -7,7 +7,7 @@ export const CheckboxesOptions = ({ attributes, setAttributes, clientId }) => { ); diff --git a/src/Blocks/custom/checkboxes/manifest.json b/src/Blocks/custom/checkboxes/manifest.json index cf0a34fa4..e4bf37275 100644 --- a/src/Blocks/custom/checkboxes/manifest.json +++ b/src/Blocks/custom/checkboxes/manifest.json @@ -2,14 +2,12 @@ "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/block.json", "blockName": "checkboxes", "title": "Checkboxes", - "description" : "Group of checkboxes", + "description": "Group of checkboxes", "category": "eightshift-forms", "icon": { - "src": "esf-checkboxes" + "src": "checkboxes" }, - "keywords": [ - "checkboxes" - ], + "keywords": ["checkboxes"], "hasInnerBlocks": true, "components": { "checkboxes": "checkboxes" diff --git a/src/Blocks/custom/corvus/components/corvus-editor.js b/src/Blocks/custom/corvus/components/corvus-editor.js index a881e6434..f1c66e0ec 100644 --- a/src/Blocks/custom/corvus/components/corvus-editor.js +++ b/src/Blocks/custom/corvus/components/corvus-editor.js @@ -1,27 +1,20 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { InnerBlocks } from '@wordpress/block-editor'; -import { props, BlockInserter, STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import { props, BlockInserter } from '@eightshift/frontend-libs-tailwind/scripts'; import { FormEditor, additionalBlocksNoIntegration } from '../../../components/form/components/form-editor'; export const CorvusEditor = ({ attributes, setAttributes, clientId }) => { - const manifest = select(STORE_NAME).getBlock('corvus'); - - const { - blockClass, - } = attributes; - return ( -
- } /> - })} - /> -
+ ), + })} + /> ); }; diff --git a/src/Blocks/custom/corvus/components/corvus-options.js b/src/Blocks/custom/corvus/components/corvus-options.js index f3336dc99..3926c44a2 100644 --- a/src/Blocks/custom/corvus/components/corvus-options.js +++ b/src/Blocks/custom/corvus/components/corvus-options.js @@ -1,22 +1,11 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { IntegrationsInternalOptions } from '../../../components/integrations/components/integrations-internal-options'; -import { STORE_NAME } from '@eightshift/frontend-libs/scripts'; - -export const CorvusOptions = ({ - attributes, - setAttributes, - clientId, -}) => { - const manifest = select(STORE_NAME).getBlock('corvus'); - - const { - title, - } = manifest; +import manifest from '../manifest.json'; +export const CorvusOptions = ({ attributes, setAttributes, clientId }) => { return ( { diff --git a/src/Blocks/custom/country/components/country-options.js b/src/Blocks/custom/country/components/country-options.js index de8008158..13c03ad98 100644 --- a/src/Blocks/custom/country/components/country-options.js +++ b/src/Blocks/custom/country/components/country-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { CountryOptions as CountryOptionsComponent } from '../../../components/country/components/country-options'; export const CountryOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/country/country-overrides.js b/src/Blocks/custom/country/country-overrides.js index d0d75625b..83e5cea62 100644 --- a/src/Blocks/custom/country/country-overrides.js +++ b/src/Blocks/custom/country/country-overrides.js @@ -1,11 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from './../../manifest.json'; export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('country') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.integrationsNoBuilder, }; diff --git a/src/Blocks/custom/country/manifest.json b/src/Blocks/custom/country/manifest.json index 1ec07fe5f..de01f85e1 100644 --- a/src/Blocks/custom/country/manifest.json +++ b/src/Blocks/custom/country/manifest.json @@ -5,7 +5,7 @@ "description" : "Country selection field", "category": "eightshift-forms", "icon": { - "src": "esf-country" + "src": "country" }, "keywords": [ "country" diff --git a/src/Blocks/custom/date/components/date-editor.js b/src/Blocks/custom/date/components/date-editor.js index 578b49a69..eff365d2a 100644 --- a/src/Blocks/custom/date/components/date-editor.js +++ b/src/Blocks/custom/date/components/date-editor.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { DateEditor as DateEditorComponent } from '../../../components/date/components/date-editor'; export const DateEditor = ({ attributes, setAttributes, clientId }) => { diff --git a/src/Blocks/custom/date/components/date-options.js b/src/Blocks/custom/date/components/date-options.js index d002627b9..9ae853569 100644 --- a/src/Blocks/custom/date/components/date-options.js +++ b/src/Blocks/custom/date/components/date-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { DateOptions as DateOptionsComponent } from '../../../components/date/components/date-options'; export const DateOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/date/date-overrides.js b/src/Blocks/custom/date/date-overrides.js index 1c5d89e0c..83e5cea62 100644 --- a/src/Blocks/custom/date/date-overrides.js +++ b/src/Blocks/custom/date/date-overrides.js @@ -1,11 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from './../../manifest.json'; export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('date') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.integrationsNoBuilder, }; diff --git a/src/Blocks/custom/date/manifest.json b/src/Blocks/custom/date/manifest.json index 2af86475c..137cb3477 100644 --- a/src/Blocks/custom/date/manifest.json +++ b/src/Blocks/custom/date/manifest.json @@ -2,23 +2,12 @@ "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/block.json", "blockName": "date", "title": "Date", - "description" : "Date/time picker field", + "description": "Date/time picker field", "category": "eightshift-forms", "icon": { - "src": "esf-date" + "src": "date" }, - "keywords": [ - "date", - "text", - "email", - "e-mail", - "number", - "numbers", - "url", - "urls", - "link", - "links" - ], + "keywords": ["date", "text", "email", "e-mail", "number", "numbers", "url", "urls", "link", "links"], "components": { "date": "date" } diff --git a/src/Blocks/custom/dynamic/components/dynamic-editor.js b/src/Blocks/custom/dynamic/components/dynamic-editor.js index b717f5369..1c0f57772 100644 --- a/src/Blocks/custom/dynamic/components/dynamic-editor.js +++ b/src/Blocks/custom/dynamic/components/dynamic-editor.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { DynamicEditor as DynamicEditorComponent } from '../../../components/dynamic/components/dynamic-editor'; export const DynamicEditor = ({ attributes, setAttributes, clientId }) => { diff --git a/src/Blocks/custom/dynamic/components/dynamic-options.js b/src/Blocks/custom/dynamic/components/dynamic-options.js index afca064fa..5664a88b8 100644 --- a/src/Blocks/custom/dynamic/components/dynamic-options.js +++ b/src/Blocks/custom/dynamic/components/dynamic-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { DynamicOptions as DynamicOptionsComponent } from '../../../components/dynamic/components/dynamic-options'; export const DynamicOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/dynamic/dynamic-overrides.js b/src/Blocks/custom/dynamic/dynamic-overrides.js index d533ff5e5..83e5cea62 100644 --- a/src/Blocks/custom/dynamic/dynamic-overrides.js +++ b/src/Blocks/custom/dynamic/dynamic-overrides.js @@ -1,11 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from './../../manifest.json'; export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('dynamic') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.integrationsNoBuilder, }; diff --git a/src/Blocks/custom/field/components/field-options.js b/src/Blocks/custom/field/components/field-options.js index d00221b9d..f8f7f8918 100644 --- a/src/Blocks/custom/field/components/field-options.js +++ b/src/Blocks/custom/field/components/field-options.js @@ -1,13 +1,13 @@ import React from 'react'; import { __ } from '@wordpress/i18n'; -import { PanelBody } from '@wordpress/components'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { FieldOptionsExternalBlocks, FieldOptionsLayout } from './../../../components/field/components/field-options'; +import { ContainerPanel } from '@eightshift/ui-components'; // This block is only used if you want to include custom external blocks to forms. export const FieldOptions = ({ attributes, setAttributes }) => { return ( - + { attributes={attributes} setAttributes={setAttributes} /> - + ); }; diff --git a/src/Blocks/custom/field/field-block.js b/src/Blocks/custom/field/field-block.js index ec02bb56e..1e78a5082 100644 --- a/src/Blocks/custom/field/field-block.js +++ b/src/Blocks/custom/field/field-block.js @@ -4,17 +4,12 @@ import { FieldEditor } from './components/field-editor'; import { FieldOptions } from './components/field-options'; export const Field = (props) => { - const { - setAttributes, - attributes, - children, - clientId, - } = props; + const { setAttributes, attributes, children, clientId } = props; return ( <> - diff --git a/src/Blocks/custom/field/field-hooks.js b/src/Blocks/custom/field/field-hooks.js deleted file mode 100644 index 2fa3c9d4f..000000000 --- a/src/Blocks/custom/field/field-hooks.js +++ /dev/null @@ -1,54 +0,0 @@ -/* global esFormsLocalization */ - -import { addFilter } from '@wordpress/hooks'; -import { select } from '@wordpress/data'; -import { createHigherOrderComponent } from '@wordpress/compose'; -import { STORE_NAME } from '@eightshift/frontend-libs/scripts/editor'; -import { Field } from './field-block'; - -// Wrap none forms block with field block. -const setNoneEightshiftFormsBlocksField = createHigherOrderComponent((BlockEdit) => { - return (innerProps) => { - const { - name, - } = innerProps; - - // Change only none forms blocks in forms post type. - if (esFormsLocalization?.currentPostType.isForms && !name.includes(esFormsLocalization?.postTypes?.forms)) { - return ( - - - - ); - } - - // Return normal flow. - return ; - }; -}, 'setNoneEightshiftFormsBlocksField'); - - -// Add none forms block attributes from field block. -function setNoneEightshiftBlocksFieldAttributes( settings, name ) { - // Change only none forms blocks in forms post type. - if (esFormsLocalization?.currentPostType.isForms && !name.includes(esFormsLocalization?.postTypes?.forms)) { - return { - ...settings, - attributes: { - ...settings.attributes, - ...select(STORE_NAME).getComponent('field').attributes, - ...select(STORE_NAME).getComponent('conditional-tags').attributes, - }, - }; - } - - return settings; -} - -export const hooks = () => { - const { blockName } = select(STORE_NAME).getBlock('field'); - const namespace = select(STORE_NAME).getSettingsNamespace(); - - addFilter('editor.BlockEdit', `${namespace}/${blockName}`, setNoneEightshiftFormsBlocksField); - addFilter('blocks.registerBlockType', `${namespace}/${blockName}`, setNoneEightshiftBlocksFieldAttributes); -}; diff --git a/src/Blocks/custom/field/field-overrides.js b/src/Blocks/custom/field/field-overrides.js deleted file mode 100644 index c0f997815..000000000 --- a/src/Blocks/custom/field/field-overrides.js +++ /dev/null @@ -1,9 +0,0 @@ -import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; - -export const overrides = { - ...manifest, - icon:{ - src: getUtilsIcons('field') ?? manifest.icon.src, - } -}; diff --git a/src/Blocks/custom/field/manifest.json b/src/Blocks/custom/field/manifest.json index 4ef62051d..929d61ff2 100644 --- a/src/Blocks/custom/field/manifest.json +++ b/src/Blocks/custom/field/manifest.json @@ -2,19 +2,15 @@ "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/block.json", "blockName": "field", "title": "Field", - "description" : "A field blocks that is used as wrapper around custom blocks provided from external source. This block will never show in the editor.", + "description": "A field blocks that is used as wrapper around custom blocks provided from external source. This block will never show in the editor.", "category": "eightshift-forms", "icon": { - "src": "esf-field" + "src": "field" }, - "keywords": [ - "field" - ], + "keywords": ["field"], "components": { "field": "field", "conditionalTags": "conditionalTags" }, - "parent": [ - "eightshift-forms/mailer" - ] + "parent": ["eightshift-forms/mailer"] } diff --git a/src/Blocks/custom/file/components/file-editor.js b/src/Blocks/custom/file/components/file-editor.js index 4c73cedc0..2b5bfaec7 100644 --- a/src/Blocks/custom/file/components/file-editor.js +++ b/src/Blocks/custom/file/components/file-editor.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { FileEditor as FileEditorComponent } from '../../../components/file/components/file-editor'; export const FileEditor = ({ attributes, setAttributes, clientId }) => { @@ -7,7 +7,7 @@ export const FileEditor = ({ attributes, setAttributes, clientId }) => { ); diff --git a/src/Blocks/custom/file/components/file-options.js b/src/Blocks/custom/file/components/file-options.js index 8fca58e2b..07a331463 100644 --- a/src/Blocks/custom/file/components/file-options.js +++ b/src/Blocks/custom/file/components/file-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { FileOptions as FileOptionsComponent } from '../../../components/file/components/file-options'; export const FileOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/file/file-overrides.js b/src/Blocks/custom/file/file-overrides.js index 24dda12f9..83e5cea62 100644 --- a/src/Blocks/custom/file/file-overrides.js +++ b/src/Blocks/custom/file/file-overrides.js @@ -1,10 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from './../../manifest.json'; + export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('file') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.integrationsNoBuilder, }; diff --git a/src/Blocks/custom/file/manifest.json b/src/Blocks/custom/file/manifest.json index 0486f2dcb..48a5a88da 100644 --- a/src/Blocks/custom/file/manifest.json +++ b/src/Blocks/custom/file/manifest.json @@ -2,14 +2,12 @@ "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/block.json", "blockName": "file", "title": "File", - "description" : "A file upload field", + "description": "A file upload field", "category": "eightshift-forms", "icon": { - "src": "esf-file" + "src": "file" }, - "keywords": [ - "file" - ], + "keywords": ["file"], "components": { "file": "file" } diff --git a/src/Blocks/custom/form-selector/components/form-selector-editor.js b/src/Blocks/custom/form-selector/components/form-selector-editor.js index 4d9795b1f..bc48886b0 100644 --- a/src/Blocks/custom/form-selector/components/form-selector-editor.js +++ b/src/Blocks/custom/form-selector/components/form-selector-editor.js @@ -1,75 +1,68 @@ import React from 'react'; -import { camelCase } from 'lodash'; import { __ } from '@wordpress/i18n'; -import { select } from '@wordpress/data'; -import { Button, Placeholder } from '@wordpress/components'; +import { Placeholder } from '@wordpress/components'; import { InnerBlocks } from '@wordpress/block-editor'; -import { STORE_NAME, icons } from '@eightshift/frontend-libs/scripts'; +import { icons } from '@eightshift/ui-components/icons'; +import { Button } from '@eightshift/ui-components'; import { createBlockFromTemplate, DashboardButton } from './../../../components/utils'; +import { camelCase } from '@eightshift/ui-components/utilities'; import { getUtilsIcons } from '../../../components/form/assets/state-init'; import globalSettings from './../../../manifest.json'; +import manifest from '../manifest.json'; -export const FormSelectorEditor = ({ - clientId, - hasInnerBlocks, -}) => { - const manifest = select(STORE_NAME).getBlock('form-selector'); - - const { - forms, - } = manifest; +export const FormSelectorEditor = ({ clientId, hasInnerBlocks }) => { + const { forms } = manifest; return ( <> - {!hasInnerBlocks && ( + {!hasInnerBlocks && ( {__('Eightshift Forms', 'eightshift-forms')}} - className='es-max-w-108 es-rounded-3! es-mx-auto! es-font-weight-400 es-color-cool-gray-500! es-nested-color-current!' + label={{__('Eightshift Forms', 'eightshift-forms')}} > -

{__('What type is your new form?', 'eightshift-forms')}

- {forms.length > 0 && -
+

{__('What type is your new form?', 'eightshift-forms')}

+ {forms.length > 0 && ( +
{forms.map((form, index) => { - const { label, slug, icon } = form; + const { label, slug, icon } = form; - let iconComponent = icon; + let iconComponent = icon; - if (!icon) { - iconComponent = getUtilsIcons(camelCase(slug)); - } + if (!icon) { + iconComponent = getUtilsIcons(camelCase(slug)); + } - return ( - - ); - })} + return ( + + ); + })}
- } + )} - {forms.length < 1 && + {forms.length < 1 && ( <> - {__('It appears that you don\'t have any active integrations set up for your project. Please go to the Eightshift Forms dashboard and configure your first integration.', 'eightshift-forms')} + {__( + "It appears that you don't have any active integrations set up for your project. Please go to the Eightshift Forms dashboard and configure your first integration.", + 'eightshift-forms', + )} - } + )} )} ); diff --git a/src/Blocks/custom/form-selector/components/form-selector-options.js b/src/Blocks/custom/form-selector/components/form-selector-options.js index 91c47de79..e0186dece 100644 --- a/src/Blocks/custom/form-selector/components/form-selector-options.js +++ b/src/Blocks/custom/form-selector/components/form-selector-options.js @@ -1,15 +1,15 @@ import React from 'react'; import { __ } from '@wordpress/i18n'; -import { PanelBody } from '@wordpress/components'; import { SettingsButton, GlobalSettingsButton } from '../../../components/utils'; +import { ContainerPanel, HStack } from '@eightshift/ui-components'; export const FormSelectorOptions = () => { return ( - - -
-
- -
+ + + + + + ); }; diff --git a/src/Blocks/custom/form-selector/form-selector-block.js b/src/Blocks/custom/form-selector/form-selector-block.js index ae10671af..d7133e1dc 100644 --- a/src/Blocks/custom/form-selector/form-selector-block.js +++ b/src/Blocks/custom/form-selector/form-selector-block.js @@ -5,9 +5,7 @@ import { FormSelectorEditor } from './components/form-selector-editor'; import { FormSelectorOptions } from './components/form-selector-options'; export const FormSelector = (props) => { - const { - clientId - } = props; + const { clientId } = props; const postId = select('core/editor').getCurrentPostId(); diff --git a/src/Blocks/custom/form-selector/form-selector-overrides.js b/src/Blocks/custom/form-selector/form-selector-overrides.js index d9df5c03b..1e3ab3787 100644 --- a/src/Blocks/custom/form-selector/form-selector-overrides.js +++ b/src/Blocks/custom/form-selector/form-selector-overrides.js @@ -2,12 +2,8 @@ import globalManifest from '../../manifest.json'; import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; -const forms = [ - ...manifest.forms, - ...esFormsLocalization.formsSelectorTemplates, -]; +const forms = [...manifest.forms, ...esFormsLocalization.formsSelectorTemplates]; const outputForms = []; @@ -24,7 +20,4 @@ forms.forEach((form) => { export const overrides = { ...manifest, forms: outputForms, - icon:{ - src: getUtilsIcons('formPicker') ?? manifest.icon.src, - } }; diff --git a/src/Blocks/custom/form-selector/manifest.json b/src/Blocks/custom/form-selector/manifest.json index bc4ecee58..3ae2ba418 100644 --- a/src/Blocks/custom/form-selector/manifest.json +++ b/src/Blocks/custom/form-selector/manifest.json @@ -2,14 +2,12 @@ "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/block.json", "blockName": "form-selector", "title": "Form selector", - "description" : "Choose the form you want to display", + "description": "Choose the form you want to display", "category": "eightshift-forms", "icon": { - "src": "esf-form-picker" + "src": "form-picker" }, - "keywords": [ - "forms" - ], + "keywords": ["forms"], "hasInnerBlocks": true, "supports": { "inserter": false @@ -28,10 +26,7 @@ "inputInputName": "email", "inputInputIsRequired": true, "inputInputIsEmail": true, - "inputInputDisabledOptions": [ - "inputInputIsRequired", - "inputInputName" - ] + "inputInputDisabledOptions": ["inputInputIsRequired", "inputInputName"] } ], [ @@ -57,9 +52,7 @@ "textareaTextareaName": "message" } ], - [ - "eightshift-forms/submit" - ] + ["eightshift-forms/submit"] ] }, { @@ -125,10 +118,7 @@ "inputInputName": "email", "inputInputIsRequired": true, "inputInputIsEmail": true, - "inputInputDisabledOptions": [ - "inputInputIsRequired", - "inputInputName" - ] + "inputInputDisabledOptions": ["inputInputIsRequired", "inputInputName"] } ], [ @@ -154,9 +144,7 @@ "textareaTextareaName": "message" } ], - [ - "eightshift-forms/submit" - ] + ["eightshift-forms/submit"] ] }, { @@ -172,10 +160,7 @@ "inputInputName": "email", "inputInputIsRequired": true, "inputInputIsEmail": true, - "inputInputDisabledOptions": [ - "inputInputIsRequired", - "inputInputName" - ] + "inputInputDisabledOptions": ["inputInputIsRequired", "inputInputName"] } ], [ @@ -204,9 +189,7 @@ "inputInputName": "amount" } ], - [ - "eightshift-forms/submit" - ] + ["eightshift-forms/submit"] ] }, { @@ -222,10 +205,7 @@ "inputInputName": "email", "inputInputIsRequired": true, "inputInputIsEmail": true, - "inputInputDisabledOptions": [ - "inputInputIsRequired", - "inputInputName" - ] + "inputInputDisabledOptions": ["inputInputIsRequired", "inputInputName"] } ], [ @@ -238,9 +218,7 @@ "inputInputName": "amount" } ], - [ - "eightshift-forms/submit" - ] + ["eightshift-forms/submit"] ] }, { @@ -256,10 +234,7 @@ "inputInputName": "email", "inputInputIsRequired": true, "inputInputIsEmail": true, - "inputInputDisabledOptions": [ - "inputInputIsRequired", - "inputInputName" - ] + "inputInputDisabledOptions": ["inputInputIsRequired", "inputInputName"] } ], [ @@ -285,9 +260,7 @@ "textareaTextareaName": "message" } ], - [ - "eightshift-forms/submit" - ] + ["eightshift-forms/submit"] ] }, { @@ -304,9 +277,7 @@ "inputInputIsNumber": true } ], - [ - "eightshift-forms/submit" - ] + ["eightshift-forms/submit"] ] }, { @@ -322,10 +293,7 @@ "inputInputName": "email", "inputInputIsRequired": true, "inputInputIsEmail": true, - "inputInputDisabledOptions": [ - "inputInputIsRequired", - "inputInputName" - ] + "inputInputDisabledOptions": ["inputInputIsRequired", "inputInputName"] } ], [ @@ -336,9 +304,7 @@ "inputInputName": "name" } ], - [ - "eightshift-forms/submit" - ] + ["eightshift-forms/submit"] ] } ] diff --git a/src/Blocks/custom/forms/components/forms-editor.js b/src/Blocks/custom/forms/components/forms-editor.js index 9b77da1e0..2df4db5c1 100644 --- a/src/Blocks/custom/forms/components/forms-editor.js +++ b/src/Blocks/custom/forms/components/forms-editor.js @@ -1,29 +1,14 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { - checkAttr, - props, - icons, - AsyncSelect, - getAttrKey, - STORE_NAME, -} from '@eightshift/frontend-libs/scripts'; +import { checkAttr, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts'; +import { AsyncSelect } from '@eightshift/ui-components'; +import { icons } from '@eightshift/ui-components/icons'; import { __, sprintf } from '@wordpress/i18n'; import { Placeholder } from '@wordpress/components'; -import { ConditionalTagsEditor } from '../../../components/conditional-tags/components/conditional-tags-editor'; import { FormEditButton, outputFormSelectItemWithIcon } from '../../../components/utils'; +import manifest from '../manifest.json'; -export const FormsEditor = ({ - attributes, - setAttributes, - preview, - formSelectOptions, -}) => { - const manifest = select(STORE_NAME).getBlock('forms'); - - const { - isGeoPreview, - } = preview; +export const FormsEditor = ({ attributes, setAttributes, preview, formSelectOptions }) => { + const { isGeoPreview } = preview; const formsFormGeolocationAlternatives = checkAttr('formsFormGeolocationAlternatives', attributes, manifest); const formsFormPostIdRaw = checkAttr('formsFormPostIdRaw', attributes, manifest); @@ -33,13 +18,14 @@ export const FormsEditor = ({ return ( {__('Eightshift Forms', 'eightshift-forms')}} - className='es-max-w-80 es-rounded-3! es-mx-auto! es-font-weight-400 es-color-cool-gray-500! es-nested-color-current!' + label={{__('Eightshift Forms', 'eightshift-forms')}} > To get started, select a form:} - help={__('If you can\'t find a form, start typing its name while the dropdown is open.', 'eightshift-forms')} - value={outputFormSelectItemWithIcon(Object.keys(formsFormPostIdRaw).length ? formsFormPostIdRaw : {id: formsFormPostId})} + label={{__('To get started, select a form:', 'eightshift-forms')}} + help={__("If you can't find a form, start typing its name while the dropdown is open.", 'eightshift-forms')} + value={outputFormSelectItemWithIcon( + Object.keys(formsFormPostIdRaw).length ? formsFormPostIdRaw : { id: formsFormPostId }, + )} loadOptions={formSelectOptions} onChange={(value) => { setAttributes({ @@ -52,7 +38,6 @@ export const FormsEditor = ({ [getAttrKey('formsFormPostId', attributes, manifest)]: `${value?.value}`, }); }} - noBottomSpacing /> ); @@ -60,42 +45,37 @@ export const FormsEditor = ({ return ( <> - {isGeoPreview && -
- {__('Original form', 'eightshift-forms')} -
- } + {isGeoPreview &&
{__('Original form', 'eightshift-forms')}
} {__('Eightshift Forms', 'eightshift-forms')}} - className='es-rounded-3! es-mx-auto! es-font-weight-400 es-color-cool-gray-500! es-nested-color-current!' + label={{__('Eightshift Forms', 'eightshift-forms')}} isColumnLayout={true} > - {sprintf(__('Form "%s" with type "%s" will be displayed here.', 'eightshift-forms'), formsFormPostIdRaw?.label, formsFormPostIdRaw?.metadata)} + {sprintf( + __('Form "%s" with type "%s" will be displayed here.', 'eightshift-forms'), + formsFormPostIdRaw?.label, + formsFormPostIdRaw?.metadata, + )}
- - - {isGeoPreview && + {isGeoPreview && ( <> -
- {__('Geolocation alternatives', 'eightshift-forms')} -
+
{__('Geolocation alternatives', 'eightshift-forms')}
{formsFormGeolocationAlternatives.map((item, index) => { return ( {__('Eightshift Forms', 'eightshift-forms')}} - className='es-rounded-3! es-mt-5! es-mx-auto! es-font-weight-400 es-color-cool-gray-500! es-nested-color-current!' + label={{__('Eightshift Forms', 'eightshift-forms')}} > - {sprintf(__('Form "%s" with type "%s" will be displayed here.', 'eightshift-forms'), item?.form?.label, item?.form?.metadata)} + {sprintf( + __('Form "%s" with type "%s" will be displayed here.', 'eightshift-forms'), + item?.form?.label, + item?.form?.metadata, + )}
{sprintf(__('Geolocation used: "%s"', 'eightshift-forms'), item.geoLocation.join(', '))}
@@ -104,7 +84,7 @@ export const FormsEditor = ({ ); })} - } + )} ); }; diff --git a/src/Blocks/custom/forms/components/forms-options.js b/src/Blocks/custom/forms/components/forms-options.js index ba7b39143..9d09a1643 100644 --- a/src/Blocks/custom/forms/components/forms-options.js +++ b/src/Blocks/custom/forms/components/forms-options.js @@ -2,28 +2,26 @@ import React, { useEffect } from 'react'; import { useState } from '@wordpress/element'; -import { isArray } from 'lodash'; import { __, sprintf } from '@wordpress/i18n'; -import { select } from '@wordpress/data'; import { MediaPlaceholder } from '@wordpress/block-editor'; -import { PanelBody, TextControl, Button, Modal, ExternalLink } from '@wordpress/components'; +import { ExternalLink } from '@wordpress/components'; import apiFetch from '@wordpress/api-fetch'; +import { getAttrKey, checkAttr, props } from '@eightshift/frontend-libs-tailwind/scripts'; import { - IconLabel, - icons, - getAttrKey, - checkAttr, - props, - AsyncSelect, + BaseControl, MultiSelect, - IconToggle, - Control, - Section, - STORE_NAME, + AsyncSelect, + RichLabel, + Toggle, Repeater, RepeaterItem, - Toggle, -} from '@eightshift/frontend-libs/scripts'; + Button, + ContainerPanel, + InputField, + ContainerGroup, + Modal, +} from '@eightshift/ui-components'; +import { icons } from '@eightshift/ui-components/icons'; import { ConditionalTagsFormsOptions } from '../../../components/conditional-tags/components/conditional-tags-forms-options'; import { FormEditButton, @@ -32,19 +30,10 @@ import { outputFormSelectItemWithIcon, } from '../../../components/utils'; import { getRestUrl } from '../../../components/form/assets/state-init'; +import manifest from '../manifest.json'; -export const FormsOptions = ({ - attributes, - setAttributes, - preview, - formSelectOptions -}) => { - const manifest = select(STORE_NAME).getBlock('forms'); - - const { - isGeoPreview, - setIsGeoPreview, - } = preview; +export const FormsOptions = ({ attributes, setAttributes, preview, formSelectOptions }) => { + const { isGeoPreview, setIsGeoPreview } = preview; const formsFormPostId = checkAttr('formsFormPostId', attributes, manifest); const formsFormPostIdRaw = checkAttr('formsFormPostIdRaw', attributes, manifest); @@ -77,7 +66,7 @@ export const FormsOptions = ({ if (typeof esFormsLocalization !== 'undefined') { // Custom block forms style options. - if (isArray(esFormsLocalization?.formsBlockStyleOptions)) { + if (typeof esFormsLocalization !== 'undefined') { formsStyleOptions = esFormsLocalization.formsBlockStyleOptions; } @@ -96,10 +85,12 @@ export const FormsOptions = ({ return ( <> - + { setAttributes({ @@ -114,27 +105,32 @@ export const FormsOptions = ({ }} /> - {formsFormPostId && - -
+ {formsFormPostId && ( + +
- - } - +
+ )} -
- } + + setAttributes({ [getAttrKey('formsFormDataTypeSelector', attributes, manifest)]: value })} + onChange={(value) => + setAttributes({ [getAttrKey('formsFormDataTypeSelector', attributes, manifest)]: value }) + } /> -
+ - {formsStyleOptions?.length > 0 && + {formsStyleOptions?.length > 0 && ( setAttributes({ [getAttrKey('formsStyle', attributes, manifest)]: value })} simpleValue /> - } - + )} + - + -
- + { @@ -172,7 +171,7 @@ export const FormsOptions = ({ setAttributes({ [getAttrKey('formsVariation', attributes, manifest)]: newArray }); }} /> - { @@ -187,12 +186,11 @@ export const FormsOptions = ({ ))} - {formsUseCustomResultOutputFeature && + {formsUseCustomResultOutputFeature && ( <> @@ -200,27 +198,30 @@ export const FormsOptions = ({ {isResultOutputModalOpen && ( } + title={ + + } onRequestClose={() => setIsResultOutputModalOpen(false)} > - { - const newArray = {...formsVariationData}; + const newArray = { ...formsVariationData }; newArray.title = value; setAttributes({ [getAttrKey('formsVariationData', attributes, manifest)]: newArray }); }} /> - { - const newArray = {...formsVariationData}; + const newArray = { ...formsVariationData }; newArray.subtitle = value; setAttributes({ [getAttrKey('formsVariationData', attributes, manifest)]: newArray }); @@ -234,7 +235,6 @@ export const FormsOptions = ({ items={formsVariationDataFiles} attributeName={getAttrKey('formsVariationDataFiles', attributes, manifest)} setAttributes={setAttributes} - additionalClasses='es-border-t-cool-gray-300 es-mt-4 es-pt-4' > {formsVariationDataFiles.map((item, index) => ( -
- + { @@ -253,7 +253,7 @@ export const FormsOptions = ({ setAttributes({ [getAttrKey('formsVariationDataFiles', attributes, manifest)]: newArray }); }} /> - { @@ -268,7 +268,6 @@ export const FormsOptions = ({ { const newArray = [...formsVariationDataFiles]; newArray[index].asFile = value; @@ -283,8 +282,8 @@ export const FormsOptions = ({ }} /> - {!formsVariationDataFiles[index].asFile && - { @@ -294,7 +293,7 @@ export const FormsOptions = ({ setAttributes({ [getAttrKey('formsVariationDataFiles', attributes, manifest)]: newArray }); }} /> - } + )} {formsVariationDataFiles[index].asFile && ( <> @@ -309,49 +308,52 @@ export const FormsOptions = ({ url: value.url, }; - setAttributes({ [getAttrKey('formsVariationDataFiles', attributes, manifest)]: newArray }); + setAttributes({ + [getAttrKey('formsVariationDataFiles', attributes, manifest)]: newArray, + }); }} /> )} {formsVariationDataFiles[index]?.file && ( -
-
+
+
{icons.file} {formsVariationDataFiles[index]?.file?.title}
)} )} -
- + { const newArray = [...formsVariationDataFiles]; newArray[index].fieldName = value; - + setAttributes({ [getAttrKey('formsVariationDataFiles', attributes, manifest)]: newArray }); }} /> - { const newArray = [...formsVariationDataFiles]; newArray[index].fieldValue = value; - + setAttributes({ [getAttrKey('formsVariationDataFiles', attributes, manifest)]: newArray }); }} /> @@ -362,85 +364,107 @@ export const FormsOptions = ({ )} - } - + )} + - {formsUseGeolocation && - + {formsUseGeolocation && ( + 0 ? [] : formsFormGeolocation} options={geoFormFields} onChange={(value) => setAttributes({ [getAttrKey('formsFormGeolocation', attributes, manifest)]: value })} cacheOptions={false} simpleValue disabled={formsFormGeolocationAlternatives?.length > 0} - placeholder={formsFormGeolocationAlternatives?.length > 0 && __('Overriden by advanced rules', 'eightshift-forms')} + placeholder={ + formsFormGeolocationAlternatives?.length > 0 && __('Overriden by advanced rules', 'eightshift-forms') + } /> - 0 && sprintf(__('%d added', 'eightshift-forms'), formsFormGeolocationAlternatives.length)} - noBottomSpacing={formsFormGeolocationAlternatives?.length < 1} - reducedBottomSpacing={formsFormGeolocationAlternatives?.length > 0} - inlineLabel + subtitle={ + formsFormGeolocationAlternatives?.length > 0 && + sprintf(__('%d added', 'eightshift-forms'), formsFormGeolocationAlternatives.length) + } > - + - {formsFormGeolocationAlternatives?.length > 0 && - 0 && ( + setIsGeoPreview(value)} - noBottomSpacing /> - } + )} {isGeoModalOpen && ( } + title={ + + } onRequestClose={() => setIsGeoModalOpen(false)} > -

{__('Geolocation rules allow you to display alternate forms based on the user\'s location.', 'eightshift-forms')}

-

{__('If no rules are added and the "Show form only if in countries" field is populated, the form will only be shown in these countries. Otherwise, the form is shown everywhere.', 'eightshift-forms')}

- - {geolocationApi && -

{__('You can find complete list of countries and regions on this', 'eightshift-forms')} {__('link', 'eightshift-forms')}.

- } +

+ {__( + "Geolocation rules allow you to display alternate forms based on the user's location.", + 'eightshift-forms', + )} +

+

+ {__( + 'If no rules are added and the "Show form only if in countries" field is populated, the form will only be shown in these countries. Otherwise, the form is shown everywhere.', + 'eightshift-forms', + )} +

+ + {geolocationApi && ( +

+ {__('You can find complete list of countries and regions on this', 'eightshift-forms')}{' '} + {__('link', 'eightshift-forms')}. +

+ )}
- {formsFormGeolocationAlternatives?.length > 0 && -
- {__('Form to display', 'eightshift-forms')} - {__('Countries to show the form in', 'eightshift-forms')} + {formsFormGeolocationAlternatives?.length > 0 && ( +
+ {__('Form to display', 'eightshift-forms')} + {__('Countries to show the form in', 'eightshift-forms')}
- } + )} {formsFormGeolocationAlternatives?.map((_, index) => { return ( -
+
{ const newData = [...formsFormGeolocationAlternatives]; @@ -451,10 +475,10 @@ export const FormsOptions = ({ metadata: value?.metadata?.metadata, }; newData[index].formId = value.value.toString(); - setAttributes({ [getAttrKey('formsFormGeolocationAlternatives', attributes, manifest)]: newData }); + setAttributes({ + [getAttrKey('formsFormGeolocationAlternatives', attributes, manifest)]: newData, + }); }} - additionalSelectClasses='es-w-64' - noBottomSpacing /> { const newData = [...formsFormGeolocationAlternatives]; newData[index].geoLocation = value; - setAttributes({ [getAttrKey('formsFormGeolocationAlternatives', attributes, manifest)]: newData }); + setAttributes({ + [getAttrKey('formsFormGeolocationAlternatives', attributes, manifest)]: newData, + }); }} - additionalSelectClasses='es-w-80' - noBottomSpacing simpleValue /> @@ -474,10 +498,13 @@ export const FormsOptions = ({ icon={icons.trash} onClick={() => { formsFormGeolocationAlternatives.splice(index, 1); - setAttributes({ [getAttrKey('formsFormGeolocationAlternatives', attributes, manifest)]: [...formsFormGeolocationAlternatives] }); + setAttributes({ + [getAttrKey('formsFormGeolocationAlternatives', attributes, manifest)]: [ + ...formsFormGeolocationAlternatives, + ], + }); }} label={__('Remove', 'eightshift-forms')} - className='es-ml-auto es-rounded-1!' />
); @@ -485,25 +512,30 @@ export const FormsOptions = ({ -
+
)} - - } + + )} { const [isGeoPreview, setIsGeoPreview] = useState(false); - const formSelectOptions = getFetchWpApi( - esFormsLocalization?.postTypes?.forms, - { - noCache: true, - processLabel: ({ title: { rendered: label }, integration_type: metadata, id }) => { - return outputFormSelectItemWithIcon({ - label, - id, - metadata, - })?.label; - }, - fields: 'id,title,integration_type', - processMetadata: ({ title: { rendered: label }, integration_type: metadata, id }) => ({ - id, - value: id, + const formSelectOptions = fetchFromWpRest(esFormsLocalization?.postTypes?.forms, { + noCache: true, + processLabel: ({ title: { rendered: label }, integration_type: metadata, id }) => { + return outputFormSelectItemWithIcon({ label, + id, metadata, - }), - } - ); + })?.label; + }, + fields: 'id,title,integration_type', + processMetadata: ({ title: { rendered: label }, integration_type: metadata, id }) => ({ + id, + value: id, + label, + metadata, + }), + }); return ( <> @@ -39,7 +36,7 @@ export const Forms = (props) => { {...props} preview={{ isGeoPreview: isGeoPreview, - setIsGeoPreview: setIsGeoPreview + setIsGeoPreview: setIsGeoPreview, }} formSelectOptions={formSelectOptions} /> @@ -48,7 +45,7 @@ export const Forms = (props) => { {...props} preview={{ isGeoPreview: isGeoPreview, - setIsGeoPreview: setIsGeoPreview + setIsGeoPreview: setIsGeoPreview, }} formSelectOptions={formSelectOptions} /> diff --git a/src/Blocks/custom/forms/forms-hooks.js b/src/Blocks/custom/forms/forms-hooks.js deleted file mode 100644 index 046bdf08b..000000000 --- a/src/Blocks/custom/forms/forms-hooks.js +++ /dev/null @@ -1,53 +0,0 @@ -import React from 'react'; -import { createHigherOrderComponent } from '@wordpress/compose'; -import { addFilter } from '@wordpress/hooks'; -import globalManifest from '../../manifest.json'; -import manifest from './manifest.json'; -import { classnames } from '@eightshift/frontend-libs/scripts'; - -const { - namespace, - globalVariables: { - customBlocksName, - }, -} = globalManifest; - -const { blockName } = manifest; -const fullBlockName = `${namespace}/${blockName}`; - -// Add options to the Gutenberg markup. -const parentComponentBlock = createHigherOrderComponent((BlockListBlock) => { - return (innerProps) => { - const { - name, - clientId, - attributes: { - blockClass, - }, - } = innerProps; - - let updatedProps = {...innerProps}; - - if (name === fullBlockName) { - const componentClass = classnames( - blockClass, - customBlocksName, - ); - - updatedProps = { - ...innerProps, - className: componentClass, - }; - } - - const dataProps = { 'data-id': clientId }; - - return ( - - ); - }; -}, 'parentComponentBlock'); - -export const hooks = () => { - addFilter('editor.BlockListBlock', fullBlockName, parentComponentBlock); -}; diff --git a/src/Blocks/custom/forms/forms-overrides.js b/src/Blocks/custom/forms/forms-overrides.js deleted file mode 100644 index 843f43c03..000000000 --- a/src/Blocks/custom/forms/forms-overrides.js +++ /dev/null @@ -1,9 +0,0 @@ -import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; - -export const overrides = { - ...manifest, - icon:{ - src: getUtilsIcons('form') ?? manifest.icon.src, - } -}; diff --git a/src/Blocks/custom/forms/forms.php b/src/Blocks/custom/forms/forms.php index 02379916e..109c38b90 100644 --- a/src/Blocks/custom/forms/forms.php +++ b/src/Blocks/custom/forms/forms.php @@ -88,7 +88,7 @@ static function ($item) { $twClassesData = FormsHelper::getTwSelectorsData($attributes); $twClasses = FormsHelper::getTwSelectors($twClassesData, ['forms']); -$formsClass = Helpers::classnames([ +$formsClass = Helpers::clsx([ FormsHelper::getTwBase($twClasses, 'forms', $blockClass), UtilsHelper::getStateSelector('forms'), Helpers::selector($hasGeolocation, UtilsHelper::getStateSelector('isGeoLoading')), diff --git a/src/Blocks/custom/forms/manifest.json b/src/Blocks/custom/forms/manifest.json index fd3e043de..814efdc88 100644 --- a/src/Blocks/custom/forms/manifest.json +++ b/src/Blocks/custom/forms/manifest.json @@ -2,14 +2,12 @@ "$schema": "https://raw.githubusercontent.com/infinum/eightshift-frontend-libs/develop/schemas/block.json", "blockName": "forms", "title": "Form", - "description" : "Allows selecting the form that should be displayed", + "description": "Allows selecting the form that should be displayed", "category": "eightshift-forms", "icon": { - "src": "esf-form" + "src": "form" }, - "keywords": [ - "forms" - ], + "keywords": ["forms"], "attributes": { "formsFormPostId": { "type": "string" diff --git a/src/Blocks/custom/goodbits/components/goodbits-editor.js b/src/Blocks/custom/goodbits/components/goodbits-editor.js index 44b9f9e78..3c4b73524 100644 --- a/src/Blocks/custom/goodbits/components/goodbits-editor.js +++ b/src/Blocks/custom/goodbits/components/goodbits-editor.js @@ -1,26 +1,14 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsEditor } from './../../../components/integrations/components/integrations-editor'; +import manifest from '../manifest.json'; -export const GoodbitsEditor = ({ - attributes, - setAttributes, - itemIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('goodbits'); - - const { - blockClass, - } = attributes; - +export const GoodbitsEditor = ({ attributes, setAttributes, itemIdKey }) => { return ( -
- -
+ ); }; diff --git a/src/Blocks/custom/goodbits/components/goodbits-options.js b/src/Blocks/custom/goodbits/components/goodbits-options.js index 42a3b55d0..853b38af1 100644 --- a/src/Blocks/custom/goodbits/components/goodbits-options.js +++ b/src/Blocks/custom/goodbits/components/goodbits-options.js @@ -1,20 +1,10 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsOptions } from './../../../components/integrations/components/integrations-options'; +import manifest from '../manifest.json'; -export const GoodbitsOptions = ({ - attributes, - setAttributes, - clientId, - itemIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('goodbits'); - - const { - title, - blockName, - } = manifest; +export const GoodbitsOptions = ({ attributes, setAttributes, clientId, itemIdKey }) => { + const { title, blockName } = manifest; return ( { - const manifest = select(STORE_NAME).getBlock('greenhouse'); - - const { - blockClass, - } = attributes; - +export const GreenhouseEditor = ({ attributes, setAttributes, itemIdKey }) => { return ( -
- -
+ ); }; diff --git a/src/Blocks/custom/greenhouse/components/greenhouse-options.js b/src/Blocks/custom/greenhouse/components/greenhouse-options.js index bd92b9a46..87974cf51 100644 --- a/src/Blocks/custom/greenhouse/components/greenhouse-options.js +++ b/src/Blocks/custom/greenhouse/components/greenhouse-options.js @@ -1,20 +1,10 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsOptions } from './../../../components/integrations/components/integrations-options'; +import manifest from '../manifest.json'; -export const GreenhouseOptions = ({ - attributes, - setAttributes, - clientId, - itemIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('greenhouse'); - - const { - title, - blockName, - } = manifest; +export const GreenhouseOptions = ({ attributes, setAttributes, clientId, itemIdKey }) => { + const { title, blockName } = manifest; return ( { - const manifest = select(STORE_NAME).getBlock('hubspot'); - - const { - blockClass, - } = attributes; - +export const HubspotEditor = ({ attributes, setAttributes, itemIdKey }) => { return ( -
- -
+ ); }; diff --git a/src/Blocks/custom/hubspot/components/hubspot-options.js b/src/Blocks/custom/hubspot/components/hubspot-options.js index 390e9e2ae..88a9a4142 100644 --- a/src/Blocks/custom/hubspot/components/hubspot-options.js +++ b/src/Blocks/custom/hubspot/components/hubspot-options.js @@ -1,20 +1,10 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsOptions } from './../../../components/integrations/components/integrations-options'; +import manifest from '../manifest.json'; -export const HubspotOptions = ({ - attributes, - setAttributes, - clientId, - itemIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('hubspot'); - - const { - title, - blockName, - } = manifest; +export const HubspotOptions = ({ attributes, setAttributes, clientId, itemIdKey }) => { + const { title, blockName } = manifest; return ( { diff --git a/src/Blocks/custom/input/components/input-options.js b/src/Blocks/custom/input/components/input-options.js index 9fd06d50d..25bcdbb65 100644 --- a/src/Blocks/custom/input/components/input-options.js +++ b/src/Blocks/custom/input/components/input-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { InputOptions as InputOptionsComponent } from '../../../components/input/components/input-options'; export const InputOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/input/input-overrides.js b/src/Blocks/custom/input/input-overrides.js index ba113dbc7..83e5cea62 100644 --- a/src/Blocks/custom/input/input-overrides.js +++ b/src/Blocks/custom/input/input-overrides.js @@ -1,11 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from './../../manifest.json'; export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('input') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.integrationsNoBuilder, }; diff --git a/src/Blocks/custom/input/manifest.json b/src/Blocks/custom/input/manifest.json index 53d1b0918..0dee142a4 100644 --- a/src/Blocks/custom/input/manifest.json +++ b/src/Blocks/custom/input/manifest.json @@ -5,7 +5,7 @@ "description" : "A simple data input field (text, e-mail, numbers, URLs, etc.)", "category": "eightshift-forms", "icon": { - "src": "esf-input" + "src": "input" }, "keywords": [ "input", diff --git a/src/Blocks/custom/jira/components/jira-editor.js b/src/Blocks/custom/jira/components/jira-editor.js index 5c69eb192..6c25797b6 100644 --- a/src/Blocks/custom/jira/components/jira-editor.js +++ b/src/Blocks/custom/jira/components/jira-editor.js @@ -1,27 +1,20 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { InnerBlocks } from '@wordpress/block-editor'; -import { props, BlockInserter, STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import { props, BlockInserter } from '@eightshift/frontend-libs-tailwind/scripts'; import { FormEditor, additionalBlocksNoIntegration } from '../../../components/form/components/form-editor'; export const JiraEditor = ({ attributes, setAttributes, clientId }) => { - const manifest = select(STORE_NAME).getBlock('jira'); - - const { - blockClass, - } = attributes; - return ( -
- } /> - })} - /> -
+ ), + })} + /> ); }; diff --git a/src/Blocks/custom/jira/components/jira-options.js b/src/Blocks/custom/jira/components/jira-options.js index cbaa1ff5c..9aa75604b 100644 --- a/src/Blocks/custom/jira/components/jira-options.js +++ b/src/Blocks/custom/jira/components/jira-options.js @@ -1,18 +1,9 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { IntegrationsInternalOptions } from '../../../components/integrations/components/integrations-internal-options'; -import { STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import manifest from '../manifest.json'; -export const JiraOptions = ({ - attributes, - setAttributes, - clientId, -}) => { - const manifest = select(STORE_NAME).getBlock('jira'); - - const { - title, - } = manifest; +export const JiraOptions = ({ attributes, setAttributes, clientId }) => { + const { title } = manifest; return ( { - const manifest = select(STORE_NAME).getBlock('mailchimp'); - - const { - blockClass, - } = attributes; - +export const MailchimpEditor = ({ attributes, setAttributes, itemIdKey }) => { return ( -
- -
+ ); }; diff --git a/src/Blocks/custom/mailchimp/components/mailchimp-options.js b/src/Blocks/custom/mailchimp/components/mailchimp-options.js index 882d34ed8..f365d163d 100644 --- a/src/Blocks/custom/mailchimp/components/mailchimp-options.js +++ b/src/Blocks/custom/mailchimp/components/mailchimp-options.js @@ -1,20 +1,10 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsOptions } from './../../../components/integrations/components/integrations-options'; +import manifest from '../manifest.json'; -export const MailchimpOptions = ({ - attributes, - setAttributes, - clientId, - itemIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('mailchimp'); - - const { - title, - blockName, - } = manifest; +export const MailchimpOptions = ({ attributes, setAttributes, clientId, itemIdKey }) => { + const { title, blockName } = manifest; return ( { - const { - blockClass, - } = attributes; + const { blockClass } = attributes; return (
} /> + ), })} />
diff --git a/src/Blocks/custom/mailer/components/mailer-options.js b/src/Blocks/custom/mailer/components/mailer-options.js index 291cce685..a7531fa77 100644 --- a/src/Blocks/custom/mailer/components/mailer-options.js +++ b/src/Blocks/custom/mailer/components/mailer-options.js @@ -1,18 +1,9 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { IntegrationsInternalOptions } from '../../../components/integrations/components/integrations-internal-options'; -import { STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import manifest from '../manifest.json'; -export const MailerOptions = ({ - attributes, - setAttributes, - clientId, -}) => { - const manifest = select(STORE_NAME).getBlock('mailer'); - - const { - title, - } = manifest; +export const MailerOptions = ({ attributes, setAttributes, clientId }) => { + const { title } = manifest; return ( { - const manifest = select(STORE_NAME).getBlock('mailerlite'); - - const { - blockClass, - } = attributes; +export const MailerliteEditor = ({ attributes, setAttributes, itemIdKey }) => { + const { blockClass } = attributes; return (
diff --git a/src/Blocks/custom/mailerlite/components/mailerlite-options.js b/src/Blocks/custom/mailerlite/components/mailerlite-options.js index 6d78db339..987bd39ce 100644 --- a/src/Blocks/custom/mailerlite/components/mailerlite-options.js +++ b/src/Blocks/custom/mailerlite/components/mailerlite-options.js @@ -1,20 +1,10 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsOptions } from './../../../components/integrations/components/integrations-options'; +import manifest from '../manifest.json'; -export const MailerliteOptions = ({ - attributes, - setAttributes, - clientId, - itemIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('mailerlite'); - - const { - title, - blockName, - } = manifest; +export const MailerliteOptions = ({ attributes, setAttributes, clientId, itemIdKey }) => { + const { title, blockName } = manifest; return ( { - const manifest = select(STORE_NAME).getBlock('moments'); - - const { - blockClass, - } = attributes; +export const MomentsEditor = ({ attributes, setAttributes, itemIdKey }) => { + const { blockClass } = attributes; return (
diff --git a/src/Blocks/custom/moments/components/moments-options.js b/src/Blocks/custom/moments/components/moments-options.js index 300bc7057..f18f05309 100644 --- a/src/Blocks/custom/moments/components/moments-options.js +++ b/src/Blocks/custom/moments/components/moments-options.js @@ -1,20 +1,10 @@ import React from 'react'; -import { select } from '@wordpress/data'; -import { STORE_NAME, checkAttr } from '@eightshift/frontend-libs/scripts'; +import { checkAttr } from '@eightshift/frontend-libs-tailwind/scripts'; import { IntegrationsOptions } from './../../../components/integrations/components/integrations-options'; +import manifest from '../manifest.json'; -export const MomentsOptions = ({ - attributes, - setAttributes, - clientId, - itemIdKey, -}) => { - const manifest = select(STORE_NAME).getBlock('moments'); - - const { - title, - blockName, - } = manifest; +export const MomentsOptions = ({ attributes, setAttributes, clientId, itemIdKey }) => { + const { title, blockName } = manifest; return ( { - const manifest = select(STORE_NAME).getBlock('nationbuilder'); - - const { - blockClass, - } = attributes; + const { blockClass } = attributes; return (
} - /> + formContent: ( + } + /> + ), })} />
diff --git a/src/Blocks/custom/nationbuilder/components/nationbuilder-options.js b/src/Blocks/custom/nationbuilder/components/nationbuilder-options.js index d2e39e094..537d2944e 100644 --- a/src/Blocks/custom/nationbuilder/components/nationbuilder-options.js +++ b/src/Blocks/custom/nationbuilder/components/nationbuilder-options.js @@ -1,18 +1,9 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { IntegrationsInternalOptions } from '../../../components/integrations/components/integrations-internal-options'; -import { STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import manifest from '../manifest.json'; -export const NationbuilderOptions = ({ - attributes, - setAttributes, - clientId, -}) => { - const manifest = select(STORE_NAME).getBlock('nationbuilder'); - - const { - title, - } = manifest; +export const NationbuilderOptions = ({ attributes, setAttributes, clientId }) => { + const { title } = manifest; return ( { - const manifest = select(STORE_NAME).getBlock('paycek'); - - const { - blockClass, - } = attributes; + const { blockClass } = attributes; return (
} - /> + formContent: ( + } + /> + ), })} />
diff --git a/src/Blocks/custom/paycek/components/paycek-options.js b/src/Blocks/custom/paycek/components/paycek-options.js index 3a781374b..9c5c0c795 100644 --- a/src/Blocks/custom/paycek/components/paycek-options.js +++ b/src/Blocks/custom/paycek/components/paycek-options.js @@ -1,18 +1,9 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { IntegrationsInternalOptions } from '../../../components/integrations/components/integrations-internal-options'; -import { STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import manifest from '../manifest.json'; -export const PaycekOptions = ({ - attributes, - setAttributes, - clientId, -}) => { - const manifest = select(STORE_NAME).getBlock('paycek'); - - const { - title, - } = manifest; +export const PaycekOptions = ({ attributes, setAttributes, clientId }) => { + const { title } = manifest; return ( { diff --git a/src/Blocks/custom/phone/components/phone-options.js b/src/Blocks/custom/phone/components/phone-options.js index 70085d057..7dc4ffcb8 100644 --- a/src/Blocks/custom/phone/components/phone-options.js +++ b/src/Blocks/custom/phone/components/phone-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { PhoneOptions as PhoneOptionsComponent } from '../../../components/phone/components/phone-options'; export const PhoneOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/phone/manifest.json b/src/Blocks/custom/phone/manifest.json index a8acc9418..66c3fdd1d 100644 --- a/src/Blocks/custom/phone/manifest.json +++ b/src/Blocks/custom/phone/manifest.json @@ -5,7 +5,7 @@ "description" : "Phone number entry field", "category": "eightshift-forms", "icon": { - "src": "esf-phone" + "src": "phone" }, "keywords": [ "phone", diff --git a/src/Blocks/custom/phone/phone-overrides.js b/src/Blocks/custom/phone/phone-overrides.js index 48f6cb2e7..83e5cea62 100644 --- a/src/Blocks/custom/phone/phone-overrides.js +++ b/src/Blocks/custom/phone/phone-overrides.js @@ -1,11 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from './../../manifest.json'; export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('phone') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.integrationsNoBuilder, }; diff --git a/src/Blocks/custom/pipedrive/components/pipedrive-editor.js b/src/Blocks/custom/pipedrive/components/pipedrive-editor.js index da2d1c219..d264b7c60 100644 --- a/src/Blocks/custom/pipedrive/components/pipedrive-editor.js +++ b/src/Blocks/custom/pipedrive/components/pipedrive-editor.js @@ -1,25 +1,22 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { InnerBlocks } from '@wordpress/block-editor'; -import { props, BlockInserter, STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import { props, BlockInserter } from '@eightshift/frontend-libs-tailwind/scripts'; import { FormEditor, additionalBlocksNoIntegration } from '../../../components/form/components/form-editor'; export const PipedriveEditor = ({ attributes, setAttributes, clientId }) => { - const manifest = select(STORE_NAME).getBlock('pipedrive'); - - const { - blockClass, - } = attributes; + const { blockClass } = attributes; return (
} - /> + formContent: ( + } + /> + ), })} />
diff --git a/src/Blocks/custom/pipedrive/components/pipedrive-options.js b/src/Blocks/custom/pipedrive/components/pipedrive-options.js index b6c9e0c30..16e27eac2 100644 --- a/src/Blocks/custom/pipedrive/components/pipedrive-options.js +++ b/src/Blocks/custom/pipedrive/components/pipedrive-options.js @@ -1,18 +1,9 @@ import React from 'react'; -import { select } from '@wordpress/data'; import { IntegrationsInternalOptions } from '../../../components/integrations/components/integrations-internal-options'; -import { STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import manifest from '../manifest.json'; -export const PipedriveOptions = ({ - attributes, - setAttributes, - clientId, -}) => { - const manifest = select(STORE_NAME).getBlock('pipedrive'); - - const { - title, - } = manifest; +export const PipedriveOptions = ({ attributes, setAttributes, clientId }) => { + const { title } = manifest; return ( { - const { - blockClass, - } = attributes; + const { blockClass } = attributes; return (
diff --git a/src/Blocks/custom/radio/components/radio-options.js b/src/Blocks/custom/radio/components/radio-options.js index b52811d0a..b5a05bc45 100644 --- a/src/Blocks/custom/radio/components/radio-options.js +++ b/src/Blocks/custom/radio/components/radio-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { RadioOptions as RadioOptionsComponent } from '../../../components/radio/components/radio-options'; export const RadioOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/radio/manifest.json b/src/Blocks/custom/radio/manifest.json index b9775a3a7..8c20057a7 100644 --- a/src/Blocks/custom/radio/manifest.json +++ b/src/Blocks/custom/radio/manifest.json @@ -5,7 +5,7 @@ "description" : "Simple radio button", "category": "eightshift-forms", "icon": { - "src": "esf-radio" + "src": "radio" }, "keywords": [ "radio" diff --git a/src/Blocks/custom/radio/radio-overrides.js b/src/Blocks/custom/radio/radio-overrides.js deleted file mode 100644 index 66163e9af..000000000 --- a/src/Blocks/custom/radio/radio-overrides.js +++ /dev/null @@ -1,9 +0,0 @@ -import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; - -export const overrides = { - ...manifest, - icon:{ - src: getUtilsIcons('radio') ?? manifest.icon.src, - } -}; diff --git a/src/Blocks/custom/radios/components/radios-editor.js b/src/Blocks/custom/radios/components/radios-editor.js index a064d5bd4..fc78e327e 100644 --- a/src/Blocks/custom/radios/components/radios-editor.js +++ b/src/Blocks/custom/radios/components/radios-editor.js @@ -1,13 +1,12 @@ import React, { useEffect, useState } from 'react'; import { select } from '@wordpress/data'; import { InnerBlocks } from '@wordpress/block-editor'; -import { props, BlockInserter, STORE_NAME } from '@eightshift/frontend-libs/scripts'; +import { props, BlockInserter } from '@eightshift/frontend-libs-tailwind/scripts'; import { RadiosEditor as RadiosEditorComponent } from '../../../components/radios/components/radios-editor'; import globalManifest from '../../../manifest.json'; +import manifest from '../manifest.json'; export const RadiosEditor = ({ attributes, setAttributes, clientId }) => { - const manifest = select(STORE_NAME).getBlock('radios'); - const { template } = manifest; const [parentBlock, setParentBlock] = useState([]); @@ -16,7 +15,9 @@ export const RadiosEditor = ({ attributes, setAttributes, clientId }) => { const parentBlockIds = select('core/block-editor').getBlockParents(clientId); const parents = select('core/block-editor').getBlocksByClientId(parentBlockIds); - setParentBlock(parents.filter((parent) => globalManifest.allowedBlocksList.integrationsBuilder.includes(parent.name))); + setParentBlock( + parents.filter((parent) => globalManifest.allowedBlocksList.integrationsBuilder.includes(parent.name)), + ); }, [clientId]); return ( diff --git a/src/Blocks/custom/radios/components/radios-options.js b/src/Blocks/custom/radios/components/radios-options.js index bd784d04d..c210cb350 100644 --- a/src/Blocks/custom/radios/components/radios-options.js +++ b/src/Blocks/custom/radios/components/radios-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { RadiosOptions as RadiosOptionsComponent } from '../../../components/radios/components/radios-options'; export const RadiosOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/radios/manifest.json b/src/Blocks/custom/radios/manifest.json index 5b2e23575..a404941b7 100644 --- a/src/Blocks/custom/radios/manifest.json +++ b/src/Blocks/custom/radios/manifest.json @@ -5,7 +5,7 @@ "description" : "Group of radio buttons", "category": "eightshift-forms", "icon": { - "src": "esf-radios" + "src": "radios" }, "keywords": [ "radios" diff --git a/src/Blocks/custom/radios/radios-overrides.js b/src/Blocks/custom/radios/radios-overrides.js index ee9f35ac1..83e5cea62 100644 --- a/src/Blocks/custom/radios/radios-overrides.js +++ b/src/Blocks/custom/radios/radios-overrides.js @@ -1,11 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from './../../manifest.json'; export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('radios') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.integrationsNoBuilder, }; diff --git a/src/Blocks/custom/rating/components/rating-editor.js b/src/Blocks/custom/rating/components/rating-editor.js index 824e6e480..9e2c17f1e 100644 --- a/src/Blocks/custom/rating/components/rating-editor.js +++ b/src/Blocks/custom/rating/components/rating-editor.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { RatingEditor as RatingEditorComponent } from '../../../components/rating/components/rating-editor'; export const RatingEditor = ({ attributes, setAttributes, clientId }) => { diff --git a/src/Blocks/custom/rating/components/rating-options.js b/src/Blocks/custom/rating/components/rating-options.js index f4c7ac230..f2c1a900e 100644 --- a/src/Blocks/custom/rating/components/rating-options.js +++ b/src/Blocks/custom/rating/components/rating-options.js @@ -1,5 +1,5 @@ import React from 'react'; -import { props } from '@eightshift/frontend-libs/scripts'; +import { props } from '@eightshift/frontend-libs-tailwind/scripts'; import { RatingOptions as RatingOptionsComponent } from '../../../components/rating/components/rating-options'; export const RatingOptions = ({ attributes, setAttributes }) => { diff --git a/src/Blocks/custom/rating/rating-overrides.js b/src/Blocks/custom/rating/rating-overrides.js index 8ff104250..83e5cea62 100644 --- a/src/Blocks/custom/rating/rating-overrides.js +++ b/src/Blocks/custom/rating/rating-overrides.js @@ -1,11 +1,7 @@ import manifest from './manifest.json'; -import { getUtilsIcons } from '../../components/form/assets/state-init'; import globalSettings from './../../manifest.json'; export const overrides = { ...manifest, - icon:{ - src: getUtilsIcons('starRating') ?? manifest.icon.src, - }, parent: globalSettings.allowedBlocksList.integrationsNoBuilder, }; diff --git a/src/Blocks/custom/result-output-item/components/result-output-item-editor.js b/src/Blocks/custom/result-output-item/components/result-output-item-editor.js index d79fdc594..1513269c0 100644 --- a/src/Blocks/custom/result-output-item/components/result-output-item-editor.js +++ b/src/Blocks/custom/result-output-item/components/result-output-item-editor.js @@ -2,15 +2,16 @@ import React from 'react'; import { __ } from '@wordpress/i18n'; import { useState, useEffect } from '@wordpress/element'; import { InnerBlocks } from '@wordpress/block-editor'; -import { checkAttr, BlockInserter, selector } from '@eightshift/frontend-libs/scripts'; +import { checkAttr, BlockInserter } from '@eightshift/frontend-libs-tailwind/scripts'; import manifest from '../manifest.json'; -import { CONDITIONAL_TAGS_OPERATORS_EXTENDED_LABELS, CONDITIONAL_TAGS_OPERATORS_LABELS } from '../../../components/conditional-tags/components/conditional-tags-labels'; +import { + CONDITIONAL_TAGS_OPERATORS_EXTENDED_LABELS, + CONDITIONAL_TAGS_OPERATORS_LABELS, +} from '../../../components/conditional-tags/components/conditional-tags-labels'; import globalManifest from '../../../manifest.json'; export const ResultOutputItemEditor = ({ attributes, clientId }) => { - const { - blockClass, - } = attributes; + const { blockClass } = attributes; const resultOutputItemName = checkAttr('resultOutputItemName', attributes, manifest); const resultOutputItemValueStart = checkAttr('resultOutputItemValue', attributes, manifest); @@ -23,10 +24,11 @@ export const ResultOutputItemEditor = ({ attributes, clientId }) => { setIsValidConfiguration(resultOutputItemName && resultOutputItemValueStart); }, [resultOutputItemName, resultOutputItemValueStart]); - const operatorLabel = { - ...CONDITIONAL_TAGS_OPERATORS_LABELS, - ...CONDITIONAL_TAGS_OPERATORS_EXTENDED_LABELS, - }?.[resultOutputItemOperator] ?? CONDITIONAL_TAGS_OPERATORS_LABELS[globalManifest.comparator.IS]; + const operatorLabel = + { + ...CONDITIONAL_TAGS_OPERATORS_LABELS, + ...CONDITIONAL_TAGS_OPERATORS_EXTENDED_LABELS, + }?.[resultOutputItemOperator] ?? CONDITIONAL_TAGS_OPERATORS_LABELS[globalManifest.comparator.IS]; let outputName = ''; @@ -53,30 +55,22 @@ export const ResultOutputItemEditor = ({ attributes, clientId }) => { return (
-
- {!isValidConfiguration && -
{__('Missing configuration options!', 'eightshift-forms')}
- } +
+ {!isValidConfiguration &&
{__('Missing configuration options!', 'eightshift-forms')}
} - {isValidConfiguration && + {isValidConfiguration && ( <> {__('SHOW', 'eightshift-forms')} {__(' if the variable name is ', 'eightshift-forms')} {resultOutputItemName} {__(' and variable value ', 'eightshift-forms')}
- - {outputName} - + {outputName} - } + )}
- {isValidConfiguration && - } - /> - } + {isValidConfiguration && } />}
); }; diff --git a/src/Blocks/custom/result-output-item/components/result-output-item-options.js b/src/Blocks/custom/result-output-item/components/result-output-item-options.js index a9b0aaba2..e77d0747f 100644 --- a/src/Blocks/custom/result-output-item/components/result-output-item-options.js +++ b/src/Blocks/custom/result-output-item/components/result-output-item-options.js @@ -1,14 +1,9 @@ import React from 'react'; import { useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; -import { PanelBody, TextControl } from '@wordpress/components'; -import { - checkAttr, - getAttrKey, - icons, - IconLabel, - Select, -} from '@eightshift/frontend-libs/scripts'; +import { checkAttr, getAttrKey } from '@eightshift/frontend-libs-tailwind/scripts'; +import { Select, ContainerPanel, InputField } from '@eightshift/ui-components'; +import { icons } from '@eightshift/ui-components/icons'; import { CONDITIONAL_TAGS_OPERATORS_EXTENDED_LABELS, CONDITIONAL_TAGS_OPERATORS_LABELS, @@ -17,10 +12,7 @@ import { getConstantsOptions, NameField } from './../../../components/utils'; import manifest from '../manifest.json'; import globalManifest from '../../../manifest.json'; -export const ResultOutputItemOptions = ({ - attributes, - setAttributes, -}) => { +export const ResultOutputItemOptions = ({ attributes, setAttributes }) => { const [isNameChanged, setIsNameChanged] = useState(false); const resultOutputItemName = checkAttr('resultOutputItemName', attributes, manifest); @@ -28,10 +20,12 @@ export const ResultOutputItemOptions = ({ const resultOutputItemValueEnd = checkAttr('resultOutputItemValueEnd', attributes, manifest); const resultOutputItemOperator = checkAttr('resultOutputItemOperator', attributes, manifest); - const [showEndValue, setShowEndValue] = useState(resultOutputItemOperator.toUpperCase() in globalManifest.comparatorExtended); + const [showEndValue, setShowEndValue] = useState( + resultOutputItemOperator.toUpperCase() in globalManifest.comparatorExtended, + ); return ( - +