Repository: woylie/doggo
Pull request #320 (2024-07-23 02:26:27)

rename builder macros


Patch:
diff --git a/README.md b/README.md
index 3519420..df5d9e3 100644
--- a/README.md
+++ b/README.md
@@ -33,10 +33,14 @@ defmodule MyAppWeb.CoreComponents do
   use Doggo.Components
   use Phoenix.Component
 
-  alert()
-  alert_dialog()
+  build_alert()
+  build_alert_dialog()
 
-  button(modifiers: [size: [values: ["normal", "small"], default: "normal"]])
+  build_button(
+    modifiers: [
+      size: [values: ["normal", "small"], default: "normal"]
+    ]
+  )
 end
 ```
 
@@ -59,7 +63,7 @@ defmodule MyAppWeb.CoreComponents do
   use Doggo.Components
   use Phoenix.Component
 
-  button(
+  build_button(
     base_class: "alt-button",
     modifiers: [small: [size: ["normal", "small"], default: "normal"]],
     class_name_fun: &MyAppWeb.CoreComponents.modifier_class/2
@@ -79,7 +83,7 @@ useful if you want to compile multiple variants of the same component, or if
 your design system uses different names.
 
 ```elixir
-button(name: :alt_button, base_class: "alt-button")
+build_button(name: :alt_button, base_class: "alt-button")
 ```
 
 This button could be used with:
diff --git a/demo/lib/demo_web/components/core_components.ex b/demo/lib/demo_web/components/core_components.ex
index b643076..dd3bc4e 100644
--- a/demo/lib/demo_web/components/core_components.ex
+++ b/demo/lib/demo_web/components/core_components.ex
@@ -2,73 +2,66 @@ defmodule DemoWeb.CoreComponents do
   use Doggo.Components
   use Phoenix.Component
 
-  accordion(
-    modifiers: [variant: [values: ["primary", "secondary"], default: "primary"]]
-  )
-
-  action_bar()
-  alert()
-  alert_dialog()
-  app_bar()
-  avatar()
-  badge()
-  bottom_navigation()
-  box(modifiers: [size: [values: ["normal", "narrow"], default: "normal"]])
-  breadcrumb()
-  button()
-  button_link()
-  callout()
-  card()
-  carousel()
-  cluster()
-  combobox()
-  date()
-  datetime()
-  disclosure_button()
-  drawer()
-  fab()
-  fallback()
-  field_description_builder()
-  field_errors_builder()
-  field_group_builder()
-  frame_builder()
-  icon()
-  icon_sprite()
-  image()
-  label_builder()
-  menu()
-  menu_bar()
-  menu_button()
-  menu_group()
-  menu_item()
-  menu_item_checkbox()
-  menu_item_radio_group()
-  modal()
-  navbar()
-  navbar_items()
-  page_header()
-  property_list()
-  radio_group()
-  skeleton()
-  split_pane()
-  stack()
-  steps()
-  switch()
-  tab_navigation()
-  table()
-  tabs(modifiers: [size: [values: ["normal", "narrow"], default: "normal"]])
-  tag()
-  time()
-
-  toggle_button(
-    modifiers: [variant: [values: ["primary", "secondary"], default: "primary"]]
-  )
-
-  toolbar()
-  tooltip()
-  tree()
-  tree_item()
-  vertical_nav()
-  vertical_nav_nested()
-  vertical_nav_section()
+  build_accordion()
+  build_action_bar()
+  build_alert()
+  build_alert_dialog()
+  build_app_bar()
+  build_avatar()
+  build_badge()
+  build_bottom_navigation()
+  build_box()
+  build_breadcrumb()
+  build_button()
+  build_button_link()
+  build_callout()
+  build_card()
+  build_carousel()
+  build_cluster()
+  build_combobox()
+  build_date()
+  build_datetime()
+  build_disclosure_button()
+  build_drawer()
+  build_fab()
+  build_fallback()
+  build_field_description()
+  build_field_errors()
+  build_field_group()
+  build_frame()
+  build_icon()
+  build_icon_sprite()
+  build_image()
+  build_label()
+  build_menu()
+  build_menu_bar()
+  build_menu_button()
+  build_menu_group()
+  build_menu_item()
+  build_menu_item_checkbox()
+  build_menu_item_radio_group()
+  build_modal()
+  build_navbar()
+  build_navbar_items()
+  build_page_header()
+  build_property_list()
+  build_radio_group()
+  build_skeleton()
+  build_split_pane()
+  build_stack()
+  build_steps()
+  build_switch()
+  build_tab_navigation()
+  build_table()
+  build_tabs()
+  build_tag()
+  build_time()
+  build_toggle_button()
+  build_toolbar()
+  build_tooltip()
+  build_tree()
+  build_tree_item()
+  build_vertical_nav()
+  build_vertical_nav_nested()
+  build_vertical_nav_section()
 end
diff --git a/lib/doggo/components.ex b/lib/doggo/components.ex
index e48c711..e4196d7 100644
--- a/lib/doggo/components.ex
+++ b/lib/doggo/components.ex
@@ -20,68 +20,68 @@ defmodule Doggo.Components do
         use Doggo.Components
         use Phoenix.Component
 
-        accordion()
-        action_bar()
-        alert()
-        alert_dialog()
-        app_bar()
-        avatar()
-        badge()
-        bottom_navigation()
-        box()
-        breadcrumb()
-        button()
-        button_link()
-        callout()
-        card()
-        carousel()
-        cluster()
-        combobox()
-        date()
-        datetime()
-        disclosure_button()
-        drawer()
-        fab()
-        fallback()
-        field_description_builder()
-        field_errors_builder()
-        field_group_builder()
-        frame_builder()
-        icon()
-        icon_sprite()
-        image()
-        label_builder()
-        menu()
-        menu_bar()
-        menu_button()
-        menu_group()
-        menu_item()
-        menu_item_checkbox()
-        menu_item_radio_group()
-        modal()
-        navbar()
-        navbar_items()
-        page_header()
-        property_list()
-        radio_group()
-        skeleton()
-        split_pane()
-        stack()
-        steps()
-        switch()
-        tab_navigation()
-        table()
-        tabs()
-        tag()
-        time()
-        toggle_button()
-        toolbar()
-        tooltip()
-        tree()
-        tree_item()
-        vertical_nav()
-        vertical_nav_nested()
-        vertical_nav_section()
+        build_accordion()
+        build_action_bar()
+        build_alert()
+        build_alert_dialog()
+        build_app_bar()
+        build_avatar()
+        build_badge()
+        build_bottom_navigation()
+        build_box()
+        build_breadcrumb()
+        build_button()
+        build_button_link()
+        build_callout()
+        build_card()
+        build_carousel()
+        build_cluster()
+        build_combobox()
+        build_date()
+        build_datetime()
+        build_disclosure_button()
+        build_drawer()
+        build_fab()
+        build_fallback()
+        build_field_description()
+        build_field_errors()
+        build_field_group()
+        build_frame()
+        build_icon()
+        build_icon_sprite()
+        build_image()
+        build_label()
+        build_menu()
+        build_menu_bar()
+        build_menu_button()
+        build_menu_group()
+        build_menu_item()
+        build_menu_item_checkbox()
+        build_menu_item_radio_group()
+        build_modal()
+        build_navbar()
+        build_navbar_items()
+        build_page_header()
+        build_property_list()
+        build_radio_group()
+        build_skeleton()
+        build_split_pane()
+        build_stack()
+        build_steps()
+        build_switch()
+        build_tab_navigation()
+        build_table()
+        build_tabs()
+        build_tag()
+        build_time()
+        build_toggle_button()
+        build_toolbar()
+        build_tooltip()
+        build_tree()
+        build_tree_item()
+        build_vertical_nav()
+        build_vertical_nav_nested()
+        build_vertical_nav_section()
       end
 
   ## Common Options
@@ -414,7 +414,7 @@ defmodule Doggo.Components do
     other scenarios where an immediate decision is necessary.
 
     For non-critical dialogs, such as those containing forms or additional
-    information, use `Doggo.Components.modal/1` instead.
+    information, use `Doggo.Components.build_modal/1` instead.
     """,
     usage: """
     ```heex
@@ -2410,7 +2410,7 @@ defmodule Doggo.Components do
   )
 
   component(
-    :field_description_builder,
+    :field_description,
     name: :field_description,
     base_class: "field-description",
     modifiers: [],
@@ -2450,7 +2450,7 @@ defmodule Doggo.Components do
   )
 
   component(
-    :field_errors_builder,
+    :field_errors,
     name: :field_errors,
     base_class: "field-errors",
     modifiers: [],
@@ -2487,7 +2487,7 @@ defmodule Doggo.Components do
   )
 
   component(
-    :field_group_builder,
+    :field_group,
     name: :field_group,
     base_class: "field-group",
     modifiers: [],
@@ -2538,7 +2538,7 @@ defmodule Doggo.Components do
   )
 
   component(
-    :frame_builder,
+    :frame,
     name: :frame,
     base_class: "frame",
     modifiers: [
@@ -2793,7 +2793,7 @@ defmodule Doggo.Components do
     Renders an image with an optional caption.
 
     Note that this component relies on the frame component being compiled in the
-    same module with `frame_builder/1` with the default name (`:frame`). If you
+    same module with `frame/1` with the default name (`:frame`). If you
     override the default ratios, ensure that both the `image` component and
     the `frame` component are generated with the same values.
     """,
@@ -2888,7 +2888,7 @@ defmodule Doggo.Components do
   )
 
   component(
-    :label_builder,
+    :label,
     name: :label,
     base_class: "label",
     modifiers: [],
diff --git a/lib/doggo/macros.ex b/lib/doggo/macros.ex
index 441a0c6..3fb33b6 100644
--- a/lib/doggo/macros.ex
+++ b/lib/doggo/macros.ex
@@ -19,6 +19,7 @@ defmodule Doggo.Macros do
         :usage
       ])
 
+    builder_name = :"build_#{name}"
     maturity = Keyword.fetch!(opts, :maturity)
     maturity_note = Keyword.get(opts, :maturity_note)
     doc = Keyword.fetch!(opts, :doc)
@@ -58,7 +59,7 @@ defmodule Doggo.Macros do
 
       Generate component with default options:
 
-          #{unquote(to_string(name))}()
+          #{unquote(to_string(builder_name))}()
 
       ## Default options
 
@@ -74,7 +75,7 @@ defmodule Doggo.Macros do
       @doc type: unquote(type)
       @doc since: unquote(since)
 
-      defmacro unquote(name)(opts \\ []) do
+      defmacro unquote(builder_name)(opts \\ []) do
         opts = Keyword.validate!(opts, unquote(defaults))
 
         {opts, extra} =
diff --git a/lib/doggo/storybook/field_description_builder.ex b/lib/doggo/storybook/field_description.ex
similarity index 90%
rename from lib/doggo/storybook/field_description_builder.ex
rename to lib/doggo/storybook/field_description.ex
index ba505d5..29d90a1 100644
--- a/lib/doggo/storybook/field_description_builder.ex
+++ b/lib/doggo/storybook/field_description.ex
@@ -1,4 +1,4 @@
-defmodule Doggo.Storybook.FieldDescriptionBuilder do
+defmodule Doggo.Storybook.FieldDescription do
   @moduledoc false
   alias PhoenixStorybook.Stories.Variation
 
diff --git a/lib/doggo/storybook/field_errors_builder.ex b/lib/doggo/storybook/field_errors.ex
similarity index 92%
rename from lib/doggo/storybook/field_errors_builder.ex
rename to lib/doggo/storybook/field_errors.ex
index b0baf69..26043ca 100644
--- a/lib/doggo/storybook/field_errors_builder.ex
+++ b/lib/doggo/storybook/field_errors.ex
@@ -1,4 +1,4 @@
-defmodule Doggo.Storybook.FieldErrorsBuilder do
+defmodule Doggo.Storybook.FieldErrors do
   @moduledoc false
   alias PhoenixStorybook.Stories.Variation
 
diff --git a/lib/doggo/storybook/field_group_builder.ex b/lib/doggo/storybook/field_group.ex
similarity index 95%
rename from lib/doggo/storybook/field_group_builder.ex
rename to lib/doggo/storybook/field_group.ex
index 19a0568..1dbe9ba 100644
--- a/lib/doggo/storybook/field_group_builder.ex
+++ b/lib/doggo/storybook/field_group.ex
@@ -1,4 +1,4 @@
-defmodule Doggo.Storybook.FieldGroupBuilder do
+defmodule Doggo.Storybook.FieldGroup do
   @moduledoc false
   alias PhoenixStorybook.Stories.Variation
 
diff --git a/lib/doggo/storybook/frame_builder.ex b/lib/doggo/storybook/frame.ex
similarity index 92%
rename from lib/doggo/storybook/frame_builder.ex
rename to lib/doggo/storybook/frame.ex
index 3181d0b..9b76ab5 100644
--- a/lib/doggo/storybook/frame_builder.ex
+++ b/lib/doggo/storybook/frame.ex
@@ -1,4 +1,4 @@
-defmodule Doggo.Storybook.FrameBuilder do
+defmodule Doggo.Storybook.Frame do
   @moduledoc false
 
   def variations(_opts) do
diff --git a/lib/doggo/storybook/label_builder.ex b/lib/doggo/storybook/label.ex
similarity index 93%
rename from lib/doggo/storybook/label_builder.ex
rename to lib/doggo/storybook/label.ex
index c725f31..69a0814 100644
--- a/lib/doggo/storybook/label_builder.ex
+++ b/lib/doggo/storybook/label.ex
@@ -1,4 +1,4 @@
-defmodule Doggo.Storybook.LabelBuilder do
+defmodule Doggo.Storybook.Label do
   @moduledoc false
   alias PhoenixStorybook.Stories.Variation
 


Test patch:
diff --git a/test/doggo/components_test.exs b/test/doggo/components_test.exs
index fef4e63..df31e10 100644
--- a/test/doggo/components_test.exs
+++ b/test/doggo/components_test.exs
@@ -15,75 +15,75 @@ defmodule Doggo.ComponentsTest do
     use Doggo.Components
     use Phoenix.Component
 
-    accordion()
-    action_bar()
-    alert()
-    alert_dialog()
-    app_bar()
-    avatar()
-    badge()
-    bottom_navigation()
-    box()
-    breadcrumb()
-    button()
-    button_link()
-    callout()
-    card()
-    carousel()
-    cluster()
-    combobox()
-    date()
-    datetime()
-    disclosure_button()
-    drawer()
-    fab()
-    fallback()
-    field_description_builder()
-    field_errors_builder()
-    field_group_builder()
-    frame_builder()
-    icon()
-    icon_sprite()
-    image()
-    label_builder()
-    menu()
-    menu_bar()
-    menu_button()
-    menu_group()
-    menu_item()
-    menu_item_checkbox()
-    menu_item_radio_group()
-    modal()
-    navbar()
-    navbar_items()
-    page_header()
-    property_list()
-    radio_group()
-    skeleton()
-    split_pane()
-    stack()
-    steps()
-    switch()
-    tab_navigation()
-    table()
-    tabs()
-    tag()
-    time()
-    toggle_button()
-    toolbar()
-    tooltip()
-    tree()
-    tree_item()
-    vertical_nav()
-    vertical_nav_nested()
-    vertical_nav_section()
-
-    button_link(
+    build_accordion()
+    build_action_bar()
+    build_alert()
+    build_alert_dialog()
+    build_app_bar()
+    build_avatar()
+    build_badge()
+    build_bottom_navigation()
+    build_box()
+    build_breadcrumb()
+    build_button()
+    build_button_link()
+    build_callout()
+    build_card()
+    build_carousel()
+    build_cluster()
+    build_combobox()
+    build_date()
+    build_datetime()
+    build_disclosure_button()
+    build_drawer()
+    build_fab()
+    build_fallback()
+    build_field_description()
+    build_field_errors()
+    build_field_group()
+    build_frame()
+    build_icon()
+    build_icon_sprite()
+    build_image()
+    build_label()
+    build_menu()
+    build_menu_bar()
+    build_menu_button()
+    build_menu_group()
+    build_menu_item()
+    build_menu_item_checkbox()
+    build_menu_item_radio_group()
+    build_modal()
+    build_navbar()
+    build_navbar_items()
+    build_page_header()
+    build_property_list()
+    build_radio_group()
+    build_skeleton()
+    build_split_pane()
+    build_stack()
+    build_steps()
+    build_switch()
+    build_tab_navigation()
+    build_table()
+    build_tabs()
+    build_tag()
+    build_time()
+    build_toggle_button()
+    build_toolbar()
+    build_tooltip()
+    build_tree()
+    build_tree_item()
+    build_vertical_nav()
+    build_vertical_nav_nested()
+    build_vertical_nav_section()
+
+    build_button_link(
       name: :button_link_with_disabled_class,
       disabled_class: "disabled"
     )
 
-    stack(name: :stack_with_recursive_class, recursive_class: "recursive")
+    build_stack(name: :stack_with_recursive_class, recursive_class: "recursive")
   end
 
   describe "__dog_components__/0" do
diff --git a/test/doggo/storybook_test.exs b/test/doggo/storybook_test.exs
index 3b822a4..43ad247 100644
--- a/test/doggo/storybook_test.exs
+++ b/test/doggo/storybook_test.exs
@@ -10,89 +10,122 @@ defmodule Doggo.StorybookTest do
     use Doggo.Components
     use Phoenix.Component
 
-    accordion(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    action_bar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    alert(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    alert_dialog(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    app_bar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    avatar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    badge(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_accordion(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_action_bar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_alert(modifiers: [variant: [values: [nil, "yes"], default: nil]])
 
-    bottom_navigation(
+    build_alert_dialog(
       modifiers: [variant: [values: [nil, "yes"], default: nil]]
     )
 
-    box(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    breadcrumb(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    button(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    button_link(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    callout(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    card(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    carousel(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    cluster(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    combobox(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    date(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    datetime(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_app_bar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_avatar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_badge(modifiers: [variant: [values: [nil, "yes"], default: nil]])
 
-    disclosure_button(
+    build_bottom_navigation(
       modifiers: [variant: [values: [nil, "yes"], default: nil]]
     )
 
-    drawer(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    fab(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    fallback(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_box(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_breadcrumb(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_button(modifiers: [variant: [values: [nil, "yes"], default: nil]])
 
-    field_description_builder(
+    build_button_link(
       modifiers: [variant: [values: [nil, "yes"], default: nil]]
     )
 
-    field_errors_builder(
+    build_callout(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_card(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_carousel(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_cluster(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_combobox(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_date(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_datetime(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+
+    build_disclosure_button(
       modifiers: [variant: [values: [nil, "yes"], default: nil]]
     )
 
-    field_group_builder(
+    build_drawer(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_fab(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_fallback(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+
+    build_field_description(
       modifiers: [variant: [values: [nil, "yes"], default: nil]]
     )
 
-    frame_builder()
-    icon(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    image(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_field_errors(
+      modifiers: [variant: [values: [nil, "yes"], default: nil]]
+    )
 
-    label_builder(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    menu(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    menu_bar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    menu_button(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    menu_group(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    menu_item(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_field_group(
+      modifiers: [variant: [values: [nil, "yes"], default: nil]]
+    )
+
+    build_frame()
+    build_icon(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_image(modifiers: [variant: [values: [nil, "yes"], default: nil]])
 
-    menu_item_checkbox(
+    build_label(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_menu(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_menu_bar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+
+    build_menu_button(
       modifiers: [variant: [values: [nil, "yes"], default: nil]]
     )
 
-    menu_item_radio_group(
+    build_menu_group(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_menu_item(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+
+    build_menu_item_checkbox(
       modifiers: [variant: [values: [nil, "yes"], default: nil]]
     )
 
-    modal(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    navbar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    page_header(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    property_list(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    radio_group(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    skeleton(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    split_pane(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    stack(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    steps(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    switch(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    tab_navigation(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    table(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    tabs(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    tag(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    time(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    toggle_button(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    toolbar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    tooltip(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    tree(modifiers: [variant: [values: [nil, "yes"], default: nil]])
-    vertical_nav(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_menu_item_radio_group(
+      modifiers: [variant: [values: [nil, "yes"], default: nil]]
+    )
+
+    build_modal(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_navbar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+
+    build_page_header(
+      modifiers: [variant: [values: [nil, "yes"], default: nil]]
+    )
+
+    build_property_list(
+      modifiers: [variant: [values: [nil, "yes"], default: nil]]
+    )
+
+    build_radio_group(
+      modifiers: [variant: [values: [nil, "yes"], default: nil]]
+    )
+
+    build_skeleton(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_split_pane(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_stack(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_steps(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_switch(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+
+    build_tab_navigation(
+      modifiers: [variant: [values: [nil, "yes"], default: nil]]
+    )
+
+    build_table(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_tabs(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_tag(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_time(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+
+    build_toggle_button(
+      modifiers: [variant: [values: [nil, "yes"], default: nil]]
+    )
+
+    build_toolbar(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_tooltip(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+    build_tree(modifiers: [variant: [values: [nil, "yes"], default: nil]])
+
+    build_vertical_nav(
+      modifiers: [variant: [values: [nil, "yes"], default: nil]]
+    )
   end
 
   for {name, info} <- TestComponents.__dog_components__() do
diff --git a/test/doggo_test.exs b/test/doggo_test.exs
index 2478bac..481dcd9 100644
--- a/test/doggo_test.exs
+++ b/test/doggo_test.exs
@@ -490,7 +490,7 @@ defmodule DoggoTest do
     use Doggo.Components
     use Phoenix.Component
 
-    button(
+    build_button(
       modifiers: [
         size: [values: ["small", "normal"], default: "normal"],
         variant: [
@@ -504,7 +504,7 @@ defmodule DoggoTest do
       ]
     )
 
-    callout(
+    build_callout(
       class_name_fun: &__MODULE__.modifier_class_name/2,
       modifiers: [
         variant: [
@@ -514,7 +514,7 @@ defmodule DoggoTest do
       ]
     )
 
-    tag(
+    build_tag(
       modifiers: [
         size: [values: ["small", "normal", "large"], default: "normal"]
       ]
diff --git a/test/mix/tasks/dog.gen.stories_test.exs b/test/mix/tasks/dog.gen.stories_test.exs
index b172a90..1e27aac 100644
--- a/test/mix/tasks/dog.gen.stories_test.exs
+++ b/test/mix/tasks/dog.gen.stories_test.exs
@@ -13,8 +13,8 @@ defmodule Mix.Tasks.Dog.GenStoriesTest do
     use Doggo.Components
     use Phoenix.Component
 
-    button()
-    menu(name: :context_menu)
+    build_button()
+    build_menu(name: :context_menu)
   end
 
   @tag :tmp_dir
diff --git a/test/mix/tasks/dog.modifiers_test.exs b/test/mix/tasks/dog.modifiers_test.exs
index 67b0b08..e476e5a 100644
--- a/test/mix/tasks/dog.modifiers_test.exs
+++ b/test/mix/tasks/dog.modifiers_test.exs
@@ -13,7 +13,7 @@ defmodule Mix.Tasks.Dog.ModifiersTest do
     use Doggo.Components
     use Phoenix.Component
 
-    button(
+    build_button(
       modifiers: [
         size: [values: ["small", "normal"], default: "normal"],
         variant: [