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
@@ -1,3 +1,10 @@
1
+ export { CustomEventTuixButton } from './tuix-button/interfaces/tuix-button.interface.js';
2
+ export { CustomEventTuixCheckbox, DetailValueCheckbox, } from './tuix-checkbox/interfaces/tuix-checkbox.interface.js';
3
+ export { CustomEventTuixDropdownInput, CustomEventTuixDropdownSelect, } from './tuix-dropdown/interfaces/tuix-dropdown.interface.js';
4
+ export { CustomEventTuixInput } from './tuix-input/interfaces/tuix-input.interface.js';
5
+ export { CustomEventTuixRadioButton } from './tuix-radio-button/interfaces/tuix-radio-button.interface.js';
6
+ export { CustomEventTuixToggle } from './tuix-toggle-button/interfaces/tuix-toggle.interface.js';
7
+ export { DetailValue } from './utils/interfaces/detail-value.interface.js';
1
8
  export { TuixText } from './tuix-text/TuixText.js';
2
9
  export { TuixIcon } from './tuix-icon/TuixIcon.js';
3
10
  export { TuixButton } from './tuix-button/TuixButton.js';
@@ -6,4 +13,17 @@ export { TuixIconButton } from './tuix-icon-button/TuixIconButton.js';
6
13
  export { TuixLink } from './tuix-link/TuixLink.js';
7
14
  export { TuixInput } from './tuix-input/TuixInput.js';
8
15
  export { TuixDropdown } from './tuix-dropdown/TuixDropdown.js';
16
+ export { TuixCheckbox } from './tuix-checkbox/TuixCheckbox.js';
17
+ export { TuixRadioButton } from './tuix-radio-button/TuixRadioButton.js';
18
+ export { TuixToggleButton } from './tuix-toggle-button/TuixToggleButton.js';
19
+ export { TextSize, TextVariant } from './tuix-text/enums/tuix-text.enums.js';
20
+ export { MainVariant } from './utils/mainVariant.enum.js';
21
+ export { CheckboxLabelSide } from './tuix-checkbox/enums/tuix-checkbox.enums.js';
22
+ export { PaperVariant } from './tuix-paper/enums/tuix-paper.enum.js';
23
+ export { LinkTarget } from './tuix-link/enums/linkTarget.enum.js';
24
+ export { IconName, IconSizeVariant, } from './tuix-icon/enums/tuix-icon.enums.js';
25
+ export { DescriptionType, InputType, } from './tuix-input/enums/tuix-input.enums.js';
26
+ export { Palette } from './utils/colors.js';
27
+ export { DarkPalette } from './utils/darkColors.js';
28
+ export { DropdownType } from './tuix-dropdown/enums/tuix-dropdown.enums.js';
9
29
  export declare function loadFonts(): void;
package/dist/src/index.js CHANGED
@@ -6,6 +6,19 @@ export { TuixIconButton } from './tuix-icon-button/TuixIconButton.js';
6
6
  export { TuixLink } from './tuix-link/TuixLink.js';
7
7
  export { TuixInput } from './tuix-input/TuixInput.js';
8
8
  export { TuixDropdown } from './tuix-dropdown/TuixDropdown.js';
9
+ export { TuixCheckbox } from './tuix-checkbox/TuixCheckbox.js';
10
+ export { TuixRadioButton } from './tuix-radio-button/TuixRadioButton.js';
11
+ export { TuixToggleButton } from './tuix-toggle-button/TuixToggleButton.js';
12
+ export { TextSize, TextVariant } from './tuix-text/enums/tuix-text.enums.js';
13
+ export { MainVariant } from './utils/mainVariant.enum.js';
14
+ export { CheckboxLabelSide } from './tuix-checkbox/enums/tuix-checkbox.enums.js';
15
+ export { PaperVariant } from './tuix-paper/enums/tuix-paper.enum.js';
16
+ export { LinkTarget } from './tuix-link/enums/linkTarget.enum.js';
17
+ export { IconName, IconSizeVariant, } from './tuix-icon/enums/tuix-icon.enums.js';
18
+ export { DescriptionType, InputType, } from './tuix-input/enums/tuix-input.enums.js';
19
+ export { Palette } from './utils/colors.js';
20
+ export { DarkPalette } from './utils/darkColors.js';
21
+ export { DropdownType } from './tuix-dropdown/enums/tuix-dropdown.enums.js';
9
22
  export function loadFonts() {
10
23
  const link1 = document.createElement('link');
11
24
  link1.rel = 'preconnect';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC;IACzB,KAAK,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC;IACzB,KAAK,CAAC,IAAI,GAAG,2BAA2B,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC;IACzB,KAAK,CAAC,IAAI;QACR,2JAA2J,CAAC;IAC9J,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC","sourcesContent":["export { TuixText } from './tuix-text/TuixText.js';\nexport { TuixIcon } from './tuix-icon/TuixIcon.js';\nexport { TuixButton } from './tuix-button/TuixButton.js';\nexport { TuixPaper } from './tuix-paper/TuixPaper.js';\nexport { TuixIconButton } from './tuix-icon-button/TuixIconButton.js';\nexport { TuixLink } from './tuix-link/TuixLink.js';\nexport { TuixInput } from './tuix-input/TuixInput.js';\nexport { TuixDropdown } from './tuix-dropdown/TuixDropdown.js';\n\nexport function loadFonts() {\n const link1 = document.createElement('link');\n link1.rel = 'preconnect';\n link1.href = 'https://fonts.googleapis.com';\n const link2 = document.createElement('link');\n link2.rel = 'preconnect';\n link2.href = 'https://fonts.gstatic.com';\n const link3 = document.createElement('link');\n link3.rel = 'stylesheet';\n link3.href =\n 'https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap';\n document.head.appendChild(link1);\n document.head.appendChild(link2);\n document.head.appendChild(link3);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EACL,QAAQ,EACR,eAAe,GAChB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,SAAS,GACV,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAE5E,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC;IACzB,KAAK,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC;IACzB,KAAK,CAAC,IAAI,GAAG,2BAA2B,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,GAAG,GAAG,YAAY,CAAC;IACzB,KAAK,CAAC,IAAI;QACR,2JAA2J,CAAC;IAC9J,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC","sourcesContent":["export { CustomEventTuixButton } from './tuix-button/interfaces/tuix-button.interface.js';\nexport {\n CustomEventTuixCheckbox,\n DetailValueCheckbox,\n} from './tuix-checkbox/interfaces/tuix-checkbox.interface.js';\nexport {\n CustomEventTuixDropdownInput,\n CustomEventTuixDropdownSelect,\n} from './tuix-dropdown/interfaces/tuix-dropdown.interface.js';\nexport { CustomEventTuixInput } from './tuix-input/interfaces/tuix-input.interface.js';\nexport { CustomEventTuixRadioButton } from './tuix-radio-button/interfaces/tuix-radio-button.interface.js';\nexport { CustomEventTuixToggle } from './tuix-toggle-button/interfaces/tuix-toggle.interface.js';\nexport { DetailValue } from './utils/interfaces/detail-value.interface.js';\nexport { TuixText } from './tuix-text/TuixText.js';\nexport { TuixIcon } from './tuix-icon/TuixIcon.js';\nexport { TuixButton } from './tuix-button/TuixButton.js';\nexport { TuixPaper } from './tuix-paper/TuixPaper.js';\nexport { TuixIconButton } from './tuix-icon-button/TuixIconButton.js';\nexport { TuixLink } from './tuix-link/TuixLink.js';\nexport { TuixInput } from './tuix-input/TuixInput.js';\nexport { TuixDropdown } from './tuix-dropdown/TuixDropdown.js';\nexport { TuixCheckbox } from './tuix-checkbox/TuixCheckbox.js';\nexport { TuixRadioButton } from './tuix-radio-button/TuixRadioButton.js';\nexport { TuixToggleButton } from './tuix-toggle-button/TuixToggleButton.js';\nexport { TextSize, TextVariant } from './tuix-text/enums/tuix-text.enums.js';\nexport { MainVariant } from './utils/mainVariant.enum.js';\nexport { CheckboxLabelSide } from './tuix-checkbox/enums/tuix-checkbox.enums.js';\nexport { PaperVariant } from './tuix-paper/enums/tuix-paper.enum.js';\nexport { LinkTarget } from './tuix-link/enums/linkTarget.enum.js';\nexport {\n IconName,\n IconSizeVariant,\n} from './tuix-icon/enums/tuix-icon.enums.js';\nexport {\n DescriptionType,\n InputType,\n} from './tuix-input/enums/tuix-input.enums.js';\nexport { Palette } from './utils/colors.js';\nexport { DarkPalette } from './utils/darkColors.js';\nexport { DropdownType } from './tuix-dropdown/enums/tuix-dropdown.enums.js';\n\nexport function loadFonts() {\n const link1 = document.createElement('link');\n link1.rel = 'preconnect';\n link1.href = 'https://fonts.googleapis.com';\n const link2 = document.createElement('link');\n link2.rel = 'preconnect';\n link2.href = 'https://fonts.gstatic.com';\n const link3 = document.createElement('link');\n link3.rel = 'stylesheet';\n link3.href =\n 'https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap';\n document.head.appendChild(link1);\n document.head.appendChild(link2);\n document.head.appendChild(link3);\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ import { MainVariant } from '../utils/mainVariant.enum';
3
+ import { IconName, IconSizeVariant } from '../tuix-icon/enums/tuix-icon.enums';
4
+ import '../tuix-icon/TuixIcon.js';
5
+ export declare abstract class TuixBaseButton extends LitElement {
6
+ variant: MainVariant;
7
+ disabled: boolean;
8
+ dark: boolean;
9
+ protected iconColor: string;
10
+ firstUpdated(changedProperties: Map<PropertyKey, unknown>): void;
11
+ protected _getTextColor(): string;
12
+ protected abstract _updateIconColor(): void;
13
+ protected _handleClick(): void;
14
+ protected _iconTemplate(iconName: IconName, iconSize: IconSizeVariant): TemplateResult;
15
+ protected abstract _buttonContent(): TemplateResult;
16
+ protected render(): TemplateResult;
17
+ }
@@ -0,0 +1,63 @@
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, html } from 'lit';
3
+ import { MainVariant } from '../utils/mainVariant.enum';
4
+ import { property, state } from 'lit/decorators.js';
5
+ import { buttonTextColor } from './enums/tuix-button.enums';
6
+ import '../tuix-icon/TuixIcon.js';
7
+ export class TuixBaseButton extends LitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.variant = MainVariant.PRIMARY;
11
+ this.disabled = false;
12
+ this.dark = false;
13
+ this.iconColor = '';
14
+ }
15
+ firstUpdated(changedProperties) {
16
+ super.firstUpdated(changedProperties);
17
+ this._updateIconColor();
18
+ }
19
+ _getTextColor() {
20
+ var _a;
21
+ const element = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.button');
22
+ if (!element)
23
+ return buttonTextColor[this.variant];
24
+ const computedStyle = getComputedStyle(element);
25
+ return computedStyle.color;
26
+ }
27
+ _handleClick() {
28
+ this.dispatchEvent(new CustomEvent('customClick', { bubbles: true }));
29
+ }
30
+ _iconTemplate(iconName, iconSize) {
31
+ this._updateIconColor();
32
+ return html `<tuix-icon
33
+ size="${iconSize}"
34
+ name="${iconName}"
35
+ color="${this.iconColor}"
36
+ ></tuix-icon>`;
37
+ }
38
+ render() {
39
+ return html `<button
40
+ @click=${this._handleClick}
41
+ @mouseenter=${this._updateIconColor}
42
+ @mouseleave=${this._updateIconColor}
43
+ @blur=${this._updateIconColor}
44
+ ?disabled="${this.disabled}"
45
+ class="button"
46
+ >
47
+ ${this._buttonContent()}
48
+ </button>`;
49
+ }
50
+ }
51
+ __decorate([
52
+ property({ type: MainVariant, reflect: true })
53
+ ], TuixBaseButton.prototype, "variant", void 0);
54
+ __decorate([
55
+ property({ type: Boolean, reflect: true })
56
+ ], TuixBaseButton.prototype, "disabled", void 0);
57
+ __decorate([
58
+ property({ type: Boolean, reflect: true })
59
+ ], TuixBaseButton.prototype, "dark", void 0);
60
+ __decorate([
61
+ state()
62
+ ], TuixBaseButton.prototype, "iconColor", void 0);
63
+ //# sourceMappingURL=TuixBaseButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TuixBaseButton.js","sourceRoot":"","sources":["../../../src/tuix-button/TuixBaseButton.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,0BAA0B,CAAC;AAElC,MAAM,OAAgB,cAAe,SAAQ,UAAU;IAAvD;;QAEE,YAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAG9B,aAAQ,GAAG,KAAK,CAAC;QAGjB,SAAI,GAAG,KAAK,CAAC;QAGH,cAAS,GAAG,EAAE,CAAC;IA8C3B,CAAC;IA5CC,YAAY,CAAC,iBAA4C;QACvD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAES,aAAa;;QACrB,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO;YAAE,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,aAAa,CAAC,KAAK,CAAC;IAC7B,CAAC;IAIS,YAAY;QACpB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAES,aAAa,CACrB,QAAkB,EAClB,QAAyB;QAEzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;cACD,QAAQ;cACR,QAAQ;eACP,IAAI,CAAC,SAAS;kBACX,CAAC;IACjB,CAAC;IAIS,MAAM;QACd,OAAO,IAAI,CAAA;eACA,IAAI,CAAC,YAAY;oBACZ,IAAI,CAAC,gBAAgB;oBACrB,IAAI,CAAC,gBAAgB;cAC3B,IAAI,CAAC,gBAAgB;mBAChB,IAAI,CAAC,QAAQ;;;QAGxB,IAAI,CAAC,cAAc,EAAE;cACf,CAAC;IACb,CAAC;CACF;AAvDC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CACjB;AAG9B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAC9B;AAGH;IADT,KAAK,EAAE;iDACiB","sourcesContent":["import { LitElement, TemplateResult, html } from 'lit';\nimport { MainVariant } from '../utils/mainVariant.enum';\nimport { property, state } from 'lit/decorators.js';\nimport { buttonTextColor } from './enums/tuix-button.enums';\nimport { IconName, IconSizeVariant } from '../tuix-icon/enums/tuix-icon.enums';\nimport '../tuix-icon/TuixIcon.js';\n\nexport abstract class TuixBaseButton extends LitElement {\n @property({ type: MainVariant, reflect: true })\n variant = MainVariant.PRIMARY;\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n @property({ type: Boolean, reflect: true })\n dark = false;\n\n @state()\n protected iconColor = '';\n\n firstUpdated(changedProperties: Map<PropertyKey, unknown>) {\n super.firstUpdated(changedProperties);\n this._updateIconColor();\n }\n\n protected _getTextColor() {\n const element = this.shadowRoot?.querySelector('.button');\n if (!element) return buttonTextColor[this.variant];\n const computedStyle = getComputedStyle(element);\n return computedStyle.color;\n }\n\n protected abstract _updateIconColor(): void;\n\n protected _handleClick() {\n this.dispatchEvent(new CustomEvent('customClick', { bubbles: true }));\n }\n\n protected _iconTemplate(\n iconName: IconName,\n iconSize: IconSizeVariant\n ): TemplateResult {\n this._updateIconColor();\n return html`<tuix-icon\n size=\"${iconSize}\"\n name=\"${iconName}\"\n color=\"${this.iconColor}\"\n ></tuix-icon>`;\n }\n\n protected abstract _buttonContent(): TemplateResult;\n\n protected render(): TemplateResult {\n return html`<button\n @click=${this._handleClick}\n @mouseenter=${this._updateIconColor}\n @mouseleave=${this._updateIconColor}\n @blur=${this._updateIconColor}\n ?disabled=\"${this.disabled}\"\n class=\"button\"\n >\n ${this._buttonContent()}\n </button>`;\n }\n}\n"]}
@@ -1,17 +1,10 @@
1
- import { LitElement, TemplateResult } from 'lit';
1
+ import { TemplateResult } from 'lit';
2
2
  import { IconName } from '../tuix-icon/enums/tuix-icon.enums';
3
- import '../tuix-icon/TuixIcon.js';
4
- import { MainVariant } from '../utils/mainVariant.enum';
5
- export declare class TuixButton extends LitElement {
3
+ import { TuixBaseButton } from './TuixBaseButton';
4
+ export declare class TuixButton extends TuixBaseButton {
6
5
  static styles: import("lit").CSSResult[];
7
- iconColor: string;
8
- variant: MainVariant;
9
- disabled: boolean;
10
6
  iconRight?: IconName;
11
7
  iconLeft?: IconName;
12
- private _getIconColor;
13
- private _handleClick;
14
- private _iconTemplate;
15
- getButtonStyles(): string;
16
- protected render(): TemplateResult;
8
+ protected _updateIconColor(): void;
9
+ protected _buttonContent(): TemplateResult;
17
10
  }
@@ -1,55 +1,26 @@
1
1
  import { __decorate } from "tslib";
2
- import { LitElement, css, html, nothing } from 'lit';
2
+ import { css, html, nothing } from 'lit';
3
3
  import { IconName, IconSizeVariant } from '../tuix-icon/enums/tuix-icon.enums';
4
- import { buttonSizeStyles, buttonColorStyles } from './TuixButton.styles';
4
+ import { buttonSizeStyles, buttonColorStyles, hostButtonStyles, } from './TuixButton.styles';
5
5
  import { customElement, property } from 'lit/decorators.js';
6
- import '../tuix-icon/TuixIcon.js';
7
- import { palette } from '../utils/colors';
8
- import { MainVariant } from '../utils/mainVariant.enum';
9
- import { buttonTextColor } from './enums/tuix-button.enums';
10
6
  import { ScreenSizes } from '../utils/screenSizes.enum';
11
- let TuixButton = class TuixButton extends LitElement {
12
- constructor() {
13
- super(...arguments);
14
- this.iconColor = '';
15
- this.variant = MainVariant.PRIMARY;
16
- this.disabled = false;
7
+ import { TuixBaseButton } from './TuixBaseButton';
8
+ let TuixButton = class TuixButton extends TuixBaseButton {
9
+ _updateIconColor() {
10
+ if (!this.iconLeft && !this.iconRight)
11
+ return;
12
+ this.iconColor = this._getTextColor();
17
13
  }
18
- _getIconColor() {
19
- this.iconColor = buttonTextColor[this.variant];
20
- if (this.disabled)
21
- this.iconColor = palette.primary_300;
22
- return this.iconColor;
23
- }
24
- _handleClick() {
25
- this.dispatchEvent(new CustomEvent('click', { bubbles: true }));
26
- }
27
- _iconTemplate(iconName) {
14
+ _buttonContent() {
28
15
  let iconSize = IconSizeVariant.MEDIUM;
29
16
  if (screen.width <= ScreenSizes.TABLET) {
30
17
  iconSize = IconSizeVariant.SMALL;
31
18
  }
32
- return html `<tuix-icon
33
- size="${iconSize}"
34
- name="${iconName}"
35
- color="${this._getIconColor()}"
36
- ></tuix-icon>`;
37
- }
38
- getButtonStyles() {
39
- return `${this.variant}`;
40
- }
41
- render() {
42
- return html `<button
43
- @click=${this._handleClick}
44
- class="button ${this.getButtonStyles()}"
45
- ?disabled="${this.disabled}"
46
- >
47
- <div class="container">
48
- ${this.iconLeft ? this._iconTemplate(this.iconLeft) : nothing}
49
- <slot></slot>
50
- ${this.iconRight ? this._iconTemplate(this.iconRight) : nothing}
51
- </div>
52
- </button>`;
19
+ return html ` <div class="container">
20
+ ${this.iconLeft ? this._iconTemplate(this.iconLeft, iconSize) : nothing}
21
+ <slot></slot>
22
+ ${this.iconRight ? this._iconTemplate(this.iconRight, iconSize) : nothing}
23
+ </div>`;
53
24
  }
54
25
  };
55
26
  TuixButton.styles = [
@@ -57,6 +28,7 @@ TuixButton.styles = [
57
28
  .button {
58
29
  padding: 16px 32px;
59
30
  border-radius: 4px;
31
+ border: none;
60
32
  font-family: 'rubik', sans-serif;
61
33
  }
62
34
 
@@ -86,15 +58,10 @@ TuixButton.styles = [
86
58
  }
87
59
  }
88
60
  `,
61
+ hostButtonStyles,
89
62
  buttonColorStyles,
90
63
  buttonSizeStyles,
91
64
  ];
92
- __decorate([
93
- property({ type: MainVariant })
94
- ], TuixButton.prototype, "variant", void 0);
95
- __decorate([
96
- property({ type: Boolean })
97
- ], TuixButton.prototype, "disabled", void 0);
98
65
  __decorate([
99
66
  property({ type: IconName })
100
67
  ], TuixButton.prototype, "iconRight", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"TuixButton.js","sourceRoot":"","sources":["../../../src/tuix-button/TuixButton.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkB,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,UAAU;IAA1C;;QAuCE,cAAS,GAAG,EAAE,CAAC;QAGf,YAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAG9B,aAAQ,GAAG,KAAK,CAAC;IAkDnB,CAAC;IA1CS,aAAa;QACnB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;QAExD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,aAAa,CAAC,QAAkB;QACtC,IAAI,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;QAEtC,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE;YACtC,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;SAClC;QAED,OAAO,IAAI,CAAA;cACD,QAAQ;cACR,QAAoB;eACnB,IAAI,CAAC,aAAa,EAAE;kBACjB,CAAC;IACjB,CAAC;IAED,eAAe;QACb,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAES,MAAM;QACd,OAAO,IAAI,CAAA;eACA,IAAI,CAAC,YAAY;sBACV,IAAI,CAAC,eAAe,EAAE;mBACzB,IAAI,CAAC,QAAQ;;;UAGtB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;;UAE3D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;;cAEzD,CAAC;IACb,CAAC;;AA7FM,iBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;2CAOoC,WAAW,CAAC,MAAM;;;;;;2CAMlB,WAAW,CAAC,MAAM;;;;;;;;;;;;;;2CAclB,WAAW,CAAC,MAAM;;;;;KAKxD;IACD,iBAAiB;IACjB,gBAAgB;CACjB,AApCY,CAoCX;AAKF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;2CACF;AAG9B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACX;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;6CACR;AAGrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;4CACT;AAnDT,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CA+FtB;SA/FY,UAAU","sourcesContent":["import { LitElement, TemplateResult, css, html, nothing } from 'lit';\nimport { IconName, IconSizeVariant } from '../tuix-icon/enums/tuix-icon.enums';\nimport { buttonSizeStyles, buttonColorStyles } from './TuixButton.styles';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../tuix-icon/TuixIcon.js';\nimport { palette } from '../utils/colors';\nimport { MainVariant } from '../utils/mainVariant.enum';\nimport { buttonTextColor } from './enums/tuix-button.enums';\nimport { ScreenSizes } from '../utils/screenSizes.enum';\n\n@customElement('tuix-button')\nexport class TuixButton extends LitElement {\n static styles = [\n css`\n .button {\n padding: 16px 32px;\n border-radius: 4px;\n font-family: 'rubik', sans-serif;\n }\n\n @media only screen and (max-width: ${ScreenSizes.TABLET}px) {\n .button {\n padding: 14px 32px;\n }\n }\n\n @media only screen and (max-width: ${ScreenSizes.MOBILE}px) {\n .button {\n padding: 12px 24px;\n }\n }\n\n .container {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: 8px;\n }\n\n @media only screen and (max-width: ${ScreenSizes.MOBILE}px) {\n .container {\n gap: 6px;\n }\n }\n `,\n buttonColorStyles,\n buttonSizeStyles,\n ];\n\n iconColor = '';\n\n @property({ type: MainVariant })\n variant = MainVariant.PRIMARY;\n\n @property({ type: Boolean })\n disabled = false;\n\n @property({ type: IconName })\n iconRight?: IconName;\n\n @property({ type: IconName })\n iconLeft?: IconName;\n\n private _getIconColor(): string {\n this.iconColor = buttonTextColor[this.variant];\n if (this.disabled) this.iconColor = palette.primary_300;\n\n return this.iconColor;\n }\n\n private _handleClick() {\n this.dispatchEvent(new CustomEvent('click', { bubbles: true }));\n }\n\n private _iconTemplate(iconName: IconName): TemplateResult {\n let iconSize = IconSizeVariant.MEDIUM;\n\n if (screen.width <= ScreenSizes.TABLET) {\n iconSize = IconSizeVariant.SMALL;\n }\n\n return html`<tuix-icon\n size=\"${iconSize}\"\n name=\"${iconName as IconName}\"\n color=\"${this._getIconColor()}\"\n ></tuix-icon>`;\n }\n\n getButtonStyles(): string {\n return `${this.variant}`;\n }\n\n protected render(): TemplateResult {\n return html`<button\n @click=${this._handleClick}\n class=\"button ${this.getButtonStyles()}\"\n ?disabled=\"${this.disabled}\"\n >\n <div class=\"container\">\n ${this.iconLeft ? this._iconTemplate(this.iconLeft) : nothing}\n <slot></slot>\n ${this.iconRight ? this._iconTemplate(this.iconRight) : nothing}\n </div>\n </button>`;\n }\n}\n"]}
1
+ {"version":3,"file":"TuixButton.js","sourceRoot":"","sources":["../../../src/tuix-button/TuixButton.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,cAAc;IA+CzB,gBAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAEkB,cAAc;QAC/B,IAAI,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;QAEtC,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE;YACtC,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;SAClC;QACD,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;;QAErE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;WACpE,CAAC;IACV,CAAC;;AA9DM,iBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;2CAQoC,WAAW,CAAC,MAAM;;;;;;2CAMlB,WAAW,CAAC,MAAM;;;;;;;;;;;;;;2CAclB,WAAW,CAAC,MAAM;;;;;KAKxD;IACD,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;CACjB,AAtCY,CAsCX;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;6CACR;AAGrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;4CACT;AA7CT,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAgEtB;SAhEY,UAAU","sourcesContent":["import { TemplateResult, css, html, nothing } from 'lit';\nimport { IconName, IconSizeVariant } from '../tuix-icon/enums/tuix-icon.enums';\nimport {\n buttonSizeStyles,\n buttonColorStyles,\n hostButtonStyles,\n} from './TuixButton.styles';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ScreenSizes } from '../utils/screenSizes.enum';\nimport { TuixBaseButton } from './TuixBaseButton';\n\n@customElement('tuix-button')\nexport class TuixButton extends TuixBaseButton {\n static styles = [\n css`\n .button {\n padding: 16px 32px;\n border-radius: 4px;\n border: none;\n font-family: 'rubik', sans-serif;\n }\n\n @media only screen and (max-width: ${ScreenSizes.TABLET}px) {\n .button {\n padding: 14px 32px;\n }\n }\n\n @media only screen and (max-width: ${ScreenSizes.MOBILE}px) {\n .button {\n padding: 12px 24px;\n }\n }\n\n .container {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: 8px;\n }\n\n @media only screen and (max-width: ${ScreenSizes.MOBILE}px) {\n .container {\n gap: 6px;\n }\n }\n `,\n hostButtonStyles,\n buttonColorStyles,\n buttonSizeStyles,\n ];\n\n @property({ type: IconName })\n iconRight?: IconName;\n\n @property({ type: IconName })\n iconLeft?: IconName;\n\n protected override _updateIconColor() {\n if (!this.iconLeft && !this.iconRight) return;\n this.iconColor = this._getTextColor();\n }\n\n protected override _buttonContent(): TemplateResult {\n let iconSize = IconSizeVariant.MEDIUM;\n\n if (screen.width <= ScreenSizes.TABLET) {\n iconSize = IconSizeVariant.SMALL;\n }\n return html` <div class=\"container\">\n ${this.iconLeft ? this._iconTemplate(this.iconLeft, iconSize) : nothing}\n <slot></slot>\n ${this.iconRight ? this._iconTemplate(this.iconRight, iconSize) : nothing}\n </div>`;\n }\n}\n"]}
@@ -1,2 +1,3 @@
1
+ export declare const hostButtonStyles: import("lit").CSSResult;
1
2
  export declare const buttonSizeStyles: import("lit").CSSResult;
2
3
  export declare const buttonColorStyles: import("lit").CSSResult;
@@ -1,6 +1,34 @@
1
1
  import { css, unsafeCSS } from 'lit';
2
- import { palette } from '../utils/colors';
2
+ import { Palette } from '../utils/colors';
3
3
  import { ScreenSizes } from '../utils/screenSizes.enum';
4
+ import { DarkPalette } from '../utils/darkColors';
5
+ import { MainVariant } from '../utils/mainVariant.enum';
6
+ export const hostButtonStyles = css `
7
+ :host {
8
+ --t-button-primary-color: ${unsafeCSS(Palette.MAIN)};
9
+ --t-button-secondary-color: ${unsafeCSS(Palette.WHITE)};
10
+ --t-button-accent-color: ${unsafeCSS(Palette.SECONDARY)};
11
+ --t-button-text-color: ${unsafeCSS(Palette.WHITE)};
12
+ --t-button-text-secondary-color: ${unsafeCSS(Palette.MAIN)};
13
+ --t-button-text-muted-color: ${unsafeCSS(Palette.PRIMARY_300)};
14
+ --t-button-disabled-bg-color: ${unsafeCSS(Palette.PRIMARY_100)};
15
+ --t-button-hover-primary-color: ${unsafeCSS(Palette.PRIMARY_600)};
16
+ --t-button-active-primary-color: ${unsafeCSS(Palette.PRIMARY_800)};
17
+ --t-button-hover-secondary-color: ${unsafeCSS(Palette.PRIMARY_100)};
18
+ --t-button-active-secondary-color: ${unsafeCSS(Palette.PRIMARY_200)};
19
+ }
20
+ :host([dark]) {
21
+ --t-button-primary-color: ${unsafeCSS(DarkPalette.MAIN)};
22
+ --t-button-text-color: ${unsafeCSS(DarkPalette.WHITE)};
23
+ --t-button-text-muted-color: ${unsafeCSS(Palette.PRIMARY_800)};
24
+ --t-button-disabled-bg-color: ${unsafeCSS(Palette.PRIMARY_950)};
25
+ --t-button-hover-primary-color: ${unsafeCSS(Palette.MAIN)};
26
+ --t-button-active-primary-color: ${unsafeCSS(Palette.PRIMARY_800)};
27
+ --t-button-secondary-color: ${unsafeCSS(Palette.BLACK)};
28
+ --t-button-hover-secondary-color: ${unsafeCSS(Palette.PRIMARY_950)};
29
+ --t-button-active-secondary-color: ${unsafeCSS(Palette.PRIMARY_800)};
30
+ }
31
+ `;
4
32
  export const buttonSizeStyles = css `
5
33
  .button {
6
34
  font-size: 1.25rem;
@@ -23,51 +51,53 @@ export const buttonSizeStyles = css `
23
51
  }
24
52
  `;
25
53
  export const buttonColorStyles = css `
26
- .button.primary {
27
- background-color: ${unsafeCSS(palette.main)};
28
- border: none;
29
- color: ${unsafeCSS(palette.white)};
54
+ :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button {
55
+ background-color: var(--t-button-primary-color);
56
+ outline: none;
57
+ color: var(--t-button-text-color);
30
58
  }
31
- .button.primary:hover {
32
- background-color: ${unsafeCSS(palette.primary_600)};
59
+ :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button:hover {
60
+ background-color: var(--t-button-hover-primary-color);
33
61
  cursor: pointer;
34
62
  }
35
- .button.primary:focus {
36
- background-color: ${unsafeCSS(palette.primary_600)};
37
- border: 2px solid ${unsafeCSS(palette.secondary)};
63
+ :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button:focus {
64
+ background-color: var(--t-button-hover-primary-color);
65
+ outline: 2px solid var(--t-button-accent-color);
38
66
  }
39
- .button.primary:active {
40
- background-color: ${unsafeCSS(palette.primary_800)};
41
- border: none;
67
+ :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button:active {
68
+ background-color: var(--t-button-active-primary-color);
69
+ outline: none;
42
70
  }
43
- .button.primary:disabled {
44
- background-color: ${unsafeCSS(palette.primary_100)};
45
- color: ${unsafeCSS(palette.primary_300)};
46
- cursor: not-allowed;
47
- }
48
- .button.secondary {
49
- background-color: ${unsafeCSS(palette.white)};
50
- border: 2px solid ${unsafeCSS(palette.main)};
51
- color: ${unsafeCSS(palette.main)};
71
+
72
+ :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button {
73
+ background-color: var(--t-button-secondary-color);
74
+ outline: 1px solid var(--t-button-hover-primary-color);
75
+ color: var(--t-button-text-secondary-color);
52
76
  }
53
- .button.secondary:hover {
54
- background-color: ${unsafeCSS(palette.primary_100)};
55
- border: 2px solid ${unsafeCSS(palette.main)};
77
+ :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:hover {
78
+ background-color: var(--t-button-hover-secondary-color);
79
+ outline: 1px solid var(--t-button-primary-color);
80
+ color: var(--t-button-primary-color);
56
81
  cursor: pointer;
57
82
  }
58
- .button.secondary:focus {
59
- background-color: ${unsafeCSS(palette.primary_100)};
60
- border: 2px solid ${unsafeCSS(palette.secondary)};
83
+ :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:focus {
84
+ background-color: var(--t-button-hover-secondary-color);
85
+ outline: 2px solid var(--t-button-accent-color);
86
+ color: var(--t-button-primary-color);
87
+ }
88
+ :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:active {
89
+ background-color: var(--t-button-active-secondary-color);
90
+ outline: 1px solid var(--t-button-primary-color);
91
+ color: var(--t-button-primary-color);
61
92
  }
62
- .button.secondary:active {
63
- background-color: ${unsafeCSS(palette.primary_200)};
64
- border: none;
65
- color: ${unsafeCSS(palette.main)};
93
+ :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:disabled {
94
+ outline: 1px solid var(--t-button-text-muted-color);
66
95
  }
67
- .button.secondary:disabled {
68
- background-color: ${unsafeCSS(palette.primary_100)};
69
- border: none;
70
- color: ${unsafeCSS(palette.primary_300)};
96
+
97
+ :host([variant='${unsafeCSS(MainVariant.SECONDARY)}'][disabled]) .button,
98
+ :host([variant='${unsafeCSS(MainVariant.PRIMARY)}'][disabled]) .button {
99
+ background-color: var(--t-button-disabled-bg-color);
100
+ color: var(--t-button-text-muted-color);
71
101
  cursor: not-allowed;
72
102
  }
73
103
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"TuixButton.styles.js","sourceRoot":"","sources":["../../../src/tuix-button/TuixButton.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;;;;;;uCAMI,WAAW,CAAC,MAAM;;;;;;;uCAOlB,WAAW,CAAC,MAAM;;;;;;;CAOxD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;wBAEZ,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;;aAElC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;;;wBAGb,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;;;wBAI9B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;wBAC9B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;;;wBAG5B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;;;wBAI9B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;aACzC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;;;wBAInB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;wBACxB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;;;wBAGZ,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;wBAC9B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;;;;wBAIvB,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;wBAC9B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;;;wBAG5B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;aAEzC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;;;wBAGZ,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;aAEzC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;;CAG1C,CAAC","sourcesContent":["import { css, unsafeCSS } from 'lit';\nimport { palette } from '../utils/colors';\nimport { ScreenSizes } from '../utils/screenSizes.enum';\n\nexport const buttonSizeStyles = css`\n .button {\n font-size: 1.25rem;\n font-weight: 400;\n line-height: 1.5rem;\n }\n @media only screen and (max-width: ${ScreenSizes.TABLET}px) {\n .button {\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.25rem;\n }\n }\n @media only screen and (max-width: ${ScreenSizes.MOBILE}px) {\n .button {\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1rem;\n }\n }\n`;\n\nexport const buttonColorStyles = css`\n .button.primary {\n background-color: ${unsafeCSS(palette.main)};\n border: none;\n color: ${unsafeCSS(palette.white)};\n }\n .button.primary:hover {\n background-color: ${unsafeCSS(palette.primary_600)};\n cursor: pointer;\n }\n .button.primary:focus {\n background-color: ${unsafeCSS(palette.primary_600)};\n border: 2px solid ${unsafeCSS(palette.secondary)};\n }\n .button.primary:active {\n background-color: ${unsafeCSS(palette.primary_800)};\n border: none;\n }\n .button.primary:disabled {\n background-color: ${unsafeCSS(palette.primary_100)};\n color: ${unsafeCSS(palette.primary_300)};\n cursor: not-allowed;\n }\n .button.secondary {\n background-color: ${unsafeCSS(palette.white)};\n border: 2px solid ${unsafeCSS(palette.main)};\n color: ${unsafeCSS(palette.main)};\n }\n .button.secondary:hover {\n background-color: ${unsafeCSS(palette.primary_100)};\n border: 2px solid ${unsafeCSS(palette.main)};\n cursor: pointer;\n }\n .button.secondary:focus {\n background-color: ${unsafeCSS(palette.primary_100)};\n border: 2px solid ${unsafeCSS(palette.secondary)};\n }\n .button.secondary:active {\n background-color: ${unsafeCSS(palette.primary_200)};\n border: none;\n color: ${unsafeCSS(palette.main)};\n }\n .button.secondary:disabled {\n background-color: ${unsafeCSS(palette.primary_100)};\n border: none;\n color: ${unsafeCSS(palette.primary_300)};\n cursor: not-allowed;\n }\n`;\n"]}
1
+ {"version":3,"file":"TuixButton.styles.js","sourceRoot":"","sources":["../../../src/tuix-button/TuixButton.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;;gCAEH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;kCACrB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;+BAC3B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;6BAC9B,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;uCACd,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;mCAC3B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;oCAC7B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;sCAC5B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;uCAC7B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;wCAC7B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;yCAC7B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;;gCAGvC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;6BAC9B,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;mCACtB,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;oCAC7B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;sCAC5B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;uCACtB,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;kCACnC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;wCAClB,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;yCAC7B,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;;CAEtE,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;;;;;;uCAMI,WAAW,CAAC,MAAM;;;;;;;uCAOlB,WAAW,CAAC,MAAM;;;;;;;CAOxD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;oBAChB,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;;;;;oBAK9B,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;;;;oBAI9B,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;;;;oBAI9B,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;;;;;oBAK9B,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;;;;;oBAKhC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;;;;;;oBAMhC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;;;;;oBAKhC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;;;;;oBAKhC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;;;;oBAIhC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;oBAChC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;;;;;CAKjD,CAAC","sourcesContent":["import { css, unsafeCSS } from 'lit';\nimport { Palette } from '../utils/colors';\nimport { ScreenSizes } from '../utils/screenSizes.enum';\nimport { DarkPalette } from '../utils/darkColors';\nimport { MainVariant } from '../utils/mainVariant.enum';\n\nexport const hostButtonStyles = css`\n :host {\n --t-button-primary-color: ${unsafeCSS(Palette.MAIN)};\n --t-button-secondary-color: ${unsafeCSS(Palette.WHITE)};\n --t-button-accent-color: ${unsafeCSS(Palette.SECONDARY)};\n --t-button-text-color: ${unsafeCSS(Palette.WHITE)};\n --t-button-text-secondary-color: ${unsafeCSS(Palette.MAIN)};\n --t-button-text-muted-color: ${unsafeCSS(Palette.PRIMARY_300)};\n --t-button-disabled-bg-color: ${unsafeCSS(Palette.PRIMARY_100)};\n --t-button-hover-primary-color: ${unsafeCSS(Palette.PRIMARY_600)};\n --t-button-active-primary-color: ${unsafeCSS(Palette.PRIMARY_800)};\n --t-button-hover-secondary-color: ${unsafeCSS(Palette.PRIMARY_100)};\n --t-button-active-secondary-color: ${unsafeCSS(Palette.PRIMARY_200)};\n }\n :host([dark]) {\n --t-button-primary-color: ${unsafeCSS(DarkPalette.MAIN)};\n --t-button-text-color: ${unsafeCSS(DarkPalette.WHITE)};\n --t-button-text-muted-color: ${unsafeCSS(Palette.PRIMARY_800)};\n --t-button-disabled-bg-color: ${unsafeCSS(Palette.PRIMARY_950)};\n --t-button-hover-primary-color: ${unsafeCSS(Palette.MAIN)};\n --t-button-active-primary-color: ${unsafeCSS(Palette.PRIMARY_800)};\n --t-button-secondary-color: ${unsafeCSS(Palette.BLACK)};\n --t-button-hover-secondary-color: ${unsafeCSS(Palette.PRIMARY_950)};\n --t-button-active-secondary-color: ${unsafeCSS(Palette.PRIMARY_800)};\n }\n`;\n\nexport const buttonSizeStyles = css`\n .button {\n font-size: 1.25rem;\n font-weight: 400;\n line-height: 1.5rem;\n }\n @media only screen and (max-width: ${ScreenSizes.TABLET}px) {\n .button {\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.25rem;\n }\n }\n @media only screen and (max-width: ${ScreenSizes.MOBILE}px) {\n .button {\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1rem;\n }\n }\n`;\n\nexport const buttonColorStyles = css`\n :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button {\n background-color: var(--t-button-primary-color);\n outline: none;\n color: var(--t-button-text-color);\n }\n :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button:hover {\n background-color: var(--t-button-hover-primary-color);\n cursor: pointer;\n }\n :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button:focus {\n background-color: var(--t-button-hover-primary-color);\n outline: 2px solid var(--t-button-accent-color);\n }\n :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button:active {\n background-color: var(--t-button-active-primary-color);\n outline: none;\n }\n\n :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button {\n background-color: var(--t-button-secondary-color);\n outline: 1px solid var(--t-button-hover-primary-color);\n color: var(--t-button-text-secondary-color);\n }\n :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:hover {\n background-color: var(--t-button-hover-secondary-color);\n outline: 1px solid var(--t-button-primary-color);\n color: var(--t-button-primary-color);\n cursor: pointer;\n }\n :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:focus {\n background-color: var(--t-button-hover-secondary-color);\n outline: 2px solid var(--t-button-accent-color);\n color: var(--t-button-primary-color);\n }\n :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:active {\n background-color: var(--t-button-active-secondary-color);\n outline: 1px solid var(--t-button-primary-color);\n color: var(--t-button-primary-color);\n }\n :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:disabled {\n outline: 1px solid var(--t-button-text-muted-color);\n }\n\n :host([variant='${unsafeCSS(MainVariant.SECONDARY)}'][disabled]) .button,\n :host([variant='${unsafeCSS(MainVariant.PRIMARY)}'][disabled]) .button {\n background-color: var(--t-button-disabled-bg-color);\n color: var(--t-button-text-muted-color);\n cursor: not-allowed;\n }\n`;\n"]}
@@ -1,7 +1,7 @@
1
- import { palette } from '../../utils/colors';
1
+ import { Palette } from '../../utils/colors';
2
2
  import { MainVariant } from '../../utils/mainVariant.enum';
3
3
  export const buttonTextColor = {
4
- [MainVariant.PRIMARY]: palette.white,
5
- [MainVariant.SECONDARY]: palette.main,
4
+ [MainVariant.PRIMARY]: Palette.WHITE,
5
+ [MainVariant.SECONDARY]: Palette.MAIN,
6
6
  };
7
7
  //# sourceMappingURL=tuix-button.enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tuix-button.enums.js","sourceRoot":"","sources":["../../../../src/tuix-button/enums/tuix-button.enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK;IACpC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI;CACtC,CAAC","sourcesContent":["import { palette } from '../../utils/colors';\nimport { MainVariant } from '../../utils/mainVariant.enum';\n\nexport const buttonTextColor: Record<MainVariant, string> = {\n [MainVariant.PRIMARY]: palette.white,\n [MainVariant.SECONDARY]: palette.main,\n};\n"]}
1
+ {"version":3,"file":"tuix-button.enums.js","sourceRoot":"","sources":["../../../../src/tuix-button/enums/tuix-button.enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK;IACpC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI;CACtC,CAAC","sourcesContent":["import { Palette } from '../../utils/colors';\nimport { MainVariant } from '../../utils/mainVariant.enum';\n\nexport const buttonTextColor: Record<MainVariant, string> = {\n [MainVariant.PRIMARY]: Palette.WHITE,\n [MainVariant.SECONDARY]: Palette.MAIN,\n};\n"]}
@@ -0,0 +1 @@
1
+ export type CustomEventTuixButton = CustomEvent<undefined>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tuix-button.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuix-button.interface.js","sourceRoot":"","sources":["../../../../src/tuix-button/interfaces/tuix-button.interface.ts"],"names":[],"mappings":"","sourcesContent":["export type CustomEventTuixButton = CustomEvent<undefined>;\n"]}
@@ -0,0 +1,15 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ import { CheckboxLabelSide } from './enums/tuix-checkbox.enums';
3
+ export declare class TuixCheckbox extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ checked: boolean;
6
+ disabled: boolean;
7
+ dark: boolean;
8
+ error: boolean;
9
+ label: string;
10
+ labelSide: CheckboxLabelSide;
11
+ private _onCheckboxChange;
12
+ private _getIconMode;
13
+ private _getFullContainerClasses;
14
+ protected render(): TemplateResult;
15
+ }
@@ -0,0 +1,96 @@
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 { IconName, IconSizeVariant } from '../tuix-icon/enums/tuix-icon.enums';
6
+ import { checkboxCheckmarkStyles, checkboxContainerStyles, checkboxLabelStyles, hostStyles, } from './TuixCheckbox.styles';
7
+ import { CheckboxIconColorDark, CheckboxIconColorLight, CheckboxIconMode, CheckboxLabelSide, } from './enums/tuix-checkbox.enums';
8
+ let TuixCheckbox = class TuixCheckbox extends LitElement {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.checked = false;
12
+ this.disabled = false;
13
+ this.dark = false;
14
+ this.error = false;
15
+ this.label = '';
16
+ this.labelSide = CheckboxLabelSide.RIGHT;
17
+ }
18
+ _onCheckboxChange(event) {
19
+ this.dispatchEvent(new CustomEvent('change', {
20
+ detail: {
21
+ value: event.target.checked,
22
+ label: this.label,
23
+ },
24
+ bubbles: true,
25
+ }));
26
+ }
27
+ _getIconMode() {
28
+ if (this.disabled) {
29
+ return CheckboxIconMode.DISABLED;
30
+ }
31
+ if (this.error) {
32
+ return CheckboxIconMode.ERROR;
33
+ }
34
+ return CheckboxIconMode.DEFAULT;
35
+ }
36
+ _getFullContainerClasses() {
37
+ return {
38
+ 't-checkbox-full-container': true,
39
+ 't-with-error': this.error && !this.disabled,
40
+ 't-with-label-left': this.labelSide === CheckboxLabelSide.LEFT,
41
+ };
42
+ }
43
+ render() {
44
+ return html `<label class="${classMap(this._getFullContainerClasses())}">
45
+ <div class="t-checkbox-container">
46
+ <input
47
+ type="checkbox"
48
+ class="t-checkbox"
49
+ .checked="${this.checked}"
50
+ ?disabled="${this.disabled}"
51
+ @change="${this._onCheckboxChange}"
52
+ />
53
+ <div class="t-checkbox-checkmark">
54
+ <tuix-icon
55
+ size="${IconSizeVariant.SMALL}"
56
+ name="${IconName.CHECK}"
57
+ color="${this.dark
58
+ ? CheckboxIconColorDark[this._getIconMode()]
59
+ : CheckboxIconColorLight[this._getIconMode()]}"
60
+ >
61
+ </tuix-icon>
62
+ </div>
63
+ </div>
64
+ <div class="t-checkbox-label"><slot>${this.label}</slot></div>
65
+ </label>`;
66
+ }
67
+ };
68
+ TuixCheckbox.styles = [
69
+ hostStyles,
70
+ checkboxContainerStyles,
71
+ checkboxCheckmarkStyles,
72
+ checkboxLabelStyles,
73
+ ];
74
+ __decorate([
75
+ property({ type: Boolean })
76
+ ], TuixCheckbox.prototype, "checked", void 0);
77
+ __decorate([
78
+ property({ type: Boolean, reflect: true })
79
+ ], TuixCheckbox.prototype, "disabled", void 0);
80
+ __decorate([
81
+ property({ type: Boolean, reflect: true })
82
+ ], TuixCheckbox.prototype, "dark", void 0);
83
+ __decorate([
84
+ property({ type: Boolean, reflect: true })
85
+ ], TuixCheckbox.prototype, "error", void 0);
86
+ __decorate([
87
+ property({ type: String })
88
+ ], TuixCheckbox.prototype, "label", void 0);
89
+ __decorate([
90
+ property({ type: String })
91
+ ], TuixCheckbox.prototype, "labelSide", void 0);
92
+ TuixCheckbox = __decorate([
93
+ customElement('tuix-checkbox')
94
+ ], TuixCheckbox);
95
+ export { TuixCheckbox };
96
+ //# sourceMappingURL=TuixCheckbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TuixCheckbox.js","sourceRoot":"","sources":["../../../src/tuix-checkbox/TuixCheckbox.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAa,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAGrC,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,UAAU;IAA5C;;QASE,YAAO,GAAG,KAAK,CAAC;QAGhB,aAAQ,GAAG,KAAK,CAAC;QAGjB,SAAI,GAAG,KAAK,CAAC;QAGb,UAAK,GAAG,KAAK,CAAC;QAGd,UAAK,GAAG,EAAE,CAAC;QAGX,cAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAwDtC,CAAC;IAtDS,iBAAiB,CAAC,KAAiB;QACzC,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,YAAY;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,gBAAgB,CAAC,QAAQ,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,gBAAgB,CAAC,KAAK,CAAC;SAC/B;QACD,OAAO,gBAAgB,CAAC,OAAO,CAAC;IAClC,CAAC;IAEO,wBAAwB;QAC9B,OAAO;YACL,2BAA2B,EAAE,IAAI;YACjC,cAAc,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5C,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,iBAAiB;;;;oBAIvB,eAAe,CAAC,KAAK;oBACrB,QAAQ,CAAC,KAAK;qBACb,IAAI,CAAC,IAAI;YAChB,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;;;;;4CAKf,IAAI,CAAC,KAAK;aACzC,CAAC;IACZ,CAAC;;AA9EM,mBAAM,GAAG;IACd,UAAU;IACV,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;CACpB,AALY,CAKX;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACZ;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAC9B;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAC7B;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAChB;AAGX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACS;AAxBzB,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CAgFxB;SAhFY,YAAY","sourcesContent":["import { LitElement, TemplateResult, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ClassInfo, classMap } from 'lit/directives/class-map.js';\nimport { IconName, IconSizeVariant } from '../tuix-icon/enums/tuix-icon.enums';\nimport {\n checkboxCheckmarkStyles,\n checkboxContainerStyles,\n checkboxLabelStyles,\n hostStyles,\n} from './TuixCheckbox.styles';\nimport {\n CheckboxIconColorDark,\n CheckboxIconColorLight,\n CheckboxIconMode,\n CheckboxLabelSide,\n} from './enums/tuix-checkbox.enums';\n\n@customElement('tuix-checkbox')\nexport class TuixCheckbox extends LitElement {\n static styles = [\n hostStyles,\n checkboxContainerStyles,\n checkboxCheckmarkStyles,\n checkboxLabelStyles,\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: Boolean, reflect: true })\n error = false;\n\n @property({ type: String })\n label = '';\n\n @property({ type: String })\n labelSide = CheckboxLabelSide.RIGHT;\n\n private _onCheckboxChange(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 _getIconMode() {\n if (this.disabled) {\n return CheckboxIconMode.DISABLED;\n }\n if (this.error) {\n return CheckboxIconMode.ERROR;\n }\n return CheckboxIconMode.DEFAULT;\n }\n\n private _getFullContainerClasses(): ClassInfo {\n return {\n 't-checkbox-full-container': true,\n 't-with-error': this.error && !this.disabled,\n 't-with-label-left': this.labelSide === CheckboxLabelSide.LEFT,\n };\n }\n\n protected render(): TemplateResult {\n return html`<label class=\"${classMap(this._getFullContainerClasses())}\">\n <div class=\"t-checkbox-container\">\n <input\n type=\"checkbox\"\n class=\"t-checkbox\"\n .checked=\"${this.checked}\"\n ?disabled=\"${this.disabled}\"\n @change=\"${this._onCheckboxChange}\"\n />\n <div class=\"t-checkbox-checkmark\">\n <tuix-icon\n size=\"${IconSizeVariant.SMALL}\"\n name=\"${IconName.CHECK}\"\n color=\"${this.dark\n ? CheckboxIconColorDark[this._getIconMode()]\n : CheckboxIconColorLight[this._getIconMode()]}\"\n >\n </tuix-icon>\n </div>\n </div>\n <div class=\"t-checkbox-label\"><slot>${this.label}</slot></div>\n </label>`;\n }\n}\n"]}