terra_ui_components 0.0.75__tar.gz → 0.0.76__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of terra_ui_components might be problematic. Click here for more details.
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/PKG-INFO +1 -1
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/package-lock.json +2 -2
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/package.json +1 -1
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/pyproject.toml +1 -1
- terra_ui_components-0.0.76/src/components/plot-toolbar/notebooks/time-averaged-map-notebook.ts +66 -0
- terra_ui_components-0.0.76/src/components/plot-toolbar/notebooks/time-series-notebook.ts +76 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/plot-toolbar/plot-toolbar.component.ts +40 -68
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-average-map/time-average-map.component.ts +121 -124
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-average-map/time-average-map.controller.ts +2 -3
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-average-map/time-average-map.styles.ts +3 -5
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/declaration.d.ts +5 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/metadata-catalog/tasks.ts +5 -1
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/base.py +2 -2
- terra_ui_components-0.0.76/src/terra_ui_components/time_average_map/time_average_map.py +95 -0
- terra_ui_components-0.0.75/src/terra_ui_components/time_average_map/time_average_map.py +0 -50
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.editorconfig +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.github/workflows/build_and_deploy_docs.yml +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.github/workflows/node.js.yml +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.github/workflows/release.yml +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.gitignore +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.gitpod.yml +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.husky/pre-commit +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.prettierignore +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.vscode/extensions.json +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/.vscode/settings.json +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/LICENSE.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/README.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/certs/server.crt +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/certs/server.key +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/cspell.json +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/custom-elements-manifest.config.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/custom-elements-manifest.mjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_includes/component.njk +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_includes/default.njk +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_includes/sidebar.njk +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/active-links.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/anchor-headings.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/cem.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/code-previews.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/copy-code-buttons.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/external-links.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/highlight-code.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/markdown.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/prettier.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/replacer.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/scrolling-tables.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/strings.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/table-of-contents.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/_utilities/typography.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/examples/carousel/field.jpg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/examples/carousel/mountains.jpg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/examples/carousel/sunset.jpg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/examples/carousel/valley.jpg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/examples/carousel/waterfall.jpg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/examples/include.html +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/NASA_logo.svg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/awesome.svg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/chrome.png +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/edge.png +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/firefox.png +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/gitpod.svg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/logo.svg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/logo.white.png +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/og-image.png +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/opera.png +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/safari.png +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/shoe.svg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/tie.webp +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/touch-icon.png +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/twitter-card.png +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/undraw-content-team.svg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/undraw-not-found.svg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/undraw-taken.svg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/walk.gif +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/images/wordmark.svg +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/scripts/code-previews.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/scripts/docs.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/scripts/search.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/scripts/turbo.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/styles/code-previews.css +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/styles/docs.css +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/assets/styles/search.css +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/eleventy.config.cjs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/404.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/accordion.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/alert.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/browse-variables.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/button.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/chip.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/combobox.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/data-rods.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/data-subsetter-history.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/data-subsetter.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/date-picker.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/date-range-slider.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/dialog.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/icon.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/loader.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/login.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/map.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/plot-toolbar.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/plot.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/skeleton.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/spatial-picker.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/time-average-map.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/time-series.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/variable-combobox.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/components/variable-keyword-search.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/frameworks/angular.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/frameworks/react.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/frameworks/vue-2.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/frameworks/vue.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/getting-started/customizing.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/getting-started/form-controls.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/getting-started/installation.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/getting-started/localization.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/getting-started/themes.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/getting-started/usage.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/index.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tokens/border-radius.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tokens/color.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tokens/elevation.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tokens/more.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tokens/spacing.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tokens/transition.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tokens/typography.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tokens/z-index.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tutorials/integrating-with-laravel.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tutorials/integrating-with-nextjs.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/docs/pages/tutorials/integrating-with-rails.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/lint-staged.config.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/notebooks/playground.ipynb +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/build.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/bump-python-version.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/make-assets.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/make-icons.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/make-metadata.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/make-react.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/make-themes.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/plop/plopfile.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/plop/templates/component/component.hbs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/plop/templates/component/define.hbs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/plop/templates/component/docs.hbs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/plop/templates/component/styles.hbs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/plop/templates/component/tests.hbs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/plop/templates/widget/widget.py.hbs +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/scripts/shared.js +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/auth/auth.controller.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/auth/auth.service.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/accordion/accordion.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/accordion/accordion.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/accordion/accordion.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/accordion/accordion.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/alert/alert.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/alert/alert.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/alert/alert.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/alert/alert.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/browse-variables/browse-variables.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/browse-variables/browse-variables.controller.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/browse-variables/browse-variables.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/browse-variables/browse-variables.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/browse-variables/browse-variables.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/browse-variables/browse-variables.types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/button/button.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/button/button.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/button/button.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/button/button.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/chip/chip.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/chip/chip.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/chip/chip.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/chip/chip.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/combobox/combobox.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/combobox/combobox.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/combobox/combobox.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/combobox/combobox.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/combobox/lib.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/combobox/type.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-rods/data-rods.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-rods/data-rods.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-rods/data-rods.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-rods/data-rods.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter/assets/download_subset_files.py.txt +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter/data-subsetter.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter/data-subsetter.controller.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter/data-subsetter.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter/data-subsetter.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter/data-subsetter.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter-history/data-subsetter-history.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter-history/data-subsetter-history.controller.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter-history/data-subsetter-history.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter-history/data-subsetter-history.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/data-subsetter-history/data-subsetter-history.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/date-picker/date-picker.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/date-picker/date-picker.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/date-picker/date-picker.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/date-picker/date-picker.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/date-range-slider/date-range-slider.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/date-range-slider/date-range-slider.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/date-range-slider/date-range-slider.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/date-range-slider/date-range-slider.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/date-range-slider/noui-slider-utilities.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/dialog/dialog.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/dialog/dialog.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/dialog/dialog.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/dialog/dialog.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/icon/icon.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/icon/icon.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/icon/icon.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/icon/icon.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/icon/library.default.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/icon/library.heroicons.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/icon/library.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/loader/loader.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/loader/loader.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/loader/loader.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/loader/loader.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/login/login.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/login/login.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/login/login.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/login/login.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/map/leaflet-draw.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/map/leaflet-utils.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/map/leaflet.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/map/map.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/map/map.controller.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/map/map.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/map/map.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/map/map.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/map/type.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/plot/plot.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/plot/plot.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/plot/plot.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/plot/plot.types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/plot-toolbar/plot-toolbar.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/plot-toolbar/plot-toolbar.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/plot-toolbar/plot-toolbar.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/plot-toolbar/plot-toolbar.types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/skeleton/skeleton.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/skeleton/skeleton.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/skeleton/skeleton.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/skeleton/skeleton.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/spatial-picker/spatial-picker.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/spatial-picker/spatial-picker.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/spatial-picker/spatial-picker.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/spatial-picker/spatial-picker.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-average-map/time-average-map.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-average-map/time-average-map.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-series/time-series.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-series/time-series.controller.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-series/time-series.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-series/time-series.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-series/time-series.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/time-series/time-series.types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-combobox/lib.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-combobox/variable-combobox.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-combobox/variable-combobox.controller.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-combobox/variable-combobox.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-combobox/variable-combobox.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-combobox/variable-combobox.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-combobox/variable-combobox.types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-keyword-search/lib.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-keyword-search/variable-keyword-search.component.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-keyword-search/variable-keyword-search.controller.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-keyword-search/variable-keyword-search.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-keyword-search/variable-keyword-search.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-keyword-search/variable-keyword-search.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/components/variable-keyword-search/variable-keyword-search.types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/data-services/harmony-data-service.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/data-services/queries.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/data-services/types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/events.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-accordion-toggle.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-after-hide.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-after-show.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-change.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-combobox-change.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-date-range-change.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-dialog-hide.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-dialog-show.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-error.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-hide.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-load.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-login.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-map-change.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-plot-relayout.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-remove.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-search.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-show.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-subset-job-complete.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-time-average-map-data-change.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-time-series-data-change.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-variable-keyword-search-change.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/events/terra-variables-change.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/geojson/giovanni-geojson.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/geojson/queries.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/geojson/types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/active-elements.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/animate.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/debounce.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/default-value.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/drag.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/event.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/form.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/form.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/indexeddb.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/math.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/modal.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/offset.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/scroll.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/scrollend-polyfill.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/slot.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/string.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/tabbable.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/tabbable.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/terra-element.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/terra-element.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/test/data-testid-helpers.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/test/element-visible-overflow.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/test/form-control-base-tests.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/test/wait-for-scrolling.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/internal/watch.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/lib/dataset.test.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/lib/dataset.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/lib/graphql-client.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/metadata-catalog/cmr-catalog.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/metadata-catalog/giovanni-variable-catalog.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/metadata-catalog/queries.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/metadata-catalog/types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/metadata-catalog/utilities.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/styles/component.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/styles/form-control.styles.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra-ui-components-autoloader.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra-ui-components.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/README.md +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/accordion/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/accordion/accordion.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/browse_variables/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/browse_variables/browse_variables.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/data_rods/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/data_rods/data_rods.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/data_subsetter/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/data_subsetter/data_subsetter.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/data_subsetter_history/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/data_subsetter_history/data_subsetter_history.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/date_picker/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/date_picker/date_picker.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/date_range_slider/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/date_range_slider/date_range_slider.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/dialog/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/dialog/dialog.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/login/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/login/login.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/plot_toolbar/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/plot_toolbar/plot_toolbar.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/time_average_map/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/time_series/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/time_series/time_series.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/variable_keyword_search/__init__.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/terra_ui_components/variable_keyword_search/variable_keyword_search.py +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/themes/_utility.css +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/themes/horizon-dark.css +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/themes/horizon.css +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/types.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/animation-registry.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/animation.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/base-path.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/date.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/debounce.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/environment.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/form.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/icon-library.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/mimetypes.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/src/utilities/number.ts +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/tsconfig.json +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/tsconfig.prod.json +0 -0
- {terra_ui_components-0.0.75 → terra_ui_components-0.0.76}/web-test-runner.config.js +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nasa-terra/components",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.76",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@nasa-terra/components",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.76",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@apollo/client": "^3.13.8",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nasa-terra/components",
|
|
3
3
|
"description": "A collection of NASA Earthdata components",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.76",
|
|
5
5
|
"homepage": "https://github.com/nasa/terra-ui-components",
|
|
6
6
|
"author": "NASA GES DISC <https://disc.gsfc.nasa.gov>",
|
|
7
7
|
"license": "MIT",
|
terra_ui_components-0.0.76/src/components/plot-toolbar/notebooks/time-averaged-map-notebook.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type TerraPlotToolbar from '../plot-toolbar.component.js'
|
|
2
|
+
|
|
3
|
+
export function getTimeAveragedMapNotebook(host: TerraPlotToolbar) {
|
|
4
|
+
/**
|
|
5
|
+
* these cells were originally created in a Jupyter Notebook and then imported here.
|
|
6
|
+
* Note that one of the code cells takes in dynamic data
|
|
7
|
+
*/
|
|
8
|
+
return [
|
|
9
|
+
{
|
|
10
|
+
cell_type: 'markdown',
|
|
11
|
+
id: '367f56b9-7ca8-4435-9dcc-89bf586f33ab',
|
|
12
|
+
metadata: {},
|
|
13
|
+
source: [
|
|
14
|
+
'### Prerequisites:\n',
|
|
15
|
+
'\n',
|
|
16
|
+
'This notebook uses the `terra_ui_components`, `anywidget`, and `pandas` packages.\n',
|
|
17
|
+
'\n',
|
|
18
|
+
'After running the `pip install` cell for the first time, please reload the page to ensure the dependencies are active.',
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: '2733501b-0de4-4067-8aff-864e1b4c76cb',
|
|
23
|
+
cell_type: 'code',
|
|
24
|
+
source: '%pip install -q "terra_ui_components==0.0.70" "anywidget==0.9.15" "pandas"',
|
|
25
|
+
metadata: {
|
|
26
|
+
trusted: true,
|
|
27
|
+
},
|
|
28
|
+
outputs: [],
|
|
29
|
+
execution_count: null,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
cell_type: 'markdown',
|
|
33
|
+
id: '35aa4a00-8e2c-4478-9df7-de633fd8f6ce',
|
|
34
|
+
metadata: {},
|
|
35
|
+
source: ['### Render an area-averaged map'],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: '870c1384-e706-48ee-ba07-fd552a949869',
|
|
39
|
+
cell_type: 'code',
|
|
40
|
+
source: `from terra_ui_components import TerraTimeAverageMap\nmap = TerraTimeAverageMap()\nmap.collection='${host.catalogVariable.dataProductShortName}_${host.catalogVariable.dataProductVersion}'\nmap.variable = '${host.catalogVariable.dataFieldShortName}'\nmap.startDate = '${host.startDate}'\nmap.endDate = '${host.endDate}'\nmap.location = '${host.location}'\n\nmap`,
|
|
41
|
+
metadata: {
|
|
42
|
+
trusted: true,
|
|
43
|
+
},
|
|
44
|
+
outputs: [],
|
|
45
|
+
execution_count: null,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
cell_type: 'markdown',
|
|
49
|
+
id: '25b87ed4-2ad9-4c7d-b851-bc8fea3ded5a',
|
|
50
|
+
metadata: {},
|
|
51
|
+
source: [
|
|
52
|
+
'### Access the map GeoTIFF data\n',
|
|
53
|
+
'\n',
|
|
54
|
+
'Once the map renders, you can access the data:',
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
cell_type: 'code',
|
|
59
|
+
execution_count: null,
|
|
60
|
+
id: '6b81a089-884d-4fd7-9d4e-c45a53307c20',
|
|
61
|
+
metadata: {},
|
|
62
|
+
outputs: [],
|
|
63
|
+
source: ['map.data'],
|
|
64
|
+
},
|
|
65
|
+
]
|
|
66
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type TerraPlotToolbar from '../plot-toolbar.component.js'
|
|
2
|
+
|
|
3
|
+
export function getTimeSeriesNotebook(host: TerraPlotToolbar) {
|
|
4
|
+
/**
|
|
5
|
+
* these cells were originally created in a Jupyter Notebook and then imported here.
|
|
6
|
+
* Note that one of the code cells takes in dynamic data
|
|
7
|
+
*/
|
|
8
|
+
return [
|
|
9
|
+
{
|
|
10
|
+
cell_type: 'markdown',
|
|
11
|
+
id: '367f56b9-7ca8-4435-9dcc-89bf586f33ab',
|
|
12
|
+
metadata: {},
|
|
13
|
+
source: [
|
|
14
|
+
'### Prerequisites:\n',
|
|
15
|
+
'\n',
|
|
16
|
+
'This notebook uses the `terra_ui_components`, `anywidget`, and `pandas` packages.\n',
|
|
17
|
+
'\n',
|
|
18
|
+
'After running the `pip install` cell for the first time, please reload the page to ensure the dependencies are active.',
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: '2733501b-0de4-4067-8aff-864e1b4c76cb',
|
|
23
|
+
cell_type: 'code',
|
|
24
|
+
source: '%pip install -q "terra_ui_components==0.0.70" "anywidget==0.9.15" "pandas"',
|
|
25
|
+
metadata: {
|
|
26
|
+
trusted: true,
|
|
27
|
+
},
|
|
28
|
+
outputs: [],
|
|
29
|
+
execution_count: null,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
cell_type: 'markdown',
|
|
33
|
+
id: '35aa4a00-8e2c-4478-9df7-de633fd8f6ce',
|
|
34
|
+
metadata: {},
|
|
35
|
+
source: [
|
|
36
|
+
`### Render ${host.location.split(',').length > 2 ? 'an area-averaged' : 'a point-based'} time series plot`,
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: '870c1384-e706-48ee-ba07-fd552a949869',
|
|
41
|
+
cell_type: 'code',
|
|
42
|
+
source: `from terra_ui_components import TerraTimeSeries\ntimeseries = TerraTimeSeries()\n\ntimeseries.variableEntryId = '${host.variableEntryId}'\ntimeseries.startDate = '${host.startDate}'\ntimeseries.endDate = '${host.endDate}'\ntimeseries.location = '${host.location}'\n\ntimeseries`,
|
|
43
|
+
metadata: {
|
|
44
|
+
trusted: true,
|
|
45
|
+
},
|
|
46
|
+
outputs: [],
|
|
47
|
+
execution_count: null,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
cell_type: 'markdown',
|
|
51
|
+
id: '25b87ed4-2ad9-4c7d-b851-bc8fea3ded5a',
|
|
52
|
+
metadata: {},
|
|
53
|
+
source: [
|
|
54
|
+
'### Access the time series data\n',
|
|
55
|
+
'\n',
|
|
56
|
+
'Once the time series runs and you see a plot, you can access the data:',
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
cell_type: 'code',
|
|
61
|
+
execution_count: null,
|
|
62
|
+
id: '6b81a089-884d-4fd7-9d4e-c45a53307c20',
|
|
63
|
+
metadata: {},
|
|
64
|
+
outputs: [],
|
|
65
|
+
source: [
|
|
66
|
+
'import pandas as pd\n',
|
|
67
|
+
'if getattr(timeseries, "data", None):\n',
|
|
68
|
+
' df = pd.DataFrame(timeseries.data)\n',
|
|
69
|
+
" df['timestamp'] = pd.to_datetime(df['timestamp'])\n",
|
|
70
|
+
" df['value'] = pd.to_numeric(df['value'])\n",
|
|
71
|
+
' print(df.dtypes)\n',
|
|
72
|
+
' print(df.head())',
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
]
|
|
76
|
+
}
|
|
@@ -16,6 +16,8 @@ import TerraButton from '../button/button.component.js'
|
|
|
16
16
|
import TerraIcon from '../icon/icon.component.js'
|
|
17
17
|
import { cache } from 'lit/directives/cache.js'
|
|
18
18
|
import { AuthController } from '../../auth/auth.controller.js'
|
|
19
|
+
import { getTimeAveragedMapNotebook } from './notebooks/time-averaged-map-notebook.js'
|
|
20
|
+
import { getTimeSeriesNotebook } from './notebooks/time-series-notebook.js'
|
|
19
21
|
|
|
20
22
|
/**
|
|
21
23
|
* @summary Short summary of the component's intended use.
|
|
@@ -432,7 +434,15 @@ export default class TerraPlotToolbar extends TerraElement {
|
|
|
432
434
|
}
|
|
433
435
|
|
|
434
436
|
#sendDataToJupyterNotebook(jupyterWindow: Window) {
|
|
435
|
-
|
|
437
|
+
if (this.dataType === 'geotiff') {
|
|
438
|
+
this.#sendMapDataToJupyterNotebook(jupyterWindow)
|
|
439
|
+
} else {
|
|
440
|
+
this.#sendTimeSeriesDataToJupyterNotebook(jupyterWindow)
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
#sendTimeSeriesDataToJupyterNotebook(jupyterWindow: Window) {
|
|
445
|
+
console.log('Sending time series data to JupyterLite...')
|
|
436
446
|
|
|
437
447
|
// Fetch the time series data from IndexedDB
|
|
438
448
|
getDataByKey<VariableDbEntry>(
|
|
@@ -441,77 +451,12 @@ export default class TerraPlotToolbar extends TerraElement {
|
|
|
441
451
|
).then(timeSeriesData => {
|
|
442
452
|
// we don't have an easy way of knowing when JupyterLite finishes loading, so we'll wait a bit and then post our notebook
|
|
443
453
|
setTimeout(() => {
|
|
444
|
-
const notebook =
|
|
445
|
-
{
|
|
446
|
-
cell_type: 'markdown',
|
|
447
|
-
id: '367f56b9-7ca8-4435-9dcc-89bf586f33ab',
|
|
448
|
-
metadata: {},
|
|
449
|
-
source: [
|
|
450
|
-
'### Prerequisites:\n',
|
|
451
|
-
'\n',
|
|
452
|
-
'This notebook uses the `terra_ui_components` and `anywidget` packages.\n',
|
|
453
|
-
'\n',
|
|
454
|
-
'After running the `pip install` cell for the first time, please reload the page to ensure the dependencies are active.',
|
|
455
|
-
],
|
|
456
|
-
},
|
|
457
|
-
{
|
|
458
|
-
id: '2733501b-0de4-4067-8aff-864e1b4c76cb',
|
|
459
|
-
cell_type: 'code',
|
|
460
|
-
source: '%pip install -q "terra_ui_components==0.0.70" "anywidget==0.9.15" "pandas"',
|
|
461
|
-
metadata: {
|
|
462
|
-
trusted: true,
|
|
463
|
-
},
|
|
464
|
-
outputs: [],
|
|
465
|
-
execution_count: null,
|
|
466
|
-
},
|
|
467
|
-
{
|
|
468
|
-
cell_type: 'markdown',
|
|
469
|
-
id: '35aa4a00-8e2c-4478-9df7-de633fd8f6ce',
|
|
470
|
-
metadata: {},
|
|
471
|
-
source: ['### Render a point-based time series plot'],
|
|
472
|
-
},
|
|
473
|
-
{
|
|
474
|
-
id: '870c1384-e706-48ee-ba07-fd552a949869',
|
|
475
|
-
cell_type: 'code',
|
|
476
|
-
source: `from terra_ui_components import TerraTimeSeries\ntimeseries = TerraTimeSeries()\n\ntimeseries.variableEntryId = '${this.variableEntryId}'\ntimeseries.startDate = '${this.startDate}'\ntimeseries.endDate = '${this.endDate}'\ntimeseries.location = '${this.location}'\n\ntimeseries`,
|
|
477
|
-
metadata: {
|
|
478
|
-
trusted: true,
|
|
479
|
-
},
|
|
480
|
-
outputs: [],
|
|
481
|
-
execution_count: null,
|
|
482
|
-
},
|
|
483
|
-
{
|
|
484
|
-
cell_type: 'markdown',
|
|
485
|
-
id: '25b87ed4-2ad9-4c7d-b851-bc8fea3ded5a',
|
|
486
|
-
metadata: {},
|
|
487
|
-
source: [
|
|
488
|
-
'### Access the time series data\n',
|
|
489
|
-
'\n',
|
|
490
|
-
'Once the time series runs and you see a plot, you can access the data:',
|
|
491
|
-
],
|
|
492
|
-
},
|
|
493
|
-
{
|
|
494
|
-
cell_type: 'code',
|
|
495
|
-
execution_count: null,
|
|
496
|
-
id: '6b81a089-884d-4fd7-9d4e-c45a53307c20',
|
|
497
|
-
metadata: {},
|
|
498
|
-
outputs: [],
|
|
499
|
-
source: [
|
|
500
|
-
'import pandas as pd\n',
|
|
501
|
-
'if getattr(timeseries, "data", None):\n',
|
|
502
|
-
' df = pd.DataFrame(timeseries.data)\n',
|
|
503
|
-
" df['timestamp'] = pd.to_datetime(df['timestamp'])\n",
|
|
504
|
-
" df['value'] = pd.to_numeric(df['value'])\n",
|
|
505
|
-
' print(df.dtypes)\n',
|
|
506
|
-
' print(df.head())',
|
|
507
|
-
],
|
|
508
|
-
},
|
|
509
|
-
]
|
|
454
|
+
const notebook = getTimeSeriesNotebook(this)
|
|
510
455
|
|
|
511
456
|
jupyterWindow.postMessage(
|
|
512
457
|
{
|
|
513
458
|
type: 'load-notebook',
|
|
514
|
-
filename: `${encodeURIComponent(this.variableEntryId ?? 'plot')}.ipynb`,
|
|
459
|
+
filename: `${encodeURIComponent(this.variableEntryId ?? 'plot')}-timeseries.ipynb`,
|
|
515
460
|
notebook,
|
|
516
461
|
timeSeriesData,
|
|
517
462
|
databaseName: DB_NAME,
|
|
@@ -524,6 +469,33 @@ export default class TerraPlotToolbar extends TerraElement {
|
|
|
524
469
|
})
|
|
525
470
|
}
|
|
526
471
|
|
|
472
|
+
#sendMapDataToJupyterNotebook(jupyterWindow: Window) {
|
|
473
|
+
console.log('Sending map data to JupyterLite...')
|
|
474
|
+
|
|
475
|
+
// Fetch the time series data from IndexedDB
|
|
476
|
+
getDataByKey<Blob>(IndexedDbStores.TIME_AVERAGE_MAP, this.cacheKey).then(
|
|
477
|
+
blob => {
|
|
478
|
+
// we don't have an easy way of knowing when JupyterLite finishes loading, so we'll wait a bit and then post our notebook
|
|
479
|
+
setTimeout(() => {
|
|
480
|
+
const notebook = getTimeAveragedMapNotebook(this)
|
|
481
|
+
|
|
482
|
+
jupyterWindow.postMessage(
|
|
483
|
+
{
|
|
484
|
+
type: 'load-notebook',
|
|
485
|
+
filename: `${encodeURIComponent(this.variableEntryId ?? 'plot')}-map.ipynb`,
|
|
486
|
+
notebook,
|
|
487
|
+
blob,
|
|
488
|
+
databaseName: DB_NAME,
|
|
489
|
+
storeName: IndexedDbStores.TIME_AVERAGE_MAP,
|
|
490
|
+
token: this.bearerToken,
|
|
491
|
+
},
|
|
492
|
+
'*'
|
|
493
|
+
)
|
|
494
|
+
}, 500)
|
|
495
|
+
}
|
|
496
|
+
)
|
|
497
|
+
}
|
|
498
|
+
|
|
527
499
|
#downloadPNG(_event: Event) {
|
|
528
500
|
downloadImage(this.plot!.base, {
|
|
529
501
|
filename: this.catalogVariable!.dataFieldId,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { html } from 'lit'
|
|
2
|
-
import { property,
|
|
2
|
+
import { property, state } from 'lit/decorators.js'
|
|
3
3
|
import { Map, MapBrowserEvent, View } from 'ol'
|
|
4
4
|
import WebGLTileLayer from 'ol/layer/WebGLTile.js'
|
|
5
5
|
import OSM from 'ol/source/OSM.js'
|
|
@@ -8,7 +8,6 @@ import TerraElement from '../../internal/terra-element.js'
|
|
|
8
8
|
import componentStyles from '../../styles/component.styles.js'
|
|
9
9
|
import styles from './time-average-map.styles.js'
|
|
10
10
|
import type { CSSResultGroup } from 'lit'
|
|
11
|
-
import { watch } from '../../internal/watch.js'
|
|
12
11
|
import { TimeAvgMapController } from './time-average-map.controller.js'
|
|
13
12
|
import TerraButton from '../button/button.component.js'
|
|
14
13
|
import TerraIcon from '../icon/icon.component.js'
|
|
@@ -17,10 +16,9 @@ import type { Variable } from '../browse-variables/browse-variables.types.js'
|
|
|
17
16
|
import { cache } from 'lit/directives/cache.js'
|
|
18
17
|
import { AuthController } from '../../auth/auth.controller.js'
|
|
19
18
|
import { toLonLat } from 'ol/proj.js'
|
|
20
|
-
// @ts-ignore
|
|
21
|
-
import colormap from 'colormap'
|
|
22
19
|
import { getFetchVariableTask } from '../../metadata-catalog/tasks.js'
|
|
23
20
|
import { getVariableEntryId } from '../../metadata-catalog/utilities.js'
|
|
21
|
+
import colormap from 'colormap'
|
|
24
22
|
|
|
25
23
|
export default class TerraTimeAverageMap extends TerraElement {
|
|
26
24
|
static styles: CSSResultGroup = [componentStyles, styles]
|
|
@@ -60,9 +58,13 @@ export default class TerraTimeAverageMap extends TerraElement {
|
|
|
60
58
|
})
|
|
61
59
|
location?: string
|
|
62
60
|
|
|
61
|
+
@property({ type: String }) long_name = ''
|
|
62
|
+
|
|
63
63
|
@state()
|
|
64
64
|
activeMenuItem: any = null
|
|
65
65
|
|
|
66
|
+
@state() catalogVariable: Variable
|
|
67
|
+
|
|
66
68
|
@state() colormaps = [
|
|
67
69
|
'jet',
|
|
68
70
|
'hsv',
|
|
@@ -109,41 +111,17 @@ export default class TerraTimeAverageMap extends TerraElement {
|
|
|
109
111
|
'cubhelix',
|
|
110
112
|
]
|
|
111
113
|
@state() colorMapName = 'density'
|
|
112
|
-
|
|
113
|
-
@watch('activeMenuItem')
|
|
114
|
-
handleFocus(_oldValue: any, newValue: any) {
|
|
115
|
-
if (newValue === null) {
|
|
116
|
-
return
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
this.menu.focus()
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* The token to be used for authentication with remote servers.
|
|
124
|
-
* The component provides the header "Authorization: Bearer" (the request header and authentication scheme).
|
|
125
|
-
* The property's value will be inserted after "Bearer" (the authentication scheme).
|
|
126
|
-
*/
|
|
127
|
-
@property({ attribute: 'bearer-token', reflect: false })
|
|
128
|
-
bearerToken: string
|
|
129
|
-
|
|
130
|
-
@property({ type: String })
|
|
131
|
-
long_name = ''
|
|
132
|
-
|
|
133
|
-
@query('#menu') menu: HTMLMenuElement
|
|
134
|
-
|
|
135
|
-
@state() catalogVariable: Variable
|
|
136
|
-
|
|
114
|
+
// Private fields
|
|
137
115
|
#controller: TimeAvgMapController
|
|
138
|
-
_authController = new AuthController(this)
|
|
139
|
-
|
|
140
116
|
#map: Map | null = null
|
|
141
117
|
#gtLayer: WebGLTileLayer | null = null
|
|
118
|
+
// Auth Controller
|
|
119
|
+
_authController = new AuthController(this)
|
|
142
120
|
|
|
143
121
|
/**
|
|
144
122
|
* anytime the collection or variable changes, we'll fetch the variable from the catalog to get all of it's metadata
|
|
145
123
|
*/
|
|
146
|
-
_fetchVariableTask = getFetchVariableTask(this)
|
|
124
|
+
_fetchVariableTask = getFetchVariableTask(this, false)
|
|
147
125
|
|
|
148
126
|
async firstUpdated() {
|
|
149
127
|
this.#controller = new TimeAvgMapController(this)
|
|
@@ -153,6 +131,7 @@ export default class TerraTimeAverageMap extends TerraElement {
|
|
|
153
131
|
}
|
|
154
132
|
|
|
155
133
|
async updateGeoTIFFLayer() {
|
|
134
|
+
await this._fetchVariableTask.run()
|
|
156
135
|
await this.#controller.jobStatusTask.run()
|
|
157
136
|
// The task returns the blob upon completion
|
|
158
137
|
let job_status_value = this.#controller.jobStatusTask.value
|
|
@@ -183,7 +162,8 @@ export default class TerraTimeAverageMap extends TerraElement {
|
|
|
183
162
|
|
|
184
163
|
if (this.#map && this.#gtLayer) {
|
|
185
164
|
this.renderPixelValues(this.#map, this.#gtLayer)
|
|
186
|
-
this.applyColorToLayer(gtSource, 'density')
|
|
165
|
+
this.applyColorToLayer(gtSource, 'density') // Initial color for layer is density
|
|
166
|
+
|
|
187
167
|
const opacityInput = this.shadowRoot?.getElementById(
|
|
188
168
|
'opacity-input'
|
|
189
169
|
) as HTMLInputElement | null
|
|
@@ -208,46 +188,6 @@ export default class TerraTimeAverageMap extends TerraElement {
|
|
|
208
188
|
}
|
|
209
189
|
}
|
|
210
190
|
|
|
211
|
-
renderPixelValues(map: Map, gtLayer: WebGLTileLayer) {
|
|
212
|
-
const pixelValueEl = this.shadowRoot?.getElementById('pixelValue')
|
|
213
|
-
const coordEl = this.shadowRoot?.getElementById('cursorCoordinates')
|
|
214
|
-
|
|
215
|
-
map.on('pointermove', (event: MapBrowserEvent) => {
|
|
216
|
-
const data = gtLayer.getData(event.pixel)
|
|
217
|
-
const coordinate = toLonLat(event.coordinate)
|
|
218
|
-
//TODO: Address type script error
|
|
219
|
-
// @ts-ignore
|
|
220
|
-
// Set pixel/coordinate display to N/A if the pixel values are zero or NaN
|
|
221
|
-
if (!data || isNaN(data[0]) || data[0] === 0) {
|
|
222
|
-
if (pixelValueEl) pixelValueEl.textContent = 'N/A'
|
|
223
|
-
if (coordEl) coordEl.textContent = 'N/A'
|
|
224
|
-
return
|
|
225
|
-
}
|
|
226
|
-
//TODO: Address type script error
|
|
227
|
-
// @ts-ignore
|
|
228
|
-
const val = Number(data[0]).toExponential(4)
|
|
229
|
-
const coordStr = coordinate.map(c => c.toFixed(3)).join(', ')
|
|
230
|
-
|
|
231
|
-
if (pixelValueEl) pixelValueEl.textContent = val
|
|
232
|
-
if (coordEl) coordEl.textContent = coordStr
|
|
233
|
-
})
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
// Referencing workshop example from https://openlayers.org/workshop/en/cog/colormap.html
|
|
237
|
-
getColorStops(name: any, min: any, max: any, steps: any, reverse: any) {
|
|
238
|
-
const delta = (max - min) / (steps - 1)
|
|
239
|
-
const stops = new Array(steps * 2)
|
|
240
|
-
const colors = colormap({ colormap: name, nshades: steps, format: 'rgba' })
|
|
241
|
-
if (reverse) {
|
|
242
|
-
colors.reverse()
|
|
243
|
-
}
|
|
244
|
-
for (let i = 0; i < steps; i++) {
|
|
245
|
-
stops[i * 2] = min + i * delta
|
|
246
|
-
stops[i * 2 + 1] = colors[i]
|
|
247
|
-
}
|
|
248
|
-
return stops
|
|
249
|
-
}
|
|
250
|
-
|
|
251
191
|
intializeMap() {
|
|
252
192
|
const baseLayer = new WebGLTileLayer({
|
|
253
193
|
source: new OSM() as any,
|
|
@@ -265,30 +205,6 @@ export default class TerraTimeAverageMap extends TerraElement {
|
|
|
265
205
|
})
|
|
266
206
|
}
|
|
267
207
|
|
|
268
|
-
async getMinMax(gtSource: any) {
|
|
269
|
-
await gtSource.getView()
|
|
270
|
-
const gtImage = gtSource.sourceImagery_[0][0]
|
|
271
|
-
|
|
272
|
-
// read raster data from band 1
|
|
273
|
-
const rasterData = await gtImage.readRasters({ samples: [0] })
|
|
274
|
-
const pixels = rasterData[0]
|
|
275
|
-
|
|
276
|
-
let min = Infinity
|
|
277
|
-
let max = -Infinity
|
|
278
|
-
|
|
279
|
-
// Loop through pixels and get min and max values. This gives us a range to determine color mapping styling
|
|
280
|
-
for (let i = 0; i < pixels.length; i++) {
|
|
281
|
-
const val = pixels[i]
|
|
282
|
-
if (!isNaN(val)) {
|
|
283
|
-
// skip no-data pixels or NaN
|
|
284
|
-
if (val < min) min = val
|
|
285
|
-
if (val > max) max = val
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
return { min, max }
|
|
290
|
-
}
|
|
291
|
-
|
|
292
208
|
async fetchGeotiffMetadata(
|
|
293
209
|
gtSource: GeoTIFF
|
|
294
210
|
): Promise<{ [key: string]: string }> {
|
|
@@ -316,6 +232,73 @@ export default class TerraTimeAverageMap extends TerraElement {
|
|
|
316
232
|
return dataObj
|
|
317
233
|
}
|
|
318
234
|
|
|
235
|
+
renderPixelValues(map: Map, gtLayer: WebGLTileLayer) {
|
|
236
|
+
const pixelValueEl = this.shadowRoot?.getElementById('pixelValue')
|
|
237
|
+
const coordEl = this.shadowRoot?.getElementById('cursorCoordinates')
|
|
238
|
+
|
|
239
|
+
map.on('pointermove', (event: MapBrowserEvent) => {
|
|
240
|
+
const data = gtLayer.getData(event.pixel)
|
|
241
|
+
const coordinate = toLonLat(event.coordinate)
|
|
242
|
+
|
|
243
|
+
if (
|
|
244
|
+
!data ||
|
|
245
|
+
!(
|
|
246
|
+
data instanceof Uint8Array ||
|
|
247
|
+
data instanceof Uint8ClampedArray ||
|
|
248
|
+
data instanceof Float32Array
|
|
249
|
+
) ||
|
|
250
|
+
isNaN(data[0]) ||
|
|
251
|
+
data[0] === 0
|
|
252
|
+
) {
|
|
253
|
+
if (pixelValueEl) pixelValueEl.textContent = 'N/A'
|
|
254
|
+
if (coordEl) coordEl.textContent = 'N/A'
|
|
255
|
+
return
|
|
256
|
+
}
|
|
257
|
+
const val = Number(data[0]).toExponential(4)
|
|
258
|
+
const coordStr = coordinate.map(c => c.toFixed(3)).join(', ')
|
|
259
|
+
|
|
260
|
+
if (pixelValueEl) pixelValueEl.textContent = val
|
|
261
|
+
if (coordEl) coordEl.textContent = coordStr
|
|
262
|
+
})
|
|
263
|
+
}
|
|
264
|
+
async getMinMax(gtSource: any) {
|
|
265
|
+
await gtSource.getView()
|
|
266
|
+
const gtImage = gtSource.sourceImagery_[0][0]
|
|
267
|
+
|
|
268
|
+
// read raster data from band 1
|
|
269
|
+
const rasterData = await gtImage.readRasters({ samples: [0] })
|
|
270
|
+
const pixels = rasterData[0]
|
|
271
|
+
|
|
272
|
+
let min = Infinity
|
|
273
|
+
let max = -Infinity
|
|
274
|
+
|
|
275
|
+
// Loop through pixels and get min and max values. This gives us a range to determine color mapping styling
|
|
276
|
+
for (let i = 0; i < pixels.length; i++) {
|
|
277
|
+
const val = pixels[i]
|
|
278
|
+
if (!isNaN(val)) {
|
|
279
|
+
// skip no-data pixels or NaN
|
|
280
|
+
if (val < min) min = val
|
|
281
|
+
if (val > max) max = val
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
return { min, max }
|
|
286
|
+
}
|
|
287
|
+
// Referencing workshop example from https://openlayers.org/workshop/en/cog/colormap.html
|
|
288
|
+
getColorStops(name: any, min: any, max: any, steps: any, reverse: any) {
|
|
289
|
+
const delta = (max - min) / (steps - 1)
|
|
290
|
+
const stops = new Array(steps * 2)
|
|
291
|
+
const colors = colormap({ colormap: name, nshades: steps, format: 'rgba' })
|
|
292
|
+
if (reverse) {
|
|
293
|
+
colors.reverse()
|
|
294
|
+
}
|
|
295
|
+
for (let i = 0; i < steps; i++) {
|
|
296
|
+
stops[i * 2] = min + i * delta
|
|
297
|
+
stops[i * 2 + 1] = colors[i]
|
|
298
|
+
}
|
|
299
|
+
return stops
|
|
300
|
+
}
|
|
301
|
+
|
|
319
302
|
async applyColorToLayer(gtSource: any, color: String) {
|
|
320
303
|
var { min, max } = await this.getMinMax(gtSource)
|
|
321
304
|
let gtStyle = {
|
|
@@ -334,10 +317,9 @@ export default class TerraTimeAverageMap extends TerraElement {
|
|
|
334
317
|
|
|
335
318
|
this.#gtLayer?.setStyle(gtStyle)
|
|
336
319
|
}
|
|
337
|
-
|
|
338
320
|
#onColorMapChange(event: Event) {
|
|
339
321
|
const selectedColormap = (event.target as HTMLSelectElement).value
|
|
340
|
-
// Reapply the style with the new colormap
|
|
322
|
+
// Reapply the style with the new colormap to the layer
|
|
341
323
|
if (this.#gtLayer && this.#gtLayer.getSource()) {
|
|
342
324
|
this.applyColorToLayer(this.#gtLayer.getSource(), selectedColormap)
|
|
343
325
|
}
|
|
@@ -360,33 +342,48 @@ export default class TerraTimeAverageMap extends TerraElement {
|
|
|
360
342
|
: html`<div class="spacer"></div>`
|
|
361
343
|
)}
|
|
362
344
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
345
|
+
<div id="map">
|
|
346
|
+
<!-- Settings for pixel value, coordinates, opacity, and colormap -->
|
|
347
|
+
<div id="settings">
|
|
348
|
+
<div>
|
|
349
|
+
<strong>Value:</strong> <span id="pixelValue">N/A</span>
|
|
350
|
+
</div>
|
|
351
|
+
<div>
|
|
352
|
+
<strong>Coordinate: </strong>
|
|
353
|
+
<span id="cursorCoordinates">N/A</span>
|
|
354
|
+
</div>
|
|
355
|
+
|
|
356
|
+
<label>
|
|
357
|
+
Layer opacity
|
|
358
|
+
<input
|
|
359
|
+
id="opacity-input"
|
|
360
|
+
type="range"
|
|
361
|
+
min="0"
|
|
362
|
+
max="1"
|
|
363
|
+
step="0.01"
|
|
364
|
+
value="1"
|
|
365
|
+
/>
|
|
366
|
+
<span id="opacity-output"></span>
|
|
367
|
+
</label>
|
|
368
|
+
|
|
369
|
+
<label>
|
|
370
|
+
ColorMap:
|
|
371
|
+
<select
|
|
372
|
+
id="colormap-select"
|
|
373
|
+
@change=${this.#onColorMapChange}
|
|
374
|
+
>
|
|
375
|
+
${this.colormaps.map(
|
|
376
|
+
cm =>
|
|
377
|
+
html` <option
|
|
378
|
+
value="${cm}"
|
|
379
|
+
?selected=${cm === this.colorMapName}
|
|
380
|
+
>
|
|
381
|
+
${cm}
|
|
382
|
+
</option>`
|
|
383
|
+
)}
|
|
384
|
+
</select>
|
|
387
385
|
</label>
|
|
388
386
|
</div>
|
|
389
|
-
</div>
|
|
390
387
|
</div>
|
|
391
388
|
`
|
|
392
389
|
}
|