tuix-webcomponents 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/src/index.d.ts +20 -0
  2. package/dist/src/index.js +13 -0
  3. package/dist/src/index.js.map +1 -1
  4. package/dist/src/tuix-button/TuixBaseButton.d.ts +17 -0
  5. package/dist/src/tuix-button/TuixBaseButton.js +63 -0
  6. package/dist/src/tuix-button/TuixBaseButton.js.map +1 -0
  7. package/dist/src/tuix-button/TuixButton.d.ts +5 -12
  8. package/dist/src/tuix-button/TuixButton.js +16 -49
  9. package/dist/src/tuix-button/TuixButton.js.map +1 -1
  10. package/dist/src/tuix-button/TuixButton.styles.d.ts +1 -0
  11. package/dist/src/tuix-button/TuixButton.styles.js +66 -36
  12. package/dist/src/tuix-button/TuixButton.styles.js.map +1 -1
  13. package/dist/src/tuix-button/enums/tuix-button.enums.js +3 -3
  14. package/dist/src/tuix-button/enums/tuix-button.enums.js.map +1 -1
  15. package/dist/src/tuix-button/interfaces/tuix-button.interface.d.ts +1 -0
  16. package/dist/src/tuix-button/interfaces/tuix-button.interface.js +2 -0
  17. package/dist/src/tuix-button/interfaces/tuix-button.interface.js.map +1 -0
  18. package/dist/src/tuix-checkbox/TuixCheckbox.d.ts +15 -0
  19. package/dist/src/tuix-checkbox/TuixCheckbox.js +96 -0
  20. package/dist/src/tuix-checkbox/TuixCheckbox.js.map +1 -0
  21. package/dist/src/tuix-checkbox/TuixCheckbox.styles.d.ts +4 -0
  22. package/dist/src/tuix-checkbox/TuixCheckbox.styles.js +117 -0
  23. package/dist/src/tuix-checkbox/TuixCheckbox.styles.js.map +1 -0
  24. package/dist/src/tuix-checkbox/enums/tuix-checkbox.enums.d.ts +21 -0
  25. package/dist/src/tuix-checkbox/enums/tuix-checkbox.enums.js +24 -0
  26. package/dist/src/tuix-checkbox/enums/tuix-checkbox.enums.js.map +1 -0
  27. package/dist/src/tuix-checkbox/interfaces/tuix-checkbox.interface.d.ts +5 -0
  28. package/dist/src/tuix-checkbox/interfaces/tuix-checkbox.interface.js +2 -0
  29. package/dist/src/tuix-checkbox/interfaces/tuix-checkbox.interface.js.map +1 -0
  30. package/dist/src/tuix-dropdown/TuixDropdown.d.ts +3 -1
  31. package/dist/src/tuix-dropdown/TuixDropdown.js +16 -6
  32. package/dist/src/tuix-dropdown/TuixDropdown.js.map +1 -1
  33. package/dist/src/tuix-dropdown/TuixDropdown.styles.js +26 -11
  34. package/dist/src/tuix-dropdown/TuixDropdown.styles.js.map +1 -1
  35. package/dist/src/tuix-dropdown/enums/tuix-dropdown.enums.d.ts +0 -6
  36. package/dist/src/tuix-dropdown/enums/tuix-dropdown.enums.js +0 -7
  37. package/dist/src/tuix-dropdown/enums/tuix-dropdown.enums.js.map +1 -1
  38. package/dist/src/tuix-dropdown/interfaces/tuix-dropdown.interface.d.ts +4 -0
  39. package/dist/src/tuix-dropdown/interfaces/tuix-dropdown.interface.js.map +1 -1
  40. package/dist/src/tuix-icon/TuixIcon.d.ts +2 -1
  41. package/dist/src/tuix-icon/TuixIcon.icons.js +6 -2
  42. package/dist/src/tuix-icon/TuixIcon.icons.js.map +1 -1
  43. package/dist/src/tuix-icon/TuixIcon.js +10 -5
  44. package/dist/src/tuix-icon/TuixIcon.js.map +1 -1
  45. package/dist/src/tuix-icon/enums/tuix-icon.enums.d.ts +2 -21
  46. package/dist/src/tuix-icon/enums/tuix-icon.enums.js +1 -21
  47. package/dist/src/tuix-icon/enums/tuix-icon.enums.js.map +1 -1
  48. package/dist/src/tuix-icon-button/TuixIconButton.d.ts +6 -11
  49. package/dist/src/tuix-icon-button/TuixIconButton.js +13 -41
  50. package/dist/src/tuix-icon-button/TuixIconButton.js.map +1 -1
  51. package/dist/src/tuix-input/TuixInput.d.ts +3 -2
  52. package/dist/src/tuix-input/TuixInput.js +28 -20
  53. package/dist/src/tuix-input/TuixInput.js.map +1 -1
  54. package/dist/src/tuix-input/TuixInput.styles.js +40 -28
  55. package/dist/src/tuix-input/TuixInput.styles.js.map +1 -1
  56. package/dist/src/tuix-input/enums/tuix-input.enums.d.ts +10 -8
  57. package/dist/src/tuix-input/enums/tuix-input.enums.js +10 -10
  58. package/dist/src/tuix-input/enums/tuix-input.enums.js.map +1 -1
  59. package/dist/src/tuix-input/interfaces/tuix-input.interface.d.ts +2 -0
  60. package/dist/src/tuix-input/interfaces/tuix-input.interface.js.map +1 -1
  61. package/dist/src/tuix-link/TuixLink.d.ts +2 -0
  62. package/dist/src/tuix-link/TuixLink.js +20 -8
  63. package/dist/src/tuix-link/TuixLink.js.map +1 -1
  64. package/dist/src/tuix-link/enums/linkTarget.enum.d.ts +4 -4
  65. package/dist/src/tuix-link/enums/linkTarget.enum.js +4 -4
  66. package/dist/src/tuix-link/enums/linkTarget.enum.js.map +1 -1
  67. package/dist/src/tuix-paper/TuixPaper.d.ts +4 -2
  68. package/dist/src/tuix-paper/TuixPaper.js +23 -6
  69. package/dist/src/tuix-paper/TuixPaper.js.map +1 -1
  70. package/dist/src/tuix-paper/enums/tuix-paper.enum.d.ts +6 -6
  71. package/dist/src/tuix-paper/enums/tuix-paper.enum.js +8 -8
  72. package/dist/src/tuix-paper/enums/tuix-paper.enum.js.map +1 -1
  73. package/dist/src/tuix-radio-button/TuixRadioButton.d.ts +16 -0
  74. package/dist/src/tuix-radio-button/TuixRadioButton.js +87 -0
  75. package/dist/src/tuix-radio-button/TuixRadioButton.js.map +1 -0
  76. package/dist/src/tuix-radio-button/TuixRadioButton.styles.d.ts +5 -0
  77. package/dist/src/tuix-radio-button/TuixRadioButton.styles.js +130 -0
  78. package/dist/src/tuix-radio-button/TuixRadioButton.styles.js.map +1 -0
  79. package/dist/src/tuix-radio-button/interfaces/tuix-radio-button.interface.d.ts +3 -0
  80. package/dist/src/tuix-radio-button/interfaces/tuix-radio-button.interface.js +2 -0
  81. package/dist/src/tuix-radio-button/interfaces/tuix-radio-button.interface.js.map +1 -0
  82. package/dist/src/tuix-text/TuixText.d.ts +5 -4
  83. package/dist/src/tuix-text/TuixText.js +17 -3
  84. package/dist/src/tuix-text/TuixText.js.map +1 -1
  85. package/dist/src/tuix-text/enums/tuix-text.enums.d.ts +11 -9
  86. package/dist/src/tuix-text/enums/tuix-text.enums.js +29 -11
  87. package/dist/src/tuix-text/enums/tuix-text.enums.js.map +1 -1
  88. package/dist/src/tuix-toggle-button/TuixToggleButton.d.ts +13 -0
  89. package/dist/src/tuix-toggle-button/TuixToggleButton.js +77 -0
  90. package/dist/src/tuix-toggle-button/TuixToggleButton.js.map +1 -0
  91. package/dist/src/tuix-toggle-button/TuixToggleButton.styles.d.ts +5 -0
  92. package/dist/src/tuix-toggle-button/TuixToggleButton.styles.js +116 -0
  93. package/dist/src/tuix-toggle-button/TuixToggleButton.styles.js.map +1 -0
  94. package/dist/src/tuix-toggle-button/interfaces/tuix-toggle.interface.d.ts +2 -0
  95. package/dist/src/tuix-toggle-button/interfaces/tuix-toggle.interface.js +2 -0
  96. package/dist/src/tuix-toggle-button/interfaces/tuix-toggle.interface.js.map +1 -0
  97. package/dist/src/utils/colors.d.ts +23 -11
  98. package/dist/src/utils/colors.js +25 -45
  99. package/dist/src/utils/colors.js.map +1 -1
  100. package/dist/src/utils/darkColors.d.ts +24 -1
  101. package/dist/src/utils/darkColors.js +25 -10
  102. package/dist/src/utils/darkColors.js.map +1 -1
  103. package/dist/src/utils/interfaces/detail-value.interface.d.ts +3 -0
  104. package/dist/src/utils/interfaces/detail-value.interface.js +2 -0
  105. package/dist/src/utils/interfaces/detail-value.interface.js.map +1 -0
  106. package/dist/tsconfig.publish.tsbuildinfo +1 -1
  107. package/package.json +3 -2
@@ -0,0 +1,130 @@
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { hostStyles } from '../tuix-checkbox/TuixCheckbox.styles';
3
+ import { Palette } from '../utils/colors';
4
+ export const radioHostStyles = css `
5
+ ${hostStyles}
6
+ :host {
7
+ --t-margin-between-radio-buttons: 1rem;
8
+ --t-radio-button-inner-color-disabled: ${unsafeCSS(Palette.PRIMARY_300)};
9
+ }
10
+ `;
11
+ export const radioButtonContainerStyles = css `
12
+ .t-radio-button-full-container {
13
+ display: flex;
14
+ justify-content: space-between;
15
+ cursor: pointer;
16
+ -webkit-user-select: none;
17
+ -moz-user-select: none;
18
+ -ms-user-select: none;
19
+ user-select: none;
20
+ }
21
+ :host([disabled]) .t-radio-button-full-container {
22
+ cursor: not-allowed;
23
+ }
24
+ .t-radio-button-container {
25
+ display: block;
26
+ position: relative;
27
+ height: 1.5rem;
28
+ width: 1.5rem;
29
+ }
30
+ .t-radio-button-container .t-radio-button {
31
+ position: absolute;
32
+ opacity: 0;
33
+ height: 0;
34
+ width: 0;
35
+ }
36
+ `;
37
+ export const radioButtonStyles = css `
38
+ .t-radio-button-full-container.t-multiple-options {
39
+ margin-bottom: var(--t-margin-between-radio-buttons);
40
+ }
41
+ .t-radio-button-full-container:not(.t-with-label-left) {
42
+ justify-content: flex-start;
43
+ }
44
+ .t-radio-button-container .t-radio-button-checkmark {
45
+ position: absolute;
46
+ top: 0;
47
+ left: 0;
48
+ display: flex;
49
+ height: 1.5rem;
50
+ width: 1.5rem;
51
+ border-radius: 0.25rem;
52
+ background-color: var(--t-bg-color-primary);
53
+ border: 2px solid var(--t-stroke-color-grey);
54
+ box-sizing: border-box;
55
+ border-radius: 50%;
56
+ }
57
+ .t-radio-button-container
58
+ .t-radio-button:checked
59
+ ~ .t-radio-button-checkmark {
60
+ border: 2px solid var(--t-main-color-tuix);
61
+ }
62
+ .t-radio-button-container .t-radio-button:focus ~ .t-radio-button-checkmark {
63
+ box-shadow: 0 0 0px 2px var(--t-stroke-color-focus);
64
+ }
65
+ .t-radio-button-full-container:hover
66
+ .t-radio-button-container
67
+ .t-radio-button-checkmark {
68
+ border: 2px solid var(--t-main-color-tuix);
69
+ }
70
+ .t-radio-button-full-container.t-with-error
71
+ .t-radio-button-container
72
+ .t-radio-button-checkmark {
73
+ border: 2px solid var(--t-text-color-error);
74
+ }
75
+ .t-radio-button-container
76
+ .t-radio-button:disabled
77
+ ~ .t-radio-button-checkmark {
78
+ background-color: var(--t-bg-color-disabled);
79
+ border: none;
80
+ box-shadow: none;
81
+ }
82
+ `;
83
+ export const radioButtonInnerStyles = css `
84
+ .t-radio-button-container .t-radio-button-checkmark .t-radio-button-inner {
85
+ background-color: var(--t-main-color-tuix);
86
+ margin: auto;
87
+ height: 0.625rem;
88
+ width: 0.625rem;
89
+ border-radius: 50%;
90
+ display: none;
91
+ }
92
+ .t-radio-button-container
93
+ .t-radio-button:checked
94
+ ~ .t-radio-button-checkmark
95
+ .t-radio-button-inner {
96
+ display: block;
97
+ }
98
+ :host([error])
99
+ .t-radio-button-container
100
+ .t-radio-button-checkmark
101
+ .t-radio-button-inner {
102
+ background-color: var(--t-text-color-error);
103
+ }
104
+ :host([disabled])
105
+ .t-radio-button-container
106
+ .t-radio-button-checkmark
107
+ .t-radio-button-inner {
108
+ background-color: var(--t-radio-button-inner-color-disabled);
109
+ cursor: not-allowed;
110
+ }
111
+ `;
112
+ export const radioButtonLabelStyles = css `
113
+ .t-radio-button-label {
114
+ display: block;
115
+ font-size: 1rem;
116
+ line-height: 1.5rem;
117
+ font-weight: 300;
118
+ font-family: 'rubik', sans-serif;
119
+ color: var(--t-text-color-label);
120
+ margin-left: 0.625rem;
121
+ }
122
+ .t-radio-button-full-container.t-with-label-left {
123
+ flex-direction: row-reverse;
124
+ }
125
+ .t-radio-button-full-container.t-with-label-left .t-radio-button-label {
126
+ margin-right: 0.625rem;
127
+ margin-left: 0;
128
+ }
129
+ `;
130
+ //# sourceMappingURL=TuixRadioButton.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TuixRadioButton.styles.js","sourceRoot":"","sources":["../../../src/tuix-radio-button/TuixRadioButton.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;IAC9B,UAAU;;;6CAG+B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;CAE1E,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;CAyB5C,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CnC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;CAiBxC,CAAC","sourcesContent":["import { css, unsafeCSS } from 'lit';\nimport { hostStyles } from '../tuix-checkbox/TuixCheckbox.styles';\nimport { Palette } from '../utils/colors';\n\nexport const radioHostStyles = css`\n ${hostStyles}\n :host {\n --t-margin-between-radio-buttons: 1rem;\n --t-radio-button-inner-color-disabled: ${unsafeCSS(Palette.PRIMARY_300)};\n }\n`;\n\nexport const radioButtonContainerStyles = css`\n .t-radio-button-full-container {\n display: flex;\n justify-content: space-between;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n :host([disabled]) .t-radio-button-full-container {\n cursor: not-allowed;\n }\n .t-radio-button-container {\n display: block;\n position: relative;\n height: 1.5rem;\n width: 1.5rem;\n }\n .t-radio-button-container .t-radio-button {\n position: absolute;\n opacity: 0;\n height: 0;\n width: 0;\n }\n`;\n\nexport const radioButtonStyles = css`\n .t-radio-button-full-container.t-multiple-options {\n margin-bottom: var(--t-margin-between-radio-buttons);\n }\n .t-radio-button-full-container:not(.t-with-label-left) {\n justify-content: flex-start;\n }\n .t-radio-button-container .t-radio-button-checkmark {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n height: 1.5rem;\n width: 1.5rem;\n border-radius: 0.25rem;\n background-color: var(--t-bg-color-primary);\n border: 2px solid var(--t-stroke-color-grey);\n box-sizing: border-box;\n border-radius: 50%;\n }\n .t-radio-button-container\n .t-radio-button:checked\n ~ .t-radio-button-checkmark {\n border: 2px solid var(--t-main-color-tuix);\n }\n .t-radio-button-container .t-radio-button:focus ~ .t-radio-button-checkmark {\n box-shadow: 0 0 0px 2px var(--t-stroke-color-focus);\n }\n .t-radio-button-full-container:hover\n .t-radio-button-container\n .t-radio-button-checkmark {\n border: 2px solid var(--t-main-color-tuix);\n }\n .t-radio-button-full-container.t-with-error\n .t-radio-button-container\n .t-radio-button-checkmark {\n border: 2px solid var(--t-text-color-error);\n }\n .t-radio-button-container\n .t-radio-button:disabled\n ~ .t-radio-button-checkmark {\n background-color: var(--t-bg-color-disabled);\n border: none;\n box-shadow: none;\n }\n`;\n\nexport const radioButtonInnerStyles = css`\n .t-radio-button-container .t-radio-button-checkmark .t-radio-button-inner {\n background-color: var(--t-main-color-tuix);\n margin: auto;\n height: 0.625rem;\n width: 0.625rem;\n border-radius: 50%;\n display: none;\n }\n .t-radio-button-container\n .t-radio-button:checked\n ~ .t-radio-button-checkmark\n .t-radio-button-inner {\n display: block;\n }\n :host([error])\n .t-radio-button-container\n .t-radio-button-checkmark\n .t-radio-button-inner {\n background-color: var(--t-text-color-error);\n }\n :host([disabled])\n .t-radio-button-container\n .t-radio-button-checkmark\n .t-radio-button-inner {\n background-color: var(--t-radio-button-inner-color-disabled);\n cursor: not-allowed;\n }\n`;\n\nexport const radioButtonLabelStyles = css`\n .t-radio-button-label {\n display: block;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 300;\n font-family: 'rubik', sans-serif;\n color: var(--t-text-color-label);\n margin-left: 0.625rem;\n }\n .t-radio-button-full-container.t-with-label-left {\n flex-direction: row-reverse;\n }\n .t-radio-button-full-container.t-with-label-left .t-radio-button-label {\n margin-right: 0.625rem;\n margin-left: 0;\n }\n`;\n"]}
@@ -0,0 +1,3 @@
1
+ import { DetailValue } from '../../utils/interfaces/detail-value.interface';
2
+ export type TuixRadioButtonOption = string | number;
3
+ export type CustomEventTuixRadioButton<T extends TuixRadioButtonOption = TuixRadioButtonOption> = CustomEvent<DetailValue<T>>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tuix-radio-button.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuix-radio-button.interface.js","sourceRoot":"","sources":["../../../../src/tuix-radio-button/interfaces/tuix-radio-button.interface.ts"],"names":[],"mappings":"","sourcesContent":["import { DetailValue } from '../../utils/interfaces/detail-value.interface';\n\nexport type TuixRadioButtonOption = string | number;\n\nexport type CustomEventTuixRadioButton<\n T extends TuixRadioButtonOption = TuixRadioButtonOption\n> = CustomEvent<DetailValue<T>>;\n"]}
@@ -1,9 +1,10 @@
1
1
  import { LitElement } from 'lit';
2
- import { TextSize } from './enums/tuix-text.enums.js';
3
- import { TextVariant } from '../utils/colors.js';
2
+ import { TextSize, TextVariant } from './enums/tuix-text.enums.js';
4
3
  export declare class TuixText extends LitElement {
5
- size?: TextSize;
6
- color?: TextVariant.PRIMARY;
4
+ size: TextSize;
5
+ color?: TextVariant;
6
+ dark: boolean;
7
7
  static styles: import("lit").CSSResult[];
8
+ private _getTextColor;
8
9
  render(): import("lit-html").TemplateResult<1>;
9
10
  }
@@ -2,16 +2,27 @@ import { __decorate } from "tslib";
2
2
  import { html, css, LitElement } from 'lit';
3
3
  import { styleMap } from 'lit/directives/style-map.js';
4
4
  import { customElement, property } from 'lit/decorators.js';
5
- import { TextSize } from './enums/tuix-text.enums.js';
5
+ import { TextSize, TextVariant, colorText, colorTextDark, } from './enums/tuix-text.enums.js';
6
6
  import { textStyles } from './TuixText.styles.js';
7
- import { TextVariant, colorText } from '../utils/colors.js';
8
7
  import { buttonSizeStyles } from '../tuix-button/TuixButton.styles.js';
9
8
  let TuixText = class TuixText extends LitElement {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.size = TextSize.Body1;
12
+ this.dark = false;
13
+ }
14
+ _getTextColor() {
15
+ const defaultColor = this.dark
16
+ ? TextVariant.SECONDARY
17
+ : TextVariant.PRIMARY;
18
+ const colorMap = this.dark ? colorTextDark : colorText;
19
+ return colorMap[this.color || defaultColor];
20
+ }
10
21
  render() {
11
22
  return html ` <div
12
23
  class="text ${this.size}"
13
24
  style="${styleMap({
14
- color: colorText[this.color || TextVariant.PRIMARY],
25
+ color: this._getTextColor(),
15
26
  })}"
16
27
  >
17
28
  <slot></slot>
@@ -33,6 +44,9 @@ __decorate([
33
44
  __decorate([
34
45
  property({ type: TextVariant })
35
46
  ], TuixText.prototype, "color", void 0);
47
+ __decorate([
48
+ property({ type: Boolean, reflect: true })
49
+ ], TuixText.prototype, "dark", void 0);
36
50
  TuixText = __decorate([
37
51
  customElement('tuix-text')
38
52
  ], TuixText);
@@ -1 +1 @@
1
- {"version":3,"file":"TuixText.js","sourceRoot":"","sources":["../../../src/tuix-text/TuixText.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,UAAU;IAiBtC,MAAM;QACJ,OAAO,IAAI,CAAA;oBACK,IAAI,CAAC,IAAI;eACd,QAAQ,CAAC;YAChB,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC;SACpD,CAAC;;;WAGG,CAAC;IACV,CAAC;;AAnBM,eAAM,GAAG;IACd,GAAG,CAAA;;;;KAIF;IACD,UAAU;IACV,gBAAgB;CACjB,AARY,CAQX;AAbF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sCACb;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;uCACJ;AALjB,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CA2BpB;SA3BY,QAAQ","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport { TextSize } from './enums/tuix-text.enums.js';\nimport { textStyles } from './TuixText.styles.js';\nimport { TextVariant, colorText } from '../utils/colors.js';\nimport { buttonSizeStyles } from '../tuix-button/TuixButton.styles.js';\n\n@customElement('tuix-text')\nexport class TuixText extends LitElement {\n @property({ type: TextSize })\n size?: TextSize;\n\n @property({ type: TextVariant })\n color?: TextVariant.PRIMARY;\n\n static styles = [\n css`\n .text {\n font-family: 'Rubik', sans-serif;\n }\n `,\n textStyles,\n buttonSizeStyles,\n ];\n\n render() {\n return html` <div\n class=\"text ${this.size}\"\n style=\"${styleMap({\n color: colorText[this.color || TextVariant.PRIMARY],\n })}\"\n >\n <slot></slot>\n </div>`;\n }\n}\n"]}
1
+ {"version":3,"file":"TuixText.js","sourceRoot":"","sources":["../../../src/tuix-text/TuixText.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,UAAU;IAAxC;;QAEE,SAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;QAMtB,SAAI,GAAG,KAAK,CAAC;IA8Bf,CAAC;IAlBS,aAAa;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI;YAC5B,CAAC,CAAC,WAAW,CAAC,SAAS;YACvB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;oBACK,IAAI,CAAC,IAAI;eACd,QAAQ,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE;SAC5B,CAAC;;;WAGG,CAAC;IACV,CAAC;;AA3BM,eAAM,GAAG;IACd,GAAG,CAAA;;;;KAIF;IACD,UAAU;IACV,gBAAgB;CACjB,AARY,CAQX;AAhBF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sCACP;AAGtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;uCACZ;AAGpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCAC9B;AARF,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAsCpB;SAtCY,QAAQ","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport {\n TextSize,\n TextVariant,\n colorText,\n colorTextDark,\n} from './enums/tuix-text.enums.js';\nimport { textStyles } from './TuixText.styles.js';\nimport { buttonSizeStyles } from '../tuix-button/TuixButton.styles.js';\n\n@customElement('tuix-text')\nexport class TuixText extends LitElement {\n @property({ type: TextSize })\n size = TextSize.Body1;\n\n @property({ type: TextVariant })\n color?: TextVariant;\n\n @property({ type: Boolean, reflect: true })\n dark = false;\n\n static styles = [\n css`\n .text {\n font-family: 'Rubik', sans-serif;\n }\n `,\n textStyles,\n buttonSizeStyles,\n ];\n\n private _getTextColor() {\n const defaultColor = this.dark\n ? TextVariant.SECONDARY\n : TextVariant.PRIMARY;\n const colorMap = this.dark ? colorTextDark : colorText;\n return colorMap[this.color || defaultColor];\n }\n\n render() {\n return html` <div\n class=\"text ${this.size}\"\n style=\"${styleMap({\n color: this._getTextColor(),\n })}\"\n >\n <slot></slot>\n </div>`;\n }\n}\n"]}
@@ -10,13 +10,15 @@ export declare enum TextSize {
10
10
  Field1 = "field1",
11
11
  Field2 = "field2"
12
12
  }
13
- export declare enum TextColor {
14
- Primary = "primary",
15
- Secondary = "secondary",
16
- Grey = "grey",
17
- LightGrey = "lightGrey",
18
- Disabled = "disabled",
19
- Validation = "validation",
20
- Error = "error",
21
- Success = "success"
13
+ export declare enum TextVariant {
14
+ PRIMARY = "primary",
15
+ SECONDARY = "secondary",
16
+ GREY = "grey",
17
+ LIGHT_GREY = "light_grey",
18
+ DISABLED = "disabled",
19
+ VALIDATION = "validation",
20
+ ERROR = "error",
21
+ SUCCESS = "success"
22
22
  }
23
+ export declare const colorText: Record<TextVariant, string>;
24
+ export declare const colorTextDark: Record<TextVariant, string>;
@@ -1,3 +1,5 @@
1
+ import { Palette } from '../../utils/colors';
2
+ import { DarkPalette } from '../../utils/darkColors';
1
3
  export var TextSize;
2
4
  (function (TextSize) {
3
5
  TextSize["XL"] = "xl";
@@ -11,15 +13,31 @@ export var TextSize;
11
13
  TextSize["Field1"] = "field1";
12
14
  TextSize["Field2"] = "field2";
13
15
  })(TextSize || (TextSize = {}));
14
- export var TextColor;
15
- (function (TextColor) {
16
- TextColor["Primary"] = "primary";
17
- TextColor["Secondary"] = "secondary";
18
- TextColor["Grey"] = "grey";
19
- TextColor["LightGrey"] = "lightGrey";
20
- TextColor["Disabled"] = "disabled";
21
- TextColor["Validation"] = "validation";
22
- TextColor["Error"] = "error";
23
- TextColor["Success"] = "success";
24
- })(TextColor || (TextColor = {}));
16
+ export var TextVariant;
17
+ (function (TextVariant) {
18
+ TextVariant["PRIMARY"] = "primary";
19
+ TextVariant["SECONDARY"] = "secondary";
20
+ TextVariant["GREY"] = "grey";
21
+ TextVariant["LIGHT_GREY"] = "light_grey";
22
+ TextVariant["DISABLED"] = "disabled";
23
+ TextVariant["VALIDATION"] = "validation";
24
+ TextVariant["ERROR"] = "error";
25
+ TextVariant["SUCCESS"] = "success";
26
+ })(TextVariant || (TextVariant = {}));
27
+ export const colorText = {
28
+ [TextVariant.PRIMARY]: Palette.BLACK,
29
+ [TextVariant.SECONDARY]: Palette.WHITE,
30
+ [TextVariant.GREY]: Palette.NEUTRAL_600,
31
+ [TextVariant.LIGHT_GREY]: Palette.NEUTRAL_200,
32
+ [TextVariant.DISABLED]: Palette.PRIMARY_200,
33
+ [TextVariant.VALIDATION]: Palette.VALIDATION,
34
+ [TextVariant.ERROR]: Palette.ERROR,
35
+ [TextVariant.SUCCESS]: Palette.SUCCESS,
36
+ };
37
+ export const colorTextDark = {
38
+ ...colorText,
39
+ [TextVariant.VALIDATION]: DarkPalette.VALIDATION,
40
+ [TextVariant.ERROR]: DarkPalette.ERROR,
41
+ [TextVariant.SUCCESS]: DarkPalette.SUCCESS,
42
+ };
25
43
  //# sourceMappingURL=tuix-text.enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tuix-text.enums.js","sourceRoot":"","sources":["../../../../src/tuix-text/enums/tuix-text.enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAWX;AAXD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,mBAAO,CAAA;IACP,mBAAO,CAAA;IACP,mBAAO,CAAA;IACP,qBAAS,CAAA;IACT,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;AACnB,CAAC,EAXW,QAAQ,KAAR,QAAQ,QAWnB;AAED,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IACb,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACrB,CAAC,EATW,SAAS,KAAT,SAAS,QASpB","sourcesContent":["export enum TextSize {\n XL = 'xl',\n L = 'l',\n M = 'm',\n S = 's',\n XS = 'xs',\n Body1 = 'body1',\n Body2 = 'body2',\n Button = 'button',\n Field1 = 'field1',\n Field2 = 'field2',\n}\n\nexport enum TextColor {\n Primary = 'primary',\n Secondary = 'secondary',\n Grey = 'grey',\n LightGrey = 'lightGrey',\n Disabled = 'disabled',\n Validation = 'validation',\n Error = 'error',\n Success = 'success',\n}\n"]}
1
+ {"version":3,"file":"tuix-text.enums.js","sourceRoot":"","sources":["../../../../src/tuix-text/enums/tuix-text.enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,MAAM,CAAN,IAAY,QAWX;AAXD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,mBAAO,CAAA;IACP,mBAAO,CAAA;IACP,mBAAO,CAAA;IACP,qBAAS,CAAA;IACT,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;AACnB,CAAC,EAXW,QAAQ,KAAR,QAAQ,QAWnB;AAED,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB,kCAA6B,CAAA;IAC7B,sCAAiC,CAAA;IACjC,4BAAa,CAAA;IACb,wCAAyB,CAAA;IACzB,oCAAqB,CAAA;IACrB,wCAAyB,CAAA;IACzB,8BAAe,CAAA;IACf,kCAAmB,CAAA;AACrB,CAAC,EATW,WAAW,KAAX,WAAW,QAStB;AAED,MAAM,CAAC,MAAM,SAAS,GAAgC;IACpD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK;IACpC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,KAAK;IACtC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW;IACvC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW;IAC7C,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW;IAC3C,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU;IAC5C,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK;IAClC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,GAAG,SAAS;IACZ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,UAAU;IAChD,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK;IACtC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO;CAC3C,CAAC","sourcesContent":["import { Palette } from '../../utils/colors';\nimport { DarkPalette } from '../../utils/darkColors';\nimport { MainVariant } from '../../utils/mainVariant.enum';\n\nexport enum TextSize {\n XL = 'xl',\n L = 'l',\n M = 'm',\n S = 's',\n XS = 'xs',\n Body1 = 'body1',\n Body2 = 'body2',\n Button = 'button',\n Field1 = 'field1',\n Field2 = 'field2',\n}\n\nexport enum TextVariant {\n PRIMARY = MainVariant.PRIMARY,\n SECONDARY = MainVariant.SECONDARY,\n GREY = 'grey',\n LIGHT_GREY = 'light_grey',\n DISABLED = 'disabled',\n VALIDATION = 'validation',\n ERROR = 'error',\n SUCCESS = 'success',\n}\n\nexport const colorText: Record<TextVariant, string> = {\n [TextVariant.PRIMARY]: Palette.BLACK,\n [TextVariant.SECONDARY]: Palette.WHITE,\n [TextVariant.GREY]: Palette.NEUTRAL_600,\n [TextVariant.LIGHT_GREY]: Palette.NEUTRAL_200,\n [TextVariant.DISABLED]: Palette.PRIMARY_200,\n [TextVariant.VALIDATION]: Palette.VALIDATION,\n [TextVariant.ERROR]: Palette.ERROR,\n [TextVariant.SUCCESS]: Palette.SUCCESS,\n};\n\nexport const colorTextDark: Record<TextVariant, string> = {\n ...colorText,\n [TextVariant.VALIDATION]: DarkPalette.VALIDATION,\n [TextVariant.ERROR]: DarkPalette.ERROR,\n [TextVariant.SUCCESS]: DarkPalette.SUCCESS,\n};\n"]}
@@ -0,0 +1,13 @@
1
+ import { LitElement } from 'lit';
2
+ import { CheckboxLabelSide } from '../tuix-checkbox/enums/tuix-checkbox.enums';
3
+ export declare class TuixToggleButton extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ checked: boolean;
6
+ disabled: boolean;
7
+ dark: boolean;
8
+ label: string;
9
+ labelSide: CheckboxLabelSide;
10
+ private _onToggleButtonChange;
11
+ private _getFullContainerClasses;
12
+ protected render(): import("lit-html").TemplateResult<1>;
13
+ }
@@ -0,0 +1,77 @@
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, html } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { classMap } from 'lit/directives/class-map.js';
5
+ import { CheckboxLabelSide } from '../tuix-checkbox/enums/tuix-checkbox.enums';
6
+ import { toggleButtonCheckmarkStyles, toggleButtonContainerStyles, toggleButtonHostStyles, toggleButtonInnerStyles, toggleButtonLabelStyles, } from './TuixToggleButton.styles';
7
+ let TuixToggleButton = class TuixToggleButton extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.checked = false;
11
+ this.disabled = false;
12
+ this.dark = false;
13
+ this.label = '';
14
+ this.labelSide = CheckboxLabelSide.RIGHT;
15
+ }
16
+ _onToggleButtonChange(event) {
17
+ this.dispatchEvent(new CustomEvent('change', {
18
+ detail: {
19
+ value: event.target.checked,
20
+ label: this.label,
21
+ },
22
+ bubbles: true,
23
+ }));
24
+ }
25
+ _getFullContainerClasses() {
26
+ return {
27
+ 't-toggle-button-full-container': true,
28
+ 't-with-label-left': this.labelSide === CheckboxLabelSide.LEFT,
29
+ };
30
+ }
31
+ render() {
32
+ return html `<label class="${classMap(this._getFullContainerClasses())}">
33
+ <div class="t-toggle-button-container">
34
+ <input
35
+ type="checkbox"
36
+ class="t-toggle-button"
37
+ .checked="${this.checked}"
38
+ ?disabled="${this.disabled}"
39
+ @change="${this._onToggleButtonChange}"
40
+ />
41
+ <div class="t-toggle-button-checkmark">
42
+ <div class="t-toggle-button-inner"></div>
43
+ </div>
44
+ </div>
45
+ <div class="t-toggle-button-label">
46
+ <slot>${this.label}</slot>
47
+ </div>
48
+ </label>`;
49
+ }
50
+ };
51
+ TuixToggleButton.styles = [
52
+ toggleButtonHostStyles,
53
+ toggleButtonContainerStyles,
54
+ toggleButtonCheckmarkStyles,
55
+ toggleButtonInnerStyles,
56
+ toggleButtonLabelStyles,
57
+ ];
58
+ __decorate([
59
+ property({ type: Boolean })
60
+ ], TuixToggleButton.prototype, "checked", void 0);
61
+ __decorate([
62
+ property({ type: Boolean, reflect: true })
63
+ ], TuixToggleButton.prototype, "disabled", void 0);
64
+ __decorate([
65
+ property({ type: Boolean, reflect: true })
66
+ ], TuixToggleButton.prototype, "dark", void 0);
67
+ __decorate([
68
+ property({ type: String })
69
+ ], TuixToggleButton.prototype, "label", void 0);
70
+ __decorate([
71
+ property({ type: String })
72
+ ], TuixToggleButton.prototype, "labelSide", void 0);
73
+ TuixToggleButton = __decorate([
74
+ customElement('tuix-toggle-button')
75
+ ], TuixToggleButton);
76
+ export { TuixToggleButton };
77
+ //# sourceMappingURL=TuixToggleButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TuixToggleButton.js","sourceRoot":"","sources":["../../../src/tuix-toggle-button/TuixToggleButton.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAa,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAGnC,IAAa,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,UAAU;IAAhD;;QAUE,YAAO,GAAG,KAAK,CAAC;QAGhB,aAAQ,GAAG,KAAK,CAAC;QAGjB,SAAI,GAAG,KAAK,CAAC;QAGb,UAAK,GAAG,EAAE,CAAC;QAGX,cAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAwCtC,CAAC;IAtCS,qBAAqB,CAAC,KAAiB;QAC7C,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE;gBACN,KAAK,EAAG,KAAK,CAAC,MAA2B,CAAC,OAAO;gBACjD,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;YACD,OAAO,EAAE,IAAI;SACd,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,wBAAwB;QAC9B,OAAO;YACL,gCAAgC,EAAE,IAAI;YACtC,mBAAmB,EAAE,IAAI,CAAC,SAAS,KAAK,iBAAiB,CAAC,IAAI;SAC/D,CAAC;IACJ,CAAC;IAES,MAAM;QACd,OAAO,IAAI,CAAA,iBAAiB,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;;;;;sBAKnD,IAAI,CAAC,OAAO;uBACX,IAAI,CAAC,QAAQ;qBACf,IAAI,CAAC,qBAAqB;;;;;;;gBAO/B,IAAI,CAAC,KAAK;;aAEb,CAAC;IACZ,CAAC;;AA5DM,uBAAM,GAAG;IACd,sBAAsB;IACtB,2BAA2B;IAC3B,2BAA2B;IAC3B,uBAAuB;IACvB,uBAAuB;CACxB,AANY,CAMX;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACZ;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAC9B;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAChB;AAGX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;mDACS;AAtBzB,gBAAgB;IAD5B,aAAa,CAAC,oBAAoB,CAAC;GACvB,gBAAgB,CA8D5B;SA9DY,gBAAgB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ClassInfo, classMap } from 'lit/directives/class-map.js';\nimport { CheckboxLabelSide } from '../tuix-checkbox/enums/tuix-checkbox.enums';\nimport {\n toggleButtonCheckmarkStyles,\n toggleButtonContainerStyles,\n toggleButtonHostStyles,\n toggleButtonInnerStyles,\n toggleButtonLabelStyles,\n} from './TuixToggleButton.styles';\n\n@customElement('tuix-toggle-button')\nexport class TuixToggleButton extends LitElement {\n static styles = [\n toggleButtonHostStyles,\n toggleButtonContainerStyles,\n toggleButtonCheckmarkStyles,\n toggleButtonInnerStyles,\n toggleButtonLabelStyles,\n ];\n\n @property({ type: Boolean })\n checked = false;\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n @property({ type: Boolean, reflect: true })\n dark = false;\n\n @property({ type: String })\n label = '';\n\n @property({ type: String })\n labelSide = CheckboxLabelSide.RIGHT;\n\n private _onToggleButtonChange(event: InputEvent) {\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: {\n value: (event.target as HTMLInputElement).checked,\n label: this.label,\n },\n bubbles: true,\n })\n );\n }\n\n private _getFullContainerClasses(): ClassInfo {\n return {\n 't-toggle-button-full-container': true,\n 't-with-label-left': this.labelSide === CheckboxLabelSide.LEFT,\n };\n }\n\n protected render() {\n return html`<label class=\"${classMap(this._getFullContainerClasses())}\">\n <div class=\"t-toggle-button-container\">\n <input\n type=\"checkbox\"\n class=\"t-toggle-button\"\n .checked=\"${this.checked}\"\n ?disabled=\"${this.disabled}\"\n @change=\"${this._onToggleButtonChange}\"\n />\n <div class=\"t-toggle-button-checkmark\">\n <div class=\"t-toggle-button-inner\"></div>\n </div>\n </div>\n <div class=\"t-toggle-button-label\">\n <slot>${this.label}</slot>\n </div>\n </label>`;\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export declare const toggleButtonHostStyles: import("lit").CSSResult;
2
+ export declare const toggleButtonContainerStyles: import("lit").CSSResult;
3
+ export declare const toggleButtonCheckmarkStyles: import("lit").CSSResult;
4
+ export declare const toggleButtonInnerStyles: import("lit").CSSResult;
5
+ export declare const toggleButtonLabelStyles: import("lit").CSSResult;
@@ -0,0 +1,116 @@
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { hostStyles } from '../tuix-checkbox/TuixCheckbox.styles';
3
+ import { Palette } from '../utils/colors';
4
+ import { DarkPalette } from '../utils/darkColors';
5
+ export const toggleButtonHostStyles = css `
6
+ ${hostStyles}
7
+ :host {
8
+ --t-bg-color-primary: ${unsafeCSS(Palette.PRIMARY_300)};
9
+ --t-bg-color-disabled: ${unsafeCSS(Palette.PRIMARY_100)};
10
+ --t-toggle-shadow-color-focus: rgba(142, 141, 208, 0.16);
11
+ --t-toggle-inner-radio: 1rem;
12
+ }
13
+ :host([dark]) {
14
+ --t-bg-color-primary: ${unsafeCSS(DarkPalette.PRIMARY_800)};
15
+ --t-bg-color-disabled: ${unsafeCSS(DarkPalette.NEUTRAL_200)};
16
+ }
17
+ `;
18
+ export const toggleButtonContainerStyles = css `
19
+ .t-toggle-button-full-container {
20
+ display: flex;
21
+ justify-content: space-between;
22
+ cursor: pointer;
23
+ -webkit-user-select: none;
24
+ -moz-user-select: none;
25
+ -ms-user-select: none;
26
+ user-select: none;
27
+ }
28
+ :host([disabled]) .t-toggle-button-full-container {
29
+ cursor: not-allowed;
30
+ }
31
+ .t-toggle-button-container {
32
+ display: block;
33
+ position: relative;
34
+ height: 1.5rem;
35
+ width: 3rem;
36
+ }
37
+ .t-toggle-button-container .t-toggle-button {
38
+ position: absolute;
39
+ opacity: 0;
40
+ height: 0;
41
+ width: 0;
42
+ }
43
+ .t-radio-button-full-container:not(.t-with-label-left) {
44
+ justify-content: flex-start;
45
+ }
46
+ `;
47
+ export const toggleButtonCheckmarkStyles = css `
48
+ .t-toggle-button-container .t-toggle-button-checkmark {
49
+ position: absolute;
50
+ top: 0;
51
+ left: 0;
52
+ display: flex;
53
+ height: 1.5rem;
54
+ width: 3rem;
55
+ border-radius: 0.75rem;
56
+ background-color: var(--t-bg-color-primary);
57
+ box-sizing: border-box;
58
+ }
59
+ .t-toggle-button-container
60
+ .t-toggle-button:checked
61
+ ~ .t-toggle-button-checkmark {
62
+ background-color: var(--t-main-color-tuix);
63
+ }
64
+ .t-toggle-button-full-container:hover
65
+ .t-toggle-button-container
66
+ .t-toggle-button-checkmark {
67
+ box-shadow: 0px 4px 4px 0px var(--t-toggle-shadow-color-focus);
68
+ }
69
+ .t-toggle-button-container
70
+ .t-toggle-button:focus
71
+ ~ .t-toggle-button-checkmark {
72
+ box-shadow: 0 0 0px 2px var(--t-stroke-color-focus);
73
+ }
74
+ .t-toggle-button-container
75
+ .t-toggle-button:disabled
76
+ ~ .t-toggle-button-checkmark {
77
+ background-color: var(--t-bg-color-disabled);
78
+ box-shadow: none;
79
+ }
80
+ `;
81
+ export const toggleButtonInnerStyles = css `
82
+ .t-toggle-button-container .t-toggle-button-checkmark .t-toggle-button-inner {
83
+ background-color: ${unsafeCSS(Palette.WHITE)};
84
+ margin: auto auto auto 0.25rem;
85
+ height: var(--t-toggle-inner-radio);
86
+ width: var(--t-toggle-inner-radio);
87
+ border-radius: 50%;
88
+ display: block;
89
+ transition: 0.3s;
90
+ }
91
+ .t-toggle-button-container
92
+ .t-toggle-button:checked
93
+ ~ .t-toggle-button-checkmark
94
+ .t-toggle-button-inner {
95
+ transform: translateX(calc(3rem - var(--t-toggle-inner-radio) - 0.5rem));
96
+ }
97
+ `;
98
+ export const toggleButtonLabelStyles = css `
99
+ .t-toggle-button-label {
100
+ display: block;
101
+ font-size: 1rem;
102
+ line-height: 1.5rem;
103
+ font-weight: 300;
104
+ font-family: 'rubik', sans-serif;
105
+ color: var(--t-text-color-label);
106
+ margin-left: 0.625rem;
107
+ }
108
+ .t-toggle-button-full-container.t-with-label-left {
109
+ flex-direction: row-reverse;
110
+ }
111
+ .t-toggle-button-full-container.t-with-label-left .t-toggle-button-label {
112
+ margin-right: 0.625rem;
113
+ margin-left: 0;
114
+ }
115
+ `;
116
+ //# sourceMappingURL=TuixToggleButton.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TuixToggleButton.styles.js","sourceRoot":"","sources":["../../../src/tuix-toggle-button/TuixToggleButton.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;IACrC,UAAU;;4BAEc,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;6BAC7B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;;;;4BAK/B,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC;6BACjC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC;;CAE9D,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B7C,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC7C,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;;wBAElB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;;;;;;;;;;;;;;CAc/C,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;CAiBzC,CAAC","sourcesContent":["import { css, unsafeCSS } from 'lit';\nimport { hostStyles } from '../tuix-checkbox/TuixCheckbox.styles';\nimport { Palette } from '../utils/colors';\nimport { DarkPalette } from '../utils/darkColors';\n\nexport const toggleButtonHostStyles = css`\n ${hostStyles}\n :host {\n --t-bg-color-primary: ${unsafeCSS(Palette.PRIMARY_300)};\n --t-bg-color-disabled: ${unsafeCSS(Palette.PRIMARY_100)};\n --t-toggle-shadow-color-focus: rgba(142, 141, 208, 0.16);\n --t-toggle-inner-radio: 1rem;\n }\n :host([dark]) {\n --t-bg-color-primary: ${unsafeCSS(DarkPalette.PRIMARY_800)};\n --t-bg-color-disabled: ${unsafeCSS(DarkPalette.NEUTRAL_200)};\n }\n`;\n\nexport const toggleButtonContainerStyles = css`\n .t-toggle-button-full-container {\n display: flex;\n justify-content: space-between;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n :host([disabled]) .t-toggle-button-full-container {\n cursor: not-allowed;\n }\n .t-toggle-button-container {\n display: block;\n position: relative;\n height: 1.5rem;\n width: 3rem;\n }\n .t-toggle-button-container .t-toggle-button {\n position: absolute;\n opacity: 0;\n height: 0;\n width: 0;\n }\n .t-radio-button-full-container:not(.t-with-label-left) {\n justify-content: flex-start;\n }\n`;\n\nexport const toggleButtonCheckmarkStyles = css`\n .t-toggle-button-container .t-toggle-button-checkmark {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n height: 1.5rem;\n width: 3rem;\n border-radius: 0.75rem;\n background-color: var(--t-bg-color-primary);\n box-sizing: border-box;\n }\n .t-toggle-button-container\n .t-toggle-button:checked\n ~ .t-toggle-button-checkmark {\n background-color: var(--t-main-color-tuix);\n }\n .t-toggle-button-full-container:hover\n .t-toggle-button-container\n .t-toggle-button-checkmark {\n box-shadow: 0px 4px 4px 0px var(--t-toggle-shadow-color-focus);\n }\n .t-toggle-button-container\n .t-toggle-button:focus\n ~ .t-toggle-button-checkmark {\n box-shadow: 0 0 0px 2px var(--t-stroke-color-focus);\n }\n .t-toggle-button-container\n .t-toggle-button:disabled\n ~ .t-toggle-button-checkmark {\n background-color: var(--t-bg-color-disabled);\n box-shadow: none;\n }\n`;\n\nexport const toggleButtonInnerStyles = css`\n .t-toggle-button-container .t-toggle-button-checkmark .t-toggle-button-inner {\n background-color: ${unsafeCSS(Palette.WHITE)};\n margin: auto auto auto 0.25rem;\n height: var(--t-toggle-inner-radio);\n width: var(--t-toggle-inner-radio);\n border-radius: 50%;\n display: block;\n transition: 0.3s;\n }\n .t-toggle-button-container\n .t-toggle-button:checked\n ~ .t-toggle-button-checkmark\n .t-toggle-button-inner {\n transform: translateX(calc(3rem - var(--t-toggle-inner-radio) - 0.5rem));\n }\n`;\n\nexport const toggleButtonLabelStyles = css`\n .t-toggle-button-label {\n display: block;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 300;\n font-family: 'rubik', sans-serif;\n color: var(--t-text-color-label);\n margin-left: 0.625rem;\n }\n .t-toggle-button-full-container.t-with-label-left {\n flex-direction: row-reverse;\n }\n .t-toggle-button-full-container.t-with-label-left .t-toggle-button-label {\n margin-right: 0.625rem;\n margin-left: 0;\n }\n`;\n"]}
@@ -0,0 +1,2 @@
1
+ import { CustomEventTuixCheckbox } from '../../tuix-checkbox/interfaces/tuix-checkbox.interface';
2
+ export type CustomEventTuixToggle = CustomEventTuixCheckbox;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tuix-toggle.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuix-toggle.interface.js","sourceRoot":"","sources":["../../../../src/tuix-toggle-button/interfaces/tuix-toggle.interface.ts"],"names":[],"mappings":"","sourcesContent":["import { CustomEventTuixCheckbox } from '../../tuix-checkbox/interfaces/tuix-checkbox.interface';\n\nexport type CustomEventTuixToggle = CustomEventTuixCheckbox;\n"]}
@@ -1,12 +1,24 @@
1
- export declare const palette: Record<string, string>;
2
- export declare enum TextVariant {
3
- PRIMARY = "primary",
4
- SECONDARY = "secondary",
5
- GREY = "grey",
6
- LIGHT_GREY = "light_grey",
7
- DISABLED = "disabled",
8
- VALIDATION = "validation",
9
- ERROR = "error",
10
- SUCCESS = "success"
1
+ export declare enum Palette {
2
+ PRIMARY_50 = "#F5F5FA",
3
+ PRIMARY_100 = "#EBEAF4",
4
+ PRIMARY_200 = "#D1D1E6",
5
+ PRIMARY_300 = "#A8A9D1",
6
+ MAIN = "#585A9D",
7
+ PRIMARY_600 = "#454584",
8
+ PRIMARY_700 = "#3A396B",
9
+ PRIMARY_800 = "#32325A",
10
+ PRIMARY_900 = "#2E2D4D",
11
+ PRIMARY_950 = "#1F1E33",
12
+ SECONDARY = "#BBADFF",
13
+ WHITE = "#FFFFFF",
14
+ BLACK = "#121212",
15
+ NEUTRAL_200 = "#C9C8D3",
16
+ NEUTRAL_600 = "#8A8894",
17
+ SUCCESS = "#439F6E",
18
+ VALIDATION = "#FFB82E",
19
+ VALIDATION_50 = "#FFFBF4",
20
+ VALIDATION_200 = "#FFEAC1",
21
+ ERROR = "#F93232",
22
+ ERROR_50 = "#FFF5F5",
23
+ ERROR_200 = "#FFD8D8"
11
24
  }
12
- export declare const colorText: Record<TextVariant, string>;