Commit Graph

638 Commits

Author SHA1 Message Date
Vladimír Gorej
a9731c547c refactor(components): rewrite ModelExample into functional component (#9668) 2024-03-06 16:32:54 +01:00
Oliwia Rogala
32e7ce43d6 fix: avoid rendering empty response schemas (#9667)
Refs #9666
Co-authored-by: Pierre Paysant-Le Roux <ppaysant@gmail.com>
2024-03-06 15:10:29 +01:00
Vladimír Gorej
e2be707d7c fix(oas31): render responses with empty content field (#9664)
Refs #9199
2024-03-06 14:20:45 +01:00
Oliwia Rogala
7300e6c04e fix(oas3): attempt to render schemas not resolved by swagger-client (#9629)
Refs #9513
2024-02-23 11:30:28 +01:00
Oliwia Rogala
16fef96338 fix: associate HTML labels with inputs (#9599)
Refs #8879

Co-authored-by: morsko1 <morssko1@gmail.com>
2024-02-15 11:17:11 +01:00
Vladimír Gorej
3a86443322 fix: add missing HTML id attributes (#9563)
Refs #9523

Co-authored-by: Reges Mendes <reges.mendes@gmail.com>
2024-02-09 10:53:21 +01:00
Vladimír Gorej
252c81ae8e refactor: replace defaultProps with JavaScript default parameters (#9464)
This change in specific to React components and
React@18 version.

Refs #9456
2024-01-08 10:45:09 +01:00
Joon Kyoung
d5a51463ff fix: use JavaScript default parameters instead React's defaultProps (#9453) 2024-01-04 14:32:21 +01:00
Artur
9a7c4c0593 fix(auth): allow password managers to pre-fill input fields (#9390)
HTML disallows having multiple IDs with the same value.

In reality this is for 1Password's feature where you can create
custom fields named like input IDs and 1Password fill pre-fill that.
2023-11-22 09:48:09 +01:00
Ochuko Pedro
8f93354c81 fix(styling): ensure authorize button stays on the right (#9387)
Refs #8940 
Refs #9325
2023-11-20 13:00:21 +01:00
Ochuko Pedro
e34d8fb874 fix(styling): make Operations more responsive on smaller screens (#9325)
Along with the operations, Topbar and Authorization button
has been made more responsive as well.

Refs #8940
2023-11-10 18:17:05 +01:00
Michał Korczak
f803fa3410 fix(response-body): show download button both for non-empty Blob and string responses (#9343)
Co-authored-by: Vladimír Gorej <vladimir.gorej@gmail.com>

Refs #9298
2023-11-09 14:48:16 +01:00
Maggie Wachs
2a4afd94f6 fix(a11y): remove redundant aria-label from accordion button (#9361) 2023-11-09 13:54:10 +01:00
Patryk Rosiak
1addcfebb5 feat: add wrapper for version labels (#9264)
Refs #9167
2023-09-28 19:21:03 +02:00
Krzysztof Kowalczyk
c2c6ba60b1 feat(operation-summary): move JumpToPath component after collapse/expand icons (#9230)
The goal if to have collapse/expand icon always 
in the extreme right possition.

Refs #9111
2023-09-22 12:07:24 +02:00
Vladimír Gorej
b7f533174a fix(security): allow more strict CSP for SVG assets (#9209)
Refs #7540
2023-09-14 12:34:13 +02:00
Jelle Aret
2c04153614 feat(a11y): provide additional context for authorization and logout button (#8999)
Refs #8998

Co-authored-by: Vladimír Gorej <vladimir.gorej@gmail.com>
2023-09-07 10:00:03 +02:00
Vladimír Gorej
edd1153723 feat: expose plugins and presets on SwaggerUI global symbol (#9189)
Part of this commit is also:
- complete plugins consolidation
- complete presets consolidation
- build system consolidation

Refs #9188
2023-09-05 09:56:51 +02:00
Krzysztof Kowalczyk
4b48e36c09 feat(info): indicate OpenAPI 2.0 definition version (#9167) 2023-08-31 13:09:48 +02:00
Aleksandr Vladykin
c90ef50e73 fix(ui): make download button accessible via keyboard (#8974)
Refs #8881
2023-08-16 17:06:50 +02:00
Vladimír Gorej
377b54a998 fix(ui): change copy to clipboard button location (#9111)
Refs #8465
Refs #8153
Refs #8131
2023-08-16 16:43:31 +02:00
Damian Polewski
f3ea2a251d feat: add Icons plugin
* Change existing icons to React wrapper components

* Add `icons` plugin to expose Icon components to plugin system

* Create components that re-export Lock and Unlock components so they can be changed separately in Authorise top button and Authorise operation summary button

* Add new Lock and Unlock icons to `auth` plugin

---------

Co-authored-by: Vladimír Gorej <vladimir.gorej@smartbear.com>
2023-07-20 14:51:17 +02:00
Vladimír Gorej
1ce9ce0cda refactor: use samples plugin to generate schemas examples (#8728)
Refs #8577
2023-06-01 14:09:02 +02:00
Vladimir Gorej
b4e9544f5f Merge branch 'master' into next 2023-04-26 14:01:09 +02:00
Krzysztof Kowalczyk
cdfc4de43e fix(response-body): remove download button when content is empty (#8579)
Co-authored-by: Vladimír Gorej <vladimir.gorej@gmail.com>
2023-04-26 13:42:49 +02:00
Vladimir Gorej
10a2397e81 Merge branch 'master' into next 2023-03-21 14:19:43 +01:00
Vladimír Gorej
47e12f1de3 refactor(oas31): simplify Webhooks component by utilizing selectors (#8481)
Refs #8474
2023-03-17 18:14:23 +01:00
Vladimír Gorej
8b274414ab refactor(oas31): concentrate OpenAPI 3.1.0 code to separate plugin (#8475)
Refs #8474
2023-03-16 12:05:19 +01:00
Enzzo
44e2700c74 fix: decode model schema name on model component (#8400)
Refs #5626
2023-03-13 11:59:44 +01:00
Tim Lai
4557b2497b feat: OpenAPI 3.1 support (#8367)
- New top-level field - `webhooks`. This allows describing out-of-band webhooks that are available as part of the API.

- New top-level field - `jsonSchemaDialect`. This allows defining of a default `$schema` value for Schema Objects

- The Info Object has a new `summary` field.

- The License Object now has a new `identifier` field for SPDX licenses. This `identifier` field is mutually exclusive with the `url` field. Either can be used in OpenAPI 3.1 definitions.

- Components Object now has a new entry `pathItems`, to allow for reusable Path Item Objects to be defined within a valid OpenAPI document.

- `License` and `Contact` components are now exported and available via `getComponent`

- New version predicates and selectors for `isOpenAPI30` and `isOpenAPI31`. This avoids needing to change the usage of `isOAS3` selector.

- New OAS3 components: `Webhooks`

- New OAS3 wrapped components: `Info`, `License`
2023-02-03 14:06:56 -08:00
Mathias Spanhove
ffe24d5a83 fix(try-it-out): reset of oas3 requestBody should use default values (#8265)
Co-authored-by: Mathias Spanhove <mathias.spanhove@katoennatie.com>
2022-11-08 15:23:19 -08:00
Andreas Born
7b0ac1ae28 fix: show client secret input for PKCE auth code flow (#8268)
* fix: show client secret input for PKCE auth code flow

PKCE and Client Secrets are allowed to coexist and neither is designed
as a replacement for the other. [1] It is wrong to assume that a client
secret must not or cannot be used in combination with PKCE. Quite the
opposite, when possible both PKCE and client secret should be used. [2]
So the premises of #6290 and #8146 are not correct.

Admittedly, for users of the PKCE mechanism WITHOUT a client secret it
might be a minor nuisance to see the client secret input in the Swagger
UI. But they can just leave it empty. On the other hand, for users of
the PKCE mechanism WITH a client secret it is more than just a nuisance
if the client secret input is not shown. The Swagger UI becomes unusable
for them (unless they've set a default value for the client secret,
which will be used hiddenly without being shown to the user).

Therefore the right course of action for now would be to revert #7438 to
show the client secret input always regardless of PKCE. In the future a
new flag could be introduced to hide the client secret input regardless
of the PKCE flag.

[1] https://oauth.net/2/pkce/
[2] https://www.oauth.com/oauth2-servers/pkce/

* docs: explain why client secret input is shown despite PKCE
2022-11-04 15:46:38 -07:00
Dan Wallis
130a1be133 feat(try-it-out): display validation error messages (#8212) 2022-10-14 09:36:13 -07:00
twjasa
6c03465257 fix: expand model if depth <= defaultModelExpandDepth (#8186) 2022-09-21 15:57:37 -07:00
Fabian Schneider
6ae2693d47 feat: Render external docs links and descriptions (#7559)
Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-08-17 10:42:36 -07:00
Andreas Deininger
9891d97201 docs: fix typos and update https references (#8154)
Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-08-12 10:14:27 -07:00
Vladimir Slesarev
c63737d574 fix(auth): client_secret may appear in non-authcode flows while also using PKCE (#8146) 2022-08-10 09:28:37 -07:00
Tim Lai
d68b7485b1 fix(lint): upcoming eslint@8 reported errors (#8105)
* fix: duplicate propTypes

* chore(lint): fix extra semicolon
2022-07-19 14:46:43 -07:00
Tim Lai
80cffc2544 fix: audio src cache change (#8102)
* #8057 Fix audio src change issue caused by reconciliation algorithm and that is why audio file load is not starting.


Co-authored-by: Roman Melnyk <r.melnyk@smartrockstars.com>
2022-07-19 11:10:28 -07:00
Tomas Bruckner
0d5227bb5d feat(ux): add copy to clipboard to operation summary (#8094) 2022-07-18 10:48:57 -07:00
twjasa
a7e23b5a55 fix: remove dead code and format document (#8048) 2022-06-03 09:40:13 -07:00
Maciej Matyjas
abeb168696 fix(ui): avoid empty div when there are no externalDocs (#7997)
* fix(ui): avoid empty div when there are no externalDocs

* test(ui): existence of externalDocs div when present/absent from spec
2022-05-12 15:45:14 -07:00
Tim Lai
10db26d4e8 refactor(live-response): move h4 to inside div class request-url (#7954) 2022-03-28 11:11:23 -07:00
Tim Lai
9250e209d4 fix(request-snippets): prevent scrolling errors from missing function (#7941)
* fix(request-snippets): prevent scrolling errors from missing function

* refactor(request-snippets): migrate to functional component

* fix(curl): remove undefined prop and function

* test(live-response): fix import of RequestSnippets
2022-03-24 11:23:42 -07:00
twjasa
77d0bb960b feat: add modelcollapse to primitive models (#7557)
* update: primitive-model test with modelcollapse

Co-authored-by: Tim Lai <timothy.lai@gmail.com>
2022-03-21 14:50:14 -07:00
Vladimir Gorej
6c10e4a070 fix(auth): compensate for uninitialized config
Refs #7814
2022-01-31 14:27:46 +01:00
Christian Egli
c6d8d779d0 feat: do not ask for client secret when using auth code with PKCE (#7438)
Co-authored-by: Ignacio Lozano <nacholozano@gmail.com>
Co-authored-by: Vladimir Gorej <vladimir.gorej@gmail.com>

Refs #6290
2022-01-26 10:56:09 +01:00
Vladimir Gorej
8b1c4a7c1a feat(error-handling): introduce unified and configurable error handling (#7761)
Refs #7778
2022-01-24 16:12:13 +01:00
Vladimir Gorej
f3d38987aa fix: request JumpToPath components always as container
Refs https://github.com/swagger-api/swagger-editor/issues/2099
2021-11-26 10:52:00 +01:00
Vladimir Gorej
b299be764f fix: introduce Error Boundaries to handle unexpected failures (#7671)
Two new components have been updated via plugin system: ErrorBoundary and Fallback.
These components can be overridden by user plugins.

Refs #7647
2021-11-25 13:47:22 +01:00