@lion/ui 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +35 -0
  2. package/components/combobox/src/LionCombobox.js +10 -2
  3. package/components/combobox/test/lion-combobox.test.js +31 -0
  4. package/components/form-core/src/choice-group/ChoiceGroupMixin.js +7 -0
  5. package/components/form-core/types/choice-group/ChoiceGroupMixinTypes.ts +5 -0
  6. package/components/input-amount/src/LionInputAmount.js +17 -6
  7. package/components/input-amount/src/formatters.js +5 -3
  8. package/components/input-amount/test/formatters.test.js +88 -74
  9. package/components/input-amount/test/lion-input-amount.test.js +51 -36
  10. package/components/input-tel/test/validators.test.js +9 -0
  11. package/components/listbox/src/ListboxMixin.js +19 -3
  12. package/components/listbox/types/ListboxMixinTypes.ts +7 -1
  13. package/components/menu/README.md +360 -0
  14. package/components/menu/src/InteractiveListMixin.js +867 -0
  15. package/components/menu/src/LionMenu.js +436 -0
  16. package/components/menu/src/MoreButtonMenuMixin.js +295 -0
  17. package/components/menu/src/MultiLevelListMixin.js +312 -0
  18. package/components/menu/src/utils/isInView.js +26 -0
  19. package/components/menu/src/utils/listItemInteractions.js +124 -0
  20. package/components/menu/test/InteractiveListMixin.test.js +3 -0
  21. package/components/menu/test/MoreButtonMenuMixin.test.js +4 -0
  22. package/components/menu/test/MultiLevelListMixin.test.js +3 -0
  23. package/components/menu/test/lion-menu-interactions.test.js +3 -0
  24. package/components/menu/test/lion-menu.test.js +14 -0
  25. package/components/menu/test-helpers/mimicKeyPress.js +9 -0
  26. package/components/menu/test-suites/InteractiveListMixin.suite.js +537 -0
  27. package/components/menu/test-suites/LionMenu.suite.js +114 -0
  28. package/components/menu/test-suites/LionMenuInteractions.suite.js +583 -0
  29. package/components/menu/test-suites/MoreButtonMenuMixin.suite.js +372 -0
  30. package/components/menu/test-suites/MultiLevelListMixin.suite.js +309 -0
  31. package/components/menu/types/InteractiveListMixinTypes.ts +126 -0
  32. package/components/menu/types/MoreButtonMenuMixinTypes.ts +51 -0
  33. package/components/menu/types/MultiLevelListMixinTypes.ts +28 -0
  34. package/components/menu/types/OverlayWithListInvokerMixinTypes.ts +61 -0
  35. package/components/overlays/NEXT.md +49 -0
  36. package/components/overlays/src/OverlayController.js +304 -125
  37. package/components/overlays/src/OverlayMixin.js +81 -17
  38. package/components/overlays/src/utils/adopt-styles.js +1 -1
  39. package/components/overlays/src/utils/is-equal-config.js +15 -6
  40. package/components/overlays/test/OverlayController.test.js +223 -25
  41. package/components/overlays/test-suites/OverlayMixin.suite.js +8 -8
  42. package/components/overlays/types/ArrowMixinTypes.ts +1 -3
  43. package/components/overlays/types/OverlayConfig.ts +20 -5
  44. package/components/overlays/types/OverlayMixinTypes.ts +2 -0
  45. package/components/select-rich/src/LionSelectRich.js +12 -0
  46. package/components/select-rich/test/lion-select-rich-interaction.test.js +53 -0
  47. package/components/select-rich/test/lion-select-rich-upgrade.test.js +30 -0
  48. package/custom-elements.json +3120 -149
  49. package/dist-types/components/combobox/src/LionCombobox.d.ts +1 -1
  50. package/dist-types/components/combobox/src/LionCombobox.d.ts.map +1 -1
  51. package/dist-types/components/dialog/src/LionDialog.d.ts +6 -2
  52. package/dist-types/components/dialog/src/LionDialog.d.ts.map +1 -1
  53. package/dist-types/components/form-core/src/choice-group/ChoiceGroupMixin.d.ts.map +1 -1
  54. package/dist-types/components/form-core/types/choice-group/ChoiceGroupMixinTypes.d.ts +5 -0
  55. package/dist-types/components/form-core/types/choice-group/ChoiceGroupMixinTypes.d.ts.map +1 -1
  56. package/dist-types/components/input-amount/src/LionInputAmount.d.ts +3 -1
  57. package/dist-types/components/input-amount/src/LionInputAmount.d.ts.map +1 -1
  58. package/dist-types/components/input-amount/src/formatters.d.ts +6 -4
  59. package/dist-types/components/input-amount/src/formatters.d.ts.map +1 -1
  60. package/dist-types/components/input-datepicker/src/LionInputDatepicker.d.ts +1 -1
  61. package/dist-types/components/listbox/src/ListboxMixin.d.ts.map +1 -1
  62. package/dist-types/components/listbox/types/ListboxMixinTypes.d.ts +7 -1
  63. package/dist-types/components/listbox/types/ListboxMixinTypes.d.ts.map +1 -1
  64. package/dist-types/components/menu/src/InteractiveListMixin.d.ts +35 -0
  65. package/dist-types/components/menu/src/InteractiveListMixin.d.ts.map +1 -0
  66. package/dist-types/components/menu/src/LionMenu.d.ts +129 -0
  67. package/dist-types/components/menu/src/LionMenu.d.ts.map +1 -0
  68. package/dist-types/components/menu/src/MoreButtonMenuMixin.d.ts +8 -0
  69. package/dist-types/components/menu/src/MoreButtonMenuMixin.d.ts.map +1 -0
  70. package/dist-types/components/menu/src/MultiLevelListMixin.d.ts +7 -0
  71. package/dist-types/components/menu/src/MultiLevelListMixin.d.ts.map +1 -0
  72. package/dist-types/components/menu/src/utils/isInView.d.ts +9 -0
  73. package/dist-types/components/menu/src/utils/isInView.d.ts.map +1 -0
  74. package/dist-types/components/menu/src/utils/listItemInteractions.d.ts +48 -0
  75. package/dist-types/components/menu/src/utils/listItemInteractions.d.ts.map +1 -0
  76. package/dist-types/components/menu/test/InteractiveListMixin.test.d.ts +2 -0
  77. package/dist-types/components/menu/test/InteractiveListMixin.test.d.ts.map +1 -0
  78. package/dist-types/components/menu/test/MoreButtonMenuMixin.test.d.ts +2 -0
  79. package/dist-types/components/menu/test/MoreButtonMenuMixin.test.d.ts.map +1 -0
  80. package/dist-types/components/menu/test/MultiLevelListMixin.test.d.ts +2 -0
  81. package/dist-types/components/menu/test/MultiLevelListMixin.test.d.ts.map +1 -0
  82. package/dist-types/components/menu/test/lion-menu-interactions.test.d.ts +2 -0
  83. package/dist-types/components/menu/test/lion-menu-interactions.test.d.ts.map +1 -0
  84. package/dist-types/components/menu/test/lion-menu.test.d.ts +2 -0
  85. package/dist-types/components/menu/test/lion-menu.test.d.ts.map +1 -0
  86. package/dist-types/components/menu/test-helpers/mimicKeyPress.d.ts +7 -0
  87. package/dist-types/components/menu/test-helpers/mimicKeyPress.d.ts.map +1 -0
  88. package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts +11 -0
  89. package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts.map +1 -0
  90. package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts +9 -0
  91. package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts.map +1 -0
  92. package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts +5 -0
  93. package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts.map +1 -0
  94. package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts +11 -0
  95. package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts.map +1 -0
  96. package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts +11 -0
  97. package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts.map +1 -0
  98. package/dist-types/components/menu/types/InteractiveListMixinTypes.d.ts +72 -0
  99. package/dist-types/components/menu/types/InteractiveListMixinTypes.d.ts.map +1 -0
  100. package/dist-types/components/menu/types/MoreButtonMenuMixinTypes.d.ts +30 -0
  101. package/dist-types/components/menu/types/MoreButtonMenuMixinTypes.d.ts.map +1 -0
  102. package/dist-types/components/menu/types/MultiLevelListMixinTypes.d.ts +16 -0
  103. package/dist-types/components/menu/types/MultiLevelListMixinTypes.d.ts.map +1 -0
  104. package/dist-types/components/menu/types/OverlayWithListInvokerMixinTypes.d.ts +35 -0
  105. package/dist-types/components/menu/types/OverlayWithListInvokerMixinTypes.d.ts.map +1 -0
  106. package/dist-types/components/overlays/src/OverlayController.d.ts +22 -5
  107. package/dist-types/components/overlays/src/OverlayController.d.ts.map +1 -1
  108. package/dist-types/components/overlays/src/OverlayMixin.d.ts.map +1 -1
  109. package/dist-types/components/overlays/src/utils/is-equal-config.d.ts.map +1 -1
  110. package/dist-types/components/overlays/types/ArrowMixinTypes.d.ts.map +1 -1
  111. package/dist-types/components/overlays/types/OverlayConfig.d.ts +12 -2
  112. package/dist-types/components/overlays/types/OverlayConfig.d.ts.map +1 -1
  113. package/dist-types/components/overlays/types/OverlayMixinTypes.d.ts +1 -0
  114. package/dist-types/components/overlays/types/OverlayMixinTypes.d.ts.map +1 -1
  115. package/dist-types/components/select-rich/src/LionSelectRich.d.ts +13 -2
  116. package/dist-types/components/select-rich/src/LionSelectRich.d.ts.map +1 -1
  117. package/dist-types/components/select-rich/test/lion-select-rich-interaction.test.d.ts.map +1 -1
  118. package/dist-types/components/select-rich/test/lion-select-rich-upgrade.test.d.ts +2 -0
  119. package/dist-types/components/select-rich/test/lion-select-rich-upgrade.test.d.ts.map +1 -0
  120. package/dist-types/components/tooltip/src/LionTooltip.d.ts +1 -1
  121. package/dist-types/exports/define/lion-item.d.ts +2 -0
  122. package/dist-types/exports/define/lion-item.d.ts.map +1 -0
  123. package/dist-types/exports/define/lion-menu.d.ts +2 -0
  124. package/dist-types/exports/define/lion-menu.d.ts.map +1 -0
  125. package/dist-types/exports/define/lion-menuitem.d.ts +2 -0
  126. package/dist-types/exports/define/lion-menuitem.d.ts.map +1 -0
  127. package/dist-types/exports/menu-test-suites.d.ts +4 -0
  128. package/dist-types/exports/menu-test-suites.d.ts.map +1 -0
  129. package/dist-types/exports/menu.d.ts +3 -0
  130. package/dist-types/exports/menu.d.ts.map +1 -0
  131. package/dist-types/exports/overlays.d.ts +6 -0
  132. package/dist-types/exports/overlays.d.ts.map +1 -1
  133. package/dist-types/tsconfig.tsbuildinfo +1 -1
  134. package/docs/components/checkbox-group/overview.md +2 -2
  135. package/docs/components/collapsible/overview.md +1 -1
  136. package/docs/components/combobox/api-table.md +53 -39
  137. package/docs/components/combobox/overview.md +1 -1
  138. package/docs/components/combobox/use-cases.md +1 -1
  139. package/docs/components/dialog/api-table.md +32 -6
  140. package/docs/components/dialog/overview.md +1 -1
  141. package/docs/components/fieldset/overview.md +5 -5
  142. package/docs/components/form/overview.md +3 -3
  143. package/docs/components/form/use-cases.md +2 -2
  144. package/docs/components/icon/use-cases.md +1 -1
  145. package/docs/components/input/overview.md +1 -1
  146. package/docs/components/input-amount/api-table.md +9 -7
  147. package/docs/components/input-amount/overview.md +3 -3
  148. package/docs/components/input-amount/use-cases.md +15 -4
  149. package/docs/components/input-amount-dropdown/api-table.md +2 -0
  150. package/docs/components/input-date/overview.md +3 -3
  151. package/docs/components/input-datepicker/api-table.md +63 -45
  152. package/docs/components/input-datepicker/overview.md +5 -5
  153. package/docs/components/input-email/overview.md +2 -2
  154. package/docs/components/input-file/overview.md +1 -1
  155. package/docs/components/input-iban/overview.md +2 -2
  156. package/docs/components/input-range/overview.md +2 -2
  157. package/docs/components/input-stepper/overview.md +1 -1
  158. package/docs/components/input-tel/overview.md +1 -1
  159. package/docs/components/input-tel/use-cases.md +6 -6
  160. package/docs/components/input-tel-dropdown/overview.md +1 -1
  161. package/docs/components/listbox/use-cases.md +1 -1
  162. package/docs/components/menu/api-table.md +44 -0
  163. package/docs/components/menu/applyMenuDemoStyles.js +173 -0
  164. package/docs/components/menu/extensions.md +262 -0
  165. package/docs/components/menu/index.md +13 -0
  166. package/docs/components/menu/migration.md +129 -0
  167. package/docs/components/menu/overview.md +448 -0
  168. package/docs/components/menu/src/DemoNavigationBar.js +441 -0
  169. package/docs/components/menu/src/DemoSpinButton.js +215 -0
  170. package/docs/components/menu/src/DemoToolbar.js +101 -0
  171. package/docs/components/menu/src/DemoTree.js +55 -0
  172. package/docs/components/menu/src/navigation-bar-types.js +41 -0
  173. package/docs/components/menu/use-cases.md +74 -0
  174. package/docs/components/radio-group/overview.md +3 -3
  175. package/docs/components/select/use-cases.md +1 -1
  176. package/docs/components/select-rich/api-table.md +51 -33
  177. package/docs/components/select-rich/use-cases.md +2 -2
  178. package/docs/components/tabs/examples.md +1 -1
  179. package/docs/components/tooltip/api-table.md +33 -7
  180. package/docs/fundamentals/index.md +4 -4
  181. package/docs/fundamentals/node-tools/providence-analytics/overview.md +1 -1
  182. package/docs/fundamentals/node-tools/publish-docs/overview.md +3 -3
  183. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +2 -2
  184. package/docs/fundamentals/rationales/accessibility.md +1 -1
  185. package/docs/fundamentals/systems/core/SlotMixin.md +1 -1
  186. package/docs/fundamentals/systems/core/overview.md +1 -1
  187. package/docs/fundamentals/systems/form/formatting-and-parsing.md +4 -4
  188. package/docs/fundamentals/systems/form/model-value.md +1 -1
  189. package/docs/fundamentals/systems/form/overview.md +28 -28
  190. package/docs/fundamentals/systems/form/validate.md +2 -2
  191. package/docs/fundamentals/systems/localize/overview.md +4 -4
  192. package/docs/fundamentals/systems/overlays/api-table.md +46 -43
  193. package/docs/fundamentals/systems/overlays/configuration.md +2 -2
  194. package/docs/fundamentals/systems/overlays/overview.md +5 -5
  195. package/docs/fundamentals/systems/overlays/use-cases.md +2 -2
  196. package/docs/fundamentals/tools/helpers/overview.md +1 -1
  197. package/docs/fundamentals/tools/singleton-manager/overview.md +4 -4
  198. package/docs/guides/how-to/create-a-custom-field.md +5 -5
  199. package/docs/guides/how-to/create-a-form.md +4 -4
  200. package/docs/guides/how-to/extend-a-native-input.md +2 -2
  201. package/docs/guides/how-to/index.md +1 -1
  202. package/docs/guides/index.md +8 -8
  203. package/docs/guides/principles/index.md +5 -5
  204. package/docs/guides/principles/styling.md +1 -1
  205. package/exports/define/lion-item.js +3 -0
  206. package/exports/define/lion-menu.js +3 -0
  207. package/exports/define/lion-menuitem.js +3 -0
  208. package/exports/menu-test-suites.js +4 -0
  209. package/exports/menu.js +3 -0
  210. package/exports/overlays.js +6 -0
  211. package/menu-test-suites.js +4 -0
  212. package/menu.js +3 -0
  213. package/overlays.js +6 -0
  214. package/package.json +11 -4
  215. package/vendor/README.md +61 -0
  216. package/vendor/awesome-phonenumber-7.9.0-tlouisse.libphonenumber-9.0.41.tgz +0 -0
  217. package/vscode.html-custom-data.json +76 -8
  218. package/web-types.json +202 -17
@@ -31,11 +31,11 @@ import '@lion/ui/define/lion-checkbox.js';
31
31
  </lion-checkbox-group>
32
32
  ```
33
33
 
34
- > Make sure that the checkbox-group also has a name attribute, this is necessary for our [form](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/components/form/overview.md)'s serialization result.
34
+ > Make sure that the checkbox-group also has a name attribute, this is necessary for our [form](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/components/form/overview.md)'s serialization result.
35
35
 
36
36
  ## Features
37
37
 
38
- Since it extends from our [fieldset](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/components/fieldset/overview.md),
38
+ Since it extends from our [fieldset](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/components/fieldset/overview.md),
39
39
  it has all the features a fieldset has.
40
40
 
41
41
  ## Installation
@@ -34,7 +34,7 @@ export const main = () => html`
34
34
  ## Features
35
35
 
36
36
  - Use `opened` attribute or `toggle()` method to render default open.
37
- - `invoker` slot can be custom template e.g. our [button](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/components/button/overview.md) or native `button` with custom styling.
37
+ - `invoker` slot can be custom template e.g. our [button](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/components/button/overview.md) or native `button` with custom styling.
38
38
  - Observe the state with the help of `@opened-changed` event.
39
39
  - `show()` and `hide()` are helper methods to hide or show the content from outside.
40
40
 
@@ -20,8 +20,10 @@ eleventyNavigation:
20
20
  | ---------------------------- | --------- | ---------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
21
21
  | `allowCustomChoice` | public | `boolean` | | | |
22
22
  | `autocomplete` | public | `'none'\|'list'\|'inline'\|'both'` | `'both'` | When "list", will filter listbox suggestions based on textbox value.&#xA;When "both", an inline completion string will be added to the textbox as well. | |
23
+ | `config` | public | `Partial<OverlayConfig>` | `{}` | Configure the many options of the \`OverlayController\` | OverlayMixin |
23
24
  | `matchMode` | public | `'begin'\|'all'` | `'all'` | When typing in the textbox, will by default be set on 'begin',&#xA;only matching the beginning part in suggestion list.&#xA;=> 'a' will match 'apple' from \['apple', 'pear', 'citrus'].&#xA;When set to 'all', will match middle of the word as well&#xA;=> 'a' will match 'apple' and 'pear' | |
24
25
  | `modelValue` | public | | | | |
26
+ | `opened` | public | `boolean` | `false` | If you add the opened attribute a dialog will be opened on page load. The invoker can be left out&#xA;in case the user does not need to be able to reopen the dialog. | OverlayMixin |
25
27
  | `requireOptionMatch` | public | `boolean` | `true` | If set to false, the value is allowed to not match any of the options.&#xA;We set the default to true for backwards compatibility | |
26
28
  | `rotateKeyboardNavigation` | public | `boolean` | `true` | | |
27
29
  | `selectionFollowsFocus` | public | `boolean` | `true` | | |
@@ -37,55 +39,66 @@ eleventyNavigation:
37
39
  | `_listboxNode` | protected | | | | |
38
40
  | `_listboxReceivesNoFocus` | protected | `boolean` | `true` | | |
39
41
  | `_noTypeAhead` | protected | `boolean` | `true` | | |
40
- | `_overlayContentNode` | protected | | | | |
41
- | `_overlayInvokerNode` | protected | | | | |
42
- | `_overlayReferenceNode` | protected | | | | |
42
+ | `_overlayBackdropNode` | protected | | | | OverlayMixin |
43
+ | `_overlayContentNode` | protected | | | | OverlayMixin |
44
+ | `_overlayContentWrapperNode` | protected | | | | OverlayMixin |
45
+ | `_overlayInvokerNode` | protected | | | The node that opens/closes this overlay.&#xA;&#xA;Resolved in a stable, declarative way (independent of the exact DOM order)&#xA;by looking, in order, for:&#xA;1\. a child with \`\[slot="invoker"]\`&#xA;2\. any element in the same root that opts in via \`\[data-invoker]\` and&#xA; references this host by id (\`for="\<id>"\`)&#xA;3\. a preceding sibling that opts in via \`\[data-invoker]\` | OverlayMixin |
46
+ | `_overlayReferenceNode` | protected | | | | OverlayMixin |
43
47
  | `_selectionDisplayNode` | protected | `SelectionDisplay \| null` | | | |
44
48
 
45
49
  ### Methods
46
50
 
47
- | Name | Privacy | Description | Parameters | Return | Inherited From |
48
- | ----------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------- | -------------- |
49
- | `clear` | public | | | | |
50
- | `matchCondition` | public | When the preconfigurable \`match-mode\` conditions are not sufficient,&#xA;one can define a custom matching function. | `option: LionOption, textboxValue: string` | | |
51
- | `parser` | public | Converts viewValue to modelValue | `value: string\|string[]` | `*` | |
52
- | `reset` | public | | | | |
53
- | `_autoSelectCondition` | protected | When this condition is false, an end user will have to manually select a suggested&#xA;option from the list (by default when autocomplete is 'none' or 'list').&#xA;For autocomplete 'both' or 'inline', it will automatically select on a match. | | | |
54
- | `_defineOverlayConfig` | protected | | | | |
55
- | `_enhanceLightDomClasses` | protected | | | | |
56
- | `_getTextboxValueFromOption` | protected | Return the value to be used for the input value | `option: LionOption` | `string` | |
57
- | `_groupTwoTemplate` | protected | | | | |
58
- | `_handleAutocompletion` | protected | Handles autocompletion. This entails:&#xA;- list: shows a list on keydown character press&#xA;- filter: filters list of potential matches according to matchmode or provided matchCondition&#xA;- focus: automatically focuses closest match (makes it the activedescendant)&#xA;- check: automatically checks/selects closest match when selection-follows-focus is enabled&#xA;(this is the default configuration)&#xA;- complete: completes the textbox value inline (the 'missing characters' will be added as&#xA;selected text) | | | |
59
- | `_highlightMatchedOption` | protected | | `option: Element, matchingString: string` | | |
60
- | `_inputGroupInputTemplate` | protected | | | | |
61
- | `_listboxOnClick` | protected | | `ev: MouseEvent` | | |
62
- | `_listboxOnKeyDown` | protected | | `ev: KeyboardEvent` | | |
63
- | `_onFilterMatch` | protected | | `option: LionOption & {__originalInnerHTML?:string}, matchingString: string` | | |
64
- | `_onFilterUnmatch` | protected | | `option: LionOption & {__originalInnerHTML?:string}, curValue: string, prevValue: string` | | |
65
- | `_onKeyUp` | protected | | `ev: KeyboardEvent` | | |
66
- | `_onListboxContentChanged` | protected | | | | |
67
- | `_overlayListboxTemplate` | protected | | | | |
68
- | `_repropagationCondition` | protected | | `target: FormControlHost` | | |
69
- | `_resetListboxOptions` | protected | | | | |
70
- | `_setTextboxValue` | protected | | `v: string` | | |
71
- | `_setupListboxNode` | protected | | | | |
72
- | `_setupOpenCloseListeners` | protected | | | | |
73
- | `_setupOverlayCtrl` | protected | | | | |
74
- | `_showOverlayCondition` | protected | | `{ lastKey }, options: { currentValue?: string, lastKey?: string }` | `boolean` | |
75
- | `_syncToTextboxCondition` | protected | | `modelValue: string\|string[], oldModelValue: string\|string[], { phase }, config: {phase?:string}` | | |
76
- | `_syncToTextboxMultiple` | protected | | `modelValue: string[], oldModelValue: string[]` | | |
77
- | `_teardownOpenCloseListeners` | protected | | | | |
78
- | `_teardownOverlayCtrl` | protected | | | | |
79
- | `_textboxOnClick` | protected | | `ev: FocusEvent` | | |
80
- | `_textboxOnInput` | protected | | `ev: Event` | | |
81
- | `_textboxOnKeydown` | protected | | `ev: KeyboardEvent` | | |
82
- | `_unhighlightMatchedOption` | protected | | `option: Element` | | |
51
+ | Name | Privacy | Description | Parameters | Return | Inherited From |
52
+ | ---------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------- | -------------- |
53
+ | `clear` | public | | | | |
54
+ | `close` | public | Hides the overlay | | | OverlayMixin |
55
+ | `matchCondition` | public | When the preconfigurable \`match-mode\` conditions are not sufficient,&#xA;one can define a custom matching function. | `option: LionOption, textboxValue: string` | | |
56
+ | `open` | public | Shows the overlay | | | OverlayMixin |
57
+ | `parser` | public | Converts viewValue to modelValue | `value: string\|string[]` | `*` | |
58
+ | `repositionOverlay` | public | Sometimes it's needed to recompute Popper position of an overlay, for instance when we have&#xA;an opened combobox and the surrounding context changes (the space consumed by the textbox&#xA;increases vertically) | | | OverlayMixin |
59
+ | `reset` | public | | | | |
60
+ | `toggle` | public | Toggles the overlay | | | OverlayMixin |
61
+ | `_autoSelectCondition` | protected | When this condition is false, an end user will have to manually select a suggested&#xA;option from the list (by default when autocomplete is 'none' or 'list').&#xA;For autocomplete 'both' or 'inline', it will automatically select on a match. | | | |
62
+ | `_defineOverlay` | protected | | `{ contentNode, invokerNode, referenceNode, backdropNode, contentWrapperNode }, config: DefineOverlayConfig` | `OverlayController` | OverlayMixin |
63
+ | `_defineOverlayConfig` | protected | | | `OverlayConfig` | OverlayMixin |
64
+ | `_enhanceLightDomClasses` | protected | | | | |
65
+ | `_getInvokerNode` | protected | | | `Element\|null` | OverlayMixin |
66
+ | `_getTextboxValueFromOption` | protected | Return the value to be used for the input value | `option: LionOption` | `string` | |
67
+ | `_groupTwoTemplate` | protected | | | | |
68
+ | `_handleAutocompletion` | protected | Handles autocompletion. This entails:&#xA;- list: shows a list on keydown character press&#xA;- filter: filters list of potential matches according to matchmode or provided matchCondition&#xA;- focus: automatically focuses closest match (makes it the activedescendant)&#xA;- check: automatically checks/selects closest match when selection-follows-focus is enabled&#xA;(this is the default configuration)&#xA;- complete: completes the textbox value inline (the 'missing characters' will be added as&#xA;selected text) | | | |
69
+ | `_highlightMatchedOption` | protected | | `option: Element, matchingString: string` | | |
70
+ | `_inputGroupInputTemplate` | protected | | | | |
71
+ | `_isPermanentlyDisconnected` | protected | When we're moving around in dom, disconnectedCallback gets called.&#xA;Before we decide to teardown, let's wait to see if we were not just moving nodes around. | | `Promise<boolean>` | OverlayMixin |
72
+ | `_listboxOnClick` | protected | | `ev: MouseEvent` | | |
73
+ | `_listboxOnKeyDown` | protected | | `ev: KeyboardEvent` | | |
74
+ | `_onFilterMatch` | protected | | `option: LionOption & {__originalInnerHTML?:string}, matchingString: string` | | |
75
+ | `_onFilterUnmatch` | protected | | `option: LionOption & {__originalInnerHTML?:string}, curValue: string, prevValue: string` | | |
76
+ | `_onKeyUp` | protected | | `ev: KeyboardEvent` | | |
77
+ | `_onListboxContentChanged` | protected | | | | |
78
+ | `_overlayListboxTemplate` | protected | | | | |
79
+ | `_repropagationCondition` | protected | | `target: FormControlHost` | | |
80
+ | `_resetListboxOptions` | protected | | | | |
81
+ | `_setOpenedWithoutPropertyEffects` | protected | When the opened state is changed by an Application Developer,cthe OverlayController is&#xA;requested to show/hide. It might happen that this request is not honoured&#xA;(intercepted in before-hide for instance), so that we need to sync the controller state&#xA;to this webcomponent again, preventing eternal loops. | `newOpened: boolean` | | OverlayMixin |
82
+ | `_setTextboxValue` | protected | | `v: string` | | |
83
+ | `_setupListboxNode` | protected | | | | |
84
+ | `_setupOpenCloseListeners` | protected | | | | OverlayMixin |
85
+ | `_setupOverlayCtrl` | protected | | | | OverlayMixin |
86
+ | `_showOverlayCondition` | protected | | `{ lastKey }, options: { currentValue?: string, lastKey?: string }` | `boolean` | |
87
+ | `_syncToTextboxCondition` | protected | | `modelValue: string\|string[], oldModelValue: string\|string[], { phase }, config: {phase?:string}` | | |
88
+ | `_syncToTextboxMultiple` | protected | | `modelValue: string[], oldModelValue: string[]` | | |
89
+ | `_teardownOpenCloseListeners` | protected | | | | OverlayMixin |
90
+ | `_teardownOverlayCtrl` | protected | | | | OverlayMixin |
91
+ | `_textboxOnClick` | protected | | `ev: FocusEvent` | | |
92
+ | `_textboxOnInput` | protected | | `ev: Event` | | |
93
+ | `_textboxOnKeydown` | protected | | `ev: KeyboardEvent` | | |
94
+ | `_unhighlightMatchedOption` | protected | | `option: Element` | | |
83
95
 
84
96
  ### Events
85
97
 
86
98
  | Name | Type | Description | Inherited From |
87
99
  | --------------------- | ------------- | ----------- | -------------- |
88
100
  | `model-value-changed` | `CustomEvent` | | |
101
+ | `opened-changed` | `CustomEvent` | | OverlayMixin |
89
102
 
90
103
  ### Attributes
91
104
 
@@ -97,6 +110,7 @@ eleventyNavigation:
97
110
  | `requireOptionMatch` | requireOptionMatch | |
98
111
  | `allow-custom-choice` | allowCustomChoice | |
99
112
  | `__shouldAutocompleteNextUpdate` | \_\_shouldAutocompleteNextUpdate | |
113
+ | `opened` | opened | OverlayMixin |
100
114
 
101
115
  ### Slots
102
116
 
@@ -46,7 +46,7 @@ export const main = () => html`
46
46
  `;
47
47
  ```
48
48
 
49
- [...show more](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/components/combobox/extensions.md)
49
+ [...show more](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/components/combobox/extensions.md)
50
50
 
51
51
  ## Features
52
52
 
@@ -558,4 +558,4 @@ export const complexObjectChoiceValue = () =>
558
558
  ## Listbox compatibility
559
559
 
560
560
  All configurations that can be applied to `lion-listbox`, can be applied to `lion-combobox` as well.
561
- See the [listbox documentation](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/components/listbox/overview.md) for more information.
561
+ See the [listbox documentation](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/components/listbox/overview.md) for more information.
@@ -16,20 +16,46 @@ eleventyNavigation:
16
16
 
17
17
  ### Fields
18
18
 
19
- | Name | Privacy | Type | Default | Description | Inherited From |
20
- | --------------- | ------- | --------- | ------- | ----------- | -------------- |
21
- | `isAlertDialog` | public | `boolean` | `false` | | |
19
+ | Name | Privacy | Type | Default | Description | Inherited From |
20
+ | ---------------------------- | --------- | ------------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
21
+ | `config` | public | `Partial<OverlayConfig>` | `{}` | Configure the many options of the \`OverlayController\` | OverlayMixin |
22
+ | `isAlertDialog` | public | `boolean` | `false` | | |
23
+ | `opened` | public | `boolean` | `false` | If you add the opened attribute a dialog will be opened on page load. The invoker can be left out&#xA;in case the user does not need to be able to reopen the dialog. | OverlayMixin |
24
+ | `_overlayBackdropNode` | protected | | | | OverlayMixin |
25
+ | `_overlayContentNode` | protected | | | | OverlayMixin |
26
+ | `_overlayContentWrapperNode` | protected | | | | OverlayMixin |
27
+ | `_overlayInvokerNode` | protected | | | The node that opens/closes this overlay.&#xA;&#xA;Resolved in a stable, declarative way (independent of the exact DOM order)&#xA;by looking, in order, for:&#xA;1\. a child with \`\[slot="invoker"]\`&#xA;2\. any element in the same root that opts in via \`\[data-invoker]\` and&#xA; references this host by id (\`for="\<id>"\`)&#xA;3\. a preceding sibling that opts in via \`\[data-invoker]\` | OverlayMixin |
28
+ | `_overlayReferenceNode` | protected | | | | OverlayMixin |
22
29
 
23
30
  ### Methods
24
31
 
25
- | Name | Privacy | Description | Parameters | Return | Inherited From |
26
- | ---------------------- | --------- | ----------- | ---------- | ------ | -------------- |
27
- | `_defineOverlayConfig` | protected | | | | |
32
+ | Name | Privacy | Description | Parameters | Return | Inherited From |
33
+ | ---------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------- | -------------- |
34
+ | `close` | public | Hides the overlay | | | OverlayMixin |
35
+ | `open` | public | Shows the overlay | | | OverlayMixin |
36
+ | `repositionOverlay` | public | Sometimes it's needed to recompute Popper position of an overlay, for instance when we have&#xA;an opened combobox and the surrounding context changes (the space consumed by the textbox&#xA;increases vertically) | | | OverlayMixin |
37
+ | `toggle` | public | Toggles the overlay | | | OverlayMixin |
38
+ | `_defineOverlay` | protected | | `{ contentNode, invokerNode, referenceNode, backdropNode, contentWrapperNode }, config: DefineOverlayConfig` | `OverlayController` | OverlayMixin |
39
+ | `_defineOverlayConfig` | protected | | | `OverlayConfig` | OverlayMixin |
40
+ | `_getInvokerNode` | protected | | | `Element\|null` | OverlayMixin |
41
+ | `_isPermanentlyDisconnected` | protected | When we're moving around in dom, disconnectedCallback gets called.&#xA;Before we decide to teardown, let's wait to see if we were not just moving nodes around. | | `Promise<boolean>` | OverlayMixin |
42
+ | `_setOpenedWithoutPropertyEffects` | protected | When the opened state is changed by an Application Developer,cthe OverlayController is&#xA;requested to show/hide. It might happen that this request is not honoured&#xA;(intercepted in before-hide for instance), so that we need to sync the controller state&#xA;to this webcomponent again, preventing eternal loops. | `newOpened: boolean` | | OverlayMixin |
43
+ | `_setupOpenCloseListeners` | protected | | | | OverlayMixin |
44
+ | `_setupOverlayCtrl` | protected | | | | OverlayMixin |
45
+ | `_teardownOpenCloseListeners` | protected | | | | OverlayMixin |
46
+ | `_teardownOverlayCtrl` | protected | | | | OverlayMixin |
47
+
48
+ ### Events
49
+
50
+ | Name | Type | Description | Inherited From |
51
+ | ---------------- | ------------- | ----------- | -------------- |
52
+ | `opened-changed` | `CustomEvent` | | OverlayMixin |
28
53
 
29
54
  ### Attributes
30
55
 
31
56
  | Name | Field | Inherited From |
32
57
  | ----------------- | ------------- | -------------- |
33
58
  | `is-alert-dialog` | isAlertDialog | |
59
+ | `opened` | opened | OverlayMixin |
34
60
 
35
61
  <hr/>
@@ -66,6 +66,6 @@ import '@lion/ui/define/lion-dialog.js';
66
66
  ## Changing the configuration
67
67
 
68
68
  You can use the `.config` property on the dialog to change the configuration.
69
- The documentation of the full config object can be found in the `overlays` folder or here in [Overlay System - Configuration](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/overlays/configuration.md).
69
+ The documentation of the full config object can be found in the `overlays` folder or here in [Overlay System - Configuration](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/overlays/configuration.md).
70
70
 
71
71
  The `config` property uses a setter to merge the passed configuration with the current, so you only **overwrite what you pass** when updating `config`.
@@ -32,9 +32,9 @@ export const main = () => html`
32
32
 
33
33
  We have three specific fieldset implementations:
34
34
 
35
- - [form](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/components/form/overview.md)
36
- - [checkbox-group](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/components/checkbox-group/overview.md)
37
- - [radio-group](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/components/radio-group/overview.md)
35
+ - [form](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/components/form/overview.md)
36
+ - [checkbox-group](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/components/checkbox-group/overview.md)
37
+ - [radio-group](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/components/radio-group/overview.md)
38
38
 
39
39
  A native fieldset element should always have a legend-element for a11y purposes.
40
40
  However, our fieldset element is not native and should not have a legend-element.
@@ -43,8 +43,8 @@ Our fieldset instead has a label attribute or you can add a label with a div- or
43
43
  ## Features
44
44
 
45
45
  - Easy retrieval of form data based on field names
46
- - Advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/form/interaction-states.md)
47
- - Can have [validate](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/form/validate.md) on fieldset level and shows the validation feedback below the fieldset
46
+ - Advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/form/interaction-states.md)
47
+ - Can have [validate](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/form/validate.md) on fieldset level and shows the validation feedback below the fieldset
48
48
  - Can disable input fields on fieldset level
49
49
  - Accessible out of the box
50
50
 
@@ -20,7 +20,7 @@ import '@lion/ui/define/lion-form.js';
20
20
  ```
21
21
 
22
22
  A web component that enhances the functionality of the native `form` component.
23
- It is designed to interact with (instances of) the [form controls](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/form/overview.md).
23
+ It is designed to interact with (instances of) the [form controls](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/form/overview.md).
24
24
 
25
25
  ```js preview-story
26
26
  export const main = () => {
@@ -49,11 +49,11 @@ export const main = () => {
49
49
  - Data synchronization with models
50
50
  - Easy retrieval of form data based on field names
51
51
  - Advanced validation possibilities
52
- - Advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/form/interaction-states.md)
52
+ - Advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/form/interaction-states.md)
53
53
  - Registration mechanism for form controls
54
54
  - Accessible out of the box
55
55
 
56
- For more information about fields that are designed for our `form`, please read [form system](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/form/overview.md).
56
+ For more information about fields that are designed for our `form`, please read [form system](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/form/overview.md).
57
57
 
58
58
  ## Installation
59
59
 
@@ -26,7 +26,7 @@ import '@lion/ui/define/lion-form.js';
26
26
  To submit a form, use a regular `<button>` (or `<lion-button-submit>`) somewhere inside the native `<form>`. Then, add a `submit` handler on the `<lion-form>`. You can use this event to do your own (pre-)submit logic, like getting the serialized form data and sending it to a backend API.
27
27
 
28
28
  Another example is checking if the form has errors, and focusing the first field with a validation error.
29
- To learn more about form validation, please take a look at [validate](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/form/validate.md).
29
+ To learn more about form validation, please take a look at [validate](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/form/validate.md).
30
30
 
31
31
  To fire a submit from JavaScript, select the `<lion-form>` element and call `.submit()`.
32
32
 
@@ -128,7 +128,7 @@ export const prefilledData = () => {
128
128
  };
129
129
  ```
130
130
 
131
- Learn more about [formatting and parsing](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/form/formatting-and-parsing.md).
131
+ Learn more about [formatting and parsing](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/form/formatting-and-parsing.md).
132
132
 
133
133
  ## Sub forms
134
134
 
@@ -25,7 +25,7 @@ import '@lion/ui/define/lion-icon.js';
25
25
  ## Icon sets
26
26
 
27
27
  Icons are displayed using icon sets. These are collections of icons, lazily loaded on demand for performance.
28
- See the [system documentation](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/icon/overview.md) to learn more about icon sets.
28
+ See the [system documentation](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/icon/overview.md) to learn more about icon sets.
29
29
 
30
30
  ```js preview-story
31
31
  export const iconSets = () => html`
@@ -35,7 +35,7 @@ export const main = () => html`<lion-input label="First Name"></lion-input>`;
35
35
  - **before**: does not have an active use case yet, but the option is in place.
36
36
  - **after**: can be used to show a currency or percentage.
37
37
  - Delegates attributes like `type`, `disabled`, `placeholder` and `readonly` to the native input.
38
- - Can make use of [validation](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/form/validate.md).
38
+ - Can make use of [validation](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/form/validate.md).
39
39
 
40
40
  ## Installation
41
41
 
@@ -19,6 +19,7 @@ eleventyNavigation:
19
19
  | Name | Privacy | Type | Default | Description | Inherited From |
20
20
  | -------------------------- | --------- | --------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
21
21
  | `currency` | public | `string \| undefined` | `undefined` | | |
22
+ | `currencyLabel` | public | `string` | `''` | | |
22
23
  | `formatter` | public | | `formatAmount` | | |
23
24
  | `locale` | public | `string \| undefined` | `undefined` | | |
24
25
  | `modelValue` | public | | | | |
@@ -53,12 +54,13 @@ eleventyNavigation:
53
54
 
54
55
  ### Attributes
55
56
 
56
- | Name | Field | Inherited From |
57
- | ------------- | ----------- | -------------- |
58
- | `currency` | currency | |
59
- | `modelValue` | modelValue | |
60
- | `readonly` | readOnly | LionInput |
61
- | `type` | type | LionInput |
62
- | `placeholder` | placeholder | LionInput |
57
+ | Name | Field | Inherited From |
58
+ | ---------------- | ------------- | -------------- |
59
+ | `currency` | currency | |
60
+ | `currency-label` | currencyLabel | |
61
+ | `modelValue` | modelValue | |
62
+ | `readonly` | readOnly | LionInput |
63
+ | `type` | type | LionInput |
64
+ | `placeholder` | placeholder | LionInput |
63
65
 
64
66
  <hr/>
@@ -36,13 +36,13 @@ export const main = () => {
36
36
 
37
37
  ## Features
38
38
 
39
- - Based on our [input](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/components/input/overview.md)
40
- - Makes use of [formatNumber](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/localize/numbers.md) for formatting and parsing.
39
+ - Based on our [input](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/components/input/overview.md)
40
+ - Makes use of [formatNumber](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/localize/numbers.md) for formatting and parsing.
41
41
  - Option to show currency as a suffix
42
42
  - Option to override locale to change the formatting and parsing
43
43
  - Option to provide additional format options overrides
44
44
  - Default label in different languages
45
- - Can make use of number specific [validators](https://github.com/ing-bank/lion/blob/1e44a873eb492168e7e3d2f5c120371d950b9e03/docs/fundamentals/systems/form/validate.md) with corresponding error messages in different languages
45
+ - Can make use of number specific [validators](https://github.com/ing-bank/lion/blob/4649554021224763994601dd8d202c511d35013e/docs/fundamentals/systems/form/validate.md) with corresponding error messages in different languages
46
46
  - IsNumber (default)
47
47
  - MinNumber
48
48
  - MaxNumber
@@ -32,13 +32,24 @@ export const negativeNumber = () => html`
32
32
  `;
33
33
  ```
34
34
 
35
- ## Set currency label
35
+ ## Set currency
36
36
 
37
- You can optionally set a currency label with the `currency` attribute, which is visible in the after slot by default.
37
+ You can optionally set a currency with the `currency` attribute, which is visible in the after slot by default.
38
+
39
+ ```html preview-story
40
+ <lion-input-amount label="Price" currency="USD" .modelValue="${123456.78}"></lion-input-amount>
41
+ ```
42
+
43
+ ### Set currency label
38
44
 
39
45
  ```js preview-story
40
- export const currencySuffix = () => html`
41
- <lion-input-amount label="Price" currency="USD" .modelValue="${123456.78}"></lion-input-amount>
46
+ export const currencySymbol = () => html`
47
+ <lion-input-amount
48
+ label="Price"
49
+ currency="USD"
50
+ currency-label="$"
51
+ .modelValue="${123456.78}"
52
+ ></lion-input-amount>
42
53
  `;
43
54
  ```
44
55