tuix-webcomponents 0.64.0 → 0.65.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 (168) hide show
  1. package/README.md +2 -2
  2. package/package-build/src/index.d.ts +36 -0
  3. package/package-build/src/index.js +42 -0
  4. package/package-build/src/tuix-button/TuixBaseButton.d.ts +17 -0
  5. package/package-build/src/tuix-button/TuixBaseButton.js +60 -0
  6. package/package-build/src/tuix-button/TuixButton.d.ts +11 -0
  7. package/package-build/src/tuix-button/TuixButton.js +84 -0
  8. package/package-build/src/tuix-button/TuixButton.styles.d.ts +3 -0
  9. package/package-build/src/tuix-button/TuixButton.styles.js +107 -0
  10. package/package-build/src/tuix-button/enums/tuix-button.enums.d.ts +2 -0
  11. package/package-build/src/tuix-button/enums/tuix-button.enums.js +6 -0
  12. package/package-build/src/tuix-button/interfaces/tuix-button.interface.d.ts +1 -0
  13. package/package-build/src/tuix-button/interfaces/tuix-button.interface.js +1 -0
  14. package/package-build/src/tuix-checkbox/TuixCheckbox.d.ts +15 -0
  15. package/package-build/src/tuix-checkbox/TuixCheckbox.js +106 -0
  16. package/package-build/src/tuix-checkbox/TuixCheckbox.styles.d.ts +4 -0
  17. package/package-build/src/tuix-checkbox/TuixCheckbox.styles.js +132 -0
  18. package/package-build/src/tuix-checkbox/enums/tuix-checkbox.enums.d.ts +21 -0
  19. package/package-build/src/tuix-checkbox/enums/tuix-checkbox.enums.js +23 -0
  20. package/package-build/src/tuix-checkbox/interfaces/tuix-checkbox.interface.d.ts +5 -0
  21. package/package-build/src/tuix-checkbox/interfaces/tuix-checkbox.interface.js +1 -0
  22. package/package-build/src/tuix-dropdown/TuixDropdown.d.ts +55 -0
  23. package/package-build/src/tuix-dropdown/TuixDropdown.js +360 -0
  24. package/package-build/src/tuix-dropdown/TuixDropdown.styles.d.ts +3 -0
  25. package/package-build/src/tuix-dropdown/TuixDropdown.styles.js +125 -0
  26. package/package-build/src/tuix-dropdown/enums/tuix-dropdown.enums.d.ts +4 -0
  27. package/package-build/src/tuix-dropdown/enums/tuix-dropdown.enums.js +5 -0
  28. package/package-build/src/tuix-dropdown/interfaces/tuix-dropdown.interface.d.ts +15 -0
  29. package/package-build/src/tuix-dropdown/interfaces/tuix-dropdown.interface.js +1 -0
  30. package/package-build/src/tuix-icon/TuixIcon.d.ts +15 -0
  31. package/package-build/src/tuix-icon/TuixIcon.icons.d.ts +6 -0
  32. package/{dist/assets/TuixIconButton-eQtxZNXh.js → package-build/src/tuix-icon/TuixIcon.icons.js} +125 -203
  33. package/package-build/src/tuix-icon/TuixIcon.js +79 -0
  34. package/package-build/src/tuix-icon/enums/tuix-icon.enums.d.ts +62 -0
  35. package/package-build/src/tuix-icon/enums/tuix-icon.enums.js +69 -0
  36. package/package-build/src/tuix-icon-button/TuixIconButton.d.ts +9 -0
  37. package/package-build/src/tuix-icon-button/TuixIconButton.js +51 -0
  38. package/package-build/src/tuix-input/TuixInput.d.ts +52 -0
  39. package/package-build/src/tuix-input/TuixInput.js +370 -0
  40. package/package-build/src/tuix-input/TuixInput.styles.d.ts +8 -0
  41. package/package-build/src/tuix-input/TuixInput.styles.js +295 -0
  42. package/package-build/src/tuix-input/enums/tuix-input.enums.d.ts +38 -0
  43. package/package-build/src/tuix-input/enums/tuix-input.enums.js +41 -0
  44. package/package-build/src/tuix-input/interfaces/tuix-input.interface.d.ts +18 -0
  45. package/package-build/src/tuix-input/interfaces/tuix-input.interface.js +5 -0
  46. package/package-build/src/tuix-link/TuixLink.d.ts +15 -0
  47. package/package-build/src/tuix-link/TuixLink.js +71 -0
  48. package/package-build/src/tuix-link/TuixLink.styles.d.ts +2 -0
  49. package/package-build/src/tuix-link/TuixLink.styles.js +55 -0
  50. package/package-build/src/tuix-link/enums/linkTarget.enum.d.ts +6 -0
  51. package/package-build/src/tuix-link/enums/linkTarget.enum.js +7 -0
  52. package/package-build/src/tuix-modal/TuixModal.d.ts +9 -0
  53. package/package-build/src/tuix-modal/TuixModal.js +63 -0
  54. package/package-build/src/tuix-modal/TuixModal.styles.d.ts +2 -0
  55. package/package-build/src/tuix-modal/TuixModal.styles.js +55 -0
  56. package/package-build/src/tuix-paper/TuixPaper.d.ts +10 -0
  57. package/package-build/src/tuix-paper/TuixPaper.js +46 -0
  58. package/package-build/src/tuix-paper/TuixPaper.styles.d.ts +1 -0
  59. package/package-build/src/tuix-paper/TuixPaper.styles.js +30 -0
  60. package/package-build/src/tuix-paper/enums/tuix-paper.enum.d.ts +13 -0
  61. package/package-build/src/tuix-paper/enums/tuix-paper.enum.js +15 -0
  62. package/package-build/src/tuix-radio-button/TuixRadioButton.d.ts +16 -0
  63. package/package-build/src/tuix-radio-button/TuixRadioButton.js +95 -0
  64. package/package-build/src/tuix-radio-button/TuixRadioButton.styles.d.ts +5 -0
  65. package/package-build/src/tuix-radio-button/TuixRadioButton.styles.js +135 -0
  66. package/package-build/src/tuix-radio-button/interfaces/tuix-radio-button.interface.d.ts +3 -0
  67. package/package-build/src/tuix-radio-button/interfaces/tuix-radio-button.interface.js +1 -0
  68. package/package-build/src/tuix-table/TuixTable.d.ts +46 -0
  69. package/package-build/src/tuix-table/TuixTable.js +367 -0
  70. package/package-build/src/tuix-table/TuixTable.styles.d.ts +2 -0
  71. package/package-build/src/tuix-table/TuixTable.styles.js +197 -0
  72. package/package-build/src/tuix-table/interfaces/tuix-table.interface.d.ts +45 -0
  73. package/package-build/src/tuix-table/interfaces/tuix-table.interface.js +1 -0
  74. package/package-build/src/tuix-text/TuixText.d.ts +12 -0
  75. package/package-build/src/tuix-text/TuixText.js +66 -0
  76. package/package-build/src/tuix-text/TuixText.styles.d.ts +2 -0
  77. package/package-build/src/tuix-text/TuixText.styles.js +158 -0
  78. package/package-build/src/tuix-text/enums/tuix-text.enums.d.ts +31 -0
  79. package/package-build/src/tuix-text/enums/tuix-text.enums.js +63 -0
  80. package/package-build/src/tuix-toast/TuixToast.d.ts +15 -0
  81. package/package-build/src/tuix-toast/TuixToast.js +100 -0
  82. package/package-build/src/tuix-toast/TuixToast.styles.d.ts +3 -0
  83. package/package-build/src/tuix-toast/TuixToast.styles.js +43 -0
  84. package/package-build/src/tuix-toast/enums/tuix-toast.enums.d.ts +20 -0
  85. package/package-build/src/tuix-toast/enums/tuix-toast.enums.js +59 -0
  86. package/package-build/src/tuix-toggle-button/TuixToggleButton.d.ts +13 -0
  87. package/package-build/src/tuix-toggle-button/TuixToggleButton.js +85 -0
  88. package/package-build/src/tuix-toggle-button/TuixToggleButton.styles.d.ts +5 -0
  89. package/package-build/src/tuix-toggle-button/TuixToggleButton.styles.js +134 -0
  90. package/package-build/src/tuix-toggle-button/interfaces/tuix-toggle.interface.d.ts +2 -0
  91. package/package-build/src/tuix-toggle-button/interfaces/tuix-toggle.interface.js +1 -0
  92. package/package-build/src/utils/colors.d.ts +29 -0
  93. package/package-build/src/utils/colors.js +30 -0
  94. package/package-build/src/utils/darkColors.d.ts +31 -0
  95. package/package-build/src/utils/darkColors.js +32 -0
  96. package/package-build/src/utils/hex-rgb.d.ts +5 -0
  97. package/package-build/src/utils/hex-rgb.js +15 -0
  98. package/package-build/src/utils/interfaces/detail-value.interface.d.ts +3 -0
  99. package/package-build/src/utils/interfaces/detail-value.interface.js +1 -0
  100. package/package-build/src/utils/mainVariant.enum.d.ts +4 -0
  101. package/package-build/src/utils/mainVariant.enum.js +5 -0
  102. package/package-build/src/utils/screenSizes.enum.d.ts +4 -0
  103. package/package-build/src/utils/screenSizes.enum.js +5 -0
  104. package/package-build/src/utils/slottedClassName.d.ts +2 -0
  105. package/package-build/src/utils/slottedClassName.js +1 -0
  106. package/package-build/tsconfig.publish.tsbuildinfo +1 -0
  107. package/package.json +9 -9
  108. package/dist/addon-visual-tests-assets/visual-test-illustration.mp4 +0 -0
  109. package/dist/assets/Color-AVL7NMMY-IH_JbDEF.js +0 -1
  110. package/dist/assets/DocsRenderer-PQXLIZUC-C0ZKNA9m.js +0 -1286
  111. package/dist/assets/TuixModal-BZFIHTi_.js +0 -78
  112. package/dist/assets/TuixToast-BhxwZIGo.js +0 -62
  113. package/dist/assets/_commonjsHelpers-CqkleIqs.js +0 -1
  114. package/dist/assets/axe-C59a3kt3.js +0 -30
  115. package/dist/assets/iframe-ClsPaEIM.js +0 -1057
  116. package/dist/assets/index-DBzYXxxs.js +0 -1554
  117. package/dist/assets/index-TjhCmV-u.js +0 -1
  118. package/dist/assets/matchers-7Z3WT2CE-CcSi9QFY.js +0 -14
  119. package/dist/assets/screenSizes.enum-C1IhC_dy.js +0 -13
  120. package/dist/assets/state-CLjydI9z.js +0 -13
  121. package/dist/assets/tuix-button.stories-Dm_yifox.js +0 -30
  122. package/dist/assets/tuix-checkbox.stories-DmzoygjC.js +0 -44
  123. package/dist/assets/tuix-dropdown-object-list.stories-Neeajtj-.js +0 -56
  124. package/dist/assets/tuix-dropdown.stories-B7ea8QAz.js +0 -28
  125. package/dist/assets/tuix-icon-button.stories-CgbOSRO4.js +0 -21
  126. package/dist/assets/tuix-icon.enums-DYTtwLZl.js +0 -1
  127. package/dist/assets/tuix-icon.stories-CjN2XsKx.js +0 -19
  128. package/dist/assets/tuix-input.stories-CD7onvw2.js +0 -33
  129. package/dist/assets/tuix-link.stories-CT7pzGlx.js +0 -35
  130. package/dist/assets/tuix-modal.stories-B6v3cOPq.js +0 -39
  131. package/dist/assets/tuix-paper.enum-DhmlUJB7.js +0 -1
  132. package/dist/assets/tuix-paper.stories-CLnRPHNK.js +0 -31
  133. package/dist/assets/tuix-radio-button.stories-BwkKC3a9.js +0 -35
  134. package/dist/assets/tuix-table.stories-Bn-aZa0J.js +0 -65
  135. package/dist/assets/tuix-text.enums-Ck8cVqZZ.js +0 -1
  136. package/dist/assets/tuix-text.stories-BNIqPsGD.js +0 -29
  137. package/dist/assets/tuix-toast.stories-CRYiLiHK.js +0 -21
  138. package/dist/assets/tuix-toggle-button.stories-CY6wlDnA.js +0 -40
  139. package/dist/favicon-wrapper.svg +0 -46
  140. package/dist/favicon.svg +0 -1
  141. package/dist/iframe.html +0 -685
  142. package/dist/index.html +0 -160
  143. package/dist/index.json +0 -1
  144. package/dist/nunito-sans-bold-italic.woff2 +0 -0
  145. package/dist/nunito-sans-bold.woff2 +0 -0
  146. package/dist/nunito-sans-italic.woff2 +0 -0
  147. package/dist/nunito-sans-regular.woff2 +0 -0
  148. package/dist/project.json +0 -1
  149. package/dist/sb-addons/a11y-3/manager-bundle.js +0 -5
  150. package/dist/sb-addons/a11y-3/manager-bundle.js.LEGAL.txt +0 -0
  151. package/dist/sb-addons/chromatic-com-storybook-1/manager-bundle.js +0 -356
  152. package/dist/sb-addons/chromatic-com-storybook-1/manager-bundle.js.LEGAL.txt +0 -40
  153. package/dist/sb-addons/docs-2/manager-bundle.js +0 -151
  154. package/dist/sb-addons/docs-2/manager-bundle.js.LEGAL.txt +0 -0
  155. package/dist/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -971
  156. package/dist/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js.LEGAL.txt +0 -0
  157. package/dist/sb-addons/vitest-4/manager-bundle.js +0 -3
  158. package/dist/sb-addons/vitest-4/manager-bundle.js.LEGAL.txt +0 -0
  159. package/dist/sb-common-assets/favicon-wrapper.svg +0 -46
  160. package/dist/sb-common-assets/favicon.svg +0 -1
  161. package/dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  162. package/dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  163. package/dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  164. package/dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  165. package/dist/sb-manager/globals-module-info.js +0 -797
  166. package/dist/sb-manager/globals-runtime.js +0 -69679
  167. package/dist/sb-manager/globals.js +0 -34
  168. package/dist/sb-manager/runtime.js +0 -13195
@@ -0,0 +1,55 @@
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { ScreenSizes } from '../utils/screenSizes.enum';
3
+ import { Palette } from '../utils/colors';
4
+ export const commonModalStyles = css `
5
+ :host {
6
+ display: none;
7
+ position: fixed;
8
+ width: 100%;
9
+ height: 100vh;
10
+ align-items: center;
11
+ top: 0;
12
+ left: 0;
13
+ background-color: ${unsafeCSS(Palette.BLACK + '80')};
14
+ }
15
+
16
+ :host([visible]) {
17
+ display: flex;
18
+ }
19
+
20
+ .modal-container {
21
+ margin: auto;
22
+ max-width: 96%;
23
+ max-height: 96vh;
24
+
25
+ .content {
26
+ border-radius: 4px;
27
+
28
+ header {
29
+ display: flex;
30
+ justify-content: space-between;
31
+ padding: 16px 16px 8px;
32
+
33
+ .close-icon {
34
+ cursor: pointer;
35
+ }
36
+ }
37
+
38
+ div.body {
39
+ padding: 8px 16px 32px;
40
+ }
41
+
42
+ div.action-buttons {
43
+ padding: 8px 16px 16px 16px;
44
+ }
45
+ }
46
+ }
47
+ `;
48
+ export const mobileModalStyles = css `
49
+ @media only screen and (max-width: ${ScreenSizes.MOBILE}px) {
50
+ .modal-container {
51
+ min-width: 100%;
52
+ max-height: 100%;
53
+ }
54
+ }
55
+ `;
@@ -0,0 +1,10 @@
1
+ import { LitElement, type TemplateResult } from 'lit';
2
+ import { BorderRadiusPaper, PaperElevation } from './enums/tuix-paper.enum';
3
+ export declare class TuixPaper extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ elevation: PaperElevation;
6
+ borderRadius: BorderRadiusPaper;
7
+ dark: boolean;
8
+ private _getOptionalClasses;
9
+ render(): TemplateResult;
10
+ }
@@ -0,0 +1,46 @@
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, html } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { BorderRadiusPaper, PaperElevation } from './enums/tuix-paper.enum';
5
+ import { classMap } from 'lit/directives/class-map.js';
6
+ import { styleMap } from 'lit/directives/style-map.js';
7
+ import { paperStyles } from './TuixPaper.styles';
8
+ let TuixPaper = class TuixPaper extends LitElement {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.elevation = PaperElevation.VARIANT_1;
12
+ this.borderRadius = BorderRadiusPaper.NONE;
13
+ this.dark = false;
14
+ }
15
+ static { this.styles = [paperStyles]; }
16
+ _getOptionalClasses() {
17
+ const variantClass = `variant_${this.elevation}`;
18
+ const darkClass = `dark_${this.elevation}`;
19
+ return {
20
+ elevation: true,
21
+ [variantClass]: !this.dark,
22
+ [darkClass]: this.dark,
23
+ };
24
+ }
25
+ render() {
26
+ return html ` <div
27
+ class="${classMap(this._getOptionalClasses())}"
28
+ style="${styleMap({ borderRadius: this.borderRadius })}"
29
+ >
30
+ <slot></slot>
31
+ </div>`;
32
+ }
33
+ };
34
+ __decorate([
35
+ property({ type: PaperElevation })
36
+ ], TuixPaper.prototype, "elevation", void 0);
37
+ __decorate([
38
+ property({ type: String, attribute: 'border-radius' })
39
+ ], TuixPaper.prototype, "borderRadius", void 0);
40
+ __decorate([
41
+ property({ type: Boolean, reflect: true })
42
+ ], TuixPaper.prototype, "dark", void 0);
43
+ TuixPaper = __decorate([
44
+ customElement('tuix-paper')
45
+ ], TuixPaper);
46
+ export { TuixPaper };
@@ -0,0 +1 @@
1
+ export declare const paperStyles: import("lit").CSSResult;
@@ -0,0 +1,30 @@
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { PaperElevation } from './enums/tuix-paper.enum';
3
+ import { Palette } from '../utils/colors';
4
+ const calculatedStyles = Object.values(PaperElevation)
5
+ .slice(1, -1)
6
+ .map((variant, index) => `
7
+ .elevation.variant_${variant} {
8
+ box-shadow: 0px ${2 ** index}px ${2 ** (index + 2)}px ${Palette.SHADOW};
9
+ }
10
+ .elevation.dark_${variant} {
11
+ background-color:rgb(${23 + 3 * index},${23 + 3 * index},${26 + 5 * index});
12
+ }`)
13
+ .join('\n');
14
+ export const paperStyles = css `
15
+ ${unsafeCSS(`
16
+ .elevation {
17
+ background-color: ${Palette.WHITE};
18
+ }
19
+ .elevation.dark_${PaperElevation.VARIANT_0} {
20
+ background-color: ${Palette.BLACK};
21
+ }
22
+ ${calculatedStyles}
23
+ .elevation.variant_${PaperElevation.VARIANT_4} {
24
+ box-shadow: 0px 7px 24px ${Palette.SHADOW};
25
+ }
26
+ .elevation.dark_${PaperElevation.VARIANT_4} {
27
+ background-color: rgb(33, 33, 40);
28
+ }
29
+ `)}
30
+ `;
@@ -0,0 +1,13 @@
1
+ export declare enum PaperElevation {
2
+ VARIANT_0 = "0",
3
+ VARIANT_1 = "1",
4
+ VARIANT_2 = "2",
5
+ VARIANT_3 = "3",
6
+ VARIANT_4 = "4"
7
+ }
8
+ export declare enum BorderRadiusPaper {
9
+ NONE = "0px",
10
+ SOFT = "4px",
11
+ MEDIUM = "10px",
12
+ STRONG = "20px"
13
+ }
@@ -0,0 +1,15 @@
1
+ export var PaperElevation;
2
+ (function (PaperElevation) {
3
+ PaperElevation["VARIANT_0"] = "0";
4
+ PaperElevation["VARIANT_1"] = "1";
5
+ PaperElevation["VARIANT_2"] = "2";
6
+ PaperElevation["VARIANT_3"] = "3";
7
+ PaperElevation["VARIANT_4"] = "4";
8
+ })(PaperElevation || (PaperElevation = {}));
9
+ export var BorderRadiusPaper;
10
+ (function (BorderRadiusPaper) {
11
+ BorderRadiusPaper["NONE"] = "0px";
12
+ BorderRadiusPaper["SOFT"] = "4px";
13
+ BorderRadiusPaper["MEDIUM"] = "10px";
14
+ BorderRadiusPaper["STRONG"] = "20px";
15
+ })(BorderRadiusPaper || (BorderRadiusPaper = {}));
@@ -0,0 +1,16 @@
1
+ import { LitElement } from 'lit';
2
+ import { CheckboxLabelSide } from '../tuix-checkbox/enums/tuix-checkbox.enums';
3
+ import type { TuixRadioButtonOption } from './interfaces/tuix-radio-button.interface';
4
+ export declare class TuixRadioButton extends LitElement {
5
+ static styles: import("lit").CSSResult[];
6
+ disabled: boolean;
7
+ dark: boolean;
8
+ error: boolean;
9
+ options: TuixRadioButtonOption[];
10
+ labelSide: CheckboxLabelSide;
11
+ selectedOption: TuixRadioButtonOption | null;
12
+ private _onRadioButtonChange;
13
+ private _getFullContainerClasses;
14
+ private _formatTemplate;
15
+ render(): import("lit-html").TemplateResult<1>;
16
+ }
@@ -0,0 +1,95 @@
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, html } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { classMap } from 'lit/directives/class-map.js';
5
+ import { CheckboxLabelSide } from '../tuix-checkbox/enums/tuix-checkbox.enums';
6
+ import { TextSize, TextVariant } from '../tuix-text/enums/tuix-text.enums';
7
+ import { radioButtonContainerStyles, radioButtonInnerStyles, radioButtonLabelStyles, radioButtonStyles, radioHostStyles, } from './TuixRadioButton.styles';
8
+ let TuixRadioButton = class TuixRadioButton extends LitElement {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.disabled = false;
12
+ this.dark = false;
13
+ this.error = false;
14
+ this.options = [];
15
+ this.labelSide = CheckboxLabelSide.RIGHT;
16
+ this.selectedOption = null;
17
+ }
18
+ static { this.styles = [
19
+ radioHostStyles,
20
+ radioButtonContainerStyles,
21
+ radioButtonStyles,
22
+ radioButtonInnerStyles,
23
+ radioButtonLabelStyles,
24
+ ]; }
25
+ _onRadioButtonChange(event) {
26
+ this.dispatchEvent(new CustomEvent('change', {
27
+ detail: {
28
+ value: event.target.value,
29
+ },
30
+ bubbles: true,
31
+ }));
32
+ }
33
+ _getFullContainerClasses() {
34
+ return {
35
+ 't-radio-button-full-container': true,
36
+ 't-with-error': this.error && !this.disabled,
37
+ 't-with-label-left': this.labelSide === CheckboxLabelSide.LEFT,
38
+ 't-multiple-options': this.options.length > 1,
39
+ };
40
+ }
41
+ _formatTemplate(option, index) {
42
+ return html `<label class="${classMap(this._getFullContainerClasses())}">
43
+ <div class="t-radio-button-container">
44
+ <input
45
+ type="radio"
46
+ class="t-radio-button"
47
+ ?disabled="${this.disabled}"
48
+ .value="${option}"
49
+ name="tuix-radio-button"
50
+ ?checked="${this.selectedOption === option}"
51
+ @change="${this._onRadioButtonChange}"
52
+ />
53
+ <div class="t-radio-button-checkmark">
54
+ <div class="t-radio-button-inner"></div>
55
+ </div>
56
+ </div>
57
+ <div class="t-radio-button-label">
58
+ <slot name="label-${index}">
59
+ <tuix-text
60
+ size="${TextSize.Field1}"
61
+ color="${TextVariant.PRIMARY}"
62
+ ?dark="${this.dark}"
63
+ >
64
+ ${option}
65
+ </tuix-text>
66
+ </slot>
67
+ </div>
68
+ </label>`;
69
+ }
70
+ render() {
71
+ return html `${this.options.map((option, index) => this._formatTemplate(option, index))}`;
72
+ }
73
+ };
74
+ __decorate([
75
+ property({ type: Boolean, reflect: true })
76
+ ], TuixRadioButton.prototype, "disabled", void 0);
77
+ __decorate([
78
+ property({ type: Boolean, reflect: true })
79
+ ], TuixRadioButton.prototype, "dark", void 0);
80
+ __decorate([
81
+ property({ type: Boolean, reflect: true })
82
+ ], TuixRadioButton.prototype, "error", void 0);
83
+ __decorate([
84
+ property({ type: Array })
85
+ ], TuixRadioButton.prototype, "options", void 0);
86
+ __decorate([
87
+ property({ type: String })
88
+ ], TuixRadioButton.prototype, "labelSide", void 0);
89
+ __decorate([
90
+ property({ type: String })
91
+ ], TuixRadioButton.prototype, "selectedOption", void 0);
92
+ TuixRadioButton = __decorate([
93
+ customElement('tuix-radio-button')
94
+ ], TuixRadioButton);
95
+ export { TuixRadioButton };
@@ -0,0 +1,5 @@
1
+ export declare const radioHostStyles: import("lit").CSSResult;
2
+ export declare const radioButtonContainerStyles: import("lit").CSSResult;
3
+ export declare const radioButtonStyles: import("lit").CSSResult;
4
+ export declare const radioButtonInnerStyles: import("lit").CSSResult;
5
+ export declare const radioButtonLabelStyles: import("lit").CSSResult;
@@ -0,0 +1,135 @@
1
+ import { css, unsafeCSS } from 'lit';
2
+ import { hostStyles } from '../tuix-checkbox/TuixCheckbox.styles';
3
+ import { Palette } from '../utils/colors';
4
+ import { ScreenSizes } from '../utils/screenSizes.enum';
5
+ export const radioHostStyles = css `
6
+ ${hostStyles}
7
+ :host {
8
+ --t-margin-between-radio-buttons: 1rem;
9
+ --t-radio-button-inner-color-disabled: ${unsafeCSS(Palette.PRIMARY_300)};
10
+ }
11
+ `;
12
+ export const radioButtonContainerStyles = css `
13
+ .t-radio-button-full-container {
14
+ display: flex;
15
+ justify-content: var(--t-label-right-default-justify, flex-start);
16
+ cursor: pointer;
17
+ -webkit-user-select: none;
18
+ -moz-user-select: none;
19
+ -ms-user-select: none;
20
+ user-select: none;
21
+ }
22
+ :host([disabled]) .t-radio-button-full-container {
23
+ cursor: not-allowed;
24
+ }
25
+ .t-radio-button-container {
26
+ --t-radio-button-size-box: 1.5rem;
27
+ --t-radio-button-shadow-width: 2px;
28
+ display: block;
29
+ position: relative;
30
+ height: var(--t-radio-button-size-box);
31
+ width: var(--t-radio-button-size-box);
32
+ min-width: var(--t-radio-button-size-box);
33
+ }
34
+ .t-radio-button-container .t-radio-button {
35
+ position: absolute;
36
+ opacity: 0;
37
+ height: 0;
38
+ width: 0;
39
+ }
40
+ @media only screen and (max-width: ${ScreenSizes.MOBILE}px) {
41
+ .t-radio-button-container {
42
+ --t-radio-button-size-box: 1rem;
43
+ --t-radio-button-shadow-width: 1px;
44
+ margin-top: 1px;
45
+ }
46
+ }
47
+ `;
48
+ export const radioButtonStyles = css `
49
+ .t-radio-button-full-container.t-multiple-options {
50
+ margin-bottom: var(--t-margin-between-radio-buttons);
51
+ }
52
+ .t-radio-button-container .t-radio-button-checkmark {
53
+ position: absolute;
54
+ top: 0;
55
+ left: 0;
56
+ display: flex;
57
+ height: var(--t-radio-button-size-box);
58
+ width: var(--t-radio-button-size-box);
59
+ background-color: var(--t-bg-color-primary);
60
+ border: 1px solid var(--t-stroke-color-grey);
61
+ box-sizing: border-box;
62
+ border-radius: 50%;
63
+ }
64
+ .t-radio-button-container
65
+ .t-radio-button:checked
66
+ ~ .t-radio-button-checkmark {
67
+ border: 1px solid var(--t-main-color-tuix);
68
+ }
69
+ .t-radio-button-container .t-radio-button:focus ~ .t-radio-button-checkmark {
70
+ box-shadow: 0 0 0px var(--t-radio-button-shadow-width)
71
+ var(--t-stroke-color-focus);
72
+ }
73
+ .t-radio-button-full-container:hover
74
+ .t-radio-button-container
75
+ .t-radio-button-checkmark {
76
+ border: 1px solid var(--t-main-color-tuix);
77
+ }
78
+ .t-radio-button-full-container.t-with-error
79
+ .t-radio-button-container
80
+ .t-radio-button-checkmark {
81
+ border: 1px solid var(--t-text-color-error);
82
+ }
83
+
84
+ .t-radio-button-container
85
+ .t-radio-button:disabled
86
+ ~ .t-radio-button-checkmark {
87
+ background-color: var(--t-bg-color-disabled);
88
+ border: none;
89
+ box-shadow: none;
90
+ }
91
+ `;
92
+ export const radioButtonInnerStyles = css `
93
+ .t-radio-button-container .t-radio-button-checkmark .t-radio-button-inner {
94
+ background-color: var(--t-main-color-tuix);
95
+ margin: auto;
96
+ height: calc(var(--t-radio-button-size-box) / 2 - 2px);
97
+ width: calc(var(--t-radio-button-size-box) / 2 - 2px);
98
+ border-radius: 50%;
99
+ display: none;
100
+ }
101
+ .t-radio-button-container
102
+ .t-radio-button:checked
103
+ ~ .t-radio-button-checkmark
104
+ .t-radio-button-inner {
105
+ display: block;
106
+ }
107
+ :host([error])
108
+ .t-radio-button-container
109
+ .t-radio-button-checkmark
110
+ .t-radio-button-inner {
111
+ background-color: var(--t-text-color-error);
112
+ }
113
+ :host([disabled])
114
+ .t-radio-button-container
115
+ .t-radio-button-checkmark
116
+ .t-radio-button-inner {
117
+ background-color: var(--t-radio-button-inner-color-disabled);
118
+ cursor: not-allowed;
119
+ }
120
+ `;
121
+ export const radioButtonLabelStyles = css `
122
+ .t-radio-button-label {
123
+ display: block;
124
+ color: var(--t-text-color-label);
125
+ margin-left: 0.625rem;
126
+ }
127
+ .t-radio-button-full-container.t-with-label-left {
128
+ flex-direction: row-reverse;
129
+ justify-content: var(--t-label-left-default-justify, space-between);
130
+ }
131
+ .t-radio-button-full-container.t-with-label-left .t-radio-button-label {
132
+ margin-right: 0.625rem;
133
+ margin-left: 0;
134
+ }
135
+ `;
@@ -0,0 +1,3 @@
1
+ import { type DetailValue } from '../../utils/interfaces/detail-value.interface';
2
+ export type TuixRadioButtonOption = string | number;
3
+ export type CustomEventTuixRadioButton<T extends TuixRadioButtonOption = TuixRadioButtonOption> = CustomEvent<DetailValue<T>>;
@@ -0,0 +1,46 @@
1
+ import { LitElement } from 'lit';
2
+ import type { IDataTableHeader, ThreeDotsLoaderConfig } from './interfaces/tuix-table.interface.js';
3
+ export declare class TuixTable extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ paginated: boolean;
6
+ disableMobileTable: boolean;
7
+ showMobileTableInTablet: boolean;
8
+ loader?: ThreeDotsLoaderConfig;
9
+ data: Record<string, any>[];
10
+ headers: IDataTableHeader<any>[];
11
+ pageSizeOptions: number[];
12
+ totalItems?: number;
13
+ currentPage?: number;
14
+ currentSize?: number;
15
+ isLoadingData: boolean;
16
+ private _isTabletView;
17
+ private _isMobileView;
18
+ private _headerPercents;
19
+ private _mqTablet?;
20
+ private _mqMobile?;
21
+ private _onScreenSizeChange;
22
+ connectedCallback(): void;
23
+ disconnectedCallback(): void;
24
+ updated(changedProps: Map<string, any>): void;
25
+ private get _effectiveTotalItems();
26
+ private get _effectiveCurrentPage();
27
+ private get _effectivePageSize();
28
+ private get totalPages();
29
+ private get _paginationProps();
30
+ private _nextPage;
31
+ private _prevPage;
32
+ private _setPageSize;
33
+ private _computeHeaderPercents;
34
+ private _cellStyleString;
35
+ private _textVariantColor;
36
+ private _renderHeaderCells;
37
+ private _renderCell;
38
+ private _renderRows;
39
+ private _onPageSizeChange;
40
+ private _renderPageSizeOptions;
41
+ private _renderSpinner;
42
+ private _renderPagination;
43
+ private _renderTable;
44
+ private _renderCards;
45
+ render(): import("lit-html").TemplateResult<1>;
46
+ }