-
Notifications
You must be signed in to change notification settings - Fork 65
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
Reduce duplicate code across plugins using notify popup #443
Comments
@kirsty-hames, as a general question, what are the advantages of having four separate classes/selectors for the close button? As apposed to say, one class/selector called close-btn. The selector can target the icon with a mixin for example. There seems to be some confusion looking at how this has been implemented generally speaking - across plug-ins, but even in the theme for example
Looking at the naming logic for the classes, I'd expect the radius to apply to the button, rather than in the selector than deals with the icon. I'm just wondering if it might be better to create a new selector, call it close-btn, then leave those specific selectors (for customisations) then tidy up the less. Thoughts? |
I completely agree. On the off chance you did want to do different styles you can still target a parent selector for a particular plugin. Whether we touch the plugin selectors or not a single mixin in the theme would reduce the need for duplicate CSS and resolve the issue raised.
I'd also agree. I think this needs to be looked at from a wider UI perspective though (same issue applies to Drawer buttons etc) so I think this can be a separate issue/task. For the purpose of this ticket, attaching the current styles to mixin is a starting point.
Yep agree again, leaving the selectors as is avoids any breaking changes/compatibility issues across Vanilla and plugins so I prefer this approach. Thanks for raising. We just need to rethink the mixin name as I raised this issue for Notify icon buttons not just close so would apply to the controls too (back/next) but your suggestion of a mixin is a good way to go for this. |
@kirsty-hames , what I meant was re. the new selector, was create a new selector and add the class to the DOM so, call it adapt-close-btn , but perhaps thats out of scope here. I suggested that as you were suggesting adding So for now, yeah lets stay away from adding that class to the DOM in other plug-ins and perhaps if we need to add in XXX_btn-icon (so hotgrid_btn-icon in the case of hotgrid) so it (sort of) follows the same BEM naming. And use a mixin like we said above. Otherwise just a mixin. Added a comment here: cgkineo/adapt-hotgrid#127 (comment) All the other stuff about utility classes and rationalising the ones already in use can get raised in another ticket. What do you think? |
Lets just go with the mixin. I'd say adding/changing classes is out of scope for this issue. The mixin alone resolves the issue of duplicate styles. |
🎉 This issue has been resolved in version 9.7.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
# [7.0.0](v6.0.0...v7.0.0) (2023-07-10) ### Breaking * block padding property (fixes adaptlearning#358) (adaptlearning#359) ([aa8a3b4](aa8a3b4)), closes [adaptlearning#358](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/358) [adaptlearning#359](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/359) [adaptlearning#358](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/358) * Moved background images into their own divs (adaptlearning#334) ([1a8a9b6](1a8a9b6)), closes [adaptlearning#334](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/334) * Quote styling rework (fixes adaptlearning#351) (adaptlearning#370) ([499412e](499412e)), closes [adaptlearning#351](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/351) [adaptlearning#370](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/370) ### Chore * Updated GHA packages for release process (adaptlearning#441) ([ac2c8ca](ac2c8ca)), closes [adaptlearning#441](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/441) ### Docs * Removed accordion / hotgraphic item image classes (fixes adaptlearning#365) ([446d923](446d923)), closes [adaptlearning#365](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/365) * Updated readMe and example.json (fixes adaptlearning#345) (adaptlearning#371) ([265cdc9](265cdc9)), closes [adaptlearning#345](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/345) [adaptlearning#371](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/371) ### Fix * Add @shadow-opacity (adaptlearning#425) ([24e022e](24e022e)), closes [adaptlearning#425](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/425) * Add font size variable for nav button label (fixes adaptlearning#414) ([0a9c548](0a9c548)), closes [adaptlearning#414](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/414) * Add missing xlarge to vanilla theme (adaptlearning#432) ([3614bf5](3614bf5)), closes [adaptlearning#432](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/432) * Add new menu header color variables (fixes adaptlearning#402) ([23f4ac3](23f4ac3)), closes [adaptlearning#402](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/402) * Add variable for .on-screen-anim() mixin's transition-delay (fixes adaptlearning#416) ([ca68ffd](ca68ffd)), closes [adaptlearning#416](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/416) * Added gitignore for release automation (adaptlearning#347) ([5c7d9b5](5c7d9b5)), closes [adaptlearning#347](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/347) * Added missing defaults for comp header bg mixin (fixes adaptlearning#374) ([00c28b9](00c28b9)), closes [adaptlearning#374](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/374) * Added missing header-color default (fixes: adaptlearning#372) ([62af1d8](62af1d8)), closes [adaptlearning#372](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/372) * Added release automation (adaptlearning#344) ([8d7237a](8d7237a)), closes [adaptlearning#344](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/344) * Added slider fill and marking styling (fixes adaptlearning#407) (adaptlearning#408) ([992d162](992d162)), closes [adaptlearning#407](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/407) [adaptlearning#408](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/408) * Added textinput item bottom margin (adaptlearning#421) ([f306206](f306206)), closes [adaptlearning#421](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/421) * align-vert-center to work with block min-heights (adaptlearning#405) ([aef4e21](aef4e21)), closes [adaptlearning#405](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/405) * Bump http-cache-semantics from 4.1.0 to 4.1.1 (adaptlearning#392) ([c6670db](c6670db)), closes [adaptlearning#392](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/392) * convert item and button borders from px to rem (fixes adaptlearning#436) (adaptlearning#437) ([3828504](3828504)), closes [adaptlearning#436](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/436) [adaptlearning#437](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/437) * Convert the default instruction text styling from italics to bold (adaptlearning#438) ([a1e2992](a1e2992)), closes [adaptlearning#438](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/438) * Defensive Check (fixes: adaptlearning#400) (adaptlearning#401) ([c51c0f8](c51c0f8)), closes [adaptlearning#400](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/400) [adaptlearning#401](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/401) * Make Notify icon buttons dark in initial state, darker in hover (fixes adaptlearning#250) ([82c9181](82c9181)), closes [adaptlearning#250](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/250) * Match columns to breakpoints (adaptlearning#429) ([61ad869](61ad869)), closes [adaptlearning#429](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/429) * Remove hover states from progress indicators (adaptlearning#399) ([5c98ce2](5c98ce2)), closes [adaptlearning#399](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/399) * Removed rangeslider styling (adaptlearning#406) ([2627896](2627896)), closes [adaptlearning#406](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/406) * Replace glossary textbox margin with padding (adaptlearning#409) ([106a2cf](106a2cf)), closes [adaptlearning#409](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/409) * Slider fill styling (adaptlearning#413) ([a2531ae](a2531ae)), closes [adaptlearning#413](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/413) * Small theme file shake up (fixes adaptlearning#331) (adaptlearning#384) ([5d99c00](5d99c00)), closes [adaptlearning#331](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/331) [adaptlearning#384](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/384) * update margins on menu-body and menu-instruction (fixes adaptlearning#387) ([77f0560](77f0560)), closes [adaptlearning#387](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/387) * Version numbers removed from Readme files ([5f4e68a](5f4e68a)) ### New * Add @body-background-color and apply to body element (fixes adaptlearning#349) ([68b4e1d](68b4e1d)), closes [adaptlearning#349](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/349) * Add block horizontal alignment option (fixes adaptlearning#393) ([501adcb](501adcb)), closes [adaptlearning#393](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/393) * Added favicon support (fixes adaptlearning#306) (adaptlearning#396) ([fe46c7e](fe46c7e)), closes [adaptlearning#306](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/306) [adaptlearning#396](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/396) * Added hotgraphic visited icon (adaptlearning#336) ([7c1145e](7c1145e)), closes [adaptlearning#336](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/336) * Adds locking icon to locked menu items (fixes: adaptlearning#389) (adaptlearning#390) ([4301511](4301511)), closes [adaptlearning#389](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/389) [adaptlearning#390](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/390) * Issue and pr project addition automation (refs adaptlearning/adapt_framework#3315) (adaptlearning#343) ([3a7a955](3a7a955)), closes [adaptlearning#343](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/343) * Text alignment update (fixes adaptlearning#362) (adaptlearning#364) ([a13e2f0](a13e2f0)), closes [adaptlearning#362](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/362) [adaptlearning#364](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/364) ### Update * component vertical alignment property (fixes adaptlearning#353) (adaptlearning#354) ([31c46f9](31c46f9)), closes [adaptlearning#353](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/353) [adaptlearning#354](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/354) * Control content max width via variable (fixes adaptlearning#379) (adaptlearning#380) ([d4b3f99](d4b3f99)), closes [adaptlearning#379](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/379) [adaptlearning#380](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/380) * Convert focus to focus-visible (fixes adaptlearning#376 adaptlearning#377) (adaptlearning#378) ([7d93d24](7d93d24)), closes [adaptlearning#376](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/376) [adaptlearning#377](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/377) [adaptlearning#378](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/378) * Extend columns to support menu item widths (fixes adaptlearning#383) ([5af105c](5af105c)), closes [adaptlearning#383](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/383) * replace notify button icon duplicate styles with mixin (fixes adaptlearning#443) (adaptlearning#448) ([bf2f2e6](bf2f2e6)), closes [adaptlearning#443](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/443) [adaptlearning#448](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/448) ### Upgrade * Bump yaml and semantic-release (adaptlearning#422) ([579cc13](579cc13)), closes [adaptlearning#422](https://github.com/redwoodperforms/adapt-contrib-vanilla/issues/422)
Subject of the enhancement
Currently the default style for Notify icon buttons is consistent across all plugins however we've duplicated the styling code across the various plugin LESS files.
See Hotgraphic close button in comparison to core Notify close button. The CSS being applied is the same but attached to different selectors.
See references to duplicate styles below:
.notify__btn-icon
.tutor__btn-icon
.hotgraphic-popup__controls
and.hotgraphic-popup__close
Expected behaviour
The generic Notify button icon selector
.notify__btn-icon
is only being used in the notifyPopup template.I'd expect
.notify__btn-icon
to be used for all Notify icon buttons. This means the default style is set in one place but we still have plugin specific classes to target should you want to style these different - although there's good reason for keeping UI button styling consistent.Next steps
.notify__btn-icon
is applicable.The text was updated successfully, but these errors were encountered: