@riverty/web-components 5.8.0 → 6.1.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.
- package/CHANGELOG.md +107 -0
- package/custom-elements.json +215 -362
- package/dist/cjs/index-DJ4H_bFj.js +6 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/r-accordion-panel.cjs.entry.js +1 -1
- package/dist/cjs/r-accordion-section.cjs.entry.js +1 -1
- package/dist/cjs/r-accordion-trigger.cjs.entry.js +5 -35
- package/dist/cjs/r-accordion.cjs.entry.js +3 -7
- package/dist/cjs/r-alert.cjs.entry.js +26 -11
- package/dist/cjs/r-badge.cjs.entry.js +1 -1
- package/dist/cjs/r-button.cjs.entry.js +1 -1
- package/dist/cjs/r-checkbox-group.cjs.entry.js +1 -11
- package/dist/cjs/r-checkbox.cjs.entry.js +76 -75
- package/dist/cjs/r-dialog.cjs.entry.js +3 -11
- package/dist/cjs/r-hint_2.cjs.entry.js +50 -0
- package/dist/cjs/{r-hint_3.cjs.entry.js → r-icon-button_2.cjs.entry.js} +64 -51
- package/dist/cjs/r-icon.cjs.entry.js +1 -1
- package/dist/cjs/r-input-code.cjs.entry.js +112 -17
- package/dist/cjs/r-input-date.cjs.entry.js +8 -14
- package/dist/cjs/r-input-password.cjs.entry.js +16 -8
- package/dist/cjs/r-input-phone-number.cjs.entry.js +7 -12
- package/dist/cjs/r-input.cjs.entry.js +90 -42
- package/dist/cjs/r-list-item.cjs.entry.js +20 -19
- package/dist/cjs/r-panel.cjs.entry.js +5 -5
- package/dist/cjs/r-popover-action.cjs.entry.js +1 -1
- package/dist/cjs/r-popover-content.cjs.entry.js +1 -1
- package/dist/cjs/r-popover-headline.cjs.entry.js +1 -1
- package/dist/cjs/r-popover-trigger.cjs.entry.js +1 -1
- package/dist/cjs/r-popover.cjs.entry.js +3 -3
- package/dist/cjs/r-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button-description.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button-leading.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button-title.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button-trailing.cjs.entry.js +1 -1
- package/dist/cjs/r-radio-button.cjs.entry.js +29 -12
- package/dist/cjs/r-radio-group.cjs.entry.js +18 -22
- package/dist/cjs/r-select-option.cjs.entry.js +1 -1
- package/dist/cjs/r-select.cjs.entry.js +6 -24
- package/dist/cjs/r-skip-link.cjs.entry.js +1 -1
- package/dist/cjs/r-stepper-item.cjs.entry.js +3 -3
- package/dist/cjs/r-stepper.cjs.entry.js +2 -2
- package/dist/cjs/r-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/r-tab.cjs.entry.js +6 -2
- package/dist/cjs/r-tabs-list.cjs.entry.js +160 -2
- package/dist/cjs/r-tabs.cjs.entry.js +34 -6
- package/dist/cjs/r-textarea.cjs.entry.js +7 -19
- package/dist/cjs/r-toast-group.cjs.entry.js +2 -2
- package/dist/cjs/r-toast.cjs.entry.js +31 -11
- package/dist/cjs/web-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +0 -1
- package/dist/collection/components/accordion/accordion.css +0 -2
- package/dist/collection/components/accordion/accordion.js +4 -8
- package/dist/collection/components/accordion/exports.js +1 -1
- package/dist/collection/components/accordion-panel/accordion-panel.js +1 -1
- package/dist/collection/components/accordion-section/accordion-section.js +1 -1
- package/dist/collection/components/accordion-trigger/accordion-trigger.css +0 -4
- package/dist/collection/components/accordion-trigger/accordion-trigger.js +4 -215
- package/dist/collection/components/alert/alert.css +8 -3
- package/dist/collection/components/alert/alert.js +48 -10
- package/dist/collection/components/badge/badge.js +1 -1
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +80 -98
- package/dist/collection/components/checkbox-group/checkbox-group.js +1 -50
- package/dist/collection/components/dialog/dialog.css +1 -3
- package/dist/collection/components/dialog/dialog.js +2 -10
- package/dist/collection/components/hint/hint.js +2 -2
- package/dist/collection/components/icon/bundled-icons/riverty-kit.json +1 -1
- package/dist/collection/components/icon/riverty-kit.js +1 -1
- package/dist/collection/components/icon-button/icon-button.js +22 -3
- package/dist/collection/components/input/exports.js +2 -0
- package/dist/collection/components/input/input.css +3 -0
- package/dist/collection/components/input/input.js +233 -371
- package/dist/collection/components/input-code/exports.js +2 -0
- package/dist/collection/components/input-code/input-code.js +294 -26
- package/dist/collection/components/input-date/input-date.js +8 -77
- package/dist/collection/components/input-password/exports.js +1 -0
- package/dist/collection/components/input-password/input-password.css +1 -0
- package/dist/collection/components/input-password/input-password.js +195 -70
- package/dist/collection/components/input-phone-number/input-phone-number.js +7 -75
- package/dist/collection/components/label/label.js +3 -113
- package/dist/collection/components/list-item/list-item/list-item.css +53 -19
- package/dist/collection/components/list-item/list-item/list-item.js +38 -40
- package/dist/collection/components/panel/panel.css +40 -17
- package/dist/collection/components/panel/panel.js +6 -6
- package/dist/collection/components/popover/exports.js +0 -1
- package/dist/collection/components/popover/popover.css +2 -10
- package/dist/collection/components/popover/popover.js +2 -55
- package/dist/collection/components/popover-action/popover-action.js +1 -1
- package/dist/collection/components/popover-content/popover-content.js +1 -1
- package/dist/collection/components/popover-headline/popover-headline.js +1 -1
- package/dist/collection/components/popover-trigger/popover-trigger.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio-button/radio-button.js +49 -12
- package/dist/collection/components/radio-button-description/radio-button-description.js +1 -1
- package/dist/collection/components/radio-button-leading/radio-button-leading.js +1 -1
- package/dist/collection/components/radio-button-title/radio-button-title.js +1 -1
- package/dist/collection/components/radio-button-trailing/radio-button-trailing.js +1 -1
- package/dist/collection/components/radio-group/radio-group.js +38 -124
- package/dist/collection/components/select/select.js +6 -330
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/skip-link/skip-link.js +1 -1
- package/dist/collection/components/stepper/stepper.css +1 -1
- package/dist/collection/components/stepper/stepper.js +1 -1
- package/dist/collection/components/stepper-item/stepper-item.css +3 -3
- package/dist/collection/components/stepper-item/stepper-item.js +2 -2
- package/dist/collection/components/tab/tab.css +29 -29
- package/dist/collection/components/tab/tab.js +5 -1
- package/dist/collection/components/tab-panel/tab-panel.js +1 -1
- package/dist/collection/components/tabs/tabs.js +34 -6
- package/dist/collection/components/tabs-list/exports.js +2 -0
- package/dist/collection/components/tabs-list/tabs-list.css +43 -2
- package/dist/collection/components/tabs-list/tabs-list.js +277 -1
- package/dist/collection/components/textarea/textarea.css +1 -1
- package/dist/collection/components/textarea/textarea.js +6 -158
- package/dist/collection/components/toast/toast.css +35 -9
- package/dist/collection/components/toast/toast.js +44 -32
- package/dist/collection/components/toast-group/toast-group.css +1 -1
- package/dist/collection/components/toast-group/toast-group.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/esm/index-Da7qOBFr.js +6 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/r-accordion-panel.entry.js +1 -1
- package/dist/esm/r-accordion-section.entry.js +1 -1
- package/dist/esm/r-accordion-trigger.entry.js +5 -35
- package/dist/esm/r-accordion.entry.js +3 -7
- package/dist/esm/r-alert.entry.js +26 -11
- package/dist/esm/r-badge.entry.js +1 -1
- package/dist/esm/r-button.entry.js +1 -1
- package/dist/esm/r-checkbox-group.entry.js +1 -11
- package/dist/esm/r-checkbox.entry.js +76 -75
- package/dist/esm/r-dialog.entry.js +3 -11
- package/dist/esm/r-hint_2.entry.js +47 -0
- package/dist/esm/{r-hint_3.entry.js → r-icon-button_2.entry.js} +65 -51
- package/dist/esm/r-icon.entry.js +1 -1
- package/dist/esm/r-input-code.entry.js +112 -17
- package/dist/esm/r-input-date.entry.js +8 -14
- package/dist/esm/r-input-password.entry.js +16 -8
- package/dist/esm/r-input-phone-number.entry.js +7 -12
- package/dist/esm/r-input.entry.js +90 -42
- package/dist/esm/r-list-item.entry.js +20 -19
- package/dist/esm/r-panel.entry.js +5 -5
- package/dist/esm/r-popover-action.entry.js +1 -1
- package/dist/esm/r-popover-content.entry.js +1 -1
- package/dist/esm/r-popover-headline.entry.js +1 -1
- package/dist/esm/r-popover-trigger.entry.js +1 -1
- package/dist/esm/r-popover.entry.js +3 -3
- package/dist/esm/r-progress-bar.entry.js +1 -1
- package/dist/esm/r-radio-button-description.entry.js +1 -1
- package/dist/esm/r-radio-button-leading.entry.js +1 -1
- package/dist/esm/r-radio-button-title.entry.js +1 -1
- package/dist/esm/r-radio-button-trailing.entry.js +1 -1
- package/dist/esm/r-radio-button.entry.js +29 -12
- package/dist/esm/r-radio-group.entry.js +18 -22
- package/dist/esm/r-select-option.entry.js +1 -1
- package/dist/esm/r-select.entry.js +6 -24
- package/dist/esm/r-skip-link.entry.js +1 -1
- package/dist/esm/r-stepper-item.entry.js +3 -3
- package/dist/esm/r-stepper.entry.js +2 -2
- package/dist/esm/r-tab-panel.entry.js +1 -1
- package/dist/esm/r-tab.entry.js +6 -2
- package/dist/esm/r-tabs-list.entry.js +161 -3
- package/dist/esm/r-tabs.entry.js +34 -6
- package/dist/esm/r-textarea.entry.js +7 -19
- package/dist/esm/r-toast-group.entry.js +2 -2
- package/dist/esm/r-toast.entry.js +31 -11
- package/dist/esm/web-components.js +1 -1
- package/dist/types/components/accordion/accordion.d.ts +1 -5
- package/dist/types/components/accordion/exports.d.ts +1 -1
- package/dist/types/components/accordion-trigger/accordion-trigger.d.ts +0 -36
- package/dist/types/components/alert/alert.d.ts +6 -1
- package/dist/types/components/checkbox/checkbox.d.ts +24 -34
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -11
- package/dist/types/components/dialog/dialog.d.ts +0 -2
- package/dist/types/components/icon/exports.d.ts +1 -0
- package/dist/types/components/icon/icon-data.d.ts +1 -0
- package/dist/types/components/icon/riverty-kit.d.ts +1 -0
- package/dist/types/components/icon-button/icon-button.d.ts +4 -0
- package/dist/types/components/input/exports.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +47 -73
- package/dist/types/components/input-code/exports.d.ts +4 -0
- package/dist/types/components/input-code/input-code.d.ts +49 -7
- package/dist/types/components/input-date/input-date.d.ts +0 -16
- package/dist/types/components/input-password/exports.d.ts +1 -0
- package/dist/types/components/input-password/input-password.d.ts +48 -16
- package/dist/types/components/input-phone-number/input-phone-number.d.ts +0 -16
- package/dist/types/components/label/label.d.ts +0 -18
- package/dist/types/components/list-item/list-item/list-item.d.ts +5 -9
- package/dist/types/components/popover/exports.d.ts +0 -2
- package/dist/types/components/popover/popover.d.ts +1 -14
- package/dist/types/components/radio-button/radio-button.d.ts +5 -0
- package/dist/types/components/radio-group/radio-group.d.ts +5 -26
- package/dist/types/components/select/select.d.ts +0 -50
- package/dist/types/components/tabs/tabs.d.ts +1 -0
- package/dist/types/components/tabs-list/exports.d.ts +4 -0
- package/dist/types/components/tabs-list/tabs-list.d.ts +38 -0
- package/dist/types/components/textarea/textarea.d.ts +0 -32
- package/dist/types/components/toast/toast.d.ts +11 -5
- package/dist/types/components.d.ts +280 -638
- package/dist/web-components/bundled-icons/riverty-kit.json +1 -1
- package/dist/web-components/p-0347feff.entry.js +1 -0
- package/dist/web-components/p-159822fe.entry.js +1 -0
- package/dist/web-components/p-19407a14.entry.js +1 -0
- package/dist/web-components/{p-5744d75c.entry.js → p-1da75540.entry.js} +1 -1
- package/dist/web-components/p-26ef77d6.entry.js +1 -0
- package/dist/web-components/p-3884c6e7.entry.js +1 -0
- package/dist/web-components/p-3f60c6c0.entry.js +1 -0
- package/dist/web-components/{p-87f39749.entry.js → p-4595fa8e.entry.js} +1 -1
- package/dist/web-components/{p-4e3df002.entry.js → p-4cc58c6a.entry.js} +1 -1
- package/dist/web-components/p-4f261b63.entry.js +1 -0
- package/dist/web-components/{p-e0e2f2b2.entry.js → p-50893211.entry.js} +1 -1
- package/dist/web-components/{p-72fa1fd1.entry.js → p-550e2237.entry.js} +1 -1
- package/dist/web-components/p-589baaf9.entry.js +1 -0
- package/dist/web-components/{p-3b4e3faf.entry.js → p-5eeb7002.entry.js} +1 -1
- package/dist/web-components/p-60341de2.entry.js +1 -0
- package/dist/web-components/{p-44ae9f33.entry.js → p-62b788bf.entry.js} +1 -1
- package/dist/web-components/p-63fd817d.entry.js +1 -0
- package/dist/web-components/p-67fa3f84.entry.js +1 -0
- package/dist/web-components/p-6bb44ec6.entry.js +1 -0
- package/dist/web-components/p-6cc2ea2c.entry.js +1 -0
- package/dist/web-components/p-70784685.entry.js +1 -0
- package/dist/web-components/p-7ce57332.entry.js +1 -0
- package/dist/web-components/{p-429213ea.entry.js → p-7fed6f4d.entry.js} +1 -1
- package/dist/web-components/p-8a66d20c.entry.js +1 -0
- package/dist/web-components/{p-c7f8e59b.entry.js → p-8c31cbd5.entry.js} +1 -1
- package/dist/web-components/p-8dac326b.entry.js +1 -0
- package/dist/web-components/p-92c7cf33.entry.js +1 -0
- package/dist/web-components/{p-1c2497de.entry.js → p-9ef1bbee.entry.js} +1 -1
- package/dist/web-components/p-a7d22c76.entry.js +1 -0
- package/dist/web-components/p-b96d59ca.entry.js +1 -0
- package/dist/web-components/p-ba801820.entry.js +1 -0
- package/dist/web-components/{p-a022f356.entry.js → p-bfc8c077.entry.js} +1 -1
- package/dist/web-components/p-c05b05da.entry.js +1 -0
- package/dist/web-components/p-c1e748f2.entry.js +1 -0
- package/dist/web-components/{p-5bbd6e3c.entry.js → p-c478712b.entry.js} +1 -1
- package/dist/web-components/p-c95b6470.entry.js +1 -0
- package/dist/web-components/p-cd5daad2.entry.js +1 -0
- package/dist/web-components/p-cdd88c5a.entry.js +1 -0
- package/dist/web-components/{p-3078b2b8.entry.js → p-d054eb4d.entry.js} +1 -1
- package/dist/web-components/{p-8563a1ab.entry.js → p-d433a828.entry.js} +1 -1
- package/dist/web-components/p-d7726e46.entry.js +1 -0
- package/dist/web-components/p-d819c8e5.entry.js +1 -0
- package/dist/web-components/{p-755cc697.entry.js → p-e4dc60f0.entry.js} +1 -1
- package/dist/web-components/{p-d1379ac6.entry.js → p-f9d5004c.entry.js} +1 -1
- package/dist/web-components/web-components.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/r-accordion-item.cjs.entry.js +0 -78
- package/dist/cjs/r-icon-button.cjs.entry.js +0 -81
- package/dist/collection/components/accordion-item/accordion-item.css +0 -121
- package/dist/collection/components/accordion-item/accordion-item.js +0 -138
- package/dist/esm/r-accordion-item.entry.js +0 -76
- package/dist/esm/r-icon-button.entry.js +0 -79
- package/dist/types/components/accordion-item/accordion-item.d.ts +0 -26
- package/dist/web-components/p-00ca474f.entry.js +0 -1
- package/dist/web-components/p-0bb04d79.entry.js +0 -1
- package/dist/web-components/p-15ac0fdd.entry.js +0 -1
- package/dist/web-components/p-1c956370.entry.js +0 -1
- package/dist/web-components/p-2a512983.entry.js +0 -1
- package/dist/web-components/p-2b2f581a.entry.js +0 -1
- package/dist/web-components/p-2e18e762.entry.js +0 -1
- package/dist/web-components/p-3bc93d65.entry.js +0 -1
- package/dist/web-components/p-4bd3e077.entry.js +0 -1
- package/dist/web-components/p-51a5804b.entry.js +0 -1
- package/dist/web-components/p-56da04d8.entry.js +0 -1
- package/dist/web-components/p-5e6aabd8.entry.js +0 -1
- package/dist/web-components/p-656229de.entry.js +0 -1
- package/dist/web-components/p-6a4f3836.entry.js +0 -1
- package/dist/web-components/p-7775228c.entry.js +0 -1
- package/dist/web-components/p-7ad8e78b.entry.js +0 -1
- package/dist/web-components/p-85a9af42.entry.js +0 -1
- package/dist/web-components/p-9e50120b.entry.js +0 -1
- package/dist/web-components/p-a7e7f8fa.entry.js +0 -1
- package/dist/web-components/p-ad9b2a48.entry.js +0 -1
- package/dist/web-components/p-b2f03016.entry.js +0 -1
- package/dist/web-components/p-b87ad83b.entry.js +0 -1
- package/dist/web-components/p-c937bd92.entry.js +0 -1
- package/dist/web-components/p-cbcd7699.entry.js +0 -1
- package/dist/web-components/p-dbe579e8.entry.js +0 -1
- package/dist/web-components/p-e4b66277.entry.js +0 -1
- package/dist/web-components/p-e6a31881.entry.js +0 -1
- package/dist/web-components/p-f2577a3c.entry.js +0 -1
- package/dist/web-components/p-f6a92287.entry.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,110 @@
|
|
|
1
|
+
## 6.1.0 (2026-01-13)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **list-item**: Improved accessibility by adding proper ARIA role and attributes, switching to rem for scaling.
|
|
6
|
+
- **panel**: Improved accessibility by adding proper ARIA role, labels, switching to rem for scaling.
|
|
7
|
+
- **input**: Added enterkeyhint attribute support.
|
|
8
|
+
|
|
9
|
+
Add `enterkeyhint` prop to `r-input` component to hint the action label/icon on virtual keyboards. Supports values: `enter`, `done`, `go`, `next`, `previous`, `search`, `send`.
|
|
10
|
+
- **icon-button**: Add rTabindex for keyboard navigation.
|
|
11
|
+
- **icon**: Added new icon ("circle-slash") to Riverty icon kit.
|
|
12
|
+
- **tabs**: Introduced new variants for Tabs component: "compact" and "expanded". New active tab border color: "standard" and "branded". Add support for icons in tab labels.
|
|
13
|
+
- **toast**: Added new event `toastDismissed` that is emitted when the dismiss toast animation is complete and the element has fully disappeared from the view, for example by user, timeout or programmatically.
|
|
14
|
+
- **input**: Added `inputmode` prop to provide better mobile keyboard experience.
|
|
15
|
+
|
|
16
|
+
### 🩹 Fixes
|
|
17
|
+
|
|
18
|
+
- **textarea**: Adjusted z-index to prevent stacking context issues
|
|
19
|
+
- **toast**: Improved animation for toast appearance and disappearance.
|
|
20
|
+
- **alert**: Now interactive elements are hidden when alert is dismissed.
|
|
21
|
+
|
|
22
|
+
# 6.0.0 (2025-12-09)
|
|
23
|
+
|
|
24
|
+
This major release removes deprecated component properties. See the [migration guide](https://designsystem.riverty.com/document/48#/-/migration-guide) for detailed steps.
|
|
25
|
+
|
|
26
|
+
### 🚀 Features
|
|
27
|
+
|
|
28
|
+
- **input**: Fixed validation behavior to respect touched state and improved form reset handling.
|
|
29
|
+
|
|
30
|
+
Updated validation logic to only show validation markers and error messages after a field has been touched (focused and blurred) or form submission is attempted. This prevents premature validation warnings on pristine required fields and provides better user experience.
|
|
31
|
+
- **checkbox**: Added `autofocus` property for automatic focus on mount.
|
|
32
|
+
|
|
33
|
+
Added new `autofocus` property to r-checkbox component that automatically focuses the checkbox when the component is mounted. The property follows browser standard behavior where only one element per page should have autofocus enabled. When set to true, the checkbox receives focus using the existing `setFocus()` method within a microtask to ensure proper timing after component initialization.
|
|
34
|
+
- **alert**: A default icon has been added per status. It's now possible to show/hide leadingIcon via `leadingIconVisible`.
|
|
35
|
+
- **input-password**: Added password strength validation attributes
|
|
36
|
+
|
|
37
|
+
Added `minlength`, `maxlength`, and `pattern` props to r-input-password component with corresponding custom error messages (`tooShortMessage`, `tooLongMessage`, `patternMismatchMessage`). This enhancement enables comprehensive password strength validation by:
|
|
38
|
+
- `minlength`: Enforces minimum character length requirements (e.g., 8, 12, or 16 characters)
|
|
39
|
+
- `maxlength`: Prevents excessively long passwords and enforces maximum limits (e.g., 128 characters)
|
|
40
|
+
- `pattern`: Validates password strength using regular expressions for requirements like uppercase letters, lowercase letters, numbers, and special characters.
|
|
41
|
+
- **radio-button**: Added `autofocus` property for automatic focus on mount.
|
|
42
|
+
|
|
43
|
+
Added new `autofocus` property to r-radio-button component that automatically focuses the radio button when the component is mounted. The property follows browser standard behavior where only one element per page should have autofocus enabled. When set to true, the radio button receives focus using the existing `setFocus()` method within a microtask to ensure proper timing after component initialization.
|
|
44
|
+
- **radio-group**: Added `autofocus` prop to automatically focus first enabled radio button on mount.
|
|
45
|
+
|
|
46
|
+
Added new `autofocus` boolean prop (default: false) to r-radio-group component. When set to true, the component automatically focuses the first enabled radio button in the group on mount. If a radio button is already selected, it will focus that button; otherwise, it focuses the first enabled radio button. The autofocus functionality is implemented using the existing `setFocus()` method called within `queueMicrotask` in `componentDidLoad()`.
|
|
47
|
+
- **input**: Added touched and dirty state tracking
|
|
48
|
+
|
|
49
|
+
Added `touched` and `dirty` state tracking to r-input component with corresponding methods (`isTouched()`, `isDirty()`, `markAsPristine()`). This enhancement enables developers to track user interaction and value changes for improved form handling:
|
|
50
|
+
- `touched`: Indicates whether the user has interacted with the input (via input events or blur)
|
|
51
|
+
- `dirty`: Indicates whether the value has been changed by the user (excludes programmatic changes)
|
|
52
|
+
- `isTouched()`: Returns the current touched state
|
|
53
|
+
- `isDirty()`: Returns the current dirty state
|
|
54
|
+
- `markAsPristine()`: Resets both touched and dirty states to false
|
|
55
|
+
- `data-touched` and `data-dirty` attributes are exposed on the host element for CSS styling
|
|
56
|
+
These states are automatically reset on form reset and are not affected by programmatic value changes (via `setValue()` or direct property assignment).
|
|
57
|
+
- **input-password**: Added Safari-specific password rules support.
|
|
58
|
+
|
|
59
|
+
Added `passwordrules` attribute to r-input-password and r-input components to support Safari's strong password generation feature. This Safari-specific attribute allows developers to define password requirements (minlength, required character types like lower, upper, digit, special) that Safari's password manager uses to generate compliant strong passwords. The attribute is ignored by non-Safari browsers.
|
|
60
|
+
Added comprehensive e2e tests to verify the passwordrules attribute is properly set on both optional and required password inputs. Updated Storybook documentation with examples and links to Apple's password autofill customization guide.
|
|
61
|
+
- **input-password**: Added password-specific autocomplete support for enhanced browser integration.
|
|
62
|
+
|
|
63
|
+
Added `autocomplete` prop with password-specific values ('current-password', 'new-password', 'off') to r-input-password component. This feature improves browser password manager integration by:
|
|
64
|
+
- 'current-password': Enables password suggestions for login forms
|
|
65
|
+
- 'new-password': Triggers password generation and saving for registration/password change forms
|
|
66
|
+
- 'off': Disables autofill for sensitive administrative contexts
|
|
67
|
+
The autocomplete attribute is properly passed through to the native HTML input element for seamless browser password manager compatibility across Safari, Chrome, Firefox, and Edge. Updated Storybook with comprehensive examples demonstrating all three use cases and browser integration patterns.
|
|
68
|
+
- **input-password**: Added `rVisibilityChange` event for password visibility toggle tracking.
|
|
69
|
+
|
|
70
|
+
Added new `rVisibilityChange` event to r-input-password component that emits whenever the password visibility is toggled. Event payload includes `{ element: HTMLRInputPasswordElement, visible: boolean }`. The event fires for both user-triggered actions (clicking the eye icon) and programmatic method calls (`showPassword()`, `hidePassword()`, `toggleShow()`).
|
|
71
|
+
- **input-code**: Added OTP autocomplete support for SMS autofill.
|
|
72
|
+
|
|
73
|
+
Added three new configurable props to r-input-code component to enable SMS OTP autofill on iOS and Android:
|
|
74
|
+
- `inputmode` (default: 'numeric') - Controls the virtual keyboard type on mobile devices
|
|
75
|
+
- `enterkeyhint` (default: 'done') - Specifies the action label for the enter key
|
|
76
|
+
- `autocomplete` (default: 'one-time-code') - Enables SMS OTP autofill functionality
|
|
77
|
+
- **input-code**: Added segment control methods for programmatic manipulation.
|
|
78
|
+
|
|
79
|
+
Added three new public methods to r-input-code component for fine-grained control over individual segments:
|
|
80
|
+
- `focusSegment(index)` - Programmatically focuses a specific segment by zero-based index (0 to length-1). Automatically selects the segment content if present. Includes bounds checking and validation.
|
|
81
|
+
- `getSegmentValue(index)` - Retrieves the value of a specific segment by zero-based index. Returns a single character string or empty string if the segment is empty. Includes bounds checking and validation.
|
|
82
|
+
- `setSegmentValue(index, value)` - Sets the value of a specific segment by zero-based index. Truncates multi-character values to the first character. Includes bounds checking and validation.
|
|
83
|
+
|
|
84
|
+
### 🩹 Fixes
|
|
85
|
+
|
|
86
|
+
- **dialog**: Fix footer rendering issues when text content is dynamically set.
|
|
87
|
+
- **textarea**: Remove unused `optional` and `optionalText` properties.
|
|
88
|
+
|
|
89
|
+
### ⚠️ Breaking Changes
|
|
90
|
+
|
|
91
|
+
- **label**: Remove deprecated `tooltip`, and all related properties.
|
|
92
|
+
- **select**: Remove deprecated `tooltip`, `validMessage`, `optional`, `leadingIcon`, and `trailingIcon` properties, and all related ones.
|
|
93
|
+
- **radio-group**: Removed support for `tooltip` and `validMessage`, and all related properties.
|
|
94
|
+
- **input-phone-number**: Remove deprecated `tooltip`, and all related properties.
|
|
95
|
+
- **input-password**: Remove deprecated `tooltip`, and all related properties.
|
|
96
|
+
- **input-date**: Remove deprecated `tooltip`, and all related properties.
|
|
97
|
+
- **list-item**: Removed deprecated `subtext` property and slot.
|
|
98
|
+
- **input**: Remove deprecated `tooltip`, `validMessage`, `optional`, `icon` properties, and all related ones.
|
|
99
|
+
- **checkbox**: Removed deprecated `showValid` and `validMessage` properties.
|
|
100
|
+
- **checkbox-group**: Removed deprecated `showValid` and `validMessage` properties.
|
|
101
|
+
- **popover**: Removed deprecated `size` and `containerAriaLabel` properties.
|
|
102
|
+
- **textarea**: Removed support for `tooltip` and `validMessage`, and all related properties.
|
|
103
|
+
- **toast**: Removed deprecated property `dismissible`. Use `dismissMode="manual"` instead.
|
|
104
|
+
- **accordion-item**: Removed deprecated component. Use `accordion`, `accordion-trigger`, `accordion-panel`, and `accordion-section` components instead.
|
|
105
|
+
- **accordion-trigger**: Removed deprecated properties for leading and trailing icons, use `leading-icon` and `icon` slot instead (use `icon-expanded` and `icon-collapsed` slots for splitted icons).
|
|
106
|
+
- **accordion**: Removed deprecated `small` and `large` size variants, only `s` and `l` are supported now.
|
|
107
|
+
|
|
1
108
|
## 5.8.0 (2025-11-19)
|
|
2
109
|
|
|
3
110
|
### 🚀 Features
|