@design.estate/dees-catalog 1.0.173

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.
Files changed (102) hide show
  1. package/dist_bundle/bundle.js +2704 -0
  2. package/dist_bundle/bundle.js.map +7 -0
  3. package/dist_ts_web/00_commitinfo_data.d.ts +8 -0
  4. package/dist_ts_web/00_commitinfo_data.js +9 -0
  5. package/dist_ts_web/elements/dees-button-exit.d.ts +7 -0
  6. package/dist_ts_web/elements/dees-button-exit.js +52 -0
  7. package/dist_ts_web/elements/dees-button.d.ts +20 -0
  8. package/dist_ts_web/elements/dees-button.js +215 -0
  9. package/dist_ts_web/elements/dees-chips.d.ts +18 -0
  10. package/dist_ts_web/elements/dees-chips.js +124 -0
  11. package/dist_ts_web/elements/dees-contextmenu.d.ts +18 -0
  12. package/dist_ts_web/elements/dees-contextmenu.js +173 -0
  13. package/dist_ts_web/elements/dees-dataview-codebox.d.ts +15 -0
  14. package/dist_ts_web/elements/dees-dataview-codebox.js +177 -0
  15. package/dist_ts_web/elements/dees-dataview-statusobject.d.ts +14 -0
  16. package/dist_ts_web/elements/dees-dataview-statusobject.js +163 -0
  17. package/dist_ts_web/elements/dees-form-submit.d.ts +17 -0
  18. package/dist_ts_web/elements/dees-form-submit.js +68 -0
  19. package/dist_ts_web/elements/dees-form.d.ts +29 -0
  20. package/dist_ts_web/elements/dees-form.js +173 -0
  21. package/dist_ts_web/elements/dees-icon.d.ts +76 -0
  22. package/dist_ts_web/elements/dees-icon.js +153 -0
  23. package/dist_ts_web/elements/dees-input-checkbox.d.ts +18 -0
  24. package/dist_ts_web/elements/dees-input-checkbox.js +178 -0
  25. package/dist_ts_web/elements/dees-input-dropdown.d.ts +30 -0
  26. package/dist_ts_web/elements/dees-input-dropdown.js +185 -0
  27. package/dist_ts_web/elements/dees-input-fileupload.d.ts +24 -0
  28. package/dist_ts_web/elements/dees-input-fileupload.js +196 -0
  29. package/dist_ts_web/elements/dees-input-quantityselector.d.ts +19 -0
  30. package/dist_ts_web/elements/dees-input-quantityselector.js +122 -0
  31. package/dist_ts_web/elements/dees-input-radio.d.ts +19 -0
  32. package/dist_ts_web/elements/dees-input-radio.js +136 -0
  33. package/dist_ts_web/elements/dees-input-text.d.ts +26 -0
  34. package/dist_ts_web/elements/dees-input-text.js +183 -0
  35. package/dist_ts_web/elements/dees-mobilenavigation.d.ts +27 -0
  36. package/dist_ts_web/elements/dees-mobilenavigation.js +185 -0
  37. package/dist_ts_web/elements/dees-pdf.d.ts +17 -0
  38. package/dist_ts_web/elements/dees-pdf.js +108 -0
  39. package/dist_ts_web/elements/dees-preview.d.ts +1 -0
  40. package/dist_ts_web/elements/dees-preview.js +2 -0
  41. package/dist_ts_web/elements/dees-search.d.ts +1 -0
  42. package/dist_ts_web/elements/dees-search.js +2 -0
  43. package/dist_ts_web/elements/dees-searchbox.d.ts +1 -0
  44. package/dist_ts_web/elements/dees-searchbox.js +2 -0
  45. package/dist_ts_web/elements/dees-speechbubble.d.ts +18 -0
  46. package/dist_ts_web/elements/dees-speechbubble.js +153 -0
  47. package/dist_ts_web/elements/dees-spinner.d.ts +15 -0
  48. package/dist_ts_web/elements/dees-spinner.js +130 -0
  49. package/dist_ts_web/elements/dees-stepper.d.ts +29 -0
  50. package/dist_ts_web/elements/dees-stepper.js +231 -0
  51. package/dist_ts_web/elements/dees-table.d.ts +28 -0
  52. package/dist_ts_web/elements/dees-table.js +348 -0
  53. package/dist_ts_web/elements/dees-toast.d.ts +10 -0
  54. package/dist_ts_web/elements/dees-toast.js +29 -0
  55. package/dist_ts_web/elements/dees-tooltip.d.ts +1 -0
  56. package/dist_ts_web/elements/dees-tooltip.js +2 -0
  57. package/dist_ts_web/elements/dees-updater.d.ts +16 -0
  58. package/dist_ts_web/elements/dees-updater.js +91 -0
  59. package/dist_ts_web/elements/dees-windowlayer.d.ts +17 -0
  60. package/dist_ts_web/elements/dees-windowlayer.js +85 -0
  61. package/dist_ts_web/elements/index.d.ts +24 -0
  62. package/dist_ts_web/elements/index.js +25 -0
  63. package/dist_ts_web/elements/plugins.d.ts +4 -0
  64. package/dist_ts_web/elements/plugins.js +7 -0
  65. package/dist_ts_web/index.d.ts +2 -0
  66. package/dist_ts_web/index.js +3 -0
  67. package/license +22 -0
  68. package/npmextra.json +18 -0
  69. package/package.json +55 -0
  70. package/readme.md +39 -0
  71. package/ts_web/00_commitinfo_data.ts +8 -0
  72. package/ts_web/elements/dees-button-exit.ts +48 -0
  73. package/ts_web/elements/dees-button.ts +218 -0
  74. package/ts_web/elements/dees-chips.ts +124 -0
  75. package/ts_web/elements/dees-contextmenu.ts +181 -0
  76. package/ts_web/elements/dees-dataview-codebox.ts +178 -0
  77. package/ts_web/elements/dees-dataview-statusobject.ts +170 -0
  78. package/ts_web/elements/dees-form-submit.ts +70 -0
  79. package/ts_web/elements/dees-form.ts +191 -0
  80. package/ts_web/elements/dees-icon.ts +204 -0
  81. package/ts_web/elements/dees-input-checkbox.ts +175 -0
  82. package/ts_web/elements/dees-input-dropdown.ts +173 -0
  83. package/ts_web/elements/dees-input-fileupload.ts +195 -0
  84. package/ts_web/elements/dees-input-quantityselector.ts +113 -0
  85. package/ts_web/elements/dees-input-radio.ts +125 -0
  86. package/ts_web/elements/dees-input-text.ts +171 -0
  87. package/ts_web/elements/dees-mobilenavigation.ts +189 -0
  88. package/ts_web/elements/dees-pdf.ts +119 -0
  89. package/ts_web/elements/dees-preview.ts +0 -0
  90. package/ts_web/elements/dees-search.ts +0 -0
  91. package/ts_web/elements/dees-searchbox.ts +0 -0
  92. package/ts_web/elements/dees-speechbubble.ts +157 -0
  93. package/ts_web/elements/dees-spinner.ts +131 -0
  94. package/ts_web/elements/dees-stepper.ts +262 -0
  95. package/ts_web/elements/dees-table.ts +360 -0
  96. package/ts_web/elements/dees-toast.ts +26 -0
  97. package/ts_web/elements/dees-tooltip.ts +1 -0
  98. package/ts_web/elements/dees-updater.ts +90 -0
  99. package/ts_web/elements/dees-windowlayer.ts +85 -0
  100. package/ts_web/elements/index.ts +24 -0
  101. package/ts_web/elements/plugins.ts +13 -0
  102. package/ts_web/index.ts +2 -0
@@ -0,0 +1,173 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement, html, DeesElement, } from '@design.estate/dees-element';
8
+ import * as domtools from '@design.estate/dees-domtools';
9
+ import { DeesInputCheckbox } from './dees-input-checkbox.js';
10
+ import { DeesInputText } from './dees-input-text.js';
11
+ import { DeesInputQuantitySelector } from './dees-input-quantityselector.js';
12
+ import { DeesInputRadio } from './dees-input-radio.js';
13
+ import { DeesFormSubmit } from './dees-form-submit.js';
14
+ export let DeesForm = class DeesForm extends DeesElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.name = 'myform';
18
+ this.changeSubject = new domtools.rxjs.Subject();
19
+ }
20
+ static { this.demo = () => html `
21
+ <dees-form
22
+ style="display: block; margin:auto; max-width: 500px; padding: 20px"
23
+ @formData=${async (eventArg) => {
24
+ const form = eventArg.currentTarget;
25
+ form.setStatus('pending', 'authenticating...');
26
+ await domtools.plugins.smartdelay.delayFor(1000);
27
+ form.setStatus('success', 'authenticated!');
28
+ }}
29
+ >
30
+ <dees-input-text .required="${true}" key="hello1" label="a text"></dees-input-text>
31
+ <dees-input-text .required="${true}" key="hello2" label="also a text"></dees-input-text>
32
+ <dees-input-checkbox
33
+ .required="${true}"
34
+ key="hello3"
35
+ label="another text"
36
+ ></dees-input-checkbox>
37
+ <dees-form-submit>Submit</dees-form-submit>
38
+ </dees-form>
39
+ `; }
40
+ render() {
41
+ return html `
42
+ <style>
43
+ :host {
44
+ display: contents;
45
+ }
46
+ </style>
47
+ <slot></slot>
48
+ `;
49
+ }
50
+ async firstUpdated() {
51
+ const formChildren = this.getFormChildren();
52
+ this.checkRequiredStatus();
53
+ for (const child of formChildren) {
54
+ child.changeSubject.subscribe(async (elementArg) => {
55
+ const valueObject = await this.gatherData();
56
+ this.changeSubject.next(valueObject);
57
+ console.log(valueObject);
58
+ this.checkRequiredStatus();
59
+ });
60
+ }
61
+ await this.instrumentBehaviours();
62
+ }
63
+ getFormChildren() {
64
+ const children = this.children;
65
+ const formChildren = [];
66
+ for (const child of children) {
67
+ if (child instanceof DeesInputCheckbox ||
68
+ child instanceof DeesInputText ||
69
+ child instanceof DeesInputQuantitySelector) {
70
+ formChildren.push(child);
71
+ }
72
+ }
73
+ return formChildren;
74
+ }
75
+ getSubmitButton() {
76
+ const children = this.children;
77
+ let submitButton;
78
+ for (const childArg of children) {
79
+ if (childArg instanceof DeesFormSubmit) {
80
+ submitButton = childArg;
81
+ }
82
+ }
83
+ return submitButton;
84
+ }
85
+ async checkRequiredStatus() {
86
+ console.log('checking the required status.');
87
+ let requiredOK = true;
88
+ for (const childArg of this.getFormChildren()) {
89
+ if (childArg.required && !childArg.value) {
90
+ requiredOK = false;
91
+ }
92
+ }
93
+ if (this.getSubmitButton()) {
94
+ this.getSubmitButton().disabled = !requiredOK;
95
+ }
96
+ }
97
+ async gatherData() {
98
+ const children = this.getFormChildren();
99
+ const valueObject = {};
100
+ for (const child of children) {
101
+ valueObject[child.key] = child.value;
102
+ }
103
+ return valueObject;
104
+ }
105
+ async gatherAndDispatch() {
106
+ const valueObject = await this.gatherData();
107
+ const formDataEvent = new CustomEvent('formData', {
108
+ detail: {
109
+ data: valueObject,
110
+ },
111
+ bubbles: true,
112
+ });
113
+ this.dispatchEvent(formDataEvent);
114
+ console.log('dispatched data:');
115
+ console.log(valueObject);
116
+ }
117
+ setStatus(visualStateArg, textStateArg) {
118
+ const inputChildren = this.getFormChildren();
119
+ const submitButton = this.getSubmitButton();
120
+ switch (visualStateArg) {
121
+ case 'normal':
122
+ submitButton.disabled = false;
123
+ submitButton.status = 'normal';
124
+ for (const inputChild of inputChildren) {
125
+ inputChild.disabled = false;
126
+ }
127
+ break;
128
+ case 'pending':
129
+ submitButton.disabled = true;
130
+ submitButton.status = 'pending';
131
+ for (const inputChild of inputChildren) {
132
+ inputChild.disabled = true;
133
+ }
134
+ break;
135
+ case 'success':
136
+ submitButton.disabled = true;
137
+ submitButton.status = 'success';
138
+ for (const inputChild of inputChildren) {
139
+ inputChild.disabled = true;
140
+ }
141
+ break;
142
+ case 'error':
143
+ submitButton.disabled = true;
144
+ submitButton.status = 'error';
145
+ for (const inputChild of inputChildren) {
146
+ inputChild.disabled = true;
147
+ }
148
+ break;
149
+ }
150
+ submitButton.text = textStateArg;
151
+ }
152
+ async instrumentBehaviours() {
153
+ const children = this.getFormChildren();
154
+ for (const child of children) {
155
+ child.addEventListener('keydown', (eventArg) => {
156
+ if (eventArg.key === 'Enter') {
157
+ const currentIndex = children.indexOf(child);
158
+ if (currentIndex < children.length - 1) {
159
+ children[currentIndex + 1].focus();
160
+ }
161
+ else {
162
+ children[currentIndex].blur();
163
+ this.getSubmitButton().focus();
164
+ }
165
+ }
166
+ });
167
+ }
168
+ }
169
+ };
170
+ DeesForm = __decorate([
171
+ customElement('dees-form')
172
+ ], DeesForm);
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL2RlZXMtZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBdUIsV0FBVyxHQUFtQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JILE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFFekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFhaEQsV0FBTSxRQUFRLEdBQWQsTUFBTSxRQUFTLFNBQVEsV0FBVztJQUFsQzs7UUFzQkUsU0FBSSxHQUFXLFFBQVEsQ0FBQztRQUN4QixrQkFBYSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQW1KckQsQ0FBQzthQXpLZSxTQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBOzs7a0JBR2YsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxHQUFhLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUMvQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O29DQUU2QixJ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
@@ -0,0 +1,76 @@
1
+ import { DeesElement, type CSSResult } from '@design.estate/dees-element';
2
+ import { type IconDefinition } from '@fortawesome/fontawesome-svg-core';
3
+ export declare const faIcons: {
4
+ arrowRight: IconDefinition;
5
+ arrowUpRightFromSquare: IconDefinition;
6
+ arrowUpRightFromSquareSolid: IconDefinition;
7
+ bell: IconDefinition;
8
+ bellSolid: IconDefinition;
9
+ bug: IconDefinition;
10
+ bugSolid: IconDefinition;
11
+ building: IconDefinition;
12
+ buildingSolid: IconDefinition;
13
+ caretLeft: IconDefinition;
14
+ caretLeftSolid: IconDefinition;
15
+ caretRight: IconDefinition;
16
+ caretRightSolid: IconDefinition;
17
+ check: IconDefinition;
18
+ checkSolid: IconDefinition;
19
+ circleInfo: IconDefinition;
20
+ circleInfoSolid: IconDefinition;
21
+ circleCheck: IconDefinition;
22
+ circleCheckSolid: IconDefinition;
23
+ circleXmark: IconDefinition;
24
+ circleXmarkSolid: IconDefinition;
25
+ copy: IconDefinition;
26
+ copySolid: IconDefinition;
27
+ desktop: IconDefinition;
28
+ desktopSolid: IconDefinition;
29
+ eye: IconDefinition;
30
+ eyeSolid: IconDefinition;
31
+ eyeSlash: IconDefinition;
32
+ eyeSlashSolid: IconDefinition;
33
+ grip: IconDefinition;
34
+ gripSolid: IconDefinition;
35
+ message: IconDefinition;
36
+ messageSolid: IconDefinition;
37
+ mugHot: IconDefinition;
38
+ faMugHotSolid: IconDefinition;
39
+ minus: IconDefinition;
40
+ minusSolid: IconDefinition;
41
+ paste: IconDefinition;
42
+ pasteSolid: IconDefinition;
43
+ penToSquare: IconDefinition;
44
+ penToSquareSolid: IconDefinition;
45
+ rss: IconDefinition;
46
+ rssSolid: IconDefinition;
47
+ share: IconDefinition;
48
+ shareSolid: IconDefinition;
49
+ sun: IconDefinition;
50
+ sunSolid: IconDefinition;
51
+ xmark: IconDefinition;
52
+ xmarkSolid: IconDefinition;
53
+ facebook: IconDefinition;
54
+ google: IconDefinition;
55
+ instagram: IconDefinition;
56
+ linkedin: IconDefinition;
57
+ medium: IconDefinition;
58
+ slack: IconDefinition;
59
+ tiktok: IconDefinition;
60
+ twitter: IconDefinition;
61
+ users: IconDefinition;
62
+ };
63
+ declare global {
64
+ interface HTMLElementTagNameMap {
65
+ 'dees-icon': DeesIcon;
66
+ }
67
+ }
68
+ export declare class DeesIcon extends DeesElement {
69
+ static demo: () => import("@design.estate/dees-element").TemplateResult<1>;
70
+ iconFA: keyof typeof faIcons;
71
+ iconSize: number;
72
+ constructor();
73
+ static styles: CSSResult[];
74
+ render(): import("@design.estate/dees-element").TemplateResult<1>;
75
+ updated(): Promise<void>;
76
+ }
@@ -0,0 +1,153 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { DeesElement, html, property, customElement, cssManager, css, } from '@design.estate/dees-element';
11
+ import * as domtools from '@design.estate/dees-domtools';
12
+ import { icon } from '@fortawesome/fontawesome-svg-core';
13
+ import { faFacebook, faGoogle, faLinkedin, faMedium, faSlackHash, faTwitter, faInstagram, faTiktok, } from '@fortawesome/free-brands-svg-icons';
14
+ import { faCopy as faCopyRegular, faCircleCheck as faCircleCheckRegular, faCircleXmark as faCircleXmarkRegular, faMessage as faMessageRegular, faPaste as faPasteRegular, faSun as faSunRegular, } from '@fortawesome/free-regular-svg-icons';
15
+ import { faArrowRight as faArrowRightSolid, faArrowUpRightFromSquare as faArrowUpRightFromSquareSolid, faBell as faBellSolid, faBug as faBugSolid, faBuilding as faBuildingSolid, faCaretLeft as faCaretLeftSolid, faCaretRight as faCaretRightSolid, faCheck as faCheckSolid, faCircleInfo as faCircleInfoSolid, faCircleCheck as faCircleCheckSolid, faCircleXmark as faCircleXmarkSolid, faCopy as faCopySolid, faDesktop as faDesktopSolid, faEye as faEyeSolid, faEyeSlash as faEyeSlashSolid, faGrip as faGripSolid, faMessage as faMessageSolid, faMugHot as faMugHotSolid, faMinus as faMinusSolid, faPaste as faPasteSolid, faPenToSquare as faPenToSquareSolid, faRss as faRssSolid, faUsers as faUsersSolid, faShare as faShareSolid, faSun as faSunSolid, faXmark as faXmarkSolid, } from '@fortawesome/free-solid-svg-icons';
16
+ export const faIcons = {
17
+ // normal
18
+ arrowRight: faArrowRightSolid,
19
+ arrowUpRightFromSquare: faArrowUpRightFromSquareSolid,
20
+ arrowUpRightFromSquareSolid: faArrowUpRightFromSquareSolid,
21
+ bell: faBellSolid,
22
+ bellSolid: faBellSolid,
23
+ bug: faBugSolid,
24
+ bugSolid: faBugSolid,
25
+ building: faBuildingSolid,
26
+ buildingSolid: faBuildingSolid,
27
+ caretLeft: faCaretLeftSolid,
28
+ caretLeftSolid: faCaretLeftSolid,
29
+ caretRight: faCaretRightSolid,
30
+ caretRightSolid: faCaretRightSolid,
31
+ check: faCheckSolid,
32
+ checkSolid: faCheckSolid,
33
+ circleInfo: faCircleInfoSolid,
34
+ circleInfoSolid: faCircleInfoSolid,
35
+ circleCheck: faCircleCheckRegular,
36
+ circleCheckSolid: faCircleCheckSolid,
37
+ circleXmark: faCircleXmarkRegular,
38
+ circleXmarkSolid: faCircleXmarkSolid,
39
+ copy: faCopyRegular,
40
+ copySolid: faCopySolid,
41
+ desktop: faDesktopSolid,
42
+ desktopSolid: faDesktopSolid,
43
+ eye: faEyeSolid,
44
+ eyeSolid: faEyeSolid,
45
+ eyeSlash: faEyeSlashSolid,
46
+ eyeSlashSolid: faEyeSlashSolid,
47
+ grip: faGripSolid,
48
+ gripSolid: faGripSolid,
49
+ message: faMessageRegular,
50
+ messageSolid: faMessageSolid,
51
+ mugHot: faMugHotSolid,
52
+ faMugHotSolid: faMugHotSolid,
53
+ minus: faMinusSolid,
54
+ minusSolid: faMinusSolid,
55
+ paste: faPasteRegular,
56
+ pasteSolid: faPasteSolid,
57
+ penToSquare: faPenToSquareSolid,
58
+ penToSquareSolid: faPenToSquareSolid,
59
+ rss: faRssSolid,
60
+ rssSolid: faRssSolid,
61
+ share: faShareSolid,
62
+ shareSolid: faShareSolid,
63
+ sun: faSunRegular,
64
+ sunSolid: faSunSolid,
65
+ xmark: faXmarkSolid,
66
+ xmarkSolid: faXmarkSolid,
67
+ // brands
68
+ facebook: faFacebook,
69
+ google: faGoogle,
70
+ instagram: faInstagram,
71
+ linkedin: faLinkedin,
72
+ medium: faMedium,
73
+ slack: faSlackHash,
74
+ tiktok: faTiktok,
75
+ twitter: faTwitter,
76
+ users: faUsersSolid,
77
+ };
78
+ export let DeesIcon = class DeesIcon extends DeesElement {
79
+ static { this.demo = () => html `
80
+ <dees-icon iconName="visibility"></dees-icon>
81
+ <div style="background: #fff; padding: 10px; font-size: 30px">
82
+ <style>
83
+ dees-icon {
84
+ transition: color 0.05s;
85
+ }
86
+ dees-icon:hover {
87
+ color: #e4002b;
88
+ }
89
+ </style>
90
+ <dees-icon .iconFA=${'messageSolid'}></dees-icon>
91
+ <dees-icon .iconFA=${'sun'}></dees-icon>
92
+ <dees-icon .iconFA=${'sunSolid'}></dees-icon>
93
+ <dees-icon .iconFA=${'facebook'}></dees-icon>
94
+ <dees-icon .iconFA=${'arrowUpRightFromSquare'}></dees-icon>
95
+ </div>
96
+ `; }
97
+ constructor() {
98
+ super();
99
+ domtools.elementBasic.setup();
100
+ }
101
+ static { this.styles = [
102
+ cssManager.defaultStyles,
103
+ css `
104
+ :host {
105
+ display: block;
106
+ white-space: nowrap;
107
+ display: flex;
108
+ align-items: center;
109
+ justify-content: center;
110
+ }
111
+ * {
112
+ transition: inherit !important;
113
+ }
114
+ `,
115
+ ]; }
116
+ render() {
117
+ return html `
118
+ ${domtools.elementBasic.styles}
119
+ <style>
120
+ #iconContainer svg {
121
+ display: block;
122
+ height: ${this.iconSize}px;
123
+ }
124
+ </style>
125
+ <div id="iconContainer"></div>
126
+ `;
127
+ }
128
+ async updated() {
129
+ if (!this.iconSize) {
130
+ this.iconSize = parseInt(globalThis.getComputedStyle(this).fontSize.replace(/\D/g, ''));
131
+ }
132
+ if (this.iconFA) {
133
+ this.shadowRoot.querySelector('#iconContainer').innerHTML = this.iconFA
134
+ ? icon(faIcons[this.iconFA]).html[0]
135
+ : 'icon not found';
136
+ }
137
+ }
138
+ };
139
+ __decorate([
140
+ property({
141
+ type: String
142
+ }),
143
+ __metadata("design:type", Object)
144
+ ], DeesIcon.prototype, "iconFA", void 0);
145
+ __decorate([
146
+ property(),
147
+ __metadata("design:type", Number)
148
+ ], DeesIcon.prototype, "iconSize", void 0);
149
+ DeesIcon = __decorate([
150
+ customElement('dees-icon'),
151
+ __metadata("design:paramtypes", [])
152
+ ], DeesIcon);
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL2RlZXMtaWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLElBQUksRUFDSixRQUFRLEVBQ1IsYUFBYSxFQUNiLFVBQVUsRUFDVixHQUFHLEdBRUosTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBRXpELE9BQU8sRUFBRSxJQUFJLEVBQXVCLE1BQU0sbUNBQW1DLENBQUM7QUFDOUUsT0FBTyxFQUNMLFVBQVUsRUFDVixRQUFRLEVBQ1IsVUFBVSxFQUNWLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULFdBQVcsRUFDWCxRQUFRLEdBQ1QsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1QyxPQUFPLEVBQ0wsTUFBTSxJQUFJLGFBQWEsRUFDdkIsYUFBYSxJQUFJLG9CQUFvQixFQUNyQyxhQUFhLElBQUksb0JBQW9CLEVBQ3JDLFNBQVMsSUFBSSxnQkFBZ0IsRUFDN0IsT0FBTyxJQUFJLGNBQWMsRUFDekIsS0FBSyxJQUFJLFlBQVksR0FDdEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsWUFBWSxJQUFJLGlCQUFpQixFQUNqQyx3QkFBd0IsSUFBSSw2QkFBNkIsRUFDekQsTUFBTSxJQUFJLFdBQVcsRUFDckIsS0FBSyxJQUFJLFVBQVUsRUFDbkIsVUFBVSxJQUFJLGVBQWUsRUFDN0IsV0FBVyxJQUFJLGdCQUFnQixFQUMvQixZQUFZLElBQUksaUJBQWlCLEVBQ2pDLE9BQU8sSUFBSSxZQUFZLEVBQ3ZCLFlBQVksSUFBSSxpQkFBaUIsRUFDakMsYUFBYSxJQUFJLGtCQUFrQixFQUNuQyxhQUFhLElBQUksa0JBQWtCLEVBQ25DLE1BQU0sSUFBSSxXQUFXLEVBQ3JCLFNBQVMsSUFBSSxjQUFjLEVBQzNCLEtBQUssSUFBSSxV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
@@ -0,0 +1,18 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import * as domtools from '@design.estate/dees-domtools';
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'dees-input-checkbox': DeesInputCheckbox;
6
+ }
7
+ }
8
+ export declare class DeesInputCheckbox extends DeesElement {
9
+ static demo: () => TemplateResult<1>;
10
+ changeSubject: domtools.rxjs.Subject<unknown>;
11
+ key: string;
12
+ label: string;
13
+ value: boolean;
14
+ required: boolean;
15
+ disabled: boolean;
16
+ render(): TemplateResult;
17
+ toggleSelected(): Promise<void>;
18
+ }
@@ -0,0 +1,178 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { customElement, DeesElement, property, html, css, cssManager, } from '@design.estate/dees-element';
11
+ import * as domtools from '@design.estate/dees-domtools';
12
+ export let DeesInputCheckbox = class DeesInputCheckbox extends DeesElement {
13
+ constructor() {
14
+ super(...arguments);
15
+ // INSTANCE
16
+ this.changeSubject = new domtools.rxjs.Subject();
17
+ this.label = 'Label';
18
+ this.value = false;
19
+ this.required = false;
20
+ this.disabled = false;
21
+ }
22
+ // STATIC
23
+ static { this.demo = () => html `<dees-input-checkbox></dees-input-checkbox>`; }
24
+ render() {
25
+ return html `
26
+ ${domtools.elementBasic.styles}
27
+ <style>
28
+ * {
29
+ box-sizing: border-box;
30
+ }
31
+
32
+ :host {
33
+ display: block;
34
+ position: relative;
35
+ margin: 20px 0px;
36
+ cursor: pointer;
37
+ }
38
+
39
+ .maincontainer {
40
+ display: grid;
41
+ grid-template-columns: 25px auto;
42
+ padding: 5px 0px;
43
+ color: ${this.goBright ? '#333' : '#ccc'};
44
+ }
45
+
46
+ .maincontainer:hover {
47
+ ${this.goBright ? '#000' : '#ccc'};
48
+ }
49
+
50
+ .label {
51
+ margin-left: 15px;
52
+ line-height: 25px;
53
+ font-size: 14px;
54
+ font-weight: normal;
55
+ }
56
+
57
+ input:focus {
58
+ outline: none;
59
+ border-bottom: 1px solid #e4002b;
60
+ }
61
+
62
+ .checkbox {
63
+ transition: all 0.1s;
64
+ box-sizing: border-box;
65
+ border: 1px solid ${this.goBright ? '#CCC' : '#999'};
66
+ border-radius: 2px;
67
+ height: 24px;
68
+ width: 24px;
69
+ display: inline-block;
70
+ background: ${this.goBright ? '#fafafa' : '#222'};
71
+ }
72
+
73
+ .checkbox.selected {
74
+ background: #039BE5;
75
+ border: 1px solid #039BE5;
76
+ }
77
+
78
+ .checkbox.disabled {
79
+ background: none;
80
+ border: 1px dashed ${cssManager.bdTheme('#666666', '#666666')};
81
+ }
82
+
83
+ .checkbox .checkmark {
84
+ display: inline-block;
85
+ width: 22px;
86
+ height: 22px;
87
+ -ms-transform: rotate(45deg); /* IE 9 */
88
+ -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
89
+ transform: rotate(45deg);
90
+ }
91
+
92
+ .checkbox .checkmark_stem {
93
+ position: absolute;
94
+ width: 3px;
95
+ height: 9px;
96
+ background-color: #fff;
97
+ left: 11px;
98
+ top: 6px;
99
+ }
100
+
101
+ .checkbox .checkmark_kick {
102
+ position: absolute;
103
+ width: 3px;
104
+ height: 3px;
105
+ background-color: #fff;
106
+ left: 8px;
107
+ top: 12px;
108
+ }
109
+
110
+ .checkbox.disabled .checkmark_stem, .checkbox.disabled .checkmark_kick {
111
+ background-color: ${cssManager.bdTheme('#333', '#fff')};
112
+ }
113
+
114
+ img {
115
+ padding: 4px;
116
+ }
117
+ </style>
118
+ <div class="maincontainer" @click="${this.toggleSelected}">
119
+ <div class="checkbox ${this.value ? 'selected' : ''} ${this.disabled ? 'disabled' : ''}">
120
+ ${this.value
121
+ ? html `
122
+ <span class="checkmark">
123
+ <div class="checkmark_stem"></div>
124
+ <div class="checkmark_kick"></div>
125
+ </span>
126
+ `
127
+ : html ``}
128
+ </div>
129
+ <div class="label">${this.label}</div>
130
+ </div>
131
+ `;
132
+ }
133
+ async toggleSelected() {
134
+ if (this.disabled) {
135
+ return;
136
+ }
137
+ this.value = !this.value;
138
+ this.dispatchEvent(new CustomEvent('newValue', {
139
+ detail: this.value,
140
+ bubbles: true,
141
+ }));
142
+ this.changeSubject.next(this);
143
+ }
144
+ };
145
+ __decorate([
146
+ property({
147
+ type: String,
148
+ }),
149
+ __metadata("design:type", String)
150
+ ], DeesInputCheckbox.prototype, "key", void 0);
151
+ __decorate([
152
+ property({
153
+ type: String,
154
+ }),
155
+ __metadata("design:type", String)
156
+ ], DeesInputCheckbox.prototype, "label", void 0);
157
+ __decorate([
158
+ property({
159
+ type: Boolean,
160
+ }),
161
+ __metadata("design:type", Boolean)
162
+ ], DeesInputCheckbox.prototype, "value", void 0);
163
+ __decorate([
164
+ property({
165
+ type: Boolean,
166
+ }),
167
+ __metadata("design:type", Boolean)
168
+ ], DeesInputCheckbox.prototype, "required", void 0);
169
+ __decorate([
170
+ property({
171
+ type: Boolean
172
+ }),
173
+ __metadata("design:type", Boolean)
174
+ ], DeesInputCheckbox.prototype, "disabled", void 0);
175
+ DeesInputCheckbox = __decorate([
176
+ customElement('dees-input-checkbox')
177
+ ], DeesInputCheckbox);
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pbnB1dC1jaGVja2JveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9kZWVzLWlucHV0LWNoZWNrYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsV0FBVyxFQUVYLFFBQVEsRUFDUixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsR0FFWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFTbEQsV0FBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxXQUFXO0lBQTNDOztRQUlMLFdBQVc7UUFDSixrQkFBYSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQVU1QyxVQUFLLEdBQVcsT0FBTyxDQUFDO1FBS3hCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFLdkIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUsxQixhQUFRLEdBQVksS0FBSyxDQUFDO0lBNkhuQyxDQUFDO0lBMUpDLFNBQVM7YUFDSyxTQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBLDZDQUE2QyxBQUExRCxDQUEyRDtJQThCdEUsTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFBO1FBQ1AsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7OzttQkFpQmpCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTs7OztZQUl0QyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFrQmIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNOzs7Ozt3QkFLckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNOzs7Ozs7Ozs7OytCQVUzQixVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBK0J6QyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7Ozs7Ozs7MkNBT3JCLElBQUksQ0FBQyxjQUFjOytCQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEYsSUFBSSxDQUFDLEtBQUs7WUFDVixDQUFDLENBQUMsSUFBSSxDQUFBOzs7OztlQUtIO1lBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQSxFQUFFOzs2QkFFUyxJQUFJLENBQUMsS0FBSzs7S0FFbEMsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztRQUN6QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FDaEIsSUFBSSxXQUFXLENBQUMsVUFBVSxFQUFFO1lBQzFCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7QUFoSk07SUFITixRQUFRLENBQUM7UUFDUixJQUFJLEVBQUUsTUFBTTtLQUNiLENBQUM7OzhDQUNpQjtBQUtaO0lBSE4sUUFBUSxDQUFDO1FBQ1IsSUFBSSxFQUFFLE1BQU07S0FDYixDQUFDOztnREFDNkI7QUFLeEI7SUFITixRQUFRLENBQUM7UUFDUixJQUFJLEVBQUUsT0FBTztLQUNkLENBQUM7O2dEQUM0QjtBQUt2QjtJQUhOLFFBQVEsQ0FBQztRQUNSLElBQUksRUFBRSxPQUFPO0tBQ2QsQ0FBQzs7bURBQytCO0FBSzFCO0lBSE4sUUFBUSxDQUFDO1FBQ1IsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDOzttREFDK0I7QUE5QnRCLGlCQUFpQjtJQUQ3QixhQUFhLENBQUMscUJBQXFCLENBQUM7R0FDeEIsaUJBQWlCLENBMko3QiJ9
@@ -0,0 +1,30 @@
1
+ import { DeesElement, type TemplateResult, type CSSResult } from '@design.estate/dees-element';
2
+ import * as domtools from '@design.estate/dees-domtools';
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'dees-input-dropdown': DeesInputDropdown;
6
+ }
7
+ }
8
+ export declare class DeesInputDropdown extends DeesElement {
9
+ static demo: () => TemplateResult<1>;
10
+ changeSubject: domtools.rxjs.Subject<unknown>;
11
+ label: string;
12
+ key: string;
13
+ options: {
14
+ option: string;
15
+ key: string;
16
+ payload?: any;
17
+ }[];
18
+ selectedOption: {
19
+ option: string;
20
+ key: string;
21
+ payload?: any;
22
+ };
23
+ required: boolean;
24
+ disabled: boolean;
25
+ static styles: CSSResult[];
26
+ render(): TemplateResult;
27
+ firstUpdated(): void;
28
+ updateSelection(selectedOption: any): Promise<void>;
29
+ toggleSelectionBox(): void;
30
+ }