goetzrobin / spartan

Cutting-edge tools powering Angular full-stack development.
https://spartan.ng
MIT License
1.31k stars 137 forks source link

tabs: Improved API by making brn an hostdirective of hlm #77

Closed elite-benni closed 9 months ago

elite-benni commented 9 months ago

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

Which package are you modifying?

What is the current behavior?

You have to add brn and hlm directives to all the tabs components.

Closes #

What is the new behavior?

As we decided to make the hlm dependand on brn, we can simplify the api.

tabs

old: <brn-tabs value="account"> new: <div brnTabs="account">

tabs-list

old: <brn-tabs-list hlm> new: <hlm-tabs-list>

tabs-trigger

The brn is a hostdirective of the hlm and does not need to be provided. old: <button hlmTabsTrigger brnTabsTrigger="account"> new: <button hlmTabsTrigger="account">

tabs-content

Same as trigger. old: <div hlmTabsContent brnTabsContent="password"> new: <div hlmTabsContent="password">

Does this PR introduce a breaking change?

You will get the following error for tabs-list, trigger and content: Directive BrnTabsTriggerDirective matches multiple times on the same element. Directives can only match an element once.

In this case, brnTabsTrigger should be removed. See "new behavior part" of this PR.

Other information

We also added tests for brn-only to make sure @Input of brn also still works correctly.

goetzrobin commented 9 months ago

Awesome! 😎🚀🚀 Thank you for adding this!