tuix-webcomponents 0.2.0 → 0.4.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 (113) hide show
  1. package/dist/src/index.d.ts +18 -0
  2. package/dist/src/index.js +11 -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 -13
  8. package/dist/src/tuix-button/TuixButton.js +11 -59
  9. package/dist/src/tuix-button/TuixButton.js.map +1 -1
  10. package/dist/src/tuix-button/TuixButton.styles.js +37 -33
  11. package/dist/src/tuix-button/TuixButton.styles.js.map +1 -1
  12. package/dist/src/tuix-button/enums/tuix-button.enums.js +3 -3
  13. package/dist/src/tuix-button/enums/tuix-button.enums.js.map +1 -1
  14. package/dist/src/tuix-button/interfaces/tuix-button.interface.d.ts +1 -0
  15. package/dist/src/tuix-button/interfaces/tuix-button.interface.js +2 -0
  16. package/dist/src/tuix-button/interfaces/tuix-button.interface.js.map +1 -0
  17. package/dist/src/tuix-checkbox/TuixCheckbox.js +4 -3
  18. package/dist/src/tuix-checkbox/TuixCheckbox.js.map +1 -1
  19. package/dist/src/tuix-checkbox/TuixCheckbox.styles.js +16 -16
  20. package/dist/src/tuix-checkbox/TuixCheckbox.styles.js.map +1 -1
  21. package/dist/src/tuix-checkbox/enums/tuix-checkbox.enums.d.ts +8 -6
  22. package/dist/src/tuix-checkbox/enums/tuix-checkbox.enums.js +8 -8
  23. package/dist/src/tuix-checkbox/enums/tuix-checkbox.enums.js.map +1 -1
  24. package/dist/src/tuix-checkbox/interfaces/tuix-checkbox.interface.d.ts +5 -0
  25. package/dist/src/tuix-checkbox/interfaces/tuix-checkbox.interface.js +2 -0
  26. package/dist/src/tuix-checkbox/interfaces/tuix-checkbox.interface.js.map +1 -0
  27. package/dist/src/tuix-dropdown/TuixDropdown.d.ts +3 -1
  28. package/dist/src/tuix-dropdown/TuixDropdown.js +16 -6
  29. package/dist/src/tuix-dropdown/TuixDropdown.js.map +1 -1
  30. package/dist/src/tuix-dropdown/TuixDropdown.styles.js +19 -10
  31. package/dist/src/tuix-dropdown/TuixDropdown.styles.js.map +1 -1
  32. package/dist/src/tuix-dropdown/enums/tuix-dropdown.enums.d.ts +0 -6
  33. package/dist/src/tuix-dropdown/enums/tuix-dropdown.enums.js +0 -7
  34. package/dist/src/tuix-dropdown/enums/tuix-dropdown.enums.js.map +1 -1
  35. package/dist/src/tuix-dropdown/interfaces/tuix-dropdown.interface.d.ts +4 -0
  36. package/dist/src/tuix-dropdown/interfaces/tuix-dropdown.interface.js.map +1 -1
  37. package/dist/src/tuix-icon/TuixIcon.d.ts +2 -1
  38. package/dist/src/tuix-icon/TuixIcon.icons.js +9 -2
  39. package/dist/src/tuix-icon/TuixIcon.icons.js.map +1 -1
  40. package/dist/src/tuix-icon/TuixIcon.js +11 -5
  41. package/dist/src/tuix-icon/TuixIcon.js.map +1 -1
  42. package/dist/src/tuix-icon/enums/tuix-icon.enums.d.ts +2 -21
  43. package/dist/src/tuix-icon/enums/tuix-icon.enums.js +1 -21
  44. package/dist/src/tuix-icon/enums/tuix-icon.enums.js.map +1 -1
  45. package/dist/src/tuix-icon-button/TuixIconButton.d.ts +6 -14
  46. package/dist/src/tuix-icon-button/TuixIconButton.js +8 -54
  47. package/dist/src/tuix-icon-button/TuixIconButton.js.map +1 -1
  48. package/dist/src/tuix-input/TuixInput.d.ts +3 -2
  49. package/dist/src/tuix-input/TuixInput.js +28 -20
  50. package/dist/src/tuix-input/TuixInput.js.map +1 -1
  51. package/dist/src/tuix-input/TuixInput.styles.js +33 -26
  52. package/dist/src/tuix-input/TuixInput.styles.js.map +1 -1
  53. package/dist/src/tuix-input/enums/tuix-input.enums.d.ts +10 -8
  54. package/dist/src/tuix-input/enums/tuix-input.enums.js +10 -10
  55. package/dist/src/tuix-input/enums/tuix-input.enums.js.map +1 -1
  56. package/dist/src/tuix-input/interfaces/tuix-input.interface.d.ts +2 -0
  57. package/dist/src/tuix-input/interfaces/tuix-input.interface.js.map +1 -1
  58. package/dist/src/tuix-link/TuixLink.d.ts +6 -4
  59. package/dist/src/tuix-link/TuixLink.js +25 -40
  60. package/dist/src/tuix-link/TuixLink.js.map +1 -1
  61. package/dist/src/tuix-link/TuixLink.styles.d.ts +1 -0
  62. package/dist/src/tuix-link/TuixLink.styles.js +67 -0
  63. package/dist/src/tuix-link/TuixLink.styles.js.map +1 -0
  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 -3
  68. package/dist/src/tuix-paper/TuixPaper.js +17 -28
  69. package/dist/src/tuix-paper/TuixPaper.js.map +1 -1
  70. package/dist/src/tuix-paper/TuixPaper.styles.d.ts +1 -0
  71. package/dist/src/tuix-paper/TuixPaper.styles.js +22 -0
  72. package/dist/src/tuix-paper/TuixPaper.styles.js.map +1 -0
  73. package/dist/src/tuix-paper/enums/tuix-paper.enum.d.ts +12 -6
  74. package/dist/src/tuix-paper/enums/tuix-paper.enum.js +15 -8
  75. package/dist/src/tuix-paper/enums/tuix-paper.enum.js.map +1 -1
  76. package/dist/src/tuix-radio-button/TuixRadioButton.js +3 -3
  77. package/dist/src/tuix-radio-button/TuixRadioButton.js.map +1 -1
  78. package/dist/src/tuix-radio-button/TuixRadioButton.styles.js +2 -2
  79. package/dist/src/tuix-radio-button/TuixRadioButton.styles.js.map +1 -1
  80. package/dist/src/tuix-radio-button/interfaces/tuix-radio-button.interface.d.ts +2 -0
  81. package/dist/src/tuix-radio-button/interfaces/tuix-radio-button.interface.js.map +1 -1
  82. package/dist/src/tuix-text/TuixText.d.ts +2 -2
  83. package/dist/src/tuix-text/TuixText.js +9 -7
  84. package/dist/src/tuix-text/TuixText.js.map +1 -1
  85. package/dist/src/tuix-text/TuixText.styles.js +26 -22
  86. package/dist/src/tuix-text/TuixText.styles.js.map +1 -1
  87. package/dist/src/tuix-text/enums/tuix-text.enums.d.ts +4 -1
  88. package/dist/src/tuix-text/enums/tuix-text.enums.js +23 -13
  89. package/dist/src/tuix-text/enums/tuix-text.enums.js.map +1 -1
  90. package/dist/src/tuix-toggle-button/TuixToggleButton.js +3 -2
  91. package/dist/src/tuix-toggle-button/TuixToggleButton.js.map +1 -1
  92. package/dist/src/tuix-toggle-button/TuixToggleButton.styles.js +7 -7
  93. package/dist/src/tuix-toggle-button/TuixToggleButton.styles.js.map +1 -1
  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 +25 -1
  98. package/dist/src/utils/colors.js +26 -24
  99. package/dist/src/utils/colors.js.map +1 -1
  100. package/dist/src/utils/darkColors.d.ts +25 -1
  101. package/dist/src/utils/darkColors.js +26 -12
  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/src/utils/screenSizes.enum.d.ts +2 -2
  107. package/dist/src/utils/screenSizes.enum.js +2 -3
  108. package/dist/src/utils/screenSizes.enum.js.map +1 -1
  109. package/dist/src/utils/slottedClassName.d.ts +2 -0
  110. package/dist/src/utils/slottedClassName.js +2 -0
  111. package/dist/src/utils/slottedClassName.js.map +1 -0
  112. package/dist/tsconfig.publish.tsbuildinfo +1 -1
  113. 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';
@@ -9,4 +16,15 @@ export { TuixDropdown } from './tuix-dropdown/TuixDropdown.js';
9
16
  export { TuixCheckbox } from './tuix-checkbox/TuixCheckbox.js';
10
17
  export { TuixRadioButton } from './tuix-radio-button/TuixRadioButton.js';
11
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 { PaperElevation } 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';
29
+ export { BorderRadiusPaper } from './tuix-paper/enums/tuix-paper.enum.js';
12
30
  export declare function loadFonts(): void;
package/dist/src/index.js CHANGED
@@ -9,6 +9,17 @@ export { TuixDropdown } from './tuix-dropdown/TuixDropdown.js';
9
9
  export { TuixCheckbox } from './tuix-checkbox/TuixCheckbox.js';
10
10
  export { TuixRadioButton } from './tuix-radio-button/TuixRadioButton.js';
11
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 { PaperElevation } 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';
22
+ export { BorderRadiusPaper } from './tuix-paper/enums/tuix-paper.enum.js';
12
23
  export function loadFonts() {
13
24
  const link1 = document.createElement('link');
14
25
  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;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;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 { 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';\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,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,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;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,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 { PaperElevation } 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';\nexport { BorderRadiusPaper } from './tuix-paper/enums/tuix-paper.enum.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,18 +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
- variant: MainVariant;
8
- disabled: boolean;
9
6
  iconRight?: IconName;
10
7
  iconLeft?: IconName;
11
- dark: boolean;
12
- iconColor: string;
13
- private _getTextColor;
14
- private _updateIconColor;
15
- private _handleClick;
16
- private _iconTemplate;
17
- protected render(): TemplateResult;
8
+ protected _updateIconColor(): void;
9
+ protected _buttonContent(): TemplateResult;
18
10
  }
@@ -1,63 +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
4
  import { buttonSizeStyles, buttonColorStyles, hostButtonStyles, } from './TuixButton.styles';
5
- import { customElement, property, state } from 'lit/decorators.js';
6
- import '../tuix-icon/TuixIcon.js';
7
- import { MainVariant } from '../utils/mainVariant.enum';
8
- import { buttonTextColor } from './enums/tuix-button.enums';
5
+ import { customElement, property } from 'lit/decorators.js';
9
6
  import { ScreenSizes } from '../utils/screenSizes.enum';
10
- let TuixButton = class TuixButton extends LitElement {
11
- constructor() {
12
- super(...arguments);
13
- this.variant = MainVariant.PRIMARY;
14
- this.disabled = false;
15
- this.dark = false;
16
- this.iconColor = '';
17
- }
18
- _getTextColor() {
19
- var _a;
20
- const element = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.button');
21
- if (!element)
22
- return buttonTextColor[this.variant];
23
- const computedStyle = getComputedStyle(element);
24
- return computedStyle.color;
25
- }
7
+ import { TuixBaseButton } from './TuixBaseButton';
8
+ let TuixButton = class TuixButton extends TuixBaseButton {
26
9
  _updateIconColor() {
27
10
  if (!this.iconLeft && !this.iconRight)
28
11
  return;
29
12
  this.iconColor = this._getTextColor();
30
13
  }
31
- _handleClick() {
32
- this.dispatchEvent(new CustomEvent('click', { bubbles: true }));
33
- }
34
- _iconTemplate(iconName) {
14
+ _buttonContent() {
35
15
  let iconSize = IconSizeVariant.MEDIUM;
36
16
  if (screen.width <= ScreenSizes.TABLET) {
37
17
  iconSize = IconSizeVariant.SMALL;
38
18
  }
39
- this._updateIconColor();
40
- return html `<tuix-icon
41
- size="${iconSize}"
42
- name="${iconName}"
43
- color="${this.iconColor}"
44
- ></tuix-icon>`;
45
- }
46
- render() {
47
- return html `<button
48
- @click=${this._handleClick}
49
- @mouseenter=${this._updateIconColor}
50
- @mouseleave=${this._updateIconColor}
51
- @blur=${this._updateIconColor}
52
- ?disabled="${this.disabled}"
53
- class="button"
54
- >
55
- <div class="container">
56
- ${this.iconLeft ? this._iconTemplate(this.iconLeft) : nothing}
57
- <slot></slot>
58
- ${this.iconRight ? this._iconTemplate(this.iconRight) : nothing}
59
- </div>
60
- </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>`;
61
24
  }
62
25
  };
63
26
  TuixButton.styles = [
@@ -65,6 +28,7 @@ TuixButton.styles = [
65
28
  .button {
66
29
  padding: 16px 32px;
67
30
  border-radius: 4px;
31
+ border: none;
68
32
  font-family: 'rubik', sans-serif;
69
33
  }
70
34
 
@@ -98,24 +62,12 @@ TuixButton.styles = [
98
62
  buttonColorStyles,
99
63
  buttonSizeStyles,
100
64
  ];
101
- __decorate([
102
- property({ type: MainVariant })
103
- ], TuixButton.prototype, "variant", void 0);
104
- __decorate([
105
- property({ type: Boolean })
106
- ], TuixButton.prototype, "disabled", void 0);
107
65
  __decorate([
108
66
  property({ type: IconName })
109
67
  ], TuixButton.prototype, "iconRight", void 0);
110
68
  __decorate([
111
69
  property({ type: IconName })
112
70
  ], TuixButton.prototype, "iconLeft", void 0);
113
- __decorate([
114
- property({ type: Boolean })
115
- ], TuixButton.prototype, "dark", void 0);
116
- __decorate([
117
- state()
118
- ], TuixButton.prototype, "iconColor", void 0);
119
71
  TuixButton = __decorate([
120
72
  customElement('tuix-button')
121
73
  ], TuixButton);
@@ -1 +1 @@
1
- {"version":3,"file":"TuixButton.js","sourceRoot":"","sources":["../../../src/tuix-button/TuixButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, 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, state } from 'lit/decorators.js';\nimport '../tuix-icon/TuixIcon.js';\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 hostButtonStyles,\n buttonColorStyles,\n buttonSizeStyles,\n ];\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 @property({ type: Boolean })\n dark = false;\n\n @state()\n iconColor = '';\n\n private _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 private _updateIconColor() {\n if (!this.iconLeft && !this.iconRight) return;\n this.iconColor = this._getTextColor();\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 this._updateIconColor();\n\n return html`<tuix-icon\n size=\"${iconSize}\"\n name=\"${iconName as IconName}\"\n color=\"${this.iconColor}\"\n ></tuix-icon>`;\n }\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 <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,59 +1,63 @@
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';
4
+ import { DarkPalette } from '../utils/darkColors';
5
5
  import { MainVariant } from '../utils/mainVariant.enum';
6
+ import slottedClassName from '../utils/slottedClassName';
7
+ import { TextSize } from '../tuix-text/enums/tuix-text.enums';
6
8
  export const hostButtonStyles = css `
7
9
  :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)};
10
+ --t-button-primary-color: ${unsafeCSS(Palette.MAIN)};
11
+ --t-button-secondary-color: ${unsafeCSS(Palette.WHITE)};
12
+ --t-button-accent-color: ${unsafeCSS(Palette.SECONDARY)};
13
+ --t-button-text-color: ${unsafeCSS(Palette.WHITE)};
14
+ --t-button-text-secondary-color: ${unsafeCSS(Palette.MAIN)};
15
+ --t-button-text-muted-color: ${unsafeCSS(Palette.PRIMARY_300)};
16
+ --t-button-disabled-bg-color: ${unsafeCSS(Palette.PRIMARY_100)};
17
+ --t-button-hover-primary-color: ${unsafeCSS(Palette.PRIMARY_600)};
18
+ --t-button-active-primary-color: ${unsafeCSS(Palette.PRIMARY_800)};
19
+ --t-button-hover-secondary-color: ${unsafeCSS(Palette.PRIMARY_100)};
20
+ --t-button-active-secondary-color: ${unsafeCSS(Palette.PRIMARY_200)};
19
21
  }
20
22
  :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)};
23
+ --t-button-primary-color: ${unsafeCSS(DarkPalette.MAIN)};
24
+ --t-button-text-color: ${unsafeCSS(DarkPalette.WHITE)};
25
+ --t-button-text-muted-color: ${unsafeCSS(Palette.PRIMARY_800)};
26
+ --t-button-disabled-bg-color: ${unsafeCSS(Palette.PRIMARY_950)};
27
+ --t-button-hover-primary-color: ${unsafeCSS(Palette.MAIN)};
28
+ --t-button-active-primary-color: ${unsafeCSS(Palette.PRIMARY_800)};
29
+ --t-button-secondary-color: ${unsafeCSS(Palette.BLACK)};
30
+ --t-button-hover-secondary-color: ${unsafeCSS(Palette.PRIMARY_950)};
31
+ --t-button-active-secondary-color: ${unsafeCSS(Palette.PRIMARY_800)};
30
32
  }
31
33
  `;
32
34
  export const buttonSizeStyles = css `
33
- .button {
35
+ ${unsafeCSS(`
36
+ ${slottedClassName(TextSize.Button)} {
34
37
  font-size: 1.25rem;
35
38
  font-weight: 400;
36
39
  line-height: 1.5rem;
37
40
  }
38
41
  @media only screen and (max-width: ${ScreenSizes.TABLET}px) {
39
- .button {
42
+ ${slottedClassName(TextSize.Button)} {
40
43
  font-size: 1rem;
41
44
  font-weight: 400;
42
45
  line-height: 1.25rem;
43
46
  }
44
47
  }
45
48
  @media only screen and (max-width: ${ScreenSizes.MOBILE}px) {
46
- .button {
49
+ ${slottedClassName(TextSize.Button)} {
47
50
  font-size: 0.875rem;
48
51
  font-weight: 400;
49
52
  line-height: 1rem;
50
53
  }
51
54
  }
55
+ `)}
52
56
  `;
53
57
  export const buttonColorStyles = css `
54
58
  :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button {
55
59
  background-color: var(--t-button-primary-color);
56
- border: none;
60
+ outline: none;
57
61
  color: var(--t-button-text-color);
58
62
  }
59
63
  :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button:hover {
@@ -62,36 +66,36 @@ export const buttonColorStyles = css `
62
66
  }
63
67
  :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button:focus {
64
68
  background-color: var(--t-button-hover-primary-color);
65
- border: 2px solid var(--t-button-accent-color);
69
+ outline: 2px solid var(--t-button-accent-color);
66
70
  }
67
71
  :host([variant='${unsafeCSS(MainVariant.PRIMARY)}']) .button:active {
68
72
  background-color: var(--t-button-active-primary-color);
69
- border: none;
73
+ outline: none;
70
74
  }
71
75
 
72
76
  :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button {
73
77
  background-color: var(--t-button-secondary-color);
74
- border: 1px solid var(--t-button-hover-primary-color);
78
+ outline: 1px solid var(--t-button-hover-primary-color);
75
79
  color: var(--t-button-text-secondary-color);
76
80
  }
77
81
  :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:hover {
78
82
  background-color: var(--t-button-hover-secondary-color);
79
- border: 1px solid var(--t-button-primary-color);
83
+ outline: 1px solid var(--t-button-primary-color);
80
84
  color: var(--t-button-primary-color);
81
85
  cursor: pointer;
82
86
  }
83
87
  :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:focus {
84
88
  background-color: var(--t-button-hover-secondary-color);
85
- border: 2px solid var(--t-button-accent-color);
89
+ outline: 2px solid var(--t-button-accent-color);
86
90
  color: var(--t-button-primary-color);
87
91
  }
88
92
  :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:active {
89
93
  background-color: var(--t-button-active-secondary-color);
90
- border: 1px solid var(--t-button-primary-color);
94
+ outline: 1px solid var(--t-button-primary-color);
91
95
  color: var(--t-button-primary-color);
92
96
  }
93
97
  :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:disabled {
94
- border: 1px solid var(--t-button-text-muted-color);
98
+ outline: 1px solid var(--t-button-text-muted-color);
95
99
  }
96
100
 
97
101
  :host([variant='${unsafeCSS(MainVariant.SECONDARY)}'][disabled]) .button,
@@ -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;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 border: 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 border: 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 border: none;\n }\n\n :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button {\n background-color: var(--t-button-secondary-color);\n border: 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 border: 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 border: 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 border: 1px solid var(--t-button-primary-color);\n color: var(--t-button-primary-color);\n }\n :host([variant='${unsafeCSS(MainVariant.SECONDARY)}']) .button:disabled {\n border: 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
+ {"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;AACxD,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,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;IAC/B,SAAS,CAAC;IACV,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;;;;;uCAKE,WAAW,CAAC,MAAM;MACnD,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;;;;;;uCAMA,WAAW,CAAC,MAAM;MACnD,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;;;;;;CAMtC,CAAC;CACD,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';\nimport slottedClassName from '../utils/slottedClassName';\nimport { TextSize } from '../tuix-text/enums/tuix-text.enums';\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 ${unsafeCSS(`\n ${slottedClassName(TextSize.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 ${slottedClassName(TextSize.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 ${slottedClassName(TextSize.Button)} {\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1rem;\n }\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"]}
@@ -19,6 +19,7 @@ let TuixCheckbox = class TuixCheckbox extends LitElement {
19
19
  this.dispatchEvent(new CustomEvent('change', {
20
20
  detail: {
21
21
  value: event.target.checked,
22
+ label: this.label,
22
23
  },
23
24
  bubbles: true,
24
25
  }));
@@ -74,13 +75,13 @@ __decorate([
74
75
  property({ type: Boolean })
75
76
  ], TuixCheckbox.prototype, "checked", void 0);
76
77
  __decorate([
77
- property({ type: Boolean })
78
+ property({ type: Boolean, reflect: true })
78
79
  ], TuixCheckbox.prototype, "disabled", void 0);
79
80
  __decorate([
80
- property({ type: Boolean })
81
+ property({ type: Boolean, reflect: true })
81
82
  ], TuixCheckbox.prototype, "dark", void 0);
82
83
  __decorate([
83
- property({ type: Boolean })
84
+ property({ type: Boolean, reflect: true })
84
85
  ], TuixCheckbox.prototype, "error", void 0);
85
86
  __decorate([
86
87
  property({ type: String })
@@ -1 +1 @@
1
- {"version":3,"file":"TuixCheckbox.js","sourceRoot":"","sources":["../../../src/tuix-checkbox/TuixCheckbox.ts"],"names":[],"mappings":"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","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 })\n disabled = false;\n\n @property({ type: Boolean })\n dark = false;\n\n @property({ type: Boolean })\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 },\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"]}
1
+ {"version":3,"file":"TuixCheckbox.js","sourceRoot":"","sources":["../../../src/tuix-checkbox/TuixCheckbox.ts"],"names":[],"mappings":"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","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"]}
@@ -1,24 +1,24 @@
1
1
  import { css, unsafeCSS } from 'lit';
2
- import { palette } from '../utils/colors';
3
- import { darkPalette } from '../utils/darkColors';
2
+ import { Palette } from '../utils/colors';
3
+ import { DarkPalette } from '../utils/darkColors';
4
4
  export const hostStyles = css `
5
5
  :host {
6
- --t-main-color-tuix: ${unsafeCSS(palette.main)};
7
- --t-bg-color-primary: ${unsafeCSS(palette.white)};
8
- --t-bg-color-disabled: ${unsafeCSS(palette.primary_100)};
9
- --t-text-color-error: ${unsafeCSS(palette.error)};
10
- --t-stroke-color-focus: ${unsafeCSS(palette.secondary)};
11
- --t-stroke-color-grey: ${unsafeCSS(palette.primary_300)};
12
- --t-text-color-label: ${unsafeCSS(palette.black)};
6
+ --t-main-color-tuix: ${unsafeCSS(Palette.MAIN)};
7
+ --t-bg-color-primary: ${unsafeCSS(Palette.WHITE)};
8
+ --t-bg-color-disabled: ${unsafeCSS(Palette.PRIMARY_100)};
9
+ --t-text-color-error: ${unsafeCSS(Palette.ERROR)};
10
+ --t-stroke-color-focus: ${unsafeCSS(Palette.SECONDARY)};
11
+ --t-stroke-color-grey: ${unsafeCSS(Palette.PRIMARY_300)};
12
+ --t-text-color-label: ${unsafeCSS(Palette.BLACK)};
13
13
  }
14
14
  :host([dark]) {
15
- --t-main-color-tuix: ${unsafeCSS(darkPalette.main)};
16
- --t-bg-color-primary: ${unsafeCSS(darkPalette.black)};
17
- --t-bg-color-disabled: ${unsafeCSS(darkPalette.primary_800)};
18
- --t-text-color-error: ${unsafeCSS(darkPalette.error)};
19
- --t-stroke-color-focus: ${unsafeCSS(darkPalette.secondary)};
20
- --t-stroke-color-grey: ${unsafeCSS(darkPalette.primary_100)};
21
- --t-text-color-label: ${unsafeCSS(darkPalette.white)};
15
+ --t-main-color-tuix: ${unsafeCSS(DarkPalette.MAIN)};
16
+ --t-bg-color-primary: ${unsafeCSS(DarkPalette.BLACK)};
17
+ --t-bg-color-disabled: ${unsafeCSS(DarkPalette.PRIMARY_800)};
18
+ --t-text-color-error: ${unsafeCSS(DarkPalette.ERROR)};
19
+ --t-stroke-color-focus: ${unsafeCSS(DarkPalette.SECONDARY)};
20
+ --t-stroke-color-grey: ${unsafeCSS(DarkPalette.PRIMARY_100)};
21
+ --t-text-color-label: ${unsafeCSS(DarkPalette.WHITE)};
22
22
  }
23
23
  `;
24
24
  export const checkboxContainerStyles = css `