{"_id":"@boewa-software/react-searchbar","_rev":"40-080cb79d4cef8980b3d897bb7bc51d19","time":{"0.0.1":"2019-07-09T14:52:14.900Z","0.0.2":"2019-07-09T14:52:14.900Z","created":"2019-07-09T15:14:38.299Z","1.0.0":"2019-07-09T15:14:38.689Z","modified":"2024-03-28T08:06:08.428Z","1.0.1":"2019-07-09T15:25:32.237Z","1.0.2-beta.0":"2022-11-22T13:58:40.711Z","1.0.2":"2022-11-22T14:10:27.077Z","2.0.0-beta.0":"2022-12-12T07:48:47.303Z","2.0.0-beta.1":"2022-12-12T10:21:45.796Z","2.0.0-beta.3":"2022-12-12T10:34:44.209Z","2.0.0-beta.4":"2022-12-16T08:05:02.846Z","2.0.0-beta.5":"2022-12-19T11:29:35.246Z","2.0.0-beta.6":"2022-12-19T11:48:12.898Z","2.0.0-beta.7":"2022-12-20T14:25:53.287Z","2.0.0-beta.8":"2022-12-23T09:02:00.001Z","2.0.0-beta.9":"2022-12-23T10:06:26.607Z","2.0.0-beta.1.1":"2022-12-23T10:17:56.457Z","2.0.0-beta.1.2":"2023-01-03T07:25:57.803Z","2.0.0":"2023-01-03T11:27:11.147Z","2.1.0-beta.0":"2023-01-17T15:48:41.779Z","2.1.0-beta.1":"2023-01-17T16:11:00.986Z","3.0.0-beta.0":"2023-01-30T10:26:17.405Z","3.0.0-beta.1.0":"2023-01-30T10:41:15.197Z","3.0.0-beta.1.1":"2023-01-30T11:39:40.868Z","3.0.0-beta.1.2":"2023-01-30T12:15:38.152Z","3.0.0-beta.1.3":"2023-01-30T13:35:58.256Z","3.0.0-beta.1.4":"2023-01-30T13:59:12.301Z","3.0.0-beta.1.5":"2023-01-31T12:41:42.462Z","3.0.0-beta.1.6":"2023-01-31T13:14:16.228Z","3.0.0":"2023-01-31T13:42:45.095Z","3.0.1-beta.1.0":"2023-01-31T13:55:02.461Z","3.0.1":"2023-01-31T13:59:01.344Z","3.1.0":"2023-09-05T10:24:17.332Z","3.2.0":"2024-02-12T07:47:55.024Z"},"name":"@boewa-software/react-searchbar","dist-tags":{"latest":"3.2.0","beta":"3.0.1-beta.1.0"},"versions":{"1.0.0":{"name":"@boewa-software/react-searchbar","description":"React Searchbar Component","main":"lib/index.js","module":"esm/index.js","scripts":{"build:commonjs":"cross-env BABEL_OUTPUT=commonjs babel src/ --out-dir lib/","build:esm":"babel src/ --out-dir esm/","build":"npm-run-all clean:* --parallel build:*","clean:commonjs":"rimraf lib","webpack":"webpack-dev-server --mode development","test":"jest"},"keywords":["React","Searchbar","Search","Component"],"author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","peerDependencies":{"react":"^16.8.6","prop-types":"^15.7.2"},"dependencies":{"react":"^16.8.6","prop-types":"^15.7.2"},"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-object-rest-spread":"^7.4.4","@babel/plugin-transform-react-jsx":"^7.3.0","@babel/preset-env":"^7.4.5","@babel/preset-react":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-loader":"^8.0.6","bootstrap":"^4.3.1","cross-env":"^5.2.0","css-loader":"^3.0.0","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.14.0","html-webpack-plugin":"^3.2.0","jest":"^24.8.0","jquery":"^3.4.1","mini-css-extract-plugin":"^0.7.0","node-sass":"^4.12.0","npm-run-all":"^4.1.5","object-assign":"^4.1.1","popper.js":"^1.15.0","query-string":"^6.8.1","react-click-outside":"^3.0.1","react-dom":"^16.8.6","react-input-autosize":"^2.2.1","react-test-renderer":"^16.8.6","sass-loader":"^7.1.0","style-loader":"^0.23.1","webpack":"^4.35.0","webpack-cli":"^3.3.4","webpack-dev-server":"^3.7.2"},"version":"1.0.0","gitHead":"865bed8002c322176ac34ea7a8937cba11a64648","_id":"@boewa-software/react-searchbar@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"p.handke","email":"p.handke@boewa.de"},"dist":{"integrity":"sha512-/NmC1KMr1g2KGZdnz/zodiUJ7eBLo7Q3D5Uu+AAGqwxEavKGMQbUzPVSWqmfd8AwwTbveUkqPFX9CfMAV7YstQ==","shasum":"27fffeb218f937366b1d75426dd16de6e7c10eb4","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-1.0.0.tgz","fileCount":20,"unpackedSize":78642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJK9fCRA9TVsSAnZWagAAF0YP/ihwTgWN6hq6kEOagM57\ngsGTB6N8bKmGKpHG/z4+3vm5C2/K0wXjT6YVmPe0BY3g/F6epA71P9HR6L/b\nDiYFQm26eokrAvVJCeADzvoSdb4uPeTm+R0JHnbSQlo0jrvacGQSBKJTAJ7Z\nTVzNpj5jtLGhT9YNzq/7hG1M2AovXa3OO8z8uK0g1SKU4Wjg1+/FlKB5gH6/\nmaOkxrgxI0YgbZ2FTueTvGxpn/fq7u2WQOCMk9pcECcR2SHP9Sbse5vUkPRa\nmEjGS0QnaiFV6uF/iJQFOueZ+2QhyZKhVCKR/13aHApkuQ9xIeLM/ASWxOsG\nVLNITQQ+D7bad42ZyRtCZ6jmAkuuzqEOkk7vHChf5ecJGpFG1EQgtp/sW+T5\nZKg9e37l3oLdRHL+7mS2rCaCMvICKIBxaofipPkAMPAeRrMAqbmjZHDTFbQ+\nSiI5sMylDIi08xgqX7M2SKGnJnNurTqT5Pz12GcrfuFXra19ehw5ZzFcA/WO\nmN7bhNbsXQjZ9RV9+ldbjZhtzozRb8wukMBmWVdDxtqguWwgIM/zJdRShtyu\nHWXF/u4JRKImzcCEyhRyLHfdt9PfiCxOjh3yOczpki+yv2YYR4RAtj06NJ3T\nluHaYFdRfxjAAZbfyWYexEOOBsVrVnTYSJO2hygODuldgq6g6nvgZiNCETys\nUR8H\r\n=KLWa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDtJHS3WLgPbb23iBSQ4wjEm4uEKP6JM0rKAZkn5jwloAiEAspv9M1rluHIZyJFsbjFAvZD5LCZ0h1i8IHPEvas8Dwc="}]},"maintainers":[{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"p.handke","email":"p.handke@boewa.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_1.0.0_1562685278508_0.12813975128911603"},"_hasShrinkwrap":false},"1.0.1":{"name":"@boewa-software/react-searchbar","description":"React Searchbar Component","main":"lib/index.js","module":"esm/index.js","scripts":{"build:commonjs":"cross-env BABEL_OUTPUT=commonjs babel src/ --out-dir lib/ --copy-files","build:esm":"babel src/ --out-dir esm/ --copy-files","build":"npm-run-all clean:* --parallel build:*","clean:commonjs":"rimraf lib","webpack":"webpack-dev-server --mode development","test":"jest"},"keywords":["React","Searchbar","Search","Component"],"author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","peerDependencies":{"react":"^16.8.6","prop-types":"^15.7.2"},"dependencies":{"react":"^16.8.6","prop-types":"^15.7.2"},"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-object-rest-spread":"^7.4.4","@babel/plugin-transform-react-jsx":"^7.3.0","@babel/preset-env":"^7.4.5","@babel/preset-react":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-loader":"^8.0.6","bootstrap":"^4.3.1","cross-env":"^5.2.0","css-loader":"^3.0.0","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.14.0","html-webpack-plugin":"^3.2.0","jest":"^24.8.0","jquery":"^3.4.1","mini-css-extract-plugin":"^0.7.0","node-sass":"^4.12.0","npm-run-all":"^4.1.5","object-assign":"^4.1.1","popper.js":"^1.15.0","query-string":"^6.8.1","react-click-outside":"^3.0.1","react-dom":"^16.8.6","react-input-autosize":"^2.2.1","react-test-renderer":"^16.8.6","sass-loader":"^7.1.0","style-loader":"^0.23.1","webpack":"^4.35.0","webpack-cli":"^3.3.4","webpack-dev-server":"^3.7.2"},"version":"1.0.1","gitHead":"5a131490531d118276ff0a3fd78c1027fa496398","_id":"@boewa-software/react-searchbar@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"p.handke","email":"p.handke@boewa.de"},"dist":{"integrity":"sha512-adPD721P4chSmWDQ07J6Gl0z5IQ81RzLEsBtgaSxJOiR+6jzYDOF8TzE3hGf7hOHF2ieGEiwoPiiyhONJp8Brg==","shasum":"2c51ec856482db65a551a3f0d519b4350d556ad4","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-1.0.1.tgz","fileCount":22,"unpackedSize":80394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJLHsCRA9TVsSAnZWagAA9VIQAJy2uRO6hbQEjlP9Whqr\nXWudxKAc4OrT2bTLP4CbRrrBS/ipN0cWVMfSRi1BOThhdXI8NLsbpO9tfR2S\nT2F/TgSOvEqR1Fds0Vw0/uomVxSUjLbK9F4Zs4QcDnFX5AqficiKiUgVJxAC\nXwaN2ZQ+gM88JGgMBFK4fk/nsl0tmMX8KEVQ69KjyuXMl4HNdKqYxrXcsnJP\nKLAFBkN7pqQ3bUCZuyhnXnSkqQ7/NeckjkgY4JZ4mpVDSAV1zHseEuqzRWJP\n7WMEQZoTlYRxUZMFYWRSydCpiPqqnFNJoEBEbg0eEDUlIhuN/Utqh6xOCL/E\nGOkOi3DTXEtwp/jWbGrUlUIRwjYOiwLMBUYUjgg0V8mbs7qq5xScm8ga8qjm\nEA2durR62j8CNn2wYt45h9oCc/Om4a3EljBC/b63ZZ/YjF8CFE0m4c+GQN6W\nrH2pH6OKm5cXneE/iXKu7Al0TvB18tUPiQFKldnxTP6gn9aXnWy7lpeYdxtA\n0b/FIParFBkOWh/ZE/5BhV8AZluyoSMzPYmRBS2eDPQsMVyCJ1oPLOU2Dup0\nVogBbfzIHq3i/tI62HIJaXT41deKgRFmWcdylFHErj/rPLB1gwxCsU3RO6ZC\n1iwMwwIO04wQ9Td+7YpPOOryHSSwJN1bMquUhfihipdC2jgO1UJUdXaC6uSH\negWs\r\n=6cJF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKCoSY8qlHwDbcE2oXuJhGutEm5TtFf54NDjK6oycW2QIhAL6QzzTy8NjegFIEyqELQIbfWr+HI9V6BgC60+fKL4sH"}]},"maintainers":[{"name":"p.handke","email":"p.handke@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_1.0.1_1562685932107_0.8449086117720841"},"_hasShrinkwrap":false},"1.0.2-beta.0":{"name":"@boewa-software/react-searchbar","description":"React Searchbar Component","main":"lib/index.js","module":"esm/index.js","scripts":{"build:commonjs":"cross-env BABEL_OUTPUT=commonjs babel src/ --out-dir lib/ --copy-files","build:esm":"babel src/ --out-dir esm/ --copy-files","build":"npm-run-all clean:* --parallel build:*","clean:commonjs":"rimraf lib","webpack":"webpack-dev-server --mode development","test":"jest"},"keywords":["React","Searchbar","Search","Component"],"author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","peerDependencies":{"react":"^16.8.6","prop-types":"^15.7.2"},"dependencies":{"react":"^16.8.6","react-dom":"^16.8.6","react-input-autosize":"^2.2.1","react-click-outside":"^3.0.1","query-string":"^6.8.1","popper.js":"^1.15.0","bootstrap":"^4.3.1","prop-types":"^15.7.2"},"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-object-rest-spread":"^7.4.4","@babel/plugin-transform-react-jsx":"^7.3.0","@babel/preset-env":"^7.4.5","@babel/preset-react":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-loader":"^8.0.6","cross-env":"^5.2.0","css-loader":"^3.0.0","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.14.0","html-webpack-plugin":"^3.2.0","jest":"^24.8.0","jquery":"^3.4.1","mini-css-extract-plugin":"^0.7.0","node-sass":"^4.12.0","npm-run-all":"^4.1.5","object-assign":"^4.1.1","react-test-renderer":"^16.8.6","sass-loader":"^7.1.0","style-loader":"^0.23.1","webpack":"^4.35.0","webpack-cli":"^3.3.4","webpack-dev-server":"^3.7.2"},"version":"1.0.2-beta.0","readme":"React Searchbar\n===============\n\n## Installation\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n```text\n$ npm install --save @boewa-software/react-searchbar\n```\n\n## Nutzung\nDie Nutzung erfolgt als klassische React-Komponente.\n\n### Attribute\n* **filters** : array\n\n  Array mit Filter-Deklarationen im entsprechenden Foormat.\n\n* **onSubmitSearch** : function\n\n  Callback-Methode die beim Abschicken der Suche ausgelöst wird\n  \n* **defaultValues** : object\n\n  Standard-Belegung der Filter mit den Filternamen als Schlüssel-Werte der Objekt-Attribute.\n\n\n### Verknüpfung mit der URL\nDie Suchkomponete kann mit den Werten aus der URL verknüpft werden, dazu kann die `UrlConnectedSearchBar` genutzt werden.","readmeFilename":"README.md","_id":"@boewa-software/react-searchbar@1.0.2-beta.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-i2V1r/QYGeNN2x6yrV4NrlObsubk+dxA1F1MgO9EdM8x3cjDtvo+EGZ6ImArEldoWGibAgYAp6z+iQZjFkMeZA==","shasum":"3c899a23f69f8875169c12eae5c337e779df4361","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-1.0.2-beta.0.tgz","fileCount":22,"unpackedSize":80401,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqz7DWif0aELpWeYURv4UB1zd1TL2dDVbrIgTZ4IzQbgIhAJeuiXhOY0HmCR+N9uCmvVcZjuK1uiHg3uKLPGDRoeIE"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfNWQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpuig//cXAsqEZVV+06EXNjFEXGcQzHWXTbI7m3C7efoiD5MDvY/3wM\r\nGYu5vYI5nA1g91mF2QprH7Duh3Lff32NmO7PjVZMAsPChGbjA5RZIxql2Uzn\r\nH6WBPTM2QbuGOmgf2Twx2uKwF1SXFzWoEtQtNlE7XRaccKNzqrgXTNvZm/Vr\r\nDlX1kC4TqRBQC7spr2vro7K5iABhvSOXl0sjspwYUzaTis2QFVBAj5dtIXQg\r\nFgeNfPbqGthX93QvRc34wvjuJIiRagJjI+f73Dh5mu/ps+c5Bml/V7fLL9w4\r\ndnMra0MJRewGZBo/nt8DqNEoi7FlmBDX15VUlKe4LvHpM0xg5eO8Tn+ihuSg\r\nBUssKZ5DefzOgRolQS0SSBLkfEcboSkKHPE1zogUJWo+6uSEnAiy+Z8usD0H\r\n+yO9frOrSWeNV9YyeC3liOGuKCKw26jYjr48aUnJGLx5Qrnp8dJ+Y90AnAsB\r\nIYD80KKQWClIQdpX+N4tpvsNPixFixDG0mNx9s/uXi6zitE43caaItrawBo0\r\nkUpv2JSpqtIHUb15O7DdGTG/l2rjcidPbpFU6nh4OH2wBcJGtJ4vjil9fTMX\r\nKoM+QEP8vHfARIGhjMmNFs1IdY5dJ6ISoxK7uSysNfhsXDq0J2Hj50R0VgmW\r\ntWp2f9Uh8fi+IcDuZez4Ve6qBU/sU76PjG0=\r\n=KrsK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_1.0.2-beta.0_1669125520589_0.7719624017477278"},"_hasShrinkwrap":false},"1.0.2":{"name":"@boewa-software/react-searchbar","description":"React Searchbar Component","main":"lib/index.js","module":"esm/index.js","scripts":{"build:commonjs":"cross-env BABEL_OUTPUT=commonjs babel src/ --out-dir lib/ --copy-files","build:esm":"babel src/ --out-dir esm/ --copy-files","build":"npm-run-all clean:* --parallel build:*","clean:commonjs":"rimraf lib","webpack":"webpack-dev-server --mode development","test":"jest"},"keywords":["React","Searchbar","Search","Component"],"author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","peerDependencies":{"react":"^16.8.6","prop-types":"^15.7.2"},"dependencies":{"react":"^16.8.6","react-dom":"^16.8.6","react-input-autosize":"^2.2.1","react-click-outside":"^3.0.1","query-string":"^6.8.1","popper.js":"^1.15.0","bootstrap":"^4.3.1","prop-types":"^15.7.2"},"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-object-rest-spread":"^7.4.4","@babel/plugin-transform-react-jsx":"^7.3.0","@babel/preset-env":"^7.4.5","@babel/preset-react":"^7.0.0","babel-core":"^7.0.0-bridge.0","babel-loader":"^8.0.6","cross-env":"^5.2.0","css-loader":"^3.0.0","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.14.0","html-webpack-plugin":"^3.2.0","jest":"^24.8.0","jquery":"^3.4.1","mini-css-extract-plugin":"^0.7.0","node-sass":"^4.12.0","npm-run-all":"^4.1.5","object-assign":"^4.1.1","react-test-renderer":"^16.8.6","sass-loader":"^7.1.0","style-loader":"^0.23.1","webpack":"^4.35.0","webpack-cli":"^3.3.4","webpack-dev-server":"^3.7.2"},"version":"1.0.2","_id":"@boewa-software/react-searchbar@1.0.2","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-RbUbd6iaAaAoh59bv3E8GWG3SL6tRSGLDv3oVd4pFTHs9F9U4GMCK4+RTevblpRgs010IpubwmxCJQDvuQ5HAQ==","shasum":"61741c3b41fe9eb20246df06c09299075719d5f2","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-1.0.2.tgz","fileCount":22,"unpackedSize":80394,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICBn2x6/IC6smH6E+ZEdf9+ffCyxZNsDDfhka1XB3+cEAiByzANKxHneP+tXImbZaEcROFGyUX3/zup4ZD0LUHmimg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfNhTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUyBAAjVLYfsKa3mC8VcfcFCnD4lYErN788x8vjQx4VD7KIv4wb6Ia\r\n9GIxYFQyvTdh7EMXm8UP4Uz6EHrVrw3RTVkMbcJQpspjLTdayVtvPpzlj9pY\r\nw/CD25M+TcpjTM1OxGaZbpV8QT6IXdawidu8ZaysZk3AFa7s0UZnn9wF8Ovo\r\niNGfhmGcXZukZSJBiPqBLkDQmUBxufaod3g+pJknu/kBIVS51LkxhS8quDvB\r\n8Q5LBXe6TNTVn9nby6LGc8SGSRyxOTkaRsBMMaXdJviUhcDh09XWYHEiRaKx\r\nZ0m+2DQAeY5yVOVqKRvrtwbBDUNtIW9eARIM6o8CAPXUIUIH42FhosqGEt87\r\nztxIFF+l1JhAuzxfZPXDd1pFrzltpdTlEWQfpye1GdLqHsVFh9pNZJiMma3B\r\na/Gd6Hf1heuborzSwLgrYC4Itp198kur/E8WZWuGHDohXORm7TyxBLLFf0WU\r\nARnsxLqZDLh/xLuOwq/LNlmf6F/q6OnEf80fGn7bqf8LmoL42dAgm4+4TBtw\r\npRyUHhPUTF2AEqhMyHTO9rMAuJuPVqfbXMpBwv14+sntXZ/KdvUpfsXN9Fa4\r\nVPVA0epCPg+EKNQAN5KKEZjapMyJyqGVwD7spHZtTuqVi8Bdm8oE/7JGBO1n\r\ndD64rAILZpfCqz/Z1GDZh5Kq+PsPaUFk0D4=\r\n=h8jx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_1.0.2_1669126226866_0.8732775020461296"},"_hasShrinkwrap":false},"2.0.0-beta.0":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.0","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n===============\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"3d3e8264ec82f48295c7fd2e25d070b34bfa52d5","_id":"@boewa-software/react-searchbar@2.0.0-beta.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-z5V3cGCZjpKPfvGEV4k+Iwo2LJ6UyLnjLZogOAdRKYrGwZtN7A3Cbf4tJvoS3lmsbv+UDMVomhrdnQlDgTZPxw==","shasum":"645a5f10902be6edd65089dc6854711d0d1154c9","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.0.tgz","fileCount":25,"unpackedSize":320134,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHYLQqxf17XHVa6i2BWaVZnEltZx+xqVhEq6Leoy1Bn2AiEAzVtK/7ZOVWPXX+qwXg9Dyiogx4/MJ8Irk5zS/3sMR0Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjltzfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmreeA//feGKd0tzfqrdqX7/3TaZyB9GeEgR/a1yqQFSlrvglzFj5GcM\r\nb1At0JbMIn3YSio9YsBdp5PJXQgrRAA6sinp/zJrTM4JNoTuKUtdxdDsJTR2\r\n/4sHoj+if/eD2gQmWyE6S3ml9aYjLCUJDzxfRvstbDCt+28f28Qb7PBLggBa\r\n8D+ETjd3xBM9K8s0u7aQfGkNZ1X0iCIZhcpUexGiIAstkxxygJvQycp7Kuru\r\nYU0pW56Rnj0t5B7Vy+Xl5nFid1moKPLtT7zMqctUcC90KySy1jS0A/S6KW4Y\r\njG72T/BmmdFkNvbNLV03riyWzowWUR9e3OkcrhUca0MK39IfQG5QPoe/tqNe\r\nApeEPcbChqEkhFRjdUTLi41seoqbf3jv1YspvKJ4BnAU3iPYqpTRWXqGtB1B\r\nmIX71S3SW5ceoeQzssi6Gb9peU942+Weia2YgGO7z+snwDjbTA4U5WPxnYFK\r\ntU3klk0wlCp9p11qgjWtLuJjs2q+C1WTgq81ozsXjj1vZBVPcRbIVrE56V/5\r\n937kwjQ652hBjDPVWKYTxLKL4P3N6Ff3yfCW6plP4US/QrOBiihEC0Tocgcs\r\nhEgl8MSMuHtAiMx24E7KPHisPq5FKCqTsRbGwVV4/kmEJcspIbUm8KzikH7t\r\nyajuqQdYNWPZDed0vBFWakCMau0SIFXJYaw=\r\n=M5pO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.0_1670831327143_0.4992278174080442"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.1","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n===============\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"3f774a58854a6975f68824075e434125607b997a","_id":"@boewa-software/react-searchbar@2.0.0-beta.1","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-faowdfBrRDgoPRKvOWnKDX+0j73Je5xJtx04T4m6GKq+ZQI4wshMCbLAD/CCxWvMw41ubQDoHV119obksIS8KA==","shasum":"74701b5b25a9b70d3a3d1f9f344a937c4629a693","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.1.tgz","fileCount":25,"unpackedSize":320437,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEmeEmE2bKq9O23kQiAsMLyuycPuB1xeucTurBggvfiMAiEAjIvhaLSfBjgaZvTp4P1RbJSltGMOvuUUAAs1WB9PsHU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlwC5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqzvw//a1UmPDSF+nc0hwi/DaY+QjEl3sc7U77fm0krIOzddUm7CzWi\r\nTWSZgHnwGgjIbtMy81UxYAVI5M28LAAnqOmwiqT9W7wObk208gkGn48ZmJnY\r\nsxH3Kt40J8H/qeCo/sFAQiWGJ1zhhIw9wZA7tdGlXnYneglbB/VZeAR83Ili\r\nC9PauvhBFPmm8eSU8dySVNVGb/gQrEG+JMR+jOB3AaFYgnN1db++hnsfbZNP\r\nqvKrhqS9YPcFxu3mWCELD7eGlnh2Yf8lzkKAg4EcW920uwSoT7dFrrzI9p0s\r\nU0PBD0MJZd+BZ0RByspZvHwWNL81CrGTvfXOzjxV9XxstZn/+zbacx/TPLlY\r\nUKcygpv5xVclLC4IR79SXpR5yXOeFuuXXJWzQTPs74e0jBclbl3L9ggQBWRM\r\nNDkUK9g5KCMSd/HGad7mvWXaMXTygRo2ShOKe9lfj2NvJvyhy1bNF3PLCR4h\r\nM8iwPD/1bOlGJrHcoAwrnEvJYa5BBxmEN8OUYdXDWYqQLjAzJSwJKRX6yZf2\r\nlDBCMqIgC0DTGodEGSJUugmHDA9SgiaU1gFXcIIg+GMt5GeToTJGuzkoDHzu\r\n9LvNXIJhw4avJCq03NRIiYd0PK6euokY+3TUWkfuGUJUti7hOCXUHcT15hRI\r\n89vHC5mpXYJARJ8Kp6oOKP5VmXyiu55tVmw=\r\n=5sbR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.1_1670840505639_0.8654099609657373"},"_hasShrinkwrap":false},"2.0.0-beta.3":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.3","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"6cdc4fd5555a3c944b205430881ec9abde0ec508","_id":"@boewa-software/react-searchbar@2.0.0-beta.3","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-hHL2qW+lgE/oTRxTXFM66egL9uVz7J3oQT+ZpOyh33FJZlDv2D1IQtnSDk2IADLxIpCIkf1jZuk1FktDSmFTiA==","shasum":"2e06116d5d7cf1a2406d8f7ec9bace852faa77e4","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.3.tgz","fileCount":25,"unpackedSize":321018,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChQhhaiAYSmZYcxPBjh3JfA1+zkJhED6gKLAAK06h4PAIhAJwQusNg0b+5XZa5WmgKy2DqVq0tv66kWb5rpQ3+1vEy"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlwPEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpH0g//XSweiXVILdIR9wzURXVbercI8KJORui683YU8w8Z1Jl2LrSf\r\n+mxGCNgUthtsw7LW7skSKuxS767q97sePzfm5FvS3B9TzB/ccsxOh2qBP3rG\r\n45zelzWIlt/qajFGlxuaTaFu2Gk7CEUBs76Bz2KRHwkPIAQ4qhUmQvalqt/S\r\n/gNCw+1fF5lxPYlsBUB2uw8nAjQc2tSZDg0c8ZtCn19+irZf4dUGcyK8E0K+\r\nilVOfiHfcomC/7Oi9iDfSLkGTEaYg8R7RF0317glHRjKK6GYChcgkwzNx8Yq\r\nNJlI/BlwMXsrCsNN3t7BTi5GJanKxOi1wUe239RrMqmyRUowxrOrJ6ckqhvK\r\n0G+rLw+BLIfWUdz7QTvg5a/a/Vi15VGvviynLWKUDJPUIF+58ji27PwmSFhw\r\n2nwEtnI0IOe9AKPk0gg1gvhl1MTn62WlGGKscgR0V+TDLTGpNtsw9YcoDwor\r\neMhQC1VHN8Apy+TEqDhT7IbNvi28wXKEg2XQ6M/ng0N+GrREAhO2JmEjWQeN\r\nF0flyYx9E/m2LbfwcZvKmqY3ovJ2nm32+GiyVxfVyS9wQNkb1s1fECfL/MTI\r\nxw6gXgLQ/xXs1f55JiqGcrd7DeyerevO6M2TWXpQjo8/nF+JCRfg48CsK6Sf\r\n8bUI+5ePeKWr862ZpNrSeBhoqyGQ2hCy7Yc=\r\n=+j5/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.3_1670841284020_0.7775083253916764"},"_hasShrinkwrap":false},"2.0.0-beta.4":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.4","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"fc0afa5c31ce59ef244b014a75b7178feaa32e70","_id":"@boewa-software/react-searchbar@2.0.0-beta.4","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-HoNIEEF4wulGBSDZEb0EdQZnUhuRl0lIYCX3cZL4VK7ZJ8zJs6DxEWO50KmMZg49lTKjgs7MWEJ50zJLCMZH6g==","shasum":"72b64ab8f27854bbb16f8cdde7d80da1d27c92b2","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.4.tgz","fileCount":25,"unpackedSize":321020,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHUvx0soGB83XMJF3EPeozoDC3gNnh4Z9DuVAaPOSEnMAiEAuMJEUpMcVcZEq9LkPUGFsSxyTCPLlBKZmn4jG/Viy5o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnCauACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpntg//UtMAQPEkvwwjYGsLXN7CB5zt3HVovVp7fwj8jw7dYNHDOBMg\r\nS0wTeESS1565BoXvtevLs0j4M62uw6Tf/CuNLWUuUprifOrf+wffTEVJ6Lkk\r\nx9E6XjjfOJkXjKJlPVGWuRCGQOU5nIjq91yPbjD1OJflqXY/jMJ9mhzb3xO/\r\noLkp9eBN65MvIUD32nkayk1XjzsVpKtEO5Wenq6bO/By9FGtI0YLQKffhGXy\r\nKv55TbEOxyRylswPWXMRLl3xXWgXeZMl4jGINEbU6N9U3zYTdiUxYAroKUHl\r\nCyY/4ThuiBuPEnG0O73itfUvWcGOL7zzDZGvDyVh03WGgX3XG+2mG5G7ujLw\r\nFwJdOPTBX28q/uLYJRHzf3XyOwj+TpgR0GOSAd/wth2IuuC1kKtFhZyWQaYB\r\nlyXOKR/XcnJzOj4kLBnSdy7HJ+rjDPjlGeUPvJhA4ed98cJrzB3SzemzgkMB\r\nrR5xWMqr2OmYBhbcED8t1tjZx1lpwHxfQHSvom3+jVO6hH6uMeo1NIxlC8tK\r\net3dHxoqezWG1zqT4C0ltDuR2GIKcfUbl1mrssXYBx5zJv6RlFSLJim9UjEv\r\nw2PNTJgh/QSgFBzEt3qd4Pd3v//c2nqltcq0PVmZrLAwApGS6de27V9pzBnH\r\nnb2pWcYZuUJ7hmlw6mXf0hoCMM7EBPNZ0XE=\r\n=7dTs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.4_1671177902348_0.9469302873185323"},"_hasShrinkwrap":false},"2.0.0-beta.5":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.5","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"ec9b4ea62b787087d1d72e9e1678e87ff0c9ba33","_id":"@boewa-software/react-searchbar@2.0.0-beta.5","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-XRRGHnHLX5+p+D6p0QkvlrAHmlV5NFtPpEothYWZTlTnnkDOUDlyck02BqwMt6FI9phiIUOH+8rJmPByErDOuA==","shasum":"bfa04fd38d1a4d7d2a78818212a844a9489a1d4a","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.5.tgz","fileCount":25,"unpackedSize":321067,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDng60gSqfUMugsOD62quUrGQ9AYZeLiTOo4asq5mxXZAiEA+SYKff/EPaJbwCgYdIPCGnVdvDhTrqp7hz0Qn+1W56A="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoEsfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqWYxAAjaaEIQ+Q1P7bcpc1xlE4a5gUxou2TAzpkftXRV1eXIVJbWiF\r\nZfQHoh6GKd6jEcG2JhNcXnJLJvmungcAzFCEcYkdlURAuioaehbos+8/RKfT\r\nRNTjRDFMhUxfjoXbFqMxh1nuz5ZwWCUS4uyjrcxPljAu2/Oh2eh8Enex8Cm9\r\nBYtWRRfuSPGDGH+VBo1QpjqL9hDZWXgEGHgUmDjbx+hhn026KMO50JOd9ued\r\n/QJQKwES/o8z/G99J0lqrMcMQLeQdOGhfmpje0+OJNtJoSOT+DnXXvfD1mS7\r\npgVpbfpFxdFEZeWwdelr1VNJCb4hgER7EgHh+gxpp8Sz+AF3C/YVXC1WcUfv\r\naAs6BVyzd0nSUFvIdlKhqGauTE1Qfbyg3hVRln9m6NFL6QkcKknWgBjOW2EG\r\n9wXeAggg7AZdWEL/RRJ7e6ZlzbQUjfGyg9FgfYaI0I5FIpHoapoTf3cJrf94\r\nPH/YO8hPf9qnsJeP+yH4Udrrp/3NI5vd1Z7MR5NyEq0z18LNaWwd3R60wCwf\r\nEtVuHE0puxxPEmNX8vYifKvgj3jGaRuNxgRqswpjyvjBdh/GL5tjZjCGH8DJ\r\nD0zB5GrFM3UzWqaEOqcJTXoVCtNwErd5Rt2tunfGNFHenboipg+S2wR6Z1V9\r\nfYmSIUcMc6Yrd1dRf1RO/Tu2Ln5CaNMw9Jo=\r\n=lxQk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.5_1671449375053_0.4839038199216683"},"_hasShrinkwrap":false},"2.0.0-beta.6":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.6","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"05d9f9d90d4ff9ea3c59b47c6ffafa293b00575a","_id":"@boewa-software/react-searchbar@2.0.0-beta.6","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-8g5KVnKk/3CdBnISME94FmSwvVQEE3KhO7bN7e7ok/4HqkfccvvtZkfIJILxR07PECuVER5vF2lmWmCiXVdLDg==","shasum":"3ceb90cd1c46f0379205c58e51350475eca56714","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.6.tgz","fileCount":25,"unpackedSize":321106,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7QtdLqP8qgNIAS0AhkWwo0DcOWN9Yzf1x+oziw0XqmwIhAIuEQAw/XXZiAXfEdu644SLerfdICpvKh+JxylcBqVCV"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoE98ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTRQ/8CaUSLNqUcdPKFAnANk4R/ogPCDeW+tmhBQ+14xpW0ZGfaAM5\r\nu2QJltkKShetZ5TP+lp+AtHqYO0ryaQiJVprB3cYlVuEl0uI/sl6+49VyBjn\r\nCSFmEjqr/NjBd59tqLQjnb7fHQ5v+LejGirwrOK2VJ8VbN1NDxZDzxq7cMPW\r\n8vzGIV0HgwffQT91RzZWYKwdgeXCCHWXK7uPE5QLE2a097cFiZamoX0mYb76\r\nXiZJBa84iRI+RtVxCWWDNJoKyRL2FUBNF0u71FcxOerVC6nKt0eA4MQSN/Rj\r\n6HYcnCsedD0kMEMpnoKxUU/623dEJmra+szZ4OFwllYU5w0kGyNdyPWO3wo3\r\n8GMl6IUCXM0OPu2EJEDYN2dTLW/IG14Xo9RDCIWHwizVBBcghCvsIFGnSdkr\r\nyLt+qAs2QGzJGLSPeI5rrxrgE6vJzFolPG2V2ks+6WCKUxQyJCFXJVW79RNX\r\n+kqaLx43zVW97wyQeCmEFB3k8YV93LoP3Am7BZhA5hL2DO8mqGSnb8+2vS6e\r\nkWM8o8WYrkyEcsECUyhHglokyuvqRtILIw3bO5+skMzFjDOO7wluKz/c/msS\r\nY18nlqFBHp3jYaDHxNWOTISLqPP+ml6sPicd81tWUAFRty0hw4CZONdIDqdx\r\nsXQvOzBBwmbD4eWC2et56qf97cKAoZRRW44=\r\n=suFe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.6_1671450492749_0.7710531665182083"},"_hasShrinkwrap":false},"2.0.0-beta.7":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.7","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"487d2208034f508a708129b05114421dd96b16ab","_id":"@boewa-software/react-searchbar@2.0.0-beta.7","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-KRflYh097K1X7TtqTF9OgRZPzA1DxJ74jBA4+Q4HsjSI4V6PGMhCXCLu4XXLznDj9si6gd38ZScjgUqkkNWcAQ==","shasum":"20fd672151dee95f35c13d134774fadc92c8f852","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.7.tgz","fileCount":25,"unpackedSize":321067,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIETuekcd3ajJCxwQcrTlWV1jXutSBTdsny0k+9vU9GdpAiEAk7CvleFtDXaK+Px+TZe46QNsMvydbtSfVpqoxZ4BxaI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjocXxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1RA/+KJ0ERmZc/Uca76JFjswfO2nHPhdWxRpXZq/8i15cihjb51nF\r\nc/N98SBXusJfZmi9SBCWJCnt7gziNwHbKvsXdP1aKUFwE6e/DZir5spjDcM+\r\nBXwCQ0E7SWBTxJiqixm/66ULN9Z2vzBhlGDVEyh3/YbprdjJcCIWOw6L0j33\r\nUCpvIaL2UJaCbkrBCn6TIjolIDGY7Dgh3WVT/wweB+fOOw4l1BgvSAzAozy2\r\neDWrBLwAme/n9VEI30cKaiiaWhV3+Hy+jVw1F1dPlKnI+or/pJWKiquCc4mO\r\n4VIEsBBKSHiG7/2QqZEuFrkNwID5KWOfFkrejq8WJh0Sgj0yTgHKfA3qWd99\r\nXG5qygK4UA3ghJi5tdTD7d6eX7Mi+34g0MpB7m8102wIoWrmnFe7bku93mO3\r\nnqtAyywXfnJCcu+IOQ+N1iLBHm74BpEW5gf/iCGul5DGQ8VvTAApszSN59TI\r\nI5sZTzmkPwAZpGyfZmdu34SgclBU/53pyRn+Q4S5YYu9ecooowTXP3DmdpVY\r\numyqZ8meyAyxNwELe0XHY6/d11IeHNMEsUhNmezl7+URjdo+u/UaMiOvC+6l\r\ndlADWIfZwww4/PI3e+nU0spF/PrGSnlAekfDEzDPKEws9f6nV8tBEL4LU26P\r\nkMfUaK+9PReLmWd1djKqYz4LJ3ZYzR+OUQw=\r\n=rfq0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.7_1671546353054_0.48551059287545195"},"_hasShrinkwrap":false},"2.0.0-beta.8":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.8","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"fc93782d14a8200c13b5a5cb2fd1ef40757f877a","_id":"@boewa-software/react-searchbar@2.0.0-beta.8","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-ZY0laZ9GCeReS2fJRTYgIPObM4enQFpPHy2XzQYawZ24Al3oY8AcTrMUHuiqg2NangeHII/JExDlf7O/gBrrfQ==","shasum":"95e4a8ce701bfe9de4ecf25f567e3f31466f27ce","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.8.tgz","fileCount":25,"unpackedSize":322887,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAzwE0PnCcLefFJBtmfF0+XHqI2RxChH564t8yoi6kFYAiEApoJOLmR6V8Q18TfTAJ8uBXZsl1Lm1ei5GTHMWsababY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpW6IACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrmPBAAooWUTMOT/fWwOEpkxa/o2owMRYyoRmbTiCiNhWDiCq9Itt3M\r\ncAafzDJolWWUMmwUskHP7MFGpKH2r+2ucVhVNPOwQ3oI9Uv36sR/RarKca5d\r\nth9tQpEdULfX+2WUZpIMHCNd7T93hivrfelvHHOCFdyRJX43Qw+tu74dEXPh\r\ngaFgoC+ufP4yeZ6raXW3ByO9qcfDVGt5TczCisYiybbmYxIjHvcCzkaRD6qc\r\nWv2mekTZ4Asf/jalfcltG3hA0Ugcpl3WA+vmM4wl3dXMF1/ckPKO81wGkWbS\r\nUMGPYy3rml4+4FtwL6nzkr/gMCMqwTSF0AGI88v8YiWtuvp0zOk4FVXLahLi\r\nj8jmZGjfM97zSZbFmRk/WKEgy6bGyaV4teU0bwSo/mWKGetMA5hoae+0ONaB\r\nI4zAiQ2vw/twvjKQ03haUurstoCMpZIhqPrFRZWjGKsTceCx+oqIgpCM9DWs\r\n7HIAgb1s41oeHic3dRXyv+61fNSlA38I+rW20b5aCFYEmSoEFgqFh132Ul2i\r\nEnjqzcmytMuxNCDnRwnzB7TMfKLYxdOPxttQbKCSR6UwEC5NiWNEiHF+xnAi\r\nJ9Js4BGVpxoWmsgLnZ/ZRk+bAmyKPkIG6ibzL21x4Yvtdc5BSoRpJrmjPUYG\r\n7ow3MOwXAEgtyU0TdA3fxkXlVTcYdW+SKfA=\r\n=MRZM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.8_1671786119810_0.04947317933778228"},"_hasShrinkwrap":false},"2.0.0-beta.9":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.9","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"ce82135f8e6dd0b65ea3d56e7751e525c5cb98a4","_id":"@boewa-software/react-searchbar@2.0.0-beta.9","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-wjzPR1ZmOKxMTagFRQWCEOy9Gm1hhQujKH9fzKz/XMTRXeHPPmlsS6DhFJYtD0C6XJ0QseRAC5JRu2IN8LdlLQ==","shasum":"0b49e772ee658bccb765a9851805a5d9212b11aa","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.9.tgz","fileCount":25,"unpackedSize":322939,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDAJvOMGluv/McdqdEVOTvPTzRoauaUJVshGZNLF1pGyAiAQToxFFyTBoTqTdTi4/J+yuRytU9QLOV/8i/HHcXVPMQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpX2iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoiHRAAnVdHCSEDUmvcrCf6wv3dUa5Z3i3VroFwIFzfKl3YQdEP6Gsh\r\nBABYgNO/xgRpkd0lnfPamc0N7iDgPoRpd1r7OvqLTNcKJNgEqtWfAxUU1ul2\r\nC9hcp8CZYkotjRfZ87bwvLBtzZV9fk8UllrViiqyswZ677NSBDUTs1YMI6cY\r\nNbu2c2xdVCXfJGwQup/Zag8qq1OrQjaLbTYtnwVRTMquohi8+K026cHjXRGD\r\nloagniBjnHVI1E6NKP7t4/OH3Ke8yDoDcwlKXOF8UX4vvhekRhvd4kqJtuGH\r\nEvZpEDxaD3rivWw/NO5LDIEIv0+DL4WAB8jnhjLy4IeZ2sPnlB6WWAbyk75F\r\nbScXd9UXPdM4eTvwjgr8rjyVlE3HiEHzyfZd1b07smS5g9fA2C4tjpgpcVpq\r\nSSwrmkuUdR7IR4FuxJ1Sz8C0cZMbYhJqgoAY4TAKjOUlyb+9qYdqXHBCU/JX\r\natXju6+dN3htAzGmmcWhcR0LgiJtLT1kmCTI89fifWeESC97plt3FfWSQpYQ\r\nHpeiN7ly8eAbH+S/nP9iubpUe0L0v3xyvKl+url9wZSRL34s/8RkFjTJEHky\r\nLwE6fcBeZajS18AC4Or9eF0dvRGvOj0FzA0TfdfQIlGGY0FYxrX0xuH5Vo06\r\nmQWUtMNzrwyy5004D/PsV1QP8y+38cvCHxE=\r\n=12yw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.9_1671789986454_0.8815899508508238"},"_hasShrinkwrap":false},"2.0.0-beta.1.1":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.1.1","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"9c51d80b613a55edd81e643e74bac88b2d9e0541","_id":"@boewa-software/react-searchbar@2.0.0-beta.1.1","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-NoEB8vB0LBqShmcHD//gMwYZ9s9WqCCtFgAox9Cgbf6ER+7rvB8DxqBE1MDQcGiH6znoV2TVVWBguBkrh7XAdw==","shasum":"557c2d9a3c341c30977e6120b3b71a6b97dfa76e","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.1.1.tgz","fileCount":25,"unpackedSize":322945,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPOsy5tkSJK6CTDwBSrZGGuPljP6w8SSHj7tQ0KoLfqQIhALYQW6oiz6xaD1TqTMmRdYB11RLBb3Go29EINGCuLypj"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpYBUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpgOQ//U8ibaZP7zKosj58dXYvF2MPXgCx2Vjgn6sgh9ggGRR3Vaf2K\r\n5+8mo5c2hSnmdfvbByQFe2dhMfr6ixjVQRg1mKSLiYSyijT5Dw4/+gY6MMkl\r\n1iTAAFBE5UelVpY058gsmFQ74LaHxuRRIoC5bJQjEwqRy8dc0tTIrEn+wuIq\r\ntLnUnW4wFYIH1CRcluZU3NDA3H/C7aUvyJUfLICNYVJrWPB/f9n7oJ4wRzmt\r\nP4+D7Ntx0H9z9unKufThfBixT8+dNAfksTemP8EK24t/lUuBQO6/ZWGt2w8s\r\ng5m3oKO17CD+4ybhzYqjKnsyMZVmLZc3JNMhiOd1+aTH4khM/5NJzK6WF8Og\r\n8Opg1wiTnLtwgd1uNxnH8WVUBDDv1xraspcedzrjsUg5O+AmftYlRd8ydg3g\r\nAfURFydZnK9u+B63D2CazqyhROmUvRJQAqgYSCMExqC1qKFPMTlORF2FXVhA\r\nYq7AzZiGC+5f56UTOF6T/TnF8299/D0PljHoDLMl5kD67z1IAv3hYQz3fkps\r\nxR9Itj8VNC9WF1EPdYECFzCZKwLHWu4p/8wgGNqnaymodh8wp6LqjGOdzJgQ\r\nHr2h/N2QXfZjUaCrxQ64mTvaqV9T/9fdRKBwYQ8P/xbziCGGAnkiGk9TGciB\r\nTD26xccA0jYCtTKs+IZVuHLa/DXxBRU5uPg=\r\n=W0av\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.1.1_1671790676262_0.8323017757644018"},"_hasShrinkwrap":false},"2.0.0-beta.1.2":{"name":"@boewa-software/react-searchbar","version":"2.0.0-beta.1.2","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"c9a4144a1a521a2fa7738736e3edb515547b26cf","_id":"@boewa-software/react-searchbar@2.0.0-beta.1.2","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-VFAYryiMF9RiiT6R5EDukZmpgCe6Fym86YL0mys+PoJYrRNHEDujCnLlOelEuKxkWCd85tazuJ6UTtSGu03uOg==","shasum":"e7545158b4c4c652d836b099e38f17291ea24468","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0-beta.1.2.tgz","fileCount":25,"unpackedSize":322945,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCx7eI6Jn+ae8m/mIL1rUCJmDH4yj2FHnDurpG26u6mkgIhAIJRZp/D3E4cyv9uBiE4CLoRj8Bob7fOwac2rFBkAPoD"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjs9iFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplWhAAmMDVzkYwR+wrqwwttuZuH2yKMtg4ul7z7bctjh9AkUb3YpQk\r\nlNThjMXvd2VoiB8QMAp4Hvom7PzyQ+u9fC/Ao5KaRMdrCU8A9+usOpXReyR8\r\nJpEwcWnmOjCkdBbriAZROEmyZDijJdjNe0OSUufIvr9GoPkaIvxsdWQDL5Jf\r\nPj9XQ7FaYG/7c/XzOB2Ki6keUS+9ErQ2PWKy9wkRgW8LL5xTHZ08d/+LCJpy\r\nGFgfQPLVRQYB76au3Gwf3Ge53Gp5D24xfKEyewI15bJguqM5XvRjjLrvjh/t\r\nJ6Gre3Yve4YxOfTTLRaE//dnqqGZ9Glpo26h+p64A/cYZ8vPHH3fOrVJ/X0C\r\nvKtsjjyvBwbo5GI9TfU6ATJu3M+Vh9IWTtkmXdF1OjKqmEJe6OHUOmgAFghh\r\nlyAIPneibiDb3MwvQQprl69dN4XdJknGmwHL1xbpoacy2BME5vMZQSG5oujh\r\nFC+zY3V5ARDcsM5vfBBKDlgAzP/S/AJh8AIU7oJ1BYdiQT0gCmedx1dKACNX\r\nK9AuRN/lNIIczsMbtUjfD3R4rCtzecWwca/oewutgssfZc1WauvJLrGda2/k\r\nX/TNdeGWwqcIjvgWMXuAwcm7wO4p4hTJuR38Nd3hjbGzKiFKGqXr7cFFh2/x\r\ncHoNJw/ND4rbYaCobubz1lJ3ofN5tn24v08=\r\n=rchP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0-beta.1.2_1672730757658_0.2211069197868072"},"_hasShrinkwrap":false},"2.0.0":{"name":"@boewa-software/react-searchbar","version":"2.0.0","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"gitHead":"8bcf5f316d42172db98036e36a71de6d0335b7ba","_id":"@boewa-software/react-searchbar@2.0.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-1I6U6T6+EypNK2KuOl1w/+rUz9gk3AOTEZorrp6WxYA2qFrBK8YSeU2flB0KWMzqGcTcvDCQ5UMvqL236euEbA==","shasum":"c39a397da86bb34336052e130d703b725f11c1c0","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.0.0.tgz","fileCount":25,"unpackedSize":322936,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0C57uPg7JlyN1Tj1GvTrHR/NyGpXtl/d8TpGQRUELdwIgasSx9hsbDHEkHDQYSCJH4Aq83LPKXwbpTmndsZo+f4c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtBEPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmouig//UdUrTNiyzghZoQkMlJgOgRP6HwMwrB9nll5ItsXiradrM+mG\r\nEKptwwiTPKNDxXym+uKHBfdTUiCT5V9KYkCCLLrTO2lcMod4sJCB8W68LJZP\r\nOBDFP+qhs+lbNQH/PVcwmeTqpwEP7gEfU0Pl1raI38X6/LEOsHDoFhEMJpir\r\nen/X6KGQ2dEy/eRNNr8v1imyYOVTjVPJgbNoC/HeAC3KVTuX+qgY62yToz9P\r\n/2GajddJa0ESICodXmeUQIXRznHmv67hjafuAjWe7+ZOSH0N5qeXi44S3JcP\r\nZNJYOb3nP2TGGB1Agfep1xBliTS+W3aaOQL0IghCWYvFJgQBvyA5js0j+KEc\r\nQRw+sJouzZ+5tHXlKUFPY+txt562DunSjLdRBtJmw59zqXEoM//qkDoI/Xco\r\ngO1L3BxwPd5oy5MhaT7XutNvu/1qiIbRVcRJDLOQNEqdfKa5aMyQFBfCMiwq\r\nodrDAl8KQqaR8xNISbSFkiNEzlwS1rs6GpKcVkA0jC9qmsvveGmZoXnjBA6J\r\nwdgBWgrq6HsWYsT57v/bvnCVPPux5Mi8GEWD12xYvSqZWevQ2ownOnAkH1w8\r\no2Lt5sd/TU37HK3yaK8nP+QGsypRhSBjfmGLPnnh2VBwoLdL2MAS1xePprUJ\r\nOxp43M+zvKG5Rfg7/+eP7JMU18epCXFoL3U=\r\n=hLbW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.0.0_1672745230946_0.4005135350387441"},"_hasShrinkwrap":false},"2.1.0-beta.0":{"name":"@boewa-software/react-searchbar","version":"2.1.0-beta.0","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchBarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchBarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchBarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"57a5b3444b5182a7008647920ee348cab3e19003","_id":"@boewa-software/react-searchbar@2.1.0-beta.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-KpXBz+Tx+TXgDfEMwGtwPokfe6Hm/sxgsVNZ9D4ObrQWXJJJAqhmnh3WSdp4l4WZrUoq921Xtdu9N/HotCD08g==","shasum":"a283ce6e3166a85d47723006bd81193724beef0a","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.1.0-beta.0.tgz","fileCount":25,"unpackedSize":330356,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1EK/pC2Qqwmlx8BJbGgw2TIYgOxlieKX02Nt+EJrKQQIgEbWk8ehJPtTgGIo8+iiuS7jDMYEEAeo738GRL9FTeBE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxsNZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6QQ/+Mg2P0Lb7yvN5A3tJTbRiuq23qdnBc36Dx1yWTFkoPTmW1LDp\r\n+kUb0XoQLQu4Jef48h2VO0kbcBwvb01yPK99pKddt4G7wqdATTUnzWf42df9\r\nPnKsB2+OYGWmZ3ygPLd8LUdaqELBS1OXtFRY+6xICLgdz012i8/gk+MT32xF\r\nsRSfMHNvhgBqq++9my2lkfm/2bb1JUOWqzjPNIl/dGxE9yxH/fHIeZ43STyH\r\nwdx9DnuQr/yFmcINKjCGAxWnD6AwydxYktcH4wBSxkkDBkzsHvbm4VLqh7Hf\r\niGes/LuqVaI0TfztZFTst1rprMyCAvsdJCufgigTYaPmOxApU05HocL/PojW\r\n60V+eaSt3dcbtJCE/qsGJWoYEbIFFe/Tc4tNh9Z90D2IDYbwfPA7Y7mGUfNp\r\n407YkIDOic/1d314H7VPqHfSFroeqIQib2Vjl5J2NbDZDrPp97MkP+9Jfeiu\r\nElqhG8VQbR1HQDWZyLzB6kzlpN3/PSS6m8Yv9+19C+mydbQRCbjXWBZLkgMd\r\nqsibOykP+4+1GyN5Nlf/MoB63k2fJPHdeiswiBn/AXaeEx+J9bOei/I6vGuO\r\nNHbsMJcQvSA+/Q8j9eG/gByJTAftTGKzImnchDrLiCaky0A9T3hbyNfhAcR+\r\nXLc2zn7EVgQhJKFKgp45X7URz3VX9gTdxgo=\r\n=BMyj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.1.0-beta.0_1673970521628_0.05836740486523584"},"_hasShrinkwrap":false},"2.1.0-beta.1":{"name":"@boewa-software/react-searchbar","version":"2.1.0-beta.1","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchBar,\n  DefaultFilterPickerFilter,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchBarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchBarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchBarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"a596e9236ba59f29a85009934a8abef867ce93c7","_id":"@boewa-software/react-searchbar@2.1.0-beta.1","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-nOYrPNAgPq4bsBa/m/Cs0vmtrjWkEff9pweXw1TtmiPbVjtnqloLS5OMAOrbaKcWQ83Q5mf6mltmryk4DoIe/A==","shasum":"98ec45ca68a043e91992118ff2b68b731ea60011","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-2.1.0-beta.1.tgz","fileCount":25,"unpackedSize":330356,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC2MsLvLHrQ/kEesMdjElnOWVKTTPeE7UXgd8R6I6BqcAiA7GfVunZHMI8w9HGjt5rJhHGW3mMai0v29NZe1g5+urA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxsiVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUsA//S6Q1/CyJYNYOq0gs0/yW+ia80Js9VEAxILSqpZOYxPPXRq3s\r\nd9mWbuTqehYqfYakkhvojpl5lHFBgSPvtWwWDpy5wQHX7Dx9IPWeoLDYFf6U\r\n7uBfZ8dAl/FGe5SfLaNMNv0/QSUbTiDQgxcqvxPDx3CTUEoFkVf5ehGljPx5\r\nt88pN3w6FvJjYlI5N4KMp1Uuody7sUc5Xx5VcjPMuPxY7q6OpStG4f1cV/Bu\r\nMb4aiz7phHFSjKeMqf4RoTp3TpR6kR3O8w5XXgu4JJS5C37v0mW5VsrwO+4e\r\nQnH2FUlmlLVrH3AGT7/fRE8+B2TFotGgfRMC51Rk3RYylbhsPNvyAGLU4Vkj\r\nqZYWLk+4X/FnCv9fgnCSsEp65yyCkQVH1ur7qpHQjUALOvAMqTxD4QUtDhw6\r\nZQp7WuLcu8QDaOgF6mzFkMgrx3zYb27H0M8Vp2APr2iVK8J+refBwbSIsDuo\r\nburxyeTjKT3JMk2AEl4lFVw+F0bn/41lWRBXnyvrXkodH6uUBIdCGYWK+3XD\r\n1tYgXVpN0Nen+JrUsZn8niGVSabz6KW6uIYcODdPTBmxlZ50mjJbnvb8DawB\r\n03qYy4aNfudjSGW7caOw1MgtWaUH8MCUA/IdtUIWMUsNQq8KktTXmyNEi+nB\r\n1Yi2ZFN+Xc/L8LA1Y5sE/UOtFA+B/uelghs=\r\n=xn1I\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_2.1.0-beta.1_1673971860754_0.7673107092437839"},"_hasShrinkwrap":false},"3.0.0-beta.0":{"name":"@boewa-software/react-searchbar","version":"3.0.0-beta.0","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchbar,\n  FilterPicker,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"4949144ced5f9cfedc278865202a7e3f6da0f256","_id":"@boewa-software/react-searchbar@3.0.0-beta.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-kfJsWrxzHkS51NLhzhoUfdq91go3ZvLU0LL0G598A4wX1y3fxRYASqa73Elw+yVtJqQ8CQe19v1W7KBaxWlWNA==","shasum":"91c0a39acdae325f13f66c93b0432650a0e1c885","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.0-beta.0.tgz","fileCount":25,"unpackedSize":387085,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDX3B74O5CuZ36Lpo0Mzjr8zk4+NFQNg1lAP7CopzZzTwIhALYGdmjXfHVOr/XJ9KV//pL8uWWNkXCQjZ/Xc6EhFATF"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj15tJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoxdBAAnM4rC94IanvouCILVXHvV5D1pgiTTMYodXjEuo7ODB/0Z7IX\r\nPpYYliKvQuIwFGXLt/w0BRKCK6jV/d5tb9Rg++HJiRTT6fA7290FW0HmYspL\r\nP3vOrqJaAKa0GLWwwD9+hY3eGchtmVDIUEHu239bhZ4fqAfihahZf5tcNts1\r\ni//JqB2IPn+0S7q1fZZ+ymCuD+R9uv6RMRXIHkoJgiG8ydjkey7jDaC2RU6U\r\nTyxPiIh/B5IZwpxdC8iBDsrQ+Nq6+o8x2sEuh1JcbGtRRt7PJaxgywS9qaGq\r\nJmaNEr/rr4ggbnL9ncOiIMXR3AGQf4FSI+XHli1R9OPv9SVOsIXEeBl868IJ\r\nm5cj7IJkJlbtOYyAnPyR0llZ19adWXb6bVwEMdYTXU/a7TEe4FZIjfslMyFF\r\nnPWpWw1yRPwouC1q8N+V7JKifaUSh8JSSc4R6lXV9Y/ESrc/eFc7vJguHxjW\r\nmoCekt9RzMm8MyxtppufHkkYFTn+1FzmDx9bjNURqD/MRTmRj0L0NLh0Ktdj\r\nkWboEFtM79O5A9lSGx6p5U5QSJL4lFXR9B5j7AR0KgC9D3BIJ8IOuIRRue+G\r\nsFezvFG2j79/ENQ7o7RJHIfOutxTfOhND7HHZBwTe0YEY+wlLD7OLUcRh0Bo\r\npkRaHIIq/zF+HgwEZE6WmkZOwTWGSizK894=\r\n=vqQe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.0-beta.0_1675074377254_0.4486688342784717"},"_hasShrinkwrap":false},"3.0.0-beta.1.0":{"name":"@boewa-software/react-searchbar","version":"3.0.0-beta.1.0","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchbar,\n  FilterPicker,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"25c046afcf34546394a02938dc110ea166fb7d66","_id":"@boewa-software/react-searchbar@3.0.0-beta.1.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-txpXGKFJKwMjm3KAbmZ6p5/iZgNFddrcg8z13kLM122utSrQSQ6/T5F+yrodobzs73TI9DO5yrr7tdWDYBjzfg==","shasum":"adc94e3a43b941dddb574c5b8c2240a7c4dfbcd2","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.0-beta.1.0.tgz","fileCount":25,"unpackedSize":387087,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAH6Lw46Ju0WUmsrHC0oduSS2yxA+Al0rOp3iyN8frkgAiAUpzvl3Crd9x3WaYA5T65ZZyp8TibLoF1g6VrZGGDjmQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj157LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmop3Q/8D2POC/ck2PH93SCJ06RlzLgj3lSO/XWbiMhGxhRu9BqJPtIc\r\nLIG0zSktwfUZENAVH7wY6IinaPLtZv91nqCIpC0K7KOVxYoBxBI73LIkYF/G\r\n+U01hiDXCf4ZTyFuF+x7XBe4CjWp4JjHF0N+NBn1lfBveQFA3yseHL5tBK/M\r\nY6mehhZ3Qxny2FLOkw5uuxD9nHVmUaXnvMqYLAp1aoQbOfVle0n4G+rAeqjR\r\nNFoSz2RZaVcbpvdHb8EcYNu6nH02Z3fNlJupi2Lyy2QO+rUN0oEPy80dMGBP\r\nkjVmfc/BzRQwKOVH6tGNcrvcRnT20vKDtjZUgPM3UqYHslQYJa3bfidamXBl\r\nwOTq+tV36dhl4Beg+Kd9k2vIQOlo8U/fWW5raEW/wfm50lqYNc+Q0jSHHzyZ\r\nFnERGUdfw6Hmjo/6VCZ/el0HOo9+0TFNh4AejzkHliCG8YXbcaBtu6AM+mDZ\r\n136deHFcICVHVfPjW1xxbGAdUhT9J/bNYkeUDU0fb9eBefKIN81Not9cKSSz\r\nu3pctMeLzQ6YwkuoC7+e35ovoMX4AIqlpGV/vxRcVyN19EO6aU/TelzRrr7U\r\n6sknS57j0oVgK/aArK342ib3D6EhCdBmB2Uv3wjQxZWaUUi+v/LmYa1OSZlk\r\nTmkLmdnN7AQt6AmeD/0mP3AQuzTdEtp/2uI=\r\n=w+Ey\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.0-beta.1.0_1675075275004_0.32838959648635413"},"_hasShrinkwrap":false},"3.0.0-beta.1.1":{"name":"@boewa-software/react-searchbar","version":"3.0.0-beta.1.1","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","@popperjs/core":"^2.11.6","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^4.6.4","vite":"^3.2.3","tslib":"^2.4.1","react-pkg-scripts":"^1.0.9"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchbar,\n  FilterPicker,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"3a377a9ac2ca21db5f5c169b809f7fbe838db133","_id":"@boewa-software/react-searchbar@3.0.0-beta.1.1","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-J/ODXVzVvZI7/GX32ZPMkct1FssdSVSfsDMjrSEDQwrTAT4r6n2b9I/oaUP7SiyiCZ4BtQSeYBMsuMwZN10rlw==","shasum":"a4caf1a8d0a3f98016f3a93c931f24d300c3fa1d","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.0-beta.1.1.tgz","fileCount":28,"unpackedSize":389795,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFLrhX/J3u6gn1IdG3dz7tUD+joZfeWEnE1R3hqodPV/AiEA3F3MvHKzWzyj5Dm0Hj6+4KHYBSQgZ7ElsRXdnTzBOXY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj16x8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpULw/9Gum1iK6yOCB83ND5AfCQPaWvX7Ipisi5xIPJtk40ndFARLxD\r\nziEkf+LfufdCdwwm2leJT+vLjAROzFohLdRu8+w9AYW3Tv5zKwd0/V+T0UQO\r\n6GkTgcAShnP4SxDpStMKTysI/e/VGPMQZeRSUBwg2IwQ+9/7Ln62YVKK81Jp\r\nL+YNUX7gycaQ5YsxukdpDaSrwYtNNzMv4HgQYAmQ7YU2CMCNSXtOkxHQ98f3\r\nfG1kC6bcLwYC/S6HXB8icoRityZgkA22IG6ziv647qH6wzzxZYYJPH4RybDH\r\nKMfuMUqdnu+fr630hrj0awHn+6X9bAKQ+FLozkEXwc2Fp/8MAW1/sz7YM4kk\r\nVdcTbDvwLpq6bT83bLYEwWqdxWmTJBGHljqSGg9KvTK0cEnh55oMT6qDCCR0\r\nzrLxN4AyqjQKenLnHvCeDDLA8Om4D5bMHrKbA+MZ8SC12vnXmMmeXHuwZhgi\r\nTO/m7w/HFCPK1h3cHh3HGKwNR2pimpVS8YRo01wE4EaTL2+ucGO1ROwKf2HP\r\nom7NMWiP6PdOApOoTfU5hpHl71Hriwd4LAXnxl4cTSgSF7pZOas9G2uVBXEi\r\nEVjYIYqR/let482l8FGCluFAq6YBe5m+yz4UR+xfyG+0RFHVb42cLULPhjuE\r\nIubQsfbQhsFaehKrDPCPqL9J38VAfBcc5w4=\r\n=FS19\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.0-beta.1.1_1675078780705_0.5412858589173872"},"_hasShrinkwrap":false},"3.0.0-beta.1.2":{"name":"@boewa-software/react-searchbar","version":"3.0.0-beta.1.2","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"beta","@popperjs/core":"^2.11.6","@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchbar,\n  FilterPicker,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"572a19b57efb13b2a3bdcee524683f03950818da","_id":"@boewa-software/react-searchbar@3.0.0-beta.1.2","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-Tq2o0I6wJrSv8sMCHSjzFmpiR2paSN7auyFszVdGfay84o8XKlFYSJTVejMsfFoxiRKBDmAMJ8PTYiVhwSSiag==","shasum":"135cee284e347eca66bb20827cfaca20fa8fa665","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.0-beta.1.2.tgz","fileCount":29,"unpackedSize":390601,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBfyNvlxearT2eQf96OpaFgVDA4aUZgIalok8PqO46VFAiEAhVFmXcqQoO13nKaBu2N9MQjRHnuB+cCL1g3ApFCIKro="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj17TqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3GBAAjniMRmKAu6zjjgIHXNCoyaKSy+jBRYo3UsRaUx/eF1+DLOEu\r\nGSHxJnRybM2WDOCXlsVdkmkXeopBAspkPyJyDuztwoNuNwyDLoYiPpteawng\r\nmXfMc4kDY8bQW4rhc4a6j3CmiVp2DZdW6sVyNiYx1EJ/LWx90m1tG0a1L+Il\r\n6vGUqc3OrIZEHZS1G8+OXJmY6Qsyv76gcnOCnRhyqIFmMYZaJLXQQHpZ95jz\r\nZEdcheqixE5rHFu2vbg9c515G20d5+ibTkoIEHhFFws0V+n5fdcFB2HgFXe/\r\n0O9RmcXyXhEWWc4NbUcbrvHZ2IAI7CVNDDcPkgi2u30ARQ9SuO66C9omid4V\r\n6vzxhDTpg1fbNicKmVB7LWI6Yl3SaDTK/hMKQ3c2Mn7MMSlMj0Kcmgxh7fqD\r\nshuFOhV7i2UupoFj95Q9bRGxeSnzCPj0ZnTlrJTOwD1fvn7nHMPkZOy/tqYZ\r\nZkj0vI82KdBqiUNIpCB0qmAzy3HOhZ2FJLfR+hqk5QNM1fp1f1gWDCSBWLTp\r\nAyKrl+tsaaC1kvcSeix2GZNAQQh0CTefRP3wHVoa6ASb+ygTAGUD9XKTnkAs\r\nwmUYOsDhgCufVVPYii1wULXV2WlG1vonN419xXbaleLNW4eq+TZm0E8HrOa3\r\nStehV/5H8/tAw9RNLRiHRh1gEx8cbCOYeU8=\r\n=h2Gb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.0-beta.1.2_1675080937979_0.06412892744261112"},"_hasShrinkwrap":false},"3.0.0-beta.1.3":{"name":"@boewa-software/react-searchbar","version":"3.0.0-beta.1.3","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"3.0.0-beta.1.2","@popperjs/core":"^2.11.6","@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  UrlConnectedSearchbar,\n  FilterPicker,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die das basic Layout der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\nDie Searchbar generiert folgendes Markup und kann mit den Klassen entsprechend gestylt werden:\n\n```html\n<div class=\"search-bar--container\">\n  <div class=\"search-bar\">\n    <div class=\"search-bar--filters-container\">\n      <ul class=\"search-bar--filters\">\n        <li class=\"search-bar--filter-container fb-order-helper\">\n          <div class=\"search-bar--filter\">\n            {filters}\n            </div>\n          </div>\n        </li>\n        ...\n      </ul>\n    </div>\n    <button type=\"submit\" class=\"btn btn-sm btn-search btn-secondary\">\n      Search\n    </button>\n  </div>\n</div>\n```\n\n### UrlConnectedSearchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    alwaysFirst?: boolean; // Entscheidet ob der Filter immer als erstes angezeigt wird (wichtig für FilterPicker)\n    filterComponent: React.ElementType;\n    value: any;\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### DefaultFilterPickerFilter\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\n**ACHTUNG:** Zur Benutzung dieser Default-Komponente muss Bootstrap im Projekt vorhanden sein.\n\nZur Benutzung wird der DefaultFilterPickerFilter im ersten Filter Object des Filter arrays als filterComponent prop gesetzt.\n\nDas Filter Objekt für den FilterPicker sollte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"alwaysFirst\": true,\n  \"filterComponent\": \"FilterPickerFilter\",\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"62445985cb03bcbc6ee053682e5b9d3ab860605e","_id":"@boewa-software/react-searchbar@3.0.0-beta.1.3","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-lwT4rru/LH57eU40kdaD7/3G4c0AjFwZKoWhwXnUYc6AtdDycCabiNx5wtqNEsIC27G3WlfOY9ylaEM2OFVOpA==","shasum":"ac3e3fd6d0d0e94ec00e55377c71510a048d0e52","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.0-beta.1.3.tgz","fileCount":28,"unpackedSize":389343,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG9MWYXNKMk1ws/RM7GKRb38h4dRehiCoDMlc6Kkszz0AiBwg2PCHZWY65MyD8lzZwkktCvddUdRgIi7pcALJ79uUA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj18e+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjNg/+Ju1okinXTYMqx1UZAzhamZJQL0uXSiP0b3Ow8tzGT7Z0jeP6\r\n7Cl2u2HHT+BSkjBm61tDRicmJ0Sghm6HMx+m4HCqA+o64ZHTpu/IuwfFgpWt\r\nJS8Meo2kzSa/y12724s7r5V6eY8jCj8rxnsyucfvC2d3UDFTxkaVhVYiTBAB\r\nhFKDPtC7ZzuiTOvZgxJgTYiNrUQgeMBwKHHPnKFuCgWk3wUeY2bRBxQtpb4B\r\nbjQxk/i9png57RVG2t84S44XU1ZxznNEuKFoz8gcLQkqKVynwaPdSRSIU3QR\r\ntyyurOvi8YK1+LrPe9lHLcMFrWRU6WCTpZkYDjSJwlV5cCi3oROr57KlZGWV\r\naI6yEXWRO1lcV2biaPeYVKyTuklB6Fo0SIknKxNAtWWLGIQRmX2B+Vn9evA9\r\n0SWAV48urN59hJKrnrxby47ODooEQgEkQd7v2BqEVStAT5YdGmcAmFm5LZcl\r\nHbsy5yDy0du30LUzTjMzx9WNAyOrsbN4tbC9KtqFB7rnDUUVOWhSjZnjqkRs\r\n4R/Hcbyhci65Ptg9MGaZlMBGXUY9J2VbcmhwMnio4IXR3LHOBoPn/NgI9aGG\r\nvwvoxd8J/pWRqw1UqyKjma3JeE6VsfcaD/X57NCGtq4RKfTUnSO+UYSue27X\r\nLrZMkaq7GR44DLisbaQMB7ElSgMSMJZDsAE=\r\n=NhoU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.0-beta.1.3_1675085758101_0.8701390189553904"},"_hasShrinkwrap":false},"3.0.0-beta.1.4":{"name":"@boewa-software/react-searchbar","version":"3.0.0-beta.1.4","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"3.0.0-beta.1.3","@popperjs/core":"^2.11.6","@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  ChoiceFilter,\n  DatePickerFilter,\n  DateTimePickerFilter,\n  FilterPicker,\n  NumberFilter,\n  TextFilter,\n  Searchbar,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die einige Default Styles der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\n### HTML\n\nDie Searchbar generiert folgendes Markup:\n\n```html\n<div class=\"searchbar-wrapper\">\n  <div class=\"searchbar\">\n    <ul class=\"searchbar-filter-list\">\n      <!-- START Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter searchbar-search\">\n        <label for=\"search\" class=\"visually-hidden\">Suchbegriff</label>\n        <input\n          type=\"text\"\n          class=\"form-control\"\n          placeholder=\"Search\"\n          id=\"search\"\n        />\n        <ul class=\"dropdown-menu show\">\n          <li>\n            <button class=\"dropdown-item\">\n              Press Enter or click to search\n            </button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>X</strong></button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>Y</strong></button>\n          </li>\n        </ul>\n      </li>\n      <!-- ENDE Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter\">\n        <label class=\"searchbar-filter-label\" for=\"container\">Container</label>\n        <div class=\"searchbar-filter-input-wrapper\">\n          <!-- Hier wird der gesetzte FilterComponent hineingerendert -->\n        </div>\n        <button class=\"btn btn-xs btn-icon btn-search btn-secondary\">\n          <span class=\"visually-hidden\">Filter entfernen</span>\n        </button>\n      </li>\n    </ul>\n  </div>\n</div>\n```\n\n### Types\n\nFalls explizitere interne Typescript-Types benötigt werden, können diese wie folgt importiert werden:\n\n```ts\nimport type {\n  FilterComponentProps,\n  FilterProps,\n  Filters,\n  FilterSuggestionProps,\n  RemoveFilterButtonComponentProps,\n  SetValue,\n  UnknownFilter,\n  UseFilter,\n  SearchbarContextProps,\n  SearchbarProps,\n  SearchbarRef,\n} from '@boewa-software/react-searchbar';\n```\n\n### Searchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    filterComponent: React.ElementType<any>;\n    value: any;\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    isFilterPicker?: boolean; // Nötig, da der FilterPicker spezielles Markup generiert\n    hideInFilterPicker?: boolean; // Entscheidet ob der Filter im FilterPicker angezeigt wird\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### FilterPicker\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\nDas Filter Objekt für den FilterPicker könnte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"filterComponent\": \"FilterPicker\",\n  \"isFilterPicker\": true,\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"d7df9e0d302560d1014cd87f86206db5feaa0cf2","_id":"@boewa-software/react-searchbar@3.0.0-beta.1.4","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-p8xi3t7ZqPjudHg9VtyEfYxjXitxA4tbriiSD0q2f35tL2Rh0EbKLfb0/rGy6MzJJFOJNCY6kIck4Ud8u96u2w==","shasum":"53feed1299ef8d46b7996389bb26675d069078a5","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.0-beta.1.4.tgz","fileCount":28,"unpackedSize":389849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG9y5yMUTzK9twhBJ6EicQ9QB4oEnnQS7ZR2JtiazgbmAiAoLra79/3nL9wX4hSscW4eAs/Y2n4xvWC+HVTZVrToxA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj180wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEvw//Yk6AvToIFtlsy0zcyb5x5hw4WY04KpW1teSekWp2N5VCtlEo\r\n/N89VQD8X/tRLmxsR/85RDJH8pCgohQaw+GX2nIVe+oVkVVc8loJj/gMmDhf\r\nxW3hkXDvIYLAVYF790CcDVLxOIriZi3KODG54KSCO0RIYKtjyp6KtrcYsj4X\r\n5A3AgUMF6323ILjsTlJ0svyEgPwPvMnFWXhVuYdVA7ofaZRaZU0bVBa5ZmAG\r\n0WBGxFuaZHIkv5wkXHm7iyBKQiRUBu2t7dyBBqv8KC4K+7nKH2pQpTS3XVv9\r\ns3hUHhFYF4KmIoN+LPdPw2UONvMBrCm9tAPgsLefET6+7yMEZTvgSdKIgAhD\r\nBSPN2zhF2mBxZgxyn0/7JILfEBNci49aPJVai3imlsR8POUaHl/nnV7vN2fV\r\nEHzwkAcx6s3bZhxn6Oc0BhtWLLmKM72wTrQZEZjjeMXKD6hfUsFht7uDrBTr\r\nmPaYu79BBwiml30lAoJlk5jfFdLtY0L3n7SrR3i22mMX/puSoDAqenqNZIKF\r\n2uBAPfZmdWP054U08cMqntHLR9+wEYUiMcSeDwb96FQNyqj6soLhPM7ZOC6V\r\n6H44gpFnWQIQLyMoIJwAW6eobfU2tamEyaqp7DWNGuITx4ZgFHijCZynaf7S\r\nkTNNbVraoV2IbsMjKA/o1FwY0lzlLZgMfTk=\r\n=Eh/7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.0-beta.1.4_1675087152135_0.860070634943602"},"_hasShrinkwrap":false},"3.0.0-beta.1.5":{"name":"@boewa-software/react-searchbar","version":"3.0.0-beta.1.5","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"3.0.0-beta.1.3","@popperjs/core":"^2.11.6","@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  ChoiceFilter,\n  DatePickerFilter,\n  DateTimePickerFilter,\n  FilterPicker,\n  NumberFilter,\n  TextFilter,\n  Searchbar,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die einige Default Styles der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\n### HTML\n\nDie Searchbar generiert folgendes Markup:\n\n```html\n<div class=\"searchbar-wrapper\">\n  <div class=\"searchbar\">\n    <ul class=\"searchbar-filter-list\">\n      <!-- START Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter searchbar-search\">\n        <label for=\"search\" class=\"visually-hidden\">Suchbegriff</label>\n        <input\n          type=\"text\"\n          class=\"form-control\"\n          placeholder=\"Search\"\n          id=\"search\"\n        />\n        <ul class=\"dropdown-menu show\">\n          <li>\n            <button class=\"dropdown-item\">\n              Press Enter or click to search\n            </button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>X</strong></button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>Y</strong></button>\n          </li>\n        </ul>\n      </li>\n      <!-- ENDE Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter\">\n        <label class=\"searchbar-filter-label\" for=\"container\">Container</label>\n        <div class=\"searchbar-filter-input-wrapper\">\n          <!-- Hier wird der gesetzte FilterComponent hineingerendert -->\n        </div>\n        <button class=\"btn btn-xs btn-icon btn-search btn-secondary\">\n          <span class=\"visually-hidden\">Filter entfernen</span>\n        </button>\n      </li>\n    </ul>\n  </div>\n</div>\n```\n\n### Types\n\nFalls explizitere interne Typescript-Types benötigt werden, können diese wie folgt importiert werden:\n\n```ts\nimport type {\n  FilterComponentProps,\n  FilterProps,\n  Filters,\n  FilterSuggestionProps,\n  RemoveFilterButtonComponentProps,\n  SetValue,\n  UnknownFilter,\n  UseFilter,\n  SearchbarContextProps,\n  SearchbarProps,\n  SearchbarRef,\n} from '@boewa-software/react-searchbar';\n```\n\n### Searchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    filterComponent: React.ElementType<any>;\n    value: any;\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    isFilterPicker?: boolean; // Nötig, da der FilterPicker spezielles Markup generiert\n    hideInFilterPicker?: boolean; // Entscheidet ob der Filter im FilterPicker angezeigt wird\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### FilterPicker\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\nDas Filter Objekt für den FilterPicker könnte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"filterComponent\": \"FilterPicker\",\n  \"isFilterPicker\": true,\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  focusedFilter: string | null; // Name des aktuell zu fokussierenden Filters\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"b55702b09d27695b78653dfaadd999b8967fca0a","_id":"@boewa-software/react-searchbar@3.0.0-beta.1.5","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-BcAAvE9YBYAltnuo7N0JKgNR8NeAo1qF0Lg+xxj1uFazH5BekvYxjfU1J632AikXR/W8QN9UnDmZ/kk6yyGO5Q==","shasum":"c1bcce67351a31f92fff96a74a915ff00668e010","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.0-beta.1.5.tgz","fileCount":28,"unpackedSize":398899,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFvs9KxXGQQZSH4RcVqnjnLZsdVLY5gKsDCxXFK0946IAiA03OIaUMjou88eMVT+uv+E+xo52ydOxFyNRxV+r1Xaxw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2QyGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4kA/7BYA04QMcmIxvSyCBPZhIeSdlTO6e2b0/6wjS8i9te2jSYw4c\r\nT+m2mDNi9x0157d+PfJXJmACrfBfNV+zns8huppm8LUg5su0CXDbqlB5J8Tm\r\noSdzCw7VVQcdhq6gwlsZfR60GsKkaUKQ/K0sa9QMKXdberpfr52luQipIoLN\r\noIMedzNWxpMdCgWSO66zqct+Fa6M89B80HxbTkoj97KYcXk4UZ3hBAfDm9or\r\nzvXUB/seiZG9XhfWdi5O39+o/5fS31wfkVwyepP3HrrpwoNw0UUeciew838r\r\negh2imUANa+Ms47aNFMnKZxM2lsRjwBVAXMPQDu1Xr2DeVZGJJU+FMlgEwYL\r\n6D6uPGUqaUuxZihkbkH1qjtaRrvtBtEAB3TwArcIllVHT4O0IZU07kgSR1jJ\r\nTBhHAnYLWmmVABMi5x7EK+XS1oEVL60uY/X9FNjwllQO9/d4N6aqDTvd/pqv\r\naxPdvXCoqhBLNclHTrSbB2Fisx3wzr+QLpz9grQ/sXbzUMAKfxfUwICT9g0p\r\nElM1IgS7U1FKOUYofgP61kcRiiwq4EzBQnRzXEXx1dodAh4KfhTgsw8LIDTh\r\ncnzLwbubaTtbp5Ela0ebAqlwFCcW8pIO3uKZEQZ4aG9rwElj/i2nK4dJeJ8H\r\nx0qmV5VrMBoZF2Q/sJF0y+xOpSP+2lrIF/c=\r\n=lpPq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.0-beta.1.5_1675168902315_0.5648419509873022"},"_hasShrinkwrap":false},"3.0.0-beta.1.6":{"name":"@boewa-software/react-searchbar","version":"3.0.0-beta.1.6","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"3.0.0-beta.1.3","@popperjs/core":"^2.11.6","@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  ChoiceFilter,\n  DatePickerFilter,\n  DateTimePickerFilter,\n  FilterPicker,\n  NumberFilter,\n  TextFilter,\n  Searchbar,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die einige Default Styles der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\n### HTML\n\nDie Searchbar generiert folgendes Markup:\n\n```html\n<div class=\"searchbar-wrapper\">\n  <div class=\"searchbar\">\n    <ul class=\"searchbar-filter-list\">\n      <!-- START Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter searchbar-search\">\n        <label for=\"search\" class=\"visually-hidden\">Suchbegriff</label>\n        <input\n          type=\"text\"\n          class=\"form-control\"\n          placeholder=\"Search\"\n          id=\"search\"\n        />\n        <ul class=\"dropdown-menu show\">\n          <li>\n            <button class=\"dropdown-item\">\n              Press Enter or click to search\n            </button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>X</strong></button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>Y</strong></button>\n          </li>\n        </ul>\n      </li>\n      <!-- ENDE Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter\">\n        <label class=\"searchbar-filter-label\" for=\"container\">Container</label>\n        <div class=\"searchbar-filter-input-wrapper\">\n          <!-- Hier wird der gesetzte FilterComponent hineingerendert -->\n        </div>\n        <button class=\"btn btn-xs btn-icon btn-search btn-secondary\">\n          <span class=\"visually-hidden\">Filter entfernen</span>\n        </button>\n      </li>\n    </ul>\n  </div>\n</div>\n```\n\n### Types\n\nFalls explizitere interne Typescript-Types benötigt werden, können diese wie folgt importiert werden:\n\n```ts\nimport type {\n  FilterComponentProps,\n  FilterProps,\n  Filters,\n  FilterSuggestionProps,\n  RemoveFilterButtonComponentProps,\n  SetValue,\n  UnknownFilter,\n  UseFilter,\n  SearchbarContextProps,\n  SearchbarProps,\n  SearchbarRef,\n} from '@boewa-software/react-searchbar';\n```\n\n### Searchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    filterComponent: React.ElementType<any>;\n    value: any;\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    isFilterPicker?: boolean; // Nötig, da der FilterPicker spezielles Markup generiert\n    hideInFilterPicker?: boolean; // Entscheidet ob der Filter im FilterPicker angezeigt wird\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### FilterPicker\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\nDas Filter Objekt für den FilterPicker könnte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"filterComponent\": \"FilterPicker\",\n  \"isFilterPicker\": true,\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  focusedFilter: string | null; // Name des aktuell zu fokussierenden Filters\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"7141f27d63d3b4078a29c88ccbd12340eb31cee2","_id":"@boewa-software/react-searchbar@3.0.0-beta.1.6","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-eQMKtiwQLw5ElIoEhpIxyoRUCYwQSZF30v0JbY0htfA0gta5lMZQrHoNqyMJhGAoD4J7iy5wXij99P0EhIh+GA==","shasum":"0435f8e34dc4abc45e87ea72429e8d28e3146819","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.0-beta.1.6.tgz","fileCount":28,"unpackedSize":401590,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQK+rsiugfkU7IszveS7ZNsXssDpj+YH6cztVsNvj+3QIgMvR+UGUXdLgTrTGQDosTlUT5DKOy1hGHhHCHZdp9CWo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2RQoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpU9Q/+K+1OiyPmOJYRSI4PJWIR5u4ArONzHgQEijXbOE2i5/7fxc19\r\n5/JRBq5o7ysNCWxoDzjE5g8NxWKMe6uuKJtDCaTLTKAEk99o8I5adulNaln1\r\nU7HQOnE4NEwX7Z8ZdqQ62NEnZApaSHUjZ0qYfqRWhBDKbaKlcxy5HhyO3Mek\r\nVqHR9IxrFgqY05kai6Vq7nZLYJQZSBKgn3qPeaZL9B6JWoyXQZy5Vi/RbOsK\r\nRXXLpCFTIG2VV5Iiy3com0yJ5iGWcyDZm1fjona6p1WfgKrARNG4+iX9y1zU\r\nMtwp4a24Fva5z7w/mBvVWDtMG2+Ju5Mvg2kIdM+jW6cK4bn2azTF0aItNsKx\r\npT26mI6Zv7zu4MO2ROO/Mh3d/MqG5f4WQFx0rho3MmIfi1qIFFVtOKFZdeVV\r\n767wQ901isngf3UpBWtEutJnLqM2wuXK4WvYkTsM2d5svb9Hg/+EvGL+8myU\r\n7kGn2kZEk1MheVjGlw/9PY5EuOm5BNmAPJZ7U/CAWb5DWkS1YiIxqq5eE75g\r\nL/GllZUyC/HkWfS1XO6YZBoWgryGiRulumY/73xq5GXUgKaW0CLpUUonTr0j\r\nbnN0YI1GtJGxmWe0IOfsc6aDFdo5mCqFaPKAaG9W/36nac9al3OPpRJaQ46j\r\nEVsO7T0M8LoVY2XrSuiuMYche/z1TJKvGdc=\r\n=3mtl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.0-beta.1.6_1675170856028_0.9014654942898506"},"_hasShrinkwrap":false},"3.0.0":{"name":"@boewa-software/react-searchbar","version":"3.0.0","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"3.0.0-beta.1.3","@popperjs/core":"^2.11.6","@types/bootstrap":"^5.2.6","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","bootstrap":"^5.2.2","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"gitHead":"fea23e7b7675558a78133608452616011d9201e2","_id":"@boewa-software/react-searchbar@3.0.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-8zlA35uL6d7DyYCn5gBwxhm4WESPgkb3em3hYBiPJaFrQ8PJFwIVac0CAKkbJk1xt+kzfkmxGSxXz2peXHEf9A==","shasum":"f9a5dd14737fbb68d2ac9bb09975e668584c38de","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.0.tgz","fileCount":28,"unpackedSize":401581,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDiKTETUSm3aAtoV9ENz/HGEAGXG50piZ80TyNXvzXUfAIhAJ8LVKMyWAoEYGBpxx3z2ou4jy2HmfMUBRGwHTtxy8jO"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2RrVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoz9A/+KffRWN1l43Gy36GD8Hnhgjz9f+bvPiX+Z4GPGcc6psyA7lA6\r\nUnDxgnXIOsiiE0aBvHvcSlk1koA7XY1kgZl8d+8Tege98EUTVVjnP2qynBnL\r\nqaGQd7a5g0Zo1KDh6PWUfFo+JdDntdD9pqpeDuj8uTYjnvZiwL5ngbgd4+di\r\nKyGoCk5sA/VrgV3Q6oVLbGOvt5gteRdSU/+ZPvLEsYqpvsEj8el9a1wO2bfl\r\nHVSFJNLWfHdAQ/Sj9cuIZGIJkNCPUrQIPkb/vQ3mVANCMdiVefswh9K/DoOx\r\n6h48jEh38LLedMLbUKWaT4814hBBo0x2ANtqoOousTiyI9O4E267iYKS//uN\r\nezmu++LeK1LG5e3/3e8JXjObruJ7SUgb7Q2SYecHMXd36WoWWnS8r99Puj8E\r\nEsjPVcHYRjUmOnw9jsv30Er2DXcj3Pkj83/7ox7mtNtrTC7kGMV/0F/kIEPq\r\nmidEQgOyeJwJZ8b9bN1iLM5jH7hDOYuiBqHA0zD0bfSKPcjsRZZUxNYIgqOB\r\n2t996/QQBFdQ7WZpHEONwXkZk8fMGQl8A2z5Rt3jvXotdiBr7/q5lSWjQajx\r\nbTn1cqKpSDnglaIYOpeO1ptFq77+0oDQLbxIqV3F6aDwzK8S7vhQqxZ+1o4G\r\nGlkHCHMGKTX+MXhAmsPpr8EGpjXcV9pctNY=\r\n=JZB/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.0_1675172564939_0.5154320773340175"},"_hasShrinkwrap":false},"3.0.1-beta.1.0":{"name":"@boewa-software/react-searchbar","version":"3.0.1-beta.1.0","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"3.0.0-beta.1.3","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"readme":"# React Searchbar\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  ChoiceFilter,\n  DatePickerFilter,\n  DateTimePickerFilter,\n  FilterPicker,\n  NumberFilter,\n  TextFilter,\n  Searchbar,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die einige Default Styles der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\n### HTML\n\nDie Searchbar generiert folgendes Markup:\n\n```html\n<div class=\"searchbar-wrapper\">\n  <div class=\"searchbar\">\n    <ul class=\"searchbar-filter-list\">\n      <!-- START Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter searchbar-search\">\n        <label for=\"search\" class=\"visually-hidden\">Suchbegriff</label>\n        <input\n          type=\"text\"\n          class=\"form-control\"\n          placeholder=\"Search\"\n          id=\"search\"\n        />\n        <ul class=\"dropdown-menu show\">\n          <li>\n            <button class=\"dropdown-item\">\n              Press Enter or click to search\n            </button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>X</strong></button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>Y</strong></button>\n          </li>\n        </ul>\n      </li>\n      <!-- ENDE Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter\">\n        <label class=\"searchbar-filter-label\" for=\"container\">Container</label>\n        <div class=\"searchbar-filter-input-wrapper\">\n          <!-- Hier wird der gesetzte FilterComponent hineingerendert -->\n        </div>\n        <button class=\"btn btn-xs btn-icon btn-search btn-secondary\">\n          <span class=\"visually-hidden\">Filter entfernen</span>\n        </button>\n      </li>\n    </ul>\n  </div>\n</div>\n```\n\n### Types\n\nFalls explizitere interne Typescript-Types benötigt werden, können diese wie folgt importiert werden:\n\n```ts\nimport type {\n  FilterComponentProps,\n  FilterProps,\n  Filters,\n  FilterSuggestionProps,\n  RemoveFilterButtonComponentProps,\n  SetValue,\n  UnknownFilter,\n  UseFilter,\n  SearchbarContextProps,\n  SearchbarProps,\n  SearchbarRef,\n} from '@boewa-software/react-searchbar';\n```\n\n### Searchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    filterComponent: React.ElementType<any>;\n    value: any;\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    isFilterPicker?: boolean; // Nötig, da der FilterPicker spezielles Markup generiert\n    hideInFilterPicker?: boolean; // Entscheidet ob der Filter im FilterPicker angezeigt wird\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### FilterPicker\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\nDas Filter Objekt für den FilterPicker könnte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"filterComponent\": \"FilterPicker\",\n  \"isFilterPicker\": true,\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  focusedFilter: string | null; // Name des aktuell zu fokussierenden Filters\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md","gitHead":"4440114871f0303a4f039f37efe342df4279fc60","_id":"@boewa-software/react-searchbar@3.0.1-beta.1.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-zlgnQVA5Mmz1RbZ7mgfvaOWj5+fx2GZWCNXRrfixjN+ZZ0W2q8fVbLqHFUo87c3292mzbuh3rOtJ0ZdjnSRspw==","shasum":"8fa35025209a7d44b24de34fe99f1ae649566a2a","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.1-beta.1.0.tgz","fileCount":28,"unpackedSize":401672,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDaqX6mDhs0aBvmHE2Gkmd8awZswARM4Zn7ro1v75l2CAiEAgoX1Or+eapJJg6LhnqS1BoHLarmhG50H2m4a83O5AnI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2R22ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwJw//dXixd7kxvqiWJzYAB5TeGcGo3GoBnX5Bwllr0apb4yXd+dHj\r\nGrloSzZJLrAFvsWHeaXCPuAETgRg5T5TyIz3Iowktiy8j8er9+Ez5qhuzJj8\r\nma7gJpn7Gu98mTIQwwx5hZ0lwSxA+8mp6BoLECc2Rl7D8B0dh2tmDXfVfhH+\r\nuMyzVNmwVSgRoQWVsbuZ25mGNg1YvkQbCfm0t40HebEC7Czh9+MXJGIvuQSg\r\n5HE3LTDOEZwikCESvyCEKJgw4aOZGdctyMOa2eLTycEF5lmCZAxvm3zK2ZZb\r\nTAPYLHu5Y9BPC2qZLjYEP6Wpt4dNRGXoit1874t+QtsaLlv3OklIiTIMXoek\r\nDq0WmRj4usAtQHyw3mr9MCccKoTYaC2PCJTHHjaFp6C45ma8yeXNabVKCyzp\r\nQXR1XiWNoGxqQSaCdP9tZUFil1nXz+lcx67PvhD5Gn4dcosYruxSOIIahlHY\r\nR8kybJfKvLvPJnL6k7sL0UXS5VGVK/x/si9n7XcoSn6pdOouCykoCwH3tDK4\r\ncA8gvQIzgsNKJdPzD0p2WpkojWYgipXz5tWeMIqELy5D3uP/RKJ1qv6qeYUi\r\nXJa5ub0q2rosV7Ht92n7UI044U8fk6FSiRIF5B2TQYcv2Q3MN/ea+Qfj0+fg\r\n6z0U3jcOz4TnthM0yEH+IB1x/fpq4kwUkj0=\r\n=iFEt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.1-beta.1.0_1675173302268_0.483781621136534"},"_hasShrinkwrap":false},"3.0.1":{"name":"@boewa-software/react-searchbar","version":"3.0.1","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"3.0.0-beta.1.3","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"gitHead":"5107b4ddda8deefa262874ba3675340a07480901","_id":"@boewa-software/react-searchbar@3.0.1","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-TducPBPfnLbUeYVyiwYeJfoXFFNE7090s4udP4BmUiPMHq8yH2b8G81jGgPjWKyYMBxU3FtOx7LWmJn4hYi/gg==","shasum":"42a32d8c785d57a29f3140ca55fb54d564467e47","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.0.1.tgz","fileCount":28,"unpackedSize":401663,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDeQ84cfAI9WS/1H8P7DkDhtpblkXPv8Q7ox6hjV8X3lAiEAlh9vlbTORDp8SNo65X8JBwgZ4dr3pjo5O1WfwxgnWEE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2R6lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3sw/+NTt1JdZ2j3anlYKGeKrPbAYOX0oJrI7ux4RSRJp58dWrtPQd\r\nFyAY+b1iLEdD8cjNeN5kl9Bua8TCk9alZcuwiAaOH0pmTwm4aqo2OYhSDA1p\r\nOKBCCygfEbzyJxk7W6KjD23NXTlGcj75edrFl3kG69O9OypjBZutJF2RiR87\r\nzhUuqTalNfqXv9y3Jog13LKhIUAPQdGYZuechPgoRF91Md0vWDW5C09gWDzh\r\nf24fk5zprSGec23/apRh7Bn5SSKvn/iosmU5E9H7G6QSHAY1k1/sCJmOMMEj\r\nFbcPgKIbCkfuj5S4+ooEY5ryoocvkMTsB4xPMO/tkjIr2FfKdJShZXRJobRA\r\nlyMjSTs9RzBC1WVjHnm0uDv9OH13wM2x2UHpfTHfVEZYGozlFJEEngbGOVWZ\r\noDy41F9ugFzTwTP1JYbmrsB9YDVxVuSb6/f5oZtRISuI4FQiqQ+F2a9Q34sG\r\neljgo5i+HLXw9t2CAaNTsyjDEkLDLhPO9D3ZKBYTlnG8GwCdBZedtJR+dWjc\r\nmQt/FWRqhZIfsMVtDMPxVKtgo7o6Bl5o1cJrENy1WvaVYbYpkCuakXWOC1PV\r\nFOQUUfLRlDlXPuhf50zgEs4d+x7RD17QxRJDcOrsz9sLQkf3YYFzVdYddsSK\r\nCNuxGaLYeJyf++CazIS2Z1TG5vmn8c+UehQ=\r\n=oPmj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.0.1_1675173541175_0.6071584053456622"},"_hasShrinkwrap":false},"3.1.0":{"name":"@boewa-software/react-searchbar","version":"3.1.0","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"3.0.0-beta.1.3","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"gitHead":"3c5218037edbee52b151ed955cfb9baa0982e11f","_id":"@boewa-software/react-searchbar@3.1.0","_nodeVersion":"18.12.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-PPrFLbWEhWt6RLNJi5uF4DiBweaLLaP9Jlxu3TcmdPEQPvnzywEFbGew2sxnIHTckNB8Wdmkl7ujza4srhfFeA==","shasum":"e6b79b98ac92e52b21fd45d0ba6a929dda41e07a","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.1.0.tgz","fileCount":29,"unpackedSize":406652,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH/3dzLdbW/yK2wT/2Bc2kKeWkzldfSm4p8vTmTesZh9AiEAt5pEBzR4GvHzf8L09Viju1WJPCPR2N7X3ymhKlfZoaI="}]},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.1.0_1693909457073_0.39560845414883206"},"_hasShrinkwrap":false},"3.2.0":{"name":"@boewa-software/react-searchbar","version":"3.2.0","type":"module","main":"dist/index.js","module":"dist/esm/react-searchbar.js","types":"dist/types/index.d.ts","description":"React Searchbar Component","author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","start":"react-pkg-scripts watch","build:pkg":"react-pkg-scripts build","preview:pkg":"react-pkg-scripts preview"},"peerDependencies":{"react":">=16.4","react-dom":">=16"},"peerDependenciesMeta":{"react-dom":{"optional":true}},"devDependencies":{"@boewa-software/react-searchbar":"3.0.0-beta.1.3","@types/node":"^18.11.10","@types/react":"^18.0.24","@types/react-dom":"^18.0.8","@vitejs/plugin-react":"^2.2.0","react":"^18.2.0","react-dom":"^18.2.0","react-pkg-scripts":"^1.0.9","tslib":"^2.4.1","typescript":"^4.6.4","vite":"^3.2.3"},"keywords":["react"],"eslintConfig":{"extends":["react-app"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"_id":"@boewa-software/react-searchbar@3.2.0","gitHead":"732ec4ab4826cd0009be4dd0dd3f83af17b75e7c","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-jtIIOE89C8jfURqtwgMfajSfHBltdN3WSK3voVqkfWU8iTNUOs93E1qd3dZMoeMlJP2nSSpgHsQtIJwtx+rVqw==","shasum":"0212824586e01771e0e1ce76cfb3a4d6de7b81b1","tarball":"https://registry.npmjs.org/@boewa-software/react-searchbar/-/react-searchbar-3.2.0.tgz","fileCount":29,"unpackedSize":409759,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpwwSILaUgi0kILwH5GlXmzdp14XT3kj5p95plWJWPvAIgPmyEeFkejFEolldtmFRzvYvWEzrCvMYW8z/7SzNiA5M="}]},"_npmUser":{"name":"m.loose","email":"m.loose@boewa.de"},"directories":{},"maintainers":[{"name":"m.loose","email":"m.loose@boewa.de"},{"name":"s.wiesekerl","email":"s.wiesekerl@boewa.de"},{"name":"arust","email":"a.rust@boewa.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-searchbar_3.2.0_1707724074858_0.2903028534564063"},"_hasShrinkwrap":false}},"maintainers":[{"email":"s.wiesekerl@boewa.de","name":"s.wiesekerl"},{"email":"a.rust@boewa.de","name":"arust"}],"description":"React Searchbar Component","keywords":["react"],"author":{"name":"böwa GmbH, Software- und Webentwicklung, Bremen"},"license":"MIT","readme":"# React Searchbar\n\n## ACHTUNG: VERSION 3.0.0 ENTHÄLT NOCH EINEN BUG IM CHOICEFILTER, DER IN VERSION 3.0.1 BEHOBEN WURDE.\n\n## Installation\n\nDas Modul kann via NPM zu einem existierenden Projekt hinzugefügt werden:\n\n```bash\n$ npm install @boewa-software/react-searchbar\n```\n\n## Usage\n\nDie Nutzung erfolgt als klassische React-Komponenten.\n\n```ts\nimport {\n  ChoiceFilter,\n  DatePickerFilter,\n  DateTimePickerFilter,\n  FilterPicker,\n  NumberFilter,\n  TextFilter,\n  ValueFilter,\n  Searchbar,\n} from '@boewa-software/react-searchbar';\n```\n\n### CSS\n\nOptional gibt es im dist Ordner auch eine CSS Datei, die einige Default Styles der Searchbar definiert.\n\n```ts\nimport '@boewa-software/react-searchbar/dist/css/react-searchbar.min.css';\n```\n\n### HTML\n\nDie Searchbar generiert folgendes Markup:\n\n```html\n<div class=\"searchbar-wrapper\">\n  <div class=\"searchbar\">\n    <ul class=\"searchbar-filter-list\">\n      <!-- START Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter searchbar-search\">\n        <label for=\"search\" class=\"visually-hidden\">Suchbegriff</label>\n        <input\n          type=\"text\"\n          class=\"form-control\"\n          placeholder=\"Search\"\n          id=\"search\"\n        />\n        <ul class=\"dropdown-menu show\">\n          <li>\n            <button class=\"dropdown-item\">\n              Press Enter or click to search\n            </button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>X</strong></button>\n          </li>\n          <li>\n            <button class=\"dropdown-item\">Filter by <strong>Y</strong></button>\n          </li>\n        </ul>\n      </li>\n      <!-- ENDE Spezielles Markup für den FilterPicker -->\n      <li class=\"searchbar-filter\">\n        <label class=\"searchbar-filter-label\" for=\"container\">Container</label>\n        <div class=\"searchbar-filter-input-wrapper\">\n          <!-- Hier wird der gesetzte FilterComponent hineingerendert -->\n        </div>\n        <button class=\"btn btn-xs btn-icon btn-search btn-secondary\">\n          <span class=\"visually-hidden\">Filter entfernen</span>\n        </button>\n      </li>\n    </ul>\n  </div>\n</div>\n```\n\n### Types\n\nFalls explizitere interne Typescript-Types benötigt werden, können diese wie folgt importiert werden:\n\n```ts\nimport type {\n  FilterComponentProps,\n  FilterProps,\n  Filters,\n  FilterSuggestionProps,\n  RemoveFilterButtonComponentProps,\n  SetValue,\n  UnknownFilter,\n  UseFilter,\n  SearchbarContextProps,\n  SearchbarProps,\n  SearchbarRef,\n} from '@boewa-software/react-searchbar';\n```\n\n### Searchbar\n\nDies ist die eigentliche Searchbar und muss mit einem Array von Filterobjekten initialisiert werden.\n\nProps:\n\n- **filters** : array, required\n\n  Array mit Filter-Deklarationen in folgendem Format:\n\n  ```ts\n  type Filters = {\n    name: string;\n    label: string;\n    showLabel: boolean;\n    allowRemove: boolean; // Entscheidet ob der RemoveFilterButton angezeigt wird\n    filterComponent: React.ElementType<any>;\n    value: any;\n    alwaysVisible?: boolean; // Entscheidet ob der Filter immer angezeigt und mit abgeschickt wird\n    isFilterPicker?: boolean; // Nötig, da der FilterPicker spezielles Markup generiert\n    hideInFilterPicker?: boolean; // Entscheidet ob der Filter im FilterPicker angezeigt wird\n    [x: string]: any; // Alle anderen custom Attribute werden an den FilterComponent übergeben\n  }[];\n  ```\n\n- **submitButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface SubmitButtonComponentProps {\n    onClick: () => void; // Funktion die die Suche ausführt\n  }\n  ```\n\n  Komponente die den Submit-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **removeFilterButtonComponent** : React-Komponente, optional\n\n  Props:\n\n  ```ts\n  interface RemoveFilterButtonComponentProps {\n    name: string;\n    removeFilter: (name: string) => void; // Funktion die den Filter entfernt\n  }\n  ```\n\n  Komponente die den Remove-Filter-Button darstellt. Eine Default-Komponente wird mitgeliefert.\n\n- **ref** : React.RefObject, optional\n\n  ```ts\n  interface SearchbarRef {\n    setValue: SetValue;\n    removeFilter: (name: string) => void;\n    submitSearch: () => void;\n    addUnknownFilter: (unknownFilter: UnknownFilter) => void;\n    resetFilters: () => void;\n  }\n  ```\n\n  RefObject der Searchbar. Wird benötigt um den inneren SearchbarState zu manipulieren.\n  Die oben zu sehenen Funktionen werden durch das RefObject zur Verfügung gestellt.\n\n  Beispielnutzung:\n\n  ```ts\n  const searchBarRef = useRef<SearchbarRef>(null);\n  if (!searchBarRef.current) return;\n  searchbarRef.current.setValue('search[query]', 'test');\n  searchbarRef.current.submitSearch();\n  searchbarRef.current.resetFilters();\n  ```\n\n### FilterPicker\n\nDer FilterPicker baut ein Dropdown mit allen verfügbaren Filtern und ist selber auch ein Filter.\n\nDas Filter Objekt für den FilterPicker könnte beispielhaft so aussehen:\n\n```json\n{\n  \"name\": \"search[query]\",\n  \"label\": \"Search\",\n  \"allowRemove\": false,\n  \"showLabel\": false,\n  \"alwaysVisible\": true,\n  \"filterComponent\": \"FilterPicker\",\n  \"isFilterPicker\": true,\n  \"value\": null\n}\n```\n\n### Hinweise zu FilterComponents\n\nDie FilterComponents erhalten folgende Props:\n\n```ts\ninterface FilterComponentProps {\n  name: string; // Name des Filters\n  value: any; // Wert des Filters\n  setValue: (name: string, value: any) => void; // setzt den Wert des Filters\n  submitSearch: () => void; // setzt die url search params und führt die Suche aus\n  focusedFilter: string | null; // Name des aktuell zu fokussierenden Filters\n  [x: string]: any; // hier werden wie oben beschrieben alle custom Attribute aus dem Parent Filter Objekt übergeben\n}\n```\n","readmeFilename":"README.md"}