@hotosm/ui 0.2.0-b5 → 0.3.0-b2
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 +25 -17
- package/dist/chunks/chunk.3FANZE43.js +1 -0
- package/dist/chunks/chunk.7KXDULC3.js +86 -0
- package/dist/chunks/chunk.AFGPUO4H.js +1 -0
- package/dist/chunks/chunk.B3MIQKX3.js +66 -0
- package/dist/chunks/chunk.FWYUHKRF.js +1 -0
- package/dist/chunks/chunk.GVYEHPTU.js +17 -0
- package/dist/chunks/chunk.GY32O3WU.js +26 -0
- package/dist/chunks/chunk.JK2P4SXH.js +1 -0
- package/dist/chunks/chunk.KGPID6RT.js +1 -0
- package/dist/chunks/chunk.KTVXG6ZT.js +6 -0
- package/dist/chunks/chunk.N5M5RY5M.js +1 -0
- package/dist/chunks/chunk.NZIJQUIE.js +1 -0
- package/dist/chunks/chunk.PUMXQ24J.js +4 -0
- package/dist/chunks/chunk.Q5SXKMUN.js +18 -0
- package/dist/chunks/chunk.R73PKLI4.js +6 -0
- package/{components/icons.ts → dist/chunks/chunk.WPXUR5EI.js} +12 -47
- package/dist/components/consent/consent.component.d.ts +21 -0
- package/dist/components/consent/consent.component.js +1 -0
- package/dist/components/consent/consent.d.ts +8 -0
- package/dist/components/consent/consent.js +1 -0
- package/dist/components/consent/consent.styles.d.ts +2 -0
- package/dist/components/consent/consent.styles.js +1 -0
- package/dist/components/header/header.component.d.ts +33 -0
- package/dist/components/header/header.component.js +1 -0
- package/dist/components/header/header.d.ts +7 -27
- package/dist/components/header/header.js +1 -0
- package/dist/components/header/header.styles.d.ts +2 -2
- package/dist/components/header/header.styles.js +1 -0
- package/dist/components/icons.js +1 -0
- package/dist/components/logo/logo.component.d.ts +10 -0
- package/dist/components/logo/logo.component.js +1 -0
- package/dist/components/logo/logo.d.ts +7 -9
- package/dist/components/logo/logo.js +1 -0
- package/dist/components/logo/logo.styles.d.ts +1 -1
- package/dist/components/logo/logo.styles.js +1 -0
- package/dist/components/toolbar/toolbar.component.d.ts +24 -0
- package/dist/components/toolbar/toolbar.component.js +1 -0
- package/dist/components/toolbar/toolbar.d.ts +7 -19
- package/dist/components/toolbar/toolbar.js +1 -0
- package/dist/components/toolbar/toolbar.styles.d.ts +1 -1
- package/dist/components/toolbar/toolbar.styles.js +1 -0
- package/dist/components/tracking/tracking.component.d.ts +19 -0
- package/dist/components/tracking/tracking.component.js +1 -0
- package/dist/components/tracking/tracking.d.ts +5 -20
- package/dist/components/tracking/tracking.js +1 -0
- package/{components/index.ts → dist/hotosm-ui.d.ts} +6 -146
- package/dist/hotosm-ui.js +1 -18450
- package/dist/react/consent/index.d.ts +3 -0
- package/dist/react/consent/index.js +1 -0
- package/dist/react/header/index.d.ts +3 -0
- package/dist/react/header/index.js +1 -0
- package/dist/{components/react → react}/index.d.ts +5 -5
- package/dist/react/index.js +1 -0
- package/dist/react/logo/index.d.ts +3 -0
- package/dist/react/logo/index.js +1 -0
- package/dist/react/toolbar/index.d.ts +3 -0
- package/dist/react/toolbar/index.js +1 -0
- package/dist/react/tracking/index.d.ts +3 -0
- package/dist/react/tracking/index.js +1 -0
- package/dist/style.css +2 -1
- package/{theme → dist/themes}/hot-sl.css +68 -82
- package/dist/themes/hot.css +235 -0
- package/package.json +36 -58
- package/components/header/header.styles.ts +0 -103
- package/components/header/header.ts +0 -160
- package/components/logo/logo.styles.ts +0 -8
- package/components/logo/logo.ts +0 -37
- package/components/react/Header.ts +0 -16
- package/components/react/Logo.ts +0 -15
- package/components/react/Toolbar.ts +0 -24
- package/components/react/Tracking.ts +0 -17
- package/components/react/index.ts +0 -63
- package/components/toolbar/toolbar.styles.ts +0 -6
- package/components/toolbar/toolbar.ts +0 -171
- package/components/tracking/tracking.styles.ts +0 -23
- package/components/tracking/tracking.ts +0 -177
- package/dist/components/index.d.ts +0 -130
- package/dist/components/react/Header.d.ts +0 -2
- package/dist/components/react/Logo.d.ts +0 -2
- package/dist/components/react/Toolbar.d.ts +0 -2
- package/dist/components/react/Tracking.d.ts +0 -2
- package/dist/components/tracking/tracking.styles.d.ts +0 -2
- package/i18n/en.xliff +0 -24
- package/theme/hot.css +0 -192
- package/theme/icons/apple-touch-icon-180x180.png +0 -0
- package/theme/icons/favicon.ico +0 -0
- package/theme/icons/favicon.svg +0 -1
- package/theme/icons/maskable-icon-512x512.png +0 -0
- package/theme/icons/pwa-192x192.png +0 -0
- package/theme/icons/pwa-512x512.png +0 -0
- package/theme/icons/pwa-64x64.png +0 -0
- /package/{theme → dist/assets}/logo/hot-logo-icon.svg +0 -0
- /package/{theme → dist/assets}/logo/hot-logo-png.png +0 -0
- /package/{theme → dist/assets}/logo/hot-logo-text.svg +0 -0
package/package.json
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hotosm/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-b2",
|
|
4
4
|
"description": "Shared UI components with HOT theming.",
|
|
5
|
-
"
|
|
6
|
-
"engines": {
|
|
7
|
-
"node": ">=14.17"
|
|
8
|
-
},
|
|
9
|
-
"keywords": [],
|
|
5
|
+
"homepage": "https://github.com/hotosm/ui#readme",
|
|
10
6
|
"author": {
|
|
11
7
|
"name": "HOTOSM",
|
|
12
8
|
"email": "sysadmin@hotosm.org"
|
|
@@ -30,69 +26,51 @@
|
|
|
30
26
|
}
|
|
31
27
|
],
|
|
32
28
|
"license": "AGPL-3.0-only",
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"clsx": "2.0.0",
|
|
45
|
-
"eslint": "^8.56.0",
|
|
46
|
-
"eslint-config-prettier": "^9.1.0",
|
|
47
|
-
"eslint-config-standard-with-typescript": "^43.0.0",
|
|
48
|
-
"eslint-plugin-import": "^2.29.1",
|
|
49
|
-
"eslint-plugin-lit": "^1.10.1",
|
|
50
|
-
"eslint-plugin-n": "^16.4.0",
|
|
51
|
-
"eslint-plugin-promise": "^6.1.1",
|
|
52
|
-
"eslint-plugin-wc": "^2.0.4",
|
|
53
|
-
"react": "^18.2.0",
|
|
54
|
-
"react-dom": "^18.2.0",
|
|
55
|
-
"storybook": "^8.2.9",
|
|
56
|
-
"typescript": "^5.2.2",
|
|
57
|
-
"vite": "^5.2.12",
|
|
58
|
-
"vite-plugin-dts": "4.0.0-beta.1",
|
|
59
|
-
"web-component-analyzer": "^2.0.0"
|
|
60
|
-
},
|
|
61
|
-
"dependencies-comments": {
|
|
62
|
-
"react": "Required for Storybook",
|
|
63
|
-
"react-dom": "Required for Storybook"
|
|
29
|
+
"type": "module",
|
|
30
|
+
"types": "dist/hotosm-ui.d.ts",
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"types": "./dist/hotosm-ui.d.ts",
|
|
34
|
+
"import": "./dist/hotosm-ui.js"
|
|
35
|
+
},
|
|
36
|
+
"./dist/hotosm-ui.js": "./dist/hotosm-ui.js",
|
|
37
|
+
"./dist/components/*": "./dist/components/*",
|
|
38
|
+
"./dist/themes/*": "./dist/themes/*",
|
|
39
|
+
"./dist/style.css": "./dist/style.css"
|
|
64
40
|
},
|
|
65
41
|
"files": [
|
|
66
|
-
"dist
|
|
67
|
-
"components/**/*",
|
|
68
|
-
"theme/**/*",
|
|
69
|
-
"i18n/*.xliff"
|
|
42
|
+
"dist"
|
|
70
43
|
],
|
|
71
|
-
"publishConfig": {
|
|
72
|
-
"access": "public"
|
|
73
|
-
},
|
|
74
44
|
"repository": {
|
|
75
45
|
"type": "git",
|
|
76
46
|
"url": "git+https://github.com/hotosm/ui.git"
|
|
77
47
|
},
|
|
78
|
-
"
|
|
79
|
-
"
|
|
48
|
+
"engines": {
|
|
49
|
+
"node": ">=14.17.0"
|
|
80
50
|
},
|
|
81
|
-
"homepage": "https://github.com/hotosm/ui#readme",
|
|
82
51
|
"dependencies": {
|
|
83
|
-
"@shoelace-style/shoelace": "^2.
|
|
52
|
+
"@shoelace-style/shoelace": "^2.17.1",
|
|
84
53
|
"class-variance-authority": "^0.7.0",
|
|
85
|
-
"lit": "^3.
|
|
54
|
+
"lit": "^3.0.0"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@storybook/blocks": "^8.3.5",
|
|
58
|
+
"@storybook/addon-essentials": "^8.3.5",
|
|
59
|
+
"@storybook/addon-links": "^8.3.5",
|
|
60
|
+
"@storybook/web-components": "^8.2.9",
|
|
61
|
+
"@storybook/web-components-vite": "^8.2.9",
|
|
62
|
+
"globby": "^14.0.2",
|
|
63
|
+
"del": "^7.1.0",
|
|
64
|
+
"esbuild": "^0.19.4",
|
|
65
|
+
"storybook": "^8.2.9",
|
|
66
|
+
"typescript": "^5.2.2",
|
|
67
|
+
"user-agent-data-types": "^0.3.1"
|
|
86
68
|
},
|
|
87
69
|
"scripts": {
|
|
88
|
-
"dev": "
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"build": "
|
|
92
|
-
"build
|
|
93
|
-
"build:stories": "pnpm run build && storybook build --output-dir=docs/stories",
|
|
94
|
-
"build:docs": "pnpm run build:docstrings && pnpm run build:stories",
|
|
95
|
-
"test": "echo \"Error: no test specified\" && exit 1",
|
|
96
|
-
"lint": "eslint --ext .js,.ts ./"
|
|
70
|
+
"dev": "storybook dev -p 3001 --no-open",
|
|
71
|
+
"build:docs": "storybook build --output-dir docs",
|
|
72
|
+
"build": "node scripts/build.js && npm run build-themes && npm run build-assets",
|
|
73
|
+
"build-themes": "cp -R src/themes dist && cp src/style.css dist",
|
|
74
|
+
"build-assets": "cp -R src/assets dist"
|
|
97
75
|
}
|
|
98
76
|
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
import { cva } from "class-variance-authority";
|
|
3
|
-
|
|
4
|
-
export const headerVariants = cva(
|
|
5
|
-
// Defaults to include in all variants
|
|
6
|
-
`
|
|
7
|
-
header
|
|
8
|
-
`,
|
|
9
|
-
{
|
|
10
|
-
variants: {
|
|
11
|
-
size: {
|
|
12
|
-
small: "header--size-small",
|
|
13
|
-
medium: "header--size-medium",
|
|
14
|
-
large: "header--size-large",
|
|
15
|
-
},
|
|
16
|
-
borderBottom: {
|
|
17
|
-
true: "border-bottom",
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
export type sizes = "small" | "medium" | "large";
|
|
24
|
-
|
|
25
|
-
export const styles = css`
|
|
26
|
-
.header {
|
|
27
|
-
display: flex;
|
|
28
|
-
align-items: center;
|
|
29
|
-
justify-content: space-between;
|
|
30
|
-
padding: 0 var(--sl-spacing-small);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.header.border-bottom {
|
|
34
|
-
border-bottom: var(--sl-spacing-3x-small) solid var(--sl-color-neutral-50);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.header--size-small {
|
|
38
|
-
height: var(--sl-spacing-4x-large);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.header--size-medium {
|
|
42
|
-
height: calc(var(--sl-spacing-4x-large) * 2);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
.header--size-large {
|
|
46
|
-
height: calc(var(--sl-spacing-4x-large) * 4);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.header--link {
|
|
50
|
-
text-decoration: none;
|
|
51
|
-
display: flex;
|
|
52
|
-
align-items: center;
|
|
53
|
-
justify-content: space-between;
|
|
54
|
-
gap: var(--sl-spacing-small);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.header--title {
|
|
58
|
-
color: var(--sl-color-neutral-950);
|
|
59
|
-
font-family: var(--sl-font-sans);
|
|
60
|
-
font-size: var(--sl-font-size-x-large);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.header--tab-group {
|
|
64
|
-
flex-direction: column;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.header--tab::part(base) {
|
|
68
|
-
font-size: var(--sl-font-size-medium);
|
|
69
|
-
font-weight: var(--sl-font-weight-normal);
|
|
70
|
-
color: var(--sl-color-neutral-950);
|
|
71
|
-
padding: var(--sl-spacing-small) var(--sl-spacing-small);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.header--tab-group::part(base) {
|
|
75
|
-
--track-color: transparent;
|
|
76
|
-
--indicator-color: var(--sl-color-neutral-950);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.header--nav {
|
|
80
|
-
justify-content: space-between;
|
|
81
|
-
justify-items: center;
|
|
82
|
-
gap: var(--sl-spacing-medium);
|
|
83
|
-
font-weight: var(--sl-font-weight-semibold);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.header--nav-mobile {
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.header--person-circle {
|
|
90
|
-
font-size: var(--sl-font-size-x-large);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.header--drawer {
|
|
94
|
-
font-size: var(--sl-font-size-x-large)
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
.header--right-section {
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.header--logo-img {
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
`
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import "../../theme/hot-sl.css";
|
|
2
|
-
|
|
3
|
-
import "@shoelace-style/shoelace/dist/components/icon-button/icon-button.js";
|
|
4
|
-
import "@shoelace-style/shoelace/dist/components/tab-panel/tab-panel.js";
|
|
5
|
-
import "@shoelace-style/shoelace/dist/components/tab-group/tab-group.js";
|
|
6
|
-
import "@shoelace-style/shoelace/dist/components/tab/tab.js";
|
|
7
|
-
|
|
8
|
-
import { LitElement, html } from "lit";
|
|
9
|
-
import { property } from "lit/decorators.js";
|
|
10
|
-
import { headerVariants, type sizes, styles } from './header.styles.js';
|
|
11
|
-
import type { CSSResultGroup } from 'lit';
|
|
12
|
-
|
|
13
|
-
import registerBundledIcons from "../../components/icons";
|
|
14
|
-
|
|
15
|
-
registerBundledIcons();
|
|
16
|
-
|
|
17
|
-
interface MenuItem {
|
|
18
|
-
label: string;
|
|
19
|
-
clickEvent: () => void;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export class Header extends LitElement {
|
|
23
|
-
|
|
24
|
-
static styles: CSSResultGroup = [styles];
|
|
25
|
-
|
|
26
|
-
name = "hot-header";
|
|
27
|
-
|
|
28
|
-
/** Use a text-based title in the header. */
|
|
29
|
-
@property({ type: String })
|
|
30
|
-
accessor title: string = "";
|
|
31
|
-
|
|
32
|
-
/** Display a logo on the left of the header. */
|
|
33
|
-
@property({ type: String })
|
|
34
|
-
accessor logo: string | URL = "";
|
|
35
|
-
|
|
36
|
-
/** Add a drawer icon with a click event to e.g. open a sidebar. */
|
|
37
|
-
@property({ type: Boolean })
|
|
38
|
-
accessor drawer: boolean = true;
|
|
39
|
-
|
|
40
|
-
/** Array of menu items to include as navigation tabs. */
|
|
41
|
-
@property({ type: Array })
|
|
42
|
-
accessor tabs: MenuItem[] = [];
|
|
43
|
-
|
|
44
|
-
/** Size of toolbar vertically. */
|
|
45
|
-
@property({ type: String })
|
|
46
|
-
accessor size: sizes = "small";
|
|
47
|
-
|
|
48
|
-
/** Border bottom. */
|
|
49
|
-
@property({ type: Boolean })
|
|
50
|
-
accessor borderBottom: boolean = true;
|
|
51
|
-
|
|
52
|
-
@property()
|
|
53
|
-
accessor selectedTab: number = 0;
|
|
54
|
-
|
|
55
|
-
protected render() {
|
|
56
|
-
const logoSrc =
|
|
57
|
-
typeof this.logo === "string" || this.logo instanceof URL
|
|
58
|
-
? typeof this.logo === "string"
|
|
59
|
-
? this.logo
|
|
60
|
-
: this.logo.href
|
|
61
|
-
: "";
|
|
62
|
-
|
|
63
|
-
return html`
|
|
64
|
-
<header class=${headerVariants({
|
|
65
|
-
size: this.size,
|
|
66
|
-
borderBottom: this.borderBottom
|
|
67
|
-
})}>
|
|
68
|
-
<a href="/" class="header--link">
|
|
69
|
-
${logoSrc.length > 0
|
|
70
|
-
? html`
|
|
71
|
-
<img
|
|
72
|
-
id="logo"
|
|
73
|
-
src="${this.logo}"
|
|
74
|
-
alt="Logo"
|
|
75
|
-
class="header--logo-img"
|
|
76
|
-
/>
|
|
77
|
-
`
|
|
78
|
-
: html`
|
|
79
|
-
<hot-logo
|
|
80
|
-
?iconOnly="${this.title.length > 0}"
|
|
81
|
-
>
|
|
82
|
-
</hot-logo>
|
|
83
|
-
`}
|
|
84
|
-
${this.title.length > 0
|
|
85
|
-
? html`
|
|
86
|
-
<h1 class="header--title">
|
|
87
|
-
${this.title}
|
|
88
|
-
</h1>
|
|
89
|
-
`
|
|
90
|
-
: null}
|
|
91
|
-
</a>
|
|
92
|
-
|
|
93
|
-
${/* Navigation bar for desktop, hide on mobile */ ""}
|
|
94
|
-
<nav
|
|
95
|
-
class="header--nav"
|
|
96
|
-
>
|
|
97
|
-
<sl-tab-group class="header--tab-group">
|
|
98
|
-
${this.tabs.map(
|
|
99
|
-
(item, index) => html`
|
|
100
|
-
<sl-tab
|
|
101
|
-
class="header--tab"
|
|
102
|
-
slot="nav"
|
|
103
|
-
panel="general"
|
|
104
|
-
@click=${(e: MouseEvent) => {
|
|
105
|
-
this._selectTab(e, item.clickEvent, index);
|
|
106
|
-
}}
|
|
107
|
-
?selected=${this.selectedTab === index}
|
|
108
|
-
>${item.label}</sl-tab
|
|
109
|
-
>
|
|
110
|
-
`
|
|
111
|
-
)}
|
|
112
|
-
</sl-tab-group>
|
|
113
|
-
</nav>
|
|
114
|
-
|
|
115
|
-
${/* Stacked navigation drawer for mobile */ ""}
|
|
116
|
-
${/* NOTE this should probably be in a drawer instead */ ""}
|
|
117
|
-
<nav
|
|
118
|
-
class="header--nav-mobile"
|
|
119
|
-
></nav>
|
|
120
|
-
|
|
121
|
-
<div id="right-section" class="header--right-section">
|
|
122
|
-
<sl-icon-button
|
|
123
|
-
library="bundled"
|
|
124
|
-
name="person-circle"
|
|
125
|
-
class="header--person-circle"
|
|
126
|
-
label="login"
|
|
127
|
-
@click=${(e: MouseEvent) => {
|
|
128
|
-
this._handleLogin(e);
|
|
129
|
-
}}
|
|
130
|
-
></sl-icon-button>
|
|
131
|
-
${this.drawer
|
|
132
|
-
? html`
|
|
133
|
-
<sl-icon-button
|
|
134
|
-
library="bundled"
|
|
135
|
-
class="header--drawer"
|
|
136
|
-
name="list"
|
|
137
|
-
label="drawer-open"
|
|
138
|
-
></sl-icon-button>
|
|
139
|
-
`
|
|
140
|
-
: null}
|
|
141
|
-
</div>
|
|
142
|
-
</div>
|
|
143
|
-
</header>
|
|
144
|
-
`;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
private _selectTab(_e: MouseEvent, clickAction: () => void, index: number) {
|
|
148
|
-
this.selectedTab = index;
|
|
149
|
-
clickAction();
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
private _handleLogin(_e: MouseEvent) {
|
|
153
|
-
this.dispatchEvent(new Event("login"));
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export default Header;
|
|
158
|
-
|
|
159
|
-
// Define web component
|
|
160
|
-
customElements.define("hot-header", Header);
|
package/components/logo/logo.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import HotLogoIconSVG from '../../theme/logo/hot-logo-icon.svg';
|
|
3
|
-
import HotLogoTextSVG from '../../theme/logo/hot-logo-text.svg';
|
|
4
|
-
|
|
5
|
-
import { LitElement, html } from "lit";
|
|
6
|
-
import { property } from "lit/decorators.js";
|
|
7
|
-
import styles from './logo.styles.js';
|
|
8
|
-
import type { CSSResultGroup } from 'lit';
|
|
9
|
-
|
|
10
|
-
export class Logo extends LitElement {
|
|
11
|
-
|
|
12
|
-
static styles: CSSResultGroup = [styles];
|
|
13
|
-
|
|
14
|
-
name = 'hot-logo';
|
|
15
|
-
|
|
16
|
-
@property({ type: Boolean })
|
|
17
|
-
accessor iconOnly = false;
|
|
18
|
-
|
|
19
|
-
@property({ type: Boolean })
|
|
20
|
-
accessor textOnly = false;
|
|
21
|
-
|
|
22
|
-
protected render() {
|
|
23
|
-
|
|
24
|
-
return html`
|
|
25
|
-
<div class="logo">
|
|
26
|
-
${ !this.textOnly ? html`<img src=${HotLogoIconSVG} />` : null }
|
|
27
|
-
${ !this.iconOnly ? html`<img src=${HotLogoTextSVG} />` : null }
|
|
28
|
-
</div>
|
|
29
|
-
`;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export default Logo;
|
|
35
|
-
|
|
36
|
-
// Define web component
|
|
37
|
-
customElements.define("hot-logo", Logo);
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { createComponent } from '@lit/react';
|
|
4
|
-
import Header from '../header/header';
|
|
5
|
-
|
|
6
|
-
const reactWrapper = createComponent({
|
|
7
|
-
tagName: 'hot-header',
|
|
8
|
-
elementClass: Header,
|
|
9
|
-
react: React,
|
|
10
|
-
events: {
|
|
11
|
-
onLogin: 'login',
|
|
12
|
-
},
|
|
13
|
-
displayName: 'HotHeader'
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
export default reactWrapper;
|
package/components/react/Logo.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
// @ts-ignore
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { createComponent } from '@lit/react';
|
|
5
|
-
import Logo from '../logo/logo';
|
|
6
|
-
|
|
7
|
-
const reactWrapper = createComponent({
|
|
8
|
-
tagName: 'hot-logo',
|
|
9
|
-
elementClass: Logo,
|
|
10
|
-
react: React,
|
|
11
|
-
events: {},
|
|
12
|
-
displayName: 'HotLogo'
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
export default reactWrapper;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
// @ts-ignore
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { createComponent } from '@lit/react';
|
|
5
|
-
import Toolbar from '../toolbar/toolbar';
|
|
6
|
-
|
|
7
|
-
const reactWrapper = createComponent({
|
|
8
|
-
tagName: 'hot-toolbar',
|
|
9
|
-
elementClass: Toolbar,
|
|
10
|
-
react: React,
|
|
11
|
-
events: {
|
|
12
|
-
onUndoClick: 'undo',
|
|
13
|
-
onRedoClick: 'redo',
|
|
14
|
-
onBoldClick: 'bold',
|
|
15
|
-
onItalicClick: 'italic',
|
|
16
|
-
onUnderlineClick: 'underline',
|
|
17
|
-
onLeftalignClick: 'leftalign',
|
|
18
|
-
onCenteralignClick: 'centeralign',
|
|
19
|
-
onRightalignClick: 'rightalign',
|
|
20
|
-
},
|
|
21
|
-
displayName: 'HotToolbar'
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
export default reactWrapper;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// @ts-ignore
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { createComponent } from '@lit/react';
|
|
4
|
-
import Tracking from '../tracking/tracking';
|
|
5
|
-
|
|
6
|
-
const reactWrapper = createComponent({
|
|
7
|
-
tagName: 'hot-tracking',
|
|
8
|
-
elementClass: Tracking,
|
|
9
|
-
react: React,
|
|
10
|
-
events: {
|
|
11
|
-
onAgree: 'agree',
|
|
12
|
-
onDisagree: 'disagree',
|
|
13
|
-
},
|
|
14
|
-
displayName: 'HotTracking'
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
export default reactWrapper;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
export { default as Header } from './Header';
|
|
2
|
-
export { default as Toolbar } from './Toolbar';
|
|
3
|
-
export { default as Tracking } from './Tracking';
|
|
4
|
-
export { default as Logo } from './Logo';
|
|
5
|
-
|
|
6
|
-
export { default as Alert } from '@shoelace-style/shoelace/dist/react/alert/index.js';
|
|
7
|
-
export { default as AnimatedImage } from '@shoelace-style/shoelace/dist/react/animated-image/index.js';
|
|
8
|
-
export { default as Animation } from '@shoelace-style/shoelace/dist/react/animation/index.js';
|
|
9
|
-
export { default as Avatar } from '@shoelace-style/shoelace/dist/react/avatar/index.js';
|
|
10
|
-
export { default as Badge } from '@shoelace-style/shoelace/dist/react/badge/index.js';
|
|
11
|
-
export { default as Breadcrumb } from '@shoelace-style/shoelace/dist/react/breadcrumb/index.js';
|
|
12
|
-
export { default as BreadcrumbItem } from '@shoelace-style/shoelace/dist/react/breadcrumb-item/index.js';
|
|
13
|
-
export { default as Button } from '@shoelace-style/shoelace/dist/react/button/index.js';
|
|
14
|
-
export { default as ButtonGroup } from '@shoelace-style/shoelace/dist/react/button-group/index.js';
|
|
15
|
-
export { default as Card } from '@shoelace-style/shoelace/dist/react/card/index.js';
|
|
16
|
-
export { default as Carousel } from '@shoelace-style/shoelace/dist/react/carousel/index.js';
|
|
17
|
-
export { default as CarouselItem } from '@shoelace-style/shoelace/dist/react/carousel-item/index.js';
|
|
18
|
-
export { default as Checkbox } from '@shoelace-style/shoelace/dist/react/checkbox/index.js';
|
|
19
|
-
export { default as ColorPicker } from '@shoelace-style/shoelace/dist/react/color-picker/index.js';
|
|
20
|
-
export { default as CopyButton } from '@shoelace-style/shoelace/dist/react/copy-button/index.js';
|
|
21
|
-
export { default as Details } from '@shoelace-style/shoelace/dist/react/details/index.js';
|
|
22
|
-
export { default as Dialog } from '@shoelace-style/shoelace/dist/react/dialog/index.js';
|
|
23
|
-
export { default as Divider } from '@shoelace-style/shoelace/dist/react/divider/index.js';
|
|
24
|
-
export { default as Drawer } from '@shoelace-style/shoelace/dist/react/drawer/index.js';
|
|
25
|
-
export { default as Dropdown } from '@shoelace-style/shoelace/dist/react/dropdown/index.js';
|
|
26
|
-
export { default as FormatBytes } from '@shoelace-style/shoelace/dist/react/format-bytes/index.js';
|
|
27
|
-
export { default as FormatDate } from '@shoelace-style/shoelace/dist/react/format-date/index.js';
|
|
28
|
-
export { default as FormatNumber } from '@shoelace-style/shoelace/dist/react/format-number/index.js';
|
|
29
|
-
export { default as Icon } from '@shoelace-style/shoelace/dist/react/icon/index.js';
|
|
30
|
-
export { default as IconButton } from '@shoelace-style/shoelace/dist/react/icon-button/index.js';
|
|
31
|
-
export { default as ImageComparer } from '@shoelace-style/shoelace/dist/react/image-comparer/index.js';
|
|
32
|
-
export { default as Include } from '@shoelace-style/shoelace/dist/react/include/index.js';
|
|
33
|
-
export { default as Input } from '@shoelace-style/shoelace/dist/react/input/index.js';
|
|
34
|
-
export { default as Menu } from '@shoelace-style/shoelace/dist/react/menu/index.js';
|
|
35
|
-
export { default as MenuItem } from '@shoelace-style/shoelace/dist/react/menu-item/index.js';
|
|
36
|
-
export { default as MenuLabel } from '@shoelace-style/shoelace/dist/react/menu-label/index.js';
|
|
37
|
-
export { default as MutationObserver } from '@shoelace-style/shoelace/dist/react/mutation-observer/index.js';
|
|
38
|
-
export { default as Option } from '@shoelace-style/shoelace/dist/react/option/index.js';
|
|
39
|
-
export { default as Popup } from '@shoelace-style/shoelace/dist/react/popup/index.js';
|
|
40
|
-
export { default as ProgressBar } from '@shoelace-style/shoelace/dist/react/progress-bar/index.js';
|
|
41
|
-
export { default as ProgressRing } from '@shoelace-style/shoelace/dist/react/progress-ring/index.js';
|
|
42
|
-
export { default as QRCode } from '@shoelace-style/shoelace/dist/react/qr-code/index.js';
|
|
43
|
-
export { default as Radio } from '@shoelace-style/shoelace/dist/react/radio/index.js';
|
|
44
|
-
export { default as RadioButton } from '@shoelace-style/shoelace/dist/react/radio-button/index.js';
|
|
45
|
-
export { default as RadioGroup } from '@shoelace-style/shoelace/dist/react/radio-group/index.js';
|
|
46
|
-
export { default as Range } from '@shoelace-style/shoelace/dist/react/range/index.js';
|
|
47
|
-
export { default as Rating } from '@shoelace-style/shoelace/dist/react/rating/index.js';
|
|
48
|
-
export { default as RelativeTime } from '@shoelace-style/shoelace/dist/react/relative-time/index.js';
|
|
49
|
-
export { default as ResizeObserver } from '@shoelace-style/shoelace/dist/react/resize-observer/index.js';
|
|
50
|
-
export { default as Select } from '@shoelace-style/shoelace/dist/react/select/index.js';
|
|
51
|
-
export { default as Skeleton } from '@shoelace-style/shoelace/dist/react/skeleton/index.js';
|
|
52
|
-
export { default as Spinner } from '@shoelace-style/shoelace/dist/react/spinner/index.js';
|
|
53
|
-
export { default as SplitPanel } from '@shoelace-style/shoelace/dist/react/split-panel/index.js';
|
|
54
|
-
export { default as Switch } from '@shoelace-style/shoelace/dist/react/switch/index.js';
|
|
55
|
-
export { default as Tab } from '@shoelace-style/shoelace/dist/react/tab/index.js';
|
|
56
|
-
export { default as TabGroup } from '@shoelace-style/shoelace/dist/react/tab-group/index.js';
|
|
57
|
-
export { default as TabPanel } from '@shoelace-style/shoelace/dist/react/tab-panel/index.js';
|
|
58
|
-
export { default as Tag } from '@shoelace-style/shoelace/dist/react/tag/index.js';
|
|
59
|
-
export { default as Textarea } from '@shoelace-style/shoelace/dist/react/textarea/index.js';
|
|
60
|
-
export { default as Tooltip } from '@shoelace-style/shoelace/dist/react/tooltip/index.js';
|
|
61
|
-
export { default as Tree } from '@shoelace-style/shoelace/dist/react/tree/index.js';
|
|
62
|
-
export { default as TreeItem } from '@shoelace-style/shoelace/dist/react/tree-item/index.js';
|
|
63
|
-
export { default as VisuallyHidden } from '@shoelace-style/shoelace/dist/react/visually-hidden/index.js';
|