xv-webcomponents 0.1.39 → 0.1.41

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 (103) hide show
  1. package/dist/cjs/{index-D41mMXvd.js → index-MLh9SbX2.js} +349 -8
  2. package/dist/cjs/index-MLh9SbX2.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{xv-accordion-v2_27.cjs.entry.js → xv-accordion-v2_33.cjs.entry.js} +2214 -87
  5. package/dist/cjs/xv-accordion-v2_33.cjs.entry.js.map +1 -0
  6. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +1 -1
  7. package/dist/cjs/xv-webcomponents.cjs.js +3 -3
  8. package/dist/cjs/xv-webcomponents.cjs.js.map +1 -1
  9. package/dist/collection/collection-manifest.json +7 -1
  10. package/dist/collection/components/xv-button/xv-button-v2.css +136 -118
  11. package/dist/collection/components/xv-button/xv-button.js +132 -67
  12. package/dist/collection/components/xv-button/xv-button.js.map +1 -1
  13. package/dist/collection/components/xv-card/xv-card.js +1 -1
  14. package/dist/collection/components/xv-checkbox/xv-checkbox.css +3 -0
  15. package/dist/collection/components/xv-checkbox/xv-checkbox.js +1 -1
  16. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.css +30 -0
  17. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +80 -0
  18. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js.map +1 -0
  19. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.css +4 -0
  20. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +42 -0
  21. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js.map +1 -0
  22. package/dist/collection/components/xv-data-table/xv-data-table.css +51 -0
  23. package/dist/collection/components/xv-data-table/xv-data-table.js +130 -0
  24. package/dist/collection/components/xv-data-table/xv-data-table.js.map +1 -0
  25. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
  26. package/dist/collection/components/xv-dropdown/xv-dropdown.css +6 -1
  27. package/dist/collection/components/xv-dropdown/xv-dropdown.js +20 -1
  28. package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
  29. package/dist/collection/components/xv-file-uploader/_vars.js +6 -0
  30. package/dist/collection/components/xv-file-uploader/_vars.js.map +1 -0
  31. package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +136 -0
  32. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +448 -0
  33. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js.map +1 -0
  34. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  35. package/dist/collection/components/xv-header/xv-header.js +1 -1
  36. package/dist/collection/components/xv-link/xv-link.js +1 -1
  37. package/dist/collection/components/xv-modal/xv-modal.js +1 -1
  38. package/dist/collection/components/xv-notification/xv-notification.css +1 -0
  39. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  40. package/dist/collection/components/xv-number-input/xv-number-input.css +128 -0
  41. package/dist/collection/components/xv-number-input/xv-number-input.js +373 -0
  42. package/dist/collection/components/xv-number-input/xv-number-input.js.map +1 -0
  43. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  44. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
  45. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  46. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
  47. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
  48. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
  49. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
  50. package/dist/collection/components/xv-table/xv-table.js +1 -1
  51. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  52. package/dist/collection/components/xv-tabs/xv-tabs.js +1 -2
  53. package/dist/collection/components/xv-tabs/xv-tabs.js.map +1 -1
  54. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  55. package/dist/collection/components/xv-text-input/xv-text-input.css +110 -89
  56. package/dist/collection/components/xv-text-input/xv-text-input.js +113 -80
  57. package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
  58. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.css +95 -0
  59. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +201 -0
  60. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js.map +1 -0
  61. package/dist/collection/components/xv-tooltip/xv-tooltip.css +31 -147
  62. package/dist/collection/components/xv-tooltip/xv-tooltip.js +59 -34
  63. package/dist/collection/components/xv-tooltip/xv-tooltip.js.map +1 -1
  64. package/dist/esm/{index-Datpns0U.js → index-DLYJiP99.js} +349 -8
  65. package/dist/esm/index-DLYJiP99.js.map +1 -0
  66. package/dist/esm/loader.js +3 -3
  67. package/dist/esm/{xv-accordion-v2_27.entry.js → xv-accordion-v2_33.entry.js} +2209 -88
  68. package/dist/esm/xv-accordion-v2_33.entry.js.map +1 -0
  69. package/dist/esm/xv-breadcrumbs-v2.entry.js +1 -1
  70. package/dist/esm/xv-webcomponents.js +4 -4
  71. package/dist/esm/xv-webcomponents.js.map +1 -1
  72. package/dist/types/components/xv-button/xv-button.d.ts +21 -12
  73. package/dist/types/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.d.ts +6 -0
  74. package/dist/types/components/xv-data-table/xv-data-table-row/xv-data-table-row.d.ts +4 -0
  75. package/dist/types/components/xv-data-table/xv-data-table.d.ts +9 -0
  76. package/dist/types/components/xv-dropdown/xv-dropdown.d.ts +1 -0
  77. package/dist/types/components/xv-file-uploader/_vars.d.ts +4 -0
  78. package/dist/types/components/xv-file-uploader/xv-file-uploader.d.ts +36 -0
  79. package/dist/types/components/xv-number-input/xv-number-input.d.ts +26 -0
  80. package/dist/types/components/xv-text-input/xv-text-input.d.ts +10 -11
  81. package/dist/types/components/xv-toggle-tip/xv-toggle-tip.d.ts +19 -0
  82. package/dist/types/components/xv-tooltip/xv-tooltip.d.ts +10 -8
  83. package/dist/types/components.d.ts +605 -49
  84. package/dist/xv-webcomponents/{p-054f5d59.entry.js → p-5b63a259.entry.js} +2 -2
  85. package/dist/xv-webcomponents/p-DLYJiP99.js +3 -0
  86. package/dist/xv-webcomponents/p-DLYJiP99.js.map +1 -0
  87. package/dist/xv-webcomponents/p-ec72208c.entry.js +2 -0
  88. package/dist/xv-webcomponents/p-ec72208c.entry.js.map +1 -0
  89. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  90. package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
  91. package/package.json +6 -4
  92. package/dist/cjs/index-D41mMXvd.js.map +0 -1
  93. package/dist/cjs/xv-accordion-v2_27.cjs.entry.js.map +0 -1
  94. package/dist/collection/components/xv-text-input/_vars.js +0 -7
  95. package/dist/collection/components/xv-text-input/_vars.js.map +0 -1
  96. package/dist/esm/index-Datpns0U.js.map +0 -1
  97. package/dist/esm/xv-accordion-v2_27.entry.js.map +0 -1
  98. package/dist/types/components/xv-text-input/_vars.d.ts +0 -5
  99. package/dist/xv-webcomponents/p-6a4cc790.entry.js +0 -2
  100. package/dist/xv-webcomponents/p-6a4cc790.entry.js.map +0 -1
  101. package/dist/xv-webcomponents/p-Datpns0U.js +0 -3
  102. package/dist/xv-webcomponents/p-Datpns0U.js.map +0 -1
  103. /package/dist/xv-webcomponents/{p-054f5d59.entry.js.map → p-5b63a259.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"xv-tabs.js","sourceRoot":"","sources":["../../../src/components/xv-tabs/xv-tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Element, Prop, Event, EventEmitter, State, Listen } from '@stencil/core';\nimport { TAB_TAGS, TABS_VATIANT } from './_vars';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-tabs-v2',\n styleUrl: 'xv-tabs.scss',\n shadow: true,\n})\nexport class XvTabs {\n @Element() el: HTMLElement;\n /**\n * Index of active tab\n */\n @Prop({ reflect: true, mutable: true }) active: number | string = 0;\n /**\n * Emit event to outside\n */\n @Event() activeChange: EventEmitter<number | string>;\n /**\n * Show loader\n */\n @Prop({ reflect: true }) loading?: boolean;\n /**\n * Variant of tabs from TABS_VATIANT enum\n */\n @Prop() variant: TABS_VATIANT = TABS_VATIANT.DEFAULT;\n /**\n * Message when have no tabs\n */\n @Prop() emptyMessage?: string;\n /**\n * local variable for tab labels collection\n */\n @State() tabElements: HTMLElement[] = [];\n /**\n * Is show arrows for scroll\n */\n @State() showArrows: boolean = false;\n\n @Listen('resize', { target: 'window' })\n updateArrowVisibility() {\n const container = this.el.shadowRoot?.querySelector('.tab-headers_container') as HTMLElement | null;\n if (!container) return;\n\n this.showArrows = container.scrollWidth > container.clientWidth;\n }\n\n private collectTabs = () => {\n if (!this.tabElements.length) {\n this.tabElements = Array.from(this.el.querySelectorAll(TAB_TAGS.TAB));\n this.tabElements.forEach((tab) => {\n if (tab.hasAttribute('name') && !this.active) {\n this.active = tab.getAttribute('name');\n }\n })\n\n setTimeout(() => this.updateArrowVisibility(), 100);\n }\n }\n\n private updateTabClasses() {\n this.tabElements.forEach((tab, i) => {\n tab.classList.toggle(\n 'active',\n (tab.getAttribute('name') || `${i}`) === `${this.active}`\n );\n });\n }\n\n private handleTabClick(active: string | number) {\n if (active === this.active) return;\n\n this.active = active;\n this.activeChange.emit(Number(this.active) || this.active);\n this.scrollToActiveTab();\n }\n\n private scrollToActiveTab() {\n if (!this.showArrows) return;\n\n // wait next JS tik\n setTimeout(() => {\n this.el.shadowRoot\n .querySelector('.tab-headers_tab.active')\n .scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });\n });\n }\n\n private setTab(count: number = 1) {\n const currentIdx = this.tabElements.findIndex(\n (tab, i) =>\n (tab.getAttribute('name') || `${i}`) === `${this.active}`\n );\n const nextIdx = currentIdx + count;\n\n if (nextIdx < 0 || nextIdx >= this.tabElements.length) return;\n\n const nextTab = this.tabElements[nextIdx];\n\n if (!nextTab || nextTab.hasAttribute('disabled')) return;\n\n this.active = nextTab.getAttribute('name') || `${nextIdx}`;\n this.scrollToActiveTab();\n }\n\n render() {\n if (this.loading) {\n return (\n <Host class=\"xv-tabs\" variant={this.variant}>\n <xv-loader-v2 size={SIZE_VAR.XL} />\n </Host>\n )\n }\n\n return (\n <Host class=\"xv-tabs\" variant={this.variant}>\n <div class=\"tab-headers\" role=\"tablist\">\n <button\n hidden={!this.showArrows || !this.tabElements?.length}\n aria-label=\"Previous\"\n class=\"tab-headers_btn prev\"\n onClick={() => this.setTab(-1)}\n />\n <div class=\"tab-headers_container\">\n {this.tabElements?.length ? this.tabElements.map((tab, index) => (\n <button\n role=\"tab\"\n disabled={!!tab.getAttribute('disabled') || !!(tab as any)?.disabled}\n class={{\n 'tab-headers_tab': true,\n active: (tab.getAttribute('name') || `${index}`) === `${this.active}`,\n }}\n onClick={() => this.handleTabClick(tab.getAttribute('name') || `${index}`)}\n >\n {tab.getAttribute('label') || `Tab ${index + 1}`}\n </button>\n )) : this.emptyMessage && <p class=\"xv-tabs_empty\">{this.emptyMessage}</p>}\n </div>\n <button\n aria-label=\"Next\"\n hidden={!this.showArrows || !this.tabElements?.length}\n class=\"tab-headers_btn next\"\n onClick={() => this.setTab(1)}\n />\n </div>\n\n <div\n class=\"tab-content-wrapper\"\n role=\"tabpanel\"\n tabindex={-1}\n >\n <slot onSlotchange={this.collectTabs} />\n </div>\n </Host>\n );\n }\n\n componentDidRender() {\n this.updateTabClasses();\n }\n}\n"]}
1
+ {"version":3,"file":"xv-tabs.js","sourceRoot":"","sources":["../../../src/components/xv-tabs/xv-tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Element, Prop, Event, EventEmitter, State, Listen } from '@stencil/core';\nimport { TAB_TAGS, TABS_VATIANT } from './_vars';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-tabs-v2',\n styleUrl: 'xv-tabs.scss',\n shadow: true,\n})\nexport class XvTabs {\n @Element() el: HTMLElement;\n /**\n * Index of active tab\n */\n @Prop({ reflect: true, mutable: true }) active: number | string = 0;\n /**\n * Emit event to outside\n */\n @Event() activeChange: EventEmitter<number | string>;\n /**\n * Show loader\n */\n @Prop({ reflect: true }) loading?: boolean;\n /**\n * Variant of tabs from TABS_VATIANT enum\n */\n @Prop() variant: TABS_VATIANT = TABS_VATIANT.DEFAULT;\n /**\n * Message when have no tabs\n */\n @Prop() emptyMessage?: string;\n /**\n * local variable for tab labels collection\n */\n @State() tabElements: HTMLElement[] = [];\n /**\n * Is show arrows for scroll\n */\n @State() showArrows: boolean = false;\n\n @Listen('resize', { target: 'window' })\n updateArrowVisibility() {\n const container = this.el.shadowRoot?.querySelector('.tab-headers_container') as HTMLElement | null;\n if (!container) return;\n\n this.showArrows = container.scrollWidth > container.clientWidth;\n }\n\n private collectTabs = () => {\n if (!this.tabElements.length) {\n this.tabElements = Array.from(this.el.querySelectorAll(TAB_TAGS.TAB));\n this.tabElements.forEach((tab) => {\n if (tab.hasAttribute('name') && !this.active) {\n this.active = tab.getAttribute('name');\n }\n })\n\n setTimeout(() => this.updateArrowVisibility(), 100);\n }\n }\n\n private updateTabClasses() {\n this.tabElements.forEach((tab, i) => {\n tab.classList.toggle(\n 'active',\n (tab.getAttribute('name') || `${i}`) === `${this.active}`\n );\n });\n }\n\n private handleTabClick(active: string | number) {\n if (active === this.active) return;\n\n this.active = active;\n this.activeChange.emit(Number(this.active) || this.active);\n this.scrollToActiveTab();\n }\n\n private scrollToActiveTab() {\n if (!this.showArrows) return;\n\n // wait next JS tik\n setTimeout(() => {\n this.el.shadowRoot\n .querySelector('.tab-headers_tab.active')\n .scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });\n });\n }\n\n private setTab(count: number = 1) {\n const currentIdx = this.tabElements.findIndex(\n (tab, i) =>\n (tab.getAttribute('name') || `${i}`) === `${this.active}`\n );\n const nextIdx = currentIdx + count;\n\n if (nextIdx < 0 || nextIdx >= this.tabElements.length) return;\n\n const nextTab = this.tabElements[nextIdx];\n\n if (!nextTab || nextTab.hasAttribute('disabled')) return;\n\n this.handleTabClick(nextTab.getAttribute('name') || nextIdx);\n }\n\n render() {\n if (this.loading) {\n return (\n <Host class=\"xv-tabs\" variant={this.variant}>\n <xv-loader-v2 size={SIZE_VAR.XL} />\n </Host>\n )\n }\n\n return (\n <Host class=\"xv-tabs\" variant={this.variant}>\n <div class=\"tab-headers\" role=\"tablist\">\n <button\n hidden={!this.showArrows || !this.tabElements?.length}\n aria-label=\"Previous\"\n class=\"tab-headers_btn prev\"\n onClick={() => this.setTab(-1)}\n />\n <div class=\"tab-headers_container\">\n {this.tabElements?.length ? this.tabElements.map((tab, index) => (\n <button\n role=\"tab\"\n disabled={!!tab.getAttribute('disabled') || !!(tab as any)?.disabled}\n class={{\n 'tab-headers_tab': true,\n active: (tab.getAttribute('name') || `${index}`) === `${this.active}`,\n }}\n onClick={() => this.handleTabClick(tab.getAttribute('name') || `${index}`)}\n >\n {tab.getAttribute('label') || `Tab ${index + 1}`}\n </button>\n )) : this.emptyMessage && <p class=\"xv-tabs_empty\">{this.emptyMessage}</p>}\n </div>\n <button\n aria-label=\"Next\"\n hidden={!this.showArrows || !this.tabElements?.length}\n class=\"tab-headers_btn next\"\n onClick={() => this.setTab(1)}\n />\n </div>\n\n <div\n class=\"tab-content-wrapper\"\n role=\"tabpanel\"\n tabindex={-1}\n >\n <slot onSlotchange={this.collectTabs} />\n </div>\n </Host>\n );\n }\n\n componentDidRender() {\n this.updateTabClasses();\n }\n}\n"]}
@@ -13,7 +13,7 @@ export class XvTag {
13
13
  this.closeClick.emit(e);
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: '14b055dd7dedf6b5fcba8b8b3eb2f5f508d805a9', style: { color: this.color, background: this.bg }, class: `xv-tag ${this.disabled ? 'disabled' : ''} ${this.size}` }, h("div", { key: 'f68b22e13acb0cde1e9f80260625a72439a412df', class: "xv-tag_content" }, h("slot", { key: 'c4bbfc6909234057747f0cb4b13fd6a24f14a356' })), this.closeable && (h("button", { key: 'e05cd88033f44a852c7de9615fde4a4ebcee0d79', onClick: this.closeHandler.bind(this), class: "xv-tag_close" }))));
16
+ return (h(Host, { key: '0f30c136dab805c0c443c6ca81d8245d4ec6f0b5', style: { color: this.color, background: this.bg }, class: `xv-tag ${this.disabled ? 'disabled' : ''} ${this.size}` }, h("div", { key: 'ac1ee723f78ed280af64ea13b8475d7f0ddd01ee', class: "xv-tag_content" }, h("slot", { key: 'b808df5553d25f32bbe875c1ff68f68b6a6d4c73' })), this.closeable && (h("button", { key: '23784cc30119255ad0e7f80a8d23322922e2c633', onClick: this.closeHandler.bind(this), class: "xv-tag_close" }))));
17
17
  }
18
18
  static get is() { return "xv-tag-v2"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -1,123 +1,144 @@
1
1
  :host {
2
- --text-input-padding-x: 16px;
3
- --text-input-padding-y: 11px;
4
- display: inline-flex;
5
- flex-direction: column;
6
- row-gap: calc(var(--text-input-padding-y) / 2);
2
+ display: inline-block;
7
3
  text-align: left;
8
- font-family: var(--ff-body, Tahoma);
9
4
  }
10
- :host .label {
11
- margin: 0;
5
+ :host .control_label {
6
+ display: block;
7
+ margin-bottom: var(--spacing-03);
12
8
  color: var(--text-secondary, #515151);
9
+ font-family: var(--ff-body, Tahoma);
13
10
  font-size: var(--fz-sm, 12px);
11
+ font-style: normal;
14
12
  font-weight: 700;
15
- line-height: 133.333%;
13
+ line-height: var(--fz-md);
16
14
  letter-spacing: 0.32px;
17
15
  }
18
- :host .control {
19
- margin: 0;
20
- position: relative;
21
- box-sizing: border-box;
16
+ :host .control_input {
22
17
  display: flex;
23
- column-gap: 5px;
24
- align-items: center;
25
- flex-direction: row;
26
- }
27
- :host .control input {
28
- width: 100%;
29
- background-color: var(--field-02, #FFF);
30
- border: 1px solid var(--border-strong-01, #E3E3E3);
18
+ border: 1px solid var(--border-subtle-01);
19
+ outline: 2px solid transparent;
20
+ background-color: transparent;
31
21
  border-radius: 3px;
32
- padding-block: var(--text-input-padding-y);
33
- padding-inline-start: var(--text-input-padding-x);
34
- padding-inline-end: var(--text-input-padding-x);
22
+ transition: 250ms ease-in-out border-color, 250ms ease-in-out outline-color;
23
+ }
24
+ :host .control_input:hover {
25
+ border-color: var(--border-subtle-selected-01);
26
+ }
27
+ :host .control_input:focus-within {
28
+ outline-color: var(--focus);
29
+ }
30
+ :host .control_input.error {
31
+ outline-color: var(--support-error);
32
+ }
33
+ :host .control_input.readonly {
34
+ border-radius: 0;
35
+ border-top-width: 0;
36
+ border-left-width: 0;
37
+ border-right-width: 0;
38
+ outline-color: transparent;
39
+ }
40
+ :host .control_input input[type=text] {
35
41
  flex: 1;
36
- outline: 2px solid transparent;
37
- color: var(--text-primary, #333);
38
- font-size: var(--fz-md, 14px);
42
+ border: none;
43
+ outline: none;
44
+ -moz-appearance: textfield;
45
+ background-color: transparent;
46
+ margin: 0;
47
+ padding-block: 0;
48
+ padding-inline: var(--spacing-05);
49
+ box-sizing: border-box;
50
+ color: var(--text-primary);
51
+ min-width: 20px;
39
52
  font-style: normal;
40
53
  font-weight: 400;
41
- line-height: 128.571%;
42
54
  letter-spacing: 0.16px;
43
- transition: 0.2s ease-in-out border-color, 0.2s ease-in-out outline-color;
44
55
  }
45
- :host .control input.withIcon {
46
- padding-inline-end: calc(var(--text-input-padding-x) + 22px);
56
+ :host .control_input input[type=text]::-webkit-inner-spin-button, :host .control_input input[type=text]::-webkit-outer-spin-button {
57
+ -webkit-appearance: none;
58
+ margin: 0;
47
59
  }
48
- :host .control input::placeholder {
49
- color: var(--text-placeholder, #ACACAC);
60
+ :host .control_input__icons {
61
+ display: inline-flex;
62
+ align-items: stretch;
63
+ column-gap: 2px;
64
+ padding-right: var(--spacing-05);
50
65
  }
51
- :host .control input:focus {
52
- outline: 2px solid var(--focus, #273435);
66
+ :host .control_input__icons .status-icon {
67
+ display: inline-flex;
68
+ align-items: center;
69
+ align-self: center;
70
+ font-size: 1.35em;
71
+ }
72
+ :host .control_input__icons .status-icon.error {
73
+ background-color: var(--support-error);
74
+ color: white;
75
+ width: 16px;
76
+ height: 16px;
77
+ border-radius: 8px;
78
+ font-size: 12px;
79
+ font-weight: bold;
80
+ align-items: center;
81
+ justify-content: center;
82
+ }
83
+ :host .control_input__icons .status-icon.warning {
84
+ color: var(--support-warning);
85
+ }
86
+ :host .control_input__icons hr {
87
+ border: none;
88
+ outline: none;
89
+ width: 2px;
90
+ height: 60%;
91
+ align-self: center;
92
+ background-color: var(--border-subtle-01);
93
+ display: inline-flex;
53
94
  }
54
- :host .control_icon {
55
- position: absolute;
56
- top: calc(50% - 9px);
57
- right: var(--text-input-padding-y);
58
- width: 18px;
59
- height: 18px;
95
+ :host .control_input.xs {
96
+ height: 16px;
60
97
  }
61
- :host .control_icon.error {
62
- color: var(--support-error, #F1290E);
98
+ :host .control_input.sm {
99
+ height: 32px;
63
100
  }
64
- :host .control_icon.warning {
65
- color: var(--support-warning, #FF7F04);
101
+ :host .control_input.md {
102
+ height: 40px;
66
103
  }
67
- :host .helper {
68
- margin: 0;
104
+ :host .control_input.lg {
105
+ height: 48px;
106
+ }
107
+ :host .control_input.xl {
108
+ height: 60px;
109
+ }
110
+ :host .message {
111
+ margin: var(--spacing-02) 0 0;
69
112
  color: var(--text-helper, #646464);
70
113
  font-size: var(--fz-sm, 12px);
71
- line-height: 133.333%;
114
+ font-style: normal;
115
+ font-weight: 400;
116
+ line-height: var(--fz-md, 16px);
72
117
  letter-spacing: 0.32px;
73
118
  }
74
-
75
- :host([status=error]) .control input {
76
- border-color: var(--support-error, #F1290E);
77
- }
78
- :host([status=error]) .control input:focus {
79
- outline-color: var(--support-error, #F1290E);
80
- }
81
- :host([status=error]) .helper {
82
- color: var(--text-error, #D62512);
83
- }
84
-
85
- :host([readonly]) .control input {
86
- border-top-color: transparent;
87
- border-right-color: transparent;
88
- border-left-color: transparent;
89
- cursor: default;
90
- background-color: transparent;
119
+ :host .message.error {
120
+ color: var(--text-error);
91
121
  }
92
- :host([readonly]) .control input:focus {
93
- outline-color: transparent;
122
+ :host .message.warning {
123
+ color: var(--text-secondary, #515151);
94
124
  }
95
125
 
96
- :host([disabled]) {
97
- opacity: 0.4;
98
- }
99
- :host([disabled]) .control input {
126
+ :host(.disabled) {
100
127
  cursor: not-allowed;
101
128
  }
102
-
103
- :host([size=xs]) {
104
- --text-input-padding-y: 4px;
105
- --text-input-padding-x: 6px;
106
- }
107
-
108
- :host([size=sm]) {
109
- --text-input-padding-y: 7px;
110
- }
111
-
112
- :host([size=md]) {
113
- --text-input-padding-y: 11px;
129
+ :host(.disabled) .control_label,
130
+ :host(.disabled) .control_input input[type=text],
131
+ :host(.disabled) .control_input input[type=text]::placeholder,
132
+ :host(.disabled) .message:not(.error) {
133
+ color: var(--text-disabled);
134
+ cursor: not-allowed;
114
135
  }
115
-
116
- :host([size=lg]) {
117
- --text-input-padding-y: 15px;
136
+ :host(.disabled) .control_input__icons,
137
+ :host(.disabled) .message.error {
138
+ opacity: 0.5;
139
+ cursor: not-allowed;
118
140
  }
119
141
 
120
- :host([size=xl]) {
121
- --text-input-padding-y: 16px;
122
- --text-input-padding-x: 18px;
142
+ :host([block]) {
143
+ display: block;
123
144
  }
@@ -1,6 +1,5 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { SIZE_VAR } from "../../types/enum";
3
- import { TextInputStatus } from "./_vars";
4
3
  /**
5
4
  * xv-text-input — custom input
6
5
  * ti get data you can use default Input event
@@ -8,38 +7,25 @@ import { TextInputStatus } from "./_vars";
8
7
  */
9
8
  export class XvTextInput {
10
9
  constructor() {
11
- this.helper = '';
12
- this.size = SIZE_VAR.MD;
13
- this.status = TextInputStatus.DEF;
10
+ this.type = 'text';
14
11
  this.value = '';
15
- this.disabled = false;
16
- this.readonly = false;
17
12
  this.loading = false;
13
+ this.size = SIZE_VAR.MD;
18
14
  this.handleInput = (e) => {
19
15
  const target = e.target;
20
16
  this.value = target.value;
21
17
  this.valueChange.emit(this.value);
22
18
  this.internals.setFormValue(target.value);
23
19
  };
24
- this.getControlIcon = (status) => {
25
- if (this.loading) {
26
- return h("xv-loader-v2", { class: "control_icon", size: SIZE_VAR.XS });
27
- }
28
- switch (status) {
29
- case TextInputStatus.ERROR: {
30
- return (h("svg", { class: "control_icon error", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" }, h("path", { fill: "currentColor", d: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z" })));
31
- }
32
- case TextInputStatus.WARNING:
33
- return (h("svg", { class: "control_icon warning", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" }, h("path", { fill: "currentColor", d: "M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z" })));
34
- default: return null;
35
- }
36
- };
37
20
  }
38
21
  render() {
39
- return (h(Host, { key: 'ff06aea5ae7498aaf2c855da8ee0f7a0522456e4', name: this.name, class: "xv-text-input", role: "textbox", tabindex: this.disabled ? -1 : false }, this.label && h("label", { key: 'cf8084b9c0aab74c87297e1af0ea6d069cb6b8f1', class: "label" }, this.label), h("div", { key: '9ebc989deb41e835f30c72f4777d94cadd68a023', class: "control" }, h("input", { key: '82b18d350f325ae32daad68552ac083dd2c3b157', type: "text", class: { withIcon: this.status !== TextInputStatus.DEF }, readonly: this.readonly, value: this.value, disabled: this.disabled, onInput: this.handleInput, placeholder: this.placeholder }), this.getControlIcon(this.status)), this.helper && h("p", { key: '070097a66e9a21872b8245305a24070fc5b8f443', class: "helper" }, this.helper)));
40
- }
41
- componentWillLoad() {
42
- this.internals.setFormValue(this.value);
22
+ return (h(Host, { key: 'b6a0c46c10d556b41af3b2699b0cf75f54d38215', class: { disabled: !!this.disabled } }, h("label", { key: '39863902604461d77cefe6e11958f09e14d00007', class: "control" }, this.label && h("span", { key: '88d1301fa0f1cb47d391ef3932bdeb084d3df0b7', class: "control_label" }, this.label), h("div", { key: '0e8dff5c41c7375ae4d77af5c5c60312a74ae319', class: {
23
+ 'control_input': true,
24
+ readonly: !!this.readonly,
25
+ [this.size]: true,
26
+ error: !!this.error,
27
+ warning: !!this.warning,
28
+ } }, h("input", { key: 'c8bb49371f49c3b42c83472f9a9e68d05a28801d', type: this.type, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onInput: this.handleInput, name: this.name, value: this.value }), h("div", { key: 'c0af21628c89dc843ad00168a539327fb47a9ed2', class: "control_input__icons" }, this.loading && h("xv-loader-v2", { key: '2916d327464f17ff4bb140c54dd209101ef90f07', size: SIZE_VAR.XS }), !!this.error ? (h("span", { class: "status-icon error", "aria-hidden": "true" }, "!")) : !!this.warning ? (h("span", { class: "status-icon warning", "aria-hidden": "true" }, "\u26A0")) : null))), this.helper && h("p", { key: 'c67ce9f2f5fdfeddf3f42bc1dda62ff4ac9b9801', class: "message" }, this.helper), typeof this.error === 'string' ? (h("p", { class: "message error" }, this.error)) : typeof this.warning === 'string' ? (h("p", { class: "message warning" }, this.warning)) : null));
43
29
  }
44
30
  static get is() { return "xv-text-input-v2"; }
45
31
  static get encapsulation() { return "shadow"; }
@@ -56,6 +42,26 @@ export class XvTextInput {
56
42
  }
57
43
  static get properties() {
58
44
  return {
45
+ "type": {
46
+ "type": "string",
47
+ "attribute": "type",
48
+ "mutable": false,
49
+ "complexType": {
50
+ "original": "'text' | 'email' | 'password' | 'url' | 'tel'",
51
+ "resolved": "\"email\" | \"password\" | \"tel\" | \"text\" | \"url\"",
52
+ "references": {}
53
+ },
54
+ "required": false,
55
+ "optional": false,
56
+ "docs": {
57
+ "tags": [],
58
+ "text": ""
59
+ },
60
+ "getter": false,
61
+ "setter": false,
62
+ "reflect": false,
63
+ "defaultValue": "'text'"
64
+ },
59
65
  "label": {
60
66
  "type": "string",
61
67
  "attribute": "label",
@@ -66,14 +72,14 @@ export class XvTextInput {
66
72
  "references": {}
67
73
  },
68
74
  "required": false,
69
- "optional": true,
75
+ "optional": false,
70
76
  "docs": {
71
77
  "tags": [],
72
78
  "text": ""
73
79
  },
74
80
  "getter": false,
75
81
  "setter": false,
76
- "reflect": true
82
+ "reflect": false
77
83
  },
78
84
  "placeholder": {
79
85
  "type": "string",
@@ -94,9 +100,9 @@ export class XvTextInput {
94
100
  "setter": false,
95
101
  "reflect": true
96
102
  },
97
- "helper": {
103
+ "name": {
98
104
  "type": "string",
99
- "attribute": "helper",
105
+ "attribute": "name",
100
106
  "mutable": false,
101
107
  "complexType": {
102
108
  "original": "string",
@@ -111,12 +117,31 @@ export class XvTextInput {
111
117
  },
112
118
  "getter": false,
113
119
  "setter": false,
114
- "reflect": true,
120
+ "reflect": true
121
+ },
122
+ "value": {
123
+ "type": "string",
124
+ "attribute": "value",
125
+ "mutable": true,
126
+ "complexType": {
127
+ "original": "string",
128
+ "resolved": "string",
129
+ "references": {}
130
+ },
131
+ "required": false,
132
+ "optional": false,
133
+ "docs": {
134
+ "tags": [],
135
+ "text": ""
136
+ },
137
+ "getter": false,
138
+ "setter": false,
139
+ "reflect": false,
115
140
  "defaultValue": "''"
116
141
  },
117
- "name": {
142
+ "helper": {
118
143
  "type": "string",
119
- "attribute": "name",
144
+ "attribute": "helper",
120
145
  "mutable": false,
121
146
  "complexType": {
122
147
  "original": "string",
@@ -131,79 +156,64 @@ export class XvTextInput {
131
156
  },
132
157
  "getter": false,
133
158
  "setter": false,
134
- "reflect": true
159
+ "reflect": false
135
160
  },
136
- "size": {
137
- "type": "string",
138
- "attribute": "size",
161
+ "error": {
162
+ "type": "any",
163
+ "attribute": "error",
139
164
  "mutable": false,
140
165
  "complexType": {
141
- "original": "SIZE_VAR",
142
- "resolved": "SIZE_VAR.LG | SIZE_VAR.MD | SIZE_VAR.SM | SIZE_VAR.XL | SIZE_VAR.XS",
143
- "references": {
144
- "SIZE_VAR": {
145
- "location": "import",
146
- "path": "../../types/enum",
147
- "id": "src/types/enum.ts::SIZE_VAR"
148
- }
149
- }
166
+ "original": "string | boolean",
167
+ "resolved": "boolean | string",
168
+ "references": {}
150
169
  },
151
170
  "required": false,
152
- "optional": false,
171
+ "optional": true,
153
172
  "docs": {
154
173
  "tags": [],
155
174
  "text": ""
156
175
  },
157
176
  "getter": false,
158
177
  "setter": false,
159
- "reflect": true,
160
- "defaultValue": "SIZE_VAR.MD"
178
+ "reflect": false
161
179
  },
162
- "status": {
163
- "type": "string",
164
- "attribute": "status",
180
+ "warning": {
181
+ "type": "any",
182
+ "attribute": "warning",
165
183
  "mutable": false,
166
184
  "complexType": {
167
- "original": "TextInputStatus",
168
- "resolved": "TextInputStatus.DEF | TextInputStatus.ERROR | TextInputStatus.WARNING",
169
- "references": {
170
- "TextInputStatus": {
171
- "location": "import",
172
- "path": "./_vars",
173
- "id": "src/components/xv-text-input/_vars.ts::TextInputStatus"
174
- }
175
- }
185
+ "original": "string | boolean",
186
+ "resolved": "boolean | string",
187
+ "references": {}
176
188
  },
177
189
  "required": false,
178
- "optional": false,
190
+ "optional": true,
179
191
  "docs": {
180
192
  "tags": [],
181
193
  "text": ""
182
194
  },
183
195
  "getter": false,
184
196
  "setter": false,
185
- "reflect": true,
186
- "defaultValue": "TextInputStatus.DEF"
197
+ "reflect": false
187
198
  },
188
- "value": {
189
- "type": "string",
190
- "attribute": "value",
191
- "mutable": true,
199
+ "readonly": {
200
+ "type": "boolean",
201
+ "attribute": "readonly",
202
+ "mutable": false,
192
203
  "complexType": {
193
- "original": "string",
194
- "resolved": "string",
204
+ "original": "boolean",
205
+ "resolved": "boolean",
195
206
  "references": {}
196
207
  },
197
208
  "required": false,
198
- "optional": false,
209
+ "optional": true,
199
210
  "docs": {
200
211
  "tags": [],
201
212
  "text": ""
202
213
  },
203
214
  "getter": false,
204
215
  "setter": false,
205
- "reflect": true,
206
- "defaultValue": "''"
216
+ "reflect": false
207
217
  },
208
218
  "disabled": {
209
219
  "type": "boolean",
@@ -215,19 +225,18 @@ export class XvTextInput {
215
225
  "references": {}
216
226
  },
217
227
  "required": false,
218
- "optional": false,
228
+ "optional": true,
219
229
  "docs": {
220
230
  "tags": [],
221
231
  "text": ""
222
232
  },
223
233
  "getter": false,
224
234
  "setter": false,
225
- "reflect": true,
226
- "defaultValue": "false"
235
+ "reflect": false
227
236
  },
228
- "readonly": {
237
+ "loading": {
229
238
  "type": "boolean",
230
- "attribute": "readonly",
239
+ "attribute": "loading",
231
240
  "mutable": false,
232
241
  "complexType": {
233
242
  "original": "boolean",
@@ -242,12 +251,12 @@ export class XvTextInput {
242
251
  },
243
252
  "getter": false,
244
253
  "setter": false,
245
- "reflect": true,
254
+ "reflect": false,
246
255
  "defaultValue": "false"
247
256
  },
248
- "loading": {
257
+ "block": {
249
258
  "type": "boolean",
250
- "attribute": "loading",
259
+ "attribute": "block",
251
260
  "mutable": false,
252
261
  "complexType": {
253
262
  "original": "boolean",
@@ -255,6 +264,31 @@ export class XvTextInput {
255
264
  "references": {}
256
265
  },
257
266
  "required": false,
267
+ "optional": true,
268
+ "docs": {
269
+ "tags": [],
270
+ "text": ""
271
+ },
272
+ "getter": false,
273
+ "setter": false,
274
+ "reflect": false
275
+ },
276
+ "size": {
277
+ "type": "string",
278
+ "attribute": "size",
279
+ "mutable": false,
280
+ "complexType": {
281
+ "original": "SIZE_VAR",
282
+ "resolved": "SIZE_VAR.LG | SIZE_VAR.MD | SIZE_VAR.SM | SIZE_VAR.XL | SIZE_VAR.XS",
283
+ "references": {
284
+ "SIZE_VAR": {
285
+ "location": "import",
286
+ "path": "../../types/enum",
287
+ "id": "src/types/enum.ts::SIZE_VAR"
288
+ }
289
+ }
290
+ },
291
+ "required": false,
258
292
  "optional": false,
259
293
  "docs": {
260
294
  "tags": [],
@@ -263,7 +297,7 @@ export class XvTextInput {
263
297
  "getter": false,
264
298
  "setter": false,
265
299
  "reflect": true,
266
- "defaultValue": "false"
300
+ "defaultValue": "SIZE_VAR.MD"
267
301
  }
268
302
  };
269
303
  }
@@ -285,7 +319,6 @@ export class XvTextInput {
285
319
  }
286
320
  }];
287
321
  }
288
- static get elementRef() { return "el"; }
289
322
  static get attachInternalsMemberName() { return "internals"; }
290
323
  }
291
324
  //# sourceMappingURL=xv-text-input.js.map