@scalar/api-reference 1.29.3 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +13 -114
  3. package/dist/browser/standalone.js +6525 -6416
  4. package/dist/browser/webpack-stats.json +1 -1
  5. package/dist/components/ApiReferenceLayout.vue.d.ts.map +1 -1
  6. package/dist/components/ApiReferenceLayout.vue.js +1 -1
  7. package/dist/components/ApiReferenceLayout.vue2.js +164 -181
  8. package/dist/components/Content/ClientLibraries/ClientLibraries.vue.d.ts.map +1 -1
  9. package/dist/components/Content/ClientLibraries/ClientLibraries.vue.js +2 -2
  10. package/dist/components/Content/ClientLibraries/ClientLibraries.vue2.js +56 -51
  11. package/dist/components/Content/Content.vue.d.ts.map +1 -1
  12. package/dist/components/Content/Content.vue.js +1 -1
  13. package/dist/components/Content/Content.vue2.js +5 -5
  14. package/dist/components/Content/Introduction/Introduction.vue.d.ts +2 -2
  15. package/dist/components/Content/Introduction/Introduction.vue.d.ts.map +1 -1
  16. package/dist/components/Content/Introduction/Introduction.vue.js +2 -2
  17. package/dist/components/Content/Introduction/Introduction.vue2.js +57 -63
  18. package/dist/components/Content/Lazy/Loading.vue.d.ts.map +1 -1
  19. package/dist/components/Content/Lazy/Loading.vue.js +46 -46
  20. package/dist/components/Content/Models/Models.vue.d.ts +2 -2
  21. package/dist/components/Content/Models/Models.vue.d.ts.map +1 -1
  22. package/dist/components/Content/Models/Models.vue.js +2 -2
  23. package/dist/components/Content/Models/Models.vue2.js +7 -6
  24. package/dist/components/Content/Models/ModelsAccordion.vue.d.ts +2 -2
  25. package/dist/components/Content/Models/ModelsAccordion.vue.d.ts.map +1 -1
  26. package/dist/components/Content/Models/ModelsAccordion.vue.js +2 -2
  27. package/dist/components/Content/Schema/Schema.preview.d.ts +98 -56
  28. package/dist/components/Content/Schema/Schema.preview.d.ts.map +1 -1
  29. package/dist/components/Content/Schema/Schema.vue.d.ts +6 -3
  30. package/dist/components/Content/Schema/Schema.vue.d.ts.map +1 -1
  31. package/dist/components/Content/Schema/Schema.vue.js +1 -1
  32. package/dist/components/Content/Schema/Schema.vue2.js +140 -97
  33. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts +2 -2
  34. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts.map +1 -1
  35. package/dist/components/Content/Schema/SchemaComposition.vue.js +57 -53
  36. package/dist/components/Content/Schema/SchemaDiscriminator.vue.d.ts +13 -0
  37. package/dist/components/Content/Schema/SchemaDiscriminator.vue.d.ts.map +1 -0
  38. package/dist/components/Content/Schema/SchemaDiscriminator.vue.js +49 -0
  39. package/dist/components/Content/Schema/SchemaDiscriminator.vue2.js +4 -0
  40. package/dist/components/Content/Schema/SchemaHeading.vue.d.ts +2 -2
  41. package/dist/components/Content/Schema/SchemaHeading.vue.d.ts.map +1 -1
  42. package/dist/components/Content/Schema/SchemaHeading.vue.js +1 -1
  43. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts +4 -2
  44. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts.map +1 -1
  45. package/dist/components/Content/Schema/SchemaProperty.vue.js +2 -2
  46. package/dist/components/Content/Schema/SchemaProperty.vue2.js +40 -38
  47. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts +3 -2
  48. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts.map +1 -1
  49. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js +2 -2
  50. package/dist/components/Content/Schema/SchemaPropertyHeading.vue2.js +147 -143
  51. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.d.ts +2 -2
  52. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.d.ts.map +1 -1
  53. package/dist/components/Content/Schema/helpers/schema-discriminator.d.ts +9 -1
  54. package/dist/components/Content/Schema/helpers/schema-discriminator.d.ts.map +1 -1
  55. package/dist/components/Content/Schema/helpers/schema-discriminator.js +45 -0
  56. package/dist/components/Content/Tag/TagList.vue.d.ts +2 -2
  57. package/dist/components/Content/Tag/TagList.vue.d.ts.map +1 -1
  58. package/dist/components/DocumentSelector/DocumentSelector.vue.js +3 -3
  59. package/dist/components/Layouts/ClassicLayout.vue.js +10 -8
  60. package/dist/components/Layouts/Layouts.vue.js +11 -9
  61. package/dist/components/Layouts/ModernLayout.vue2.js +22 -20
  62. package/dist/components/Section/SectionHeader.vue.d.ts.map +1 -1
  63. package/dist/components/Section/SectionHeader.vue.js +2 -2
  64. package/dist/components/Section/SectionHeaderTag.vue.d.ts.map +1 -1
  65. package/dist/components/Section/SectionHeaderTag.vue.js +2 -2
  66. package/dist/components/Sidebar/Sidebar.vue.d.ts.map +1 -1
  67. package/dist/components/Sidebar/Sidebar.vue.js +2 -2
  68. package/dist/components/Sidebar/Sidebar.vue2.js +56 -56
  69. package/dist/components/SingleApiReference.vue.d.ts.map +1 -1
  70. package/dist/components/SingleApiReference.vue.js +27 -33
  71. package/dist/esm.d.ts.map +1 -1
  72. package/dist/features/ApiClientModal/ApiClientModal.vue.d.ts +2 -2
  73. package/dist/features/ApiClientModal/ApiClientModal.vue.d.ts.map +1 -1
  74. package/dist/features/ApiClientModal/ApiClientModal.vue.js +49 -50
  75. package/dist/features/ApiClientModal/useApiClient.d.ts +224 -204
  76. package/dist/features/ApiClientModal/useApiClient.d.ts.map +1 -1
  77. package/dist/features/DocumentSource/hooks/useDocumentFetcher.d.ts +11 -0
  78. package/dist/features/DocumentSource/hooks/useDocumentFetcher.d.ts.map +1 -0
  79. package/dist/features/DocumentSource/hooks/useDocumentFetcher.js +38 -0
  80. package/dist/features/DocumentSource/hooks/useDocumentSource.d.ts +21 -0
  81. package/dist/features/DocumentSource/hooks/useDocumentSource.d.ts.map +1 -0
  82. package/dist/features/DocumentSource/hooks/useDocumentSource.js +94 -0
  83. package/dist/features/DocumentSource/index.d.ts +2 -0
  84. package/dist/features/DocumentSource/index.d.ts.map +1 -0
  85. package/dist/features/DownloadLink/DownloadLink.vue.d.ts +1 -1
  86. package/dist/features/DownloadLink/DownloadLink.vue.d.ts.map +1 -1
  87. package/dist/features/DownloadLink/DownloadLink.vue.js +1 -1
  88. package/dist/features/DownloadLink/DownloadLink.vue2.js +18 -17
  89. package/dist/features/DownloadLink/index.d.ts +1 -0
  90. package/dist/features/DownloadLink/index.d.ts.map +1 -1
  91. package/dist/features/DownloadLink/openapi-version-symbol.d.ts +2 -0
  92. package/dist/features/DownloadLink/openapi-version-symbol.d.ts.map +1 -0
  93. package/dist/features/DownloadLink/openapi-version-symbol.js +4 -0
  94. package/dist/features/Operation/Operation.vue.d.ts +2 -2
  95. package/dist/features/Operation/Operation.vue.d.ts.map +1 -1
  96. package/dist/features/Operation/components/OperationParameters.vue.d.ts +2 -2
  97. package/dist/features/Operation/components/OperationParameters.vue.d.ts.map +1 -1
  98. package/dist/features/Operation/components/OperationResponses.vue.d.ts +2 -2
  99. package/dist/features/Operation/components/OperationResponses.vue.d.ts.map +1 -1
  100. package/dist/features/Operation/components/ParameterHeaders.vue.d.ts +2 -2
  101. package/dist/features/Operation/components/ParameterHeaders.vue.d.ts.map +1 -1
  102. package/dist/features/Operation/components/ParameterHeaders.vue.js +2 -2
  103. package/dist/features/Operation/components/ParameterList.vue.d.ts +2 -2
  104. package/dist/features/Operation/components/ParameterList.vue.d.ts.map +1 -1
  105. package/dist/features/Operation/components/ParameterList.vue.js +2 -2
  106. package/dist/features/Operation/components/ParameterListItem.vue.d.ts +2 -2
  107. package/dist/features/Operation/components/ParameterListItem.vue.d.ts.map +1 -1
  108. package/dist/features/Operation/components/ParameterListItem.vue.js +3 -3
  109. package/dist/features/Operation/components/ParameterListItem.vue2.js +6 -6
  110. package/dist/features/Operation/components/RequestBody.vue.d.ts +2 -2
  111. package/dist/features/Operation/components/RequestBody.vue.d.ts.map +1 -1
  112. package/dist/features/Operation/components/RequestBody.vue.js +2 -2
  113. package/dist/features/Operation/components/callbacks/Callback.vue.d.ts +14 -0
  114. package/dist/features/Operation/components/callbacks/Callback.vue.d.ts.map +1 -0
  115. package/dist/features/Operation/components/callbacks/Callback.vue.js +7 -0
  116. package/dist/features/Operation/components/callbacks/Callback.vue2.js +62 -0
  117. package/dist/features/Operation/components/callbacks/Callbacks.vue.d.ts +10 -0
  118. package/dist/features/Operation/components/callbacks/Callbacks.vue.d.ts.map +1 -0
  119. package/dist/features/Operation/components/callbacks/Callbacks.vue.js +30 -0
  120. package/dist/features/Operation/components/callbacks/Callbacks.vue2.js +4 -0
  121. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts +2 -2
  122. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts.map +1 -1
  123. package/dist/features/Operation/layouts/ClassicLayout.vue.js +2 -2
  124. package/dist/features/Operation/layouts/ClassicLayout.vue2.js +55 -55
  125. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts +2 -2
  126. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts.map +1 -1
  127. package/dist/features/Operation/layouts/ModernLayout.vue.js +1 -1
  128. package/dist/features/Operation/layouts/ModernLayout.vue2.js +94 -79
  129. package/dist/features/Operation/types/schemas.d.ts +3 -0
  130. package/dist/features/Operation/types/schemas.d.ts.map +1 -0
  131. package/dist/features/Search/SearchButton.vue.js +2 -2
  132. package/dist/helpers/local-storage.d.ts +8 -0
  133. package/dist/helpers/local-storage.d.ts.map +1 -0
  134. package/dist/helpers/local-storage.js +6 -0
  135. package/dist/helpers/measure.d.ts +21 -0
  136. package/dist/helpers/measure.d.ts.map +1 -0
  137. package/dist/helpers/measure.js +7 -0
  138. package/dist/helpers/parse.d.ts +3 -5
  139. package/dist/helpers/parse.d.ts.map +1 -1
  140. package/dist/helpers/parse.js +64 -86
  141. package/dist/helpers/scroll-to-id.d.ts.map +1 -1
  142. package/dist/helpers/scroll-to-id.js +18 -4
  143. package/dist/index.d.ts +0 -1
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +33 -35
  146. package/dist/libs/openapi.d.ts +3 -3
  147. package/dist/libs/openapi.d.ts.map +1 -1
  148. package/dist/libs/openapi.js +35 -42
  149. package/dist/standalone/lib/html-api.d.ts.map +1 -1
  150. package/dist/standalone/lib/html-api.js +15 -15
  151. package/dist/stores/useHttpClientStore.d.ts.map +1 -1
  152. package/dist/stores/useHttpClientStore.js +19 -18
  153. package/dist/style.css +1 -1
  154. package/dist/types.d.ts +27 -3
  155. package/dist/types.d.ts.map +1 -1
  156. package/package.json +15 -16
  157. package/dist/hooks/useReactiveSpec.d.ts +0 -448
  158. package/dist/hooks/useReactiveSpec.d.ts.map +0 -1
  159. package/dist/hooks/useReactiveSpec.js +0 -59
package/CHANGELOG.md CHANGED
@@ -1,5 +1,63 @@
1
1
  # @scalar/api-reference
2
2
 
3
+ ## 1.31.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1e87feb: refactor!: use dereferenced documents as a content source
8
+
9
+ ### Patch Changes
10
+
11
+ - a9a4f9f: fix: updates schema property heading logic
12
+ - 8529040: fix: updates search button style
13
+ - f5413ba: fix(api-reference): add tailwind plugin to standalone vite config
14
+ - fea1d52: fix: passes required property to nested schema
15
+ - 785939b: feat: adds id to markdown heading
16
+ - 0113b84: fix(api-reference): add id prefix for useId
17
+ - cad6277: feat(themes)!: migrate to tailwind v4
18
+ - 3a24cf9: feat: save selected client on local storage
19
+ - 0dfb39a: fix: updates schema description handling
20
+ - fea1d52: fix: extracts render schema computed function
21
+ - ffa93fa: feat(themes): use .scalar-app as the base class for all tailwind styles
22
+ - 785939b: feat: updates scroll to hash to handle markdown heading
23
+ - f1f9504: fix: increases z index for references header
24
+ - 42e73ee: fix error when using complex type definitions
25
+ - Updated dependencies [1e87feb]
26
+ - Updated dependencies [785939b]
27
+ - Updated dependencies [1e87feb]
28
+ - Updated dependencies [0113b84]
29
+ - Updated dependencies [cad6277]
30
+ - Updated dependencies [ffa93fa]
31
+ - Updated dependencies [cedca9b]
32
+ - @scalar/openapi-parser@0.13.0
33
+ - @scalar/code-highlight@0.1.1
34
+ - @scalar/components@0.14.3
35
+ - @scalar/api-client@2.5.0
36
+ - @scalar/oas-utils@0.4.0
37
+ - @scalar/themes@0.13.0
38
+ - @scalar/use-hooks@0.2.2
39
+ - @scalar/icons@0.4.2
40
+ - @scalar/openapi-types@0.3.1
41
+ - @scalar/snippetz@0.3.0
42
+ - @scalar/types@0.2.1
43
+ - @scalar/use-toasts@0.8.0
44
+
45
+ ## 1.30.0
46
+
47
+ ### Patch Changes
48
+
49
+ - 5208e7a: fix: decreases level on single property schema
50
+ - edb5490: feat: adds schema discriminator helper functions
51
+ - 442c0a3: feat: added support for callbacks
52
+ - edb5490: feat: adds schema discriminator support
53
+ - Updated dependencies [151ef09]
54
+ - Updated dependencies [442c0a3]
55
+ - Updated dependencies [edf694b]
56
+ - @scalar/api-client@2.4.4
57
+ - @scalar/oas-utils@0.3.2
58
+ - @scalar/openapi-parser@0.12.0
59
+ - @scalar/components@0.14.2
60
+
3
61
  ## 1.29.3
4
62
 
5
63
  ### Patch Changes
package/README.md CHANGED
@@ -6,29 +6,10 @@
6
6
  [![License](https://img.shields.io/npm/l/%40scalar%2Fapi-reference)](https://www.npmjs.com/package/@scalar/api-reference)
7
7
  [![Discord](https://img.shields.io/discord/1135330207960678410?style=flat&color=5865F2)](https://discord.gg/scalar)
8
8
 
9
- Generate interactive API documentations from Swagger files. [Try our Demo](https://docs.scalar.com/swagger-editor)
9
+ Interactive API Reference from OpenAPI/Swagger Documents [Try our Demo](https://docs.scalar.com/swagger-editor)
10
10
 
11
11
  [![Screenshot of an API Reference](https://github.com/scalar/scalar/assets/6201407/d8beb5e1-bf64-4589-8cb0-992ba79215a8)](https://docs.scalar.com/swagger-editor)
12
12
 
13
- ## Installation
14
-
15
- ```bash
16
- npm install @scalar/api-reference
17
- ```
18
-
19
- ## Usage
20
-
21
- ```vue
22
- <script setup>
23
- import { ApiReference } from '@scalar/api-reference'
24
- import '@scalar/api-reference/style.css'
25
- </script>
26
-
27
- <template>
28
- <ApiReference />
29
- </template>
30
- ```
31
-
32
13
  ### CDN
33
14
 
34
15
  ```html
@@ -41,108 +22,26 @@ import '@scalar/api-reference/style.css'
41
22
  name="viewport"
42
23
  content="width=device-width, initial-scale=1" />
43
24
  </head>
25
+
44
26
  <body>
45
- <!-- Need a Custom Header? Check out this example: https://codepen.io/scalarorg/pen/VwOXqam -->
46
- <!-- Note: We’re using our public proxy to avoid CORS issues. You can remove the `data-proxy-url` attribute if you don’t need it. -->
47
- <script
48
- id="api-reference"
49
- data-url="https://cdn.jsdelivr.net/npm/@scalar/galaxy/dist/latest.yaml"
50
- data-proxy-url="https://proxy.scalar.com"></script>
27
+ <div id="app"></div>
51
28
 
52
- <!-- Optional: You can set a full configuration object like this: -->
53
- <script>
54
- var configuration = {
55
- theme: 'purple',
56
- }
29
+ <!-- Load the Script -->
30
+ <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
57
31
 
58
- document.getElementById('api-reference').dataset.configuration =
59
- JSON.stringify(configuration)
32
+ <!-- Initialize the Scalar API Reference -->
33
+ <script>
34
+ Scalar.createApiReference('#app', {
35
+ // The URL of the OpenAPI/Swagger document
36
+ url: 'https://cdn.jsdelivr.net/npm/@scalar/galaxy/dist/latest.json',
37
+ // Avoid CORS issues
38
+ proxyUrl: 'https://proxy.scalar.com',
39
+ })
60
40
  </script>
61
-
62
- <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
63
41
  </body>
64
42
  </html>
65
43
  ```
66
44
 
67
- You can also use the following syntax to directly pass an OpenAPI specification:
68
-
69
- ```html
70
- <script
71
- id="api-reference"
72
- type="application/json">
73
- { … }
74
- </script>
75
- ```
76
-
77
- If you’d like to add a request proxy for the API client (to avoid CORS issues):
78
-
79
- ```html
80
- <script
81
- id="api-reference"
82
- type="application/json"
83
- data-proxy-url="https://proxy.scalar.com">
84
- { … }
85
- </script>
86
- ```
87
-
88
- #### Events [beta]
89
-
90
- We have recently added two events to the standalone CDN build only.
91
-
92
- ##### scalar:reload-references
93
-
94
- Reload the references, this will re-mount the app in case you have switched pages or the dom
95
- elements have been removed.
96
-
97
- ```ts
98
- document.dispatchEvent(new Event('scalar:reload-references'))
99
- ```
100
-
101
- ##### scalar:update-references-config
102
-
103
- If you have updated the config or spec, you can trigger this event with the new payload to update
104
- the app. It should update reactively so you do not need to trigger the reload event above after.
105
-
106
- ```ts
107
- import { type ReferenceProps } from './types'
108
-
109
- const ev = new CustomEvent('scalar:update-references-config', {
110
- detail: {
111
- configuration: {
112
- url: 'https://cdn.jsdelivr.net/npm/@scalar/galaxy/dist/latest.yaml',
113
- },
114
- } satisfies ReferenceProps,
115
- })
116
- document.dispatchEvent(ev)
117
- ```
118
-
119
- ## Vue.js
120
-
121
- The API Reference is built in Vue.js. If you’re working in Vue.js, too, you can directly use our Vue components.
122
- Install them via `npm`:
123
-
124
- ```bash
125
- npm install @scalar/api-reference
126
- ```
127
-
128
- And import the `ApiReference` component and style to your app:
129
-
130
- ```vue
131
- <script setup lang="ts">
132
- import { ApiReference } from '@scalar/api-reference'
133
- import '@scalar/api-reference/style.css'
134
- </script>
135
-
136
- <template>
137
- <ApiReference
138
- :configuration="{
139
- url: 'https://cdn.jsdelivr.net/npm/@scalar/galaxy/dist/latest.yaml',
140
- }" />
141
- </template>
142
- ```
143
-
144
- You can [pass props to customize the API reference](https://github.com/scalar/scalar/tree/main/documentation/configuration.md).
145
-
146
45
  ## Community
147
46
 
148
47
  We are API nerds. You too? Let’s chat on Discord: <https://discord.gg/scalar>