@dropi/ui 0.1.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/LICENSE +21 -0
- package/dist/cjs/dropi-badge.cjs.entry.js +37 -0
- package/dist/cjs/dropi-button.cjs.entry.js +81 -0
- package/dist/cjs/dropi-checkbox.cjs.entry.js +36 -0
- package/dist/cjs/dropi-icon.cjs.entry.js +50 -0
- package/dist/cjs/dropi-input.cjs.entry.js +210 -0
- package/dist/cjs/dropi-radio-button.cjs.entry.js +47 -0
- package/dist/cjs/dropi-select.cjs.entry.js +335 -0
- package/dist/cjs/dropi-switch.cjs.entry.js +30 -0
- package/dist/cjs/dropi-tag.cjs.entry.js +68 -0
- package/dist/cjs/dropi-text-area.cjs.entry.js +103 -0
- package/dist/cjs/dropi-ui.cjs.js +24 -0
- package/dist/cjs/index-CuGLZVqo.js +1743 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/loader.cjs.js +12 -0
- package/dist/collection/assets/icons/symbol/svg/sprite.css.svg +1 -0
- package/dist/collection/collection-manifest.json +22 -0
- package/dist/collection/components/dropi-badge/dropi-badge.css +41 -0
- package/dist/collection/components/dropi-badge/dropi-badge.js +72 -0
- package/dist/collection/components/dropi-button/dropi-button.css +169 -0
- package/dist/collection/components/dropi-button/dropi-button.js +277 -0
- package/dist/collection/components/dropi-checkbox/dropi-checkbox.css +47 -0
- package/dist/collection/components/dropi-checkbox/dropi-checkbox.js +103 -0
- package/dist/collection/components/dropi-icon/dropi-icon.css +19 -0
- package/dist/collection/components/dropi-icon/dropi-icon.js +142 -0
- package/dist/collection/components/dropi-input/dropi-input.css +168 -0
- package/dist/collection/components/dropi-input/dropi-input.js +735 -0
- package/dist/collection/components/dropi-radio-button/dropi-radio-button.css +59 -0
- package/dist/collection/components/dropi-radio-button/dropi-radio-button.js +181 -0
- package/dist/collection/components/dropi-select/dropi-select.css +364 -0
- package/dist/collection/components/dropi-select/dropi-select.js +932 -0
- package/dist/collection/components/dropi-select/select.types.js +1 -0
- package/dist/collection/components/dropi-switch/dropi-switch.css +57 -0
- package/dist/collection/components/dropi-switch/dropi-switch.js +96 -0
- package/dist/collection/components/dropi-tag/dropi-tag.css +40 -0
- package/dist/collection/components/dropi-tag/dropi-tag.js +190 -0
- package/dist/collection/components/dropi-text-area/dropi-text-area.css +97 -0
- package/dist/collection/components/dropi-text-area/dropi-text-area.js +457 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/utils.js +3 -0
- package/dist/collection/utils/utils.unit.test.js +16 -0
- package/dist/components/dropi-badge.d.ts +11 -0
- package/dist/components/dropi-badge.js +1 -0
- package/dist/components/dropi-button.d.ts +11 -0
- package/dist/components/dropi-button.js +1 -0
- package/dist/components/dropi-checkbox.d.ts +11 -0
- package/dist/components/dropi-checkbox.js +1 -0
- package/dist/components/dropi-icon.d.ts +11 -0
- package/dist/components/dropi-icon.js +1 -0
- package/dist/components/dropi-input.d.ts +11 -0
- package/dist/components/dropi-input.js +1 -0
- package/dist/components/dropi-radio-button.d.ts +11 -0
- package/dist/components/dropi-radio-button.js +1 -0
- package/dist/components/dropi-select.d.ts +11 -0
- package/dist/components/dropi-select.js +1 -0
- package/dist/components/dropi-switch.d.ts +11 -0
- package/dist/components/dropi-switch.js +1 -0
- package/dist/components/dropi-tag.d.ts +11 -0
- package/dist/components/dropi-tag.js +1 -0
- package/dist/components/dropi-text-area.d.ts +11 -0
- package/dist/components/dropi-text-area.js +1 -0
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +1 -0
- package/dist/components/p-MNma8N1x.js +1 -0
- package/dist/dropi-ui/dropi-ui.css +1 -0
- package/dist/dropi-ui/dropi-ui.esm.js +1 -0
- package/dist/dropi-ui/index.esm.js +0 -0
- package/dist/dropi-ui/p-1a28b8f5.entry.js +1 -0
- package/dist/dropi-ui/p-21abf91a.entry.js +1 -0
- package/dist/dropi-ui/p-52291024.entry.js +1 -0
- package/dist/dropi-ui/p-54502c46.entry.js +1 -0
- package/dist/dropi-ui/p-6f0aa619.entry.js +1 -0
- package/dist/dropi-ui/p-9c7076d3.entry.js +1 -0
- package/dist/dropi-ui/p-DFz-gwFP.js +2 -0
- package/dist/dropi-ui/p-a1944f3d.entry.js +1 -0
- package/dist/dropi-ui/p-c7b9cbda.entry.js +1 -0
- package/dist/dropi-ui/p-dd089a60.entry.js +1 -0
- package/dist/dropi-ui/p-f785011f.entry.js +1 -0
- package/dist/esm/dropi-badge.entry.js +35 -0
- package/dist/esm/dropi-button.entry.js +79 -0
- package/dist/esm/dropi-checkbox.entry.js +34 -0
- package/dist/esm/dropi-icon.entry.js +48 -0
- package/dist/esm/dropi-input.entry.js +208 -0
- package/dist/esm/dropi-radio-button.entry.js +45 -0
- package/dist/esm/dropi-select.entry.js +333 -0
- package/dist/esm/dropi-switch.entry.js +28 -0
- package/dist/esm/dropi-tag.entry.js +66 -0
- package/dist/esm/dropi-text-area.entry.js +101 -0
- package/dist/esm/dropi-ui.js +20 -0
- package/dist/esm/index-DFz-gwFP.js +1734 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +10 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/components/dropi-badge/dropi-badge.d.ts +12 -0
- package/dist/types/components/dropi-button/dropi-button.d.ts +35 -0
- package/dist/types/components/dropi-checkbox/dropi-checkbox.d.ts +16 -0
- package/dist/types/components/dropi-icon/dropi-icon.d.ts +25 -0
- package/dist/types/components/dropi-input/dropi-input.d.ts +92 -0
- package/dist/types/components/dropi-radio-button/dropi-radio-button.d.ts +25 -0
- package/dist/types/components/dropi-select/dropi-select.d.ts +103 -0
- package/dist/types/components/dropi-select/select.types.d.ts +23 -0
- package/dist/types/components/dropi-switch/dropi-switch.d.ts +15 -0
- package/dist/types/components/dropi-tag/dropi-tag.d.ts +25 -0
- package/dist/types/components/dropi-text-area/dropi-text-area.d.ts +53 -0
- package/dist/types/components.d.ts +1549 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/stencil-public-runtime.d.ts +1860 -0
- package/dist/types/utils/utils.d.ts +1 -0
- package/dist/types/utils/utils.unit.test.d.ts +1 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +50 -0
- package/readme.md +89 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-DFz-gwFP.js';
|
|
2
|
+
|
|
3
|
+
const dropiButtonCss = () => `:host{display:inline-block}*,*::before,*::after{box-sizing:border-box}.btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--Size-1, 4px);border-radius:var(--Border-2, 8px);font-weight:700;min-width:33px;line-height:110%;cursor:pointer;white-space:nowrap;transition:background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease}.btn:active{transition:transform 0.01s ease-out;transform:scale(0.98)}.btn:hover:not(:active){transform:scale(1.01)}.btn.without-text{gap:0}.btn.large{padding:var(--Size-4, 16px);font-size:var(--Size-4, 16px);height:48px}.btn.normal{padding:var(--Size-3, 12px);font-size:var(--font-size-s, 12px);height:40px}.btn.small{padding:var(--Size-2, 8px);font-size:var(--Size-3, 12px);height:29px}.btn.disabled,.btn.loading{cursor:not-allowed;pointer-events:none}.btn.primary.default{background:var(--Primary-Primary-500, #f49a3d);color:var(--Neutral-White, #fff)}.btn.primary.default:hover{background:var(--Primary-Primary-600, #e58017)}.btn.primary.success{background:var(--Success-Success-500, #0abb87);color:var(--Neutral-White, #fff)}.btn.primary.success:hover{background:var(--Success-Success-600, #09aa7b)}.btn.primary.info{background:var(--Info-Info-500, #50a5f1);color:var(--Neutral-White, #fff)}.btn.primary.info:hover{background:var(--Info-Info-600, #4996db)}.btn.primary.error{background:var(--Error-Error-500, #f46a6b);color:var(--Neutral-White, #fff)}.btn.primary.error:hover{background:var(--Error-Error-600, #de6061)}.btn.primary.warning{background:var(--Warning-Warning-500, #f1b44c);color:var(--Neutral-White, #fff)}.btn.primary.warning:hover{background:var(--Warning-Warning-600, #dba445)}.btn.primary.legacy{background:var(--Secondary-Secondary-500, #008dbf);color:var(--Neutral-White, #fff)}.btn.primary.legacy:hover{background:var(--Secondary-Secondary-600, #007199)}.btn.primary.disabled.default{background:var(--Primary-Primary-300, #f2bc85);color:var(--Neutral-White, #fff)}.btn.primary.disabled.success{background:var(--Success-Success-300, #5bd1af);color:var(--Neutral-White, #fff)}.btn.primary.disabled.info{background:var(--Info-Info-300, #8ac3f6);color:var(--Neutral-White, #fff)}.btn.primary.disabled.error{background:var(--Error-Error-300, #f89b9c);color:var(--Neutral-White, #fff)}.btn.primary.disabled.warning{background:var(--Warning-Warning-300, #f6cd87);color:var(--Neutral-White, #fff)}.btn.primary.disabled.legacy{background:var(--Secondary-Secondary-300, #62bad9);color:var(--Neutral-White, #fff)}.btn.secondary{background:var(--Neutral-White, #fff);border:1px solid}.btn.secondary.default{border-color:var(--Primary-Primary-500, #f49a3d);color:var(--Primary-Primary-500, #f49a3d)}.btn.secondary.default:hover{color:var(--Primary-Primary-600, #e58017);border-color:var(--Primary-Primary-600, #e58017)}.btn.secondary.success{border-color:var(--Success-Success-500, #0abb87);color:var(--Success-Success-500, #0abb87)}.btn.secondary.success:hover{color:var(--Success-Success-600, #09aa7b);border-color:var(--Success-Success-600, #09aa7b)}.btn.secondary.info{border-color:var(--Info-Info-500, #50a5f1);color:var(--Info-Info-500, #50a5f1)}.btn.secondary.info:hover{color:var(--Info-Info-600, #4996db);border-color:var(--Info-Info-600, #4996db)}.btn.secondary.error{border-color:var(--Error-Error-500, #f46a6b);color:var(--Error-Error-500, #f46a6b)}.btn.secondary.error:hover{color:var(--Error-Error-600, #de6061);border-color:var(--Error-Error-600, #de6061)}.btn.secondary.warning{border-color:var(--Warning-Warning-500, #f1b44c);color:var(--Warning-Warning-500, #f1b44c)}.btn.secondary.warning:hover{color:var(--Warning-Warning-600, #dba445);border-color:var(--Warning-Warning-600, #dba445)}.btn.secondary.legacy{border-color:var(--Secondary-Secondary-500, #008dbf);color:var(--Secondary-Secondary-500, #008dbf)}.btn.secondary.legacy:hover{color:var(--Secondary-Secondary-600, #007199);border-color:var(--Secondary-Secondary-600, #007199)}.btn.secondary.disabled.default{border-color:var(--Primary-Primary-300, #f2bc85);color:var(--Primary-Primary-300, #f2bc85)}.btn.secondary.disabled.success{border-color:var(--Success-Success-300, #5bd1af);color:var(--Success-Success-300, #5bd1af)}.btn.secondary.disabled.info{border-color:var(--Info-Info-300, #8ac3f6);color:var(--Info-Info-300, #8ac3f6)}.btn.secondary.disabled.error{border-color:var(--Error-Error-300, #f89b9c);color:var(--Error-Error-300, #f89b9c)}.btn.secondary.disabled.warning{border-color:var(--Warning-Warning-300, #f6cd87);color:var(--Warning-Warning-300, #f6cd87)}.btn.secondary.disabled.legacy{border-color:var(--Secondary-Secondary-300, #62bad9);color:var(--Secondary-Secondary-300, #62bad9)}.btn.tertiary{background:none;border:none}.btn.tertiary.default,.btn.tertiary.legacy{border:1px solid var(--Gray-Gray-200, #c3c9d9);color:var(--Gray-Gray-500, #69738c)}.btn.tertiary.default:hover,.btn.tertiary.legacy:hover{border-color:var(--Gray-Gray-400, #858ea6);color:var(--Gray-Gray-600, #475066)}.btn.tertiary.success{color:var(--Success-Success-500, #0abb87)}.btn.tertiary.success:hover{background:var(--Success-Success-50, #e7f8f3)}.btn.tertiary.info{color:var(--Info-Info-500, #50a5f1)}.btn.tertiary.info:hover{background:var(--Info-Info-50, #eef6fe)}.btn.tertiary.error{color:var(--Error-Error-500, #f46a6b)}.btn.tertiary.error:hover{background:var(--Error-Error-50, #fef0f0)}.btn.tertiary.warning{color:var(--Warning-Warning-500, #f1b44c)}.btn.tertiary.warning:hover{background:var(--Warning-Warning-50, #fef8ed)}.btn.tertiary.dropdown{color:var(--Gray-Gray-500, #69738c);font-weight:400;font-size:14px;background:transparent}.btn.tertiary.disabled.default,.btn.tertiary.disabled.legacy{border:1px solid var(--Gray-Gray-200, #c3c9d9);color:var(--Gray-Gray-400, #858ea6)}.btn.tertiary.disabled.success{color:var(--Success-Success-300, #5bd1af)}.btn.tertiary.disabled.info{color:var(--Info-Info-300, #8ac3f6)}.btn.tertiary.disabled.error{color:var(--Error-Error-300, #f89b9c)}.btn.tertiary.disabled.warning{color:var(--Warning-Warning-300, #f6cd87)}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`;
|
|
4
|
+
|
|
5
|
+
const DropiButton = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.dropiClick = createEvent(this, "dropiClick");
|
|
9
|
+
}
|
|
10
|
+
/** Visual color palette */
|
|
11
|
+
type = 'default';
|
|
12
|
+
/** Primary (filled) | Secondary (outlined) | Tertiary (ghost) */
|
|
13
|
+
severity = 'primary';
|
|
14
|
+
/** Button size */
|
|
15
|
+
size = 'normal';
|
|
16
|
+
/** Button state */
|
|
17
|
+
state = 'default';
|
|
18
|
+
/** Icon name to show before the text */
|
|
19
|
+
preIcon = '';
|
|
20
|
+
/** Icon name to show after the text */
|
|
21
|
+
postIcon = '';
|
|
22
|
+
/** Button label */
|
|
23
|
+
text = '';
|
|
24
|
+
/** Emitted on click (not emitted when disabled or loading) */
|
|
25
|
+
dropiClick;
|
|
26
|
+
colorMap = {
|
|
27
|
+
default: 'Primary-Primary-',
|
|
28
|
+
success: 'Success-Success-',
|
|
29
|
+
error: 'Error-Error-',
|
|
30
|
+
info: 'Info-Info-',
|
|
31
|
+
legacy: 'Secondary-Secondary-',
|
|
32
|
+
warning: 'Warning-Warning-',
|
|
33
|
+
dropdown: 'Gray-Gray-',
|
|
34
|
+
};
|
|
35
|
+
get iconSize() {
|
|
36
|
+
if (this.size === 'large')
|
|
37
|
+
return '24px';
|
|
38
|
+
if (this.size === 'small')
|
|
39
|
+
return '16px';
|
|
40
|
+
return '18px';
|
|
41
|
+
}
|
|
42
|
+
get color() {
|
|
43
|
+
const intensity = this.state === 'disabled' ? '300' : '500';
|
|
44
|
+
return (this.colorMap[this.type] ?? 'Primary-Primary-') + intensity;
|
|
45
|
+
}
|
|
46
|
+
get fontColor() {
|
|
47
|
+
if (this.severity === 'tertiary') {
|
|
48
|
+
return this.type === 'default' || this.type === 'legacy' ? 'Gray-Gray-500' : this.color;
|
|
49
|
+
}
|
|
50
|
+
if (this.severity === 'secondary')
|
|
51
|
+
return this.color;
|
|
52
|
+
return 'Neutral-White';
|
|
53
|
+
}
|
|
54
|
+
handleClick(e) {
|
|
55
|
+
if (this.state !== 'disabled' && this.state !== 'loading') {
|
|
56
|
+
this.dropiClick.emit(e);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
renderLoadingSpinner() {
|
|
60
|
+
return (h("svg", { class: "spin", width: this.iconSize, height: this.iconSize, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M22.8 12C23.4627 12 24.0062 11.4614 23.9401 10.802C23.8232 9.6371 23.5362 8.49339 23.0866 7.4078C22.4835 5.95189 21.5996 4.62902 20.4853 3.51472C19.371 2.40042 18.0481 1.5165 16.5922 0.913445C15.5066 0.463778 14.3629 0.17683 13.198 0.0599502C12.5386 -0.00621439 12 0.537258 12 1.2C12 1.86274 12.5393 2.39227 13.1969 2.4749C14.0463 2.58164 14.8795 2.80176 15.6738 3.13076C16.8385 3.6132 17.8968 4.32033 18.7882 5.21177C19.6797 6.10322 20.3868 7.16151 20.8692 8.32624C21.1982 9.12051 21.4184 9.95367 21.5251 10.8031C21.6077 11.4607 22.1373 12 22.8 12Z", fill: `var(--${this.fontColor})` })));
|
|
61
|
+
}
|
|
62
|
+
render() {
|
|
63
|
+
const isDisabled = this.state === 'disabled' || this.state === 'loading';
|
|
64
|
+
const hasText = this.text !== '';
|
|
65
|
+
const showPostIcon = this.postIcon !== '' || this.type === 'dropdown';
|
|
66
|
+
const dropdownIcon = this.type === 'dropdown' ? 'Dropdown-down' : this.postIcon;
|
|
67
|
+
return (h("button", { key: '6cde7f2616d1cff9e3304481f2a0c38aabc34192', class: {
|
|
68
|
+
btn: true,
|
|
69
|
+
'without-text': !hasText,
|
|
70
|
+
[this.severity]: true,
|
|
71
|
+
[this.type]: true,
|
|
72
|
+
[this.size]: true,
|
|
73
|
+
[this.state]: true,
|
|
74
|
+
}, disabled: isDisabled, onClick: (e) => this.handleClick(e) }, this.preIcon && (h("dropi-icon", { key: '769cea8fce2947552462aa2cbbb09d64df952c76', name: this.preIcon, width: this.iconSize, height: this.iconSize, color: this.fontColor })), hasText && h("span", { key: 'f66ad80283d54f643cf37ea702145127b90d4ce4', class: "text" }, this.text), showPostIcon && (h("dropi-icon", { key: '4fd9c7d7d029c3316bc0492576cda0cca74fa460', name: dropdownIcon, width: this.iconSize, height: this.iconSize, color: this.fontColor })), this.state === 'loading' && this.renderLoadingSpinner(), h("slot", { key: '3280c56a28ea40016d35e186b9997635b8ba881b' })));
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
DropiButton.style = dropiButtonCss();
|
|
78
|
+
|
|
79
|
+
export { DropiButton as dropi_button };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-DFz-gwFP.js';
|
|
2
|
+
|
|
3
|
+
const dropiCheckboxCss = () => `:host{display:inline-block}*,*::before,*::after{box-sizing:border-box}.container-dropi-checkbox{display:inline-block}.check{width:20px;height:20px;border-radius:var(--Border-1, 4px);cursor:pointer;transition:background-color 0.3s ease-in-out, border-style 0.3s ease-in-out}.noCheck{border-style:solid;border-width:2px;border-color:var(--Gray-Gray-200, #c3c9d9);display:flex;justify-content:center;align-items:center}.noCheck svg{visibility:hidden}.isCheck{display:flex;background-color:var(--Primary-Primary-500, #f49a3d);justify-content:center;align-items:center}.disabled{background-color:var(--Gray-Gray-50, #f7f8fa);border-color:var(--Gray-Gray-100, #e6eaf2);cursor:not-allowed}`;
|
|
4
|
+
|
|
5
|
+
const DropiCheckbox = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.dropiChange = createEvent(this, "dropiChange");
|
|
9
|
+
}
|
|
10
|
+
/** Whether the checkbox is checked */
|
|
11
|
+
checked = false;
|
|
12
|
+
/** Whether the checkbox is disabled */
|
|
13
|
+
disabled = false;
|
|
14
|
+
/** Emitted when the checked state changes */
|
|
15
|
+
dropiChange;
|
|
16
|
+
changeState() {
|
|
17
|
+
if (this.disabled)
|
|
18
|
+
return;
|
|
19
|
+
this.checked = !this.checked;
|
|
20
|
+
this.dropiChange.emit(this.checked);
|
|
21
|
+
}
|
|
22
|
+
render() {
|
|
23
|
+
return (h("div", { key: 'e5c7ef2fd09e5e18b71cbbdd96cc13d4fd99b8a5', class: "container-dropi-checkbox", onClick: () => this.changeState() }, h("div", { key: '2b6a006125e8e68fbba9285451d0d7a578c183d2', class: {
|
|
24
|
+
check: true,
|
|
25
|
+
isCheck: this.checked,
|
|
26
|
+
noCheck: !this.checked,
|
|
27
|
+
disabled: this.disabled,
|
|
28
|
+
} }, h("svg", { key: 'ce19f7e7e1159ee2915a78827775bd969484aa4a', xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: 'f41304ce433c5ea47f8eb964278e1a4c2c8184b2', d: "M20.5991 5.69251L9.08325 17.2075C9.00583 17.2852 8.91382 17.3469 8.8125 17.389C8.71118 17.4311 8.60255 17.4527 8.49283 17.4527C8.38312 17.4527 8.27449 17.4311 8.17317 17.389C8.07185 17.3469 7.97984 17.2852 7.90242 17.2075L3.44908 12.75C3.37166 12.6723 3.27965 12.6106 3.17833 12.5685C3.07701 12.5264 2.96838 12.5048 2.85867 12.5048C2.74896 12.5048 2.64032 12.5264 2.53901 12.5685C2.43769 12.6106 2.34568 12.6723 2.26825 12.75C2.19052 12.8274 2.12884 12.9194 2.08676 13.0208C2.04467 13.1221 2.02301 13.2307 2.02301 13.3404C2.02301 13.4501 2.04467 13.5588 2.08676 13.6601C2.12884 13.7614 2.19052 13.8534 2.26825 13.9308L6.72325 18.385C7.19321 18.8541 7.83008 19.1175 8.49408 19.1175C9.15809 19.1175 9.79496 18.8541 10.2649 18.385L21.7799 6.87251C21.8575 6.7951 21.9191 6.70314 21.9611 6.6019C22.0031 6.50065 22.0247 6.39212 22.0247 6.28251C22.0247 6.17289 22.0031 6.06436 21.9611 5.96312C21.9191 5.86188 21.8575 5.76992 21.7799 5.69251C21.7025 5.61478 21.6105 5.5531 21.5092 5.51101C21.4078 5.46893 21.2992 5.44727 21.1895 5.44727C21.0798 5.44727 20.9712 5.46893 20.8698 5.51101C20.7685 5.5531 20.6765 5.61478 20.5991 5.69251Z", fill: "#FFFFFF" })))));
|
|
29
|
+
}
|
|
30
|
+
static get formAssociated() { return true; }
|
|
31
|
+
};
|
|
32
|
+
DropiCheckbox.style = dropiCheckboxCss();
|
|
33
|
+
|
|
34
|
+
export { DropiCheckbox as dropi_checkbox };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { r as registerInstance, a as getElement, h } from './index-DFz-gwFP.js';
|
|
2
|
+
|
|
3
|
+
const dropiIconCss = () => `:host{display:inline-flex;align-items:center;justify-content:center;fill:var(--icon-fill, currentColor)}svg{fill:inherit}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`;
|
|
4
|
+
|
|
5
|
+
const DropiIcon = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
}
|
|
9
|
+
get el() { return getElement(this); }
|
|
10
|
+
/** Icon name matching the id in the SVG sprite */
|
|
11
|
+
name = '';
|
|
12
|
+
/** Width of the icon (CSS value) */
|
|
13
|
+
width = '24px';
|
|
14
|
+
/** Height of the icon (CSS value) */
|
|
15
|
+
height = '24px';
|
|
16
|
+
/**
|
|
17
|
+
* Color of the icon. Accepts:
|
|
18
|
+
* - Hex color: `#ff0000`
|
|
19
|
+
* - CSS variable name without `--`: `Primary-Primary-500`
|
|
20
|
+
* - `currentColor` to inherit
|
|
21
|
+
*/
|
|
22
|
+
color = 'currentColor';
|
|
23
|
+
colorChanged() {
|
|
24
|
+
this.applyColor();
|
|
25
|
+
}
|
|
26
|
+
componentDidLoad() {
|
|
27
|
+
this.applyColor();
|
|
28
|
+
}
|
|
29
|
+
applyColor() {
|
|
30
|
+
const fill = this.color.startsWith('#')
|
|
31
|
+
? this.color
|
|
32
|
+
: this.color === 'currentColor'
|
|
33
|
+
? 'currentColor'
|
|
34
|
+
: `var(--${this.color})`;
|
|
35
|
+
this.el.style.setProperty('--icon-fill', fill);
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
return (h("svg", { key: 'e71bfb0be9f68882bbd7314d0f6f3fd877fccf07', width: this.width, height: this.height, class: { spin: this.name === 'Spinner' }, "aria-hidden": "true" }, h("use", { key: 'e6905c3ba9c68f463db62cde2cd64ce51093c2c0', href: `/assets/icons/symbol/svg/sprite.css.svg#${this.name}` })));
|
|
39
|
+
}
|
|
40
|
+
static get watchers() { return {
|
|
41
|
+
"color": [{
|
|
42
|
+
"colorChanged": 0
|
|
43
|
+
}]
|
|
44
|
+
}; }
|
|
45
|
+
};
|
|
46
|
+
DropiIcon.style = dropiIconCss();
|
|
47
|
+
|
|
48
|
+
export { DropiIcon as dropi_icon };
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-DFz-gwFP.js';
|
|
2
|
+
|
|
3
|
+
const dropiInputCss = () => `:host{display:block;width:100%;text-align:left}*,*::before,*::after{box-sizing:border-box}.fixed-label-container{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:8px;text-align:left}.input-label{color:var(--Gray-Gray-600, #475066);font-size:var(--font-size-xs, 10px);font-weight:var(--font-weight-regular, 400)}.asterisk{color:var(--Error-Error-500, #f46a6b)}.form-group{position:relative;width:100%;text-align:left}.input-container{position:relative}.icon-input{position:absolute;top:10px;left:5px;z-index:1}.icon-input-password{position:absolute;top:10px;right:13px;cursor:pointer;z-index:1}.form-control{box-sizing:border-box;width:100%;padding:var(--Size-2, 8px);border:1px solid var(--Gray-Gray-200, #c3c9d9);border-radius:var(--Border-2, 8px);background:var(--Neutral-White, #fff);font-size:var(--font-size-s, 12px);font-family:inherit;color:var(--Gray-Gray-700, #32394d);transition:border-color 0.3s ease-in-out;height:40px;outline:none;appearance:none;text-align:left}.form-control::placeholder{color:transparent;transition:color 0.2s ease-in-out}.form-control:focus::placeholder,.fixed-label-input::placeholder{color:var(--Gray-Gray-400, #858ea6)}.form-control:focus{border-color:var(--Info-Info-500, #50a5f1)}.form-control-valid{border-color:var(--Gray-Gray-400, #858ea6) !important;color:var(--Gray-Gray-600, #475066)}.form-control-invalid{border-color:var(--Error-Error-500, #f46a6b) !important;color:var(--Gray-Gray-600, #475066)}.form-control:disabled{border-color:var(--Gray-Gray-200, #c3c9d9) !important;color:var(--Gray-Gray-400, #858ea6);background-color:var(--Gray-Gray-50, #f7f8fa);cursor:not-allowed}.padding-icon{padding-left:28px}.text-password{-webkit-text-security:disc;text-security:disc}label.label-bottom{position:absolute;font-weight:var(--font-weight-regular, 400);top:10px;font-size:var(--font-size-s, 12px);color:var(--Gray-Gray-500, #69738c);left:10px;transition:all 0.2s ease-in-out;pointer-events:none;overflow:hidden;width:90%;white-space:nowrap}.form-control:focus+label.label-bottom,.form-control:not(:placeholder-shown)+label.label-bottom{top:-22px;left:0;font-size:var(--font-size-xs, 10px);color:var(--Gray-Gray-600, #475066);width:unset}.form-control:disabled+label.label-bottom{color:var(--Gray-Gray-400, #858ea6)}.form-control-helper{display:flex;position:absolute;top:100%;left:0;gap:4px;align-items:center;margin-top:4px}.form-control-helper span{display:block;color:var(--Gray-Gray-600, #475066);font-size:var(--font-size-xs, 10px)}.invalid-color{color:var(--Error-Error-500, #f46a6b) !important}.disabled-helper{color:var(--Gray-Gray-400, #858ea6) !important}`;
|
|
4
|
+
|
|
5
|
+
const DropiInput = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.dropiInput = createEvent(this, "dropiInput");
|
|
9
|
+
this.dropiChange = createEvent(this, "dropiChange");
|
|
10
|
+
this.dropiFocus = createEvent(this, "dropiFocus");
|
|
11
|
+
this.dropiBlur = createEvent(this, "dropiBlur");
|
|
12
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
13
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
17
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
internals;
|
|
21
|
+
// ── Identification ──────────────────────────────────────────
|
|
22
|
+
/** Input id. Defaults to label value. */
|
|
23
|
+
inputId = '';
|
|
24
|
+
/** Name attribute for native form submission */
|
|
25
|
+
name = '';
|
|
26
|
+
// ── Content ─────────────────────────────────────────────────
|
|
27
|
+
/** Floating or fixed label text */
|
|
28
|
+
label = '';
|
|
29
|
+
/** Placeholder text (visible in fixedLabel mode or on focus) */
|
|
30
|
+
placeholder = ' ';
|
|
31
|
+
/** Current value (controlled) */
|
|
32
|
+
value = '';
|
|
33
|
+
/** Max character length */
|
|
34
|
+
maxlength;
|
|
35
|
+
// ── Behavior ────────────────────────────────────────────────
|
|
36
|
+
/** Disable the input */
|
|
37
|
+
disabled = false;
|
|
38
|
+
/** Mark as required (shows asterisk when showAsterisk is true) */
|
|
39
|
+
required = false;
|
|
40
|
+
/** Show the required asterisk on the label */
|
|
41
|
+
showAsterisk = true;
|
|
42
|
+
/** Show label above the input (fixed), instead of floating inside */
|
|
43
|
+
fixedLabel = false;
|
|
44
|
+
/** Keyboard input mode hint */
|
|
45
|
+
inputMode = 'text';
|
|
46
|
+
// ── Input type modifiers ────────────────────────────────────
|
|
47
|
+
/** Show password visibility toggle (renders as password field) */
|
|
48
|
+
passwordInput = false;
|
|
49
|
+
/** Apply thousand separator formatting (e.g. 1,000,000) */
|
|
50
|
+
moneyFormat = false;
|
|
51
|
+
/** Apply thousand separator without currency symbol */
|
|
52
|
+
thousandSeparator = false;
|
|
53
|
+
/** Only allow numeric characters */
|
|
54
|
+
onlyNumbers = false;
|
|
55
|
+
/** Allow decimal point when onlyNumbers is true */
|
|
56
|
+
allowDecimals = false;
|
|
57
|
+
/** Only allow letter characters */
|
|
58
|
+
onlyLetters = false;
|
|
59
|
+
// ── Icon ────────────────────────────────────────────────────
|
|
60
|
+
/** Icon name shown inside the input (only visible when value is not empty) */
|
|
61
|
+
icon = '';
|
|
62
|
+
/** Color token for the icon */
|
|
63
|
+
iconColor = 'Gray-Gray-400';
|
|
64
|
+
// ── Validation ──────────────────────────────────────────────
|
|
65
|
+
/** Mark the field as invalid (consumer-controlled) */
|
|
66
|
+
invalid = false;
|
|
67
|
+
/** Helper / error text shown below the field */
|
|
68
|
+
helperText = '';
|
|
69
|
+
/** Only show helperText when the field is invalid */
|
|
70
|
+
showHelperOnlyOnError = false;
|
|
71
|
+
// ── Internal state ──────────────────────────────────────────
|
|
72
|
+
showPassword = false;
|
|
73
|
+
touched = false;
|
|
74
|
+
// ── Events ──────────────────────────────────────────────────
|
|
75
|
+
/** Emitted on every keystroke with the current value */
|
|
76
|
+
dropiInput;
|
|
77
|
+
/** Emitted on blur with the final value */
|
|
78
|
+
dropiChange;
|
|
79
|
+
/** Emitted on focus */
|
|
80
|
+
dropiFocus;
|
|
81
|
+
/** Emitted on blur */
|
|
82
|
+
dropiBlur;
|
|
83
|
+
valueChanged(val) {
|
|
84
|
+
this.internals.setFormValue(val);
|
|
85
|
+
}
|
|
86
|
+
disabledChanged(val) {
|
|
87
|
+
this.internals.setValidity(val ? { customError: true } : {}, val ? 'Field is disabled' : '');
|
|
88
|
+
}
|
|
89
|
+
componentWillLoad() {
|
|
90
|
+
this.internals.setFormValue(this.value ?? '');
|
|
91
|
+
}
|
|
92
|
+
// ── Handlers ────────────────────────────────────────────────
|
|
93
|
+
handleInput(e) {
|
|
94
|
+
let val = e.target.value;
|
|
95
|
+
if (this.onlyNumbers)
|
|
96
|
+
val = this.filterNumbers(val);
|
|
97
|
+
if (this.onlyLetters)
|
|
98
|
+
val = this.filterLetters(val);
|
|
99
|
+
if (this.moneyFormat || this.thousandSeparator)
|
|
100
|
+
val = this.formatThousands(val, this.moneyFormat);
|
|
101
|
+
this.value = val;
|
|
102
|
+
this.internals.setFormValue(val);
|
|
103
|
+
this.dropiInput.emit(val);
|
|
104
|
+
}
|
|
105
|
+
handleKeyDown(e) {
|
|
106
|
+
if (this.onlyNumbers && !this.isAllowedNumberKey(e)) {
|
|
107
|
+
e.preventDefault();
|
|
108
|
+
}
|
|
109
|
+
if (this.onlyLetters && !this.isAllowedLetterKey(e)) {
|
|
110
|
+
e.preventDefault();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
handleFocus() {
|
|
114
|
+
this.dropiFocus.emit();
|
|
115
|
+
}
|
|
116
|
+
handleBlur() {
|
|
117
|
+
this.touched = true;
|
|
118
|
+
this.dropiChange.emit(this.value);
|
|
119
|
+
this.dropiBlur.emit();
|
|
120
|
+
}
|
|
121
|
+
togglePassword() {
|
|
122
|
+
if (this.disabled)
|
|
123
|
+
return;
|
|
124
|
+
this.showPassword = !this.showPassword;
|
|
125
|
+
}
|
|
126
|
+
// ── Helpers ─────────────────────────────────────────────────
|
|
127
|
+
filterNumbers(val) {
|
|
128
|
+
const pattern = this.allowDecimals ? /[^0-9.]/g : /[^0-9]/g;
|
|
129
|
+
return val.replace(pattern, '');
|
|
130
|
+
}
|
|
131
|
+
filterLetters(val) {
|
|
132
|
+
return val.replace(/[^a-zA-ZáéíóúÁÉÍÓÚñÑüÜ\s]/g, '');
|
|
133
|
+
}
|
|
134
|
+
isAllowedNumberKey(e) {
|
|
135
|
+
const allowed = ['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'Tab', 'Enter', 'Home', 'End'];
|
|
136
|
+
if (allowed.includes(e.key))
|
|
137
|
+
return true;
|
|
138
|
+
if (e.ctrlKey || e.metaKey)
|
|
139
|
+
return true; // copy/paste/select-all
|
|
140
|
+
if (/^[0-9]$/.test(e.key))
|
|
141
|
+
return true;
|
|
142
|
+
if (this.allowDecimals && e.key === '.')
|
|
143
|
+
return true;
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
isAllowedLetterKey(e) {
|
|
147
|
+
const allowed = ['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'Tab', 'Enter', 'Home', 'End', ' '];
|
|
148
|
+
if (allowed.includes(e.key))
|
|
149
|
+
return true;
|
|
150
|
+
if (e.ctrlKey || e.metaKey)
|
|
151
|
+
return true;
|
|
152
|
+
return /^[a-zA-ZáéíóúÁÉÍÓÚñÑüÜ]$/.test(e.key);
|
|
153
|
+
}
|
|
154
|
+
formatThousands(val, withCurrency) {
|
|
155
|
+
const raw = val.replace(/[^0-9.]/g, '');
|
|
156
|
+
const [integer, decimal] = raw.split('.');
|
|
157
|
+
const formatted = integer.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
158
|
+
const result = decimal !== undefined ? `${formatted}.${decimal}` : formatted;
|
|
159
|
+
return withCurrency ? `$${result}` : result;
|
|
160
|
+
}
|
|
161
|
+
// ── Computed ─────────────────────────────────────────────────
|
|
162
|
+
get resolvedId() {
|
|
163
|
+
return this.inputId || this.label;
|
|
164
|
+
}
|
|
165
|
+
get inputType() {
|
|
166
|
+
if (this.passwordInput)
|
|
167
|
+
return this.showPassword ? 'text' : 'password';
|
|
168
|
+
return 'text';
|
|
169
|
+
}
|
|
170
|
+
get showHelper() {
|
|
171
|
+
if (!this.helperText)
|
|
172
|
+
return false;
|
|
173
|
+
if (this.showHelperOnlyOnError)
|
|
174
|
+
return this.invalid && this.touched;
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
get isInvalid() {
|
|
178
|
+
return this.invalid && this.touched;
|
|
179
|
+
}
|
|
180
|
+
// ── Render ───────────────────────────────────────────────────
|
|
181
|
+
render() {
|
|
182
|
+
const showAsterisk = this.required && this.showAsterisk && !this.disabled;
|
|
183
|
+
const showIconInline = !!this.icon && !!this.value;
|
|
184
|
+
return (h("div", { key: '4ea9c2118e6452345a2a92eedc807e6d94019784', class: { 'fixed-label-container': this.fixedLabel } }, this.fixedLabel && (h("div", { key: 'b8c1269e9d583becd9614f6f3c28f6a2b536f18f', class: "input-label Body-S-Regular" }, this.label, showAsterisk && h("span", { key: '945665772caab1a1c95f1a054dea1b8dd88287a3', class: "asterisk" }, " *"))), h("div", { key: 'f550584dde83c907429255d9a98b8a59ff322cbb', class: "form-group" }, h("div", { key: '6cc46f5822e62d59bb211e7d9eb7909ab2b833c9', class: "input-container" }, showIconInline && (h("dropi-icon", { key: 'c860e808ae7cd805aa9c430d52743f7eab0aaeba', class: "icon-input", name: this.icon, color: this.iconColor, width: "20px", height: "20px" })), this.passwordInput && (h("dropi-icon", { key: 'ba571d4d14ec2a911a8b0bd4cdc7a8481aebe746', class: "icon-input-password", name: this.showPassword ? 'Eye' : 'Eye-crossed', width: "20px", height: "20px", color: "Gray-Gray-500", onClick: () => this.togglePassword() })), h("input", { key: 'aad18a94d94c9600236bac7c23e38b1c1c41f06a', id: this.resolvedId, class: {
|
|
185
|
+
'form-control': true,
|
|
186
|
+
'form-control-valid': !this.isInvalid && this.touched && !!this.value,
|
|
187
|
+
'form-control-invalid': this.isInvalid,
|
|
188
|
+
'padding-icon': showIconInline,
|
|
189
|
+
'text-password': this.passwordInput && !this.showPassword,
|
|
190
|
+
'fixed-label-input': this.fixedLabel,
|
|
191
|
+
}, type: this.inputType, value: this.value, placeholder: this.fixedLabel ? this.placeholder : ' ', disabled: this.disabled, required: this.required, maxLength: this.maxlength, inputMode: this.inputMode, "data-cy": undefined, onInput: (e) => this.handleInput(e), onKeyDown: (e) => this.handleKeyDown(e), onFocus: () => this.handleFocus(), onBlur: () => this.handleBlur() }), !this.fixedLabel && (h("label", { key: '8ba7ea50525aa8990662d45829ba732094c41f80', class: "Body-S-Regular label-bottom", htmlFor: this.resolvedId }, this.label, showAsterisk && h("span", { key: '3916d3de6392da62b8086920cd2fce3b96238416', class: "asterisk" }, " *"))), this.showHelper && (h("div", { key: '83e17f7d0cdb503b86fd035775e1cb45d9f41709', class: "form-control-helper" }, this.isInvalid && (h("dropi-icon", { key: '4e034348270853f8a3aafbbbb938a5974076aebd', name: "Warning-circle", width: "12px", height: "12px", color: "Error-Error-500" })), h("span", { key: '7832f200ccc6f6273d65012b9e642c313399a277', class: {
|
|
192
|
+
'disabled-helper': this.disabled,
|
|
193
|
+
'invalid-color': this.isInvalid,
|
|
194
|
+
} }, this.helperText)))))));
|
|
195
|
+
}
|
|
196
|
+
static get formAssociated() { return true; }
|
|
197
|
+
static get watchers() { return {
|
|
198
|
+
"value": [{
|
|
199
|
+
"valueChanged": 0
|
|
200
|
+
}],
|
|
201
|
+
"disabled": [{
|
|
202
|
+
"disabledChanged": 0
|
|
203
|
+
}]
|
|
204
|
+
}; }
|
|
205
|
+
};
|
|
206
|
+
DropiInput.style = dropiInputCss();
|
|
207
|
+
|
|
208
|
+
export { DropiInput as dropi_input };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-DFz-gwFP.js';
|
|
2
|
+
|
|
3
|
+
const dropiRadioButtonCss = () => `:host{display:inline-block}*,*::before,*::after{box-sizing:border-box}.dropi-radio-button{display:flex;align-items:center;justify-content:flex-start;gap:20px}label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--Gray-Gray-700, #32394d);font-size:var(--font-size-s, 12px);font-weight:var(--font-weight-regular, 400);line-height:1.5}input[type='radio']{appearance:none;width:20px;height:20px;border:2px solid var(--Gray-Gray-200, #c3c9d9);border-radius:50%;background-color:transparent;position:relative;cursor:pointer;outline:none;flex-shrink:0;display:flex;justify-content:center;align-items:center}input[type='radio']::before{content:'';position:absolute;top:3px;left:3px;width:10px;height:10px;background-color:var(--Primary-Primary-400, #f7b46f);border-radius:50%;display:none}input[type='radio']:checked{border:2px solid var(--Primary-Primary-500, #f49a3d)}input[type='radio']:checked::before{display:block}`;
|
|
4
|
+
|
|
5
|
+
const DropiRadioButton = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.dropiChange = createEvent(this, "dropiChange");
|
|
9
|
+
}
|
|
10
|
+
/** Label text displayed next to the radio */
|
|
11
|
+
label = '';
|
|
12
|
+
/** Input name (for grouping radio buttons) */
|
|
13
|
+
name = 'radio';
|
|
14
|
+
/** Input id */
|
|
15
|
+
inputId = 'radioButton';
|
|
16
|
+
/** Whether this radio is selected */
|
|
17
|
+
checked = false;
|
|
18
|
+
/**
|
|
19
|
+
* Set to true to programmatically reset this radio to unchecked.
|
|
20
|
+
* Useful when the parent needs to clear a group.
|
|
21
|
+
*/
|
|
22
|
+
resetTrigger = false;
|
|
23
|
+
/** Emitted when the radio is selected */
|
|
24
|
+
dropiChange;
|
|
25
|
+
onResetTrigger(val) {
|
|
26
|
+
if (val)
|
|
27
|
+
this.checked = false;
|
|
28
|
+
}
|
|
29
|
+
handleChange(e) {
|
|
30
|
+
this.checked = e.target.checked;
|
|
31
|
+
this.dropiChange.emit(e);
|
|
32
|
+
}
|
|
33
|
+
render() {
|
|
34
|
+
return (h("div", { key: '3b31699bf088bee52465981074c0aea48b6fe112', class: "dropi-radio-button" }, h("label", { key: '072d19bd9c88739b849db0e264c65183eaab2132', htmlFor: this.inputId }, h("input", { key: '82d1600002e9dc2795cdc5c731997742adc8e2db', id: this.inputId, type: "radio", name: this.name, checked: this.checked, onChange: (e) => this.handleChange(e) }), this.label)));
|
|
35
|
+
}
|
|
36
|
+
static get formAssociated() { return true; }
|
|
37
|
+
static get watchers() { return {
|
|
38
|
+
"resetTrigger": [{
|
|
39
|
+
"onResetTrigger": 0
|
|
40
|
+
}]
|
|
41
|
+
}; }
|
|
42
|
+
};
|
|
43
|
+
DropiRadioButton.style = dropiRadioButtonCss();
|
|
44
|
+
|
|
45
|
+
export { DropiRadioButton as dropi_radio_button };
|