diff --git a/.claude/skills/gts-component-conventions/SKILL.md b/.claude/skills/gts-component-conventions/SKILL.md index 2226540b772..4510aa9f239 100644 --- a/.claude/skills/gts-component-conventions/SKILL.md +++ b/.claude/skills/gts-component-conventions/SKILL.md @@ -49,7 +49,7 @@ box-shadow: 0 0 0 0.125rem var(--c); /* was 2px */ ### 3. Save hardcoded colors as CSS variables -Never ship a raw hex/rgb in a component. If a color recurs across components, promote it to a shared token in `packages/boxel-ui/addon/src/styles/variables.css`; if it's truly local, define a component-scoped custom property. Falling back to another variable is fine (`var(--token, var(--other))`); a hardcoded literal fallback is not. +Never ship a raw hex/rgb in a component. If a color recurs across components, promote it to a shared token in `packages/boxel-ui/src/styles/variables.css`; if it's truly local, define a component-scoped custom property. Falling back to another variable is fine (`var(--token, var(--other))`); a hardcoded literal fallback is not. Reuse an existing semantic token before inventing a new one, and **name tokens by role, not by hue**. A color named for its appearance (`--boxel-teal-ink`, `--boxel-dark-teal`) is a palette primitive; a color named for its job (`--boxel-highlight`, `--boxel-highlight-hover`) is what components should reference. diff --git a/.github/workflows/ci-host.yaml b/.github/workflows/ci-host.yaml index 8fa3dd48412..73e2b56457d 100644 --- a/.github/workflows/ci-host.yaml +++ b/.github/workflows/ci-host.yaml @@ -385,7 +385,7 @@ jobs: # The env-mode host dist (with realm-server.ci.localhost URLs # baked in by environment.js) is built once in test-web-assets and # downloaded here, avoiding a per-shard rebuild. The artifact - # bundles boxel-icons/dist, boxel-ui/addon/dist, packages/host/dist, + # bundles boxel-icons/dist, boxel-ui/dist, packages/host/dist, # and the build manifest. - name: Download test web assets uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 diff --git a/.github/workflows/ci-lint.yaml b/.github/workflows/ci-lint.yaml index 4f818f72a6f..72941a54fbb 100644 --- a/.github/workflows/ci-lint.yaml +++ b/.github/workflows/ci-lint.yaml @@ -51,7 +51,7 @@ jobs: - name: Lint Boxel UI if: ${{ !cancelled() }} run: pnpm run lint - working-directory: packages/boxel-ui/addon + working-directory: packages/boxel-ui - name: Lint Host # Runs BEFORE Build Boxel UI so host type-checks against the Boxel UI # source, exactly as local development does (declarations/ is never @@ -68,11 +68,11 @@ jobs: # To faciliate linting of projects that depend on Boxel UI if: ${{ !cancelled() }} run: pnpm run build - working-directory: packages/boxel-ui/addon + working-directory: packages/boxel-ui - name: Lint Boxel UI Test App if: ${{ !cancelled() }} run: pnpm run lint - working-directory: packages/boxel-ui/test-app + working-directory: packages/boxel-ui/docs-app - name: Lint Matrix if: ${{ !cancelled() }} run: pnpm run lint diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a4e0d0e2743..a99acf4b152 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -103,6 +103,7 @@ jobs: - *shared - 'packages/boxel-icons/**' - 'packages/boxel-ui/**' + - 'packages/boxel-ui/docs-app/**' matrix: - *shared - 'packages/base/**' @@ -340,7 +341,10 @@ jobs: SKIP_ICONS_BUILD: ${{ steps.icons-cache.outputs.cache-hit }} - name: Run test suite run: pnpm test - working-directory: packages/boxel-ui/test-app + working-directory: packages/boxel-ui + - name: Run docs app test suite + run: pnpm test + working-directory: packages/boxel-ui/docs-app boxel-ui-raw-icon-changes-only: name: Boxel UI ensure raw icon changes only @@ -355,7 +359,7 @@ jobs: - uses: ./.github/actions/init - name: Rebuild boxel-ui icons run: pnpm rebuild:icons - working-directory: packages/boxel-ui/addon + working-directory: packages/boxel-ui - name: Fail if generated icons have been changed without underlying raw icon changing run: git diff --exit-code @@ -850,7 +854,7 @@ jobs: working-directory: packages/boxel-icons - name: Build Boxel UI run: pnpm run build - working-directory: packages/boxel-ui/addon + working-directory: packages/boxel-ui - name: Build host dist run: pnpm build working-directory: packages/host diff --git a/.github/workflows/test-web-assets.yaml b/.github/workflows/test-web-assets.yaml index 80dc0158eaf..f518f6e4e1c 100644 --- a/.github/workflows/test-web-assets.yaml +++ b/.github/workflows/test-web-assets.yaml @@ -75,7 +75,7 @@ jobs: key: ${{ steps.keys.outputs.cache_key }} path: | packages/boxel-icons/dist - packages/boxel-ui/addon/dist + packages/boxel-ui/dist packages/host/dist .ci/test-web-assets/manifest.json @@ -133,7 +133,7 @@ jobs: key: ${{ steps.keys.outputs.cache_key }} path: | packages/boxel-icons/dist - packages/boxel-ui/addon/dist + packages/boxel-ui/dist packages/host/dist .ci/test-web-assets/manifest.json @@ -143,7 +143,7 @@ jobs: name: ${{ steps.keys.outputs.artifact_name }} path: | packages/boxel-icons/dist - packages/boxel-ui/addon/dist + packages/boxel-ui/dist packages/host/dist .ci/test-web-assets/manifest.json retention-days: 7 diff --git a/AGENTS.md b/AGENTS.md index 86a7eb2c88a..2ea0ca1e086 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -52,13 +52,13 @@ - No tests -### packages/boxel-ui/addon, packages/boxel-ui/test-app +### packages/boxel-ui, packages/boxel-ui/docs-app - Addon functionality is tested via sibling test-app directory -- `cd packages/boxel-ui/addon && pnpm start` to start a process that will watch files and automatically rebuild the addon -- `cd packages/boxel-ui/test-app && pnpm start` to start a process that will watch files and automatically rebuild the test-app +- `cd packages/boxel-ui && pnpm start` to start a process that will watch files and automatically rebuild the addon +- `cd packages/boxel-ui/docs-app && pnpm start` to start a process that will watch files and automatically rebuild the test-app - Run all tests - `cd packages/boxel-ui/test-app && ember test --path dist` + `cd packages/boxel-ui/docs-app && ember test --path dist` - To run a subset of the tests: `ember test --path dist --filter "some text that appears in module name or test name"` Note that the filter is matched against the module name and test name, not the file name! Try to avoid using pipe characters in the filter, since they can confuse auto-approval tool use filters set up by the user. @@ -92,7 +92,7 @@ #### CSS Guidance - Use scalable units such as rem -- Use CSS variables from packages/boxel-ui/addon/src/styles/variables.css +- Use CSS variables from packages/boxel-ui/src/styles/variables.css #### Iterating on host tests with the Chrome MCP server diff --git a/QUICKSTART.md b/QUICKSTART.md index 8ec2437d486..360b9ad8f97 100644 --- a/QUICKSTART.md +++ b/QUICKSTART.md @@ -30,7 +30,7 @@ To build the entire repository and run the application, follow these steps: 4. Build the boxel-ui addon: ```zsh - cd ./packages/boxel-ui/addon + cd ./packages/boxel-ui pnpm rebuild:icons pnpm build ``` diff --git a/README.md b/README.md index 67e00c48756..3643938718e 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ For a quickstart, see [here](./QUICKSTART.md) `packages/realm-server` is a node app that serves the realm as an HTTP server, as well as, it can also host the runtime application for its own realm. -`packages/boxel-ui/addon` is the UI components Ember addon +`packages/boxel-ui` is the UI components Ember addon -`packages/boxel-ui/test-app` is the test suite and component explorer for boxel-ui, deployed at [boxel-ui.stack.cards](https://boxel-ui.stack.cards) +`packages/boxel-ui/docs-app` is the test suite and component explorer for boxel-ui, deployed at [boxel-ui.stack.cards](https://boxel-ui.stack.cards) `packages/matrix` is the docker container for running the matrix server: synapse, as well as tests that involve running a matrix client. @@ -109,7 +109,7 @@ Make sure that you have created a matrix user for the base and experiments realm In order to run the ember-cli hosted app: -1. `pnpm build` in the boxel-ui/addon workspace to build the boxel-ui addon. +1. `pnpm build` in the boxel-ui workspace to build the boxel-ui addon. 2. `pnpm start` in the host/ workspace to serve the ember app. 3. `mise run dev` from the repo root to serve the base and experiments realms -- this will also allow you to switch between the app and the tests without having to restart servers). This expects the Ember application to be running at `https://localhost:4200`, if you’re running it elsewhere you can specify it with `HOST_URL=http://localhost:5200 mise run dev`. @@ -525,7 +525,7 @@ Matrix requires an SMTP server in order to send emails. In order to facilitate t There is a ember-freestyle component explorer available to assist with development. In order to run the freestyle app: -1. `cd packages/boxel-ui/test-app` +1. `cd packages/boxel-ui/docs-app` 2. `pnpm start` 3. Visit http://localhost:4220/ in your browser @@ -652,7 +652,7 @@ To run the `packages/realm-server/` workspace tests start: ### Boxel UI -1. `cd packages/boxel-ui/test-app` +1. `cd packages/boxel-ui/docs-app` 2. `pnpm test` (or `pnpm start` and visit http://localhost:4220/tests to run tests in the browser) ### Matrix tests diff --git a/docs/spec.md b/docs/spec.md index c947f67f6a0..8d482841305 100644 --- a/docs/spec.md +++ b/docs/spec.md @@ -8,8 +8,8 @@ At its core, a Spec links to an exported definition in modules via **Code Ref** ```typescript { - module: string; // Path to the module file (e.g., './my-component.gts') - name: string; // Export name (e.g., 'MyComponent') + module: string; // Path to the module file (e.g., './my-component.gts') + name: string; // Export name (e.g., 'MyComponent') } ``` @@ -18,21 +18,21 @@ When a module is edited (for example, if a definition is renamed), the spec migh ## Why We Need Specs - **Search for instance creation** - Enable discovery and instantiation of available components. Code refs are not searchable unless wrapped inside a card instance (a spec) which is then indexed and can benefit from all search capabilities. This makes field definitions searchable as well. -- **Packaging of listings** - Code packaging in bundles occurs via linksToMany specs. The installation process looks for modules and code refs to copy during installation. +- **Packaging of listings** - Code packaging in bundles occurs via linksToMany specs. The installation process looks for modules and code refs to copy during installation. - **Link to examples** - Provide interactive demonstrations and usage patterns - **Documentation for code** - Maintain up-to-date, validated documentation connected to implementation ## Different Spec Types -Code categorization is endless, so we focus on a subset of exported code that interests us within the Boxel ecosystem. +Code categorization is endless, so we focus on a subset of exported code that interests us within the Boxel ecosystem. The Boxel ecosystem supports five distinct spec types: -- **`card`** -- **`field`** -- **`component`** -- **`app`** -- **`command`** +- **`card`** +- **`field`** +- **`component`** +- **`app`** +- **`command`** Each spec type has specific characteristics and use cases: @@ -41,12 +41,14 @@ Each spec type has specific characteristics and use cases: **Purpose**: Document card definitions - the ultimate sharing unit of the Boxel ecosystem. **Characteristics**: + - Can have multiple view templates (isolated, fitted, embedded, edit) - Often contain fields and computed properties - May extend other cards through inheritance -- Support `linkedExamples` +- Support `linkedExamples` **Example Use Cases**: + - `Author` - Author profile card with bio and social links - `Contact` - Contact information card for CRM systems - `BlogPost` - Blog post card with content and metadata @@ -57,12 +59,14 @@ Each spec type has specific characteristics and use cases: **Purpose**: Document field definitions used within cards. **Characteristics**: + - Only support `containedExamples` (embedded within the spec) - May be primitive (string, number, boolean) or composite -- TBD: display of primitive contained examples +- TBD: display of primitive contained examples - May extend other fields through inheritance **Example Use Cases**: + - `SocialMediaLink` - Composite field for social platform data - `MaybeBase64Field` - String field with base64 encoding capabilities - `TextAreaField` - Multi-line text input field @@ -73,12 +77,14 @@ Each spec type has specific characteristics and use cases: **Purpose**: Document reusable UI components that don't represent data, so AI agents and developers can discover them by searching the catalog instead of needing a per-component skill. **Characteristics**: + - Only when it extends Glimmer Component - Potentially includes reactive data loading resources from ember-resources - API documentation, an example, and CSS variables live in the `readMe` markdown field - `cardDescription` is the keyword-rich one-liner the agent matches against — keep it concrete (e.g. "Form text input with validation states") rather than abstract **Example Use Cases**: + - `CardsGrid` - Responsive grid layout component for card collections - `FilterDropdown` - Multi-select dropdown component for filtering - `Pill` - Badge component for displaying tags and statuses @@ -87,7 +93,7 @@ Each spec type has specific characteristics and use cases: #### Boxel-UI Component Specs All `@cardstack/boxel-ui` components ship a generated Spec card. The -generator (`packages/boxel-ui/addon/bin/generate-component-specs.mjs`) +generator (`packages/boxel-ui/bin/generate-component-specs.mjs`) walks each component's `usage.gts` file, extracts the `FreestyleUsage` metadata (arguments, description, example, CSS variables), and emits a Spec JSON with: @@ -116,7 +122,7 @@ the deployed commit. `` block has a `@description='…'` attribute and complete `` documentation. 2. (Optional, but recommended) Run - `pnpm --dir packages/boxel-ui/addon generate:component-specs` locally + `pnpm --dir packages/boxel-ui generate:component-specs` locally to inspect the resulting spec content and have your local realm-server reindex it. Requires `pnpm --dir packages/catalog catalog:setup` to have run at least @@ -150,12 +156,14 @@ the deployed commit. **Purpose**: Document application-level cards that serve as entry points, typically when other cards are queried within them. **Characteristics**: -- Extends AppCard which displays in a wide view -- Often contain more than one query -- Often use navigation components like tabs or sidebars -- Support `linkedExamples` + +- Extends AppCard which displays in a wide view +- Often contain more than one query +- Often use navigation components like tabs or sidebars +- Support `linkedExamples` **Example Use Cases**: + - `BlogApp` - Blog content management system - `PreschoolCRMApp` - Customer relationship management for preschools - `SprintPlanner` - Sprint planning applications @@ -165,11 +173,13 @@ the deployed commit. **Purpose**: Document executable commands within the system. **Characteristics**: -- Represent actions within a command palette + +- Represent actions within a command palette - Imperative code that doesn't depend on data loading in a component -- Have access to host code via boxel-host commands +- Have access to host code via boxel-host commands **Example Use Cases**: + - `GenerateReadmeSpecCommand` - Generate documentation for spec cards - `SearchCardsByQueryCommand` - Advanced card search with filtering - `PatchCardInstanceCommand` - Update card instance data diff --git a/eslint/data-test-selectors.cjs b/eslint/data-test-selectors.cjs index 59308f36eae..773070e2400 100644 --- a/eslint/data-test-selectors.cjs +++ b/eslint/data-test-selectors.cjs @@ -9,7 +9,7 @@ // plain `data-*` attribute for things you actually select on. // // Shared by the root `.eslintrc.js` and by packages whose own config is -// `root: true` (e.g. `packages/host`, `packages/boxel-ui/addon`), which do not +// `root: true` (e.g. `packages/host`, `packages/boxel-ui`), which do not // inherit the root config and so must re-declare these selectors themselves. const DATA_TEST_MESSAGE = "Don't select on `data-test-*`: it's a test-only attribute (host builds strip it in production; card code keeps it but coupling to a test hook is fragile). Use a plain `data-*` attribute (e.g. `[data-foo]`) for functional selectors."; diff --git a/mise-tasks/build/ui b/mise-tasks/build/ui index fe6717b134c..044cd6573cb 100755 --- a/mise-tasks/build/ui +++ b/mise-tasks/build/ui @@ -9,4 +9,4 @@ else pnpm --dir packages/boxel-icons build fi -pnpm --dir packages/boxel-ui/addon build +pnpm --dir packages/boxel-ui build diff --git a/mise-tasks/build/worktree-types b/mise-tasks/build/worktree-types index c37dc4eea46..d014816f553 100755 --- a/mise-tasks/build/worktree-types +++ b/mise-tasks/build/worktree-types @@ -7,6 +7,6 @@ echo "Building @cardstack/boxel-icons..." pnpm --dir packages/boxel-icons build echo "Building @cardstack/boxel-ui (includes type declarations)..." -pnpm --dir packages/boxel-ui/addon build +pnpm --dir packages/boxel-ui build echo "Done — worktree type declarations are ready for pnpm lint" diff --git a/package.json b/package.json index 7628aea8ed6..cbada754e99 100644 --- a/package.json +++ b/package.json @@ -6,14 +6,14 @@ }, "scripts": { "build:boxel-host": "pnpm run build-common-deps && cd packages/host && NODE_OPTIONS='--max_old_space_size=8192' pnpm build:production", - "build-common-deps": "cd packages/boxel-icons && pnpm build && cd ../.. && cd packages/boxel-ui/addon && pnpm build && cd ../../..", + "build-common-deps": "cd packages/boxel-icons && pnpm build && cd ../.. && cd packages/boxel-ui && pnpm build && cd ../../..", "ci:failures": "node ./scripts/ci-failures.js", "clear-caches": "find . -name 'node_modules' -type d -prune -exec rm -rf {} \\; && rm -rf $TMPDIR/embroider", "deploy:boxel-host": "pnpm run build-common-deps && cd packages/host && BASE_REALM_HOSTING_DISABLED=true NODE_OPTIONS='--max_old_space_size=8192' pnpm exec ember deploy", "deploy:boxel-host:preview-staging": "pnpm run build-common-deps && cd packages/host && BASE_REALM_HOSTING_DISABLED=true NODE_OPTIONS='--max_old_space_size=8192' pnpm exec ember deploy s3-preview-staging --verbose", "deploy:boxel-host:preview-production": "pnpm run build-common-deps && cd packages/host && BASE_REALM_HOSTING_DISABLED=true NODE_OPTIONS='--max_old_space_size=8192' pnpm exec ember deploy s3-preview-production --verbose", - "deploy:boxel-ui": "pnpm run build-common-deps && cd packages/boxel-ui/test-app && pnpm exec ember deploy", - "deploy:boxel-ui:preview-staging": "pnpm run build-common-deps && cd packages/boxel-ui/test-app && pnpm exec ember deploy s3-preview-staging --verbose", + "deploy:boxel-ui": "pnpm run build-common-deps && cd packages/boxel-ui/docs-app && pnpm exec ember deploy", + "deploy:boxel-ui:preview-staging": "pnpm run build-common-deps && cd packages/boxel-ui/docs-app && pnpm exec ember deploy s3-preview-staging --verbose", "lint": "pnpm run --filter './packages/**' --if-present -r lint", "lint:fix": "pnpm run --filter './packages/**' --if-present -r lint:fix", "openrouter:sync": "OPENROUTER_REALM_URL=${OPENROUTER_REALM_URL:-https://localhost:4201/openrouter/} pnpm --filter @cardstack/realm-server sync-openrouter-models", diff --git a/packages/ai-bot/tsconfig.json b/packages/ai-bot/tsconfig.json index ccb4a718482..afb478733af 100644 --- a/packages/ai-bot/tsconfig.json +++ b/packages/ai-bot/tsconfig.json @@ -38,8 +38,8 @@ "../base/*.d.ts", "../base/*" ], - "@cardstack/boxel-ui": ["../boxel-ui/addon"], - "@cardstack/boxel-ui/*": ["../boxel-ui/addon/*"] + "@cardstack/boxel-ui": ["../boxel-ui"], + "@cardstack/boxel-ui/*": ["../boxel-ui/*"] }, "types": ["@cardstack/local-types"] }, diff --git a/packages/base/tsconfig.json b/packages/base/tsconfig.json index 199fb40aec9..d71e0728fdf 100644 --- a/packages/base/tsconfig.json +++ b/packages/base/tsconfig.json @@ -22,8 +22,8 @@ "strict": true, "experimentalDecorators": true, "paths": { - "@cardstack/boxel-ui": ["../boxel-ui/addon/declarations"], - "@cardstack/boxel-ui/*": ["../boxel-ui/addon/declarations/*"], + "@cardstack/boxel-ui": ["../boxel-ui/declarations"], + "@cardstack/boxel-ui/*": ["../boxel-ui/declarations/*"], "@cardstack/boxel-host/tools/*": ["../host/app/tools/*"], "@cardstack/boxel-host/commands/*": ["../host/app/tools/*"] } diff --git a/packages/billing/tsconfig.json b/packages/billing/tsconfig.json index 831640ae855..70917b00a0b 100644 --- a/packages/billing/tsconfig.json +++ b/packages/billing/tsconfig.json @@ -38,8 +38,8 @@ "../base/*.d.ts", "../base/*" ], - "@cardstack/boxel-ui": ["../boxel-ui/addon"], - "@cardstack/boxel-ui/*": ["../boxel-ui/addon/*"], + "@cardstack/boxel-ui": ["../boxel-ui"], + "@cardstack/boxel-ui/*": ["../boxel-ui/*"], "*": ["types/*"] }, "types": ["@cardstack/local-types"] diff --git a/packages/bot-runner/tsconfig.json b/packages/bot-runner/tsconfig.json index e41992140ec..ecdf9ed0283 100644 --- a/packages/bot-runner/tsconfig.json +++ b/packages/bot-runner/tsconfig.json @@ -38,8 +38,8 @@ "../base/*.d.ts", "../base/*" ], - "@cardstack/boxel-ui": ["../boxel-ui/addon"], - "@cardstack/boxel-ui/*": ["../boxel-ui/addon/*"], + "@cardstack/boxel-ui": ["../boxel-ui"], + "@cardstack/boxel-ui/*": ["../boxel-ui/*"], "@cardstack/runtime-common": ["../runtime-common"], "@cardstack/runtime-common/*": ["../runtime-common/*"], "@cardstack/postgres": ["../postgres"], diff --git a/packages/boxel-cli/plugin/skills/boxel-patterns/patterns/layout-kanban-drag-drop/README.md b/packages/boxel-cli/plugin/skills/boxel-patterns/patterns/layout-kanban-drag-drop/README.md index 781291da475..6922cebbb37 100644 --- a/packages/boxel-cli/plugin/skills/boxel-patterns/patterns/layout-kanban-drag-drop/README.md +++ b/packages/boxel-cli/plugin/skills/boxel-patterns/patterns/layout-kanban-drag-drop/README.md @@ -38,7 +38,7 @@ validated: source-proven - The older `DndKanbanBoard` / `DndColumn` component exists for legacy CRM/sprint-planner code. New work should use `KanbanPlane`. **Source:** -- boxel monorepo: `packages/boxel-ui/addon/src/components/kanban/*` — reusable component implementation. +- boxel monorepo: `packages/boxel-ui/src/components/kanban/*` — reusable component implementation. - boxel monorepo: `packages/software-factory/realm/kanban-board.gts` — board CardDef integration. - boxel monorepo: `packages/software-factory/realm/issue-tracker.gts` — domain integration. - Commit `2aee5d30ce` - `Add kanban board components to boxel-ui (#4562)`. diff --git a/packages/boxel-cli/plugin/skills/boxel-theme-development/references/shadcn-boxel-token-mapping.md b/packages/boxel-cli/plugin/skills/boxel-theme-development/references/shadcn-boxel-token-mapping.md index 03cfb289e04..3eb796c78a2 100644 --- a/packages/boxel-cli/plugin/skills/boxel-theme-development/references/shadcn-boxel-token-mapping.md +++ b/packages/boxel-cli/plugin/skills/boxel-theme-development/references/shadcn-boxel-token-mapping.md @@ -9,8 +9,8 @@ Boxel runtime convention: `CardContainer` maps the theme's semantic tokens into Sources to re-check when this model changes: - Official shadcn theming docs: `https://ui.shadcn.com/docs/theming` -- Boxel card container mapping: `packages/boxel-ui/addon/src/components/card-container/index.gts` -- Boxel button, input, dropdown, tooltip, pill, icon-button, and progress components under `packages/boxel-ui/addon/src/components/` +- Boxel card container mapping: `packages/boxel-ui/src/components/card-container/index.gts` +- Boxel button, input, dropdown, tooltip, pill, icon-button, and progress components under `packages/boxel-ui/src/components/` - Structured theme variable descriptions: `packages/base/structured-theme-variables.gts` ## Hard Rules diff --git a/packages/boxel-cli/plugin/skills/boxel-ui-guidelines/references/delegated-render-control.md b/packages/boxel-cli/plugin/skills/boxel-ui-guidelines/references/delegated-render-control.md index 6efcf9473d9..408d5d53db6 100644 --- a/packages/boxel-cli/plugin/skills/boxel-ui-guidelines/references/delegated-render-control.md +++ b/packages/boxel-cli/plugin/skills/boxel-ui-guidelines/references/delegated-render-control.md @@ -2,7 +2,7 @@ When a parent card renders a linked or compound field via `<@fields.X @format='...' />`, the host wraps the child render in chrome you didn't write. Default chrome looks like "shadcn neutral card": rounded corners, soft border, white-ish background, `overflow: hidden`, padding for atoms. If your parent's design language disagrees (Row & Rail wants `--radius: 0` and editorial sharp corners), the chrome fights it. -This file documents EXACTLY what the host injects and EXACTLY how the parent overrides it. Source: `~/Projects/boxel/packages/base/field-component.gts` + `~/Projects/boxel/packages/boxel-ui/addon/src/components/card-container/index.gts`. +This file documents EXACTLY what the host injects and EXACTLY how the parent overrides it. Source: `~/Projects/boxel/packages/base/field-component.gts` + `~/Projects/boxel/packages/boxel-ui/src/components/card-container/index.gts`. **Related but distinct concern — Host-mode click-through.** When you render a result list via `@context.searchResultsComponent` (or the older `PrerenderedCardSearch` surface) inside an app card that publishes to Host mode, the rendered tiles need an explicit anchor overlay to be clickable. The in-app `@context.cardComponentModifier` machinery only fires in Interact / Code mode. See [`app-card-home-with-search`](../../boxel-patterns/patterns/app-card-home-with-search/README.md) → "Host-mode click-through" for the overlay pattern. @@ -662,7 +662,7 @@ Stage 4 of the design playbook (deriving fitted + embedded from the established ## Source files (verify before depending on details) -- `~/Projects/boxel/packages/boxel-ui/addon/src/components/card-container/index.gts` — CardContainer + the global selector + `--themed` cascade +- `~/Projects/boxel/packages/boxel-ui/src/components/card-container/index.gts` — CardContainer + the global selector + `--themed` cascade - `~/Projects/boxel/packages/base/field-component.gts` — per-format classes + `displayContainer` arg - `~/Projects/boxel/packages/catalog-realm/crm-app/contact.gts:121,218` — production examples of `@displayContainer={{false}}` for atom - `~/Projects/boxel/packages/catalog-realm/sprint-planner/sprint-task.gts:208-211` — atom with custom class + display:contents diff --git a/packages/boxel-cli/plugin/skills/boxel/references/container-query-fitted-layout.md b/packages/boxel-cli/plugin/skills/boxel/references/container-query-fitted-layout.md index 4f56724fa72..23b65114a1e 100644 --- a/packages/boxel-cli/plugin/skills/boxel/references/container-query-fitted-layout.md +++ b/packages/boxel-cli/plugin/skills/boxel/references/container-query-fitted-layout.md @@ -66,7 +66,7 @@ import { FittedCard } from '@cardstack/boxel-ui/components'; (Providing `:placeholder` instead renders the image column with your icon/content on the `--fc-image-background` gradient — use that when the card *usually* has media and this instance just lacks it; omit all three when the card type never has media.) -Source: [`packages/boxel-ui/addon/src/components/fitted-card/`](https://github.com/cardstack/boxel/tree/main/packages/boxel-ui/addon/src/components/fitted-card) — read the component's doc comment for the full named-block / arg / `--fc-*` API (including `@layout` to force vertical/horizontal and the `--fc-*-display` visibility overrides). +Source: [`packages/boxel-ui/src/components/fitted-card/`](https://github.com/cardstack/boxel/tree/main/packages/boxel-ui/src/components/fitted-card) — read the component's doc comment for the full named-block / arg / `--fc-*` API (including `@layout` to force vertical/horizontal and the `--fc-*-display` visibility overrides). Tune, don't fork: when the composition IS standard, prefer setting `--fc-*` variables and `@container fitted-card (...)` overrides from your card's scoped CSS over forking the layout. When it isn't — see the special-template rule above — hand-roll from the start; the File Inventory references show what that looks like. diff --git a/packages/boxel-cli/plugin/skills/boxel/references/theme-design-system.md b/packages/boxel-cli/plugin/skills/boxel/references/theme-design-system.md index 1b7109fcbd8..53d91e35044 100644 --- a/packages/boxel-cli/plugin/skills/boxel/references/theme-design-system.md +++ b/packages/boxel-cli/plugin/skills/boxel/references/theme-design-system.md @@ -104,7 +104,7 @@ The Boxel host has theme-oriented commands that understand the hierarchy: Use these command patterns when making or improving theme cards through the app instead of treating every Theme as a raw CSS string. -Monorepo source files to check when this model changes: `packages/base/structured-theme.gts`, `packages/base/style-reference.gts`, `packages/base/detailed-style-reference.gts`, `packages/base/brand-guide.gts`, `packages/base/brand-logo.gts`, `packages/base/brand-functional-palette.gts`, `packages/base/structured-theme-variables.gts`, `packages/base/Theme/boxel-brand-guide.json`, `packages/boxel-ui/addon/src/helpers/theme-css.ts`, and `packages/host/app/tools/generate-theme-example.ts`. +Monorepo source files to check when this model changes: `packages/base/structured-theme.gts`, `packages/base/style-reference.gts`, `packages/base/detailed-style-reference.gts`, `packages/base/brand-guide.gts`, `packages/base/brand-logo.gts`, `packages/base/brand-functional-palette.gts`, `packages/base/structured-theme-variables.gts`, `packages/base/Theme/boxel-brand-guide.json`, `packages/boxel-ui/src/helpers/theme-css.ts`, and `packages/host/app/tools/generate-theme-example.ts`. ### 3.2 Canonical Theme Variables Use the variables directly (do not wrap with `hsl(var(...))`). Pair backgrounds with their foregrounds for contrast. diff --git a/packages/boxel-cli/scripts/build-types.ts b/packages/boxel-cli/scripts/build-types.ts index 312b98c5671..34e84d1cb63 100644 --- a/packages/boxel-cli/scripts/build-types.ts +++ b/packages/boxel-cli/scripts/build-types.ts @@ -42,7 +42,7 @@ * acceptance suites). Used to back * `@cardstack/host/tests/*` imports * in agent `.test.gts` files. - * - `bundled-types/boxel-ui/` — `packages/boxel-ui/addon/src/*` + * - `bundled-types/boxel-ui/` — `packages/boxel-ui/src/*` * minus `styles/` (1.5MB of fonts + * CSS irrelevant to type-checking). * - `bundled-types/local-types/` — `packages/local-types/*.d.ts` @@ -530,9 +530,9 @@ const VENDORS: Vendor[] = [ filter: skipMonorepoArtifacts, }, { - // Drop `addon/src/styles/` (1.5MB of `.woff2` + CSS). + // Drop `src/styles/` (1.5MB of `.woff2` + CSS). name: 'boxel-ui', - from: join(MONOREPO_PACKAGES, 'boxel-ui', 'addon', 'src'), + from: join(MONOREPO_PACKAGES, 'boxel-ui', 'src'), to: join(PACKAGE_ROOT, 'bundled-types', 'boxel-ui'), filter: boxelUiFilter, }, @@ -580,7 +580,7 @@ function hostAppFilter(src: string): boolean { function boxelUiFilter(src: string): boolean { if (!skipMonorepoArtifacts(src)) return false; - let uiRoot = join(MONOREPO_PACKAGES, 'boxel-ui', 'addon', 'src'); + let uiRoot = join(MONOREPO_PACKAGES, 'boxel-ui', 'src'); let rel = src.slice(uiRoot.length + 1); if (rel === '') return true; if (rel.startsWith('styles/') || rel === 'styles') return false; diff --git a/packages/boxel-cli/src/commands/parse.ts b/packages/boxel-cli/src/commands/parse.ts index a91100be4d6..cbaf0af94a3 100644 --- a/packages/boxel-cli/src/commands/parse.ts +++ b/packages/boxel-cli/src/commands/parse.ts @@ -95,7 +95,7 @@ const HOST_TYPES_PATH = BUNDLED_TYPES_DIR : join(PACKAGES_PATH, 'host', 'types'); const BOXEL_UI_PATH = BUNDLED_TYPES_DIR ? join(BUNDLED_TYPES_DIR, 'boxel-ui') - : join(PACKAGES_PATH, 'boxel-ui', 'addon', 'src'); + : join(PACKAGES_PATH, 'boxel-ui', 'src'); const LOCAL_TYPES_PATH = BUNDLED_TYPES_DIR ? join(BUNDLED_TYPES_DIR, 'local-types') : join(PACKAGES_PATH, 'local-types'); diff --git a/packages/boxel-ui/.gitignore b/packages/boxel-ui/.gitignore index c9b2f6bae32..c5a21b9f562 100644 --- a/packages/boxel-ui/.gitignore +++ b/packages/boxel-ui/.gitignore @@ -1,14 +1,23 @@ -# See https://help.github.com/ignore-files/ for more about ignoring files. +# The authoritative copies of these live in the monorepo root (because they're +# more useful on github that way), but the build copies them into here so they +# will also appear in published NPM packages. +/LICENSE.md +/README.md -/dist/ -/tmp/ +# compiled output +/declarations +/dist +/dist-tests +/tmp + +# npm/pnpm/yarn pack output +*.tgz # dependencies node_modules/ # misc /.eslintcache -/addon/.eslintcache .env* .pnpm-debug.log npm-debug.log* diff --git a/packages/boxel-ui/addon/.prettierignore b/packages/boxel-ui/.prettierignore similarity index 59% rename from packages/boxel-ui/addon/.prettierignore rename to packages/boxel-ui/.prettierignore index b0381f9e2ea..ba10015f6d0 100644 --- a/packages/boxel-ui/addon/.prettierignore +++ b/packages/boxel-ui/.prettierignore @@ -1,6 +1,9 @@ # unconventional js /blueprints/*/files/ +# nested docs app (its own package with its own config) +/docs-app/ + # compiled output /declarations/ /dist/ diff --git a/packages/boxel-ui/addon/.prettierrc.cjs b/packages/boxel-ui/.prettierrc.cjs similarity index 100% rename from packages/boxel-ui/addon/.prettierrc.cjs rename to packages/boxel-ui/.prettierrc.cjs diff --git a/packages/boxel-ui/addon/.template-lintrc.js b/packages/boxel-ui/.template-lintrc.js similarity index 71% rename from packages/boxel-ui/addon/.template-lintrc.js rename to packages/boxel-ui/.template-lintrc.js index cab4f56b289..83a0d927dca 100644 --- a/packages/boxel-ui/addon/.template-lintrc.js +++ b/packages/boxel-ui/.template-lintrc.js @@ -2,7 +2,9 @@ module.exports = { extends: ['recommended', '@cardstack/template-lint:recommended'], - plugins: ['../../template-lint/plugin'], + // the nested docs app is its own package with its own config + ignore: ['docs-app/**'], + plugins: ['../template-lint/plugin'], rules: { 'no-pointer-down-event-binding': false, 'no-positive-tabindex': false, diff --git a/packages/boxel-ui/addon/addon-main.cjs b/packages/boxel-ui/addon-main.cjs similarity index 100% rename from packages/boxel-ui/addon/addon-main.cjs rename to packages/boxel-ui/addon-main.cjs diff --git a/packages/boxel-ui/addon/.gitignore b/packages/boxel-ui/addon/.gitignore deleted file mode 100644 index 0f93238423a..00000000000 --- a/packages/boxel-ui/addon/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -# The authoritative copies of these live in the monorepo root (because they're -# more useful on github that way), but the build copies them into here so they -# will also appear in published NPM packages. -/LICENSE.md -/README.md - -# compiled output -/declarations -/dist - -# npm/pnpm/yarn pack output -*.tgz diff --git a/packages/boxel-ui/addon/babel.config.json b/packages/boxel-ui/addon/babel.config.json deleted file mode 100644 index 6c7c9c87b5c..00000000000 --- a/packages/boxel-ui/addon/babel.config.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "plugins": [ - "ember-concurrency/async-arrow-task-transform", - [ - "@babel/plugin-transform-typescript", - { - "allExtensions": true, - "onlyRemoveTypeImports": true, - "allowDeclareFields": true - } - ], - "@embroider/addon-dev/template-colocation-plugin", - "@babel/plugin-transform-class-static-block", - [ - "babel-plugin-ember-template-compilation", - { - "targetFormat": "hbs", - "transforms": ["glimmer-scoped-css/ast-transform"] - } - ], - ["@babel/plugin-proposal-decorators", { "version": "legacy" }], - "@babel/plugin-transform-class-properties" - ] -} diff --git a/packages/boxel-ui/babel.config.mjs b/packages/boxel-ui/babel.config.mjs new file mode 100644 index 00000000000..8c5926f6790 --- /dev/null +++ b/packages/boxel-ui/babel.config.mjs @@ -0,0 +1,64 @@ +import { dirname } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +import { + babelCompatSupport, + templateCompatSupport, +} from '@embroider/compat/babel'; + +/** + * This babel config drives the vite dev/test pipeline (see vite.config.mjs). + * + * Publishing uses babel.publish.config.cjs instead, and workspace consumers + * compile the .gts source with their own configs. + */ +export default { + plugins: [ + [ + '@babel/plugin-transform-typescript', + { + allExtensions: true, + onlyRemoveTypeImports: true, + allowDeclareFields: true, + }, + ], + 'ember-concurrency/async-arrow-task-transform', + [ + 'babel-plugin-ember-template-compilation', + { + enableLegacyModules: [ + 'ember-cli-htmlbars', + 'ember-cli-htmlbars-inline-precompile', + 'htmlbars-inline-precompile', + ], + transforms: [ + ...templateCompatSupport(), + 'glimmer-scoped-css/ast-transform', + ], + }, + ], + [ + 'module:decorator-transforms', + { + runtime: { + import: fileURLToPath( + import.meta.resolve('decorator-transforms/runtime-esm'), + ), + }, + }, + ], + [ + '@babel/plugin-transform-runtime', + { + absoluteRuntime: dirname(fileURLToPath(import.meta.url)), + useESModules: true, + regenerator: false, + }, + ], + ...babelCompatSupport(), + ], + + generatorOpts: { + compact: false, + }, +}; diff --git a/packages/boxel-ui/addon/babel.publish.config.cjs b/packages/boxel-ui/babel.publish.config.cjs similarity index 91% rename from packages/boxel-ui/addon/babel.publish.config.cjs rename to packages/boxel-ui/babel.publish.config.cjs index 1a299c5e1ed..ee78a7077e0 100644 --- a/packages/boxel-ui/addon/babel.publish.config.cjs +++ b/packages/boxel-ui/babel.publish.config.cjs @@ -2,7 +2,7 @@ * This babel config is only used when building dist/ for publishing. * * Workspace consumers compile the .gts source themselves (see - * package.json#exports); babel.config.json remains their reference config. + * package.json#exports); the vite dev/test pipeline uses babel.config.mjs. */ module.exports = { plugins: [ diff --git a/packages/boxel-ui/addon/bin/generate-component-specs.mjs b/packages/boxel-ui/bin/generate-component-specs.mjs similarity index 100% rename from packages/boxel-ui/addon/bin/generate-component-specs.mjs rename to packages/boxel-ui/bin/generate-component-specs.mjs diff --git a/packages/boxel-ui/addon/bin/rebuild-icons.mjs b/packages/boxel-ui/bin/rebuild-icons.mjs similarity index 100% rename from packages/boxel-ui/addon/bin/rebuild-icons.mjs rename to packages/boxel-ui/bin/rebuild-icons.mjs diff --git a/packages/boxel-ui/addon/bin/rebuild-usage.mjs b/packages/boxel-ui/bin/rebuild-usage.mjs similarity index 100% rename from packages/boxel-ui/addon/bin/rebuild-usage.mjs rename to packages/boxel-ui/bin/rebuild-usage.mjs diff --git a/packages/boxel-ui/addon/config/ember-cli-update.json b/packages/boxel-ui/config/config/ember-cli-update.json similarity index 100% rename from packages/boxel-ui/addon/config/ember-cli-update.json rename to packages/boxel-ui/config/config/ember-cli-update.json diff --git a/packages/boxel-ui/config/environment.js b/packages/boxel-ui/config/environment.js index da5cbbff84f..b8ea757323e 100644 --- a/packages/boxel-ui/config/environment.js +++ b/packages/boxel-ui/config/environment.js @@ -1,58 +1,21 @@ 'use strict'; +// Consumed by the compat test pipeline (see ember-cli-build.js); the addon +// itself has no runtime environment config. module.exports = function (environment) { - let ENV = { - modulePrefix: 'dummy', + const ENV = { + modulePrefix: 'boxel-ui-tests', environment, rootURL: '/', locationType: 'history', - EmberENV: { - FEATURES: { - // Here you can enable experimental features on an ember canary build - EMBER_NATIVE_DECORATOR_SUPPORT: true, - EMBER_METAL_TRACKED_PROPERTIES: true, - EMBER_GLIMMER_ANGLE_BRACKET_NESTED_LOOKUP: true, - EMBER_GLIMMER_ANGLE_BRACKET_BUILT_INS: true, - EMBER_GLIMMER_FN_HELPER: true, - EMBER_GLIMMER_ON_MODIFIER: true, - }, - EXTEND_PROTOTYPES: { - // Prevent Ember Data from overriding Date.parse. - Date: false, - }, - }, - - APP: { - // Here you can pass flags/options to your application instance - // when it is created - }, + APP: {}, }; - - if (environment === 'development') { - // ENV.APP.LOG_RESOLVER = true; - // ENV.APP.LOG_ACTIVE_GENERATION = true; - // ENV.APP.LOG_TRANSITIONS = true; - // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; - // ENV.APP.LOG_VIEW_LOOKUPS = true; - } - if (environment === 'test') { - // Testem prefers this... ENV.locationType = 'none'; - - // keep test console output quieter ENV.APP.LOG_ACTIVE_GENERATION = false; ENV.APP.LOG_VIEW_LOOKUPS = false; - ENV.APP.rootElement = '#ember-testing'; ENV.APP.autoboot = false; } - - if (environment === 'production') { - // here you can enable a production-specific feature - ENV.rootURL = '/boxel-ui/'; - ENV.locationType = 'hash'; - } - return ENV; }; diff --git a/packages/boxel-ui/test-app/.ember-cli.js b/packages/boxel-ui/docs-app/.ember-cli.js similarity index 100% rename from packages/boxel-ui/test-app/.ember-cli.js rename to packages/boxel-ui/docs-app/.ember-cli.js diff --git a/packages/boxel-ui/test-app/.eslintignore b/packages/boxel-ui/docs-app/.eslintignore similarity index 100% rename from packages/boxel-ui/test-app/.eslintignore rename to packages/boxel-ui/docs-app/.eslintignore diff --git a/packages/boxel-ui/test-app/.eslintrc.js b/packages/boxel-ui/docs-app/.eslintrc.js similarity index 100% rename from packages/boxel-ui/test-app/.eslintrc.js rename to packages/boxel-ui/docs-app/.eslintrc.js diff --git a/packages/boxel-ui/test-app/.gitignore b/packages/boxel-ui/docs-app/.gitignore similarity index 100% rename from packages/boxel-ui/test-app/.gitignore rename to packages/boxel-ui/docs-app/.gitignore diff --git a/packages/boxel-ui/test-app/.prettierignore b/packages/boxel-ui/docs-app/.prettierignore similarity index 100% rename from packages/boxel-ui/test-app/.prettierignore rename to packages/boxel-ui/docs-app/.prettierignore diff --git a/packages/boxel-ui/test-app/.template-lintrc.js b/packages/boxel-ui/docs-app/.template-lintrc.js similarity index 100% rename from packages/boxel-ui/test-app/.template-lintrc.js rename to packages/boxel-ui/docs-app/.template-lintrc.js diff --git a/packages/boxel-ui/test-app/.watchmanconfig b/packages/boxel-ui/docs-app/.watchmanconfig similarity index 100% rename from packages/boxel-ui/test-app/.watchmanconfig rename to packages/boxel-ui/docs-app/.watchmanconfig diff --git a/packages/boxel-ui/test-app/app/app.js b/packages/boxel-ui/docs-app/app/app.js similarity index 100% rename from packages/boxel-ui/test-app/app/app.js rename to packages/boxel-ui/docs-app/app/app.js diff --git a/packages/boxel-ui/test-app/app/components/.gitkeep b/packages/boxel-ui/docs-app/app/components/.gitkeep similarity index 100% rename from packages/boxel-ui/test-app/app/components/.gitkeep rename to packages/boxel-ui/docs-app/app/components/.gitkeep diff --git a/packages/boxel-ui/test-app/app/components/icons-grid.gts b/packages/boxel-ui/docs-app/app/components/icons-grid.gts similarity index 100% rename from packages/boxel-ui/test-app/app/components/icons-grid.gts rename to packages/boxel-ui/docs-app/app/components/icons-grid.gts diff --git a/packages/boxel-ui/test-app/app/config/environment.ts b/packages/boxel-ui/docs-app/app/config/environment.ts similarity index 100% rename from packages/boxel-ui/test-app/app/config/environment.ts rename to packages/boxel-ui/docs-app/app/config/environment.ts diff --git a/packages/boxel-ui/test-app/app/controllers/index.ts b/packages/boxel-ui/docs-app/app/controllers/index.ts similarity index 100% rename from packages/boxel-ui/test-app/app/controllers/index.ts rename to packages/boxel-ui/docs-app/app/controllers/index.ts diff --git a/packages/boxel-ui/test-app/app/deprecation-workflow.js b/packages/boxel-ui/docs-app/app/deprecation-workflow.js similarity index 100% rename from packages/boxel-ui/test-app/app/deprecation-workflow.js rename to packages/boxel-ui/docs-app/app/deprecation-workflow.js diff --git a/packages/boxel-ui/test-app/app/helpers/format-component-name.ts b/packages/boxel-ui/docs-app/app/helpers/format-component-name.ts similarity index 100% rename from packages/boxel-ui/test-app/app/helpers/format-component-name.ts rename to packages/boxel-ui/docs-app/app/helpers/format-component-name.ts diff --git a/packages/boxel-ui/test-app/app/router.js b/packages/boxel-ui/docs-app/app/router.js similarity index 100% rename from packages/boxel-ui/test-app/app/router.js rename to packages/boxel-ui/docs-app/app/router.js diff --git a/packages/boxel-ui/test-app/app/routes/index.ts b/packages/boxel-ui/docs-app/app/routes/index.ts similarity index 100% rename from packages/boxel-ui/test-app/app/routes/index.ts rename to packages/boxel-ui/docs-app/app/routes/index.ts diff --git a/packages/boxel-ui/test-app/app/styles/.gitkeep b/packages/boxel-ui/docs-app/app/styles/.gitkeep similarity index 100% rename from packages/boxel-ui/test-app/app/styles/.gitkeep rename to packages/boxel-ui/docs-app/app/styles/.gitkeep diff --git a/packages/boxel-ui/test-app/app/templates/index.gts b/packages/boxel-ui/docs-app/app/templates/index.gts similarity index 100% rename from packages/boxel-ui/test-app/app/templates/index.gts rename to packages/boxel-ui/docs-app/app/templates/index.gts diff --git a/packages/boxel-ui/test-app/app/themes/cs-themes.ts b/packages/boxel-ui/docs-app/app/themes/cs-themes.ts similarity index 100% rename from packages/boxel-ui/test-app/app/themes/cs-themes.ts rename to packages/boxel-ui/docs-app/app/themes/cs-themes.ts diff --git a/packages/boxel-ui/test-app/app/themes/index.ts b/packages/boxel-ui/docs-app/app/themes/index.ts similarity index 100% rename from packages/boxel-ui/test-app/app/themes/index.ts rename to packages/boxel-ui/docs-app/app/themes/index.ts diff --git a/packages/boxel-ui/test-app/app/themes/tcn-themes.ts b/packages/boxel-ui/docs-app/app/themes/tcn-themes.ts similarity index 100% rename from packages/boxel-ui/test-app/app/themes/tcn-themes.ts rename to packages/boxel-ui/docs-app/app/themes/tcn-themes.ts diff --git a/packages/boxel-ui/test-app/app/utils/theme-fonts.ts b/packages/boxel-ui/docs-app/app/utils/theme-fonts.ts similarity index 100% rename from packages/boxel-ui/test-app/app/utils/theme-fonts.ts rename to packages/boxel-ui/docs-app/app/utils/theme-fonts.ts diff --git a/packages/boxel-ui/test-app/app/utils/titleize.ts b/packages/boxel-ui/docs-app/app/utils/titleize.ts similarity index 100% rename from packages/boxel-ui/test-app/app/utils/titleize.ts rename to packages/boxel-ui/docs-app/app/utils/titleize.ts diff --git a/packages/boxel-ui/test-app/babel.config.mjs b/packages/boxel-ui/docs-app/babel.config.mjs similarity index 100% rename from packages/boxel-ui/test-app/babel.config.mjs rename to packages/boxel-ui/docs-app/babel.config.mjs diff --git a/packages/boxel-ui/test-app/config/.gitkeep b/packages/boxel-ui/docs-app/config/.gitkeep similarity index 100% rename from packages/boxel-ui/test-app/config/.gitkeep rename to packages/boxel-ui/docs-app/config/.gitkeep diff --git a/packages/boxel-ui/test-app/config/deploy.js b/packages/boxel-ui/docs-app/config/deploy.js similarity index 100% rename from packages/boxel-ui/test-app/config/deploy.js rename to packages/boxel-ui/docs-app/config/deploy.js diff --git a/packages/boxel-ui/test-app/config/ember-cli-update.json b/packages/boxel-ui/docs-app/config/ember-cli-update.json similarity index 100% rename from packages/boxel-ui/test-app/config/ember-cli-update.json rename to packages/boxel-ui/docs-app/config/ember-cli-update.json diff --git a/packages/boxel-ui/test-app/config/environment.js b/packages/boxel-ui/docs-app/config/environment.js similarity index 100% rename from packages/boxel-ui/test-app/config/environment.js rename to packages/boxel-ui/docs-app/config/environment.js diff --git a/packages/boxel-ui/test-app/config/optional-features.json b/packages/boxel-ui/docs-app/config/optional-features.json similarity index 100% rename from packages/boxel-ui/test-app/config/optional-features.json rename to packages/boxel-ui/docs-app/config/optional-features.json diff --git a/packages/boxel-ui/test-app/ember-cli-build.js b/packages/boxel-ui/docs-app/ember-cli-build.js similarity index 100% rename from packages/boxel-ui/test-app/ember-cli-build.js rename to packages/boxel-ui/docs-app/ember-cli-build.js diff --git a/packages/boxel-ui/test-app/index.html b/packages/boxel-ui/docs-app/index.html similarity index 100% rename from packages/boxel-ui/test-app/index.html rename to packages/boxel-ui/docs-app/index.html diff --git a/packages/boxel-ui/test-app/package.json b/packages/boxel-ui/docs-app/package.json similarity index 95% rename from packages/boxel-ui/test-app/package.json rename to packages/boxel-ui/docs-app/package.json index 74cc0123e7a..50b111aa826 100644 --- a/packages/boxel-ui/test-app/package.json +++ b/packages/boxel-ui/docs-app/package.json @@ -16,8 +16,8 @@ "lint:fix": "concurrently \"pnpm:lint:*:fix\" --names \"fix:\"", "lint:hbs": "ember-template-lint .", "lint:hbs:fix": "ember-template-lint . --fix", - "lint:js": "eslint . --report-unused-disable-directives --cache", - "lint:js:fix": "eslint . --report-unused-disable-directives --fix", + "lint:js": "ESLINT_USE_FLAT_CONFIG=false eslint . --report-unused-disable-directives --cache", + "lint:js:fix": "ESLINT_USE_FLAT_CONFIG=false eslint . --report-unused-disable-directives --fix", "lint:types": "ember-tsc --noEmit", "start": "vite", "test": "concurrently \"pnpm:lint\" \"pnpm:test:*\" --names \"lint,test:\"", diff --git a/packages/boxel-ui/test-app/testem.js b/packages/boxel-ui/docs-app/testem.js similarity index 100% rename from packages/boxel-ui/test-app/testem.js rename to packages/boxel-ui/docs-app/testem.js diff --git a/packages/boxel-ui/test-app/tests/acceptance/index-test.ts b/packages/boxel-ui/docs-app/tests/acceptance/index-test.ts similarity index 100% rename from packages/boxel-ui/test-app/tests/acceptance/index-test.ts rename to packages/boxel-ui/docs-app/tests/acceptance/index-test.ts diff --git a/packages/boxel-ui/test-app/tests/index.html b/packages/boxel-ui/docs-app/tests/index.html similarity index 100% rename from packages/boxel-ui/test-app/tests/index.html rename to packages/boxel-ui/docs-app/tests/index.html diff --git a/packages/boxel-ui/test-app/tests/test-helper.js b/packages/boxel-ui/docs-app/tests/test-helper.js similarity index 87% rename from packages/boxel-ui/test-app/tests/test-helper.js rename to packages/boxel-ui/docs-app/tests/test-helper.js index adf4ee18a55..f379adbce62 100644 --- a/packages/boxel-ui/test-app/tests/test-helper.js +++ b/packages/boxel-ui/docs-app/tests/test-helper.js @@ -8,13 +8,11 @@ import { setRunOptions, setupConsoleLogger, } from 'ember-a11y-testing/test-support'; -import setupHeightAssertion from 'test-app/tests/helpers/height-assertion'; export function start() { setApplication(Application.create(config.APP)); setup(QUnit.assert); - setupHeightAssertion(QUnit.assert); // https://github.com/dequelabs/axe-core/issues/3082 // turn off the rule for aria-allowed-role for now until ember-a11y-testing is updated with bugfix from axe-core diff --git a/packages/boxel-ui/test-app/tsconfig.json b/packages/boxel-ui/docs-app/tsconfig.json similarity index 100% rename from packages/boxel-ui/test-app/tsconfig.json rename to packages/boxel-ui/docs-app/tsconfig.json diff --git a/packages/boxel-ui/test-app/type-tests/boxel-ui-type-canary.gts b/packages/boxel-ui/docs-app/type-tests/boxel-ui-type-canary.gts similarity index 100% rename from packages/boxel-ui/test-app/type-tests/boxel-ui-type-canary.gts rename to packages/boxel-ui/docs-app/type-tests/boxel-ui-type-canary.gts diff --git a/packages/boxel-ui/addon/src/types/@cardstack/boxel-ui/index.d.ts b/packages/boxel-ui/docs-app/types/boxel-ui-test-app/index.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/@cardstack/boxel-ui/index.d.ts rename to packages/boxel-ui/docs-app/types/boxel-ui-test-app/index.d.ts diff --git a/packages/boxel-ui/test-app/vite.config.mjs b/packages/boxel-ui/docs-app/vite.config.mjs similarity index 100% rename from packages/boxel-ui/test-app/vite.config.mjs rename to packages/boxel-ui/docs-app/vite.config.mjs diff --git a/packages/boxel-ui/ember-cli-build.js b/packages/boxel-ui/ember-cli-build.js new file mode 100644 index 00000000000..58f7e811524 --- /dev/null +++ b/packages/boxel-ui/ember-cli-build.js @@ -0,0 +1,15 @@ +'use strict'; +const EmberApp = require('ember-cli/lib/broccoli/ember-app'); +const { compatBuild } = require('@embroider/compat'); + +// This exists solely so the vite test pipeline (see vite.config.mjs) can run +// classicEmberSupport(): several dependencies still ship loose-mode +// templates that need the compat resolver. Publishing does not use it — see +// rollup.config.mjs. +module.exports = async function (defaults) { + const { buildOnce } = await import('@embroider/vite'); + + const app = new EmberApp(defaults, {}); + + return compatBuild(app, buildOnce, {}); +}; diff --git a/packages/boxel-ui/addon/eslint.config.mjs b/packages/boxel-ui/eslint.config.mjs similarity index 89% rename from packages/boxel-ui/addon/eslint.config.mjs rename to packages/boxel-ui/eslint.config.mjs index e8d0401b23c..3df70119b60 100644 --- a/packages/boxel-ui/addon/eslint.config.mjs +++ b/packages/boxel-ui/eslint.config.mjs @@ -20,6 +20,7 @@ import prettier from 'eslint-config-prettier'; import ember from 'eslint-plugin-ember/recommended'; import importPlugin from 'eslint-plugin-import'; import n from 'eslint-plugin-n'; +import qunitDom from 'eslint-plugin-qunit-dom'; import simpleImportSort from 'eslint-plugin-simple-import-sort'; import typescriptSortKeys from 'eslint-plugin-typescript-sort-keys'; import globals from 'globals'; @@ -28,10 +29,8 @@ import ts from 'typescript-eslint'; const require = createRequire(import.meta.url); // CJS modules shared with the eslintrc-based packages in this monorepo const boxel = require('@cardstack/eslint-plugin-boxel'); -const MISSING_INVOKABLES_CONFIG = require('../../runtime-common/etc/eslint/missing-invokables-config'); -const { - DATA_TEST_SELECTORS, -} = require('../../../eslint/data-test-selectors.cjs'); +const MISSING_INVOKABLES_CONFIG = require('../runtime-common/etc/eslint/missing-invokables-config'); +const { DATA_TEST_SELECTORS } = require('../../eslint/data-test-selectors.cjs'); const esmParserOptions = { ecmaFeatures: { modules: true }, @@ -45,6 +44,8 @@ export default defineConfig([ 'declarations/', 'coverage/', 'blueprints/*/files/', + 'docs-app/', + 'dist-tests/', '!**/.*', ]), js.configs.recommended, @@ -165,11 +166,27 @@ export default defineConfig([ 'ember/template-no-let-reference': 'off', }, }, + { + files: ['tests/**/*'], + plugins: { + 'qunit-dom': qunitDom, + }, + rules: { + ...qunitDom.configs.recommended.rules, + '@cardstack/boxel/no-raf-for-state': 'off', + }, + }, + /** * CJS node files */ { - files: ['**/*.cjs', '.template-lintrc.js'], + files: [ + '**/*.cjs', + '.template-lintrc.js', + 'ember-cli-build.js', + 'config/environment.js', + ], plugins: { n, }, diff --git a/packages/boxel-ui/addon/package.json b/packages/boxel-ui/package.json similarity index 82% rename from packages/boxel-ui/addon/package.json rename to packages/boxel-ui/package.json index c4ec3d3102c..0b9bec2304e 100644 --- a/packages/boxel-ui/addon/package.json +++ b/packages/boxel-ui/package.json @@ -28,10 +28,9 @@ "prepack": "rollup --config", "rebuild:icons": "node bin/rebuild-icons.mjs", "rebuild:usage": "node bin/rebuild-usage.mjs", - "start": "concurrently \"pnpm:start:*\" --names \"start:\"", - "start:build": "rollup --config --watch", - "test": "echo 'A v2 addon does not have tests, run tests in test-app'", - "test:ember": "ember test" + "start": "vite dev", + "start:test": "vite dev --open /tests/", + "test": "vite build --mode=development --out-dir dist-tests && testem --file testem.cjs ci --port 0" }, "dependencies": { "@cardstack/boxel-icons": "workspace:*", @@ -59,7 +58,6 @@ "ember-power-calendar-moment": "^1.0.2", "ember-power-select": "^8.0.0", "ember-resize-modifier": "^0.7.1", - "ember-set-body-class": "catalog:", "ember-sortable": "^5.3.1", "ember-velcro": "^2.1.3", "file-loader": "catalog:", @@ -74,21 +72,37 @@ "@babel/plugin-proposal-decorators": "catalog:", "@babel/plugin-transform-class-properties": "catalog:", "@babel/plugin-transform-class-static-block": "catalog:", + "@babel/plugin-transform-runtime": "^7.29.0", "@babel/plugin-transform-typescript": "catalog:", "@babel/runtime": "catalog:", "@cardstack/eslint-plugin-boxel": "workspace:*", "@cardstack/local-types": "workspace:*", + "@ember/optional-features": "^2.0.0", + "@ember/test-helpers": "catalog:", "@embroider/addon-dev": "^8.0.0", + "@embroider/compat": "^4.1.17", + "@embroider/config-meta-loader": "^1.0.0", + "@embroider/core": "^4.4.7", "@embroider/macros": "~1.16.5", + "@embroider/vite": "^1.7.2", "@eslint/js": "^9.17.0", + "@glimmer/component": "catalog:", "@glint/ember-tsc": "catalog:", "@rollup/plugin-babel": "catalog:", "@tsconfig/ember": "3.0.1", "@types/dompurify": "catalog:", "@types/lodash-es": "catalog:", "@types/pluralize": "catalog:", + "@types/qunit": "catalog:", "babel-plugin-ember-template-compilation": "catalog:", "concurrently": "catalog:", + "ember-a11y-testing": "^8.0.0", + "ember-cli": "^5.4.1", + "ember-cli-babel": "^8.2.0", + "ember-cli-htmlbars": "^6.3.0", + "ember-qunit": "catalog:", + "ember-source": "catalog:", + "ember-strict-application-resolver": "^0.1.0", "ember-template-imports": "^4.1.1", "ember-template-lint": "catalog:", "ember-template-lint-plugin-prettier": "^5.0.0", @@ -97,6 +111,7 @@ "eslint-plugin-ember": "catalog:", "eslint-plugin-import": "catalog:", "eslint-plugin-n": "catalog:", + "eslint-plugin-qunit-dom": "catalog:", "eslint-plugin-simple-import-sort": "catalog:", "eslint-plugin-typescript-sort-keys": "catalog:", "glimmer-scoped-css": "catalog:", @@ -104,9 +119,13 @@ "prettier": "catalog:", "prettier-plugin-ember-template-tag": "catalog:", "publint": "^0.3.16", + "qunit": "catalog:", + "qunit-dom": "catalog:", "rollup": "catalog:", "svgo": "catalog:", - "typescript-eslint": "8.19.1" + "testem": "^3.15.1", + "typescript-eslint": "8.19.1", + "vite": "^8.0.10" }, "peerDependencies": { "ember-source": "catalog:", diff --git a/packages/boxel-ui/addon/raw-icons/ai-bw.svg b/packages/boxel-ui/raw-icons/ai-bw.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/ai-bw.svg rename to packages/boxel-ui/raw-icons/ai-bw.svg diff --git a/packages/boxel-ui/addon/raw-icons/arrow-left.svg b/packages/boxel-ui/raw-icons/arrow-left.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/arrow-left.svg rename to packages/boxel-ui/raw-icons/arrow-left.svg diff --git a/packages/boxel-ui/addon/raw-icons/arrow-right.svg b/packages/boxel-ui/raw-icons/arrow-right.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/arrow-right.svg rename to packages/boxel-ui/raw-icons/arrow-right.svg diff --git a/packages/boxel-ui/addon/raw-icons/arrow-top-left.svg b/packages/boxel-ui/raw-icons/arrow-top-left.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/arrow-top-left.svg rename to packages/boxel-ui/raw-icons/arrow-top-left.svg diff --git a/packages/boxel-ui/addon/raw-icons/arrow-up.svg b/packages/boxel-ui/raw-icons/arrow-up.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/arrow-up.svg rename to packages/boxel-ui/raw-icons/arrow-up.svg diff --git a/packages/boxel-ui/addon/raw-icons/atom.svg b/packages/boxel-ui/raw-icons/atom.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/atom.svg rename to packages/boxel-ui/raw-icons/atom.svg diff --git a/packages/boxel-ui/addon/raw-icons/boxel-icon-with-text.svg b/packages/boxel-ui/raw-icons/boxel-icon-with-text.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/boxel-icon-with-text.svg rename to packages/boxel-ui/raw-icons/boxel-icon-with-text.svg diff --git a/packages/boxel-ui/addon/raw-icons/boxel-icon.svg b/packages/boxel-ui/raw-icons/boxel-icon.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/boxel-icon.svg rename to packages/boxel-ui/raw-icons/boxel-icon.svg diff --git a/packages/boxel-ui/addon/raw-icons/card-definition.svg b/packages/boxel-ui/raw-icons/card-definition.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/card-definition.svg rename to packages/boxel-ui/raw-icons/card-definition.svg diff --git a/packages/boxel-ui/addon/raw-icons/card-instance.svg b/packages/boxel-ui/raw-icons/card-instance.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/card-instance.svg rename to packages/boxel-ui/raw-icons/card-instance.svg diff --git a/packages/boxel-ui/addon/raw-icons/card.svg b/packages/boxel-ui/raw-icons/card.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/card.svg rename to packages/boxel-ui/raw-icons/card.svg diff --git a/packages/boxel-ui/addon/raw-icons/cardbot-lg.svg b/packages/boxel-ui/raw-icons/cardbot-lg.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/cardbot-lg.svg rename to packages/boxel-ui/raw-icons/cardbot-lg.svg diff --git a/packages/boxel-ui/addon/raw-icons/caret-down.svg b/packages/boxel-ui/raw-icons/caret-down.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/caret-down.svg rename to packages/boxel-ui/raw-icons/caret-down.svg diff --git a/packages/boxel-ui/addon/raw-icons/check-mark.svg b/packages/boxel-ui/raw-icons/check-mark.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/check-mark.svg rename to packages/boxel-ui/raw-icons/check-mark.svg diff --git a/packages/boxel-ui/addon/raw-icons/chevron-right.svg b/packages/boxel-ui/raw-icons/chevron-right.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/chevron-right.svg rename to packages/boxel-ui/raw-icons/chevron-right.svg diff --git a/packages/boxel-ui/addon/raw-icons/copy.svg b/packages/boxel-ui/raw-icons/copy.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/copy.svg rename to packages/boxel-ui/raw-icons/copy.svg diff --git a/packages/boxel-ui/addon/raw-icons/diagonal-arrow-left-up.svg b/packages/boxel-ui/raw-icons/diagonal-arrow-left-up.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/diagonal-arrow-left-up.svg rename to packages/boxel-ui/raw-icons/diagonal-arrow-left-up.svg diff --git a/packages/boxel-ui/addon/raw-icons/download.svg b/packages/boxel-ui/raw-icons/download.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/download.svg rename to packages/boxel-ui/raw-icons/download.svg diff --git a/packages/boxel-ui/addon/raw-icons/dropdown-arrow-down.svg b/packages/boxel-ui/raw-icons/dropdown-arrow-down.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/dropdown-arrow-down.svg rename to packages/boxel-ui/raw-icons/dropdown-arrow-down.svg diff --git a/packages/boxel-ui/addon/raw-icons/dropdown-arrow-filled.svg b/packages/boxel-ui/raw-icons/dropdown-arrow-filled.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/dropdown-arrow-filled.svg rename to packages/boxel-ui/raw-icons/dropdown-arrow-filled.svg diff --git a/packages/boxel-ui/addon/raw-icons/dropdown-arrow-up.svg b/packages/boxel-ui/raw-icons/dropdown-arrow-up.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/dropdown-arrow-up.svg rename to packages/boxel-ui/raw-icons/dropdown-arrow-up.svg diff --git a/packages/boxel-ui/addon/raw-icons/embedded.svg b/packages/boxel-ui/raw-icons/embedded.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/embedded.svg rename to packages/boxel-ui/raw-icons/embedded.svg diff --git a/packages/boxel-ui/addon/raw-icons/exclamation-circle.svg b/packages/boxel-ui/raw-icons/exclamation-circle.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/exclamation-circle.svg rename to packages/boxel-ui/raw-icons/exclamation-circle.svg diff --git a/packages/boxel-ui/addon/raw-icons/exclamation.svg b/packages/boxel-ui/raw-icons/exclamation.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/exclamation.svg rename to packages/boxel-ui/raw-icons/exclamation.svg diff --git a/packages/boxel-ui/addon/raw-icons/eye.svg b/packages/boxel-ui/raw-icons/eye.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/eye.svg rename to packages/boxel-ui/raw-icons/eye.svg diff --git a/packages/boxel-ui/addon/raw-icons/failure-bordered.svg b/packages/boxel-ui/raw-icons/failure-bordered.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/failure-bordered.svg rename to packages/boxel-ui/raw-icons/failure-bordered.svg diff --git a/packages/boxel-ui/addon/raw-icons/field.svg b/packages/boxel-ui/raw-icons/field.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/field.svg rename to packages/boxel-ui/raw-icons/field.svg diff --git a/packages/boxel-ui/addon/raw-icons/file-alert.svg b/packages/boxel-ui/raw-icons/file-alert.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/file-alert.svg rename to packages/boxel-ui/raw-icons/file-alert.svg diff --git a/packages/boxel-ui/addon/raw-icons/file.svg b/packages/boxel-ui/raw-icons/file.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/file.svg rename to packages/boxel-ui/raw-icons/file.svg diff --git a/packages/boxel-ui/addon/raw-icons/fitted.svg b/packages/boxel-ui/raw-icons/fitted.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/fitted.svg rename to packages/boxel-ui/raw-icons/fitted.svg diff --git a/packages/boxel-ui/addon/raw-icons/folder.svg b/packages/boxel-ui/raw-icons/folder.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/folder.svg rename to packages/boxel-ui/raw-icons/folder.svg diff --git a/packages/boxel-ui/addon/raw-icons/form.svg b/packages/boxel-ui/raw-icons/form.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/form.svg rename to packages/boxel-ui/raw-icons/form.svg diff --git a/packages/boxel-ui/addon/raw-icons/four-lines.svg b/packages/boxel-ui/raw-icons/four-lines.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/four-lines.svg rename to packages/boxel-ui/raw-icons/four-lines.svg diff --git a/packages/boxel-ui/addon/raw-icons/google-color.svg b/packages/boxel-ui/raw-icons/google-color.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/google-color.svg rename to packages/boxel-ui/raw-icons/google-color.svg diff --git a/packages/boxel-ui/addon/raw-icons/grid-3x3.svg b/packages/boxel-ui/raw-icons/grid-3x3.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/grid-3x3.svg rename to packages/boxel-ui/raw-icons/grid-3x3.svg diff --git a/packages/boxel-ui/addon/raw-icons/group.svg b/packages/boxel-ui/raw-icons/group.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/group.svg rename to packages/boxel-ui/raw-icons/group.svg diff --git a/packages/boxel-ui/addon/raw-icons/head.svg b/packages/boxel-ui/raw-icons/head.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/head.svg rename to packages/boxel-ui/raw-icons/head.svg diff --git a/packages/boxel-ui/addon/raw-icons/highlight-icon.svg b/packages/boxel-ui/raw-icons/highlight-icon.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/highlight-icon.svg rename to packages/boxel-ui/raw-icons/highlight-icon.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-circle-selected.svg b/packages/boxel-ui/raw-icons/icon-circle-selected.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-circle-selected.svg rename to packages/boxel-ui/raw-icons/icon-circle-selected.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-circle.svg b/packages/boxel-ui/raw-icons/icon-circle.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-circle.svg rename to packages/boxel-ui/raw-icons/icon-circle.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-code.svg b/packages/boxel-ui/raw-icons/icon-code.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-code.svg rename to packages/boxel-ui/raw-icons/icon-code.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-funnel.svg b/packages/boxel-ui/raw-icons/icon-funnel.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-funnel.svg rename to packages/boxel-ui/raw-icons/icon-funnel.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-globe.svg b/packages/boxel-ui/raw-icons/icon-globe.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-globe.svg rename to packages/boxel-ui/raw-icons/icon-globe.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-grid.svg b/packages/boxel-ui/raw-icons/icon-grid.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-grid.svg rename to packages/boxel-ui/raw-icons/icon-grid.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-hexagon.svg b/packages/boxel-ui/raw-icons/icon-hexagon.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-hexagon.svg rename to packages/boxel-ui/raw-icons/icon-hexagon.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-inherit.svg b/packages/boxel-ui/raw-icons/icon-inherit.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-inherit.svg rename to packages/boxel-ui/raw-icons/icon-inherit.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-link.svg b/packages/boxel-ui/raw-icons/icon-link.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-link.svg rename to packages/boxel-ui/raw-icons/icon-link.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-list.svg b/packages/boxel-ui/raw-icons/icon-list.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-list.svg rename to packages/boxel-ui/raw-icons/icon-list.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-minus-circle.svg b/packages/boxel-ui/raw-icons/icon-minus-circle.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-minus-circle.svg rename to packages/boxel-ui/raw-icons/icon-minus-circle.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-pencil-crossed-out.svg b/packages/boxel-ui/raw-icons/icon-pencil-crossed-out.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-pencil-crossed-out.svg rename to packages/boxel-ui/raw-icons/icon-pencil-crossed-out.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-pencil-not-crossed-out.svg b/packages/boxel-ui/raw-icons/icon-pencil-not-crossed-out.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-pencil-not-crossed-out.svg rename to packages/boxel-ui/raw-icons/icon-pencil-not-crossed-out.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-pencil.svg b/packages/boxel-ui/raw-icons/icon-pencil.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-pencil.svg rename to packages/boxel-ui/raw-icons/icon-pencil.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-plus-circle.svg b/packages/boxel-ui/raw-icons/icon-plus-circle.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-plus-circle.svg rename to packages/boxel-ui/raw-icons/icon-plus-circle.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-plus-thin.svg b/packages/boxel-ui/raw-icons/icon-plus-thin.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-plus-thin.svg rename to packages/boxel-ui/raw-icons/icon-plus-thin.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-plus.svg b/packages/boxel-ui/raw-icons/icon-plus.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-plus.svg rename to packages/boxel-ui/raw-icons/icon-plus.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-search-thick.svg b/packages/boxel-ui/raw-icons/icon-search-thick.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-search-thick.svg rename to packages/boxel-ui/raw-icons/icon-search-thick.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-search.svg b/packages/boxel-ui/raw-icons/icon-search.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-search.svg rename to packages/boxel-ui/raw-icons/icon-search.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-trash.svg b/packages/boxel-ui/raw-icons/icon-trash.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-trash.svg rename to packages/boxel-ui/raw-icons/icon-trash.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-turn-down-right.svg b/packages/boxel-ui/raw-icons/icon-turn-down-right.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-turn-down-right.svg rename to packages/boxel-ui/raw-icons/icon-turn-down-right.svg diff --git a/packages/boxel-ui/addon/raw-icons/icon-x.svg b/packages/boxel-ui/raw-icons/icon-x.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/icon-x.svg rename to packages/boxel-ui/raw-icons/icon-x.svg diff --git a/packages/boxel-ui/addon/raw-icons/image-placeholder.svg b/packages/boxel-ui/raw-icons/image-placeholder.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/image-placeholder.svg rename to packages/boxel-ui/raw-icons/image-placeholder.svg diff --git a/packages/boxel-ui/addon/raw-icons/isolated.svg b/packages/boxel-ui/raw-icons/isolated.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/isolated.svg rename to packages/boxel-ui/raw-icons/isolated.svg diff --git a/packages/boxel-ui/addon/raw-icons/loading-indicator.svg b/packages/boxel-ui/raw-icons/loading-indicator.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/loading-indicator.svg rename to packages/boxel-ui/raw-icons/loading-indicator.svg diff --git a/packages/boxel-ui/addon/raw-icons/lock.svg b/packages/boxel-ui/raw-icons/lock.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/lock.svg rename to packages/boxel-ui/raw-icons/lock.svg diff --git a/packages/boxel-ui/addon/raw-icons/profile.svg b/packages/boxel-ui/raw-icons/profile.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/profile.svg rename to packages/boxel-ui/raw-icons/profile.svg diff --git a/packages/boxel-ui/addon/raw-icons/publish-site-icon.svg b/packages/boxel-ui/raw-icons/publish-site-icon.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/publish-site-icon.svg rename to packages/boxel-ui/raw-icons/publish-site-icon.svg diff --git a/packages/boxel-ui/addon/raw-icons/rows-4.svg b/packages/boxel-ui/raw-icons/rows-4.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/rows-4.svg rename to packages/boxel-ui/raw-icons/rows-4.svg diff --git a/packages/boxel-ui/addon/raw-icons/select-all.svg b/packages/boxel-ui/raw-icons/select-all.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/select-all.svg rename to packages/boxel-ui/raw-icons/select-all.svg diff --git a/packages/boxel-ui/addon/raw-icons/send.svg b/packages/boxel-ui/raw-icons/send.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/send.svg rename to packages/boxel-ui/raw-icons/send.svg diff --git a/packages/boxel-ui/addon/raw-icons/sparkle.svg b/packages/boxel-ui/raw-icons/sparkle.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/sparkle.svg rename to packages/boxel-ui/raw-icons/sparkle.svg diff --git a/packages/boxel-ui/addon/raw-icons/star-filled.svg b/packages/boxel-ui/raw-icons/star-filled.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/star-filled.svg rename to packages/boxel-ui/raw-icons/star-filled.svg diff --git a/packages/boxel-ui/addon/raw-icons/star-half-fill.svg b/packages/boxel-ui/raw-icons/star-half-fill.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/star-half-fill.svg rename to packages/boxel-ui/raw-icons/star-half-fill.svg diff --git a/packages/boxel-ui/addon/raw-icons/star.svg b/packages/boxel-ui/raw-icons/star.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/star.svg rename to packages/boxel-ui/raw-icons/star.svg diff --git a/packages/boxel-ui/addon/raw-icons/success-bordered.svg b/packages/boxel-ui/raw-icons/success-bordered.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/success-bordered.svg rename to packages/boxel-ui/raw-icons/success-bordered.svg diff --git a/packages/boxel-ui/addon/raw-icons/three-dots-horizontal.svg b/packages/boxel-ui/raw-icons/three-dots-horizontal.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/three-dots-horizontal.svg rename to packages/boxel-ui/raw-icons/three-dots-horizontal.svg diff --git a/packages/boxel-ui/addon/raw-icons/triangle-left.svg b/packages/boxel-ui/raw-icons/triangle-left.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/triangle-left.svg rename to packages/boxel-ui/raw-icons/triangle-left.svg diff --git a/packages/boxel-ui/addon/raw-icons/triangle-right.svg b/packages/boxel-ui/raw-icons/triangle-right.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/triangle-right.svg rename to packages/boxel-ui/raw-icons/triangle-right.svg diff --git a/packages/boxel-ui/addon/raw-icons/upload.svg b/packages/boxel-ui/raw-icons/upload.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/upload.svg rename to packages/boxel-ui/raw-icons/upload.svg diff --git a/packages/boxel-ui/addon/raw-icons/warning-triangle-filled.svg b/packages/boxel-ui/raw-icons/warning-triangle-filled.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/warning-triangle-filled.svg rename to packages/boxel-ui/raw-icons/warning-triangle-filled.svg diff --git a/packages/boxel-ui/addon/raw-icons/warning.svg b/packages/boxel-ui/raw-icons/warning.svg similarity index 100% rename from packages/boxel-ui/addon/raw-icons/warning.svg rename to packages/boxel-ui/raw-icons/warning.svg diff --git a/packages/boxel-ui/addon/rollup.config.mjs b/packages/boxel-ui/rollup.config.mjs similarity index 100% rename from packages/boxel-ui/addon/rollup.config.mjs rename to packages/boxel-ui/rollup.config.mjs diff --git a/packages/boxel-ui/addon/src/components.gts b/packages/boxel-ui/src/components.gts similarity index 100% rename from packages/boxel-ui/addon/src/components.gts rename to packages/boxel-ui/src/components.gts diff --git a/packages/boxel-ui/addon/src/components/accordion/index.gts b/packages/boxel-ui/src/components/accordion/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/accordion/index.gts rename to packages/boxel-ui/src/components/accordion/index.gts diff --git a/packages/boxel-ui/addon/src/components/accordion/item/index.gts b/packages/boxel-ui/src/components/accordion/item/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/accordion/item/index.gts rename to packages/boxel-ui/src/components/accordion/item/index.gts diff --git a/packages/boxel-ui/addon/src/components/accordion/usage.gts b/packages/boxel-ui/src/components/accordion/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/accordion/usage.gts rename to packages/boxel-ui/src/components/accordion/usage.gts diff --git a/packages/boxel-ui/addon/src/components/add-button/index.gts b/packages/boxel-ui/src/components/add-button/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/add-button/index.gts rename to packages/boxel-ui/src/components/add-button/index.gts diff --git a/packages/boxel-ui/addon/src/components/add-button/usage.gts b/packages/boxel-ui/src/components/add-button/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/add-button/usage.gts rename to packages/boxel-ui/src/components/add-button/usage.gts diff --git a/packages/boxel-ui/addon/src/components/alert/index.gts b/packages/boxel-ui/src/components/alert/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/alert/index.gts rename to packages/boxel-ui/src/components/alert/index.gts diff --git a/packages/boxel-ui/addon/src/components/alert/usage.gts b/packages/boxel-ui/src/components/alert/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/alert/usage.gts rename to packages/boxel-ui/src/components/alert/usage.gts diff --git a/packages/boxel-ui/addon/src/components/avatar/index.gts b/packages/boxel-ui/src/components/avatar/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/avatar/index.gts rename to packages/boxel-ui/src/components/avatar/index.gts diff --git a/packages/boxel-ui/addon/src/components/avatar/usage.gts b/packages/boxel-ui/src/components/avatar/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/avatar/usage.gts rename to packages/boxel-ui/src/components/avatar/usage.gts diff --git a/packages/boxel-ui/addon/src/components/basic-fitted/index.gts b/packages/boxel-ui/src/components/basic-fitted/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/basic-fitted/index.gts rename to packages/boxel-ui/src/components/basic-fitted/index.gts diff --git a/packages/boxel-ui/addon/src/components/basic-fitted/usage.gts b/packages/boxel-ui/src/components/basic-fitted/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/basic-fitted/usage.gts rename to packages/boxel-ui/src/components/basic-fitted/usage.gts diff --git a/packages/boxel-ui/addon/src/components/broken-link/index.gts b/packages/boxel-ui/src/components/broken-link/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/broken-link/index.gts rename to packages/boxel-ui/src/components/broken-link/index.gts diff --git a/packages/boxel-ui/addon/src/components/broken-link/usage.gts b/packages/boxel-ui/src/components/broken-link/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/broken-link/usage.gts rename to packages/boxel-ui/src/components/broken-link/usage.gts diff --git a/packages/boxel-ui/addon/src/components/button/index.gts b/packages/boxel-ui/src/components/button/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/button/index.gts rename to packages/boxel-ui/src/components/button/index.gts diff --git a/packages/boxel-ui/addon/src/components/button/usage.gts b/packages/boxel-ui/src/components/button/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/button/usage.gts rename to packages/boxel-ui/src/components/button/usage.gts diff --git a/packages/boxel-ui/addon/src/components/card-container/index.gts b/packages/boxel-ui/src/components/card-container/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/card-container/index.gts rename to packages/boxel-ui/src/components/card-container/index.gts diff --git a/packages/boxel-ui/addon/src/components/card-container/usage.gts b/packages/boxel-ui/src/components/card-container/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/card-container/usage.gts rename to packages/boxel-ui/src/components/card-container/usage.gts diff --git a/packages/boxel-ui/addon/src/components/card-header/index.gts b/packages/boxel-ui/src/components/card-header/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/card-header/index.gts rename to packages/boxel-ui/src/components/card-header/index.gts diff --git a/packages/boxel-ui/addon/src/components/card-header/usage.gts b/packages/boxel-ui/src/components/card-header/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/card-header/usage.gts rename to packages/boxel-ui/src/components/card-header/usage.gts diff --git a/packages/boxel-ui/addon/src/components/circle-spinner/index.gts b/packages/boxel-ui/src/components/circle-spinner/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/circle-spinner/index.gts rename to packages/boxel-ui/src/components/circle-spinner/index.gts diff --git a/packages/boxel-ui/addon/src/components/circle-spinner/usage.gts b/packages/boxel-ui/src/components/circle-spinner/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/circle-spinner/usage.gts rename to packages/boxel-ui/src/components/circle-spinner/usage.gts diff --git a/packages/boxel-ui/addon/src/components/color-palette/index.gts b/packages/boxel-ui/src/components/color-palette/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/color-palette/index.gts rename to packages/boxel-ui/src/components/color-palette/index.gts diff --git a/packages/boxel-ui/addon/src/components/color-palette/usage.gts b/packages/boxel-ui/src/components/color-palette/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/color-palette/usage.gts rename to packages/boxel-ui/src/components/color-palette/usage.gts diff --git a/packages/boxel-ui/addon/src/components/color-picker/index.gts b/packages/boxel-ui/src/components/color-picker/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/color-picker/index.gts rename to packages/boxel-ui/src/components/color-picker/index.gts diff --git a/packages/boxel-ui/addon/src/components/color-picker/usage.gts b/packages/boxel-ui/src/components/color-picker/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/color-picker/usage.gts rename to packages/boxel-ui/src/components/color-picker/usage.gts diff --git a/packages/boxel-ui/addon/src/components/container/index.gts b/packages/boxel-ui/src/components/container/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/container/index.gts rename to packages/boxel-ui/src/components/container/index.gts diff --git a/packages/boxel-ui/addon/src/components/container/usage.gts b/packages/boxel-ui/src/components/container/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/container/usage.gts rename to packages/boxel-ui/src/components/container/usage.gts diff --git a/packages/boxel-ui/addon/src/components/context-button/index.gts b/packages/boxel-ui/src/components/context-button/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/context-button/index.gts rename to packages/boxel-ui/src/components/context-button/index.gts diff --git a/packages/boxel-ui/addon/src/components/context-button/usage.gts b/packages/boxel-ui/src/components/context-button/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/context-button/usage.gts rename to packages/boxel-ui/src/components/context-button/usage.gts diff --git a/packages/boxel-ui/addon/src/components/copy-button/index.gts b/packages/boxel-ui/src/components/copy-button/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/copy-button/index.gts rename to packages/boxel-ui/src/components/copy-button/index.gts diff --git a/packages/boxel-ui/addon/src/components/copy-button/usage.gts b/packages/boxel-ui/src/components/copy-button/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/copy-button/usage.gts rename to packages/boxel-ui/src/components/copy-button/usage.gts diff --git a/packages/boxel-ui/addon/src/components/date-range-picker/index.gts b/packages/boxel-ui/src/components/date-range-picker/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/date-range-picker/index.gts rename to packages/boxel-ui/src/components/date-range-picker/index.gts diff --git a/packages/boxel-ui/addon/src/components/date-range-picker/setup.gts b/packages/boxel-ui/src/components/date-range-picker/setup.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/date-range-picker/setup.gts rename to packages/boxel-ui/src/components/date-range-picker/setup.gts diff --git a/packages/boxel-ui/addon/src/components/date-range-picker/usage.gts b/packages/boxel-ui/src/components/date-range-picker/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/date-range-picker/usage.gts rename to packages/boxel-ui/src/components/date-range-picker/usage.gts diff --git a/packages/boxel-ui/addon/src/components/drag-and-drop/index.gts b/packages/boxel-ui/src/components/drag-and-drop/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/drag-and-drop/index.gts rename to packages/boxel-ui/src/components/drag-and-drop/index.gts diff --git a/packages/boxel-ui/addon/src/components/drag-and-drop/usage.gts b/packages/boxel-ui/src/components/drag-and-drop/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/drag-and-drop/usage.gts rename to packages/boxel-ui/src/components/drag-and-drop/usage.gts diff --git a/packages/boxel-ui/addon/src/components/dropdown/index.gts b/packages/boxel-ui/src/components/dropdown/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/dropdown/index.gts rename to packages/boxel-ui/src/components/dropdown/index.gts diff --git a/packages/boxel-ui/addon/src/components/dropdown/trigger/index.gts b/packages/boxel-ui/src/components/dropdown/trigger/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/dropdown/trigger/index.gts rename to packages/boxel-ui/src/components/dropdown/trigger/index.gts diff --git a/packages/boxel-ui/addon/src/components/dropdown/trigger/usage.gts b/packages/boxel-ui/src/components/dropdown/trigger/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/dropdown/trigger/usage.gts rename to packages/boxel-ui/src/components/dropdown/trigger/usage.gts diff --git a/packages/boxel-ui/addon/src/components/dropdown/usage.gts b/packages/boxel-ui/src/components/dropdown/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/dropdown/usage.gts rename to packages/boxel-ui/src/components/dropdown/usage.gts diff --git a/packages/boxel-ui/addon/src/components/email-input/index.gts b/packages/boxel-ui/src/components/email-input/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/email-input/index.gts rename to packages/boxel-ui/src/components/email-input/index.gts diff --git a/packages/boxel-ui/addon/src/components/email-input/usage.gts b/packages/boxel-ui/src/components/email-input/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/email-input/usage.gts rename to packages/boxel-ui/src/components/email-input/usage.gts diff --git a/packages/boxel-ui/addon/src/components/entity-icon-display/index.gts b/packages/boxel-ui/src/components/entity-icon-display/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/entity-icon-display/index.gts rename to packages/boxel-ui/src/components/entity-icon-display/index.gts diff --git a/packages/boxel-ui/addon/src/components/entity-icon-display/usage.gts b/packages/boxel-ui/src/components/entity-icon-display/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/entity-icon-display/usage.gts rename to packages/boxel-ui/src/components/entity-icon-display/usage.gts diff --git a/packages/boxel-ui/addon/src/components/entity-thumbnail-display/index.gts b/packages/boxel-ui/src/components/entity-thumbnail-display/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/entity-thumbnail-display/index.gts rename to packages/boxel-ui/src/components/entity-thumbnail-display/index.gts diff --git a/packages/boxel-ui/addon/src/components/entity-thumbnail-display/usage.gts b/packages/boxel-ui/src/components/entity-thumbnail-display/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/entity-thumbnail-display/usage.gts rename to packages/boxel-ui/src/components/entity-thumbnail-display/usage.gts diff --git a/packages/boxel-ui/addon/src/components/field-container/index.gts b/packages/boxel-ui/src/components/field-container/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/field-container/index.gts rename to packages/boxel-ui/src/components/field-container/index.gts diff --git a/packages/boxel-ui/addon/src/components/field-container/usage.gts b/packages/boxel-ui/src/components/field-container/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/field-container/usage.gts rename to packages/boxel-ui/src/components/field-container/usage.gts diff --git a/packages/boxel-ui/addon/src/components/filter-list/index.gts b/packages/boxel-ui/src/components/filter-list/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/filter-list/index.gts rename to packages/boxel-ui/src/components/filter-list/index.gts diff --git a/packages/boxel-ui/addon/src/components/filter-list/usage.gts b/packages/boxel-ui/src/components/filter-list/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/filter-list/usage.gts rename to packages/boxel-ui/src/components/filter-list/usage.gts diff --git a/packages/boxel-ui/addon/src/components/fitted-card-container/index.gts b/packages/boxel-ui/src/components/fitted-card-container/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/fitted-card-container/index.gts rename to packages/boxel-ui/src/components/fitted-card-container/index.gts diff --git a/packages/boxel-ui/addon/src/components/fitted-card-container/usage.gts b/packages/boxel-ui/src/components/fitted-card-container/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/fitted-card-container/usage.gts rename to packages/boxel-ui/src/components/fitted-card-container/usage.gts diff --git a/packages/boxel-ui/addon/src/components/fitted-card/index.gts b/packages/boxel-ui/src/components/fitted-card/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/fitted-card/index.gts rename to packages/boxel-ui/src/components/fitted-card/index.gts diff --git a/packages/boxel-ui/addon/src/components/fitted-card/usage-preview.gts b/packages/boxel-ui/src/components/fitted-card/usage-preview.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/fitted-card/usage-preview.gts rename to packages/boxel-ui/src/components/fitted-card/usage-preview.gts diff --git a/packages/boxel-ui/addon/src/components/fitted-card/usage.gts b/packages/boxel-ui/src/components/fitted-card/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/fitted-card/usage.gts rename to packages/boxel-ui/src/components/fitted-card/usage.gts diff --git a/packages/boxel-ui/addon/src/components/grid-container/grid-item-container/index.gts b/packages/boxel-ui/src/components/grid-container/grid-item-container/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/grid-container/grid-item-container/index.gts rename to packages/boxel-ui/src/components/grid-container/grid-item-container/index.gts diff --git a/packages/boxel-ui/addon/src/components/grid-container/index.gts b/packages/boxel-ui/src/components/grid-container/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/grid-container/index.gts rename to packages/boxel-ui/src/components/grid-container/index.gts diff --git a/packages/boxel-ui/addon/src/components/grid-container/usage.gts b/packages/boxel-ui/src/components/grid-container/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/grid-container/usage.gts rename to packages/boxel-ui/src/components/grid-container/usage.gts diff --git a/packages/boxel-ui/addon/src/components/header/index.gts b/packages/boxel-ui/src/components/header/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/header/index.gts rename to packages/boxel-ui/src/components/header/index.gts diff --git a/packages/boxel-ui/addon/src/components/header/usage.gts b/packages/boxel-ui/src/components/header/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/header/usage.gts rename to packages/boxel-ui/src/components/header/usage.gts diff --git a/packages/boxel-ui/addon/src/components/icon-button/index.gts b/packages/boxel-ui/src/components/icon-button/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/icon-button/index.gts rename to packages/boxel-ui/src/components/icon-button/index.gts diff --git a/packages/boxel-ui/addon/src/components/icon-button/usage.gts b/packages/boxel-ui/src/components/icon-button/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/icon-button/usage.gts rename to packages/boxel-ui/src/components/icon-button/usage.gts diff --git a/packages/boxel-ui/addon/src/components/input-group/accessories/index.gts b/packages/boxel-ui/src/components/input-group/accessories/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/input-group/accessories/index.gts rename to packages/boxel-ui/src/components/input-group/accessories/index.gts diff --git a/packages/boxel-ui/addon/src/components/input-group/controls/index.gts b/packages/boxel-ui/src/components/input-group/controls/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/input-group/controls/index.gts rename to packages/boxel-ui/src/components/input-group/controls/index.gts diff --git a/packages/boxel-ui/addon/src/components/input-group/index.gts b/packages/boxel-ui/src/components/input-group/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/input-group/index.gts rename to packages/boxel-ui/src/components/input-group/index.gts diff --git a/packages/boxel-ui/addon/src/components/input-group/usage.gts b/packages/boxel-ui/src/components/input-group/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/input-group/usage.gts rename to packages/boxel-ui/src/components/input-group/usage.gts diff --git a/packages/boxel-ui/addon/src/components/input/index.gts b/packages/boxel-ui/src/components/input/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/input/index.gts rename to packages/boxel-ui/src/components/input/index.gts diff --git a/packages/boxel-ui/addon/src/components/input/usage.gts b/packages/boxel-ui/src/components/input/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/input/usage.gts rename to packages/boxel-ui/src/components/input/usage.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/card.gts b/packages/boxel-ui/src/components/kanban/card.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/card.gts rename to packages/boxel-ui/src/components/kanban/card.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/column-config-sidebar-row.gts b/packages/boxel-ui/src/components/kanban/column-config-sidebar-row.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/column-config-sidebar-row.gts rename to packages/boxel-ui/src/components/kanban/column-config-sidebar-row.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/column-config-sidebar.gts b/packages/boxel-ui/src/components/kanban/column-config-sidebar.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/column-config-sidebar.gts rename to packages/boxel-ui/src/components/kanban/column-config-sidebar.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/column-header.gts b/packages/boxel-ui/src/components/kanban/column-header.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/column-header.gts rename to packages/boxel-ui/src/components/kanban/column-header.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/drag.gts b/packages/boxel-ui/src/components/kanban/drag.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/drag.gts rename to packages/boxel-ui/src/components/kanban/drag.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/engine.ts b/packages/boxel-ui/src/components/kanban/engine.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/engine.ts rename to packages/boxel-ui/src/components/kanban/engine.ts diff --git a/packages/boxel-ui/addon/src/components/kanban/ghost.gts b/packages/boxel-ui/src/components/kanban/ghost.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/ghost.gts rename to packages/boxel-ui/src/components/kanban/ghost.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/index.gts b/packages/boxel-ui/src/components/kanban/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/index.gts rename to packages/boxel-ui/src/components/kanban/index.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/modifiers.gts b/packages/boxel-ui/src/components/kanban/modifiers.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/modifiers.gts rename to packages/boxel-ui/src/components/kanban/modifiers.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/plane-inner.gts b/packages/boxel-ui/src/components/kanban/plane-inner.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/plane-inner.gts rename to packages/boxel-ui/src/components/kanban/plane-inner.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/plane.gts b/packages/boxel-ui/src/components/kanban/plane.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/plane.gts rename to packages/boxel-ui/src/components/kanban/plane.gts diff --git a/packages/boxel-ui/addon/src/components/kanban/usage.gts b/packages/boxel-ui/src/components/kanban/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/kanban/usage.gts rename to packages/boxel-ui/src/components/kanban/usage.gts diff --git a/packages/boxel-ui/addon/src/components/label/index.gts b/packages/boxel-ui/src/components/label/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/label/index.gts rename to packages/boxel-ui/src/components/label/index.gts diff --git a/packages/boxel-ui/addon/src/components/loading-indicator/index.gts b/packages/boxel-ui/src/components/loading-indicator/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/loading-indicator/index.gts rename to packages/boxel-ui/src/components/loading-indicator/index.gts diff --git a/packages/boxel-ui/addon/src/components/loading-indicator/usage.gts b/packages/boxel-ui/src/components/loading-indicator/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/loading-indicator/usage.gts rename to packages/boxel-ui/src/components/loading-indicator/usage.gts diff --git a/packages/boxel-ui/addon/src/components/menu/index.gts b/packages/boxel-ui/src/components/menu/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/menu/index.gts rename to packages/boxel-ui/src/components/menu/index.gts diff --git a/packages/boxel-ui/addon/src/components/menu/usage.gts b/packages/boxel-ui/src/components/menu/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/menu/usage.gts rename to packages/boxel-ui/src/components/menu/usage.gts diff --git a/packages/boxel-ui/addon/src/components/message/index.gts b/packages/boxel-ui/src/components/message/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/message/index.gts rename to packages/boxel-ui/src/components/message/index.gts diff --git a/packages/boxel-ui/addon/src/components/message/usage.gts b/packages/boxel-ui/src/components/message/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/message/usage.gts rename to packages/boxel-ui/src/components/message/usage.gts diff --git a/packages/boxel-ui/addon/src/components/modal/index.gts b/packages/boxel-ui/src/components/modal/index.gts similarity index 98% rename from packages/boxel-ui/addon/src/components/modal/index.gts rename to packages/boxel-ui/src/components/modal/index.gts index a3ca36c343b..f5d2b1c6f7b 100644 --- a/packages/boxel-ui/addon/src/components/modal/index.gts +++ b/packages/boxel-ui/src/components/modal/index.gts @@ -1,8 +1,8 @@ import { on } from '@ember/modifier'; import Component from '@glimmer/component'; -import setBodyClass from 'ember-set-body-class/helpers/set-body-class'; import cssVar from '../../helpers/css-var.ts'; +import setBodyClass from '../../helpers/set-body-class.ts'; import { eq } from '../../helpers/truth-helpers.ts'; interface Signature { diff --git a/packages/boxel-ui/addon/src/components/modal/usage.gts b/packages/boxel-ui/src/components/modal/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/modal/usage.gts rename to packages/boxel-ui/src/components/modal/usage.gts diff --git a/packages/boxel-ui/addon/src/components/multi-select/after-options.gts b/packages/boxel-ui/src/components/multi-select/after-options.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/multi-select/after-options.gts rename to packages/boxel-ui/src/components/multi-select/after-options.gts diff --git a/packages/boxel-ui/addon/src/components/multi-select/index.gts b/packages/boxel-ui/src/components/multi-select/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/multi-select/index.gts rename to packages/boxel-ui/src/components/multi-select/index.gts diff --git a/packages/boxel-ui/addon/src/components/multi-select/selected-item.gts b/packages/boxel-ui/src/components/multi-select/selected-item.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/multi-select/selected-item.gts rename to packages/boxel-ui/src/components/multi-select/selected-item.gts diff --git a/packages/boxel-ui/addon/src/components/multi-select/trigger.gts b/packages/boxel-ui/src/components/multi-select/trigger.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/multi-select/trigger.gts rename to packages/boxel-ui/src/components/multi-select/trigger.gts diff --git a/packages/boxel-ui/addon/src/components/multi-select/usage.gts b/packages/boxel-ui/src/components/multi-select/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/multi-select/usage.gts rename to packages/boxel-ui/src/components/multi-select/usage.gts diff --git a/packages/boxel-ui/addon/src/components/phone-input/index.gts b/packages/boxel-ui/src/components/phone-input/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/phone-input/index.gts rename to packages/boxel-ui/src/components/phone-input/index.gts diff --git a/packages/boxel-ui/addon/src/components/phone-input/usage.gts b/packages/boxel-ui/src/components/phone-input/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/phone-input/usage.gts rename to packages/boxel-ui/src/components/phone-input/usage.gts diff --git a/packages/boxel-ui/addon/src/components/picker/before-options-with-search.gts b/packages/boxel-ui/src/components/picker/before-options-with-search.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/picker/before-options-with-search.gts rename to packages/boxel-ui/src/components/picker/before-options-with-search.gts diff --git a/packages/boxel-ui/addon/src/components/picker/index.gts b/packages/boxel-ui/src/components/picker/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/picker/index.gts rename to packages/boxel-ui/src/components/picker/index.gts diff --git a/packages/boxel-ui/addon/src/components/picker/option-row.gts b/packages/boxel-ui/src/components/picker/option-row.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/picker/option-row.gts rename to packages/boxel-ui/src/components/picker/option-row.gts diff --git a/packages/boxel-ui/addon/src/components/picker/selected-item.gts b/packages/boxel-ui/src/components/picker/selected-item.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/picker/selected-item.gts rename to packages/boxel-ui/src/components/picker/selected-item.gts diff --git a/packages/boxel-ui/addon/src/components/picker/trigger-labeled.gts b/packages/boxel-ui/src/components/picker/trigger-labeled.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/picker/trigger-labeled.gts rename to packages/boxel-ui/src/components/picker/trigger-labeled.gts diff --git a/packages/boxel-ui/addon/src/components/picker/usage.gts b/packages/boxel-ui/src/components/picker/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/picker/usage.gts rename to packages/boxel-ui/src/components/picker/usage.gts diff --git a/packages/boxel-ui/addon/src/components/pill/index.gts b/packages/boxel-ui/src/components/pill/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/pill/index.gts rename to packages/boxel-ui/src/components/pill/index.gts diff --git a/packages/boxel-ui/addon/src/components/pill/usage.gts b/packages/boxel-ui/src/components/pill/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/pill/usage.gts rename to packages/boxel-ui/src/components/pill/usage.gts diff --git a/packages/boxel-ui/addon/src/components/progress-bar/index.gts b/packages/boxel-ui/src/components/progress-bar/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/progress-bar/index.gts rename to packages/boxel-ui/src/components/progress-bar/index.gts diff --git a/packages/boxel-ui/addon/src/components/progress-bar/usage.gts b/packages/boxel-ui/src/components/progress-bar/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/progress-bar/usage.gts rename to packages/boxel-ui/src/components/progress-bar/usage.gts diff --git a/packages/boxel-ui/addon/src/components/progress-radial/index.gts b/packages/boxel-ui/src/components/progress-radial/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/progress-radial/index.gts rename to packages/boxel-ui/src/components/progress-radial/index.gts diff --git a/packages/boxel-ui/addon/src/components/progress-radial/usage.gts b/packages/boxel-ui/src/components/progress-radial/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/progress-radial/usage.gts rename to packages/boxel-ui/src/components/progress-radial/usage.gts diff --git a/packages/boxel-ui/addon/src/components/radio-input/index.gts b/packages/boxel-ui/src/components/radio-input/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/radio-input/index.gts rename to packages/boxel-ui/src/components/radio-input/index.gts diff --git a/packages/boxel-ui/addon/src/components/radio-input/item.gts b/packages/boxel-ui/src/components/radio-input/item.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/radio-input/item.gts rename to packages/boxel-ui/src/components/radio-input/item.gts diff --git a/packages/boxel-ui/addon/src/components/radio-input/usage.gts b/packages/boxel-ui/src/components/radio-input/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/radio-input/usage.gts rename to packages/boxel-ui/src/components/radio-input/usage.gts diff --git a/packages/boxel-ui/addon/src/components/realm-icon/index.gts b/packages/boxel-ui/src/components/realm-icon/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/realm-icon/index.gts rename to packages/boxel-ui/src/components/realm-icon/index.gts diff --git a/packages/boxel-ui/addon/src/components/realm-icon/usage.gts b/packages/boxel-ui/src/components/realm-icon/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/realm-icon/usage.gts rename to packages/boxel-ui/src/components/realm-icon/usage.gts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/handle.gts b/packages/boxel-ui/src/components/resizable-panel-group/handle.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/handle.gts rename to packages/boxel-ui/src/components/resizable-panel-group/handle.gts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/index.gts b/packages/boxel-ui/src/components/resizable-panel-group/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/index.gts rename to packages/boxel-ui/src/components/resizable-panel-group/index.gts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/panel.gts b/packages/boxel-ui/src/components/resizable-panel-group/panel.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/panel.gts rename to packages/boxel-ui/src/components/resizable-panel-group/panel.gts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/usage.gts b/packages/boxel-ui/src/components/resizable-panel-group/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/usage.gts rename to packages/boxel-ui/src/components/resizable-panel-group/usage.gts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/adjust-layout-by-delta.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/adjust-layout-by-delta.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/adjust-layout-by-delta.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/adjust-layout-by-delta.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/assert.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/assert.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/assert.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/assert.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/calculate-delta-percentage.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/calculate-delta-percentage.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/calculate-delta-percentage.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/calculate-delta-percentage.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/calculate-unsafe-default-layout.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/calculate-unsafe-default-layout.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/calculate-unsafe-default-layout.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/calculate-unsafe-default-layout.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/compare-layouts.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/compare-layouts.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/compare-layouts.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/compare-layouts.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/const.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/const.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/const.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/const.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/determine-pivot-indices.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/determine-pivot-indices.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/determine-pivot-indices.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/determine-pivot-indices.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-panel-element.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-panel-element.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-panel-element.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-panel-element.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-panel-elements-for-group.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-panel-elements-for-group.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-panel-elements-for-group.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-panel-elements-for-group.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-panel-group-element.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-panel-group-element.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-panel-group-element.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-panel-group-element.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-resize-handle-element-index.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-resize-handle-element-index.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-resize-handle-element-index.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-resize-handle-element-index.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-resize-handle-element.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-resize-handle-element.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-resize-handle-element.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-resize-handle-element.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-resize-handle-elements-for-group.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-resize-handle-elements-for-group.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/dom/get-resize-handle-elements-for-group.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/dom/get-resize-handle-elements-for-group.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/fuzzy-layouts-equal.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/fuzzy-layouts-equal.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/fuzzy-layouts-equal.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/fuzzy-layouts-equal.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/fuzzy-numbers.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/fuzzy-numbers.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/fuzzy-numbers.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/fuzzy-numbers.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/get-resize-event-coordinates.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/get-resize-event-coordinates.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/get-resize-event-coordinates.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/get-resize-event-coordinates.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/get-resize-event-cursor-position.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/get-resize-event-cursor-position.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/get-resize-event-cursor-position.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/get-resize-event-cursor-position.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/panel-resize-handle-registry.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/panel-resize-handle-registry.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/panel-resize-handle-registry.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/panel-resize-handle-registry.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/resize-panel.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/resize-panel.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/resize-panel.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/resize-panel.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/types.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/types.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/types.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/types.ts diff --git a/packages/boxel-ui/addon/src/components/resizable-panel-group/utils/validate-panel-group-layout.ts b/packages/boxel-ui/src/components/resizable-panel-group/utils/validate-panel-group-layout.ts similarity index 100% rename from packages/boxel-ui/addon/src/components/resizable-panel-group/utils/validate-panel-group-layout.ts rename to packages/boxel-ui/src/components/resizable-panel-group/utils/validate-panel-group-layout.ts diff --git a/packages/boxel-ui/addon/src/components/select/index.gts b/packages/boxel-ui/src/components/select/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/select/index.gts rename to packages/boxel-ui/src/components/select/index.gts diff --git a/packages/boxel-ui/addon/src/components/select/trigger.gts b/packages/boxel-ui/src/components/select/trigger.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/select/trigger.gts rename to packages/boxel-ui/src/components/select/trigger.gts diff --git a/packages/boxel-ui/addon/src/components/select/usage.gts b/packages/boxel-ui/src/components/select/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/select/usage.gts rename to packages/boxel-ui/src/components/select/usage.gts diff --git a/packages/boxel-ui/addon/src/components/selection-checkmark/index.gts b/packages/boxel-ui/src/components/selection-checkmark/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/selection-checkmark/index.gts rename to packages/boxel-ui/src/components/selection-checkmark/index.gts diff --git a/packages/boxel-ui/addon/src/components/selection-menu/index.gts b/packages/boxel-ui/src/components/selection-menu/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/selection-menu/index.gts rename to packages/boxel-ui/src/components/selection-menu/index.gts diff --git a/packages/boxel-ui/addon/src/components/selection-menu/usage.gts b/packages/boxel-ui/src/components/selection-menu/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/selection-menu/usage.gts rename to packages/boxel-ui/src/components/selection-menu/usage.gts diff --git a/packages/boxel-ui/addon/src/components/skeleton-placeholder/index.gts b/packages/boxel-ui/src/components/skeleton-placeholder/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/skeleton-placeholder/index.gts rename to packages/boxel-ui/src/components/skeleton-placeholder/index.gts diff --git a/packages/boxel-ui/addon/src/components/skeleton-placeholder/usage.gts b/packages/boxel-ui/src/components/skeleton-placeholder/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/skeleton-placeholder/usage.gts rename to packages/boxel-ui/src/components/skeleton-placeholder/usage.gts diff --git a/packages/boxel-ui/addon/src/components/sort-dropdown/index.gts b/packages/boxel-ui/src/components/sort-dropdown/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/sort-dropdown/index.gts rename to packages/boxel-ui/src/components/sort-dropdown/index.gts diff --git a/packages/boxel-ui/addon/src/components/sort-dropdown/usage.gts b/packages/boxel-ui/src/components/sort-dropdown/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/sort-dropdown/usage.gts rename to packages/boxel-ui/src/components/sort-dropdown/usage.gts diff --git a/packages/boxel-ui/addon/src/components/swatch/index.gts b/packages/boxel-ui/src/components/swatch/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/swatch/index.gts rename to packages/boxel-ui/src/components/swatch/index.gts diff --git a/packages/boxel-ui/addon/src/components/swatch/usage.gts b/packages/boxel-ui/src/components/swatch/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/swatch/usage.gts rename to packages/boxel-ui/src/components/swatch/usage.gts diff --git a/packages/boxel-ui/addon/src/components/switch/index.gts b/packages/boxel-ui/src/components/switch/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/switch/index.gts rename to packages/boxel-ui/src/components/switch/index.gts diff --git a/packages/boxel-ui/addon/src/components/switch/usage.gts b/packages/boxel-ui/src/components/switch/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/switch/usage.gts rename to packages/boxel-ui/src/components/switch/usage.gts diff --git a/packages/boxel-ui/addon/src/components/tabbed-header/index.gts b/packages/boxel-ui/src/components/tabbed-header/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/tabbed-header/index.gts rename to packages/boxel-ui/src/components/tabbed-header/index.gts diff --git a/packages/boxel-ui/addon/src/components/tabbed-header/usage.gts b/packages/boxel-ui/src/components/tabbed-header/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/tabbed-header/usage.gts rename to packages/boxel-ui/src/components/tabbed-header/usage.gts diff --git a/packages/boxel-ui/addon/src/components/tag-list/index.gts b/packages/boxel-ui/src/components/tag-list/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/tag-list/index.gts rename to packages/boxel-ui/src/components/tag-list/index.gts diff --git a/packages/boxel-ui/addon/src/components/tag-list/usage.gts b/packages/boxel-ui/src/components/tag-list/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/tag-list/usage.gts rename to packages/boxel-ui/src/components/tag-list/usage.gts diff --git a/packages/boxel-ui/addon/src/components/tag/index.gts b/packages/boxel-ui/src/components/tag/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/tag/index.gts rename to packages/boxel-ui/src/components/tag/index.gts diff --git a/packages/boxel-ui/addon/src/components/tag/usage.gts b/packages/boxel-ui/src/components/tag/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/tag/usage.gts rename to packages/boxel-ui/src/components/tag/usage.gts diff --git a/packages/boxel-ui/addon/src/components/tooltip/index.gts b/packages/boxel-ui/src/components/tooltip/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/tooltip/index.gts rename to packages/boxel-ui/src/components/tooltip/index.gts diff --git a/packages/boxel-ui/addon/src/components/tooltip/usage.gts b/packages/boxel-ui/src/components/tooltip/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/tooltip/usage.gts rename to packages/boxel-ui/src/components/tooltip/usage.gts diff --git a/packages/boxel-ui/addon/src/components/view-selector/index.gts b/packages/boxel-ui/src/components/view-selector/index.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/view-selector/index.gts rename to packages/boxel-ui/src/components/view-selector/index.gts diff --git a/packages/boxel-ui/addon/src/components/view-selector/usage.gts b/packages/boxel-ui/src/components/view-selector/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/components/view-selector/usage.gts rename to packages/boxel-ui/src/components/view-selector/usage.gts diff --git a/packages/boxel-ui/addon/src/helpers.gts b/packages/boxel-ui/src/helpers.gts similarity index 100% rename from packages/boxel-ui/addon/src/helpers.gts rename to packages/boxel-ui/src/helpers.gts diff --git a/packages/boxel-ui/addon/src/helpers/add-class-to-svg.ts b/packages/boxel-ui/src/helpers/add-class-to-svg.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/add-class-to-svg.ts rename to packages/boxel-ui/src/helpers/add-class-to-svg.ts diff --git a/packages/boxel-ui/addon/src/helpers/clipboard.ts b/packages/boxel-ui/src/helpers/clipboard.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/clipboard.ts rename to packages/boxel-ui/src/helpers/clipboard.ts diff --git a/packages/boxel-ui/addon/src/helpers/cn.ts b/packages/boxel-ui/src/helpers/cn.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/cn.ts rename to packages/boxel-ui/src/helpers/cn.ts diff --git a/packages/boxel-ui/addon/src/helpers/color-tools.ts b/packages/boxel-ui/src/helpers/color-tools.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/color-tools.ts rename to packages/boxel-ui/src/helpers/color-tools.ts diff --git a/packages/boxel-ui/addon/src/helpers/compact.ts b/packages/boxel-ui/src/helpers/compact.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/compact.ts rename to packages/boxel-ui/src/helpers/compact.ts diff --git a/packages/boxel-ui/addon/src/helpers/contrast-color.ts b/packages/boxel-ui/src/helpers/contrast-color.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/contrast-color.ts rename to packages/boxel-ui/src/helpers/contrast-color.ts diff --git a/packages/boxel-ui/addon/src/helpers/css-var.ts b/packages/boxel-ui/src/helpers/css-var.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/css-var.ts rename to packages/boxel-ui/src/helpers/css-var.ts diff --git a/packages/boxel-ui/addon/src/helpers/currency-format.ts b/packages/boxel-ui/src/helpers/currency-format.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/currency-format.ts rename to packages/boxel-ui/src/helpers/currency-format.ts diff --git a/packages/boxel-ui/addon/src/helpers/dayjs-format.ts b/packages/boxel-ui/src/helpers/dayjs-format.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/dayjs-format.ts rename to packages/boxel-ui/src/helpers/dayjs-format.ts diff --git a/packages/boxel-ui/addon/src/helpers/deterministic-color-from-string.ts b/packages/boxel-ui/src/helpers/deterministic-color-from-string.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/deterministic-color-from-string.ts rename to packages/boxel-ui/src/helpers/deterministic-color-from-string.ts diff --git a/packages/boxel-ui/addon/src/helpers/element.ts b/packages/boxel-ui/src/helpers/element.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/element.ts rename to packages/boxel-ui/src/helpers/element.ts diff --git a/packages/boxel-ui/addon/src/helpers/extract-css-variables.ts b/packages/boxel-ui/src/helpers/extract-css-variables.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/extract-css-variables.ts rename to packages/boxel-ui/src/helpers/extract-css-variables.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-age.ts b/packages/boxel-ui/src/helpers/format-age.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-age.ts rename to packages/boxel-ui/src/helpers/format-age.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-countdown.ts b/packages/boxel-ui/src/helpers/format-countdown.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-countdown.ts rename to packages/boxel-ui/src/helpers/format-countdown.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-currency.ts b/packages/boxel-ui/src/helpers/format-currency.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-currency.ts rename to packages/boxel-ui/src/helpers/format-currency.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-date-time.ts b/packages/boxel-ui/src/helpers/format-date-time.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-date-time.ts rename to packages/boxel-ui/src/helpers/format-date-time.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-duration.ts b/packages/boxel-ui/src/helpers/format-duration.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-duration.ts rename to packages/boxel-ui/src/helpers/format-duration.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-file-size.ts b/packages/boxel-ui/src/helpers/format-file-size.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-file-size.ts rename to packages/boxel-ui/src/helpers/format-file-size.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-list.ts b/packages/boxel-ui/src/helpers/format-list.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-list.ts rename to packages/boxel-ui/src/helpers/format-list.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-names.ts b/packages/boxel-ui/src/helpers/format-names.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-names.ts rename to packages/boxel-ui/src/helpers/format-names.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-number.ts b/packages/boxel-ui/src/helpers/format-number.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-number.ts rename to packages/boxel-ui/src/helpers/format-number.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-ordinal.ts b/packages/boxel-ui/src/helpers/format-ordinal.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-ordinal.ts rename to packages/boxel-ui/src/helpers/format-ordinal.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-period.ts b/packages/boxel-ui/src/helpers/format-period.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-period.ts rename to packages/boxel-ui/src/helpers/format-period.ts diff --git a/packages/boxel-ui/addon/src/helpers/format-relative-time.ts b/packages/boxel-ui/src/helpers/format-relative-time.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/format-relative-time.ts rename to packages/boxel-ui/src/helpers/format-relative-time.ts diff --git a/packages/boxel-ui/addon/src/helpers/generate-css-variables.ts b/packages/boxel-ui/src/helpers/generate-css-variables.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/generate-css-variables.ts rename to packages/boxel-ui/src/helpers/generate-css-variables.ts diff --git a/packages/boxel-ui/addon/src/helpers/markdown-escape.ts b/packages/boxel-ui/src/helpers/markdown-escape.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/markdown-escape.ts rename to packages/boxel-ui/src/helpers/markdown-escape.ts diff --git a/packages/boxel-ui/addon/src/helpers/math-helpers.ts b/packages/boxel-ui/src/helpers/math-helpers.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/math-helpers.ts rename to packages/boxel-ui/src/helpers/math-helpers.ts diff --git a/packages/boxel-ui/addon/src/helpers/menu-divider.ts b/packages/boxel-ui/src/helpers/menu-divider.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/menu-divider.ts rename to packages/boxel-ui/src/helpers/menu-divider.ts diff --git a/packages/boxel-ui/addon/src/helpers/menu-item.ts b/packages/boxel-ui/src/helpers/menu-item.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/menu-item.ts rename to packages/boxel-ui/src/helpers/menu-item.ts diff --git a/packages/boxel-ui/addon/src/helpers/optional.ts b/packages/boxel-ui/src/helpers/optional.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/optional.ts rename to packages/boxel-ui/src/helpers/optional.ts diff --git a/packages/boxel-ui/addon/src/helpers/pick.ts b/packages/boxel-ui/src/helpers/pick.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/pick.ts rename to packages/boxel-ui/src/helpers/pick.ts diff --git a/packages/boxel-ui/addon/src/helpers/sanitize-html.ts b/packages/boxel-ui/src/helpers/sanitize-html.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/sanitize-html.ts rename to packages/boxel-ui/src/helpers/sanitize-html.ts diff --git a/packages/boxel-ui/src/helpers/set-body-class.ts b/packages/boxel-ui/src/helpers/set-body-class.ts new file mode 100644 index 00000000000..b457773fb68 --- /dev/null +++ b/packages/boxel-ui/src/helpers/set-body-class.ts @@ -0,0 +1,53 @@ +import Helper from '@ember/component/helper'; + +interface Signature { + Args: { + Positional: [classNames?: string]; + }; + Return: void; +} + +// Reference counts per class name, shared across helper instances so +// concurrent users (e.g. stacked modals) don't clear each other's classes. +const refCounts = new Map(); + +function addNames(names: string[]) { + for (const name of names) { + const count = refCounts.get(name) ?? 0; + refCounts.set(name, count + 1); + if (count === 0) { + document.body.classList.add(name); + } + } +} + +function removeNames(names: string[]) { + for (const name of names) { + const count = refCounts.get(name) ?? 0; + if (count <= 1) { + refCounts.delete(name); + document.body.classList.remove(name); + } else { + refCounts.set(name, count - 1); + } + } +} + +// Adds the given space-separated class names to while the helper is +// rendered, removing them when it is torn down. +export default class SetBodyClass extends Helper { + private current: string[] = []; + + compute([classNames]: [string?]): void { + const next = classNames ? classNames.split(/\s+/).filter(Boolean) : []; + removeNames(this.current); + addNames(next); + this.current = next; + } + + override willDestroy(): void { + super.willDestroy(); + removeNames(this.current); + this.current = []; + } +} diff --git a/packages/boxel-ui/addon/src/helpers/string.ts b/packages/boxel-ui/src/helpers/string.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/string.ts rename to packages/boxel-ui/src/helpers/string.ts diff --git a/packages/boxel-ui/addon/src/helpers/theme-css.ts b/packages/boxel-ui/src/helpers/theme-css.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/theme-css.ts rename to packages/boxel-ui/src/helpers/theme-css.ts diff --git a/packages/boxel-ui/addon/src/helpers/theme-scoped-css.ts b/packages/boxel-ui/src/helpers/theme-scoped-css.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/theme-scoped-css.ts rename to packages/boxel-ui/src/helpers/theme-scoped-css.ts diff --git a/packages/boxel-ui/addon/src/helpers/truth-helpers.ts b/packages/boxel-ui/src/helpers/truth-helpers.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/truth-helpers.ts rename to packages/boxel-ui/src/helpers/truth-helpers.ts diff --git a/packages/boxel-ui/addon/src/helpers/validate-email-format.ts b/packages/boxel-ui/src/helpers/validate-email-format.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/validate-email-format.ts rename to packages/boxel-ui/src/helpers/validate-email-format.ts diff --git a/packages/boxel-ui/addon/src/helpers/validate-phone-format.ts b/packages/boxel-ui/src/helpers/validate-phone-format.ts similarity index 100% rename from packages/boxel-ui/addon/src/helpers/validate-phone-format.ts rename to packages/boxel-ui/src/helpers/validate-phone-format.ts diff --git a/packages/boxel-ui/addon/src/icons.gts b/packages/boxel-ui/src/icons.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons.gts rename to packages/boxel-ui/src/icons.gts diff --git a/packages/boxel-ui/addon/src/icons/ai-bw.gts b/packages/boxel-ui/src/icons/ai-bw.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/ai-bw.gts rename to packages/boxel-ui/src/icons/ai-bw.gts diff --git a/packages/boxel-ui/addon/src/icons/arrow-left.gts b/packages/boxel-ui/src/icons/arrow-left.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/arrow-left.gts rename to packages/boxel-ui/src/icons/arrow-left.gts diff --git a/packages/boxel-ui/addon/src/icons/arrow-right.gts b/packages/boxel-ui/src/icons/arrow-right.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/arrow-right.gts rename to packages/boxel-ui/src/icons/arrow-right.gts diff --git a/packages/boxel-ui/addon/src/icons/arrow-top-left.gts b/packages/boxel-ui/src/icons/arrow-top-left.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/arrow-top-left.gts rename to packages/boxel-ui/src/icons/arrow-top-left.gts diff --git a/packages/boxel-ui/addon/src/icons/arrow-up.gts b/packages/boxel-ui/src/icons/arrow-up.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/arrow-up.gts rename to packages/boxel-ui/src/icons/arrow-up.gts diff --git a/packages/boxel-ui/addon/src/icons/atom.gts b/packages/boxel-ui/src/icons/atom.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/atom.gts rename to packages/boxel-ui/src/icons/atom.gts diff --git a/packages/boxel-ui/addon/src/icons/boxel-icon-with-text.gts b/packages/boxel-ui/src/icons/boxel-icon-with-text.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/boxel-icon-with-text.gts rename to packages/boxel-ui/src/icons/boxel-icon-with-text.gts diff --git a/packages/boxel-ui/addon/src/icons/boxel-icon.gts b/packages/boxel-ui/src/icons/boxel-icon.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/boxel-icon.gts rename to packages/boxel-ui/src/icons/boxel-icon.gts diff --git a/packages/boxel-ui/addon/src/icons/card-definition.gts b/packages/boxel-ui/src/icons/card-definition.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/card-definition.gts rename to packages/boxel-ui/src/icons/card-definition.gts diff --git a/packages/boxel-ui/addon/src/icons/card-instance.gts b/packages/boxel-ui/src/icons/card-instance.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/card-instance.gts rename to packages/boxel-ui/src/icons/card-instance.gts diff --git a/packages/boxel-ui/addon/src/icons/card.gts b/packages/boxel-ui/src/icons/card.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/card.gts rename to packages/boxel-ui/src/icons/card.gts diff --git a/packages/boxel-ui/addon/src/icons/cardbot-lg.gts b/packages/boxel-ui/src/icons/cardbot-lg.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/cardbot-lg.gts rename to packages/boxel-ui/src/icons/cardbot-lg.gts diff --git a/packages/boxel-ui/addon/src/icons/caret-down.gts b/packages/boxel-ui/src/icons/caret-down.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/caret-down.gts rename to packages/boxel-ui/src/icons/caret-down.gts diff --git a/packages/boxel-ui/addon/src/icons/caret-up.gts b/packages/boxel-ui/src/icons/caret-up.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/caret-up.gts rename to packages/boxel-ui/src/icons/caret-up.gts diff --git a/packages/boxel-ui/addon/src/icons/check-mark.gts b/packages/boxel-ui/src/icons/check-mark.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/check-mark.gts rename to packages/boxel-ui/src/icons/check-mark.gts diff --git a/packages/boxel-ui/addon/src/icons/chevron-right.gts b/packages/boxel-ui/src/icons/chevron-right.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/chevron-right.gts rename to packages/boxel-ui/src/icons/chevron-right.gts diff --git a/packages/boxel-ui/addon/src/icons/copy.gts b/packages/boxel-ui/src/icons/copy.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/copy.gts rename to packages/boxel-ui/src/icons/copy.gts diff --git a/packages/boxel-ui/addon/src/icons/diagonal-arrow-left-up.gts b/packages/boxel-ui/src/icons/diagonal-arrow-left-up.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/diagonal-arrow-left-up.gts rename to packages/boxel-ui/src/icons/diagonal-arrow-left-up.gts diff --git a/packages/boxel-ui/addon/src/icons/download.gts b/packages/boxel-ui/src/icons/download.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/download.gts rename to packages/boxel-ui/src/icons/download.gts diff --git a/packages/boxel-ui/addon/src/icons/dropdown-arrow-down.gts b/packages/boxel-ui/src/icons/dropdown-arrow-down.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/dropdown-arrow-down.gts rename to packages/boxel-ui/src/icons/dropdown-arrow-down.gts diff --git a/packages/boxel-ui/addon/src/icons/dropdown-arrow-filled.gts b/packages/boxel-ui/src/icons/dropdown-arrow-filled.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/dropdown-arrow-filled.gts rename to packages/boxel-ui/src/icons/dropdown-arrow-filled.gts diff --git a/packages/boxel-ui/addon/src/icons/dropdown-arrow-up.gts b/packages/boxel-ui/src/icons/dropdown-arrow-up.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/dropdown-arrow-up.gts rename to packages/boxel-ui/src/icons/dropdown-arrow-up.gts diff --git a/packages/boxel-ui/addon/src/icons/edit.gts b/packages/boxel-ui/src/icons/edit.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/edit.gts rename to packages/boxel-ui/src/icons/edit.gts diff --git a/packages/boxel-ui/addon/src/icons/embedded.gts b/packages/boxel-ui/src/icons/embedded.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/embedded.gts rename to packages/boxel-ui/src/icons/embedded.gts diff --git a/packages/boxel-ui/addon/src/icons/exclamation-circle.gts b/packages/boxel-ui/src/icons/exclamation-circle.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/exclamation-circle.gts rename to packages/boxel-ui/src/icons/exclamation-circle.gts diff --git a/packages/boxel-ui/addon/src/icons/exclamation.gts b/packages/boxel-ui/src/icons/exclamation.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/exclamation.gts rename to packages/boxel-ui/src/icons/exclamation.gts diff --git a/packages/boxel-ui/addon/src/icons/eye.gts b/packages/boxel-ui/src/icons/eye.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/eye.gts rename to packages/boxel-ui/src/icons/eye.gts diff --git a/packages/boxel-ui/addon/src/icons/failure-bordered.gts b/packages/boxel-ui/src/icons/failure-bordered.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/failure-bordered.gts rename to packages/boxel-ui/src/icons/failure-bordered.gts diff --git a/packages/boxel-ui/addon/src/icons/field.gts b/packages/boxel-ui/src/icons/field.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/field.gts rename to packages/boxel-ui/src/icons/field.gts diff --git a/packages/boxel-ui/addon/src/icons/file-alert.gts b/packages/boxel-ui/src/icons/file-alert.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/file-alert.gts rename to packages/boxel-ui/src/icons/file-alert.gts diff --git a/packages/boxel-ui/addon/src/icons/file.gts b/packages/boxel-ui/src/icons/file.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/file.gts rename to packages/boxel-ui/src/icons/file.gts diff --git a/packages/boxel-ui/addon/src/icons/fitted.gts b/packages/boxel-ui/src/icons/fitted.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/fitted.gts rename to packages/boxel-ui/src/icons/fitted.gts diff --git a/packages/boxel-ui/addon/src/icons/folder.gts b/packages/boxel-ui/src/icons/folder.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/folder.gts rename to packages/boxel-ui/src/icons/folder.gts diff --git a/packages/boxel-ui/addon/src/icons/form.gts b/packages/boxel-ui/src/icons/form.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/form.gts rename to packages/boxel-ui/src/icons/form.gts diff --git a/packages/boxel-ui/addon/src/icons/four-lines.gts b/packages/boxel-ui/src/icons/four-lines.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/four-lines.gts rename to packages/boxel-ui/src/icons/four-lines.gts diff --git a/packages/boxel-ui/addon/src/icons/google-color.gts b/packages/boxel-ui/src/icons/google-color.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/google-color.gts rename to packages/boxel-ui/src/icons/google-color.gts diff --git a/packages/boxel-ui/addon/src/icons/grid-3x3.gts b/packages/boxel-ui/src/icons/grid-3x3.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/grid-3x3.gts rename to packages/boxel-ui/src/icons/grid-3x3.gts diff --git a/packages/boxel-ui/addon/src/icons/group.gts b/packages/boxel-ui/src/icons/group.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/group.gts rename to packages/boxel-ui/src/icons/group.gts diff --git a/packages/boxel-ui/addon/src/icons/head.gts b/packages/boxel-ui/src/icons/head.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/head.gts rename to packages/boxel-ui/src/icons/head.gts diff --git a/packages/boxel-ui/addon/src/icons/highlight-icon.gts b/packages/boxel-ui/src/icons/highlight-icon.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/highlight-icon.gts rename to packages/boxel-ui/src/icons/highlight-icon.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-circle-selected.gts b/packages/boxel-ui/src/icons/icon-circle-selected.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-circle-selected.gts rename to packages/boxel-ui/src/icons/icon-circle-selected.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-circle.gts b/packages/boxel-ui/src/icons/icon-circle.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-circle.gts rename to packages/boxel-ui/src/icons/icon-circle.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-code.gts b/packages/boxel-ui/src/icons/icon-code.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-code.gts rename to packages/boxel-ui/src/icons/icon-code.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-funnel.gts b/packages/boxel-ui/src/icons/icon-funnel.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-funnel.gts rename to packages/boxel-ui/src/icons/icon-funnel.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-globe.gts b/packages/boxel-ui/src/icons/icon-globe.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-globe.gts rename to packages/boxel-ui/src/icons/icon-globe.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-grid.gts b/packages/boxel-ui/src/icons/icon-grid.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-grid.gts rename to packages/boxel-ui/src/icons/icon-grid.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-hexagon.gts b/packages/boxel-ui/src/icons/icon-hexagon.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-hexagon.gts rename to packages/boxel-ui/src/icons/icon-hexagon.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-inherit.gts b/packages/boxel-ui/src/icons/icon-inherit.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-inherit.gts rename to packages/boxel-ui/src/icons/icon-inherit.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-link.gts b/packages/boxel-ui/src/icons/icon-link.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-link.gts rename to packages/boxel-ui/src/icons/icon-link.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-list.gts b/packages/boxel-ui/src/icons/icon-list.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-list.gts rename to packages/boxel-ui/src/icons/icon-list.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-minus-circle.gts b/packages/boxel-ui/src/icons/icon-minus-circle.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-minus-circle.gts rename to packages/boxel-ui/src/icons/icon-minus-circle.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-pencil-crossed-out.gts b/packages/boxel-ui/src/icons/icon-pencil-crossed-out.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-pencil-crossed-out.gts rename to packages/boxel-ui/src/icons/icon-pencil-crossed-out.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-pencil-not-crossed-out.gts b/packages/boxel-ui/src/icons/icon-pencil-not-crossed-out.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-pencil-not-crossed-out.gts rename to packages/boxel-ui/src/icons/icon-pencil-not-crossed-out.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-pencil.gts b/packages/boxel-ui/src/icons/icon-pencil.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-pencil.gts rename to packages/boxel-ui/src/icons/icon-pencil.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-plus-circle.gts b/packages/boxel-ui/src/icons/icon-plus-circle.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-plus-circle.gts rename to packages/boxel-ui/src/icons/icon-plus-circle.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-plus-thin.gts b/packages/boxel-ui/src/icons/icon-plus-thin.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-plus-thin.gts rename to packages/boxel-ui/src/icons/icon-plus-thin.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-plus.gts b/packages/boxel-ui/src/icons/icon-plus.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-plus.gts rename to packages/boxel-ui/src/icons/icon-plus.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-search-thick.gts b/packages/boxel-ui/src/icons/icon-search-thick.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-search-thick.gts rename to packages/boxel-ui/src/icons/icon-search-thick.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-search.gts b/packages/boxel-ui/src/icons/icon-search.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-search.gts rename to packages/boxel-ui/src/icons/icon-search.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-table.gts b/packages/boxel-ui/src/icons/icon-table.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-table.gts rename to packages/boxel-ui/src/icons/icon-table.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-trash.gts b/packages/boxel-ui/src/icons/icon-trash.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-trash.gts rename to packages/boxel-ui/src/icons/icon-trash.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-turn-down-right.gts b/packages/boxel-ui/src/icons/icon-turn-down-right.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-turn-down-right.gts rename to packages/boxel-ui/src/icons/icon-turn-down-right.gts diff --git a/packages/boxel-ui/addon/src/icons/icon-x.gts b/packages/boxel-ui/src/icons/icon-x.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/icon-x.gts rename to packages/boxel-ui/src/icons/icon-x.gts diff --git a/packages/boxel-ui/addon/src/icons/image-placeholder.gts b/packages/boxel-ui/src/icons/image-placeholder.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/image-placeholder.gts rename to packages/boxel-ui/src/icons/image-placeholder.gts diff --git a/packages/boxel-ui/addon/src/icons/isolated.gts b/packages/boxel-ui/src/icons/isolated.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/isolated.gts rename to packages/boxel-ui/src/icons/isolated.gts diff --git a/packages/boxel-ui/addon/src/icons/loading-indicator.gts b/packages/boxel-ui/src/icons/loading-indicator.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/loading-indicator.gts rename to packages/boxel-ui/src/icons/loading-indicator.gts diff --git a/packages/boxel-ui/addon/src/icons/lock.gts b/packages/boxel-ui/src/icons/lock.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/lock.gts rename to packages/boxel-ui/src/icons/lock.gts diff --git a/packages/boxel-ui/addon/src/icons/markdown.gts b/packages/boxel-ui/src/icons/markdown.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/markdown.gts rename to packages/boxel-ui/src/icons/markdown.gts diff --git a/packages/boxel-ui/addon/src/icons/profile.gts b/packages/boxel-ui/src/icons/profile.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/profile.gts rename to packages/boxel-ui/src/icons/profile.gts diff --git a/packages/boxel-ui/addon/src/icons/publish-site-icon.gts b/packages/boxel-ui/src/icons/publish-site-icon.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/publish-site-icon.gts rename to packages/boxel-ui/src/icons/publish-site-icon.gts diff --git a/packages/boxel-ui/addon/src/icons/rows-4.gts b/packages/boxel-ui/src/icons/rows-4.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/rows-4.gts rename to packages/boxel-ui/src/icons/rows-4.gts diff --git a/packages/boxel-ui/addon/src/icons/select-all.gts b/packages/boxel-ui/src/icons/select-all.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/select-all.gts rename to packages/boxel-ui/src/icons/select-all.gts diff --git a/packages/boxel-ui/addon/src/icons/send.gts b/packages/boxel-ui/src/icons/send.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/send.gts rename to packages/boxel-ui/src/icons/send.gts diff --git a/packages/boxel-ui/addon/src/icons/sparkle.gts b/packages/boxel-ui/src/icons/sparkle.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/sparkle.gts rename to packages/boxel-ui/src/icons/sparkle.gts diff --git a/packages/boxel-ui/addon/src/icons/star-filled.gts b/packages/boxel-ui/src/icons/star-filled.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/star-filled.gts rename to packages/boxel-ui/src/icons/star-filled.gts diff --git a/packages/boxel-ui/addon/src/icons/star-half-fill.gts b/packages/boxel-ui/src/icons/star-half-fill.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/star-half-fill.gts rename to packages/boxel-ui/src/icons/star-half-fill.gts diff --git a/packages/boxel-ui/addon/src/icons/star.gts b/packages/boxel-ui/src/icons/star.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/star.gts rename to packages/boxel-ui/src/icons/star.gts diff --git a/packages/boxel-ui/addon/src/icons/success-bordered.gts b/packages/boxel-ui/src/icons/success-bordered.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/success-bordered.gts rename to packages/boxel-ui/src/icons/success-bordered.gts diff --git a/packages/boxel-ui/addon/src/icons/three-dots-horizontal.gts b/packages/boxel-ui/src/icons/three-dots-horizontal.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/three-dots-horizontal.gts rename to packages/boxel-ui/src/icons/three-dots-horizontal.gts diff --git a/packages/boxel-ui/addon/src/icons/triangle-left.gts b/packages/boxel-ui/src/icons/triangle-left.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/triangle-left.gts rename to packages/boxel-ui/src/icons/triangle-left.gts diff --git a/packages/boxel-ui/addon/src/icons/triangle-right.gts b/packages/boxel-ui/src/icons/triangle-right.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/triangle-right.gts rename to packages/boxel-ui/src/icons/triangle-right.gts diff --git a/packages/boxel-ui/addon/src/icons/types.ts b/packages/boxel-ui/src/icons/types.ts similarity index 100% rename from packages/boxel-ui/addon/src/icons/types.ts rename to packages/boxel-ui/src/icons/types.ts diff --git a/packages/boxel-ui/addon/src/icons/upload.gts b/packages/boxel-ui/src/icons/upload.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/upload.gts rename to packages/boxel-ui/src/icons/upload.gts diff --git a/packages/boxel-ui/addon/src/icons/warning-triangle-filled.gts b/packages/boxel-ui/src/icons/warning-triangle-filled.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/warning-triangle-filled.gts rename to packages/boxel-ui/src/icons/warning-triangle-filled.gts diff --git a/packages/boxel-ui/addon/src/icons/warning.gts b/packages/boxel-ui/src/icons/warning.gts similarity index 100% rename from packages/boxel-ui/addon/src/icons/warning.gts rename to packages/boxel-ui/src/icons/warning.gts diff --git a/packages/boxel-ui/addon/src/modifiers.gts b/packages/boxel-ui/src/modifiers.gts similarity index 100% rename from packages/boxel-ui/addon/src/modifiers.gts rename to packages/boxel-ui/src/modifiers.gts diff --git a/packages/boxel-ui/addon/src/modifiers/auto-focus.ts b/packages/boxel-ui/src/modifiers/auto-focus.ts similarity index 100% rename from packages/boxel-ui/addon/src/modifiers/auto-focus.ts rename to packages/boxel-ui/src/modifiers/auto-focus.ts diff --git a/packages/boxel-ui/addon/src/modifiers/set-css-var.ts b/packages/boxel-ui/src/modifiers/set-css-var.ts similarity index 100% rename from packages/boxel-ui/addon/src/modifiers/set-css-var.ts rename to packages/boxel-ui/src/modifiers/set-css-var.ts diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexMono-Bold.woff2 b/packages/boxel-ui/src/styles/IBMPlexMono-Bold.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexMono-Bold.woff2 rename to packages/boxel-ui/src/styles/IBMPlexMono-Bold.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexMono-BoldItalic.woff2 b/packages/boxel-ui/src/styles/IBMPlexMono-BoldItalic.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexMono-BoldItalic.woff2 rename to packages/boxel-ui/src/styles/IBMPlexMono-BoldItalic.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexMono-Italic.woff2 b/packages/boxel-ui/src/styles/IBMPlexMono-Italic.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexMono-Italic.woff2 rename to packages/boxel-ui/src/styles/IBMPlexMono-Italic.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexMono-Medium.woff2 b/packages/boxel-ui/src/styles/IBMPlexMono-Medium.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexMono-Medium.woff2 rename to packages/boxel-ui/src/styles/IBMPlexMono-Medium.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexMono-MediumItalic.woff2 b/packages/boxel-ui/src/styles/IBMPlexMono-MediumItalic.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexMono-MediumItalic.woff2 rename to packages/boxel-ui/src/styles/IBMPlexMono-MediumItalic.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexMono-Regular.woff2 b/packages/boxel-ui/src/styles/IBMPlexMono-Regular.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexMono-Regular.woff2 rename to packages/boxel-ui/src/styles/IBMPlexMono-Regular.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexMono-SemiBold.woff2 b/packages/boxel-ui/src/styles/IBMPlexMono-SemiBold.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexMono-SemiBold.woff2 rename to packages/boxel-ui/src/styles/IBMPlexMono-SemiBold.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexMono-SemiBoldItalic.woff2 b/packages/boxel-ui/src/styles/IBMPlexMono-SemiBoldItalic.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexMono-SemiBoldItalic.woff2 rename to packages/boxel-ui/src/styles/IBMPlexMono-SemiBoldItalic.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSansVar-Italic.woff2 b/packages/boxel-ui/src/styles/IBMPlexSansVar-Italic.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSansVar-Italic.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSansVar-Italic.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSansVar-Roman.woff2 b/packages/boxel-ui/src/styles/IBMPlexSansVar-Roman.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSansVar-Roman.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSansVar-Roman.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSerif-Bold.woff2 b/packages/boxel-ui/src/styles/IBMPlexSerif-Bold.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSerif-Bold.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSerif-Bold.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSerif-BoldItalic.woff2 b/packages/boxel-ui/src/styles/IBMPlexSerif-BoldItalic.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSerif-BoldItalic.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSerif-BoldItalic.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSerif-Italic.woff2 b/packages/boxel-ui/src/styles/IBMPlexSerif-Italic.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSerif-Italic.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSerif-Italic.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSerif-Medium.woff2 b/packages/boxel-ui/src/styles/IBMPlexSerif-Medium.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSerif-Medium.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSerif-Medium.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSerif-MediumItalic.woff2 b/packages/boxel-ui/src/styles/IBMPlexSerif-MediumItalic.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSerif-MediumItalic.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSerif-MediumItalic.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSerif-Regular.woff2 b/packages/boxel-ui/src/styles/IBMPlexSerif-Regular.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSerif-Regular.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSerif-Regular.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSerif-SemiBold.woff2 b/packages/boxel-ui/src/styles/IBMPlexSerif-SemiBold.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSerif-SemiBold.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSerif-SemiBold.woff2 diff --git a/packages/boxel-ui/addon/src/styles/IBMPlexSerif-SemiBoldItalic.woff2 b/packages/boxel-ui/src/styles/IBMPlexSerif-SemiBoldItalic.woff2 similarity index 100% rename from packages/boxel-ui/addon/src/styles/IBMPlexSerif-SemiBoldItalic.woff2 rename to packages/boxel-ui/src/styles/IBMPlexSerif-SemiBoldItalic.woff2 diff --git a/packages/boxel-ui/addon/src/styles/LICENSE.txt b/packages/boxel-ui/src/styles/LICENSE.txt similarity index 100% rename from packages/boxel-ui/addon/src/styles/LICENSE.txt rename to packages/boxel-ui/src/styles/LICENSE.txt diff --git a/packages/boxel-ui/addon/src/styles/fonts.css b/packages/boxel-ui/src/styles/fonts.css similarity index 100% rename from packages/boxel-ui/addon/src/styles/fonts.css rename to packages/boxel-ui/src/styles/fonts.css diff --git a/packages/boxel-ui/addon/src/styles/global.css b/packages/boxel-ui/src/styles/global.css similarity index 100% rename from packages/boxel-ui/addon/src/styles/global.css rename to packages/boxel-ui/src/styles/global.css diff --git a/packages/boxel-ui/addon/src/styles/theme.css b/packages/boxel-ui/src/styles/theme.css similarity index 100% rename from packages/boxel-ui/addon/src/styles/theme.css rename to packages/boxel-ui/src/styles/theme.css diff --git a/packages/boxel-ui/addon/src/styles/variables.css b/packages/boxel-ui/src/styles/variables.css similarity index 100% rename from packages/boxel-ui/addon/src/styles/variables.css rename to packages/boxel-ui/src/styles/variables.css diff --git a/packages/boxel-ui/test-app/types/boxel-ui-test-app/index.d.ts b/packages/boxel-ui/src/types/@cardstack/boxel-ui/index.d.ts similarity index 100% rename from packages/boxel-ui/test-app/types/boxel-ui-test-app/index.d.ts rename to packages/boxel-ui/src/types/@cardstack/boxel-ui/index.d.ts diff --git a/packages/boxel-ui/addon/src/types/ember-css-url/index.d.ts b/packages/boxel-ui/src/types/ember-css-url/index.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/ember-css-url/index.d.ts rename to packages/boxel-ui/src/types/ember-css-url/index.d.ts diff --git a/packages/boxel-ui/addon/src/types/ember-draggable-modifiers/index.d.ts b/packages/boxel-ui/src/types/ember-draggable-modifiers/index.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/ember-draggable-modifiers/index.d.ts rename to packages/boxel-ui/src/types/ember-draggable-modifiers/index.d.ts diff --git a/packages/boxel-ui/addon/src/types/ember-draggable-modifiers/utils.d.ts b/packages/boxel-ui/src/types/ember-draggable-modifiers/utils.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/ember-draggable-modifiers/utils.d.ts rename to packages/boxel-ui/src/types/ember-draggable-modifiers/utils.d.ts diff --git a/packages/boxel-ui/addon/src/types/ember-focus-trap/index.d.ts b/packages/boxel-ui/src/types/ember-focus-trap/index.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/ember-focus-trap/index.d.ts rename to packages/boxel-ui/src/types/ember-focus-trap/index.d.ts diff --git a/packages/boxel-ui/addon/src/types/ember-power-calendar/components/index.d.ts b/packages/boxel-ui/src/types/ember-power-calendar/components/index.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/ember-power-calendar/components/index.d.ts rename to packages/boxel-ui/src/types/ember-power-calendar/components/index.d.ts diff --git a/packages/boxel-ui/addon/src/types/ember-resize-modifier/index.d.ts b/packages/boxel-ui/src/types/ember-resize-modifier/index.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/ember-resize-modifier/index.d.ts rename to packages/boxel-ui/src/types/ember-resize-modifier/index.d.ts diff --git a/packages/boxel-ui/addon/src/types/ember-set-body-class/index.d.ts b/packages/boxel-ui/src/types/ember-set-body-class/index.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/ember-set-body-class/index.d.ts rename to packages/boxel-ui/src/types/ember-set-body-class/index.d.ts diff --git a/packages/boxel-ui/addon/src/types/ember-sortable/index.d.ts b/packages/boxel-ui/src/types/ember-sortable/index.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/ember-sortable/index.d.ts rename to packages/boxel-ui/src/types/ember-sortable/index.d.ts diff --git a/packages/boxel-ui/addon/src/types/global.d.ts b/packages/boxel-ui/src/types/global.d.ts similarity index 100% rename from packages/boxel-ui/addon/src/types/global.d.ts rename to packages/boxel-ui/src/types/global.d.ts diff --git a/packages/boxel-ui/addon/src/usage.gts b/packages/boxel-ui/src/usage.gts similarity index 100% rename from packages/boxel-ui/addon/src/usage.gts rename to packages/boxel-ui/src/usage.gts diff --git a/packages/boxel-ui/addon/src/utils/date-utils.ts b/packages/boxel-ui/src/utils/date-utils.ts similarity index 100% rename from packages/boxel-ui/addon/src/utils/date-utils.ts rename to packages/boxel-ui/src/utils/date-utils.ts diff --git a/packages/boxel-ui/addon/src/utils/fitted-formats.ts b/packages/boxel-ui/src/utils/fitted-formats.ts similarity index 100% rename from packages/boxel-ui/addon/src/utils/fitted-formats.ts rename to packages/boxel-ui/src/utils/fitted-formats.ts diff --git a/packages/boxel-ui/testem.cjs b/packages/boxel-ui/testem.cjs new file mode 100644 index 00000000000..b0d24e7e49e --- /dev/null +++ b/packages/boxel-ui/testem.cjs @@ -0,0 +1,27 @@ +'use strict'; + +if (typeof module !== 'undefined') { + module.exports = { + test_page: 'tests/index.html?hidepassed', + cwd: 'dist-tests', + disable_watching: true, + launch_in_ci: ['Chrome'], + launch_in_dev: ['Chrome'], + browser_start_timeout: 120, + browser_args: { + Chrome: { + ci: [ + // --no-sandbox is needed when running Chrome inside a container + process.env.CI ? '--no-sandbox' : null, + '--headless', + '--disable-dev-shm-usage', + '--disable-gpu', + '--disable-software-rasterizer', + '--mute-audio', + '--remote-debugging-port=0', + '--window-size=1440,900', + ].filter(Boolean), + }, + }, + }; +} diff --git a/packages/boxel-ui/test-app/tests/helpers/height-assertion.ts b/packages/boxel-ui/tests/helpers/height-assertion.ts similarity index 95% rename from packages/boxel-ui/test-app/tests/helpers/height-assertion.ts rename to packages/boxel-ui/tests/helpers/height-assertion.ts index 656f5c2fbe8..1dffb8ee27e 100644 --- a/packages/boxel-ui/test-app/tests/helpers/height-assertion.ts +++ b/packages/boxel-ui/tests/helpers/height-assertion.ts @@ -26,7 +26,7 @@ export default function (assert: Assert) { if (typeof actualValue === 'number') { actualNumericValue = actualValue; } else { - actualNumericValue = Number(actualValue.replace(/[^0-9.]/g, '')); + actualNumericValue = Number((actualValue ?? '').replace(/[^0-9.]/g, '')); } if (Math.abs(actualNumericValue - expectedValue) <= allowedDifference) { this.pushResult({ diff --git a/packages/boxel-ui/test-app/tests/helpers/index.ts b/packages/boxel-ui/tests/helpers/index.ts similarity index 100% rename from packages/boxel-ui/test-app/tests/helpers/index.ts rename to packages/boxel-ui/tests/helpers/index.ts diff --git a/packages/boxel-ui/tests/index.html b/packages/boxel-ui/tests/index.html new file mode 100644 index 00000000000..7a9b70a29fc --- /dev/null +++ b/packages/boxel-ui/tests/index.html @@ -0,0 +1,28 @@ + + + + + Boxel UI Tests + + + + +
+
+
+
+
+
+ + + + + + + diff --git a/packages/boxel-ui/test-app/tests/integration/components/accordion-test.gts b/packages/boxel-ui/tests/integration/components/accordion-test.gts similarity index 95% rename from packages/boxel-ui/test-app/tests/integration/components/accordion-test.gts rename to packages/boxel-ui/tests/integration/components/accordion-test.gts index 41bf394d728..4f826b48307 100644 --- a/packages/boxel-ui/test-app/tests/integration/components/accordion-test.gts +++ b/packages/boxel-ui/tests/integration/components/accordion-test.gts @@ -1,8 +1,9 @@ +import { Accordion } from '@cardstack/boxel-ui/components'; import { click, render } from '@ember/test-helpers'; -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'test-app/tests/helpers'; import { tracked } from '@glimmer/tracking'; -import { Accordion } from '@cardstack/boxel-ui/components'; +import { module, test } from 'qunit'; + +import { setupRenderingTest } from '../../helpers'; class State { @tracked isOpen = false; diff --git a/packages/boxel-ui/test-app/tests/integration/components/broken-link-test.gts b/packages/boxel-ui/tests/integration/components/broken-link-test.gts similarity index 98% rename from packages/boxel-ui/test-app/tests/integration/components/broken-link-test.gts rename to packages/boxel-ui/tests/integration/components/broken-link-test.gts index fc7388b692b..1a806b6d913 100644 --- a/packages/boxel-ui/test-app/tests/integration/components/broken-link-test.gts +++ b/packages/boxel-ui/tests/integration/components/broken-link-test.gts @@ -1,10 +1,11 @@ -import { click, render } from '@ember/test-helpers'; -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'test-app/tests/helpers'; import { - BrokenLinkTemplate, type BrokenLinkErrorDoc, + BrokenLinkTemplate, } from '@cardstack/boxel-ui/components'; +import { click, render } from '@ember/test-helpers'; +import { module, test } from 'qunit'; + +import { setupRenderingTest } from '../../helpers'; const BROKEN_URL = 'https://example.com/realm/Author/exploded-card-id'; diff --git a/packages/boxel-ui/test-app/tests/integration/components/button-test.gts b/packages/boxel-ui/tests/integration/components/button-test.gts similarity index 98% rename from packages/boxel-ui/test-app/tests/integration/components/button-test.gts rename to packages/boxel-ui/tests/integration/components/button-test.gts index 02e13b6d6e1..610c7f474c2 100644 --- a/packages/boxel-ui/test-app/tests/integration/components/button-test.gts +++ b/packages/boxel-ui/tests/integration/components/button-test.gts @@ -1,7 +1,8 @@ +import { Button } from '@cardstack/boxel-ui/components'; import { render } from '@ember/test-helpers'; import { module, test } from 'qunit'; -import { setupRenderingTest } from 'test-app/tests/helpers'; -import { Button } from '@cardstack/boxel-ui/components'; + +import { setupRenderingTest } from '../../helpers'; module('Integration | Component | button', function (hooks) { setupRenderingTest(hooks); diff --git a/packages/boxel-ui/test-app/tests/integration/components/card-container-test.gts b/packages/boxel-ui/tests/integration/components/card-container-test.gts similarity index 98% rename from packages/boxel-ui/test-app/tests/integration/components/card-container-test.gts rename to packages/boxel-ui/tests/integration/components/card-container-test.gts index 059b14d67e3..1c3fe6c5832 100644 --- a/packages/boxel-ui/test-app/tests/integration/components/card-container-test.gts +++ b/packages/boxel-ui/tests/integration/components/card-container-test.gts @@ -1,8 +1,8 @@ +import { CardContainer } from '@cardstack/boxel-ui/components'; import { render } from '@ember/test-helpers'; import { module, test } from 'qunit'; -import { setupRenderingTest } from 'test-app/tests/helpers'; -import { CardContainer } from '@cardstack/boxel-ui/components'; +import { setupRenderingTest } from '../../helpers'; const OUTER_THEME = `:root { --primary: #112233; diff --git a/packages/boxel-ui/test-app/tests/integration/components/card-header-test.gts b/packages/boxel-ui/tests/integration/components/card-header-test.gts similarity index 98% rename from packages/boxel-ui/test-app/tests/integration/components/card-header-test.gts rename to packages/boxel-ui/tests/integration/components/card-header-test.gts index 3494097810a..5755d67b541 100644 --- a/packages/boxel-ui/test-app/tests/integration/components/card-header-test.gts +++ b/packages/boxel-ui/tests/integration/components/card-header-test.gts @@ -1,8 +1,9 @@ -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'test-app/tests/helpers'; -import { find, render } from '@ember/test-helpers'; import { CardHeader } from '@cardstack/boxel-ui/components'; import { MenuItem } from '@cardstack/boxel-ui/helpers'; +import { find, render } from '@ember/test-helpers'; +import { module, test } from 'qunit'; + +import { setupRenderingTest } from '../../helpers'; function centerX(selector: string): number { let el = find(selector); diff --git a/packages/boxel-ui/test-app/tests/integration/components/dropdown-test.gts b/packages/boxel-ui/tests/integration/components/dropdown-test.gts similarity index 95% rename from packages/boxel-ui/test-app/tests/integration/components/dropdown-test.gts rename to packages/boxel-ui/tests/integration/components/dropdown-test.gts index 0c80ea99851..7813c4a6467 100644 --- a/packages/boxel-ui/test-app/tests/integration/components/dropdown-test.gts +++ b/packages/boxel-ui/tests/integration/components/dropdown-test.gts @@ -1,11 +1,12 @@ -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'test-app/tests/helpers'; -import { click, render, waitFor, triggerEvent } from '@ember/test-helpers'; import { BoxelDropdown, Menu as BoxelMenu, } from '@cardstack/boxel-ui/components'; import { MenuItem } from '@cardstack/boxel-ui/helpers'; +import { click, render, triggerEvent, waitFor } from '@ember/test-helpers'; +import { module, test } from 'qunit'; + +import { setupRenderingTest } from '../../helpers'; module('Integration | Component | dropdown', function (hooks) { setupRenderingTest(hooks); diff --git a/packages/boxel-ui/test-app/tests/integration/components/email-input-test.gts b/packages/boxel-ui/tests/integration/components/email-input-test.gts similarity index 93% rename from packages/boxel-ui/test-app/tests/integration/components/email-input-test.gts rename to packages/boxel-ui/tests/integration/components/email-input-test.gts index 6f25afe4199..41ec290b74f 100644 --- a/packages/boxel-ui/test-app/tests/integration/components/email-input-test.gts +++ b/packages/boxel-ui/tests/integration/components/email-input-test.gts @@ -1,9 +1,9 @@ -import { module, test } from 'qunit'; -import { setupRenderingTest } from 'test-app/tests/helpers'; -import { fillIn, render, triggerEvent, typeIn } from '@ember/test-helpers'; - import { EmailInput } from '@cardstack/boxel-ui/components'; import type { EmailFormatValidationError } from '@cardstack/boxel-ui/helpers/validate-email-format'; +import { fillIn, render, triggerEvent, typeIn } from '@ember/test-helpers'; +import { module, test } from 'qunit'; + +import { setupRenderingTest } from '../../helpers'; type Validation = EmailFormatValidationError | null | undefined; @@ -12,7 +12,9 @@ module('Integration | Component | email-input', function (hooks) { test('it delays invalid state until blur', async function (assert) { let value: string | null = null; - const set = (newValue: string) => (value = newValue); + const set = (newValue: string | null) => { + value = newValue; + }; await render( , @@ -41,7 +43,9 @@ module('Integration | Component | email-input', function (hooks) { test('it respects external value changes and accepts addresses with pluses and subdomains', async function (assert) { let value: string | null = 'first.last+tag@sub.domain.co'; - const set = (newValue: string) => (value = newValue); + const set = (newValue: string | null) => { + value = newValue; + }; await render( , @@ -57,7 +61,9 @@ module('Integration | Component | email-input', function (hooks) { test('it validates external value on render', async function (assert) { let value: string | null = 'alice@'; - const set = (newValue: string) => (value = newValue); + const set = (newValue: string | null) => { + value = newValue; + }; await render( , @@ -147,7 +153,9 @@ module('Integration | Component | email-input', function (hooks) { test('it requires a value when marked as required', async function (assert) { let value: string | null = null; - const set = (newValue: string) => (value = newValue); + const set = (newValue: string | null) => { + value = newValue; + }; await render(