@simplybusiness/mobius 9.3.4 → 10.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.
Files changed (155) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cjs/components/AddressLookup/AddressLookup.js +9 -4
  3. package/dist/cjs/components/AddressLookup/AddressLookup.js.map +2 -2
  4. package/dist/cjs/components/AddressLookup/index.js +9 -4
  5. package/dist/cjs/components/AddressLookup/index.js.map +2 -2
  6. package/dist/cjs/components/Checkbox/Checkbox.js +9 -4
  7. package/dist/cjs/components/Checkbox/Checkbox.js.map +2 -2
  8. package/dist/cjs/components/Checkbox/CheckboxGroup.js +9 -4
  9. package/dist/cjs/components/Checkbox/CheckboxGroup.js.map +2 -2
  10. package/dist/cjs/components/Checkbox/index.js +9 -4
  11. package/dist/cjs/components/Checkbox/index.js.map +2 -2
  12. package/dist/cjs/components/Combobox/Combobox.js +9 -4
  13. package/dist/cjs/components/Combobox/Combobox.js.map +2 -2
  14. package/dist/cjs/components/Combobox/index.js +9 -4
  15. package/dist/cjs/components/Combobox/index.js.map +2 -2
  16. package/dist/cjs/components/DateField/DateField.js +9 -4
  17. package/dist/cjs/components/DateField/DateField.js.map +2 -2
  18. package/dist/cjs/components/DateField/index.js +9 -4
  19. package/dist/cjs/components/DateField/index.js.map +2 -2
  20. package/dist/cjs/components/ErrorMessage/ErrorMessage.js +9 -4
  21. package/dist/cjs/components/ErrorMessage/ErrorMessage.js.map +2 -2
  22. package/dist/cjs/components/ErrorMessage/index.js +9 -4
  23. package/dist/cjs/components/ErrorMessage/index.js.map +2 -2
  24. package/dist/cjs/components/ExpandableText/ExpandableText.js +9 -4
  25. package/dist/cjs/components/ExpandableText/ExpandableText.js.map +2 -2
  26. package/dist/cjs/components/ExpandableText/index.js +9 -4
  27. package/dist/cjs/components/ExpandableText/index.js.map +2 -2
  28. package/dist/cjs/components/MaskedField/MaskedField.js +9 -4
  29. package/dist/cjs/components/MaskedField/MaskedField.js.map +2 -2
  30. package/dist/cjs/components/MaskedField/index.js +9 -4
  31. package/dist/cjs/components/MaskedField/index.js.map +2 -2
  32. package/dist/cjs/components/NumberField/NumberField.js +9 -4
  33. package/dist/cjs/components/NumberField/NumberField.js.map +2 -2
  34. package/dist/cjs/components/NumberField/index.js +9 -4
  35. package/dist/cjs/components/NumberField/index.js.map +2 -2
  36. package/dist/cjs/components/PasswordField/PasswordField.js +9 -4
  37. package/dist/cjs/components/PasswordField/PasswordField.js.map +2 -2
  38. package/dist/cjs/components/PasswordField/ShowHideButton.js +9 -4
  39. package/dist/cjs/components/PasswordField/ShowHideButton.js.map +2 -2
  40. package/dist/cjs/components/PasswordField/index.js +9 -4
  41. package/dist/cjs/components/PasswordField/index.js.map +2 -2
  42. package/dist/cjs/components/Radio/Radio.js +9 -4
  43. package/dist/cjs/components/Radio/Radio.js.map +2 -2
  44. package/dist/cjs/components/Radio/RadioGroup.js +9 -4
  45. package/dist/cjs/components/Radio/RadioGroup.js.map +2 -2
  46. package/dist/cjs/components/Radio/index.js +9 -4
  47. package/dist/cjs/components/Radio/index.js.map +2 -2
  48. package/dist/cjs/components/Select/Select.js +9 -4
  49. package/dist/cjs/components/Select/Select.js.map +2 -2
  50. package/dist/cjs/components/Select/index.js +9 -4
  51. package/dist/cjs/components/Select/index.js.map +2 -2
  52. package/dist/cjs/components/TextArea/TextArea.js +9 -4
  53. package/dist/cjs/components/TextArea/TextArea.js.map +2 -2
  54. package/dist/cjs/components/TextArea/index.js +9 -4
  55. package/dist/cjs/components/TextArea/index.js.map +2 -2
  56. package/dist/cjs/components/TextField/TextField.js +9 -4
  57. package/dist/cjs/components/TextField/TextField.js.map +2 -2
  58. package/dist/cjs/components/TextField/index.js +9 -4
  59. package/dist/cjs/components/TextField/index.js.map +2 -2
  60. package/dist/cjs/components/TextOrHTML/TextOrHTML.js +8 -3
  61. package/dist/cjs/components/TextOrHTML/TextOrHTML.js.map +2 -2
  62. package/dist/cjs/components/TextOrHTML/index.js +8 -3
  63. package/dist/cjs/components/TextOrHTML/index.js.map +2 -2
  64. package/dist/cjs/components/index.js +9 -4
  65. package/dist/cjs/components/index.js.map +2 -2
  66. package/dist/cjs/index.js +9 -4
  67. package/dist/cjs/index.js.map +2 -2
  68. package/dist/cjs/meta.json +100 -100
  69. package/dist/esm/{chunk-ZU3XMAWQ.js → chunk-C4BILMFX.js} +2 -2
  70. package/dist/esm/{chunk-HHJ4Y5JQ.js → chunk-QRHDVVRK.js} +9 -4
  71. package/dist/esm/chunk-QRHDVVRK.js.map +7 -0
  72. package/dist/esm/components/AddressLookup/AddressLookup.js +2 -2
  73. package/dist/esm/components/AddressLookup/index.js +2 -2
  74. package/dist/esm/components/Checkbox/Checkbox.js +2 -2
  75. package/dist/esm/components/Checkbox/CheckboxGroup.js +2 -2
  76. package/dist/esm/components/Checkbox/index.js +2 -2
  77. package/dist/esm/components/Combobox/Combobox.js +2 -2
  78. package/dist/esm/components/Combobox/index.js +2 -2
  79. package/dist/esm/components/DateField/DateField.js +2 -2
  80. package/dist/esm/components/DateField/index.js +2 -2
  81. package/dist/esm/components/ErrorMessage/ErrorMessage.js +2 -2
  82. package/dist/esm/components/ErrorMessage/index.js +2 -2
  83. package/dist/esm/components/ExpandableText/ExpandableText.js +2 -2
  84. package/dist/esm/components/ExpandableText/index.js +2 -2
  85. package/dist/esm/components/MaskedField/MaskedField.js +2 -2
  86. package/dist/esm/components/MaskedField/index.js +2 -2
  87. package/dist/esm/components/NumberField/NumberField.js +2 -2
  88. package/dist/esm/components/NumberField/index.js +2 -2
  89. package/dist/esm/components/PasswordField/PasswordField.js +2 -2
  90. package/dist/esm/components/PasswordField/ShowHideButton.js +2 -2
  91. package/dist/esm/components/PasswordField/index.js +2 -2
  92. package/dist/esm/components/Radio/Radio.js +2 -2
  93. package/dist/esm/components/Radio/RadioGroup.js +2 -2
  94. package/dist/esm/components/Radio/index.js +2 -2
  95. package/dist/esm/components/Select/Select.js +2 -2
  96. package/dist/esm/components/Select/index.js +2 -2
  97. package/dist/esm/components/TextArea/TextArea.js +2 -2
  98. package/dist/esm/components/TextArea/index.js +2 -2
  99. package/dist/esm/components/TextField/TextField.js +2 -2
  100. package/dist/esm/components/TextField/index.js +2 -2
  101. package/dist/esm/components/TextOrHTML/TextOrHTML.js +1 -1
  102. package/dist/esm/components/TextOrHTML/index.js +1 -1
  103. package/dist/esm/components/index.js +2 -2
  104. package/dist/esm/index.js +2 -2
  105. package/dist/esm/meta.json +73 -73
  106. package/dist/tsconfig.build.tsbuildinfo +1 -1
  107. package/dist/types/components/TextOrHTML/TextOrHTML.d.ts +3 -1
  108. package/package.json +2 -2
  109. package/src/components/Accordion/Accordion.css +79 -71
  110. package/src/components/Accordion/AccordionList.css +25 -23
  111. package/src/components/Alert/Alert.css +46 -44
  112. package/src/components/Box/Box.css +4 -2
  113. package/src/components/Breadcrumbs/Breadcrumbs.css +25 -23
  114. package/src/components/Button/Button.css +227 -219
  115. package/src/components/Button/Button.story.styles.css +9 -7
  116. package/src/components/Checkbox/Checkbox.css +106 -104
  117. package/src/components/Checkbox/CheckboxGroup.css +22 -20
  118. package/src/components/Combobox/Combobox.css +96 -94
  119. package/src/components/Container/Container.css +11 -9
  120. package/src/components/Divider/Divider.css +14 -12
  121. package/src/components/Drawer/Drawer.css +157 -155
  122. package/src/components/DropdownMenu/DropdownMenu.css +54 -52
  123. package/src/components/DropdownMenu/DropdownMenu.story.styles.css +11 -9
  124. package/src/components/ErrorMessage/ErrorMessage.css +30 -28
  125. package/src/components/ExpandableText/ExpandableText.css +11 -9
  126. package/src/components/Fieldset/Fieldset.css +13 -11
  127. package/src/components/Flex/Flex.css +5 -3
  128. package/src/components/Grid/Grid.story.styles.css +18 -16
  129. package/src/components/Icon/Icon.css +37 -35
  130. package/src/components/Label/Label.css +13 -11
  131. package/src/components/Link/Link.css +29 -27
  132. package/src/components/List/List.css +47 -45
  133. package/src/components/LoadingIndicator/LoadingIndicator.css +4 -2
  134. package/src/components/Modal/Modal.css +122 -120
  135. package/src/components/NumberField/NumberField.css +58 -56
  136. package/src/components/PasswordField/PasswordField.css +27 -25
  137. package/src/components/Popover/Popover.css +32 -30
  138. package/src/components/Popover/Popover.story.styles.css +24 -22
  139. package/src/components/Progress/Progress.css +25 -23
  140. package/src/components/Radio/Radio.css +167 -163
  141. package/src/components/Segment/Segment.css +163 -161
  142. package/src/components/Select/Select.css +82 -80
  143. package/src/components/Slider/Slider.css +113 -111
  144. package/src/components/Stack/Stack.css +24 -22
  145. package/src/components/Switch/Switch.css +58 -56
  146. package/src/components/Table/Table.css +52 -50
  147. package/src/components/Text/Text.css +92 -90
  148. package/src/components/TextArea/TextArea.css +41 -39
  149. package/src/components/TextField/TextField.css +132 -130
  150. package/src/components/TextOrHTML/TextOrHTML.test.tsx +95 -0
  151. package/src/components/TextOrHTML/TextOrHTML.tsx +13 -3
  152. package/src/components/Title/Title.css +32 -30
  153. package/src/components/Toast/Toast.css +234 -232
  154. package/dist/esm/chunk-HHJ4Y5JQ.js.map +0 -7
  155. /package/dist/esm/{chunk-ZU3XMAWQ.js.map → chunk-C4BILMFX.js.map} +0 -0
@@ -1,132 +1,134 @@
1
- /* stylelint-disable no-descending-specificity -- complex component with many state combinations */
2
- .mobius-checkbox__input {
3
- appearance: none;
4
- position: absolute;
5
- margin: var(--checkbox-margin);
6
- width: var(--checkbox-width);
7
- height: var(--checkbox-height);
8
- border: var(--checkbox-border);
9
- border-radius: var(--checkbox-border-radius);
10
- pointer-events: none;
11
- /* Handle custom icons */
12
- background-repeat: no-repeat;
13
- background-position: center;
14
-
15
- &.--is-selected {
16
- background-color: var(--checkbox-background-color);
17
- background-image: var(--checkbox-icon);
18
- background-size: var(--checkbox-icon-size);
19
- &.--is-invalid {
20
- background-color: var(--checkbox-background-color-invalid);
1
+ @layer atoms {
2
+ /* stylelint-disable no-descending-specificity -- complex component with many state combinations */
3
+ .mobius-checkbox__input {
4
+ appearance: none;
5
+ position: absolute;
6
+ margin: var(--checkbox-margin);
7
+ width: var(--checkbox-width);
8
+ height: var(--checkbox-height);
9
+ border: var(--checkbox-border);
10
+ border-radius: var(--checkbox-border-radius);
11
+ pointer-events: none;
12
+ /* Handle custom icons */
13
+ background-repeat: no-repeat;
14
+ background-position: center;
15
+
16
+ &.--is-selected {
17
+ background-color: var(--checkbox-background-color);
18
+ background-image: var(--checkbox-icon);
19
+ background-size: var(--checkbox-icon-size);
20
+ &.--is-invalid {
21
+ background-color: var(--checkbox-background-color-invalid);
22
+ }
23
+ &.--is-disabled {
24
+ background-color: var(--checkbox-background-color-disabled);
25
+ }
21
26
  }
27
+
28
+ /* Disable browser default since input already provides focus */
29
+ &:focus-visible {
30
+ outline: none;
31
+ }
32
+
33
+ /* Disabled */
22
34
  &.--is-disabled {
35
+ color: var(--checkbox-label-color-disabled);
36
+ border-color: var(--checkbox-border-color-disabled);
23
37
  background-color: var(--checkbox-background-color-disabled);
24
38
  }
25
- }
26
-
27
- /* Disable browser default since input already provides focus */
28
- &:focus-visible {
29
- outline: none;
30
- }
31
-
32
- /* Disabled */
33
- &.--is-disabled {
34
- color: var(--checkbox-label-color-disabled);
35
- border-color: var(--checkbox-border-color-disabled);
36
- background-color: var(--checkbox-background-color-disabled);
37
- }
38
39
 
39
- /* Invalid */
40
- .--is-invalid &:not(.--is-disabled) {
41
- border-color: var(--color-error);
42
- }
43
- }
44
-
45
- .mobius-checkbox__label {
46
- box-sizing: border-box;
47
- display: flex;
48
- align-items: flex-start;
49
- flex-direction: row;
50
- border: var(--checkbox-label-border);
51
- border-radius: var(--radius-1);
52
- padding: var(--checkbox-label-padding);
53
- position: relative;
54
- user-select: none;
55
- cursor: pointer;
56
- background-color: var(--color-background-input);
57
-
58
- /* Disabled */
59
- &.--is-disabled {
60
- color: var(--checkbox-label-color-disabled);
61
- border-color: var(--checkbox-border-color-disabled);
62
- background-color: var(--checkbox-label-background-color-disabled);
63
- cursor: not-allowed;
64
-
65
- & .mobius-checkbox__icon {
66
- color: var(--color-text-light);
40
+ /* Invalid */
41
+ .--is-invalid &:not(.--is-disabled) {
42
+ border-color: var(--color-error);
67
43
  }
68
44
  }
69
45
 
70
- /* Hovered */
71
- &:hover:not(.--is-disabled):not(&.--is-invalid) {
72
- border-color: var(--color-primary);
73
- background-color: var(--color-background-input-active);
46
+ .mobius-checkbox__label {
47
+ box-sizing: border-box;
48
+ display: flex;
49
+ align-items: flex-start;
50
+ flex-direction: row;
51
+ border: var(--checkbox-label-border);
52
+ border-radius: var(--radius-1);
53
+ padding: var(--checkbox-label-padding);
54
+ position: relative;
55
+ user-select: none;
56
+ cursor: pointer;
57
+ background-color: var(--color-background-input);
58
+
59
+ /* Disabled */
60
+ &.--is-disabled {
61
+ color: var(--checkbox-label-color-disabled);
62
+ border-color: var(--checkbox-border-color-disabled);
63
+ background-color: var(--checkbox-label-background-color-disabled);
64
+ cursor: not-allowed;
74
65
 
75
- & .mobius-checkbox__input {
76
- border-color: var(--color-primary);
66
+ & .mobius-checkbox__icon {
67
+ color: var(--color-text-light);
68
+ }
77
69
  }
78
70
 
79
- & .mobius-checkbox__icon {
80
- color: var(--color-primary);
81
- }
82
- }
83
-
84
- &:has(:focus-visible):not(.--is-disabled) {
85
- &:not(.--is-invalid) {
86
- box-shadow: var(--box-shadow-default);
71
+ /* Hovered */
72
+ &:hover:not(.--is-disabled):not(&.--is-invalid) {
87
73
  border-color: var(--color-primary);
88
74
  background-color: var(--color-background-input-active);
89
75
 
76
+ & .mobius-checkbox__input {
77
+ border-color: var(--color-primary);
78
+ }
79
+
90
80
  & .mobius-checkbox__icon {
91
81
  color: var(--color-primary);
92
82
  }
93
83
  }
94
- }
95
84
 
96
- /* Invalid */
97
- &.--is-invalid:not(.--is-disabled) {
98
- color: var(--checkbox-label-color-invalid);
99
- border-color: var(--checkbox-border-color-invalid);
85
+ &:has(:focus-visible):not(.--is-disabled) {
86
+ &:not(.--is-invalid) {
87
+ box-shadow: var(--box-shadow-default);
88
+ border-color: var(--color-primary);
89
+ background-color: var(--color-background-input-active);
100
90
 
101
- &:hover,
102
- &:focus-within {
103
- background-color: var(--checkbox-label-background-color-invalid);
104
- }
105
-
106
- & .mobius-checkbox__icon {
107
- color: var(--checkbox-color-invalid);
91
+ & .mobius-checkbox__icon {
92
+ color: var(--color-primary);
93
+ }
94
+ }
108
95
  }
109
96
 
110
- & .mobius-checkbox__input {
97
+ /* Invalid */
98
+ &.--is-invalid:not(.--is-disabled) {
99
+ color: var(--checkbox-label-color-invalid);
111
100
  border-color: var(--checkbox-border-color-invalid);
101
+
102
+ &:hover,
103
+ &:focus-within {
104
+ background-color: var(--checkbox-label-background-color-invalid);
105
+ }
106
+
107
+ & .mobius-checkbox__icon {
108
+ color: var(--checkbox-color-invalid);
109
+ }
110
+
111
+ & .mobius-checkbox__input {
112
+ border-color: var(--checkbox-border-color-invalid);
113
+ }
112
114
  }
113
115
  }
114
- }
115
116
 
116
- .mobius-checkbox__icon {
117
- position: relative;
118
- color: var(--checkbox-color);
119
- visibility: var(--checkbox-default-icon-visibility);
120
- }
117
+ .mobius-checkbox__icon {
118
+ position: relative;
119
+ color: var(--checkbox-color);
120
+ visibility: var(--checkbox-default-icon-visibility);
121
+ }
121
122
 
122
- .mobius-checkbox__visible-label {
123
- display: flex;
124
- align-items: center;
125
- box-sizing: border-box;
126
- width: 100%;
127
- padding-top: var(--checkbox-visible-label-padding-top);
128
- font-family: var(--font-family);
129
- line-height: var(--line-height-normal);
130
- font-size: var(--checkbox-visible-label-font-size);
131
- margin-left: var(--checkbox-label-gap);
123
+ .mobius-checkbox__visible-label {
124
+ display: flex;
125
+ align-items: center;
126
+ box-sizing: border-box;
127
+ width: 100%;
128
+ padding-top: var(--checkbox-visible-label-padding-top);
129
+ font-family: var(--font-family);
130
+ line-height: var(--line-height-normal);
131
+ font-size: var(--checkbox-visible-label-font-size);
132
+ margin-left: var(--checkbox-label-gap);
133
+ }
132
134
  }
@@ -1,27 +1,29 @@
1
- .mobius-checkbox-group {
2
- display: grid;
3
- gap: var(--size-xs);
4
-
5
- & .mobius-checkbox-group__wrapper {
1
+ @layer atoms {
2
+ .mobius-checkbox-group {
6
3
  display: grid;
7
- margin-bottom: var(--checkbox-group-wrapper-margin-bottom);
8
- }
4
+ gap: var(--size-xs);
9
5
 
10
- & .mobius-checkbox,
11
- & .mobius-checkbox-group__wrapper {
12
- margin-bottom: 0;
13
- }
6
+ & .mobius-checkbox-group__wrapper {
7
+ display: grid;
8
+ margin-bottom: var(--checkbox-group-wrapper-margin-bottom);
9
+ }
14
10
 
15
- &.--is-horizontal .mobius-checkbox-group__wrapper {
16
- grid-template-columns: repeat(var(--checkbox-items-per-row), 1fr);
17
- gap: var(--checkbox-group-wrapper-gap-horizontal);
18
- }
11
+ & .mobius-checkbox,
12
+ & .mobius-checkbox-group__wrapper {
13
+ margin-bottom: 0;
14
+ }
19
15
 
20
- &.--is-vertical .mobius-checkbox-group__wrapper {
21
- gap: var(--checkbox-group-wrapper-gap-vertical);
22
- }
16
+ &.--is-horizontal .mobius-checkbox-group__wrapper {
17
+ grid-template-columns: repeat(var(--checkbox-items-per-row), 1fr);
18
+ gap: var(--checkbox-group-wrapper-gap-horizontal);
19
+ }
20
+
21
+ &.--is-vertical .mobius-checkbox-group__wrapper {
22
+ gap: var(--checkbox-group-wrapper-gap-vertical);
23
+ }
23
24
 
24
- &:where(.--is-optional) > :where(.mobius-label)::after {
25
- content: " (optional)";
25
+ &:where(.--is-optional) > :where(.mobius-label)::after {
26
+ content: " (optional)";
27
+ }
26
28
  }
27
29
  }
@@ -1,112 +1,114 @@
1
- .mobius-combobox {
2
- interpolate-size: allow-keywords;
3
- position: relative;
4
- width: 100%;
5
- }
6
-
7
- /* Override prefix icon position for animation */
8
- .mobius-text-field__input-wrapper.mobius-combobox__input {
9
- padding-left: var(--size-sm);
10
-
11
- & .mobius-text-field__prefix-inside {
12
- padding-left: 0;
1
+ @layer atoms {
2
+ .mobius-combobox {
3
+ interpolate-size: allow-keywords;
4
+ position: relative;
5
+ width: 100%;
13
6
  }
14
- }
15
7
 
16
- .mobius-combobox__list {
17
- --animation-duration: 0.1s;
18
- position: absolute;
19
- margin: 0;
20
- margin-top: var(--listbox-gap);
21
- padding: 0;
22
- top: 100%;
23
- left: 0;
24
- right: 0;
25
- z-index: 1000;
26
- background-color: #fff;
27
- border: 1px solid var(--combobox-border-color);
28
- border-radius: var(--radius-1);
29
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
30
- overflow-y: auto;
31
- height: 0;
32
- opacity: 0;
33
- transition:
34
- box-shadow var(--animation-duration) ease,
35
- height var(--animation-duration) ease,
36
- opacity var(--animation-duration) ease;
37
- transition-behavior: allow-discrete;
8
+ /* Override prefix icon position for animation */
9
+ .mobius-text-field__input-wrapper.mobius-combobox__input {
10
+ padding-left: var(--size-sm);
38
11
 
39
- .mobius-combobox--is-expanded & {
40
- opacity: 1;
41
- height: var(--listbox-height);
42
- max-height: var(--listbox-max-height);
12
+ & .mobius-text-field__prefix-inside {
13
+ padding-left: 0;
14
+ }
43
15
  }
44
16
 
45
- .mobius-combobox--is-expanded.mobius-combobox--is-mobile & {
46
- max-height: var(--listbox-max-height-mobile);
47
- }
48
-
49
- /* Hidden state for accessibility - keeps listbox in DOM but invisible */
50
- &.mobius-combobox__list--hidden {
51
- visibility: hidden;
17
+ .mobius-combobox__list {
18
+ --animation-duration: 0.1s;
19
+ position: absolute;
20
+ margin: 0;
21
+ margin-top: var(--listbox-gap);
22
+ padding: 0;
23
+ top: 100%;
24
+ left: 0;
25
+ right: 0;
26
+ z-index: 1000;
27
+ background-color: #fff;
28
+ border: 1px solid var(--combobox-border-color);
29
+ border-radius: var(--radius-1);
30
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
31
+ overflow-y: auto;
52
32
  height: 0;
53
33
  opacity: 0;
34
+ transition:
35
+ box-shadow var(--animation-duration) ease,
36
+ height var(--animation-duration) ease,
37
+ opacity var(--animation-duration) ease;
38
+ transition-behavior: allow-discrete;
39
+
40
+ .mobius-combobox--is-expanded & {
41
+ opacity: 1;
42
+ height: var(--listbox-height);
43
+ max-height: var(--listbox-max-height);
44
+ }
45
+
46
+ .mobius-combobox--is-expanded.mobius-combobox--is-mobile & {
47
+ max-height: var(--listbox-max-height-mobile);
48
+ }
49
+
50
+ /* Hidden state for accessibility - keeps listbox in DOM but invisible */
51
+ &.mobius-combobox__list--hidden {
52
+ visibility: hidden;
53
+ height: 0;
54
+ opacity: 0;
55
+ }
54
56
  }
55
- }
56
57
 
57
- .mobius-combobox__no-options {
58
- padding: var(--option-padding);
59
- text-align: center;
60
- }
58
+ .mobius-combobox__no-options {
59
+ padding: var(--option-padding);
60
+ text-align: center;
61
+ }
61
62
 
62
- .mobius-combobox__option {
63
- padding: var(--option-padding);
64
- cursor: pointer;
65
- margin: 2px;
66
- border: solid 2px transparent;
67
- border-radius: var(--radius-1);
68
- }
63
+ .mobius-combobox__option {
64
+ padding: var(--option-padding);
65
+ cursor: pointer;
66
+ margin: 2px;
67
+ border: solid 2px transparent;
68
+ border-radius: var(--radius-1);
69
+ }
69
70
 
70
- .mobius-combobox__option:hover {
71
- background-color: var(--color-primary);
72
- color: var(--color-neutral-100);
73
- }
71
+ .mobius-combobox__option:hover {
72
+ background-color: var(--color-primary);
73
+ color: var(--color-neutral-100);
74
+ }
74
75
 
75
- .mobius-combobox__option--is-highlighted {
76
- border-color: var(--color-focus);
77
- }
76
+ .mobius-combobox__option--is-highlighted {
77
+ border-color: var(--color-focus);
78
+ }
78
79
 
79
- /* Group styles */
80
- [role="group"] {
81
- margin: 0;
82
- padding: 0;
83
- }
80
+ /* Group styles */
81
+ [role="group"] {
82
+ margin: 0;
83
+ padding: 0;
84
+ }
84
85
 
85
- [role="group"] > [role="presentation"] {
86
- display: block;
87
- margin: 0;
88
- padding: var(--option-padding);
89
- font-weight: bold;
90
- color: var(--combobox-group-color);
91
- background-color: var(--combobox-group-background-color);
92
- }
86
+ [role="group"] > [role="presentation"] {
87
+ display: block;
88
+ margin: 0;
89
+ padding: var(--option-padding);
90
+ font-weight: bold;
91
+ color: var(--combobox-group-color);
92
+ background-color: var(--combobox-group-background-color);
93
+ }
93
94
 
94
- [role="option"] {
95
- position: relative;
96
- display: block;
97
- cursor: pointer;
98
- }
95
+ [role="option"] {
96
+ position: relative;
97
+ display: block;
98
+ cursor: pointer;
99
+ }
99
100
 
100
- .mobius-combobox--is-loading input {
101
- background-image: url("./loading-dots.svg");
102
- background-position: right 10px center;
103
- background-repeat: no-repeat;
104
- background-size: 32px;
105
- }
101
+ .mobius-combobox--is-loading input {
102
+ background-image: url("./loading-dots.svg");
103
+ background-position: right 10px center;
104
+ background-repeat: no-repeat;
105
+ background-size: 32px;
106
+ }
106
107
 
107
- /* Pulse animation on focus ring */
108
- /*
109
- .mobius-combobox--is-loading .mobius-text-field__input-wrapper {
110
- animation: pulse-animation 2s infinite;
108
+ /* Pulse animation on focus ring */
109
+ /*
110
+ .mobius-combobox--is-loading .mobius-text-field__input-wrapper {
111
+ animation: pulse-animation 2s infinite;
112
+ }
113
+ */
111
114
  }
112
- */
@@ -1,13 +1,15 @@
1
- .mobius-container {
2
- box-sizing: border-box;
3
- margin-left: auto;
4
- margin-right: auto;
1
+ @layer atoms {
2
+ .mobius-container {
3
+ box-sizing: border-box;
4
+ margin-left: auto;
5
+ margin-right: auto;
5
6
 
6
- &.--is-sm {
7
- max-width: var(--size-inner-container);
8
- }
7
+ &.--is-sm {
8
+ max-width: var(--size-inner-container);
9
+ }
9
10
 
10
- &.--is-md {
11
- max-width: var(--size-container);
11
+ &.--is-md {
12
+ max-width: var(--size-container);
13
+ }
12
14
  }
13
15
  }
@@ -1,14 +1,16 @@
1
- .mobius-divider {
2
- box-sizing: border-box;
3
- display: flex;
4
- align-items: center;
5
- justify-content: center;
6
- width: 100%;
7
- height: var(--size-lg);
8
- }
1
+ @layer atoms {
2
+ .mobius-divider {
3
+ box-sizing: border-box;
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ width: 100%;
8
+ height: var(--size-lg);
9
+ }
9
10
 
10
- .mobius-divider__inner {
11
- width: 100%;
12
- height: 1px;
13
- background-color: var(--color-background-light);
11
+ .mobius-divider__inner {
12
+ width: 100%;
13
+ height: 1px;
14
+ background-color: var(--color-background-light);
15
+ }
14
16
  }