-
Notifications
You must be signed in to change notification settings - Fork 13.5k
bug(breadcrumbs): color attribute shows on DOM for Vue #27040
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing locally I am unable to see the color correctly reflected in the Vue test app. The class is applied to the host element, but the styles are not applied.
These are my test steps:
- Build the Stencil project from
core/
:npm run build
- Sync the Vue package from
packages/vue
:npm run sync
- Build the Vue package from
packages/vue
:npm run build
- Create a Vue test app from
packages/vue/test
:./build.sh vue3
- Install dependencies from the test app
packages/vue/test/build/vue3
:npm install
- Sync the locally built Vue package to the test app:
npm run sync
- Serve the test app:
npm run start
- Open the breadcrumbs test page: http://localhost:8080/components/breadcrumbs
If I modify the basic test for breadcrumbs: http://localhost:3333/src/components/breadcrumbs/test/basic to use color
on ion-breadcrumbs
, the color is applied correctly. This happens with the latest code on main
and with your working branch.
The original reported issue was specific to Vue not working as intended. All other environments appear to reflect the color styles correctly for ion-breadcrumbs
.
One difference I observe between Vue and the others, is that ion-breadcrumb
(the individual breadcrumb element) has the in-breadcrumbs-color
class when the color is correctly reflected. It does not have this class when rendered in Vue. The implementation does appear to expect the color
to be reflected: https://github.com/ionic-team/ionic-framework/blob/main/core/src/components/breadcrumb/breadcrumb.tsx#L192, but that is not behaving as expected in our Vue component wrappers: https://github.com/ionic-team/ionic-framework/blob/main/packages/vue/src/proxies.ts#L139-L145
The proxies file is auto-generated every time you run npm run build
from the core/
folder. But you can debug locally by making changes and only building and syncing the Vue package.
Let me know if you need additional assistance debugging this issue.
Edit: It is possible that I have something cached that isn't applying your changes correctly. Please let me know if you do see the changes + the class applied to the individual breadcrumbs.
@sean-perkins Not sure if this solves it, I run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok I figured it out, the sync script installs all .tgz files in the directory. I had some previous builds local from testing and those were being installed instead of the changes from your branch. I'll open a PR to make the script account for this.
Your changes look great, nice work!
I can help with getting CI passing tomorrow - doesn't look like a specific screenshot failed, so may just require another manual re-run.
Wait to merge until the code freeze is lifted.
This reverts commit dd419c0.
<!-- Please refer to our contributing documentation for any questions on submitting a pull request, or let us know here if you need any help: https://ionicframework.com/docs/building/contributing --> ## Pull request checklist Please check if your PR fulfills the following requirements: - [ ] Tests for the changes have been added (for bug fixes / features) - [ ] Docs have been reviewed and added / updated if needed (for bug fixes / features) - Some docs updates need to be made in the `ionic-docs` repo, in a separate PR. See the [contributing guide](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation) for details. - [ ] Build (`npm run build`) was run locally and any changes were pushed - [ ] Lint (`npm run lint`) has passed locally and any fixes were made for failures ## Pull request type <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type, submit multiple pull requests if needed. --> Please check the type of change your PR introduces: - [ ] Bugfix - [ ] Feature - [ ] Code style update (formatting, renaming) - [ ] Refactoring (no functional changes, no api changes) - [x] Build related changes - [ ] Documentation content changes - [ ] Other (please describe): ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> When testing changes locally, you can have an existing test app that you sync the package contents to. If you have done this across different versions of Ionic, it can install the wrong .tgz file instead of the local changes. Experienced here: #27040 (review) <!-- Issues are required for both bug fixes and features. --> Issue URL: N/A ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Sync script deletes all .tgz files local to the directory before locally packing and installing the contents of the parent local packages ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
<!-- Please refer to our contributing documentation for any questions on submitting a pull request, or let us know here if you need any help: https://ionicframework.com/docs/building/contributing --> ## Pull request checklist Please check if your PR fulfills the following requirements: - [ ] Tests for the changes have been added (for bug fixes / features) - [ ] Docs have been reviewed and added / updated if needed (for bug fixes / features) - Some docs updates need to be made in the `ionic-docs` repo, in a separate PR. See the [contributing guide](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation) for details. - [ ] Build (`npm run build`) was run locally and any changes were pushed - [ ] Lint (`npm run lint`) has passed locally and any fixes were made for failures ## Pull request type <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type, submit multiple pull requests if needed. --> Please check the type of change your PR introduces: - [ ] Bugfix - [ ] Feature - [ ] Code style update (formatting, renaming) - [ ] Refactoring (no functional changes, no api changes) - [x] Build related changes - [ ] Documentation content changes - [ ] Other (please describe): ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> When testing changes locally, you can have an existing test app that you sync the package contents to. If you have done this across different versions of Ionic, it can install the wrong .tgz file instead of the local changes. Experienced here: #27040 (review) <!-- Issues are required for both bug fixes and features. --> Issue URL: N/A ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Sync script deletes all .tgz files local to the directory before locally packing and installing the contents of the parent local packages ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
<!-- Please refer to our contributing documentation for any questions on submitting a pull request, or let us know here if you need any help: https://ionicframework.com/docs/building/contributing --> ## Pull request checklist Please check if your PR fulfills the following requirements: - [ ] Tests for the changes have been added (for bug fixes / features) - [ ] Docs have been reviewed and added / updated if needed (for bug fixes / features) - Some docs updates need to be made in the `ionic-docs` repo, in a separate PR. See the [contributing guide](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation) for details. - [ ] Build (`npm run build`) was run locally and any changes were pushed - [ ] Lint (`npm run lint`) has passed locally and any fixes were made for failures ## Pull request type <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type, submit multiple pull requests if needed. --> Please check the type of change your PR introduces: - [ ] Bugfix - [ ] Feature - [ ] Code style update (formatting, renaming) - [ ] Refactoring (no functional changes, no api changes) - [x] Build related changes - [ ] Documentation content changes - [ ] Other (please describe): ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> When testing changes locally, you can have an existing test app that you sync the package contents to. If you have done this across different versions of Ionic, it can install the wrong .tgz file instead of the local changes. Experienced here: #27040 (review) <!-- Issues are required for both bug fixes and features. --> Issue URL: N/A ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Sync script deletes all .tgz files local to the directory before locally packing and installing the contents of the parent local packages ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
Pull request checklist
Please check if your PR fulfills the following requirements:
ionic-docs
repo, in a separate PR. See the contributing guide for details.npm run build
) was run locally and any changes were pushednpm run lint
) has passed locally and any fixes were made for failuresPull request type
Please check the type of change your PR introduces:
What is the current behavior?
Color variant is passed by
breadcrumbs
. However,breadcrumb
children are not using the variant when using Vue. Notice that thebreadcrumb
components do not reflect the red color fromdanger
.Issue URL: resolves #25446
What is the new behavior?
color
prop usesreflect: true
to verify that it will be rendered in the DOM as an HTML attributeDoes this introduce a breaking change?
Other information
packages/vue
under theBreadcrumbs
view.