@dxos/plugin-github 0.6.13-staging.1e988a3 → 0.6.14-main.1366248

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.
@@ -23,7 +23,6 @@ import {
23
23
  Avatar,
24
24
  Button,
25
25
  ButtonGroup,
26
- DensityProvider,
27
26
  Dialog,
28
27
  DropdownMenu,
29
28
  Main,
@@ -99,188 +98,186 @@ const EmbeddedLayoutImpl = () => {
99
98
  --surface-bg: #161b22;
100
99
  }
101
100
  `}</style>
102
- <DensityProvider density='fine'>
103
- <div role='none' className='fixed inline-end-2 block-end-2 z-10 flex gap-2'>
104
- <Tooltip.Root>
105
- <Tooltip.Trigger asChild>
106
- <Button disabled={!space} onClick={handleInvite}>
107
- <span className='sr-only'>{t('create invitation label', { ns: 'appkit' })}</span>
108
- <UserPlus className={getSize(5)} />
109
- </Button>
110
- </Tooltip.Trigger>
111
- <Tooltip.Content {...overlayAttrs}>
112
- {t('create invitation label', { ns: 'appkit' })}
113
- <Tooltip.Arrow />
114
- </Tooltip.Content>
115
- </Tooltip.Root>
116
- <Tooltip.Root>
101
+ <div role='none' className='fixed inline-end-2 block-end-2 z-10 flex gap-2'>
102
+ <Tooltip.Root>
103
+ <Tooltip.Trigger asChild>
104
+ <Button disabled={!space} onClick={handleInvite}>
105
+ <span className='sr-only'>{t('create invitation label', { ns: 'appkit' })}</span>
106
+ <UserPlus className={getSize(5)} />
107
+ </Button>
108
+ </Tooltip.Trigger>
109
+ <Tooltip.Content {...overlayAttrs}>
110
+ {t('create invitation label', { ns: 'appkit' })}
111
+ <Tooltip.Arrow />
112
+ </Tooltip.Content>
113
+ </Tooltip.Root>
114
+ <Tooltip.Root>
115
+ <Tooltip.Trigger asChild>
116
+ <Toggle
117
+ disabled={!(space && document)}
118
+ pressed={isPreviewing}
119
+ onPressedChange={(nextPressed) => setEditorViewState(nextPressed ? 'preview' : 'editor')}
120
+ >
121
+ <span className='sr-only'>{t(isPreviewing ? 'exit gfm preview label' : 'preview gfm label')}</span>
122
+ {isPreviewing ? <PencilSimpleLine className={getSize(5)} /> : <Eye className={getSize(5)} />}
123
+ </Toggle>
124
+ </Tooltip.Trigger>
125
+ <Tooltip.Content {...overlayAttrs}>
126
+ {t(isPreviewing ? 'exit gfm preview label' : 'preview gfm label')}
127
+ <Tooltip.Arrow />
128
+ </Tooltip.Content>
129
+ </Tooltip.Root>
130
+ <Tooltip.Root
131
+ open={optionsTooltipOpen}
132
+ onOpenChange={(nextOpen) => {
133
+ if (suppressNextTooltip.current) {
134
+ setOptionsTooltipOpen(false);
135
+ suppressNextTooltip.current = false;
136
+ } else {
137
+ setOptionsTooltipOpen(nextOpen);
138
+ }
139
+ }}
140
+ >
141
+ <DropdownMenu.Root
142
+ {...{
143
+ modal: false,
144
+ open: optionsMenuOpen,
145
+ onOpenChange: (nextOpen: boolean) => {
146
+ if (!nextOpen) {
147
+ suppressNextTooltip.current = true;
148
+ }
149
+ return setOptionsMenuOpen(nextOpen);
150
+ },
151
+ }}
152
+ >
117
153
  <Tooltip.Trigger asChild>
118
- <Toggle
119
- disabled={!(space && document)}
120
- pressed={isPreviewing}
121
- onPressedChange={(nextPressed) => setEditorViewState(nextPressed ? 'preview' : 'editor')}
122
- >
123
- <span className='sr-only'>{t(isPreviewing ? 'exit gfm preview label' : 'preview gfm label')}</span>
124
- {isPreviewing ? <PencilSimpleLine className={getSize(5)} /> : <Eye className={getSize(5)} />}
125
- </Toggle>
154
+ <DropdownMenu.Trigger asChild disabled={!(space && document)}>
155
+ <Button>
156
+ <DotsThreeVertical className={getSize(5)} />
157
+ <span className='sr-only'>{t('embedded options label')}</span>
158
+ </Button>
159
+ </DropdownMenu.Trigger>
126
160
  </Tooltip.Trigger>
161
+ <DropdownMenu.Content {...overlayAttrs}>
162
+ <DropdownMenu.Viewport>
163
+ <DropdownMenu.Item asChild>
164
+ <a
165
+ target='_blank'
166
+ rel='noreferrer'
167
+ href={
168
+ space && document
169
+ ? `${location.origin}/dxos/space/${space?.key.toHex() ?? 'never'}/${document.id}`
170
+ : '#'
171
+ }
172
+ >
173
+ <ArrowSquareOut className={mx('shrink-0', getSize(5))} />
174
+ <span className='grow'>{t('open in composer label', { ns: GITHUB_PLUGIN })}</span>
175
+ </a>
176
+ </DropdownMenu.Item>
177
+ <DropdownMenu.Separator />
178
+ <DropdownMenu.GroupLabel>
179
+ {t('active space label', { ns: SPACE_PLUGIN })}
180
+ <Avatar.Root size={5} variant='circle'>
181
+ <div role='none' className='flex gap-1 mlb-1 items-center'>
182
+ <Avatar.Frame>
183
+ <Avatar.Fallback text={spaceFallbackValue.emoji} />
184
+ </Avatar.Frame>
185
+ <Avatar.Label classNames='text-sm text-[--surface-text]'>
186
+ {name && toLocalizedString(name, t)}
187
+ </Avatar.Label>
188
+ </div>
189
+ </Avatar.Root>
190
+ </DropdownMenu.GroupLabel>
191
+ <DropdownMenu.Item onClick={() => setRenameDialogOpen(true)}>
192
+ <span className='grow'>{t('rename space label', { ns: SPACE_PLUGIN })}</span>
193
+ <PencilSimpleLine className={mx('shrink-0', getSize(5))} />
194
+ </DropdownMenu.Item>
195
+ <DropdownMenu.Item onClick={() => setResolverDialogOpen(true)}>
196
+ <span className='grow'>{t('unset repo space label')}</span>
197
+ <Option className={mx('shrink-0', getSize(5))} />
198
+ </DropdownMenu.Item>
199
+ </DropdownMenu.Viewport>
200
+ <DropdownMenu.Arrow />
201
+ </DropdownMenu.Content>
127
202
  <Tooltip.Content {...overlayAttrs}>
128
- {t(isPreviewing ? 'exit gfm preview label' : 'preview gfm label')}
203
+ {t('embedded options label')}
129
204
  <Tooltip.Arrow />
130
205
  </Tooltip.Content>
131
- </Tooltip.Root>
132
- <Tooltip.Root
133
- open={optionsTooltipOpen}
134
- onOpenChange={(nextOpen) => {
135
- if (suppressNextTooltip.current) {
136
- setOptionsTooltipOpen(false);
137
- suppressNextTooltip.current = false;
138
- } else {
139
- setOptionsTooltipOpen(nextOpen);
140
- }
141
- }}
142
- >
143
- <DropdownMenu.Root
144
- {...{
145
- modal: false,
146
- open: optionsMenuOpen,
147
- onOpenChange: (nextOpen: boolean) => {
148
- if (!nextOpen) {
149
- suppressNextTooltip.current = true;
150
- }
151
- return setOptionsMenuOpen(nextOpen);
152
- },
153
- }}
154
- >
155
- <Tooltip.Trigger asChild>
156
- <DropdownMenu.Trigger asChild disabled={!(space && document)}>
157
- <Button>
158
- <DotsThreeVertical className={getSize(5)} />
159
- <span className='sr-only'>{t('embedded options label')}</span>
160
- </Button>
161
- </DropdownMenu.Trigger>
162
- </Tooltip.Trigger>
206
+ </DropdownMenu.Root>
207
+ </Tooltip.Root>
208
+ <ButtonGroup classNames={[!(space && document) && 'shadow-none']}>
209
+ <Button disabled={!(space && document)} onClick={handleSaveAndCloseEmbed}>
210
+ {t('save and close label')}
211
+ </Button>
212
+ <DropdownMenu.Root>
213
+ <DropdownMenu.Trigger asChild disabled={!(space && document)}>
214
+ <Button>
215
+ <CaretDown />
216
+ </Button>
217
+ </DropdownMenu.Trigger>
218
+ <DropdownMenu.Portal>
163
219
  <DropdownMenu.Content {...overlayAttrs}>
164
220
  <DropdownMenu.Viewport>
165
- <DropdownMenu.Item asChild>
166
- <a
167
- target='_blank'
168
- rel='noreferrer'
169
- href={
170
- space && document
171
- ? `${location.origin}/dxos/space/${space?.key.toHex() ?? 'never'}/${document.id}`
172
- : '#'
173
- }
174
- >
175
- <ArrowSquareOut className={mx('shrink-0', getSize(5))} />
176
- <span className='grow'>{t('open in composer label', { ns: GITHUB_PLUGIN })}</span>
177
- </a>
221
+ <DropdownMenu.Item onClick={handleSaveAndCloseEmbed} classNames='block'>
222
+ <p>{t('save and close label')}</p>
223
+ <p className={descriptionText}>{t('save and close description')}</p>
178
224
  </DropdownMenu.Item>
179
- <DropdownMenu.Separator />
180
- <DropdownMenu.GroupLabel>
181
- {t('active space label', { ns: SPACE_PLUGIN })}
182
- <Avatar.Root size={5} variant='circle'>
183
- <div role='none' className='flex gap-1 mlb-1 items-center'>
184
- <Avatar.Frame>
185
- <Avatar.Fallback text={spaceFallbackValue.emoji} />
186
- </Avatar.Frame>
187
- <Avatar.Label classNames='text-sm text-[--surface-text]'>
188
- {name && toLocalizedString(name, t)}
189
- </Avatar.Label>
190
- </div>
191
- </Avatar.Root>
192
- </DropdownMenu.GroupLabel>
193
- <DropdownMenu.Item onClick={() => setRenameDialogOpen(true)}>
194
- <span className='grow'>{t('rename space label', { ns: SPACE_PLUGIN })}</span>
195
- <PencilSimpleLine className={mx('shrink-0', getSize(5))} />
196
- </DropdownMenu.Item>
197
- <DropdownMenu.Item onClick={() => setResolverDialogOpen(true)}>
198
- <span className='grow'>{t('unset repo space label')}</span>
199
- <Option className={mx('shrink-0', getSize(5))} />
225
+ <DropdownMenu.Item onClick={handleCloseEmbed} classNames='block'>
226
+ <p>{t('close label', { ns: 'appkit' })}</p>
227
+ <p className={descriptionText}>{t('close embed description')}</p>
200
228
  </DropdownMenu.Item>
201
229
  </DropdownMenu.Viewport>
202
230
  <DropdownMenu.Arrow />
203
231
  </DropdownMenu.Content>
204
- <Tooltip.Content {...overlayAttrs}>
205
- {t('embedded options label')}
206
- <Tooltip.Arrow />
207
- </Tooltip.Content>
208
- </DropdownMenu.Root>
209
- </Tooltip.Root>
210
- <ButtonGroup classNames={[!(space && document) && 'shadow-none']}>
211
- <Button disabled={!(space && document)} onClick={handleSaveAndCloseEmbed}>
212
- {t('save and close label')}
213
- </Button>
214
- <DropdownMenu.Root>
215
- <DropdownMenu.Trigger asChild disabled={!(space && document)}>
216
- <Button>
217
- <CaretDown />
218
- </Button>
219
- </DropdownMenu.Trigger>
220
- <DropdownMenu.Portal>
221
- <DropdownMenu.Content {...overlayAttrs}>
222
- <DropdownMenu.Viewport>
223
- <DropdownMenu.Item onClick={handleSaveAndCloseEmbed} classNames='block'>
224
- <p>{t('save and close label')}</p>
225
- <p className={descriptionText}>{t('save and close description')}</p>
226
- </DropdownMenu.Item>
227
- <DropdownMenu.Item onClick={handleCloseEmbed} classNames='block'>
228
- <p>{t('close label', { ns: 'appkit' })}</p>
229
- <p className={descriptionText}>{t('close embed description')}</p>
230
- </DropdownMenu.Item>
231
- </DropdownMenu.Viewport>
232
- <DropdownMenu.Arrow />
233
- </DropdownMenu.Content>
234
- </DropdownMenu.Portal>
235
- </DropdownMenu.Root>
236
- </ButtonGroup>
237
- </div>
238
- {space && document ? (
239
- editorViewState === 'preview' ? (
240
- <Main.Content classNames='min-bs-[100dvh] flex flex-col p-0.5'>
241
- <GfmPreview
242
- markdown={document.content?.toString() ?? ''}
243
- {...(docGhId && { owner: docGhId.owner, repo: docGhId.repo })}
244
- />
245
- </Main.Content>
246
- ) : (
247
- // TODO(burdon): This will break since model is not defined.
248
- <Surface role='main' data={{ properties: document, view: 'embedded' }} />
249
- )
250
- ) : source && id && identityHex ? (
251
- <Dialog.Root open onOpenChange={() => true}>
252
- <div role='none' className={defaultTx('dialog.overlay', 'dialog--resolver__overlay', {}, 'static bs-full')}>
253
- <div
254
- role='none'
255
- className={defaultTx(
256
- 'dialog.content',
257
- 'dialog--resolver__content',
258
- {},
259
- 'p-2 bs-72 flex flex-col shadow-none bg-transparent',
260
- )}
261
- >
262
- <ResolverDialog handleCreateSpace={handleCreateSpace} handleJoinSpace={handleJoinSpace} />
263
- </div>
232
+ </DropdownMenu.Portal>
233
+ </DropdownMenu.Root>
234
+ </ButtonGroup>
235
+ </div>
236
+ {space && document ? (
237
+ editorViewState === 'preview' ? (
238
+ <Main.Content classNames='min-bs-[100dvh] flex flex-col p-0.5'>
239
+ <GfmPreview
240
+ markdown={document.content?.toString() ?? ''}
241
+ {...(docGhId && { owner: docGhId.owner, repo: docGhId.repo })}
242
+ />
243
+ </Main.Content>
244
+ ) : (
245
+ // TODO(burdon): This will break since model is not defined.
246
+ <Surface role='main' data={{ properties: document, view: 'embedded' }} />
247
+ )
248
+ ) : source && id && identityHex ? (
249
+ <Dialog.Root open onOpenChange={() => true}>
250
+ <div role='none' className={defaultTx('dialog.overlay', 'dialog--resolver__overlay', {}, 'static bs-full')}>
251
+ <div
252
+ role='none'
253
+ className={defaultTx(
254
+ 'dialog.content',
255
+ 'dialog--resolver__content',
256
+ {},
257
+ 'p-2 bs-72 flex flex-col shadow-none bg-transparent',
258
+ )}
259
+ >
260
+ <ResolverDialog handleCreateSpace={handleCreateSpace} handleJoinSpace={handleJoinSpace} />
264
261
  </div>
265
- </Dialog.Root>
266
- ) : null}
267
- {space && (
268
- <Dialog.Root open={renameDialogOpen} onOpenChange={setRenameDialogOpen}>
269
- <Dialog.Overlay classNames='backdrop-blur'>
270
- <Dialog.Content>
271
- <Surface role='dialog' data={{ content: 'dxos.org/plugin/space/RenameSpaceDialog', subject: space }} />
272
- </Dialog.Content>
273
- </Dialog.Overlay>
274
- </Dialog.Root>
275
- )}
276
- <Dialog.Root open={resolverDialogOpen} onOpenChange={setResolverDialogOpen}>
262
+ </div>
263
+ </Dialog.Root>
264
+ ) : null}
265
+ {space && (
266
+ <Dialog.Root open={renameDialogOpen} onOpenChange={setRenameDialogOpen}>
277
267
  <Dialog.Overlay classNames='backdrop-blur'>
278
268
  <Dialog.Content>
279
- <ResolverDialog handleCreateSpace={handleCreateSpace} handleJoinSpace={handleJoinSpace} />
269
+ <Surface role='dialog' data={{ content: 'dxos.org/plugin/space/RenameSpaceDialog', subject: space }} />
280
270
  </Dialog.Content>
281
271
  </Dialog.Overlay>
282
272
  </Dialog.Root>
283
- </DensityProvider>
273
+ )}
274
+ <Dialog.Root open={resolverDialogOpen} onOpenChange={setResolverDialogOpen}>
275
+ <Dialog.Overlay classNames='backdrop-blur'>
276
+ <Dialog.Content>
277
+ <ResolverDialog handleCreateSpace={handleCreateSpace} handleJoinSpace={handleJoinSpace} />
278
+ </Dialog.Content>
279
+ </Dialog.Overlay>
280
+ </Dialog.Root>
284
281
  </>
285
282
  );
286
283
  };
@@ -96,7 +96,7 @@ export const GfmPreview = ({ markdown, owner, repo }: GfmPreviewProps) => {
96
96
  return html ? (
97
97
  <>
98
98
  <style>{'.markdown-body ol, .markdown-body ul {list-style-type: disc; list-style-position: outside;}'}</style>
99
- <article
99
+ <div
100
100
  className='markdown-body grow is-full max-is-[980px] mli-auto p-[15px] sm:pli-[45px] sm:plb-[30px]'
101
101
  dangerouslySetInnerHTML={sanitize(html, {})}
102
102
  />
@@ -5,8 +5,8 @@
5
5
  import { ArrowSquareOut } from '@phosphor-icons/react';
6
6
  import React, { type PropsWithChildren, useEffect, useState } from 'react';
7
7
 
8
- import { SettingsValue } from '@dxos/plugin-settings';
9
8
  import { Link, Input, Trans, useTranslation, useId } from '@dxos/react-ui';
9
+ import { DeprecatedFormInput } from '@dxos/react-ui-data';
10
10
  import { getSize, mx } from '@dxos/react-ui-theme';
11
11
 
12
12
  import { useOctokitContext } from './OctokitProvider';
@@ -45,7 +45,7 @@ export const GitHubSettings = () => {
45
45
 
46
46
  return (
47
47
  <>
48
- <SettingsValue
48
+ <DeprecatedFormInput
49
49
  label={t('github pat label')}
50
50
  description={
51
51
  <Trans
@@ -66,7 +66,7 @@ export const GitHubSettings = () => {
66
66
  value={patValue ?? ''}
67
67
  onChange={({ target: { value } }) => setPatValue(value)}
68
68
  />
69
- </SettingsValue>
69
+ </DeprecatedFormInput>
70
70
  </>
71
71
  );
72
72
  };
@@ -4,10 +4,18 @@
4
4
 
5
5
  import '@dxos-theme';
6
6
 
7
+ import { type Meta } from '@storybook/react';
8
+
7
9
  import { Loading } from './Loading';
8
10
 
9
- export default {
10
- title: 'plugin-github/Loading',
11
+ export const Default = { args: { label: 'Loading', size: 'md', color: 'primary' } };
12
+ export const Small = { args: { ...Default.args, size: 'sm' } };
13
+ export const Neutral = { args: { ...Default.args, color: 'neutral' } };
14
+ export const Large = { args: { ...Default.args, size: 'lg' } };
15
+ export const ExtraLarge = { args: { ...Default.args, size: 'xl' } };
16
+
17
+ const meta: Meta = {
18
+ title: 'plugins/plugin-github/Loading',
11
19
  component: Loading,
12
20
  argTypes: {
13
21
  size: {
@@ -21,8 +29,4 @@ export default {
21
29
  },
22
30
  };
23
31
 
24
- export const Default = { args: { label: 'Loading', size: 'md', color: 'primary' } };
25
- export const Small = { args: { ...Default.args, size: 'sm' } };
26
- export const Neutral = { args: { ...Default.args, color: 'neutral' } };
27
- export const Large = { args: { ...Default.args, size: 'lg' } };
28
- export const ExtraLarge = { args: { ...Default.args, size: 'xl' } };
32
+ export default meta;
package/src/meta.ts ADDED
@@ -0,0 +1,18 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { type PluginMeta } from '@dxos/app-framework';
6
+
7
+ export const GITHUB_PLUGIN = 'dxos.org/plugin/github';
8
+ export const GITHUB_PLUGIN_SHORT_ID = 'github';
9
+
10
+ export default {
11
+ id: GITHUB_PLUGIN,
12
+ shortId: GITHUB_PLUGIN_SHORT_ID,
13
+ name: 'GitHub',
14
+ description: 'GitHub integration.',
15
+ icon: 'ph--github-logo--regular',
16
+ source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/experimental/plugin-github',
17
+ tags: ['experimental'],
18
+ } satisfies PluginMeta;
@@ -1,24 +0,0 @@
1
- // packages/plugins/experimental/plugin-github/src/meta.tsx
2
- import { GithubLogo } from "@phosphor-icons/react";
3
- import React from "react";
4
- import { pluginMeta } from "@dxos/app-framework";
5
- var GITHUB_PLUGIN = "dxos.org/plugin/github";
6
- var GITHUB_PLUGIN_SHORT_ID = "github";
7
- var meta_default = pluginMeta({
8
- id: GITHUB_PLUGIN,
9
- shortId: GITHUB_PLUGIN_SHORT_ID,
10
- name: "GitHub",
11
- description: "GitHub integration.",
12
- tags: [
13
- "experimental"
14
- ],
15
- iconComponent: (props) => /* @__PURE__ */ React.createElement(GithubLogo, props),
16
- iconSymbol: "ph--github-logo--regular"
17
- });
18
-
19
- export {
20
- GITHUB_PLUGIN,
21
- GITHUB_PLUGIN_SHORT_ID,
22
- meta_default
23
- };
24
- //# sourceMappingURL=chunk-NJP5BGD2.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { GithubLogo, type IconProps } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { pluginMeta } from '@dxos/app-framework';\n\nexport const GITHUB_PLUGIN = 'dxos.org/plugin/github';\nexport const GITHUB_PLUGIN_SHORT_ID = 'github';\n\nexport default pluginMeta({\n id: GITHUB_PLUGIN,\n shortId: GITHUB_PLUGIN_SHORT_ID,\n name: 'GitHub',\n description: 'GitHub integration.',\n tags: ['experimental'],\n iconComponent: (props: IconProps) => <GithubLogo {...props} />,\n iconSymbol: 'ph--github-logo--regular',\n});\n"],
5
- "mappings": ";AAIA,SAASA,kBAAkC;AAC3C,OAAOC,WAAW;AAElB,SAASC,kBAAkB;AAEpB,IAAMC,gBAAgB;AACtB,IAAMC,yBAAyB;AAEtC,IAAA,eAAeC,WAAW;EACxBC,IAAIH;EACJI,SAASH;EACTI,MAAM;EACNC,aAAa;EACbC,MAAM;IAAC;;EACPC,eAAe,CAACC,UAAqB,sBAAA,cAACC,YAAeD,KAAAA;EACrDE,YAAY;AACd,CAAA;",
6
- "names": ["GithubLogo", "React", "pluginMeta", "GITHUB_PLUGIN", "GITHUB_PLUGIN_SHORT_ID", "pluginMeta", "id", "shortId", "name", "description", "tags", "iconComponent", "props", "GithubLogo", "iconSymbol"]
7
- }
package/src/meta.tsx DELETED
@@ -1,21 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { GithubLogo, type IconProps } from '@phosphor-icons/react';
6
- import React from 'react';
7
-
8
- import { pluginMeta } from '@dxos/app-framework';
9
-
10
- export const GITHUB_PLUGIN = 'dxos.org/plugin/github';
11
- export const GITHUB_PLUGIN_SHORT_ID = 'github';
12
-
13
- export default pluginMeta({
14
- id: GITHUB_PLUGIN,
15
- shortId: GITHUB_PLUGIN_SHORT_ID,
16
- name: 'GitHub',
17
- description: 'GitHub integration.',
18
- tags: ['experimental'],
19
- iconComponent: (props: IconProps) => <GithubLogo {...props} />,
20
- iconSymbol: 'ph--github-logo--regular',
21
- });