{"_id":"@gooddata/sdk-interactive-examples","_rev":"125-9c003b623bf495bc92229db6bad9a70e","name":"@gooddata/sdk-interactive-examples","dist-tags":{"hotfix":"9.5.0-alpha.1.fix.2","prerelease":"9.5.0-alpha.18","latest":"9.4.0"},"versions":{"9.4.0-alpha.13":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.13","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.13","maintainers":[{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"8b7f04fda88d9cd84e6531f3273f2db54c5c6914","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.13.tgz","fileCount":328,"integrity":"sha512-PIs34yrkEorhTEQfc/0raI60SWX7lfoz0sHX4ssBJaENv/2qVKYXvoTg8vvSEtPL0HMprYxU5sHe7EajIF1A5w==","signatures":[{"sig":"MEYCIQDxP4C3LTh3XxLTd03s4ZhK290mdui1O4W8chefamErkQIhAMgzJOsy8oFKyzALdf1v4oaxPp2rlGwo2FvYMpHMu8qK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7056189},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.13.tgz","gitHead":"4fb5d2e6e819e91dd1d22120d6dd4cc4d373ec40","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/be4f9a9734a9a3557e524077ff2d85c1/gooddata-sdk-interactive-examples-9.4.0-alpha.13.tgz","_integrity":"sha512-PIs34yrkEorhTEQfc/0raI60SWX7lfoz0sHX4ssBJaENv/2qVKYXvoTg8vvSEtPL0HMprYxU5sHe7EajIF1A5w==","_npmVersion":"9.6.7","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.17.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.13_1698757632423_0.7257113691537722","host":"s3://npm-registry-packages"}},"9.4.0-alpha.14":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.14","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.14","maintainers":[{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"224c502cd58e4965db21a09114629d34c944f813","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.14.tgz","fileCount":328,"integrity":"sha512-F+Ef6j/Th0wqTnVunBXATbfyHyiwD5+VV5MYnk2PSIb6NKUZXNaXYe2EPKizVRbN5uHAWw1VtvDecsgQu2IQ6Q==","signatures":[{"sig":"MEQCIBQ8J8blW0F3TlcRaznEkX7DW43aH9pzWaYX1LS2H78fAiAt5Zs2SZpwn7TO+bgn3Q26FNjAcgBCx2ubpVEhjNUumw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7056191},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.14.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"c7c3992211486982e857f0303762be2222e51d02","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/c73bee42781f5f4d753aee6f0ae259d5/gooddata-sdk-interactive-examples-9.4.0-alpha.14.tgz","_integrity":"sha512-F+Ef6j/Th0wqTnVunBXATbfyHyiwD5+VV5MYnk2PSIb6NKUZXNaXYe2EPKizVRbN5uHAWw1VtvDecsgQu2IQ6Q==","_npmVersion":"9.6.7","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.17.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.14_1698759823140_0.10101991313481062","host":"s3://npm-registry-packages"}},"9.4.0-alpha.15":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.15","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.15","maintainers":[{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"06cf23d8be24353178f5610aadbb530231af1e1a","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.15.tgz","fileCount":328,"integrity":"sha512-w6pfFeBc4mFJojCjRxQfyo+oP8dZjZuDpDpz1ZKvYVSQn/gNyMPbZqOihAdHc+rgdN2CNT4BuC9p2VUH2w/Rfw==","signatures":[{"sig":"MEUCIQCb+LqX7dfYE4ZxJ4JwCloKNQX1zNTXI6+OUejzsWfH6wIgfsz4ZetXdOD6dnaY3moKBawv43kmJnTLvfqKHVJQZbI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058062},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.15.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"5b6ce0e3abe8019d3501caf0010f8a2c4cb83158","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/31200b70731654fffd1def1b0819a9f0/gooddata-sdk-interactive-examples-9.4.0-alpha.15.tgz","_integrity":"sha512-w6pfFeBc4mFJojCjRxQfyo+oP8dZjZuDpDpz1ZKvYVSQn/gNyMPbZqOihAdHc+rgdN2CNT4BuC9p2VUH2w/Rfw==","_npmVersion":"9.6.7","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.17.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.15_1698895597325_0.10849481678674877","host":"s3://npm-registry-packages"}},"9.4.0-alpha.16":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.16","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.16","maintainers":[{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"b85addab7438230457665fdab9cd7c355f7ce04e","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.16.tgz","fileCount":328,"integrity":"sha512-MLfsoelJ2MR/Nc9vcxZJ5A0kjZjLBGHrjERRCUEyuWnEqyjs+RK2VWzsz3yvl6446xaoch/xGfx1fIMgH3W2rA==","signatures":[{"sig":"MEUCIGIBOYcw6YMpgMcVDGFBCZkHIg9tkV2BAHN7tGn7qrlKAiEA6LHq6KWzQoQGV0cuVjG8cBbOpZH1kfxsaGMj/L2YWlY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058058},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.16.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"9ffc60b9af6d7be25483eb0307d84a5668396017","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/68c46bcacc6c7df59aeb0835b7a338d9/gooddata-sdk-interactive-examples-9.4.0-alpha.16.tgz","_integrity":"sha512-MLfsoelJ2MR/Nc9vcxZJ5A0kjZjLBGHrjERRCUEyuWnEqyjs+RK2VWzsz3yvl6446xaoch/xGfx1fIMgH3W2rA==","_npmVersion":"9.6.7","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.17.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.16_1698930615654_0.8899453994576427","host":"s3://npm-registry-packages"}},"9.4.0-alpha.15.fix.0":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.15.fix.0","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.15.fix.0","maintainers":[{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"4472a3a0ac856fc2c9aac8f7e3b4f3878315bbf2","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.15.fix.0.tgz","fileCount":328,"integrity":"sha512-WA8E/YahA5GB7wMP5nsu4x9uOETmxe1+lDDAb4Tiil2R1LhiCwYEjCRg985IOL6brATUpV5z3wqIM/M3ghATqA==","signatures":[{"sig":"MEUCIHEF7kysfdtSJTXAveecFxo165kqBCv9OPCGMbv2aN7dAiEAl7/DZ8NMJ8XEEcR+KqZ9PoQuoXFMJvp0sn0c3GPDhzA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058136},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.15.fix.0.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"546e9ada2a927d201edcf0bb7f242fe6b46cdb0c","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/486a244701f8493aa22f89e58dc0645f/gooddata-sdk-interactive-examples-9.4.0-alpha.15.fix.0.tgz","_integrity":"sha512-WA8E/YahA5GB7wMP5nsu4x9uOETmxe1+lDDAb4Tiil2R1LhiCwYEjCRg985IOL6brATUpV5z3wqIM/M3ghATqA==","_npmVersion":"9.6.7","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.17.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.15.fix.0_1699013546831_0.33432556468943764","host":"s3://npm-registry-packages"}},"9.4.0-alpha.17":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.17","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.17","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"3eda5023d454a78c313a2170604bd404b5afa56c","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.17.tgz","fileCount":328,"integrity":"sha512-YaPofAaTFX4cQFV6n8t/Zbvr+/qTdsgi429aMGX/oXUH3+Gi5AHF2jDQuLgIcUtGdT9dl0Y6dsWsMKTr3dU4uw==","signatures":[{"sig":"MEQCIHEIh3iUWahznu0nt/dWB0Py6viAOALXtJjdS/mJbcmSAiAUidZ1NrBdMo+Xu75UqyL5Y/Qw8Z9FUHIrgDjwqYJ99g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058059},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.17.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"a997374b3fb9eeb713b6ceb7cb9d681e292d22fc","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/a235b22428be076f2da2a9adca3960c6/gooddata-sdk-interactive-examples-9.4.0-alpha.17.tgz","_integrity":"sha512-YaPofAaTFX4cQFV6n8t/Zbvr+/qTdsgi429aMGX/oXUH3+Gi5AHF2jDQuLgIcUtGdT9dl0Y6dsWsMKTr3dU4uw==","_npmVersion":"9.6.7","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.17.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.17_1699466240000_0.11036712498964873","host":"s3://npm-registry-packages"}},"9.4.0-alpha.18":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.18","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.18","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"8bd7849c4f42ada3f4d0d6c3f7109ba0abc36d5c","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.18.tgz","fileCount":328,"integrity":"sha512-zjDWYEgyhDeSfVlFpr/b6ZBA5SC8mRkgt9oJJiXgoTeCJ/JDxioLfVv7xvxI0bw9lBJGBXLWLOqLrphcwme64w==","signatures":[{"sig":"MEUCIA5B2eejY2e3jgwYFMIRt0L59E6fHBHNCPrzhEsEL3PWAiEAtZjqCSHIcWY1c8rGIo/CVhHCuWmD8HfSc2qx8MFglxE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058062},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.18.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"25782459afa2dc957b82852b06bf9893d43c0b4a","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/6c201354f742bfdb2fc0e0a4c3dfcc08/gooddata-sdk-interactive-examples-9.4.0-alpha.18.tgz","_integrity":"sha512-zjDWYEgyhDeSfVlFpr/b6ZBA5SC8mRkgt9oJJiXgoTeCJ/JDxioLfVv7xvxI0bw9lBJGBXLWLOqLrphcwme64w==","_npmVersion":"9.6.7","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.17.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.18_1699881155920_0.8897658669877229","host":"s3://npm-registry-packages"}},"9.4.0-alpha.19":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.19","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.19","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"9fc38beeb1ae864dcd5d90747a6240be18a03894","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.19.tgz","fileCount":328,"integrity":"sha512-y4TVvK6N1+eEIQEVChYyhsx1R+sp63Phh7lgQHAcJXSTQ7ZovNc1FNCHp9XVP/9evIGsriujreGT1OPNxpr/dQ==","signatures":[{"sig":"MEQCIHdrwOyMivQJ65etTllQLZ47uH3eAlqOoM/UYGEhwbybAiBxv2f9mCJkZGR9REiqQWaDO/5uyOpTyEot6fdziccOcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058061},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.19.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"164849dc3b70e15e3d8bd2542b29a2b0108d8bd1","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/94e0f9dba47683f884626bb26fd6a962/gooddata-sdk-interactive-examples-9.4.0-alpha.19.tgz","_integrity":"sha512-y4TVvK6N1+eEIQEVChYyhsx1R+sp63Phh7lgQHAcJXSTQ7ZovNc1FNCHp9XVP/9evIGsriujreGT1OPNxpr/dQ==","_npmVersion":"9.6.7","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.17.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.19_1700031354507_0.47625642613100316","host":"s3://npm-registry-packages"}},"9.4.0-alpha.20":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.20","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.20","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"fdbf9a7167bbb9ca84f92f84b93db31558c6de3f","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.20.tgz","fileCount":328,"integrity":"sha512-gC0k/cnaaLqmIAV/3mnx/MJlJPYAZUT0e32h/cT/7fxUTjPCNJX4clXCqfIExTFsrPXc9Gb+0wzPcT2Dq+juGg==","signatures":[{"sig":"MEUCIQC/ujYvSrvkCTYRm1Me8SdWNwTfGT+1O9WP+bffXEsUZAIgFOOZLQtaCpx/1IW/l0dTVTyVikN3OJs8UWsshf2RGRM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058057},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.20.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"91f1009bcf3e28a2a4a1c62d99b82a55dc563672","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/3a2cfa00680035108078172293837850/gooddata-sdk-interactive-examples-9.4.0-alpha.20.tgz","_integrity":"sha512-gC0k/cnaaLqmIAV/3mnx/MJlJPYAZUT0e32h/cT/7fxUTjPCNJX4clXCqfIExTFsrPXc9Gb+0wzPcT2Dq+juGg==","_npmVersion":"9.6.7","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.17.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.20_1700044024345_0.2254579811973343","host":"s3://npm-registry-packages"}},"9.4.0-alpha.21":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.21","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.21","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"f83d90e9f620965e7f5b8582c425f10436a176f3","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.21.tgz","fileCount":328,"integrity":"sha512-2i4xot1OPEl9NiAtryDW7z8bvvwDAjGuQ2RtgYDieChO2rJUsU8pH4cruR1cenyhBPee9yQ2eqcyD53feZe8JQ==","signatures":[{"sig":"MEUCIHcwHCSTy0d56w66K1fisoMev5AUMIjAkYk36O5wnJAlAiEA7GT4E1GRWUSeCZIBZ/LjX/DU+ONzY/l7xfAQ9FhaREo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058061},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.21.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"e8edf346d540516b69f3c6d8b873a00c11c082d8","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/9760594a3c694d80e69dad9269d3f76f/gooddata-sdk-interactive-examples-9.4.0-alpha.21.tgz","_integrity":"sha512-2i4xot1OPEl9NiAtryDW7z8bvvwDAjGuQ2RtgYDieChO2rJUsU8pH4cruR1cenyhBPee9yQ2eqcyD53feZe8JQ==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.21_1700122612366_0.4850393161201185","host":"s3://npm-registry-packages"}},"9.4.0-beta.0":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-beta.0","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-beta.0","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"835594d9bbfa8259d30c83797d01c002a92cdd5e","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-beta.0.tgz","fileCount":328,"integrity":"sha512-JvPrBFP+oLWQOf77guakJKjw7WpCK0oGVhfHXjtDP6Isq8I0Z4dwyTUY1Y0RmlgHFZh7wz7jQohJe+TZNRSBhA==","signatures":[{"sig":"MEUCIQCyXEwJaKTgusB/OqE6xgM+yWu/zBUw2azqzSLZzabA+AIgE5QgK6QPsrN+LL5PEMcfdNIU9w0bC3jxI8ipdluTqSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058034},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-beta.0.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"c84790971ede5e77ecce32fde1a854d6b5e4cec0","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/e4df0dbc59c3bc42705e16f05678ed24/gooddata-sdk-interactive-examples-9.4.0-beta.0.tgz","_integrity":"sha512-JvPrBFP+oLWQOf77guakJKjw7WpCK0oGVhfHXjtDP6Isq8I0Z4dwyTUY1Y0RmlgHFZh7wz7jQohJe+TZNRSBhA==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-beta.0_1700144697213_0.3245651306863859","host":"s3://npm-registry-packages"}},"9.4.0-alpha.22":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.22","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.22","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"c466379c1ee70634264687ddeec60323633c3bb9","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.22.tgz","fileCount":328,"integrity":"sha512-KGCZw6ikxOaS1YnWJJEg8dSMfV4AotuACW/F/m1LxUlAc13oH1fbaahVZIUXV1FydiZqCqtLz4yzg4BvDM4C2w==","signatures":[{"sig":"MEUCIQD7RYrYek00zLnVj7T16Vkklm5dPfwCBbrWiFZaOI+UxwIgYfe/Xle1CxrD1krhZpzxGLASfVl05qiszmLtxBOq7NM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058060},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.22.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"942fe5846698eebb0be89d58826199fbc074380f","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/0c39b158c145c9d600a4b4308b99342e/gooddata-sdk-interactive-examples-9.4.0-alpha.22.tgz","_integrity":"sha512-KGCZw6ikxOaS1YnWJJEg8dSMfV4AotuACW/F/m1LxUlAc13oH1fbaahVZIUXV1FydiZqCqtLz4yzg4BvDM4C2w==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.22_1700146724055_0.2261731458270988","host":"s3://npm-registry-packages"}},"9.5.0-alpha.1":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.1","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.1","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"0387bcd57cb36e10e1d2956095e432dd83689064","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.1.tgz","fileCount":328,"integrity":"sha512-x7s760rHLTXEfwmsxEv5cNQtnGU8J1zbt+Egjv3VVJ6h+hzdpXqiHg3bFUwfeXExG78OIYTNYsDG+LEW6U2ZQQ==","signatures":[{"sig":"MEUCIQCgdc/rFZge0eybImxuw1XBimAt8wtC8xMZoe1zH6gg2AIgGHGnWGnUGdeLADvD2sRgxNg7E/2l3Oq8cLzO4XmSRqU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058044},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.1.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"0ae387d1168c910a4856c7dc87ba1940c2a13b93","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/ecb620f181cb94b1d76d5ade968252b5/gooddata-sdk-interactive-examples-9.5.0-alpha.1.tgz","_integrity":"sha512-x7s760rHLTXEfwmsxEv5cNQtnGU8J1zbt+Egjv3VVJ6h+hzdpXqiHg3bFUwfeXExG78OIYTNYsDG+LEW6U2ZQQ==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.1_1700147915785_0.2091782384409413","host":"s3://npm-registry-packages"}},"9.4.0-alpha.21.fix.0":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.21.fix.0","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.21.fix.0","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"2bbcaf8cc1eb38a0558a3101a0d4d2be1e3d0a0f","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.21.fix.0.tgz","fileCount":328,"integrity":"sha512-pjQVrxPQ+7rKW3Hza+oUq8Xd7yOxdianmVT4dS+ehQIX7GRXQz+M8I37ETIl4UIw7X72LKKus/3WvXvOJN0uVA==","signatures":[{"sig":"MEUCIHGqfoqe1jOTMWdAHa4AuZBdKQZXC6LLP+lYSJiM/wOKAiEAporydmdlFmxYh4gur7GkWV80nZkArd5GmVrL3h9iXz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058136},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.21.fix.0.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"b02d96e0560c627bb0631cf6ec1b46da0749e5a2","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/0fea6edbf99fa326d0834fe3b95085f3/gooddata-sdk-interactive-examples-9.4.0-alpha.21.fix.0.tgz","_integrity":"sha512-pjQVrxPQ+7rKW3Hza+oUq8Xd7yOxdianmVT4dS+ehQIX7GRXQz+M8I37ETIl4UIw7X72LKKus/3WvXvOJN0uVA==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.21.fix.0_1700480270050_0.8744759494931837","host":"s3://npm-registry-packages"}},"9.5.0-alpha.2":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.2","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.2","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"b9f9cc51e32be30c1c03de20d38a42fb6e488bd0","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.2.tgz","fileCount":328,"integrity":"sha512-o7GMycdovLAbQ36m/MRKDlSqn8Zz1U0z8sHZTxAvpfDfTjsWBIYgjTA+Qk7+vwKHDZ+Aw0yt6rmrqnUXjfv7VA==","signatures":[{"sig":"MEYCIQDpAEE6iHubybmtNWX64ZziCcaE37jfDCtKS70UWwtreQIhAPMV9ZAsalhtzymVy3cTZejBXAO8YHc77LLEq/dWiT1k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058045},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.2.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"cc6b0232188ba84f3b456c3c2f4660592371df46","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/086eb3bdc28a1d0856183eedd2629162/gooddata-sdk-interactive-examples-9.5.0-alpha.2.tgz","_integrity":"sha512-o7GMycdovLAbQ36m/MRKDlSqn8Zz1U0z8sHZTxAvpfDfTjsWBIYgjTA+Qk7+vwKHDZ+Aw0yt6rmrqnUXjfv7VA==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.2_1700485987267_0.592096527777235","host":"s3://npm-registry-packages"}},"9.5.0-alpha.3":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.3","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.3","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"20317ba4abe0b5445692028aa167e9cc36ed5bd3","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.3.tgz","fileCount":328,"integrity":"sha512-A/PMGvzoQrhNc3S0GH4Dc0yXjhCuP21Mv781il0cxVHVgSNRM5yu65korajBHcAyGx+O7ZC4e1DhwUFCWmCqtQ==","signatures":[{"sig":"MEUCIDwfesUmmoJwYHKddwvSIQXAJvsVu4GBHX/nVbklSR7DAiEA/vJvNTpBfAqZ8m/GO8mQE06TakOmEdX49o45LPbVgeY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058045},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.3.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"595fee16262c0080ebe3c87bcece4ace58bfbd46","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/cf4698229b928df4167269d527d7477b/gooddata-sdk-interactive-examples-9.5.0-alpha.3.tgz","_integrity":"sha512-A/PMGvzoQrhNc3S0GH4Dc0yXjhCuP21Mv781il0cxVHVgSNRM5yu65korajBHcAyGx+O7ZC4e1DhwUFCWmCqtQ==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.3_1700495138823_0.45304421637708403","host":"s3://npm-registry-packages"}},"9.5.0-alpha.4":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.4","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.4","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"ecddda3b18e1e8709de3b7d2b03b63a20fd2ef7c","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.4.tgz","fileCount":328,"integrity":"sha512-6xrJVdTsGn/L3yRDy7NgwN7PvkD25tQSAOQ6yK8fOy0KCsftZS8KHJN2DbIcGIviqzRbv58slmEWWdkap1V6uQ==","signatures":[{"sig":"MEQCIGvhe7WGYebZfWc2hD3jQCpUIT9jz1pyeGpYKdIE7krBAiBTWvqT5JwyUDcR65gX5zCuP2EMd8Bc59BTyfxygZ6KVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058045},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.4.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"e7e4f3734c2972d28015e33bc5e5450826f05e23","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/4cb600b978333c080598f7cab98e2a13/gooddata-sdk-interactive-examples-9.5.0-alpha.4.tgz","_integrity":"sha512-6xrJVdTsGn/L3yRDy7NgwN7PvkD25tQSAOQ6yK8fOy0KCsftZS8KHJN2DbIcGIviqzRbv58slmEWWdkap1V6uQ==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.4_1700557503443_0.07096601361588384","host":"s3://npm-registry-packages"}},"9.5.0-alpha.5":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.5","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.5","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"1d253580497c025a2c7ce0e0c2c8d8d943a6909f","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.5.tgz","fileCount":328,"integrity":"sha512-jjJFzrupirPLQLTdEzftzWfbGtpXKQbNTTmBbUweHqiazAo2CKmqsaWNqF5jm9ISX2icMjWVRK8aA3r6Sloo1g==","signatures":[{"sig":"MEUCIQDas8ffFHccPpHQ0EnMp1ngPS/Xa0ENpfSGV/eETfu81AIgOZmUmZXU6+9LRddiudaXtqZwPx7cSnF9aQpPr8/jO2k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058046},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.5.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"112e4033a977f32f57fdc97159e0227a2357665f","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/d565857795a5e05599fd0c4045265a16/gooddata-sdk-interactive-examples-9.5.0-alpha.5.tgz","_integrity":"sha512-jjJFzrupirPLQLTdEzftzWfbGtpXKQbNTTmBbUweHqiazAo2CKmqsaWNqF5jm9ISX2icMjWVRK8aA3r6Sloo1g==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.5_1700575689070_0.1404098578069819","host":"s3://npm-registry-packages"}},"9.4.0-alpha.21.fix.1":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.21.fix.1","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.21.fix.1","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"41fe763afed0428cf5e04b955547f2593ee9df4d","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.21.fix.1.tgz","fileCount":328,"integrity":"sha512-ZXdDC0USLAf9zq/TBhd7PfAjG+buvAR/TqL9vNSzwqBplZHHiQKrnq/L+SO+BfsBxxQzJTmuIo5LRBi3n/Hi4A==","signatures":[{"sig":"MEUCIHaNMPYM0rSjtd13yQzpf0DO56JLXvfNRi9suGReh6bmAiEA5aDRZiTWG2RtxG6RtDCV7bD14/LcsC1reks8apqUUvE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058138},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.21.fix.1.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"6d2e8997deb320b3682e7a2001e0ca61eea60cc9","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/41c76cf1f28e085f7adf0cdc6f6b9771/gooddata-sdk-interactive-examples-9.4.0-alpha.21.fix.1.tgz","_integrity":"sha512-ZXdDC0USLAf9zq/TBhd7PfAjG+buvAR/TqL9vNSzwqBplZHHiQKrnq/L+SO+BfsBxxQzJTmuIo5LRBi3n/Hi4A==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.21.fix.1_1700576013129_0.23244480122007882","host":"s3://npm-registry-packages"}},"9.5.0-alpha.1.fix.0":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.1.fix.0","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.1.fix.0","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"7760d95efc5cb1bd8f5fb2f4590af5be7bae820f","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.1.fix.0.tgz","fileCount":328,"integrity":"sha512-Rn3Cv45T9r/PQu7fxk7qNqE+4UDH0eVKDZk8USG9wlR8L7Hx+ReoMcGHh0WUWetUxNgHjTmSqCawS7iUSbmb9w==","signatures":[{"sig":"MEUCIDhHDN/dO0qgMzStK9O5FxlBLP8+xEimLQCpiEK+eokeAiEAynOX8O1vUHtzPLio4rDa0hVkH0fgqGhvtiunR4LbmFk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058124},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.1.fix.0.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"a0ed0568102856f4b2ab3ccd75688a0b986c222c","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/bfa664a8cc4233d7c9d47d88f532b83a/gooddata-sdk-interactive-examples-9.5.0-alpha.1.fix.0.tgz","_integrity":"sha512-Rn3Cv45T9r/PQu7fxk7qNqE+4UDH0eVKDZk8USG9wlR8L7Hx+ReoMcGHh0WUWetUxNgHjTmSqCawS7iUSbmb9w==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.1.fix.0_1700583528796_0.9303681375354631","host":"s3://npm-registry-packages"}},"9.5.0-alpha.1.fix.1":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.1.fix.1","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.1.fix.1","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"a60572d75528e8e2ecbb9bb7af2e097dadee9bc2","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.1.fix.1.tgz","fileCount":328,"integrity":"sha512-3brqCgbd1VzyQwK/Bnk6Qgy7vfBYsWGNa92Gp1MfbW0U1EgF6RpMN2FPkdWjfn6cncFJ1watV5oT1g9/VZkd3g==","signatures":[{"sig":"MEUCIC2ptCdzRmxpr/syd/0/QIazsIE7jLTSuKN7ofmTYe4rAiEA9FdFRULulET6qbvF76tWAlc6W6QaaOgmQIFVk1dtV4w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058122},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.1.fix.1.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"1476fa664c72fb7bf2c97395876e9723488da439","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/2dd13127c9275bb6c6a607f971ea33d3/gooddata-sdk-interactive-examples-9.5.0-alpha.1.fix.1.tgz","_integrity":"sha512-3brqCgbd1VzyQwK/Bnk6Qgy7vfBYsWGNa92Gp1MfbW0U1EgF6RpMN2FPkdWjfn6cncFJ1watV5oT1g9/VZkd3g==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.1.fix.1_1700590796030_0.25524642064390446","host":"s3://npm-registry-packages"}},"9.5.0-alpha.6":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.6","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.6","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"11416b9150c57153aea287fd22ace2dea13b9852","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.6.tgz","fileCount":328,"integrity":"sha512-g/nFWIp4dUKA7x0GOT+VwSyTysilmj3voZOSaqyus88+pw/HYb1bWYQKhLB/hUOJIU/K2lXq9HXVyv9Hp9+hLg==","signatures":[{"sig":"MEUCIQCs3AbwX9GAR8vZI0NACIGhOe7n7FPjAiRu3CWujOkQ0AIgbCBVpzWLgTzLdAAhQWMvRt+hlX4i+DKBeKAkEjI4gI0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058045},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.6.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"abc54572f8175aa74e12291db31c6c99881a3e5c","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/f6a5b8212215289c24d8a12f7c150822/gooddata-sdk-interactive-examples-9.5.0-alpha.6.tgz","_integrity":"sha512-g/nFWIp4dUKA7x0GOT+VwSyTysilmj3voZOSaqyus88+pw/HYb1bWYQKhLB/hUOJIU/K2lXq9HXVyv9Hp9+hLg==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.6_1700648062720_0.8565568364635217","host":"s3://npm-registry-packages"}},"9.4.0-alpha.21.fix.2":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.21.fix.2","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.21.fix.2","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"4632fd8f56cb52ec2cb483b1ebaadfb9814221e5","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.21.fix.2.tgz","fileCount":328,"integrity":"sha512-s9djS4AaqHNOdNRO7A+G/PgNZA0ljOzQQLDsZy9iqN4fRe6904uJRTXn+yQCMSf51VQVCbCrAB2BrgN6ASHJ3Q==","signatures":[{"sig":"MEUCIQCYxUQmoH7MvVm07JECspzfGb6Ss9Tcbu0w/icjIOhlEgIgdbZj5kJO5tq9+UGNGf1p9kYIm6EJcjV+nnSOFSEFwW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058134},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.21.fix.2.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"f41b5a0d7d9bd3b2b3c1343e8891920812220d46","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/bc243b719621365dcc2f3a05831e30a3/gooddata-sdk-interactive-examples-9.4.0-alpha.21.fix.2.tgz","_integrity":"sha512-s9djS4AaqHNOdNRO7A+G/PgNZA0ljOzQQLDsZy9iqN4fRe6904uJRTXn+yQCMSf51VQVCbCrAB2BrgN6ASHJ3Q==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.21.fix.2_1700657117274_0.3390260181504605","host":"s3://npm-registry-packages"}},"9.5.0-alpha.7":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.7","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.7","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"aec505a94ddd92d229a883a61ad1863ee6f6c05f","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.7.tgz","fileCount":328,"integrity":"sha512-mU35x6Tk7p221A6fcC3uVcFVeYXTbQrNSXM2S6iVxX0KRyVYSMgbU5gCw5GoYhOqktc/XSLpg/pO4FzMck+LUw==","signatures":[{"sig":"MEQCIBQeafaJhLIJIWb7vGPo91AWX7gVqe4ZfoyDmQUymz47AiBqdqtq2OqN3LQDeJKzs6x1Bf1R/zTNQf/4xdMa39xdAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058048},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.7.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"fcc037a8122f2b5f75fcc5a6531b772f74adff8c","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/6e5dc99222f21204e4ffa06f5571622a/gooddata-sdk-interactive-examples-9.5.0-alpha.7.tgz","_integrity":"sha512-mU35x6Tk7p221A6fcC3uVcFVeYXTbQrNSXM2S6iVxX0KRyVYSMgbU5gCw5GoYhOqktc/XSLpg/pO4FzMck+LUw==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.7_1700663098313_0.9553942065653602","host":"s3://npm-registry-packages"}},"9.5.0-alpha.8":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.8","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.8","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"f292e177704338a74954a97c188512acad318f66","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.8.tgz","fileCount":328,"integrity":"sha512-2bbPZb4/1oOg6CF4TO6Cork7IhdXmbytzAXHASk/p3WUAd0XmWDHR+Bil2vDAGfhfIwnQydiKcvW9mN8J6KkzA==","signatures":[{"sig":"MEQCIBZ5S0QHk9xrWEy9RVuITXTlzh3je37P7mr0LY4fpmwUAiARN7dNDWz2ZTf0pP9XU6fU73v4D7VFpYGTKN974U0siw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058047},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.8.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"4b6113bf8c85618d77178e4d7fb9bca7c133e3cc","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/a4b8df905d9d74fab2a052199eaba298/gooddata-sdk-interactive-examples-9.5.0-alpha.8.tgz","_integrity":"sha512-2bbPZb4/1oOg6CF4TO6Cork7IhdXmbytzAXHASk/p3WUAd0XmWDHR+Bil2vDAGfhfIwnQydiKcvW9mN8J6KkzA==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.8_1700666601061_0.995497389230618","host":"s3://npm-registry-packages"}},"9.5.0-alpha.9":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.9","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.9","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"c371fab97487d3cba25b49367fbf51e6f30972ef","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.9.tgz","fileCount":328,"integrity":"sha512-5Ni/hlAEgPeg5YyjbN+rFYXhXrgJtgL9UnVmh6VqPoL4Q7UzKVJro0kxDGuso6Rv+YanFXXlAB2Y8gZvRQZVhQ==","signatures":[{"sig":"MEYCIQDJyVXRxsMRVINC0ARy0apLXWawVOUwrKX8CxeV4N11FQIhAKMM/2CZZL9VGGmOhKyjgklIsnW682C1j6Tq87Dsg3G1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058048},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.9.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"e706c593033c5f54d039b79a169bb734fdbfee61","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/5962569374f57f1cb10ed5c5656c8f43/gooddata-sdk-interactive-examples-9.5.0-alpha.9.tgz","_integrity":"sha512-5Ni/hlAEgPeg5YyjbN+rFYXhXrgJtgL9UnVmh6VqPoL4Q7UzKVJro0kxDGuso6Rv+YanFXXlAB2Y8gZvRQZVhQ==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.9_1700726522918_0.7927593802821804","host":"s3://npm-registry-packages"}},"9.5.0-alpha.10":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.10","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.10","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"2a7882e93ccf975c2906ec99934b0a1581d2326c","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.10.tgz","fileCount":328,"integrity":"sha512-HYo+fOWFObxw4G3cRJSiat5oKJVCmz0UfkrE3h0T6H2OtYGBVKrrUf+NyN/67kSLCys6/tY/ew2HL5N0Z8hAXA==","signatures":[{"sig":"MEYCIQCqoH4lqLkchBNZWJZ9hF9Q1RzCyHFbKUCgW0OEVirB1QIhAM8F8ko/ZkrkHlV3dtRzVh3XlhFW/Gm38NgLTNRWb37d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058058},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.10.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"baa8581dcda5fec16c5773cbc6ec761707170585","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/5de3f105dbd45773814562ee54343cb5/gooddata-sdk-interactive-examples-9.5.0-alpha.10.tgz","_integrity":"sha512-HYo+fOWFObxw4G3cRJSiat5oKJVCmz0UfkrE3h0T6H2OtYGBVKrrUf+NyN/67kSLCys6/tY/ew2HL5N0Z8hAXA==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.10_1700731949487_0.8578207890925889","host":"s3://npm-registry-packages"}},"9.5.0-alpha.11":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.11","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.11","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"fbd5b3ae4bcd23aceceb904ce0fb933512366e23","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.11.tgz","fileCount":328,"integrity":"sha512-3u/Lzhpr2gVxPq0+wOA8YKAZ9tSFtoNAML39frQscG+nd9o014jN94fx+a3h3GzXQ5sP6UJvn/7Frx3BXo4NTA==","signatures":[{"sig":"MEYCIQD8MG1F0gpGZqwNedvtKiIsNpJSsIITGN7gTB0K0tVs5gIhAPOZBbiGpEV14S9lTPxgTeCslP51o3dNpaYYBV9RjBV8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058058},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.11.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"140aee35dbb8cbaf50747c5fa07bdb7fa3b71c8f","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/5695be5ecc5a7630235f29ef723e8606/gooddata-sdk-interactive-examples-9.5.0-alpha.11.tgz","_integrity":"sha512-3u/Lzhpr2gVxPq0+wOA8YKAZ9tSFtoNAML39frQscG+nd9o014jN94fx+a3h3GzXQ5sP6UJvn/7Frx3BXo4NTA==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.11_1700738333362_0.0756955269268933","host":"s3://npm-registry-packages"}},"9.5.0-alpha.12":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.12","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.12","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"72b6e37c1543e08bd270318de5fb08e209a48403","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.12.tgz","fileCount":328,"integrity":"sha512-2/fgjc7kHMnhOWkKIxh4+np1xE0KAC1j6hWRsO8j2k6TzKK6rjV/qVmBe8ycwv6+XZuhacM09Ogp6L/ghDJqMg==","signatures":[{"sig":"MEYCIQCSS8RT1DYkktf72tx8O0I+X2HlJxAP3fYRQ6S/2fHwUwIhAIcc1Mq7YoaNJtpO5giVsniJfXjR5rT7V4qIc9OS1N4a","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058058},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.12.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"18cdc0c47f97f91706870d004ba458489bb279bb","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/0d6a1e9f8bdcbe84ba0503ce4df8178c/gooddata-sdk-interactive-examples-9.5.0-alpha.12.tgz","_integrity":"sha512-2/fgjc7kHMnhOWkKIxh4+np1xE0KAC1j6hWRsO8j2k6TzKK6rjV/qVmBe8ycwv6+XZuhacM09Ogp6L/ghDJqMg==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.12_1700756829979_0.2035584371625394","host":"s3://npm-registry-packages"}},"9.4.0-alpha.21.fix.3":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0-alpha.21.fix.3","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0-alpha.21.fix.3","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"a4f527219e6eb2f95cc5b39b58d7b4816eb7a714","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0-alpha.21.fix.3.tgz","fileCount":328,"integrity":"sha512-QNPDp7yiVRrLw3Z7e09AKMHraX47ASt/sNl9oyqHZaH92qkl565FHNBV84yMA25hCFvYBZTpl5QUbU8/3pYb4g==","signatures":[{"sig":"MEQCIE5avfEytOCs+DSlSpQ0bSVg9VGKKpfIb8+0yyTGp7LAAiAB7uGpjwrI3OEur3sLIPvQjWKx6ySzSABb2+5JOWbcnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058137},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0-alpha.21.fix.3.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"1737067a619f25b96d2fa77fe5afa7302fcab410","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/98c359c7efb27ad9c220ffbfb93ca04d/gooddata-sdk-interactive-examples-9.4.0-alpha.21.fix.3.tgz","_integrity":"sha512-QNPDp7yiVRrLw3Z7e09AKMHraX47ASt/sNl9oyqHZaH92qkl565FHNBV84yMA25hCFvYBZTpl5QUbU8/3pYb4g==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0-alpha.21.fix.3_1700814918442_0.33060394534504467","host":"s3://npm-registry-packages"}},"9.5.0-alpha.13":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.13","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.13","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"c227f1459d91c1e596dae3b61797fd88cfd35192","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.13.tgz","fileCount":328,"integrity":"sha512-hu+J1vnSXPZiOHt2R+T7Acb06aWjPctslN+blFOpzS5UeyejUWki+colRX74wjRPVOUDpXoowOfjDMxI3PYh7g==","signatures":[{"sig":"MEYCIQDHRwlbaYrvz4M7MQklrMP+iCRdVdI2eAjpdLiFDKZ4QwIhAIGtqK5YKGEEf/xxZD032o/pmcaVdaInpeYDKAuhc4FU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058061},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.13.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"183cd68a93f51bea915d80aa8ed801c6cee4378c","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/e31cd9981c37d3ff7268ca5ad27db70d/gooddata-sdk-interactive-examples-9.5.0-alpha.13.tgz","_integrity":"sha512-hu+J1vnSXPZiOHt2R+T7Acb06aWjPctslN+blFOpzS5UeyejUWki+colRX74wjRPVOUDpXoowOfjDMxI3PYh7g==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.13_1700817194987_0.5969244932886053","host":"s3://npm-registry-packages"}},"9.5.0-alpha.14":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.14","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.14","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"0930e3f138be75d490a8af9287e961eb6d9ab0b0","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.14.tgz","fileCount":328,"integrity":"sha512-O5J4U+lZCf3pIbASTXkEQPOXlmqqjRN9R7KKQi0RN/c3wjuoRx8E8ax8BNKwfVPC0aNPiyp5fyLVjtefdOG0qg==","signatures":[{"sig":"MEUCIBHCA5Y63yN5N/KdHQPLRSvWh57y5LPzHuaHlhyyCF1SAiEAiq1LSAAZWOjWhFs7VHPY/eBOy62zn6zAjKlg7Ia3DWQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058060},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.14.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"9bd6e4ea6cce5c9cbf26c8634cfb29117db9fbfd","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/5356fb3602d87225934e9dc28c0f4a3c/gooddata-sdk-interactive-examples-9.5.0-alpha.14.tgz","_integrity":"sha512-O5J4U+lZCf3pIbASTXkEQPOXlmqqjRN9R7KKQi0RN/c3wjuoRx8E8ax8BNKwfVPC0aNPiyp5fyLVjtefdOG0qg==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.14_1700830915145_0.011985390712151212","host":"s3://npm-registry-packages"}},"9.5.0-alpha.15":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.15","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.15","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"b954a8e44afff8ee4c372fda35157a3568d9ec5d","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.15.tgz","fileCount":328,"integrity":"sha512-SowyhUM7g5v5xKweWschxYyOdqE0tSGsnnjrF/Fn0YyMbtbmopVJrMVXscdU09FuqKoNb3ZOwYPePhTeY/R1Nw==","signatures":[{"sig":"MEUCIQCp9OYXqWQTir7TYh/q+oPz2yv4qFr6w0deYDAYn3LZEwIgH+1B1W6wHrycPq6VtG4eKsFAXejOB/0S5HuG7oWpv8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058058},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.15.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"a9f604fbe611acad958145da269b3a495911f36a","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/da96e5fa414be85048b74dffcce5aee4/gooddata-sdk-interactive-examples-9.5.0-alpha.15.tgz","_integrity":"sha512-SowyhUM7g5v5xKweWschxYyOdqE0tSGsnnjrF/Fn0YyMbtbmopVJrMVXscdU09FuqKoNb3ZOwYPePhTeY/R1Nw==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.15_1700834896267_0.1495123064663193","host":"s3://npm-registry-packages"}},"9.5.0-alpha.16":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.16","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.16","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"609e74a14c171ad8b0d38a6e5386457c0836c9d3","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.16.tgz","fileCount":354,"integrity":"sha512-8qdFgSk+crMTS4zjKM6K9v9dK0jX4YFidy5uPXH3iyTiQ2Vn5cwH1Z0qKubEIgQ17U8j6522s8AE7br6PYBPWQ==","signatures":[{"sig":"MEUCIQDjdW9o0LVpWYGCB0WMbXYdZ1I/URiIpGGMIqmNZJ1KZwIgSdGqT14erpu4A1tBLm6oKohx6Liw3DZ/MOn5OVTNsLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7717318},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.16.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Dependent Filters Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dependentfilters?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"f8ae0984793e381fc9a736c6e5e047e43ce71990","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/d2fe164963dd5fe6ceaa123ec68a6ca7/gooddata-sdk-interactive-examples-9.5.0-alpha.16.tgz","_integrity":"sha512-8qdFgSk+crMTS4zjKM6K9v9dK0jX4YFidy5uPXH3iyTiQ2Vn5cwH1Z0qKubEIgQ17U8j6522s8AE7br6PYBPWQ==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{"validate-npm-package-name":"^5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.16_1700858833294_0.34660415271639167","host":"s3://npm-registry-packages"}},"9.5.0-alpha.1.fix.2":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.1.fix.2","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.1.fix.2","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"b6618b3542c097827777adb4f0731cd17b7ed044","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.1.fix.2.tgz","fileCount":328,"integrity":"sha512-r3ngsUdIQ7IZYeCNKh05JYCxSiKbKq4ozHWW/khhUCGJDyGJEge9ZUDyDeaowdpuMjTb9j6UfzS61weglevCSg==","signatures":[{"sig":"MEQCIBVBkgSSR+mrX0r0KTcSome4eBDKxTXB2BgNgOEDS20qAiBuzb2kwVifRUxZ+uAcK+kBmJDjc195TzapvEa1flt8UA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7058125},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.1.fix.2.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"ae587e08eab134b1fbba7bd471dbed633d7cf404","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/6db3ff0ed1077194396cf5c6e7fbce2e/gooddata-sdk-interactive-examples-9.5.0-alpha.1.fix.2.tgz","_integrity":"sha512-r3ngsUdIQ7IZYeCNKh05JYCxSiKbKq4ozHWW/khhUCGJDyGJEge9ZUDyDeaowdpuMjTb9j6UfzS61weglevCSg==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.1.fix.2_1701076647499_0.8998525944631603","host":"s3://npm-registry-packages"}},"9.5.0-alpha.17":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.17","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.17","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"0c0a492ce91ec4ca9101864306c7481e9738e329","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.17.tgz","fileCount":354,"integrity":"sha512-0PHF13PNaEkaicM0C/JFY4R3wNTGjcUvjQp8iXG5Tt9jKp+aHihcJ5Lu0XVE2/VREhTWyU9vjz/ERAkYJJwUPQ==","signatures":[{"sig":"MEUCIQCmnuUtkHdDRyBMqo4G8MFVk28w618Vyl9tFlOzVx4QUQIgKc010AIU/3k2FIHVcfApJ1ioWgzptoDGFq5TV8PW5Tg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7717317},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.17.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Dependent Filters Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dependentfilters?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"a7f21eb76640bf7dd88a81d0db7a49c6ef312c59","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/718919404c2f74222edaed5b05c333b0/gooddata-sdk-interactive-examples-9.5.0-alpha.17.tgz","_integrity":"sha512-0PHF13PNaEkaicM0C/JFY4R3wNTGjcUvjQp8iXG5Tt9jKp+aHihcJ5Lu0XVE2/VREhTWyU9vjz/ERAkYJJwUPQ==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{"validate-npm-package-name":"^5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.17_1701080049301_0.8698353413905111","host":"s3://npm-registry-packages"}},"9.5.0-alpha.18":{"name":"@gooddata/sdk-interactive-examples","version":"9.5.0-alpha.18","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.5.0-alpha.18","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"22e5ab745e32cdd25b88400adce51e8313c0c8c3","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.5.0-alpha.18.tgz","fileCount":354,"integrity":"sha512-RxJoNKmQ+03dXOf38hG1l0HG4nQ1YTK52LtwVJqxKMwbp/uEyHeifxYGh9xogQ3kT76ECxfRBf4j3Ei6seh2yg==","signatures":[{"sig":"MEQCIFwjzy5jc+myU2d73hrTLpOafjBxxxf9gHGNnVl3W5JaAiAcLKi6QMe6MnOHd6jCrlJ9ww/qYNyqLCS4TM6+yiK1zQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7717319},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.5.0-alpha.18.tgz","readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Dependent Filters Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dependentfilters?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","gitHead":"91316937f5ae55fca0fa0b75a0f3567db2c680f0","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/86688f1addbcdfdf1e0f1b2f8e522da9/gooddata-sdk-interactive-examples-9.5.0-alpha.18.tgz","_integrity":"sha512-RxJoNKmQ+03dXOf38hG1l0HG4nQ1YTK52LtwVJqxKMwbp/uEyHeifxYGh9xogQ3kT76ECxfRBf4j3Ei6seh2yg==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{"validate-npm-package-name":"^5.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.5.0-alpha.18_1701089874787_0.7587637723100864","host":"s3://npm-registry-packages"}},"9.4.0":{"name":"@gooddata/sdk-interactive-examples","version":"9.4.0","author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","_id":"@gooddata/sdk-interactive-examples@9.4.0","maintainers":[{"name":"minh.thanh","email":"minh.thanh@gooddata.com"},{"name":"lienpham95","email":"lien.pham@gooddata.com"},{"name":"quangpham","email":"quang.pham-hai@gooddata.com"},{"name":"hoaimy","email":"mya.lehoai@gmail.com"},{"name":"amilieta","email":"andrew.milieta@gooddata.com"},{"name":"kirill.kazakov.gd","email":"kirill.kazakov@gooddata.com"},{"name":"bertold8","email":"ivan.nejezchleb@seznam.cz"},{"name":"phong.nguyen-duy","email":"phong.nguyen-duy@gooddata.com"},{"name":"cermakm","email":"martin.cermak2@gooddata.com"},{"name":"khanh.huynh","email":"khanh.huynh@gooddata.com"},{"name":"nhanle1993","email":"nhan.le@gooddata.com"},{"name":"mkoldus","email":"Miroslav.Koldus@gmail.com"},{"name":"petr.kolencik.gd","email":"petr.kolencik@gooddata.com"},{"name":"petr.masopust","email":"petr.masopust@gooddata.com"},{"name":"tienbien","email":"tien.bien@gooddata.com"},{"name":"bich.nguyen","email":"bich.nguyen@gooddata.com"},{"name":"hung.le","email":"hung.le@gooddata.com"},{"name":"nghi.lam","email":"nghi.lam@gooddata.com"},{"name":"good-andy","email":"andrii.chumak@gooddata.com"},{"name":"pjiranek","email":"jiranek35@gmail.com"},{"name":"phong.nguyen","email":"phong.nguyen@gooddata.com"},{"name":"duc.le","email":"duc.le@gooddata.com"},{"name":"martin.milicka","email":"martin.milicka@gooddata.com"},{"name":"oleg.morozov","email":"oleg.morozov@gooddata.com"},{"name":"hung.cao","email":"hung.cao@gooddata.com"},{"name":"dominik.cap","email":"dominik.cap@gooddata.com"},{"name":"annguyengd","email":"an.nguyen@gooddata.com"},{"name":"artsiom.yeliseyenka.gooddata","email":"artsiom.yeliseyenka@gooddata.com"},{"name":"hungnguyenauto","email":"hung.nguyen-xuan@gooddata.com"},{"name":"long.mai","email":"long.mai@gooddata.com"},{"name":"rodri360","email":"me@rodri360.com"},{"name":"jkittler","email":"honza.kittler@gmail.com"},{"name":"jaceksan","email":"jan.soubusta@gooddata.com"},{"name":"ivan.mjartan","email":"ivan.mjartan@gooddata.com"},{"name":"lupko","email":"lubomir.slivka@gooddata.com"},{"name":"nhan.quach","email":"nhan.quach@gooddata.com"},{"name":"tomas.kratochvil","email":"tomas.kratochvil@gooddata.com"},{"name":"jakub-sterba","email":"jakub.sterba@gooddata.com"},{"name":"stanislavhacker","email":"stanislav.hacker@gooddata.com"},{"name":"vojtasii","email":"vojtech.tollar@gmail.com"},{"name":"pbenes","email":"petr.benes@gooddata.com"},{"name":"gooddata-ci","email":"rail@gooddata.com"},{"name":"nikolacech","email":"nikola.cech@gooddata.com"},{"name":"sitina","email":"jiri.sitina@gooddata.com"},{"name":"petrjanu","email":"petr.janu@gooddata.com"},{"name":"xmort","email":"petr.dolejsi@gooddata.com"},{"name":"no23reason","email":"dan.homola@hotmail.cz"},{"name":"patrikbraborec","email":"patrik.braborec@gooddata.com"},{"name":"brbistas","email":"valentinos.chraniotis@gooddata.com"},{"name":"vu.pham","email":"vu.pham@gooddata.com"},{"name":"matyas.kandl","email":"matyas.kandl@gooddata.com"},{"name":"hung.nguyen.hoang","email":"hung.nguyen@gooddata.com"},{"name":"trung-le-quoc","email":"trung.le@gooddata.com"},{"name":"utdnah","email":"danh.ung@gooddata.com"},{"name":"de.do","email":"de.do@gooddata.com"},{"name":"nis.hua","email":"nis.hua@gooddata.com"},{"name":"tuqt1005","email":"tu.tran@gooddata.com"},{"name":"tu.bui","email":"tu.bui@gooddata.com"},{"name":"my.duong","email":"my.duong@gooddata.com"},{"name":"mai.nguyen","email":"mai.nguyen@gooddata.com"},{"name":"hang.ngo","email":"hang.ngo@gooddata.com"},{"name":"scavnickyj","email":"jakub.scavnicky@gooddata.com"},{"name":"thao-luong","email":"thao.luong@gooddata.com"},{"name":"thuong.nguyen","email":"thuong.nguyen@gooddata.com"},{"name":"huyen.nguyen","email":"huyen.nguyen@gooddata.com"},{"name":"van.nguyen","email":"van.nguyen@gooddata.com"},{"name":"nestor_encinas","email":"xesto05@gmail.com"},{"name":"an.vuong","email":"an.vuong@gooddata.com"},{"name":"tmuchka","email":"tomas.muchka@gooddata.com"},{"name":"gdjan","email":"jan.kruza@gooddata.com"},{"name":"ngoc-le","email":"ngoc.le@gooddata.com"},{"name":"thuy.tran","email":"thuy.tran@gooddata.com"},{"name":"son.nguyen182","email":"son.nguyen-hoang@gooddata.com"},{"name":"tuan.tran_gd","email":"tuan.tran@gooddata.com"}],"dist":{"shasum":"4ba90d9796c44966c1cff2c7af0becbe7cb8b179","tarball":"https://registry.npmjs.org/@gooddata/sdk-interactive-examples/-/sdk-interactive-examples-9.4.0.tgz","fileCount":328,"integrity":"sha512-+BjraFbl8396x6uvCeU0OBPsATNP5qjFBzB1DCKJDtpZ4yM1bRhf1a2Jts6NIUZbCaiR3BoAqwwWkaNKQbCz3g==","signatures":[{"sig":"MEQCIC8UEFyUtCVe2qx3Y+CheVZgNleh4FDoV+XxEjd72LEKAiAJBDl0BUF7L16+597jKjh05RHvK/hz5/aTBDHO6UPyEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7057940},"type":"module","_from":"file:gooddata-sdk-interactive-examples-9.4.0.tgz","gitHead":"ccd13eb6a47c78e6e4dc5edcc13add6d86599933","private":false,"scripts":{"build":"echo Build of sdk-interactive-examples is skipped by default. See build of each example.","validate":"node ./scripts/validateExamplesDependencies.mjs","validate-ci":"node ./scripts/validateExamplesDependencies.mjs","create-example":"node ./scripts/createExample.mjs && node ./scripts/updateRootReadme.mjs","update-root-readme":"node ./scripts/updateRootReadme.mjs","update-examples-template":"node ./scripts/updateTemplate.mjs && node ./scripts/updateRootReadme.mjs"},"_npmUser":{"name":"gooddata-ci","email":"rail@gooddata.com"},"_resolved":"/tmp/caa01b1045a6d3b4d808a496331625ac/gooddata-sdk-interactive-examples-9.4.0.tgz","_integrity":"sha512-+BjraFbl8396x6uvCeU0OBPsATNP5qjFBzB1DCKJDtpZ4yM1bRhf1a2Jts6NIUZbCaiR3BoAqwwWkaNKQbCz3g==","_npmVersion":"9.8.1","description":"GoodData React interactive examples","directories":{},"_nodeVersion":"18.18.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sdk-interactive-examples_9.4.0_1701345801762_0.7514128639261686","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-10-31T13:07:12.340Z","modified":"2026-09-22T08:28:09.501Z","9.4.0-alpha.13":"2023-10-31T13:07:12.722Z","9.4.0-alpha.14":"2023-10-31T13:43:43.374Z","9.4.0-alpha.15":"2023-11-02T03:26:37.538Z","9.4.0-alpha.16":"2023-11-02T13:10:15.987Z","9.4.0-alpha.15.fix.0":"2023-11-03T12:12:27.171Z","9.4.0-alpha.17":"2023-11-08T17:57:20.275Z","9.4.0-alpha.18":"2023-11-13T13:12:36.197Z","9.4.0-alpha.19":"2023-11-15T06:55:54.736Z","9.4.0-alpha.20":"2023-11-15T10:27:04.674Z","9.4.0-alpha.21":"2023-11-16T08:16:52.605Z","9.4.0-beta.0":"2023-11-16T14:24:57.535Z","9.4.0-alpha.22":"2023-11-16T14:58:44.291Z","9.5.0-alpha.1":"2023-11-16T15:18:36.056Z","9.4.0-alpha.21.fix.0":"2023-11-20T11:37:50.363Z","9.5.0-alpha.2":"2023-11-20T13:13:07.533Z","9.5.0-alpha.3":"2023-11-20T15:45:39.037Z","9.5.0-alpha.4":"2023-11-21T09:05:03.716Z","9.5.0-alpha.5":"2023-11-21T14:08:09.334Z","9.4.0-alpha.21.fix.1":"2023-11-21T14:13:33.353Z","9.5.0-alpha.1.fix.0":"2023-11-21T16:18:49.031Z","9.5.0-alpha.1.fix.1":"2023-11-21T18:19:56.322Z","9.5.0-alpha.6":"2023-11-22T10:14:23.080Z","9.4.0-alpha.21.fix.2":"2023-11-22T12:45:17.536Z","9.5.0-alpha.7":"2023-11-22T14:24:58.581Z","9.5.0-alpha.8":"2023-11-22T15:23:21.307Z","9.5.0-alpha.9":"2023-11-23T08:02:03.186Z","9.5.0-alpha.10":"2023-11-23T09:32:29.754Z","9.5.0-alpha.11":"2023-11-23T11:18:53.557Z","9.5.0-alpha.12":"2023-11-23T16:27:10.180Z","9.4.0-alpha.21.fix.3":"2023-11-24T08:35:18.696Z","9.5.0-alpha.13":"2023-11-24T09:13:15.224Z","9.5.0-alpha.14":"2023-11-24T13:01:55.478Z","9.5.0-alpha.15":"2023-11-24T14:08:16.459Z","9.5.0-alpha.16":"2023-11-24T20:47:13.597Z","9.5.0-alpha.1.fix.2":"2023-11-27T09:17:27.722Z","9.5.0-alpha.17":"2023-11-27T10:14:09.638Z","9.5.0-alpha.18":"2023-11-27T12:57:55.140Z","9.4.0":"2023-11-30T12:03:22.005Z"},"author":{"name":"GoodData Corporation"},"license":"LicenseRef-LICENSE","description":"GoodData React interactive examples","maintainers":[{"email":"me@rodri360.com","name":"rodri360"},{"email":"ivan.mjartan@gooddata.com","name":"ivan.mjartan"},{"email":"lubomir.slivka@gooddata.com","name":"lupko"},{"email":"tomas.kratochvil@gooddata.com","name":"tomas.kratochvil"},{"email":"rodrigo.balsells@gooddata.com","name":"rodrigo.balsells"},{"email":"stanislav.hacker@gooddata.com","name":"stanislavhacker"},{"email":"vojtech.tollar@gmail.com","name":"vojtasii"},{"email":"petr.benes@gooddata.com","name":"pbenes"},{"email":"rail@gooddata.com","name":"gooddata-ci"},{"email":"nikola.cech@gooddata.com","name":"nikolacech"},{"email":"petr.janu@gooddata.com","name":"petrjanu"},{"email":"hung.cao@gooddata.com","name":"hung.cao"},{"email":"petr.dolejsi@gooddata.com","name":"xmort"},{"email":"bich.nguyen@gooddata.com","name":"bich.nguyen"},{"email":"dan.homola@hotmail.cz","name":"no23reason"},{"email":"matyas.kandl@gooddata.com","name":"matyas.kandl"},{"email":"roman.rakus@gooddata.com","name":"romanrakus"},{"email":"tu.bui@gooddata.com","name":"tu.bui"},{"email":"my.duong@gooddata.com","name":"my.duong"},{"email":"hang.ngo@gooddata.com","name":"hang.ngo"},{"email":"jakub.scavnicky@gooddata.com","name":"scavnickyj"},{"email":"thao.luong@gooddata.com","name":"thao-luong"},{"email":"thuong.nguyen@gooddata.com","name":"thuong.nguyen"},{"email":"huyen.nguyen@gooddata.com","name":"huyen.nguyen"},{"email":"xesto05@gmail.com","name":"nestor_encinas"},{"email":"tomas.muchka@gooddata.com","name":"tmuchka"},{"email":"jan.kruza@gooddata.com","name":"gdjan"},{"email":"phong.nguyen@gooddata.com","name":"phong.nguyen"},{"email":"tuan.tran@gooddata.com","name":"tuan.tran_gd"},{"email":"Miroslav.Koldus@gmail.com","name":"mkoldus"},{"email":"martin.milicka@gooddata.com","name":"martin.milicka"},{"email":"jiranek35@gmail.com","name":"pjiranek"},{"email":"mykhaylo.zelenskyy@gooddata.com","name":"martozar"},{"email":"davidzoufaly@gmail.com","name":"david.zoufaly"},{"email":"arturs.grebnevs@gooddata.com","name":"agrebnevs-gd"},{"email":"vaclav.zmrhal@gooddata.com","name":"vasek.zmrhal"},{"email":"kadlino98@seznam.cz","name":"hkad98"},{"email":"mya.lehoai@gmail.com","name":"hoaimy"},{"email":"lukther@gmail.com","name":"lukas.ther"},{"email":"ondrej.velisek@gooddata.com","name":"ondrejvelisekgd"},{"email":"andrew.milieta@gooddata.com","name":"amilieta"},{"email":"andre.nanninga@gooddata.com","name":"andrenanninga-gooddata"},{"email":"PavelZrk@gmail.com","name":"pavelzrk"},{"email":"ilia.kozachyshyn@gooddata.com","name":"ilianchik"},{"email":"dusan.kovacik@profiq.com","name":"dusan-kovacik-profiq"},{"email":"khuong.nguyen@gooddata.com","name":"khuongnguyen"},{"email":"matej.pavlik@gooddata.com","name":"matej.pavlik"},{"email":"jenny.nguyen@gooddata.com","name":"jenny_gooddata"},{"email":"jakub.svehla@gooddata.com","name":"goodkuba"},{"email":"armana.hajovska@gmail.com","name":"armhaj"},{"email":"ivan.nejezchleb@seznam.cz","name":"bertold8"},{"email":"oanh.nguyen@gooddata.com","name":"jyn.nguyen"},{"email":"stepan.machovsky@gooddata.com","name":"mara3l"},{"email":"ondrej.maca@gooddata.com","name":"ondrej.maca"},{"email":"lukas.hlavacek@gooddata.com","name":"lukashlavacek"},{"email":"petr.veprek@gooddata.com","name":"petr.veprek"},{"email":"jan.tychtl@gooddata.com","name":"jan.tychtl.gooddata"},{"email":"damian.sommer@gooddata.com","name":"sommedamgd"},{"email":"guilherme.santos@gooddata.com","name":"guigooddata"},{"email":"duyquan.bui@gooddata.com","name":"peter-lorn"},{"email":"jakub.schenk@gooddata.com","name":"jakub.schenk"},{"email":"timurmuh@pm.me","name":"timurmuh"},{"email":"daniel.doktor@gooddata.com","name":"danieldoktor"},{"email":"jkb.matuska@gmail.com","name":"jkbm"},{"email":"nguyen.vo@gooddata.com","name":"ellavo"},{"email":"wendy.nguyen@gooddata.com","name":"wendy.nguyen"},{"email":"milan.dufek@gooddata.com","name":"milan.dufek"},{"email":"long.mai+npm@gooddata.com","name":"maitrieuphilong"},{"email":"jakub.matuska@gooddata.com","name":"jkbm_gd"},{"email":"ornstz@me.com","name":"zdenekornst"},{"email":"jiri.staroba@gooddata.com","name":"jiri.staroba"},{"email":"henry.nguyen@gooddata.com","name":"henry.nguyen.gooddata"},{"email":"adam.prchal@gooddata.com","name":"adam.prchal"},{"email":"duy.huynh@gooddata.com","name":"frankhuynh"},{"email":"ondrej.macek@gooddata.com","name":"macekond"},{"email":"martin@najemi.cz","name":"martinnaj"},{"email":"peter.koza@gooddata.com","name":"peter.koza"},{"email":"sandra.suszterova@gooddata.com","name":"sandrasus"},{"email":"piotr.jaroslawski@gooddata.com","name":"pjar"},{"email":"jan.svager@gooddata.com","name":"jan.svager.gooddata"},{"email":"minh.ho@gooddata.com","name":"minh.ho.gooddata"},{"email":"maiphuong.bui@gooddata.com","name":"maiphuong.bui"},{"email":"jakub.zovak@gooddata.com","name":"jakubz_good"},{"email":"pavel.cerny@gooddata.com","name":"pavelcerny"},{"email":"marcel.varhalik@gooddata.com","name":"mvarhalik"}],"readme":"# GoodData.UI SDK - Interactive Examples\n\nHere are basic usage examples of [GoodData.UI](https://github.com/gooddata/gooddata-ui-sdk).\n\n## List of Examples\n\n<!---{LIST-START}-->\n* Attribute Filter Example - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter?file=/src/example/Example.tsx)\n\n* Chart config manipulation - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-chartconfig?file=/src/example/Example.tsx)\n\n* ColumnChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-columnchart?file=/src/example/Example.tsx)\n\n* ComboChart - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-combochart?file=/src/example/Example.tsx)\n\n* Dashboard component - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-dashboard?file=/src/example/Example.tsx)\n\n* DateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-datefilter?file=/src/example/Example.tsx)\n\n* Execute - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-execute?file=/src/example/Example.tsx)\n\n* Granularity - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-granularity?file=/src/example/Example.tsx)\n\n* Headline - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-headline?file=/src/example/Example.tsx)\n\n* PivotTable - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-pivottable?file=/src/example/Example.tsx)\n\n* RelativeDateFilter - [open in CodeSandbox](https://codesandbox.io/p/sandbox/github/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-relativedatefilter?file=/src/example/Example.tsx)\n\n\n<!---{LIST-END}}-->\n\n## Running Examples in CodeSandbox using GitHubBox\n\nAn easy way to open an example in [CodeSandbox](https://codesandbox.io/) via URL is with [GitHubBox.com](https://github.com/dferber90/githubbox). Append 'box' to the github.com URL in between 'hub' and '.com' and it will redirect to CodeSandbox. Here's an example:\n\nChange the GitHub URL:\\\nhttps://github.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter.\n\nTo:\\\nhttps://githubbox.com/gooddata/gooddata-ui-sdk/tree/master/examples/sdk-interactive-examples/examples/example-attributefilter\n\n\n## Running Examples locally \n\nYou can also run any example on your localhost.\n\n#### Clone whole SDK\n\n1.  Install [nvm](https://github.com/nvm-sh/nvm)\n    ```bash\n    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash\n    ```\n2.  Clone and bootstrap\n\n    ```bash\n    git clone git@github.com:gooddata/gooddata-ui-sdk.git\n    cd gooddata-ui-sdk\n    nvm install\n    nvm use\n    npm i -g @microsoft/rush\n    rush install\n    ```\n\n3.  Build\n\n    ```bash\n    rush build\n    ```\n4. Navigate to example directory \n\n    ```bash\n    cd examples/sdk-interactive-examples/examples/example-attributefilter\n    ```\n4. Run example \n\n    ```bash\n    npm run start\n    ```\n\n\n#### Clone just example directory\n\n1) ```bash \n    navigate to example directory\n    ```\n2) ```bash \n    npm run update-version\n   ```\n3) ```bash\n    npm install\n    ```\n4) ```bash\n    npm start\n    ```\n\n\n# Developers guide\n\n## Examples template\n\nThe template application in the examples-template directory serves as the foundation for each example. This template is utilized for updating and creating new examples. The entire content, excluding the src/example and .example directories, is synchronized between the template and the example directory.\n\n## Example\n\nThe example application in the example directory represents an example. Within the ./src/example directory, you'll find the example code, and within the ./.example directory, there are example-specific files like preview.png. These directories are not synchronized with the template. All other files or directories will not be retained during an update.\n\nIn package.json, each example defines:\n\n* name: The name of the package.\n* title: The title of the example.\n* description: The description of the example.\n* exampleDependencies:  Specific example dependencies, define dependencies that should by added after template update. \n\nThis information persists through template updates and is used to define readme.md and CodeSandbox templates links etc.\n\n## Creating new Example\n\nThe tool uses `rsync` to copy changed files.\n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run create-example\n   ```\nThe script will ask you for example-directory **name**, **title** and **description**, after that will bootstrap new example application base on template. Prepare **package.json** and generate **readme.md** also list of all examples in readme.md in examples root directory.    \n\nNavigate to the newly created example directory and begin implementing your example within the **src/example** directory. The entry point is a default exported parameterless component located in **Example.tsx**.\n\nAfter you finish example coding create preview of example (1024*768px)PNG and save it to **.example/preview.png**\n\n## Adding example specific dependencies \n\nEach example is valid package in rush monorepo if you need add specific example dependencies, its needed to add via rush command. Rush will check version etc. (Only one version of package is allowed in monorepo)\n\n```\nrush add -p highcharts -m\n```\n\nAfter that is necessary specify name of newly added dependency in **package.json** in array **exampleDependencies**  \n\n```\n\"exampleDependencies\": [\n    \"highcharts\",\n],\n```\n## Validating example\n\nIn sdk-interactive-examples directory are prepared validating scripts. This scripts checks that additional example dependencies are also defined in example package.json in array **exampleDependencies**  \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run validate\n   ```\n\n\n## Updating example \nThe tool uses `rsync` to copy changed files.\n\nIf you change **description**, **title** in example package.json is necessary propagate changes into other files like sandboxcode template, list of examples in root readme.md, example readme.md etc. \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\nScript will do it for you \n\n## Updating template\n\nAll files in the template are synchronized with example directories, except for the **src/example** and **.example** directories, which are excluded from synchronization.\n\nInformation such as **name**, **title**, **description**, and **exampleDependencies** in package.json persists through updates. Additionally, **dependencies** with names defined in exampleDependencies also persist through updates.\n\nAfter you are done with template update \n\n1) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```\n2) ```bash \n    npm run update-examples-template\n   ```\n\n## Updating Catalog Export\n\nAt first we need update Catalog in examples-template directory and than update template to all examples. \nDo not update catalog in specific example. It will be lost in next template update. \n\n1) ```bash \n    Navigate to the examples-template directory.\n    cd examples-template\n   ```\n2) ```bash     \n    npm run refresh-md \n   ```\n3) ```bash \n    Navigate to the sdk-interactive-examples directory.\n    cd sdk-interactive-examples\n   ```   \n4) ```bash \n    npm run update-examples-template\n   ```\n\n## License\n\n(C) 2017-2021 GoodData Corporation\n\nThis repository is under the GoodData commercial license available in the [LICENSE](LICENSE) file because it contains a commercial package, HighCharts.\n","readmeFilename":"README.md"}