@infineon/infineon-design-system-stencil 34.7.1--canary.1904.2c0f129feeb3726bc3fd2ea34c4e151914bd0717.0 → 34.7.1--canary.1905.5d02786fb9437b55bb2c098c3ac2ed346897e196.0
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/ifx-alert_2.cjs.entry.js +132 -86
- package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon-button.cjs.entry.js +8 -1
- package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon.cjs.entry.js +89 -0
- package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/index-7f4df11a.js +8 -8
- package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/alert/alert.js +0 -32
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/icon/infineonIconStencil.js +22 -3
- package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.js +16 -1
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/components/ifx-accordion-item.js +1 -1
- package/dist/components/ifx-alert.js +1 -1
- package/dist/components/ifx-breadcrumb-item-label.js +1 -1
- package/dist/components/ifx-checkbox-group.js +1 -1
- package/dist/components/ifx-checkbox.js +1 -1
- package/dist/components/ifx-chip-item.js +1 -1
- package/dist/components/ifx-chip.js +1 -1
- package/dist/components/ifx-date-picker.js +1 -1
- package/dist/components/ifx-dropdown-item.js +1 -1
- package/dist/components/ifx-dropdown-trigger-button.js +1 -1
- package/dist/components/ifx-faq.js +2 -2
- package/dist/components/ifx-file-upload.js +2 -2
- package/dist/components/ifx-filter-accordion.js +1 -1
- package/dist/components/ifx-filter-bar.js +1 -1
- package/dist/components/ifx-filter-search.js +2 -2
- package/dist/components/ifx-icon-button.js +1 -1
- package/dist/components/ifx-icon.js +1 -1
- package/dist/components/ifx-icons-preview.js +3 -3
- package/dist/components/ifx-list-entry.js +2 -2
- package/dist/components/ifx-list.js +1 -1
- package/dist/components/ifx-modal.js +2 -2
- package/dist/components/ifx-multiselect.js +1 -1
- package/dist/components/ifx-navbar-item.js +1 -1
- package/dist/components/ifx-navbar.js +1 -1
- package/dist/components/ifx-notification.js +1 -1
- package/dist/components/ifx-overview-table.js +1 -1
- package/dist/components/ifx-pagination.js +1 -1
- package/dist/components/ifx-radio-button-group.js +1 -1
- package/dist/components/ifx-search-bar.js +2 -2
- package/dist/components/ifx-search-field.js +1 -1
- package/dist/components/ifx-segment.js +1 -1
- package/dist/components/ifx-segmented-control.js +1 -1
- package/dist/components/ifx-select.js +1 -1
- package/dist/components/ifx-set-filter.js +5 -5
- package/dist/components/ifx-sidebar-item.js +1 -1
- package/dist/components/ifx-slider.js +1 -1
- package/dist/components/ifx-step.js +1 -1
- package/dist/components/ifx-table.js +7 -7
- package/dist/components/ifx-tabs.js +1 -1
- package/dist/components/ifx-tag.js +1 -1
- package/dist/components/ifx-template.js +1 -1
- package/dist/components/ifx-templates-ui.js +5 -5
- package/dist/components/ifx-text-field.js +1 -1
- package/dist/components/ifx-tooltip.js +1 -1
- package/dist/components/ifx-tree-view-item.js +2 -2
- package/dist/components/{p-9429cc3d.js → p-1f39b1ab.js} +3 -3
- package/dist/components/{p-9429cc3d.js.map → p-1f39b1ab.js.map} +1 -1
- package/dist/components/{p-1a5145f0.js → p-2a734d5f.js} +14 -4
- package/dist/components/p-2a734d5f.js.map +1 -0
- package/dist/components/{p-7d9b9a93.js → p-31295424.js} +2 -2
- package/dist/components/{p-7d9b9a93.js.map → p-31295424.js.map} +1 -1
- package/dist/components/{p-11e95622.js → p-41f4c858.js} +19 -5
- package/dist/components/p-41f4c858.js.map +1 -0
- package/dist/components/{p-3ec421ea.js → p-75133304.js} +2 -2
- package/dist/components/{p-3ec421ea.js.map → p-75133304.js.map} +1 -1
- package/dist/components/{p-5c5a8d3c.js → p-9989c431.js} +2 -2
- package/dist/components/{p-5c5a8d3c.js.map → p-9989c431.js.map} +1 -1
- package/dist/components/{p-0ea7af83.js → p-9a3b4db0.js} +3 -3
- package/dist/components/{p-0ea7af83.js.map → p-9a3b4db0.js.map} +1 -1
- package/dist/components/{p-5a9a16b5.js → p-a1ab95e6.js} +2 -2
- package/dist/components/{p-5a9a16b5.js.map → p-a1ab95e6.js.map} +1 -1
- package/dist/components/{p-1d3bba0f.js → p-b35b3e5b.js} +2 -2
- package/dist/components/{p-1d3bba0f.js.map → p-b35b3e5b.js.map} +1 -1
- package/dist/components/{p-146f815d.js → p-b58bc16c.js} +2 -2
- package/dist/components/{p-146f815d.js.map → p-b58bc16c.js.map} +1 -1
- package/dist/components/{p-9e143db8.js → p-be981058.js} +4 -4
- package/dist/components/{p-9e143db8.js.map → p-be981058.js.map} +1 -1
- package/dist/components/{p-69b9d3fb.js → p-ecc087d0.js} +2 -2
- package/dist/components/{p-69b9d3fb.js.map → p-ecc087d0.js.map} +1 -1
- package/dist/components/{p-5f97952a.js → p-ecccac95.js} +3 -3
- package/dist/components/{p-5f97952a.js.map → p-ecccac95.js.map} +1 -1
- package/dist/components/{p-ac56aa34.js → p-fac2c9b7.js} +2 -34
- package/dist/components/p-fac2c9b7.js.map +1 -0
- package/dist/esm/ifx-alert_2.entry.js +133 -87
- package/dist/esm/ifx-alert_2.entry.js.map +1 -1
- package/dist/esm/ifx-icon-button.entry.js +8 -1
- package/dist/esm/ifx-icon-button.entry.js.map +1 -1
- package/dist/esm/ifx-icon.entry.js +85 -0
- package/dist/esm/ifx-icon.entry.js.map +1 -0
- package/dist/esm/index-6c9eba32.js +8 -8
- package/dist/esm/infineon-design-system-stencil.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/{p-c49207b6.entry.js → p-33a4fd0a.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-33a4fd0a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-4be74824.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-4be74824.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-959285a7.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-959285a7.entry.js.map +1 -0
- package/dist/types/components/alert/alert.d.ts +0 -8
- package/dist/types/components/icon/infineonIconStencil.d.ts +3 -0
- package/dist/types/components/icon-button/icon-button.d.ts +2 -0
- package/package.json +1 -1
- package/dist/cjs/ifx-template.cjs.entry.js +0 -156
- package/dist/cjs/ifx-template.cjs.entry.js.map +0 -1
- package/dist/components/p-11e95622.js.map +0 -1
- package/dist/components/p-1a5145f0.js.map +0 -1
- package/dist/components/p-ac56aa34.js.map +0 -1
- package/dist/esm/ifx-template.entry.js +0 -152
- package/dist/esm/ifx-template.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-18ff9f83.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-18ff9f83.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-baea374a.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-baea374a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c49207b6.entry.js.map +0 -1
@@ -1,156 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
-
|
5
|
-
const index = require('./index-7f4df11a.js');
|
6
|
-
|
7
|
-
const templateCss = ".react__template-wrapper{display:flex;width:300px;height:200px;border-radius:3px;border:1px solid #ccc}.react__template-wrapper.hide{display:none}.react__template-wrapper:hover{cursor:pointer}.template__page-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.template__page-wrapper .repository__url{text-decoration:none}.input__fields-wrapper{display:flex;flex-direction:column;gap:10px}.details__wrapper{display:flex;flex-direction:column;gap:10px}.selection__buttons-wrapper{display:flex;gap:10px;padding-top:10px;align-items:center}.selection__buttons-wrapper .vue__label{color:#ccc}.selection__buttons-wrapper label:not(.vue__label):hover{cursor:pointer}.selection__buttons-wrapper .selection__input{display:flex;align-items:center;gap:5px}.selection__buttons-wrapper .selection__input input{margin:0;height:20px;width:20px}.selection__buttons-wrapper .selection__input input:hover:not(.vue__input){cursor:pointer}.image__wrapper img{position:relative;width:300px;height:100%;border-radius:3px;object-fit:contain;transition:transform 0.2s}.image__wrapper img:hover{transform:scale(2);top:50px;z-index:100}";
|
8
|
-
const IfxTemplateStyle0 = templateCss;
|
9
|
-
|
10
|
-
const Template = class {
|
11
|
-
constructor(hostRef) {
|
12
|
-
index.registerInstance(this, hostRef);
|
13
|
-
this.toggleTemplates = index.createEvent(this, "toggleTemplates", 7);
|
14
|
-
this.fieldError = index.createEvent(this, "fieldError", 7);
|
15
|
-
this.repoDetails = { name: "", desc: "", framework: "" };
|
16
|
-
this.showDetails = false;
|
17
|
-
this.isTemplatePage = false;
|
18
|
-
this.isLoading = true;
|
19
|
-
this.clientId = 'Ov23lixmXiNTTNb6V5W6';
|
20
|
-
this.redirectUri = 'https://infineon.github.io/infineon-design-system-stencil/?path=/docs/dds-templates--development';
|
21
|
-
this.scope = 'repo workflow';
|
22
|
-
this.state = 'template123';
|
23
|
-
}
|
24
|
-
authUser() {
|
25
|
-
const authorizationUrl = `https://github.com/login/oauth/authorize?` +
|
26
|
-
`client_id=${this.clientId}&` +
|
27
|
-
`redirect_uri=${this.redirectUri}&` +
|
28
|
-
`scope=${this.scope}&` +
|
29
|
-
`state=${this.state}`;
|
30
|
-
window.open(authorizationUrl, '_blank');
|
31
|
-
}
|
32
|
-
componentDidLoad() {
|
33
|
-
const url = new URL(window.location.href);
|
34
|
-
const code = url.searchParams.get('code');
|
35
|
-
const { templateName } = this.getLocalStorageValues();
|
36
|
-
if (code && this.name === templateName) {
|
37
|
-
this.isTemplatePage = true;
|
38
|
-
this.toggleTemplates.emit('details');
|
39
|
-
this.getUserToken(code);
|
40
|
-
}
|
41
|
-
}
|
42
|
-
getLocalStorageValues() {
|
43
|
-
const repoName = localStorage.getItem('repo_name');
|
44
|
-
const repoDesc = localStorage.getItem('repo_desc');
|
45
|
-
const repoFramework = localStorage.getItem('repo_framework');
|
46
|
-
const templateName = localStorage.getItem('selectedTemplate');
|
47
|
-
return { repoName, repoDesc, repoFramework, templateName };
|
48
|
-
}
|
49
|
-
async getUserToken(authCode) {
|
50
|
-
const { repoName, repoDesc, repoFramework, templateName } = this.getLocalStorageValues();
|
51
|
-
fetch(`https://ddstemplate-srv.cfapps.eu10-004.hana.ondemand.com/token/${authCode}/${repoName}/${repoDesc}/${repoFramework}/${templateName}`)
|
52
|
-
.then(response => {
|
53
|
-
if (response.ok) {
|
54
|
-
return response.text();
|
55
|
-
}
|
56
|
-
else {
|
57
|
-
return response.text().then(errorMessage => {
|
58
|
-
throw new Error(errorMessage);
|
59
|
-
});
|
60
|
-
}
|
61
|
-
})
|
62
|
-
.then(data => {
|
63
|
-
if (data) {
|
64
|
-
this.isLoading = false;
|
65
|
-
this.repoUrl = data;
|
66
|
-
localStorage.clear();
|
67
|
-
}
|
68
|
-
})
|
69
|
-
.catch(error => {
|
70
|
-
this.repoError = error.message;
|
71
|
-
console.error('Error:', error.message);
|
72
|
-
});
|
73
|
-
}
|
74
|
-
handleUserInput(e, type) {
|
75
|
-
if (type === 'name') {
|
76
|
-
this.repoDetails = Object.assign(Object.assign({}, this.repoDetails), { name: e.target.value });
|
77
|
-
}
|
78
|
-
else if (type === 'desc') {
|
79
|
-
this.repoDetails = Object.assign(Object.assign({}, this.repoDetails), { desc: e.target.value });
|
80
|
-
}
|
81
|
-
else if (type === 'framework') {
|
82
|
-
this.repoDetails = Object.assign(Object.assign({}, this.repoDetails), { framework: e.target.value });
|
83
|
-
}
|
84
|
-
}
|
85
|
-
submitUserData() {
|
86
|
-
if (this.repoDetails.name && this.repoDetails.desc && this.repoDetails.framework) {
|
87
|
-
localStorage.setItem('repo_name', this.repoDetails.name);
|
88
|
-
localStorage.setItem('repo_desc', this.repoDetails.desc);
|
89
|
-
localStorage.setItem('repo_framework', this.repoDetails.framework);
|
90
|
-
localStorage.setItem('selectedTemplate', this.name);
|
91
|
-
this.fieldError.emit(false);
|
92
|
-
this.authUser();
|
93
|
-
}
|
94
|
-
else {
|
95
|
-
this.fieldError.emit('All fields are mandatory');
|
96
|
-
}
|
97
|
-
}
|
98
|
-
togglePadding(action) {
|
99
|
-
let parent = this.el.parentElement;
|
100
|
-
if (parent) {
|
101
|
-
const rootNode = parent.getRootNode();
|
102
|
-
if (rootNode instanceof ShadowRoot) {
|
103
|
-
parent = rootNode.host.parentElement;
|
104
|
-
}
|
105
|
-
else {
|
106
|
-
parent = parent.parentElement;
|
107
|
-
}
|
108
|
-
if (action === 'remove') {
|
109
|
-
parent.parentElement.style.padding = '0px';
|
110
|
-
}
|
111
|
-
else if (action === 'add') {
|
112
|
-
parent.parentElement.style.padding = '4rem 20px';
|
113
|
-
}
|
114
|
-
}
|
115
|
-
}
|
116
|
-
handleCurrentTemplate(e) {
|
117
|
-
if (e && !this.showDetails) {
|
118
|
-
this.togglePadding('remove');
|
119
|
-
const targetTemplate = e.currentTarget;
|
120
|
-
this.toggleTemplates.emit(targetTemplate);
|
121
|
-
this.showDetails = true;
|
122
|
-
}
|
123
|
-
}
|
124
|
-
async toggleTemplate(currTemp) {
|
125
|
-
const templateWrapper = this.el.shadowRoot.querySelector('.react__template-wrapper');
|
126
|
-
if (templateWrapper) {
|
127
|
-
if (!templateWrapper.classList.contains('hide') && currTemp) {
|
128
|
-
if (templateWrapper !== currTemp) {
|
129
|
-
templateWrapper.classList.add('hide');
|
130
|
-
}
|
131
|
-
}
|
132
|
-
else {
|
133
|
-
if (this.showDetails) {
|
134
|
-
this.showDetails = false;
|
135
|
-
}
|
136
|
-
this.togglePadding('add');
|
137
|
-
templateWrapper.classList.remove('hide');
|
138
|
-
}
|
139
|
-
}
|
140
|
-
}
|
141
|
-
render() {
|
142
|
-
return (index.h("div", { key: '993f20bb1a7970d938d09ea001ee77b777d2a817' }, this.isTemplatePage
|
143
|
-
?
|
144
|
-
index.h("div", { class: "template__page-wrapper" }, !this.repoUrl && !this.repoError &&
|
145
|
-
index.h("div", null, index.h("h3", null, "Your repository is getting ready.."), index.h("p", null, "This will only take a minute.")), this.isLoading && !this.repoError && index.h("div", null, index.h("ifx-spinner", { variant: 'default', size: 's' })), this.repoUrl && index.h("ifx-link", { href: this.repoUrl, target: "_parent", size: "m", variant: "underlined" }, "Your repository"), this.repoError && index.h("div", null, this.repoError))
|
146
|
-
:
|
147
|
-
index.h("div", { class: "react__template-container" }, index.h("div", { class: "react__template-wrapper", onClick: (e) => this.handleCurrentTemplate(e) }, index.h("div", { class: "image__wrapper" }, index.h("img", { src: this.thumbnail }))), this.showDetails &&
|
148
|
-
index.h("div", { class: "details__wrapper" }, index.h("div", { class: "selection__buttons-wrapper" }, index.h("div", { class: "selection__input" }, index.h("input", { type: "radio", id: "react", name: "chosen_framework", value: "react", onInput: (e) => this.handleUserInput(e, 'framework') }), index.h("label", { htmlFor: "react" }, "React")), index.h("div", { class: "selection__input vue" }, index.h("input", { class: "vue__input", disabled: true, type: "radio", id: "vue", name: "chosen_framework", value: "vue", onInput: (e) => this.handleUserInput(e, 'framework') }), index.h("label", { class: "vue__label", htmlFor: "vue" }, "Vue"), " (Soon)")), index.h("div", { class: "input__fields-wrapper" }, index.h("ifx-text-field", { required: true, onInput: (e) => this.handleUserInput(e, 'name'), size: "m", icon: "c-info-16", placeholder: "Your repository name" }, "Repository Name"), index.h("ifx-text-field", { required: true, size: "m", icon: "c-info-16", onInput: (e) => this.handleUserInput(e, 'desc'), placeholder: "Your repository description" }, "Repository Description"), index.h("ifx-button", { fullWidth: true, onClick: () => this.submitUserData(), variant: 'primary' }, "Generate template"))))));
|
149
|
-
}
|
150
|
-
get el() { return index.getElement(this); }
|
151
|
-
};
|
152
|
-
Template.style = IfxTemplateStyle0;
|
153
|
-
|
154
|
-
exports.ifx_template = Template;
|
155
|
-
|
156
|
-
//# sourceMappingURL=ifx-template.cjs.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"ifx-template.entry.cjs.js","mappings":"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","names":["h"],"sources":["src/components/templates/template/template.scss?tag=ifx-template&encapsulation=shadow","src/components/templates/template/template.tsx"],"sourcesContent":["\n.react__template-wrapper { \n display: flex;\n width: 300px;\n height: 200px;\n border-radius: 3px;\n border: 1px solid #ccc;\n\n &.hide { \n display: none;\n }\n \n &:hover { \n cursor: pointer;\n }\n}\n\n.template__page-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n\n & .repository__url { \n text-decoration: none;\n }\n}\n\n.input__fields-wrapper { \n display: flex;\n flex-direction: column;\n gap: 10px;\n\n}\n\n.details__wrapper { \n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.selection__buttons-wrapper { \n display: flex;\n gap: 10px;\n padding-top: 10px;\n align-items: center;\n & .vue__label { \n color: #ccc;\n }\n\n & label:not(.vue__label) { \n &:hover { \n cursor: pointer;\n }\n }\n\n & .selection__input { \n display: flex;\n align-items: center;\n gap: 5px;\n & input { \n margin: 0;\n height: 20px;\n width: 20px;\n &:hover:not(.vue__input) { \n cursor: pointer;\n }\n }\n }\n}\n\n.image__wrapper { \n img { \n position: relative;\n width: 300px;\n height: 100%;\n border-radius: 3px;\n object-fit: contain;\n transition: transform .2s;\n &:hover { \n transform: scale(2);\n top: 50px;\n z-index: 100;\n }\n }\n}","import { Component, h, Element, State, Prop, Event, EventEmitter, Method } from '@stencil/core';\n\n@Component({\n tag: 'ifx-template',\n styleUrl: 'template.scss',\n shadow: true,\n})\nexport class Template {\n @Element() el: HTMLElement;\n @State() repoDetails: { name: string, desc: string, framework: string } = { name: \"\", desc: \"\", framework: \"\" };\n @State() repoUrl: string;\n @State() showDetails: boolean = false;\n @State() isTemplatePage: boolean = false;\n @State() isLoading: boolean = true;\n @State() repoError: string;\n @Prop() name: string;\n @Event() toggleTemplates: EventEmitter;\n @Event() fieldError: EventEmitter;\n @Prop() thumbnail: string;\n \n private clientId = 'Ov23lixmXiNTTNb6V5W6'\n private redirectUri = 'https://infineon.github.io/infineon-design-system-stencil/?path=/docs/dds-templates--development';\n private scope = 'repo workflow'\n private state = 'template123'\n\n authUser() { \n const authorizationUrl = `https://github.com/login/oauth/authorize?` +\n `client_id=${this.clientId}&` +\n `redirect_uri=${this.redirectUri}&` +\n `scope=${this.scope}&` +\n `state=${this.state}`;\n \n window.open(authorizationUrl, '_blank'); \n }\n\n componentDidLoad() { \n const url = new URL(window.location.href);\n const code = url.searchParams.get('code');\n const { templateName } = this.getLocalStorageValues()\n if(code && this.name === templateName) { \n this.isTemplatePage = true;\n this.toggleTemplates.emit('details')\n this.getUserToken(code)\n } \n }\n\n getLocalStorageValues() { \n const repoName = localStorage.getItem('repo_name');\n const repoDesc = localStorage.getItem('repo_desc');\n const repoFramework = localStorage.getItem('repo_framework');\n const templateName = localStorage.getItem('selectedTemplate');\n return { repoName, repoDesc, repoFramework, templateName }\n }\n\n async getUserToken(authCode) {\n const { repoName, repoDesc, repoFramework, templateName } = this.getLocalStorageValues();\n\n fetch(`https://ddstemplate-srv.cfapps.eu10-004.hana.ondemand.com/token/${authCode}/${repoName}/${repoDesc}/${repoFramework}/${templateName}`)\n .then(response => {\n if (response.ok) {\n return response.text();\n } else {\n return response.text().then(errorMessage => {\n throw new Error(errorMessage);\n });\n }\n })\n .then(data => { \n if(data) { \n this.isLoading = false;\n this.repoUrl = data;\n localStorage.clear();\n } \n })\n .catch(error => {\n this.repoError = error.message;\n console.error('Error:', error.message)\n });\n }\n\n handleUserInput(e, type) { \n if (type === 'name') {\n this.repoDetails = { ...this.repoDetails, name: e.target.value };\n } else if (type === 'desc') {\n this.repoDetails = { ...this.repoDetails, desc: e.target.value };\n } else if(type === 'framework') { \n this.repoDetails = { ...this.repoDetails, framework: e.target.value };\n }\n }\n\n submitUserData() { \n if(this.repoDetails.name && this.repoDetails.desc && this.repoDetails.framework) { \n localStorage.setItem('repo_name', this.repoDetails.name);\n localStorage.setItem('repo_desc', this.repoDetails.desc);\n localStorage.setItem('repo_framework', this.repoDetails.framework);\n localStorage.setItem('selectedTemplate', this.name);\n this.fieldError.emit(false)\n this.authUser()\n } else { \n this.fieldError.emit('All fields are mandatory')\n }\n }\n\n togglePadding(action) { \n let parent = this.el.parentElement;\n if (parent) {\n const rootNode = parent.getRootNode();\n if (rootNode instanceof ShadowRoot) {\n parent = rootNode.host.parentElement;\n } else {\n parent = parent.parentElement;\n }\n if(action === 'remove') { \n parent.parentElement.style.padding = '0px';\n } else if(action === 'add') { \n parent.parentElement.style.padding = '4rem 20px';\n }\n }\n }\n\n handleCurrentTemplate(e) { \n if(e && !this.showDetails) { \n this.togglePadding('remove')\n const targetTemplate = e.currentTarget;\n this.toggleTemplates.emit(targetTemplate)\n this.showDetails = true;\n } \n }\n\n @Method()\n async toggleTemplate(currTemp) { \n const templateWrapper = this.el.shadowRoot.querySelector('.react__template-wrapper');\n if(templateWrapper) { \n if(!templateWrapper.classList.contains('hide') && currTemp ) { \n if(templateWrapper !== currTemp) {\n templateWrapper.classList.add('hide')\n }\n } else { \n if(this.showDetails) { \n this.showDetails = false;\n }\n this.togglePadding('add')\n templateWrapper.classList.remove('hide')\n }\n }\n }\n\n \n render() {\n return (\n <div>\n {this.isTemplatePage \n ? \n <div class=\"template__page-wrapper\">\n {!this.repoUrl && !this.repoError && \n <div>\n <h3>Your repository is getting ready..</h3>\n <p>This will only take a minute.</p>\n </div>}\n {this.isLoading && !this.repoError && <div><ifx-spinner variant='default' size='s' /></div>}\n {this.repoUrl && <ifx-link href={this.repoUrl} target=\"_parent\" size=\"m\" variant=\"underlined\">Your repository</ifx-link>}\n {this.repoError && <div>{this.repoError}</div>}\n </div> \n : \n <div class=\"react__template-container\">\n <div class=\"react__template-wrapper\" onClick={(e) => this.handleCurrentTemplate(e)}>\n <div class=\"image__wrapper\">\n <img src={this.thumbnail} />\n </div>\n </div>\n {this.showDetails && \n <div class=\"details__wrapper\">\n <div class=\"selection__buttons-wrapper\">\n <div class=\"selection__input\">\n <input type=\"radio\" id=\"react\" name=\"chosen_framework\" value=\"react\" onInput={(e) => this.handleUserInput(e, 'framework')} />\n <label htmlFor=\"react\">React</label>\n </div>\n <div class=\"selection__input vue\">\n <input class=\"vue__input\" disabled type=\"radio\" id=\"vue\" name=\"chosen_framework\" value=\"vue\" onInput={(e) => this.handleUserInput(e, 'framework')}/>\n <label class=\"vue__label\" htmlFor=\"vue\">Vue</label> (Soon)\n </div>\n </div>\n \n\n <div class=\"input__fields-wrapper\">\n <ifx-text-field required={true} onInput={(e) => this.handleUserInput(e, 'name')} size=\"m\" icon=\"c-info-16\" placeholder=\"Your repository name\">Repository Name</ifx-text-field>\n\n <ifx-text-field required={true} size=\"m\" icon=\"c-info-16\" onInput={(e) => this.handleUserInput(e, 'desc')} placeholder=\"Your repository description\">Repository Description</ifx-text-field>\n\n <ifx-button fullWidth={true} onClick={() => this.submitUserData()} variant='primary'>Generate template</ifx-button>\n </div>\n \n </div>}\n </div>}\n </div>\n );\n }\n}"],"version":3}
|