@aurodesignsystem-dev/auro-accordion 0.0.0-pr190.0 → 0.0.0-pr200.1

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 (134) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/NOTICE +2 -0
  3. package/README.md +25 -59
  4. package/demo/api.html +1 -1
  5. package/demo/api.js +2 -1
  6. package/demo/api.md +13 -7
  7. package/demo/api.min.js +16 -2028
  8. package/demo/auro-accordion.min.js +727 -0
  9. package/demo/index.js +12 -14
  10. package/demo/index.min.js +13 -2024
  11. package/dist/auro-accordion-B6aPKaGa.js +113 -0
  12. package/dist/index.d.ts +121 -0
  13. package/dist/index.js +1 -0
  14. package/dist/registered.js +1 -0
  15. package/package.json +44 -134
  16. package/.husky/commit-msg +0 -1
  17. package/.husky/pre-commit +0 -1
  18. package/.vscode/settings.json +0 -8
  19. package/apiExamples/accordionGroup.html +0 -47
  20. package/apiExamples/accordionGroupLg.html +0 -47
  21. package/apiExamples/accordionGroupSm.html +0 -47
  22. package/apiExamples/alignChevronRight.html +0 -15
  23. package/apiExamples/alignRight.html +0 -15
  24. package/apiExamples/basic.html +0 -15
  25. package/apiExamples/chevronNone.html +0 -15
  26. package/apiExamples/chevronRight.html +0 -15
  27. package/apiExamples/custom.html +0 -15
  28. package/apiExamples/customGroup.html +0 -47
  29. package/apiExamples/disabled.html +0 -15
  30. package/apiExamples/disabledGroup.html +0 -47
  31. package/apiExamples/emphasis.html +0 -47
  32. package/apiExamples/expanded.html +0 -17
  33. package/apiExamples/expanded.js +0 -11
  34. package/apiExamples/noToggleExpanded.html +0 -47
  35. package/coverage/lcov-report/auro-accordion-group.js.html +0 -472
  36. package/coverage/lcov-report/auro-accordion.js.html +0 -664
  37. package/coverage/lcov-report/base.css +0 -224
  38. package/coverage/lcov-report/block-navigation.js +0 -87
  39. package/coverage/lcov-report/color-css.js.html +0 -91
  40. package/coverage/lcov-report/favicon.png +0 -0
  41. package/coverage/lcov-report/iconVersion.js.html +0 -85
  42. package/coverage/lcov-report/index.html +0 -131
  43. package/coverage/lcov-report/prettify.css +0 -1
  44. package/coverage/lcov-report/prettify.js +0 -2
  45. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  46. package/coverage/lcov-report/sorter.js +0 -196
  47. package/coverage/lcov-report/src/auro-accordion-button.js.html +0 -283
  48. package/coverage/lcov-report/src/auro-accordion-group.js.html +0 -538
  49. package/coverage/lcov-report/src/auro-accordion.js.html +0 -895
  50. package/coverage/lcov-report/src/iconVersion.js.html +0 -85
  51. package/coverage/lcov-report/src/index.html +0 -161
  52. package/coverage/lcov-report/src/styles/color-css.js.html +0 -91
  53. package/coverage/lcov-report/src/styles/index.html +0 -161
  54. package/coverage/lcov-report/src/styles/style-button-css.js.html +0 -91
  55. package/coverage/lcov-report/src/styles/style-css.js.html +0 -91
  56. package/coverage/lcov-report/src/styles/tokens-css.js.html +0 -91
  57. package/coverage/lcov-report/style-css.js.html +0 -91
  58. package/coverage/lcov-report/tokens-css.js.html +0 -91
  59. package/coverage/lcov.info +0 -682
  60. package/dist/auro-accordion-button.d.ts +0 -17
  61. package/dist/auro-accordion-button.d.ts.map +0 -1
  62. package/dist/auro-accordion-group.d.ts +0 -61
  63. package/dist/auro-accordion-group.d.ts.map +0 -1
  64. package/dist/auro-accordion.d.ts +0 -106
  65. package/dist/auro-accordion.d.ts.map +0 -1
  66. package/dist/auro-accordion__bundled.js +0 -2023
  67. package/dist/color-css.d.ts +0 -3
  68. package/dist/color-css.d.ts.map +0 -1
  69. package/dist/iconVersion.d.ts +0 -3
  70. package/dist/iconVersion.d.ts.map +0 -1
  71. package/dist/src/auro-accordion-button.d.ts +0 -19
  72. package/dist/src/auro-accordion-button.d.ts.map +0 -1
  73. package/dist/src/auro-accordion-group.d.ts +0 -61
  74. package/dist/src/auro-accordion-group.d.ts.map +0 -1
  75. package/dist/src/auro-accordion.d.ts +0 -106
  76. package/dist/src/auro-accordion.d.ts.map +0 -1
  77. package/dist/src/color-css.d.ts +0 -3
  78. package/dist/src/color-css.d.ts.map +0 -1
  79. package/dist/src/iconVersion.d.ts +0 -3
  80. package/dist/src/iconVersion.d.ts.map +0 -1
  81. package/dist/src/style-button-css.d.ts +0 -3
  82. package/dist/src/style-button-css.d.ts.map +0 -1
  83. package/dist/src/style-css.d.ts +0 -3
  84. package/dist/src/style-css.d.ts.map +0 -1
  85. package/dist/src/styles/color-css.d.ts +0 -3
  86. package/dist/src/styles/color-css.d.ts.map +0 -1
  87. package/dist/src/styles/style-button-css.d.ts +0 -3
  88. package/dist/src/styles/style-button-css.d.ts.map +0 -1
  89. package/dist/src/styles/style-css.d.ts +0 -3
  90. package/dist/src/styles/style-css.d.ts.map +0 -1
  91. package/dist/src/styles/tokens-css.d.ts +0 -3
  92. package/dist/src/styles/tokens-css.d.ts.map +0 -1
  93. package/dist/src/tokens-css.d.ts +0 -3
  94. package/dist/src/tokens-css.d.ts.map +0 -1
  95. package/dist/style-button-css.d.ts +0 -3
  96. package/dist/style-button-css.d.ts.map +0 -1
  97. package/dist/style-css.d.ts +0 -3
  98. package/dist/style-css.d.ts.map +0 -1
  99. package/dist/test/auro-accordion-group.test.d.ts +0 -2
  100. package/dist/test/auro-accordion-group.test.d.ts.map +0 -1
  101. package/dist/test/auro-accordion.test.d.ts +0 -2
  102. package/dist/test/auro-accordion.test.d.ts.map +0 -1
  103. package/dist/tokens-css.d.ts +0 -3
  104. package/dist/tokens-css.d.ts.map +0 -1
  105. package/index.js +0 -3
  106. package/packageScripts/postinstall.mjs +0 -28
  107. package/scripts/version.mjs +0 -3
  108. package/scripts/wca/auro-accordion.js +0 -12
  109. package/src/auro-accordion-button.js +0 -66
  110. package/src/auro-accordion-group.js +0 -151
  111. package/src/auro-accordion.js +0 -270
  112. package/src/color-css.js +0 -2
  113. package/src/color.css +0 -39
  114. package/src/iconVersion.js +0 -1
  115. package/src/style-button-css.js +0 -2
  116. package/src/style-button.css +0 -53
  117. package/src/style-css.js +0 -2
  118. package/src/style.css +0 -147
  119. package/src/styles/color-css.js +0 -2
  120. package/src/styles/color.css +0 -43
  121. package/src/styles/color.scss +0 -75
  122. package/src/styles/style-button-css.js +0 -2
  123. package/src/styles/style-button.css +0 -63
  124. package/src/styles/style-button.scss +0 -86
  125. package/src/styles/style-css.js +0 -2
  126. package/src/styles/style.css +0 -347
  127. package/src/styles/style.scss +0 -200
  128. package/src/styles/tokens-css.js +0 -2
  129. package/src/styles/tokens.css +0 -7
  130. package/src/styles/tokens.scss +0 -9
  131. package/src/tokens-css.js +0 -2
  132. package/src/tokens.css +0 -7
  133. package/test/auro-accordion-group.test.js +0 -230
  134. package/test/auro-accordion.test.js +0 -104
@@ -1,270 +0,0 @@
1
- // Copyright (c) 2023 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
2
- // See LICENSE in the project root for license information.
3
-
4
- // ---------------------------------------------------------------------
5
-
6
- /* eslint-disable lit/binding-positions, lit/no-invalid-html */
7
-
8
- // If using litElement base class
9
- import { LitElement, nothing } from "lit";
10
- import { html } from 'lit/static-html.js';
11
- import { classMap } from 'lit/directives/class-map.js';
12
- import { unsafeHTML } from 'lit/directives/unsafe-html.js';
13
-
14
- import { AuroAccordionGroup } from './auro-accordion-group.js';
15
- import { AuroAccordionButton } from './auro-accordion-button.js';
16
-
17
- import { AuroDependencyVersioning } from '@aurodesignsystem/auro-library/scripts/runtime/dependencyTagVersioning.mjs';
18
-
19
- import AuroLibraryRuntimeUtils from '@aurodesignsystem/auro-library/scripts/utils/runtimeUtils.mjs';
20
-
21
- import { AuroIcon } from '@aurodesignsystem/auro-icon/src/auro-icon.js';
22
- import iconVersion from './iconVersion.js';
23
-
24
- import chevronUp from "@alaskaairux/icons/dist/icons/interface/chevron-up.mjs";
25
- import chevronDown from "@alaskaairux/icons/dist/icons/interface/chevron-down.mjs";
26
-
27
- import styleCss from "./styles/style-css.js";
28
- import colorCss from "./styles/color-css.js";
29
- import tokensCss from "./styles/tokens-css.js";
30
-
31
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
32
- /**
33
- * Auro-accordion provides users a way to have collapsible content on a page.
34
- * Use auro-accordion-group if you want to have auto closing accordion components when others are selected.
35
- *
36
- * @attr {Boolean} alignRight - If set, the trigger content will align right.
37
- * @attr {Boolean} expanded - If set, the accordion is expanded.
38
- * @attr {Boolean} emphasis - If set, emphasis styles will be applied to the auro-accordions.
39
- * @attr {Boolean} grouped - Attribute will be set on accordion when it appears in an accordion group.
40
- * @attr {Boolean} disabled - If set, the accordion is disabled and have reduced opacity.
41
- * @attr {String} chevron - Sets chevron variant option. Possible values are: `none`, `right`.
42
- * @attr {String} variant - Sets accordion variant option. Possible values are: `sm`, `lg`.
43
- * @slot - Default slot for the accordion content.
44
- * @slot trigger - Defines the content of the trigger element.
45
- * @csspart accordion - Apply CSS to Accordion wrapper.
46
- * @csspart trigger - Apply CSS to trigger element.
47
- * @csspart chevron - Apply CSS to chevron icon.
48
- * @csspart content - Apply CSS to the accordion content.
49
- * @event toggleExpanded - Notifies that the accordion has been expanded or closed.
50
- */
51
-
52
- // build the component class
53
- export class AuroAccordion extends LitElement {
54
- constructor() {
55
- super();
56
-
57
- const versioning = new AuroDependencyVersioning();
58
-
59
- /**
60
- * @private
61
- */
62
- this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
63
-
64
- /**
65
- * @private
66
- */
67
- this.buttonNameHash = this.generateRandomLetters(4); //eslint-disable-line
68
-
69
- /**
70
- * @private
71
- */
72
- this.buttonTag = versioning.generateTag('auro-accordion-button', this.buttonNameHash, AuroAccordionButton);
73
-
74
- /**
75
- * @private
76
- */
77
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
78
-
79
- this.expanded = false;
80
- }
81
-
82
- // This function is to define props used within the scope of this component
83
- // Be sure to review https://lit.dev/docs/components/properties/
84
- // to understand how to use reflected attributes with your property settings.
85
- static get properties() {
86
- return {
87
- // ...super.properties,
88
-
89
- alignRight: {
90
- type: Boolean,
91
- reflect: true,
92
- },
93
- expanded: {
94
- type: Boolean,
95
- reflect: true,
96
- },
97
- emphasis: {
98
- type: Boolean,
99
- reflect: true
100
- },
101
- grouped: {
102
- type: Boolean,
103
- reflect: true
104
- },
105
- chevron: {
106
- type: String,
107
- reflect: true
108
- },
109
- variant: {
110
- type: String,
111
- reflect: true
112
- },
113
- disabled: {
114
- type: Boolean,
115
- reflect: true
116
- }
117
- };
118
- }
119
-
120
- static get styles() {
121
- return [
122
- colorCss,
123
- styleCss,
124
- tokensCss
125
- ];
126
- }
127
-
128
- /**
129
- * This will register this element with the browser.
130
- * @param {string} [name="auro-accordion"] - The name of element that you want to register to.
131
- *
132
- * @example
133
- * AuroAccordion.register("custom-accordion") // this will register this element to <custom-accordion/>
134
- *
135
- */
136
- static register(name = "auro-accordion") {
137
- const nameGroup = `${name}-group`;
138
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroAccordion);
139
- AuroAccordionGroup.register(nameGroup);
140
- }
141
-
142
- firstUpdated() {
143
- // Add the tag name as an attribute if it is different than the component name
144
- this.runtimeUtils.handleComponentTagRename(this, 'auro-accordion');
145
- }
146
-
147
- updated(changedProperties) {
148
- // Update button when ariaexpanded changes
149
- if (changedProperties.has('expanded')) {
150
- const button = this.shadowRoot.querySelector('#accordionTrigger');
151
- if (button) {
152
- button.ariaexpanded = this.expanded;
153
- }
154
- }
155
- }
156
-
157
- /**
158
- * Renders the chevron icons.
159
- * @private
160
- * @returns {TemplateResult} - The html template for the chevron icons.
161
- */
162
- renderChevronIcons() {
163
- if (this.chevron === 'none') {
164
- return nothing;
165
- }
166
-
167
- const iconSvg = this.expanded ? chevronUp.svg : chevronDown.svg;
168
-
169
- return html`
170
- <${this.iconTag}
171
- customSvg
172
- customColor
173
- ?disabled="${this.disabled}"
174
- part="chevron">
175
- <div slot="svg">${unsafeHTML(iconSvg)}</div>
176
- </${this.iconTag}>
177
- `;
178
- }
179
-
180
- /**
181
- * Generates a random string of letters.
182
- * @private
183
- * @param {number} length - The number of characters to generate in the string.
184
- * @returns {string} - The generated string.
185
- */
186
- generateRandomLetters(length) {
187
- let result = '';
188
- const characters = 'abcdefghijklmnopqrstuvwxyz';
189
- const charactersLength = characters.length;
190
- for (let index = 0; index < length; index += 1) {
191
- result += characters.charAt(Math.floor(Math.random() * charactersLength));
192
- }
193
-
194
- return result;
195
- }
196
-
197
- /**
198
- * Toggles the visibility of the accordion content.
199
- */
200
- toggle() {
201
- this.expanded = !this.expanded;
202
-
203
- this.dispatchEvent(new CustomEvent('toggleExpanded', {
204
- bubbles: true,
205
- composed: true,
206
- detail: {
207
- expanded: this.expanded
208
- }
209
- }));
210
- }
211
-
212
- /**
213
- * Toggles the visibility of the accordion content when button gets clicked.
214
- * @private
215
- * @param {Event} event - The event object.
216
- */
217
- handleButtonClick(event) {
218
- if (this.disabled) {
219
- event.preventDefault();
220
- return;
221
- }
222
- this.toggle();
223
- }
224
-
225
- // function that renders the HTML and CSS into the scope of the component
226
- render() {
227
- const buttonClasses = {
228
- "trigger": true,
229
- "iconRight": this.getAttribute('chevron') === 'right',
230
- "iconNone": this.getAttribute('chevron') === 'none',
231
- "sm": this.getAttribute('variant') === 'sm',
232
- "lg": this.getAttribute('variant') === 'lg',
233
- };
234
-
235
- const variantClassMap = {
236
- 'sm': 'body-default',
237
- 'lg': 'heading-xs'
238
- };
239
-
240
- const triggerSlotClass = variantClassMap[this.variant] || 'heading-2xs';
241
-
242
- // Generate unique ID & apply aria-controls
243
- const accordionContentId = `accordionContent-${this.buttonNameHash}`;
244
-
245
- return html`
246
- <div class="componentWrapper" part="accordion">
247
- <${this.buttonTag}
248
- ?fluid="${this.emphasis}"
249
- class="${classMap(buttonClasses)}"
250
- id="accordionTrigger"
251
- aria-controls="${accordionContentId}"
252
- ?ariaexpanded="${this.expanded}"
253
- ?aria-disabled="${this.disabled}"
254
- ?disabled="${this.disabled}"
255
- @click="${this.handleButtonClick}"
256
- part="trigger">
257
- ${this.chevron === 'right' ? nothing : this.renderChevronIcons()}
258
- <slot name="trigger" part="triggerSlot" class="${triggerSlotClass}"></slot>
259
- ${this.chevron === 'right' ? this.renderChevronIcons() : nothing}
260
- </${this.buttonTag}>
261
-
262
- <div class="content body-default" id="${accordionContentId}" aria-labelledby="accordionTrigger" inert="${!this.expanded || nothing}" part="content">
263
- <div class="contentWrapper" part="contentWrapper">
264
- <slot></slot>
265
- </div>
266
- </div>
267
- </div>
268
- `;
269
- }
270
- }
package/src/color-css.js DELETED
@@ -1,2 +0,0 @@
1
- import { css } from 'lit';
2
- export default css`:host .trigger{color:var(--ds-auro-accordion-trigger-color);border-color:var(--ds-auro-accordion-trigger-border-color)}:host [auro-icon]{color:var(--ds-auro-accordion-trigger-icon-color)}:host([disabled]){--ds-auro-accordion-trigger-color:var(--ds-basic-color-texticon-disabled, $ds-basic-color-texticon-disabled)}:host(:focus){--ds-auro-accordion-trigger-border-color:var(--ds-advanced-color-state-focused, #01426a)}:host([grouped]) .componentWrapper{border-bottom-color:var(--ds-auro-accordion-group-border-color)}:host([emphasis]) .trigger:before{border-color:var(--ds-auro-accordion-trigger-border-color)}:host([emphasis]) .trigger:focus:before,:host([emphasis]) .trigger:hover:before{--ds-auro-accordion-trigger-border-color:var(--ds-advanced-color-state-selected, #01426a)}:host([emphasis]) .trigger:focus{--ds-auro-accordion-trigger-border-color:var(--ds-advanced-color-state-focused, #01426a)}:host([emphasis]) .content{border-left-color:var(--ds-auro-accordion-content-border-color)}:host([emphasis][expanded]) .trigger:before{--ds-auro-accordion-trigger-border-color:var(--ds-advanced-color-state-selected, #01426a)}:host([emphasis][expanded]) .content{--ds-auro-accordion-content-border-color:var(--ds-basic-color-border-subtle, #dddddd)}`;
package/src/color.css DELETED
@@ -1,39 +0,0 @@
1
- :host .trigger{
2
- color:var(--ds-auro-accordion-trigger-color);
3
- border-color:var(--ds-auro-accordion-trigger-border-color);
4
- }
5
- :host [auro-icon]{
6
- color:var(--ds-auro-accordion-trigger-icon-color);
7
- }
8
-
9
- :host([disabled]){
10
- --ds-auro-accordion-trigger-color:var(--ds-basic-color-texticon-disabled, $ds-basic-color-texticon-disabled);
11
- }
12
-
13
- :host(:focus){
14
- --ds-auro-accordion-trigger-border-color:var(--ds-advanced-color-state-focused, #01426a);
15
- }
16
-
17
- :host([grouped]) .componentWrapper{
18
- border-bottom-color:var(--ds-auro-accordion-group-border-color);
19
- }
20
-
21
- :host([emphasis]) .trigger:before{
22
- border-color:var(--ds-auro-accordion-trigger-border-color);
23
- }
24
- :host([emphasis]) .trigger:focus:before, :host([emphasis]) .trigger:hover:before{
25
- --ds-auro-accordion-trigger-border-color:var(--ds-advanced-color-state-selected, #01426a);
26
- }
27
- :host([emphasis]) .trigger:focus{
28
- --ds-auro-accordion-trigger-border-color:var(--ds-advanced-color-state-focused, #01426a);
29
- }
30
- :host([emphasis]) .content{
31
- border-left-color:var(--ds-auro-accordion-content-border-color);
32
- }
33
-
34
- :host([emphasis][expanded]) .trigger:before{
35
- --ds-auro-accordion-trigger-border-color:var(--ds-advanced-color-state-selected, #01426a);
36
- }
37
- :host([emphasis][expanded]) .content{
38
- --ds-auro-accordion-content-border-color:var(--ds-basic-color-border-subtle, #dddddd);
39
- }
@@ -1 +0,0 @@
1
- export default '8.1.4'
@@ -1,2 +0,0 @@
1
- import { css } from 'lit';
2
- export default css`:focus:not(:focus-visible){outline:3px solid transparent}:host{border:unset;cursor:pointer}:host .auro-button{all:unset;width:100%;padding:var(--ds-size-200, 1rem) var(--trigger-padding-right, 0) var(--ds-size-200, 1rem) var(--trigger-padding-left, 0);box-sizing:border-box}:host .auro-button:focus,:host .auro-button:focus-visible,:host .auro-button:focus-within{outline:0}:host .auro-button:after{border-color:transparent}:host .contentWrapper{display:flex;flex-direction:row-reverse}:host .textSlot{display:flex;flex:1}:host([disabled]){cursor:not-allowed}:host([disabled]) .auro-button{pointer-events:none}:host(.sm) .auro-button{padding-top:var(--ds-size-150, 0.75rem);padding-bottom:var(--ds-size-150, 0.75rem)}:host(.lg) .auro-button{padding-top:var(--ds-size-250, 1.25rem);padding-bottom:var(--ds-size-250, 1.25rem)}:host([fluid]) .contentWrapper{width:100%}:host(.iconRight) .contentWrapper{display:flex;flex-direction:row}`;
@@ -1,53 +0,0 @@
1
- :focus:not(:focus-visible){
2
- outline:3px solid transparent;
3
- }
4
- :host{
5
- border:unset;
6
- cursor:pointer;
7
- }
8
- :host .auro-button{
9
- all:unset;
10
- width:100%;
11
- padding:var(--ds-size-200, 1rem) var(--trigger-padding-right, 0) var(--ds-size-200, 1rem) var(--trigger-padding-left, 0);
12
- box-sizing:border-box;
13
- }
14
- :host .auro-button:focus, :host .auro-button:focus-visible, :host .auro-button:focus-within{
15
- outline:0;
16
- }
17
- :host .auro-button:after{
18
- border-color:transparent;
19
- }
20
- :host .contentWrapper{
21
- display:flex;
22
- flex-direction:row-reverse;
23
- }
24
- :host .textSlot{
25
- display:flex;
26
- flex:1;
27
- }
28
-
29
- :host([disabled]){
30
- cursor:not-allowed;
31
- }
32
- :host([disabled]) .auro-button{
33
- pointer-events:none;
34
- }
35
-
36
- :host(.sm) .auro-button{
37
- padding-top:var(--ds-size-150, 0.75rem);
38
- padding-bottom:var(--ds-size-150, 0.75rem);
39
- }
40
-
41
- :host(.lg) .auro-button{
42
- padding-top:var(--ds-size-250, 1.25rem);
43
- padding-bottom:var(--ds-size-250, 1.25rem);
44
- }
45
-
46
- :host([fluid]) .contentWrapper{
47
- width:100%;
48
- }
49
-
50
- :host(.iconRight) .contentWrapper{
51
- display:flex;
52
- flex-direction:row;
53
- }
package/src/style-css.js DELETED
@@ -1,2 +0,0 @@
1
- import { css } from 'lit';
2
- export default css`:host{interpolate-size:allow-keywords;--webkit-fill:-webkit-fill-available}:host .trigger{position:relative;display:inline-block;border-width:1px;border-style:solid;border-radius:var(--ds-border-radius, 0.375rem)}:host .trigger:hover{text-decoration:underline}:host ::slotted([slot=trigger]){padding-left:var(--ds-size-100, 0.5rem);padding-right:var(--ds-size-200, 1rem);font-size:var(--ds-text-heading-300-size, 1.125rem)}:host .iconWrapper{height:var(--ds-size-300, 1.5rem);margin-top:-2px}:host [auro-icon]{--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}:host [auro-icon][hidden]{display:none}:host .content{width:100%;transition:all .5s ease-in-out;transition-property:height;font-size:var(--ds-text-body-size-default, 1rem)}:host .componentWrapper{height:100%;overflow:hidden}:host .contentWrapper{padding-left:var(--ds-size-400, 2rem);padding-bottom:var(--ds-size-300, 1.5rem)}:host(:focus) .trigger{border-width:1px;border-style:solid}:host([chevron=right]) ::slotted([slot=trigger]){padding-left:0;padding-right:var(--ds-size-100, 0.5rem)}:host([chevron=right]) .contentWrapper{padding-left:var(--ds-size-400, 2rem)}:host([chevron=right]:not([emphasis])) ::slotted([slot=trigger]){padding-left:var(--ds-size-250, 1.25rem)}:host([chevron=right]:not([emphasis])) .contentWrapper{padding-left:var(--ds-size-250, 1.25rem)}:host([alignRight]) .componentWrapper{display:flex;flex-direction:column;align-items:flex-end}:host([fluid]) .trigger{width:100%}:host([grouped]) .componentWrapper{border-bottom-width:1px;border-bottom-style:solid}:host([grouped][chevron=right]:not([alignright])) .trigger{width:var(--webkit-fill, 100%);--trigger-padding-right:var(--ds-size-200, 1rem)}:host(:not([expanded])) .content,:host([expanded=false]) .content{height:0 !important}:host([expanded]) .content{height:auto}:host([emphasis]) .trigger{border-style:solid;border-width:1px;border-left-width:2px;--trigger-padding-left:var(--ds-size-200, 1rem)}:host([emphasis]) .trigger:before{display:block;position:absolute;top:-1px;left:-2px;width:1px;height:calc(100% + 2px);content:"";border-left-style:solid;border-left-width:2px}:host([emphasis]) .trigger:focus{border-left-width:1px;margin-left:1px}:host([emphasis]) .content{border-left-width:2px;border-left-style:solid;padding:unset}:host([emphasis]) .contentWrapper{padding-left:var(--ds-size-200, 1rem)}:host([emphasis]) .iconWrapper{padding-right:var(--ds-size-200, 1rem)}:host([emphasis][variant=lg]) .trigger,:host([emphasis][variant=lg]) .contentWrapper{padding-left:calc(var(--ds-size-200, 1rem) + var(--ds-size-50, 0.25rem))}:host([emphasis]:not([expanded]):hover) .trigger{text-decoration:unset}:host([variant=sm]) ::slotted([slot=trigger]){font-size:var(--ds-text-body-size-default, 1rem)}:host([variant=lg]) ::slotted([slot=trigger]){font-size:var(--ds-text-heading-400-size, 1.25rem)}:host([chevron=none]) ::slotted([slot=trigger]),:host([chevron=none]) .contentWrapper{padding-left:unset}`;
package/src/style.css DELETED
@@ -1,147 +0,0 @@
1
- :host{
2
- interpolate-size:allow-keywords;
3
- --webkit-fill:-webkit-fill-available;
4
- }
5
- :host .trigger{
6
- position:relative;
7
- display:inline-block;
8
- border-width:1px;
9
- border-style:solid;
10
- border-radius:var(--ds-border-radius, 0.375rem);
11
- }
12
- :host .trigger:hover{
13
- text-decoration:underline;
14
- }
15
- :host ::slotted([slot=trigger]){
16
- padding-left:var(--ds-size-100, 0.5rem);
17
- padding-right:var(--ds-size-200, 1rem);
18
- font-size:var(--ds-text-heading-300-size, 1.125rem);
19
- }
20
- :host .iconWrapper{
21
- height:var(--ds-size-300, 1.5rem);
22
- margin-top:-2px;
23
- }
24
- :host [auro-icon]{
25
- --ds-auro-icon-size:var(--ds-size-300, 1.5rem);
26
- }
27
- :host [auro-icon][hidden]{
28
- display:none;
29
- }
30
- :host .content{
31
- width:100%;
32
- transition:all 0.5s ease-in-out;
33
- transition-property:height;
34
- font-size:var(--ds-text-body-size-default, 1rem);
35
- }
36
- :host .componentWrapper{
37
- height:100%;
38
- overflow:hidden;
39
- }
40
- :host .contentWrapper{
41
- padding-left:var(--ds-size-400, 2rem);
42
- padding-bottom:var(--ds-size-300, 1.5rem);
43
- }
44
-
45
- :host(:focus) .trigger{
46
- border-width:1px;
47
- border-style:solid;
48
- }
49
-
50
- :host([chevron=right]) ::slotted([slot=trigger]){
51
- padding-left:0;
52
- padding-right:var(--ds-size-100, 0.5rem);
53
- }
54
- :host([chevron=right]) .contentWrapper{
55
- padding-left:var(--ds-size-400, 2rem);
56
- }
57
-
58
- :host([chevron=right]:not([emphasis])) ::slotted([slot=trigger]){
59
- padding-left:var(--ds-size-250, 1.25rem);
60
- }
61
- :host([chevron=right]:not([emphasis])) .contentWrapper{
62
- padding-left:var(--ds-size-250, 1.25rem);
63
- }
64
-
65
- :host([alignRight]) .componentWrapper{
66
- display:flex;
67
- flex-direction:column;
68
- align-items:flex-end;
69
- }
70
-
71
- :host([fluid]) .trigger{
72
- width:100%;
73
- }
74
-
75
- :host([grouped]) .componentWrapper{
76
- border-bottom-width:1px;
77
- border-bottom-style:solid;
78
- }
79
-
80
- :host([grouped][chevron=right]:not([alignright])) .trigger{
81
- width:var(--webkit-fill, 100%);
82
- --trigger-padding-right:var(--ds-size-200, 1rem);
83
- }
84
-
85
- :host(:not([expanded])) .content,
86
- :host([expanded=false]) .content{
87
- height:0 !important;
88
- }
89
-
90
- :host([expanded]) .content{
91
- height:auto;
92
- }
93
-
94
- :host([emphasis]) .trigger{
95
- border-style:solid;
96
- border-width:1px;
97
- border-left-width:2px;
98
- --trigger-padding-left:var(--ds-size-200, 1rem);
99
- }
100
- :host([emphasis]) .trigger:before{
101
- display:block;
102
- position:absolute;
103
- top:-1px;
104
- left:-2px;
105
- width:1px;
106
- height:calc(100% + 2px);
107
- content:"";
108
- border-left-style:solid;
109
- border-left-width:2px;
110
- }
111
- :host([emphasis]) .trigger:focus{
112
- border-left-width:1px;
113
- margin-left:1px;
114
- }
115
- :host([emphasis]) .content{
116
- border-left-width:2px;
117
- border-left-style:solid;
118
- padding:unset;
119
- }
120
- :host([emphasis]) .contentWrapper{
121
- padding-left:var(--ds-size-200, 1rem);
122
- }
123
- :host([emphasis]) .iconWrapper{
124
- padding-right:var(--ds-size-200, 1rem);
125
- }
126
-
127
- :host([emphasis][variant=lg]) .trigger,
128
- :host([emphasis][variant=lg]) .contentWrapper{
129
- padding-left:calc(var(--ds-size-200, 1rem) + var(--ds-size-50, 0.25rem));
130
- }
131
-
132
- :host([emphasis]:not([expanded]):hover) .trigger{
133
- text-decoration:unset;
134
- }
135
-
136
- :host([variant=sm]) ::slotted([slot=trigger]){
137
- font-size:var(--ds-text-body-size-default, 1rem);
138
- }
139
-
140
- :host([variant=lg]) ::slotted([slot=trigger]){
141
- font-size:var(--ds-text-heading-400-size, 1.25rem);
142
- }
143
-
144
- :host([chevron=none]) ::slotted([slot=trigger]),
145
- :host([chevron=none]) .contentWrapper{
146
- padding-left:unset;
147
- }
@@ -1,2 +0,0 @@
1
- import { css } from 'lit';
2
- export default css`:host .trigger{color:var(--ds-auro-accordion-trigger-color);border-color:var(--ds-auro-accordion-trigger-border-color)}:host [auro-icon]{color:var(--ds-auro-accordion-trigger-icon-color)}:host([disabled]){--ds-auro-accordion-trigger-color: var(--ds-basic-color-texticon-disabled, v.$ds-basic-color-texticon-disabled)}:host([disabled]) [auro-icon]{color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:focus){--ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a)}:host([grouped]) .componentWrapper{border-bottom-color:var(--ds-auro-accordion-group-border-color)}:host([emphasis]) .trigger:before{border-color:var(--ds-auro-accordion-trigger-border-color)}:host([emphasis]) .trigger:focus:before,:host([emphasis]) .trigger:hover:before{--ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-selected, #01426a)}:host([emphasis]) .trigger:focus{--ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a)}:host([emphasis]) .content{border-left-color:var(--ds-auro-accordion-content-border-color)}:host([emphasis][expanded]) .trigger:before{--ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-selected, #01426a)}:host([emphasis][expanded]) .content{--ds-auro-accordion-content-border-color: var(--ds-basic-color-border-subtle, #dddddd)}`;
@@ -1,43 +0,0 @@
1
- /* stylelint-disable max-nesting-depth, order/properties-order, selector-max-combinators, selector-max-compound-selectors, declaration-empty-line-before, declaration-no-important, no-descending-specificity */
2
- :host .trigger {
3
- color: var(--ds-auro-accordion-trigger-color);
4
- border-color: var(--ds-auro-accordion-trigger-border-color);
5
- }
6
- :host [auro-icon] {
7
- color: var(--ds-auro-accordion-trigger-icon-color);
8
- }
9
-
10
- :host([disabled]) {
11
- --ds-auro-accordion-trigger-color: var(--ds-basic-color-texticon-disabled, v.$ds-basic-color-texticon-disabled);
12
- }
13
- :host([disabled]) [auro-icon] {
14
- color: var(--ds-basic-color-texticon-disabled, #d0d0d0);
15
- }
16
-
17
- :host(:focus) {
18
- --ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a);
19
- }
20
-
21
- :host([grouped]) .componentWrapper {
22
- border-bottom-color: var(--ds-auro-accordion-group-border-color);
23
- }
24
-
25
- :host([emphasis]) .trigger:before {
26
- border-color: var(--ds-auro-accordion-trigger-border-color);
27
- }
28
- :host([emphasis]) .trigger:focus:before, :host([emphasis]) .trigger:hover:before {
29
- --ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-selected, #01426a);
30
- }
31
- :host([emphasis]) .trigger:focus {
32
- --ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a);
33
- }
34
- :host([emphasis]) .content {
35
- border-left-color: var(--ds-auro-accordion-content-border-color);
36
- }
37
-
38
- :host([emphasis][expanded]) .trigger:before {
39
- --ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-selected, #01426a);
40
- }
41
- :host([emphasis][expanded]) .content {
42
- --ds-auro-accordion-content-border-color: var(--ds-basic-color-border-subtle, #dddddd);
43
- }
@@ -1,75 +0,0 @@
1
- // Copyright (c) 2023 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
2
- // See LICENSE in the project root for license information.
3
-
4
- // ---------------------------------------------------------------------
5
-
6
- /* stylelint-disable max-nesting-depth, order/properties-order, selector-max-combinators, selector-max-compound-selectors, declaration-empty-line-before, declaration-no-important, no-descending-specificity */
7
-
8
- // Import Auro tokens
9
- @use "@aurodesignsystem/design-tokens/dist/themes/alaska/SCSSVariables--alaska" as v;
10
-
11
- :host {
12
- .trigger {
13
- color: var(--ds-auro-accordion-trigger-color);
14
-
15
- border-color: var(--ds-auro-accordion-trigger-border-color);
16
- }
17
-
18
- [auro-icon] {
19
- color: var(--ds-auro-accordion-trigger-icon-color);
20
- }
21
- }
22
-
23
-
24
- :host([disabled]) {
25
- --ds-auro-accordion-trigger-color: var(--ds-basic-color-texticon-disabled, v.$ds-basic-color-texticon-disabled);
26
-
27
- [auro-icon] {
28
- color: var(--ds-basic-color-texticon-disabled, v.$ds-basic-color-texticon-disabled);
29
- }
30
- }
31
-
32
- :host(:focus) {
33
- --ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-focused, #{v.$ds-advanced-color-state-focused});
34
- }
35
-
36
- :host([grouped]) {
37
- .componentWrapper {
38
- border-bottom-color: var(--ds-auro-accordion-group-border-color);
39
- }
40
- }
41
-
42
- :host([emphasis]) {
43
- .trigger {
44
- &:before {
45
- border-color: var(--ds-auro-accordion-trigger-border-color);
46
- }
47
-
48
- &:focus,
49
- &:hover {
50
- &:before {
51
- --ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-selected, #{v.$ds-advanced-color-state-selected});
52
- }
53
- }
54
-
55
- &:focus {
56
- --ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-focused, #{v.$ds-advanced-color-state-focused});
57
- }
58
- }
59
-
60
- .content {
61
- border-left-color: var(--ds-auro-accordion-content-border-color);
62
- }
63
- }
64
-
65
- :host([emphasis][expanded]) {
66
- .trigger {
67
- &:before {
68
- --ds-auro-accordion-trigger-border-color: var(--ds-advanced-color-state-selected, #{v.$ds-advanced-color-state-selected});
69
- }
70
- }
71
-
72
- .content {
73
- --ds-auro-accordion-content-border-color: var(--ds-basic-color-border-subtle, #{v.$ds-basic-color-border-subtle});
74
- }
75
- }
@@ -1,2 +0,0 @@
1
- import { css } from 'lit';
2
- export default css`:focus:not(:focus-visible){outline:3px solid transparent}:host{border:unset;cursor:pointer;overflow:visible}:host .auro-button{all:unset;width:100%;padding:var(--ds-size-200, 1rem) var(--trigger-padding-right, 0) var(--ds-size-200, 1rem) var(--trigger-padding-left, 0);box-sizing:border-box}:host .auro-button:focus,:host .auro-button:focus-visible,:host .auro-button:focus-within{outline:0}:host .auro-button:after{border-color:transparent}:host .contentWrapper{display:flex;flex-direction:row-reverse;margin-left:0 !important;margin-right:0 !important}:host .textSlot{display:flex;flex:1;gap:0;align-items:center}:host([disabled]){cursor:not-allowed;text-decoration:none !important}:host([disabled]) .auro-button{pointer-events:none}:host(.sm) .auro-button{padding-top:var(--ds-size-150, 0.75rem);padding-bottom:var(--ds-size-150, 0.75rem)}:host(.lg) .auro-button{padding-top:var(--ds-size-250, 1.25rem);padding-bottom:var(--ds-size-250, 1.25rem)}:host([fluid]) .textSlot{width:100%}:host(.iconRight) .textSlot{display:flex;flex-direction:row;justify-content:space-between}`;