From 57b2fb9ff8740a9cbadb49cd80c2aa481eba574e Mon Sep 17 00:00:00 2001 From: Thijs Louisse Date: Wed, 19 May 2021 18:32:10 +0200 Subject: [PATCH] feat(button): split off separate buttons for reset & submit Co-authored-by: Gerjan van Geest --- .changeset/young-kangaroos-juggle.md | 14 + docs/components/inputs/combobox/overview.md | 1 + docs/components/inputs/form/features.md | 2 +- .../components/interaction/button/features.md | 31 +- .../components/interaction/button/overview.md | 8 +- docs/docs/systems/form/features.md | 8 +- docs/docs/systems/form/styling.md | 4 +- docs/docs/systems/form/validate.md | 2 +- package.json | 3 +- packages/button/define.js | 3 + packages/button/index.js | 2 + packages/button/lion-button-reset.js | 3 + packages/button/lion-button-submit.js | 3 + packages/button/package.json | 5 +- packages/button/src/LionButton.js | 248 ++----- packages/button/src/LionButtonReset.js | 124 ++++ packages/button/src/LionButtonSubmit.js | 109 ++++ .../button/test-suites/LionButton.suite.js | 378 +++++++++++ .../test-suites/LionButtonReset.suite.js | 197 ++++++ .../test-suites/LionButtonSubmit.suite.js | 189 ++++++ packages/button/test/lion-button.test.js | 605 +----------------- .../test/helpers/umbrella-form.js | 6 +- packages/select-rich/src/LionSelectInvoker.js | 8 +- 23 files changed, 1115 insertions(+), 838 deletions(-) create mode 100644 .changeset/young-kangaroos-juggle.md create mode 100644 packages/button/define.js create mode 100644 packages/button/lion-button-reset.js create mode 100644 packages/button/lion-button-submit.js create mode 100644 packages/button/src/LionButtonReset.js create mode 100644 packages/button/src/LionButtonSubmit.js create mode 100644 packages/button/test-suites/LionButton.suite.js create mode 100644 packages/button/test-suites/LionButtonReset.suite.js create mode 100644 packages/button/test-suites/LionButtonSubmit.suite.js diff --git a/.changeset/young-kangaroos-juggle.md b/.changeset/young-kangaroos-juggle.md new file mode 100644 index 000000000..974438094 --- /dev/null +++ b/.changeset/young-kangaroos-juggle.md @@ -0,0 +1,14 @@ +--- +'@lion/button': minor +'@lion/form-integrations': minor +'@lion/select-rich': minor +--- + +- BREAKING: In `lion-button` package split of separate buttons for reset & submit: + + - LionButton (a clean fundament, **use outside forms**) + - LionButtonReset (logic for. submit and reset events, but without implicit form submission logic: **use for reset buttons**) + - LionButtonSubmit (full featured button: **use for submit buttons and buttons with dynamic types**) + +- fixed axe criterium for LionButton (which contained a native button to support form submission) +- removed `_beforeTemplate()` & `_afterTemplate()` from LionButton diff --git a/docs/components/inputs/combobox/overview.md b/docs/components/inputs/combobox/overview.md index c2b20ee5b..5199a032c 100644 --- a/docs/components/inputs/combobox/overview.md +++ b/docs/components/inputs/combobox/overview.md @@ -47,4 +47,5 @@ npm i --save @lion/combobox ```js import '@lion/combobox/define'; +import '@lion/listbox/lion-option.js'; ``` diff --git a/docs/components/inputs/form/features.md b/docs/components/inputs/form/features.md index bb81a3d30..eddac67bb 100644 --- a/docs/components/inputs/form/features.md +++ b/docs/components/inputs/form/features.md @@ -10,7 +10,7 @@ import '@lion/form/define'; ## Submit & Reset -To submit a form, use a regular button (or `LionButton`) with `type="submit"` (which is default) somewhere inside the native `
`. +To submit a form, use a regular button (or `LionButtonSubmit`) somewhere inside the native ``. Then, add a `submit` handler on the `lion-form`. diff --git a/docs/components/interaction/button/features.md b/docs/components/interaction/button/features.md index 3830614ca..d65f3abe4 100644 --- a/docs/components/interaction/button/features.md +++ b/docs/components/interaction/button/features.md @@ -38,12 +38,12 @@ export const minimumClickArea = () => html`