@descope/web-components-ui 3.23.2 → 3.24.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 (23) hide show
  1. package/dist/cjs/index.cjs.js +32 -2
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +150 -120
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/DescopeDev.js +1 -1
  6. package/dist/umd/DescopeDev.js.map +1 -1
  7. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +1 -1
  8. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js.map +1 -1
  9. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +1 -1
  10. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js.map +1 -1
  11. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +1 -1
  12. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
  13. package/dist/umd/descope-recovery-codes.js +1 -1
  14. package/dist/umd/descope-recovery-codes.js.map +1 -1
  15. package/dist/umd/index.js +1 -1
  16. package/dist/umd/index.js.map +1 -1
  17. package/package.json +43 -43
  18. package/src/components/button-selection-group-fields/baseButtonSelectionGroup.js +7 -0
  19. package/src/components/button-selection-group-fields/descope-button-selection-group-item/ButtonSelectionGroupItemClass.js +1 -0
  20. package/src/theme/components/buttonSelectionGroup/baseButtonSelectionGroup.js +11 -0
  21. package/src/theme/components/buttonSelectionGroup/buttonSelectionGroupItem.js +1 -0
  22. package/stories/descope-button-multi-selection-group.stories.js +7 -0
  23. package/stories/descope-button-selection-group.stories.js +7 -0
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "url": "git+https://github.com/descope/web-components-ui.git",
6
6
  "directory": "packages/web-components/web-components-ui"
7
7
  },
8
- "version": "3.23.2",
8
+ "version": "3.24.0",
9
9
  "description": "",
10
10
  "main": "dist/cjs/index.cjs.js",
11
11
  "module": "dist/index.esm.js",
@@ -57,11 +57,11 @@
57
57
  "webpack-cli": "^7.0.0",
58
58
  "webpack-dev-server": "^5.0.0",
59
59
  "webpack-subresource-integrity": "5.2.0-rc.1",
60
- "eslint-plugin-no-bare-class-import": "3.23.2",
61
- "rollup-replace-plugin": "3.23.2",
62
- "test-drivers": "3.23.2",
63
- "webpack-extract-font-loader": "3.23.2",
64
- "webpack-replace-plugin": "3.23.2"
60
+ "eslint-plugin-no-bare-class-import": "3.24.0",
61
+ "rollup-replace-plugin": "3.24.0",
62
+ "test-drivers": "3.24.0",
63
+ "webpack-extract-font-loader": "3.24.0",
64
+ "webpack-replace-plugin": "3.24.0"
65
65
  },
66
66
  "dependencies": {
67
67
  "@vaadin/checkbox": "24.3.4",
@@ -85,43 +85,43 @@
85
85
  "libphonenumber-js": "^1.11.12",
86
86
  "lodash.debounce": "4.0.8",
87
87
  "lodash.merge": "4.6.2",
88
- "@descope-ui/common": "3.23.2",
89
- "@descope-ui/descope-active-sessions": "3.23.2",
90
- "@descope-ui/descope-apps-list": "3.23.2",
91
- "@descope-ui/descope-autocomplete-field": "3.23.2",
92
- "@descope-ui/descope-badge": "3.23.2",
93
- "@descope-ui/descope-button": "3.23.2",
94
- "@descope-ui/descope-country-subdivision-city-field": "3.23.2",
95
- "@descope-ui/descope-collapsible-container": "3.23.2",
96
- "@descope-ui/descope-combo-box": "3.23.2",
97
- "@descope-ui/descope-enriched-text": "3.23.2",
98
- "@descope-ui/descope-icon": "3.23.2",
99
- "@descope-ui/descope-image": "3.23.2",
100
- "@descope-ui/descope-link": "3.23.2",
101
- "@descope-ui/descope-list": "3.23.2",
102
- "@descope-ui/descope-list-item": "3.23.2",
103
- "@descope-ui/descope-month-day-field": "3.23.2",
104
- "@descope-ui/descope-month-day-field-picker": "3.23.2",
105
- "@descope-ui/descope-avatar": "3.23.2",
106
- "@descope-ui/descope-multi-line-mappings": "3.23.2",
107
- "@descope-ui/descope-multi-select-combo-box": "3.23.2",
108
- "@descope-ui/descope-password-strength": "3.23.2",
109
- "@descope-ui/descope-ponyhot": "3.23.2",
110
- "@descope-ui/descope-recovery-codes": "3.23.2",
111
- "@descope-ui/descope-text-field": "3.23.2",
112
- "@descope-ui/descope-timer": "3.23.2",
113
- "@descope-ui/descope-timer-button": "3.23.2",
114
- "@descope-ui/descope-text": "3.23.2",
115
- "@descope-ui/descope-tooltip": "3.23.2",
116
- "@descope-ui/descope-multi-sso": "3.23.2",
117
- "@descope-ui/descope-trusted-devices": "3.23.2",
118
- "@descope-ui/descope-attachment": "3.23.2",
119
- "@descope-ui/descope-user-passkeys": "3.23.2",
120
- "@descope-ui/descope-filter": "3.23.2",
121
- "@descope-ui/descope-anchored": "3.23.2",
122
- "@descope-ui/descope-address-field": "3.23.2",
123
- "@descope-ui/descope-outbound-apps": "3.23.2",
124
- "@descope-ui/descope-outbound-app-button": "3.23.2"
88
+ "@descope-ui/common": "3.24.0",
89
+ "@descope-ui/descope-active-sessions": "3.24.0",
90
+ "@descope-ui/descope-address-field": "3.24.0",
91
+ "@descope-ui/descope-country-subdivision-city-field": "3.24.0",
92
+ "@descope-ui/descope-apps-list": "3.24.0",
93
+ "@descope-ui/descope-autocomplete-field": "3.24.0",
94
+ "@descope-ui/descope-avatar": "3.24.0",
95
+ "@descope-ui/descope-badge": "3.24.0",
96
+ "@descope-ui/descope-button": "3.24.0",
97
+ "@descope-ui/descope-collapsible-container": "3.24.0",
98
+ "@descope-ui/descope-combo-box": "3.24.0",
99
+ "@descope-ui/descope-enriched-text": "3.24.0",
100
+ "@descope-ui/descope-icon": "3.24.0",
101
+ "@descope-ui/descope-image": "3.24.0",
102
+ "@descope-ui/descope-link": "3.24.0",
103
+ "@descope-ui/descope-list": "3.24.0",
104
+ "@descope-ui/descope-list-item": "3.24.0",
105
+ "@descope-ui/descope-month-day-field": "3.24.0",
106
+ "@descope-ui/descope-month-day-field-picker": "3.24.0",
107
+ "@descope-ui/descope-multi-line-mappings": "3.24.0",
108
+ "@descope-ui/descope-multi-select-combo-box": "3.24.0",
109
+ "@descope-ui/descope-outbound-app-button": "3.24.0",
110
+ "@descope-ui/descope-outbound-apps": "3.24.0",
111
+ "@descope-ui/descope-password-strength": "3.24.0",
112
+ "@descope-ui/descope-ponyhot": "3.24.0",
113
+ "@descope-ui/descope-recovery-codes": "3.24.0",
114
+ "@descope-ui/descope-text": "3.24.0",
115
+ "@descope-ui/descope-text-field": "3.24.0",
116
+ "@descope-ui/descope-timer": "3.24.0",
117
+ "@descope-ui/descope-timer-button": "3.24.0",
118
+ "@descope-ui/descope-tooltip": "3.24.0",
119
+ "@descope-ui/descope-multi-sso": "3.24.0",
120
+ "@descope-ui/descope-trusted-devices": "3.24.0",
121
+ "@descope-ui/descope-attachment": "3.24.0",
122
+ "@descope-ui/descope-anchored": "3.24.0",
123
+ "@descope-ui/descope-user-passkeys": "3.24.0",
124
+ "@descope-ui/descope-filter": "3.24.0"
125
125
  },
126
126
  "overrides": {
127
127
  "@vaadin/avatar": "24.3.4",
@@ -4,6 +4,7 @@ import {
4
4
  resetInputCursor,
5
5
  resetInputFieldDefaultWidth,
6
6
  } from '../../helpers/themeHelpers/resetHelpers';
7
+ import { ButtonSelectionGroupItemClass } from './descope-button-selection-group-item/ButtonSelectionGroupItemClass';
7
8
 
8
9
  export const buttonSelectionGroupBaseMixin = (superclass) =>
9
10
  class ButtonSelectionGroupMixinClass extends superclass {
@@ -112,6 +113,12 @@ export const buttonSelectionGroupMappings = {
112
113
  errorMessageIconPosition: { ...errorMessage, property: 'background-position' },
113
114
  errorMessageFontSize: { ...errorMessage, property: 'font-size' },
114
115
  itemsSpacing: { ...internalWrapper, property: 'gap' },
116
+ itemsDirection: { ...internalWrapper, property: 'flex-direction' },
117
+ itemsAlignment: { ...internalWrapper, property: 'align-items' },
118
+ itemsWidth: {
119
+ selector: () => `::slotted(${ButtonSelectionGroupItemClass.componentName})`,
120
+ property: ButtonSelectionGroupItemClass.cssVarList.hostWidth,
121
+ },
115
122
  };
116
123
 
117
124
  export const buttonSelectionGroupStyles = `
@@ -85,6 +85,7 @@ export const ButtonSelectionGroupItemClass = compose(
85
85
  selector: () => ButtonClass.componentName,
86
86
  property: ButtonClass.cssVarList.hostDirection,
87
87
  },
88
+ hostWidth: { selector: () => ButtonClass.componentName, property: 'width' },
88
89
  backgroundColor: {
89
90
  selector: () => ButtonClass.componentName,
90
91
  property: ButtonClass.cssVarList.backgroundColor,
@@ -21,4 +21,15 @@ export const createBaseButtonSelectionGroupMappings = (vars) => ({
21
21
  [vars.errorMessageIconRepeat]: refs.errorMessageIconRepeat,
22
22
  [vars.errorMessageIconPosition]: refs.errorMessageIconPosition,
23
23
  [vars.errorMessageFontSize]: refs.errorMessageFontSize,
24
+
25
+ layout: {
26
+ vertical: {
27
+ [vars.itemsDirection]: 'column',
28
+ [vars.itemsAlignment]: 'flex-start',
29
+ _fullWidth: {
30
+ [vars.itemsAlignment]: 'stretch',
31
+ [vars.itemsWidth]: '100%',
32
+ },
33
+ },
34
+ },
24
35
  });
@@ -8,6 +8,7 @@ export const vars = ButtonSelectionGroupItemClass.cssVarList;
8
8
 
9
9
  const buttonSelectionGroupItem = {
10
10
  [vars.hostDirection]: 'inherit',
11
+ [vars.hostWidth]: 'auto',
11
12
  [vars.backgroundColor]: globalRefs.colors.surface.main,
12
13
  [vars.labelTextColor]: globalRefs.colors.surface.contrast,
13
14
  [vars.borderColor]: globalRefs.colors.surface.light,
@@ -27,6 +27,7 @@ const Template = ({
27
27
  required,
28
28
  readonly,
29
29
  'full-width': fullWidth,
30
+ layout,
30
31
  direction,
31
32
  disabled,
32
33
  minItemsSelection,
@@ -52,6 +53,7 @@ const Template = ({
52
53
  <descope-button-multi-selection-group
53
54
  data='${(itemsSource === 'attr' && serializedData) || ''}'
54
55
  full-width="${fullWidth || false}"
56
+ layout="${layout || ''}"
55
57
  size="${size || ''}"
56
58
  label="${label || ''}"
57
59
  helper-text="${helperText || ''}"
@@ -108,6 +110,11 @@ export default {
108
110
  name: 'Read Only',
109
111
  control: { type: 'boolean' },
110
112
  },
113
+ layout: {
114
+ name: 'Layout',
115
+ options: ['vertical', 'horizontal'],
116
+ control: { type: 'radio' },
117
+ },
111
118
  ...overrideRenderItemControl,
112
119
  ...itemsSourceControl,
113
120
  ...directionControl,
@@ -25,6 +25,7 @@ const Template = ({
25
25
  required,
26
26
  readonly,
27
27
  'full-width': fullWidth,
28
+ layout,
28
29
  direction,
29
30
  disabled,
30
31
  'helper-text': helperText,
@@ -48,6 +49,7 @@ const Template = ({
48
49
  <descope-button-selection-group
49
50
  data='${(itemsSource === 'attr' && serializedData) || ''}'
50
51
  full-width="${fullWidth || false}"
52
+ layout="${layout || ''}"
51
53
  size="${size || ''}"
52
54
  label="${label || ''}"
53
55
  helper-text="${helperText || ''}"
@@ -109,6 +111,11 @@ export default {
109
111
  name: 'Read Only',
110
112
  control: { type: 'boolean' },
111
113
  },
114
+ layout: {
115
+ name: 'Layout',
116
+ options: ['vertical', 'horizontal'],
117
+ control: { type: 'radio' },
118
+ },
112
119
  ...overrideRenderItemControl,
113
120
  ...itemsSourceControl,
114
121
  ...directionControl,