@dile/ui 2.0.1

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 (172) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +3 -0
  3. package/components/app-drawer/app-drawer.js +3 -0
  4. package/components/app-drawer/index.js +1 -0
  5. package/components/app-drawer/src/DileAppDrawer.js +153 -0
  6. package/components/avatar/avatar.js +3 -0
  7. package/components/avatar/index.js +1 -0
  8. package/components/avatar/src/DileAvatar.js +78 -0
  9. package/components/breadcrumbs/breadcrumbs-item.js +3 -0
  10. package/components/breadcrumbs/breadcrumbs.js +4 -0
  11. package/components/breadcrumbs/index.js +2 -0
  12. package/components/breadcrumbs/src/DileBreadcrumbs.js +76 -0
  13. package/components/breadcrumbs/src/DileBreadcrumbsItem.js +51 -0
  14. package/components/button/button-icon.js +3 -0
  15. package/components/button/button.js +3 -0
  16. package/components/button/index.js +2 -0
  17. package/components/button/src/DileButton.js +86 -0
  18. package/components/button/src/DileButtonIcon.js +38 -0
  19. package/components/card/card.js +3 -0
  20. package/components/card/index.js +1 -0
  21. package/components/card/src/DileCard.js +111 -0
  22. package/components/checkbox/checkbox.js +3 -0
  23. package/components/checkbox/index.js +1 -0
  24. package/components/checkbox/src/DileCheckbox.js +154 -0
  25. package/components/confirm/confirm.js +3 -0
  26. package/components/confirm/index.js +1 -0
  27. package/components/confirm/src/DileConfirm.js +121 -0
  28. package/components/datepicker/calendar.js +3 -0
  29. package/components/datepicker/datepicker.js +4 -0
  30. package/components/datepicker/index.js +2 -0
  31. package/components/datepicker/src/DileCalendar.js +72 -0
  32. package/components/datepicker/src/DileDatepicker.js +114 -0
  33. package/components/hamburger/hamburger.js +3 -0
  34. package/components/hamburger/index.js +1 -0
  35. package/components/hamburger/src/DileHamburger.js +129 -0
  36. package/components/icon/icon.js +3 -0
  37. package/components/icon/index.js +1 -0
  38. package/components/icon/src/DileIcon.js +40 -0
  39. package/components/icon-switch/icon-switch-group.js +3 -0
  40. package/components/icon-switch/icon-switch.js +3 -0
  41. package/components/icon-switch/index.js +1 -0
  42. package/components/icon-switch/src/DileIconSwitch.js +54 -0
  43. package/components/icon-switch/src/DileIconSwitchGroup.js +38 -0
  44. package/components/info-box/index.js +1 -0
  45. package/components/info-box/info-box.js +3 -0
  46. package/components/info-box/src/DileInfoBox.js +118 -0
  47. package/components/inline-feedback/index.js +1 -0
  48. package/components/inline-feedback/inline-feedback.js +3 -0
  49. package/components/inline-feedback/src/DileInlineFeedback.js +96 -0
  50. package/components/input/index.js +9 -0
  51. package/components/input/input-integer.js +3 -0
  52. package/components/input/input-message.js +3 -0
  53. package/components/input/input-money.js +3 -0
  54. package/components/input/input-number-mask.js +3 -0
  55. package/components/input/input-percentage.js +3 -0
  56. package/components/input/input-search.js +3 -0
  57. package/components/input/input.js +3 -0
  58. package/components/input/src/DileInput.js +245 -0
  59. package/components/input/src/DileInputInteger.js +45 -0
  60. package/components/input/src/DileInputMessage.js +12 -0
  61. package/components/input/src/DileInputMoney.js +72 -0
  62. package/components/input/src/DileInputNumberMask.js +83 -0
  63. package/components/input/src/DileInputPercentage.js +57 -0
  64. package/components/input/src/DileInputSearch.js +145 -0
  65. package/components/input/src/Mask.js +37 -0
  66. package/components/input/src/message-styles.js +14 -0
  67. package/components/menu-hamburger/index.js +1 -0
  68. package/components/menu-hamburger/menu-hamburger.js +3 -0
  69. package/components/menu-hamburger/src/DileMenuHamburger.js +89 -0
  70. package/components/menu-overlay/index.js +1 -0
  71. package/components/menu-overlay/menu-overlay.js +3 -0
  72. package/components/menu-overlay/src/DileMenuOverlay.js +71 -0
  73. package/components/message/index.js +1 -0
  74. package/components/message/message.js +3 -0
  75. package/components/message/src/DileMessage.js +166 -0
  76. package/components/modal/index.js +1 -0
  77. package/components/modal/modal.js +3 -0
  78. package/components/modal/src/DileModal.js +194 -0
  79. package/components/nav/index.js +1 -0
  80. package/components/nav/nav.js +3 -0
  81. package/components/nav/src/DileNav.js +68 -0
  82. package/components/order-switch/index.js +1 -0
  83. package/components/order-switch/order-switch.js +3 -0
  84. package/components/order-switch/src/DileOrderSwitch.js +74 -0
  85. package/components/pages/index.js +1 -0
  86. package/components/pages/pages.js +3 -0
  87. package/components/pages/src/DilePages.js +178 -0
  88. package/components/password/index.js +1 -0
  89. package/components/password/password.js +3 -0
  90. package/components/password/src/DilePassword.js +34 -0
  91. package/components/progress-bar/index.js +1 -0
  92. package/components/progress-bar/progress-bar.js +3 -0
  93. package/components/progress-bar/src/DileProgressBar.js +89 -0
  94. package/components/radio-group/index.js +2 -0
  95. package/components/radio-group/radio-group.js +3 -0
  96. package/components/radio-group/radio.js +3 -0
  97. package/components/radio-group/src/DileRadio.js +79 -0
  98. package/components/radio-group/src/DileRadioGroup.js +102 -0
  99. package/components/range/index.js +1 -0
  100. package/components/range/range.js +3 -0
  101. package/components/range/src/DileRange.js +119 -0
  102. package/components/rating/index.js +1 -0
  103. package/components/rating/rating.js +4 -0
  104. package/components/rating/src/DileRating.js +119 -0
  105. package/components/rating/src/DileStar.js +63 -0
  106. package/components/rating/star.js +3 -0
  107. package/components/rating-scale-question/index.js +2 -0
  108. package/components/rating-scale-question/rating-scale-option.js +3 -0
  109. package/components/rating-scale-question/rating-scale-question.js +3 -0
  110. package/components/rating-scale-question/src/DileRatingScaleOption.js +184 -0
  111. package/components/rating-scale-question/src/DileRatingScaleQuestion.js +252 -0
  112. package/components/select/index.js +1 -0
  113. package/components/select/select-ajax.js +4 -0
  114. package/components/select/select.js +3 -0
  115. package/components/select/src/DileSelect.js +172 -0
  116. package/components/select/src/DileSelectAjax.js +338 -0
  117. package/components/selector/index.js +2 -0
  118. package/components/selector/selector-item.js +3 -0
  119. package/components/selector/selector.js +3 -0
  120. package/components/selector/src/DileSelector.js +12 -0
  121. package/components/selector/src/DileSelectorItem.js +94 -0
  122. package/components/slide-show/index.js +1 -0
  123. package/components/slide-show/slide-show.js +3 -0
  124. package/components/slide-show/src/DileSlideShow.js +111 -0
  125. package/components/social-icon/index.js +1 -0
  126. package/components/social-icon/social-icon.js +3 -0
  127. package/components/social-icon/src/DileSocialIcon.js +63 -0
  128. package/components/social-icon/src/icons.js +103 -0
  129. package/components/spinner/index.js +1 -0
  130. package/components/spinner/spinner-horizontal.js +3 -0
  131. package/components/spinner/spinner-modal.js +4 -0
  132. package/components/spinner/spinner.js +3 -0
  133. package/components/spinner/src/DileSpinner.js +116 -0
  134. package/components/spinner/src/DileSpinnerHorizontal.js +64 -0
  135. package/components/spinner/src/DileSpinnerMixin.js +13 -0
  136. package/components/spinner/src/DileSpinnerModal.js +51 -0
  137. package/components/tabs/index.js +2 -0
  138. package/components/tabs/src/DileTab.js +60 -0
  139. package/components/tabs/src/DileTabs.js +12 -0
  140. package/components/tabs/tab.js +3 -0
  141. package/components/tabs/tabs.js +4 -0
  142. package/components/textarea/index.js +1 -0
  143. package/components/textarea/src/DileTextarea.js +166 -0
  144. package/components/textarea/textarea.js +3 -0
  145. package/components/toast/index.js +3 -0
  146. package/components/toast/src/DileToast.js +95 -0
  147. package/components/toast/src/DileToastItem.js +92 -0
  148. package/components/toast/src/DileToastPersistent.js +100 -0
  149. package/components/toast/toast-item.js +3 -0
  150. package/components/toast/toast-persistent.js +3 -0
  151. package/components/toast/toast.js +4 -0
  152. package/components/tooltip/chip-tooltip.js +3 -0
  153. package/components/tooltip/index.js +1 -0
  154. package/components/tooltip/src/DileChipTooltip.js +86 -0
  155. package/components/tooltip/src/DileTooltip.js +195 -0
  156. package/components/tooltip/tooltip.js +3 -0
  157. package/mixins/close-document-click/index.js +1 -0
  158. package/mixins/close-document-click/src/DileCloseDocumentClick.js +67 -0
  159. package/mixins/close-on-esc-pressed/index.js +1 -0
  160. package/mixins/close-on-esc-pressed/src/DileCloseOnEscPressed.js +31 -0
  161. package/mixins/form/index.js +3 -0
  162. package/mixins/form/src/DileEmmitChange.js +22 -0
  163. package/mixins/form/src/DileForm.js +116 -0
  164. package/mixins/form/src/DileFormChangeDetect.js +34 -0
  165. package/mixins/overlay/index.js +1 -0
  166. package/mixins/overlay/src/DileOverlay.js +171 -0
  167. package/mixins/selectable/index.js +2 -0
  168. package/mixins/selectable/src/DileSelectable.js +154 -0
  169. package/mixins/selectable/src/DileSelectableItem.js +30 -0
  170. package/mixins/slide-down/index.js +1 -0
  171. package/mixins/slide-down/src/DileSlideDown.js +40 -0
  172. package/package.json +29 -0
@@ -0,0 +1,111 @@
1
+ import { LitElement, html, css } from 'lit';
2
+ import { DileSlideDown } from '../../../mixins/slide-down';
3
+
4
+ export class DileSlideShow extends DileSlideDown(LitElement) {
5
+ static get properties() {
6
+ return {
7
+ _opened: { attribute: false },
8
+ targetHeight: { type: String },
9
+ showLabel: { type: String },
10
+ hideLabel: { type: String },
11
+ }
12
+ }
13
+
14
+ constructor() {
15
+ super();
16
+ this.targetHeight = '0px';
17
+ this._opened = false;
18
+ this.showLabel = "Open";
19
+ this.hideLabel = "Close";
20
+ }
21
+
22
+ static get styles() {
23
+ return css`
24
+ :host {
25
+ display: block;
26
+ }
27
+ .closed {
28
+ padding: 0px;
29
+ margin-bottom: 0px;
30
+ }
31
+ #content {
32
+ height: var(--dile-slide-down-initial-height, 0);
33
+ overflow: hidden;
34
+ transition: height 0.5s ease-in;
35
+ -webkit-transition: height 0.5s ease-in;
36
+ padding: 1px 0;
37
+ }
38
+ nav {
39
+ padding-top: 0.5em;
40
+ cursor: pointer;
41
+ text-align: var(--dile-slide-show-align-control, left);
42
+ font-size: var(--dile-slide-down-font-size, 1em);
43
+ color: var(--dile-slide-show-text-color, #39c);
44
+ font-weight: var(--dile-slide-show-font-weight, bold);
45
+ text-decoration: var(--dile-slide-show-text-decoration, none);
46
+ }
47
+ .showmoreopen span , .showmoreclose span{
48
+ position: relative;
49
+ padding: 10px;
50
+ left: 15px;
51
+ }
52
+ .showmoreopen span::before, .showmoreclose span::before {
53
+ content: '';
54
+ border-style: solid;
55
+ border-width: 8px 12px 8px 0;
56
+ border-color: transparent var(--dile-slide-show-icon-color, #39c);
57
+ position: absolute;
58
+ left: -15px;
59
+ top: 0.75em;
60
+ transition: transform ease 0.5s;
61
+ transition-delay: 0.5s;
62
+ }
63
+ .showmoreclose span::before {
64
+ transform: rotate(-90deg);
65
+ }
66
+
67
+ .showmoreopen span::before {
68
+ transform: rotate(90deg);
69
+ }
70
+ `;
71
+ }
72
+
73
+ render() {
74
+ return html`
75
+ <div id="content">
76
+ <slot></slot>
77
+ </div>
78
+ <nav @click="${this.toggle}" class="${this._opened ? 'showmoreopen' : 'showmoreclose'}">
79
+ <span>
80
+ ${this._opened ? this.hideLabel : this.showLabel}
81
+ </span>
82
+ </nav>
83
+ `;
84
+ }
85
+
86
+ firstUpdated() {
87
+ this.content = this.shadowRoot.getElementById('content');
88
+ }
89
+
90
+ toggle() {
91
+ if (this._opened) {
92
+ this.close();
93
+ } else {
94
+ this.open();
95
+ }
96
+ }
97
+
98
+ open() {
99
+ if(! this._opened) {
100
+ this.slideShow(this.content, this.targetHeight);
101
+ this._opened = true;
102
+ }
103
+ }
104
+
105
+ close() {
106
+ if(this._opened) {
107
+ this.slideHide(this.content, this.targetHeight);
108
+ this._opened = false;
109
+ }
110
+ }
111
+ }
@@ -0,0 +1 @@
1
+ export { DileSocialIcon } from './src/DileSocialIcon.js';
@@ -0,0 +1,3 @@
1
+ import { DileSocialIcon } from './src/DileSocialIcon.js';
2
+
3
+ window.customElements.define('dile-social-icon', DileSocialIcon);
@@ -0,0 +1,63 @@
1
+ import { LitElement, html, css } from 'lit';
2
+
3
+ import { icons } from './icons.js';
4
+
5
+ /**
6
+ *
7
+ * # <social-icon>
8
+ *
9
+ * Web component to create social icons, based on Lit.
10
+ *
11
+ * The "icon" property is used to set the social network to display
12
+ *
13
+ */
14
+
15
+
16
+ export class DileSocialIcon extends LitElement {
17
+
18
+ static get properties() {
19
+ return {
20
+ icon: { type: String }
21
+ };
22
+ }
23
+
24
+ constructor() {
25
+ super();
26
+ this.icon = 'facebook';
27
+ }
28
+
29
+ static get styles() {
30
+ return css`
31
+ :host[hidden] { display: none; }
32
+ :host {
33
+ display: inline-block;
34
+ }
35
+ path {
36
+ fill: var(--dile-social-icon-color, #888);
37
+ }
38
+ path[fill="none"] {
39
+ fill: transparent;
40
+ }
41
+ svg {
42
+ width: var(--dile-social-icon-size, 24px);
43
+ height: var(--dile-social-icon-size, 24px);
44
+ }
45
+ span {
46
+ display: flex;
47
+ align-items: center;
48
+ }
49
+ `;
50
+ }
51
+
52
+ render() {
53
+ return html`
54
+ <span>
55
+ ${this._getIcon(this.icon)}
56
+ </span>
57
+ `;
58
+ }
59
+
60
+ _getIcon(icon) {
61
+ return icons[icon];
62
+ }
63
+ }
@@ -0,0 +1,103 @@
1
+ import { html } from 'lit';
2
+
3
+ export const icons = {
4
+ facebook: html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 408.788 408.788">
5
+ <path d="M353.701,0H55.087C24.665,0,0.002,24.662,0.002,55.085v298.616c0,30.423,24.662,55.085,55.085,55.085
6
+ h147.275l0.251-146.078h-37.951c-4.932,0-8.935-3.988-8.954-8.92l-0.182-47.087c-0.019-4.959,3.996-8.989,8.955-8.989h37.882
7
+ v-45.498c0-52.8,32.247-81.55,79.348-81.55h38.65c4.945,0,8.955,4.009,8.955,8.955v39.704c0,4.944-4.007,8.952-8.95,8.955
8
+ l-23.719,0.011c-25.615,0-30.575,12.172-30.575,30.035v39.389h56.285c5.363,0,9.524,4.683,8.892,10.009l-5.581,47.087
9
+ c-0.534,4.506-4.355,7.901-8.892,7.901h-50.453l-0.251,146.078h87.631c30.422,0,55.084-24.662,55.084-55.084V55.085
10
+ C408.786,24.662,384.124,0,353.701,0z" /></svg>`,
11
+ twitter: html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 410.155 410.155">
12
+ <path d="M403.632,74.18c-9.113,4.041-18.573,7.229-28.28,9.537c10.696-10.164,18.738-22.877,23.275-37.067
13
+ l0,0c1.295-4.051-3.105-7.554-6.763-5.385l0,0c-13.504,8.01-28.05,14.019-43.235,17.862c-0.881,0.223-1.79,0.336-2.702,0.336
14
+ c-2.766,0-5.455-1.027-7.57-2.891c-16.156-14.239-36.935-22.081-58.508-22.081c-9.335,0-18.76,1.455-28.014,4.325
15
+ c-28.672,8.893-50.795,32.544-57.736,61.724c-2.604,10.945-3.309,21.9-2.097,32.56c0.139,1.225-0.44,2.08-0.797,2.481
16
+ c-0.627,0.703-1.516,1.106-2.439,1.106c-0.103,0-0.209-0.005-0.314-0.015c-62.762-5.831-119.358-36.068-159.363-85.14l0,0
17
+ c-2.04-2.503-5.952-2.196-7.578,0.593l0,0C13.677,65.565,9.537,80.937,9.537,96.579c0,23.972,9.631,46.563,26.36,63.032
18
+ c-7.035-1.668-13.844-4.295-20.169-7.808l0,0c-3.06-1.7-6.825,0.485-6.868,3.985l0,0c-0.438,35.612,20.412,67.3,51.646,81.569
19
+ c-0.629,0.015-1.258,0.022-1.888,0.022c-4.951,0-9.964-0.478-14.898-1.421l0,0c-3.446-0.658-6.341,2.611-5.271,5.952l0,0
20
+ c10.138,31.651,37.39,54.981,70.002,60.278c-27.066,18.169-58.585,27.753-91.39,27.753l-10.227-0.006
21
+ c-3.151,0-5.816,2.054-6.619,5.106c-0.791,3.006,0.666,6.177,3.353,7.74c36.966,21.513,79.131,32.883,121.955,32.883
22
+ c37.485,0,72.549-7.439,104.219-22.109c29.033-13.449,54.689-32.674,76.255-57.141c20.09-22.792,35.8-49.103,46.692-78.201
23
+ c10.383-27.737,15.871-57.333,15.871-85.589v-1.346c-0.001-4.537,2.051-8.806,5.631-11.712c13.585-11.03,25.415-24.014,35.16-38.591
24
+ l0,0C411.924,77.126,407.866,72.302,403.632,74.18L403.632,74.18z" /></svg>`,
25
+ linkedin: html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 382 382">
26
+ <path d="M347.445,0H34.555C15.471,0,0,15.471,0,34.555v312.889C0,366.529,15.471,382,34.555,382h312.889
27
+ C366.529,382,382,366.529,382,347.444V34.555C382,15.471,366.529,0,347.445,0z M118.207,329.844c0,5.554-4.502,10.056-10.056,10.056
28
+ H65.345c-5.554,0-10.056-4.502-10.056-10.056V150.403c0-5.554,4.502-10.056,10.056-10.056h42.806
29
+ c5.554,0,10.056,4.502,10.056,10.056V329.844z M86.748,123.432c-22.459,0-40.666-18.207-40.666-40.666S64.289,42.1,86.748,42.1
30
+ s40.666,18.207,40.666,40.666S109.208,123.432,86.748,123.432z M341.91,330.654c0,5.106-4.14,9.246-9.246,9.246H286.73
31
+ c-5.106,0-9.246-4.14-9.246-9.246v-84.168c0-12.556,3.683-55.021-32.813-55.021c-28.309,0-34.051,29.066-35.204,42.11v97.079
32
+ c0,5.106-4.139,9.246-9.246,9.246h-44.426c-5.106,0-9.246-4.14-9.246-9.246V149.593c0-5.106,4.14-9.246,9.246-9.246h44.426
33
+ c5.106,0,9.246,4.14,9.246,9.246v15.655c10.497-15.753,26.097-27.912,59.312-27.912c73.552,0,73.131,68.716,73.131,106.472
34
+ L341.91,330.654L341.91,330.654z" /></svg>`,
35
+ google: html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
36
+ <path
37
+ d="M113.597,193.064l-87.204-50.347C9.543,176.768,0.001,215.17,0,255.998c0,40.263,9.645,78.731,26.754,113.084 l86.837-50.135c-8.565-19.286-13.418-40.558-13.417-62.949C100.175,233.608,105.031,212.343,113.597,193.064z" />
38
+ <path
39
+ d="M423.925,62.768C378.935,23.634,320.145-0.043,255.823,0C167.822,0.059,89.276,44.985,43.127,113.824l87.275,50.39 c28.381-38.714,74.04-64.041,125.601-64.04c37.587,0.001,72.042,13.437,98.954,35.701c6.588,5.449,16.218,4.95,22.263-1.095 l47.531-47.531C431.605,80.395,431.238,69.128,423.925,62.768z" />
40
+ <path
41
+ d="M510.247,226.38c-0.997-8.475-8.122-14.89-16.653-14.89l-209.767-0.011c-9.22,0-16.696,7.475-16.696,16.696v66.727 c0,9.22,7.475,16.696,16.696,16.696h117.548c-10.827,28.179-29.633,52.403-53.575,70.013l49.928,86.478 c50.256-34.056,88.467-85.547,105.297-146.331C512.175,288.709,513.822,256.751,510.247,226.38z" />
42
+ <path
43
+ d="M318.93,398.381c-19.255,8.578-40.511,13.444-62.927,13.446c-51.619,0.001-97.252-25.327-125.613-64.026l-86.903,50.174 C89.249,466.137,166.915,512,256.001,512c40.272,0,78.603-9.845,112.889-27.084L318.93,398.381z" />
44
+ </svg>`,
45
+ pinterest: html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 508.52 508.52">
46
+ <path
47
+ d="M254.26,0C113.845,0,0,113.845,0,254.26s113.845,254.26,254.26,254.26 s254.26-113.845,254.26-254.26C508.52,113.813,394.675,0,254.26,0z M274.092,323.005c-18.593-1.43-26.379-10.647-40.936-19.514 c-8.009,42.016-17.798,82.317-46.784,103.325c-8.963-63.47,13.126-111.143,23.392-161.773 c-17.48-29.462,2.098-88.673,38.965-74.085c45.354,17.957-39.315,109.427,17.544,120.869 c59.338,11.918,83.588-103.007,46.784-140.383c-53.204-53.967-154.781-1.24-142.29,76.024c3.051,18.879,22.534,24.6,7.787,50.693 c-34.039-7.501-44.209-34.389-42.906-70.176c2.098-58.575,52.632-99.575,103.325-105.264 c64.105-7.183,124.238,23.519,132.533,83.81C380.881,254.578,342.583,328.313,274.092,323.005z" />
48
+ </svg>`,
49
+ youtube: html`<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 97.75 97.75">
50
+ <path d="M39.969,59.587c7.334-3.803,14.604-7.571,21.941-11.376c-7.359-3.84-14.627-7.63-21.941-11.447
51
+ C39.969,44.398,39.969,51.954,39.969,59.587z" />
52
+ <path d="M48.875,0C21.883,0,0,21.882,0,48.875S21.883,97.75,48.875,97.75S97.75,75.868,97.75,48.875S75.867,0,48.875,0z
53
+ M82.176,65.189c-0.846,3.67-3.848,6.377-7.461,6.78c-8.557,0.957-17.217,0.962-25.842,0.957c-8.625,0.005-17.287,0-25.846-0.957
54
+ c-3.613-0.403-6.613-3.11-7.457-6.78c-1.203-5.228-1.203-10.933-1.203-16.314s0.014-11.088,1.217-16.314
55
+ c0.844-3.67,3.844-6.378,7.457-6.782c8.559-0.956,17.221-0.961,25.846-0.956c8.623-0.005,17.285,0,25.841,0.956
56
+ c3.615,0.404,6.617,3.111,7.461,6.782c1.203,5.227,1.193,10.933,1.193,16.314S83.379,59.962,82.176,65.189z" /></svg>`,
57
+ instagram: html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
58
+ <path
59
+ d="M352,0H160C71.648,0,0,71.648,0,160v192c0,88.352,71.648,160,160,160h192c88.352,0,160-71.648,160-160V160 C512,71.648,440.352,0,352,0z M464,352c0,61.76-50.24,112-112,112H160c-61.76,0-112-50.24-112-112V160C48,98.24,98.24,48,160,48 h192c61.76,0,112,50.24,112,112V352z" />
60
+ <path
61
+ d="M256,128c-70.688,0-128,57.312-128,128s57.312,128,128,128s128-57.312,128-128S326.688,128,256,128z M256,336 c-44.096,0-80-35.904-80-80c0-44.128,35.904-80,80-80s80,35.872,80,80C336,300.096,300.096,336,256,336z" />
62
+ <circle cx="393.6" cy="118.4" r="17.056" /></svg>`,
63
+ whatsapp: html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 90">
64
+ <path id="WhatsApp"
65
+ d="M90,43.841c0,24.213-19.779,43.841-44.182,43.841c-7.747,0-15.025-1.98-21.357-5.455L0,90l7.975-23.522
66
+ c-4.023-6.606-6.34-14.354-6.34-22.637C1.635,19.628,21.416,0,45.818,0C70.223,0,90,19.628,90,43.841z M45.818,6.982
67
+ c-20.484,0-37.146,16.535-37.146,36.859c0,8.065,2.629,15.534,7.076,21.61L11.107,79.14l14.275-4.537
68
+ c5.865,3.851,12.891,6.097,20.437,6.097c20.481,0,37.146-16.533,37.146-36.857S66.301,6.982,45.818,6.982z M68.129,53.938
69
+ c-0.273-0.447-0.994-0.717-2.076-1.254c-1.084-0.537-6.41-3.138-7.4-3.495c-0.993-0.358-1.717-0.538-2.438,0.537
70
+ c-0.721,1.076-2.797,3.495-3.43,4.212c-0.632,0.719-1.263,0.809-2.347,0.271c-1.082-0.537-4.571-1.673-8.708-5.333
71
+ c-3.219-2.848-5.393-6.364-6.025-7.441c-0.631-1.075-0.066-1.656,0.475-2.191c0.488-0.482,1.084-1.255,1.625-1.882
72
+ c0.543-0.628,0.723-1.075,1.082-1.793c0.363-0.717,0.182-1.344-0.09-1.883c-0.27-0.537-2.438-5.825-3.34-7.977
73
+ c-0.902-2.15-1.803-1.792-2.436-1.792c-0.631,0-1.354-0.09-2.076-0.09c-0.722,0-1.896,0.269-2.889,1.344
74
+ c-0.992,1.076-3.789,3.676-3.789,8.963c0,5.288,3.879,10.397,4.422,11.113c0.541,0.716,7.49,11.92,18.5,16.223
75
+ C58.2,65.771,58.2,64.336,60.186,64.156c1.984-0.179,6.406-2.599,7.312-5.107C68.398,56.537,68.398,54.386,68.129,53.938z" /></svg>`,
76
+ gmail: html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 510 510">
77
+ <path
78
+ d="M459,51H51C22.95,51,0,73.95,0,102v306c0,28.05,22.95,51,51,51h408c28.05,0,51-22.95,51-51V102 C510,73.95,487.05,51,459,51z M459,408h-51V183.6l-153,96.9l-153-96.9V408H51V102h30.6L255,209.1L428.4,102H459V408z" />
79
+ </svg>`,
80
+ snapchat: html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 468.339 468.339">
81
+ <path d="M500.459,375.368c-64.521-10.633-93.918-75.887-97.058-83.294c-0.06-0.145-0.307-0.666-0.375-0.819
82
+ c-3.234-6.571-4.036-11.904-2.347-15.838c3.388-8.013,17.741-12.553,26.931-15.462c2.586-0.836,5.009-1.604,6.938-2.372
83
+ c18.586-7.339,27.913-16.717,27.716-27.895c-0.179-8.866-7.134-17.007-17.434-20.651c-3.55-1.485-7.774-2.295-11.887-2.295
84
+ c-2.842,0-7.066,0.401-11.102,2.287c-7.868,3.678-14.865,5.658-20.156,5.888c-2.355-0.094-4.139-0.486-5.427-0.922
85
+ c0.162-2.79,0.35-5.658,0.529-8.585l0.094-1.493c2.193-34.807,4.915-78.123-6.673-104.081
86
+ c-34.27-76.834-106.999-82.807-128.478-82.807l-10.018,0.094c-21.436,0-94.029,5.965-128.265,82.756
87
+ c-11.614,26.018-8.866,69.316-6.664,104.115c0.213,3.422,0.427,6.758,0.614,10.01c-1.468,0.503-3.584,0.947-6.46,0.947
88
+ c-6.161,0-13.542-1.997-21.931-5.922c-12.126-5.683-34.295,1.911-37.291,17.647c-1.63,8.516,1.801,20.796,27.383,30.908
89
+ c1.988,0.785,4.489,1.587,7.561,2.56c8.576,2.722,22.929,7.27,26.325,15.266c1.681,3.951,0.879,9.284-2.662,16.512
90
+ c-1.263,2.944-31.65,72.124-98.765,83.174c-6.963,1.143-11.93,7.322-11.537,14.353c0.111,1.954,0.563,3.917,1.399,5.897
91
+ c5.641,13.193,27.119,22.349,67.55,28.766c0.887,2.295,1.92,7.006,2.509,9.737c0.853,3.9,1.749,7.927,2.97,12.1
92
+ c1.229,4.224,4.881,11.307,15.445,11.307c3.575,0,7.714-0.811,12.211-1.681c6.468-1.271,15.309-2.995,26.274-2.995
93
+ c6.084,0,12.416,0.546,18.825,1.604c12.092,2.005,22.699,9.506,35.004,18.202c18.116,12.809,34.586,22.605,67.524,22.605
94
+ c0.87,0,1.732-0.026,2.577-0.085c1.22,0.06,2.449,0.085,3.695,0.085c28.851,0,54.246-7.62,75.494-22.63
95
+ c11.742-8.311,22.835-16.162,34.935-18.176c6.426-1.058,12.766-1.604,18.85-1.604c10.513,0,18.901,1.348,26.385,2.816
96
+ c5.06,0.998,9.02,1.476,12.672,1.476c7.373,0,12.8-4.053,14.874-11.127c1.195-4.113,2.091-8.021,2.961-12.015
97
+ c0.461-2.125,1.57-7.211,2.509-9.66c39.851-6.34,60.203-15.138,65.835-28.297c0.845-1.894,1.34-3.9,1.476-6.033
98
+ C512.372,382.707,507.422,376.529,500.459,375.368z" /></svg>`,
99
+ github: html`<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
100
+ <path
101
+ d="m256 0c-140.609375 0-256 115.390625-256 256 0 119.988281 84.195312 228.984375 196 256v-84.695312c-11.078125 2.425781-21.273438 2.496093-32.550781-.828126-15.128907-4.464843-27.421875-14.542968-36.546875-29.910156-5.816406-9.8125-16.125-20.453125-26.878906-19.671875l-2.636719-29.882812c23.253906-1.992188 43.371093 14.167969 55.3125 34.230469 5.304687 8.921874 11.410156 14.152343 19.246093 16.464843 7.574219 2.230469 15.707032 1.160157 25.183594-2.1875 2.378906-18.972656 11.070313-26.074219 17.636719-36.074219v-.015624c-66.679687-9.945313-93.253906-45.320313-103.800781-73.242188-13.976563-37.074219-6.476563-83.390625 18.238281-112.660156.480469-.570313 1.347656-2.0625 1.011719-3.105469-11.332032-34.230469 2.476562-62.546875 2.984375-65.550781 13.078125 3.867187 15.203125-3.890625 56.808593 21.386718l7.191407 4.320313c3.007812 1.792969 2.0625.769531 5.070312.542969 17.371094-4.71875 35.683594-7.324219 53.726563-7.558594 18.179687.234375 36.375 2.839844 54.464844 7.75l2.328124.234375c-.203124-.03125.632813-.148437 2.035157-.984375 51.972656-31.480469 50.105469-21.191406 64.042969-25.722656.503906 3.007812 14.128906 31.785156 2.917968 65.582031-1.511718 4.65625 45.058594 47.300781 19.246094 115.753906-10.546875 27.933594-37.117188 63.308594-103.796875 73.253907v.015624c8.546875 13.027344 18.816406 19.957032 18.761719 46.832032v105.722656c111.808594-27.015625 196-136.011719 196-256 .003906-140.609375-115.386719-256-255.996094-256zm0 0" />
102
+ </svg>`,
103
+ };
@@ -0,0 +1 @@
1
+ export { DileSpinner } from './src/DileSpinner.js';
@@ -0,0 +1,3 @@
1
+ import { DileSpinnerHorizontal } from "./src/DileSpinnerHorizontal.js";
2
+
3
+ window.customElements.define("dile-spinner-horizontal", DileSpinnerHorizontal);
@@ -0,0 +1,4 @@
1
+ import './spinner.js';
2
+ import { DileSpinnerModal } from "./src/DileSpinnerModal.js";
3
+
4
+ window.customElements.define("dile-spinner-modal", DileSpinnerModal);
@@ -0,0 +1,3 @@
1
+ import { DileSpinner } from "./src/DileSpinner.js";
2
+
3
+ window.customElements.define("dile-spinner", DileSpinner);
@@ -0,0 +1,116 @@
1
+ import { LitElement, html, css } from "lit";
2
+ import { DileSpinnerMixin } from "./DileSpinnerMixin.js";
3
+
4
+ export class DileSpinner extends DileSpinnerMixin(LitElement) {
5
+ static get styles() {
6
+ return css`
7
+ :host {
8
+ display: inline-block;
9
+ }
10
+ i {
11
+ display: inline-block;
12
+ position: relative;
13
+ width: 64px;
14
+ height: 64px;
15
+ background-color: var(--dile-spinner-background, transparent);
16
+ border-radius: 50%;
17
+ border: 4px solid var(--dile-spinner-background, transparent);
18
+ }
19
+ i div {
20
+ animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
21
+ transform-origin: 32px 32px;
22
+ }
23
+ i div:after {
24
+ content: " ";
25
+ display: block;
26
+ position: absolute;
27
+ width: var(--dile-spinner-dot-size, 6px);
28
+ height: var(--dile-spinner-dot-size, 6px);
29
+ border-radius: 50%;
30
+ background: var(--dile-spinner-color, #888);
31
+ margin: -3px 0 0 -3px;
32
+ }
33
+ i div:nth-child(1) {
34
+ animation-delay: -0.036s;
35
+ }
36
+ i div:nth-child(1):after {
37
+ top: 50px;
38
+ left: 50px;
39
+ }
40
+ i div:nth-child(2) {
41
+ animation-delay: -0.072s;
42
+ }
43
+ i div:nth-child(2):after {
44
+ top: 54px;
45
+ left: 45px;
46
+ }
47
+ i div:nth-child(3) {
48
+ animation-delay: -0.108s;
49
+ }
50
+ i div:nth-child(3):after {
51
+ top: 57px;
52
+ left: 39px;
53
+ }
54
+ i div:nth-child(4) {
55
+ animation-delay: -0.144s;
56
+ }
57
+ i div:nth-child(4):after {
58
+ top: 58px;
59
+ left: 32px;
60
+ }
61
+ i div:nth-child(5) {
62
+ animation-delay: -0.18s;
63
+ }
64
+ i div:nth-child(5):after {
65
+ top: 57px;
66
+ left: 25px;
67
+ }
68
+ i div:nth-child(6) {
69
+ animation-delay: -0.216s;
70
+ }
71
+ i div:nth-child(6):after {
72
+ top: 54px;
73
+ left: 19px;
74
+ }
75
+ i div:nth-child(7) {
76
+ animation-delay: -0.252s;
77
+ }
78
+ i div:nth-child(7):after {
79
+ top: 50px;
80
+ left: 14px;
81
+ }
82
+ i div:nth-child(8) {
83
+ animation-delay: -0.288s;
84
+ }
85
+ i div:nth-child(8):after {
86
+ top: 45px;
87
+ left: 10px;
88
+ }
89
+ @keyframes lds-roller {
90
+ 0% {
91
+ transform: rotate(0deg);
92
+ }
93
+ 100% {
94
+ transform: rotate(360deg);
95
+ }
96
+ }
97
+ `;
98
+ }
99
+
100
+ render() {
101
+ return html`
102
+ ${this.active
103
+ ? html`<i
104
+ ><div></div>
105
+ <div></div>
106
+ <div></div>
107
+ <div></div>
108
+ <div></div>
109
+ <div></div>
110
+ <div></div>
111
+ <div></div
112
+ ></i>`
113
+ : ""}
114
+ `;
115
+ }
116
+ }
@@ -0,0 +1,64 @@
1
+ import { LitElement, html, css } from 'lit';
2
+
3
+ export class DileSpinnerHorizontal extends LitElement {
4
+ static styles = [
5
+ css`
6
+ .loader {
7
+ display: flex;
8
+ flex-direction: column;
9
+ align-items: flex-start;
10
+ justify-content: space-between;
11
+ width: var(--dile-spinner-horizontal-width, 70px);
12
+ height: var(--dile-spinner-horizontal-height, 1rem);
13
+ }
14
+ .loader div {
15
+ height: var(--dile-spinner-horizontal-line-size, 2px);
16
+ background: var(--dile-spinner-horizontal-color, #888);
17
+ animation: loader var(--dile-spinner-animation-time, 2.2s) linear infinite;
18
+ }
19
+ .loader div:nth-child(2) {
20
+ animation-delay: -0.65s;
21
+ }
22
+ .loader div:nth-child(1) {
23
+ animation-delay: -0.25s;
24
+ }
25
+ @keyframes loader {
26
+ 0% {
27
+ width: 12px;
28
+ }
29
+ 25% {
30
+ width: 95%;
31
+ }
32
+ 50% {
33
+ width: 10px;
34
+ }
35
+ 75% {
36
+ width: 45%;
37
+ }
38
+ 100% {
39
+ width: 12px;
40
+ }
41
+ }
42
+ `
43
+ ];
44
+
45
+ static properties = {
46
+ active: { type: Boolean }
47
+ }
48
+
49
+ render() {
50
+ return html`
51
+ ${this.active
52
+ ? html`
53
+ <div class="loader">
54
+ <div></div>
55
+ <div></div>
56
+ <div></div>
57
+ </div>
58
+ `
59
+ : ''
60
+ }
61
+
62
+ `;
63
+ }
64
+ }
@@ -0,0 +1,13 @@
1
+ export const DileSpinnerMixin = (SuperClass) =>
2
+ class extends SuperClass {
3
+ static get properties() {
4
+ return {
5
+ active: { type: Boolean },
6
+ };
7
+ }
8
+
9
+ constructor() {
10
+ super();
11
+ this.active = false;
12
+ }
13
+ };
@@ -0,0 +1,51 @@
1
+ import { LitElement, html, css } from "lit";
2
+ import { DileSpinnerMixin } from "./DileSpinnerMixin.js";
3
+
4
+ export class DileSpinnerModal extends DileSpinnerMixin(LitElement) {
5
+ static get styles() {
6
+ return css`
7
+ :host {
8
+ display: block;
9
+ }
10
+ div {
11
+ display: flex;
12
+ position: fixed;
13
+ background-color: var(
14
+ --dile-spinner-modal-background-color,
15
+ rgba(255, 255, 255, 0.8)
16
+ );
17
+ height: 100vh;
18
+ width: 100vw;
19
+ justify-content: center;
20
+ align-items: center;
21
+ top: 0;
22
+ left: 0;
23
+ z-index: 999999999999999;
24
+ }
25
+ blockquote {
26
+ width: 120px;
27
+ height: 120px;
28
+ border-radius: 60px;
29
+ background-color: var(
30
+ --dile-spinner-modal-box-color,
31
+ rgba(0, 0, 0, 0.9)
32
+ );
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: center;
36
+ }
37
+ `;
38
+ }
39
+
40
+ render() {
41
+ return html`
42
+ ${this.active
43
+ ? html` <div>
44
+ <blockquote class="box">
45
+ <dile-spinner ?active="${this.active}"></dile-spinner>
46
+ </blockquote>
47
+ </div>`
48
+ : ""}
49
+ `;
50
+ }
51
+ }
@@ -0,0 +1,2 @@
1
+ export { DileTabs } from './src/DileTabs.js';
2
+ export { DileTab } from './src/DileTab.js';
@@ -0,0 +1,60 @@
1
+ import { html, css, LitElement } from "lit";
2
+ import { DileSelectableItem } from "../../../mixins/selectable/index.js";
3
+
4
+ export class DileTab extends DileSelectableItem(LitElement) {
5
+
6
+ static get styles() {
7
+ return css`
8
+ :host {
9
+ display: inline-block;
10
+ margin: 0 3px;
11
+ }
12
+ article {
13
+ border-top-left-radius: var(--dile-tab-border-radius, 4px);
14
+ border-top-right-radius: var(--dile-tab-border-radius, 4px);
15
+ transition: all 0.3s ease;
16
+ color: var(--dile-tab-text-color, #666);
17
+ background-color: var(--dile-tab-background-color, transparent);
18
+ cursor: pointer;
19
+ border: var(--dile-tab-border, none);
20
+ font-weight: var(--dile-tab-font-weight, normal);
21
+ font-size: var(--dile-tab-font-size, 1rem);
22
+ }
23
+ div.label {
24
+ padding: var(--dile-tab-padding, 8px 12px 6px 12px);
25
+ text-transform: var(--dile-tab-text-transform, uppercase);
26
+ white-space: nowrap;
27
+ }
28
+ .selected {
29
+ background-color: var(--dile-tab-selected-background-color, #039be5);
30
+ color: var(--dile-tab-selected-text-color, #fff);
31
+ border: var(--dile-tab-selected-border, none);
32
+ }
33
+ span {
34
+ display: block;
35
+ height: var(--dile-tab-selected-line-height, 5px);
36
+ width: 0;
37
+ background-color: var(--dile-tab-selected-line-color, #0070c0);
38
+ transition: width 0.3s ease;
39
+ }
40
+ .markselected {
41
+ width: 100%;
42
+ }
43
+ .line {
44
+ display: flex;
45
+ justify-content: center;
46
+ }
47
+ `;
48
+ }
49
+
50
+ render() {
51
+ return html`
52
+ <article @click='${this.select}' class="${this.selected ? 'selected' : ''}">
53
+ <div class="label"><slot></slot></div>
54
+ <div class="line">
55
+ <span class="${this.selected ? 'markselected' : ''}"></span>
56
+ </div>
57
+ </article>
58
+ `;
59
+ }
60
+ }
@@ -0,0 +1,12 @@
1
+ import { html, css, LitElement } from "lit";
2
+ import { DileSelectable } from "../../../mixins/selectable/index.js";
3
+
4
+ export class DileTabs extends DileSelectable(LitElement) {
5
+ static get styles() {
6
+ return css`
7
+ :host {
8
+ display: flex;
9
+ }
10
+ `;
11
+ }
12
+ }
@@ -0,0 +1,3 @@
1
+ import { DileTab } from "./src/DileTab.js";
2
+
3
+ window.customElements.define("dile-tab", DileTab);
@@ -0,0 +1,4 @@
1
+ import './tab.js';
2
+ import { DileTabs } from "./src/DileTabs.js";
3
+
4
+ window.customElements.define("dile-tabs", DileTabs);
@@ -0,0 +1 @@
1
+ export { DileTextarea } from './src/DileTextarea.js';