@aurodesignsystem-dev/auro-drawer 0.0.0-pr100.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.
@@ -0,0 +1,65 @@
1
+ <!--
2
+ Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
3
+ See LICENSE in the project root for license information.
4
+
5
+ HTML in this document is standardized and NOT to be edited.
6
+ All demo code should be added/edited in ./demo/index.md
7
+
8
+ With the exception of adding custom elements if needed for the demo.
9
+
10
+ ----------------------- DO NOT EDIT -----------------------------
11
+
12
+ -->
13
+
14
+ <!DOCTYPE html>
15
+ <html lang="en">
16
+ <head>
17
+ <meta charset="UTF-8" />
18
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
19
+ <title>Auro Web Component Demo | auro-drawer</title>
20
+
21
+ <!-- Prism.js Stylesheet -->
22
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/prismjs@1.24.1/themes/prism.css"/>
23
+
24
+ <!-- Legacy reference is still needed to support auro-drawer's use of legacy token values at this time -->
25
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/legacy/auro-classic/CSSCustomProperties.css"/>
26
+
27
+ <!-- Design Token Alaska Theme -->
28
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/themes/alaska/CSSCustomProperties--alaska.min.css"/>
29
+
30
+ <!-- Webcore Stylesheet Alaska Theme -->
31
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/bundled/themes/alaska.global.min.css" />
32
+
33
+ <!-- Demo Specific Styles -->
34
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/demoWrapper.css" />
35
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/elementDemoStyles.css" />
36
+ </head>
37
+ <body class="auro-markdown">
38
+ <main></main>
39
+
40
+ <script type="module">
41
+ import 'https://cdn.jsdelivr.net/npm/marked@latest/marked.min.js';
42
+ import 'https://cdn.jsdelivr.net/npm/prismjs@latest/prism.js';
43
+ fetch('./index.md')
44
+ .then((response) => response.text())
45
+ .then((text) => {
46
+ const rawHtml = marked.parse(text);
47
+ document.querySelector('main').innerHTML = rawHtml;
48
+ Prism.highlightAll();
49
+ });
50
+ </script>
51
+
52
+ <script type="module">
53
+ import { initExamples } from './index.min.js';
54
+ initExamples();
55
+ </script>
56
+
57
+ <!-- If additional elements are needed for the demo, add them here. -->
58
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-accordion@latest/dist/auro-accordion__bundled.js" type="module"></script>
59
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/dist/auro-button__bundled.js" type="module"></script>
60
+ <script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-hyperlink@latest/dist/auro-hyperlink__bundled.js" type="module"></script>
61
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-checkbox/+esm"></script>
62
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-radio/+esm"></script>
63
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-input/+esm"></script>
64
+ </body>
65
+ </html>
package/demo/index.js ADDED
@@ -0,0 +1,23 @@
1
+ import { initBasicExample } from "../apiExamples/basic";
2
+ import { initCustomExample } from "../apiExamples/custom";
3
+ import { AuroDrawer } from "../src/index";
4
+
5
+ AuroDrawer.register();
6
+ AuroDrawer.register("custom-drawer");
7
+
8
+ export function initExamples(initCount) {
9
+ // biome-ignore lint/style/noParameterAssign: recursion counter
10
+ initCount = initCount || 0;
11
+
12
+ try {
13
+ initBasicExample();
14
+ initCustomExample();
15
+ } catch (_err) {
16
+ if (initCount <= 20) {
17
+ // setTimeout handles issue where content is sometimes loaded after the functions get called
18
+ setTimeout(() => {
19
+ initExamples(initCount + 1);
20
+ }, 100);
21
+ }
22
+ }
23
+ }
package/demo/index.md ADDED
@@ -0,0 +1,298 @@
1
+ <!--
2
+ The index.md file is a compiled document. No edits should be made directly to this file.
3
+ README.md is created by running `npm run build:docs`.
4
+ This file is generated based on a template fetched from `./docs/partials/index.md`
5
+ -->
6
+
7
+ # Drawer
8
+
9
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/description.md) -->
10
+ <!-- The below content is automatically added from ./../docs/partials/description.md -->
11
+ The `<auro-drawer>` component is an intrusive interactive component, not passive. The component is best used when there is a requirement the user be made aware of the content being shown, moving focus from the main content to the drawer content.
12
+
13
+ The component also supports a modal (blocking) state where the user must interact with the content of the component in order to continue. Passive dismissal of the content is not allowed. Users of this state must add a trigger for the user to move beyond this content.
14
+ <!-- AURO-GENERATED-CONTENT:END -->
15
+
16
+ ## auro-drawer use cases
17
+
18
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/useCases.md) -->
19
+ <!-- The below content is automatically added from ./../docs/partials/useCases.md -->
20
+ The `auro-drawer` component should be used in situations where users may:
21
+
22
+ * Be prompted to take an action before doing anything else or going back
23
+ * Be prompted to view content with the option of closing it
24
+ <!-- AURO-GENERATED-CONTENT:END -->
25
+
26
+ ## Additional Information
27
+
28
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/readmeAddlInfo.md) -->
29
+ <!-- The below content is automatically added from ./../docs/partials/readmeAddlInfo.md -->
30
+ **Important Notice**: This component no longer lives within the `auro-interruption` repository, as that is now being deprecated. `<auro-drawer>` is now a standalone component and users will be required to install it separately. See the [Install Page](https://auro.alaskaair.com/components/auro/drawer/install) for instructions on how to install the component.
31
+ <!-- AURO-GENERATED-CONTENT:END -->
32
+
33
+ ## The Setup
34
+
35
+ Triggering the drawer relies on functions being installed. See the following example code that is installed into this demo.
36
+
37
+ ```javascript
38
+ function toggleDrawer(drawerID) {
39
+ const drawer = document.querySelector(drawerID);
40
+
41
+ if (drawer.hasAttribute('open')) {
42
+ drawer.removeAttribute('open');
43
+ } else {
44
+ drawer.setAttribute('open', true);
45
+ }
46
+ }
47
+ ```
48
+
49
+ Once the JavaScript is added to the scope of the experience, the next part is adding a trigger. In this example, the button component will toggle a drawer with the ID of `#demo1`.
50
+
51
+ ``` html
52
+ <auro-button onClick="toggleDrawer('#demo1')">Open Drawer</auro-button>
53
+ ```
54
+
55
+ ## The Structure
56
+
57
+ The structure of the drawer itself consists of three slots. The `header`, `content` and `footer` slots. See the scaffolding example below for adding content to the component.
58
+
59
+ ``` html
60
+ <auro-drawer id="[unique ID]">
61
+ <span slot="header">[header content]</span>
62
+ <span slot="content">
63
+ [body content]
64
+ </span>
65
+ <span slot="footer">
66
+ [footer content]
67
+ </span>
68
+ </auro-drawer>
69
+ ```
70
+
71
+ It should be noted that the footer slot is reserved for the placement of action buttons.
72
+
73
+ ## Example(s)
74
+
75
+ <div class="exampleWrapper">
76
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/basic.html) -->
77
+ <!-- The below content is automatically added from ./../apiExamples/basic.html -->
78
+ <div>
79
+ <auro-button id="openBasic">Open default drawer</auro-button>
80
+ </div>
81
+ <auro-drawer id="defaultDrawer">
82
+ <span slot="header">Default Drawer</span>
83
+ <div slot="content">
84
+ <p>When traveling on Alaska Airlines flights, Alaska Airlines checked baggage fees may apply. See <auro-hyperlink href="https://www.alaskaair.com/bagrules" target="_blank">alaskaair.com/bagrules</auro-hyperlink> for our rules. For itineraries that include other airlines, their checked baggage fees may apply, as displayed on their websites.</p>
85
+ <p>Baggage rules and fees will be based on the specific itinerary chosen. The applicable first and second bag fees will be displayed after you have added flights to the cart.</p>
86
+ <auro-header level="3" display="500">Before checking your bags, remember to:</auro-header>
87
+ <ul>
88
+ <li>Caerphilly croque monsieur fondue</li>
89
+ <auro-radio-group>
90
+ <span slot="legend">Accordion Test</span>
91
+ <auro-radio
92
+ id="basicGroupRadio1"
93
+ label="Credit or debit card"
94
+ name="creditordebit"
95
+ value="credit"
96
+ ></auro-radio>
97
+ <auro-radio
98
+ id="basicGroupRadio2"
99
+ label="Apple Pay"
100
+ name="applePay"
101
+ value="applePay"
102
+ ></auro-radio>
103
+ <auro-radio
104
+ id="basicGroupRadio3"
105
+ label="Alaska Airlines Commercial Account"
106
+ name="alaskaCommercial"
107
+ value="alaskaCommercial"
108
+ ></auro-radio>
109
+ </auro-radio-group>
110
+ <auro-input placeholder="John Doe" bordered required>
111
+ <span slot="label">Full name</span>
112
+ <span slot="helptext">Please enter your full name.</span>
113
+ </auro-input>
114
+ <li>Taleggio goat mascarpone cow manchego cheese and wine emmental cheese strings</li>
115
+ <li>Cheddar cheese and biscuits chalk and cheese</li>
116
+ <auro-checkbox-group>
117
+ <span slot="legend">Form label goes here</span>
118
+ <auro-checkbox value="value1" name="basic" id="checkbox-basic1"
119
+ >Checkbox option</auro-checkbox
120
+ >
121
+ <auro-checkbox value="value2" name="basic" id="checkbox-basic2" checked
122
+ >Checkbox option</auro-checkbox
123
+ >
124
+ <auro-checkbox value="value3" name="basic" id="checkbox-basic3"
125
+ >Checkbox option</auro-checkbox
126
+ >
127
+ <auro-checkbox value="value4" name="basic" id="checkbox-basic4"
128
+ >Checkbox option</auro-checkbox
129
+ >
130
+ </auro-checkbox-group>
131
+ <li>Camembert de normandie stinking bishop bavarian bergkase</li>
132
+ </ul>
133
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Morbi quis commodo odio aenean sed. Tortor at risus viverra adipiscing at in tellus integer feugiat. Dictum sit amet justo donec enim diam vulputate. Ullamcorper a lacus vestibulum sed arcu non. Sed cras ornare arcu dui vivamus arcu felis. Morbi tristique senectus et netus et. Ullamcorper a lacus vestibulum sed arcu non odio euismod lacinia. Nunc faucibus a pellentesque sit amet porttitor eget dolor. Eleifend mi in nulla posuere sollicitudin aliquam. Dolor sed viverra ipsum nunc aliquet bibendum enim.</p>
134
+ <p>Tristique senectus et netus et. Vel pharetra vel turpis nunc eget. Sit amet nulla facilisi morbi tempus iaculis urna id volutpat. Aliquet enim tortor at auctor urna nunc id. Ut consequat semper viverra nam libero justo. Magna ac placerat vestibulum lectus mauris ultrices eros in cursus. Et leo duis ut diam. In dictum non consectetur a erat nam. Elementum nibh tellus molestie nunc. Elementum tempus egestas sed sed risus pretium quam vulputate dignissim. Luctus venenatis lectus magna fringilla urna porttitor rhoncus. Semper feugiat nibh sed pulvinar proin gravida. Eget nunc scelerisque viverra mauris in aliquam sem fringilla. In cursus turpis massa tincidunt dui ut ornare lectus sit. Sed egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium.</p>
135
+ <p>Libero volutpat sed cras ornare arcu dui vivamus arcu felis. Dignissim diam quis enim lobortis. Ac orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt. Integer eget aliquet nibh praesent. Ornare massa eget egestas purus viverra accumsan in nisl. Est ultricies integer quis auctor elit sed vulputate mi sit. Feugiat scelerisque varius morbi enim nunc faucibus. Pellentesque adipiscing commodo elit at imperdiet dui. Nam at lectus urna duis convallis. Sagittis eu volutpat odio facilisis mauris.</p>
136
+ <p>Magnis dis parturient montes nascetur ridiculus mus. Faucibus vitae aliquet nec ullamcorper sit amet risus. In eu mi bibendum neque egestas congue quisque egestas. Nibh praesent tristique magna sit amet purus gravida quis blandit. Tincidunt id aliquet risus feugiat in ante metus dictum at. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Molestie at elementum eu facilisis sed odio. Odio facilisis mauris sit amet massa vitae tortor condimentum lacinia. Egestas pretium aenean pharetra magna. Venenatis urna cursus eget nunc scelerisque viverra mauris. Nunc eget lorem dolor sed viverra ipsum nunc aliquet bibendum. Blandit aliquam etiam erat velit scelerisque in dictum non consectetur. Tempor commodo ullamcorper a lacus vestibulum sed arcu. Quis viverra nibh cras pulvinar mattis nunc. A scelerisque purus semper eget duis at tellus at urna. Cursus turpis massa tincidunt dui ut. Purus viverra accumsan in nisl nisi scelerisque eu. Et magnis dis parturient montes nascetur ridiculus mus.</p>
137
+ <p>Id eu nisl nunc mi. Curabitur gravida arcu ac tortor dignissim convallis aenean et tortor. Platea dictumst quisque sagittis purus sit amet volutpat. Egestas congue quisque egestas diam in arcu cursus. Egestas tellus rutrum tellus pellentesque eu tincidunt tortor aliquam. Ornare suspendisse sed nisi lacus sed. Ut ornare lectus sit amet est placerat in egestas erat. Tortor aliquam nulla facilisi cras fermentum odio eu. Magna etiam tempor orci eu lobortis elementum nibh tellus. Pellentesque nec nam aliquam sem et tortor consequat id. Varius quam quisque id diam vel. Odio ut enim blandit volutpat maecenas volutpat. Urna cursus eget nunc scelerisque viverra mauris in aliquam.</p>
138
+ <p>Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Facilisis sed odio morbi quis commodo odio. Cras adipiscing enim eu turpis egestas pretium. Dolor purus non enim praesent. Vehicula ipsum a arcu cursus vitae congue mauris rhoncus. Donec et odio pellentesque diam volutpat commodo sed. Mauris in aliquam sem fringilla ut morbi tincidunt augue interdum. A pellentesque sit amet porttitor eget. Nulla pharetra diam sit amet nisl suscipit adipiscing bibendum. Consequat semper viverra nam libero. Vitae purus faucibus ornare suspendisse. Eget nunc lobortis mattis aliquam. Nibh nisl condimentum id venenatis a condimentum vitae. Eget egestas purus viverra accumsan in nisl. Leo in vitae turpis massa sed elementum tempus. Amet nisl purus in mollis nunc sed id semper risus. Et tortor consequat id porta nibh. Proin fermentum leo vel orci porta.</p>
139
+ <p>Duis ut diam quam nulla porttitor massa. Aliquet porttitor lacus luctus accumsan tortor posuere ac ut consequat. Volutpat ac tincidunt vitae semper quis lectus nulla at volutpat. Enim eu turpis egestas pretium aenean pharetra magna. Commodo elit at imperdiet dui accumsan sit amet nulla. Eget felis eget nunc lobortis mattis aliquam faucibus purus in. Mauris augue neque gravida in. Viverra accumsan in nisl nisi scelerisque eu ultrices vitae auctor. Neque viverra justo nec ultrices dui sapien eget mi proin. Sit amet consectetur adipiscing elit ut aliquam purus sit amet. Mollis nunc sed id semper risus in hendrerit. Feugiat scelerisque varius morbi enim nunc. Pretium lectus quam id leo in vitae turpis massa sed. Ornare arcu odio ut sem nulla pharetra. Tellus rutrum tellus pellentesque eu tincidunt tortor aliquam nulla facilisi. Sit amet risus nullam eget felis eget. Lorem ipsum dolor sit amet consectetur adipiscing elit. Ac turpis egestas integer eget aliquet nibh praesent tristique magna. Malesuada fames ac turpis egestas sed tempus.</p>
140
+ <p>Fusce ut placerat orci nulla pellentesque dignissim enim sit. Consequat nisl vel pretium lectus quam id leo in vitae. Lectus urna duis convallis convallis tellus id interdum. Arcu risus quis varius quam quisque id. Fermentum leo vel orci porta. Sed augue lacus viverra vitae congue. Consequat semper viverra nam libero. Rhoncus est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Feugiat vivamus at augue eget arcu dictum varius duis. Fringilla urna porttitor rhoncus dolor purus non enim praesent elementum. Lacus vestibulum sed arcu non odio euismod. Pulvinar sapien et ligula ullamcorper malesuada. Ut ornare lectus sit amet est placerat in egestas erat. Pharetra massa massa ultricies mi. Interdum velit euismod in pellentesque.</p>
141
+ <p>Duis at consectetur lorem donec. Sed vulputate mi sit amet mauris commodo quis. Hendrerit dolor magna eget est lorem ipsum dolor sit amet. Eget arcu dictum varius duis. Nunc consequat interdum varius sit amet mattis. Pulvinar mattis nunc sed blandit. Sem viverra aliquet eget sit amet tellus. Vel turpis nunc eget lorem dolor sed. Pretium viverra suspendisse potenti nullam. Dui nunc mattis enim ut tellus elementum sagittis vitae et. Odio euismod lacinia at quis risus sed vulputate odio. Imperdiet proin fermentum leo vel orci porta non pulvinar. Leo duis ut diam quam nulla porttitor massa id neque. Augue lacus viverra vitae congue eu consequat. Id cursus metus aliquam eleifend. Montes nascetur ridiculus mus mauris.</p>
142
+ <p>Volutpat blandit aliquam etiam erat velit scelerisque. Risus commodo viverra maecenas accumsan lacus vel facilisis volutpat est. Lectus sit amet est placerat in egestas erat imperdiet sed. Platea dictumst quisque sagittis purus sit. Elit ut aliquam purus sit amet luctus venenatis lectus magna. Rhoncus mattis rhoncus urna neque viverra justo nec ultrices. Cursus euismod quis viverra nibh cras pulvinar mattis nunc. Nulla pharetra diam sit amet nisl suscipit adipiscing. Id aliquet lectus proin nibh nisl condimentum id venenatis. Phasellus faucibus scelerisque eleifend donec pretium vulputate. Vulputate eu scelerisque felis imperdiet proin fermentum leo. Duis at consectetur lorem donec massa sapien faucibus et molestie.</p>
143
+ </div>
144
+ <div slot="footer">
145
+ <auro-button secondary id="closeBasic">Close</auro-button>
146
+ </div>
147
+ </auro-drawer>
148
+ <!-- AURO-GENERATED-CONTENT:END -->
149
+ </div>
150
+ <auro-accordion alignRight>
151
+ <span slot="trigger">See code</span>
152
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/basic.html) -->
153
+ <!-- The below code snippet is automatically added from ./../apiExamples/basic.html -->
154
+
155
+ ```html
156
+ <div>
157
+ <auro-button id="openBasic">Open default drawer</auro-button>
158
+ </div>
159
+ <auro-drawer id="defaultDrawer">
160
+ <span slot="header">Default Drawer</span>
161
+ <div slot="content">
162
+ <p>When traveling on Alaska Airlines flights, Alaska Airlines checked baggage fees may apply. See <auro-hyperlink href="https://www.alaskaair.com/bagrules" target="_blank">alaskaair.com/bagrules</auro-hyperlink> for our rules. For itineraries that include other airlines, their checked baggage fees may apply, as displayed on their websites.</p>
163
+ <p>Baggage rules and fees will be based on the specific itinerary chosen. The applicable first and second bag fees will be displayed after you have added flights to the cart.</p>
164
+ <auro-header level="3" display="500">Before checking your bags, remember to:</auro-header>
165
+ <ul>
166
+ <li>Caerphilly croque monsieur fondue</li>
167
+ <auro-radio-group>
168
+ <span slot="legend">Accordion Test</span>
169
+ <auro-radio
170
+ id="basicGroupRadio1"
171
+ label="Credit or debit card"
172
+ name="creditordebit"
173
+ value="credit"
174
+ ></auro-radio>
175
+ <auro-radio
176
+ id="basicGroupRadio2"
177
+ label="Apple Pay"
178
+ name="applePay"
179
+ value="applePay"
180
+ ></auro-radio>
181
+ <auro-radio
182
+ id="basicGroupRadio3"
183
+ label="Alaska Airlines Commercial Account"
184
+ name="alaskaCommercial"
185
+ value="alaskaCommercial"
186
+ ></auro-radio>
187
+ </auro-radio-group>
188
+ <auro-input placeholder="John Doe" bordered required>
189
+ <span slot="label">Full name</span>
190
+ <span slot="helptext">Please enter your full name.</span>
191
+ </auro-input>
192
+ <li>Taleggio goat mascarpone cow manchego cheese and wine emmental cheese strings</li>
193
+ <li>Cheddar cheese and biscuits chalk and cheese</li>
194
+ <auro-checkbox-group>
195
+ <span slot="legend">Form label goes here</span>
196
+ <auro-checkbox value="value1" name="basic" id="checkbox-basic1"
197
+ >Checkbox option</auro-checkbox
198
+ >
199
+ <auro-checkbox value="value2" name="basic" id="checkbox-basic2" checked
200
+ >Checkbox option</auro-checkbox
201
+ >
202
+ <auro-checkbox value="value3" name="basic" id="checkbox-basic3"
203
+ >Checkbox option</auro-checkbox
204
+ >
205
+ <auro-checkbox value="value4" name="basic" id="checkbox-basic4"
206
+ >Checkbox option</auro-checkbox
207
+ >
208
+ </auro-checkbox-group>
209
+ <li>Camembert de normandie stinking bishop bavarian bergkase</li>
210
+ </ul>
211
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Morbi quis commodo odio aenean sed. Tortor at risus viverra adipiscing at in tellus integer feugiat. Dictum sit amet justo donec enim diam vulputate. Ullamcorper a lacus vestibulum sed arcu non. Sed cras ornare arcu dui vivamus arcu felis. Morbi tristique senectus et netus et. Ullamcorper a lacus vestibulum sed arcu non odio euismod lacinia. Nunc faucibus a pellentesque sit amet porttitor eget dolor. Eleifend mi in nulla posuere sollicitudin aliquam. Dolor sed viverra ipsum nunc aliquet bibendum enim.</p>
212
+ <p>Tristique senectus et netus et. Vel pharetra vel turpis nunc eget. Sit amet nulla facilisi morbi tempus iaculis urna id volutpat. Aliquet enim tortor at auctor urna nunc id. Ut consequat semper viverra nam libero justo. Magna ac placerat vestibulum lectus mauris ultrices eros in cursus. Et leo duis ut diam. In dictum non consectetur a erat nam. Elementum nibh tellus molestie nunc. Elementum tempus egestas sed sed risus pretium quam vulputate dignissim. Luctus venenatis lectus magna fringilla urna porttitor rhoncus. Semper feugiat nibh sed pulvinar proin gravida. Eget nunc scelerisque viverra mauris in aliquam sem fringilla. In cursus turpis massa tincidunt dui ut ornare lectus sit. Sed egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium.</p>
213
+ <p>Libero volutpat sed cras ornare arcu dui vivamus arcu felis. Dignissim diam quis enim lobortis. Ac orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt. Integer eget aliquet nibh praesent. Ornare massa eget egestas purus viverra accumsan in nisl. Est ultricies integer quis auctor elit sed vulputate mi sit. Feugiat scelerisque varius morbi enim nunc faucibus. Pellentesque adipiscing commodo elit at imperdiet dui. Nam at lectus urna duis convallis. Sagittis eu volutpat odio facilisis mauris.</p>
214
+ <p>Magnis dis parturient montes nascetur ridiculus mus. Faucibus vitae aliquet nec ullamcorper sit amet risus. In eu mi bibendum neque egestas congue quisque egestas. Nibh praesent tristique magna sit amet purus gravida quis blandit. Tincidunt id aliquet risus feugiat in ante metus dictum at. Vitae elementum curabitur vitae nunc sed velit dignissim sodales ut. Molestie at elementum eu facilisis sed odio. Odio facilisis mauris sit amet massa vitae tortor condimentum lacinia. Egestas pretium aenean pharetra magna. Venenatis urna cursus eget nunc scelerisque viverra mauris. Nunc eget lorem dolor sed viverra ipsum nunc aliquet bibendum. Blandit aliquam etiam erat velit scelerisque in dictum non consectetur. Tempor commodo ullamcorper a lacus vestibulum sed arcu. Quis viverra nibh cras pulvinar mattis nunc. A scelerisque purus semper eget duis at tellus at urna. Cursus turpis massa tincidunt dui ut. Purus viverra accumsan in nisl nisi scelerisque eu. Et magnis dis parturient montes nascetur ridiculus mus.</p>
215
+ <p>Id eu nisl nunc mi. Curabitur gravida arcu ac tortor dignissim convallis aenean et tortor. Platea dictumst quisque sagittis purus sit amet volutpat. Egestas congue quisque egestas diam in arcu cursus. Egestas tellus rutrum tellus pellentesque eu tincidunt tortor aliquam. Ornare suspendisse sed nisi lacus sed. Ut ornare lectus sit amet est placerat in egestas erat. Tortor aliquam nulla facilisi cras fermentum odio eu. Magna etiam tempor orci eu lobortis elementum nibh tellus. Pellentesque nec nam aliquam sem et tortor consequat id. Varius quam quisque id diam vel. Odio ut enim blandit volutpat maecenas volutpat. Urna cursus eget nunc scelerisque viverra mauris in aliquam.</p>
216
+ <p>Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Facilisis sed odio morbi quis commodo odio. Cras adipiscing enim eu turpis egestas pretium. Dolor purus non enim praesent. Vehicula ipsum a arcu cursus vitae congue mauris rhoncus. Donec et odio pellentesque diam volutpat commodo sed. Mauris in aliquam sem fringilla ut morbi tincidunt augue interdum. A pellentesque sit amet porttitor eget. Nulla pharetra diam sit amet nisl suscipit adipiscing bibendum. Consequat semper viverra nam libero. Vitae purus faucibus ornare suspendisse. Eget nunc lobortis mattis aliquam. Nibh nisl condimentum id venenatis a condimentum vitae. Eget egestas purus viverra accumsan in nisl. Leo in vitae turpis massa sed elementum tempus. Amet nisl purus in mollis nunc sed id semper risus. Et tortor consequat id porta nibh. Proin fermentum leo vel orci porta.</p>
217
+ <p>Duis ut diam quam nulla porttitor massa. Aliquet porttitor lacus luctus accumsan tortor posuere ac ut consequat. Volutpat ac tincidunt vitae semper quis lectus nulla at volutpat. Enim eu turpis egestas pretium aenean pharetra magna. Commodo elit at imperdiet dui accumsan sit amet nulla. Eget felis eget nunc lobortis mattis aliquam faucibus purus in. Mauris augue neque gravida in. Viverra accumsan in nisl nisi scelerisque eu ultrices vitae auctor. Neque viverra justo nec ultrices dui sapien eget mi proin. Sit amet consectetur adipiscing elit ut aliquam purus sit amet. Mollis nunc sed id semper risus in hendrerit. Feugiat scelerisque varius morbi enim nunc. Pretium lectus quam id leo in vitae turpis massa sed. Ornare arcu odio ut sem nulla pharetra. Tellus rutrum tellus pellentesque eu tincidunt tortor aliquam nulla facilisi. Sit amet risus nullam eget felis eget. Lorem ipsum dolor sit amet consectetur adipiscing elit. Ac turpis egestas integer eget aliquet nibh praesent tristique magna. Malesuada fames ac turpis egestas sed tempus.</p>
218
+ <p>Fusce ut placerat orci nulla pellentesque dignissim enim sit. Consequat nisl vel pretium lectus quam id leo in vitae. Lectus urna duis convallis convallis tellus id interdum. Arcu risus quis varius quam quisque id. Fermentum leo vel orci porta. Sed augue lacus viverra vitae congue. Consequat semper viverra nam libero. Rhoncus est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat. Feugiat vivamus at augue eget arcu dictum varius duis. Fringilla urna porttitor rhoncus dolor purus non enim praesent elementum. Lacus vestibulum sed arcu non odio euismod. Pulvinar sapien et ligula ullamcorper malesuada. Ut ornare lectus sit amet est placerat in egestas erat. Pharetra massa massa ultricies mi. Interdum velit euismod in pellentesque.</p>
219
+ <p>Duis at consectetur lorem donec. Sed vulputate mi sit amet mauris commodo quis. Hendrerit dolor magna eget est lorem ipsum dolor sit amet. Eget arcu dictum varius duis. Nunc consequat interdum varius sit amet mattis. Pulvinar mattis nunc sed blandit. Sem viverra aliquet eget sit amet tellus. Vel turpis nunc eget lorem dolor sed. Pretium viverra suspendisse potenti nullam. Dui nunc mattis enim ut tellus elementum sagittis vitae et. Odio euismod lacinia at quis risus sed vulputate odio. Imperdiet proin fermentum leo vel orci porta non pulvinar. Leo duis ut diam quam nulla porttitor massa id neque. Augue lacus viverra vitae congue eu consequat. Id cursus metus aliquam eleifend. Montes nascetur ridiculus mus mauris.</p>
220
+ <p>Volutpat blandit aliquam etiam erat velit scelerisque. Risus commodo viverra maecenas accumsan lacus vel facilisis volutpat est. Lectus sit amet est placerat in egestas erat imperdiet sed. Platea dictumst quisque sagittis purus sit. Elit ut aliquam purus sit amet luctus venenatis lectus magna. Rhoncus mattis rhoncus urna neque viverra justo nec ultrices. Cursus euismod quis viverra nibh cras pulvinar mattis nunc. Nulla pharetra diam sit amet nisl suscipit adipiscing. Id aliquet lectus proin nibh nisl condimentum id venenatis. Phasellus faucibus scelerisque eleifend donec pretium vulputate. Vulputate eu scelerisque felis imperdiet proin fermentum leo. Duis at consectetur lorem donec massa sapien faucibus et molestie.</p>
221
+ </div>
222
+ <div slot="footer">
223
+ <auro-button secondary id="closeBasic">Close</auro-button>
224
+ </div>
225
+ </auro-drawer>
226
+ ```
227
+ <!-- AURO-GENERATED-CONTENT:END -->
228
+ </auro-accordion>
229
+ Having a closing statement about your example helps to really complete the thought with your reader.
230
+
231
+ ## Recommended Use and Version Control
232
+
233
+ There are two important parts of every Auro component. The <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes">class</a> and the custom element. The class is exported and then used as part of defining the Web Component. When importing this component as described in the <a href="#install">install</a> section, the class is imported and the `auro-drawer` custom element is defined automatically.
234
+
235
+ To protect from versioning conflicts with other instances of the component being loaded, it is recommended to use our `AuroDrawer.register(name)` method and pass in a unique name.
236
+
237
+ ```js
238
+ import { AuroDrawer } from '@aurodesignsystem/auro-drawer/class';
239
+
240
+ AuroDrawer.register('custom-drawer');
241
+ ```
242
+
243
+ This will create a new custom element that you can use in your HTML that will function identically to the `auro-drawer` element.
244
+
245
+ <div class="exampleWrapper">
246
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/custom.html) -->
247
+ <!-- The below content is automatically added from ./../apiExamples/custom.html -->
248
+ <div>
249
+ <auro-button id="openCustom">Open custom drawer</auro-button>
250
+ </div>
251
+ <custom-drawer id="customDrawer">
252
+ <span slot="header">Custom Drawer</span>
253
+ <div slot="content">
254
+ <p>When traveling on Alaska Airlines flights, Alaska Airlines checked baggage fees may apply. See <auro-hyperlink href="https://www.alaskaair.com/bagrules" target="_blank">alaskaair.com/bagrules</auro-hyperlink> for our rules. For itineraries that include other airlines, their checked baggage fees may apply, as displayed on their websites.</p>
255
+ <p>Baggage rules and fees will be based on the specific itinerary chosen. The applicable first and second bag fees will be displayed after you have added flights to the cart.</p>
256
+ <auro-header level="3" display="500">Before checking your bags, remember to:</auro-header>
257
+ <ul>
258
+ <li>Caerphilly croque monsieur fondue</li>
259
+ <li>Taleggio goat mascarpone cow manchego cheese and wine emmental cheese strings</li>
260
+ <li>Cheddar cheese and biscuits chalk and cheese</li>
261
+ <li>Camembert de normandie stinking bishop bavarian bergkase</li>
262
+ </ul>
263
+ </div>
264
+ <div slot="footer">
265
+ <auro-button secondary id="closeCustom">Close</auro-button>
266
+ </div>
267
+ </custom-drawer>
268
+ <!-- AURO-GENERATED-CONTENT:END -->
269
+ </div>
270
+ <auro-accordion alignRight>
271
+ <span slot="trigger">See code</span>
272
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/custom.html) -->
273
+ <!-- The below code snippet is automatically added from ./../apiExamples/custom.html -->
274
+
275
+ ```html
276
+ <div>
277
+ <auro-button id="openCustom">Open custom drawer</auro-button>
278
+ </div>
279
+ <custom-drawer id="customDrawer">
280
+ <span slot="header">Custom Drawer</span>
281
+ <div slot="content">
282
+ <p>When traveling on Alaska Airlines flights, Alaska Airlines checked baggage fees may apply. See <auro-hyperlink href="https://www.alaskaair.com/bagrules" target="_blank">alaskaair.com/bagrules</auro-hyperlink> for our rules. For itineraries that include other airlines, their checked baggage fees may apply, as displayed on their websites.</p>
283
+ <p>Baggage rules and fees will be based on the specific itinerary chosen. The applicable first and second bag fees will be displayed after you have added flights to the cart.</p>
284
+ <auro-header level="3" display="500">Before checking your bags, remember to:</auro-header>
285
+ <ul>
286
+ <li>Caerphilly croque monsieur fondue</li>
287
+ <li>Taleggio goat mascarpone cow manchego cheese and wine emmental cheese strings</li>
288
+ <li>Cheddar cheese and biscuits chalk and cheese</li>
289
+ <li>Camembert de normandie stinking bishop bavarian bergkase</li>
290
+ </ul>
291
+ </div>
292
+ <div slot="footer">
293
+ <auro-button secondary id="closeCustom">Close</auro-button>
294
+ </div>
295
+ </custom-drawer>
296
+ ```
297
+ <!-- AURO-GENERATED-CONTENT:END -->
298
+ </auro-accordion>
@@ -0,0 +1,36 @@
1
+ import { A as AuroDrawer, i as initBasicExample } from './auro-drawer.min.js';
2
+
3
+ function initCustomExample() {
4
+ const buttons = [
5
+ document.querySelector("#openCustom"),
6
+ document.querySelector("#closeCustom"),
7
+ ];
8
+ const drawer = document.querySelector("#customDrawer");
9
+
10
+ drawer.triggerElement = buttons[0];
11
+ buttons[1].addEventListener("click", () => {
12
+ drawer.removeAttribute("open");
13
+ });
14
+ }
15
+
16
+ AuroDrawer.register();
17
+ AuroDrawer.register("custom-drawer");
18
+
19
+ function initExamples(initCount) {
20
+ // biome-ignore lint/style/noParameterAssign: recursion counter
21
+ initCount = initCount || 0;
22
+
23
+ try {
24
+ initBasicExample();
25
+ initCustomExample();
26
+ } catch (_err) {
27
+ if (initCount <= 20) {
28
+ // setTimeout handles issue where content is sometimes loaded after the functions get called
29
+ setTimeout(() => {
30
+ initExamples(initCount + 1);
31
+ }, 100);
32
+ }
33
+ }
34
+ }
35
+
36
+ export { initExamples };