From 1cd4e04eacb3f2453013127471a6e4ed6fa723a3 Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Mon, 3 Mar 2025 12:11:22 +0100 Subject: [PATCH 01/15] Issue #3485834 by grimreaper: Blockquote, list, pagination, breadcrumb. --- .../blockquote/blockquote.default.story.yml | 6 +++++ .../blockquote.source_center.story.yml | 18 +++++++++++++++ .../blockquote.source_end.story.yml | 18 +++++++++++++++ ....yml => blockquote.source_start.story.yml} | 3 ++- .../breadcrumb/breadcrumb.1_item.story.yml | 4 ++++ .../breadcrumb/breadcrumb.2_items.story.yml | 6 +++++ ...story.yml => breadcrumb.3_items.story.yml} | 2 +- components/list/list.default_ol.story.yml | 9 ++++++++ components/list/list.default_ul.story.yml | 9 ++++++++ components/list/list.inline.story.yml | 9 ++++++++ components/list/list.preview.story.yml | 14 ------------ components/list/list.unstyled.story.yml | 22 +++++++++++++++++++ .../pagination.alignment_center.story.yml | 21 ++++++++++++++++++ .../pagination.alignment_end.story.yml | 21 ++++++++++++++++++ ...story.yml => pagination.default.story.yml} | 10 +++++---- .../pagination.sizing_large.story.yml | 9 ++++++++ .../pagination.sizing_small.story.yml | 9 ++++++++ .../pagination/pagination.states.story.yml | 16 ++++++++++++++ 18 files changed, 186 insertions(+), 20 deletions(-) create mode 100644 components/blockquote/blockquote.default.story.yml create mode 100644 components/blockquote/blockquote.source_center.story.yml create mode 100644 components/blockquote/blockquote.source_end.story.yml rename components/blockquote/{blockquote.preview.story.yml => blockquote.source_start.story.yml} (76%) create mode 100644 components/breadcrumb/breadcrumb.1_item.story.yml create mode 100644 components/breadcrumb/breadcrumb.2_items.story.yml rename components/breadcrumb/{breadcrumb.preview.story.yml => breadcrumb.3_items.story.yml} (86%) create mode 100644 components/list/list.default_ol.story.yml create mode 100644 components/list/list.default_ul.story.yml create mode 100644 components/list/list.inline.story.yml delete mode 100644 components/list/list.preview.story.yml create mode 100644 components/list/list.unstyled.story.yml create mode 100644 components/pagination/pagination.alignment_center.story.yml create mode 100644 components/pagination/pagination.alignment_end.story.yml rename components/pagination/{pagination.preview.story.yml => pagination.default.story.yml} (67%) create mode 100644 components/pagination/pagination.sizing_large.story.yml create mode 100644 components/pagination/pagination.sizing_small.story.yml create mode 100644 components/pagination/pagination.states.story.yml diff --git a/components/blockquote/blockquote.default.story.yml b/components/blockquote/blockquote.default.story.yml new file mode 100644 index 00000000..8dc44250 --- /dev/null +++ b/components/blockquote/blockquote.default.story.yml @@ -0,0 +1,6 @@ +name: "Default" +slots: + content: + - type: html_tag + tag: p + value: "A well-known quote, contained in a blockquote element." diff --git a/components/blockquote/blockquote.source_center.story.yml b/components/blockquote/blockquote.source_center.story.yml new file mode 100644 index 00000000..f5871bbc --- /dev/null +++ b/components/blockquote/blockquote.source_center.story.yml @@ -0,0 +1,18 @@ +name: "Alignment: center" +description: "Use text utilities as needed to change the alignment of your blockquote." +slots: + content: + - type: html_tag + tag: p + value: "A well-known quote, contained in a blockquote element." + footer: + - markup: "Someone famous in " + - type: html_tag + tag: cite + value: "Source Title" + attributes: + title: "Source Title" +props: + attributes: + class: + - text-center diff --git a/components/blockquote/blockquote.source_end.story.yml b/components/blockquote/blockquote.source_end.story.yml new file mode 100644 index 00000000..01d35149 --- /dev/null +++ b/components/blockquote/blockquote.source_end.story.yml @@ -0,0 +1,18 @@ +name: "Alignment: end" +description: "Use text utilities as needed to change the alignment of your blockquote." +slots: + content: + - type: html_tag + tag: p + value: "A well-known quote, contained in a blockquote element." + footer: + - markup: "Someone famous in " + - type: html_tag + tag: cite + value: "Source Title" + attributes: + title: "Source Title" +props: + attributes: + class: + - text-end diff --git a/components/blockquote/blockquote.preview.story.yml b/components/blockquote/blockquote.source_start.story.yml similarity index 76% rename from components/blockquote/blockquote.preview.story.yml rename to components/blockquote/blockquote.source_start.story.yml index 7620fe56..719ddafa 100644 --- a/components/blockquote/blockquote.preview.story.yml +++ b/components/blockquote/blockquote.source_start.story.yml @@ -1,4 +1,5 @@ -name: Preview +name: "Naming a source" +description: "When there is something in the 'footer' slot." slots: content: - type: html_tag diff --git a/components/breadcrumb/breadcrumb.1_item.story.yml b/components/breadcrumb/breadcrumb.1_item.story.yml new file mode 100644 index 00000000..1001e431 --- /dev/null +++ b/components/breadcrumb/breadcrumb.1_item.story.yml @@ -0,0 +1,4 @@ +name: "1 Item" +props: + items: + - title: Home diff --git a/components/breadcrumb/breadcrumb.2_items.story.yml b/components/breadcrumb/breadcrumb.2_items.story.yml new file mode 100644 index 00000000..4eeb2ef5 --- /dev/null +++ b/components/breadcrumb/breadcrumb.2_items.story.yml @@ -0,0 +1,6 @@ +name: "2 Items" +props: + items: + - title: Home + url: "#" + - title: Library diff --git a/components/breadcrumb/breadcrumb.preview.story.yml b/components/breadcrumb/breadcrumb.3_items.story.yml similarity index 86% rename from components/breadcrumb/breadcrumb.preview.story.yml rename to components/breadcrumb/breadcrumb.3_items.story.yml index 070173ed..08a5881b 100644 --- a/components/breadcrumb/breadcrumb.preview.story.yml +++ b/components/breadcrumb/breadcrumb.3_items.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: "3 Items" props: items: - title: Home diff --git a/components/list/list.default_ol.story.yml b/components/list/list.default_ol.story.yml new file mode 100644 index 00000000..82264689 --- /dev/null +++ b/components/list/list.default_ol.story.yml @@ -0,0 +1,9 @@ +name: "Default: ordered" +slots: + items: + - markup: "Lorem ipsum" + - markup: "Phasellus iaculis" + - markup: "Nulla volutpat" +props: + variant: default + list_type: ol diff --git a/components/list/list.default_ul.story.yml b/components/list/list.default_ul.story.yml new file mode 100644 index 00000000..b19a58da --- /dev/null +++ b/components/list/list.default_ul.story.yml @@ -0,0 +1,9 @@ +name: "Default: unordered" +slots: + items: + - markup: "Lorem ipsum" + - markup: "Phasellus iaculis" + - markup: "Nulla volutpat" +props: + variant: default + list_type: ul diff --git a/components/list/list.inline.story.yml b/components/list/list.inline.story.yml new file mode 100644 index 00000000..f51e569e --- /dev/null +++ b/components/list/list.inline.story.yml @@ -0,0 +1,9 @@ +name: Inline +slots: + items: + - markup: "This is a list item." + - markup: "And another one." + - markup: "But they're displayed inline." +props: + variant: inline + list_type: ul diff --git a/components/list/list.preview.story.yml b/components/list/list.preview.story.yml deleted file mode 100644 index 9b78f6fd..00000000 --- a/components/list/list.preview.story.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Preview -slots: - items: - - type: html_tag - tag: span - value: "Lorem ipsum" - - type: html_tag - tag: span - value: "Phasellus iaculis" - - type: html_tag - tag: span - value: "Nulla volutpat" -props: - list_type: ul diff --git a/components/list/list.unstyled.story.yml b/components/list/list.unstyled.story.yml new file mode 100644 index 00000000..e95b5a2a --- /dev/null +++ b/components/list/list.unstyled.story.yml @@ -0,0 +1,22 @@ +name: Unstyled +slots: + items: + - markup: "This is a list." + - markup: "It appears completely unstyled." + - markup: "Structurally, it's still a list." + - markup: "However, this style only applies to immediate child elements." + - - markup: "Nested lists:" + - type: component + component: "ui_suite_bootstrap:list" + slots: + items: + - markup: "are unaffected by this style" + - markup: "will still show a bullet" + - markup: "and have appropriate left margin" + props: + variant: default + list_type: ul + - markup: "This may still come in handy in some situations." +props: + variant: unstyled + list_type: ul diff --git a/components/pagination/pagination.alignment_center.story.yml b/components/pagination/pagination.alignment_center.story.yml new file mode 100644 index 00000000..29a5d3c0 --- /dev/null +++ b/components/pagination/pagination.alignment_center.story.yml @@ -0,0 +1,21 @@ +name: "Alignment: center" +description: "Change the alignment of pagination components with flexbox utilities. For example, with .justify-content-center:" +props: + items: + - url: "#" + title: "Previous" + attributes: + class: + - disabled + - url: "#" + title: "1" + - url: "#" + title: "2" + - url: "#" + title: "2" + - url: "#" + title: "Next" + variant: default + attributes: + class: + - justify-content-center diff --git a/components/pagination/pagination.alignment_end.story.yml b/components/pagination/pagination.alignment_end.story.yml new file mode 100644 index 00000000..7e01fb4d --- /dev/null +++ b/components/pagination/pagination.alignment_end.story.yml @@ -0,0 +1,21 @@ +name: "Alignment: end" +description: "Change the alignment of pagination components with flexbox utilities. For example, with .justify-content-end:" +props: + items: + - url: "#" + title: "Previous" + attributes: + class: + - disabled + - url: "#" + title: "1" + - url: "#" + title: "2" + - url: "#" + title: "2" + - url: "#" + title: "Next" + variant: default + attributes: + class: + - justify-content-end diff --git a/components/pagination/pagination.preview.story.yml b/components/pagination/pagination.default.story.yml similarity index 67% rename from components/pagination/pagination.preview.story.yml rename to components/pagination/pagination.default.story.yml index 0db30817..aebf2273 100644 --- a/components/pagination/pagination.preview.story.yml +++ b/components/pagination/pagination.default.story.yml @@ -1,16 +1,18 @@ -name: Preview +name: Default props: items: - url: "#" title: "« First" - url: "#" title: "‹ Previous" - - title: "4" - url: "#" - title: "5" + title: "1" - url: "#" - title: "6" + title: "2" + - url: "#" + title: "3" - url: "#" title: "Next ›" - url: "#" title: "Last »" + variant: default diff --git a/components/pagination/pagination.sizing_large.story.yml b/components/pagination/pagination.sizing_large.story.yml new file mode 100644 index 00000000..bd61b340 --- /dev/null +++ b/components/pagination/pagination.sizing_large.story.yml @@ -0,0 +1,9 @@ +name: "Sizing: large" +props: + items: + - title: "1" + - url: "#" + title: "2" + - url: "#" + title: "3" + variant: lg diff --git a/components/pagination/pagination.sizing_small.story.yml b/components/pagination/pagination.sizing_small.story.yml new file mode 100644 index 00000000..49f11157 --- /dev/null +++ b/components/pagination/pagination.sizing_small.story.yml @@ -0,0 +1,9 @@ +name: "Sizing: small" +props: + items: + - title: "1" + - url: "#" + title: "2" + - url: "#" + title: "3" + variant: sm diff --git a/components/pagination/pagination.states.story.yml b/components/pagination/pagination.states.story.yml new file mode 100644 index 00000000..20acfa7c --- /dev/null +++ b/components/pagination/pagination.states.story.yml @@ -0,0 +1,16 @@ +name: "Disabled and active states" +props: + items: + - url: "#" + title: "Previous" + attributes: + class: + - disabled + - url: "#" + title: "1" + - title: "2" + - url: "#" + title: "2" + - url: "#" + title: "Next" + variant: default -- GitLab From 009d8c591240f321ad616b60695158f060fe2a0c Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Mon, 3 Mar 2025 15:34:15 +0100 Subject: [PATCH 02/15] Issue #3485834 by grimreaper: spinner, progress, progress_stacked, figure. --- components/figure/figure.alignment.story.yml | 14 +++++ ...iew.story.yml => figure.default.story.yml} | 9 +-- .../progress/progress.background.story.yml | 53 ++++++++++++++++ .../progress.background_with_label.story.yml | 61 +++++++++++++++++++ .../progress/progress.default.story.yml | 22 +++++++ .../progress/progress.height_1.story.yml | 9 +++ .../progress/progress.height_20.story.yml | 9 +++ components/progress/progress.label.story.yml | 10 +++ .../progress/progress.label_long.story.yml | 14 +++++ .../progress/progress.preview.story.yml | 8 --- ...yml => progress_stacked.default.story.yml} | 2 +- components/spinner/spinner.buttons.story.yml | 13 ++++ components/spinner/spinner.color.story.yml | 22 +++++++ ...ew.story.yml => spinner.default.story.yml} | 2 +- components/spinner/spinner.margin.story.yml | 9 +++ .../spinner/spinner.placement_flex.story.yml | 9 +++ .../spinner.placement_flex_2.story.yml | 12 ++++ .../spinner/spinner.placement_float.story.yml | 12 ++++ .../spinner/spinner.placement_text.story.yml | 9 +++ 19 files changed, 285 insertions(+), 14 deletions(-) create mode 100644 components/figure/figure.alignment.story.yml rename components/figure/{figure.preview.story.yml => figure.default.story.yml} (89%) create mode 100644 components/progress/progress.background.story.yml create mode 100644 components/progress/progress.background_with_label.story.yml create mode 100644 components/progress/progress.default.story.yml create mode 100644 components/progress/progress.height_1.story.yml create mode 100644 components/progress/progress.height_20.story.yml create mode 100644 components/progress/progress.label.story.yml create mode 100644 components/progress/progress.label_long.story.yml delete mode 100644 components/progress/progress.preview.story.yml rename components/progress_stacked/{progress_stacked.preview.story.yml => progress_stacked.default.story.yml} (98%) create mode 100644 components/spinner/spinner.buttons.story.yml create mode 100644 components/spinner/spinner.color.story.yml rename components/spinner/{spinner.preview.story.yml => spinner.default.story.yml} (82%) create mode 100644 components/spinner/spinner.margin.story.yml create mode 100644 components/spinner/spinner.placement_flex.story.yml create mode 100644 components/spinner/spinner.placement_flex_2.story.yml create mode 100644 components/spinner/spinner.placement_float.story.yml create mode 100644 components/spinner/spinner.placement_text.story.yml diff --git a/components/figure/figure.alignment.story.yml b/components/figure/figure.alignment.story.yml new file mode 100644 index 00000000..b8083906 --- /dev/null +++ b/components/figure/figure.alignment.story.yml @@ -0,0 +1,14 @@ +name: "Caption alignment" +slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1hbmNob3I6IG1pZGRsZTsgdXNlci1zZWxlY3Q6IG5vbmU7IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIyNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEltYWdlIGNhcCI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjODY4ZTk2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiNkZWUyZTYiIGR5PSIuM2VtIj5JbWFnZSBjYXA8L3RleHQ+PC9zdmc+Cg==" + alt: "© 2017 John Smith photography" + attributes: + class: + - img-fluid + - rounded + caption: "A caption for the above image." +props: + figcaption_attributes: + class: text-end diff --git a/components/figure/figure.preview.story.yml b/components/figure/figure.default.story.yml similarity index 89% rename from components/figure/figure.preview.story.yml rename to components/figure/figure.default.story.yml index be5cf179..689f2ab7 100644 --- a/components/figure/figure.preview.story.yml +++ b/components/figure/figure.default.story.yml @@ -1,10 +1,11 @@ -name: Preview +name: Default slots: image: theme: image uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1hbmNob3I6IG1pZGRsZTsgdXNlci1zZWxlY3Q6IG5vbmU7IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIyNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEltYWdlIGNhcCI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjODY4ZTk2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiNkZWUyZTYiIGR5PSIuM2VtIj5JbWFnZSBjYXA8L3RleHQ+PC9zdmc+Cg==" alt: "© 2017 John Smith photography" + attributes: + class: + - img-fluid + - rounded caption: "A caption for the above image." -props: - figcaption_attributes: - class: text-end diff --git a/components/progress/progress.background.story.yml b/components/progress/progress.background.story.yml new file mode 100644 index 00000000..014635d6 --- /dev/null +++ b/components/progress/progress.background.story.yml @@ -0,0 +1,53 @@ +name: Background +props: + min: 0 + max: 100 + stacked: false +library_wrapper: > + {% set examples = [ + { + width: 10, + aria: 'Default example'|t, + classes: [], + }, + { + width: 25, + aria: 'Success example'|t, + classes: [ + 'bg-success', + ], + }, + { + width: 50, + aria: 'Info example'|t, + classes: [ + 'bg-info', + ], + }, + { + width: 75, + aria: 'Warning example'|t, + classes: [ + 'bg-warning', + ], + }, + { + width: 100, + aria: 'Danger example'|t, + classes: [ + 'bg-danger', + ], + }, + ] %} + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'percent': example.width, + 'aria_label': example.aria, + 'attributes': create_attribute({class: example.classes}) + })} %} + + {% set example_story = _story %} + <div class="mt-3"> + {{ example_story|merge(example_props) }} + </div> + {% endfor %} diff --git a/components/progress/progress.background_with_label.story.yml b/components/progress/progress.background_with_label.story.yml new file mode 100644 index 00000000..e53706a1 --- /dev/null +++ b/components/progress/progress.background_with_label.story.yml @@ -0,0 +1,61 @@ +name: "Background with label" +props: + min: 0 + max: 100 + stacked: false +library_wrapper: > + {% set examples = [ + { + label: '10%', + width: 10, + aria: 'Default example'|t, + classes: [], + }, + { + label: '25%', + width: 25, + aria: 'Success example'|t, + classes: [ + 'text-bg-success', + ], + }, + { + label: '50%', + width: 50, + aria: 'Info example'|t, + classes: [ + 'text-bg-info', + ], + }, + { + label: '75%', + width: 75, + aria: 'Warning example'|t, + classes: [ + 'text-bg-warning', + ], + }, + { + label: '100%', + width: 100, + aria: 'Danger example'|t, + classes: [ + 'text-bg-danger', + ], + }, + ] %} + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'percent': example.width, + 'aria_label': example.aria, + 'attributes': create_attribute({class: example.classes}) + })} %} + {% set example_slots = {'#slots': _story['#slots']|merge({ + 'label': example.label, + })} %} + + {% set example_story = _story %} + <div class="mt-3"> + {{ example_story|merge(example_props)|merge(example_slots) }} + </div> + {% endfor %} diff --git a/components/progress/progress.default.story.yml b/components/progress/progress.default.story.yml new file mode 100644 index 00000000..07fec761 --- /dev/null +++ b/components/progress/progress.default.story.yml @@ -0,0 +1,22 @@ +name: Default +props: + variant: default + min: 0 + max: 100 + stacked: false + aria_label: "Basic example" +library_wrapper: > + {% set widths = [ + 0, + 25, + 50, + 75, + 100, + ] %} + {% for width in widths %} + {% set width_props = {'#props': _story['#props']|merge({'percent': width})} %} + {% set width_story = _story %} + <div class="mt-3"> + {{ width_story|merge(width_props) }} + </div> + {% endfor %} diff --git a/components/progress/progress.height_1.story.yml b/components/progress/progress.height_1.story.yml new file mode 100644 index 00000000..2e1183b5 --- /dev/null +++ b/components/progress/progress.height_1.story.yml @@ -0,0 +1,9 @@ +name: "Height 1px" +props: + variant: default + percent: 25 + min: 0 + max: 100 + stacked: false + bar_height: 1 + aria_label: "Example 1px high" diff --git a/components/progress/progress.height_20.story.yml b/components/progress/progress.height_20.story.yml new file mode 100644 index 00000000..c5993fca --- /dev/null +++ b/components/progress/progress.height_20.story.yml @@ -0,0 +1,9 @@ +name: "Height 20px" +props: + variant: default + percent: 25 + min: 0 + max: 100 + stacked: false + bar_height: 20 + aria_label: "Example 20px high" diff --git a/components/progress/progress.label.story.yml b/components/progress/progress.label.story.yml new file mode 100644 index 00000000..86e063dc --- /dev/null +++ b/components/progress/progress.label.story.yml @@ -0,0 +1,10 @@ +name: "Label" +slots: + label: 25% +props: + variant: default + percent: 25 + min: 0 + max: 100 + stacked: false + aria_label: "Example with label" diff --git a/components/progress/progress.label_long.story.yml b/components/progress/progress.label_long.story.yml new file mode 100644 index 00000000..6f008988 --- /dev/null +++ b/components/progress/progress.label_long.story.yml @@ -0,0 +1,14 @@ +name: "Label: long" +slots: + label: "Long label text for the progress bar, set to a dark color" +props: + variant: default + attributes: + class: + - overflow-visible + - text-dark + percent: 10 + min: 0 + max: 100 + stacked: false + aria_label: "Example with label" diff --git a/components/progress/progress.preview.story.yml b/components/progress/progress.preview.story.yml deleted file mode 100644 index ec0b5577..00000000 --- a/components/progress/progress.preview.story.yml +++ /dev/null @@ -1,8 +0,0 @@ -name: Preview -slots: - label: Label -props: - percent: 50 - min: 0 - max: 100 - stacked: false diff --git a/components/progress_stacked/progress_stacked.preview.story.yml b/components/progress_stacked/progress_stacked.default.story.yml similarity index 98% rename from components/progress_stacked/progress_stacked.preview.story.yml rename to components/progress_stacked/progress_stacked.default.story.yml index 3ba5a8c9..db49c0dd 100644 --- a/components/progress_stacked/progress_stacked.preview.story.yml +++ b/components/progress_stacked/progress_stacked.default.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: Default slots: items: - type: component diff --git a/components/spinner/spinner.buttons.story.yml b/components/spinner/spinner.buttons.story.yml new file mode 100644 index 00000000..ffb57d86 --- /dev/null +++ b/components/spinner/spinner.buttons.story.yml @@ -0,0 +1,13 @@ +name: "Buttons" +props: +# variant: border + aria_hidden: true +library_wrapper: > + <button class="btn btn-primary" type="button" disabled> + {{ _story }} + <span class="visually-hidden" role="status">{{ 'Loading...'|t }}</span> + </button> + <button class="btn btn-primary" type="button" disabled> + {{ _story }} + <span role="status">{{ 'Loading...'|t }}</span> + </button> diff --git a/components/spinner/spinner.color.story.yml b/components/spinner/spinner.color.story.yml new file mode 100644 index 00000000..faadb9c4 --- /dev/null +++ b/components/spinner/spinner.color.story.yml @@ -0,0 +1,22 @@ +name: Colors +props: + aria_hidden: false + visually_hidden_label: Loading... +library_wrapper: > + {% set colors = [ + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + {% for color in colors %} + {% set color_props = {'#props': _story['#props']|merge({'attributes': create_attribute({ + class: ['text-' ~ color] + })})} %} + {% set color_story = _story %} + {{ color_story|merge(color_props) }} + {% endfor %} diff --git a/components/spinner/spinner.preview.story.yml b/components/spinner/spinner.default.story.yml similarity index 82% rename from components/spinner/spinner.preview.story.yml rename to components/spinner/spinner.default.story.yml index 1e0bacf5..f39768b0 100644 --- a/components/spinner/spinner.preview.story.yml +++ b/components/spinner/spinner.default.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: Default props: aria_hidden: false visually_hidden_label: Loading... diff --git a/components/spinner/spinner.margin.story.yml b/components/spinner/spinner.margin.story.yml new file mode 100644 index 00000000..bde93bbc --- /dev/null +++ b/components/spinner/spinner.margin.story.yml @@ -0,0 +1,9 @@ +name: Margin +props: + variant: border + attributes: + class: + - m-5 + aria_hidden: false + visually_hidden_label: Loading... + diff --git a/components/spinner/spinner.placement_flex.story.yml b/components/spinner/spinner.placement_flex.story.yml new file mode 100644 index 00000000..8083ee77 --- /dev/null +++ b/components/spinner/spinner.placement_flex.story.yml @@ -0,0 +1,9 @@ +name: "Placement: flex" +props: + variant: border + aria_hidden: false + visually_hidden_label: Loading... +library_wrapper: > + <div class="d-flex justify-content-center"> + {{ _story }} + </div> diff --git a/components/spinner/spinner.placement_flex_2.story.yml b/components/spinner/spinner.placement_flex_2.story.yml new file mode 100644 index 00000000..8907c6e1 --- /dev/null +++ b/components/spinner/spinner.placement_flex_2.story.yml @@ -0,0 +1,12 @@ +name: "Placement: flex 2" +props: + variant: border + attributes: + class: + - ms-auto + aria_hidden: true +library_wrapper: > + <div class="d-flex align-items-center"> + <strong role="status">{{ 'Loading...'|t }}</strong> + {{ _story }} + </div> diff --git a/components/spinner/spinner.placement_float.story.yml b/components/spinner/spinner.placement_float.story.yml new file mode 100644 index 00000000..6b9e4ba2 --- /dev/null +++ b/components/spinner/spinner.placement_float.story.yml @@ -0,0 +1,12 @@ +name: "Placement: float" +props: + variant: border + attributes: + class: + - float-end + aria_hidden: false + visually_hidden_label: Loading... +library_wrapper: > + <div class="clearfix"> + {{ _story }} + </div> diff --git a/components/spinner/spinner.placement_text.story.yml b/components/spinner/spinner.placement_text.story.yml new file mode 100644 index 00000000..3a493521 --- /dev/null +++ b/components/spinner/spinner.placement_text.story.yml @@ -0,0 +1,9 @@ +name: "Placement: text align" +props: + variant: border + aria_hidden: false + visually_hidden_label: Loading... +library_wrapper: > + <div class="text-center"> + {{ _story }} + </div> -- GitLab From 67b0b18bc50914cf5dff43ac736d866d598c72ca Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Mon, 3 Mar 2025 16:19:12 +0100 Subject: [PATCH 03/15] Issue #3485834 by grimreaper: Badge, close button, accordion --- .../accordion/accordion.always_open.story.yml | 45 +++++++++++++++++++ ....story.yml => accordion.default.story.yml} | 2 +- components/badge/badge.background.story.yml | 22 +++++++++ components/badge/badge.button.story.yml | 12 +++++ .../badge/badge.button_positioned.story.yml | 24 ++++++++++ .../badge.button_positioned_generic.story.yml | 9 ++++ components/badge/badge.headings.story.yml | 19 ++++++++ components/badge/badge.pill.story.yml | 26 +++++++++++ components/badge/badge.preview.story.yml | 7 --- .../close_button/close_button.dark.story.yml | 11 ++++- .../close_button/close_button.light.story.yml | 13 ++++++ .../close_button.preview.story.yml | 5 --- .../close_button/close_button.white.story.yml | 5 ++- 13 files changed, 185 insertions(+), 15 deletions(-) create mode 100644 components/accordion/accordion.always_open.story.yml rename components/accordion/{accordion.preview.story.yml => accordion.default.story.yml} (99%) create mode 100644 components/badge/badge.background.story.yml create mode 100644 components/badge/badge.button.story.yml create mode 100644 components/badge/badge.button_positioned.story.yml create mode 100644 components/badge/badge.button_positioned_generic.story.yml create mode 100644 components/badge/badge.headings.story.yml create mode 100644 components/badge/badge.pill.story.yml delete mode 100644 components/badge/badge.preview.story.yml create mode 100644 components/close_button/close_button.light.story.yml delete mode 100644 components/close_button/close_button.preview.story.yml diff --git a/components/accordion/accordion.always_open.story.yml b/components/accordion/accordion.always_open.story.yml new file mode 100644 index 00000000..6f394e1a --- /dev/null +++ b/components/accordion/accordion.always_open.story.yml @@ -0,0 +1,45 @@ +name: "Always open" +slots: + content: + - type: component + component: "ui_suite_bootstrap:accordion_item" + slots: + title: "Accordion Item #1" + content: + type: html_tag + tag: p + value: "Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum." + props: + opened: true + - type: component + component: "ui_suite_bootstrap:accordion_item" + slots: + title: "Accordion Item #2" + content: + type: html_tag + tag: p + value: "Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum." + props: + opened: false + - type: component + component: "ui_suite_bootstrap:accordion_item" + slots: + title: "Accordion Item #3" + content: + type: html_tag + tag: p + value: "Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum." + props: + opened: false + - type: component + component: "ui_suite_bootstrap:accordion_item" + slots: + title: "Accordion Item #4" + content: + type: html_tag + tag: p + value: "Mollis pretium lorem primis senectus habitasse lectus scelerisque donec, ultricies tortor suspendisse adipiscing fusce morbi volutpat pellentesque, consectetur mi risus molestie curae malesuada cum. Dignissim lacus convallis massa mauris enim ad mattis magnis senectus montes, mollis taciti phasellus accumsan bibendum semper blandit suspendisse faucibus nibh est, metus lobortis morbi cras magna vivamus per risus fermentum." + props: + opened: false +props: + keep_open: true diff --git a/components/accordion/accordion.preview.story.yml b/components/accordion/accordion.default.story.yml similarity index 99% rename from components/accordion/accordion.preview.story.yml rename to components/accordion/accordion.default.story.yml index 0657e81b..5c7c0b35 100644 --- a/components/accordion/accordion.preview.story.yml +++ b/components/accordion/accordion.default.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: Default slots: content: - type: component diff --git a/components/badge/badge.background.story.yml b/components/badge/badge.background.story.yml new file mode 100644 index 00000000..329a54b5 --- /dev/null +++ b/components/badge/badge.background.story.yml @@ -0,0 +1,22 @@ +name: "Background colors" +library_wrapper: > + {% set colors = [ + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + {% for color in colors %} + {% set color_props = {'#props': _story['#props']|merge({'attributes': create_attribute({ + class: ['text-bg-' ~ color] + })})} %} + {% set color_slots = {'#slots': _story['#slots']|merge({ + 'label': color|capitalize, + })} %} + {% set color_story = _story %} + {{ color_story|merge(color_props)|merge(color_slots) }} + {% endfor %} diff --git a/components/badge/badge.button.story.yml b/components/badge/badge.button.story.yml new file mode 100644 index 00000000..4a160b43 --- /dev/null +++ b/components/badge/badge.button.story.yml @@ -0,0 +1,12 @@ +name: Button +description: "Badges can be used as part of links or buttons to provide a counter." +slots: + label: 4 +props: + attributes: + class: + - text-bg-secondary +library_wrapper: > + <button type="button" class="btn btn-primary"> + {{ 'Notifications'|t }} {{ _story }} + </button> diff --git a/components/badge/badge.button_positioned.story.yml b/components/badge/badge.button_positioned.story.yml new file mode 100644 index 00000000..9964f0f9 --- /dev/null +++ b/components/badge/badge.button_positioned.story.yml @@ -0,0 +1,24 @@ +name: "Button: positioned" +description: "Use utilities to modify a .badge and position it in the corner of a link or button." +slots: + label: + - markup: 99+ + - type: html_tag + tag: span + value: "unread messages" + attributes: + class: + - visually-hidden +props: + attributes: + class: + - position-absolute + - top-0 + - start-100 + - translate-middle + - bg-danger + - rounded-pill +library_wrapper: > + <button type="button" class="btn btn-primary position-relative"> + {{ 'Inbox'|t }} {{ _story }} + </button> diff --git a/components/badge/badge.button_positioned_generic.story.yml b/components/badge/badge.button_positioned_generic.story.yml new file mode 100644 index 00000000..38460605 --- /dev/null +++ b/components/badge/badge.button_positioned_generic.story.yml @@ -0,0 +1,9 @@ +name: "Button: positioned generic" +description: "You can also replace the .badge class with a few more utilities without a count for a more generic indicator." +library_wrapper: > + <button type="button" class="btn btn-primary position-relative"> + {{ 'Profile'|t }} + <span class="position-absolute top-0 start-100 translate-middle p-2 bg-danger border border-light rounded-circle"> + <span class="visually-hidden">{{ 'New alerts'|t }}</span> + </span> + </button> diff --git a/components/badge/badge.headings.story.yml b/components/badge/badge.headings.story.yml new file mode 100644 index 00000000..bd45afbb --- /dev/null +++ b/components/badge/badge.headings.story.yml @@ -0,0 +1,19 @@ +name: Headings +slots: + label: New +props: + attributes: + class: + - text-bg-secondary +library_wrapper: > + {% set headings = [ + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + ] %} + {% for heading in headings %} + <{{ heading }}>{{ 'Example heading'|t }} {{ _story }}</{{ heading }}> + {% endfor %} diff --git a/components/badge/badge.pill.story.yml b/components/badge/badge.pill.story.yml new file mode 100644 index 00000000..56848861 --- /dev/null +++ b/components/badge/badge.pill.story.yml @@ -0,0 +1,26 @@ +name: "Pill badges" +description: "Use the .rounded-pill utility class to make badges more rounded with a larger border-radius." +library_wrapper: > + {% set colors = [ + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + {% for color in colors %} + {% set color_props = {'#props': _story['#props']|merge({'attributes': create_attribute({ + class: [ + 'text-bg-' ~ color, + 'rounded-pill', + ] + })})} %} + {% set color_slots = {'#slots': _story['#slots']|merge({ + 'label': color|capitalize, + })} %} + {% set color_story = _story %} + {{ color_story|merge(color_props)|merge(color_slots) }} + {% endfor %} diff --git a/components/badge/badge.preview.story.yml b/components/badge/badge.preview.story.yml deleted file mode 100644 index df97b4bd..00000000 --- a/components/badge/badge.preview.story.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: Preview -slots: - label: New -props: - attributes: - class: - - text-bg-primary diff --git a/components/close_button/close_button.dark.story.yml b/components/close_button/close_button.dark.story.yml index 707d9f3d..8e714a5e 100644 --- a/components/close_button/close_button.dark.story.yml +++ b/components/close_button/close_button.dark.story.yml @@ -1,6 +1,15 @@ name: Dark +description: "Normal and disabled state." props: variant: default disabled: false aria_label: Close -library_wrapper: "<div class=\"bg-dark\" data-bs-theme=\"dark\">{{ _story }}</div" +library_wrapper: > + <div data-bs-theme="dark" class="bg-dark"> + {{ _story }} + + {% set disabled_props = {'#props': _story['#props']|merge({ + 'disabled': true, + })} %} + {{ _story|merge(disabled_props) }} + </div> diff --git a/components/close_button/close_button.light.story.yml b/components/close_button/close_button.light.story.yml new file mode 100644 index 00000000..9fea8294 --- /dev/null +++ b/components/close_button/close_button.light.story.yml @@ -0,0 +1,13 @@ +name: "Light (default)" +description: "Normal and disabled state." +props: + variant: default + disabled: false + aria_label: Close +library_wrapper: > + {{ _story }} + + {% set disabled_props = {'#props': _story['#props']|merge({ + 'disabled': true, + })} %} + {{ _story|merge(disabled_props) }} diff --git a/components/close_button/close_button.preview.story.yml b/components/close_button/close_button.preview.story.yml deleted file mode 100644 index 9c95156e..00000000 --- a/components/close_button/close_button.preview.story.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: Preview -props: - variant: default - disabled: false - aria_label: Close diff --git a/components/close_button/close_button.white.story.yml b/components/close_button/close_button.white.story.yml index 30820780..6de1b00b 100644 --- a/components/close_button/close_button.white.story.yml +++ b/components/close_button/close_button.white.story.yml @@ -3,4 +3,7 @@ props: variant: white disabled: false aria_label: Close -library_wrapper: "<div class=\"bg-dark\">{{ _story }}</div" +library_wrapper: > + <div class="bg-dark"> + {{ _story }} + </div> -- GitLab From d82e09d2a161876601cbcd79435861911eb76ccd Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Mon, 3 Mar 2025 18:10:05 +0100 Subject: [PATCH 04/15] Issue #3485834 by grimreaper: alert, button, button group --- components/alert/alert.complete.story.yml | 19 +++++++++++ components/alert/alert.default.story.yml | 5 +++ components/alert/alert.dismissing.story.yml | 5 +++ components/alert/alert.icon.story.yml | 21 ++++++++++++ components/alert/alert.link.story.yml | 5 +++ components/alert/alert.preview.story.yml | 6 ---- ...iew.story.yml => button.default.story.yml} | 2 +- components/button/button.disabled.story.yml | 6 ++++ .../button/button.disabled_link.story.yml | 7 ++++ components/button/button.tags.story.yml | 14 ++++++++ ...ory.yml => button_group.default.story.yml} | 14 ++++---- .../button_group/button_group.link.story.yml | 29 ++++++++++++++++ .../button_group/button_group.mixed.story.yml | 24 ++++++++++++++ .../button_group.nesting.story.yml | 33 +++++++++++++++++++ .../button_group.outlined.story.yml | 24 ++++++++++++++ 15 files changed, 200 insertions(+), 14 deletions(-) create mode 100644 components/alert/alert.complete.story.yml create mode 100644 components/alert/alert.default.story.yml create mode 100644 components/alert/alert.dismissing.story.yml create mode 100644 components/alert/alert.icon.story.yml create mode 100644 components/alert/alert.link.story.yml delete mode 100644 components/alert/alert.preview.story.yml rename components/button/{button.preview.story.yml => button.default.story.yml} (88%) create mode 100644 components/button/button.disabled.story.yml create mode 100644 components/button/button.disabled_link.story.yml create mode 100644 components/button/button.tags.story.yml rename components/button_group/{button_group.preview.story.yml => button_group.default.story.yml} (67%) create mode 100644 components/button_group/button_group.link.story.yml create mode 100644 components/button_group/button_group.mixed.story.yml create mode 100644 components/button_group/button_group.nesting.story.yml create mode 100644 components/button_group/button_group.outlined.story.yml diff --git a/components/alert/alert.complete.story.yml b/components/alert/alert.complete.story.yml new file mode 100644 index 00000000..d12c80ef --- /dev/null +++ b/components/alert/alert.complete.story.yml @@ -0,0 +1,19 @@ +name: Complete +description: "Alerts can also contain additional HTML elements like headings, paragraphs and dividers." +slots: + heading: "Well done!" + message: + - type: html_tag + tag: p + value: "Aww yeah, you successfully read this important alert message. This example text is going to run a bit longer so that you can see how spacing within an alert works with this kind of content." + - type: html_tag + tag: hr + - type: html_tag + tag: p + value: "Whenever you need to, be sure to use margin utilities to keep things nice and tidy." + attributes: + class: + - mb-0 +props: + variant: success + dismissible: false diff --git a/components/alert/alert.default.story.yml b/components/alert/alert.default.story.yml new file mode 100644 index 00000000..46bb274b --- /dev/null +++ b/components/alert/alert.default.story.yml @@ -0,0 +1,5 @@ +name: Default +slots: + message: "A simple alert. Check it out!" +props: + dismissible: false diff --git a/components/alert/alert.dismissing.story.yml b/components/alert/alert.dismissing.story.yml new file mode 100644 index 00000000..82f4f119 --- /dev/null +++ b/components/alert/alert.dismissing.story.yml @@ -0,0 +1,5 @@ +name: Dismissing +slots: + message: "<strong>Holy guacamole!</strong> You should check in on some of those fields below." +props: + dismissible: true diff --git a/components/alert/alert.icon.story.yml b/components/alert/alert.icon.story.yml new file mode 100644 index 00000000..93e71062 --- /dev/null +++ b/components/alert/alert.icon.story.yml @@ -0,0 +1,21 @@ +name: Icon +slots: + message: + - type: icon + pack_id: 'bootstrap' + icon_id: 'exclamation-triangle-fill' + settings: + size: '1em' + - type: html_tag + tag: div + value: "An example alert with an icon" + attributes: + class: + - 'ms-2' +props: + variant: primary + attributes: + class: + - d-flex + - align-items-center + dismissible: false diff --git a/components/alert/alert.link.story.yml b/components/alert/alert.link.story.yml new file mode 100644 index 00000000..f70547c6 --- /dev/null +++ b/components/alert/alert.link.story.yml @@ -0,0 +1,5 @@ +name: "Link color" +slots: + message: 'A simple alert with <a href="#">an example link</a>. Give it a click if you like.' +props: + dismissible: false diff --git a/components/alert/alert.preview.story.yml b/components/alert/alert.preview.story.yml deleted file mode 100644 index 337b2658..00000000 --- a/components/alert/alert.preview.story.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: Preview -slots: - heading: "Well done!" - message: "A simple alert. Check it out!" -props: - dismissible: true diff --git a/components/button/button.preview.story.yml b/components/button/button.default.story.yml similarity index 88% rename from components/button/button.preview.story.yml rename to components/button/button.default.story.yml index 4cc11dda..cc9d62b6 100644 --- a/components/button/button.preview.story.yml +++ b/components/button/button.default.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: Default slots: label: Submit props: diff --git a/components/button/button.disabled.story.yml b/components/button/button.disabled.story.yml new file mode 100644 index 00000000..0f9899c1 --- /dev/null +++ b/components/button/button.disabled.story.yml @@ -0,0 +1,6 @@ +name: Disabled +slots: + label: Submit +props: + disabled: true + label_visually_hidden: false diff --git a/components/button/button.disabled_link.story.yml b/components/button/button.disabled_link.story.yml new file mode 100644 index 00000000..b4dc47fc --- /dev/null +++ b/components/button/button.disabled_link.story.yml @@ -0,0 +1,7 @@ +name: Disabled +slots: + label: Submit +props: + disabled: true + label_visually_hidden: false + url: "#" diff --git a/components/button/button.tags.story.yml b/components/button/button.tags.story.yml new file mode 100644 index 00000000..e36d8afb --- /dev/null +++ b/components/button/button.tags.story.yml @@ -0,0 +1,14 @@ +name: "Button tags" +slots: + label: Link +props: + variant: primary + disabled: false + label_visually_hidden: false + url: "#" +library_wrapper: > + {{ _story }} + <button class="btn btn-primary" type="submit">{{ 'Button'|t }}</button> + <input class="btn btn-primary" type="button" value="{{ 'Input'|t }}"> + <input class="btn btn-primary" type="submit" value="{{ 'Submit'|t }}"> + <input class="btn btn-primary" type="reset" value="{{ 'Reset'|t }}"> diff --git a/components/button_group/button_group.preview.story.yml b/components/button_group/button_group.default.story.yml similarity index 67% rename from components/button_group/button_group.preview.story.yml rename to components/button_group/button_group.default.story.yml index 1574045d..8ac340b9 100644 --- a/components/button_group/button_group.preview.story.yml +++ b/components/button_group/button_group.default.story.yml @@ -1,23 +1,23 @@ -name: Preview +name: Default slots: buttons: - type: component component: "ui_suite_bootstrap:button" slots: - label: First + label: Left props: - variant: secondary + variant: primary - type: component component: "ui_suite_bootstrap:button" slots: - label: Second + label: Middle props: - variant: secondary + variant: primary - type: component component: "ui_suite_bootstrap:button" slots: - label: Third + label: Right props: - variant: secondary + variant: primary props: label: "Basic example" diff --git a/components/button_group/button_group.link.story.yml b/components/button_group/button_group.link.story.yml new file mode 100644 index 00000000..36e1249f --- /dev/null +++ b/components/button_group/button_group.link.story.yml @@ -0,0 +1,29 @@ +name: Link +slots: + buttons: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Active link" + props: + variant: primary + attributes: + class: + - active + url: "#" + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: Link + props: + variant: primary + url: "#" + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: Link + props: + variant: primary + url: "#" +props: + variant: default diff --git a/components/button_group/button_group.mixed.story.yml b/components/button_group/button_group.mixed.story.yml new file mode 100644 index 00000000..08d968de --- /dev/null +++ b/components/button_group/button_group.mixed.story.yml @@ -0,0 +1,24 @@ +name: "Mixed styles" +slots: + buttons: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: Left + props: + variant: danger + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: Middle + props: + variant: warning + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: Right + props: + variant: success +props: + variant: default + label: "Basic mixed styles example" diff --git a/components/button_group/button_group.nesting.story.yml b/components/button_group/button_group.nesting.story.yml new file mode 100644 index 00000000..d2b24ce0 --- /dev/null +++ b/components/button_group/button_group.nesting.story.yml @@ -0,0 +1,33 @@ +name: "Nesting" +slots: + buttons: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 1 + props: + variant: primary + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 2 + props: + variant: primary + - type: component + component: "ui_suite_bootstrap:dropdown" + slots: + title: Dropdown + props: + variant: dropdown + attributes: + class: + - btn-group + button_variant: primary + content: + - url: "#" + title: "Dropdown link" + - url: "#" + title: "Dropdown link" +props: + variant: default + label: "Button group with nested dropdown" diff --git a/components/button_group/button_group.outlined.story.yml b/components/button_group/button_group.outlined.story.yml new file mode 100644 index 00000000..a1cc9841 --- /dev/null +++ b/components/button_group/button_group.outlined.story.yml @@ -0,0 +1,24 @@ +name: "Outlined styles" +slots: + buttons: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: Left + props: + variant: outline_primary + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: Middle + props: + variant: outline_primary + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: Right + props: + variant: outline_primary +props: + variant: default + label: "Basic outlined example" -- GitLab From 2ab628cc2e1c0d21828fc25da755504034f770a6 Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Wed, 5 Mar 2025 17:50:42 +0100 Subject: [PATCH 05/15] Issue #3485834 by grimreaper: button_toolbar, carousel, list_group --- .../button_toolbar.default.story.yml | 80 ++++++++++++ .../button_toolbar.preview.story.yml | 26 ---- .../carousel/carousel.autoplay.story.yml | 27 ++++ ...sel.autoplay_individual_interval.story.yml | 31 +++++ .../carousel.autoplay_no_controls.story.yml | 27 ++++ ....story.yml => carousel.captions.story.yml} | 12 +- .../carousel/carousel.default.story.yml | 26 ++++ .../carousel/carousel.indicators.story.yml | 26 ++++ .../carousel/carousel.no_touch.story.yml | 27 ++++ .../list_group/list_group.badge.story.yml | 60 +++++++++ .../list_group/list_group.color.story.yml | 59 +++++++++ .../list_group.color_link.story.yml | 68 ++++++++++ .../list_group.color_link_active.story.yml | 77 ++++++++++++ .../list_group.color_link_disabled.story.yml | 77 ++++++++++++ .../list_group.custom_content_1.story.yml | 101 +++++++++++++++ .../list_group.custom_content_2.story.yml | 117 ++++++++++++++++++ .../list_group/list_group.default.story.yml | 23 ++++ ...w.story.yml => list_group.links.story.yml} | 16 ++- .../list_group/list_group.state.story.yml | 29 +++++ .../list_group_item.preview.story.yml | 6 - 20 files changed, 872 insertions(+), 43 deletions(-) create mode 100644 components/button_toolbar/button_toolbar.default.story.yml delete mode 100644 components/button_toolbar/button_toolbar.preview.story.yml create mode 100644 components/carousel/carousel.autoplay.story.yml create mode 100644 components/carousel/carousel.autoplay_individual_interval.story.yml create mode 100644 components/carousel/carousel.autoplay_no_controls.story.yml rename components/carousel/{carousel.preview.story.yml => carousel.captions.story.yml} (89%) create mode 100644 components/carousel/carousel.default.story.yml create mode 100644 components/carousel/carousel.indicators.story.yml create mode 100644 components/carousel/carousel.no_touch.story.yml create mode 100644 components/list_group/list_group.badge.story.yml create mode 100644 components/list_group/list_group.color.story.yml create mode 100644 components/list_group/list_group.color_link.story.yml create mode 100644 components/list_group/list_group.color_link_active.story.yml create mode 100644 components/list_group/list_group.color_link_disabled.story.yml create mode 100644 components/list_group/list_group.custom_content_1.story.yml create mode 100644 components/list_group/list_group.custom_content_2.story.yml create mode 100644 components/list_group/list_group.default.story.yml rename components/list_group/{list_group.preview.story.yml => list_group.links.story.yml} (74%) create mode 100644 components/list_group/list_group.state.story.yml delete mode 100644 components/list_group_item/list_group_item.preview.story.yml diff --git a/components/button_toolbar/button_toolbar.default.story.yml b/components/button_toolbar/button_toolbar.default.story.yml new file mode 100644 index 00000000..17b25abc --- /dev/null +++ b/components/button_toolbar/button_toolbar.default.story.yml @@ -0,0 +1,80 @@ +name: Default +slots: + groups: + - type: component + component: "ui_suite_bootstrap:button_group" + props: + variant: default + label: "First group" + slots: + buttons: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 1 + props: + variant: primary + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 2 + props: + variant: primary + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 3 + props: + variant: primary + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 4 + props: + variant: primary + attributes: + class: + - me-2 + - type: component + component: "ui_suite_bootstrap:button_group" + props: + variant: default + label: "Second group" + slots: + buttons: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 5 + props: + variant: secondary + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 6 + props: + variant: secondary + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 7 + props: + variant: secondary + attributes: + class: + - me-2 + - type: component + component: "ui_suite_bootstrap:button_group" + slots: + buttons: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: 8 + props: + variant: info + props: + variant: default + label: "Third group" +props: + label: "Toolbar with button groups" diff --git a/components/button_toolbar/button_toolbar.preview.story.yml b/components/button_toolbar/button_toolbar.preview.story.yml deleted file mode 100644 index ab046ccb..00000000 --- a/components/button_toolbar/button_toolbar.preview.story.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Preview -slots: - groups: - - type: component - attributes: - class: - - me-2 - component: "ui_suite_bootstrap:button_group" - story: preview - props: - variant: default - - type: component - attributes: - class: - - me-2 - component: "ui_suite_bootstrap:button_group" - story: preview - props: - variant: default - - type: component - component: "ui_suite_bootstrap:button_group" - story: preview - props: - variant: default -props: - label: "Toolbar with button groups" diff --git a/components/carousel/carousel.autoplay.story.yml b/components/carousel/carousel.autoplay.story.yml new file mode 100644 index 00000000..8a645c36 --- /dev/null +++ b/components/carousel/carousel.autoplay.story.yml @@ -0,0 +1,27 @@ +name: "Autoplaying carousels" +slots: + slides: + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEZpcnN0IHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM3NzciPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzU1NSIgZHk9Ii4zZW0iPkZpcnN0IHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFNlY29uZCBzbGlkZSI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjNjY2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiM0NDQiIGR5PSIuM2VtIj5TZWNvbmQgc2xpZGU8L3RleHQ+PC9zdmc+Cg==" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFRoaXJkIHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM1NTUiPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzMzMyIgZHk9Ii4zZW0iPlRoaXJkIHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" +props: + variant: default + with_controls: true + with_indicators: false + with_touch: true + interval: 5000 diff --git a/components/carousel/carousel.autoplay_individual_interval.story.yml b/components/carousel/carousel.autoplay_individual_interval.story.yml new file mode 100644 index 00000000..f323e2e5 --- /dev/null +++ b/components/carousel/carousel.autoplay_individual_interval.story.yml @@ -0,0 +1,31 @@ +name: "Autoplaying carousels: individual interval" +slots: + slides: + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEZpcnN0IHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM3NzciPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzU1NSIgZHk9Ii4zZW0iPkZpcnN0IHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" + props: + interval: 10000 + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFNlY29uZCBzbGlkZSI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjNjY2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiM0NDQiIGR5PSIuM2VtIj5TZWNvbmQgc2xpZGU8L3RleHQ+PC9zdmc+Cg==" + props: + interval: 2000 + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFRoaXJkIHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM1NTUiPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzMzMyIgZHk9Ii4zZW0iPlRoaXJkIHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" +props: + variant: default + with_controls: true + with_indicators: false + with_touch: true + interval: 5000 diff --git a/components/carousel/carousel.autoplay_no_controls.story.yml b/components/carousel/carousel.autoplay_no_controls.story.yml new file mode 100644 index 00000000..2aea07eb --- /dev/null +++ b/components/carousel/carousel.autoplay_no_controls.story.yml @@ -0,0 +1,27 @@ +name: "Autoplaying carousels: without controls" +slots: + slides: + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEZpcnN0IHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM3NzciPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzU1NSIgZHk9Ii4zZW0iPkZpcnN0IHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFNlY29uZCBzbGlkZSI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjNjY2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiM0NDQiIGR5PSIuM2VtIj5TZWNvbmQgc2xpZGU8L3RleHQ+PC9zdmc+Cg==" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFRoaXJkIHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM1NTUiPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzMzMyIgZHk9Ii4zZW0iPlRoaXJkIHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" +props: + variant: default + with_controls: false + with_indicators: false + with_touch: true + interval: 5000 diff --git a/components/carousel/carousel.preview.story.yml b/components/carousel/carousel.captions.story.yml similarity index 89% rename from components/carousel/carousel.preview.story.yml rename to components/carousel/carousel.captions.story.yml index 200c962c..41a237ab 100644 --- a/components/carousel/carousel.preview.story.yml +++ b/components/carousel/carousel.captions.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: Captions slots: slides: - type: component @@ -13,7 +13,7 @@ slots: value: "First slide label" - type: html_tag tag: p - value: "Nulla vitae elit libero, a pharetra augue mollis interdum." + value: "Some representative placeholder content for the first slide." - type: component component: "ui_suite_bootstrap:carousel_item" slots: @@ -26,9 +26,7 @@ slots: value: "Second slide label" - type: html_tag tag: p - value: "Lorem ipsum dolor sit amet, consectetur adipiscing elit." - props: - interval: 10000 + value: "Some representative placeholder content for the second slide." - type: component component: "ui_suite_bootstrap:carousel_item" slots: @@ -41,9 +39,9 @@ slots: value: "Third slide label" - type: html_tag tag: p - value: "Praesent commodo cursus magna, vel scelerisque nisl consectetur." + value: "Some representative placeholder content for the third slide." props: with_controls: true with_indicators: true with_touch: true - interval: 5000 + interval: 0 diff --git a/components/carousel/carousel.default.story.yml b/components/carousel/carousel.default.story.yml new file mode 100644 index 00000000..a3fbceb4 --- /dev/null +++ b/components/carousel/carousel.default.story.yml @@ -0,0 +1,26 @@ +name: Default +slots: + slides: + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEZpcnN0IHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM3NzciPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzU1NSIgZHk9Ii4zZW0iPkZpcnN0IHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFNlY29uZCBzbGlkZSI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjNjY2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiM0NDQiIGR5PSIuM2VtIj5TZWNvbmQgc2xpZGU8L3RleHQ+PC9zdmc+Cg==" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFRoaXJkIHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM1NTUiPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzMzMyIgZHk9Ii4zZW0iPlRoaXJkIHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" +props: + with_controls: true + with_indicators: false + with_touch: true + interval: 0 diff --git a/components/carousel/carousel.indicators.story.yml b/components/carousel/carousel.indicators.story.yml new file mode 100644 index 00000000..253e4117 --- /dev/null +++ b/components/carousel/carousel.indicators.story.yml @@ -0,0 +1,26 @@ +name: Indicators +slots: + slides: + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEZpcnN0IHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM3NzciPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzU1NSIgZHk9Ii4zZW0iPkZpcnN0IHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFNlY29uZCBzbGlkZSI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjNjY2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiM0NDQiIGR5PSIuM2VtIj5TZWNvbmQgc2xpZGU8L3RleHQ+PC9zdmc+Cg==" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFRoaXJkIHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM1NTUiPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzMzMyIgZHk9Ii4zZW0iPlRoaXJkIHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" +props: + with_controls: true + with_indicators: true + with_touch: true + interval: 0 diff --git a/components/carousel/carousel.no_touch.story.yml b/components/carousel/carousel.no_touch.story.yml new file mode 100644 index 00000000..f4684380 --- /dev/null +++ b/components/carousel/carousel.no_touch.story.yml @@ -0,0 +1,27 @@ +name: "Disabled touch swiping" +slots: + slides: + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEZpcnN0IHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM3NzciPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzU1NSIgZHk9Ii4zZW0iPkZpcnN0IHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFNlY29uZCBzbGlkZSI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjNjY2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiM0NDQiIGR5PSIuM2VtIj5TZWNvbmQgc2xpZGU8L3RleHQ+PC9zdmc+Cg==" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFRoaXJkIHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM1NTUiPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzMzMyIgZHk9Ii4zZW0iPlRoaXJkIHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" +props: + variant: default + with_controls: true + with_indicators: false + with_touch: false + interval: 0 diff --git a/components/list_group/list_group.badge.story.yml b/components/list_group/list_group.badge.story.yml new file mode 100644 index 00000000..0f491c99 --- /dev/null +++ b/components/list_group/list_group.badge.story.yml @@ -0,0 +1,60 @@ +name: "With badges" +description: "Add badges to any list group item to show unread counts, activity, and more." +slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: + - markup: "A list item" + - type: component + component: "ui_suite_bootstrap:badge" + slots: + label: "14" + attributes: + class: + - text-bg-primary + - rounded-pill + attributes: + class: + - d-flex + - justify-content-between + - align-items-start + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: + - markup: "A second list item" + - type: component + component: "ui_suite_bootstrap:badge" + slots: + label: "2" + attributes: + class: + - text-bg-primary + - rounded-pill + attributes: + class: + - d-flex + - justify-content-between + - align-items-start + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: + - markup: "A third list item" + - type: component + component: "ui_suite_bootstrap:badge" + slots: + label: "1" + attributes: + class: + - text-bg-primary + - rounded-pill + attributes: + class: + - d-flex + - justify-content-between + - align-items-start +props: + variant: default diff --git a/components/list_group/list_group.color.story.yml b/components/list_group/list_group.color.story.yml new file mode 100644 index 00000000..34666190 --- /dev/null +++ b/components/list_group/list_group.color.story.yml @@ -0,0 +1,59 @@ +name: "Color variants" +slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: default + slots: + content: "A simple default list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: primary + slots: + content: "A simple primary list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: secondary + slots: + content: "A simple secondary list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: success + slots: + content: "A simple success list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: danger + slots: + content: "A simple danger list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: warning + slots: + content: "A simple warning list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: info + slots: + content: "A simple info list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: light + slots: + content: "A simple light list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: dark + slots: + content: "A simple dark list group item" +props: + variant: default diff --git a/components/list_group/list_group.color_link.story.yml b/components/list_group/list_group.color_link.story.yml new file mode 100644 index 00000000..e2e4fe2a --- /dev/null +++ b/components/list_group/list_group.color_link.story.yml @@ -0,0 +1,68 @@ +name: "Color variants with links" +slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: default + url: "#" + slots: + content: "A simple default list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: primary + url: "#" + slots: + content: "A simple primary list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: secondary + url: "#" + slots: + content: "A simple secondary list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: success + url: "#" + slots: + content: "A simple success list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: danger + url: "#" + slots: + content: "A simple danger list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: warning + url: "#" + slots: + content: "A simple warning list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: info + url: "#" + slots: + content: "A simple info list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: light + url: "#" + slots: + content: "A simple light list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: dark + url: "#" + slots: + content: "A simple dark list group item" +props: + variant: default diff --git a/components/list_group/list_group.color_link_active.story.yml b/components/list_group/list_group.color_link_active.story.yml new file mode 100644 index 00000000..d96e45a9 --- /dev/null +++ b/components/list_group/list_group.color_link_active.story.yml @@ -0,0 +1,77 @@ +name: "Color variants with active links" +slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: default + active: true + url: "#" + slots: + content: "A simple default list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: primary + active: true + url: "#" + slots: + content: "A simple primary list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: secondary + active: true + url: "#" + slots: + content: "A simple secondary list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: success + active: true + url: "#" + slots: + content: "A simple success list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: danger + active: true + url: "#" + slots: + content: "A simple danger list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: warning + active: true + url: "#" + slots: + content: "A simple warning list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: info + active: true + url: "#" + slots: + content: "A simple info list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: light + active: true + url: "#" + slots: + content: "A simple light list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: dark + active: true + url: "#" + slots: + content: "A simple dark list group item" +props: + variant: default diff --git a/components/list_group/list_group.color_link_disabled.story.yml b/components/list_group/list_group.color_link_disabled.story.yml new file mode 100644 index 00000000..bdba14fe --- /dev/null +++ b/components/list_group/list_group.color_link_disabled.story.yml @@ -0,0 +1,77 @@ +name: "Color variants with disabled links" +slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: default + disabled: true + url: "#" + slots: + content: "A simple default list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: primary + disabled: true + url: "#" + slots: + content: "A simple primary list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: secondary + disabled: true + url: "#" + slots: + content: "A simple secondary list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: success + disabled: true + url: "#" + slots: + content: "A simple success list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: danger + disabled: true + url: "#" + slots: + content: "A simple danger list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: warning + disabled: true + url: "#" + slots: + content: "A simple warning list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: info + disabled: true + url: "#" + slots: + content: "A simple info list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: light + disabled: true + url: "#" + slots: + content: "A simple light list group item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + variant: dark + disabled: true + url: "#" + slots: + content: "A simple dark list group item" +props: + variant: default diff --git a/components/list_group/list_group.custom_content_1.story.yml b/components/list_group/list_group.custom_content_1.story.yml new file mode 100644 index 00000000..24d88b8a --- /dev/null +++ b/components/list_group/list_group.custom_content_1.story.yml @@ -0,0 +1,101 @@ +name: "Custom content 1" +slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: + - type: html_tag + tag: div + 0: + type: html_tag + tag: div + value: "Subheading" + attributes: + class: + - fw-bold + 1: + markup: "Content for list item" + attributes: + class: + - ms-2 + - me-auto + - type: component + component: "ui_suite_bootstrap:badge" + slots: + label: "14" + attributes: + class: + - text-bg-primary + - rounded-pill + attributes: + class: + - d-flex + - justify-content-between + - align-items-start + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: + - type: html_tag + tag: div + 0: + type: html_tag + tag: div + value: "Subheading" + attributes: + class: + - fw-bold + 1: + markup: "Content for list item" + attributes: + class: + - ms-2 + - me-auto + - type: component + component: "ui_suite_bootstrap:badge" + slots: + label: "14" + attributes: + class: + - text-bg-primary + - rounded-pill + attributes: + class: + - d-flex + - justify-content-between + - align-items-start + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: + - type: html_tag + tag: div + 0: + type: html_tag + tag: div + value: "Subheading" + attributes: + class: + - fw-bold + 1: + markup: "Content for list item" + attributes: + class: + - ms-2 + - me-auto + - type: component + component: "ui_suite_bootstrap:badge" + slots: + label: "14" + attributes: + class: + - text-bg-primary + - rounded-pill + attributes: + class: + - d-flex + - justify-content-between + - align-items-start +props: + variant: numbered diff --git a/components/list_group/list_group.custom_content_2.story.yml b/components/list_group/list_group.custom_content_2.story.yml new file mode 100644 index 00000000..9e88b667 --- /dev/null +++ b/components/list_group/list_group.custom_content_2.story.yml @@ -0,0 +1,117 @@ +name: "Custom content 2" +slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + active: true + url: "#" + slots: + content: + - type: html_tag + tag: div + attributes: + class: + - d-flex + - justify-content-between + - w-100 + 0: + type: html_tag + tag: h5 + value: "List group item heading" + attributes: + class: + - mb-1 + 1: + type: html_tag + tag: small + value: "3 days ago" + - type: html_tag + tag: p + value: "Some placeholder content in a paragraph." + attributes: + class: + - mb-1 + - type: html_tag + tag: small + value: "And some small print." + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + url: "#" + slots: + content: + - type: html_tag + tag: div + attributes: + class: + - d-flex + - justify-content-between + - w-100 + 0: + type: html_tag + tag: h5 + value: "List group item heading" + attributes: + class: + - mb-1 + 1: + type: html_tag + tag: small + value: "3 days ago" + attributes: + class: + - text-body-secondary + - type: html_tag + tag: p + value: "Some placeholder content in a paragraph." + attributes: + class: + - mb-1 + - type: html_tag + tag: small + value: "And some small print." + attributes: + class: + - text-body-secondary + - type: component + component: "ui_suite_bootstrap:list_group_item" + props: + url: "#" + slots: + content: + - type: html_tag + tag: div + attributes: + class: + - d-flex + - justify-content-between + - w-100 + 0: + type: html_tag + tag: h5 + value: "List group item heading" + attributes: + class: + - mb-1 + 1: + type: html_tag + tag: small + value: "3 days ago" + attributes: + class: + - text-body-secondary + - type: html_tag + tag: p + value: "Some placeholder content in a paragraph." + attributes: + class: + - mb-1 + - type: html_tag + tag: small + value: "And some small print." + attributes: + class: + - text-body-secondary +props: + variant: default diff --git a/components/list_group/list_group.default.story.yml b/components/list_group/list_group.default.story.yml new file mode 100644 index 00000000..d1606b81 --- /dev/null +++ b/components/list_group/list_group.default.story.yml @@ -0,0 +1,23 @@ +name: Default +slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "An item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A second item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A third item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A fourth item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "And a fifth one" diff --git a/components/list_group/list_group.preview.story.yml b/components/list_group/list_group.links.story.yml similarity index 74% rename from components/list_group/list_group.preview.story.yml rename to components/list_group/list_group.links.story.yml index 73a94ba6..4a53457b 100644 --- a/components/list_group/list_group.preview.story.yml +++ b/components/list_group/list_group.links.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: Links slots: items: - type: component @@ -7,23 +7,31 @@ slots: content: "The current link item" props: active: true + url: "#" - type: component component: "ui_suite_bootstrap:list_group_item" slots: content: "A second link item" + props: + url: "#" - type: component component: "ui_suite_bootstrap:list_group_item" slots: content: "A third link item" + props: + url: "#" - type: component component: "ui_suite_bootstrap:list_group_item" slots: - content: "A fourth link item, with a link" + content: "A fourth link item" props: - url: "https://example.com" + url: "#" - type: component component: "ui_suite_bootstrap:list_group_item" slots: - content: "The disabled link item" + content: "A disabled link item" props: disabled: true + url: "#" +props: + variant: default diff --git a/components/list_group/list_group.state.story.yml b/components/list_group/list_group.state.story.yml new file mode 100644 index 00000000..684e40c9 --- /dev/null +++ b/components/list_group/list_group.state.story.yml @@ -0,0 +1,29 @@ +name: "Active and disabled items" +slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "An active item" + props: + active: true + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A second item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A third item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A fourth item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A disabled item" + props: + disabled: true +props: + variant: default diff --git a/components/list_group_item/list_group_item.preview.story.yml b/components/list_group_item/list_group_item.preview.story.yml deleted file mode 100644 index 5829e0c7..00000000 --- a/components/list_group_item/list_group_item.preview.story.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: Preview -slots: - content: "An item" -props: - active: false - disabled: false -- GitLab From 0cf047b63f1be8670f5276e7f0c7aa36aee125de Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Wed, 5 Mar 2025 19:00:43 +0100 Subject: [PATCH 06/15] Issue #3485834 by grimreaper: modal --- components/modal/modal.default.story.yml | 41 +++++++++++ components/modal/modal.fullscreen.story.yml | 73 +++++++++++++++++++ .../modal.long_content_default.story.yml | 43 +++++++++++ .../modal.long_content_scrollable.story.yml | 44 +++++++++++ ...review.story.yml => modal.sizes.story.yml} | 7 +- .../modal/modal.static_backdrop.story.yml | 41 +++++++++++ .../modal/modal.vertical_centered.story.yml | 41 +++++++++++ ...dal.vertical_centered_scrollable.story.yml | 44 +++++++++++ 8 files changed, 332 insertions(+), 2 deletions(-) create mode 100644 components/modal/modal.default.story.yml create mode 100644 components/modal/modal.fullscreen.story.yml create mode 100644 components/modal/modal.long_content_default.story.yml create mode 100644 components/modal/modal.long_content_scrollable.story.yml rename components/modal/{modal.preview.story.yml => modal.sizes.story.yml} (90%) create mode 100644 components/modal/modal.static_backdrop.story.yml create mode 100644 components/modal/modal.vertical_centered.story.yml create mode 100644 components/modal/modal.vertical_centered_scrollable.story.yml diff --git a/components/modal/modal.default.story.yml b/components/modal/modal.default.story.yml new file mode 100644 index 00000000..94241cda --- /dev/null +++ b/components/modal/modal.default.story.yml @@ -0,0 +1,41 @@ +name: Default +slots: + title: "Modal title" + body: "Woo-hoo, you're reading this text in a modal!" + footer: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Close" + props: + variant: secondary__sm + attributes: + data-bs-dismiss: modal + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Save changes" + props: + variant: primary__sm +props: + variant: default + animation: true + static: false + centered: false + scrollable: false + heading_level: 1 + heading_attributes: + class: + - fs-5 +library_wrapper: > + {% set modal_id = modal_id|default("modal-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'modal_id': modal_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Launch demo modal'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ modal_id, + 'data-bs-toggle': 'modal', + }, + }, with_context = false) }} + {{ _story|merge(props) }} diff --git a/components/modal/modal.fullscreen.story.yml b/components/modal/modal.fullscreen.story.yml new file mode 100644 index 00000000..1dcc5233 --- /dev/null +++ b/components/modal/modal.fullscreen.story.yml @@ -0,0 +1,73 @@ +name: Fullscreen +slots: + body: "..." + footer: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Close" + props: + variant: secondary__sm + attributes: + data-bs-dismiss: modal +props: + variant: default + animation: true + static: false + centered: false + scrollable: false + heading_level: 1 + heading_attributes: + class: + - fs-4 +library_wrapper: > + {% set examples = [ + { + label: 'Full screen'|t, + fullscreen: 'modal-fullscreen', + }, + { + label: 'Full screen below sm'|t, + fullscreen: 'modal-fullscreen-sm-down', + }, + { + label: 'Full screen below md'|t, + fullscreen: 'modal-fullscreen-md-down', + }, + { + label: 'Full screen below lg'|t, + fullscreen: 'modal-fullscreen-lg-down', + }, + { + label: 'Full screen below xl'|t, + fullscreen: 'modal-fullscreen-xl-down', + }, + { + label: 'Full screen below xxl'|t, + fullscreen: 'modal-fullscreen-xxl-down', + }, + ] %} + {% for example in examples %} + {% set modal_id = "modal-" ~ random() %} + {% set example_props = {'#props': _story['#props']|merge({ + 'modal_id': modal_id, + 'fullscreen': example.fullscreen, + })} %} + {% set example_slots = {'#slots': _story['#slots']|merge({ + 'title': example.label, + })} %} + {% set example_story = _story %} + + {{ include('ui_suite_bootstrap:button', { + 'label': example.label, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ modal_id, + 'data-bs-toggle': 'modal', + 'class': [ + 'm-1', + ], + }, + }, with_context = false) }} + {{ example_story|merge(example_props)|merge(example_slots) }} + {% endfor %} diff --git a/components/modal/modal.long_content_default.story.yml b/components/modal/modal.long_content_default.story.yml new file mode 100644 index 00000000..09e1b90f --- /dev/null +++ b/components/modal/modal.long_content_default.story.yml @@ -0,0 +1,43 @@ +name: "Scrolling long content: default" +slots: + title: "Modal title" + body: "This is some placeholder content to show the scrolling behavior for modals. Instead of repeating the text in the modal, we use an inline style to set a minimum height, thereby extending the length of the overall modal and demonstrating the overflow scrolling. When content becomes longer than the height of the viewport, scrolling will move the modal as needed." + footer: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Close" + props: + variant: secondary__sm + attributes: + data-bs-dismiss: modal + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Save changes" + props: + variant: primary__sm +props: + variant: default + animation: true + static: false + centered: false + scrollable: false + heading_level: 1 + heading_attributes: + class: + - fs-5 + body_attributes: + style: "min-height: 1500px" +library_wrapper: > + {% set modal_id = modal_id|default("modal-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'modal_id': modal_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Launch demo modal'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ modal_id, + 'data-bs-toggle': 'modal', + }, + }, with_context = false) }} + {{ _story|merge(props) }} diff --git a/components/modal/modal.long_content_scrollable.story.yml b/components/modal/modal.long_content_scrollable.story.yml new file mode 100644 index 00000000..316a22f4 --- /dev/null +++ b/components/modal/modal.long_content_scrollable.story.yml @@ -0,0 +1,44 @@ +name: "Scrolling long content: scrollable" +slots: + title: "Modal title" + body: | + <p>This is some placeholder content to show the scrolling behavior for modals. We use repeated line breaks to demonstrate how content can exceed minimum inner height, thereby showing inner scrolling. When content becomes longer than the predefined max-height of modal, content will be cropped and scrollable within the modal.</p> + <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> + <p>This content should appear at the bottom after you scroll.</p> + footer: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Close" + props: + variant: secondary__sm + attributes: + data-bs-dismiss: modal + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Save changes" + props: + variant: primary__sm +props: + variant: default + animation: true + static: false + centered: false + scrollable: true + heading_level: 1 + heading_attributes: + class: + - fs-5 +library_wrapper: > + {% set modal_id = modal_id|default("modal-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'modal_id': modal_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Launch demo modal'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ modal_id, + 'data-bs-toggle': 'modal', + }, + }, with_context = false) }} + {{ _story|merge(props) }} diff --git a/components/modal/modal.preview.story.yml b/components/modal/modal.sizes.story.yml similarity index 90% rename from components/modal/modal.preview.story.yml rename to components/modal/modal.sizes.story.yml index 816152ad..98f385b6 100644 --- a/components/modal/modal.preview.story.yml +++ b/components/modal/modal.sizes.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: Sizes slots: title: "Modal title" body: "Modal body text goes here." @@ -23,6 +23,9 @@ props: centered: false scrollable: false heading_level: 1 + heading_attributes: + class: + - fs-5 library_wrapper: > {% set modal_id = modal_id|default("modal-" ~ random()) %} {% set props = {'#props': _story['#props']|merge({'modal_id': modal_id})} %} @@ -31,7 +34,7 @@ library_wrapper: > 'variant': 'primary', 'attributes': { 'data-bs-target': '#' ~ modal_id, - 'data-bs-toggle':'modal', + 'data-bs-toggle': 'modal', }, }, with_context = false) }} {{ _story|merge(props) }} diff --git a/components/modal/modal.static_backdrop.story.yml b/components/modal/modal.static_backdrop.story.yml new file mode 100644 index 00000000..18a29ffe --- /dev/null +++ b/components/modal/modal.static_backdrop.story.yml @@ -0,0 +1,41 @@ +name: "Static backdrop" +slots: + title: "Modal title" + body: "I will not close if you click outside of me. Don't even try to press escape key." + footer: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Close" + props: + variant: secondary__sm + attributes: + data-bs-dismiss: modal + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Understood" + props: + variant: primary__sm +props: + variant: default + animation: true + static: true + centered: false + scrollable: false + heading_level: 1 + heading_attributes: + class: + - fs-5 +library_wrapper: > + {% set modal_id = modal_id|default("modal-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'modal_id': modal_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Launch static backdrop modal'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ modal_id, + 'data-bs-toggle': 'modal', + }, + }, with_context = false) }} + {{ _story|merge(props) }} diff --git a/components/modal/modal.vertical_centered.story.yml b/components/modal/modal.vertical_centered.story.yml new file mode 100644 index 00000000..0dd77b2c --- /dev/null +++ b/components/modal/modal.vertical_centered.story.yml @@ -0,0 +1,41 @@ +name: "Vertically centered" +slots: + title: "Modal title" + body: "This is a vertically centered modal." + footer: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Close" + props: + variant: secondary__sm + attributes: + data-bs-dismiss: modal + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Save changes" + props: + variant: primary__sm +props: + variant: default + animation: true + static: false + centered: true + scrollable: false + heading_level: 1 + heading_attributes: + class: + - fs-5 +library_wrapper: > + {% set modal_id = modal_id|default("modal-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'modal_id': modal_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Vertically centered modal'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ modal_id, + 'data-bs-toggle': 'modal', + }, + }, with_context = false) }} + {{ _story|merge(props) }} diff --git a/components/modal/modal.vertical_centered_scrollable.story.yml b/components/modal/modal.vertical_centered_scrollable.story.yml new file mode 100644 index 00000000..3b22cfca --- /dev/null +++ b/components/modal/modal.vertical_centered_scrollable.story.yml @@ -0,0 +1,44 @@ +name: "Vertically centered scrollable" +slots: + title: "Modal title" + body: | + <p>This is some placeholder content to show a vertically centered modal. We've added some extra copy here to show how vertically centering the modal works when combined with scrollable modals. We also use some repeated line breaks to quickly extend the height of the content, thereby triggering the scrolling. When content becomes longer than the predefined max-height of modal, content will be cropped and scrollable within the modal.</p> + <br><br><br><br><br><br><br><br><br><br> + <p>Just like that.</p> + footer: + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Close" + props: + variant: secondary__sm + attributes: + data-bs-dismiss: modal + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Save changes" + props: + variant: primary__sm +props: + variant: default + animation: true + static: false + centered: true + scrollable: true + heading_level: 1 + heading_attributes: + class: + - fs-5 +library_wrapper: > + {% set modal_id = modal_id|default("modal-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'modal_id': modal_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Vertically centered scrollable modal'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ modal_id, + 'data-bs-toggle': 'modal', + }, + }, with_context = false) }} + {{ _story|merge(props) }} -- GitLab From 9fce4ef867eb0fa480ccc98c186dbeec7269593f Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Fri, 7 Mar 2025 10:49:53 +0100 Subject: [PATCH 07/15] Issue #3485834 by grimreaper: offcanvas --- .../offcanvas.body_scrolling.story.yml | 26 ++++++++++++ ...ffcanvas.body_scrolling_backdrop.story.yml | 25 +++++++++++ components/offcanvas/offcanvas.dark.story.yml | 26 ++++++++++++ .../offcanvas/offcanvas.default.story.yml | 41 +++++++++++++++++++ ...tory.yml => offcanvas.placement.story.yml} | 4 +- .../offcanvas/offcanvas.responsive.story.yml | 34 +++++++++++++++ .../offcanvas.static_backdrop.story.yml | 26 ++++++++++++ 7 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 components/offcanvas/offcanvas.body_scrolling.story.yml create mode 100644 components/offcanvas/offcanvas.body_scrolling_backdrop.story.yml create mode 100644 components/offcanvas/offcanvas.dark.story.yml create mode 100644 components/offcanvas/offcanvas.default.story.yml rename components/offcanvas/{offcanvas.preview.story.yml => offcanvas.placement.story.yml} (81%) create mode 100644 components/offcanvas/offcanvas.responsive.story.yml create mode 100644 components/offcanvas/offcanvas.static_backdrop.story.yml diff --git a/components/offcanvas/offcanvas.body_scrolling.story.yml b/components/offcanvas/offcanvas.body_scrolling.story.yml new file mode 100644 index 00000000..339622bf --- /dev/null +++ b/components/offcanvas/offcanvas.body_scrolling.story.yml @@ -0,0 +1,26 @@ +name: "Body scrolling" +slots: + title: "Offcanvas with body scrolling" + body: + - type: html_tag + tag: p + value: "Try scrolling the rest of the page to see this option in action." +props: + variant: start + scroll: true + backdrop: false + heading_level: 5 +library_wrapper: > + {% set offcanvas_id = offcanvas_id|default("offcanvas-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'offcanvas_id': offcanvas_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Enable body scrolling'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ offcanvas_id, + 'data-bs-toggle': 'offcanvas', + 'aria-controls': offcanvas_id, + 'aria-expanded': 'false', + }, + }, with_context = false) }} + {{ _story|merge(props) }} diff --git a/components/offcanvas/offcanvas.body_scrolling_backdrop.story.yml b/components/offcanvas/offcanvas.body_scrolling_backdrop.story.yml new file mode 100644 index 00000000..18732bc5 --- /dev/null +++ b/components/offcanvas/offcanvas.body_scrolling_backdrop.story.yml @@ -0,0 +1,25 @@ +name: "Body scrolling and backdrop" +slots: + title: "Backdrop with scrolling" + body: + - type: html_tag + tag: p + value: "Try scrolling the rest of the page to see this option in action." +props: + variant: start + scroll: true + heading_level: 5 +library_wrapper: > + {% set offcanvas_id = offcanvas_id|default("offcanvas-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'offcanvas_id': offcanvas_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Enable both scrolling & backdrop'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ offcanvas_id, + 'data-bs-toggle': 'offcanvas', + 'aria-controls': offcanvas_id, + 'aria-expanded': 'false', + }, + }, with_context = false) }} + {{ _story|merge(props) }} diff --git a/components/offcanvas/offcanvas.dark.story.yml b/components/offcanvas/offcanvas.dark.story.yml new file mode 100644 index 00000000..b33f8d2d --- /dev/null +++ b/components/offcanvas/offcanvas.dark.story.yml @@ -0,0 +1,26 @@ +name: "Dark offcanvas" +slots: + title: Offcanvas + body: + - type: html_tag + tag: p + value: "Place offcanvas content here." +props: + variant: start + heading_level: 5 +library_wrapper: > + {% set offcanvas_id = offcanvas_id|default("offcanvas-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'offcanvas_id': offcanvas_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Launch dark offcanvas'|t, + 'variant': 'dark', + 'attributes': { + 'data-bs-target': '#' ~ offcanvas_id, + 'data-bs-toggle': 'offcanvas', + 'aria-controls': offcanvas_id, + 'aria-expanded': 'false', + }, + }, with_context = false) }} + <div data-bs-theme="dark"> + {{ _story|merge(props) }} + </div> diff --git a/components/offcanvas/offcanvas.default.story.yml b/components/offcanvas/offcanvas.default.story.yml new file mode 100644 index 00000000..f26f3744 --- /dev/null +++ b/components/offcanvas/offcanvas.default.story.yml @@ -0,0 +1,41 @@ +name: Default +slots: + title: Offcanvas + body: + - type: html_tag + tag: div + value: "Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc." + - type: component + component: "ui_suite_bootstrap:dropdown" + slots: + title: "Dropdown button " + props: + attributes: + class: + - mt-3 + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + button_variant: secondary +props: + variant: start + scroll: false + heading_level: 5 +library_wrapper: > + {% set offcanvas_id = offcanvas_id|default("offcanvas-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'offcanvas_id': offcanvas_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Button with data-bs-target'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ offcanvas_id, + 'data-bs-toggle': 'offcanvas', + 'aria-controls': offcanvas_id, + 'aria-expanded': 'false', + }, + }, with_context = false) }} + {{ _story|merge(props) }} diff --git a/components/offcanvas/offcanvas.preview.story.yml b/components/offcanvas/offcanvas.placement.story.yml similarity index 81% rename from components/offcanvas/offcanvas.preview.story.yml rename to components/offcanvas/offcanvas.placement.story.yml index bbe07673..de04b208 100644 --- a/components/offcanvas/offcanvas.preview.story.yml +++ b/components/offcanvas/offcanvas.placement.story.yml @@ -1,7 +1,7 @@ -name: Preview +name: Placement slots: title: Offcanvas - body: "Content for the offcanvas goes here. You can place just about any Bootstrap component or custom elements here." + body: "..." props: scroll: false heading_level: 5 diff --git a/components/offcanvas/offcanvas.responsive.story.yml b/components/offcanvas/offcanvas.responsive.story.yml new file mode 100644 index 00000000..3209a17e --- /dev/null +++ b/components/offcanvas/offcanvas.responsive.story.yml @@ -0,0 +1,34 @@ +name: Responsive +slots: + title: "Responsive offcanvas" + body: + - type: html_tag + tag: p + value: "This is content within an <code>.offcanvas-lg</code>." + attributes: + class: + - mb-0 +props: + variant: end + scroll: false + heading_level: 5 + responsive: "offcanvas-lg" +library_wrapper: > + {% set offcanvas_id = offcanvas_id|default("offcanvas-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'offcanvas_id': offcanvas_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Toggle offcanvas'|t, + 'variant': 'primary', + 'attributes': { + 'class': [ + 'd-lg-none', + ], + 'data-bs-target': '#' ~ offcanvas_id, + 'data-bs-toggle': 'offcanvas', + 'aria-controls': offcanvas_id, + 'aria-expanded': 'false', + }, + }, with_context = false) }} + + <div class="alert alert-info d-none d-lg-block">{{ 'Resize your browser to show the responsive offcanvas toggle.'|t }}</div> + {{ _story|merge(props) }} diff --git a/components/offcanvas/offcanvas.static_backdrop.story.yml b/components/offcanvas/offcanvas.static_backdrop.story.yml new file mode 100644 index 00000000..8805a7d5 --- /dev/null +++ b/components/offcanvas/offcanvas.static_backdrop.story.yml @@ -0,0 +1,26 @@ +name: "Static backdrop" +slots: + title: "Offcanvas" + body: + - type: html_tag + tag: div + value: "I will not close if you click outside of me." +props: + variant: start + scroll: false + backdrop: static + heading_level: 5 +library_wrapper: > + {% set offcanvas_id = offcanvas_id|default("offcanvas-" ~ random()) %} + {% set props = {'#props': _story['#props']|merge({'offcanvas_id': offcanvas_id})} %} + {{ include('ui_suite_bootstrap:button', { + 'label': 'Toggle static offcanvas'|t, + 'variant': 'primary', + 'attributes': { + 'data-bs-target': '#' ~ offcanvas_id, + 'data-bs-toggle': 'offcanvas', + 'aria-controls': offcanvas_id, + 'aria-expanded': 'false', + }, + }, with_context = false) }} + {{ _story|merge(props) }} -- GitLab From 9a03d814f4ce6a2f07a12654223342db2c1be3a4 Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Mon, 10 Mar 2025 11:48:01 +0100 Subject: [PATCH 08/15] Issue #3485834 by grimreaper: Toast, toast container, card, card group, card overlay --- ...preview.story.yml => card.basic.story.yml} | 24 ++---- .../card/card.content_types_body.story.yml | 9 +++ .../card/card.content_types_header.story.yml | 19 +++++ ...card.content_types_header_footer.story.yml | 29 +++++++ .../card.content_types_header_quote.story.yml | 28 +++++++ .../card.content_types_header_title.story.yml | 25 +++++++ .../card/card.content_types_images.story.yml | 30 ++++++++ .../card/card.content_types_kitchen.story.yml | 50 +++++++++++++ .../card.content_types_list_groups.story.yml | 25 +++++++ ...content_types_list_groups_footer.story.yml | 26 +++++++ ...content_types_list_groups_header.story.yml | 26 +++++++ ....content_types_titles_text_links.story.yml | 29 +++++++ components/card/card.horizontal.story.yml | 30 +++----- .../card/card.navigation_pills.story.yml | 41 ++++++++++ .../card/card.navigation_tabs.story.yml | 41 ++++++++++ .../card/card.styles_background.story.yml | 34 +++++++++ components/card/card.styles_border.story.yml | 34 +++++++++ components/card/card.styles_mixins.story.yml | 27 +++++++ components/card/card.text_alignment.story.yml | 36 +++++++++ .../card_group/card_group.preview.story.yml | 75 ++++++++++++++++++- .../card_overlay.preview.story.yml | 12 --- ...review.story.yml => toast.basic.story.yml} | 7 +- components/toast/toast.color.story.yml | 12 +++ .../toast/toast.custom_content.story.yml | 9 +++ .../toast.custom_content_control.story.yml | 30 ++++++++ components/toast/toast.translucent.story.yml | 36 +++++++++ .../toast_container.preview.story.yml | 57 +------------- 27 files changed, 692 insertions(+), 109 deletions(-) rename components/card/{card.preview.story.yml => card.basic.story.yml} (63%) create mode 100644 components/card/card.content_types_body.story.yml create mode 100644 components/card/card.content_types_header.story.yml create mode 100644 components/card/card.content_types_header_footer.story.yml create mode 100644 components/card/card.content_types_header_quote.story.yml create mode 100644 components/card/card.content_types_header_title.story.yml create mode 100644 components/card/card.content_types_images.story.yml create mode 100644 components/card/card.content_types_kitchen.story.yml create mode 100644 components/card/card.content_types_list_groups.story.yml create mode 100644 components/card/card.content_types_list_groups_footer.story.yml create mode 100644 components/card/card.content_types_list_groups_header.story.yml create mode 100644 components/card/card.content_types_titles_text_links.story.yml create mode 100644 components/card/card.navigation_pills.story.yml create mode 100644 components/card/card.navigation_tabs.story.yml create mode 100644 components/card/card.styles_background.story.yml create mode 100644 components/card/card.styles_border.story.yml create mode 100644 components/card/card.styles_mixins.story.yml create mode 100644 components/card/card.text_alignment.story.yml rename components/toast/{toast.preview.story.yml => toast.basic.story.yml} (89%) create mode 100644 components/toast/toast.color.story.yml create mode 100644 components/toast/toast.custom_content.story.yml create mode 100644 components/toast/toast.custom_content_control.story.yml create mode 100644 components/toast/toast.translucent.story.yml diff --git a/components/card/card.preview.story.yml b/components/card/card.basic.story.yml similarity index 63% rename from components/card/card.preview.story.yml rename to components/card/card.basic.story.yml index e27538aa..ce126ac8 100644 --- a/components/card/card.preview.story.yml +++ b/components/card/card.basic.story.yml @@ -1,17 +1,15 @@ -name: Preview +name: Basic slots: image: theme: image uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1hbmNob3I6IG1pZGRsZTsgdXNlci1zZWxlY3Q6IG5vbmU7IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIyNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEltYWdlIGNhcCI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjODY4ZTk2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiNkZWUyZTYiIGR5PSIuM2VtIj5JbWFnZSBjYXA8L3RleHQ+PC9zdmc+Cg==" alt: "© 2017 John Smith photography" - header: Featured content: - type: component component: "ui_suite_bootstrap:card_body" slots: title: "Card title" - subtitle: "Card subtitle" - text: "Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit." + text: "Some quick example text to build on the card title and make up the bulk of the card's content." content: type: component component: "ui_suite_bootstrap:button" @@ -19,21 +17,9 @@ slots: label: "Go somewhere" props: variant: primary - links: - - type: html_tag - tag: a - value: "Card link" - attributes: - href: "#" - - type: html_tag - tag: a - value: "Another link" - attributes: - href: "#" - footer: - type: html_tag - tag: span - value: "2 days ago" + url: "#" props: + attributes: + style: "width: 18rem;" variant: default image_position: top diff --git a/components/card/card.content_types_body.story.yml b/components/card/card.content_types_body.story.yml new file mode 100644 index 00000000..ccfc5158 --- /dev/null +++ b/components/card/card.content_types_body.story.yml @@ -0,0 +1,9 @@ +name: "Content types: body" +slots: + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + content: "This is some text within a card body." +props: + variant: default diff --git a/components/card/card.content_types_header.story.yml b/components/card/card.content_types_header.story.yml new file mode 100644 index 00000000..7e7f071f --- /dev/null +++ b/components/card/card.content_types_header.story.yml @@ -0,0 +1,19 @@ +name: "Content types: header" +slots: + header: "Featured" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Special title treatment" + text: "With supporting text below as a natural lead-in to additional content." + content: + type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Go somewhere" + props: + variant: primary + url: "#" +props: + variant: default diff --git a/components/card/card.content_types_header_footer.story.yml b/components/card/card.content_types_header_footer.story.yml new file mode 100644 index 00000000..13a8436d --- /dev/null +++ b/components/card/card.content_types_header_footer.story.yml @@ -0,0 +1,29 @@ +name: "Content types: header and footer centered" +slots: + header: "Featured" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Special title treatment" + text: "With supporting text below as a natural lead-in to additional content." + content: + type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Go somewhere" + props: + variant: primary + url: "#" + footer: + type: html_tag + tag: span + value: "2 days ago" +props: + variant: default + attributes: + class: + - text-center + footer_attributes: + class: + - text-body-secondary diff --git a/components/card/card.content_types_header_quote.story.yml b/components/card/card.content_types_header_quote.story.yml new file mode 100644 index 00000000..30b46257 --- /dev/null +++ b/components/card/card.content_types_header_quote.story.yml @@ -0,0 +1,28 @@ +# @todo the blockquote component is not providing the expected HTML. +name: "Content types: header quote" +slots: + header: "Quote" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + content: + type: component + component: "ui_suite_bootstrap:blockquote" + attributes: + class: + - mb-0 + slots: + content: + - type: html_tag + tag: p + value: "A well-known quote, contained in a blockquote element." + footer: + - markup: "Someone famous in " + - type: html_tag + tag: cite + value: "Source Title" + attributes: + title: "Source Title" +props: + variant: default diff --git a/components/card/card.content_types_header_title.story.yml b/components/card/card.content_types_header_title.story.yml new file mode 100644 index 00000000..c5c03d9b --- /dev/null +++ b/components/card/card.content_types_header_title.story.yml @@ -0,0 +1,25 @@ +name: "Content types: header title" +description: "Card headers can be styled by adding .card-header to <h*> elements." +slots: + content: + - type: html_tag + tag: h5 + value: "Featured" + attributes: + class: + - card-header + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Special title treatment" + text: "With supporting text below as a natural lead-in to additional content." + content: + type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Go somewhere" + props: + variant: primary + url: "#" +props: + variant: default diff --git a/components/card/card.content_types_images.story.yml b/components/card/card.content_types_images.story.yml new file mode 100644 index 00000000..47bca699 --- /dev/null +++ b/components/card/card.content_types_images.story.yml @@ -0,0 +1,30 @@ +name: "Content types: images" +slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1hbmNob3I6IG1pZGRsZTsgdXNlci1zZWxlY3Q6IG5vbmU7IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIyNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEltYWdlIGNhcCI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjODY4ZTk2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiNkZWUyZTYiIGR5PSIuM2VtIj5JbWFnZSBjYXA8L3RleHQ+PC9zdmc+Cg==" + alt: "© 2017 John Smith photography" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + text: "Some quick example text to build on the card title and make up the bulk of the card's content." +props: + attributes: + style: "width: 18rem;" + variant: default +library_wrapper: > + {% set examples = [ + 'top', + 'bottom', + ] %} + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'image_position': example, + })} %} + + {% set example_story = _story %} + <div class="mt-3"> + {{ example_story|merge(example_props) }} + </div> + {% endfor %} diff --git a/components/card/card.content_types_kitchen.story.yml b/components/card/card.content_types_kitchen.story.yml new file mode 100644 index 00000000..a58200d5 --- /dev/null +++ b/components/card/card.content_types_kitchen.story.yml @@ -0,0 +1,50 @@ +name: "Content types: kitchen sink" +description: "Mix and match multiple content types to create the card you need, or throw everything in there. Shown below are image styles, blocks, text styles, and a list group—all wrapped in a fixed-width card." +slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1hbmNob3I6IG1pZGRsZTsgdXNlci1zZWxlY3Q6IG5vbmU7IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIyNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEltYWdlIGNhcCI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjODY4ZTk2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiNkZWUyZTYiIGR5PSIuM2VtIj5JbWFnZSBjYXA8L3RleHQ+PC9zdmc+Cg==" + alt: "© 2017 John Smith photography" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Card title" + text: "Some quick example text to build on the card title and make up the bulk of the card's content." + - type: component + component: "ui_suite_bootstrap:list_group" + props: + variant: flush + slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "An item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A second item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A third item" + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + links: + - type: html_tag + tag: a + value: "Card link" + attributes: + href: "#" + - type: html_tag + tag: a + value: "Another link" + attributes: + href: "#" +props: + variant: default + attributes: + style: "width: 18rem;" + image_position: top diff --git a/components/card/card.content_types_list_groups.story.yml b/components/card/card.content_types_list_groups.story.yml new file mode 100644 index 00000000..21738344 --- /dev/null +++ b/components/card/card.content_types_list_groups.story.yml @@ -0,0 +1,25 @@ +name: "Content types: list groups" +slots: + content: + - type: component + component: "ui_suite_bootstrap:list_group" + props: + variant: flush + slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "An item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A second item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A third item" +props: + attributes: + style: "width: 18rem;" + variant: default diff --git a/components/card/card.content_types_list_groups_footer.story.yml b/components/card/card.content_types_list_groups_footer.story.yml new file mode 100644 index 00000000..3d3a866a --- /dev/null +++ b/components/card/card.content_types_list_groups_footer.story.yml @@ -0,0 +1,26 @@ +name: "Content types: list groups with footer" +slots: + content: + - type: component + component: "ui_suite_bootstrap:list_group" + props: + variant: flush + slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "An item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A second item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A third item" + footer: "Card footer" +props: + attributes: + style: "width: 18rem;" + variant: default diff --git a/components/card/card.content_types_list_groups_header.story.yml b/components/card/card.content_types_list_groups_header.story.yml new file mode 100644 index 00000000..17984629 --- /dev/null +++ b/components/card/card.content_types_list_groups_header.story.yml @@ -0,0 +1,26 @@ +name: "Content types: list groups with header" +slots: + header: "Featured" + content: + - type: component + component: "ui_suite_bootstrap:list_group" + props: + variant: flush + slots: + items: + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "An item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A second item" + - type: component + component: "ui_suite_bootstrap:list_group_item" + slots: + content: "A third item" +props: + attributes: + style: "width: 18rem;" + variant: default diff --git a/components/card/card.content_types_titles_text_links.story.yml b/components/card/card.content_types_titles_text_links.story.yml new file mode 100644 index 00000000..b724dd46 --- /dev/null +++ b/components/card/card.content_types_titles_text_links.story.yml @@ -0,0 +1,29 @@ +name: "Content types: titles, text, and links" +slots: + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Card title" + subtitle: "Card subtitle" + text: "Some quick example text to build on the card title and make up the bulk of the card's content." + links: + - type: html_tag + tag: a + value: "Card link" + attributes: + href: "#" + - type: html_tag + tag: a + value: "Another link" + attributes: + href: "#" + props: + subtitle_attributes: + class: + - mb-2 + - text-body-secondary +props: + attributes: + style: "width: 18rem;" + variant: default diff --git a/components/card/card.horizontal.story.yml b/components/card/card.horizontal.story.yml index e9f4e667..c7001470 100644 --- a/components/card/card.horizontal.story.yml +++ b/components/card/card.horizontal.story.yml @@ -9,26 +9,20 @@ slots: component: "ui_suite_bootstrap:card_body" slots: title: "Card title" - subtitle: "Card subtitle" - text: "Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit." + text: "This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer." content: - type: component - component: "ui_suite_bootstrap:button" - slots: - label: "Go somewhere" - props: - variant: primary - links: - - type: html_tag - tag: a - value: "Card link" + type: html_tag + tag: p + 0: + type: html_tag + tag: small + value: Last updated 3 mins ago attributes: - href: "#" - - type: html_tag - tag: a - value: "Another link" - attributes: - href: "#" + class: + - text-body-secondary + attributes: + class: + - card-text props: attributes: style: "max-width: 540px;" diff --git a/components/card/card.navigation_pills.story.yml b/components/card/card.navigation_pills.story.yml new file mode 100644 index 00000000..475f3f0e --- /dev/null +++ b/components/card/card.navigation_pills.story.yml @@ -0,0 +1,41 @@ +name: "Navigation: pills" +slots: + header: + - type: component + component: "ui_suite_bootstrap:nav" + props: + variant: pills + nav_type: ul + card_header: true + items: + - url: "#" + title: Active + link_attributes: + class: + - active + - url: "#" + title: Link + - url: "#" + title: Disabled + link_attributes: + class: + - disabled + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Special title treatment" + text: "With supporting text below as a natural lead-in to additional content." + content: + type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Go somewhere" + props: + variant: primary + url: "#" +props: + variant: default + attributes: + class: + - text-center diff --git a/components/card/card.navigation_tabs.story.yml b/components/card/card.navigation_tabs.story.yml new file mode 100644 index 00000000..d4d0ea35 --- /dev/null +++ b/components/card/card.navigation_tabs.story.yml @@ -0,0 +1,41 @@ +name: "Navigation: tabs" +slots: + header: + - type: component + component: "ui_suite_bootstrap:nav" + props: + variant: tabs + nav_type: ul + card_header: true + items: + - url: "#" + title: Active + link_attributes: + class: + - active + - url: "#" + title: Link + - url: "#" + title: Disabled + link_attributes: + class: + - disabled + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Special title treatment" + text: "With supporting text below as a natural lead-in to additional content." + content: + type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Go somewhere" + props: + variant: primary + url: "#" +props: + variant: default + attributes: + class: + - text-center diff --git a/components/card/card.styles_background.story.yml b/components/card/card.styles_background.story.yml new file mode 100644 index 00000000..b70d3372 --- /dev/null +++ b/components/card/card.styles_background.story.yml @@ -0,0 +1,34 @@ +name: "Card styles: background and color" +slots: + header: "Header" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Card title" + text: "Some quick example text to build on the card title and make up the bulk of the card's content." +props: + variant: default +library_wrapper: > + {% set examples = [ + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({'attributes': create_attribute({ + style: 'width: 18rem;', + class: [ + 'mb-3', + 'text-bg-' ~example, + ] + })})} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/card/card.styles_border.story.yml b/components/card/card.styles_border.story.yml new file mode 100644 index 00000000..61aebee5 --- /dev/null +++ b/components/card/card.styles_border.story.yml @@ -0,0 +1,34 @@ +name: "Card styles: border" +slots: + header: "Header" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Card title" + text: "Some quick example text to build on the card title and make up the bulk of the card's content." +props: + variant: default +library_wrapper: > + {% set examples = [ + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({'attributes': create_attribute({ + style: 'width: 18rem;', + class: [ + 'mb-3', + 'border-' ~example, + ] + })})} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/card/card.styles_mixins.story.yml b/components/card/card.styles_mixins.story.yml new file mode 100644 index 00000000..e5018c2f --- /dev/null +++ b/components/card/card.styles_mixins.story.yml @@ -0,0 +1,27 @@ +name: "Card styles: mixins utilities" +slots: + header: "Header" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Card title" + text: "Some quick example text to build on the card title and make up the bulk of the card's content." + attributes: + class: + - text-success + footer: "Footer" +props: + variant: default + attributes: + style: "width: 18rem;" + class: + - border-success + header_attributes: + class: + - bg-transparent + - border-success + footer_attributes: + class: + - bg-transparent + - border-success diff --git a/components/card/card.text_alignment.story.yml b/components/card/card.text_alignment.story.yml new file mode 100644 index 00000000..b254b32e --- /dev/null +++ b/components/card/card.text_alignment.story.yml @@ -0,0 +1,36 @@ +name: "Text alignment" +slots: + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Special title treatment" + text: "With supporting text below as a natural lead-in to additional content." + content: + type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Go somewhere" + props: + variant: primary + url: "#" +props: + variant: default +library_wrapper: > + {% set examples = [ + 'text-start', + 'text-center', + 'text-end', + ] %} + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({'attributes': create_attribute({ + style: 'width: 18rem;', + class: [ + 'mb-3', + example, + ] + })})} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/card_group/card_group.preview.story.yml b/components/card_group/card_group.preview.story.yml index 31ba81bc..1cb26ffb 100644 --- a/components/card_group/card_group.preview.story.yml +++ b/components/card_group/card_group.preview.story.yml @@ -3,16 +3,85 @@ slots: cards: - type: component component: "ui_suite_bootstrap:card" - story: preview + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1hbmNob3I6IG1pZGRsZTsgdXNlci1zZWxlY3Q6IG5vbmU7IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIyNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEltYWdlIGNhcCI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjODY4ZTk2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiNkZWUyZTYiIGR5PSIuM2VtIj5JbWFnZSBjYXA8L3RleHQ+PC9zdmc+Cg==" + alt: "© 2017 John Smith photography" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Card title" + text: "This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer." + content: + type: html_tag + tag: p + 0: + type: html_tag + tag: small + value: Last updated 3 mins ago + attributes: + class: + - text-body-secondary + attributes: + class: + - card-text props: variant: default - type: component component: "ui_suite_bootstrap:card" - story: preview + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1hbmNob3I6IG1pZGRsZTsgdXNlci1zZWxlY3Q6IG5vbmU7IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIyNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEltYWdlIGNhcCI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjODY4ZTk2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiNkZWUyZTYiIGR5PSIuM2VtIj5JbWFnZSBjYXA8L3RleHQ+PC9zdmc+Cg==" + alt: "© 2017 John Smith photography" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Card title" + text: "This card has supporting text below as a natural lead-in to additional content." + content: + type: html_tag + tag: p + 0: + type: html_tag + tag: small + value: Last updated 3 mins ago + attributes: + class: + - text-body-secondary + attributes: + class: + - card-text props: variant: default - type: component component: "ui_suite_bootstrap:card" - story: preview + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1hbmNob3I6IG1pZGRsZTsgdXNlci1zZWxlY3Q6IG5vbmU7IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIyNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEltYWdlIGNhcCI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjODY4ZTk2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiNkZWUyZTYiIGR5PSIuM2VtIj5JbWFnZSBjYXA8L3RleHQ+PC9zdmc+Cg==" + alt: "© 2017 John Smith photography" + content: + - type: component + component: "ui_suite_bootstrap:card_body" + slots: + title: "Card title" + text: "This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action." + content: + type: html_tag + tag: p + 0: + type: html_tag + tag: small + value: Last updated 3 mins ago + attributes: + class: + - text-body-secondary + attributes: + class: + - card-text props: variant: default diff --git a/components/card_overlay/card_overlay.preview.story.yml b/components/card_overlay/card_overlay.preview.story.yml index 77e917da..e5c9bc02 100644 --- a/components/card_overlay/card_overlay.preview.story.yml +++ b/components/card_overlay/card_overlay.preview.story.yml @@ -5,7 +5,6 @@ slots: uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1hbmNob3I6IG1pZGRsZTsgdXNlci1zZWxlY3Q6IG5vbmU7IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIyNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEltYWdlIGNhcCI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjODY4ZTk2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiNkZWUyZTYiIGR5PSIuM2VtIj5JbWFnZSBjYXA8L3RleHQ+PC9zdmc+Cg==" alt: "© 2017 John Smith photography" title: "Card title" - subtitle: "Card subtitle" text: "This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer." content: type: html_tag @@ -14,17 +13,6 @@ slots: attributes: class: - card-text - links: - - type: html_tag - tag: a - value: "Card link" - attributes: - href: "#" - - type: html_tag - tag: a - value: "Another link" - attributes: - href: "#" props: attributes: class: diff --git a/components/toast/toast.preview.story.yml b/components/toast/toast.basic.story.yml similarity index 89% rename from components/toast/toast.preview.story.yml rename to components/toast/toast.basic.story.yml index d303bd0f..0acff25a 100644 --- a/components/toast/toast.preview.story.yml +++ b/components/toast/toast.basic.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: Basic slots: header: - theme: image @@ -26,4 +26,7 @@ props: flex_wrapper: false hide_close_button: false close_button_variant: default -library_wrapper: "<div class=\"toast-container position-static\">{{ _story }}</div" +library_wrapper: > + <div class="toast-container position-static"> + {{ _story }} + </div> diff --git a/components/toast/toast.color.story.yml b/components/toast/toast.color.story.yml new file mode 100644 index 00000000..9055f64b --- /dev/null +++ b/components/toast/toast.color.story.yml @@ -0,0 +1,12 @@ +name: "Color schemes" +slots: + content: "Hello, world! This is a toast message." +props: + attributes: + class: + - show + - align-items-center + - text-bg-primary + - border-0 + flex_wrapper: true + close_button_variant: white diff --git a/components/toast/toast.custom_content.story.yml b/components/toast/toast.custom_content.story.yml new file mode 100644 index 00000000..e72314ef --- /dev/null +++ b/components/toast/toast.custom_content.story.yml @@ -0,0 +1,9 @@ +name: "Custom content" +slots: + content: "Hello, world! This is a toast message." +props: + attributes: + class: + - show + - align-items-center + flex_wrapper: true diff --git a/components/toast/toast.custom_content_control.story.yml b/components/toast/toast.custom_content_control.story.yml new file mode 100644 index 00000000..5824b234 --- /dev/null +++ b/components/toast/toast.custom_content_control.story.yml @@ -0,0 +1,30 @@ +name: "Custom content with controls" +slots: + content: + - markup: "Hello, world! This is a toast message." + - type: html_tag + tag: div + attributes: + class: + - mt-2 + - pt-2 + - border-top + - type: component + component: "ui_suite_bootstrap:button" + slots: + label: "Take action" + props: + variant: primary__sm + - type: component + attributes: + data-bs-dismiss: toast + component: "ui_suite_bootstrap:button" + slots: + label: Close + props: + variant: secondary__sm +props: + attributes: + class: + - show + hide_close_button: true diff --git a/components/toast/toast.translucent.story.yml b/components/toast/toast.translucent.story.yml new file mode 100644 index 00000000..c733b233 --- /dev/null +++ b/components/toast/toast.translucent.story.yml @@ -0,0 +1,36 @@ +name: Translucent +description: "Toasts are slightly translucent to blend in with what’s below them." +slots: + header: + - theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iYmQtcGxhY2Vob2xkZXItaW1nIHJvdW5kZWQgbWUtMiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGFyaWEtaGlkZGVuPSJ0cnVlIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBzbGljZSIgZm9jdXNhYmxlPSJmYWxzZSI+PHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0iIzAwN2FmZiI+PC9yZWN0Pjwvc3ZnPg==" + attributes: + class: + - rounded + - me-2 + - type: html_tag + tag: strong + value: Bootstrap + attributes: + class: + - me-auto + - type: html_tag + tag: small + value: "11 mins ago" + attributes: + class: + - text-body-secondary + content: "Hello, world! This is a toast message." +props: + attributes: + class: + - show + delay: 5000 + role: alert + flex_wrapper: false + hide_close_button: false + close_button_variant: default +library_wrapper: > + <div class="p-3 bg-dark"> + {{ _story }} + </div> diff --git a/components/toast_container/toast_container.preview.story.yml b/components/toast_container/toast_container.preview.story.yml index 81525a16..f537bd91 100644 --- a/components/toast_container/toast_container.preview.story.yml +++ b/components/toast_container/toast_container.preview.story.yml @@ -25,7 +25,7 @@ slots: value: "just now" attributes: class: - - text-muted + - text-body-secondary content: "See? Just like this." - type: component attributes: @@ -51,61 +51,8 @@ slots: value: "2 seconds ago" attributes: class: - - text-muted + - text-body-secondary content: "Heads up, toasts will stack automatically" - - type: component - attributes: - class: - - show - component: "ui_suite_bootstrap:toast" - slots: - content: "Hello, world! This is a toast message." - props: - flex_wrapper: true - - type: component - attributes: - class: - - show - component: "ui_suite_bootstrap:toast" - slots: - content: - - markup: "Hello, world! This is a toast message." - - type: html_tag - tag: div - attributes: - class: - - mt-2 - - pt-2 - - border-top - - type: component - component: "ui_suite_bootstrap:button" - slots: - label: "Take action" - props: - variant: primary__sm - - type: component - attributes: - data-bs-dismiss: toast - component: "ui_suite_bootstrap:button" - slots: - label: Close - props: - variant: secondary__sm - props: - hide_close_button: true - - type: component - attributes: - class: - - show - - align-items-center - - text-bg-primary - - border-0 - component: "ui_suite_bootstrap:toast" - slots: - content: "Hello, world! This is a toast message." - props: - flex_wrapper: true - close_button_variant: white props: attributes: class: -- GitLab From fca2d4cd91891d7b2aa77bb1f0ac6958771a3569 Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Mon, 10 Mar 2025 16:22:55 +0100 Subject: [PATCH 09/15] Issue #3485834 by grimreaper: dropdown, nav --- .../dropdown/dropdown.auto_close.story.yml | 46 +++++++++++++++++ components/dropdown/dropdown.color.story.yml | 41 +++++++++++++++ components/dropdown/dropdown.dark.story.yml | 45 ++++++++++++++++ .../dropdown/dropdown.directions.story.yml | 34 +++++++++++++ .../dropdown.menu_content_divider.story.yml | 17 +++++++ .../dropdown.menu_content_header.story.yml | 17 +++++++ .../dropdown.menu_content_text.story.yml | 12 +++++ .../dropdown.menu_items_active.story.yml | 17 +++++++ .../dropdown.menu_items_disabled.story.yml | 17 +++++++ .../dropdown.menu_items_text.story.yml | 14 +++++ .../dropdown.options_offset.story.yml | 15 ++++++ .../dropdown/dropdown.preview.story.yml | 36 ------------- .../dropdown.responsive_alignment.story.yml | 51 +++++++++++++++++++ .../dropdown.single_button_button.story.yml | 13 +++++ .../dropdown.single_button_link.story.yml | 15 ++++++ .../dropdown/dropdown.sizing_large.story.yml | 35 +++++++++++++ .../dropdown/dropdown.sizing_small.story.yml | 35 +++++++++++++ .../dropdown/dropdown.split_button.story.yml | 42 +++++++++++++++ components/dropdown/dropdown.twig | 20 +++++++- components/nav/nav.alignment_center.story.yml | 22 ++++++++ components/nav/nav.alignment_end.story.yml | 22 ++++++++ .../nav/nav.alignment_vertical.story.yml | 22 ++++++++ components/nav/nav.custom_content.story.yml | 31 +++++++++++ .../nav/nav.custom_content_vertical.story.yml | 42 +++++++++++++++ components/nav/nav.preview.story.yml | 15 ------ 25 files changed, 624 insertions(+), 52 deletions(-) create mode 100644 components/dropdown/dropdown.auto_close.story.yml create mode 100644 components/dropdown/dropdown.color.story.yml create mode 100644 components/dropdown/dropdown.dark.story.yml create mode 100644 components/dropdown/dropdown.directions.story.yml create mode 100644 components/dropdown/dropdown.menu_content_divider.story.yml create mode 100644 components/dropdown/dropdown.menu_content_header.story.yml create mode 100644 components/dropdown/dropdown.menu_content_text.story.yml create mode 100644 components/dropdown/dropdown.menu_items_active.story.yml create mode 100644 components/dropdown/dropdown.menu_items_disabled.story.yml create mode 100644 components/dropdown/dropdown.menu_items_text.story.yml create mode 100644 components/dropdown/dropdown.options_offset.story.yml delete mode 100644 components/dropdown/dropdown.preview.story.yml create mode 100644 components/dropdown/dropdown.responsive_alignment.story.yml create mode 100644 components/dropdown/dropdown.single_button_button.story.yml create mode 100644 components/dropdown/dropdown.single_button_link.story.yml create mode 100644 components/dropdown/dropdown.sizing_large.story.yml create mode 100644 components/dropdown/dropdown.sizing_small.story.yml create mode 100644 components/dropdown/dropdown.split_button.story.yml create mode 100644 components/nav/nav.alignment_center.story.yml create mode 100644 components/nav/nav.alignment_end.story.yml create mode 100644 components/nav/nav.alignment_vertical.story.yml create mode 100644 components/nav/nav.custom_content.story.yml create mode 100644 components/nav/nav.custom_content_vertical.story.yml diff --git a/components/dropdown/dropdown.auto_close.story.yml b/components/dropdown/dropdown.auto_close.story.yml new file mode 100644 index 00000000..4ec34170 --- /dev/null +++ b/components/dropdown/dropdown.auto_close.story.yml @@ -0,0 +1,46 @@ +name: "Auto close behavior" +props: + variant: dropdown + attributes: + class: + - m-1 + button_variant: secondary + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" +library_wrapper: > + {% set examples = [ + { + title: 'Default dropdown'|t, + auto_close: 'true', + }, + { + title: 'Clickable inside'|t, + auto_close: 'inside', + }, + { + title: 'Clickable outside'|t, + auto_close: 'outside', + }, + { + title: 'Manual close'|t, + auto_close: 'false', + }, + ] %} + <div class="d-inline-flex"> + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'auto_close': example.auto_close, + })} %} + {% set example_slots = {'#slots': _story['#slots']|merge({ + 'title': example.title, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props)|merge(example_slots) }} + {% endfor %} + </div> diff --git a/components/dropdown/dropdown.color.story.yml b/components/dropdown/dropdown.color.story.yml new file mode 100644 index 00000000..58a6f570 --- /dev/null +++ b/components/dropdown/dropdown.color.story.yml @@ -0,0 +1,41 @@ +name: "Colors" +props: + variant: dropdown + attributes: + class: + - m-1 + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + - {} + - title: "Separated link" + url: "#" +library_wrapper: > + {% set examples = [ + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + + <div class="d-inline-flex"> + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'button_variant': example, + })} %} + {% set example_slots = {'#slots': _story['#slots']|merge({ + 'title': example|capitalize, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props)|merge(example_slots) }} + {% endfor %} + </div> diff --git a/components/dropdown/dropdown.dark.story.yml b/components/dropdown/dropdown.dark.story.yml new file mode 100644 index 00000000..22af3fa9 --- /dev/null +++ b/components/dropdown/dropdown.dark.story.yml @@ -0,0 +1,45 @@ +name: "Dark dropdown" +slots: + title: "Dropdown button" +props: + variant: dropdown + button_variant: secondary + dark: true + content: + - title: "Action" + url: "#" + link_attributes: + class: + - active + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + - {} + - title: "Separated link" + url: "#" +#library_wrapper: > +# {% set examples = [ +# 'primary', +# 'secondary', +# 'success', +# 'danger', +# 'warning', +# 'info', +# 'light', +# 'dark', +# ] %} +# +# <div class="d-inline-flex"> +# {% for example in examples %} +# {% set example_props = {'#props': _story['#props']|merge({ +# 'button_variant': example, +# })} %} +# {% set example_slots = {'#slots': _story['#slots']|merge({ +# 'title': example|capitalize, +# })} %} +# +# {% set example_story = _story %} +# {{ example_story|merge(example_props)|merge(example_slots) }} +# {% endfor %} +# </div> diff --git a/components/dropdown/dropdown.directions.story.yml b/components/dropdown/dropdown.directions.story.yml new file mode 100644 index 00000000..e813f4b7 --- /dev/null +++ b/components/dropdown/dropdown.directions.story.yml @@ -0,0 +1,34 @@ +name: Directions +slots: + title: "Long button label" +props: + attributes: + class: + - m-1 + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + - {} + - title: "Separated link" + url: "#" + button_variant: secondary +library_wrapper: > + {% set splits = [ + false, + true, + ] %} + + <div class="d-inline-flex"> + {% for split in splits %} + {% set example_props = {'#props': _story['#props']|merge({ + 'button_split': split, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} + </div> diff --git a/components/dropdown/dropdown.menu_content_divider.story.yml b/components/dropdown/dropdown.menu_content_divider.story.yml new file mode 100644 index 00000000..3b949a21 --- /dev/null +++ b/components/dropdown/dropdown.menu_content_divider.story.yml @@ -0,0 +1,17 @@ +name: "Menu content: dividers" +slots: + title: "Dropdown with divider" +props: + variant: dropdown + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + - {} + - title: "Separated link" + url: "#" + button_variant: secondary + diff --git a/components/dropdown/dropdown.menu_content_header.story.yml b/components/dropdown/dropdown.menu_content_header.story.yml new file mode 100644 index 00000000..98c564a7 --- /dev/null +++ b/components/dropdown/dropdown.menu_content_header.story.yml @@ -0,0 +1,17 @@ +name: "Menu content: headers" +slots: + title: "Dropdown with header" +props: + variant: dropdown + content: + - title: "Dropdown header" + link_attributes: + class: + - dropdown-header + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + button_variant: secondary + heading_level: 6 + diff --git a/components/dropdown/dropdown.menu_content_text.story.yml b/components/dropdown/dropdown.menu_content_text.story.yml new file mode 100644 index 00000000..08aac55b --- /dev/null +++ b/components/dropdown/dropdown.menu_content_text.story.yml @@ -0,0 +1,12 @@ +name: "Menu content: text" +slots: + title: "Dropdown with text" +props: + variant: dropdown + content: + - title: "Some example text that's free-flowing within the dropdown menu." + - title: "And this is more example text." + button_variant: secondary + +# @todo make dropdown menu attributes a prop? And add a new slot for free content? + diff --git a/components/dropdown/dropdown.menu_items_active.story.yml b/components/dropdown/dropdown.menu_items_active.story.yml new file mode 100644 index 00000000..5da93626 --- /dev/null +++ b/components/dropdown/dropdown.menu_items_active.story.yml @@ -0,0 +1,17 @@ +name: "Menu items: active" +slots: + title: "Dropdown with an active link" +props: + variant: dropdown + content: + - title: "Regular link" + url: "#" + - title: "Active link" + url: "#" + link_attributes: + class: + - active + - title: "Another link" + url: "#" + button_variant: secondary + button_url: "#" diff --git a/components/dropdown/dropdown.menu_items_disabled.story.yml b/components/dropdown/dropdown.menu_items_disabled.story.yml new file mode 100644 index 00000000..6b6bb5e3 --- /dev/null +++ b/components/dropdown/dropdown.menu_items_disabled.story.yml @@ -0,0 +1,17 @@ +name: "Menu items: disabled" +slots: + title: "Dropdown with a disabled link" +props: + variant: dropdown + content: + - title: "Regular link" + url: "#" + - title: "Disabled link" + url: "#" + link_attributes: + class: + - disabled + - title: "Another link" + url: "#" + button_variant: secondary + button_url: "#" diff --git a/components/dropdown/dropdown.menu_items_text.story.yml b/components/dropdown/dropdown.menu_items_text.story.yml new file mode 100644 index 00000000..470557f8 --- /dev/null +++ b/components/dropdown/dropdown.menu_items_text.story.yml @@ -0,0 +1,14 @@ +name: "Menu items: text" +slots: + title: "Dropdown with text" +props: + variant: dropdown + content: + - title: "Dropdown item text" + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + button_variant: secondary diff --git a/components/dropdown/dropdown.options_offset.story.yml b/components/dropdown/dropdown.options_offset.story.yml new file mode 100644 index 00000000..5d97a4f9 --- /dev/null +++ b/components/dropdown/dropdown.options_offset.story.yml @@ -0,0 +1,15 @@ +name: "Dropdown options: offset" +slots: + title: "Offset" +props: + variant: dropdown + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + button_variant: secondary + button_attributes: + data-bs-offset: "10,20" diff --git a/components/dropdown/dropdown.preview.story.yml b/components/dropdown/dropdown.preview.story.yml deleted file mode 100644 index 8e42f73a..00000000 --- a/components/dropdown/dropdown.preview.story.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Preview -slots: - title: Button -props: - content: - - title: "Dropdown header" - link_attributes: - class: - - dropdown-header - - title: Action - url: "#" - - title: "Dropdown item text" - - title: "Another action" - url: "#" - - title: "Something else here" - url: "#" - - {} - - title: "Separated link" - url: "#" - - title: "Action (button)" - link_attributes: - class: - - dropdown-item - - title: "Another action (button)" - link_attributes: - class: - - dropdown-item - - title: "Something else here (text)" - button_variant: primary - button_split: true - button_url: / - button_attributes: {} - dark: false - auto_close: "true" - dropdown_navbar: false - heading_level: 6 diff --git a/components/dropdown/dropdown.responsive_alignment.story.yml b/components/dropdown/dropdown.responsive_alignment.story.yml new file mode 100644 index 00000000..6fb6dddf --- /dev/null +++ b/components/dropdown/dropdown.responsive_alignment.story.yml @@ -0,0 +1,51 @@ +name: "Responsive alignment" +props: + variant: dropdown + attributes: + class: + - m-1 + button_variant: secondary + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" +library_wrapper: > + {% set examples = [ + { + title: 'Dropdown'|t, + dropdown_menu_start: '', + dropdown_menu_end: '', + }, + { + title: 'Right-aligned menu'|t, + dropdown_menu_start: '', + dropdown_menu_end: 'end', + }, + { + title: 'Left-aligned but right aligned when large screen'|t, + dropdown_menu_start: '', + dropdown_menu_end: 'lg-end', + }, + { + title: 'Right-aligned but left aligned when large screen'|t, + dropdown_menu_start: 'lg-start', + dropdown_menu_end: 'end', + }, + ] %} + <div class="d-inline-flex"> + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'dropdown_menu_start': example.dropdown_menu_start, + 'dropdown_menu_end': example.dropdown_menu_end, + })} %} + {% set example_slots = {'#slots': _story['#slots']|merge({ + 'title': example.title, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props)|merge(example_slots) }} + {% endfor %} + </div> diff --git a/components/dropdown/dropdown.single_button_button.story.yml b/components/dropdown/dropdown.single_button_button.story.yml new file mode 100644 index 00000000..596d9b7c --- /dev/null +++ b/components/dropdown/dropdown.single_button_button.story.yml @@ -0,0 +1,13 @@ +name: "Single button: button" +slots: + title: "Dropdown button" +props: + variant: dropdown + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + button_variant: secondary diff --git a/components/dropdown/dropdown.single_button_link.story.yml b/components/dropdown/dropdown.single_button_link.story.yml new file mode 100644 index 00000000..2c7af6db --- /dev/null +++ b/components/dropdown/dropdown.single_button_link.story.yml @@ -0,0 +1,15 @@ +name: "Single button: link" +description: "While <button> is the recommended control for a dropdown toggle, there might be situations where you have to use an <a> element." +slots: + title: "Dropdown link" +props: + variant: dropdown + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + button_variant: secondary + button_url: "#" diff --git a/components/dropdown/dropdown.sizing_large.story.yml b/components/dropdown/dropdown.sizing_large.story.yml new file mode 100644 index 00000000..dfcb9ebb --- /dev/null +++ b/components/dropdown/dropdown.sizing_large.story.yml @@ -0,0 +1,35 @@ +name: "Sizing: large" +slots: + title: "Large button" +props: + variant: dropdown + attributes: + class: + - m-1 + button_variant: secondary__lg + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + - {} + - title: "Separated link" + url: "#" +library_wrapper: > + {% set splits = [ + false, + true, + ] %} + + <div class="d-inline-flex"> + {% for split in splits %} + {% set size_props = {'#props': _story['#props']|merge({ + 'button_split': split, + })} %} + + {% set size_story = _story %} + {{ size_story|merge(size_props) }} + {% endfor %} + </div> diff --git a/components/dropdown/dropdown.sizing_small.story.yml b/components/dropdown/dropdown.sizing_small.story.yml new file mode 100644 index 00000000..0cb2aceb --- /dev/null +++ b/components/dropdown/dropdown.sizing_small.story.yml @@ -0,0 +1,35 @@ +name: "Sizing: small" +slots: + title: "Small button" +props: + variant: dropdown + attributes: + class: + - m-1 + button_variant: secondary__sm + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + - {} + - title: "Separated link" + url: "#" +library_wrapper: > + {% set splits = [ + false, + true, + ] %} + + <div class="d-inline-flex"> + {% for split in splits %} + {% set size_props = {'#props': _story['#props']|merge({ + 'button_split': split, + })} %} + + {% set size_story = _story %} + {{ size_story|merge(size_props) }} + {% endfor %} + </div> diff --git a/components/dropdown/dropdown.split_button.story.yml b/components/dropdown/dropdown.split_button.story.yml new file mode 100644 index 00000000..ff61da26 --- /dev/null +++ b/components/dropdown/dropdown.split_button.story.yml @@ -0,0 +1,42 @@ +name: "Split button" +props: + variant: dropdown + attributes: + class: + - m-1 + content: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - title: "Something else here" + url: "#" + - {} + - title: "Separated link" + url: "#" + button_split: true +library_wrapper: > + {% set examples = [ + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + + <div class="d-inline-flex"> + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'button_variant': example, + })} %} + {% set example_slots = {'#slots': _story['#slots']|merge({ + 'title': example|capitalize, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props)|merge(example_slots) }} + {% endfor %} + </div> diff --git a/components/dropdown/dropdown.twig b/components/dropdown/dropdown.twig index 3630a3c1..2f8ec12e 100644 --- a/components/dropdown/dropdown.twig +++ b/components/dropdown/dropdown.twig @@ -30,7 +30,14 @@ <{{ dropdown_tag }}{{ attributes.addClass(variant) }}> -{% if button_split %} +{% if button_split and variant == 'dropstart' %} + {{ include('ui_suite_bootstrap:button', { + label: 'Toggle dropdown'|t, + attributes: button_attributes.addClass('dropdown-toggle-split'), + variant: button_variant, + label_visually_hidden: true, + }, with_context = false) }} +{% elseif button_split %} {{ include('ui_suite_bootstrap:button', { label: title, attributes: { @@ -78,4 +85,15 @@ </ul> {% endif %} +{% if button_split and variant == 'dropstart' %} + {{ include('ui_suite_bootstrap:button', { + label: title, + attributes: { + id: dropdown_id, + }, + variant: button_variant, + url: button_url, + }, with_context = false) }} +{% endif %} + </{{ dropdown_tag }}> diff --git a/components/nav/nav.alignment_center.story.yml b/components/nav/nav.alignment_center.story.yml new file mode 100644 index 00000000..edc14545 --- /dev/null +++ b/components/nav/nav.alignment_center.story.yml @@ -0,0 +1,22 @@ +name: "Alignment: center" +props: + variant: default + nav_type: ul + attributes: + class: + - justify-content-center + items: + - url: "#" + title: Active + link_attributes: + class: + - active + - url: "#" + title: "Link" + - url: "#" + title: "Link" + - url: "#" + title: Disabled + link_attributes: + class: + - disabled diff --git a/components/nav/nav.alignment_end.story.yml b/components/nav/nav.alignment_end.story.yml new file mode 100644 index 00000000..816c0bf9 --- /dev/null +++ b/components/nav/nav.alignment_end.story.yml @@ -0,0 +1,22 @@ +name: "Alignment: right" +props: + variant: default + nav_type: ul + attributes: + class: + - justify-content-end + items: + - url: "#" + title: Active + link_attributes: + class: + - active + - url: "#" + title: "Link" + - url: "#" + title: "Link" + - url: "#" + title: Disabled + link_attributes: + class: + - disabled diff --git a/components/nav/nav.alignment_vertical.story.yml b/components/nav/nav.alignment_vertical.story.yml new file mode 100644 index 00000000..1bacdf9e --- /dev/null +++ b/components/nav/nav.alignment_vertical.story.yml @@ -0,0 +1,22 @@ +name: "Alignment: vertical" +props: + variant: default + nav_type: ul + attributes: + class: + - flex-column + items: + - url: "#" + title: Active + link_attributes: + class: + - active + - url: "#" + title: "Link" + - url: "#" + title: "Link" + - url: "#" + title: Disabled + link_attributes: + class: + - disabled diff --git a/components/nav/nav.custom_content.story.yml b/components/nav/nav.custom_content.story.yml new file mode 100644 index 00000000..af4690cb --- /dev/null +++ b/components/nav/nav.custom_content.story.yml @@ -0,0 +1,31 @@ +name: "Custom content" +props: + nav_type: ul + attributes: + class: + - mb-3 + items: + - title: Home + link_attributes: + class: + - active + - title: Profile + - title: Contact + - title: Disabled + link_attributes: + class: + - disabled +slots: + tab_content: + - type: html_tag + tag: p + value: "This is some placeholder content the <strong>Home tab's</strong> associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other <code>.nav</code>-powered navigation." + - type: html_tag + tag: p + value: "This is some placeholder content the <strong>Profile tab's</strong> associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other <code>.nav</code>-powered navigation." + - type: html_tag + tag: p + value: "This is some placeholder content the <strong>Contact tab's</strong> associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other <code>.nav</code>-powered navigation." + - type: html_tag + tag: p + value: "This is some placeholder content the <strong>Disabled tab's</strong> associated content." diff --git a/components/nav/nav.custom_content_vertical.story.yml b/components/nav/nav.custom_content_vertical.story.yml new file mode 100644 index 00000000..e432e3b1 --- /dev/null +++ b/components/nav/nav.custom_content_vertical.story.yml @@ -0,0 +1,42 @@ +name: "Custom content: vertical" +props: + nav_type: ul + variant: pills + attributes: + class: + - me-3 + - flex-column + aria-orientation: vertical + items: + - title: Home + link_attributes: + class: + - active + - title: Profile + - title: Disabled + link_attributes: + class: + - disabled + - title: Messages + - title: Settings +slots: + tab_content: + - type: html_tag + tag: p + value: "This is some placeholder content the <strong>Home tab's</strong> associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other <code>.nav</code>-powered navigation." + - type: html_tag + tag: p + value: "This is some placeholder content the <strong>Profile tab's</strong> associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other <code>.nav</code>-powered navigation." + - type: html_tag + tag: p + value: "This is some placeholder content the <strong>Disabled tab's</strong> associated content." + - type: html_tag + tag: p + value: "This is some placeholder content the <strong>Messages tab's</strong> associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other <code>.nav</code>-powered navigation." + - type: html_tag + tag: p + value: "This is some placeholder content the <strong>Settings tab's</strong> associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling. You can use it with tabs, pills, and any other <code>.nav</code>-powered navigation." +library_wrapper: > + <div class="d-flex align-items-start"> + {{ _story }} + </div> diff --git a/components/nav/nav.preview.story.yml b/components/nav/nav.preview.story.yml index 2867986e..99210d77 100644 --- a/components/nav/nav.preview.story.yml +++ b/components/nav/nav.preview.story.yml @@ -1,7 +1,6 @@ name: Preview props: nav_type: ul - card_header: false items: - url: "#" title: Active @@ -11,13 +10,8 @@ props: - title: Dropdown url: "#" below: - - title: "Dropdown header" - link_attributes: - class: - - dropdown-header - title: Action url: "#" - - title: "Dropdown item text" - title: "Another action" url: "#" - title: "Something else here" @@ -25,15 +19,6 @@ props: - {} - title: "Separated link" url: "#" - - title: "Action (button)" - link_attributes: - class: - - dropdown-item - - title: "Another action (button)" - link_attributes: - class: - - dropdown-item - - title: "Something else here (text)" - url: "#" title: "Much longer nav link" - url: "#" -- GitLab From 5a1da7943a5c5bbba1398bf9b157e77b3fb89781 Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Mon, 10 Mar 2025 18:04:38 +0100 Subject: [PATCH 10/15] Issue #3485834 by grimreaper: navbar --- .../navbar/navbar.brand_image.story.yml | 19 ++++++ .../navbar/navbar.brand_image_text.story.yml | 21 +++++++ components/navbar/navbar.brand_text.story.yml | 38 +++++++++++ components/navbar/navbar.color.story.yml | 63 +++++++++++++++++++ components/navbar/navbar.component.yml | 3 + components/navbar/navbar.dark.story.yml | 35 +++++++++-- components/navbar/navbar.default.story.yml | 47 ++++++++++++++ .../navbar/navbar.external_content.story.yml | 17 +++++ components/navbar/navbar.offcanvas.story.yml | 50 +++++++++++++++ .../navbar/navbar.offcanvas_dark.story.yml | 50 +++++++++++++++ ....story.yml => navbar.responsive.story.yml} | 36 ++++++++--- .../navbar.responsive_hidden_brand.story.yml | 38 +++++++++++ .../navbar.responsive_toggler_start.story.yml | 37 +++++++++++ components/navbar/navbar.scrolling.story.yml | 48 ++++++++++++++ components/navbar/navbar.text.story.yml | 15 +++++ .../navbar/navbar.text_collapsible.story.yml | 40 ++++++++++++ components/navbar/navbar.twig | 4 +- .../navbar_nav/navbar_nav.preview.story.yml | 19 ------ 18 files changed, 545 insertions(+), 35 deletions(-) create mode 100644 components/navbar/navbar.brand_image.story.yml create mode 100644 components/navbar/navbar.brand_image_text.story.yml create mode 100644 components/navbar/navbar.brand_text.story.yml create mode 100644 components/navbar/navbar.color.story.yml create mode 100644 components/navbar/navbar.default.story.yml create mode 100644 components/navbar/navbar.external_content.story.yml create mode 100644 components/navbar/navbar.offcanvas.story.yml create mode 100644 components/navbar/navbar.offcanvas_dark.story.yml rename components/navbar/{navbar.preview.story.yml => navbar.responsive.story.yml} (83%) create mode 100644 components/navbar/navbar.responsive_hidden_brand.story.yml create mode 100644 components/navbar/navbar.responsive_toggler_start.story.yml create mode 100644 components/navbar/navbar.scrolling.story.yml create mode 100644 components/navbar/navbar.text.story.yml create mode 100644 components/navbar/navbar.text_collapsible.story.yml delete mode 100644 components/navbar_nav/navbar_nav.preview.story.yml diff --git a/components/navbar/navbar.brand_image.story.yml b/components/navbar/navbar.brand_image.story.yml new file mode 100644 index 00000000..3fd9dc78 --- /dev/null +++ b/components/navbar/navbar.brand_image.story.yml @@ -0,0 +1,19 @@ +name: "Brand: image" +slots: + brand: + - type: html_tag + tag: a + attributes: + href: "#" + 0: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNDA4Ij48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImJzLWxvZ28tYSIgeDE9Ijc2LjA3OSIgeDI9IjUyMy40OCIgeTE9IjEwLjc5OCIgeTI9IjM2NS45NDUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjOTAxM2ZlIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNjYxMGYyIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImJzLWxvZ28tYiIgeDE9IjE5My41MDgiIHgyPSIyOTMuNTE0IiB5MT0iMTA5Ljc0IiB5Mj0iMjc4Ljg3MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmMWU1ZmMiLz48L2xpbmVhckdyYWRpZW50PjxmaWx0ZXIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBpZD0iYnMtbG9nby1jIiB3aWR0aD0iMTk3IiBoZWlnaHQ9IjI0OSIgeD0iMTYxLjkwMSIgeT0iODMuNDU3IiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz48ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiLz48ZmVPZmZzZXQgZHk9IjQiLz48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI4Ii8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwLjE1IDAiLz48ZmVCbGVuZCBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3ciLz48ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz48L2ZpbHRlcj48L2RlZnM+PHBhdGggZmlsbD0idXJsKCNicy1sb2dvLWEpIiBkPSJNNTYuNDgxIDUzLjMyQzU1LjUxNSAyNS41OCA3Ny4xMjggMCAxMDYuMzQyIDBoMjk5LjM1M2MyOS4yMTQgMCA1MC44MjcgMjUuNTggNDkuODYxIDUzLjMyLS45MjggMjYuNjQ3LjI3NyA2MS4xNjUgOC45NjQgODkuMzEgOC43MTUgMjguMjMyIDIzLjQxMSA0Ni4wNzcgNDcuNDggNDguMzd2MjZjLTI0LjA2OSAyLjI5My0zOC43NjUgMjAuMTM4LTQ3LjQ4IDQ4LjM3LTguNjg3IDI4LjE0NS05Ljg5MiA2Mi42NjMtOC45NjQgODkuMzExLjk2NiAyNy43MzktMjAuNjQ3IDUzLjMxOS00OS44NjEgNTMuMzE5SDEwNi4zNDJjLTI5LjIxNCAwLTUwLjgyNy0yNS41OC00OS44Ni01My4zMTkuOTI3LTI2LjY0OC0uMjc4LTYxLjE2Ni04Ljk2Ni04OS4zMTFDMzguODAyIDIzNy4xMzggMjQuMDcgMjE5LjI5MyAwIDIxN3YtMjZjMjQuMDY5LTIuMjkzIDM4LjgwMi0yMC4xMzggNDcuNTE2LTQ4LjM3IDguNjg4LTI4LjE0NSA5Ljg5My02Mi42NjMgOC45NjUtODkuMzF6Ii8+PHBhdGggZmlsbD0idXJsKCNicy1sb2dvLWIpIiBmaWx0ZXI9InVybCgjYnMtbG9nby1jKSIgc3Ryb2tlPSIjZmZmIiBkPSJNMjY3LjEwMyAzMTIuNDU3YzQ3LjI5NyAwIDc1Ljc5OC0yMy4xNTggNzUuNzk4LTYxLjM1NSAwLTI4Ljg3My0yMC4zMzYtNDkuNzc2LTUwLjUzMi01My4wODV2LTEuMjAzYzIyLjE4NS0zLjYwOSAzOS41OTQtMjQuMjExIDM5LjU5NC00Ny4yMTkgMC0zMi43ODMtMjUuODgyLTU0LjEzOC02NS4zMjItNTQuMTM4aC04OC43NHYyMTdoODkuMjAyem0tNTQuNjkyLTE4OS40OGg0NS45MTFjMjQuOTU4IDAgMzkuMTMxIDExLjEyOCAzOS4xMzEgMzEuMjc5IDAgMjEuNTA1LTE2LjQ4NCAzMy41MzUtNDYuMzcyIDMzLjUzNWgtMzguNjd2LTY0LjgxNHptMCAxNjEuOTYxdi03MS40MzFoNDUuNjAyYzMyLjY2MSAwIDQ5LjYwOCAxMi4wMyA0OS42MDggMzUuNDkgMCAyMy40NTktMTYuNDg0IDM1Ljk0MS00Ny42MDUgMzUuOTQxaC00Ny42MDV6Ii8+PC9zdmc+Cg==" + attributes: + width: 30px + height: 24px +props: + attributes: + class: + - bg-body-tertiary + variant: default + toggler_position: none diff --git a/components/navbar/navbar.brand_image_text.story.yml b/components/navbar/navbar.brand_image_text.story.yml new file mode 100644 index 00000000..152e2e3f --- /dev/null +++ b/components/navbar/navbar.brand_image_text.story.yml @@ -0,0 +1,21 @@ +name: "Brand: image and text" +slots: + brand: + - type: html_tag + tag: a + attributes: + href: "#" + 0: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNDA4Ij48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImJzLWxvZ28tYSIgeDE9Ijc2LjA3OSIgeDI9IjUyMy40OCIgeTE9IjEwLjc5OCIgeTI9IjM2NS45NDUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjOTAxM2ZlIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNjYxMGYyIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImJzLWxvZ28tYiIgeDE9IjE5My41MDgiIHgyPSIyOTMuNTE0IiB5MT0iMTA5Ljc0IiB5Mj0iMjc4Ljg3MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmMWU1ZmMiLz48L2xpbmVhckdyYWRpZW50PjxmaWx0ZXIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBpZD0iYnMtbG9nby1jIiB3aWR0aD0iMTk3IiBoZWlnaHQ9IjI0OSIgeD0iMTYxLjkwMSIgeT0iODMuNDU3IiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz48ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiLz48ZmVPZmZzZXQgZHk9IjQiLz48ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI4Ii8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwLjE1IDAiLz48ZmVCbGVuZCBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3ciLz48ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz48L2ZpbHRlcj48L2RlZnM+PHBhdGggZmlsbD0idXJsKCNicy1sb2dvLWEpIiBkPSJNNTYuNDgxIDUzLjMyQzU1LjUxNSAyNS41OCA3Ny4xMjggMCAxMDYuMzQyIDBoMjk5LjM1M2MyOS4yMTQgMCA1MC44MjcgMjUuNTggNDkuODYxIDUzLjMyLS45MjggMjYuNjQ3LjI3NyA2MS4xNjUgOC45NjQgODkuMzEgOC43MTUgMjguMjMyIDIzLjQxMSA0Ni4wNzcgNDcuNDggNDguMzd2MjZjLTI0LjA2OSAyLjI5My0zOC43NjUgMjAuMTM4LTQ3LjQ4IDQ4LjM3LTguNjg3IDI4LjE0NS05Ljg5MiA2Mi42NjMtOC45NjQgODkuMzExLjk2NiAyNy43MzktMjAuNjQ3IDUzLjMxOS00OS44NjEgNTMuMzE5SDEwNi4zNDJjLTI5LjIxNCAwLTUwLjgyNy0yNS41OC00OS44Ni01My4zMTkuOTI3LTI2LjY0OC0uMjc4LTYxLjE2Ni04Ljk2Ni04OS4zMTFDMzguODAyIDIzNy4xMzggMjQuMDcgMjE5LjI5MyAwIDIxN3YtMjZjMjQuMDY5LTIuMjkzIDM4LjgwMi0yMC4xMzggNDcuNTE2LTQ4LjM3IDguNjg4LTI4LjE0NSA5Ljg5My02Mi42NjMgOC45NjUtODkuMzF6Ii8+PHBhdGggZmlsbD0idXJsKCNicy1sb2dvLWIpIiBmaWx0ZXI9InVybCgjYnMtbG9nby1jKSIgc3Ryb2tlPSIjZmZmIiBkPSJNMjY3LjEwMyAzMTIuNDU3YzQ3LjI5NyAwIDc1Ljc5OC0yMy4xNTggNzUuNzk4LTYxLjM1NSAwLTI4Ljg3My0yMC4zMzYtNDkuNzc2LTUwLjUzMi01My4wODV2LTEuMjAzYzIyLjE4NS0zLjYwOSAzOS41OTQtMjQuMjExIDM5LjU5NC00Ny4yMTkgMC0zMi43ODMtMjUuODgyLTU0LjEzOC02NS4zMjItNTQuMTM4aC04OC43NHYyMTdoODkuMjAyem0tNTQuNjkyLTE4OS40OGg0NS45MTFjMjQuOTU4IDAgMzkuMTMxIDExLjEyOCAzOS4xMzEgMzEuMjc5IDAgMjEuNTA1LTE2LjQ4NCAzMy41MzUtNDYuMzcyIDMzLjUzNWgtMzguNjd2LTY0LjgxNHptMCAxNjEuOTYxdi03MS40MzFoNDUuNjAyYzMyLjY2MSAwIDQ5LjYwOCAxMi4wMyA0OS42MDggMzUuNDkgMCAyMy40NTktMTYuNDg0IDM1Ljk0MS00Ny42MDUgMzUuOTQxaC00Ny42MDV6Ii8+PC9zdmc+Cg==" + attributes: + width: 30px + height: 24px + 1: + markup: Bootstrap +props: + attributes: + class: + - bg-body-tertiary + variant: default + toggler_position: none diff --git a/components/navbar/navbar.brand_text.story.yml b/components/navbar/navbar.brand_text.story.yml new file mode 100644 index 00000000..e4969ee0 --- /dev/null +++ b/components/navbar/navbar.brand_text.story.yml @@ -0,0 +1,38 @@ +name: "Brand: text" +props: + attributes: + class: + - bg-body-tertiary + - mb-3 + variant: default + toggler_position: none +library_wrapper: > + {% set examples = [ + { + type: "html_tag", + tag: "a", + attributes: { + href: "#", + }, + value: "As a link", + }, + { + type: "html_tag", + tag: "span", + attributes: { + class: [ + 'mb-0', + 'h1', + ], + }, + value: "As a heading", + }, + ] %} + {% for example in examples %} + {% set example_slots = {'#slots': _story['#slots']|merge({ + 'brand': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_slots) }} + {% endfor %} diff --git a/components/navbar/navbar.color.story.yml b/components/navbar/navbar.color.story.yml new file mode 100644 index 00000000..455102a2 --- /dev/null +++ b/components/navbar/navbar.color.story.yml @@ -0,0 +1,63 @@ +name: "Color schemes" +slots: + brand: + - type: html_tag + tag: a + attributes: + href: "#" + value: "Navbar" + navigation_collapsible: + - type: component + component: "ui_suite_bootstrap:navbar_nav" + props: + variant: default + attributes: + class: + - me-auto + - mb-2 + - mb-lg-0 + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Features + url: "#" + - title: Pricing + url: "#" + - title: About + url: "#" +props: + variant: expand_lg + toggler_position: end +library_wrapper: > + {% set colors = [ + { + class: [ + 'bg-dark', + 'border-bottom', + 'border-body', + 'mb-3', + ], + 'data-bs-theme': 'dark', + }, + { + class: [ + 'bg-primary', + 'mb-3', + ], + 'data-bs-theme': 'dark', + }, + { + class: [ + 'mb-3', + ], + 'style': 'background-color: #e3f2fd;', + }, + ] %} + {% for color in colors %} + {% set color_props = {'#props': _story['#props']|merge({'attributes': create_attribute(color)})} %} + {% set color_story = _story %} + {{ color_story|merge(color_props) }} + {% endfor %} diff --git a/components/navbar/navbar.component.yml b/components/navbar/navbar.component.yml index 9bb620d3..43bf8e86 100644 --- a/components/navbar/navbar.component.yml +++ b/components/navbar/navbar.component.yml @@ -48,6 +48,7 @@ props: description: "Must start with a letter. Randomly generated if empty." $ref: "ui-patterns://identifier" placement: + # @todo deprecate now that it is possible to control the component attributes and the link with styles is done? title: Placement type: string enum: @@ -69,9 +70,11 @@ props: enum: - start - end + - none "meta:enum": start: Start end: End + none: None toggle_action: title: "Toggle action" description: "Transform your expanding and collapsing navbar into an offcanvas drawer with the offcanvas plugin." diff --git a/components/navbar/navbar.dark.story.yml b/components/navbar/navbar.dark.story.yml index 50ad1f43..1cda835e 100644 --- a/components/navbar/navbar.dark.story.yml +++ b/components/navbar/navbar.dark.story.yml @@ -21,17 +21,40 @@ slots: navigation_collapsible: type: component component: "ui_suite_bootstrap:navbar_nav" - story: preview props: variant: default - offcanvas_label: Offcanvas + attributes: + class: + - me-auto + - mb-2 + - mb-lg-0 + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Link + url: "#" + - title: Dropdown + url: "#" + below: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - {} + - title: "Something else here" + url: "#" + - title: Disabled + url: "#" + link_attributes: + class: + - disabled props: attributes: class: - bg-dark data-bs-theme: dark - variant: default - placement: default + variant: expand_lg toggler_position: end - toggle_action: collapse - offcanvas_position: end diff --git a/components/navbar/navbar.default.story.yml b/components/navbar/navbar.default.story.yml new file mode 100644 index 00000000..fb9348dd --- /dev/null +++ b/components/navbar/navbar.default.story.yml @@ -0,0 +1,47 @@ +name: Default +slots: + brand: + - type: html_tag + tag: a + attributes: + href: "#" + value: Navbar + navigation_collapsible: + - type: component + component: "ui_suite_bootstrap:navbar_nav" + props: + variant: default + attributes: + class: + - me-auto + - mb-2 + - mb-lg-0 + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Link + url: "#" + - title: Dropdown + url: "#" + below: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - {} + - title: "Something else here" + url: "#" + - title: Disabled + url: "#" + link_attributes: + class: + - disabled +props: + attributes: + class: + - bg-body-tertiary + variant: expand_lg + toggler_position: end diff --git a/components/navbar/navbar.external_content.story.yml b/components/navbar/navbar.external_content.story.yml new file mode 100644 index 00000000..484443c2 --- /dev/null +++ b/components/navbar/navbar.external_content.story.yml @@ -0,0 +1,17 @@ +name: "External content" +slots: +props: + variant: dark + attributes: + class: + - bg-dark + toggler_position: start + navbar_id: "navbarToggleExternalContent" +library_wrapper: > + <div class="collapse" id="navbarToggleExternalContent" data-bs-theme="dark"> + <div class="bg-dark p-4"> + <h5 class="text-body-emphasis h4">Collapsed content</h5> + <span class="text-body-secondary">Toggleable via the navbar brand.</span> + </div> + </div> + {{ _story }} diff --git a/components/navbar/navbar.offcanvas.story.yml b/components/navbar/navbar.offcanvas.story.yml new file mode 100644 index 00000000..dbb7066c --- /dev/null +++ b/components/navbar/navbar.offcanvas.story.yml @@ -0,0 +1,50 @@ +name: Offcanvas +slots: + brand: + - type: html_tag + tag: a + attributes: + href: "#" + value: "Offcanvas navbar" + navigation_collapsible: + - type: component + component: "ui_suite_bootstrap:navbar_nav" + props: + variant: default + attributes: + class: + - justify-content-end + - flex-grow-1 + - pe-3 + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Link + url: "#" + - title: Dropdown + url: "#" + below: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - {} + - title: "Something else here" + url: "#" + - title: Disabled + url: "#" + link_attributes: + class: + - disabled + offcanvas_label: "Offcanvas" +props: + attributes: + class: + - bg-body-tertiary + variant: default + toggler_position: end + toggle_action: offcanvas + offcanvas_position: end diff --git a/components/navbar/navbar.offcanvas_dark.story.yml b/components/navbar/navbar.offcanvas_dark.story.yml new file mode 100644 index 00000000..c7fe95a3 --- /dev/null +++ b/components/navbar/navbar.offcanvas_dark.story.yml @@ -0,0 +1,50 @@ +name: "Offcanvas dark" +slots: + brand: + - type: html_tag + tag: a + attributes: + href: "#" + value: "Offcanvas dark navbar" + navigation_collapsible: + - type: component + component: "ui_suite_bootstrap:navbar_nav" + props: + variant: default + attributes: + class: + - justify-content-end + - flex-grow-1 + - pe-3 + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Link + url: "#" + - title: Dropdown + url: "#" + below: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - {} + - title: "Something else here" + url: "#" + - title: Disabled + url: "#" + link_attributes: + class: + - disabled + offcanvas_label: "Dark offcanvas" +props: + attributes: + class: + - bg-dark + variant: dark + toggler_position: end + toggle_action: offcanvas + offcanvas_position: end diff --git a/components/navbar/navbar.preview.story.yml b/components/navbar/navbar.responsive.story.yml similarity index 83% rename from components/navbar/navbar.preview.story.yml rename to components/navbar/navbar.responsive.story.yml index 6bfd9a91..ac7f1e6e 100644 --- a/components/navbar/navbar.preview.story.yml +++ b/components/navbar/navbar.responsive.story.yml @@ -1,4 +1,4 @@ -name: Preview +name: "Responsive behaviors" slots: brand: - theme: image @@ -21,16 +21,36 @@ slots: navigation_collapsible: type: component component: "ui_suite_bootstrap:navbar_nav" - story: preview props: variant: default - offcanvas_label: Offcanvas + attributes: + class: + - me-auto + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Link + url: "#" + - title: Dropdown + url: "#" + below: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - {} + - title: "Something else here" + url: "#" + - title: Disabled + url: "#" + link_attributes: + class: + - disabled props: attributes: class: - - bg-light - variant: default - placement: default + - bg-body-tertiary toggler_position: end - toggle_action: collapse - offcanvas_position: end diff --git a/components/navbar/navbar.responsive_hidden_brand.story.yml b/components/navbar/navbar.responsive_hidden_brand.story.yml new file mode 100644 index 00000000..1a9386fe --- /dev/null +++ b/components/navbar/navbar.responsive_hidden_brand.story.yml @@ -0,0 +1,38 @@ +name: "Responsive behaviors: hidden brand" +slots: + navigation_collapsible: + - type: html_tag + tag: a + attributes: + href: "#" + class: + - navbar-brand + value: "Hidden brand" + - type: component + component: "ui_suite_bootstrap:navbar_nav" + props: + variant: default + attributes: + class: + - me-auto + - mb-2 + - mb-lg-0 + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Link + url: "#" + - title: Disabled + url: "#" + link_attributes: + class: + - disabled +props: + variant: expand_lg + attributes: + class: + - bg-body-tertiary + toggler_position: end diff --git a/components/navbar/navbar.responsive_toggler_start.story.yml b/components/navbar/navbar.responsive_toggler_start.story.yml new file mode 100644 index 00000000..4f46976a --- /dev/null +++ b/components/navbar/navbar.responsive_toggler_start.story.yml @@ -0,0 +1,37 @@ +name: "Responsive behaviors: toggler start" +slots: + brand: + - type: html_tag + tag: a + attributes: + href: "#" + value: "Navbar" + navigation_collapsible: + - type: component + component: "ui_suite_bootstrap:navbar_nav" + props: + variant: default + attributes: + class: + - me-auto + - mb-2 + - mb-lg-0 + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Link + url: "#" + - title: Disabled + url: "#" + link_attributes: + class: + - disabled +props: + variant: expand_lg + attributes: + class: + - bg-body-tertiary + toggler_position: start diff --git a/components/navbar/navbar.scrolling.story.yml b/components/navbar/navbar.scrolling.story.yml new file mode 100644 index 00000000..8f6276b0 --- /dev/null +++ b/components/navbar/navbar.scrolling.story.yml @@ -0,0 +1,48 @@ +name: Scrolling +slots: + brand: + - type: html_tag + tag: a + attributes: + href: "#" + value: "Navbar scroll" + navigation_collapsible: + - type: component + component: "ui_suite_bootstrap:navbar_nav" + props: + variant: scroll + attributes: + style: "--bs-scroll-height: 100px;" + class: + - me-auto + - mb-2 + - mb-lg-0 + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Link + url: "#" + - title: Dropdown + url: "#" + below: + - title: "Action" + url: "#" + - title: "Another action" + url: "#" + - {} + - title: "Something else here" + url: "#" + - title: Disabled + url: "#" + link_attributes: + class: + - disabled +props: + attributes: + class: + - bg-body-tertiary + variant: expand_lg + toggler_position: end diff --git a/components/navbar/navbar.text.story.yml b/components/navbar/navbar.text.story.yml new file mode 100644 index 00000000..8fa6e31e --- /dev/null +++ b/components/navbar/navbar.text.story.yml @@ -0,0 +1,15 @@ +name: Text +slots: + navigation: + type: html_tag + tag: span + attributes: + class: + - navbar-text + value: "Navbar text with an inline element" +props: + attributes: + class: + - bg-body-tertiary + variant: default + toggler_position: none diff --git a/components/navbar/navbar.text_collapsible.story.yml b/components/navbar/navbar.text_collapsible.story.yml new file mode 100644 index 00000000..a862d1f4 --- /dev/null +++ b/components/navbar/navbar.text_collapsible.story.yml @@ -0,0 +1,40 @@ +name: "Text: collapsible" +slots: + brand: + - type: html_tag + tag: a + attributes: + href: "#" + value: "Navbar w/ text" + navigation_collapsible: + - type: component + component: "ui_suite_bootstrap:navbar_nav" + props: + variant: default + attributes: + class: + - me-auto + - mb-2 + - mb-lg-0 + items: + - title: Home + url: "#" + link_attributes: + class: + - active + - title: Features + url: "#" + - title: Pricing + url: "#" + - type: html_tag + tag: span + attributes: + class: + - navbar-text + value: "Navbar text with an inline element" +props: + attributes: + class: + - bg-body-tertiary + variant: expand_lg + toggler_position: end diff --git a/components/navbar/navbar.twig b/components/navbar/navbar.twig index d16f711e..2ae9c0ec 100644 --- a/components/navbar/navbar.twig +++ b/components/navbar/navbar.twig @@ -27,12 +27,12 @@ <nav{{ attributes }}> <div class="container-fluid"> - {% if navigation_collapsible and toggler_position == 'start' %} + {% if toggler_position == 'start' %} {{ toggler }} {% endif %} {{ brand|add_class('navbar-brand') }} {{ navigation }} - {% if navigation_collapsible and toggler_position == 'end' %} + {% if toggler_position == 'end' %} {{ toggler }} {% endif %} diff --git a/components/navbar_nav/navbar_nav.preview.story.yml b/components/navbar_nav/navbar_nav.preview.story.yml deleted file mode 100644 index 61f67487..00000000 --- a/components/navbar_nav/navbar_nav.preview.story.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Preview -props: - items: - - title: Home - url: "https://example.com" - - title: Library - url: "https://example.com" - below: - - title: "Dropdown header" - link_attributes: - class: - - dropdown-header - - title: "Sub 1" - url: "https://example.com" - - {} - - title: "Sub 2 after divider" - url: "https://example.com" - - title: "Dropdown text" - - title: Data -- GitLab From abf45a30b316eeec4e4665df1bba40775cca4990 Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Wed, 12 Mar 2025 09:23:17 +0100 Subject: [PATCH 11/15] Issue #3485834 by grimreaper: Place stories in subfolder. --- .../accordion/{ => stories}/accordion.always_open.story.yml | 0 components/accordion/{ => stories}/accordion.default.story.yml | 0 components/alert/{ => stories}/alert.complete.story.yml | 0 components/alert/{ => stories}/alert.default.story.yml | 0 components/alert/{ => stories}/alert.dismissing.story.yml | 0 components/alert/{ => stories}/alert.icon.story.yml | 0 components/alert/{ => stories}/alert.link.story.yml | 0 components/badge/{ => stories}/badge.background.story.yml | 0 components/badge/{ => stories}/badge.button.story.yml | 0 components/badge/{ => stories}/badge.button_positioned.story.yml | 0 .../badge/{ => stories}/badge.button_positioned_generic.story.yml | 0 components/badge/{ => stories}/badge.headings.story.yml | 0 components/badge/{ => stories}/badge.pill.story.yml | 0 components/blockquote/{ => stories}/blockquote.default.story.yml | 0 .../blockquote/{ => stories}/blockquote.source_center.story.yml | 0 .../blockquote/{ => stories}/blockquote.source_end.story.yml | 0 .../blockquote/{ => stories}/blockquote.source_start.story.yml | 0 components/breadcrumb/{ => stories}/breadcrumb.1_item.story.yml | 0 components/breadcrumb/{ => stories}/breadcrumb.2_items.story.yml | 0 components/breadcrumb/{ => stories}/breadcrumb.3_items.story.yml | 0 components/button/{ => stories}/button.default.story.yml | 0 components/button/{ => stories}/button.disabled.story.yml | 0 components/button/{ => stories}/button.disabled_link.story.yml | 0 components/button/{ => stories}/button.tags.story.yml | 0 .../button_group/{ => stories}/button_group.default.story.yml | 0 components/button_group/{ => stories}/button_group.link.story.yml | 0 .../button_group/{ => stories}/button_group.mixed.story.yml | 0 .../button_group/{ => stories}/button_group.nesting.story.yml | 0 .../button_group/{ => stories}/button_group.outlined.story.yml | 0 .../button_toolbar/{ => stories}/button_toolbar.default.story.yml | 0 components/card/{ => stories}/card.basic.story.yml | 0 components/card/{ => stories}/card.content_types_body.story.yml | 0 components/card/{ => stories}/card.content_types_header.story.yml | 0 .../card/{ => stories}/card.content_types_header_footer.story.yml | 0 .../card/{ => stories}/card.content_types_header_quote.story.yml | 0 .../card/{ => stories}/card.content_types_header_title.story.yml | 0 components/card/{ => stories}/card.content_types_images.story.yml | 0 .../card/{ => stories}/card.content_types_kitchen.story.yml | 0 .../card/{ => stories}/card.content_types_list_groups.story.yml | 0 .../{ => stories}/card.content_types_list_groups_footer.story.yml | 0 .../{ => stories}/card.content_types_list_groups_header.story.yml | 0 .../{ => stories}/card.content_types_titles_text_links.story.yml | 0 components/card/{ => stories}/card.horizontal.story.yml | 0 components/card/{ => stories}/card.navigation_pills.story.yml | 0 components/card/{ => stories}/card.navigation_tabs.story.yml | 0 components/card/{ => stories}/card.styles_background.story.yml | 0 components/card/{ => stories}/card.styles_border.story.yml | 0 components/card/{ => stories}/card.styles_mixins.story.yml | 0 components/card/{ => stories}/card.text_alignment.story.yml | 0 components/card_group/{ => stories}/card_group.preview.story.yml | 0 .../card_overlay/{ => stories}/card_overlay.preview.story.yml | 0 components/carousel/{ => stories}/carousel.autoplay.story.yml | 0 .../{ => stories}/carousel.autoplay_individual_interval.story.yml | 0 .../{ => stories}/carousel.autoplay_no_controls.story.yml | 0 components/carousel/{ => stories}/carousel.captions.story.yml | 0 components/carousel/{ => stories}/carousel.default.story.yml | 0 components/carousel/{ => stories}/carousel.indicators.story.yml | 0 components/carousel/{ => stories}/carousel.no_touch.story.yml | 0 components/close_button/{ => stories}/close_button.dark.story.yml | 0 .../close_button/{ => stories}/close_button.light.story.yml | 0 .../close_button/{ => stories}/close_button.white.story.yml | 0 components/dropdown/{ => stories}/dropdown.auto_close.story.yml | 0 components/dropdown/{ => stories}/dropdown.color.story.yml | 0 components/dropdown/{ => stories}/dropdown.dark.story.yml | 0 components/dropdown/{ => stories}/dropdown.directions.story.yml | 0 .../{ => stories}/dropdown.menu_content_divider.story.yml | 0 .../dropdown/{ => stories}/dropdown.menu_content_header.story.yml | 0 .../dropdown/{ => stories}/dropdown.menu_content_text.story.yml | 0 .../dropdown/{ => stories}/dropdown.menu_items_active.story.yml | 0 .../dropdown/{ => stories}/dropdown.menu_items_disabled.story.yml | 0 .../dropdown/{ => stories}/dropdown.menu_items_text.story.yml | 0 .../dropdown/{ => stories}/dropdown.options_offset.story.yml | 0 .../{ => stories}/dropdown.responsive_alignment.story.yml | 0 .../{ => stories}/dropdown.single_button_button.story.yml | 0 .../dropdown/{ => stories}/dropdown.single_button_link.story.yml | 0 components/dropdown/{ => stories}/dropdown.sizing_large.story.yml | 0 components/dropdown/{ => stories}/dropdown.sizing_small.story.yml | 0 components/dropdown/{ => stories}/dropdown.split_button.story.yml | 0 components/figure/{ => stories}/figure.alignment.story.yml | 0 components/figure/{ => stories}/figure.default.story.yml | 0 components/grid_row/{ => stories}/grid_row.preview.story.yml | 0 components/grid_row_1/{ => stories}/grid_row_1.preview.story.yml | 0 components/grid_row_2/{ => stories}/grid_row_2.preview.story.yml | 0 components/grid_row_3/{ => stories}/grid_row_3.preview.story.yml | 0 components/grid_row_4/{ => stories}/grid_row_4.preview.story.yml | 0 components/list/{ => stories}/list.default_ol.story.yml | 0 components/list/{ => stories}/list.default_ul.story.yml | 0 components/list/{ => stories}/list.inline.story.yml | 0 components/list/{ => stories}/list.unstyled.story.yml | 0 components/list_group/{ => stories}/list_group.badge.story.yml | 0 components/list_group/{ => stories}/list_group.color.story.yml | 0 .../list_group/{ => stories}/list_group.color_link.story.yml | 0 .../{ => stories}/list_group.color_link_active.story.yml | 0 .../{ => stories}/list_group.color_link_disabled.story.yml | 0 .../{ => stories}/list_group.custom_content_1.story.yml | 0 .../{ => stories}/list_group.custom_content_2.story.yml | 0 components/list_group/{ => stories}/list_group.default.story.yml | 0 components/list_group/{ => stories}/list_group.links.story.yml | 0 components/list_group/{ => stories}/list_group.state.story.yml | 0 components/modal/{ => stories}/modal.default.story.yml | 0 components/modal/{ => stories}/modal.fullscreen.story.yml | 0 .../modal/{ => stories}/modal.long_content_default.story.yml | 0 .../modal/{ => stories}/modal.long_content_scrollable.story.yml | 0 components/modal/{ => stories}/modal.sizes.story.yml | 0 components/modal/{ => stories}/modal.static_backdrop.story.yml | 0 components/modal/{ => stories}/modal.vertical_centered.story.yml | 0 .../{ => stories}/modal.vertical_centered_scrollable.story.yml | 0 components/nav/{ => stories}/nav.alignment_center.story.yml | 0 components/nav/{ => stories}/nav.alignment_end.story.yml | 0 components/nav/{ => stories}/nav.alignment_vertical.story.yml | 0 components/nav/{ => stories}/nav.custom_content.story.yml | 0 .../nav/{ => stories}/nav.custom_content_vertical.story.yml | 0 components/nav/{ => stories}/nav.preview.story.yml | 0 components/navbar/{ => stories}/navbar.brand_image.story.yml | 0 components/navbar/{ => stories}/navbar.brand_image_text.story.yml | 0 components/navbar/{ => stories}/navbar.brand_text.story.yml | 0 components/navbar/{ => stories}/navbar.color.story.yml | 0 components/navbar/{ => stories}/navbar.dark.story.yml | 0 components/navbar/{ => stories}/navbar.default.story.yml | 0 components/navbar/{ => stories}/navbar.external_content.story.yml | 0 components/navbar/{ => stories}/navbar.offcanvas.story.yml | 0 components/navbar/{ => stories}/navbar.offcanvas_dark.story.yml | 0 components/navbar/{ => stories}/navbar.responsive.story.yml | 0 .../navbar/{ => stories}/navbar.responsive_hidden_brand.story.yml | 0 .../{ => stories}/navbar.responsive_toggler_start.story.yml | 0 components/navbar/{ => stories}/navbar.scrolling.story.yml | 0 components/navbar/{ => stories}/navbar.text.story.yml | 0 components/navbar/{ => stories}/navbar.text_collapsible.story.yml | 0 .../offcanvas/{ => stories}/offcanvas.body_scrolling.story.yml | 0 .../{ => stories}/offcanvas.body_scrolling_backdrop.story.yml | 0 components/offcanvas/{ => stories}/offcanvas.dark.story.yml | 0 components/offcanvas/{ => stories}/offcanvas.default.story.yml | 0 components/offcanvas/{ => stories}/offcanvas.placement.story.yml | 0 components/offcanvas/{ => stories}/offcanvas.responsive.story.yml | 0 .../offcanvas/{ => stories}/offcanvas.static_backdrop.story.yml | 0 .../{ => stories}/pagination.alignment_center.story.yml | 0 .../pagination/{ => stories}/pagination.alignment_end.story.yml | 0 components/pagination/{ => stories}/pagination.default.story.yml | 0 .../pagination/{ => stories}/pagination.sizing_large.story.yml | 0 .../pagination/{ => stories}/pagination.sizing_small.story.yml | 0 components/pagination/{ => stories}/pagination.states.story.yml | 0 components/progress/{ => stories}/progress.background.story.yml | 0 .../{ => stories}/progress.background_with_label.story.yml | 0 components/progress/{ => stories}/progress.default.story.yml | 0 components/progress/{ => stories}/progress.height_1.story.yml | 0 components/progress/{ => stories}/progress.height_20.story.yml | 0 components/progress/{ => stories}/progress.label.story.yml | 0 components/progress/{ => stories}/progress.label_long.story.yml | 0 .../{ => stories}/progress_stacked.default.story.yml | 0 components/spinner/{ => stories}/spinner.buttons.story.yml | 0 components/spinner/{ => stories}/spinner.color.story.yml | 0 components/spinner/{ => stories}/spinner.default.story.yml | 0 components/spinner/{ => stories}/spinner.margin.story.yml | 0 components/spinner/{ => stories}/spinner.placement_flex.story.yml | 0 .../spinner/{ => stories}/spinner.placement_flex_2.story.yml | 0 .../spinner/{ => stories}/spinner.placement_float.story.yml | 0 components/spinner/{ => stories}/spinner.placement_text.story.yml | 0 components/table/{ => stories}/table.preview.story.yml | 0 components/table_cell/{ => stories}/table_cell.preview.story.yml | 0 components/table_row/{ => stories}/table_row.preview.story.yml | 0 components/toast/{ => stories}/toast.basic.story.yml | 0 components/toast/{ => stories}/toast.color.story.yml | 0 components/toast/{ => stories}/toast.custom_content.story.yml | 0 .../toast/{ => stories}/toast.custom_content_control.story.yml | 0 components/toast/{ => stories}/toast.translucent.story.yml | 0 .../{ => stories}/toast_container.preview.story.yml | 0 166 files changed, 0 insertions(+), 0 deletions(-) rename components/accordion/{ => stories}/accordion.always_open.story.yml (100%) rename components/accordion/{ => stories}/accordion.default.story.yml (100%) rename components/alert/{ => stories}/alert.complete.story.yml (100%) rename components/alert/{ => stories}/alert.default.story.yml (100%) rename components/alert/{ => stories}/alert.dismissing.story.yml (100%) rename components/alert/{ => stories}/alert.icon.story.yml (100%) rename components/alert/{ => stories}/alert.link.story.yml (100%) rename components/badge/{ => stories}/badge.background.story.yml (100%) rename components/badge/{ => stories}/badge.button.story.yml (100%) rename components/badge/{ => stories}/badge.button_positioned.story.yml (100%) rename components/badge/{ => stories}/badge.button_positioned_generic.story.yml (100%) rename components/badge/{ => stories}/badge.headings.story.yml (100%) rename components/badge/{ => stories}/badge.pill.story.yml (100%) rename components/blockquote/{ => stories}/blockquote.default.story.yml (100%) rename components/blockquote/{ => stories}/blockquote.source_center.story.yml (100%) rename components/blockquote/{ => stories}/blockquote.source_end.story.yml (100%) rename components/blockquote/{ => stories}/blockquote.source_start.story.yml (100%) rename components/breadcrumb/{ => stories}/breadcrumb.1_item.story.yml (100%) rename components/breadcrumb/{ => stories}/breadcrumb.2_items.story.yml (100%) rename components/breadcrumb/{ => stories}/breadcrumb.3_items.story.yml (100%) rename components/button/{ => stories}/button.default.story.yml (100%) rename components/button/{ => stories}/button.disabled.story.yml (100%) rename components/button/{ => stories}/button.disabled_link.story.yml (100%) rename components/button/{ => stories}/button.tags.story.yml (100%) rename components/button_group/{ => stories}/button_group.default.story.yml (100%) rename components/button_group/{ => stories}/button_group.link.story.yml (100%) rename components/button_group/{ => stories}/button_group.mixed.story.yml (100%) rename components/button_group/{ => stories}/button_group.nesting.story.yml (100%) rename components/button_group/{ => stories}/button_group.outlined.story.yml (100%) rename components/button_toolbar/{ => stories}/button_toolbar.default.story.yml (100%) rename components/card/{ => stories}/card.basic.story.yml (100%) rename components/card/{ => stories}/card.content_types_body.story.yml (100%) rename components/card/{ => stories}/card.content_types_header.story.yml (100%) rename components/card/{ => stories}/card.content_types_header_footer.story.yml (100%) rename components/card/{ => stories}/card.content_types_header_quote.story.yml (100%) rename components/card/{ => stories}/card.content_types_header_title.story.yml (100%) rename components/card/{ => stories}/card.content_types_images.story.yml (100%) rename components/card/{ => stories}/card.content_types_kitchen.story.yml (100%) rename components/card/{ => stories}/card.content_types_list_groups.story.yml (100%) rename components/card/{ => stories}/card.content_types_list_groups_footer.story.yml (100%) rename components/card/{ => stories}/card.content_types_list_groups_header.story.yml (100%) rename components/card/{ => stories}/card.content_types_titles_text_links.story.yml (100%) rename components/card/{ => stories}/card.horizontal.story.yml (100%) rename components/card/{ => stories}/card.navigation_pills.story.yml (100%) rename components/card/{ => stories}/card.navigation_tabs.story.yml (100%) rename components/card/{ => stories}/card.styles_background.story.yml (100%) rename components/card/{ => stories}/card.styles_border.story.yml (100%) rename components/card/{ => stories}/card.styles_mixins.story.yml (100%) rename components/card/{ => stories}/card.text_alignment.story.yml (100%) rename components/card_group/{ => stories}/card_group.preview.story.yml (100%) rename components/card_overlay/{ => stories}/card_overlay.preview.story.yml (100%) rename components/carousel/{ => stories}/carousel.autoplay.story.yml (100%) rename components/carousel/{ => stories}/carousel.autoplay_individual_interval.story.yml (100%) rename components/carousel/{ => stories}/carousel.autoplay_no_controls.story.yml (100%) rename components/carousel/{ => stories}/carousel.captions.story.yml (100%) rename components/carousel/{ => stories}/carousel.default.story.yml (100%) rename components/carousel/{ => stories}/carousel.indicators.story.yml (100%) rename components/carousel/{ => stories}/carousel.no_touch.story.yml (100%) rename components/close_button/{ => stories}/close_button.dark.story.yml (100%) rename components/close_button/{ => stories}/close_button.light.story.yml (100%) rename components/close_button/{ => stories}/close_button.white.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.auto_close.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.color.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.dark.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.directions.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.menu_content_divider.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.menu_content_header.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.menu_content_text.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.menu_items_active.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.menu_items_disabled.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.menu_items_text.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.options_offset.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.responsive_alignment.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.single_button_button.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.single_button_link.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.sizing_large.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.sizing_small.story.yml (100%) rename components/dropdown/{ => stories}/dropdown.split_button.story.yml (100%) rename components/figure/{ => stories}/figure.alignment.story.yml (100%) rename components/figure/{ => stories}/figure.default.story.yml (100%) rename components/grid_row/{ => stories}/grid_row.preview.story.yml (100%) rename components/grid_row_1/{ => stories}/grid_row_1.preview.story.yml (100%) rename components/grid_row_2/{ => stories}/grid_row_2.preview.story.yml (100%) rename components/grid_row_3/{ => stories}/grid_row_3.preview.story.yml (100%) rename components/grid_row_4/{ => stories}/grid_row_4.preview.story.yml (100%) rename components/list/{ => stories}/list.default_ol.story.yml (100%) rename components/list/{ => stories}/list.default_ul.story.yml (100%) rename components/list/{ => stories}/list.inline.story.yml (100%) rename components/list/{ => stories}/list.unstyled.story.yml (100%) rename components/list_group/{ => stories}/list_group.badge.story.yml (100%) rename components/list_group/{ => stories}/list_group.color.story.yml (100%) rename components/list_group/{ => stories}/list_group.color_link.story.yml (100%) rename components/list_group/{ => stories}/list_group.color_link_active.story.yml (100%) rename components/list_group/{ => stories}/list_group.color_link_disabled.story.yml (100%) rename components/list_group/{ => stories}/list_group.custom_content_1.story.yml (100%) rename components/list_group/{ => stories}/list_group.custom_content_2.story.yml (100%) rename components/list_group/{ => stories}/list_group.default.story.yml (100%) rename components/list_group/{ => stories}/list_group.links.story.yml (100%) rename components/list_group/{ => stories}/list_group.state.story.yml (100%) rename components/modal/{ => stories}/modal.default.story.yml (100%) rename components/modal/{ => stories}/modal.fullscreen.story.yml (100%) rename components/modal/{ => stories}/modal.long_content_default.story.yml (100%) rename components/modal/{ => stories}/modal.long_content_scrollable.story.yml (100%) rename components/modal/{ => stories}/modal.sizes.story.yml (100%) rename components/modal/{ => stories}/modal.static_backdrop.story.yml (100%) rename components/modal/{ => stories}/modal.vertical_centered.story.yml (100%) rename components/modal/{ => stories}/modal.vertical_centered_scrollable.story.yml (100%) rename components/nav/{ => stories}/nav.alignment_center.story.yml (100%) rename components/nav/{ => stories}/nav.alignment_end.story.yml (100%) rename components/nav/{ => stories}/nav.alignment_vertical.story.yml (100%) rename components/nav/{ => stories}/nav.custom_content.story.yml (100%) rename components/nav/{ => stories}/nav.custom_content_vertical.story.yml (100%) rename components/nav/{ => stories}/nav.preview.story.yml (100%) rename components/navbar/{ => stories}/navbar.brand_image.story.yml (100%) rename components/navbar/{ => stories}/navbar.brand_image_text.story.yml (100%) rename components/navbar/{ => stories}/navbar.brand_text.story.yml (100%) rename components/navbar/{ => stories}/navbar.color.story.yml (100%) rename components/navbar/{ => stories}/navbar.dark.story.yml (100%) rename components/navbar/{ => stories}/navbar.default.story.yml (100%) rename components/navbar/{ => stories}/navbar.external_content.story.yml (100%) rename components/navbar/{ => stories}/navbar.offcanvas.story.yml (100%) rename components/navbar/{ => stories}/navbar.offcanvas_dark.story.yml (100%) rename components/navbar/{ => stories}/navbar.responsive.story.yml (100%) rename components/navbar/{ => stories}/navbar.responsive_hidden_brand.story.yml (100%) rename components/navbar/{ => stories}/navbar.responsive_toggler_start.story.yml (100%) rename components/navbar/{ => stories}/navbar.scrolling.story.yml (100%) rename components/navbar/{ => stories}/navbar.text.story.yml (100%) rename components/navbar/{ => stories}/navbar.text_collapsible.story.yml (100%) rename components/offcanvas/{ => stories}/offcanvas.body_scrolling.story.yml (100%) rename components/offcanvas/{ => stories}/offcanvas.body_scrolling_backdrop.story.yml (100%) rename components/offcanvas/{ => stories}/offcanvas.dark.story.yml (100%) rename components/offcanvas/{ => stories}/offcanvas.default.story.yml (100%) rename components/offcanvas/{ => stories}/offcanvas.placement.story.yml (100%) rename components/offcanvas/{ => stories}/offcanvas.responsive.story.yml (100%) rename components/offcanvas/{ => stories}/offcanvas.static_backdrop.story.yml (100%) rename components/pagination/{ => stories}/pagination.alignment_center.story.yml (100%) rename components/pagination/{ => stories}/pagination.alignment_end.story.yml (100%) rename components/pagination/{ => stories}/pagination.default.story.yml (100%) rename components/pagination/{ => stories}/pagination.sizing_large.story.yml (100%) rename components/pagination/{ => stories}/pagination.sizing_small.story.yml (100%) rename components/pagination/{ => stories}/pagination.states.story.yml (100%) rename components/progress/{ => stories}/progress.background.story.yml (100%) rename components/progress/{ => stories}/progress.background_with_label.story.yml (100%) rename components/progress/{ => stories}/progress.default.story.yml (100%) rename components/progress/{ => stories}/progress.height_1.story.yml (100%) rename components/progress/{ => stories}/progress.height_20.story.yml (100%) rename components/progress/{ => stories}/progress.label.story.yml (100%) rename components/progress/{ => stories}/progress.label_long.story.yml (100%) rename components/progress_stacked/{ => stories}/progress_stacked.default.story.yml (100%) rename components/spinner/{ => stories}/spinner.buttons.story.yml (100%) rename components/spinner/{ => stories}/spinner.color.story.yml (100%) rename components/spinner/{ => stories}/spinner.default.story.yml (100%) rename components/spinner/{ => stories}/spinner.margin.story.yml (100%) rename components/spinner/{ => stories}/spinner.placement_flex.story.yml (100%) rename components/spinner/{ => stories}/spinner.placement_flex_2.story.yml (100%) rename components/spinner/{ => stories}/spinner.placement_float.story.yml (100%) rename components/spinner/{ => stories}/spinner.placement_text.story.yml (100%) rename components/table/{ => stories}/table.preview.story.yml (100%) rename components/table_cell/{ => stories}/table_cell.preview.story.yml (100%) rename components/table_row/{ => stories}/table_row.preview.story.yml (100%) rename components/toast/{ => stories}/toast.basic.story.yml (100%) rename components/toast/{ => stories}/toast.color.story.yml (100%) rename components/toast/{ => stories}/toast.custom_content.story.yml (100%) rename components/toast/{ => stories}/toast.custom_content_control.story.yml (100%) rename components/toast/{ => stories}/toast.translucent.story.yml (100%) rename components/toast_container/{ => stories}/toast_container.preview.story.yml (100%) diff --git a/components/accordion/accordion.always_open.story.yml b/components/accordion/stories/accordion.always_open.story.yml similarity index 100% rename from components/accordion/accordion.always_open.story.yml rename to components/accordion/stories/accordion.always_open.story.yml diff --git a/components/accordion/accordion.default.story.yml b/components/accordion/stories/accordion.default.story.yml similarity index 100% rename from components/accordion/accordion.default.story.yml rename to components/accordion/stories/accordion.default.story.yml diff --git a/components/alert/alert.complete.story.yml b/components/alert/stories/alert.complete.story.yml similarity index 100% rename from components/alert/alert.complete.story.yml rename to components/alert/stories/alert.complete.story.yml diff --git a/components/alert/alert.default.story.yml b/components/alert/stories/alert.default.story.yml similarity index 100% rename from components/alert/alert.default.story.yml rename to components/alert/stories/alert.default.story.yml diff --git a/components/alert/alert.dismissing.story.yml b/components/alert/stories/alert.dismissing.story.yml similarity index 100% rename from components/alert/alert.dismissing.story.yml rename to components/alert/stories/alert.dismissing.story.yml diff --git a/components/alert/alert.icon.story.yml b/components/alert/stories/alert.icon.story.yml similarity index 100% rename from components/alert/alert.icon.story.yml rename to components/alert/stories/alert.icon.story.yml diff --git a/components/alert/alert.link.story.yml b/components/alert/stories/alert.link.story.yml similarity index 100% rename from components/alert/alert.link.story.yml rename to components/alert/stories/alert.link.story.yml diff --git a/components/badge/badge.background.story.yml b/components/badge/stories/badge.background.story.yml similarity index 100% rename from components/badge/badge.background.story.yml rename to components/badge/stories/badge.background.story.yml diff --git a/components/badge/badge.button.story.yml b/components/badge/stories/badge.button.story.yml similarity index 100% rename from components/badge/badge.button.story.yml rename to components/badge/stories/badge.button.story.yml diff --git a/components/badge/badge.button_positioned.story.yml b/components/badge/stories/badge.button_positioned.story.yml similarity index 100% rename from components/badge/badge.button_positioned.story.yml rename to components/badge/stories/badge.button_positioned.story.yml diff --git a/components/badge/badge.button_positioned_generic.story.yml b/components/badge/stories/badge.button_positioned_generic.story.yml similarity index 100% rename from components/badge/badge.button_positioned_generic.story.yml rename to components/badge/stories/badge.button_positioned_generic.story.yml diff --git a/components/badge/badge.headings.story.yml b/components/badge/stories/badge.headings.story.yml similarity index 100% rename from components/badge/badge.headings.story.yml rename to components/badge/stories/badge.headings.story.yml diff --git a/components/badge/badge.pill.story.yml b/components/badge/stories/badge.pill.story.yml similarity index 100% rename from components/badge/badge.pill.story.yml rename to components/badge/stories/badge.pill.story.yml diff --git a/components/blockquote/blockquote.default.story.yml b/components/blockquote/stories/blockquote.default.story.yml similarity index 100% rename from components/blockquote/blockquote.default.story.yml rename to components/blockquote/stories/blockquote.default.story.yml diff --git a/components/blockquote/blockquote.source_center.story.yml b/components/blockquote/stories/blockquote.source_center.story.yml similarity index 100% rename from components/blockquote/blockquote.source_center.story.yml rename to components/blockquote/stories/blockquote.source_center.story.yml diff --git a/components/blockquote/blockquote.source_end.story.yml b/components/blockquote/stories/blockquote.source_end.story.yml similarity index 100% rename from components/blockquote/blockquote.source_end.story.yml rename to components/blockquote/stories/blockquote.source_end.story.yml diff --git a/components/blockquote/blockquote.source_start.story.yml b/components/blockquote/stories/blockquote.source_start.story.yml similarity index 100% rename from components/blockquote/blockquote.source_start.story.yml rename to components/blockquote/stories/blockquote.source_start.story.yml diff --git a/components/breadcrumb/breadcrumb.1_item.story.yml b/components/breadcrumb/stories/breadcrumb.1_item.story.yml similarity index 100% rename from components/breadcrumb/breadcrumb.1_item.story.yml rename to components/breadcrumb/stories/breadcrumb.1_item.story.yml diff --git a/components/breadcrumb/breadcrumb.2_items.story.yml b/components/breadcrumb/stories/breadcrumb.2_items.story.yml similarity index 100% rename from components/breadcrumb/breadcrumb.2_items.story.yml rename to components/breadcrumb/stories/breadcrumb.2_items.story.yml diff --git a/components/breadcrumb/breadcrumb.3_items.story.yml b/components/breadcrumb/stories/breadcrumb.3_items.story.yml similarity index 100% rename from components/breadcrumb/breadcrumb.3_items.story.yml rename to components/breadcrumb/stories/breadcrumb.3_items.story.yml diff --git a/components/button/button.default.story.yml b/components/button/stories/button.default.story.yml similarity index 100% rename from components/button/button.default.story.yml rename to components/button/stories/button.default.story.yml diff --git a/components/button/button.disabled.story.yml b/components/button/stories/button.disabled.story.yml similarity index 100% rename from components/button/button.disabled.story.yml rename to components/button/stories/button.disabled.story.yml diff --git a/components/button/button.disabled_link.story.yml b/components/button/stories/button.disabled_link.story.yml similarity index 100% rename from components/button/button.disabled_link.story.yml rename to components/button/stories/button.disabled_link.story.yml diff --git a/components/button/button.tags.story.yml b/components/button/stories/button.tags.story.yml similarity index 100% rename from components/button/button.tags.story.yml rename to components/button/stories/button.tags.story.yml diff --git a/components/button_group/button_group.default.story.yml b/components/button_group/stories/button_group.default.story.yml similarity index 100% rename from components/button_group/button_group.default.story.yml rename to components/button_group/stories/button_group.default.story.yml diff --git a/components/button_group/button_group.link.story.yml b/components/button_group/stories/button_group.link.story.yml similarity index 100% rename from components/button_group/button_group.link.story.yml rename to components/button_group/stories/button_group.link.story.yml diff --git a/components/button_group/button_group.mixed.story.yml b/components/button_group/stories/button_group.mixed.story.yml similarity index 100% rename from components/button_group/button_group.mixed.story.yml rename to components/button_group/stories/button_group.mixed.story.yml diff --git a/components/button_group/button_group.nesting.story.yml b/components/button_group/stories/button_group.nesting.story.yml similarity index 100% rename from components/button_group/button_group.nesting.story.yml rename to components/button_group/stories/button_group.nesting.story.yml diff --git a/components/button_group/button_group.outlined.story.yml b/components/button_group/stories/button_group.outlined.story.yml similarity index 100% rename from components/button_group/button_group.outlined.story.yml rename to components/button_group/stories/button_group.outlined.story.yml diff --git a/components/button_toolbar/button_toolbar.default.story.yml b/components/button_toolbar/stories/button_toolbar.default.story.yml similarity index 100% rename from components/button_toolbar/button_toolbar.default.story.yml rename to components/button_toolbar/stories/button_toolbar.default.story.yml diff --git a/components/card/card.basic.story.yml b/components/card/stories/card.basic.story.yml similarity index 100% rename from components/card/card.basic.story.yml rename to components/card/stories/card.basic.story.yml diff --git a/components/card/card.content_types_body.story.yml b/components/card/stories/card.content_types_body.story.yml similarity index 100% rename from components/card/card.content_types_body.story.yml rename to components/card/stories/card.content_types_body.story.yml diff --git a/components/card/card.content_types_header.story.yml b/components/card/stories/card.content_types_header.story.yml similarity index 100% rename from components/card/card.content_types_header.story.yml rename to components/card/stories/card.content_types_header.story.yml diff --git a/components/card/card.content_types_header_footer.story.yml b/components/card/stories/card.content_types_header_footer.story.yml similarity index 100% rename from components/card/card.content_types_header_footer.story.yml rename to components/card/stories/card.content_types_header_footer.story.yml diff --git a/components/card/card.content_types_header_quote.story.yml b/components/card/stories/card.content_types_header_quote.story.yml similarity index 100% rename from components/card/card.content_types_header_quote.story.yml rename to components/card/stories/card.content_types_header_quote.story.yml diff --git a/components/card/card.content_types_header_title.story.yml b/components/card/stories/card.content_types_header_title.story.yml similarity index 100% rename from components/card/card.content_types_header_title.story.yml rename to components/card/stories/card.content_types_header_title.story.yml diff --git a/components/card/card.content_types_images.story.yml b/components/card/stories/card.content_types_images.story.yml similarity index 100% rename from components/card/card.content_types_images.story.yml rename to components/card/stories/card.content_types_images.story.yml diff --git a/components/card/card.content_types_kitchen.story.yml b/components/card/stories/card.content_types_kitchen.story.yml similarity index 100% rename from components/card/card.content_types_kitchen.story.yml rename to components/card/stories/card.content_types_kitchen.story.yml diff --git a/components/card/card.content_types_list_groups.story.yml b/components/card/stories/card.content_types_list_groups.story.yml similarity index 100% rename from components/card/card.content_types_list_groups.story.yml rename to components/card/stories/card.content_types_list_groups.story.yml diff --git a/components/card/card.content_types_list_groups_footer.story.yml b/components/card/stories/card.content_types_list_groups_footer.story.yml similarity index 100% rename from components/card/card.content_types_list_groups_footer.story.yml rename to components/card/stories/card.content_types_list_groups_footer.story.yml diff --git a/components/card/card.content_types_list_groups_header.story.yml b/components/card/stories/card.content_types_list_groups_header.story.yml similarity index 100% rename from components/card/card.content_types_list_groups_header.story.yml rename to components/card/stories/card.content_types_list_groups_header.story.yml diff --git a/components/card/card.content_types_titles_text_links.story.yml b/components/card/stories/card.content_types_titles_text_links.story.yml similarity index 100% rename from components/card/card.content_types_titles_text_links.story.yml rename to components/card/stories/card.content_types_titles_text_links.story.yml diff --git a/components/card/card.horizontal.story.yml b/components/card/stories/card.horizontal.story.yml similarity index 100% rename from components/card/card.horizontal.story.yml rename to components/card/stories/card.horizontal.story.yml diff --git a/components/card/card.navigation_pills.story.yml b/components/card/stories/card.navigation_pills.story.yml similarity index 100% rename from components/card/card.navigation_pills.story.yml rename to components/card/stories/card.navigation_pills.story.yml diff --git a/components/card/card.navigation_tabs.story.yml b/components/card/stories/card.navigation_tabs.story.yml similarity index 100% rename from components/card/card.navigation_tabs.story.yml rename to components/card/stories/card.navigation_tabs.story.yml diff --git a/components/card/card.styles_background.story.yml b/components/card/stories/card.styles_background.story.yml similarity index 100% rename from components/card/card.styles_background.story.yml rename to components/card/stories/card.styles_background.story.yml diff --git a/components/card/card.styles_border.story.yml b/components/card/stories/card.styles_border.story.yml similarity index 100% rename from components/card/card.styles_border.story.yml rename to components/card/stories/card.styles_border.story.yml diff --git a/components/card/card.styles_mixins.story.yml b/components/card/stories/card.styles_mixins.story.yml similarity index 100% rename from components/card/card.styles_mixins.story.yml rename to components/card/stories/card.styles_mixins.story.yml diff --git a/components/card/card.text_alignment.story.yml b/components/card/stories/card.text_alignment.story.yml similarity index 100% rename from components/card/card.text_alignment.story.yml rename to components/card/stories/card.text_alignment.story.yml diff --git a/components/card_group/card_group.preview.story.yml b/components/card_group/stories/card_group.preview.story.yml similarity index 100% rename from components/card_group/card_group.preview.story.yml rename to components/card_group/stories/card_group.preview.story.yml diff --git a/components/card_overlay/card_overlay.preview.story.yml b/components/card_overlay/stories/card_overlay.preview.story.yml similarity index 100% rename from components/card_overlay/card_overlay.preview.story.yml rename to components/card_overlay/stories/card_overlay.preview.story.yml diff --git a/components/carousel/carousel.autoplay.story.yml b/components/carousel/stories/carousel.autoplay.story.yml similarity index 100% rename from components/carousel/carousel.autoplay.story.yml rename to components/carousel/stories/carousel.autoplay.story.yml diff --git a/components/carousel/carousel.autoplay_individual_interval.story.yml b/components/carousel/stories/carousel.autoplay_individual_interval.story.yml similarity index 100% rename from components/carousel/carousel.autoplay_individual_interval.story.yml rename to components/carousel/stories/carousel.autoplay_individual_interval.story.yml diff --git a/components/carousel/carousel.autoplay_no_controls.story.yml b/components/carousel/stories/carousel.autoplay_no_controls.story.yml similarity index 100% rename from components/carousel/carousel.autoplay_no_controls.story.yml rename to components/carousel/stories/carousel.autoplay_no_controls.story.yml diff --git a/components/carousel/carousel.captions.story.yml b/components/carousel/stories/carousel.captions.story.yml similarity index 100% rename from components/carousel/carousel.captions.story.yml rename to components/carousel/stories/carousel.captions.story.yml diff --git a/components/carousel/carousel.default.story.yml b/components/carousel/stories/carousel.default.story.yml similarity index 100% rename from components/carousel/carousel.default.story.yml rename to components/carousel/stories/carousel.default.story.yml diff --git a/components/carousel/carousel.indicators.story.yml b/components/carousel/stories/carousel.indicators.story.yml similarity index 100% rename from components/carousel/carousel.indicators.story.yml rename to components/carousel/stories/carousel.indicators.story.yml diff --git a/components/carousel/carousel.no_touch.story.yml b/components/carousel/stories/carousel.no_touch.story.yml similarity index 100% rename from components/carousel/carousel.no_touch.story.yml rename to components/carousel/stories/carousel.no_touch.story.yml diff --git a/components/close_button/close_button.dark.story.yml b/components/close_button/stories/close_button.dark.story.yml similarity index 100% rename from components/close_button/close_button.dark.story.yml rename to components/close_button/stories/close_button.dark.story.yml diff --git a/components/close_button/close_button.light.story.yml b/components/close_button/stories/close_button.light.story.yml similarity index 100% rename from components/close_button/close_button.light.story.yml rename to components/close_button/stories/close_button.light.story.yml diff --git a/components/close_button/close_button.white.story.yml b/components/close_button/stories/close_button.white.story.yml similarity index 100% rename from components/close_button/close_button.white.story.yml rename to components/close_button/stories/close_button.white.story.yml diff --git a/components/dropdown/dropdown.auto_close.story.yml b/components/dropdown/stories/dropdown.auto_close.story.yml similarity index 100% rename from components/dropdown/dropdown.auto_close.story.yml rename to components/dropdown/stories/dropdown.auto_close.story.yml diff --git a/components/dropdown/dropdown.color.story.yml b/components/dropdown/stories/dropdown.color.story.yml similarity index 100% rename from components/dropdown/dropdown.color.story.yml rename to components/dropdown/stories/dropdown.color.story.yml diff --git a/components/dropdown/dropdown.dark.story.yml b/components/dropdown/stories/dropdown.dark.story.yml similarity index 100% rename from components/dropdown/dropdown.dark.story.yml rename to components/dropdown/stories/dropdown.dark.story.yml diff --git a/components/dropdown/dropdown.directions.story.yml b/components/dropdown/stories/dropdown.directions.story.yml similarity index 100% rename from components/dropdown/dropdown.directions.story.yml rename to components/dropdown/stories/dropdown.directions.story.yml diff --git a/components/dropdown/dropdown.menu_content_divider.story.yml b/components/dropdown/stories/dropdown.menu_content_divider.story.yml similarity index 100% rename from components/dropdown/dropdown.menu_content_divider.story.yml rename to components/dropdown/stories/dropdown.menu_content_divider.story.yml diff --git a/components/dropdown/dropdown.menu_content_header.story.yml b/components/dropdown/stories/dropdown.menu_content_header.story.yml similarity index 100% rename from components/dropdown/dropdown.menu_content_header.story.yml rename to components/dropdown/stories/dropdown.menu_content_header.story.yml diff --git a/components/dropdown/dropdown.menu_content_text.story.yml b/components/dropdown/stories/dropdown.menu_content_text.story.yml similarity index 100% rename from components/dropdown/dropdown.menu_content_text.story.yml rename to components/dropdown/stories/dropdown.menu_content_text.story.yml diff --git a/components/dropdown/dropdown.menu_items_active.story.yml b/components/dropdown/stories/dropdown.menu_items_active.story.yml similarity index 100% rename from components/dropdown/dropdown.menu_items_active.story.yml rename to components/dropdown/stories/dropdown.menu_items_active.story.yml diff --git a/components/dropdown/dropdown.menu_items_disabled.story.yml b/components/dropdown/stories/dropdown.menu_items_disabled.story.yml similarity index 100% rename from components/dropdown/dropdown.menu_items_disabled.story.yml rename to components/dropdown/stories/dropdown.menu_items_disabled.story.yml diff --git a/components/dropdown/dropdown.menu_items_text.story.yml b/components/dropdown/stories/dropdown.menu_items_text.story.yml similarity index 100% rename from components/dropdown/dropdown.menu_items_text.story.yml rename to components/dropdown/stories/dropdown.menu_items_text.story.yml diff --git a/components/dropdown/dropdown.options_offset.story.yml b/components/dropdown/stories/dropdown.options_offset.story.yml similarity index 100% rename from components/dropdown/dropdown.options_offset.story.yml rename to components/dropdown/stories/dropdown.options_offset.story.yml diff --git a/components/dropdown/dropdown.responsive_alignment.story.yml b/components/dropdown/stories/dropdown.responsive_alignment.story.yml similarity index 100% rename from components/dropdown/dropdown.responsive_alignment.story.yml rename to components/dropdown/stories/dropdown.responsive_alignment.story.yml diff --git a/components/dropdown/dropdown.single_button_button.story.yml b/components/dropdown/stories/dropdown.single_button_button.story.yml similarity index 100% rename from components/dropdown/dropdown.single_button_button.story.yml rename to components/dropdown/stories/dropdown.single_button_button.story.yml diff --git a/components/dropdown/dropdown.single_button_link.story.yml b/components/dropdown/stories/dropdown.single_button_link.story.yml similarity index 100% rename from components/dropdown/dropdown.single_button_link.story.yml rename to components/dropdown/stories/dropdown.single_button_link.story.yml diff --git a/components/dropdown/dropdown.sizing_large.story.yml b/components/dropdown/stories/dropdown.sizing_large.story.yml similarity index 100% rename from components/dropdown/dropdown.sizing_large.story.yml rename to components/dropdown/stories/dropdown.sizing_large.story.yml diff --git a/components/dropdown/dropdown.sizing_small.story.yml b/components/dropdown/stories/dropdown.sizing_small.story.yml similarity index 100% rename from components/dropdown/dropdown.sizing_small.story.yml rename to components/dropdown/stories/dropdown.sizing_small.story.yml diff --git a/components/dropdown/dropdown.split_button.story.yml b/components/dropdown/stories/dropdown.split_button.story.yml similarity index 100% rename from components/dropdown/dropdown.split_button.story.yml rename to components/dropdown/stories/dropdown.split_button.story.yml diff --git a/components/figure/figure.alignment.story.yml b/components/figure/stories/figure.alignment.story.yml similarity index 100% rename from components/figure/figure.alignment.story.yml rename to components/figure/stories/figure.alignment.story.yml diff --git a/components/figure/figure.default.story.yml b/components/figure/stories/figure.default.story.yml similarity index 100% rename from components/figure/figure.default.story.yml rename to components/figure/stories/figure.default.story.yml diff --git a/components/grid_row/grid_row.preview.story.yml b/components/grid_row/stories/grid_row.preview.story.yml similarity index 100% rename from components/grid_row/grid_row.preview.story.yml rename to components/grid_row/stories/grid_row.preview.story.yml diff --git a/components/grid_row_1/grid_row_1.preview.story.yml b/components/grid_row_1/stories/grid_row_1.preview.story.yml similarity index 100% rename from components/grid_row_1/grid_row_1.preview.story.yml rename to components/grid_row_1/stories/grid_row_1.preview.story.yml diff --git a/components/grid_row_2/grid_row_2.preview.story.yml b/components/grid_row_2/stories/grid_row_2.preview.story.yml similarity index 100% rename from components/grid_row_2/grid_row_2.preview.story.yml rename to components/grid_row_2/stories/grid_row_2.preview.story.yml diff --git a/components/grid_row_3/grid_row_3.preview.story.yml b/components/grid_row_3/stories/grid_row_3.preview.story.yml similarity index 100% rename from components/grid_row_3/grid_row_3.preview.story.yml rename to components/grid_row_3/stories/grid_row_3.preview.story.yml diff --git a/components/grid_row_4/grid_row_4.preview.story.yml b/components/grid_row_4/stories/grid_row_4.preview.story.yml similarity index 100% rename from components/grid_row_4/grid_row_4.preview.story.yml rename to components/grid_row_4/stories/grid_row_4.preview.story.yml diff --git a/components/list/list.default_ol.story.yml b/components/list/stories/list.default_ol.story.yml similarity index 100% rename from components/list/list.default_ol.story.yml rename to components/list/stories/list.default_ol.story.yml diff --git a/components/list/list.default_ul.story.yml b/components/list/stories/list.default_ul.story.yml similarity index 100% rename from components/list/list.default_ul.story.yml rename to components/list/stories/list.default_ul.story.yml diff --git a/components/list/list.inline.story.yml b/components/list/stories/list.inline.story.yml similarity index 100% rename from components/list/list.inline.story.yml rename to components/list/stories/list.inline.story.yml diff --git a/components/list/list.unstyled.story.yml b/components/list/stories/list.unstyled.story.yml similarity index 100% rename from components/list/list.unstyled.story.yml rename to components/list/stories/list.unstyled.story.yml diff --git a/components/list_group/list_group.badge.story.yml b/components/list_group/stories/list_group.badge.story.yml similarity index 100% rename from components/list_group/list_group.badge.story.yml rename to components/list_group/stories/list_group.badge.story.yml diff --git a/components/list_group/list_group.color.story.yml b/components/list_group/stories/list_group.color.story.yml similarity index 100% rename from components/list_group/list_group.color.story.yml rename to components/list_group/stories/list_group.color.story.yml diff --git a/components/list_group/list_group.color_link.story.yml b/components/list_group/stories/list_group.color_link.story.yml similarity index 100% rename from components/list_group/list_group.color_link.story.yml rename to components/list_group/stories/list_group.color_link.story.yml diff --git a/components/list_group/list_group.color_link_active.story.yml b/components/list_group/stories/list_group.color_link_active.story.yml similarity index 100% rename from components/list_group/list_group.color_link_active.story.yml rename to components/list_group/stories/list_group.color_link_active.story.yml diff --git a/components/list_group/list_group.color_link_disabled.story.yml b/components/list_group/stories/list_group.color_link_disabled.story.yml similarity index 100% rename from components/list_group/list_group.color_link_disabled.story.yml rename to components/list_group/stories/list_group.color_link_disabled.story.yml diff --git a/components/list_group/list_group.custom_content_1.story.yml b/components/list_group/stories/list_group.custom_content_1.story.yml similarity index 100% rename from components/list_group/list_group.custom_content_1.story.yml rename to components/list_group/stories/list_group.custom_content_1.story.yml diff --git a/components/list_group/list_group.custom_content_2.story.yml b/components/list_group/stories/list_group.custom_content_2.story.yml similarity index 100% rename from components/list_group/list_group.custom_content_2.story.yml rename to components/list_group/stories/list_group.custom_content_2.story.yml diff --git a/components/list_group/list_group.default.story.yml b/components/list_group/stories/list_group.default.story.yml similarity index 100% rename from components/list_group/list_group.default.story.yml rename to components/list_group/stories/list_group.default.story.yml diff --git a/components/list_group/list_group.links.story.yml b/components/list_group/stories/list_group.links.story.yml similarity index 100% rename from components/list_group/list_group.links.story.yml rename to components/list_group/stories/list_group.links.story.yml diff --git a/components/list_group/list_group.state.story.yml b/components/list_group/stories/list_group.state.story.yml similarity index 100% rename from components/list_group/list_group.state.story.yml rename to components/list_group/stories/list_group.state.story.yml diff --git a/components/modal/modal.default.story.yml b/components/modal/stories/modal.default.story.yml similarity index 100% rename from components/modal/modal.default.story.yml rename to components/modal/stories/modal.default.story.yml diff --git a/components/modal/modal.fullscreen.story.yml b/components/modal/stories/modal.fullscreen.story.yml similarity index 100% rename from components/modal/modal.fullscreen.story.yml rename to components/modal/stories/modal.fullscreen.story.yml diff --git a/components/modal/modal.long_content_default.story.yml b/components/modal/stories/modal.long_content_default.story.yml similarity index 100% rename from components/modal/modal.long_content_default.story.yml rename to components/modal/stories/modal.long_content_default.story.yml diff --git a/components/modal/modal.long_content_scrollable.story.yml b/components/modal/stories/modal.long_content_scrollable.story.yml similarity index 100% rename from components/modal/modal.long_content_scrollable.story.yml rename to components/modal/stories/modal.long_content_scrollable.story.yml diff --git a/components/modal/modal.sizes.story.yml b/components/modal/stories/modal.sizes.story.yml similarity index 100% rename from components/modal/modal.sizes.story.yml rename to components/modal/stories/modal.sizes.story.yml diff --git a/components/modal/modal.static_backdrop.story.yml b/components/modal/stories/modal.static_backdrop.story.yml similarity index 100% rename from components/modal/modal.static_backdrop.story.yml rename to components/modal/stories/modal.static_backdrop.story.yml diff --git a/components/modal/modal.vertical_centered.story.yml b/components/modal/stories/modal.vertical_centered.story.yml similarity index 100% rename from components/modal/modal.vertical_centered.story.yml rename to components/modal/stories/modal.vertical_centered.story.yml diff --git a/components/modal/modal.vertical_centered_scrollable.story.yml b/components/modal/stories/modal.vertical_centered_scrollable.story.yml similarity index 100% rename from components/modal/modal.vertical_centered_scrollable.story.yml rename to components/modal/stories/modal.vertical_centered_scrollable.story.yml diff --git a/components/nav/nav.alignment_center.story.yml b/components/nav/stories/nav.alignment_center.story.yml similarity index 100% rename from components/nav/nav.alignment_center.story.yml rename to components/nav/stories/nav.alignment_center.story.yml diff --git a/components/nav/nav.alignment_end.story.yml b/components/nav/stories/nav.alignment_end.story.yml similarity index 100% rename from components/nav/nav.alignment_end.story.yml rename to components/nav/stories/nav.alignment_end.story.yml diff --git a/components/nav/nav.alignment_vertical.story.yml b/components/nav/stories/nav.alignment_vertical.story.yml similarity index 100% rename from components/nav/nav.alignment_vertical.story.yml rename to components/nav/stories/nav.alignment_vertical.story.yml diff --git a/components/nav/nav.custom_content.story.yml b/components/nav/stories/nav.custom_content.story.yml similarity index 100% rename from components/nav/nav.custom_content.story.yml rename to components/nav/stories/nav.custom_content.story.yml diff --git a/components/nav/nav.custom_content_vertical.story.yml b/components/nav/stories/nav.custom_content_vertical.story.yml similarity index 100% rename from components/nav/nav.custom_content_vertical.story.yml rename to components/nav/stories/nav.custom_content_vertical.story.yml diff --git a/components/nav/nav.preview.story.yml b/components/nav/stories/nav.preview.story.yml similarity index 100% rename from components/nav/nav.preview.story.yml rename to components/nav/stories/nav.preview.story.yml diff --git a/components/navbar/navbar.brand_image.story.yml b/components/navbar/stories/navbar.brand_image.story.yml similarity index 100% rename from components/navbar/navbar.brand_image.story.yml rename to components/navbar/stories/navbar.brand_image.story.yml diff --git a/components/navbar/navbar.brand_image_text.story.yml b/components/navbar/stories/navbar.brand_image_text.story.yml similarity index 100% rename from components/navbar/navbar.brand_image_text.story.yml rename to components/navbar/stories/navbar.brand_image_text.story.yml diff --git a/components/navbar/navbar.brand_text.story.yml b/components/navbar/stories/navbar.brand_text.story.yml similarity index 100% rename from components/navbar/navbar.brand_text.story.yml rename to components/navbar/stories/navbar.brand_text.story.yml diff --git a/components/navbar/navbar.color.story.yml b/components/navbar/stories/navbar.color.story.yml similarity index 100% rename from components/navbar/navbar.color.story.yml rename to components/navbar/stories/navbar.color.story.yml diff --git a/components/navbar/navbar.dark.story.yml b/components/navbar/stories/navbar.dark.story.yml similarity index 100% rename from components/navbar/navbar.dark.story.yml rename to components/navbar/stories/navbar.dark.story.yml diff --git a/components/navbar/navbar.default.story.yml b/components/navbar/stories/navbar.default.story.yml similarity index 100% rename from components/navbar/navbar.default.story.yml rename to components/navbar/stories/navbar.default.story.yml diff --git a/components/navbar/navbar.external_content.story.yml b/components/navbar/stories/navbar.external_content.story.yml similarity index 100% rename from components/navbar/navbar.external_content.story.yml rename to components/navbar/stories/navbar.external_content.story.yml diff --git a/components/navbar/navbar.offcanvas.story.yml b/components/navbar/stories/navbar.offcanvas.story.yml similarity index 100% rename from components/navbar/navbar.offcanvas.story.yml rename to components/navbar/stories/navbar.offcanvas.story.yml diff --git a/components/navbar/navbar.offcanvas_dark.story.yml b/components/navbar/stories/navbar.offcanvas_dark.story.yml similarity index 100% rename from components/navbar/navbar.offcanvas_dark.story.yml rename to components/navbar/stories/navbar.offcanvas_dark.story.yml diff --git a/components/navbar/navbar.responsive.story.yml b/components/navbar/stories/navbar.responsive.story.yml similarity index 100% rename from components/navbar/navbar.responsive.story.yml rename to components/navbar/stories/navbar.responsive.story.yml diff --git a/components/navbar/navbar.responsive_hidden_brand.story.yml b/components/navbar/stories/navbar.responsive_hidden_brand.story.yml similarity index 100% rename from components/navbar/navbar.responsive_hidden_brand.story.yml rename to components/navbar/stories/navbar.responsive_hidden_brand.story.yml diff --git a/components/navbar/navbar.responsive_toggler_start.story.yml b/components/navbar/stories/navbar.responsive_toggler_start.story.yml similarity index 100% rename from components/navbar/navbar.responsive_toggler_start.story.yml rename to components/navbar/stories/navbar.responsive_toggler_start.story.yml diff --git a/components/navbar/navbar.scrolling.story.yml b/components/navbar/stories/navbar.scrolling.story.yml similarity index 100% rename from components/navbar/navbar.scrolling.story.yml rename to components/navbar/stories/navbar.scrolling.story.yml diff --git a/components/navbar/navbar.text.story.yml b/components/navbar/stories/navbar.text.story.yml similarity index 100% rename from components/navbar/navbar.text.story.yml rename to components/navbar/stories/navbar.text.story.yml diff --git a/components/navbar/navbar.text_collapsible.story.yml b/components/navbar/stories/navbar.text_collapsible.story.yml similarity index 100% rename from components/navbar/navbar.text_collapsible.story.yml rename to components/navbar/stories/navbar.text_collapsible.story.yml diff --git a/components/offcanvas/offcanvas.body_scrolling.story.yml b/components/offcanvas/stories/offcanvas.body_scrolling.story.yml similarity index 100% rename from components/offcanvas/offcanvas.body_scrolling.story.yml rename to components/offcanvas/stories/offcanvas.body_scrolling.story.yml diff --git a/components/offcanvas/offcanvas.body_scrolling_backdrop.story.yml b/components/offcanvas/stories/offcanvas.body_scrolling_backdrop.story.yml similarity index 100% rename from components/offcanvas/offcanvas.body_scrolling_backdrop.story.yml rename to components/offcanvas/stories/offcanvas.body_scrolling_backdrop.story.yml diff --git a/components/offcanvas/offcanvas.dark.story.yml b/components/offcanvas/stories/offcanvas.dark.story.yml similarity index 100% rename from components/offcanvas/offcanvas.dark.story.yml rename to components/offcanvas/stories/offcanvas.dark.story.yml diff --git a/components/offcanvas/offcanvas.default.story.yml b/components/offcanvas/stories/offcanvas.default.story.yml similarity index 100% rename from components/offcanvas/offcanvas.default.story.yml rename to components/offcanvas/stories/offcanvas.default.story.yml diff --git a/components/offcanvas/offcanvas.placement.story.yml b/components/offcanvas/stories/offcanvas.placement.story.yml similarity index 100% rename from components/offcanvas/offcanvas.placement.story.yml rename to components/offcanvas/stories/offcanvas.placement.story.yml diff --git a/components/offcanvas/offcanvas.responsive.story.yml b/components/offcanvas/stories/offcanvas.responsive.story.yml similarity index 100% rename from components/offcanvas/offcanvas.responsive.story.yml rename to components/offcanvas/stories/offcanvas.responsive.story.yml diff --git a/components/offcanvas/offcanvas.static_backdrop.story.yml b/components/offcanvas/stories/offcanvas.static_backdrop.story.yml similarity index 100% rename from components/offcanvas/offcanvas.static_backdrop.story.yml rename to components/offcanvas/stories/offcanvas.static_backdrop.story.yml diff --git a/components/pagination/pagination.alignment_center.story.yml b/components/pagination/stories/pagination.alignment_center.story.yml similarity index 100% rename from components/pagination/pagination.alignment_center.story.yml rename to components/pagination/stories/pagination.alignment_center.story.yml diff --git a/components/pagination/pagination.alignment_end.story.yml b/components/pagination/stories/pagination.alignment_end.story.yml similarity index 100% rename from components/pagination/pagination.alignment_end.story.yml rename to components/pagination/stories/pagination.alignment_end.story.yml diff --git a/components/pagination/pagination.default.story.yml b/components/pagination/stories/pagination.default.story.yml similarity index 100% rename from components/pagination/pagination.default.story.yml rename to components/pagination/stories/pagination.default.story.yml diff --git a/components/pagination/pagination.sizing_large.story.yml b/components/pagination/stories/pagination.sizing_large.story.yml similarity index 100% rename from components/pagination/pagination.sizing_large.story.yml rename to components/pagination/stories/pagination.sizing_large.story.yml diff --git a/components/pagination/pagination.sizing_small.story.yml b/components/pagination/stories/pagination.sizing_small.story.yml similarity index 100% rename from components/pagination/pagination.sizing_small.story.yml rename to components/pagination/stories/pagination.sizing_small.story.yml diff --git a/components/pagination/pagination.states.story.yml b/components/pagination/stories/pagination.states.story.yml similarity index 100% rename from components/pagination/pagination.states.story.yml rename to components/pagination/stories/pagination.states.story.yml diff --git a/components/progress/progress.background.story.yml b/components/progress/stories/progress.background.story.yml similarity index 100% rename from components/progress/progress.background.story.yml rename to components/progress/stories/progress.background.story.yml diff --git a/components/progress/progress.background_with_label.story.yml b/components/progress/stories/progress.background_with_label.story.yml similarity index 100% rename from components/progress/progress.background_with_label.story.yml rename to components/progress/stories/progress.background_with_label.story.yml diff --git a/components/progress/progress.default.story.yml b/components/progress/stories/progress.default.story.yml similarity index 100% rename from components/progress/progress.default.story.yml rename to components/progress/stories/progress.default.story.yml diff --git a/components/progress/progress.height_1.story.yml b/components/progress/stories/progress.height_1.story.yml similarity index 100% rename from components/progress/progress.height_1.story.yml rename to components/progress/stories/progress.height_1.story.yml diff --git a/components/progress/progress.height_20.story.yml b/components/progress/stories/progress.height_20.story.yml similarity index 100% rename from components/progress/progress.height_20.story.yml rename to components/progress/stories/progress.height_20.story.yml diff --git a/components/progress/progress.label.story.yml b/components/progress/stories/progress.label.story.yml similarity index 100% rename from components/progress/progress.label.story.yml rename to components/progress/stories/progress.label.story.yml diff --git a/components/progress/progress.label_long.story.yml b/components/progress/stories/progress.label_long.story.yml similarity index 100% rename from components/progress/progress.label_long.story.yml rename to components/progress/stories/progress.label_long.story.yml diff --git a/components/progress_stacked/progress_stacked.default.story.yml b/components/progress_stacked/stories/progress_stacked.default.story.yml similarity index 100% rename from components/progress_stacked/progress_stacked.default.story.yml rename to components/progress_stacked/stories/progress_stacked.default.story.yml diff --git a/components/spinner/spinner.buttons.story.yml b/components/spinner/stories/spinner.buttons.story.yml similarity index 100% rename from components/spinner/spinner.buttons.story.yml rename to components/spinner/stories/spinner.buttons.story.yml diff --git a/components/spinner/spinner.color.story.yml b/components/spinner/stories/spinner.color.story.yml similarity index 100% rename from components/spinner/spinner.color.story.yml rename to components/spinner/stories/spinner.color.story.yml diff --git a/components/spinner/spinner.default.story.yml b/components/spinner/stories/spinner.default.story.yml similarity index 100% rename from components/spinner/spinner.default.story.yml rename to components/spinner/stories/spinner.default.story.yml diff --git a/components/spinner/spinner.margin.story.yml b/components/spinner/stories/spinner.margin.story.yml similarity index 100% rename from components/spinner/spinner.margin.story.yml rename to components/spinner/stories/spinner.margin.story.yml diff --git a/components/spinner/spinner.placement_flex.story.yml b/components/spinner/stories/spinner.placement_flex.story.yml similarity index 100% rename from components/spinner/spinner.placement_flex.story.yml rename to components/spinner/stories/spinner.placement_flex.story.yml diff --git a/components/spinner/spinner.placement_flex_2.story.yml b/components/spinner/stories/spinner.placement_flex_2.story.yml similarity index 100% rename from components/spinner/spinner.placement_flex_2.story.yml rename to components/spinner/stories/spinner.placement_flex_2.story.yml diff --git a/components/spinner/spinner.placement_float.story.yml b/components/spinner/stories/spinner.placement_float.story.yml similarity index 100% rename from components/spinner/spinner.placement_float.story.yml rename to components/spinner/stories/spinner.placement_float.story.yml diff --git a/components/spinner/spinner.placement_text.story.yml b/components/spinner/stories/spinner.placement_text.story.yml similarity index 100% rename from components/spinner/spinner.placement_text.story.yml rename to components/spinner/stories/spinner.placement_text.story.yml diff --git a/components/table/table.preview.story.yml b/components/table/stories/table.preview.story.yml similarity index 100% rename from components/table/table.preview.story.yml rename to components/table/stories/table.preview.story.yml diff --git a/components/table_cell/table_cell.preview.story.yml b/components/table_cell/stories/table_cell.preview.story.yml similarity index 100% rename from components/table_cell/table_cell.preview.story.yml rename to components/table_cell/stories/table_cell.preview.story.yml diff --git a/components/table_row/table_row.preview.story.yml b/components/table_row/stories/table_row.preview.story.yml similarity index 100% rename from components/table_row/table_row.preview.story.yml rename to components/table_row/stories/table_row.preview.story.yml diff --git a/components/toast/toast.basic.story.yml b/components/toast/stories/toast.basic.story.yml similarity index 100% rename from components/toast/toast.basic.story.yml rename to components/toast/stories/toast.basic.story.yml diff --git a/components/toast/toast.color.story.yml b/components/toast/stories/toast.color.story.yml similarity index 100% rename from components/toast/toast.color.story.yml rename to components/toast/stories/toast.color.story.yml diff --git a/components/toast/toast.custom_content.story.yml b/components/toast/stories/toast.custom_content.story.yml similarity index 100% rename from components/toast/toast.custom_content.story.yml rename to components/toast/stories/toast.custom_content.story.yml diff --git a/components/toast/toast.custom_content_control.story.yml b/components/toast/stories/toast.custom_content_control.story.yml similarity index 100% rename from components/toast/toast.custom_content_control.story.yml rename to components/toast/stories/toast.custom_content_control.story.yml diff --git a/components/toast/toast.translucent.story.yml b/components/toast/stories/toast.translucent.story.yml similarity index 100% rename from components/toast/toast.translucent.story.yml rename to components/toast/stories/toast.translucent.story.yml diff --git a/components/toast_container/toast_container.preview.story.yml b/components/toast_container/stories/toast_container.preview.story.yml similarity index 100% rename from components/toast_container/toast_container.preview.story.yml rename to components/toast_container/stories/toast_container.preview.story.yml -- GitLab From 5789508f3c7c302f38e0c5b4ef65ebd1cd4c44dd Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Wed, 12 Mar 2025 11:04:52 +0100 Subject: [PATCH 12/15] Issue #3485834 by grimreaper: table --- .../stories/table.accented_active.story.yml | 126 +++ .../table.accented_hoverable_rows.story.yml | 124 +++ .../table.accented_striped_columns.story.yml | 126 +++ .../table.accented_striped_rows.story.yml | 126 +++ ....accented_striped_rows_hoverable.story.yml | 112 ++ .../table/stories/table.anatomy.story.yml | 156 +++ .../stories/table.anatomy_caption.story.yml | 110 ++ .../table.anatomy_caption_top.story.yml | 112 ++ .../table/stories/table.bordered.story.yml | 132 +++ .../table/stories/table.borderless.story.yml | 124 +++ .../table/stories/table.colors_cell.story.yml | 226 +++++ .../table/stories/table.colors_row.story.yml | 226 +++++ .../stories/table.colors_table.story.yml | 72 ++ .../table/stories/table.default.story.yml | 109 ++ .../table/stories/table.nesting.story.yml | 193 ++++ .../table/stories/table.preview.story.yml | 959 ------------------ .../table/stories/table.responsive.story.yml | 472 +++++++++ .../table/stories/table.small.story.yml | 123 +++ .../table.table_group_dividers.story.yml | 134 +++ .../table.vertical_alignment.story.yml | 118 +++ .../stories/table_cell.preview.story.yml | 6 - .../stories/table_row.preview.story.yml | 3 - 22 files changed, 2921 insertions(+), 968 deletions(-) create mode 100644 components/table/stories/table.accented_active.story.yml create mode 100644 components/table/stories/table.accented_hoverable_rows.story.yml create mode 100644 components/table/stories/table.accented_striped_columns.story.yml create mode 100644 components/table/stories/table.accented_striped_rows.story.yml create mode 100644 components/table/stories/table.accented_striped_rows_hoverable.story.yml create mode 100644 components/table/stories/table.anatomy.story.yml create mode 100644 components/table/stories/table.anatomy_caption.story.yml create mode 100644 components/table/stories/table.anatomy_caption_top.story.yml create mode 100644 components/table/stories/table.bordered.story.yml create mode 100644 components/table/stories/table.borderless.story.yml create mode 100644 components/table/stories/table.colors_cell.story.yml create mode 100644 components/table/stories/table.colors_row.story.yml create mode 100644 components/table/stories/table.colors_table.story.yml create mode 100644 components/table/stories/table.default.story.yml create mode 100644 components/table/stories/table.nesting.story.yml delete mode 100644 components/table/stories/table.preview.story.yml create mode 100644 components/table/stories/table.responsive.story.yml create mode 100644 components/table/stories/table.small.story.yml create mode 100644 components/table/stories/table.table_group_dividers.story.yml create mode 100644 components/table/stories/table.vertical_alignment.story.yml delete mode 100644 components/table_cell/stories/table_cell.preview.story.yml delete mode 100644 components/table_row/stories/table_row.preview.story.yml diff --git a/components/table/stories/table.accented_active.story.yml b/components/table/stories/table.accented_active.story.yml new file mode 100644 index 00000000..a663b4cd --- /dev/null +++ b/components/table/stories/table.accented_active.story.yml @@ -0,0 +1,126 @@ +name: "Accented tables: active tables" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + props: + active: true + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + active: true + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default +library_wrapper: > + {% set examples = [ + 'default', + 'dark', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'variant': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/table/stories/table.accented_hoverable_rows.story.yml b/components/table/stories/table.accented_hoverable_rows.story.yml new file mode 100644 index 00000000..d3c7e72f --- /dev/null +++ b/components/table/stories/table.accented_hoverable_rows.story.yml @@ -0,0 +1,124 @@ +name: "Accented tables: hoverable rows" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default + hover: true +library_wrapper: > + {% set examples = [ + 'default', + 'dark', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'variant': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/table/stories/table.accented_striped_columns.story.yml b/components/table/stories/table.accented_striped_columns.story.yml new file mode 100644 index 00000000..86a7f34c --- /dev/null +++ b/components/table/stories/table.accented_striped_columns.story.yml @@ -0,0 +1,126 @@ +name: "Accented tables: striped columns" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default + stripes: + - striped-columns +library_wrapper: > + {% set examples = [ + 'default', + 'dark', + 'success', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'variant': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/table/stories/table.accented_striped_rows.story.yml b/components/table/stories/table.accented_striped_rows.story.yml new file mode 100644 index 00000000..5653533d --- /dev/null +++ b/components/table/stories/table.accented_striped_rows.story.yml @@ -0,0 +1,126 @@ +name: "Accented tables: striped rows" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default + stripes: + - striped +library_wrapper: > + {% set examples = [ + 'default', + 'dark', + 'success', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'variant': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/table/stories/table.accented_striped_rows_hoverable.story.yml b/components/table/stories/table.accented_striped_rows_hoverable.story.yml new file mode 100644 index 00000000..b43bb4e2 --- /dev/null +++ b/components/table/stories/table.accented_striped_rows_hoverable.story.yml @@ -0,0 +1,112 @@ +name: "Accented tables: hoverable striped rows" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default + stripes: + - striped + hover: true diff --git a/components/table/stories/table.anatomy.story.yml b/components/table/stories/table.anatomy.story.yml new file mode 100644 index 00000000..a833f6ec --- /dev/null +++ b/components/table/stories/table.anatomy.story.yml @@ -0,0 +1,156 @@ +name: "Anatomy: table head and foot" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "the Bird" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" + footer: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Footer" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Footer" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Footer" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Footer" +props: + variant: default +library_wrapper: > + {% set example_story = _story %} + {{ example_story }} + + {% set examples = [ + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'header_color': example, + 'footer_color': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} + diff --git a/components/table/stories/table.anatomy_caption.story.yml b/components/table/stories/table.anatomy_caption.story.yml new file mode 100644 index 00000000..f3c5f254 --- /dev/null +++ b/components/table/stories/table.anatomy_caption.story.yml @@ -0,0 +1,110 @@ +name: "Anatomy: captions" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" + caption: "List of users" +props: + variant: default diff --git a/components/table/stories/table.anatomy_caption_top.story.yml b/components/table/stories/table.anatomy_caption_top.story.yml new file mode 100644 index 00000000..83f605a8 --- /dev/null +++ b/components/table/stories/table.anatomy_caption_top.story.yml @@ -0,0 +1,112 @@ +name: "Anatomy: captions top" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "the Bird" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" + caption: "List of users" +props: + variant: default + caption_top: true diff --git a/components/table/stories/table.bordered.story.yml b/components/table/stories/table.bordered.story.yml new file mode 100644 index 00000000..170df5b0 --- /dev/null +++ b/components/table/stories/table.bordered.story.yml @@ -0,0 +1,132 @@ +name: "Table borders: bordered tables" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default + borders: bordered +library_wrapper: > + {% set example_story = _story %} + {{ example_story }} + + {% set examples = [ + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({'attributes': create_attribute({ + class: ['border-' ~ example] + })})} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/table/stories/table.borderless.story.yml b/components/table/stories/table.borderless.story.yml new file mode 100644 index 00000000..ad333de1 --- /dev/null +++ b/components/table/stories/table.borderless.story.yml @@ -0,0 +1,124 @@ +name: "Table borders: tables without borders" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default + borders: borderless +library_wrapper: > + {% set examples = [ + 'default', + 'dark', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'variant': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/table/stories/table.colors_cell.story.yml b/components/table/stories/table.colors_cell.story.yml new file mode 100644 index 00000000..6a1500d6 --- /dev/null +++ b/components/table/stories/table.colors_cell.story.yml @@ -0,0 +1,226 @@ +name: "Variants: color on cell" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Class" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Default" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Primary" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + props: + color: primary + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Secondary" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + props: + color: secondary + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Success" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + props: + color: success + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Danger" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + props: + color: danger + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Warning" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + props: + color: warning + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Info" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + props: + color: info + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Light" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + props: + color: light + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Dark" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + props: + color: dark + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" +props: + variant: default diff --git a/components/table/stories/table.colors_row.story.yml b/components/table/stories/table.colors_row.story.yml new file mode 100644 index 00000000..829d179a --- /dev/null +++ b/components/table/stories/table.colors_row.story.yml @@ -0,0 +1,226 @@ +name: "Variants: color on row" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Class" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Default" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + props: + color: primary + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Primary" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + props: + color: secondary + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Secondary" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + props: + color: success + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Success" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + props: + color: danger + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Danger" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + props: + color: warning + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Warning" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + props: + color: info + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Info" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + props: + color: light + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Light" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + props: + color: dark + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Dark" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" +props: + variant: default diff --git a/components/table/stories/table.colors_table.story.yml b/components/table/stories/table.colors_table.story.yml new file mode 100644 index 00000000..ac271538 --- /dev/null +++ b/components/table/stories/table.colors_table.story.yml @@ -0,0 +1,72 @@ +name: "Variants: color on table" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" +props: + variant: default +library_wrapper: > + {% set examples = [ + 'default', + 'primary', + 'secondary', + 'success', + 'danger', + 'warning', + 'info', + 'light', + 'dark', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'variant': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} + diff --git a/components/table/stories/table.default.story.yml b/components/table/stories/table.default.story.yml new file mode 100644 index 00000000..75efb417 --- /dev/null +++ b/components/table/stories/table.default.story.yml @@ -0,0 +1,109 @@ +name: Default +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default diff --git a/components/table/stories/table.nesting.story.yml b/components/table/stories/table.nesting.story.yml new file mode 100644 index 00000000..d45be78d --- /dev/null +++ b/components/table/stories/table.nesting.story.yml @@ -0,0 +1,193 @@ +name: Nesting +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + props: + attributes: + colspan: 4 + slots: + content: + - type: component + component: "ui_suite_bootstrap:table" + props: + attributes: + class: + - mb-0 + slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Header" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Header" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Header" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "A" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "B" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "C" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "the Bird" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default + stripes: + - striped + borders: bordered diff --git a/components/table/stories/table.preview.story.yml b/components/table/stories/table.preview.story.yml deleted file mode 100644 index 12b929b0..00000000 --- a/components/table/stories/table.preview.story.yml +++ /dev/null @@ -1,959 +0,0 @@ -name: Preview -slots: - header: - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head (active)" - props: - tag: th - active: true - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Table head" - props: - tag: th - rows: - - type: component - component: "ui_suite_bootstrap:table_row" - slots: - cells: - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 1" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 2" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 3" - props: - active: true - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 4" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 5" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 6" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 7" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 8" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 9" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 10" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 11" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 12" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 13" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 14" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 15" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 16" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 17" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 18" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 19" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 20" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 21" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 22" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 23" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 24" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 25" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 26" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 27" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 28" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 29" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 30" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 31" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 32" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 33" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 34" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 35" - props: - color: success - - type: component - component: "ui_suite_bootstrap:table_row" - slots: - cells: - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 1" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 2" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 3" - props: - active: true - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 4" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 5" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 6" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 7" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 8" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 9" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 10" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 11" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 12" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 13" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 14" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 15" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 16" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 17" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 18" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 19" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 20" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 21" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 22" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 23" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 24" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 25" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 26" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 27" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 28" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 29" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 30" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 31" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 32" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 33" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 34" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 35" - props: - color: warning - - type: component - component: "ui_suite_bootstrap:table_row" - slots: - cells: - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 1" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 2" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 3" - props: - active: true - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 4" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 5" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 6" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 7" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 8" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 9" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 10" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 11" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 12" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 13" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 14" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 15" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 16" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 17" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 18" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 19" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 20" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 21" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 22" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 23" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 24" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 25" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 26" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 27" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 28" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 29" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 30" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 31" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 32" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 33" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 34" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 35" - - type: component - component: "ui_suite_bootstrap:table_row" - slots: - cells: - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 1" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 2" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 3" - props: - active: true - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 4" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 5" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 6" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 7" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 8" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 9" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 10" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 11" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 12" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 13" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 14" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 15" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 16" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 17" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 18" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 19" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 20" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 21" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 22" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 23" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 24" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 25" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 26" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 27" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 28" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 29" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 30" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 31" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 32" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 33" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 34" - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: "Cell 35" - footer: - - type: component - component: "ui_suite_bootstrap:table_row" - slots: - cells: - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - props: - active: true - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - - type: component - component: "ui_suite_bootstrap:table_cell" - slots: - content: Footer - caption: "Example table (caption)" -props: - header_color: light - stripes: - - striped - hover: true - divider: - - tbody - responsive: responsive diff --git a/components/table/stories/table.responsive.story.yml b/components/table/stories/table.responsive.story.yml new file mode 100644 index 00000000..f4e52673 --- /dev/null +++ b/components/table/stories/table.responsive.story.yml @@ -0,0 +1,472 @@ +name: "Responsive tables" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Cell" +props: + variant: default + caption_top: true +library_wrapper: > + {% set examples = [ + 'responsive', + 'responsive-sm', + 'responsive-md', + 'responsive-lg', + 'responsive-xl', + 'responsive-xxl', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'responsive': example, + })} %} + {% set example_slots = {'#slots': _story['#slots']|merge({ + 'caption': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props)|merge(example_slots) }} + {% endfor %} diff --git a/components/table/stories/table.small.story.yml b/components/table/stories/table.small.story.yml new file mode 100644 index 00000000..76977b33 --- /dev/null +++ b/components/table/stories/table.small.story.yml @@ -0,0 +1,123 @@ +name: "Small tables" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" +props: + variant: default +library_wrapper: > + {% set examples = [ + 'sm', + 'dark__sm', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({ + 'variant': example, + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props) }} + {% endfor %} diff --git a/components/table/stories/table.table_group_dividers.story.yml b/components/table/stories/table.table_group_dividers.story.yml new file mode 100644 index 00000000..1f4a1884 --- /dev/null +++ b/components/table/stories/table.table_group_dividers.story.yml @@ -0,0 +1,134 @@ +name: "Table group dividers" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "#" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "First" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Last" + props: + tag: th + attributes: + scope: col + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Handle" + props: + tag: th + attributes: + scope: col + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "1" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Mark" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Otto" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@mdo" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "2" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Jacob" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Thornton" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@fat" + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "3" + props: + tag: th + attributes: + scope: row + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Larry the Bird" + props: + attributes: + colspan: 2 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "@twitter" + footer: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Footer" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Footer" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Footer" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Footer" +props: + variant: default + divider: + - thead + - tbody + - tfoot diff --git a/components/table/stories/table.vertical_alignment.story.yml b/components/table/stories/table.vertical_alignment.story.yml new file mode 100644 index 00000000..2e7bb599 --- /dev/null +++ b/components/table/stories/table.vertical_alignment.story.yml @@ -0,0 +1,118 @@ +name: "Vertical alignment" +slots: + header: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading 1" + props: + tag: th + attributes: + scope: col + class: + - w-25 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading 2" + props: + tag: th + attributes: + scope: col + class: + - w-25 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading 3" + props: + tag: th + attributes: + scope: col + class: + - w-25 + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "Heading 4" + props: + tag: th + attributes: + scope: col + class: + - w-25 + rows: + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This cell inherits <code>vertical-align: middle;</code> from the table" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This cell inherits <code>vertical-align: middle;</code> from the table" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This cell inherits <code>vertical-align: middle;</code> from the table" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This here is some placeholder text, intended to take up quite a bit of vertical space, to demonstrate how the vertical alignment works in the preceding cells." + - type: component + component: "ui_suite_bootstrap:table_row" + props: + attributes: + class: + - align-bottom + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This cell inherits <code>vertical-align: bottom;</code> from the table row" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This cell inherits <code>vertical-align: bottom;</code> from the table row" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This cell inherits <code>vertical-align: bottom;</code> from the table row" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This here is some placeholder text, intended to take up quite a bit of vertical space, to demonstrate how the vertical alignment works in the preceding cells." + - type: component + component: "ui_suite_bootstrap:table_row" + slots: + cells: + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This cell inherits <code>vertical-align: middle;</code> from the table" + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This cell inherits <code>vertical-align: middle;</code> from the table" + - type: component + component: "ui_suite_bootstrap:table_cell" + props: + attributes: + class: + - align-top + slots: + content: "This cell is aligned to the top." + - type: component + component: "ui_suite_bootstrap:table_cell" + slots: + content: "This here is some placeholder text, intended to take up quite a bit of vertical space, to demonstrate how the vertical alignment works in the preceding cells." +props: + variant: default + attributes: + class: + - align-middle + responsive: responsive diff --git a/components/table_cell/stories/table_cell.preview.story.yml b/components/table_cell/stories/table_cell.preview.story.yml deleted file mode 100644 index b3df7d74..00000000 --- a/components/table_cell/stories/table_cell.preview.story.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: Preview -slots: - content: "Cell content" -props: - tag: td - active: false diff --git a/components/table_row/stories/table_row.preview.story.yml b/components/table_row/stories/table_row.preview.story.yml deleted file mode 100644 index bc0b3e3c..00000000 --- a/components/table_row/stories/table_row.preview.story.yml +++ /dev/null @@ -1,3 +0,0 @@ -name: Preview -props: - active: false -- GitLab From 371e30fb4aa772d0ff987192c72404a802f36b42 Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Wed, 12 Mar 2025 17:18:31 +0100 Subject: [PATCH 13/15] Issue #3485834 by grimreaper: grid row + component library improvements --- .../dropdown/stories/dropdown.dark.story.yml | 25 ----- ...row.columns_alignment_horizontal.story.yml | 41 +++++++ ...olumns_alignment_vertical_center.story.yml | 21 ++++ ...w.columns_alignment_vertical_end.story.yml | 21 ++++ ...columns_alignment_vertical_start.story.yml | 21 ++++ .../grid_row.grid_equal_width_1.story.yml | 15 +++ .../grid_row.grid_equal_width_2.story.yml | 16 +++ .../stories/grid_row.grid_example.story.yml | 16 +++ .../grid_row.gutters_horizontal.story.yml | 28 +++++ .../grid_row.gutters_horizontal_2.story.yml | 28 +++++ ..._row.gutters_horizontal_vertical.story.yml | 46 ++++++++ .../grid_row.gutters_row_column.story.yml | 104 ++++++++++++++++++ .../grid_row.gutters_vertical.story.yml | 47 ++++++++ .../stories/grid_row.preview.story.yml | 27 ----- ...olumns_reordering_offset_class_3.story.yml | 15 +++ .../stories/grid_row_1.preview.story.yml | 12 -- ...ow_2.columns_reordering_margin_1.story.yml | 21 ++++ ...ow_2.columns_reordering_margin_2.story.yml | 22 ++++ ...ow_2.columns_reordering_margin_3.story.yml | 21 ++++ ...olumns_reordering_offset_class_1.story.yml | 21 ++++ ...olumns_reordering_offset_class_2.story.yml | 22 ++++ ...olumns_reordering_offset_class_4.story.yml | 23 ++++ ...olumns_reordering_offset_class_5.story.yml | 24 ++++ .../stories/grid_row_2.gutters_none.story.yml | 28 +++++ .../stories/grid_row_2.preview.story.yml | 18 --- ...ns_alignment_vertical_individual.story.yml | 32 ++++++ ...3.columns_reordering_order_class.story.yml | 27 +++++ ...columns_reordering_order_class_2.story.yml | 27 +++++ .../grid_row_3.columns_wrapping.story.yml | 24 ++++ ...id_row_3.grid_one_column_width_1.story.yml | 26 +++++ ...id_row_3.grid_one_column_width_2.story.yml | 26 +++++ ...grid_row_3.grid_variable_width_1.story.yml | 30 +++++ ...grid_row_3.grid_variable_width_2.story.yml | 27 +++++ .../stories/grid_row_3.preview.story.yml | 24 ---- .../grid_row_4.grid_row_columns_1.story.yml | 34 ++++++ .../grid_row_4.grid_row_columns_2.story.yml | 34 ++++++ .../grid_row_4.grid_row_columns_3.story.yml | 34 ++++++ .../grid_row_4.grid_row_columns_4.story.yml | 34 ++++++ .../grid_row_4.grid_row_columns_5.story.yml | 35 ++++++ .../grid_row_4.grid_row_columns_6.story.yml | 36 ++++++ .../stories/grid_row_4.preview.story.yml | 30 ----- .../ui-patterns-component-metadata.html.twig | 22 ++-- .../ui-patterns-overview-page.html.twig | 7 +- 43 files changed, 1039 insertions(+), 153 deletions(-) create mode 100644 components/grid_row/stories/grid_row.columns_alignment_horizontal.story.yml create mode 100644 components/grid_row/stories/grid_row.columns_alignment_vertical_center.story.yml create mode 100644 components/grid_row/stories/grid_row.columns_alignment_vertical_end.story.yml create mode 100644 components/grid_row/stories/grid_row.columns_alignment_vertical_start.story.yml create mode 100644 components/grid_row/stories/grid_row.grid_equal_width_1.story.yml create mode 100644 components/grid_row/stories/grid_row.grid_equal_width_2.story.yml create mode 100644 components/grid_row/stories/grid_row.grid_example.story.yml create mode 100644 components/grid_row/stories/grid_row.gutters_horizontal.story.yml create mode 100644 components/grid_row/stories/grid_row.gutters_horizontal_2.story.yml create mode 100644 components/grid_row/stories/grid_row.gutters_horizontal_vertical.story.yml create mode 100644 components/grid_row/stories/grid_row.gutters_row_column.story.yml create mode 100644 components/grid_row/stories/grid_row.gutters_vertical.story.yml delete mode 100644 components/grid_row/stories/grid_row.preview.story.yml create mode 100644 components/grid_row_1/stories/grid_row_1.columns_reordering_offset_class_3.story.yml delete mode 100644 components/grid_row_1/stories/grid_row_1.preview.story.yml create mode 100644 components/grid_row_2/stories/grid_row_2.columns_reordering_margin_1.story.yml create mode 100644 components/grid_row_2/stories/grid_row_2.columns_reordering_margin_2.story.yml create mode 100644 components/grid_row_2/stories/grid_row_2.columns_reordering_margin_3.story.yml create mode 100644 components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_1.story.yml create mode 100644 components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_2.story.yml create mode 100644 components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_4.story.yml create mode 100644 components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_5.story.yml create mode 100644 components/grid_row_2/stories/grid_row_2.gutters_none.story.yml delete mode 100644 components/grid_row_2/stories/grid_row_2.preview.story.yml create mode 100644 components/grid_row_3/stories/grid_row_3.columns_alignment_vertical_individual.story.yml create mode 100644 components/grid_row_3/stories/grid_row_3.columns_reordering_order_class.story.yml create mode 100644 components/grid_row_3/stories/grid_row_3.columns_reordering_order_class_2.story.yml create mode 100644 components/grid_row_3/stories/grid_row_3.columns_wrapping.story.yml create mode 100644 components/grid_row_3/stories/grid_row_3.grid_one_column_width_1.story.yml create mode 100644 components/grid_row_3/stories/grid_row_3.grid_one_column_width_2.story.yml create mode 100644 components/grid_row_3/stories/grid_row_3.grid_variable_width_1.story.yml create mode 100644 components/grid_row_3/stories/grid_row_3.grid_variable_width_2.story.yml delete mode 100644 components/grid_row_3/stories/grid_row_3.preview.story.yml create mode 100644 components/grid_row_4/stories/grid_row_4.grid_row_columns_1.story.yml create mode 100644 components/grid_row_4/stories/grid_row_4.grid_row_columns_2.story.yml create mode 100644 components/grid_row_4/stories/grid_row_4.grid_row_columns_3.story.yml create mode 100644 components/grid_row_4/stories/grid_row_4.grid_row_columns_4.story.yml create mode 100644 components/grid_row_4/stories/grid_row_4.grid_row_columns_5.story.yml create mode 100644 components/grid_row_4/stories/grid_row_4.grid_row_columns_6.story.yml delete mode 100644 components/grid_row_4/stories/grid_row_4.preview.story.yml diff --git a/components/dropdown/stories/dropdown.dark.story.yml b/components/dropdown/stories/dropdown.dark.story.yml index 22af3fa9..abf262d4 100644 --- a/components/dropdown/stories/dropdown.dark.story.yml +++ b/components/dropdown/stories/dropdown.dark.story.yml @@ -18,28 +18,3 @@ props: - {} - title: "Separated link" url: "#" -#library_wrapper: > -# {% set examples = [ -# 'primary', -# 'secondary', -# 'success', -# 'danger', -# 'warning', -# 'info', -# 'light', -# 'dark', -# ] %} -# -# <div class="d-inline-flex"> -# {% for example in examples %} -# {% set example_props = {'#props': _story['#props']|merge({ -# 'button_variant': example, -# })} %} -# {% set example_slots = {'#slots': _story['#slots']|merge({ -# 'title': example|capitalize, -# })} %} -# -# {% set example_story = _story %} -# {{ example_story|merge(example_props)|merge(example_slots) }} -# {% endfor %} -# </div> diff --git a/components/grid_row/stories/grid_row.columns_alignment_horizontal.story.yml b/components/grid_row/stories/grid_row.columns_alignment_horizontal.story.yml new file mode 100644 index 00000000..e511ee6f --- /dev/null +++ b/components/grid_row/stories/grid_row.columns_alignment_horizontal.story.yml @@ -0,0 +1,41 @@ +name: "Columns: horizontal alignment" +slots: + content: + - "One of two columns" + - "One of two columns" +props: + container: container + container_attributes: + class: + - text-center + - my-3 + col_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_xs: 4 +library_wrapper: > + {% set examples = [ + 'justify-content-start', + 'justify-content-center', + 'justify-content-end', + 'justify-content-around', + 'justify-content-between', + 'justify-content-evenly', + ] %} + + {% for example in examples %} + {% set example_props = {'#props': _story['#props']|merge({'attributes': create_attribute({ + class: [example] + })})} %} + {% set example_slots = {'#slots': _story['#slots']|merge({ + 'content': [ + example, + example, + ], + })} %} + + {% set example_story = _story %} + {{ example_story|merge(example_props)|merge(example_slots) }} + {% endfor %} diff --git a/components/grid_row/stories/grid_row.columns_alignment_vertical_center.story.yml b/components/grid_row/stories/grid_row.columns_alignment_vertical_center.story.yml new file mode 100644 index 00000000..6dac39b2 --- /dev/null +++ b/components/grid_row/stories/grid_row.columns_alignment_vertical_center.story.yml @@ -0,0 +1,21 @@ +name: "Columns: vertical alignment: center" +slots: + content: + - "One of three columns" + - "One of three columns" + - "One of three columns" +props: + container: container + container_attributes: + class: + - text-center + attributes: + style: "min-height: 10rem;" + class: + - align-items-center + - bg-secondary-subtle + col_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row/stories/grid_row.columns_alignment_vertical_end.story.yml b/components/grid_row/stories/grid_row.columns_alignment_vertical_end.story.yml new file mode 100644 index 00000000..a318110a --- /dev/null +++ b/components/grid_row/stories/grid_row.columns_alignment_vertical_end.story.yml @@ -0,0 +1,21 @@ +name: "Columns: vertical alignment: end" +slots: + content: + - "One of three columns" + - "One of three columns" + - "One of three columns" +props: + container: container + container_attributes: + class: + - text-center + attributes: + style: "min-height: 10rem;" + class: + - align-items-end + - bg-secondary-subtle + col_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row/stories/grid_row.columns_alignment_vertical_start.story.yml b/components/grid_row/stories/grid_row.columns_alignment_vertical_start.story.yml new file mode 100644 index 00000000..cf72e52b --- /dev/null +++ b/components/grid_row/stories/grid_row.columns_alignment_vertical_start.story.yml @@ -0,0 +1,21 @@ +name: "Columns: vertical alignment: start" +slots: + content: + - "One of three columns" + - "One of three columns" + - "One of three columns" +props: + container: container + container_attributes: + class: + - text-center + attributes: + style: "min-height: 10rem;" + class: + - align-items-start + - bg-secondary-subtle + col_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row/stories/grid_row.grid_equal_width_1.story.yml b/components/grid_row/stories/grid_row.grid_equal_width_1.story.yml new file mode 100644 index 00000000..23c91984 --- /dev/null +++ b/components/grid_row/stories/grid_row.grid_equal_width_1.story.yml @@ -0,0 +1,15 @@ +name: "Grid system: Auto-layout columns: Equal-width 1" +slots: + content: + - "1 of 2" + - "2 of 2" +props: + container: container + container_attributes: + class: + - text-center + col_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row/stories/grid_row.grid_equal_width_2.story.yml b/components/grid_row/stories/grid_row.grid_equal_width_2.story.yml new file mode 100644 index 00000000..a3b82488 --- /dev/null +++ b/components/grid_row/stories/grid_row.grid_equal_width_2.story.yml @@ -0,0 +1,16 @@ +name: "Grid system: Auto-layout columns: Equal-width 2" +slots: + content: + - "1 of 3" + - "2 of 3" + - "3 of 3" +props: + container: container + container_attributes: + class: + - text-center + col_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row/stories/grid_row.grid_example.story.yml b/components/grid_row/stories/grid_row.grid_example.story.yml new file mode 100644 index 00000000..3b3e0b00 --- /dev/null +++ b/components/grid_row/stories/grid_row.grid_example.story.yml @@ -0,0 +1,16 @@ +name: "Grid system: example" +slots: + content: + - "Column" + - "Column" + - "Column" +props: + container: container + container_attributes: + class: + - text-center + col_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row/stories/grid_row.gutters_horizontal.story.yml b/components/grid_row/stories/grid_row.gutters_horizontal.story.yml new file mode 100644 index 00000000..3b4fa388 --- /dev/null +++ b/components/grid_row/stories/grid_row.gutters_horizontal.story.yml @@ -0,0 +1,28 @@ +name: "Gutters: horizontal gutters" +slots: + content: + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle +props: + container: container + container_attributes: + class: + - px-4 + - text-center + gutters_horizontal: gx-5 diff --git a/components/grid_row/stories/grid_row.gutters_horizontal_2.story.yml b/components/grid_row/stories/grid_row.gutters_horizontal_2.story.yml new file mode 100644 index 00000000..5949365e --- /dev/null +++ b/components/grid_row/stories/grid_row.gutters_horizontal_2.story.yml @@ -0,0 +1,28 @@ +name: "Gutters: horizontal gutters alternative" +slots: + content: + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle +props: + container: container + container_attributes: + class: + - overflow-hidden + - text-center + gutters_horizontal: gx-5 diff --git a/components/grid_row/stories/grid_row.gutters_horizontal_vertical.story.yml b/components/grid_row/stories/grid_row.gutters_horizontal_vertical.story.yml new file mode 100644 index 00000000..0ffcd3c9 --- /dev/null +++ b/components/grid_row/stories/grid_row.gutters_horizontal_vertical.story.yml @@ -0,0 +1,46 @@ +name: "Gutters: horizontal & vertical gutters" +slots: + content: + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle +props: + container: container + container_attributes: + class: + - text-center + gutters: g-2 + col_xs: 6 diff --git a/components/grid_row/stories/grid_row.gutters_row_column.story.yml b/components/grid_row/stories/grid_row.gutters_row_column.story.yml new file mode 100644 index 00000000..8f01ebc0 --- /dev/null +++ b/components/grid_row/stories/grid_row.gutters_row_column.story.yml @@ -0,0 +1,104 @@ +name: "Gutters: row columns gutters" +slots: + content: + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Row column" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle +props: + container: container + container_attributes: + class: + - text-center + gutters: g-2 + row_cols: 2 + attributes: + class: + - g-lg-3 + - row-cols-lg-5 diff --git a/components/grid_row/stories/grid_row.gutters_vertical.story.yml b/components/grid_row/stories/grid_row.gutters_vertical.story.yml new file mode 100644 index 00000000..919b2046 --- /dev/null +++ b/components/grid_row/stories/grid_row.gutters_vertical.story.yml @@ -0,0 +1,47 @@ +name: "Gutters: vertical gutters" +slots: + content: + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle + - type: html_tag + tag: div + value: "Custom column padding" + attributes: + class: + - p-3 + - bg-primary-subtle + - border + - border-primary-subtle +props: + container: container + container_attributes: + class: + - overflow-hidden + - text-center + gutters_vertical: gy-5 + col_xs: 6 diff --git a/components/grid_row/stories/grid_row.preview.story.yml b/components/grid_row/stories/grid_row.preview.story.yml deleted file mode 100644 index bee7231b..00000000 --- a/components/grid_row/stories/grid_row.preview.story.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Preview -slots: - content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default -props: - gutters: g-0 - col_xs: 12 - col_md: 3 diff --git a/components/grid_row_1/stories/grid_row_1.columns_reordering_offset_class_3.story.yml b/components/grid_row_1/stories/grid_row_1.columns_reordering_offset_class_3.story.yml new file mode 100644 index 00000000..9bd7f062 --- /dev/null +++ b/components/grid_row_1/stories/grid_row_1.columns_reordering_offset_class_3.story.yml @@ -0,0 +1,15 @@ +name: "Columns: reordering: offset classes 3" +slots: + col_1_content: ".col-md-6 .offset-md-3" +props: + container: container + container_attributes: + class: + - text-center + col_md: 6 + col_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - offset-md-3 diff --git a/components/grid_row_1/stories/grid_row_1.preview.story.yml b/components/grid_row_1/stories/grid_row_1.preview.story.yml deleted file mode 100644 index c20a6e1e..00000000 --- a/components/grid_row_1/stories/grid_row_1.preview.story.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: Preview -slots: - col_1_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default -props: - gutters: g-0 - col_xs: 12 - col_md: 3 diff --git a/components/grid_row_2/stories/grid_row_2.columns_reordering_margin_1.story.yml b/components/grid_row_2/stories/grid_row_2.columns_reordering_margin_1.story.yml new file mode 100644 index 00000000..e7e59fef --- /dev/null +++ b/components/grid_row_2/stories/grid_row_2.columns_reordering_margin_1.story.yml @@ -0,0 +1,21 @@ +name: "Columns: reordering: margin utilities 1" +slots: + col_1_content: ".col-md-4" + col_2_content: ".col-md-4 .ms-auto" +props: + container: container + container_attributes: + class: + - text-center + col_md: [4, 4] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - ms-auto diff --git a/components/grid_row_2/stories/grid_row_2.columns_reordering_margin_2.story.yml b/components/grid_row_2/stories/grid_row_2.columns_reordering_margin_2.story.yml new file mode 100644 index 00000000..58b1ca6f --- /dev/null +++ b/components/grid_row_2/stories/grid_row_2.columns_reordering_margin_2.story.yml @@ -0,0 +1,22 @@ +name: "Columns: reordering: margin utilities 2" +slots: + col_1_content: ".col-md-3 .ms-md-auto" + col_2_content: ".col-md-3 .ms-md-auto" +props: + container: container + container_attributes: + class: + - text-center + col_md: [3, 3] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - ms-md-auto + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - ms-md-auto diff --git a/components/grid_row_2/stories/grid_row_2.columns_reordering_margin_3.story.yml b/components/grid_row_2/stories/grid_row_2.columns_reordering_margin_3.story.yml new file mode 100644 index 00000000..6984f6a6 --- /dev/null +++ b/components/grid_row_2/stories/grid_row_2.columns_reordering_margin_3.story.yml @@ -0,0 +1,21 @@ +name: "Columns: reordering: margin utilities 3" +slots: + col_1_content: ".col-auto .me-auto" + col_2_content: ".col-auto" +props: + container: container + container_attributes: + class: + - text-center + col_xs: ['auto', 'auto'] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - me-auto + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_1.story.yml b/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_1.story.yml new file mode 100644 index 00000000..f392f1cc --- /dev/null +++ b/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_1.story.yml @@ -0,0 +1,21 @@ +name: "Columns: reordering: offset classes 1" +slots: + col_1_content: ".col-md-4" + col_2_content: ".col-md-4 .offset-md-4" +props: + container: container + container_attributes: + class: + - text-center + col_md: [4, 4] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - offset-md-4 diff --git a/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_2.story.yml b/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_2.story.yml new file mode 100644 index 00000000..ea9ee106 --- /dev/null +++ b/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_2.story.yml @@ -0,0 +1,22 @@ +name: "Columns: reordering: offset classes 2" +slots: + col_1_content: ".col-md-3 .offset-md-3" + col_2_content: ".col-md-3 .offset-md-3" +props: + container: container + container_attributes: + class: + - text-center + col_md: [3, 3] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - offset-md-3 + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - offset-md-3 diff --git a/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_4.story.yml b/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_4.story.yml new file mode 100644 index 00000000..c4160b18 --- /dev/null +++ b/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_4.story.yml @@ -0,0 +1,23 @@ +name: "Columns: reordering: offset classes 4" +slots: + col_1_content: ".col-sm-5 .col-md-6" + col_2_content: ".col-sm-5 .offset-sm-2 .col-md-6 .offset-md-0" +props: + container: container + container_attributes: + class: + - text-center + col_sm: [5, 5] + col_md: [6, 6] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - offset-sm-2 + - offset-md-0 diff --git a/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_5.story.yml b/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_5.story.yml new file mode 100644 index 00000000..62142bb8 --- /dev/null +++ b/components/grid_row_2/stories/grid_row_2.columns_reordering_offset_class_5.story.yml @@ -0,0 +1,24 @@ +name: "Columns: reordering: offset classes 5" +slots: + col_1_content: ".col-sm-6 .col-md-5 .col-lg-6" + col_2_content: ".col-sm-6 .col-md-5 .offset-md-2 .col-lg-6 .offset-lg-0" +props: + container: container + container_attributes: + class: + - text-center + col_sm: [6, 6] + col_md: [5, 5] + col_lg: [6, 6] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - offset-md-2 + - offset-lg-0 diff --git a/components/grid_row_2/stories/grid_row_2.gutters_none.story.yml b/components/grid_row_2/stories/grid_row_2.gutters_none.story.yml new file mode 100644 index 00000000..11a39070 --- /dev/null +++ b/components/grid_row_2/stories/grid_row_2.gutters_none.story.yml @@ -0,0 +1,28 @@ +name: "Gutters: no gutters" +slots: + col_1_content: + - type: html_tag + tag: div + value: ".col-sm-6 .col-md-8" + attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_content: + - type: html_tag + tag: div + value: ".col-6 .col-md-4" + attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle +props: + attributes: + class: + - text-center + gutters: g-0 + col_xs: ['', '6'] + col_sm: ['6', ''] + col_md: [8, 4] diff --git a/components/grid_row_2/stories/grid_row_2.preview.story.yml b/components/grid_row_2/stories/grid_row_2.preview.story.yml deleted file mode 100644 index 05d80aa0..00000000 --- a/components/grid_row_2/stories/grid_row_2.preview.story.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Preview -slots: - col_1_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default - col_2_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default -props: - gutters: g-0 - col_xs: [12, 12] - col_md: [6, 6] diff --git a/components/grid_row_3/stories/grid_row_3.columns_alignment_vertical_individual.story.yml b/components/grid_row_3/stories/grid_row_3.columns_alignment_vertical_individual.story.yml new file mode 100644 index 00000000..d7f1e56c --- /dev/null +++ b/components/grid_row_3/stories/grid_row_3.columns_alignment_vertical_individual.story.yml @@ -0,0 +1,32 @@ +name: "Columns: vertical alignment: individual" +slots: + col_1_content: "One of three columns" + col_2_content: "One of three columns" + col_3_content: "One of three columns" +props: + container: container + container_attributes: + class: + - text-center + attributes: + style: "min-height: 10rem;" + class: + - bg-secondary-subtle + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - align-self-start + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - align-self-center + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - align-self-end diff --git a/components/grid_row_3/stories/grid_row_3.columns_reordering_order_class.story.yml b/components/grid_row_3/stories/grid_row_3.columns_reordering_order_class.story.yml new file mode 100644 index 00000000..72193b74 --- /dev/null +++ b/components/grid_row_3/stories/grid_row_3.columns_reordering_order_class.story.yml @@ -0,0 +1,27 @@ +name: "Columns: reordering: order classes" +slots: + col_1_content: "First in DOM, no order applied" + col_2_content: "Second in DOM, with a larger order" + col_3_content: "Third in DOM, with an order of 1" +props: + container: container + container_attributes: + class: + - text-center + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - order-5 + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - order-1 diff --git a/components/grid_row_3/stories/grid_row_3.columns_reordering_order_class_2.story.yml b/components/grid_row_3/stories/grid_row_3.columns_reordering_order_class_2.story.yml new file mode 100644 index 00000000..d086ef9a --- /dev/null +++ b/components/grid_row_3/stories/grid_row_3.columns_reordering_order_class_2.story.yml @@ -0,0 +1,27 @@ +name: "Columns: reordering: order classes first/last" +slots: + col_1_content: "First in DOM, ordered last" + col_2_content: "Second in DOM, unordered" + col_3_content: "Third in DOM, ordered first" +props: + container: container + container_attributes: + class: + - text-center + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - order-last + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + - order-first diff --git a/components/grid_row_3/stories/grid_row_3.columns_wrapping.story.yml b/components/grid_row_3/stories/grid_row_3.columns_wrapping.story.yml new file mode 100644 index 00000000..7fc0bfbc --- /dev/null +++ b/components/grid_row_3/stories/grid_row_3.columns_wrapping.story.yml @@ -0,0 +1,24 @@ +name: "Columns: column wrapping" +description: "If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line." +slots: + col_1_content: ".col-9" + col_2_content: ".col-4<br>Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit." + col_3_content: ".col-6<br>Subsequent columns continue along the new line." +props: + container: container + col_xs: [9, 4, 6] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_3/stories/grid_row_3.grid_one_column_width_1.story.yml b/components/grid_row_3/stories/grid_row_3.grid_one_column_width_1.story.yml new file mode 100644 index 00000000..083e59cb --- /dev/null +++ b/components/grid_row_3/stories/grid_row_3.grid_one_column_width_1.story.yml @@ -0,0 +1,26 @@ +name: "Grid system: Auto-layout columns: Setting one column width 1" +slots: + col_1_content: "1 of 3" + col_2_content: "2 of 3 (wider)" + col_3_content: "3 of 3" +props: + container: container + container_attributes: + class: + - text-center + col_xs: ['', '6', ''] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_3/stories/grid_row_3.grid_one_column_width_2.story.yml b/components/grid_row_3/stories/grid_row_3.grid_one_column_width_2.story.yml new file mode 100644 index 00000000..25e928de --- /dev/null +++ b/components/grid_row_3/stories/grid_row_3.grid_one_column_width_2.story.yml @@ -0,0 +1,26 @@ +name: "Grid system: Auto-layout columns: Setting one column width 2" +slots: + col_1_content: "1 of 3" + col_2_content: "2 of 3 (wider)" + col_3_content: "3 of 3" +props: + container: container + container_attributes: + class: + - text-center + col_xs: ['', '5', ''] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_3/stories/grid_row_3.grid_variable_width_1.story.yml b/components/grid_row_3/stories/grid_row_3.grid_variable_width_1.story.yml new file mode 100644 index 00000000..42290502 --- /dev/null +++ b/components/grid_row_3/stories/grid_row_3.grid_variable_width_1.story.yml @@ -0,0 +1,30 @@ +name: "Grid system: Auto-layout columns: Variable width content 1" +slots: + col_1_content: "1 of 3" + col_2_content: "Variable width content" + col_3_content: "3 of 3" +props: + container: container + container_attributes: + class: + - text-center + attributes: + class: + - justify-content-md-center + col_md: ['', 'auto', ''] + col_lg: ['2', '', '2'] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_3/stories/grid_row_3.grid_variable_width_2.story.yml b/components/grid_row_3/stories/grid_row_3.grid_variable_width_2.story.yml new file mode 100644 index 00000000..f4840bf4 --- /dev/null +++ b/components/grid_row_3/stories/grid_row_3.grid_variable_width_2.story.yml @@ -0,0 +1,27 @@ +name: "Grid system: Auto-layout columns: Variable width content 2" +slots: + col_1_content: "1 of 3" + col_2_content: "Variable width content" + col_3_content: "3 of 3" +props: + container: container + container_attributes: + class: + - text-center + col_md: ['', 'auto', ''] + col_lg: ['', '', '2'] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_3/stories/grid_row_3.preview.story.yml b/components/grid_row_3/stories/grid_row_3.preview.story.yml deleted file mode 100644 index 9cff69cd..00000000 --- a/components/grid_row_3/stories/grid_row_3.preview.story.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Preview -slots: - col_1_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default - col_2_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default - col_3_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default -props: - gutters: g-0 - col_xs: [12, 12, 12] - col_md: [4, 4, 4] diff --git a/components/grid_row_4/stories/grid_row_4.grid_row_columns_1.story.yml b/components/grid_row_4/stories/grid_row_4.grid_row_columns_1.story.yml new file mode 100644 index 00000000..c0de1bb4 --- /dev/null +++ b/components/grid_row_4/stories/grid_row_4.grid_row_columns_1.story.yml @@ -0,0 +1,34 @@ +name: "Grid system: Responsive classes: Row columns 1" +slots: + col_1_content: "Column" + col_2_content: "Column" + col_3_content: "Column" + col_4_content: "Column" +props: + container: container + container_attributes: + class: + - text-center + attributes: + class: + - row-cols-2 + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_4_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_4/stories/grid_row_4.grid_row_columns_2.story.yml b/components/grid_row_4/stories/grid_row_4.grid_row_columns_2.story.yml new file mode 100644 index 00000000..1403fe23 --- /dev/null +++ b/components/grid_row_4/stories/grid_row_4.grid_row_columns_2.story.yml @@ -0,0 +1,34 @@ +name: "Grid system: Responsive classes: Row columns 2" +slots: + col_1_content: "Column" + col_2_content: "Column" + col_3_content: "Column" + col_4_content: "Column" +props: + container: container + container_attributes: + class: + - text-center + attributes: + class: + - row-cols-3 + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_4_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_4/stories/grid_row_4.grid_row_columns_3.story.yml b/components/grid_row_4/stories/grid_row_4.grid_row_columns_3.story.yml new file mode 100644 index 00000000..8b5d426f --- /dev/null +++ b/components/grid_row_4/stories/grid_row_4.grid_row_columns_3.story.yml @@ -0,0 +1,34 @@ +name: "Grid system: Responsive classes: Row columns 3" +slots: + col_1_content: "Column" + col_2_content: "Column" + col_3_content: "Column" + col_4_content: "Column" +props: + container: container + container_attributes: + class: + - text-center + attributes: + class: + - row-cols-auto + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_4_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_4/stories/grid_row_4.grid_row_columns_4.story.yml b/components/grid_row_4/stories/grid_row_4.grid_row_columns_4.story.yml new file mode 100644 index 00000000..d381d080 --- /dev/null +++ b/components/grid_row_4/stories/grid_row_4.grid_row_columns_4.story.yml @@ -0,0 +1,34 @@ +name: "Grid system: Responsive classes: Row columns 4" +slots: + col_1_content: "Column" + col_2_content: "Column" + col_3_content: "Column" + col_4_content: "Column" +props: + container: container + container_attributes: + class: + - text-center + attributes: + class: + - row-cols-4 + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_4_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_4/stories/grid_row_4.grid_row_columns_5.story.yml b/components/grid_row_4/stories/grid_row_4.grid_row_columns_5.story.yml new file mode 100644 index 00000000..f8b831da --- /dev/null +++ b/components/grid_row_4/stories/grid_row_4.grid_row_columns_5.story.yml @@ -0,0 +1,35 @@ +name: "Grid system: Responsive classes: Row columns 5" +slots: + col_1_content: "Column" + col_2_content: "Column" + col_3_content: "Column" + col_4_content: "Column" +props: + container: container + container_attributes: + class: + - text-center + attributes: + class: + - row-cols-4 + col_xs: ['', '', '6', ''] + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_4_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_4/stories/grid_row_4.grid_row_columns_6.story.yml b/components/grid_row_4/stories/grid_row_4.grid_row_columns_6.story.yml new file mode 100644 index 00000000..b712e2f7 --- /dev/null +++ b/components/grid_row_4/stories/grid_row_4.grid_row_columns_6.story.yml @@ -0,0 +1,36 @@ +name: "Grid system: Responsive classes: Row columns 6" +slots: + col_1_content: "Column" + col_2_content: "Column" + col_3_content: "Column" + col_4_content: "Column" +props: + container: container + container_attributes: + class: + - text-center + attributes: + class: + - row-cols-1 + - row-cols-sm-2 + - row-cols-md-4 + col_1_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_2_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_3_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle + col_4_attributes: + class: + - bg-primary-subtle + - border + - border-primary-subtle diff --git a/components/grid_row_4/stories/grid_row_4.preview.story.yml b/components/grid_row_4/stories/grid_row_4.preview.story.yml deleted file mode 100644 index 54d4cbc3..00000000 --- a/components/grid_row_4/stories/grid_row_4.preview.story.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Preview -slots: - col_1_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default - col_2_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default - col_3_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default - col_4_content: - - type: component - component: "ui_suite_bootstrap:card" - story: preview - props: - variant: default -props: - gutters: g-0 - col_xs: [12, 12, 12, 12] - col_md: [3, 3, 3, 3] diff --git a/templates/ui_patterns_library/ui-patterns-component-metadata.html.twig b/templates/ui_patterns_library/ui-patterns-component-metadata.html.twig index a85a0d09..ea4d0ea9 100644 --- a/templates/ui_patterns_library/ui-patterns-component-metadata.html.twig +++ b/templates/ui_patterns_library/ui-patterns-component-metadata.html.twig @@ -16,21 +16,13 @@ {% endif %} {% if component.links %} <div class="ui_patterns_component__links"> - {% if component.links|length > 1 %} - {{ 'Links:'|t }} - <ul> - {% for link in component.links %} - <li class="ui_patterns_component__link"> - <a href="{{ link.url }}" class="btn btn-sm btn-primary">{{ link.title|default('External documentation'|t) }}</a> - </li> - {% endfor %} - </ul> - {% else %} - <p class="ui_patterns_component__link"> - {% set link = component.links|first %} - <a href="{{ link.url }}" class="btn btn-sm btn-primary">{{ link.title|default('External documentation'|t) }}</a> - </p> - {% endif %} + <ul class="list-inline"> + {% for link in component.links %} + <li class="ui_patterns_component__link list-inline-item"> + <a href="{{ link.url }}" class="btn btn-sm btn-primary">{{ link.title|default('External documentation'|t) }}</a> + </li> + {% endfor %} + </ul> </div> {% endif %} {% if component.replaces %} diff --git a/templates/ui_patterns_library/ui-patterns-overview-page.html.twig b/templates/ui_patterns_library/ui-patterns-overview-page.html.twig index c9c2f2a9..911ee6c1 100644 --- a/templates/ui_patterns_library/ui-patterns-overview-page.html.twig +++ b/templates/ui_patterns_library/ui-patterns-overview-page.html.twig @@ -33,10 +33,13 @@ {{ include('ui-patterns-component-metadata.html.twig', {component: component}, with_context=false) }} {{ include('ui-patterns-component-table.html.twig', {component: component}, with_context=false) }} {% if component.stories %} - {{ include('ui-patterns-stories-compact.html.twig', {component: component}, with_context=false) }} + <a href="{{ url('ui_patterns_library.single', {provider: component.provider, machineName: component.machineName}) }}" + class="btn btn-primary icon-link icon-link-hover">{% trans %}See example{% plural component.stories|length %}See examples{% endtrans %}{{ icon('bootstrap', 'arrow-right', { + 'size': '1em', + }) }}</a> {% endif %} </div> - <hr class="my-5"> + <hr class="my-4"> {% endfor %} {% endfor %} </div> -- GitLab From 1b2db706f889ea4a8c55ec7920390216404e8438 Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Thu, 13 Mar 2025 11:42:31 +0100 Subject: [PATCH 14/15] Issue #3485834 by grimreaper: fix missing cases found. --- .../card.content_types_header_quote.story.yml | 2 +- components/carousel/carousel.component.yml | 10 +++++++ components/carousel/carousel.twig | 6 ++-- .../stories/carousel.autoplay.story.yml | 1 + ...ousel.autoplay_first_interaction.story.yml | 28 +++++++++++++++++++ ...sel.autoplay_individual_interval.story.yml | 1 + .../carousel.autoplay_no_controls.story.yml | 1 + .../dropdown.menu_content_text.story.yml | 12 -------- components/navbar/navbar.component.yml | 4 +-- 9 files changed, 47 insertions(+), 18 deletions(-) create mode 100644 components/carousel/stories/carousel.autoplay_first_interaction.story.yml delete mode 100644 components/dropdown/stories/dropdown.menu_content_text.story.yml diff --git a/components/card/stories/card.content_types_header_quote.story.yml b/components/card/stories/card.content_types_header_quote.story.yml index 30b46257..f5cb1ea8 100644 --- a/components/card/stories/card.content_types_header_quote.story.yml +++ b/components/card/stories/card.content_types_header_quote.story.yml @@ -1,4 +1,4 @@ -# @todo the blockquote component is not providing the expected HTML. +# @todo Update when upstream issue will be fixed: https://github.com/twbs/bootstrap/issues/41292 name: "Content types: header quote" slots: header: "Quote" diff --git a/components/carousel/carousel.component.yml b/components/carousel/carousel.component.yml index 4a723097..8f6ee45e 100644 --- a/components/carousel/carousel.component.yml +++ b/components/carousel/carousel.component.yml @@ -39,6 +39,16 @@ props: description: "The amount of time to delay between automatically cycling to the next item. In ms. 0 to disable autoplay." type: number default: 5000 + autoplay_mode: + title: "Autoplaying mode" + description: "This option applies only if the interval is more than 0." + type: string + enum: + - "true" + - carousel + "meta:enum": + "true": "After the first interaction" + carousel: "On page load" carousel_id: title: ID description: "Must start with a letter. Randomly generated if empty." diff --git a/components/carousel/carousel.twig b/components/carousel/carousel.twig index c1dae6d2..f5de112d 100644 --- a/components/carousel/carousel.twig +++ b/components/carousel/carousel.twig @@ -9,13 +9,13 @@ {% endif %} {% set interval = interval|default(5000) %} -{% set data_bs_ride = 'carousel' %} +{% set autoplay_mode = autoplay_mode|default('carousel') %} {% if interval == 0 %} {% set interval = 'false' %} - {% set data_bs_ride = false %} + {% set autoplay_mode = false %} {% endif %} {% set attributes = attributes.setAttribute('data-bs-interval', interval) %} -{% set attributes = attributes.setAttribute('data-bs-ride', data_bs_ride) %} +{% set attributes = attributes.setAttribute('data-bs-ride', autoplay_mode) %} {% set carousel_id = carousel_id|default("carousel-" ~ random()) %} {% set slides = slides and slides is not sequence ? [slides] : slides %} diff --git a/components/carousel/stories/carousel.autoplay.story.yml b/components/carousel/stories/carousel.autoplay.story.yml index 8a645c36..606e7cbd 100644 --- a/components/carousel/stories/carousel.autoplay.story.yml +++ b/components/carousel/stories/carousel.autoplay.story.yml @@ -25,3 +25,4 @@ props: with_indicators: false with_touch: true interval: 5000 + autoplay_mode: carousel diff --git a/components/carousel/stories/carousel.autoplay_first_interaction.story.yml b/components/carousel/stories/carousel.autoplay_first_interaction.story.yml new file mode 100644 index 00000000..179c1d29 --- /dev/null +++ b/components/carousel/stories/carousel.autoplay_first_interaction.story.yml @@ -0,0 +1,28 @@ +name: "Autoplaying carousels: after first interaction" +slots: + slides: + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IEZpcnN0IHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM3NzciPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzU1NSIgZHk9Ii4zZW0iPkZpcnN0IHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFNlY29uZCBzbGlkZSI+PHRpdGxlPlBsYWNlaG9sZGVyPC90aXRsZT48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSIjNjY2Ij48L3JlY3Q+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGZpbGw9IiM0NDQiIGR5PSIuM2VtIj5TZWNvbmQgc2xpZGU8L3RleHQ+PC9zdmc+Cg==" + - type: component + component: "ui_suite_bootstrap:carousel_item" + slots: + image: + theme: image + uri: "data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iZm9udC1zaXplOiAzLjVyZW07IHRleHQtYW5jaG9yOiBtaWRkbGU7IHVzZXItc2VsZWN0OiBub25lIiB3aWR0aD0iMTkyMCIgaGVpZ2h0PSI2NDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iUGxhY2Vob2xkZXI6IFRoaXJkIHNsaWRlIj48dGl0bGU+UGxhY2Vob2xkZXI8L3RpdGxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiM1NTUiPjwvcmVjdD48dGV4dCB4PSI1MCUiIHk9IjUwJSIgZmlsbD0iIzMzMyIgZHk9Ii4zZW0iPlRoaXJkIHNsaWRlPC90ZXh0Pjwvc3ZnPgo=" +props: + variant: default + with_controls: true + with_indicators: false + with_touch: true + interval: 5000 + autoplay_mode: "true" diff --git a/components/carousel/stories/carousel.autoplay_individual_interval.story.yml b/components/carousel/stories/carousel.autoplay_individual_interval.story.yml index f323e2e5..503a70c5 100644 --- a/components/carousel/stories/carousel.autoplay_individual_interval.story.yml +++ b/components/carousel/stories/carousel.autoplay_individual_interval.story.yml @@ -29,3 +29,4 @@ props: with_indicators: false with_touch: true interval: 5000 + autoplay_mode: carousel diff --git a/components/carousel/stories/carousel.autoplay_no_controls.story.yml b/components/carousel/stories/carousel.autoplay_no_controls.story.yml index 2aea07eb..def4cbd8 100644 --- a/components/carousel/stories/carousel.autoplay_no_controls.story.yml +++ b/components/carousel/stories/carousel.autoplay_no_controls.story.yml @@ -25,3 +25,4 @@ props: with_indicators: false with_touch: true interval: 5000 + autoplay_mode: carousel diff --git a/components/dropdown/stories/dropdown.menu_content_text.story.yml b/components/dropdown/stories/dropdown.menu_content_text.story.yml deleted file mode 100644 index 08aac55b..00000000 --- a/components/dropdown/stories/dropdown.menu_content_text.story.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: "Menu content: text" -slots: - title: "Dropdown with text" -props: - variant: dropdown - content: - - title: "Some example text that's free-flowing within the dropdown menu." - - title: "And this is more example text." - button_variant: secondary - -# @todo make dropdown menu attributes a prop? And add a new slot for free content? - diff --git a/components/navbar/navbar.component.yml b/components/navbar/navbar.component.yml index 43bf8e86..3e524edc 100644 --- a/components/navbar/navbar.component.yml +++ b/components/navbar/navbar.component.yml @@ -48,8 +48,8 @@ props: description: "Must start with a letter. Randomly generated if empty." $ref: "ui-patterns://identifier" placement: - # @todo deprecate now that it is possible to control the component attributes and the link with styles is done? - title: Placement + title: "Placement (deprecated)" + description: "Deprecated, use class in attributes instead." type: string enum: - default -- GitLab From 61eef3a8f9645977a47d0a107b8b7c4cd70e8035 Mon Sep 17 00:00:00 2001 From: Florent Torregrosa <florent.torregrosa@gmail.com> Date: Thu, 13 Mar 2025 11:47:39 +0100 Subject: [PATCH 15/15] Issue #3485834 by grimreaper: fix CI --- .cspell-project-words.txt | 1 + components/navbar/stories/navbar.external_content.story.yml | 1 - components/spinner/stories/spinner.buttons.story.yml | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.cspell-project-words.txt b/.cspell-project-words.txt index b2f864f9..47feba94 100644 --- a/.cspell-project-words.txt +++ b/.cspell-project-words.txt @@ -5,6 +5,7 @@ amet augue autocompleteselect autohide +autoplaying backoffice bfont bibendum diff --git a/components/navbar/stories/navbar.external_content.story.yml b/components/navbar/stories/navbar.external_content.story.yml index 484443c2..ead48fb2 100644 --- a/components/navbar/stories/navbar.external_content.story.yml +++ b/components/navbar/stories/navbar.external_content.story.yml @@ -1,5 +1,4 @@ name: "External content" -slots: props: variant: dark attributes: diff --git a/components/spinner/stories/spinner.buttons.story.yml b/components/spinner/stories/spinner.buttons.story.yml index ffb57d86..89d3e0e0 100644 --- a/components/spinner/stories/spinner.buttons.story.yml +++ b/components/spinner/stories/spinner.buttons.story.yml @@ -1,6 +1,5 @@ name: "Buttons" props: -# variant: border aria_hidden: true library_wrapper: > <button class="btn btn-primary" type="button" disabled> -- GitLab