@scania/tegel 0.0.31 → 0.0.33

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 (160) hide show
  1. package/dist/cjs/sdds-toast.cjs.entry.js +1 -1
  2. package/dist/cjs/sdds-toast.cjs.entry.js.map +1 -1
  3. package/dist/collection/components/toast/sdds-toast.js +2 -2
  4. package/dist/collection/components/toast/sdds-toast.js.map +1 -1
  5. package/dist/components/dropdown-option.js +103 -0
  6. package/dist/components/dropdown-option.js.map +1 -0
  7. package/dist/components/dropdown.js +306 -0
  8. package/dist/components/dropdown.js.map +1 -0
  9. package/dist/components/icon.js +61 -0
  10. package/dist/components/icon.js.map +1 -0
  11. package/dist/components/index.d.ts +27 -0
  12. package/dist/components/index.js +3 -0
  13. package/dist/components/index.js.map +1 -0
  14. package/dist/components/popper.js +1801 -0
  15. package/dist/components/popper.js.map +1 -0
  16. package/dist/components/sdds-accordion-item.d.ts +11 -0
  17. package/dist/components/sdds-accordion-item.js +63 -0
  18. package/dist/components/sdds-accordion-item.js.map +1 -0
  19. package/dist/components/sdds-accordion.d.ts +11 -0
  20. package/dist/components/sdds-accordion.js +41 -0
  21. package/dist/components/sdds-accordion.js.map +1 -0
  22. package/dist/components/sdds-badges.d.ts +11 -0
  23. package/dist/components/sdds-badges.js +78 -0
  24. package/dist/components/sdds-badges.js.map +1 -0
  25. package/dist/components/sdds-banner.d.ts +11 -0
  26. package/dist/components/sdds-banner.js +122 -0
  27. package/dist/components/sdds-banner.js.map +1 -0
  28. package/dist/components/sdds-block.d.ts +11 -0
  29. package/dist/components/sdds-block.js +51 -0
  30. package/dist/components/sdds-block.js.map +1 -0
  31. package/dist/components/sdds-body-cell.d.ts +11 -0
  32. package/dist/components/sdds-body-cell.js +8 -0
  33. package/dist/components/sdds-body-cell.js.map +1 -0
  34. package/dist/components/sdds-breadcrumb-item.d.ts +11 -0
  35. package/dist/components/sdds-breadcrumb-item.js +46 -0
  36. package/dist/components/sdds-breadcrumb-item.js.map +1 -0
  37. package/dist/components/sdds-breadcrumb.d.ts +11 -0
  38. package/dist/components/sdds-breadcrumb.js +40 -0
  39. package/dist/components/sdds-breadcrumb.js.map +1 -0
  40. package/dist/components/sdds-button.d.ts +11 -0
  41. package/dist/components/sdds-button.js +62 -0
  42. package/dist/components/sdds-button.js.map +1 -0
  43. package/dist/components/sdds-card.d.ts +11 -0
  44. package/dist/components/sdds-card.js +87 -0
  45. package/dist/components/sdds-card.js.map +1 -0
  46. package/dist/components/sdds-checkbox.d.ts +11 -0
  47. package/dist/components/sdds-checkbox.js +79 -0
  48. package/dist/components/sdds-checkbox.js.map +1 -0
  49. package/dist/components/sdds-datetime.d.ts +11 -0
  50. package/dist/components/sdds-datetime.js +132 -0
  51. package/dist/components/sdds-datetime.js.map +1 -0
  52. package/dist/components/sdds-dropdown-filter.d.ts +11 -0
  53. package/dist/components/sdds-dropdown-filter.js +141 -0
  54. package/dist/components/sdds-dropdown-filter.js.map +1 -0
  55. package/dist/components/sdds-dropdown-option.d.ts +11 -0
  56. package/dist/components/sdds-dropdown-option.js +8 -0
  57. package/dist/components/sdds-dropdown-option.js.map +1 -0
  58. package/dist/components/sdds-dropdown.d.ts +11 -0
  59. package/dist/components/sdds-dropdown.js +8 -0
  60. package/dist/components/sdds-dropdown.js.map +1 -0
  61. package/dist/components/sdds-header-cell.d.ts +11 -0
  62. package/dist/components/sdds-header-cell.js +173 -0
  63. package/dist/components/sdds-header-cell.js.map +1 -0
  64. package/dist/components/sdds-icon.d.ts +11 -0
  65. package/dist/components/sdds-icon.js +8 -0
  66. package/dist/components/sdds-icon.js.map +1 -0
  67. package/dist/components/sdds-inline-tab.d.ts +11 -0
  68. package/dist/components/sdds-inline-tab.js +43 -0
  69. package/dist/components/sdds-inline-tab.js.map +1 -0
  70. package/dist/components/sdds-inline-tabs-fullbleed.d.ts +11 -0
  71. package/dist/components/sdds-inline-tabs-fullbleed.js +120 -0
  72. package/dist/components/sdds-inline-tabs-fullbleed.js.map +1 -0
  73. package/dist/components/sdds-inline-tabs.d.ts +11 -0
  74. package/dist/components/sdds-inline-tabs.js +248 -0
  75. package/dist/components/sdds-inline-tabs.js.map +1 -0
  76. package/dist/components/sdds-link.d.ts +11 -0
  77. package/dist/components/sdds-link.js +8 -0
  78. package/dist/components/sdds-link.js.map +1 -0
  79. package/dist/components/sdds-link2.js +47 -0
  80. package/dist/components/sdds-link2.js.map +1 -0
  81. package/dist/components/sdds-message.d.ts +11 -0
  82. package/dist/components/sdds-message.js +70 -0
  83. package/dist/components/sdds-message.js.map +1 -0
  84. package/dist/components/sdds-modal.d.ts +11 -0
  85. package/dist/components/sdds-modal.js +80 -0
  86. package/dist/components/sdds-modal.js.map +1 -0
  87. package/dist/components/sdds-navigation-tabs.d.ts +11 -0
  88. package/dist/components/sdds-navigation-tabs.js +120 -0
  89. package/dist/components/sdds-navigation-tabs.js.map +1 -0
  90. package/dist/components/sdds-popover-canvas.d.ts +11 -0
  91. package/dist/components/sdds-popover-canvas.js +111 -0
  92. package/dist/components/sdds-popover-canvas.js.map +1 -0
  93. package/dist/components/sdds-popover-menu.d.ts +11 -0
  94. package/dist/components/sdds-popover-menu.js +112 -0
  95. package/dist/components/sdds-popover-menu.js.map +1 -0
  96. package/dist/components/sdds-radio-button.d.ts +11 -0
  97. package/dist/components/sdds-radio-button.js +55 -0
  98. package/dist/components/sdds-radio-button.js.map +1 -0
  99. package/dist/components/sdds-slider.d.ts +11 -0
  100. package/dist/components/sdds-slider.js +397 -0
  101. package/dist/components/sdds-slider.js.map +1 -0
  102. package/dist/components/sdds-spinner.d.ts +11 -0
  103. package/dist/components/sdds-spinner.js +40 -0
  104. package/dist/components/sdds-spinner.js.map +1 -0
  105. package/dist/components/sdds-table-body-row-expandable.d.ts +11 -0
  106. package/dist/components/sdds-table-body-row-expandable.js +108 -0
  107. package/dist/components/sdds-table-body-row-expandable.js.map +1 -0
  108. package/dist/components/sdds-table-body-row.d.ts +11 -0
  109. package/dist/components/sdds-table-body-row.js +8 -0
  110. package/dist/components/sdds-table-body-row.js.map +1 -0
  111. package/dist/components/sdds-table-body.d.ts +11 -0
  112. package/dist/components/sdds-table-body.js +340 -0
  113. package/dist/components/sdds-table-body.js.map +1 -0
  114. package/dist/components/sdds-table-footer.d.ts +11 -0
  115. package/dist/components/sdds-table-footer.js +198 -0
  116. package/dist/components/sdds-table-footer.js.map +1 -0
  117. package/dist/components/sdds-table-header.d.ts +11 -0
  118. package/dist/components/sdds-table-header.js +127 -0
  119. package/dist/components/sdds-table-header.js.map +1 -0
  120. package/dist/components/sdds-table-toolbar.d.ts +11 -0
  121. package/dist/components/sdds-table-toolbar.js +90 -0
  122. package/dist/components/sdds-table-toolbar.js.map +1 -0
  123. package/dist/components/sdds-table.d.ts +11 -0
  124. package/dist/components/sdds-table.js +94 -0
  125. package/dist/components/sdds-table.js.map +1 -0
  126. package/dist/components/sdds-textarea.d.ts +11 -0
  127. package/dist/components/sdds-textarea.js +112 -0
  128. package/dist/components/sdds-textarea.js.map +1 -0
  129. package/dist/components/sdds-textfield.d.ts +11 -0
  130. package/dist/components/sdds-textfield.js +130 -0
  131. package/dist/components/sdds-textfield.js.map +1 -0
  132. package/dist/components/sdds-toast.d.ts +11 -0
  133. package/dist/components/sdds-toast.js +120 -0
  134. package/dist/components/sdds-toast.js.map +1 -0
  135. package/dist/components/sdds-toggle.d.ts +11 -0
  136. package/dist/components/sdds-toggle.js +72 -0
  137. package/dist/components/sdds-toggle.js.map +1 -0
  138. package/dist/components/sdds-tooltip.d.ts +11 -0
  139. package/dist/components/sdds-tooltip.js +130 -0
  140. package/dist/components/sdds-tooltip.js.map +1 -0
  141. package/dist/components/table-body-cell.js +104 -0
  142. package/dist/components/table-body-cell.js.map +1 -0
  143. package/dist/components/table-body-row.js +123 -0
  144. package/dist/components/table-body-row.js.map +1 -0
  145. package/dist/esm/sdds-toast.entry.js +1 -1
  146. package/dist/esm/sdds-toast.entry.js.map +1 -1
  147. package/{loader → dist/loader}/cdn.js +1 -1
  148. package/{loader → dist/loader}/index.cjs.js +1 -1
  149. package/{loader → dist/loader}/index.d.ts +1 -1
  150. package/dist/loader/index.es2017.js +3 -0
  151. package/{loader → dist/loader}/index.js +2 -2
  152. package/{loader → dist/loader}/package.json +0 -0
  153. package/dist/tegel/{p-46013562.entry.js → p-f51fe381.entry.js} +2 -2
  154. package/dist/tegel/p-f51fe381.entry.js.map +1 -0
  155. package/dist/tegel/tegel.esm.js +1 -1
  156. package/dist/types/components/toast/sdds-toast.d.ts +1 -1
  157. package/dist/types/components.d.ts +2 -2
  158. package/package.json +3 -3
  159. package/dist/tegel/p-46013562.entry.js.map +0 -1
  160. package/loader/index.es2017.js +0 -3
@@ -0,0 +1,87 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const sddsCardCss = ".card{box-shadow:var(--sdds-card-box);background-color:var(--sdds-card-background);display:block;border-radius:4px;max-width:368px;overflow:hidden}.card.clickable:hover{box-shadow:var(--sdds-card-box-hover);cursor:pointer}.card .card-top{font:var(--sdds-headline-06);letter-spacing:var(--sdds-headline-06-ls);padding:16px;display:flex;align-items:center}.card .card-top img.card-top-image{width:36px;height:36px;border-radius:100%}.card .card-top .card-top-header{padding-left:16px;display:flex;flex-direction:column;row-gap:4px}.card .card-top .card-top-header.no-header-img{padding-left:0}.card .card-top .card-top-header.single-line-header{row-gap:0}.card .card-top.below{padding-top:16px}.card .card-header{color:var(--sdds-card-headline)}.card .card-subheader{color:var(--sdds-card-sub-headline)}.card .card-body-img{width:100%}.card .sdds-divider{margin:16px 16px 0;background-color:var(--sdds-card-divider);height:1px}.card slot[name=card-body]::slotted(*){font:var(--sdds-detail-03);letter-spacing:var(--sdds-detail-03-ls);color:var(--sdds-card-body-color);padding:0 16px;margin-bottom:16px;margin-top:16px}.card slot[name=card-bottom]::slotted(*){display:flex;padding:16px}button{border:none;text-align:left;padding:0}button:focus{outline:2px solid var(--sdds-blue-400);outline-offset:-2px}button:active{box-shadow:var(--sdds-card-box-pressed)}";
4
+
5
+ const SddsCard$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.sddsClick = createEvent(this, "sddsClick", 7);
11
+ this.handleClick = () => {
12
+ this.sddsClick.emit({
13
+ cardId: this.cardId,
14
+ });
15
+ };
16
+ this.getCardContent = () => (h("div", null, this.headerPlacement === 'above' && (h("div", { class: `card-top ${this.headerPlacement}` }, this.headerImg && (h("img", { class: `card-top-image`, src: this.headerImg, alt: this.headerImgAlt })), ' ', h("div", { class: `
17
+ card-top-header
18
+ ${!this.headerImg ? 'no-header-img' : ''}
19
+ ${!this.header || !this.subheader ? 'single-line-header' : ''}
20
+ ` }, h("span", { class: `card-header` }, this.header), h("span", { class: `card-subheader` }, this.subheader)))), h("div", { class: `card-body` }, this.bodyImg && h("img", { class: `card-body-img`, src: this.bodyImg, alt: this.bodyImgAlt }), this.headerPlacement === 'below' && (this.headerImg || this.header || this.subheader) && (h("div", { class: `card-top ${this.headerPlacement}` }, this.headerImg && (h("img", { class: `card-top-image`, src: this.headerImg, alt: this.headerImgAlt })), h("div", { class: `
21
+ card-top-header
22
+ ${!this.headerImg ? 'no-header-img' : ''}
23
+ ${!this.header || !this.subheader ? 'single-line-header' : ''}
24
+ ` }, h("span", { class: `card-header` }, this.header), h("span", { class: `card-subheader` }, this.subheader)))), this.bodyDivider && h("div", { class: `sdds-divider` }), h("slot", { name: "card-body" })), h("div", { class: `card-bottom` }, this.hasCardBottomSlot && h("slot", { name: `card-bottom` }))));
25
+ this.modeVariant = null;
26
+ this.headerPlacement = 'above';
27
+ this.header = undefined;
28
+ this.subheader = undefined;
29
+ this.headerImg = undefined;
30
+ this.headerImgAlt = undefined;
31
+ this.bodyImg = undefined;
32
+ this.bodyImgAlt = undefined;
33
+ this.bodyDivider = false;
34
+ this.clickable = false;
35
+ this.cardId = crypto.randomUUID();
36
+ this.hasCardBottomSlot = false;
37
+ this.hasCardBodySlot = false;
38
+ }
39
+ connectedCallback() {
40
+ this.hasCardBottomSlot = !!this.hostElement.querySelector('[slot="card-bottom"]');
41
+ this.hasCardBodySlot = !!this.hostElement.querySelector('[slot="card-body"]');
42
+ }
43
+ render() {
44
+ return (h(Host, { class: this.modeVariant && `sdds-mode-variant-${this.modeVariant}` }, this.clickable ? (h("button", { class: `card ${this.clickable ? 'clickable' : ''} ${this.headerPlacement}`, onClick: () => {
45
+ if (this.clickable) {
46
+ this.handleClick();
47
+ }
48
+ } }, this.getCardContent())) : (h("div", { class: `card ${this.clickable ? 'clickable' : ''} ${this.headerPlacement}` }, this.getCardContent()))));
49
+ }
50
+ get hostElement() { return this; }
51
+ static get style() { return sddsCardCss; }
52
+ }, [1, "sdds-card", {
53
+ "modeVariant": [1, "mode-variant"],
54
+ "headerPlacement": [1, "header-placement"],
55
+ "header": [1],
56
+ "subheader": [1],
57
+ "headerImg": [1, "header-img"],
58
+ "headerImgAlt": [1, "header-img-alt"],
59
+ "bodyImg": [1, "body-img"],
60
+ "bodyImgAlt": [1, "body-img-alt"],
61
+ "bodyDivider": [4, "body-divider"],
62
+ "clickable": [4],
63
+ "cardId": [1, "card-id"],
64
+ "hasCardBottomSlot": [32],
65
+ "hasCardBodySlot": [32]
66
+ }]);
67
+ function defineCustomElement$1() {
68
+ if (typeof customElements === "undefined") {
69
+ return;
70
+ }
71
+ const components = ["sdds-card"];
72
+ components.forEach(tagName => { switch (tagName) {
73
+ case "sdds-card":
74
+ if (!customElements.get(tagName)) {
75
+ customElements.define(tagName, SddsCard$1);
76
+ }
77
+ break;
78
+ } });
79
+ }
80
+ defineCustomElement$1();
81
+
82
+ const SddsCard = SddsCard$1;
83
+ const defineCustomElement = defineCustomElement$1;
84
+
85
+ export { SddsCard, defineCustomElement };
86
+
87
+ //# sourceMappingURL=sdds-card.js.map
@@ -0,0 +1 @@
1
+ {"file":"sdds-card.js","mappings":"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","names":["SddsCard"],"sources":["./src/components/card/sdds-card.scss?tag=sdds-card&encapsulation=shadow","./src/components/card/sdds-card.tsx"],"sourcesContent":[".card {\n box-shadow: var(--sdds-card-box);\n background-color: var(--sdds-card-background);\n display: block;\n border-radius: 4px;\n max-width: 368px;\n overflow: hidden;\n\n &.clickable {\n &:hover {\n box-shadow: var(--sdds-card-box-hover);\n cursor: pointer;\n }\n }\n\n .card-top {\n font: var(--sdds-headline-06);\n letter-spacing: var(--sdds-headline-06-ls);\n padding: 16px;\n display: flex;\n align-items: center;\n\n img.card-top-image {\n width: 36px;\n height: 36px;\n border-radius: 100%;\n }\n\n .card-top-header {\n padding-left: 16px;\n display: flex;\n flex-direction: column;\n row-gap: 4px;\n\n &.no-header-img {\n padding-left: 0;\n }\n\n &.single-line-header {\n row-gap: 0;\n }\n }\n\n &.below {\n padding-top: 16px;\n }\n }\n\n .card-header {\n color: var(--sdds-card-headline);\n }\n\n .card-subheader {\n color: var(--sdds-card-sub-headline);\n }\n\n .card-body-img {\n width: 100%;\n }\n\n .sdds-divider {\n margin: 16px 16px 0;\n background-color: var(--sdds-card-divider);\n height: 1px;\n }\n\n slot[name='card-body']::slotted(*) {\n font: var(--sdds-detail-03);\n letter-spacing: var(--sdds-detail-03-ls);\n color: var(--sdds-card-body-color);\n padding: 0 16px;\n margin-bottom: 16px;\n margin-top: 16px;\n }\n\n slot[name='card-bottom']::slotted(*) {\n display: flex;\n padding: 16px;\n }\n}\n\nbutton {\n border: none;\n text-align: left;\n padding: 0;\n\n &:focus {\n outline: 2px solid var(--sdds-blue-400);\n outline-offset: -2px;\n }\n\n &:active {\n box-shadow: var(--sdds-card-box-pressed);\n }\n}\n","import { Component, h, Prop, Event, EventEmitter, Element, State, Host } from '@stencil/core';\n\n@Component({\n tag: 'sdds-card',\n styleUrl: 'sdds-card.scss',\n shadow: true,\n})\nexport class SddsCard {\n /** Variant of the card based on the theme used. */\n @Prop() modeVariant: 'primary' | 'secondary' = null;\n\n /** Placement of the header */\n @Prop() headerPlacement: 'above' | 'below' = 'above';\n\n /** Text in the header */\n @Prop() header: string;\n\n /** Subheader text in the header */\n @Prop() subheader: string;\n\n /** Header image src */\n @Prop() headerImg: string;\n\n /** Alt text for the header image */\n @Prop() headerImgAlt: string;\n\n /** Body image src */\n @Prop() bodyImg: string;\n\n /** Alt text for the body image */\n @Prop() bodyImgAlt: string;\n\n /** Divider for the body */\n @Prop() bodyDivider: boolean = false;\n\n /** Makes the card clickable. */\n @Prop() clickable: boolean = false;\n\n /** ID for the card, must be unique.\n *\n * **NOTE**: If you're listening for card events you need to set this ID yourself to identify the card, as the default ID is random and will be different every time.\n */\n @Prop() cardId: string = crypto.randomUUID();\n\n /** Sends unique card identifier when the card is clicked, if clickable=true */\n @Event({\n eventName: 'sddsClick',\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n sddsClick: EventEmitter<{\n cardId: string;\n }>;\n\n @Element() hostElement: HTMLSddsCardElement;\n\n @State() hasCardBottomSlot: boolean = false;\n\n @State() hasCardBodySlot: boolean = false;\n\n connectedCallback() {\n this.hasCardBottomSlot = !!this.hostElement.querySelector('[slot=\"card-bottom\"]');\n this.hasCardBodySlot = !!this.hostElement.querySelector('[slot=\"card-body\"]');\n }\n\n handleClick = () => {\n this.sddsClick.emit({\n cardId: this.cardId,\n });\n };\n\n getCardContent = () => (\n <div>\n {this.headerPlacement === 'above' && (\n <div class={`card-top ${this.headerPlacement}`}>\n {this.headerImg && (\n <img class={`card-top-image`} src={this.headerImg} alt={this.headerImgAlt} />\n )}{' '}\n <div\n class={`\n card-top-header\n ${!this.headerImg ? 'no-header-img' : ''}\n ${!this.header || !this.subheader ? 'single-line-header' : ''}\n `}\n >\n <span class={`card-header`}>{this.header}</span>\n <span class={`card-subheader`}>{this.subheader}</span>\n </div>\n </div>\n )}\n <div class={`card-body`}>\n {this.bodyImg && <img class={`card-body-img`} src={this.bodyImg} alt={this.bodyImgAlt} />}\n {this.headerPlacement === 'below' && (this.headerImg || this.header || this.subheader) && (\n <div class={`card-top ${this.headerPlacement}`}>\n {this.headerImg && (\n <img class={`card-top-image`} src={this.headerImg} alt={this.headerImgAlt} />\n )}\n <div\n class={`\n card-top-header\n ${!this.headerImg ? 'no-header-img' : ''}\n ${!this.header || !this.subheader ? 'single-line-header' : ''}\n `}\n >\n <span class={`card-header`}>{this.header}</span>\n <span class={`card-subheader`}>{this.subheader}</span>\n </div>\n </div>\n )}\n {this.bodyDivider && <div class={`sdds-divider`}></div>}\n <slot name=\"card-body\"></slot>\n </div>\n <div class={`card-bottom`}>\n {this.hasCardBottomSlot && <slot name={`card-bottom`}></slot>}\n </div>\n </div>\n );\n\n render() {\n return (\n <Host class={this.modeVariant && `sdds-mode-variant-${this.modeVariant}`}>\n {this.clickable ? (\n <button\n class={`card ${this.clickable ? 'clickable' : ''} ${this.headerPlacement}`}\n onClick={() => {\n if (this.clickable) {\n this.handleClick();\n }\n }}\n >\n {this.getCardContent()}\n </button>\n ) : (\n <div class={`card ${this.clickable ? 'clickable' : ''} ${this.headerPlacement}`}>\n {this.getCardContent()}\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface SddsCheckbox extends Components.SddsCheckbox, HTMLElement {}
4
+ export const SddsCheckbox: {
5
+ prototype: SddsCheckbox;
6
+ new (): SddsCheckbox;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,79 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+
3
+ const sddsCheckboxCss = ".sdds-checkbox-webcomponent.sc-sdds-checkbox{box-sizing:border-box;font:var(--sdds-detail-02);letter-spacing:var(--sdds-detail-02-ls);color:var(--sdds-checkbox-text);display:flex;align-items:center;margin-left:-4px}.sdds-checkbox-webcomponent.sc-sdds-checkbox *.sc-sdds-checkbox{box-sizing:border-box}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox{appearance:none;outline:none;margin:0;border:0;border-radius:2px;width:24px;height:24px;position:relative;cursor:pointer}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox+label.sc-sdds-checkbox{color:var(--sdds-checkbox-color);padding-left:var(--sdds-spacing-element-4);padding-top:var(--sdds-spacing-element-4);padding-bottom:var(--sdds-spacing-element-4);cursor:pointer}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox::before,.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox::after{content:\"\";position:absolute;box-sizing:border-box;border-radius:2px}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox::before{width:24px;height:24px;left:0;top:0}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox::after{border:1px solid var(--sdds-checkbox-interaction-01);background-color:var(--sdds-checkbox-interaction-02);width:16px;height:16px;left:4px;top:4px}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:hover::before{background-color:var(--sdds-checkbox-background-hover);opacity:0.12}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:focus::before{background-color:var(--sdds-checkbox-background-focus);opacity:0.24;transition:opacity 0.2s ease-in-out}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:disabled,.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].disabled.sc-sdds-checkbox{cursor:not-allowed}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:disabled::after,.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].disabled.sc-sdds-checkbox::after{border-color:var(--sdds-checkbox-border-color-disabled-after)}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:disabled+label.sc-sdds-checkbox,.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].disabled.sc-sdds-checkbox+label.sc-sdds-checkbox{color:var(--sdds-grey-600);cursor:not-allowed}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:disabled:hover::before,.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].disabled.sc-sdds-checkbox:hover::before{display:none}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:checked::after{background-image:var(--sdds-checkbox-background-img);background-color:var(--sdds-checkbox-interaction-01);background-repeat:no-repeat;background-position:center}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:checked:hover::before{background-color:var(--sdds-checkbox-background-hover);opacity:0.12}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:checked:disabled:hover::before,.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:checked:disabled::before,.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:checked.disabled:hover::before,.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:checked.disabled::before{display:block;width:16px;height:16px;left:4px;top:4px;border:1px solid #b0b7c4}.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:checked:disabled::after,.sdds-checkbox-webcomponent.sc-sdds-checkbox input[type=checkbox].sc-sdds-checkbox:checked.disabled::after{background-image:var(--sdds-checkbox-background-img-disabled);background-color:var(--sdds-checkbox-interaction-02);color:var(--sdds-checkbox-color-disabled-after)}";
4
+
5
+ const SddsCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.sddsChange = createEvent(this, "sddsChange", 6);
10
+ this.sddsFocus = createEvent(this, "sddsFocus", 6);
11
+ this.sddsBlur = createEvent(this, "sddsBlur", 6);
12
+ this.handleChange = () => {
13
+ this.checked = !this.checked;
14
+ this.sddsChange.emit({
15
+ checkboxId: this.checkboxId,
16
+ checked: this.checked,
17
+ value: this.value,
18
+ });
19
+ };
20
+ this.name = undefined;
21
+ this.checkboxId = crypto.randomUUID();
22
+ this.disabled = false;
23
+ this.required = false;
24
+ this.checked = false;
25
+ this.value = undefined;
26
+ }
27
+ /** Toggles the checked value of the component. */
28
+ async toggleCheckbox() {
29
+ this.checked = !this.checked;
30
+ return {
31
+ checkboxId: this.checkboxId,
32
+ checked: this.checked,
33
+ };
34
+ }
35
+ /** Set the input as focus when clicking the whole textfield with suffix/prefix */
36
+ handleFocus(event) {
37
+ this.sddsFocus.emit(event);
38
+ }
39
+ /** Set the input as focus when clicking the whole textfield with suffix/prefix */
40
+ handleBlur(event) {
41
+ this.sddsBlur.emit(event);
42
+ }
43
+ render() {
44
+ return (h("div", { class: "sdds-checkbox-webcomponent" }, h("input", { "aria-checked": this.checked, "aria-required": this.required, "aria-describedby": this.host.getAttribute('aria-describedby'), "aria-labelledby": this.host.getAttribute('aria-labelledby'), required: this.required, type: "checkbox", name: this.name, value: this.value, id: this.checkboxId, checked: this.checked, disabled: this.disabled, onFocus: (event) => this.handleFocus(event), onBlur: (event) => this.handleBlur(event), onChange: () => {
45
+ this.handleChange();
46
+ } }), h("label", { htmlFor: this.checkboxId }, h("slot", null))));
47
+ }
48
+ get host() { return this; }
49
+ static get style() { return sddsCheckboxCss; }
50
+ }, [6, "sdds-checkbox", {
51
+ "name": [1],
52
+ "checkboxId": [1, "checkbox-id"],
53
+ "disabled": [4],
54
+ "required": [4],
55
+ "checked": [516],
56
+ "value": [1],
57
+ "toggleCheckbox": [64]
58
+ }]);
59
+ function defineCustomElement$1() {
60
+ if (typeof customElements === "undefined") {
61
+ return;
62
+ }
63
+ const components = ["sdds-checkbox"];
64
+ components.forEach(tagName => { switch (tagName) {
65
+ case "sdds-checkbox":
66
+ if (!customElements.get(tagName)) {
67
+ customElements.define(tagName, SddsCheckbox$1);
68
+ }
69
+ break;
70
+ } });
71
+ }
72
+ defineCustomElement$1();
73
+
74
+ const SddsCheckbox = SddsCheckbox$1;
75
+ const defineCustomElement = defineCustomElement$1;
76
+
77
+ export { SddsCheckbox, defineCustomElement };
78
+
79
+ //# sourceMappingURL=sdds-checkbox.js.map
@@ -0,0 +1 @@
1
+ {"file":"sdds-checkbox.js","mappings":";;AAAA,MAAM,eAAe,GAAG,o+HAAo+H;;MCS/+HA,cAAY;;;;;;;IA4CvB,iBAAY,GAAG;MACb,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;MAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;OAClB,CAAC,CAAC;KACJ,CAAC;;sBA9C2B,MAAM,CAAC,UAAU,EAAE;oBAGpB,KAAK;oBAGL,KAAK;mBAGW,KAAK;;;;EASjD,MAAM,cAAc;IAClB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7B,OAAO;MACL,UAAU,EAAE,IAAI,CAAC,UAAU;MAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;GACH;;EAkCD,WAAW,CAAC,KAAK;IACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;GAC5B;;EAYD,UAAU,CAAC,KAAK;IACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;GAC3B;EAED,MAAM;IACJ,QACE,WAAK,KAAK,EAAC,4BAA4B,IACrC,6BACgB,IAAI,CAAC,OAAO,mBACX,IAAI,CAAC,QAAQ,sBACV,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,qBAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,EAAE,EAAE,IAAI,CAAC,UAAU,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC3C,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE;QACR,IAAI,CAAC,YAAY,EAAE,CAAC;OACrB,GACD,EACF,aAAO,OAAO,EAAE,IAAI,CAAC,UAAU,IAC7B,eAAa,CACP,CACJ,EACN;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SddsCheckbox"],"sources":["./src/components/checkbox/sdds-checkbox.scss?tag=sdds-checkbox&encapsulation=scoped","./src/components/checkbox/sdds-checkbox.tsx"],"sourcesContent":["@import '../../mixins/box-sizing';\n\n.sdds-checkbox-webcomponent {\n @include sdds-box-sizing;\n\n font: var(--sdds-detail-02);\n letter-spacing: var(--sdds-detail-02-ls);\n color: var(--sdds-checkbox-text);\n display: flex;\n align-items: center;\n margin-left: -4px;\n\n input[type='checkbox'] {\n appearance: none;\n outline: none;\n margin: 0;\n border: 0;\n border-radius: 2px;\n width: 24px;\n height: 24px;\n position: relative;\n cursor: pointer;\n\n + label {\n color: var(--sdds-checkbox-color);\n padding-left: var(--sdds-spacing-element-4);\n padding-top: var(--sdds-spacing-element-4);\n padding-bottom: var(--sdds-spacing-element-4);\n cursor: pointer;\n }\n\n &::before,\n &::after {\n content: '';\n position: absolute;\n box-sizing: border-box;\n border-radius: 2px;\n }\n\n &::before {\n width: 24px;\n height: 24px;\n left: 0;\n top: 0;\n }\n\n &::after {\n border: 1px solid var(--sdds-checkbox-interaction-01);\n background-color: var(--sdds-checkbox-interaction-02);\n width: 16px;\n height: 16px;\n left: 4px;\n top: 4px;\n }\n\n &:hover {\n &::before {\n background-color: var(--sdds-checkbox-background-hover);\n opacity: 0.12;\n }\n }\n\n &:focus {\n &::before {\n background-color: var(--sdds-checkbox-background-focus);\n opacity: 0.24;\n transition: opacity 0.2s ease-in-out;\n }\n }\n\n &:disabled,\n &.disabled {\n cursor: not-allowed;\n\n &::after {\n border-color: var(--sdds-checkbox-border-color-disabled-after);\n }\n\n + label {\n color: var(--sdds-grey-600);\n cursor: not-allowed;\n }\n\n &:hover {\n &::before {\n display: none;\n }\n }\n }\n\n &:checked {\n &::after {\n background-image: var(--sdds-checkbox-background-img);\n background-color: var(--sdds-checkbox-interaction-01);\n background-repeat: no-repeat;\n background-position: center;\n }\n\n &:hover {\n &::before {\n background-color: var(--sdds-checkbox-background-hover);\n opacity: 0.12;\n }\n }\n\n &:disabled,\n &.disabled {\n &:hover::before,\n &::before {\n display: block;\n width: 16px;\n height: 16px;\n left: 4px;\n top: 4px;\n border: 1px solid #b0b7c4;\n }\n\n &::after {\n background-image: var(--sdds-checkbox-background-img-disabled);\n background-color: var(--sdds-checkbox-interaction-02);\n color: var(--sdds-checkbox-color-disabled-after);\n }\n }\n }\n }\n}\n","import { Component, h, Prop, Event, EventEmitter, Method, Element } from '@stencil/core';\nimport { HostElement } from '@stencil/core/internal';\n\n@Component({\n tag: 'sdds-checkbox',\n styleUrl: 'sdds-checkbox.scss',\n shadow: false,\n scoped: true,\n})\nexport class SddsCheckbox {\n /** Name for the checkbox's input element. */\n @Prop() name: string;\n\n /** ID for the checkbox's input element. Randomly generated if not specified. */\n @Prop() checkboxId: string = crypto.randomUUID();\n\n /** Sets the checkbox in a disabled state */\n @Prop() disabled: boolean = false;\n\n /** Make the checkbox required */\n @Prop() required: boolean = false;\n\n /** Sets the checkbox as checked */\n @Prop({ reflect: true }) checked: boolean = false;\n\n /** Value for the checkbox */\n @Prop() value: string;\n\n @Element() host: HostElement;\n\n /** Toggles the checked value of the component. */\n @Method()\n async toggleCheckbox() {\n this.checked = !this.checked;\n return {\n checkboxId: this.checkboxId,\n checked: this.checked,\n };\n }\n\n /** Sends unique checkbox identifier and checked status when it is checked/unchecked. */\n @Event({\n eventName: 'sddsChange',\n composed: true,\n cancelable: false,\n bubbles: true,\n })\n sddsChange: EventEmitter<{\n checkboxId: string;\n checked: boolean;\n value?: string;\n }>;\n\n handleChange = () => {\n this.checked = !this.checked;\n this.sddsChange.emit({\n checkboxId: this.checkboxId,\n checked: this.checked,\n value: this.value,\n });\n };\n\n /** Focus event for the checkbox */\n @Event({\n eventName: 'sddsFocus',\n composed: true,\n bubbles: true,\n cancelable: false,\n })\n sddsFocus: EventEmitter<FocusEvent>;\n\n /** Set the input as focus when clicking the whole textfield with suffix/prefix */\n handleFocus(event): void {\n this.sddsFocus.emit(event);\n }\n\n /** Blur event for the checkbox */\n @Event({\n eventName: 'sddsBlur',\n composed: true,\n bubbles: true,\n cancelable: false,\n })\n sddsBlur: EventEmitter<FocusEvent>;\n\n /** Set the input as focus when clicking the whole textfield with suffix/prefix */\n handleBlur(event): void {\n this.sddsBlur.emit(event);\n }\n\n render() {\n return (\n <div class=\"sdds-checkbox-webcomponent\">\n <input\n aria-checked={this.checked}\n aria-required={this.required}\n aria-describedby={this.host.getAttribute('aria-describedby')}\n aria-labelledby={this.host.getAttribute('aria-labelledby')}\n required={this.required}\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n id={this.checkboxId}\n checked={this.checked}\n disabled={this.disabled}\n onFocus={(event) => this.handleFocus(event)}\n onBlur={(event) => this.handleBlur(event)}\n onChange={() => {\n this.handleChange();\n }}\n />\n <label htmlFor={this.checkboxId}>\n <slot></slot>\n </label>\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface SddsDatetime extends Components.SddsDatetime, HTMLElement {}
4
+ export const SddsDatetime: {
5
+ prototype: SddsDatetime;
6
+ new (): SddsDatetime;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,132 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$2 } from './icon.js';
3
+
4
+ const datetimeCss = ".sdds-datetime-input[type=datetime-local]~.icon-time,.sdds-datetime-input-md[type=datetime-local]~.icon-time,.sdds-datetime-input-sm[type=datetime-local]~.icon-time{display:none}.sdds-datetime-input[type=date]~.icon-time,.sdds-datetime-input-md[type=date]~.icon-time,.sdds-datetime-input-sm[type=date]~.icon-time{display:none}.sdds-datetime-input[type=time]~.icon-datetime-local,.sdds-datetime-input-md[type=time]~.icon-datetime-local,.sdds-datetime-input-sm[type=time]~.icon-datetime-local{display:none}.sdds-datetime-input{box-sizing:border-box;border-radius:4px 4px 0 0;width:100%;box-sizing:border-box;margin:0;border:none;outline:none;height:100%;color:var(--sdds-datetime-color);background-color:var(--sdds-datetime-background);font:var(--sdds-detail-02);letter-spacing:var(--sdds-detail-02-ls);padding:var(--sdds-spacing-element-20) var(--sdds-spacing-element-16)}.sdds-datetime-input *{box-sizing:border-box}.sdds-datetime-input::placeholder{opacity:1;color:var(--sdds-datetime-placeholder)}.sdds-datetime-input:focus::placeholder{color:var(--sdds-datetime-placeholder-color-focus)}.sdds-datetime-input:disabled{background-color:var(--sdds-datetime-background-disabled);color:var(--sdds-datetime-color-disabled);cursor:not-allowed}.sdds-datetime-input:disabled::placeholder{color:var(--sdds-datetime-placeholder-disabled)}.sdds-datetime-input:disabled~.sdds-datetime-label-inside{color:var(--sdds-datetime-label-disabled)}.sdds-datetime-input-md{box-sizing:border-box;border-radius:4px 4px 0 0;width:100%;box-sizing:border-box;margin:0;border:none;outline:none;height:100%;color:var(--sdds-datetime-color);background-color:var(--sdds-datetime-background);font:var(--sdds-detail-02);letter-spacing:var(--sdds-detail-02-ls);padding:var(--sdds-spacing-element-16)}.sdds-datetime-input-md *{box-sizing:border-box}.sdds-datetime-input-md::placeholder{opacity:1;color:var(--sdds-datetime-placeholder)}.sdds-datetime-input-md:focus::placeholder{color:var(--sdds-datetime-placeholder-color-focus)}.sdds-datetime-input-md:disabled{background-color:var(--sdds-datetime-background-disabled);color:var(--sdds-datetime-color-disabled);cursor:not-allowed}.sdds-datetime-input-md:disabled::placeholder{color:var(--sdds-datetime-placeholder-disabled)}.sdds-datetime-input-md:disabled~.sdds-datetime-label-inside{color:var(--sdds-datetime-label-disabled)}.sdds-datetime-input-sm{box-sizing:border-box;border-radius:4px 4px 0 0;width:100%;box-sizing:border-box;margin:0;border:none;outline:none;height:100%;color:var(--sdds-datetime-color);background-color:var(--sdds-datetime-background);font:var(--sdds-detail-02);letter-spacing:var(--sdds-detail-02-ls);padding:var(--sdds-spacing-element-16)}.sdds-datetime-input-sm *{box-sizing:border-box}.sdds-datetime-input-sm::placeholder{opacity:1;color:var(--sdds-datetime-placeholder)}.sdds-datetime-input-sm:focus::placeholder{color:var(--sdds-datetime-placeholder-color-focus)}.sdds-datetime-input-sm:disabled{background-color:var(--sdds-datetime-background-disabled);color:var(--sdds-datetime-color-disabled);cursor:not-allowed}.sdds-datetime-input-sm:disabled::placeholder{color:var(--sdds-datetime-placeholder-disabled)}.sdds-datetime-input-sm:disabled~.sdds-datetime-label-inside{color:var(--sdds-datetime-label-disabled)}.sdds-datetime-container{border-radius:4px 4px 0 0;display:flex;position:relative;height:56px;box-sizing:border-box;background-color:var(--sdds-datetime-background);border-bottom:1px solid var(--sdds-datetime-border-bottom);transition:border-bottom-color 200ms ease}.sdds-datetime-container:hover{border-bottom-color:var(--sdds-datetime-border-bottom-hover)}.sdds-form-datetime-md .sdds-datetime-container{height:48px}.sdds-form-datetime-sm .sdds-datetime-container{height:40px}.sdds-datetime-input-container{position:relative;width:100%}.sdds-datetime-input-container .datetime-icon{height:20px;width:20px;position:absolute;top:50%;transform:translateY(-50%);right:18px;pointer-events:none}.sdds-datetime-input-container .datetime-icon path{fill:var(--sdds-datetime-icon)}.sdds-datetime-label{font:var(--sdds-detail-05);letter-spacing:var(--sdds-detail-05-ls);display:block;margin-bottom:var(--sdds-spacing-element-8);color:var(--sdds-datetime-label-color)}.sdds-datetime-label-inside{font:var(--sdds-detail-02);letter-spacing:var(--sdds-detail-02-ls);position:absolute;pointer-events:none;color:var(--sdds-datetime-label-inside-color);left:16px}.sdds-form-datetime{display:block;min-width:208px}.sdds-form-datetime-nomin{min-width:auto}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input{padding-top:var(--sdds-spacing-element-24);padding-bottom:15px}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input~.sdds-datetime-label-inside{top:20px}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input::placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input::input-placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input:placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input ::placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input:focus::placeholder{transition:color 0.35s ease;color:var(--sdds-datetime-placeholder-color-focus)}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-md{padding-top:var(--sdds-spacing-element-20);padding-bottom:11px}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-md~.sdds-datetime-label-inside{top:16px}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-md::placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-md::input-placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-md:placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-md ::placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-md:focus::placeholder{transition:color 0.35s ease;color:var(--sdds-datetime-placeholder-color-focus)}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-sm{padding-top:var(--sdds-spacing-element-20);padding-bottom:11px}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-sm~.sdds-datetime-label-inside{top:16px}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-sm::placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-sm::input-placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-sm:placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-sm ::placeholder{color:transparent}.sdds-form-datetime.sdds-datetime-container-label-inside .sdds-datetime-input-sm:focus::placeholder{transition:color 0.35s ease;color:var(--sdds-datetime-placeholder-color-focus)}.sdds-form-datetime.sdds-datetime-container-label-inside.sdds-datetime-focus .sdds-datetime-input-sm~.sdds-datetime-label-inside,.sdds-form-datetime.sdds-datetime-container-label-inside.sdds-datetime-data .sdds-datetime-input-sm~.sdds-datetime-label-inside{font:var(--sdds-detail-07);letter-spacing:var(--sdds-detail-07-ls);transition:0.1s ease all;top:8px}.sdds-form-datetime.sdds-datetime-container-label-inside.sdds-datetime-focus .sdds-datetime-input-md~.sdds-datetime-label-inside,.sdds-form-datetime.sdds-datetime-container-label-inside.sdds-datetime-data .sdds-datetime-input-md~.sdds-datetime-label-inside{font:var(--sdds-detail-07);letter-spacing:var(--sdds-detail-07-ls);transition:0.1s ease all;top:8px}.sdds-form-datetime.sdds-datetime-container-label-inside.sdds-datetime-focus .sdds-datetime-input~.sdds-datetime-label-inside,.sdds-form-datetime.sdds-datetime-container-label-inside.sdds-datetime-data .sdds-datetime-input~.sdds-datetime-label-inside{font:var(--sdds-detail-07);letter-spacing:var(--sdds-detail-07-ls);transition:0.1s ease all;top:12px}.sdds-datetime-bar{position:absolute;width:100%}.sdds-datetime-bar::before,.sdds-datetime-bar::after{content:\"\";height:2px;top:54px;width:0;position:absolute;background:var(--sdds-datetime-bar);transition:0.35s ease all}.sdds-form-datetime-md .sdds-datetime-bar::before,.sdds-form-datetime-md .sdds-datetime-bar::after{top:46px}.sdds-form-datetime-sm .sdds-datetime-bar::before,.sdds-form-datetime-sm .sdds-datetime-bar::after{top:40px}.sdds-datetime-bar::before{left:50%}.sdds-datetime-bar::after{right:50%}.sdds-datetime-focus .sdds-datetime-bar::before,.sdds-datetime-focus .sdds-datetime-bar::after{width:50%}.sdds-datetime-helper{font:var(--sdds-detail-05);letter-spacing:var(--sdds-detail-05-ls);display:block;flex-basis:100%;padding-top:var(--sdds-spacing-element-4);color:var(--sdds-datetime-helper)}.sdds-datetime-helper .sdds-helper{display:inline-flex;gap:8px}.sdds-form-datetime-disabled .sdds-datetime-container{border-bottom-color:transparent}.sdds-form-datetime-disabled .datetime-icon svg path{fill:var(--sdds-datetime-icon-disabled)}.sdds-form-datetime-disabled .sdds-datetime-label{color:var(--sdds-datetime-label-disabled);cursor:not-allowed}.sdds-form-datetime-success .sdds-datetime-container{border-bottom-color:var(--sdds-datetime-border-bottom-success);color:var(--sdds-datetime-color-success)}.sdds-form-datetime-success .sdds-datetime-bar::before,.sdds-form-datetime-success .sdds-datetime-bar::after{background:var(--sdds-datetime-bar-sucess)}.sdds-form-datetime-error .sdds-datetime-helper{color:var(--sdds-datetime-helper-error)}.sdds-form-datetime-error .sdds-datetime-container{border-bottom-color:var(--sdds-datetime-border-bottom-error)}.sdds-form-datetime-error .sdds-datetime-bar::before,.sdds-form-datetime-error .sdds-datetime-bar::after{background:var(--sdds-datetime-bar-error)}.sdds-form-datetime-error .datetime-icon path{fill:var(--sdds-datetime-icon-error)}.sdds-datetime-textcounter{font:var(--sdds-detail-05);letter-spacing:var(--sdds-detail-05-ls);color:var(--sdds-datetime-textcounter);float:right}.sdds-datetime-textcounter .sdds-datetime-textcounter-divider{letter-spacing:var(--sdds-detail-05-ls);color:var(--sdds-datetime-textcounter-divider)}input[type=datetime-local]::-webkit-inner-spin-button,input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:0}input[type=date]::-webkit-inner-spin-button,input[type=date]::-webkit-calendar-picker-indicator{opacity:0}input[type=time]::-webkit-inner-spin-button,input[type=time]::-webkit-calendar-picker-indicator{opacity:0}.sdds-mode-variant-primary{--sdds-datetime-background:var(--sdds-datetime-background-primary)}.sdds-mode-variant-secondary{--sdds-datetime-background:var(--sdds-datetime-background-secondary)}";
5
+
6
+ const Datetime = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.customChange = createEvent(this, "customChange", 7);
12
+ this.getDefaultValue = () => {
13
+ const dateTimeObj = {
14
+ year: this.defaultValue.slice(0, 4),
15
+ month: this.defaultValue.slice(5, 7),
16
+ day: this.defaultValue.slice(8, 10),
17
+ hours: this.defaultValue.slice(11, 13),
18
+ minutes: this.defaultValue.slice(14, 16),
19
+ };
20
+ switch (this.type) {
21
+ case 'datetime-local':
22
+ return `${dateTimeObj.year}-${dateTimeObj.month}-${dateTimeObj.day}T${dateTimeObj.hours}:${dateTimeObj.minutes}`;
23
+ case 'date':
24
+ return `${dateTimeObj.year}-${dateTimeObj.month}-${dateTimeObj.day}`;
25
+ case 'time':
26
+ return `${this.defaultValue.slice(0, 2)}:${this.defaultValue.slice(3, 5)}`;
27
+ default:
28
+ throw new Error('Invalid type.');
29
+ }
30
+ };
31
+ this.type = 'datetime-local';
32
+ this.value = '';
33
+ this.defaultValue = 'none';
34
+ this.disabled = false;
35
+ this.size = '';
36
+ this.noMinWidth = false;
37
+ this.modeVariant = null;
38
+ this.name = '';
39
+ this.state = undefined;
40
+ this.autofocus = false;
41
+ this.label = '';
42
+ this.helper = '';
43
+ this.focusInput = undefined;
44
+ }
45
+ componentWillLoad() {
46
+ if (this.defaultValue !== 'none') {
47
+ this.value = this.getDefaultValue();
48
+ }
49
+ }
50
+ // Listener if input enters focus state
51
+ handleFocusIn() {
52
+ this.focusInput = true;
53
+ }
54
+ // Listener if input leaves focus state
55
+ handleFocusOut() {
56
+ this.focusInput = false;
57
+ }
58
+ // Data input event in value prop
59
+ handleInput(e) {
60
+ this.value = e.target.value;
61
+ }
62
+ // Change event isn't a composed:true by default in for input
63
+ handleChange(e) {
64
+ this.customChange.emit(e);
65
+ }
66
+ /** Set the input as focus when clicking the whole datetime with suffix/prefix */
67
+ handleFocusClick() {
68
+ this.textInput.focus();
69
+ }
70
+ render() {
71
+ let className = ' sdds-datetime-input';
72
+ if (this.size === 'md') {
73
+ className += `${className}-md`;
74
+ }
75
+ if (this.size === 'sm') {
76
+ className += `${className}-sm`;
77
+ }
78
+ return (h("div", { class: `
79
+ ${this.noMinWidth ? 'sdds-form-datetime-nomin' : ''}
80
+ ${this.focusInput ? 'sdds-form-datetime sdds-datetime-focus' : ' sdds-form-datetime'}
81
+ ${this.value.length > 0 ? 'sdds-datetime-data' : ''}
82
+ ${this.disabled ? 'sdds-form-datetime-disabled' : ''}
83
+ ${this.size === 'md' ? 'sdds-form-datetime-md' : ''}
84
+ ${this.size === 'sm' ? 'sdds-form-datetime-sm' : ''}
85
+ ${this.state === 'error' || this.state === 'success'
86
+ ? `sdds-form-datetime-${this.state}`
87
+ : ''}
88
+ ${this.modeVariant !== null ? `sdds-mode-variant-${this.modeVariant}` : ''}
89
+ ` }, this.label && h("div", { class: "sdds-datetime-label" }, this.label), h("div", { onClick: () => this.handleFocusClick(), class: "sdds-datetime-container sdds-datetime-container" }, h("div", { class: "sdds-datetime-input-container" }, h("input", { ref: (inputEl) => (this.textInput = inputEl), class: className, type: this.type, disabled: this.disabled, value: this.value, autofocus: this.autofocus, name: this.name, onInput: (e) => this.handleInput(e), onChange: (e) => this.handleChange(e) }), h("div", { class: "datetime-icon icon-datetime-local" }, h("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M23.625 2.977a1 1 0 1 0-2 0v2.985l-11.344.01V2.99a1 1 0 1 0-2 0v2.985H6.25a4.2 4.2 0 0 0-4.2 4.2V25.77a4.2 4.2 0 0 0 4.2 4.2h19.54a4.2 4.2 0 0 0 4.2-4.2V10.167a4.2 4.2 0 0 0-4.191-4.2l-2.174-.004V2.977ZM4.05 10.174a2.2 2.2 0 0 1 2.2-2.2l16.376-.013 3.17.006a2.2 2.2 0 0 1 2.195 2.2v1.847H4.05l-.001-1.84Zm0 3.84V25.77a2.2 2.2 0 0 0 2.2 2.2h19.54a2.2 2.2 0 0 0 2.2-2.2V14.014H4.05Z", fill: "currentColor" }))), h("div", { class: "datetime-icon icon-time" }, h("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32" }, h("path", { d: "M17 7a1 1 0 1 0-2 0v8a2 2 0 0 0 2 2h6a1 1 0 1 0 0-2h-6V7Z", fill: "currentColor" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z", fill: "currentColor" })))), h("div", { class: "sdds-datetime-bar" })), h("div", { class: "sdds-datetime-helper" }, this.helper && (h("div", { class: "sdds-helper" }, this.state === 'error' && h("sdds-icon", { name: "error", size: "16px" }), this.helper)))));
90
+ }
91
+ static get style() { return datetimeCss; }
92
+ }, [1, "sdds-datetime", {
93
+ "type": [513],
94
+ "value": [513],
95
+ "defaultValue": [1, "default-value"],
96
+ "disabled": [4],
97
+ "size": [1],
98
+ "noMinWidth": [4, "no-min-width"],
99
+ "modeVariant": [1, "mode-variant"],
100
+ "name": [1],
101
+ "state": [1],
102
+ "autofocus": [4],
103
+ "label": [1],
104
+ "helper": [1],
105
+ "focusInput": [32]
106
+ }, [[0, "focus", "handleFocusIn"], [0, "focusout", "handleFocusOut"]]]);
107
+ function defineCustomElement$1() {
108
+ if (typeof customElements === "undefined") {
109
+ return;
110
+ }
111
+ const components = ["sdds-datetime", "sdds-icon"];
112
+ components.forEach(tagName => { switch (tagName) {
113
+ case "sdds-datetime":
114
+ if (!customElements.get(tagName)) {
115
+ customElements.define(tagName, Datetime);
116
+ }
117
+ break;
118
+ case "sdds-icon":
119
+ if (!customElements.get(tagName)) {
120
+ defineCustomElement$2();
121
+ }
122
+ break;
123
+ } });
124
+ }
125
+ defineCustomElement$1();
126
+
127
+ const SddsDatetime = Datetime;
128
+ const defineCustomElement = defineCustomElement$1;
129
+
130
+ export { SddsDatetime, defineCustomElement };
131
+
132
+ //# sourceMappingURL=sdds-datetime.js.map
@@ -0,0 +1 @@
1
+ {"file":"sdds-datetime.js","mappings":"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","names":[],"sources":["./src/components/datetime/datetime.scss?tag=sdds-datetime&encapsulation=shadow","./src/components/datetime/datetime.tsx"],"sourcesContent":["@import '../../mixins/box-sizing';\n\n@mixin datetime-base {\n @include sdds-box-sizing;\n\n border-radius: 4px 4px 0 0;\n width: 100%;\n box-sizing: border-box;\n margin: 0;\n border: none;\n outline: none;\n height: 100%;\n color: var(--sdds-datetime-color);\n background-color: var(--sdds-datetime-background);\n\n &::placeholder {\n opacity: 1;\n color: var(--sdds-datetime-placeholder);\n }\n\n &:focus::placeholder {\n color: var(--sdds-datetime-placeholder-color-focus);\n }\n\n &:disabled {\n background-color: var(--sdds-datetime-background-disabled);\n color: var(--sdds-datetime-color-disabled);\n cursor: not-allowed;\n\n &::placeholder {\n color: var(--sdds-datetime-placeholder-disabled);\n }\n\n ~ .sdds-datetime-label-inside {\n color: var(--sdds-datetime-label-disabled);\n }\n }\n}\n\n// icons\n\n.sdds-datetime-input,\n.sdds-datetime-input-md,\n.sdds-datetime-input-sm {\n &[type='datetime-local'] {\n ~ .icon-time {\n display: none;\n }\n }\n\n &[type='date'] {\n ~ .icon-time {\n display: none;\n }\n }\n\n &[type='time'] {\n ~ .icon-datetime-local {\n display: none;\n }\n }\n}\n\n//Sizes\n.sdds-datetime-input {\n @include datetime-base;\n\n font: var(--sdds-detail-02);\n letter-spacing: var(--sdds-detail-02-ls);\n padding: var(--sdds-spacing-element-20) var(--sdds-spacing-element-16);\n}\n\n.sdds-datetime-input-md {\n @include datetime-base;\n\n font: var(--sdds-detail-02);\n letter-spacing: var(--sdds-detail-02-ls);\n padding: var(--sdds-spacing-element-16);\n}\n\n.sdds-datetime-input-sm {\n @include datetime-base;\n\n font: var(--sdds-detail-02);\n letter-spacing: var(--sdds-detail-02-ls);\n padding: var(--sdds-spacing-element-16);\n}\n\n//Container for input field and prefix/suffix\n.sdds-datetime-container {\n border-radius: 4px 4px 0 0;\n display: flex;\n position: relative;\n height: 56px;\n box-sizing: border-box;\n background-color: var(--sdds-datetime-background);\n border-bottom: 1px solid var(--sdds-datetime-border-bottom);\n transition: border-bottom-color 200ms ease;\n\n &:hover {\n border-bottom-color: var(--sdds-datetime-border-bottom-hover);\n }\n\n .sdds-form-datetime-md & {\n height: 48px;\n }\n\n .sdds-form-datetime-sm & {\n height: 40px;\n }\n}\n\n.sdds-datetime-input-container {\n position: relative;\n width: 100%;\n\n .datetime-icon {\n height: 20px;\n width: 20px;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 18px;\n pointer-events: none;\n\n path {\n fill: var(--sdds-datetime-icon);\n }\n }\n}\n\n.sdds-datetime-label {\n font: var(--sdds-detail-05);\n letter-spacing: var(--sdds-detail-05-ls);\n display: block;\n margin-bottom: var(--sdds-spacing-element-8);\n color: var(--sdds-datetime-label-color);\n}\n\n.sdds-datetime-label-inside {\n font: var(--sdds-detail-02);\n letter-spacing: var(--sdds-detail-02-ls);\n position: absolute;\n pointer-events: none;\n color: var(--sdds-datetime-label-inside-color);\n left: 16px;\n}\n\n@mixin placeholder-label {\n &::placeholder {\n color: transparent;\n }\n\n &::input-placeholder {\n color: transparent;\n }\n\n &:placeholder {\n color: transparent;\n }\n\n ::placeholder {\n color: transparent;\n }\n\n //Input field in focus\n &:focus::placeholder {\n transition: color 0.35s ease;\n color: var(--sdds-datetime-placeholder-color-focus);\n }\n}\n\n@mixin label-inside-transition {\n transition: 0.1s ease all;\n}\n\n//Form control\n.sdds-form-datetime {\n display: block;\n min-width: 208px;\n\n &-nomin {\n min-width: auto;\n }\n}\n\n//datetime container with label inside\n//Handling position, focus and transition for label inside\n.sdds-form-datetime.sdds-datetime-container-label-inside {\n .sdds-datetime-input {\n padding-top: var(--sdds-spacing-element-24);\n padding-bottom: 15px;\n\n ~ .sdds-datetime-label-inside {\n top: 20px;\n }\n\n @include placeholder-label;\n }\n\n .sdds-datetime-input-md {\n padding-top: var(--sdds-spacing-element-20);\n padding-bottom: 11px;\n\n ~ .sdds-datetime-label-inside {\n top: 16px;\n }\n\n @include placeholder-label;\n }\n\n .sdds-datetime-input-sm {\n padding-top: var(--sdds-spacing-element-20);\n padding-bottom: 11px;\n\n ~ .sdds-datetime-label-inside {\n top: 16px;\n }\n\n @include placeholder-label;\n }\n\n &.sdds-datetime-focus,\n &.sdds-datetime-data {\n .sdds-datetime-input-sm ~ .sdds-datetime-label-inside {\n font: var(--sdds-detail-07);\n letter-spacing: var(--sdds-detail-07-ls);\n @include label-inside-transition;\n\n top: 8px;\n }\n\n .sdds-datetime-input-md ~ .sdds-datetime-label-inside {\n font: var(--sdds-detail-07);\n letter-spacing: var(--sdds-detail-07-ls);\n @include label-inside-transition;\n\n top: 8px;\n }\n\n .sdds-datetime-input ~ .sdds-datetime-label-inside {\n font: var(--sdds-detail-07);\n letter-spacing: var(--sdds-detail-07-ls);\n @include label-inside-transition;\n\n top: 12px;\n }\n }\n}\n\n//datetime bottom bar when in focus\n.sdds-datetime-bar {\n position: absolute;\n width: 100%;\n\n &::before,\n &::after {\n content: '';\n height: 2px;\n top: 54px;\n width: 0;\n position: absolute;\n background: var(--sdds-datetime-bar);\n transition: 0.35s ease all;\n\n .sdds-form-datetime-md & {\n top: 46px;\n }\n\n .sdds-form-datetime-sm & {\n top: 40px;\n }\n }\n\n &::before {\n left: 50%;\n }\n\n &::after {\n right: 50%;\n }\n\n .sdds-datetime-focus &::before,\n .sdds-datetime-focus &::after {\n width: 50%;\n }\n}\n\n//Helper text\n.sdds-datetime-helper {\n font: var(--sdds-detail-05);\n letter-spacing: var(--sdds-detail-05-ls);\n display: block;\n flex-basis: 100%;\n padding-top: var(--sdds-spacing-element-4);\n color: var(--sdds-datetime-helper);\n\n .sdds-helper {\n display: inline-flex;\n gap: 8px;\n }\n}\n\n//Disabled state\n.sdds-form-datetime-disabled {\n .sdds-datetime-container {\n border-bottom-color: transparent;\n }\n\n .datetime-icon {\n svg {\n path {\n fill: var(--sdds-datetime-icon-disabled);\n }\n }\n }\n\n .sdds-datetime-label {\n color: var(--sdds-datetime-label-disabled);\n cursor: not-allowed;\n }\n}\n\n//Success state\n.sdds-form-datetime-success {\n .sdds-datetime-container {\n border-bottom-color: var(--sdds-datetime-border-bottom-success);\n color: var(--sdds-datetime-color-success);\n }\n\n .sdds-datetime-bar {\n &::before,\n &::after {\n background: var(--sdds-datetime-bar-sucess);\n }\n }\n}\n\n//Error State\n.sdds-form-datetime-error {\n .sdds-datetime-helper {\n color: var(--sdds-datetime-helper-error);\n }\n\n .sdds-datetime-container {\n border-bottom-color: var(--sdds-datetime-border-bottom-error);\n }\n\n .sdds-datetime-bar {\n &::before,\n &::after {\n background: var(--sdds-datetime-bar-error);\n }\n }\n .datetime-icon path {\n fill: var(--sdds-datetime-icon-error);\n }\n}\n\n.sdds-datetime-textcounter {\n font: var(--sdds-detail-05);\n letter-spacing: var(--sdds-detail-05-ls);\n color: var(--sdds-datetime-textcounter);\n float: right;\n\n & .sdds-datetime-textcounter-divider {\n // font: var(--sdds-detail-05);\n letter-spacing: var(--sdds-detail-05-ls);\n color: var(--sdds-datetime-textcounter-divider);\n }\n}\n\n/* datetime picker icon remove testing */\n\ninput[type='datetime-local']::-webkit-inner-spin-button,\ninput[type='datetime-local']::-webkit-calendar-picker-indicator {\n opacity: 0;\n}\n\ninput[type='date']::-webkit-inner-spin-button,\ninput[type='date']::-webkit-calendar-picker-indicator {\n opacity: 0;\n}\n\ninput[type='time']::-webkit-inner-spin-button,\ninput[type='time']::-webkit-calendar-picker-indicator {\n opacity: 0;\n}\n.sdds-mode-variant-primary {\n --sdds-datetime-background: var(--sdds-datetime-background-primary);\n}\n.sdds-mode-variant-secondary {\n --sdds-datetime-background: var(--sdds-datetime-background-secondary);\n}\n","import { Component, State, h, Prop, Listen, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'sdds-datetime',\n styleUrl: 'datetime.scss',\n shadow: true,\n})\nexport class Datetime {\n /** Textinput for focus state */\n textInput?: HTMLInputElement;\n\n /** Which input type, text, password or similar */\n @Prop({ reflect: true }) type: 'datetime-local' | 'date' | 'time' = 'datetime-local';\n\n /** Value of the input text */\n @Prop({ reflect: true }) value = '';\n\n /** Default value of the component. Format for time: HH-MM. Format for date: YY-MM-DD. Format for date-time: YY-MM-DDTHH-MM */\n @Prop() defaultValue: string | 'none' = 'none';\n\n /** Set input in disabled state */\n @Prop() disabled: boolean = false;\n\n /** Size of the input */\n @Prop() size: 'sm' | 'md' | '' = '';\n\n /** With setting */\n @Prop() noMinWidth: boolean = false;\n\n /** Set the variant of the the datetime component. */\n @Prop() modeVariant: 'primary' | 'secondary' = null;\n\n /** Name property */\n @Prop() name = '';\n\n /** Error state of input */\n @Prop() state: string;\n\n /** Autofocus for input */\n @Prop() autofocus: boolean = false;\n\n /** Label text for the component */\n @Prop() label: string = '';\n\n /** Helper text for the component */\n @Prop() helper: string = '';\n\n /** Listen to the focus state of the input */\n @State() focusInput: boolean;\n\n /** Change event for the datetime */\n @Event({\n composed: true,\n bubbles: true,\n cancelable: true,\n })\n customChange: EventEmitter;\n\n getDefaultValue = () => {\n const dateTimeObj = {\n year: this.defaultValue.slice(0, 4),\n month: this.defaultValue.slice(5, 7),\n day: this.defaultValue.slice(8, 10),\n hours: this.defaultValue.slice(11, 13),\n minutes: this.defaultValue.slice(14, 16),\n };\n switch (this.type) {\n case 'datetime-local':\n return `${dateTimeObj.year}-${dateTimeObj.month}-${dateTimeObj.day}T${dateTimeObj.hours}:${dateTimeObj.minutes}`;\n case 'date':\n return `${dateTimeObj.year}-${dateTimeObj.month}-${dateTimeObj.day}`;\n case 'time':\n return `${this.defaultValue.slice(0, 2)}:${this.defaultValue.slice(3, 5)}`;\n default:\n throw new Error('Invalid type.');\n }\n };\n\n componentWillLoad() {\n if (this.defaultValue !== 'none') {\n this.value = this.getDefaultValue();\n }\n }\n\n // Listener if input enters focus state\n @Listen('focus')\n handleFocusIn() {\n this.focusInput = true;\n }\n\n // Listener if input leaves focus state\n @Listen('focusout')\n handleFocusOut() {\n this.focusInput = false;\n }\n\n // Data input event in value prop\n handleInput(e): void {\n this.value = e.target.value;\n }\n\n // Change event isn't a composed:true by default in for input\n handleChange(e: Event): void {\n this.customChange.emit(e);\n }\n\n /** Set the input as focus when clicking the whole datetime with suffix/prefix */\n handleFocusClick(): void {\n this.textInput.focus();\n }\n\n render() {\n let className = ' sdds-datetime-input';\n if (this.size === 'md') {\n className += `${className}-md`;\n }\n if (this.size === 'sm') {\n className += `${className}-sm`;\n }\n return (\n <div\n class={`\n ${this.noMinWidth ? 'sdds-form-datetime-nomin' : ''}\n ${this.focusInput ? 'sdds-form-datetime sdds-datetime-focus' : ' sdds-form-datetime'}\n ${this.value.length > 0 ? 'sdds-datetime-data' : ''}\n ${this.disabled ? 'sdds-form-datetime-disabled' : ''}\n ${this.size === 'md' ? 'sdds-form-datetime-md' : ''}\n ${this.size === 'sm' ? 'sdds-form-datetime-sm' : ''}\n ${\n this.state === 'error' || this.state === 'success'\n ? `sdds-form-datetime-${this.state}`\n : ''\n }\n ${this.modeVariant !== null ? `sdds-mode-variant-${this.modeVariant}`: ''}\n `}\n >\n {this.label && <div class=\"sdds-datetime-label\">{this.label}</div>}\n <div\n onClick={() => this.handleFocusClick()}\n class=\"sdds-datetime-container sdds-datetime-container\"\n >\n <div class=\"sdds-datetime-input-container\">\n <input\n ref={(inputEl) => (this.textInput = inputEl as HTMLInputElement)}\n class={className}\n type={this.type}\n disabled={this.disabled}\n value={this.value}\n autofocus={this.autofocus}\n name={this.name}\n onInput={(e) => this.handleInput(e)}\n onChange={(e) => this.handleChange(e)}\n />\n\n <div class=\"datetime-icon icon-datetime-local\">\n <svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M23.625 2.977a1 1 0 1 0-2 0v2.985l-11.344.01V2.99a1 1 0 1 0-2 0v2.985H6.25a4.2 4.2 0 0 0-4.2 4.2V25.77a4.2 4.2 0 0 0 4.2 4.2h19.54a4.2 4.2 0 0 0 4.2-4.2V10.167a4.2 4.2 0 0 0-4.191-4.2l-2.174-.004V2.977ZM4.05 10.174a2.2 2.2 0 0 1 2.2-2.2l16.376-.013 3.17.006a2.2 2.2 0 0 1 2.195 2.2v1.847H4.05l-.001-1.84Zm0 3.84V25.77a2.2 2.2 0 0 0 2.2 2.2h19.54a2.2 2.2 0 0 0 2.2-2.2V14.014H4.05Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n\n <div class=\"datetime-icon icon-time\">\n <svg fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\">\n <path\n d=\"M17 7a1 1 0 1 0-2 0v8a2 2 0 0 0 2 2h6a1 1 0 1 0 0-2h-6V7Z\"\n fill=\"currentColor\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2ZM4 16C4 9.373 9.373 4 16 4s12 5.373 12 12-5.373 12-12 12S4 22.627 4 16Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n </div>\n <div class=\"sdds-datetime-bar\"></div>\n </div>\n\n <div class=\"sdds-datetime-helper\">\n {this.helper && (\n <div class=\"sdds-helper\">\n {this.state === 'error' && <sdds-icon name=\"error\" size=\"16px\"></sdds-icon>}\n {this.helper}\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface SddsDropdownFilter extends Components.SddsDropdownFilter, HTMLElement {}
4
+ export const SddsDropdownFilter: {
5
+ prototype: SddsDropdownFilter;
6
+ new (): SddsDropdownFilter;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;