bromcom-ui 2.3.70 → 2.3.71
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.
- package/dist/bromcom-ui/bcm-alert.entry.js +58 -53
- package/dist/bromcom-ui/bcm-autocomplete.entry.js +3 -4
- package/dist/bromcom-ui/bcm-avatar.entry.js +28 -27
- package/dist/bromcom-ui/bcm-badge.entry.js +31 -60
- package/dist/bromcom-ui/bcm-breadcrumb.entry.js +32 -26
- package/dist/bromcom-ui/bcm-button.entry.js +215 -92
- package/dist/bromcom-ui/bcm-card-footer.entry.js +1 -1
- package/dist/bromcom-ui/bcm-card-header.entry.js +1 -1
- package/dist/bromcom-ui/bcm-card.entry.js +4 -5
- package/dist/bromcom-ui/bcm-checkbox-group.entry.js +227 -253
- package/dist/bromcom-ui/bcm-checkbox-lite.entry.js +26 -29
- package/dist/bromcom-ui/bcm-checkbox.entry.js +89 -85
- package/dist/bromcom-ui/bcm-collapse-group.entry.js +16 -11
- package/dist/bromcom-ui/bcm-collapse.entry.js +18 -31
- package/dist/bromcom-ui/bcm-colorpicker.entry.js +6 -7
- package/dist/bromcom-ui/bcm-comment-editor.entry.js +3 -4
- package/dist/bromcom-ui/bcm-comment-group.entry.js +3 -4
- package/dist/bromcom-ui/bcm-comment.entry.js +4 -5
- package/dist/bromcom-ui/bcm-content.entry.js +15 -0
- package/dist/bromcom-ui/bcm-date-picker.entry.js +34 -31
- package/dist/bromcom-ui/bcm-datetime-picker.entry.js +100 -64
- package/dist/bromcom-ui/bcm-divider.entry.js +11 -11
- package/dist/bromcom-ui/bcm-dropdown-button.entry.js +61 -35
- package/dist/bromcom-ui/bcm-dropdown-group.entry.js +58 -0
- package/dist/bromcom-ui/bcm-dropdown-item.entry.js +16 -66
- package/dist/bromcom-ui/bcm-dropdown-list.entry.js +49 -31
- package/dist/bromcom-ui/bcm-dropdown.entry.js +46 -17
- package/dist/bromcom-ui/bcm-empty.entry.js +45 -14
- package/dist/bromcom-ui/bcm-error-layout.entry.js +34 -20
- package/dist/bromcom-ui/bcm-footer.entry.js +15 -0
- package/dist/bromcom-ui/bcm-form-group.entry.js +3 -3
- package/dist/bromcom-ui/bcm-form.entry.js +16 -31
- package/dist/bromcom-ui/bcm-header.entry.js +15 -0
- package/dist/bromcom-ui/bcm-icon.entry.js +35 -55
- package/dist/bromcom-ui/bcm-input.entry.js +276 -170
- package/dist/bromcom-ui/bcm-label.entry.js +75 -10
- package/dist/bromcom-ui/bcm-link.entry.js +5 -26
- package/dist/bromcom-ui/bcm-list-item.entry.js +3 -4
- package/dist/bromcom-ui/bcm-list-select.entry.js +13 -14
- package/dist/bromcom-ui/bcm-list.entry.js +5 -10
- package/dist/bromcom-ui/bcm-listbox-group.entry.js +4 -5
- package/dist/bromcom-ui/bcm-listbox-item.entry.js +4 -5
- package/dist/bromcom-ui/bcm-listbox.entry.js +14 -17
- package/dist/bromcom-ui/bcm-menu-group.entry.js +3 -4
- package/dist/bromcom-ui/bcm-menu-item.entry.js +3 -4
- package/dist/bromcom-ui/bcm-menu.entry.js +3 -4
- package/dist/bromcom-ui/bcm-message.entry.js +50 -54
- package/dist/bromcom-ui/bcm-modal.entry.js +160 -47
- package/dist/bromcom-ui/bcm-notification.entry.js +47 -59
- package/dist/bromcom-ui/bcm-popconfirm-box.entry.js +21 -61
- package/dist/bromcom-ui/bcm-popconfirm.entry.js +93 -49
- package/dist/bromcom-ui/bcm-popover-box.entry.js +16 -44
- package/dist/bromcom-ui/bcm-popover.entry.js +101 -61
- package/dist/bromcom-ui/bcm-progress.entry.js +63 -77
- package/dist/bromcom-ui/bcm-pulldown-group.entry.js +4 -5
- package/dist/bromcom-ui/bcm-pulldown-item.entry.js +3 -4
- package/dist/bromcom-ui/bcm-pulldown.entry.js +4 -5
- package/dist/bromcom-ui/bcm-radio-group.entry.js +85 -183
- package/dist/bromcom-ui/bcm-radio.entry.js +79 -59
- package/dist/bromcom-ui/bcm-result.entry.js +38 -62
- package/dist/bromcom-ui/bcm-search.entry.js +4 -5
- package/dist/bromcom-ui/bcm-select-box.entry.js +6 -4
- package/dist/bromcom-ui/bcm-select-group.entry.js +3 -4
- package/dist/bromcom-ui/bcm-select-option.entry.js +4 -5
- package/dist/bromcom-ui/bcm-select.entry.js +53 -37
- package/dist/bromcom-ui/bcm-selecto.entry.js +2 -3
- package/dist/bromcom-ui/bcm-slider.entry.js +3 -4
- package/dist/bromcom-ui/bcm-sub-comment.entry.js +4 -5
- package/dist/bromcom-ui/bcm-switch.entry.js +37 -48
- package/dist/bromcom-ui/bcm-tab-pane.entry.js +3 -4
- package/dist/bromcom-ui/bcm-tab.entry.js +8 -8
- package/dist/bromcom-ui/bcm-tabs-content.entry.js +4 -5
- package/dist/bromcom-ui/bcm-tabs.entry.js +5 -6
- package/dist/bromcom-ui/bcm-tag.entry.js +44 -48
- package/dist/bromcom-ui/bcm-text.entry.js +10 -16
- package/dist/bromcom-ui/bcm-textarea.entry.js +68 -45
- package/dist/bromcom-ui/bcm-time-picker.entry.js +3 -4
- package/dist/bromcom-ui/bcm-timeline-item.entry.js +24 -10
- package/dist/bromcom-ui/bcm-timeline.entry.js +33 -11
- package/dist/bromcom-ui/bcm-tooltip-box.entry.js +16 -54
- package/dist/bromcom-ui/bcm-tooltip.entry.js +99 -48
- package/dist/bromcom-ui/bcm-treeview-group.entry.js +1 -1
- package/dist/bromcom-ui/bcm-treeview-item.entry.js +4 -5
- package/dist/bromcom-ui/bcm-treeview.entry.js +5 -6
- package/dist/bromcom-ui/bcm-upload.entry.js +4 -5
- package/dist/bromcom-ui/bromcom-ui.css +36 -40154
- package/dist/bromcom-ui/bromcom-ui.esm.js +2 -2
- package/dist/bromcom-ui/datetime-helper-c373f888.js +5 -0
- package/dist/bromcom-ui/{element-dragger-2a215f47.js → element-dragger-e40f0410.js} +1 -1
- package/dist/bromcom-ui/{_commonjsHelpers-2088bffa.js → index-43956e3c.js} +56 -1
- package/dist/bromcom-ui/{index-dbc63c66.js → index-9dbea026.js} +2 -2
- package/dist/bromcom-ui/{popover-placement-f7a6551c.js → popover-placement-fb1f91e9.js} +17 -25
- package/dist/bromcom-ui/{bcm-ad02f9c9.js → string-helper-1d51eff7.js} +23 -2
- package/dist/bromcom-ui/types-0e4b533d.js +14 -0
- package/dist/bromcom-ui/types-911a8837.js +21 -0
- package/dist/bromcom-ui/{utils-333ded7f.js → utils-1feb01eb.js} +1 -4
- package/dist/types/components/atoms/avatar/avatar.d.ts +5 -9
- package/dist/types/components/atoms/badge/badge.d.ts +9 -14
- package/dist/types/components/atoms/badge/types.d.ts +4 -0
- package/dist/types/components/atoms/button/button.d.ts +10 -17
- package/dist/types/components/atoms/button/types.d.ts +22 -0
- package/dist/types/components/atoms/divider/divider.d.ts +2 -2
- package/dist/types/components/atoms/icon/icon.d.ts +9 -14
- package/dist/types/components/atoms/label/label.d.ts +2 -1
- package/dist/types/components/atoms/link/link.d.ts +1 -6
- package/dist/types/components/atoms/tag/tag.d.ts +11 -14
- package/dist/types/components/atoms/text/text.d.ts +3 -4
- package/dist/types/components/molecules/alert/alert.d.ts +37 -15
- package/dist/types/components/molecules/breadcrumb/breadcrumb.d.ts +22 -9
- package/dist/types/components/molecules/checkbox/checkbox-lite.d.ts +22 -7
- package/dist/types/components/molecules/checkbox/checkbox.d.ts +31 -26
- package/dist/types/components/molecules/checkbox/group.d.ts +83 -24
- package/dist/types/components/molecules/checkbox/types.d.ts +29 -0
- package/dist/types/components/molecules/collapse/collapse.d.ts +6 -9
- package/dist/types/components/molecules/collapse/group.d.ts +2 -4
- package/dist/types/components/molecules/dropdown/dropdown-button.d.ts +31 -18
- package/dist/types/components/molecules/dropdown/dropdown-group.d.ts +28 -0
- package/dist/types/components/molecules/dropdown/dropdown-item.d.ts +16 -17
- package/dist/types/components/molecules/dropdown/dropdown-list.d.ts +35 -12
- package/dist/types/components/molecules/dropdown/dropdown.d.ts +30 -5
- package/dist/types/components/molecules/dropdown/types.d.ts +20 -0
- package/dist/types/components/molecules/empty/empty.d.ts +24 -7
- package/dist/types/components/molecules/empty/types.d.ts +15 -0
- package/dist/types/components/molecules/error-layout/error-layout.d.ts +18 -6
- package/dist/types/components/molecules/error-layout/types.d.ts +4 -0
- package/dist/types/components/molecules/input/input.d.ts +45 -39
- package/dist/types/components/molecules/list/list-select.d.ts +1 -0
- package/dist/types/components/molecules/list/list.d.ts +1 -0
- package/dist/types/components/molecules/message/message.d.ts +25 -13
- package/dist/types/components/molecules/message/types.d.ts +13 -0
- package/dist/types/components/molecules/modal/modal-content.d.ts +4 -0
- package/dist/types/components/molecules/modal/modal-header.d.ts +4 -0
- package/dist/types/components/molecules/modal/modal.d.ts +65 -12
- package/dist/types/components/molecules/modal/model-footer.d.ts +4 -0
- package/dist/types/components/molecules/modal/types.d.ts +41 -0
- package/dist/types/components/molecules/notification/notification.d.ts +21 -14
- package/dist/types/components/molecules/notification/types.d.ts +14 -0
- package/dist/types/components/molecules/popconfirm/popconfirm-box.d.ts +12 -14
- package/dist/types/components/molecules/popconfirm/popconfirm.d.ts +14 -10
- package/dist/types/components/molecules/popover/popover-box.d.ts +10 -10
- package/dist/types/components/molecules/popover/popover.d.ts +19 -13
- package/dist/types/components/molecules/progress/progress.d.ts +6 -8
- package/dist/types/components/molecules/radio/group.d.ts +22 -28
- package/dist/types/components/molecules/radio/radio.d.ts +17 -13
- package/dist/types/components/molecules/result/result.d.ts +8 -14
- package/dist/types/components/molecules/result/types.d.ts +19 -0
- package/dist/types/components/molecules/select/select-box.d.ts +1 -0
- package/dist/types/components/molecules/select/select.d.ts +6 -5
- package/dist/types/components/molecules/switch/switch.d.ts +15 -18
- package/dist/types/components/molecules/textarea/textarea.d.ts +23 -23
- package/dist/types/components/molecules/timeline/timeline-item.d.ts +12 -0
- package/dist/types/components/molecules/timeline/timeline.d.ts +19 -2
- package/dist/types/components/molecules/tooltip/tooltip-box.d.ts +8 -11
- package/dist/types/components/molecules/tooltip/tooltip.d.ts +17 -13
- package/dist/types/components/organism/colorpicker/colorpicker.d.ts +2 -1
- package/dist/types/components/organism/date-picker/date-picker.d.ts +11 -7
- package/dist/types/components/organism/datetime-picker/datetime-picker.d.ts +5 -4
- package/dist/types/components/organism/form/form.d.ts +1 -2
- package/dist/types/components/organism/listbox/listbox.d.ts +2 -1
- package/dist/types/components/organism/tabs/tab.d.ts +1 -2
- package/dist/types/components/organism/time-picker/time-picker.d.ts +1 -1
- package/dist/types/components.d.ts +510 -553
- package/dist/types/global/variables/colors.d.ts +1 -0
- package/dist/types/helper/datetime-helper.d.ts +3 -0
- package/dist/types/helper/generate.d.ts +1 -4
- package/dist/types/helper/string-helper.d.ts +0 -3
- package/dist/types/models/bcm.d.ts +1 -1
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/utils/popover-placement.d.ts +3 -3
- package/dist/types/utils/utils.d.ts +0 -1
- package/package.json +1 -1
- package/dist/bromcom-ui/bcm-list-2.entry.js +0 -1063
- package/dist/bromcom-ui/bcm-range.entry.js +0 -161
- package/dist/bromcom-ui/bcm-search-2.entry.js +0 -219
- package/dist/bromcom-ui/caption-template-2d4ffc88.js +0 -25
- package/dist/bromcom-ui/color-helper-19448077.js +0 -35
- package/dist/bromcom-ui/generate-8e440fc4.js +0 -91
- package/dist/bromcom-ui/index-55174f2a.js +0 -58
- package/dist/bromcom-ui/index-dd5c1283.js +0 -187
- package/dist/bromcom-ui/input-template-487d3243.js +0 -83
- package/dist/bromcom-ui/json-parse-decarator-223ea680.js +0 -21
- package/dist/bromcom-ui/label-template-501216fc.js +0 -19
- package/dist/bromcom-ui/number-helper-fea1966f.js +0 -13
- package/dist/bromcom-ui/property-decorators-21b15487.js +0 -36
- package/dist/bromcom-ui/slot-template-f79b82ee.js +0 -9
- package/dist/bromcom-ui/snq.es5-946822b8.js +0 -14
- package/dist/bromcom-ui/string-helper-35840f91.js +0 -109
- package/dist/bromcom-ui/types-6b2a6629.js +0 -172
- package/dist/types/components/atoms/states/badge.states.d.ts +0 -7
- package/dist/types/components/atoms/states/button.states.d.ts +0 -7
- package/dist/types/components/molecules/breadcrumb/types.d.ts +0 -10
- package/dist/types/components/molecules/input/types.d.ts +0 -13
- package/dist/types/components/molecules/progress/types.d.ts +0 -24
- package/dist/types/components/molecules/range/range.d.ts +0 -36
- package/dist/types/components/molecules/search-2/search-2.d.ts +0 -30
- package/dist/types/components/molecules/states/alert.states.d.ts +0 -7
- package/dist/types/components/molecules/states/checkbox-group.states.d.ts +0 -53
- package/dist/types/components/molecules/states/message.states.d.ts +0 -7
- package/dist/types/components/molecules/states/notification.states.d.ts +0 -7
- package/dist/types/components/molecules/states/radio-group.states.d.ts +0 -47
- package/dist/types/components/molecules/states/result.states.d.ts +0 -7
- package/dist/types/components/molecules/states/search.states.d.ts +0 -13
- package/dist/types/components/molecules/textarea/types.d.ts +0 -9
- package/dist/types/components/organism/list-2/list-2.d.ts +0 -109
- package/dist/types/components/organism/states/bcm-list2.states.d.ts +0 -24
- package/dist/types/decorators/json-parse-decarator.d.ts +0 -4
- package/dist/types/decorators/property-decorators.d.ts +0 -6
- package/dist/types/helper/number-helper.d.ts +0 -9
- package/dist/types/models/states/Atoms/bcm-Atoms-state.d.ts +0 -34
- package/dist/types/models/states/molecules/bcm-molecules-state.d.ts +0 -78
- package/dist/types/models/states/organisms/bcm-organisms-state.d.ts +0 -71
- package/dist/types/templates/button-template.d.ts +0 -16
- package/dist/types/templates/checkbox-group-template.d.ts +0 -10
- package/dist/types/templates/checkbox-template.d.ts +0 -13
- package/dist/types/templates/info-footer-template.d.ts +0 -10
- package/dist/types/templates/input-template.d.ts +0 -30
- package/dist/types/templates/list-item-template.d.ts +0 -11
- package/dist/types/templates/list-template.d.ts +0 -23
- package/dist/types/templates/tag-template.d.ts +0 -17
|
@@ -1,21 +1,9 @@
|
|
|
1
|
-
import { r as registerInstance, e as createEvent, h, f as Host } from './index-
|
|
2
|
-
import {
|
|
3
|
-
import './_commonjsHelpers-2088bffa.js';
|
|
4
|
-
import { c as classnames } from './index-55174f2a.js';
|
|
5
|
-
import { B as Bcm } from './bcm-ad02f9c9.js';
|
|
6
|
-
import { C as CaptionTemplate } from './caption-template-2d4ffc88.js';
|
|
7
|
-
import { I as InputTemplate } from './input-template-487d3243.js';
|
|
1
|
+
import { r as registerInstance, e as createEvent, h, f as Host, g as getElement } from './index-9dbea026.js';
|
|
2
|
+
import { c as classnames } from './index-43956e3c.js';
|
|
8
3
|
|
|
9
|
-
var
|
|
10
|
-
(function (ResizeType) {
|
|
11
|
-
ResizeType["none"] = "none";
|
|
12
|
-
ResizeType["both"] = "both";
|
|
13
|
-
ResizeType["horizontal"] = "horizontal";
|
|
14
|
-
ResizeType["vertical"] = "vertical";
|
|
15
|
-
ResizeType["initial"] = "initial";
|
|
16
|
-
ResizeType["inherit"] = "inherit";
|
|
17
|
-
})(ResizeType || (ResizeType = {}));
|
|
4
|
+
const textareaCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");.size-1{font-size:12px;line-height:20px}.size-2{font-size:14px;line-height:22px}.size-3{font-size:16px;line-height:24px}.size-4{font-size:20px;line-height:28px}.size-5{font-size:24px;line-height:32px}.size-6{font-size:30px;line-height:38px}.size-7{font-size:38px;line-height:46px}.size-8{font-size:46px;line-height:54px}.size-9{font-size:56px;line-height:64px}.weight-regular{font-weight:400}.weight-semibold{font-weight:500}.size-1{font-size:12px;line-height:20px}.size-2{font-size:14px;line-height:22px}.size-3{font-size:16px;line-height:24px}.size-4{font-size:20px;line-height:28px}.size-5{font-size:24px;line-height:32px}.size-6{font-size:30px;line-height:38px}.size-7{font-size:38px;line-height:46px}.size-8{font-size:46px;line-height:54px}.size-9{font-size:56px;line-height:64px}.weight-regular{font-weight:400}.weight-semibold{font-weight:500}:host{display:inline-block;width:100%;margin:0 0 8px 0}:host(.hidden){display:none}.textarea-wrapper{width:256px}.textarea-wrapper.full-width{width:100%}.textarea-wrapper:hover .clear-button{opacity:1}.textarea-container{position:relative;width:100%;border:1px solid var(--bcm-color-grey-5);border-radius:2px}.textarea-container.empty .clear-button{display:none}.textarea-container.focused:not(.disabled){outline:none;border-color:var(--bcm-color-prime-blue-5);box-shadow:0px 0px 4px var(--bcm-color-prime-blue-6)}.textarea-container:hover:not(:disabled){border-color:var(--bcm-color-prime-blue-6)}.textarea-container textarea{resize:vertical;display:flex;flex:1 1 auto;align-items:center;color:var(--bcm-color-grey-8);width:100%;background-color:var(--bcm-color-grey-1);border:none;border-radius:2px;box-shadow:none;font-family:\"Roboto\", sans-serif;-webkit-appearance:none;box-sizing:border-box}.textarea-container textarea::-webkit-search-decoration,.textarea-container textarea::-webkit-search-cancel-button,.textarea-container textarea::-webkit-search-results-button,.textarea-container textarea::-webkit-search-results-decoration{-webkit-appearance:none}.textarea-container textarea::placeholder{color:var(--bcm-color-grey-6);user-select:none}.textarea-container textarea:focus:not(:disabled){outline:none;border-color:none;box-shadow:none}.textarea-container textarea:hover:not(:disabled){border-color:none}.textarea-container textarea:disabled{background-color:var(--bcm-color-grey-3);cursor:not-allowed}.textarea-container textarea.clearable{padding-right:32px}.resize-none textarea{resize:none}.resize-vertical textarea{resize:vertical}.resize-auto textarea{height:auto;resize:none}.label{display:flex;flex-direction:column;color:var(--bcm-color-grey-9);margin-bottom:4px}.caption-area{min-height:20px;display:flex;flex-direction:row;justify-content:space-between}.input-caption{display:block}.clear-button{position:absolute;opacity:0;right:10px;top:7px;display:inline-flex;align-items:center;border:none;background:none;padding:0;cursor:pointer}.clear-button:focus{outline:none}.textarea-footer{display:flex;justify-content:space-between;margin-bottom:8px;min-height:20px}.textarea-footer .count{color:var(--bcm-color-grey-7);margin-left:4px}.textarea-footer .count:only-child{margin-left:auto}.size-large{padding:7px 12px;min-height:38px}.size-large~.clear-button{top:12px}.size-medium{padding:4px 12px;min-height:30px}.size-medium~.clear-button{top:7px}.size-small{padding:0px 12px;min-height:20px}.size-small~.clear-button{top:2px}.caption-default{color:#8C8C8C}.caption-primary{color:#4293CF}.caption-success{color:#52C41A}.caption-warning{color:#FA8C16}.caption-error{color:#F5222D}.error .label{color:var(--bcm-color-red-6) !important}.error .textarea-container{border:1px solid var(--bcm-color-red-6) !important}";
|
|
18
5
|
|
|
6
|
+
let id = 0;
|
|
19
7
|
const BcmTextarea = class {
|
|
20
8
|
constructor(hostRef) {
|
|
21
9
|
registerInstance(this, hostRef);
|
|
@@ -24,32 +12,25 @@ const BcmTextarea = class {
|
|
|
24
12
|
this.clear = createEvent(this, "bcm-clear", 7);
|
|
25
13
|
this.change = createEvent(this, "bcm-change", 7);
|
|
26
14
|
this.input = createEvent(this, "bcm-input", 7);
|
|
27
|
-
|
|
28
|
-
this.
|
|
29
|
-
this._internal_id = Generate.UID();
|
|
30
|
-
this.hidden = false;
|
|
31
|
-
this.required = false;
|
|
15
|
+
this.textareaId = `textarea-${++id}`;
|
|
16
|
+
this.valueLength = 0;
|
|
32
17
|
this.noCaption = false;
|
|
33
|
-
this.captionType =
|
|
18
|
+
this.captionType = 'default';
|
|
34
19
|
this.rows = 1;
|
|
35
|
-
this.size =
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
40
|
-
}
|
|
41
|
-
connectedCallback() {
|
|
42
|
-
this.captionCache = this.caption;
|
|
43
|
-
this.captionTypeCache = this.captionType;
|
|
20
|
+
this.size = 'medium';
|
|
21
|
+
this.resize = 'vertical';
|
|
22
|
+
this.hidden = false;
|
|
23
|
+
this.required = false;
|
|
24
|
+
this.hasFocus = false;
|
|
44
25
|
}
|
|
45
|
-
async
|
|
26
|
+
async setFocus() {
|
|
46
27
|
this.textarea.focus();
|
|
47
28
|
}
|
|
48
|
-
async
|
|
29
|
+
async removeFocus() {
|
|
49
30
|
this.textarea.blur();
|
|
50
31
|
}
|
|
51
|
-
async
|
|
52
|
-
this.textarea.select();
|
|
32
|
+
async select() {
|
|
33
|
+
return this.textarea.select();
|
|
53
34
|
}
|
|
54
35
|
async setValue(value) {
|
|
55
36
|
this.textarea.value = value;
|
|
@@ -69,43 +50,85 @@ const BcmTextarea = class {
|
|
|
69
50
|
async getValue() {
|
|
70
51
|
return this.value;
|
|
71
52
|
}
|
|
72
|
-
watchValue() {
|
|
73
|
-
this.handleChange();
|
|
74
|
-
}
|
|
75
53
|
handleFocus() {
|
|
76
|
-
this.
|
|
54
|
+
this.hasFocus = true;
|
|
77
55
|
this.focus.emit();
|
|
78
56
|
}
|
|
79
57
|
handleBlur() {
|
|
80
|
-
this.
|
|
58
|
+
this.hasFocus = false;
|
|
81
59
|
this.blur.emit();
|
|
82
60
|
}
|
|
83
61
|
handleChange() {
|
|
84
62
|
this.value = this.textarea.value;
|
|
85
63
|
this.change.emit(this.value);
|
|
86
64
|
}
|
|
65
|
+
watchValue() {
|
|
66
|
+
this.handleChange();
|
|
67
|
+
}
|
|
87
68
|
handleInput() {
|
|
88
69
|
this.value = this.textarea.value;
|
|
70
|
+
this.setTextareaHeight();
|
|
89
71
|
this.input.emit(this.value);
|
|
90
72
|
}
|
|
91
73
|
handleClear(e) {
|
|
92
|
-
this.textarea.value = '';
|
|
93
74
|
this.value = '';
|
|
94
75
|
this.clear.emit();
|
|
95
76
|
this.textarea.focus();
|
|
96
77
|
e.stopPropagation();
|
|
97
78
|
}
|
|
79
|
+
setTextareaHeight() {
|
|
80
|
+
if (this.resize === 'auto') {
|
|
81
|
+
this.textarea.style.height = 'auto';
|
|
82
|
+
this.textarea.style.height = (this.textarea.scrollHeight + 2) + 'px';
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this.textarea.style.height = undefined;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
connectedCallback() {
|
|
89
|
+
this.handleChange = this.handleChange.bind(this);
|
|
90
|
+
this.handleBlur = this.handleBlur.bind(this);
|
|
91
|
+
this.handleFocus = this.handleFocus.bind(this);
|
|
92
|
+
this.handleInput = this.handleInput.bind(this);
|
|
93
|
+
this.handleClear = this.handleClear.bind(this);
|
|
94
|
+
this.setTextareaHeight = this.setTextareaHeight.bind(this);
|
|
95
|
+
this.captionCache = this.caption;
|
|
96
|
+
this.captionTypeCache = this.captionType;
|
|
97
|
+
}
|
|
98
|
+
componentWillRender() {
|
|
99
|
+
this.valueLength = this.value ? this.value.length : 0;
|
|
100
|
+
// this.fullWidth
|
|
101
|
+
// ? this.el.style.width = '100%'
|
|
102
|
+
// : this.el.style.width = 'initial'
|
|
103
|
+
}
|
|
98
104
|
render() {
|
|
99
|
-
const {
|
|
100
|
-
const
|
|
101
|
-
hidden,
|
|
105
|
+
const { fullWidth, size, rows, disabled, clearable, label, hasFocus, noCaption, caption, captionError, captionType, value, resize, maxLength, placeholder, valueLength, required } = this;
|
|
106
|
+
const wrapperClasses = classnames('textarea-wrapper', {
|
|
102
107
|
'full-width': fullWidth,
|
|
108
|
+
'error': captionType == 'error' ? true : false
|
|
109
|
+
});
|
|
110
|
+
const contanerClasses = classnames('textarea-container', 'resize-' + resize, 'textarea-' + size, {
|
|
111
|
+
'empty': (value === null || value === void 0 ? void 0 : value.length) < 1,
|
|
112
|
+
'focused': hasFocus,
|
|
113
|
+
'disabled': disabled,
|
|
114
|
+
});
|
|
115
|
+
const captionClasses = classnames('size-1', 'input-caption', 'caption-' + captionType);
|
|
116
|
+
const countClasses = classnames('size-1', 'input-caption', 'caption-default');
|
|
117
|
+
const textareaClasses = classnames('size-' + size, {
|
|
118
|
+
'size-3': size === 'large',
|
|
119
|
+
'size-2': size === 'small' || size === 'medium',
|
|
120
|
+
'clearable': clearable
|
|
103
121
|
});
|
|
104
|
-
|
|
122
|
+
const hostClasses = classnames(this.hidden ? 'hidden' : null);
|
|
123
|
+
return (h(Host, { class: hostClasses }, h("div", { class: wrapperClasses }, label && h("div", null, h("bcm-label", { tooltip: this.tooltip, type: captionType, value: label, required: required, htmlFor: this.textareaId })), h("div", { class: contanerClasses }, h("textarea", { ref: el => (this.textarea = el), onInput: this.handleInput, onFocus: this.handleFocus, onChange: this.handleChange, onBlur: this.handleBlur, class: textareaClasses, id: this.textareaId, value: value, rows: rows, disabled: disabled, maxlength: maxLength, placeholder: placeholder }), clearable && (h("button", { class: "clear-button", onClick: this.handleClear }, h("bcm-icon", { icon: "close-circle", type: "fill", size: 18, color: "grey-7" })))), !noCaption || maxLength ? (h("div", { class: "caption-area" }, h("span", null, captionType == "error"
|
|
124
|
+
? h("span", { class: captionClasses }, " ", captionError, " ")
|
|
125
|
+
: caption && h("span", { class: captionClasses }, " ", caption, " ")), maxLength && h("span", { class: countClasses }, " ", `${valueLength}/${maxLength}`, " "))) : null)));
|
|
105
126
|
}
|
|
127
|
+
get el() { return getElement(this); }
|
|
106
128
|
static get watchers() { return {
|
|
107
129
|
"value": ["watchValue"]
|
|
108
130
|
}; }
|
|
109
131
|
};
|
|
132
|
+
BcmTextarea.style = textareaCss;
|
|
110
133
|
|
|
111
134
|
export { BcmTextarea as bcm_textarea };
|