openapi-explorer 0.9.311 → 0.9.312

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 (123) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/{openapi-explorer.min.js → browser/openapi-explorer.min.js} +1 -1
  3. package/dist/{openapi-explorer.min.js.LICENSE.txt → browser/openapi-explorer.min.js.LICENSE.txt} +1 -1
  4. package/dist/browser/openapi-explorer.min.js.LICENSE.txt.gz +0 -0
  5. package/dist/browser/openapi-explorer.min.js.gz +0 -0
  6. package/dist/{openapi-explorer.min.js.map → browser/openapi-explorer.min.js.map} +0 -0
  7. package/dist/{openapi-explorer.min.js.map.gz → browser/openapi-explorer.min.js.map.gz} +0 -0
  8. package/dist/{report.html → browser/report.html} +1 -1
  9. package/dist/es/components/api-request.js +936 -0
  10. package/dist/es/components/api-response.js +184 -0
  11. package/dist/es/components/json-tree.js +67 -0
  12. package/{src → dist/es}/components/mime-types.js +10 -16
  13. package/dist/es/components/schema-table.js +156 -0
  14. package/dist/es/components/schema-tree.js +191 -0
  15. package/dist/es/components/tag-input.js +67 -0
  16. package/{src → dist/es}/openapi-explorer-oauth-handler.js +2 -2
  17. package/{src → dist/es}/openapi-explorer.js +364 -371
  18. package/dist/es/styles/advanced-search-styles.js +2 -0
  19. package/dist/es/styles/api-request-styles.js +2 -0
  20. package/dist/es/styles/border-styles.js +2 -0
  21. package/dist/es/styles/endpoint-styles.js +2 -0
  22. package/dist/es/styles/flex-styles.js +2 -0
  23. package/dist/es/styles/font-styles.js +2 -0
  24. package/dist/es/styles/info-styles.js +2 -0
  25. package/dist/es/styles/input-styles.js +4 -0
  26. package/dist/es/styles/nav-styles.js +2 -0
  27. package/dist/es/styles/prism-styles.js +2 -0
  28. package/dist/es/styles/schema-styles.js +2 -0
  29. package/dist/es/styles/tab-styles.js +2 -0
  30. package/dist/es/styles/table-styles.js +2 -0
  31. package/dist/es/templates/advance-search-template.js +37 -0
  32. package/dist/es/templates/callback-template.js +7 -0
  33. package/dist/es/templates/code-samples-template.js +26 -0
  34. package/dist/es/templates/components-template.js +17 -0
  35. package/dist/es/templates/endpoint-template.js +94 -0
  36. package/dist/es/templates/expanded-endpoint-template.js +32 -0
  37. package/{src → dist/es}/templates/focused-endpoint-template.js +15 -15
  38. package/dist/es/templates/navbar-template.js +46 -0
  39. package/dist/es/templates/overview-template.js +9 -0
  40. package/dist/es/templates/responsiveViewMainBodyTemplate.js +30 -0
  41. package/dist/es/templates/security-scheme-template.js +330 -0
  42. package/dist/es/templates/server-template.js +42 -0
  43. package/{src → dist/es}/utils/color-utils.js +53 -16
  44. package/{src → dist/es}/utils/common-utils.js +18 -18
  45. package/{src → dist/es}/utils/schema-utils.js +248 -124
  46. package/{src → dist/es}/utils/spec-parser.js +112 -71
  47. package/dist/es/utils/theme.js +75 -0
  48. package/{src → dist/es}/utils/xml/xml.js +41 -38
  49. package/dist/lib/components/api-request.js +957 -0
  50. package/dist/lib/components/api-response.js +206 -0
  51. package/dist/lib/components/json-tree.js +82 -0
  52. package/dist/lib/components/mime-types.js +70 -0
  53. package/dist/lib/components/schema-table.js +170 -0
  54. package/dist/lib/components/schema-tree.js +206 -0
  55. package/dist/lib/components/tag-input.js +76 -0
  56. package/dist/lib/openapi-explorer-oauth-handler.js +19 -0
  57. package/dist/lib/openapi-explorer.js +817 -0
  58. package/dist/lib/styles/advanced-search-styles.js +10 -0
  59. package/dist/lib/styles/api-request-styles.js +10 -0
  60. package/dist/lib/styles/border-styles.js +10 -0
  61. package/dist/lib/styles/endpoint-styles.js +10 -0
  62. package/dist/lib/styles/flex-styles.js +10 -0
  63. package/dist/lib/styles/font-styles.js +10 -0
  64. package/dist/lib/styles/info-styles.js +10 -0
  65. package/dist/lib/styles/input-styles.js +11 -0
  66. package/dist/lib/styles/nav-styles.js +10 -0
  67. package/dist/lib/styles/prism-styles.js +10 -0
  68. package/dist/lib/styles/schema-styles.js +10 -0
  69. package/dist/lib/styles/tab-styles.js +10 -0
  70. package/dist/lib/styles/table-styles.js +10 -0
  71. package/dist/lib/templates/advance-search-template.js +42 -0
  72. package/dist/lib/templates/callback-template.js +12 -0
  73. package/dist/lib/templates/code-samples-template.js +36 -0
  74. package/dist/lib/templates/components-template.js +27 -0
  75. package/dist/lib/templates/endpoint-template.js +111 -0
  76. package/dist/lib/templates/expanded-endpoint-template.js +48 -0
  77. package/dist/lib/templates/focused-endpoint-template.js +95 -0
  78. package/dist/lib/templates/navbar-template.js +54 -0
  79. package/dist/lib/templates/overview-template.js +16 -0
  80. package/dist/lib/templates/responsiveViewMainBodyTemplate.js +47 -0
  81. package/dist/lib/templates/security-scheme-template.js +342 -0
  82. package/dist/lib/templates/server-template.js +49 -0
  83. package/dist/lib/utils/color-utils.js +112 -0
  84. package/dist/lib/utils/common-utils.js +156 -0
  85. package/dist/lib/utils/schema-utils.js +743 -0
  86. package/dist/lib/utils/spec-parser.js +361 -0
  87. package/dist/lib/utils/theme.js +84 -0
  88. package/dist/lib/utils/xml/xml.js +239 -0
  89. package/package.json +18 -6
  90. package/dist/openapi-explorer.min.js.LICENSE.txt.gz +0 -0
  91. package/dist/openapi-explorer.min.js.gz +0 -0
  92. package/src/components/api-request.js +0 -1244
  93. package/src/components/api-response.js +0 -340
  94. package/src/components/json-tree.js +0 -129
  95. package/src/components/schema-table.js +0 -250
  96. package/src/components/schema-tree.js +0 -280
  97. package/src/components/tag-input.js +0 -109
  98. package/src/styles/advanced-search-styles.js +0 -84
  99. package/src/styles/api-request-styles.js +0 -111
  100. package/src/styles/border-styles.js +0 -24
  101. package/src/styles/css/main.css +0 -24
  102. package/src/styles/endpoint-styles.js +0 -222
  103. package/src/styles/flex-styles.js +0 -15
  104. package/src/styles/font-styles.js +0 -266
  105. package/src/styles/info-styles.js +0 -20
  106. package/src/styles/input-styles.js +0 -236
  107. package/src/styles/nav-styles.js +0 -141
  108. package/src/styles/prism-styles.js +0 -107
  109. package/src/styles/schema-styles.js +0 -121
  110. package/src/styles/tab-styles.js +0 -44
  111. package/src/styles/table-styles.js +0 -48
  112. package/src/templates/advance-search-template.js +0 -81
  113. package/src/templates/callback-template.js +0 -63
  114. package/src/templates/code-samples-template.js +0 -35
  115. package/src/templates/components-template.js +0 -43
  116. package/src/templates/endpoint-template.js +0 -175
  117. package/src/templates/expanded-endpoint-template.js +0 -104
  118. package/src/templates/navbar-template.js +0 -175
  119. package/src/templates/overview-template.js +0 -58
  120. package/src/templates/responsiveViewMainBodyTemplate.js +0 -72
  121. package/src/templates/security-scheme-template.js +0 -487
  122. package/src/templates/server-template.js +0 -106
  123. package/src/utils/theme.js +0 -163
@@ -0,0 +1,191 @@
1
+ import { LitElement, html, css } from 'lit-element';
2
+ import { marked } from 'marked';
3
+ import { unsafeHTML } from 'lit-html/directives/unsafe-html';
4
+ import FontStyles from '../styles/font-styles';
5
+ import SchemaStyles from '../styles/schema-styles';
6
+ import BorderStyles from '../styles/border-styles';
7
+ export default class SchemaTree extends LitElement {
8
+ static get properties() {
9
+ return {
10
+ data: {
11
+ type: Object
12
+ },
13
+ schemaExpandLevel: {
14
+ type: Number,
15
+ attribute: 'schema-expand-level'
16
+ },
17
+ schemaDescriptionExpanded: {
18
+ type: String,
19
+ attribute: 'schema-description-expanded'
20
+ },
21
+ schemaHideReadOnly: {
22
+ type: String,
23
+ attribute: 'schema-hide-read-only'
24
+ },
25
+ schemaHideWriteOnly: {
26
+ type: String,
27
+ attribute: 'schema-hide-write-only'
28
+ }
29
+ };
30
+ }
31
+
32
+ connectedCallback() {
33
+ super.connectedCallback();
34
+
35
+ if (!this.schemaExpandLevel || this.schemaExpandLevel < 1) {
36
+ this.schemaExpandLevel = 99999;
37
+ }
38
+
39
+ if (!this.schemaDescriptionExpanded || !'true false'.includes(this.schemaDescriptionExpanded)) {
40
+ this.schemaDescriptionExpanded = 'true';
41
+ }
42
+
43
+ if (!this.schemaHideReadOnly || !'true false'.includes(this.schemaHideReadOnly)) {
44
+ this.schemaHideReadOnly = 'true';
45
+ }
46
+
47
+ if (!this.schemaHideWriteOnly || !'true false'.includes(this.schemaHideWriteOnly)) {
48
+ this.schemaHideWriteOnly = 'true';
49
+ }
50
+ }
51
+
52
+ static get styles() {
53
+ return [FontStyles, SchemaStyles, BorderStyles, css`.tree{min-height:30px;background:#333;padding:10px;color:#fff;font-size:var(--font-size-small);text-align:left;line-height:calc(var(--font-size-small) + 6px)}.collapsed-descr .tr{max-height:calc(var(--font-size-small) + 8px)}.collapsed-descr .m-markdown-small p{line-height:calc(var(--font-size-small) + 6px)}.tree .key{max-width:300px}.key.deprecated .key-label{text-decoration:line-through}.open-bracket{display:inline-block;padding:0 20px 0 0;cursor:pointer;border:1px solid transparent;border-radius:3px}.open-bracket:hover{color:var(--primary-color);background-color:var(--hover-color);border:1px solid var(--border-color)}.close-bracket{display:inline-block;font-family:var(--font-mono)}.tr.collapsed+.inside-bracket,.tr.collapsed+.inside-bracket+.close-bracket{display:none}.inside-bracket.array,.inside-bracket.object{border-left:1px dotted var(--border-color)}.inside-bracket.xxx-of{padding:5px 0;border-style:dotted;border-width:0 0 1px 0;border-color:var(--primary-color)}`];
54
+ }
55
+ /* eslint-disable indent */
56
+
57
+
58
+ render() {
59
+ return html` <div class="tree ${this.schemaDescriptionExpanded === 'true' ? 'expanded-descr' : 'collapsed-descr'}"> <div class="toolbar"> ${this.data && this.data['::description'] ? html`<span class="m-markdown" style="margin-block-start:0"> ${unsafeHTML(marked(this.data['::description'] || ''))}</span>` : html`<div>&nbsp;</div>`} <div class="toolbar-item" @click="${() => {
60
+ this.schemaDescriptionExpanded = this.schemaDescriptionExpanded === 'true' ? 'false' : 'true';
61
+ }}"> ${this.schemaDescriptionExpanded === 'true' ? 'Collapse descriptions' : 'Expand descriptions'} </div> </div> ${this.data ? html`${this.generateTree(this.data['::type'] === 'array' ? this.data['::props'] : this.data, this.data['::type'])}` : html`<span class="mono-font" style="color:var(--red)"> Schema not found </span>`} </div> `;
62
+ }
63
+
64
+ generateTree(data, dataType = 'object', key = '', description = '', schemaLevel = 0, indentLevel = 0) {
65
+ if (!data) {
66
+ return html`<div class="null" style="display:inline">null</div>`;
67
+ }
68
+
69
+ if (Object.keys(data).length === 0) {
70
+ return html`<span class="key object">${key}:{ }</span>`;
71
+ }
72
+
73
+ let keyLabel = '';
74
+ let keyDescr = '';
75
+
76
+ if (key.startsWith('::ONE~OF') || key.startsWith('::ANY~OF')) {
77
+ keyLabel = key.replace('::', '').replace('~', ' ');
78
+ } else if (key.startsWith('::OPTION')) {
79
+ const parts = key.split('~');
80
+ keyLabel = parts[1];
81
+ keyDescr = parts[2];
82
+ } else {
83
+ keyLabel = key;
84
+ }
85
+
86
+ const leftPadding = 16; // Min-width used for model keys: `td key `
87
+
88
+ const minFieldColWidth = 250 - indentLevel * leftPadding;
89
+ let openBracket = '';
90
+ let closeBracket = '';
91
+ const newSchemaLevel = data['::type'] && data['::type'].startsWith('xxx-of') ? schemaLevel : schemaLevel + 1; // const newIndentLevel = dataType === 'xxx-of-option' || data['::type'] === 'xxx-of-option' ? indentLevel : (indentLevel + 1);
92
+
93
+ const newIndentLevel = dataType === 'xxx-of-option' || data['::type'] === 'xxx-of-option' || key.startsWith('::OPTION') ? indentLevel : indentLevel + 1;
94
+
95
+ if (data['::type'] === 'object') {
96
+ if (dataType === 'array') {
97
+ if (schemaLevel < this.schemaExpandLevel) {
98
+ openBracket = html`<span class="open-bracket array-of-object" @click="${this.toggleObjectExpand}">[{</span>`;
99
+ } else {
100
+ openBracket = html`<span class="open-bracket array-of-object" @click="${this.toggleObjectExpand}">[{...}]</span>`;
101
+ }
102
+
103
+ closeBracket = '}]';
104
+ } else {
105
+ if (schemaLevel < this.schemaExpandLevel) {
106
+ openBracket = html`<span class="open-bracket object" @click="${this.toggleObjectExpand}">{</span>`;
107
+ } else {
108
+ openBracket = html`<span class="open-bracket object" @click="${this.toggleObjectExpand}">{...}</span>`;
109
+ }
110
+
111
+ closeBracket = '}';
112
+ }
113
+ } else if (data['::type'] === 'array') {
114
+ if (dataType === 'array') {
115
+ if (schemaLevel < this.schemaExpandLevel) {
116
+ openBracket = html`<span class="open-bracket array-of-array" @click="${this.toggleObjectExpand}">[[</span>`;
117
+ } else {
118
+ openBracket = html`<span class="open-bracket array-of-array" @click="${this.toggleObjectExpand}">[[...]]</span>`;
119
+ }
120
+
121
+ closeBracket = ']]';
122
+ } else {
123
+ if (schemaLevel < this.schemaExpandLevel) {
124
+ openBracket = html`<span class="open-bracket array" @click="${this.toggleObjectExpand}">[</span>`;
125
+ } else {
126
+ openBracket = html`<span class="open-bracket array" @click="${this.toggleObjectExpand}">[...]</span>`;
127
+ }
128
+
129
+ closeBracket = ']';
130
+ }
131
+ }
132
+
133
+ if (typeof data === 'object') {
134
+ const flags = data['::flags'] || {};
135
+
136
+ if (flags['🆁'] && this.schemaHideReadOnly === 'true') {
137
+ return undefined;
138
+ }
139
+
140
+ if (flags['🆆'] && this.schemaHideWriteOnly === 'true') {
141
+ return undefined;
142
+ }
143
+
144
+ const displayLine = [flags['🆁'] || flags['🆆'], description].filter(v => v).join(' ');
145
+ return html` <div class="tr ${schemaLevel < this.schemaExpandLevel || data['::type'] && data['::type'].startsWith('xxx-of') ? 'expanded' : 'collapsed'} ${data['::type'] || 'no-type-info'}"> <div class="td key ${data['::deprecated'] ? 'deprecated' : ''}" style="min-width:${minFieldColWidth}px"> ${data['::type'] === 'xxx-of-option' || data['::type'] === 'xxx-of-array' || key.startsWith('::OPTION') ? html`<span class="key-label xxx-of-key">${keyLabel}</span><span class="xxx-of-descr">${keyDescr}</span>` : keyLabel.endsWith('*') ? html`<span class="key-label">${keyLabel.substring(0, keyLabel.length - 1)}</span><span style="color:var(--red)">*</span>:` : keyLabel === '::props' || keyLabel === '::ARRAY~OF' ? '' : schemaLevel > 0 ? html`<span class="key-label">${keyLabel}:</span>` : ''} ${data['::type'] === 'xxx-of' && dataType === 'array' ? html`<span style="color:var(--primary-color)">ARRAY</span>` : ''} ${openBracket} </div> <div class="td key-descr"> <span class="m-markdown-small" style="font-family:var(--font-mono);vertical-align:middle" title="${flags['🆁'] && 'Read only attribute' || flags['🆆'] && 'Write only attribute' || ''}"> ${unsafeHTML(marked(displayLine))} </span> </div> </div> <div class="inside-bracket ${data['::type'] || 'no-type-info'}" style="padding-left:${data['::type'] === 'xxx-of-option' || data['::type'] === 'xxx-of-array' ? 0 : leftPadding}px"> ${Array.isArray(data) && data[0] ? html`${this.generateTree(data[0], 'xxx-of-option', '::ARRAY~OF', '', newSchemaLevel, newIndentLevel)}` : html` ${Object.keys(data).map(dataKey => dataKey.startsWith('::') && data[dataKey]['::type'] !== 'array' && data[dataKey]['::type'] !== 'object' ? '' : html`${this.generateTree(data[dataKey]['::type'] === 'array' ? data[dataKey]['::props'] : data[dataKey], data[dataKey]['::type'], dataKey, data[dataKey]['::description'], newSchemaLevel, newIndentLevel)}`)}`} </div> ${data['::type'] && data['::type'].includes('xxx-of') ? '' : html`<div class="close-bracket"> ${closeBracket} </div>`} `;
146
+ } // For Primitive Data types
147
+
148
+
149
+ const {
150
+ type,
151
+ readOrWriteOnly,
152
+ constraint,
153
+ defaultValue,
154
+ allowedValues,
155
+ pattern,
156
+ schemaDescription,
157
+ schemaTitle,
158
+ deprecated
159
+ } = JSON.parse(data);
160
+
161
+ if (readOrWriteOnly === '🆁' && this.schemaHideReadOnly === 'true') {
162
+ return undefined;
163
+ }
164
+
165
+ if (readOrWriteOnly === '🆆' && this.schemaHideWriteOnly === 'true') {
166
+ return undefined;
167
+ }
168
+
169
+ const dataTypeCss = type.replace(/┃.*/g, '').replace(/[^a-zA-Z0-9+]/g, '').substring(0, 4).toLowerCase();
170
+ return html` <div class="tr primitive"> <div class="td key ${deprecated ? 'deprecated' : ''}" style="min-width:${minFieldColWidth}px"> ${keyLabel.endsWith('*') ? html`<span class="key-label">${keyLabel.substring(0, keyLabel.length - 1)}</span><span style="color:var(--red)">*</span>:` : key.startsWith('::OPTION') ? html`<span class="key-label xxx-of-key">${keyLabel}</span><span class="xxx-of-descr">${keyDescr}</span>` : schemaLevel > 0 ? html`<span class="key-label">${keyLabel}:</span>` : ''} <span class="${dataTypeCss}"> ${dataType === 'array' ? `${type}[]` : `${type}`} </span> </div> <div class="td key-descr"> <span class="m-markdown-small" style="font-family:var(--font-mono);vertical-align:middle" title="${readOrWriteOnly === '🆁' && 'Read only attribute' || readOrWriteOnly === '🆆' && 'Write only attribute' || ''}"> ${unsafeHTML(marked(`${readOrWriteOnly && `${readOrWriteOnly} ` || ''}${dataType === 'array' && description || `${schemaTitle ? `**${schemaTitle}:**` : ''} ${schemaDescription}` || ''}`))} </span> ${constraint ? html`<div style="display:inline-block;line-break:anywhere;margin-right:8px"><span class="bold-text">Constraints: </span>${constraint}</div>` : ''} ${defaultValue ? html`<div style="display:inline-block;line-break:anywhere;margin-right:8px"><span class="bold-text">Default: </span>${defaultValue}</div>` : ''} ${allowedValues ? html`<div style="display:inline-block;line-break:anywhere;margin-right:8px"><span class="bold-text">Allowed: </span>${allowedValues}</div>` : ''} ${pattern ? html`<div style="display:inline-block;line-break:anywhere;margin-right:8px"><span class="bold-text">Pattern: </span>${pattern}</div>` : ''} </div> </div> `;
171
+ }
172
+ /* eslint-enable indent */
173
+
174
+
175
+ toggleObjectExpand(e) {
176
+ const rowEl = e.target.closest('.tr');
177
+
178
+ if (rowEl.classList.contains('expanded')) {
179
+ rowEl.classList.replace('expanded', 'collapsed');
180
+ e.target.innerHTML = e.target.classList.contains('array-of-object') ? '[{...}]' : e.target.classList.contains('array-of-array') ? '[[...]]' : e.target.classList.contains('array') ? '[...]' : '{...}';
181
+ } else {
182
+ rowEl.classList.replace('collapsed', 'expanded');
183
+ e.target.innerHTML = e.target.classList.contains('array-of-object') ? '[{' : e.target.classList.contains('array-of-array') ? '[[' : e.target.classList.contains('object') ? '{' : '[';
184
+ }
185
+ }
186
+
187
+ }
188
+
189
+ if (!customElements.get('openapi-explorer')) {
190
+ customElements.define('schema-tree', SchemaTree);
191
+ }
@@ -0,0 +1,67 @@
1
+ import { LitElement, html, css } from 'lit-element';
2
+ export default class TagInput extends LitElement {
3
+ render() {
4
+ const tagItemTemplate = html`${(this.value || []).filter(v => v.trim()).map(v => html`<span class="tag">${v}</span>`)}`;
5
+ return html` <div class="tags" tabindex="0"> ${tagItemTemplate} <input type="text" class="editor" @paste="${e => this.afterPaste(e)}" @keydown="${this.afterKeyDown}" placeholder="${this.placeholder || ''}"> </div> `;
6
+ }
7
+
8
+ static get properties() {
9
+ return {
10
+ placeholder: {
11
+ type: String
12
+ },
13
+ value: {
14
+ type: Array,
15
+ attribute: 'value'
16
+ }
17
+ };
18
+ }
19
+
20
+ connectedCallback() {
21
+ super.connectedCallback();
22
+
23
+ if (!Array.isArray(this.value)) {
24
+ this.value = this.value !== '' ? [this.value] : [];
25
+ }
26
+ }
27
+
28
+ attributeChangedCallback(name, oldVal, newVal) {
29
+ if (name === 'value') {
30
+ if (newVal && oldVal !== newVal) {
31
+ this.value = newVal.split(',').filter(v => v.trim());
32
+ }
33
+ }
34
+
35
+ super.attributeChangedCallback(name, oldVal, newVal);
36
+ }
37
+
38
+ afterPaste(e) {
39
+ const clipboardData = e.clipboardData || window.clipboardData;
40
+ const pastedData = clipboardData.getData('Text');
41
+ const pastedArray = pastedData && pastedData.split(',').filter(v => v.trim()) || [];
42
+ this.value = this.value.concat(pastedArray);
43
+ e.preventDefault();
44
+ }
45
+
46
+ afterKeyDown(e) {
47
+ if (e.keyCode === 13) {
48
+ e.stopPropagation();
49
+ e.preventDefault();
50
+ this.value = this.value.concat(e.target.value || []);
51
+ e.target.value = '';
52
+ } else if (e.keyCode === 8) {
53
+ if (e.target.value.length === 0) {
54
+ this.value = this.value.slice(0, -1);
55
+ }
56
+ }
57
+ }
58
+
59
+ static get styles() {
60
+ return [css`.tags{display:flex;flex-wrap:wrap;outline:0;padding:0;border-radius:var(--border-radius);border:1px solid var(--border-color);cursor:text;overflow:hidden;background:var(--input-bg)}.editor,.tag{padding:3px;margin:2px}.tag{border:1px solid var(--border-color);background-color:var(--bg3);color:var(--fg3);border-radius:var(--border-radius);word-break:break-all;font-size:var(--font-size-small)}.tag:hover~#cursor{display:block}.editor{flex:1;border:1px solid transparent;color:var(--fg);min-width:60px;outline:0;line-height:inherit;font-family:inherit;background:0 0;font-size:calc(var(--font-size-small) + 1px)}.editor::placeholder{color:var(--placeholder-color);opacity:1}`];
61
+ }
62
+
63
+ } // Register the element with the browser
64
+
65
+ if (!customElements.get('openapi-explorer')) {
66
+ customElements.define('tag-input', TagInput);
67
+ }
@@ -1,11 +1,11 @@
1
1
  import { checkForAuthToken } from './templates/security-scheme-template';
2
-
3
2
  export default class OpenapiExplorerOauthHandler extends HTMLElement {
4
3
  connectedCallback() {
5
4
  checkForAuthToken(true);
6
5
  }
6
+
7
7
  }
8
8
 
9
9
  if (!customElements.get('openapi-explorer-oauth-handler')) {
10
10
  customElements.define('openapi-explorer-oauth-handler', OpenapiExplorerOauthHandler);
11
- }
11
+ }