@dataengineeringformachinelearning/viking-ui 4.0.4 → 4.0.5
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.
- package/README.md +35 -11
- package/dist/README.md +35 -11
- package/dist/design-tokens.css +300 -85
- package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +100 -64
- package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs.map +1 -1
- package/dist/icons.js +306 -0
- package/dist/package.json +24 -5
- package/{src/lib/site-drakkar/site-drakkar.config.ts → dist/site-drakkar.js} +64 -130
- package/dist/src/tokens/viking-tokens.json +9 -7
- package/dist/types/dataengineeringformachinelearning-viking-ui.d.ts +97 -3
- package/dist/viking-components.css +161 -70
- package/dist/viking-tokens.json +9 -7
- package/dist/viking-ui-elements.js +44 -32
- package/dist/viking-ui.css +1 -1
- package/dist/web-components.js +44 -32
- package/package.json +30 -8
- package/dist/scripts/build-web-components.mjs +0 -37
- package/dist/src/web/badge/viking-badge-wc.ts +0 -116
- package/dist/src/web/button/viking-button-wc.ts +0 -165
- package/dist/src/web/callout/viking-callout-wc.ts +0 -105
- package/dist/src/web/card/viking-card-wc.ts +0 -67
- package/dist/src/web/core/base.ts +0 -56
- package/dist/src/web/core/dom.ts +0 -53
- package/dist/src/web/core/icons-inline.ts +0 -44
- package/dist/src/web/core/styles.ts +0 -1261
- package/dist/src/web/core/types.ts +0 -19
- package/dist/src/web/field/viking-field-wc.ts +0 -154
- package/dist/src/web/index.ts +0 -73
- package/dist/src/web/input/viking-input-wc.ts +0 -211
- package/dist/src/web/modal/viking-modal-wc.ts +0 -187
- package/dist/src/web/search-palette/viking-search-palette-wc.ts +0 -495
- package/dist/src/web/select/viking-select-wc.ts +0 -218
- package/dist/src/web/suite-header/viking-suite-header-wc.ts +0 -729
- package/dist/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
- package/dist/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
- package/dist/src/web/types.ts +0 -37
- package/dist/src/web/web-components.spec.ts +0 -297
- package/src/assets/drakkar-favicon.svg +0 -17
- package/src/assets/fonts/inter/InterVariable-Italic.woff2 +0 -0
- package/src/assets/fonts/inter/InterVariable.woff2 +0 -0
- package/src/core/brand/deml-lockup.svg +0 -5
- package/src/core/brand/deml-mark-compact.svg +0 -4
- package/src/core/brand/deml-mark-filled.svg +0 -3
- package/src/core/brand/deml-mark-outline.svg +0 -4
- package/src/core/brand-icons.ts +0 -62
- package/src/core/icons.spec.ts +0 -52
- package/src/core/icons.ts +0 -206
- package/src/core/integration-brand-icons.ts +0 -77
- package/src/core/lucide-paths.generated.ts +0 -130
- package/src/core/types.ts +0 -85
- package/src/core/uid.ts +0 -7
- package/src/elements/button/viking-button.ts +0 -201
- package/src/elements/card/viking-card.ts +0 -60
- package/src/elements/core/dom.ts +0 -33
- package/src/elements/core/styles.ts +0 -28
- package/src/elements/modal/viking-modal.ts +0 -154
- package/src/index.ts +0 -1
- package/src/lib/accordion/accordion.ts +0 -126
- package/src/lib/app-header/app-header.scss +0 -274
- package/src/lib/app-header/app-header.ts +0 -43
- package/src/lib/app-sidebar/app-sidebar.scss +0 -415
- package/src/lib/app-sidebar/app-sidebar.ts +0 -29
- package/src/lib/auth-panel/auth-panel.spec.ts +0 -132
- package/src/lib/auth-panel/auth-panel.ts +0 -228
- package/src/lib/autocomplete/autocomplete.ts +0 -223
- package/src/lib/avatar/avatar.ts +0 -126
- package/src/lib/badge/badge.ts +0 -182
- package/src/lib/bar/bar.ts +0 -31
- package/src/lib/brand/brand.ts +0 -60
- package/src/lib/breadcrumbs/breadcrumbs.ts +0 -81
- package/src/lib/button/button-group.ts +0 -40
- package/src/lib/button/button.scss +0 -119
- package/src/lib/button/button.ts +0 -98
- package/src/lib/calendar/calendar.ts +0 -253
- package/src/lib/callout/callout.ts +0 -211
- package/src/lib/card/card-title.spec.ts +0 -27
- package/src/lib/card/card-title.ts +0 -50
- package/src/lib/card/card.ts +0 -200
- package/src/lib/carousel/carousel.ts +0 -206
- package/src/lib/chart/chart-zoom.spec.ts +0 -65
- package/src/lib/chart/chart-zoom.ts +0 -71
- package/src/lib/chart/chart.ts +0 -1257
- package/src/lib/chart-card-header/chart-card-header.ts +0 -80
- package/src/lib/chart-empty-state/chart-empty-state.ts +0 -146
- package/src/lib/chart-panel/chart-panel.ts +0 -133
- package/src/lib/checkbox/checkbox.ts +0 -139
- package/src/lib/color-picker/color-picker.ts +0 -148
- package/src/lib/command/command.ts +0 -260
- package/src/lib/composer/composer.ts +0 -180
- package/src/lib/confirm-dialog/confirm-dialog.ts +0 -163
- package/src/lib/confirm-dialog/dialog.service.ts +0 -79
- package/src/lib/context/context.ts +0 -75
- package/src/lib/core/brand-icons.ts +0 -62
- package/src/lib/core/cva.ts +0 -33
- package/src/lib/core/icons.ts +0 -206
- package/src/lib/core/integration-brand-icons.ts +0 -77
- package/src/lib/core/lucide-paths.generated.ts +0 -130
- package/src/lib/date-picker/date-picker.ts +0 -139
- package/src/lib/dropdown/dropdown.ts +0 -188
- package/src/lib/editor/editor.ts +0 -170
- package/src/lib/empty-state/empty-state.ts +0 -100
- package/src/lib/fab/fab.ts +0 -76
- package/src/lib/field/field.ts +0 -111
- package/src/lib/file-upload/file-upload.ts +0 -208
- package/src/lib/footer/footer.scss +0 -162
- package/src/lib/footer/footer.ts +0 -28
- package/src/lib/form-section/form-section.ts +0 -200
- package/src/lib/forms.spec.ts +0 -92
- package/src/lib/gauge-arc/gauge-arc.ts +0 -85
- package/src/lib/hud-panel/hud-panel.ts +0 -27
- package/src/lib/icon/icon.ts +0 -284
- package/src/lib/icon-badge/icon-badge.ts +0 -87
- package/src/lib/icon-heading/icon-heading.spec.ts +0 -32
- package/src/lib/icon-heading/icon-heading.ts +0 -38
- package/src/lib/icon-text/icon-text.ts +0 -120
- package/src/lib/input/input.ts +0 -119
- package/src/lib/kanban/kanban.ts +0 -211
- package/src/lib/kbd/kbd.ts +0 -32
- package/src/lib/label/label.ts +0 -39
- package/src/lib/loading-overlay/loading-overlay.ts +0 -80
- package/src/lib/menubar/menubar.ts +0 -77
- package/src/lib/metric-card/metric-card.ts +0 -33
- package/src/lib/modal/modal.ts +0 -207
- package/src/lib/native-select/native-select.ts +0 -124
- package/src/lib/navbar/navbar.ts +0 -124
- package/src/lib/navigation-menu/navigation-menu.ts +0 -116
- package/src/lib/otp-input/otp-input.ts +0 -164
- package/src/lib/page-back-link/page-back-link.ts +0 -74
- package/src/lib/page-header/page-header.ts +0 -70
- package/src/lib/pagination/pagination.ts +0 -157
- package/src/lib/pillbox/pillbox.ts +0 -157
- package/src/lib/popover/popover.ts +0 -92
- package/src/lib/profile/profile.ts +0 -73
- package/src/lib/progress/progress.ts +0 -123
- package/src/lib/radio/radio.ts +0 -132
- package/src/lib/ring-gauge/ring-gauge.ts +0 -75
- package/src/lib/scroll-area/scroll-area.ts +0 -57
- package/src/lib/search-palette/search-palette.scss +0 -288
- package/src/lib/search-palette/search-palette.ts +0 -114
- package/src/lib/select/select.ts +0 -292
- package/src/lib/separator/separator.ts +0 -59
- package/src/lib/sheet/sheet.ts +0 -192
- package/src/lib/sidebar-nav/sidebar-nav.scss +0 -218
- package/src/lib/sidebar-nav/sidebar-nav.ts +0 -158
- package/src/lib/site-drakkar/site-footer.ts +0 -133
- package/src/lib/site-drakkar/site-navbar.scss +0 -2
- package/src/lib/site-drakkar/site-navbar.ts +0 -286
- package/src/lib/site-drakkar/suite-search-items.spec.ts +0 -61
- package/src/lib/site-drakkar/suite-search-items.ts +0 -246
- package/src/lib/skeleton/skeleton.ts +0 -51
- package/src/lib/slider/slider.ts +0 -133
- package/src/lib/spinner/spinner.ts +0 -75
- package/src/lib/status-metric-row/status-metric-row.ts +0 -74
- package/src/lib/suite-search-palette/suite-search-palette.ts +0 -95
- package/src/lib/switch/switch.ts +0 -131
- package/src/lib/table/table.ts +0 -137
- package/src/lib/tabs/tab-panel.ts +0 -61
- package/src/lib/tabs/tab.ts +0 -107
- package/src/lib/tabs/tabs.ts +0 -109
- package/src/lib/textarea/textarea.ts +0 -103
- package/src/lib/theme-toggle/theme-toggle.spec.ts +0 -40
- package/src/lib/theme-toggle/theme-toggle.ts +0 -40
- package/src/lib/time-picker/time-picker.ts +0 -197
- package/src/lib/timeline/timeline.ts +0 -152
- package/src/lib/toast/toast.ts +0 -196
- package/src/lib/toggle/toggle-group.ts +0 -60
- package/src/lib/toggle/toggle.ts +0 -101
- package/src/lib/tooltip/tooltip.ts +0 -119
- package/src/lib/typography/heading.ts +0 -52
- package/src/lib/typography/text.ts +0 -51
- package/src/lib/uptime-bar/uptime-bar.ts +0 -55
- package/src/lib/verification-code-field/verification-code-field.ts +0 -149
- package/src/lib/whitepaper-cta/whitepaper-cta.scss +0 -130
- package/src/lib/whitepaper-cta/whitepaper-cta.ts +0 -78
- package/src/lib/wizard/wizard.ts +0 -80
- package/src/public-api.ts +0 -172
- package/src/styles/_buttons.scss +0 -386
- package/src/styles/_component-primitives.scss +0 -183
- package/src/styles/_drakkar-buttons.scss +0 -85
- package/src/styles/_fonts.scss +0 -22
- package/src/styles/_forms.scss +0 -66
- package/src/styles/_input.scss +0 -106
- package/src/styles/_layout-enforcement.scss +0 -229
- package/src/styles/_layout-rhythm.scss +0 -158
- package/src/styles/_legacy-aliases.scss +0 -212
- package/src/styles/_series-colors.scss +0 -24
- package/src/styles/_static-primitives.scss +0 -857
- package/src/styles/_typography.scss +0 -87
- package/src/styles/_variables.scss +0 -527
- package/src/styles/components/a11y.scss +0 -90
- package/src/styles/components/badges.scss +0 -102
- package/src/styles/components/extracted-utilities.scss +0 -459
- package/src/styles/components/footer.scss +0 -168
- package/src/styles/components/icon-heading.scss +0 -47
- package/src/styles/components/icon-inline.scss +0 -101
- package/src/styles/components/layout.scss +0 -59
- package/src/styles/components/utilities.scss +0 -131
- package/src/styles/components/viking-inspired.scss +0 -204
- package/src/styles/components/whitepaper-cta.scss +0 -130
- package/src/styles/components-bundle.scss +0 -9
- package/src/styles/components.scss +0 -442
- package/src/styles/deml-components.scss +0 -10
- package/src/styles/index.scss +0 -8
- package/src/styles/layout-shell.scss +0 -111
- package/src/styles/page-shell.scss +0 -859
- package/src/styles/static-navbar.scss +0 -1250
- package/src/styles/surfaces/backend.scss +0 -154
- package/src/styles/surfaces/docs-global.scss +0 -73
- package/src/styles/surfaces/docs-shell.scss +0 -437
- package/src/styles/surfaces/docs-showcase.scss +0 -1153
- package/src/styles/surfaces/marketing-cta.scss +0 -62
- package/src/styles/surfaces/marketing-docs-bento.scss +0 -67
- package/src/styles/surfaces/marketing-global.scss +0 -748
- package/src/styles/surfaces/marketing-landing.scss +0 -1526
- package/src/styles/surfaces/marketing-publication.scss +0 -535
- package/src/styles/surfaces/marketing-theme.scss +0 -14
- package/src/styles/surfaces/swagger-ui.scss +0 -1013
- package/src/styles/tokens-export.scss +0 -18
- package/src/styles/tokens.scss +0 -5
- package/src/styles/viking-ui-bundle.scss +0 -23
- package/src/styles/viking-ui.scss +0 -272
- package/src/tokens/series-presets.ts +0 -15
- package/src/tokens/tailwind.preset.js +0 -209
- package/src/tokens/viking-tokens.json +0 -318
- package/src/viking-ui.spec.ts +0 -416
- package/src/web/badge/viking-badge-wc.ts +0 -116
- package/src/web/button/viking-button-wc.ts +0 -165
- package/src/web/callout/viking-callout-wc.ts +0 -105
- package/src/web/card/viking-card-wc.ts +0 -67
- package/src/web/core/base.ts +0 -56
- package/src/web/core/dom.ts +0 -53
- package/src/web/core/icons-inline.ts +0 -44
- package/src/web/core/styles.ts +0 -1261
- package/src/web/core/types.ts +0 -19
- package/src/web/field/viking-field-wc.ts +0 -154
- package/src/web/index.ts +0 -73
- package/src/web/input/viking-input-wc.ts +0 -211
- package/src/web/modal/viking-modal-wc.ts +0 -187
- package/src/web/search-palette/viking-search-palette-wc.ts +0 -495
- package/src/web/select/viking-select-wc.ts +0 -218
- package/src/web/suite-header/viking-suite-header-wc.ts +0 -729
- package/src/web/suite-search-palette/viking-suite-search-palette-wc.ts +0 -234
- package/src/web/theme-toggle/viking-theme-toggle-wc.ts +0 -139
- package/src/web/types.ts +0 -37
- package/src/web/web-components.spec.ts +0 -297
- package/src/web-components/index.ts +0 -1
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ChangeDetectionStrategy,
|
|
3
|
-
Component,
|
|
4
|
-
ElementRef,
|
|
5
|
-
signal,
|
|
6
|
-
} from "@angular/core";
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* viking-context — right-click context menu.
|
|
10
|
-
* Wrap the target content and project menu content with the `vikingMenu` attribute
|
|
11
|
-
* (typically viking-menu-item elements).
|
|
12
|
-
*/
|
|
13
|
-
@Component({
|
|
14
|
-
selector: "viking-context",
|
|
15
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
16
|
-
host: {
|
|
17
|
-
"(contextmenu)": "onContextMenu($event)",
|
|
18
|
-
"(document:click)": "closed()",
|
|
19
|
-
"(keydown.escape)": "closed()",
|
|
20
|
-
},
|
|
21
|
-
template: `
|
|
22
|
-
<ng-content />
|
|
23
|
-
@if (open()) {
|
|
24
|
-
<div
|
|
25
|
-
class="viking-context-menu"
|
|
26
|
-
role="menu"
|
|
27
|
-
[style.left.px]="position().x"
|
|
28
|
-
[style.top.px]="position().y"
|
|
29
|
-
>
|
|
30
|
-
<ng-content select="[vikingMenu]" />
|
|
31
|
-
</div>
|
|
32
|
-
}
|
|
33
|
-
`,
|
|
34
|
-
styles: [
|
|
35
|
-
`
|
|
36
|
-
:host {
|
|
37
|
-
display: block;
|
|
38
|
-
position: relative;
|
|
39
|
-
}
|
|
40
|
-
.viking-context-menu {
|
|
41
|
-
position: absolute;
|
|
42
|
-
min-width: 198px;
|
|
43
|
-
padding: var(--viking-space-1);
|
|
44
|
-
background: var(--viking-surface);
|
|
45
|
-
border: 1px solid var(--viking-border-strong);
|
|
46
|
-
border-radius: var(--viking-radius);
|
|
47
|
-
box-shadow: var(--viking-shadow-md);
|
|
48
|
-
z-index: var(--viking-z-overlay);
|
|
49
|
-
display: flex;
|
|
50
|
-
flex-direction: column;
|
|
51
|
-
gap: 2px;
|
|
52
|
-
}
|
|
53
|
-
`,
|
|
54
|
-
],
|
|
55
|
-
})
|
|
56
|
-
export class VikingContext {
|
|
57
|
-
protected readonly open = signal(false);
|
|
58
|
-
protected readonly position = signal({ x: 0, y: 0 });
|
|
59
|
-
|
|
60
|
-
constructor(private readonly host: ElementRef<HTMLElement>) {}
|
|
61
|
-
|
|
62
|
-
protected onContextMenu = (event: MouseEvent): void => {
|
|
63
|
-
event.preventDefault();
|
|
64
|
-
const rect = this.host.nativeElement.getBoundingClientRect();
|
|
65
|
-
this.position.set({
|
|
66
|
-
x: event.clientX - rect.left,
|
|
67
|
-
y: event.clientY - rect.top,
|
|
68
|
-
});
|
|
69
|
-
this.open.set(true);
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
protected closed = (): void => {
|
|
73
|
-
this.open.set(false);
|
|
74
|
-
};
|
|
75
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DEML branded icon paths — optimized SVG geometry (not sourced from Lucide).
|
|
3
|
-
* Use via viking-icon name="deml" | "deml-compact" | "deml-lockup".
|
|
4
|
-
*/
|
|
5
|
-
export const VIKING_BRAND_ICON_PATHS = {
|
|
6
|
-
/** Primary bar-chart mark in rounded frame (outline). */
|
|
7
|
-
deml: '<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M8 17V13M12 17V8M16 17V11"/>',
|
|
8
|
-
/** Compact monogram for favicons and dense Drakkar shell. */
|
|
9
|
-
"deml-compact":
|
|
10
|
-
'<rect x="4" y="4" width="16" height="16" rx="3"/><path d="M9 16V12M12 16V9M15 16V13"/>',
|
|
11
|
-
/** Lockup mark with baseline accent bar. */
|
|
12
|
-
"deml-lockup":
|
|
13
|
-
'<rect x="3" y="3" width="18" height="14" rx="2"/><path d="M8 17V13M12 17V8M16 17V11"/><path d="M3 20h18"/>',
|
|
14
|
-
} as const;
|
|
15
|
-
|
|
16
|
-
/** Drakkar — Viking-UI / site shell brand marks (Lucide ship, build-time inlined). */
|
|
17
|
-
export const VIKING_DRAKKAR_ICON_PATHS = {
|
|
18
|
-
/** Primary Drakkar longship mark (outline). */
|
|
19
|
-
drakkar:
|
|
20
|
-
'<path d="M12 10.189V14"/><path d="M12 2v3"/><path d="M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6"/><path d="M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76"/><path d="M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/>',
|
|
21
|
-
/** Compact tile for favicons and dense navbar chrome. */
|
|
22
|
-
"drakkar-compact":
|
|
23
|
-
'<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M12 10.189V14"/><path d="M12 2v3"/><path d="M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6"/><path d="M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76"/><path d="M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/>',
|
|
24
|
-
/** Lockup mark with baseline accent bar. */
|
|
25
|
-
"drakkar-lockup":
|
|
26
|
-
'<path d="M12 10.189V14"/><path d="M12 2v3"/><path d="M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6"/><path d="M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76"/><path d="M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/><path d="M3 21h18"/>',
|
|
27
|
-
} as const;
|
|
28
|
-
|
|
29
|
-
/** Filled-path overrides for DEML brand marks. */
|
|
30
|
-
export const VIKING_BRAND_ICON_FILLED_PATHS: Partial<
|
|
31
|
-
Record<keyof typeof VIKING_BRAND_ICON_PATHS, string>
|
|
32
|
-
> = {
|
|
33
|
-
deml: '<path d="M5 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4zM8 13h2.5v4H8v-4zM12 8h2.5v9H12V8zM16 11h2.5v6H16v-6z"/>',
|
|
34
|
-
"deml-compact":
|
|
35
|
-
'<path d="M6 5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5zM9 12h1.5v4H9v-4zM12 9h1.5v7H12V9zM15 11h1.5v5H15v-5z"/>',
|
|
36
|
-
"deml-lockup":
|
|
37
|
-
'<path d="M4 4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4zM8 13h2.5v4H8v-4zM12 8h2.5v9H12V8zM16 11h2.5v6H16v-6z"/><rect x="3" y="19" width="18" height="2" rx="1"/>',
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
/** Filled-path overrides for Drakkar brand marks. */
|
|
41
|
-
export const VIKING_DRAKKAR_ICON_FILLED_PATHS: Partial<
|
|
42
|
-
Record<keyof typeof VIKING_DRAKKAR_ICON_PATHS, string>
|
|
43
|
-
> = {
|
|
44
|
-
drakkar:
|
|
45
|
-
'<path d="M7 5h10a2 2 0 0 1 2 2v3.5L20.8 14.2l-7.8-3.5a1.8 1.8 0 0 0-1.4 0L3.2 14.2a10.5 10.5 0 0 0 2.6 7.2L5.2 13V7a2 2 0 0 0-2-2z"/><rect x="10.85" y="2" width="2.3" height="12" rx="0.4"/>',
|
|
46
|
-
"drakkar-compact":
|
|
47
|
-
'<path d="M3 3h18a2 2 0 0 1 2 2v18a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"/><path d="M7.5 12.5 12 9.8l4.5 2.7v2.2c0 .8-.5 1.4-1.2 1.7L12 17.8l-3.3-1.6c-.7-.3-1.2-.9-1.2-1.7v-2.2z"/><rect x="11" y="6" width="2" height="5.5" rx="0.35"/>',
|
|
48
|
-
"drakkar-lockup":
|
|
49
|
-
'<path d="M7 5h10a2 2 0 0 1 2 2v3.5L20.8 14.2l-7.8-3.5a1.8 1.8 0 0 0-1.4 0L3.2 14.2a10.5 10.5 0 0 0 2.6 7.2L5.2 13V7a2 2 0 0 0-2-2z"/><rect x="10.85" y="2" width="2.3" height="12" rx="0.4"/><rect x="3" y="20" width="18" height="2" rx="1"/>',
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export type VikingBrandIconName = keyof typeof VIKING_BRAND_ICON_PATHS;
|
|
53
|
-
|
|
54
|
-
export type VikingDrakkarIconName = keyof typeof VIKING_DRAKKAR_ICON_PATHS;
|
|
55
|
-
|
|
56
|
-
export const VIKING_BRAND_ICON_NAMES_LIST = Object.keys(
|
|
57
|
-
VIKING_BRAND_ICON_PATHS,
|
|
58
|
-
) as VikingBrandIconName[];
|
|
59
|
-
|
|
60
|
-
export const VIKING_DRAKKAR_ICON_NAMES_LIST = Object.keys(
|
|
61
|
-
VIKING_DRAKKAR_ICON_PATHS,
|
|
62
|
-
) as VikingDrakkarIconName[];
|
package/src/lib/core/cva.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Directive, Provider, Type, forwardRef, signal } from "@angular/core";
|
|
2
|
-
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
-
|
|
4
|
-
/** Registers a component as a ControlValueAccessor. */
|
|
5
|
-
export const provideVikingCva = (component: Type<unknown>): Provider => ({
|
|
6
|
-
provide: NG_VALUE_ACCESSOR,
|
|
7
|
-
useExisting: forwardRef(() => component),
|
|
8
|
-
multi: true,
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
/** Shared ControlValueAccessor plumbing for Viking-Material form controls. */
|
|
12
|
-
@Directive()
|
|
13
|
-
export abstract class VikingControl<T> implements ControlValueAccessor {
|
|
14
|
-
protected onChange: (value: T) => void = () => {};
|
|
15
|
-
protected onTouched: () => void = () => {};
|
|
16
|
-
|
|
17
|
-
/** Disabled state driven by Angular forms (setDisabledState). */
|
|
18
|
-
readonly formDisabled = signal(false);
|
|
19
|
-
|
|
20
|
-
abstract writeValue(value: T): void;
|
|
21
|
-
|
|
22
|
-
registerOnChange(fn: (value: T) => void): void {
|
|
23
|
-
this.onChange = fn;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
registerOnTouched(fn: () => void): void {
|
|
27
|
-
this.onTouched = fn;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
setDisabledState(isDisabled: boolean): void {
|
|
31
|
-
this.formDisabled.set(isDisabled);
|
|
32
|
-
}
|
|
33
|
-
}
|
package/src/lib/core/icons.ts
DELETED
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Zero-dependency inline SVG icon registry (24×24 stroke icons).
|
|
3
|
-
* Lucide paths are synced at build time; DEML brand marks are custom artwork.
|
|
4
|
-
*/
|
|
5
|
-
import { LUCIDE_ICON_PATHS } from "./lucide-paths.generated";
|
|
6
|
-
import {
|
|
7
|
-
VIKING_BRAND_ICON_FILLED_PATHS,
|
|
8
|
-
VIKING_BRAND_ICON_PATHS,
|
|
9
|
-
VIKING_BRAND_ICON_NAMES_LIST,
|
|
10
|
-
VIKING_DRAKKAR_ICON_FILLED_PATHS,
|
|
11
|
-
VIKING_DRAKKAR_ICON_PATHS,
|
|
12
|
-
VIKING_DRAKKAR_ICON_NAMES_LIST,
|
|
13
|
-
} from "./brand-icons";
|
|
14
|
-
import {
|
|
15
|
-
VIKING_INTEGRATION_ICON_PATHS,
|
|
16
|
-
VIKING_INTEGRATION_ICON_NAMES_LIST,
|
|
17
|
-
} from "./integration-brand-icons";
|
|
18
|
-
|
|
19
|
-
export {
|
|
20
|
-
VIKING_DRAKKAR_ICON_NAMES_LIST,
|
|
21
|
-
VIKING_BRAND_ICON_NAMES_LIST,
|
|
22
|
-
} from "./brand-icons";
|
|
23
|
-
export {
|
|
24
|
-
VIKING_INTEGRATION_ICON_NAMES_LIST,
|
|
25
|
-
type VikingIntegrationIconName,
|
|
26
|
-
} from "./integration-brand-icons";
|
|
27
|
-
|
|
28
|
-
export type VikingIconName = keyof typeof VIKING_ICON_PATHS;
|
|
29
|
-
|
|
30
|
-
export type VikingIconSizePreset = "sm" | "md" | "lg";
|
|
31
|
-
|
|
32
|
-
export type VikingIconVariant = "outline" | "filled";
|
|
33
|
-
|
|
34
|
-
/** Semantic color tokens resolved to CSS custom properties. */
|
|
35
|
-
export type VikingIconColorToken =
|
|
36
|
-
| "inherit"
|
|
37
|
-
| "accent"
|
|
38
|
-
| "success"
|
|
39
|
-
| "warning"
|
|
40
|
-
| "danger"
|
|
41
|
-
| "info"
|
|
42
|
-
| "muted"
|
|
43
|
-
| "text";
|
|
44
|
-
|
|
45
|
-
/** Pixel sizes for sm / md / lg presets. */
|
|
46
|
-
export const VIKING_ICON_SIZE_PRESETS: Record<VikingIconSizePreset, number> = {
|
|
47
|
-
sm: 16,
|
|
48
|
-
md: 20,
|
|
49
|
-
lg: 24,
|
|
50
|
-
} as const;
|
|
51
|
-
|
|
52
|
-
/** Custom icons not covered by Lucide (hub topology, ML model tile, OAuth stubs). */
|
|
53
|
-
const VIKING_CUSTOM_ICON_PATHS = {
|
|
54
|
-
hub: '<circle cx="12" cy="12" r="3"/><path d="M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M18.4 5.6l-2.1 2.1M7.7 16.3l-2.1 2.1"/>',
|
|
55
|
-
model:
|
|
56
|
-
'<rect x="4" y="8" width="16" height="10" rx="2"/><path d="M8 8V6a4 4 0 0 1 8 0v2"/>',
|
|
57
|
-
google:
|
|
58
|
-
'<path d="M12 11.2v2.4h6.6c-.3 1.5-1.8 4.4-6.6 4.4-4 0-7.2-3.3-7.2-7.3S8 3.4 12 3.4c2.3 0 3.9 1 4.8 1.8l3.2-3.1C17.5.8 14.9 0 12 0 5.4 0 0 5.4 0 12s5.4 12 12 12c6.9 0 11.5-4.8 11.5-11.6 0-.8-.1-1.4-.2-1.9H12z"/>',
|
|
59
|
-
apple:
|
|
60
|
-
'<path d="M16.365 12.14c.02 2.53 2.21 3.38 2.23 3.39-.02.07-.35 1.21-1.16 2.4-.7 1.02-1.43 2.03-2.58 2.05-1.13.02-1.49-.67-2.78-.67-1.29 0-1.69.65-2.75.69-1.11.04-1.95-1.12-2.66-2.13-1.44-2.08-2.54-5.87-1.07-8.43.73-1.27 2.04-2.08 3.46-2.1 1.08-.02 2.1.72 2.78.72.67 0 2.14-.89 3.61-.76.61.03 2.33.25 3.44 1.88-.09.06-2.05 1.2-2.03 3.55M13.75 3.64c.59-.71 1-1.7.89-2.68-.86.03-1.9.57-2.52 1.28-.55.63-1.03 1.65-.9 2.62.95.07 1.92-.49 2.53-1.22"/>',
|
|
61
|
-
} as const;
|
|
62
|
-
|
|
63
|
-
export const VIKING_ICON_PATHS = {
|
|
64
|
-
...LUCIDE_ICON_PATHS,
|
|
65
|
-
...VIKING_BRAND_ICON_PATHS,
|
|
66
|
-
...VIKING_DRAKKAR_ICON_PATHS,
|
|
67
|
-
...VIKING_INTEGRATION_ICON_PATHS,
|
|
68
|
-
...VIKING_CUSTOM_ICON_PATHS,
|
|
69
|
-
} as const;
|
|
70
|
-
|
|
71
|
-
/** Filled-path overrides used when variant="filled" (brand marks, solid shapes). */
|
|
72
|
-
export const VIKING_ICON_FILLED_PATHS: Partial<Record<VikingIconName, string>> =
|
|
73
|
-
{
|
|
74
|
-
...VIKING_BRAND_ICON_FILLED_PATHS,
|
|
75
|
-
...VIKING_DRAKKAR_ICON_FILLED_PATHS,
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
/** Legacy Material Icons ligature names → Viking icon registry keys. */
|
|
79
|
-
export const MATERIAL_ICON_ALIASES: Record<string, VikingIconName> = {
|
|
80
|
-
analytics: "deml",
|
|
81
|
-
security: "shield",
|
|
82
|
-
link: "link",
|
|
83
|
-
visibility: "eye",
|
|
84
|
-
shield: "shield",
|
|
85
|
-
trending_up: "trending-up",
|
|
86
|
-
lock: "lock",
|
|
87
|
-
fingerprint: "fingerprint",
|
|
88
|
-
gpp_maybe: "shield",
|
|
89
|
-
verified_user: "user-shield",
|
|
90
|
-
bolt: "bolt",
|
|
91
|
-
cloud: "cloud",
|
|
92
|
-
lan: "network",
|
|
93
|
-
hub: "hub",
|
|
94
|
-
speed: "speed",
|
|
95
|
-
rocket_launch: "rocket",
|
|
96
|
-
insights: "insights",
|
|
97
|
-
check: "check",
|
|
98
|
-
description: "file",
|
|
99
|
-
vpn_key: "key",
|
|
100
|
-
policy: "policy",
|
|
101
|
-
bug_report: "bug",
|
|
102
|
-
search: "search",
|
|
103
|
-
chevron_left: "chevron-left",
|
|
104
|
-
chevron_right: "chevron-right",
|
|
105
|
-
verified: "check-circle",
|
|
106
|
-
warning: "alert-triangle",
|
|
107
|
-
close: "x",
|
|
108
|
-
account_balance: "building",
|
|
109
|
-
send: "send",
|
|
110
|
-
check_circle: "check-circle",
|
|
111
|
-
play_circle: "play",
|
|
112
|
-
input: "terminal",
|
|
113
|
-
model_training: "model",
|
|
114
|
-
auto_awesome: "sparkle",
|
|
115
|
-
error_outline: "alert-circle",
|
|
116
|
-
home: "home",
|
|
117
|
-
cookie: "cookie",
|
|
118
|
-
search_off: "search-off",
|
|
119
|
-
person_add: "user",
|
|
120
|
-
storage: "aws-redshift",
|
|
121
|
-
data_object: "aws-redshift",
|
|
122
|
-
memory: "tensorflow",
|
|
123
|
-
psychology: "pytorch",
|
|
124
|
-
dns: "server",
|
|
125
|
-
login: "log-in",
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
/** Icons always rendered with fill (play triangle, dot grids). */
|
|
129
|
-
export const VIKING_FILLED_ICON_NAMES = [
|
|
130
|
-
"play",
|
|
131
|
-
"dots-horizontal",
|
|
132
|
-
"dots-vertical",
|
|
133
|
-
"grip-vertical",
|
|
134
|
-
] as const satisfies readonly VikingIconName[];
|
|
135
|
-
|
|
136
|
-
/** OAuth / vendor marks rendered with official brand artwork in viking-icon. */
|
|
137
|
-
export const VIKING_BRAND_ICON_NAMES = [
|
|
138
|
-
"google",
|
|
139
|
-
"apple",
|
|
140
|
-
...VIKING_BRAND_ICON_NAMES_LIST,
|
|
141
|
-
] as const satisfies readonly VikingIconName[];
|
|
142
|
-
|
|
143
|
-
const VIKING_ICON_COLOR_TOKENS: Record<
|
|
144
|
-
Exclude<VikingIconColorToken, "inherit">,
|
|
145
|
-
string
|
|
146
|
-
> = {
|
|
147
|
-
accent: "var(--viking-accent)",
|
|
148
|
-
success: "var(--viking-success)",
|
|
149
|
-
warning: "var(--viking-warning)",
|
|
150
|
-
danger: "var(--viking-danger)",
|
|
151
|
-
info: "var(--viking-info)",
|
|
152
|
-
muted: "var(--viking-text-muted)",
|
|
153
|
-
text: "var(--viking-text)",
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
export const vikingIconViewBox = (_name: VikingIconName): string => "0 0 24 24";
|
|
157
|
-
|
|
158
|
-
/** Resolve pixel size from preset or explicit value. */
|
|
159
|
-
export const resolveVikingIconSize = (
|
|
160
|
-
size: number | undefined,
|
|
161
|
-
preset: VikingIconSizePreset | null | undefined,
|
|
162
|
-
): number => {
|
|
163
|
-
if (preset) {
|
|
164
|
-
return VIKING_ICON_SIZE_PRESETS[preset];
|
|
165
|
-
}
|
|
166
|
-
return size ?? VIKING_ICON_SIZE_PRESETS.lg;
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
/** Resolve semantic color token or raw CSS value for icon tinting. */
|
|
170
|
-
export const resolveVikingIconColor = (
|
|
171
|
-
color: VikingIconColorToken | string | undefined,
|
|
172
|
-
): string | undefined => {
|
|
173
|
-
if (!color || color === "inherit") {
|
|
174
|
-
return undefined;
|
|
175
|
-
}
|
|
176
|
-
if (color in VIKING_ICON_COLOR_TOKENS) {
|
|
177
|
-
return VIKING_ICON_COLOR_TOKENS[
|
|
178
|
-
color as Exclude<VikingIconColorToken, "inherit">
|
|
179
|
-
];
|
|
180
|
-
}
|
|
181
|
-
return color;
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
const VIKING_ICON_PATH_KEYS = new Set(Object.keys(VIKING_ICON_PATHS));
|
|
185
|
-
|
|
186
|
-
/** Resolve a Viking or legacy Material icon name to a registry key. */
|
|
187
|
-
export const resolveVikingIcon = (name: string): VikingIconName => {
|
|
188
|
-
const normalized = name.trim().toLowerCase().replace(/\s+/g, "_");
|
|
189
|
-
if (VIKING_ICON_PATH_KEYS.has(normalized)) {
|
|
190
|
-
return normalized as VikingIconName;
|
|
191
|
-
}
|
|
192
|
-
const alias = MATERIAL_ICON_ALIASES[normalized];
|
|
193
|
-
if (alias) {
|
|
194
|
-
return alias;
|
|
195
|
-
}
|
|
196
|
-
return "info";
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
export const VIKING_ICON_NAMES = Object.keys(
|
|
200
|
-
VIKING_ICON_PATHS,
|
|
201
|
-
) as VikingIconName[];
|
|
202
|
-
|
|
203
|
-
/** Lucide-sourced icon names (for docs and showcase grouping). */
|
|
204
|
-
export const VIKING_LUCIDE_ICON_NAMES = Object.keys(
|
|
205
|
-
LUCIDE_ICON_PATHS,
|
|
206
|
-
) as (keyof typeof LUCIDE_ICON_PATHS)[];
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/** Official platform brand colors — exception for recognizable integration marks (same policy as Google/Apple in viking-icon). */
|
|
2
|
-
export const VIKING_INTEGRATION_BRAND_COLORS = {
|
|
3
|
-
kubernetes: "#326CE5",
|
|
4
|
-
tensorflow: "#FF6F00",
|
|
5
|
-
pytorch: "#EE4C2C",
|
|
6
|
-
"apache-spark": "#E25A1C",
|
|
7
|
-
databricks: "#FF3621",
|
|
8
|
-
"aws-redshift": "#8C4FFF",
|
|
9
|
-
} as const;
|
|
10
|
-
|
|
11
|
-
export type VikingIntegrationBrandName =
|
|
12
|
-
keyof typeof VIKING_INTEGRATION_BRAND_COLORS;
|
|
13
|
-
|
|
14
|
-
export const VIKING_INTEGRATION_BRAND_NAMES = Object.keys(
|
|
15
|
-
VIKING_INTEGRATION_BRAND_COLORS,
|
|
16
|
-
) as VikingIntegrationBrandName[];
|
|
17
|
-
|
|
18
|
-
export const isIntegrationBrandIcon = (
|
|
19
|
-
name: string,
|
|
20
|
-
): name is VikingIntegrationBrandName =>
|
|
21
|
-
(VIKING_INTEGRATION_BRAND_NAMES as readonly string[]).includes(name);
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Official product logo paths (24×24 viewBox) sourced from Simple Icons (CC0).
|
|
25
|
-
* Inlined at build time — no runtime icon font or CDN.
|
|
26
|
-
*/
|
|
27
|
-
const VIKING_INTEGRATION_BRAND_PATHS: Record<
|
|
28
|
-
VikingIntegrationBrandName,
|
|
29
|
-
string
|
|
30
|
-
> = {
|
|
31
|
-
kubernetes:
|
|
32
|
-
"M10.204 14.35l.007.01-.999 2.413a5.171 5.171 0 0 1-2.075-2.597l2.578-.437.004.005a.44.44 0 0 1 .484.606zm-.833-2.129a.44.44 0 0 0 .173-.756l.002-.011L7.585 9.7a5.143 5.143 0 0 0-.73 3.255l2.514-.725.002-.009zm1.145-1.98a.44.44 0 0 0 .699-.337l.01-.005.15-2.62a5.144 5.144 0 0 0-3.01 1.442l2.147 1.523.004-.002zm.76 2.75l.723.349.722-.347.18-.78-.5-.623h-.804l-.5.623.179.779zm1.5-3.095a.44.44 0 0 0 .7.336l.008.003 2.134-1.513a5.188 5.188 0 0 0-2.992-1.442l.148 2.615.002.001zm10.876 5.97l-5.773 7.181a1.6 1.6 0 0 1-1.248.594l-9.261.003a1.6 1.6 0 0 1-1.247-.596l-5.776-7.18a1.583 1.583 0 0 1-.307-1.34L2.1 5.573c.108-.47.425-.864.863-1.073L11.305.513a1.606 1.606 0 0 1 1.385 0l8.345 3.985c.438.209.755.604.863 1.073l2.062 8.955c.108.47-.005.963-.308 1.34zm-3.289-2.057c-.042-.01-.103-.026-.145-.034-.174-.033-.315-.025-.479-.038-.35-.037-.638-.067-.895-.148-.105-.04-.18-.165-.216-.216l-.201-.059a6.45 6.45 0 0 0-.105-2.332 6.465 6.465 0 0 0-.936-2.163c.052-.047.15-.133.177-.159.008-.09.001-.183.094-.282.197-.185.444-.338.743-.522.142-.084.273-.137.415-.242.032-.024.076-.062.11-.089.24-.191.295-.52.123-.736-.172-.216-.506-.236-.745-.045-.034.027-.08.062-.111.088-.134.116-.217.23-.33.35-.246.25-.45.458-.673.609-.097.056-.239.037-.303.033l-.19.135a6.545 6.545 0 0 0-4.146-2.003l-.012-.223c-.065-.062-.143-.115-.163-.25-.022-.268.015-.557.057-.905.023-.163.061-.298.068-.475.001-.04-.001-.099-.001-.142 0-.306-.224-.555-.5-.555-.275 0-.499.249-.499.555l.001.014c0 .041-.002.092 0 .128.006.177.044.312.067.475.042.348.078.637.056.906a.545.545 0 0 1-.162.258l-.012.211a6.424 6.424 0 0 0-4.166 2.003 8.373 8.373 0 0 1-.18-.128c-.09.012-.18.04-.297-.029-.223-.15-.427-.358-.673-.608-.113-.12-.195-.234-.329-.349-.03-.026-.077-.062-.111-.088a.594.594 0 0 0-.348-.132.481.481 0 0 0-.398.176c-.172.216-.117.546.123.737l.007.005.104.083c.142.105.272.159.414.242.299.185.546.338.743.522.076.082.09.226.1.288l.16.143a6.462 6.462 0 0 0-1.02 4.506l-.208.06c-.055.072-.133.184-.215.217-.257.081-.546.11-.895.147-.164.014-.305.006-.48.039-.037.007-.09.02-.133.03l-.004.002-.007.002c-.295.071-.484.342-.423.608.061.267.349.429.645.365l.007-.001.01-.003.129-.029c.17-.046.294-.113.448-.172.33-.118.604-.217.87-.256.112-.009.23.069.288.101l.217-.037a6.5 6.5 0 0 0 2.88 3.596l-.09.218c.033.084.069.199.044.282-.097.252-.263.517-.452.813-.091.136-.185.242-.268.399-.02.037-.045.095-.064.134-.128.275-.034.591.213.71.248.12.556-.007.69-.282v-.002c.02-.039.046-.09.062-.127.07-.162.094-.301.144-.458.132-.332.205-.68.387-.897.05-.06.13-.082.215-.105l.113-.205a6.453 6.453 0 0 0 4.609.012l.106.192c.086.028.18.042.256.155.136.232.229.507.342.84.05.156.074.295.145.457.016.037.043.09.062.129.133.276.442.402.69.282.247-.118.341-.435.213-.71-.02-.039-.045-.096-.065-.134-.083-.156-.177-.261-.268-.398-.19-.296-.346-.541-.443-.793-.04-.13.007-.21.038-.294-.018-.022-.059-.144-.083-.202a6.499 6.499 0 0 0 2.88-3.622c.064.01.176.03.213.038.075-.05.144-.114.28-.104.266.039.54.138.87.256.154.06.277.128.448.173.036.01.088.019.13.028l.009.003.007.001c.297.064.584-.098.645-.365.06-.266-.128-.537-.423-.608zM16.4 9.701l-1.95 1.746v.005a.44.44 0 0 0 .173.757l.003.01 2.526.728a5.199 5.199 0 0 0-.108-1.674A5.208 5.208 0 0 0 16.4 9.7zm-4.013 5.325a.437.437 0 0 0-.404-.232.44.44 0 0 0-.372.233h-.002l-1.268 2.292a5.164 5.164 0 0 0 3.326.003l-1.27-2.296h-.01zm1.888-1.293a.44.44 0 0 0-.27.036.44.44 0 0 0-.214.572l-.003.004 1.01 2.438a5.15 5.15 0 0 0 2.081-2.615l-2.6-.44-.004.005z",
|
|
33
|
-
tensorflow:
|
|
34
|
-
"M1.292 5.856L11.54 0v24l-4.095-2.378V7.603l-6.168 3.564.015-5.31zm21.43 5.311l-.014-5.31L12.46 0v24l4.095-2.378V14.87l3.092 1.788-.018-4.618-3.074-1.756V7.603l6.168 3.564z",
|
|
35
|
-
pytorch:
|
|
36
|
-
"M12.005 0L4.952 7.053a9.865 9.865 0 000 14.022 9.866 9.866 0 0014.022 0c3.984-3.9 3.986-10.205.085-14.023l-1.744 1.743c2.904 2.905 2.904 7.634 0 10.538s-7.634 2.904-10.538 0-2.904-7.634 0-10.538l4.647-4.646.582-.665zm3.568 3.899a1.327 1.327 0 00-1.327 1.327 1.327 1.327 0 001.327 1.328A1.327 1.327 0 0016.9 5.226 1.327 1.327 0 0015.573 3.9z",
|
|
37
|
-
"apache-spark":
|
|
38
|
-
"M10.812 0c-.425.013-.845.215-1.196.605a3.593 3.593 0 00-.493.722c-.355.667-.425 1.415-.556 2.143a551.9 551.9 0 00-.726 4.087c-.027.16-.096.227-.244.273C5.83 8.386 4.06 8.94 2.3 9.514c-.387.125-.773.289-1.114.506-1.042.665-1.196 1.753-.415 2.71.346.422.79.715 1.284.936 1.1.49 2.202.976 3.3 1.47.019.01.036.013.053.019h-.004l1.306.535c0 .023.002.045 0 .073-.2 2.03-.39 4.063-.58 6.095-.04.419-.012.831.134 1.23.317.87 1.065 1.148 1.881.701.372-.204.666-.497.937-.818 1.372-1.623 2.746-3.244 4.113-4.872.111-.133.205-.15.363-.098.349.117.697.231 1.045.347h.001c.02.012.045.02.073.03l.142.042c1.248.416 2.68.775 3.929 1.19.4.132.622.164 1.045.098.311-.048.592-.062.828-.236.602-.33.995-.957.988-1.682-.005-.427-.154-.813-.35-1.186-.82-1.556-1.637-3.113-2.461-4.666-.078-.148-.076-.243.037-.375 1.381-1.615 2.756-3.236 4.133-4.855.272-.32.513-.658.653-1.058.308-.878-.09-1.57-1-1.741a2.783 2.783 0 00-1.235.069c-1.974.521-3.947 1.041-5.918 1.57-.175.047-.26.015-.355-.144a353.08 353.08 0 00-2.421-4.018 4.61 4.61 0 00-.652-.849c-.371-.37-.802-.549-1.227-.536zm.172 3.703a.592.592 0 01.189.211c.87 1.446 1.742 2.89 2.609 4.338.07.118.135.16.277.121 1.525-.41 3.052-.813 4.579-1.217.367-.098.735-.193 1.103-.289a.399.399 0 01-.1.2c-1.259 1.48-2.516 2.962-3.779 4.438-.11.13-.12.22-.04.37.937 1.803 1.768 3.309 2.498 4.76l-3.696-1.019c-.538-.18-1.077-.358-1.615-.539-.163-.055-.25-.03-.36.1-1.248 1.488-2.504 2.97-3.759 4.454a.398.398 0 01-.18.132c.035-.378.068-.757.104-1.136.149-1.572.297-3.144.451-4.716-.03-.318.117-.405-.322-.545-1.493-.593-3.346-1.321-4.816-1.905a.595.595 0 01.24-.134c1.797-.57 3.595-1.14 5.394-1.705.127-.04.199-.092.211-.233.013-.148.05-.294.076-.441.241-1.363.483-2.726.726-4.088.068-.386.14-.771.21-1.157z",
|
|
39
|
-
databricks:
|
|
40
|
-
"M.95 14.184L12 20.403l9.919-5.55v2.21L12 22.662l-10.484-5.96-.565.308v.77L12 24l11.05-6.218v-4.317l-.515-.309L12 19.118l-9.867-5.653v-2.21L12 16.805l11.05-6.218V6.32l-.515-.308L12 11.974 2.647 6.681 12 1.388l7.76 4.368.668-.411v-.566L12 0 .95 6.27v.72L12 13.207l9.919-5.55v2.26L12 15.52 1.516 9.56l-.565.308Z",
|
|
41
|
-
"aws-redshift":
|
|
42
|
-
"M16.639 9.932a.822.822 0 0 1-.822-.82.823.823 0 0 1 1.645 0c0 .452-.37.82-.823.82m-2.086 4.994a.823.823 0 0 1-.822-.822.822.822 0 0 1 1.645 0 .822.822 0 0 1-.823.822m-5.004-.833a.822.822 0 1 1 .002-1.644.822.822 0 0 1-.002 1.644m-2.083 4.578a.823.823 0 0 1-.823-.82.823.823 0 0 1 1.645 0c0 .452-.37.82-.822.82m9.173-11.236a1.68 1.68 0 0 0-1.68 1.676c0 .566.285 1.066.718 1.37l-.782 1.982a1.674 1.674 0 0 0-1.923 1.104l-1.753-.398a1.675 1.675 0 0 0-3.348.103c0 .432.169.823.438 1.12l-.764 1.79c-.028-.001-.053-.008-.08-.008a1.68 1.68 0 0 0-1.68 1.676 1.68 1.68 0 0 0 3.36 0c0-.593-.312-1.112-.778-1.41l.674-1.579c.161.052.33.088.508.088.661 0 1.228-.386 1.502-.94l1.856.42a1.68 1.68 0 0 0 3.327-.325c0-.5-.224-.943-.574-1.25l.822-2.083c.053.005.104.016.157.016a1.68 1.68 0 0 0 1.68-1.676 1.68 1.68 0 0 0-1.68-1.676M12 23.145c-4.17 0-7.286-1.252-7.286-2.37V4.79C6.14 5.938 9.131 6.547 12 6.547c2.869 0 5.86-.609 7.286-1.756v15.983c0 1.12-3.116 2.37-7.286 2.37M12 .856c4.293 0 7.286 1.274 7.286 2.419 0 1.143-2.993 2.418-7.286 2.418-4.293 0-7.286-1.275-7.286-2.418C4.714 2.129 7.707.855 12 .855m8.143 2.419C20.143 1.147 15.947 0 12 0 8.052 0 3.857 1.147 3.857 3.274l.002.01h-.002v17.49C3.857 22.87 8.052 24 12 24c3.947 0 8.143-1.13 8.143-3.226V3.284h-.002l.002-.01",
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const integrationBrandSvg = (name: VikingIntegrationBrandName): string => {
|
|
46
|
-
const fill = VIKING_INTEGRATION_BRAND_COLORS[name];
|
|
47
|
-
const d = VIKING_INTEGRATION_BRAND_PATHS[name];
|
|
48
|
-
return `<path fill="${fill}" d="${d}"/>`;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/** Multi-path brand SVG markup (24×24 viewBox) — official product logos at brand hue. */
|
|
52
|
-
export const VIKING_INTEGRATION_BRAND_SVGS: Record<
|
|
53
|
-
VikingIntegrationBrandName,
|
|
54
|
-
string
|
|
55
|
-
> = {
|
|
56
|
-
kubernetes: integrationBrandSvg("kubernetes"),
|
|
57
|
-
tensorflow: integrationBrandSvg("tensorflow"),
|
|
58
|
-
pytorch: integrationBrandSvg("pytorch"),
|
|
59
|
-
"apache-spark": integrationBrandSvg("apache-spark"),
|
|
60
|
-
databricks: integrationBrandSvg("databricks"),
|
|
61
|
-
"aws-redshift": integrationBrandSvg("aws-redshift"),
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
/** Path markup for icon registry / viking-icon-paths.json sync. */
|
|
65
|
-
export const VIKING_INTEGRATION_ICON_PATHS = Object.fromEntries(
|
|
66
|
-
(
|
|
67
|
-
Object.entries(VIKING_INTEGRATION_BRAND_PATHS) as [
|
|
68
|
-
VikingIntegrationBrandName,
|
|
69
|
-
string,
|
|
70
|
-
][]
|
|
71
|
-
).map(([name, d]) => [name, `<path d="${d}"/>`]),
|
|
72
|
-
) as Record<VikingIntegrationBrandName, string>;
|
|
73
|
-
|
|
74
|
-
export type VikingIntegrationIconName = VikingIntegrationBrandName;
|
|
75
|
-
|
|
76
|
-
export const VIKING_INTEGRATION_ICON_NAMES_LIST =
|
|
77
|
-
VIKING_INTEGRATION_BRAND_NAMES;
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AUTO-GENERATED by scripts/sync_lucide_icons.mjs — do not edit by hand.
|
|
3
|
-
* Lucide paths are inlined at build time; lucide is a devDependency only.
|
|
4
|
-
* @see https://lucide.dev
|
|
5
|
-
*/
|
|
6
|
-
export const LUCIDE_ICON_PATHS = {
|
|
7
|
-
"alert-circle":
|
|
8
|
-
'<circle cx="12" cy="12" r="10"/><line x1="12" x2="12" y1="8" y2="12"/><line x1="12" x2="12.01" y1="16" y2="16"/>',
|
|
9
|
-
"alert-triangle":
|
|
10
|
-
'<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/>',
|
|
11
|
-
"arrow-left": '<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>',
|
|
12
|
-
"arrow-right": '<path d="M5 12h14"/><path d="m12 5 7 7-7 7"/>',
|
|
13
|
-
"arrow-up-right": '<path d="M7 7h10v10"/><path d="M7 17 17 7"/>',
|
|
14
|
-
"bar-chart":
|
|
15
|
-
'<path d="M3 3v16a2 2 0 0 0 2 2h16"/><path d="M18 17V9"/><path d="M13 17V5"/><path d="M8 17v-3"/>',
|
|
16
|
-
bell: '<path d="M10.268 21a2 2 0 0 0 3.464 0"/><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"/>',
|
|
17
|
-
bold: '<path d="M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8"/>',
|
|
18
|
-
bolt: '<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>',
|
|
19
|
-
brain:
|
|
20
|
-
'<path d="M12 18V5"/><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"/><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"/><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"/><path d="M18 18a4 4 0 0 0 2-7.464"/><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"/><path d="M6 18a4 4 0 0 1-2-7.464"/><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"/>',
|
|
21
|
-
bug: '<path d="M12 20v-9"/><path d="M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z"/><path d="M14.12 3.88 16 2"/><path d="M21 21a4 4 0 0 0-3.81-4"/><path d="M21 5a4 4 0 0 1-3.55 3.97"/><path d="M22 13h-4"/><path d="M3 21a4 4 0 0 1 3.81-4"/><path d="M3 5a4 4 0 0 0 3.55 3.97"/><path d="M6 13H2"/><path d="m8 2 1.88 1.88"/><path d="M9 7.13V6a3 3 0 1 1 6 0v1.13"/>',
|
|
22
|
-
building:
|
|
23
|
-
'<path d="M12 10h.01"/><path d="M12 14h.01"/><path d="M12 6h.01"/><path d="M16 10h.01"/><path d="M16 14h.01"/><path d="M16 6h.01"/><path d="M8 10h.01"/><path d="M8 14h.01"/><path d="M8 6h.01"/><path d="M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3"/><rect x="4" y="2" width="16" height="20" rx="2"/>',
|
|
24
|
-
calendar:
|
|
25
|
-
'<path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/>',
|
|
26
|
-
check: '<path d="M20 6 9 17l-5-5"/>',
|
|
27
|
-
"check-circle": '<circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/>',
|
|
28
|
-
"chevron-down": '<path d="m6 9 6 6 6-6"/>',
|
|
29
|
-
"chevron-left": '<path d="m15 18-6-6 6-6"/>',
|
|
30
|
-
"chevron-right": '<path d="m9 18 6-6-6-6"/>',
|
|
31
|
-
"chevron-up": '<path d="m18 15-6-6-6 6"/>',
|
|
32
|
-
chip: '<path d="M12 20v2"/><path d="M12 2v2"/><path d="M17 20v2"/><path d="M17 2v2"/><path d="M2 12h2"/><path d="M2 17h2"/><path d="M2 7h2"/><path d="M20 12h2"/><path d="M20 17h2"/><path d="M20 7h2"/><path d="M7 20v2"/><path d="M7 2v2"/><rect x="4" y="4" width="16" height="16" rx="2"/><rect x="8" y="8" width="8" height="8" rx="1"/>',
|
|
33
|
-
clock: '<circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/>',
|
|
34
|
-
cloud: '<path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"/>',
|
|
35
|
-
cookie:
|
|
36
|
-
'<path d="M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5"/><path d="M8.5 8.5v.01"/><path d="M16 15.5v.01"/><path d="M12 12v.01"/><path d="M11 17v.01"/><path d="M7 14v.01"/>',
|
|
37
|
-
copy: '<rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>',
|
|
38
|
-
"dots-horizontal":
|
|
39
|
-
'<circle cx="12" cy="12" r="1" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1" fill="currentColor" stroke="none"/><circle cx="5" cy="12" r="1" fill="currentColor" stroke="none"/>',
|
|
40
|
-
"dots-vertical":
|
|
41
|
-
'<circle cx="12" cy="12" r="1" fill="currentColor" stroke="none"/><circle cx="12" cy="5" r="1" fill="currentColor" stroke="none"/><circle cx="12" cy="19" r="1" fill="currentColor" stroke="none"/>',
|
|
42
|
-
download:
|
|
43
|
-
'<path d="M12 15V3"/><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/>',
|
|
44
|
-
external:
|
|
45
|
-
'<path d="M15 3h6v6"/><path d="M10 14 21 3"/><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>',
|
|
46
|
-
eye: '<path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/>',
|
|
47
|
-
"eye-off":
|
|
48
|
-
'<path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"/><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"/><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"/><path d="m2 2 20 20"/>',
|
|
49
|
-
file: '<path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"/><path d="M14 2v5a1 1 0 0 0 1 1h5"/>',
|
|
50
|
-
filter:
|
|
51
|
-
'<path d="M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z"/>',
|
|
52
|
-
fingerprint:
|
|
53
|
-
'<path d="M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"/><path d="M14 13.12c0 2.38 0 6.38-1 8.88"/><path d="M17.29 21.02c.12-.6.43-2.3.5-3.02"/><path d="M2 12a10 10 0 0 1 18-6"/><path d="M2 16h.01"/><path d="M21.8 16c.2-2 .131-5.354 0-6"/><path d="M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"/><path d="M8.65 22c.21-.66.45-1.32.57-2"/><path d="M9 6.8a6 6 0 0 1 9 5.2v2"/>',
|
|
54
|
-
folder:
|
|
55
|
-
'<path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/>',
|
|
56
|
-
globe:
|
|
57
|
-
'<circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/>',
|
|
58
|
-
"grip-vertical":
|
|
59
|
-
'<circle cx="9" cy="12" r="1" fill="currentColor" stroke="none"/><circle cx="9" cy="5" r="1" fill="currentColor" stroke="none"/><circle cx="9" cy="19" r="1" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="1" fill="currentColor" stroke="none"/><circle cx="15" cy="5" r="1" fill="currentColor" stroke="none"/><circle cx="15" cy="19" r="1" fill="currentColor" stroke="none"/>',
|
|
60
|
-
heart:
|
|
61
|
-
'<path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"/>',
|
|
62
|
-
home: '<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"/><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>',
|
|
63
|
-
image:
|
|
64
|
-
'<rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/>',
|
|
65
|
-
info: '<circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/>',
|
|
66
|
-
insights: '<path d="M3 3v16a2 2 0 0 0 2 2h16"/><path d="m19 9-5 5-4-4-3 3"/>',
|
|
67
|
-
italic:
|
|
68
|
-
'<line x1="19" x2="10" y1="4" y2="4"/><line x1="14" x2="5" y1="20" y2="20"/><line x1="15" x2="9" y1="4" y2="20"/>',
|
|
69
|
-
key: '<path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"/><circle cx="16.5" cy="7.5" r=".5" fill="currentColor"/>',
|
|
70
|
-
link: '<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>',
|
|
71
|
-
list: '<path d="M3 5h.01"/><path d="M3 12h.01"/><path d="M3 19h.01"/><path d="M8 5h13"/><path d="M8 12h13"/><path d="M8 19h13"/>',
|
|
72
|
-
"list-ordered":
|
|
73
|
-
'<path d="M11 5h10"/><path d="M11 12h10"/><path d="M11 19h10"/><path d="M4 4h1v5"/><path d="M4 9h2"/><path d="M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02"/>',
|
|
74
|
-
loader: '<path d="M21 12a9 9 0 1 1-6.219-8.56"/>',
|
|
75
|
-
lock: '<rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>',
|
|
76
|
-
"log-in":
|
|
77
|
-
'<path d="m10 17 5-5-5-5"/><path d="M15 12H3"/><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"/>',
|
|
78
|
-
"log-out":
|
|
79
|
-
'<path d="m16 17 5-5-5-5"/><path d="M21 12H9"/><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/>',
|
|
80
|
-
mail: '<path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"/><rect x="2" y="4" width="20" height="16" rx="2"/>',
|
|
81
|
-
menu: '<path d="M4 5h16"/><path d="M4 12h16"/><path d="M4 19h16"/>',
|
|
82
|
-
minus: '<path d="M5 12h14"/>',
|
|
83
|
-
moon: '<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"/>',
|
|
84
|
-
network:
|
|
85
|
-
'<rect x="16" y="16" width="6" height="6" rx="1"/><rect x="2" y="16" width="6" height="6" rx="1"/><rect x="9" y="2" width="6" height="6" rx="1"/><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"/><path d="M12 12V8"/>',
|
|
86
|
-
paperclip:
|
|
87
|
-
'<path d="m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551"/>',
|
|
88
|
-
pencil:
|
|
89
|
-
'<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>',
|
|
90
|
-
phone:
|
|
91
|
-
'<path d="M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384"/>',
|
|
92
|
-
play: '<path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z" fill="currentColor" stroke="none"/>',
|
|
93
|
-
plus: '<path d="M5 12h14"/><path d="M12 5v14"/>',
|
|
94
|
-
policy:
|
|
95
|
-
'<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m9 12 2 2 4-4"/>',
|
|
96
|
-
refresh:
|
|
97
|
-
'<path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/><path d="M8 16H3v5"/>',
|
|
98
|
-
rocket:
|
|
99
|
-
'<path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09"/><path d="M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z"/><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05"/>',
|
|
100
|
-
search: '<path d="m21 21-4.34-4.34"/><circle cx="11" cy="11" r="8"/>',
|
|
101
|
-
"search-off":
|
|
102
|
-
'<path d="m13.5 8.5-5 5"/><path d="m8.5 8.5 5 5"/><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/>',
|
|
103
|
-
send: '<path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"/><path d="m21.854 2.147-10.94 10.939"/>',
|
|
104
|
-
server:
|
|
105
|
-
'<rect width="20" height="8" x="2" y="2" rx="2" ry="2"/><rect width="20" height="8" x="2" y="14" rx="2" ry="2"/><line x1="6" x2="6.01" y1="6" y2="6"/><line x1="6" x2="6.01" y1="18" y2="18"/>',
|
|
106
|
-
settings:
|
|
107
|
-
'<path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"/><circle cx="12" cy="12" r="3"/>',
|
|
108
|
-
shield:
|
|
109
|
-
'<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/>',
|
|
110
|
-
ship: '<path d="M12 10.189V14"/><path d="M12 2v3"/><path d="M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6"/><path d="M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76"/><path d="M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"/>',
|
|
111
|
-
sparkle:
|
|
112
|
-
'<path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"/><path d="M20 2v4"/><path d="M22 4h-4"/><circle cx="4" cy="20" r="2"/>',
|
|
113
|
-
speed: '<path d="m12 14 4-4"/><path d="M3.34 19a10 10 0 1 1 17.32 0"/>',
|
|
114
|
-
star: '<path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"/>',
|
|
115
|
-
sun: '<circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/>',
|
|
116
|
-
terminal: '<path d="M12 19h8"/><path d="m4 17 6-6-6-6"/>',
|
|
117
|
-
trash:
|
|
118
|
-
'<path d="M10 11v6"/><path d="M14 11v6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/><path d="M3 6h18"/><path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/>',
|
|
119
|
-
"trending-up": '<path d="M16 7h6v6"/><path d="m22 7-8.5 8.5-5-5L2 17"/>',
|
|
120
|
-
underline:
|
|
121
|
-
'<path d="M6 4v6a6 6 0 0 0 12 0V4"/><line x1="4" x2="20" y1="20" y2="20"/>',
|
|
122
|
-
upload:
|
|
123
|
-
'<path d="M12 3v12"/><path d="m17 8-5-5-5 5"/><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>',
|
|
124
|
-
user: '<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>',
|
|
125
|
-
"user-shield":
|
|
126
|
-
'<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="M6.376 18.91a6 6 0 0 1 11.249.003"/><circle cx="12" cy="11" r="4"/>',
|
|
127
|
-
x: '<path d="M18 6 6 18"/><path d="m6 6 12 12"/>',
|
|
128
|
-
} as const;
|
|
129
|
-
|
|
130
|
-
export type LucideIconName = keyof typeof LUCIDE_ICON_PATHS;
|