@3t-transform/threeteeui 0.0.15 → 0.0.16
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/dist/cjs/index-864b7110.js +1531 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/loader.cjs.js +22 -0
- package/dist/cjs/tttx-button.cjs.entry.js +28 -0
- package/dist/cjs/tttx-checkbox.cjs.entry.js +28 -0
- package/dist/cjs/tttx-form.cjs.entry.js +374 -0
- package/dist/cjs/tttx-icon.cjs.entry.js +1863 -0
- package/dist/cjs/tttx-list.cjs.entry.js +198 -0
- package/dist/cjs/tttx-loading-spinner.cjs.entry.js +26 -0
- package/dist/cjs/tttx-popover-content.cjs.entry.js +23 -0
- package/dist/cjs/tttx-standalone-input.cjs.entry.js +136 -0
- package/dist/cjs/tttx-table.cjs.entry.js +60 -0
- package/dist/cjs/tttx.cjs.js +23 -0
- package/dist/collection/collection-manifest.json +20 -0
- package/dist/collection/components/atoms/tttx-button/tttx-button.css +62 -0
- package/dist/collection/components/atoms/tttx-button/tttx-button.js +93 -0
- package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +27 -0
- package/dist/collection/components/atoms/tttx-icon/tttx-icon.css +105 -0
- package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +116 -0
- package/dist/collection/components/atoms/tttx-icon/tttx-icon.stories.js +47 -0
- package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.css +48 -0
- package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.js +66 -0
- package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.js +17 -0
- package/dist/collection/components/atoms/tttx-popover-content/tttx-popover-content.css +30 -0
- package/dist/collection/components/atoms/tttx-popover-content/tttx-popover-content.js +96 -0
- package/dist/collection/components/atoms/tttx-popover-content/tttx-popover-content.stories.js +23 -0
- package/dist/collection/components/atoms/ttx-checkbox/tttx-checkbox.css +181 -0
- package/dist/collection/components/atoms/ttx-checkbox/tttx-checkbox.js +101 -0
- package/dist/collection/components/atoms/ttx-checkbox/tttx-checkbox.stories.js +13 -0
- package/dist/collection/components/molecules/tttx-form/tttx-form.css +230 -0
- package/dist/collection/components/molecules/tttx-form/tttx-form.js +451 -0
- package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +109 -0
- package/dist/collection/components/molecules/tttx-list/tttx-list.css +56 -0
- package/dist/collection/components/molecules/tttx-list/tttx-list.js +311 -0
- package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +37 -0
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.css +177 -0
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +569 -0
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +156 -0
- package/dist/collection/components/molecules/tttx-table/tttx-table.css +166 -0
- package/dist/collection/components/molecules/tttx-table/tttx-table.js +177 -0
- package/dist/collection/components/molecules/tttx-table/tttx-table.stories.js +81 -0
- package/dist/collection/components/palette.stories.js +88 -0
- package/dist/collection/docs/gettingstarted-developer.stories.js +9 -0
- package/dist/collection/icons.js +2838 -0
- package/dist/collection/index.js +1 -0
- package/dist/components/index.d.ts +39 -0
- package/dist/components/index.js +10 -0
- package/dist/components/tttx-button.d.ts +11 -0
- package/dist/components/tttx-button.js +45 -0
- package/dist/components/tttx-checkbox.d.ts +11 -0
- package/dist/components/tttx-checkbox.js +46 -0
- package/dist/components/tttx-form.d.ts +11 -0
- package/dist/components/tttx-form.js +391 -0
- package/dist/components/tttx-icon.d.ts +11 -0
- package/dist/components/tttx-icon.js +6 -0
- package/dist/components/tttx-icon2.js +1877 -0
- package/dist/components/tttx-list.d.ts +11 -0
- package/dist/components/tttx-list.js +225 -0
- package/dist/components/tttx-loading-spinner.d.ts +11 -0
- package/dist/components/tttx-loading-spinner.js +6 -0
- package/dist/components/tttx-loading-spinner2.js +40 -0
- package/dist/components/tttx-popover-content.d.ts +11 -0
- package/dist/components/tttx-popover-content.js +6 -0
- package/dist/components/tttx-popover-content2.js +39 -0
- package/dist/components/tttx-standalone-input.d.ts +11 -0
- package/dist/components/tttx-standalone-input.js +179 -0
- package/dist/components/tttx-table.d.ts +11 -0
- package/dist/components/tttx-table.js +91 -0
- package/dist/esm/index-232e347b.js +1502 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +18 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm/tttx-button.entry.js +24 -0
- package/dist/esm/tttx-checkbox.entry.js +24 -0
- package/dist/esm/tttx-form.entry.js +370 -0
- package/dist/esm/tttx-icon.entry.js +1859 -0
- package/dist/esm/tttx-list.entry.js +194 -0
- package/dist/esm/tttx-loading-spinner.entry.js +22 -0
- package/dist/esm/tttx-popover-content.entry.js +19 -0
- package/dist/esm/tttx-standalone-input.entry.js +132 -0
- package/dist/esm/tttx-table.entry.js +56 -0
- package/dist/esm/tttx.js +18 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/tttx/index.esm.js +0 -0
- package/dist/tttx/p-01e1894e.entry.js +1 -0
- package/dist/tttx/p-10316ff1.entry.js +1 -0
- package/dist/tttx/p-125f06b3.entry.js +1 -0
- package/dist/tttx/p-184c4fae.js +2 -0
- package/dist/tttx/p-3973b7dd.entry.js +1 -0
- package/dist/tttx/p-5ce1ba22.entry.js +1 -0
- package/dist/tttx/p-6828fe6f.entry.js +1 -0
- package/dist/tttx/p-b1c22f5f.entry.js +1 -0
- package/dist/tttx/p-c7f9be65.entry.js +1 -0
- package/dist/tttx/p-fe4c70b2.entry.js +1 -0
- package/dist/tttx/tttx.esm.js +1 -0
- package/dist/types/components/atoms/tttx-button/tttx-button.d.ts +9 -0
- package/dist/types/components/atoms/tttx-button/tttx-button.stories.d.ts +20 -0
- package/dist/types/components/atoms/tttx-icon/tttx-icon.d.ts +14 -0
- package/dist/types/components/atoms/tttx-icon/tttx-icon.stories.d.ts +21 -0
- package/dist/types/components/atoms/tttx-loading-spinner/tttx-loading-spinner.d.ts +6 -0
- package/dist/types/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.d.ts +17 -0
- package/dist/types/components/atoms/tttx-popover-content/tttx-popover-content.d.ts +7 -0
- package/dist/types/components/atoms/tttx-popover-content/tttx-popover-content.stories.d.ts +18 -0
- package/dist/types/components/atoms/ttx-checkbox/tttx-checkbox.d.ts +9 -0
- package/dist/types/components/atoms/ttx-checkbox/tttx-checkbox.stories.d.ts +6 -0
- package/dist/types/components/molecules/tttx-form/tttx-form.d.ts +134 -0
- package/dist/types/components/molecules/tttx-form/tttx-form.stories.d.ts +12 -0
- package/dist/types/components/molecules/tttx-list/tttx-list.d.ts +51 -0
- package/dist/types/components/molecules/tttx-list/tttx-list.stories.d.ts +13 -0
- package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +38 -0
- package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.d.ts +106 -0
- package/dist/types/components/molecules/tttx-table/tttx-table.d.ts +15 -0
- package/dist/types/components/molecules/tttx-table/tttx-table.stories.d.ts +21 -0
- package/dist/types/components/palette.stories.d.ts +6 -0
- package/dist/types/components.d.ts +264 -0
- package/dist/types/docs/gettingstarted-developer.stories.d.ts +5 -0
- package/dist/types/icons.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1637 -0
- package/loader/cdn.js +3 -0
- package/loader/index.cjs.js +3 -0
- package/loader/index.d.ts +21 -0
- package/loader/index.es2017.js +3 -0
- package/loader/index.js +4 -0
- package/loader/package.json +11 -0
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
title: 'Atoms/Button',
|
|
3
|
+
component: 'tttx-button',
|
|
4
|
+
argTypes: {
|
|
5
|
+
fontColor: {
|
|
6
|
+
control: {
|
|
7
|
+
type: 'select',
|
|
8
|
+
options: ['font-white', 'font-black'],
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
buttonStyle: {
|
|
12
|
+
control: {
|
|
13
|
+
type: 'select',
|
|
14
|
+
options: ['primary-blue', 'secondary-white'],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
const Template = ({ content, fontColor, buttonStyle }) => `
|
|
20
|
+
<tttx-button font-color=${fontColor} button-style=${buttonStyle}>${content}</tttx-button>
|
|
21
|
+
`;
|
|
22
|
+
export const Default = Template.bind({});
|
|
23
|
+
Default.args = {
|
|
24
|
+
content: 'My Button',
|
|
25
|
+
fontColor: 'font-white',
|
|
26
|
+
buttonStyle: 'primary-blue',
|
|
27
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
.material-symbols-rounded {
|
|
2
|
+
font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.material-symbols-rounded {
|
|
6
|
+
font-family: "Material Symbols Rounded", sans-serif;
|
|
7
|
+
font-weight: 400;
|
|
8
|
+
font-style: normal;
|
|
9
|
+
font-size: 24px;
|
|
10
|
+
line-height: 1;
|
|
11
|
+
letter-spacing: normal;
|
|
12
|
+
text-transform: none;
|
|
13
|
+
display: inline-block;
|
|
14
|
+
white-space: nowrap;
|
|
15
|
+
word-wrap: normal;
|
|
16
|
+
direction: ltr;
|
|
17
|
+
text-rendering: optimizeLegibility;
|
|
18
|
+
-webkit-font-smoothing: antialiased;
|
|
19
|
+
color: #9e9e9e;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host {
|
|
23
|
+
display: block;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.tooltip {
|
|
27
|
+
background: #ffffff;
|
|
28
|
+
color: #343434;
|
|
29
|
+
font-weight: bold;
|
|
30
|
+
padding: 8px 16px;
|
|
31
|
+
font-size: 13px;
|
|
32
|
+
border-radius: 4px;
|
|
33
|
+
box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.3);
|
|
34
|
+
display: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.tooltip[data-show] {
|
|
38
|
+
display: block;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.arrow,
|
|
42
|
+
.arrow::before {
|
|
43
|
+
position: absolute;
|
|
44
|
+
width: 8px;
|
|
45
|
+
height: 8px;
|
|
46
|
+
background: inherit;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.arrow {
|
|
50
|
+
visibility: hidden;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.arrow::before {
|
|
54
|
+
visibility: visible;
|
|
55
|
+
content: "";
|
|
56
|
+
transform: rotate(45deg);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.tooltip[data-popper-placement^=top] > .arrow {
|
|
60
|
+
bottom: -4px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.tooltip[data-popper-placement^=bottom] > .arrow {
|
|
64
|
+
top: -4px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.tooltip[data-popper-placement^=left] > .arrow {
|
|
68
|
+
right: -4px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.tooltip[data-popper-placement^=right] > .arrow {
|
|
72
|
+
left: -4px;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.red {
|
|
76
|
+
color: #dc0000;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.orange {
|
|
80
|
+
color: #f59500;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.blue {
|
|
84
|
+
color: #1479c6;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.green {
|
|
88
|
+
color: #a2bb31;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.gray {
|
|
92
|
+
color: #757575;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.black {
|
|
96
|
+
color: #212121;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.white {
|
|
100
|
+
color: white;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.clickable {
|
|
104
|
+
cursor: pointer;
|
|
105
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { Host, h } from '@stencil/core';
|
|
2
|
+
import { createPopper } from '@popperjs/core';
|
|
3
|
+
export class TttxIcon {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.icon = undefined;
|
|
6
|
+
this.colour = 'grey';
|
|
7
|
+
}
|
|
8
|
+
handleDocumentClick(event) {
|
|
9
|
+
if (!event.composedPath().includes(this.referenceElement)) {
|
|
10
|
+
if (this.popperElement) {
|
|
11
|
+
this.popperElement.removeAttribute('data-show');
|
|
12
|
+
}
|
|
13
|
+
if (this.popperInstance) {
|
|
14
|
+
this.popperInstance.update();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
componentWillLoad() {
|
|
19
|
+
this.hasPopoverSlot = !!this.el.querySelector('[slot="popover"]');
|
|
20
|
+
}
|
|
21
|
+
componentDidLoad() {
|
|
22
|
+
if (this.popperElement) {
|
|
23
|
+
this.popperInstance = createPopper(this.referenceElement, this.popperElement, {
|
|
24
|
+
placement: 'top',
|
|
25
|
+
modifiers: [
|
|
26
|
+
{
|
|
27
|
+
name: 'flip',
|
|
28
|
+
options: {
|
|
29
|
+
fallbackPlacements: ['bottom'],
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'offset',
|
|
34
|
+
options: {
|
|
35
|
+
offset: [0, 12],
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
disconnectedCallback() {
|
|
43
|
+
this.popperInstance.destroy();
|
|
44
|
+
}
|
|
45
|
+
render() {
|
|
46
|
+
return (h(Host, null, h("span", { onClick: () => {
|
|
47
|
+
if (this.popperElement) {
|
|
48
|
+
this.popperElement.setAttribute('data-show', '');
|
|
49
|
+
}
|
|
50
|
+
if (this.popperInstance) {
|
|
51
|
+
this.popperInstance.update();
|
|
52
|
+
}
|
|
53
|
+
}, ref: el => (this.referenceElement = el), class: `material-symbols-rounded ${this.colour ? this.colour : ''} ${this.hasPopoverSlot ? 'clickable' : ''}` }, this.icon), this.hasPopoverSlot && (h("div", { ref: el => (this.popperElement = el), class: "tooltip" }, h("slot", { name: "popover" }), h("div", { class: "arrow", "data-popper-arrow": true })))));
|
|
54
|
+
}
|
|
55
|
+
static get is() { return "tttx-icon"; }
|
|
56
|
+
static get encapsulation() { return "shadow"; }
|
|
57
|
+
static get originalStyleUrls() {
|
|
58
|
+
return {
|
|
59
|
+
"$": ["tttx-icon.scss"]
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
static get styleUrls() {
|
|
63
|
+
return {
|
|
64
|
+
"$": ["tttx-icon.css"]
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
static get properties() {
|
|
68
|
+
return {
|
|
69
|
+
"icon": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"mutable": false,
|
|
72
|
+
"complexType": {
|
|
73
|
+
"original": "string",
|
|
74
|
+
"resolved": "string",
|
|
75
|
+
"references": {}
|
|
76
|
+
},
|
|
77
|
+
"required": false,
|
|
78
|
+
"optional": false,
|
|
79
|
+
"docs": {
|
|
80
|
+
"tags": [],
|
|
81
|
+
"text": ""
|
|
82
|
+
},
|
|
83
|
+
"attribute": "icon",
|
|
84
|
+
"reflect": false
|
|
85
|
+
},
|
|
86
|
+
"colour": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"mutable": false,
|
|
89
|
+
"complexType": {
|
|
90
|
+
"original": "string",
|
|
91
|
+
"resolved": "string",
|
|
92
|
+
"references": {}
|
|
93
|
+
},
|
|
94
|
+
"required": false,
|
|
95
|
+
"optional": false,
|
|
96
|
+
"docs": {
|
|
97
|
+
"tags": [],
|
|
98
|
+
"text": ""
|
|
99
|
+
},
|
|
100
|
+
"attribute": "colour",
|
|
101
|
+
"reflect": false,
|
|
102
|
+
"defaultValue": "'grey'"
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
static get elementRef() { return "el"; }
|
|
107
|
+
static get listeners() {
|
|
108
|
+
return [{
|
|
109
|
+
"name": "click",
|
|
110
|
+
"method": "handleDocumentClick",
|
|
111
|
+
"target": "document",
|
|
112
|
+
"capture": false,
|
|
113
|
+
"passive": false
|
|
114
|
+
}];
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import icons from './../../../icons';
|
|
2
|
+
const colours = ['red', 'blue', 'black', 'grey', 'green'];
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Atoms/Icons',
|
|
5
|
+
component: 'tttx-icon',
|
|
6
|
+
argTypes: {
|
|
7
|
+
icon: {
|
|
8
|
+
control: {
|
|
9
|
+
type: 'select',
|
|
10
|
+
options: icons,
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
colour: {
|
|
14
|
+
control: {
|
|
15
|
+
type: 'select',
|
|
16
|
+
options: colours,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
const Template = ({ icon, colour }) => `<tttx-icon icon="${icon}" colour="${colour}" />`;
|
|
22
|
+
export const Basic = Template.bind({});
|
|
23
|
+
Basic.args = {
|
|
24
|
+
icon: 'warning',
|
|
25
|
+
colour: 'red',
|
|
26
|
+
};
|
|
27
|
+
const WithPopoverTemplate = ({ icon, colour }) => `
|
|
28
|
+
<div style="overflow: auto; height: 300px;">
|
|
29
|
+
<div style="margin-top:150px; height:300px;">
|
|
30
|
+
<tttx-icon icon="${icon}" colour="${colour}">
|
|
31
|
+
<div slot="popover">
|
|
32
|
+
<tttx-popover-content
|
|
33
|
+
header="The humble egg"
|
|
34
|
+
body="Most arthropods such as insects, vertebrates (excluding live-bearing mammals), and mollusks lay eggs, although some, such as scorpions, do not."
|
|
35
|
+
linkcontext="Wikipedia_egg"
|
|
36
|
+
linktext="Learn more about eggs"
|
|
37
|
+
/>
|
|
38
|
+
</div>
|
|
39
|
+
</tttx-icon>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
`;
|
|
43
|
+
export const WithPopover = WithPopoverTemplate.bind({});
|
|
44
|
+
WithPopover.args = {
|
|
45
|
+
icon: 'warning',
|
|
46
|
+
colour: 'red',
|
|
47
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
.material-symbols-rounded {
|
|
2
|
+
font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.spinner-container {
|
|
6
|
+
position: absolute;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.loading-box {
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
justify-content: center;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.loading-text {
|
|
16
|
+
font-size: 16px;
|
|
17
|
+
font-weight: 400;
|
|
18
|
+
padding-top: 10px;
|
|
19
|
+
text-align: center;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.spinner {
|
|
23
|
+
border: solid #1479c6;
|
|
24
|
+
border-bottom-color: #d5d5d5;
|
|
25
|
+
border-radius: 50%;
|
|
26
|
+
position: relative;
|
|
27
|
+
box-sizing: border-box;
|
|
28
|
+
animation: rotation 1s linear infinite;
|
|
29
|
+
}
|
|
30
|
+
.spinner.small {
|
|
31
|
+
height: 20px;
|
|
32
|
+
width: 20px;
|
|
33
|
+
border-width: 4px;
|
|
34
|
+
}
|
|
35
|
+
.spinner.large {
|
|
36
|
+
height: 60px;
|
|
37
|
+
width: 60px;
|
|
38
|
+
border-width: 8px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@keyframes rotation {
|
|
42
|
+
0% {
|
|
43
|
+
transform: rotate(0deg);
|
|
44
|
+
}
|
|
45
|
+
100% {
|
|
46
|
+
transform: rotate(360deg);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
export class TttxLoadingSpinner {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.loadingMessage = undefined;
|
|
5
|
+
this.size = 'large';
|
|
6
|
+
}
|
|
7
|
+
renderLoadingMessage() {
|
|
8
|
+
if (!this.loadingMessage)
|
|
9
|
+
return '';
|
|
10
|
+
return h("div", { class: "loading-text" }, "Loading, please wait...");
|
|
11
|
+
}
|
|
12
|
+
render() {
|
|
13
|
+
return (h("div", { class: "spinner-container" }, h("div", { class: "loading-box" }, h("span", { class: `spinner ${this.size}` })), this.renderLoadingMessage()));
|
|
14
|
+
}
|
|
15
|
+
static get is() { return "tttx-loading-spinner"; }
|
|
16
|
+
static get encapsulation() { return "shadow"; }
|
|
17
|
+
static get originalStyleUrls() {
|
|
18
|
+
return {
|
|
19
|
+
"$": ["tttx-loading-spinner.scss"]
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
static get styleUrls() {
|
|
23
|
+
return {
|
|
24
|
+
"$": ["tttx-loading-spinner.css"]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
static get properties() {
|
|
28
|
+
return {
|
|
29
|
+
"loadingMessage": {
|
|
30
|
+
"type": "boolean",
|
|
31
|
+
"mutable": true,
|
|
32
|
+
"complexType": {
|
|
33
|
+
"original": "boolean",
|
|
34
|
+
"resolved": "boolean",
|
|
35
|
+
"references": {}
|
|
36
|
+
},
|
|
37
|
+
"required": false,
|
|
38
|
+
"optional": false,
|
|
39
|
+
"docs": {
|
|
40
|
+
"tags": [],
|
|
41
|
+
"text": ""
|
|
42
|
+
},
|
|
43
|
+
"attribute": "loading-message",
|
|
44
|
+
"reflect": false
|
|
45
|
+
},
|
|
46
|
+
"size": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"mutable": true,
|
|
49
|
+
"complexType": {
|
|
50
|
+
"original": "'small' | 'large'",
|
|
51
|
+
"resolved": "\"large\" | \"small\"",
|
|
52
|
+
"references": {}
|
|
53
|
+
},
|
|
54
|
+
"required": false,
|
|
55
|
+
"optional": false,
|
|
56
|
+
"docs": {
|
|
57
|
+
"tags": [],
|
|
58
|
+
"text": ""
|
|
59
|
+
},
|
|
60
|
+
"attribute": "size",
|
|
61
|
+
"reflect": false,
|
|
62
|
+
"defaultValue": "'large'"
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
title: 'atoms/Loading Spinner',
|
|
3
|
+
component: 'tttx-loading-spinner',
|
|
4
|
+
argTypes: {
|
|
5
|
+
loadingMessage: {
|
|
6
|
+
control: 'boolean',
|
|
7
|
+
},
|
|
8
|
+
size: {
|
|
9
|
+
control: { type: 'radio' },
|
|
10
|
+
options: ['small', 'large'],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
export const Example = args => {
|
|
15
|
+
const size = args.size || 'large';
|
|
16
|
+
return `<tttx-loading-spinner ${args.loadingMessage ? 'loading-message' : ''} size='${size}' />`;
|
|
17
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
.material-symbols-rounded {
|
|
2
|
+
font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
:host {
|
|
6
|
+
display: block;
|
|
7
|
+
max-width: 400px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
h4 {
|
|
11
|
+
margin: 0;
|
|
12
|
+
font-size: 15px;
|
|
13
|
+
font-weight: 700;
|
|
14
|
+
color: black;
|
|
15
|
+
margin-bottom: 4px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
p {
|
|
19
|
+
margin: 0;
|
|
20
|
+
font-size: 14px;
|
|
21
|
+
font-weight: normal;
|
|
22
|
+
color: black;
|
|
23
|
+
margin-bottom: 4px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.linky {
|
|
27
|
+
color: #1479c6;
|
|
28
|
+
text-decoration: none;
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Host, h } from '@stencil/core';
|
|
2
|
+
export class TttxPopoverContent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.header = undefined;
|
|
5
|
+
this.body = undefined;
|
|
6
|
+
this.linkcontext = undefined;
|
|
7
|
+
this.linktext = undefined;
|
|
8
|
+
}
|
|
9
|
+
render() {
|
|
10
|
+
return (h(Host, null, this.header && h("h4", null, this.header), this.body && h("p", null, this.body), this.linkcontext && (h("span", { class: "linky", onClick: evt => console.log(this.linkcontext, evt) }, this.linktext || 'More Information'))));
|
|
11
|
+
}
|
|
12
|
+
static get is() { return "tttx-popover-content"; }
|
|
13
|
+
static get encapsulation() { return "shadow"; }
|
|
14
|
+
static get originalStyleUrls() {
|
|
15
|
+
return {
|
|
16
|
+
"$": ["tttx-popover-content.scss"]
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
static get styleUrls() {
|
|
20
|
+
return {
|
|
21
|
+
"$": ["tttx-popover-content.css"]
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
static get properties() {
|
|
25
|
+
return {
|
|
26
|
+
"header": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"mutable": false,
|
|
29
|
+
"complexType": {
|
|
30
|
+
"original": "string",
|
|
31
|
+
"resolved": "string",
|
|
32
|
+
"references": {}
|
|
33
|
+
},
|
|
34
|
+
"required": false,
|
|
35
|
+
"optional": false,
|
|
36
|
+
"docs": {
|
|
37
|
+
"tags": [],
|
|
38
|
+
"text": ""
|
|
39
|
+
},
|
|
40
|
+
"attribute": "header",
|
|
41
|
+
"reflect": false
|
|
42
|
+
},
|
|
43
|
+
"body": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"mutable": false,
|
|
46
|
+
"complexType": {
|
|
47
|
+
"original": "string",
|
|
48
|
+
"resolved": "string",
|
|
49
|
+
"references": {}
|
|
50
|
+
},
|
|
51
|
+
"required": false,
|
|
52
|
+
"optional": false,
|
|
53
|
+
"docs": {
|
|
54
|
+
"tags": [],
|
|
55
|
+
"text": ""
|
|
56
|
+
},
|
|
57
|
+
"attribute": "body",
|
|
58
|
+
"reflect": false
|
|
59
|
+
},
|
|
60
|
+
"linkcontext": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"mutable": false,
|
|
63
|
+
"complexType": {
|
|
64
|
+
"original": "string",
|
|
65
|
+
"resolved": "string",
|
|
66
|
+
"references": {}
|
|
67
|
+
},
|
|
68
|
+
"required": false,
|
|
69
|
+
"optional": false,
|
|
70
|
+
"docs": {
|
|
71
|
+
"tags": [],
|
|
72
|
+
"text": ""
|
|
73
|
+
},
|
|
74
|
+
"attribute": "linkcontext",
|
|
75
|
+
"reflect": false
|
|
76
|
+
},
|
|
77
|
+
"linktext": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"mutable": false,
|
|
80
|
+
"complexType": {
|
|
81
|
+
"original": "string",
|
|
82
|
+
"resolved": "string",
|
|
83
|
+
"references": {}
|
|
84
|
+
},
|
|
85
|
+
"required": false,
|
|
86
|
+
"optional": false,
|
|
87
|
+
"docs": {
|
|
88
|
+
"tags": [],
|
|
89
|
+
"text": ""
|
|
90
|
+
},
|
|
91
|
+
"attribute": "linktext",
|
|
92
|
+
"reflect": false
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
title: 'Atoms/PopoverContent',
|
|
3
|
+
component: 'tttx-popover-content',
|
|
4
|
+
argTypes: {
|
|
5
|
+
header: {
|
|
6
|
+
control: {
|
|
7
|
+
type: 'text',
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
body: {
|
|
11
|
+
control: {
|
|
12
|
+
type: 'text',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
const Template = ({ header, body, linkcontext }) => `<tttx-popover-content header="${header}" body="${body}" linkcontext="${linkcontext}" />`;
|
|
18
|
+
export const Basic = Template.bind({});
|
|
19
|
+
Basic.args = {
|
|
20
|
+
header: 'HEADER',
|
|
21
|
+
body: 'BODY',
|
|
22
|
+
linkcontext: 'TESTING123',
|
|
23
|
+
};
|