ember-inspector 4.13.1-alpha.2024.8.9 → 4.13.1-alpha.2025.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -2
- package/app/components/app-picker.hbs +2 -2
- package/app/components/component-tree-item.hbs +13 -13
- package/app/components/component-tree-toolbar.hbs +3 -3
- package/app/components/{date-property-field.js → date-property-field.ts} +6 -5
- package/app/components/deprecation-item-source.hbs +1 -1
- package/app/components/deprecation-item.hbs +1 -1
- package/app/components/deprecations-toolbar.hbs +1 -1
- package/app/components/item-types.hbs +7 -7
- package/app/components/list-cell.hbs +3 -3
- package/app/components/list-content.hbs +4 -3
- package/app/components/list-content.ts +96 -0
- package/app/components/list.hbs +3 -3
- package/app/components/list.js +7 -7
- package/app/components/model-types-toolbar.hbs +3 -3
- package/app/components/object-inspector/dependent-keys.hbs +4 -4
- package/app/components/object-inspector/errors.hbs +4 -4
- package/app/components/object-inspector/properties-all.hbs +1 -1
- package/app/components/object-inspector/properties-grouped.hbs +5 -5
- package/app/components/object-inspector/property.hbs +16 -16
- package/app/components/object-inspector/property.ts +26 -17
- package/app/components/object-inspector/sort-properties.js +12 -4
- package/app/components/object-inspector.hbs +8 -8
- package/app/components/object-inspector.js +1 -1
- package/app/components/promise-item.hbs +11 -11
- package/app/components/promise-item.js +8 -6
- package/app/components/promise-tree-toolbar.hbs +5 -5
- package/app/components/records-toolbar.hbs +2 -2
- package/app/components/render-item.hbs +4 -4
- package/app/components/render-item.ts +12 -9
- package/app/components/render-tree-toolbar.hbs +1 -1
- package/app/components/route-cell-name.hbs +1 -1
- package/app/components/route-cell-name.js +3 -2
- package/app/components/route-tree-toolbar.hbs +2 -2
- package/app/components/scroll-container.js +2 -0
- package/app/components/side-nav.hbs +5 -5
- package/app/components/side-nav.js +1 -1
- package/app/computed/{debounce.js → debounce.ts} +7 -5
- package/app/config/environment.d.ts +5 -2
- package/app/controllers/app-config.js +1 -0
- package/app/controllers/application.js +33 -34
- package/app/controllers/component-tree.js +3 -2
- package/app/controllers/container-type.js +2 -1
- package/app/controllers/container-types/{index.js → index.ts} +5 -2
- package/app/controllers/container-types.js +3 -6
- package/app/controllers/deprecations.js +16 -11
- package/app/controllers/libraries.js +1 -0
- package/app/controllers/model-types.js +1 -0
- package/app/controllers/promise-tree.ts +149 -0
- package/app/controllers/records.js +18 -26
- package/app/controllers/{render-tree.js → render-tree.ts} +54 -45
- package/app/controllers/route-tree.js +7 -5
- package/app/helpers/build-style.js +1 -1
- package/app/initializers/setup.js +1 -1
- package/app/libs/promise-assembler.ts +249 -0
- package/app/libs/resizable-columns.js +10 -10
- package/app/models/{promise.js → promise.ts} +72 -69
- package/app/{router.js → router.ts} +1 -1
- package/app/routes/app-detected.js +3 -5
- package/app/routes/application.js +6 -12
- package/app/routes/deprecations.js +7 -16
- package/app/routes/launch.js +2 -1
- package/app/routes/libraries.js +2 -1
- package/app/routes/model-type.js +2 -3
- package/app/routes/model-types.ts +57 -0
- package/app/routes/promise-tree.ts +63 -0
- package/app/routes/records.ts +78 -0
- package/app/routes/render-tree.ts +93 -0
- package/app/routes/route-tree.js +0 -1
- package/app/routes/{tab.js → tab.ts} +9 -2
- package/app/routes/whats-new.js +1 -1
- package/app/services/adapters/{basic.js → basic.ts} +36 -30
- package/app/services/adapters/{bookmarklet.js → bookmarklet.ts} +17 -24
- package/app/services/adapters/{chrome.js → chrome.ts} +1 -2
- package/app/services/adapters/{web-extension.js → web-extension.ts} +43 -46
- package/app/services/adapters/websocket.ts +40 -0
- package/app/services/layout.ts +88 -0
- package/app/services/port.ts +195 -0
- package/app/services/storage/{local.js → local.ts} +7 -20
- package/app/services/storage/{memory.js → memory.ts} +6 -21
- package/app/services/{storage.js → storage.ts} +9 -20
- package/app/styles/base.scss +4 -2
- package/app/styles/colors.scss +33 -31
- package/app/styles/component_tree.scss +56 -51
- package/app/styles/dropdown.scss +2 -2
- package/app/styles/ember-table.scss +3 -3
- package/app/styles/mixin.scss +26 -26
- package/app/styles/object_inspector.scss +22 -21
- package/app/styles/utils.scss +408 -122
- package/app/templates/application.hbs +11 -11
- package/app/templates/component-tree.hbs +1 -1
- package/app/templates/deprecations.hbs +2 -3
- package/app/templates/info.hbs +10 -10
- package/app/templates/promise-tree.hbs +1 -1
- package/app/templates/render-tree.hbs +1 -1
- package/app/templates/route-tree.hbs +1 -1
- package/app/utils/escape-reg-exp.ts +3 -2
- package/app/utils/nullish.ts +7 -0
- package/app/utils/parse-text.ts +4 -5
- package/app/utils/truncate.js +0 -1
- package/config/ember-cli-update.json +5 -3
- package/config/ember-try.js +117 -72
- package/config/environment.js +1 -1
- package/config/optional-features.json +2 -1
- package/dist/bookmarklet/load_inspector.js +30 -11
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.524.c8707b06d2f496a0d15d.js +40 -0
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.582.6d68f76dc5c8ba2b48a8.js +42 -0
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +150 -155
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +486 -590
- package/dist/bookmarklet/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-components.svg +2 -2
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-container.svg +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-data.svg +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-info.svg +3 -3
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
- package/dist/bookmarklet/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
- package/dist/bookmarklet/panes-3-16-0/assets/vendor.css +147 -148
- package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +5153 -5980
- package/dist/bookmarklet/panes-3-16-0/ember_debug.js +250 -268
- package/dist/bookmarklet/panes-3-16-0/index.html +3 -4
- package/dist/chrome/background.js +26 -21
- package/dist/chrome/boot.js +1 -1
- package/dist/chrome/content-script.js +11 -11
- package/dist/chrome/devtools.js +12 -3
- package/dist/chrome/manifest.json +2 -2
- package/dist/chrome/options.js +17 -12
- package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.524.c8707b06d2f496a0d15d.js +40 -0
- package/dist/chrome/panes-3-16-0/assets/chunk.582.6d68f76dc5c8ba2b48a8.js +42 -0
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +150 -155
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +486 -590
- package/dist/chrome/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
- package/dist/chrome/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
- package/dist/chrome/panes-3-16-0/assets/svg/nav-components.svg +2 -2
- package/dist/chrome/panes-3-16-0/assets/svg/nav-container.svg +1 -1
- package/dist/chrome/panes-3-16-0/assets/svg/nav-data.svg +1 -1
- package/dist/chrome/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
- package/dist/chrome/panes-3-16-0/assets/svg/nav-info.svg +3 -3
- package/dist/chrome/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
- package/dist/chrome/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
- package/dist/chrome/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
- package/dist/chrome/panes-3-16-0/assets/vendor.css +147 -148
- package/dist/chrome/panes-3-16-0/assets/vendor.js +5153 -5980
- package/dist/chrome/panes-3-16-0/ember_debug.js +250 -268
- package/dist/chrome/panes-3-16-0/index.html +3 -4
- package/dist/chrome/scripts/in-page-script.js +19 -13
- package/dist/firefox/background.js +26 -21
- package/dist/firefox/boot.js +1 -1
- package/dist/firefox/content-script.js +11 -11
- package/dist/firefox/devtools.js +12 -3
- package/dist/firefox/manifest.json +2 -2
- package/dist/firefox/options.js +17 -12
- package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.524.c8707b06d2f496a0d15d.js +40 -0
- package/dist/firefox/panes-3-16-0/assets/chunk.582.6d68f76dc5c8ba2b48a8.js +42 -0
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +150 -155
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +486 -590
- package/dist/firefox/panes-3-16-0/assets/svg/ellipsis.svg +3 -3
- package/dist/firefox/panes-3-16-0/assets/svg/nav-bug.svg +1 -1
- package/dist/firefox/panes-3-16-0/assets/svg/nav-components.svg +2 -2
- package/dist/firefox/panes-3-16-0/assets/svg/nav-container.svg +1 -1
- package/dist/firefox/panes-3-16-0/assets/svg/nav-data.svg +1 -1
- package/dist/firefox/panes-3-16-0/assets/svg/nav-deprecations.svg +3 -3
- package/dist/firefox/panes-3-16-0/assets/svg/nav-info.svg +3 -3
- package/dist/firefox/panes-3-16-0/assets/svg/nav-promises.svg +2 -2
- package/dist/firefox/panes-3-16-0/assets/svg/nav-render-performance.svg +2 -2
- package/dist/firefox/panes-3-16-0/assets/svg/nav-route-tree.svg +7 -7
- package/dist/firefox/panes-3-16-0/assets/vendor.css +147 -148
- package/dist/firefox/panes-3-16-0/assets/vendor.js +5153 -5980
- package/dist/firefox/panes-3-16-0/ember_debug.js +250 -268
- package/dist/firefox/panes-3-16-0/index.html +3 -4
- package/dist/firefox/scripts/in-page-script.js +19 -13
- package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js +1135 -0
- package/dist/websocket/assets/chunk.443.86a005e528b587663b78.js.LICENSE.txt +18 -0
- package/dist/websocket/assets/chunk.524.c8707b06d2f496a0d15d.js +40 -0
- package/dist/websocket/assets/chunk.582.6d68f76dc5c8ba2b48a8.js +42 -0
- package/dist/websocket/assets/ember-inspector.css +150 -155
- package/dist/websocket/assets/ember-inspector.js +486 -590
- package/dist/websocket/assets/svg/ellipsis.svg +3 -3
- package/dist/websocket/assets/svg/nav-bug.svg +1 -1
- package/dist/websocket/assets/svg/nav-components.svg +2 -2
- package/dist/websocket/assets/svg/nav-container.svg +1 -1
- package/dist/websocket/assets/svg/nav-data.svg +1 -1
- package/dist/websocket/assets/svg/nav-deprecations.svg +3 -3
- package/dist/websocket/assets/svg/nav-info.svg +3 -3
- package/dist/websocket/assets/svg/nav-promises.svg +2 -2
- package/dist/websocket/assets/svg/nav-render-performance.svg +2 -2
- package/dist/websocket/assets/svg/nav-route-tree.svg +7 -7
- package/dist/websocket/assets/vendor.css +147 -148
- package/dist/websocket/assets/vendor.js +5153 -5980
- package/dist/websocket/ember_debug.js +250 -268
- package/dist/websocket/index.html +3 -4
- package/ember-cli-build.js +11 -11
- package/ember_debug/adapters/basic.js +2 -1
- package/ember_debug/adapters/bookmarklet.js +1 -0
- package/ember_debug/adapters/firefox.js +3 -3
- package/ember_debug/adapters/web-extension.js +2 -1
- package/ember_debug/data-debug.js +5 -6
- package/ember_debug/deprecation-debug.js +8 -8
- package/ember_debug/general-debug.js +1 -1
- package/ember_debug/libs/capture-render-tree.js +0 -1
- package/ember_debug/libs/promise-assembler.js +1 -0
- package/ember_debug/libs/render-tree.js +13 -12
- package/ember_debug/libs/source-map.js +5 -4
- package/ember_debug/libs/view-inspection.js +12 -12
- package/ember_debug/main.js +1 -1
- package/ember_debug/models/profile-manager.js +2 -1
- package/ember_debug/object-inspector.js +19 -18
- package/ember_debug/port.js +1 -0
- package/ember_debug/promise-debug.js +1 -1
- package/ember_debug/route-debug.js +3 -2
- package/ember_debug/services/session.js +1 -1
- package/ember_debug/utils/classify.js +1 -1
- package/ember_debug/utils/ember/debug.js +2 -0
- package/ember_debug/utils/ember/loader.js +2 -2
- package/ember_debug/utils/ember/runloop.js +2 -0
- package/ember_debug/utils/ember-object-names.js +2 -2
- package/ember_debug/utils/ember.js +9 -3
- package/ember_debug/utils/evented.js +1 -1
- package/ember_debug/utils/get-object-name.js +2 -2
- package/ember_debug/utils/rsvp.js +1 -0
- package/ember_debug/utils/type-check.js +5 -1
- package/ember_debug/vendor/startup-wrapper.js +4 -1
- package/ember_debug/view-debug.js +3 -2
- package/eslint.config.mjs +172 -0
- package/gulpfile.js +1 -1
- package/lib/ui/addon/components/drag-handle.hbs +4 -4
- package/lib/ui/addon/components/drag-handle.js +3 -1
- package/lib/ui/addon/components/empty-message.hbs +1 -1
- package/lib/ui/addon/components/error-page.hbs +3 -3
- package/lib/ui/addon/components/resizable-column.js +1 -1
- package/lib/ui/addon/components/toolbar-clear-button.hbs +1 -1
- package/lib/ui/addon/components/toolbar-reload-button.hbs +1 -1
- package/lib/ui/addon/components/toolbar-search-field.hbs +2 -2
- package/lib/ui/addon/styles/_disclosure-triangle.scss +3 -1
- package/lib/ui/addon/styles/_drag-handle.scss +7 -7
- package/lib/ui/addon/styles/_empty-message.scss +1 -1
- package/lib/ui/addon/styles/_error-page.scss +8 -7
- package/lib/ui/addon/styles/_list.scss +46 -45
- package/lib/ui/addon/styles/_nav.scss +29 -27
- package/lib/ui/addon/styles/_object-inspector-toggle.scss +5 -5
- package/lib/ui/addon/styles/_pill.scss +4 -4
- package/lib/ui/addon/styles/_send-to-console.scss +1 -1
- package/lib/ui/addon/styles/_split.scss +17 -20
- package/lib/ui/addon/styles/addon.scss +13 -13
- package/lib/ui/addon/styles/toolbar/_checkbox.scss +5 -5
- package/lib/ui/addon/styles/toolbar/_icon-button.scss +44 -25
- package/lib/ui/addon/styles/toolbar/_index.scss +6 -5
- package/lib/ui/addon/styles/toolbar/_radio.scss +10 -10
- package/lib/ui/addon/styles/toolbar/_search.scss +5 -3
- package/package.json +85 -86
- package/public/assets/svg/ellipsis.svg +3 -3
- package/public/assets/svg/nav-bug.svg +1 -1
- package/public/assets/svg/nav-components.svg +2 -2
- package/public/assets/svg/nav-container.svg +1 -1
- package/public/assets/svg/nav-data.svg +1 -1
- package/public/assets/svg/nav-deprecations.svg +3 -3
- package/public/assets/svg/nav-info.svg +3 -3
- package/public/assets/svg/nav-promises.svg +2 -2
- package/public/assets/svg/nav-render-performance.svg +2 -2
- package/public/assets/svg/nav-route-tree.svg +7 -7
- package/scripts/download-panes.js +1 -1
- package/skeletons/bookmarklet/load_inspector.js +30 -11
- package/skeletons/web-extension/background.js +26 -21
- package/skeletons/web-extension/boot.js +1 -1
- package/skeletons/web-extension/content-script.js +11 -11
- package/skeletons/web-extension/devtools.js +12 -3
- package/skeletons/web-extension/manifest.json +2 -2
- package/skeletons/web-extension/options.js +17 -12
- package/skeletons/web-extension/scripts/in-page-script.js +19 -13
- package/testem.js +0 -1
- package/tests/acceptance/app-picker-test.js +4 -4
- package/tests/acceptance/component-tree-test.js +43 -57
- package/tests/acceptance/container-test.js +0 -2
- package/tests/acceptance/data-test.js +8 -10
- package/tests/acceptance/deprecation-test.js +8 -12
- package/tests/acceptance/info-test.js +2 -2
- package/tests/acceptance/object-inspector-test.js +62 -110
- package/tests/acceptance/promise-test.js +1 -11
- package/tests/acceptance/render-tree-test.js +2 -2
- package/tests/acceptance/route-tree-test.js +12 -14
- package/tests/acceptance/whats-new-test.js +3 -3
- package/tests/ember_debug/container-debug-test.js +4 -4
- package/tests/ember_debug/deprecation-debug-test.js +8 -5
- package/tests/ember_debug/ember-debug-test.js +1 -4
- package/tests/ember_debug/object-inspector-test.js +44 -44
- package/tests/ember_debug/profile-manager-test.js +140 -165
- package/tests/ember_debug/profile-node-test.js +3 -3
- package/tests/ember_debug/promise-assembler-test.js +12 -9
- package/tests/ember_debug/promise-debug-test.js +5 -6
- package/tests/ember_debug/route-debug-test.js +8 -7
- package/tests/ember_debug/view-debug-test.js +179 -181
- package/tests/helpers/{index.js → index.ts} +6 -5
- package/tests/helpers/setup-ember-debug-test.js +14 -0
- package/tests/integration/injection-test.js +12 -13
- package/tests/test-adapter.js +15 -15
- package/tests/test-helper.js +6 -1
- package/tests/unit/check-current-route-test.js +0 -4
- package/tests/unit/resizable-columns-test.js +53 -51
- package/tests/unit/utils/parse-text-test.js +3 -3
- package/tests/unit/utils/search-match-test.js +5 -5
- package/tests/unit/utils/type-check-test.js +22 -0
- package/tsconfig.json +3 -1
- package/types/ember-inspector/index.d.ts +2 -1
- package/types/global.d.ts +1 -7
- package/.editorconfig +0 -19
- package/.ember-cli +0 -15
- package/.eslintignore +0 -33
- package/.eslintrc.js +0 -86
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/dependabot.yml +0 -14
- package/.github/pull_request_template.md +0 -4
- package/.github/workflows/build.yml +0 -339
- package/.github/workflows/plan-release.yml +0 -83
- package/.github/workflows/publish.yml +0 -60
- package/.prettierignore +0 -25
- package/.prettierrc.js +0 -14
- package/.release-plan.json +0 -17
- package/.stylelintrc.js +0 -3
- package/.template-lintrc.js +0 -12
- package/.tool-versions +0 -2
- package/.watchmanconfig +0 -3
- package/app/components/.gitkeep +0 -0
- package/app/components/list-content.js +0 -130
- package/app/controllers/.gitkeep +0 -0
- package/app/controllers/promise-tree.js +0 -130
- package/app/helpers/.gitkeep +0 -0
- package/app/libs/promise-assembler.js +0 -169
- package/app/models/.gitkeep +0 -0
- package/app/routes/.gitkeep +0 -0
- package/app/routes/model-types.js +0 -47
- package/app/routes/promise-tree.js +0 -48
- package/app/routes/records.js +0 -55
- package/app/routes/render-tree.js +0 -66
- package/app/services/adapters/websocket.js +0 -31
- package/app/services/layout.js +0 -39
- package/app/services/port.js +0 -90
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/bookmarklet/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/chrome/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
- package/dist/chrome/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
- package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/chrome/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/firefox/panes-3-16-0/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
- package/dist/firefox/panes-3-16-0/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
- package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/firefox/panes-3-16-0/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/dist/websocket/assets/chunk.143.143ca772b0b28102c74a.js +0 -28
- package/dist/websocket/assets/chunk.178.b50e140d1ed8777b583e.js +0 -9
- package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js +0 -2620
- package/dist/websocket/assets/chunk.359.0be5d21f60d2b5d6d423.js.LICENSE.txt +0 -67
- package/ember_debug/.eslintrc.js +0 -13
- package/tests/helpers/trigger-port.js +0 -6
- package/tests/unit/.gitkeep +0 -0
- /package/app/{app.js → app.ts} +0 -0
- /package/app/controllers/{info.js → info.ts} +0 -0
- /package/app/services/adapters/{firefox.js → firefox.ts} +0 -0
@@ -0,0 +1,88 @@
|
|
1
|
+
/**
|
2
|
+
* Layout service used to broadcast changes to the application's
|
3
|
+
* layout due to resizing of the main nav or the object inspector toggling.
|
4
|
+
*
|
5
|
+
* Whenever something resizes it triggers an event on this service. For example
|
6
|
+
* when the main nav is resized.
|
7
|
+
* Elements dependant on the app's layout listen to events on this service. For
|
8
|
+
* example the `list` component.
|
9
|
+
*/
|
10
|
+
import Service from '@ember/service';
|
11
|
+
import { action } from '@ember/object';
|
12
|
+
import { tracked } from '@glimmer/tracking';
|
13
|
+
import { addListener, removeListener, sendEvent } from '@ember/object/events';
|
14
|
+
import type { AnyFn } from '@ember/-internals/utility-types';
|
15
|
+
|
16
|
+
export default class LayoutService extends Service {
|
17
|
+
/**
|
18
|
+
* Stores the app's content height. This property is kept up-to-date
|
19
|
+
* by the `monitor-content-height` component.
|
20
|
+
*/
|
21
|
+
@tracked contentHeight: number | null = null;
|
22
|
+
|
23
|
+
/**
|
24
|
+
* This is called by `monitor-content-height` whenever a window resize is detected
|
25
|
+
* and the app's content height has changed. We therefore update the
|
26
|
+
* `contentHeight` property and notify all listeners (mostly lists).
|
27
|
+
*
|
28
|
+
* @param height The new app content height
|
29
|
+
*/
|
30
|
+
updateContentHeight(height: number) {
|
31
|
+
this.contentHeight = height;
|
32
|
+
this.trigger('content-height-update', height);
|
33
|
+
}
|
34
|
+
|
35
|
+
// Manually implement Evented functionality, so we can move away from the mixin
|
36
|
+
|
37
|
+
on(eventName: string, method: AnyFn): void;
|
38
|
+
on(eventName: string, target: unknown, method: AnyFn): void;
|
39
|
+
|
40
|
+
@action
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
42
|
+
on(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn): void {
|
43
|
+
if (typeof targetOrMethod === 'function') {
|
44
|
+
// If we did not pass a target, default to `this`
|
45
|
+
addListener(this, eventName, this, targetOrMethod as AnyFn);
|
46
|
+
} else {
|
47
|
+
addListener(this, eventName, targetOrMethod as object, method);
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
one(eventName: string, method: AnyFn): void;
|
52
|
+
one(eventName: string, target: unknown, method: AnyFn): void;
|
53
|
+
|
54
|
+
@action
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
56
|
+
one(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn) {
|
57
|
+
if (typeof targetOrMethod === 'function') {
|
58
|
+
// If we did not pass a target, default to `this`
|
59
|
+
addListener(this, eventName, this, targetOrMethod as AnyFn, true);
|
60
|
+
} else {
|
61
|
+
addListener(this, eventName, targetOrMethod as object, method, true);
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
off(eventName: string, method: AnyFn): void;
|
66
|
+
off(eventName: string, target: unknown, method: AnyFn): void;
|
67
|
+
|
68
|
+
@action
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
70
|
+
off(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn) {
|
71
|
+
try {
|
72
|
+
if (typeof targetOrMethod === 'function') {
|
73
|
+
// If we did not pass a target, default to `this`
|
74
|
+
removeListener(this, eventName, this, targetOrMethod as AnyFn);
|
75
|
+
} else {
|
76
|
+
removeListener(this, eventName, targetOrMethod as object, method);
|
77
|
+
}
|
78
|
+
} catch (e) {
|
79
|
+
console.error(e);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
@action
|
84
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
85
|
+
trigger(eventName: string, ...args: Array<any>) {
|
86
|
+
sendEvent(this, eventName, args);
|
87
|
+
}
|
88
|
+
}
|
@@ -0,0 +1,195 @@
|
|
1
|
+
import { action, set, setProperties } from '@ember/object';
|
2
|
+
import { addListener, removeListener, sendEvent } from '@ember/object/events';
|
3
|
+
import { hasListeners } from '@ember/-internals/metal';
|
4
|
+
import Service, { inject as service } from '@ember/service';
|
5
|
+
import type RouterService from '@ember/routing/router-service';
|
6
|
+
|
7
|
+
import type WebExtension from './adapters/web-extension';
|
8
|
+
import type { AnyFn } from '@ember/-internals/utility-types';
|
9
|
+
|
10
|
+
export interface ModelType {
|
11
|
+
columns: Array<{ name: string; desc: string }>;
|
12
|
+
count: number;
|
13
|
+
name: string;
|
14
|
+
objectId: string;
|
15
|
+
}
|
16
|
+
|
17
|
+
export interface RecordType {
|
18
|
+
color: string;
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
20
|
+
columnValues: any;
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
22
|
+
filterValues: any;
|
23
|
+
objectId: string;
|
24
|
+
searchIndex: number;
|
25
|
+
}
|
26
|
+
|
27
|
+
/**
|
28
|
+
* This interface is a catch-all of a bunch of things we
|
29
|
+
* pass around via messages.
|
30
|
+
*/
|
31
|
+
export interface Message {
|
32
|
+
applicationId: string;
|
33
|
+
applicationName: string;
|
34
|
+
count: number;
|
35
|
+
filters: Array<unknown>;
|
36
|
+
frameId?: string;
|
37
|
+
from: string;
|
38
|
+
index: number;
|
39
|
+
instrumentWithStack?: boolean;
|
40
|
+
modelTypes: Array<ModelType>;
|
41
|
+
name?: string;
|
42
|
+
objectId?: string;
|
43
|
+
promiseId?: string;
|
44
|
+
records: Array<RecordType>;
|
45
|
+
shouldHighlightRender?: boolean;
|
46
|
+
tabId?: number;
|
47
|
+
type: string;
|
48
|
+
unloading?: boolean;
|
49
|
+
value: string;
|
50
|
+
version?: string;
|
51
|
+
}
|
52
|
+
|
53
|
+
export default class PortService extends Service {
|
54
|
+
@service declare adapter: WebExtension;
|
55
|
+
@service declare router: RouterService;
|
56
|
+
|
57
|
+
applicationId?: string;
|
58
|
+
applicationName?: string;
|
59
|
+
detectedApplications: { [key: string]: string };
|
60
|
+
|
61
|
+
constructor() {
|
62
|
+
// eslint-disable-next-line prefer-rest-params
|
63
|
+
super(...arguments);
|
64
|
+
|
65
|
+
/*
|
66
|
+
* A dictionary of the form:
|
67
|
+
* { applicationId: applicationName }
|
68
|
+
*/
|
69
|
+
this.detectedApplications = {};
|
70
|
+
this.applicationId = undefined;
|
71
|
+
this.applicationName = undefined;
|
72
|
+
|
73
|
+
this.adapter.onMessageReceived(
|
74
|
+
(message: Message & { apps: Array<Message> }) => {
|
75
|
+
if (message.type === 'apps-loaded') {
|
76
|
+
message.apps.forEach(
|
77
|
+
({ applicationId, applicationName }: Message) => {
|
78
|
+
set(this.detectedApplications, applicationId, applicationName);
|
79
|
+
},
|
80
|
+
);
|
81
|
+
|
82
|
+
return;
|
83
|
+
}
|
84
|
+
|
85
|
+
const { applicationId, applicationName } = message;
|
86
|
+
|
87
|
+
if (!applicationId) {
|
88
|
+
return;
|
89
|
+
}
|
90
|
+
|
91
|
+
// save the application, in case we haven't seen it yet
|
92
|
+
set(this.detectedApplications, applicationId, applicationName);
|
93
|
+
|
94
|
+
if (!this.applicationId) {
|
95
|
+
this.selectApplication(applicationId);
|
96
|
+
}
|
97
|
+
|
98
|
+
if (this.applicationId === applicationId) {
|
99
|
+
if (!hasListeners(this, message.type)) {
|
100
|
+
throw new Error('unknown message type ' + message.type);
|
101
|
+
}
|
102
|
+
this.trigger(message.type, message, applicationId);
|
103
|
+
}
|
104
|
+
},
|
105
|
+
);
|
106
|
+
|
107
|
+
addListener(
|
108
|
+
this,
|
109
|
+
'view:inspectJSValue',
|
110
|
+
this,
|
111
|
+
({ name }: { name: string }) => this.adapter.inspectJSValue(name),
|
112
|
+
);
|
113
|
+
}
|
114
|
+
|
115
|
+
selectApplication(applicationId: string) {
|
116
|
+
if (
|
117
|
+
applicationId in this.detectedApplications &&
|
118
|
+
applicationId !== this.applicationId
|
119
|
+
) {
|
120
|
+
const applicationName = this.detectedApplications[
|
121
|
+
applicationId
|
122
|
+
] as string;
|
123
|
+
const currentApplication = this.applicationId;
|
124
|
+
setProperties(this, { applicationId, applicationName });
|
125
|
+
if (currentApplication) {
|
126
|
+
// this is only required when switching apps
|
127
|
+
this.router.transitionTo('app-detected');
|
128
|
+
}
|
129
|
+
this.send('app-selected', { applicationId, applicationName });
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
@action
|
134
|
+
send(type: string, message?: Partial<Message>) {
|
135
|
+
message = message || {};
|
136
|
+
message.type = type;
|
137
|
+
message.from = 'devtools';
|
138
|
+
message.applicationId = this.applicationId as string;
|
139
|
+
message.applicationName = this.applicationName as string;
|
140
|
+
this.adapter.sendMessage(message);
|
141
|
+
}
|
142
|
+
|
143
|
+
// Manually implement Evented functionality, so we can move away from the mixin
|
144
|
+
|
145
|
+
on(eventName: string, method: AnyFn): void;
|
146
|
+
on(eventName: string, target: unknown, method: AnyFn): void;
|
147
|
+
|
148
|
+
@action
|
149
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
150
|
+
on(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn): void {
|
151
|
+
if (typeof targetOrMethod === 'function') {
|
152
|
+
// If we did not pass a target, default to `this`
|
153
|
+
addListener(this, eventName, this, targetOrMethod as AnyFn);
|
154
|
+
} else {
|
155
|
+
addListener(this, eventName, targetOrMethod as object, method);
|
156
|
+
}
|
157
|
+
}
|
158
|
+
|
159
|
+
one(eventName: string, method: AnyFn): void;
|
160
|
+
one(eventName: string, target: unknown, method: AnyFn): void;
|
161
|
+
|
162
|
+
@action
|
163
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
164
|
+
one(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn) {
|
165
|
+
if (typeof targetOrMethod === 'function') {
|
166
|
+
// If we did not pass a target, default to `this`
|
167
|
+
addListener(this, eventName, this, targetOrMethod as AnyFn, true);
|
168
|
+
} else {
|
169
|
+
addListener(this, eventName, targetOrMethod as object, method, true);
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
off(eventName: string, method: AnyFn): void;
|
174
|
+
off(eventName: string, target: unknown, method: AnyFn): void;
|
175
|
+
|
176
|
+
@action
|
177
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
178
|
+
off(eventName: string, targetOrMethod: unknown | AnyFn, method?: AnyFn) {
|
179
|
+
try {
|
180
|
+
if (typeof targetOrMethod === 'function') {
|
181
|
+
// If we did not pass a target, default to `this`
|
182
|
+
removeListener(this, eventName, this, targetOrMethod as AnyFn);
|
183
|
+
} else {
|
184
|
+
removeListener(this, eventName, targetOrMethod as object, method);
|
185
|
+
}
|
186
|
+
} catch (e) {
|
187
|
+
console.error(e);
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
@action
|
192
|
+
trigger(eventName: string, ...args: Array<unknown>) {
|
193
|
+
sendEvent(this, eventName, args);
|
194
|
+
}
|
195
|
+
}
|
@@ -6,51 +6,38 @@ export let LOCAL_STORAGE_SUPPORTED = false;
|
|
6
6
|
* Service that wraps local storage. Only store strings. This
|
7
7
|
* is not intended to be used directly, use StorageServeice
|
8
8
|
* instead.
|
9
|
-
*
|
10
|
-
* @class LocalStorageService
|
11
|
-
* @extends Service
|
12
9
|
*/
|
13
10
|
export default class LocalStorageService extends Service {
|
14
11
|
/**
|
15
12
|
* Reads a stored string for a give key, if any.
|
16
13
|
*
|
17
|
-
* @method getItem
|
18
|
-
* @param {String} key
|
19
14
|
* @return {Option<String>} The value, if found
|
20
15
|
*/
|
21
|
-
getItem(key) {
|
16
|
+
getItem(key: string) {
|
22
17
|
return localStorage.getItem(key);
|
23
18
|
}
|
24
19
|
|
25
20
|
/**
|
26
21
|
* Store a string for a given key.
|
27
|
-
*
|
28
|
-
* @method setItem
|
29
|
-
* @param {String} key
|
30
|
-
* @param {String} value
|
31
22
|
*/
|
32
|
-
setItem(key, value) {
|
23
|
+
setItem(key: string, value: string) {
|
33
24
|
localStorage.setItem(key, value);
|
34
25
|
}
|
35
26
|
|
36
27
|
/**
|
37
28
|
* Deletes the stored string for a given key.
|
38
|
-
*
|
39
|
-
* @method removeItem
|
40
|
-
* @param {String} key
|
41
29
|
*/
|
42
|
-
removeItem(key) {
|
30
|
+
removeItem(key: string) {
|
43
31
|
localStorage.removeItem(key);
|
44
32
|
}
|
45
33
|
|
46
34
|
/**
|
47
35
|
* Returns the list of stored keys.
|
48
36
|
*
|
49
|
-
* @
|
50
|
-
* @return {Array<String>} The array of keys
|
37
|
+
* @return The array of keys
|
51
38
|
*/
|
52
39
|
keys() {
|
53
|
-
|
40
|
+
const keys = [];
|
54
41
|
for (let i = 0; i < localStorage.length; i++) {
|
55
42
|
keys.push(localStorage.key(i));
|
56
43
|
}
|
@@ -61,12 +48,12 @@ export default class LocalStorageService extends Service {
|
|
61
48
|
try {
|
62
49
|
localStorage.setItem('test', 'testing');
|
63
50
|
LOCAL_STORAGE_SUPPORTED = localStorage.getItem('test') === 'testing';
|
64
|
-
} catch
|
51
|
+
} catch {
|
65
52
|
// ignore
|
66
53
|
} finally {
|
67
54
|
try {
|
68
55
|
localStorage.removeItem('test');
|
69
|
-
} catch
|
56
|
+
} catch {
|
70
57
|
// ignore
|
71
58
|
}
|
72
59
|
}
|
@@ -4,29 +4,22 @@ import Service from '@ember/service';
|
|
4
4
|
* Service that wraps an in-memory object with the same APIs as
|
5
5
|
* the LocalStorageService, usually as a fallback. Only store
|
6
6
|
* strings. This is not intended to be used directly, use
|
7
|
-
*
|
8
|
-
*
|
9
|
-
* @class MemoryStorageService
|
10
|
-
* @extends Service
|
7
|
+
* StorageService instead.
|
11
8
|
*/
|
12
9
|
export default class MemoryStorageService extends Service {
|
13
10
|
/**
|
14
11
|
* Where data is stored.
|
15
12
|
*
|
16
|
-
* @property store
|
17
|
-
* @type {Object}
|
18
13
|
* @private
|
19
14
|
*/
|
20
|
-
store = Object.create(null)
|
15
|
+
store = Object.create(null) as Record<string, unknown>;
|
21
16
|
|
22
17
|
/**
|
23
18
|
* Reads a stored string for a give key, if any.
|
24
19
|
*
|
25
|
-
* @method getItem
|
26
|
-
* @param {String} key
|
27
20
|
* @return {Option<String>} The value, if found
|
28
21
|
*/
|
29
|
-
getItem(key) {
|
22
|
+
getItem(key: keyof object) {
|
30
23
|
if (key in this.store) {
|
31
24
|
return this.store[key];
|
32
25
|
} else {
|
@@ -36,30 +29,22 @@ export default class MemoryStorageService extends Service {
|
|
36
29
|
|
37
30
|
/**
|
38
31
|
* Store a string for a given key.
|
39
|
-
*
|
40
|
-
* @method setItem
|
41
|
-
* @param {String} key
|
42
|
-
* @param {String} value
|
43
32
|
*/
|
44
|
-
setItem(key, value) {
|
33
|
+
setItem(key: keyof object, value: unknown) {
|
45
34
|
this.store[key] = value;
|
46
35
|
}
|
47
36
|
|
48
37
|
/**
|
49
38
|
* Deletes the stored string for a given key.
|
50
|
-
*
|
51
|
-
* @method removeItem
|
52
|
-
* @param {String} key
|
53
39
|
*/
|
54
|
-
removeItem(key) {
|
40
|
+
removeItem(key: keyof object) {
|
55
41
|
delete this.store[key];
|
56
42
|
}
|
57
43
|
|
58
44
|
/**
|
59
45
|
* Returns the list of stored keys.
|
60
46
|
*
|
61
|
-
* @
|
62
|
-
* @return {Array<String>} The array of keys
|
47
|
+
* @return The array of keys
|
63
48
|
*/
|
64
49
|
keys() {
|
65
50
|
return Object.keys(this.store);
|
@@ -1,67 +1,56 @@
|
|
1
1
|
import Service, { inject as service } from '@ember/service';
|
2
2
|
import { LOCAL_STORAGE_SUPPORTED } from './storage/local';
|
3
|
+
import type LocalStorageService from './storage/local';
|
4
|
+
import type MemoryStorageService from './storage/memory';
|
3
5
|
|
4
6
|
/**
|
5
7
|
* Service that wraps either the LocalStorageService or
|
6
8
|
* MemoryStorageService (depending on availability) and
|
7
9
|
* provide support for storing (JSON-serializable) objects
|
8
10
|
* on top of the lower level backends.
|
9
|
-
*
|
10
|
-
* @class StorageService
|
11
|
-
* @extends Service
|
12
11
|
*/
|
13
12
|
export default class StorageService extends Service {
|
14
13
|
@service(LOCAL_STORAGE_SUPPORTED ? 'storage/local' : 'storage/memory')
|
15
|
-
backend;
|
14
|
+
declare backend: LocalStorageService | MemoryStorageService;
|
16
15
|
|
17
16
|
/**
|
18
17
|
* Reads a stored object for a give key, if any.
|
19
18
|
*
|
20
|
-
* @method getItem
|
21
|
-
* @param {String} key
|
22
19
|
* @return {Option<String>} The value, if found
|
23
20
|
*/
|
24
|
-
getItem(key) {
|
25
|
-
|
21
|
+
getItem(key: keyof object) {
|
22
|
+
const serialized = this.backend.getItem(key);
|
26
23
|
|
27
24
|
if (serialized === null) {
|
28
25
|
// Actual `null` values would have been serialized as `"null"`
|
29
26
|
return undefined;
|
30
27
|
} else {
|
31
|
-
return JSON.parse(serialized);
|
28
|
+
return JSON.parse(serialized as string) as string;
|
32
29
|
}
|
33
30
|
}
|
34
31
|
|
35
32
|
/**
|
36
33
|
* Store a string for a given key.
|
37
|
-
*
|
38
|
-
* @method setItem
|
39
|
-
* @param {String} key
|
40
|
-
* @param {String} value
|
41
34
|
*/
|
42
|
-
setItem(key, value) {
|
35
|
+
setItem(key: keyof object, value: string) {
|
43
36
|
if (value === undefined) {
|
44
37
|
this.removeItem(key);
|
45
38
|
} else {
|
46
|
-
|
39
|
+
const serialized = JSON.stringify(value);
|
47
40
|
this.backend.setItem(key, serialized);
|
48
41
|
}
|
49
42
|
}
|
50
43
|
|
51
44
|
/**
|
52
45
|
* Deletes the stored string for a given key.
|
53
|
-
*
|
54
|
-
* @method removeItem
|
55
|
-
* @param {String} key
|
56
46
|
*/
|
57
|
-
removeItem(key) {
|
47
|
+
removeItem(key: keyof object) {
|
58
48
|
this.backend.removeItem(key);
|
59
49
|
}
|
60
50
|
|
61
51
|
/**
|
62
52
|
* Returns the list of stored keys.
|
63
53
|
*
|
64
|
-
* @method keys
|
65
54
|
* @return {Array<String>} The array of keys
|
66
55
|
*/
|
67
56
|
keys() {
|
package/app/styles/base.scss
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
:root {
|
2
2
|
/* stylelint-disable value-keyword-case */
|
3
|
-
--font-sans-serif: "Inter", -apple-system, system-ui, BlinkMacSystemFont,
|
4
|
-
|
3
|
+
--font-sans-serif: "Inter", -apple-system, system-ui, BlinkMacSystemFont,
|
4
|
+
"Segoe UI", "Roboto", "Cantarell", "Oxygen", "Ubuntu", "Helvetica Neue",
|
5
|
+
helvetica, arial, sans-serif;
|
6
|
+
--font-monospace: "SF Mono", Menlo, Monaco, monospace;
|
5
7
|
/* stylelint-enable value-keyword-case */
|
6
8
|
--inherit: inherit;
|
7
9
|
--unit0: 0;
|
package/app/styles/colors.scss
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
.theme
|
1
|
+
.theme-light {
|
2
2
|
// Base
|
3
3
|
--base00: #ffffff;
|
4
4
|
--base01: #f3f3f3;
|
@@ -16,12 +16,13 @@
|
|
16
16
|
--base13: #404040;
|
17
17
|
--base14: #333333;
|
18
18
|
--base15: #222222;
|
19
|
+
|
19
20
|
// Spec
|
20
21
|
--spec00: #fffec2;
|
21
22
|
--spec01: #ff0000;
|
22
23
|
--spec02: #990000;
|
23
24
|
--spec03: #000099;
|
24
|
-
--spec04: #
|
25
|
+
--spec04: #3f81ee;
|
25
26
|
--spec05: #7c027c;
|
26
27
|
--spec06: #ecf1fa;
|
27
28
|
--spec07: #cd61a7;
|
@@ -30,58 +31,59 @@
|
|
30
31
|
--white: #ffffff;
|
31
32
|
--inherit: inherit;
|
32
33
|
--transparent: transparent;
|
33
|
-
--focus: #
|
34
|
+
--focus: #3f81ee;
|
34
35
|
--focus-text: var(--white);
|
35
|
-
--component-name: #
|
36
|
-
--component-brackets-selected:
|
37
|
-
--component-attr: #
|
38
|
-
--component-highlighted-bg: #
|
39
|
-
--pill-bg:
|
40
|
-
--pill-bg-active:
|
36
|
+
--component-name: #1171e8;
|
37
|
+
--component-brackets-selected: rgb(255 255 255 / 40%);
|
38
|
+
--component-attr: #db00a9;
|
39
|
+
--component-highlighted-bg: #f2f2f3;
|
40
|
+
--pill-bg: rgb(0 0 0 / 10%);
|
41
|
+
--pill-bg-active: rgb(255 255 255 / 30%);
|
41
42
|
--warning-text: #735c0f;
|
42
43
|
--tracked-icon-bg: var(--spec03);
|
43
44
|
}
|
44
45
|
|
45
|
-
.theme
|
46
|
+
.theme-dark {
|
46
47
|
// Base
|
47
48
|
--base00: #242424;
|
48
49
|
--base01: #242424;
|
49
50
|
--base02: #121212;
|
50
51
|
--base03: #292929;
|
51
|
-
--base04: #
|
52
|
+
--base04: #2e2e2e;
|
52
53
|
--base05: #353535;
|
53
|
-
--base06: #
|
54
|
-
--base07: #
|
54
|
+
--base06: #4c4c4c;
|
55
|
+
--base07: #5c5c5c;
|
55
56
|
--base08: #777777;
|
56
57
|
--base09: #888888;
|
57
|
-
--base10: #
|
58
|
+
--base10: #8c8c8c;
|
58
59
|
--base11: #989898;
|
59
|
-
--base12: #
|
60
|
-
--base13: #
|
61
|
-
--base14: #
|
62
|
-
--base15: #
|
60
|
+
--base12: #aaaaaa;
|
61
|
+
--base13: #bfbfbf;
|
62
|
+
--base14: #cccccc;
|
63
|
+
--base15: #dddddd;
|
64
|
+
|
63
65
|
// Spec
|
64
|
-
--spec00: #
|
65
|
-
--spec01: #
|
66
|
-
--spec02: #
|
67
|
-
--spec03: #
|
68
|
-
--spec04: #
|
69
|
-
--spec05: #
|
70
|
-
--spec06: #
|
66
|
+
--spec00: #00013d;
|
67
|
+
--spec01: #00ffff;
|
68
|
+
--spec02: #66ffff;
|
69
|
+
--spec03: #ffff66;
|
70
|
+
--spec04: #c07e11;
|
71
|
+
--spec05: #83fd83;
|
72
|
+
--spec06: #130e05;
|
71
73
|
--spec07: #cd61a7;
|
72
74
|
--spec08: #7fb56d;
|
73
75
|
--spec09: #328509;
|
74
76
|
--white: #ffffff;
|
75
77
|
--inherit: inherit;
|
76
78
|
--transparent: transparent;
|
77
|
-
--focus: #
|
79
|
+
--focus: #2270ec;
|
78
80
|
--focus-text: var(--white);
|
79
|
-
--component-name: #
|
80
|
-
--component-brackets-selected:
|
81
|
-
--component-attr: #
|
81
|
+
--component-name: #77beff;
|
82
|
+
--component-brackets-selected: rgb(255 255 255 / 40%);
|
83
|
+
--component-attr: #fe7ae9;
|
82
84
|
--component-highlighted-bg: #333333;
|
83
|
-
--pill-bg:
|
84
|
-
--pill-bg-active:
|
85
|
+
--pill-bg: rgb(255 255 255 / 20%);
|
86
|
+
--pill-bg-active: rgb(255 255 255 / 30%);
|
85
87
|
--warning-text: #8ca3f0;
|
86
88
|
--tracked-icon-bg: #5e5eb5;
|
87
89
|
}
|