@sankhyalabs/ezui 5.22.0-dev.7 → 5.22.0-dev.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/cjs/DataBinder-b4ef826a.js +445 -0
- package/dist/cjs/FocusResolver-885f2173.js +35 -0
- package/dist/cjs/ez-actions-button.cjs.entry.js +4 -3
- package/dist/cjs/ez-alert-list.cjs.entry.js +1 -1
- package/dist/cjs/ez-alert.cjs.entry.js +1 -1
- package/dist/cjs/ez-application.cjs.entry.js +1 -1
- package/dist/cjs/ez-badge.cjs.entry.js +1 -1
- package/dist/cjs/ez-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ez-button.cjs.entry.js +12 -6
- package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
- package/dist/cjs/ez-card-item_2.cjs.entry.js +76 -0
- package/dist/cjs/ez-chart.cjs.entry.js +1 -1
- package/dist/cjs/ez-check.cjs.entry.js +2 -2
- package/dist/cjs/ez-chip.cjs.entry.js +1 -1
- package/dist/cjs/ez-collapsible-box.cjs.entry.js +2 -2
- package/dist/cjs/ez-combo-box.cjs.entry.js +68 -14
- package/dist/cjs/ez-custom-form-input_2.cjs.entry.js +37 -7
- package/dist/cjs/ez-date-input.cjs.entry.js +15 -5
- package/dist/cjs/ez-date-time-input.cjs.entry.js +12 -5
- package/dist/cjs/ez-dialog.cjs.entry.js +11 -3
- package/dist/cjs/ez-double-list.cjs.entry.js +287 -0
- package/dist/cjs/{ez-dropdown.cjs.entry.js → ez-dropdown_2.cjs.entry.js} +76 -9
- package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
- package/dist/cjs/ez-filter-input.cjs.entry.js +130 -0
- package/dist/cjs/ez-form-view.cjs.entry.js +30 -23
- package/dist/cjs/ez-form.cjs.entry.js +7 -326
- package/dist/cjs/ez-grid.cjs.entry.js +14946 -69807
- package/dist/cjs/ez-guide-navigator.cjs.entry.js +1 -1
- package/dist/cjs/ez-icon.cjs.entry.js +2 -2
- package/dist/cjs/ez-list.cjs.entry.js +259 -212
- package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
- package/dist/cjs/ez-modal-container.cjs.entry.js +3 -2
- package/dist/cjs/ez-modal.cjs.entry.js +20 -5
- package/dist/cjs/ez-multi-selection-list.cjs.entry.js +3 -3
- package/dist/cjs/ez-number-input.cjs.entry.js +16 -3
- package/dist/cjs/ez-popover.cjs.entry.js +1 -1
- package/dist/cjs/ez-popup.cjs.entry.js +25 -3
- package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
- package/dist/cjs/ez-scroller_2.cjs.entry.js +4 -4
- package/dist/cjs/ez-search.cjs.entry.js +106 -46
- package/dist/cjs/ez-sidebar-navigator.cjs.entry.js +2 -2
- package/dist/cjs/ez-split-button.cjs.entry.js +3 -3
- package/dist/cjs/ez-split-item.cjs.entry.js +4 -3
- package/dist/cjs/ez-split-panel.cjs.entry.js +69 -7
- package/dist/cjs/ez-tabselector.cjs.entry.js +1 -1
- package/dist/cjs/ez-text-area.cjs.entry.js +68 -6
- package/dist/cjs/ez-text-input.cjs.entry.js +154 -17
- package/dist/cjs/ez-time-input.cjs.entry.js +9 -2
- package/dist/cjs/ez-toast.cjs.entry.js +1 -1
- package/dist/cjs/ez-tooltip.cjs.entry.js +55 -0
- package/dist/cjs/ez-tree.cjs.entry.js +1 -1
- package/dist/cjs/ez-upload.cjs.entry.js +1 -1
- package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
- package/dist/cjs/ezListHelper-0d3970b4.js +90 -0
- package/dist/cjs/ezui.cjs.js +2 -2
- package/dist/cjs/filter-column.cjs.entry.js +3 -3
- package/dist/cjs/{index-9e5554cb.js → index-a7b0c73d.js} +16 -11
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/ez-actions-button/ez-actions-button.js +3 -2
- package/dist/collection/components/ez-button/ez-button.css +23 -13
- package/dist/collection/components/ez-button/ez-button.js +12 -6
- package/dist/collection/components/ez-card-item/ez-card-item.css +60 -10
- package/dist/collection/components/ez-card-item/ez-card-item.js +30 -3
- package/dist/collection/components/ez-check/ez-check.css +1 -6
- package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +2 -2
- package/dist/collection/components/ez-combo-box/ez-combo-box.css +13 -1
- package/dist/collection/components/ez-combo-box/ez-combo-box.js +130 -15
- package/dist/collection/components/ez-date-input/ez-date-input.css +1 -1
- package/dist/collection/components/ez-date-input/ez-date-input.js +58 -5
- package/dist/collection/components/ez-date-time-input/ez-date-time-input.css +1 -1
- package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +55 -5
- package/dist/collection/components/ez-dialog/ez-dialog.css +3 -3
- package/dist/collection/components/ez-dialog/ez-dialog.js +9 -1
- package/dist/collection/components/ez-double-list/doubleListHelper.js +82 -0
- package/dist/collection/components/ez-double-list/ez-double-list.css +62 -0
- package/dist/collection/components/ez-double-list/ez-double-list.js +440 -0
- package/dist/collection/components/ez-dropdown/ez-dropdown.js +33 -8
- package/dist/collection/components/ez-filter-input/ez-filter-input.js +55 -5
- package/dist/collection/components/ez-form/ez-form.js +1 -0
- package/dist/collection/components/ez-form-view/custom-input/ez-custom-form-input.js +49 -6
- package/dist/collection/components/ez-form-view/ez-form-view.css +5 -2
- package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +2 -1
- package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +1 -1
- package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +1 -1
- package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +8 -4
- package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +1 -1
- package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +1 -1
- package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +3 -2
- package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.js +1 -1
- package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +2 -2
- package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +282 -57
- package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +107 -5
- package/dist/collection/components/ez-grid/controller/ag-grid/DataSourceInterceptor.js +2 -2
- package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +219 -42
- package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +16 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellEditor.js +8 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.js +2 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.js +1 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.js +1 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.js +8 -1
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.js +4 -1
- package/dist/collection/components/ez-grid/controller/ag-grid/test/constants/GridEditionMock.js +2 -0
- package/dist/collection/components/ez-grid/ez-grid.css +47 -8
- package/dist/collection/components/ez-grid/ez-grid.js +220 -7
- package/dist/collection/components/ez-grid/subcomponents/filter-column.css +4 -0
- package/dist/collection/components/ez-grid/subcomponents/filter-column.js +1 -1
- package/dist/collection/components/ez-icon/ez-icon.css +153 -149
- package/dist/collection/components/ez-list/ez-list.css +2 -1
- package/dist/collection/components/ez-list/ez-list.js +301 -212
- package/dist/collection/components/ez-list/ezListHelper.js +85 -0
- package/dist/collection/components/ez-modal/ez-modal.css +5 -1
- package/dist/collection/components/ez-modal/ez-modal.js +38 -5
- package/dist/collection/components/ez-modal-container/ez-modal-container.js +20 -1
- package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.css +2 -3
- package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.js +1 -1
- package/dist/collection/components/ez-number-input/ez-number-input.css +8 -0
- package/dist/collection/components/ez-number-input/ez-number-input.js +68 -1
- package/dist/collection/components/ez-popup/ez-popup.css +8 -3
- package/dist/collection/components/ez-popup/ez-popup.js +43 -3
- package/dist/collection/components/ez-scroller/ez-scroller.css +1 -0
- package/dist/collection/components/ez-search/ez-search.css +21 -10
- package/dist/collection/components/ez-search/ez-search.js +189 -49
- package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.css +3 -0
- package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.js +1 -1
- package/dist/collection/components/ez-sidebar-navigator/ez-sidebar-navigator.css +3 -1
- package/dist/collection/components/ez-split-button/ez-split-button.css +50 -14
- package/dist/collection/components/ez-split-button/ez-split-button.js +3 -3
- package/dist/collection/components/ez-split-panel/ez-split-panel.css +15 -0
- package/dist/collection/components/ez-split-panel/ez-split-panel.js +106 -5
- package/dist/collection/components/ez-split-panel/interfaces/IPanelSizeInfo.js +1 -0
- package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.css +14 -2
- package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.js +20 -1
- package/dist/collection/components/ez-text-area/ez-text-area.css +73 -28
- package/dist/collection/components/ez-text-area/ez-text-area.js +103 -3
- package/dist/collection/components/ez-text-input/ez-text-input.css +106 -91
- package/dist/collection/components/ez-text-input/ez-text-input.js +185 -15
- package/dist/collection/components/ez-time-input/ez-time-input.js +44 -1
- package/dist/collection/components/ez-tooltip/ez-tooltip.css +20 -0
- package/dist/collection/components/ez-tooltip/ez-tooltip.js +116 -0
- package/dist/collection/sw.js +46 -0
- package/dist/collection/utils/FocusResolver.js +31 -0
- package/dist/collection/utils/ResponsiveInputUtils.js +26 -0
- package/dist/collection/utils/form/DataBinder.js +20 -5
- package/dist/collection/utils/form/FormMetadata.js +2 -1
- package/dist/collection/utils/interfaces/AbstractFieldMetadata.js +1 -1
- package/dist/collection/utils/validators/recordvalidator/IInvalidCells.js +1 -0
- package/dist/collection/utils/validators/recordvalidator/RecordValidationProcessor.js +7 -1
- package/dist/custom-elements/index.d.ts +12 -0
- package/dist/custom-elements/index.js +16564 -70385
- package/dist/esm/DataBinder-d2ecbb0f.js +441 -0
- package/dist/esm/FocusResolver-1ccbf850.js +33 -0
- package/dist/esm/ez-actions-button.entry.js +4 -3
- package/dist/esm/ez-alert-list.entry.js +1 -1
- package/dist/esm/ez-alert.entry.js +1 -1
- package/dist/esm/ez-application.entry.js +1 -1
- package/dist/esm/ez-badge.entry.js +1 -1
- package/dist/esm/ez-breadcrumb.entry.js +1 -1
- package/dist/esm/ez-button.entry.js +12 -6
- package/dist/esm/ez-calendar.entry.js +1 -1
- package/dist/esm/ez-card-item_2.entry.js +71 -0
- package/dist/esm/ez-chart.entry.js +1 -1
- package/dist/esm/ez-check.entry.js +2 -2
- package/dist/esm/ez-chip.entry.js +1 -1
- package/dist/esm/ez-collapsible-box.entry.js +2 -2
- package/dist/esm/ez-combo-box.entry.js +69 -15
- package/dist/esm/ez-custom-form-input_2.entry.js +38 -8
- package/dist/esm/ez-date-input.entry.js +15 -5
- package/dist/esm/ez-date-time-input.entry.js +12 -5
- package/dist/esm/ez-dialog.entry.js +11 -3
- package/dist/esm/ez-double-list.entry.js +283 -0
- package/dist/esm/{ez-dropdown.entry.js → ez-dropdown_2.entry.js} +76 -10
- package/dist/esm/ez-file-item.entry.js +1 -1
- package/dist/esm/ez-filter-input.entry.js +126 -0
- package/dist/esm/ez-form-view.entry.js +30 -23
- package/dist/esm/ez-form.entry.js +6 -325
- package/dist/esm/ez-grid.entry.js +14945 -69806
- package/dist/esm/ez-guide-navigator.entry.js +1 -1
- package/dist/esm/ez-icon.entry.js +2 -2
- package/dist/esm/ez-list.entry.js +259 -212
- package/dist/esm/ez-loading-bar.entry.js +1 -1
- package/dist/esm/ez-modal-container.entry.js +3 -2
- package/dist/esm/ez-modal.entry.js +20 -5
- package/dist/esm/ez-multi-selection-list.entry.js +3 -3
- package/dist/esm/ez-number-input.entry.js +16 -3
- package/dist/esm/ez-popover.entry.js +1 -1
- package/dist/esm/ez-popup.entry.js +25 -3
- package/dist/esm/ez-radio-button.entry.js +1 -1
- package/dist/esm/ez-scroller_2.entry.js +4 -4
- package/dist/esm/ez-search.entry.js +106 -46
- package/dist/esm/ez-sidebar-navigator.entry.js +2 -2
- package/dist/esm/ez-split-button.entry.js +3 -3
- package/dist/esm/ez-split-item.entry.js +4 -3
- package/dist/esm/ez-split-panel.entry.js +69 -7
- package/dist/esm/ez-tabselector.entry.js +1 -1
- package/dist/esm/ez-text-area.entry.js +68 -6
- package/dist/esm/ez-text-input.entry.js +154 -17
- package/dist/esm/ez-time-input.entry.js +9 -2
- package/dist/esm/ez-toast.entry.js +1 -1
- package/dist/esm/ez-tooltip.entry.js +51 -0
- package/dist/esm/ez-tree.entry.js +1 -1
- package/dist/esm/ez-upload.entry.js +1 -1
- package/dist/esm/ez-view-stack.entry.js +1 -1
- package/dist/esm/ezListHelper-00fb9b8d.js +87 -0
- package/dist/esm/ezui.js +3 -3
- package/dist/esm/filter-column.entry.js +3 -3
- package/dist/esm/{index-5a720e56.js → index-baa5e267.js} +17 -11
- package/dist/esm/loader.js +3 -3
- package/dist/ezui/ezui.esm.js +1 -1
- package/dist/ezui/{p-e6b38ade.entry.js → p-0306dff7.entry.js} +1 -1
- package/dist/ezui/{p-91ccae0c.entry.js → p-09de35a2.entry.js} +1 -1
- package/dist/ezui/p-14b769d7.entry.js +1 -0
- package/dist/ezui/p-16e612fc.entry.js +1 -0
- package/dist/ezui/{p-b2f6bc0a.entry.js → p-17be134a.entry.js} +1 -1
- package/dist/ezui/p-17eabf46.entry.js +1 -0
- package/dist/ezui/p-181b5ae8.entry.js +1 -0
- package/dist/ezui/{p-81461d2f.entry.js → p-1e7a8633.entry.js} +1 -1
- package/dist/ezui/{p-6b51c9cc.entry.js → p-1f50fa05.entry.js} +1 -1
- package/dist/ezui/{p-e4c7eb39.js → p-23a36bb6.js} +2 -2
- package/dist/ezui/p-2475fd6e.entry.js +1 -0
- package/dist/ezui/p-2bb2a0c4.entry.js +1 -0
- package/dist/ezui/p-3175fe8c.entry.js +1 -0
- package/dist/ezui/{p-30951bd7.entry.js → p-35d467a8.entry.js} +1 -1
- package/dist/ezui/p-3f2dd525.entry.js +1 -0
- package/dist/ezui/{p-0378416a.entry.js → p-44caad9a.entry.js} +1 -1
- package/dist/ezui/p-50d83a46.entry.js +1 -0
- package/dist/ezui/{p-7567ccdd.entry.js → p-555c9018.entry.js} +1 -1
- package/dist/ezui/{p-044d46d5.entry.js → p-5b205c80.entry.js} +1 -1
- package/dist/ezui/{p-6fc26622.entry.js → p-5ed81457.entry.js} +1 -1
- package/dist/ezui/{p-f1c2c19e.entry.js → p-650e4b6d.entry.js} +1 -1
- package/dist/ezui/p-654b3f99.entry.js +1 -0
- package/dist/ezui/p-65f471bc.entry.js +1 -0
- package/dist/ezui/p-66924de6.entry.js +1 -0
- package/dist/ezui/p-6cdd3e0a.entry.js +1 -0
- package/dist/ezui/p-6d79930d.entry.js +1 -0
- package/dist/ezui/{p-fc194825.entry.js → p-6e429cff.entry.js} +1 -1
- package/dist/ezui/p-6f22a385.entry.js +1 -0
- package/dist/ezui/p-7409eeaa.entry.js +1 -0
- package/dist/ezui/{p-11bfeca3.entry.js → p-77a4bd35.entry.js} +1 -1
- package/dist/ezui/p-7e677b7b.entry.js +1 -0
- package/dist/ezui/p-7ed30844.entry.js +1 -0
- package/dist/ezui/p-7fdd479f.entry.js +1 -0
- package/dist/ezui/p-80dfc50b.js +1 -0
- package/dist/ezui/{p-1b08bf3c.entry.js → p-8888d9ed.entry.js} +1 -1
- package/dist/ezui/{p-82fa4b09.entry.js → p-8df1ca33.entry.js} +1 -1
- package/dist/ezui/p-990b4318.entry.js +1 -0
- package/dist/ezui/{p-c2b20f78.entry.js → p-9f5fa3f9.entry.js} +1 -1
- package/dist/ezui/p-a6fe527a.entry.js +1 -0
- package/dist/ezui/{p-dfca5946.entry.js → p-a80b1287.entry.js} +1 -1
- package/dist/ezui/p-b6a4e6de.entry.js +1 -0
- package/dist/ezui/p-bc2f844e.entry.js +1 -0
- package/dist/ezui/{p-92748142.entry.js → p-c0d9c4f8.entry.js} +1 -1
- package/dist/ezui/p-c3045972.entry.js +1 -0
- package/dist/ezui/{p-82ac8b06.entry.js → p-c4320a39.entry.js} +1 -1
- package/dist/ezui/p-ca6340a9.entry.js +1 -0
- package/dist/ezui/p-ceadecd9.js +1 -0
- package/dist/ezui/p-d0ca26fe.entry.js +1 -0
- package/dist/ezui/p-d520839d.entry.js +1 -0
- package/dist/ezui/p-dc628ed3.js +1 -0
- package/dist/ezui/p-dc8b36c3.entry.js +1 -0
- package/dist/ezui/p-dd48941c.entry.js +309 -0
- package/dist/ezui/{p-9aa27e69.entry.js → p-e347df9c.entry.js} +1 -1
- package/dist/ezui/p-e3e3fd7a.entry.js +1 -0
- package/dist/ezui/p-fa6732f2.entry.js +1 -0
- package/dist/ezui/p-fec696ab.entry.js +1 -0
- package/dist/types/components/ez-button/ez-button.d.ts +2 -1
- package/dist/types/components/ez-card-item/ez-card-item.d.ts +5 -0
- package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +16 -1
- package/dist/types/components/ez-date-input/ez-date-input.d.ts +10 -1
- package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +10 -1
- package/dist/types/components/ez-dialog/ez-dialog.d.ts +2 -0
- package/dist/types/components/ez-double-list/doubleListHelper.d.ts +10 -0
- package/dist/types/components/ez-double-list/ez-double-list.d.ts +87 -0
- package/dist/types/components/ez-dropdown/ez-dropdown.d.ts +4 -0
- package/dist/types/components/ez-dropdown/structure/DropdownItem.d.ts +1 -1
- package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +10 -1
- package/dist/types/components/ez-form-view/custom-input/ez-custom-form-input.d.ts +7 -1
- package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +2 -1
- package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.d.ts +1 -1
- package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +1 -1
- package/dist/types/components/ez-grid/controller/EzGridController.d.ts +60 -4
- package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +36 -4
- package/dist/types/components/ez-grid/controller/ag-grid/DataSource.d.ts +23 -1
- package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +33 -7
- package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +4 -1
- package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.d.ts +1 -1
- package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.d.ts +1 -1
- package/dist/types/components/ez-grid/controller/ag-grid/components/cellRendererStatus.d.ts +1 -1
- package/dist/types/components/ez-grid/controller/ag-grid/components/selectionHeader.d.ts +1 -1
- package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +2 -1
- package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellRender.d.ts +1 -1
- package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellEditor.d.ts +1 -0
- package/dist/types/components/ez-grid/controller/ag-grid/mock/Server.d.ts +1 -1
- package/dist/types/components/ez-grid/ez-grid.d.ts +37 -1
- package/dist/types/components/ez-list/ez-list.d.ts +23 -2
- package/dist/types/components/ez-list/ezListHelper.d.ts +20 -0
- package/dist/types/components/ez-modal/ez-modal.d.ts +7 -1
- package/dist/types/components/ez-modal-container/ez-modal-container.d.ts +4 -0
- package/dist/types/components/ez-number-input/ez-number-input.d.ts +12 -0
- package/dist/types/components/ez-popup/ez-popup.d.ts +8 -1
- package/dist/types/components/ez-search/ez-search.d.ts +29 -5
- package/dist/types/components/ez-split-button/ez-split-button.d.ts +1 -1
- package/dist/types/components/ez-split-panel/ez-split-panel.d.ts +11 -0
- package/dist/types/components/ez-split-panel/interfaces/IPanelSizeInfo.d.ts +9 -0
- package/dist/types/components/ez-split-panel/structure/item/ez-split-item.d.ts +4 -0
- package/dist/types/components/ez-text-area/ez-text-area.d.ts +17 -0
- package/dist/types/components/ez-text-input/ez-text-input.d.ts +28 -2
- package/dist/types/components/ez-time-input/ez-time-input.d.ts +8 -0
- package/dist/types/components/ez-tooltip/ez-tooltip.d.ts +21 -0
- package/dist/types/components.d.ts +448 -25
- package/dist/types/utils/FocusResolver.d.ts +5 -0
- package/dist/types/utils/ResponsiveInputUtils.d.ts +6 -0
- package/dist/types/utils/customEditor/interfaces/ICustomEditor.d.ts +2 -0
- package/dist/types/utils/form/DataBinder.d.ts +3 -0
- package/dist/types/utils/validators/recordvalidator/IInvalidCells.d.ts +5 -0
- package/dist/types/utils/validators/recordvalidator/RecordValidationProcessor.d.ts +1 -1
- package/package.json +12 -4
- package/react/components.d.ts +2 -0
- package/react/components.js +2 -0
- package/react/components.js.map +1 -1
- package/dist/cjs/RecordValidationProcessor-4c893e04.js +0 -102
- package/dist/cjs/ez-card-item_3.cjs.entry.js +0 -183
- package/dist/cjs/ez-skeleton.cjs.entry.js +0 -67
- package/dist/esm/RecordValidationProcessor-b00b8b77.js +0 -99
- package/dist/esm/ez-card-item_3.entry.js +0 -177
- package/dist/esm/ez-skeleton.entry.js +0 -63
- package/dist/ezui/p-04f24913.js +0 -1
- package/dist/ezui/p-11b09aa1.entry.js +0 -1
- package/dist/ezui/p-24ca32a3.entry.js +0 -1
- package/dist/ezui/p-2af4e2de.entry.js +0 -1
- package/dist/ezui/p-31674f8e.entry.js +0 -1
- package/dist/ezui/p-33792b2b.entry.js +0 -1
- package/dist/ezui/p-33b08253.entry.js +0 -304
- package/dist/ezui/p-36180f4d.entry.js +0 -1
- package/dist/ezui/p-3f8c33e0.entry.js +0 -1
- package/dist/ezui/p-5fefcdc9.entry.js +0 -1
- package/dist/ezui/p-6ec40dec.entry.js +0 -1
- package/dist/ezui/p-752c4069.entry.js +0 -1
- package/dist/ezui/p-81cffa53.entry.js +0 -1
- package/dist/ezui/p-81f99ace.entry.js +0 -1
- package/dist/ezui/p-868b56f7.entry.js +0 -1
- package/dist/ezui/p-8eef0f70.entry.js +0 -1
- package/dist/ezui/p-9634631d.entry.js +0 -1
- package/dist/ezui/p-9a11e223.entry.js +0 -1
- package/dist/ezui/p-9a23d513.entry.js +0 -1
- package/dist/ezui/p-9c2e2d68.entry.js +0 -1
- package/dist/ezui/p-a35b41e6.entry.js +0 -1
- package/dist/ezui/p-acbf0e76.entry.js +0 -1
- package/dist/ezui/p-b0e71d23.entry.js +0 -1
- package/dist/ezui/p-c3b7a23e.entry.js +0 -1
- package/dist/ezui/p-cd1a2e6b.entry.js +0 -1
- package/dist/ezui/p-dbeee5aa.entry.js +0 -1
- package/dist/ezui/p-de870657.entry.js +0 -1
- package/dist/ezui/p-e151e795.entry.js +0 -1
- package/dist/ezui/p-ee9315ff.entry.js +0 -1
- package/dist/ezui/p-f1c3f85d.entry.js +0 -1
- package/dist/ezui/p-f291db18.entry.js +0 -1
|
@@ -6,3 +6,18 @@
|
|
|
6
6
|
background-color: transparent;
|
|
7
7
|
max-width: 100%;
|
|
8
8
|
}
|
|
9
|
+
.ez-split-gutter__row {
|
|
10
|
+
cursor: ns-resize;
|
|
11
|
+
}
|
|
12
|
+
.ez-split-gutter__column {
|
|
13
|
+
cursor: ew-resize;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.structural__panel {
|
|
17
|
+
background: none;
|
|
18
|
+
box-shadow: none;
|
|
19
|
+
outline: none;
|
|
20
|
+
padding: 0;
|
|
21
|
+
margin: 0;
|
|
22
|
+
border: 0;
|
|
23
|
+
}
|
|
@@ -7,6 +7,7 @@ export class SplitPanel {
|
|
|
7
7
|
this._buildInProgress = false;
|
|
8
8
|
this.direction = 'column';
|
|
9
9
|
this.anchorToExpand = false;
|
|
10
|
+
this.structural = false;
|
|
10
11
|
}
|
|
11
12
|
rebuildLayout() {
|
|
12
13
|
Array.from(this._element.querySelectorAll(".ez-split-gutter")).reverse().forEach(el => {
|
|
@@ -38,7 +39,7 @@ export class SplitPanel {
|
|
|
38
39
|
this.initSplit();
|
|
39
40
|
this._mutationObserver = new MutationObserver((mutationsList) => {
|
|
40
41
|
for (const mutation of mutationsList) {
|
|
41
|
-
if (mutation.type === 'childList' && this._buildInProgress
|
|
42
|
+
if (mutation.type === 'childList' && !this._buildInProgress) {
|
|
42
43
|
this._buildInProgress = true;
|
|
43
44
|
window.requestAnimationFrame(() => {
|
|
44
45
|
this.rebuildLayout();
|
|
@@ -61,20 +62,30 @@ export class SplitPanel {
|
|
|
61
62
|
if (!this._items.length) {
|
|
62
63
|
return;
|
|
63
64
|
}
|
|
64
|
-
this._element.style[this.direction
|
|
65
|
+
this._element.style[this.direction === 'row' ? 'grid-template-rows' : 'grid-template-columns'] = this.getGridTemplate();
|
|
66
|
+
this.removeGuttersMargin();
|
|
65
67
|
Split(this.getGutters());
|
|
66
68
|
}
|
|
69
|
+
handlePanelDragEnd() {
|
|
70
|
+
const items = this._items.map(item => ({
|
|
71
|
+
id: item.id,
|
|
72
|
+
height: item.clientHeight,
|
|
73
|
+
width: item.clientWidth,
|
|
74
|
+
}));
|
|
75
|
+
this.resizeEnd.emit({ panelId: this._element.id, items });
|
|
76
|
+
}
|
|
67
77
|
getGutters() {
|
|
68
78
|
const gutters = {
|
|
69
79
|
columnGutters: [],
|
|
70
80
|
rowGutters: [],
|
|
81
|
+
onDragEnd: () => this.handlePanelDragEnd()
|
|
71
82
|
};
|
|
72
83
|
if (!this._items.length) {
|
|
73
84
|
return gutters;
|
|
74
85
|
}
|
|
75
|
-
const proToChange = this.direction
|
|
86
|
+
const proToChange = this.direction === 'row' ? 'rowGutters' : 'columnGutters';
|
|
76
87
|
this._items.forEach((item, index) => {
|
|
77
|
-
if (index
|
|
88
|
+
if (index === this._items.length - 1)
|
|
78
89
|
return;
|
|
79
90
|
let gutterTrack = item.dataset.trackNumber;
|
|
80
91
|
if (index === this._items.length - 1) {
|
|
@@ -91,6 +102,12 @@ export class SplitPanel {
|
|
|
91
102
|
const gutter = document.createElement('div');
|
|
92
103
|
gutter.classList.add('ez-split-gutter');
|
|
93
104
|
gutter.classList.add(this.direction);
|
|
105
|
+
if (this.direction === 'row') {
|
|
106
|
+
gutter.classList.add('ez-split-gutter__row');
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
gutter.classList.add('ez-split-gutter__column');
|
|
110
|
+
}
|
|
94
111
|
gutter.dataset.itemTrack = `${item.dataset.trackNumber}`;
|
|
95
112
|
gutter.dataset.trackNumber = (Number(item.dataset.trackNumber) + 1).toString();
|
|
96
113
|
item.parentNode.insertBefore(gutter, item.nextSibling);
|
|
@@ -136,8 +153,52 @@ export class SplitPanel {
|
|
|
136
153
|
});
|
|
137
154
|
return template;
|
|
138
155
|
}
|
|
156
|
+
removeGuttersMargin() {
|
|
157
|
+
if (this._items.length <= 1)
|
|
158
|
+
return;
|
|
159
|
+
if (this.direction == "column") {
|
|
160
|
+
this.removeGuttersMarginColumn();
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
if (this.direction == "row") {
|
|
164
|
+
this.removeGuttersMarginRow();
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
removeGuttersMarginColumn() {
|
|
169
|
+
this._items.forEach((item, index) => {
|
|
170
|
+
if (index == 0) {
|
|
171
|
+
item.style.marginRight = "0";
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (index === this._items.length - 1) {
|
|
175
|
+
item.style.marginLeft = "0";
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
item.style.marginRight = "0";
|
|
179
|
+
item.style.marginLeft = "0";
|
|
180
|
+
return;
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
removeGuttersMarginRow() {
|
|
184
|
+
if (this._items.length <= 1)
|
|
185
|
+
return;
|
|
186
|
+
this._items.forEach((item, index) => {
|
|
187
|
+
if (index == 0) {
|
|
188
|
+
item.style.marginBottom = "0";
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (index === this._items.length - 1) {
|
|
192
|
+
item.style.marginTop = "0";
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
item.style.marginBottom = "0";
|
|
196
|
+
item.style.marginTop = "0";
|
|
197
|
+
return;
|
|
198
|
+
});
|
|
199
|
+
}
|
|
139
200
|
render() {
|
|
140
|
-
return h(Host, { style: this.getElementStyle() });
|
|
201
|
+
return h(Host, { class: `${this.structural ? 'structural__panel' : 'content__panel'}`, style: this.getElementStyle() });
|
|
141
202
|
}
|
|
142
203
|
static get is() { return "ez-split-panel"; }
|
|
143
204
|
static get originalStyleUrls() {
|
|
@@ -187,9 +248,49 @@ export class SplitPanel {
|
|
|
187
248
|
"attribute": "anchor-to-expand",
|
|
188
249
|
"reflect": false,
|
|
189
250
|
"defaultValue": "false"
|
|
251
|
+
},
|
|
252
|
+
"structural": {
|
|
253
|
+
"type": "boolean",
|
|
254
|
+
"mutable": false,
|
|
255
|
+
"complexType": {
|
|
256
|
+
"original": "boolean",
|
|
257
|
+
"resolved": "boolean",
|
|
258
|
+
"references": {}
|
|
259
|
+
},
|
|
260
|
+
"required": false,
|
|
261
|
+
"optional": false,
|
|
262
|
+
"docs": {
|
|
263
|
+
"tags": [],
|
|
264
|
+
"text": "Define se o painel est\u00E1 sendo utilizado como estrutura para apresenta\u00E7\u00E3o de outro item"
|
|
265
|
+
},
|
|
266
|
+
"attribute": "structural",
|
|
267
|
+
"reflect": false,
|
|
268
|
+
"defaultValue": "false"
|
|
190
269
|
}
|
|
191
270
|
};
|
|
192
271
|
}
|
|
272
|
+
static get events() {
|
|
273
|
+
return [{
|
|
274
|
+
"method": "resizeEnd",
|
|
275
|
+
"name": "resizeEnd",
|
|
276
|
+
"bubbles": true,
|
|
277
|
+
"cancelable": true,
|
|
278
|
+
"composed": true,
|
|
279
|
+
"docs": {
|
|
280
|
+
"tags": [],
|
|
281
|
+
"text": ""
|
|
282
|
+
},
|
|
283
|
+
"complexType": {
|
|
284
|
+
"original": "IPanelSizeInfo",
|
|
285
|
+
"resolved": "IPanelSizeInfo",
|
|
286
|
+
"references": {
|
|
287
|
+
"IPanelSizeInfo": {
|
|
288
|
+
"location": "global"
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}];
|
|
293
|
+
}
|
|
193
294
|
static get methods() {
|
|
194
295
|
return {
|
|
195
296
|
"rebuildLayout": {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
width: 100%;
|
|
4
4
|
height: 100%;
|
|
5
5
|
border-radius: var(--border--radius-medium);
|
|
6
|
-
box-shadow: var(--shadow);
|
|
6
|
+
box-shadow: var(--shadow--xsmall);
|
|
7
7
|
flex-direction: column;
|
|
8
8
|
overflow: hidden;
|
|
9
9
|
display: flex;
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
.ez-split-item--header-buttons {
|
|
46
46
|
display: flex;
|
|
47
47
|
align-items: center;
|
|
48
|
+
max-height: 20px;
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
.ez-split-item--content {
|
|
@@ -56,4 +57,15 @@ h3.ez-margin--small {
|
|
|
56
57
|
margin-left: var(--space--small);
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
|
|
60
|
+
.structural__item {
|
|
61
|
+
background: none;
|
|
62
|
+
box-shadow: none;
|
|
63
|
+
padding: 0;
|
|
64
|
+
margin: 0;
|
|
65
|
+
border: 0;
|
|
66
|
+
}
|
|
67
|
+
.content__item {
|
|
68
|
+
margin: var(--space--extra-small);
|
|
69
|
+
width: calc(100% - 2*(var(--space--extra-small)));
|
|
70
|
+
height: calc(100% - 2*(var(--space--extra-small)));
|
|
71
|
+
}
|
|
@@ -6,6 +6,7 @@ export class SplitItem {
|
|
|
6
6
|
this.enableExpand = true;
|
|
7
7
|
this._expanded = false;
|
|
8
8
|
this.size = undefined;
|
|
9
|
+
this.structural = false;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
12
|
* Alterna a visibilidade do painel.
|
|
@@ -17,7 +18,7 @@ export class SplitItem {
|
|
|
17
18
|
CSSVarsUtils.applyVarsGrid(this._element, this._slot.children[0]);
|
|
18
19
|
}
|
|
19
20
|
render() {
|
|
20
|
-
return (h(Host, { class: `box_split-item ${this._expanded ? 'expanded__item' : ''}`, ref: el => (this._element = el) }, h("div", { class: "ez-split-item--header" }, h("slot", { name: "leftButtons" }), h("div", { class: "ez-split-item--header-title" }, this.label && (h("h3", { class: "ez-text ez-text--primary ez-title ez-title--small ez-margin--small", title: this.label }, this.label))), h("div", { class: "ez-split-item--header-buttons" }, h("slot", { name: "rightButtons" }), this.enableExpand && (h("ez-button", { size: "small", mode: "icon", iconName: "expand", class: 'ez-button--tertiary', onClick: () => this.toggleExpandItem(), title: this._expanded ? 'Resumir' : 'Expandir' })))), h("div", { class: "ez-split-item--content grid_height-0", ref: el => (this._slot = el) }, h("slot", null))));
|
|
21
|
+
return (h(Host, { class: `box_split-item ${this._expanded ? 'expanded__item' : ''} ${this.structural ? 'structural__item' : 'content__item'}`, ref: el => (this._element = el) }, h("div", { class: "ez-split-item--header" }, h("slot", { name: "leftButtons" }), h("div", { class: "ez-split-item--header-title" }, this.label && (h("h3", { class: "ez-text ez-text--primary ez-title ez-title--small ez-margin--small", title: this.label }, this.label))), h("div", { class: "ez-split-item--header-buttons" }, h("slot", { name: "rightButtons" }), this.enableExpand && (h("ez-button", { size: "small", mode: "icon", iconName: "expand", class: 'ez-button--tertiary', onClick: () => this.toggleExpandItem(), title: this._expanded ? 'Resumir' : 'Expandir' })))), h("div", { class: "ez-split-item--content grid_height-0", ref: el => (this._slot = el) }, h("slot", null))));
|
|
21
22
|
}
|
|
22
23
|
static get is() { return "ez-split-item"; }
|
|
23
24
|
static get originalStyleUrls() {
|
|
@@ -86,6 +87,24 @@ export class SplitItem {
|
|
|
86
87
|
},
|
|
87
88
|
"attribute": "size",
|
|
88
89
|
"reflect": false
|
|
90
|
+
},
|
|
91
|
+
"structural": {
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"mutable": false,
|
|
94
|
+
"complexType": {
|
|
95
|
+
"original": "boolean",
|
|
96
|
+
"resolved": "boolean",
|
|
97
|
+
"references": {}
|
|
98
|
+
},
|
|
99
|
+
"required": false,
|
|
100
|
+
"optional": false,
|
|
101
|
+
"docs": {
|
|
102
|
+
"tags": [],
|
|
103
|
+
"text": "Define se o painel est\u00E1 sendo utilizado como estrutura para apresenta\u00E7\u00E3o de outro item"
|
|
104
|
+
},
|
|
105
|
+
"attribute": "structural",
|
|
106
|
+
"reflect": false,
|
|
107
|
+
"defaultValue": "false"
|
|
89
108
|
}
|
|
90
109
|
};
|
|
91
110
|
}
|
|
@@ -13,24 +13,25 @@
|
|
|
13
13
|
/*@doc Define o peso da fonte do label do componente.*/
|
|
14
14
|
--text-area--font-weight: var(--text-weight--medium, 400);
|
|
15
15
|
/*@doc Define a cor da fonte do input e label do componente.*/
|
|
16
|
-
--text-area--color: var(--title--primary, #
|
|
16
|
+
--text-area--color: var(--title--primary, #2B3A54);
|
|
17
17
|
|
|
18
18
|
/* input */
|
|
19
19
|
/*@doc Define a cor de fundo do input.*/
|
|
20
|
-
--text-area__input--background-color: var(--background--
|
|
20
|
+
--text-area__input--background-color: var(--background--light, #FFFFFF);
|
|
21
21
|
/*@doc Define o estilo da borda do input.*/
|
|
22
22
|
--text-area__input--border: var(--border--medium, 2px solid);
|
|
23
23
|
/*@doc Define a cor da borda do input.*/
|
|
24
|
-
--text-area__input--border-color: var(--
|
|
25
|
-
/*no modo normal usamos a borda com a mesma cor do bg*/
|
|
24
|
+
--text-area__input--border-color: var(--color--strokes,#DCE0E8);
|
|
26
25
|
/*@doc Define a cor da borda do input quando focado.*/
|
|
27
26
|
--text-area__input--focus--border-color: var(--color--primary, #008561);
|
|
28
27
|
/*@doc Define a cor de fundo do input quando desabilitado.*/
|
|
29
|
-
--text-area__input--disabled--background-color: var(--
|
|
28
|
+
--text-area__input--disabled--background-color: var(--background--medium, #F0F3F7);
|
|
30
29
|
/*@doc Define a cor do texto do input.*/
|
|
31
|
-
--text-area__input--disabled--color: var(--text--
|
|
30
|
+
--text-area__input--disabled--color: var(--text--primary, #626E82);
|
|
31
|
+
/*@doc Define a borda do texto do input quando desabilitado.*/
|
|
32
|
+
--text-area__input--disabled--border--color: var(--color--strokes,#DCE0E8);
|
|
32
33
|
/*@doc Define a cor da borda do input quando com erro.*/
|
|
33
|
-
--text-area__input--error--border-color:
|
|
34
|
+
--text-area__input--error--border-color: var(--color-alert--error-800,#BD0025);
|
|
34
35
|
|
|
35
36
|
/* message box */
|
|
36
37
|
/*@doc Define o tamanho da fonte da mensagem abaixo do input.*/
|
|
@@ -38,7 +39,7 @@
|
|
|
38
39
|
/*@doc Define a cor da fonte da mensagem quando info.*/
|
|
39
40
|
--text-area__message_box--info--color: var(--color--success, #22085d);
|
|
40
41
|
/*@doc Define a cor da fonte da mensagem quando erro.*/
|
|
41
|
-
--text-area__message_box--error--color: var(--color--error
|
|
42
|
+
--text-area__message_box--error--color: var(--color-alert--error-800,#BD0025);
|
|
42
43
|
|
|
43
44
|
/* label */
|
|
44
45
|
/*@doc Define o posicionamento do label.*/
|
|
@@ -50,6 +51,20 @@
|
|
|
50
51
|
/*@doc Define o espaçamento direito do label.*/
|
|
51
52
|
--text-area__label--padding-right: 12px;
|
|
52
53
|
|
|
54
|
+
/* scrollbar */
|
|
55
|
+
/*@doc Define a cor da barra de rolagem do componente.*/
|
|
56
|
+
--text-area__scrollbar--color-default: var(--scrollbar--default, #626e82);
|
|
57
|
+
/*@doc Define a cor de fundo da barra de rolagem do componente.*/
|
|
58
|
+
--text-area__scrollbar--color-background: var(--scrollbar--background, #E5EAF0);
|
|
59
|
+
/*@doc Define a cor do hover na barra de rolagem do componente.*/
|
|
60
|
+
--text-area__scrollbar--color-hover: var(--scrollbar--hover, #2B3A54);
|
|
61
|
+
/*@doc Define a cor do active na barra de rolagem do componente.*/
|
|
62
|
+
--text-area__scrollbar--color-clicked: var(--scrollbar--clicked, #a2abb9);
|
|
63
|
+
/*@doc Define o raio da borda da barra de rolagem do componente.*/
|
|
64
|
+
--text-area__scrollbar--border-radius: var(--border--radius-small, 6px);
|
|
65
|
+
/*@doc Define a largura da barra de rolagem do componente.*/
|
|
66
|
+
--text-area__scrollbar--width: var(--space--medium, 12px);
|
|
67
|
+
|
|
53
68
|
/***************
|
|
54
69
|
host style
|
|
55
70
|
***************/
|
|
@@ -76,6 +91,9 @@ textarea {
|
|
|
76
91
|
font-size: var(--text-area--font-size);
|
|
77
92
|
color: var(--text-area--color);
|
|
78
93
|
margin-top: calc(var(--space--medium, 12px) + 4px);
|
|
94
|
+
|
|
95
|
+
scrollbar-width: thin;
|
|
96
|
+
scrollbar-color: var(--text-area__scrollbar--color-clicked) var(--text-area__scrollbar--color-background);
|
|
79
97
|
}
|
|
80
98
|
|
|
81
99
|
textarea:focus {
|
|
@@ -87,6 +105,40 @@ textarea:disabled {
|
|
|
87
105
|
/*public*/
|
|
88
106
|
background-color: transparent;
|
|
89
107
|
color: var(--text-area__input--disabled--color);
|
|
108
|
+
border: var(--text-area__input--disabled--border);
|
|
109
|
+
cursor: not-allowed;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
textarea::-webkit-scrollbar {
|
|
113
|
+
background-color: var(--text-area__scrollbar--color-background);
|
|
114
|
+
|
|
115
|
+
width: var(--text-area__scrollbar--width);
|
|
116
|
+
max-width: var(--text-area__scrollbar--width);
|
|
117
|
+
min-width: var(--text-area__scrollbar--width);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
textarea::-webkit-scrollbar-thumb {
|
|
121
|
+
/*public*/
|
|
122
|
+
background-color: var(--text-area__scrollbar--color-default);
|
|
123
|
+
border-radius: var(--text-area__scrollbar--border-radius);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
textarea::-webkit-scrollbar-track {
|
|
127
|
+
/*public*/
|
|
128
|
+
background-color: var(--text-area__scrollbar--color-background);
|
|
129
|
+
border-radius: var(--text-area__scrollbar--border-radius);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
textarea::-webkit-scrollbar-thumb:vertical:hover,
|
|
133
|
+
textarea::-webkit-scrollbar-thumb:horizontal:hover {
|
|
134
|
+
/*public*/
|
|
135
|
+
background-color: var(--text-area__scrollbar--color-hover);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
textarea::-webkit-scrollbar-thumb:vertical:active,
|
|
139
|
+
textarea::-webkit-scrollbar-thumb:horizontal:active {
|
|
140
|
+
/*public*/
|
|
141
|
+
background-color: var(--text-area__scrollbar--color-clicked);
|
|
90
142
|
}
|
|
91
143
|
|
|
92
144
|
.textarea {
|
|
@@ -102,6 +154,13 @@ textarea:disabled {
|
|
|
102
154
|
border-color: var(--text-area__input--border-color);
|
|
103
155
|
background-color: var(--text-area__input--background-color);
|
|
104
156
|
}
|
|
157
|
+
.textarea--disabled{
|
|
158
|
+
border-radius: var(--text-area--border-radius);
|
|
159
|
+
border: var(--text-area__input--border);
|
|
160
|
+
border-color: var(--text-area__input--disabled--border--color);
|
|
161
|
+
background-color: var(--text-area__input--disabled--background-color);
|
|
162
|
+
cursor: not-allowed;
|
|
163
|
+
}
|
|
105
164
|
|
|
106
165
|
.textarea--resizable {
|
|
107
166
|
resize: both;
|
|
@@ -169,6 +228,7 @@ textarea:disabled {
|
|
|
169
228
|
|
|
170
229
|
.textarea__label--disabled {
|
|
171
230
|
color: var(--text-area__input--disabled--color);
|
|
231
|
+
cursor: not-allowed;
|
|
172
232
|
}
|
|
173
233
|
|
|
174
234
|
.textarea--slim {
|
|
@@ -216,27 +276,12 @@ textarea:disabled {
|
|
|
216
276
|
color: var(--text-area--color);
|
|
217
277
|
}
|
|
218
278
|
|
|
219
|
-
.textarea--slim:disabled::-webkit-input-placeholder
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
.textarea--slim:disabled:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
|
|
225
|
-
/*public*/
|
|
226
|
-
color: var(--text-area__input--disabled--color);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
.textarea--slim:disabled::-moz-placeholder { /* Mozilla Firefox 19+ */
|
|
230
|
-
/*public*/
|
|
231
|
-
color: var(--text-area__input--disabled--color);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
.textarea--slim:disabled:-ms-input-placeholder { /* Internet Explorer 10+ */
|
|
235
|
-
/*public*/
|
|
236
|
-
color: var(--text-area__input--disabled--color);
|
|
237
|
-
}
|
|
238
|
-
|
|
279
|
+
.textarea--slim:disabled::-webkit-input-placeholder, /* WebKit browsers */
|
|
280
|
+
.textarea--slim:disabled:-moz-placeholder, /* Mozilla Firefox 4 to 18 */
|
|
281
|
+
.textarea--slim:disabled::-moz-placeholder, /* Mozilla Firefox 19+ */
|
|
282
|
+
.textarea--slim:disabled:-ms-input-placeholder, /* Internet Explorer 10+ */
|
|
239
283
|
.textarea--slim:disabled::placeholder {
|
|
240
284
|
/*public*/
|
|
241
285
|
color: var(--text-area__input--disabled--color);
|
|
286
|
+
cursor: not-allowed
|
|
242
287
|
}
|
|
@@ -2,6 +2,8 @@ import { ElementIDUtils } from '@sankhyalabs/core';
|
|
|
2
2
|
import { h, Host } from '@stencil/core';
|
|
3
3
|
export class EzTextArea {
|
|
4
4
|
constructor() {
|
|
5
|
+
this.LINE_HEIGHT = 24;
|
|
6
|
+
this.HEIGHT_RATIO = 1.4;
|
|
5
7
|
this.label = undefined;
|
|
6
8
|
this.value = undefined;
|
|
7
9
|
this.enabled = true;
|
|
@@ -10,6 +12,8 @@ export class EzTextArea {
|
|
|
10
12
|
this.canShowError = true;
|
|
11
13
|
this.mode = "regular";
|
|
12
14
|
this.enableResize = false;
|
|
15
|
+
this.autoRows = false;
|
|
16
|
+
this.autoFocus = false;
|
|
13
17
|
}
|
|
14
18
|
observeErrorMessage() {
|
|
15
19
|
var _a, _b, _c, _d;
|
|
@@ -47,8 +51,17 @@ export class EzTextArea {
|
|
|
47
51
|
observeRows() {
|
|
48
52
|
const rows = this.rows > 0 ? this.rows : this.mode != "slim" ? 4 : 2;
|
|
49
53
|
if (rows !== this.rows) {
|
|
50
|
-
this.rows
|
|
51
|
-
|
|
54
|
+
this.updateRows(rows);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
observeAutoRows() {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
if (this.autoRows) {
|
|
60
|
+
(_a = this._resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
61
|
+
this.initializeResizeObserver();
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
(_b = this._resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
52
65
|
}
|
|
53
66
|
}
|
|
54
67
|
//---------------------------------------------
|
|
@@ -117,6 +130,42 @@ export class EzTextArea {
|
|
|
117
130
|
isFocused() {
|
|
118
131
|
return this._hostElement.shadowRoot.activeElement !== null;
|
|
119
132
|
}
|
|
133
|
+
updateRows(newRows) {
|
|
134
|
+
this.rows = newRows;
|
|
135
|
+
this._initialRows = newRows;
|
|
136
|
+
}
|
|
137
|
+
calculateMaxRows() {
|
|
138
|
+
const parentElement = this._hostElement.parentElement;
|
|
139
|
+
if (!parentElement) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const height = Math.max((parentElement === null || parentElement === void 0 ? void 0 : parentElement.clientHeight) || 0, this.LINE_HEIGHT);
|
|
143
|
+
if (height > 0) {
|
|
144
|
+
const maxRows = Math.floor(height / this.LINE_HEIGHT * this.HEIGHT_RATIO);
|
|
145
|
+
if (maxRows !== this.rows) {
|
|
146
|
+
this.updateRows(maxRows);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
initializeResizeObserver() {
|
|
151
|
+
if (!this.autoRows) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const parentElement = this._hostElement.parentElement;
|
|
155
|
+
if (parentElement) {
|
|
156
|
+
try {
|
|
157
|
+
if (this._resizeObserver != undefined) {
|
|
158
|
+
this._resizeObserver.unobserve(parentElement);
|
|
159
|
+
}
|
|
160
|
+
this._resizeObserver = new ResizeObserver(this.calculateMaxRows.bind(this));
|
|
161
|
+
this._resizeObserver.observe(parentElement);
|
|
162
|
+
}
|
|
163
|
+
catch (e) {
|
|
164
|
+
console.warn(e);
|
|
165
|
+
}
|
|
166
|
+
this.calculateMaxRows();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
120
169
|
//---------------------------------------------
|
|
121
170
|
// Event handlers
|
|
122
171
|
//---------------------------------------------
|
|
@@ -139,6 +188,13 @@ export class EzTextArea {
|
|
|
139
188
|
this._container.classList.add("textarea--focus");
|
|
140
189
|
}
|
|
141
190
|
}
|
|
191
|
+
connectedCallback() {
|
|
192
|
+
this.initializeResizeObserver();
|
|
193
|
+
}
|
|
194
|
+
disconnectedCallback() {
|
|
195
|
+
var _a;
|
|
196
|
+
(_a = this._resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
197
|
+
}
|
|
142
198
|
//---------------------------------------------
|
|
143
199
|
// Lifecycle web component
|
|
144
200
|
//---------------------------------------------
|
|
@@ -146,10 +202,15 @@ export class EzTextArea {
|
|
|
146
202
|
this.observeErrorMessage();
|
|
147
203
|
this.adjustFloatingLabel();
|
|
148
204
|
this.observeMode();
|
|
205
|
+
if (this.autoFocus) {
|
|
206
|
+
requestAnimationFrame(() => {
|
|
207
|
+
this.setFocus();
|
|
208
|
+
});
|
|
209
|
+
}
|
|
149
210
|
}
|
|
150
211
|
render() {
|
|
151
212
|
ElementIDUtils.addIDInfoIfNotExists(this._hostElement, 'input');
|
|
152
|
-
return (h(Host, null, h("div", { class: "textarea"
|
|
213
|
+
return (h(Host, null, h("div", { class: `textarea ${this.enabled ? "" : "textarea--disabled"}`, ref: (el) => this._container = el }, this.label && this.mode != "slim" ?
|
|
153
214
|
h("label", { ref: (el) => this._labelElem = el, class: this.enabled ? "textarea__label" : "textarea__label textarea__label--disabled", onClick: () => this._inputElem.focus(), title: this.label }, this.label)
|
|
154
215
|
: null, h("textarea", { onFocus: () => this.handleFocus(), "data-element-id": ElementIDUtils.getInternalIDInfo("input"), ref: (el) => this._inputElem = el, value: this.value, disabled: !this.enabled, class: {
|
|
155
216
|
"textarea--slim": this.mode === "slim",
|
|
@@ -311,6 +372,42 @@ export class EzTextArea {
|
|
|
311
372
|
"attribute": "enable-resize",
|
|
312
373
|
"reflect": true,
|
|
313
374
|
"defaultValue": "false"
|
|
375
|
+
},
|
|
376
|
+
"autoRows": {
|
|
377
|
+
"type": "boolean",
|
|
378
|
+
"mutable": false,
|
|
379
|
+
"complexType": {
|
|
380
|
+
"original": "boolean",
|
|
381
|
+
"resolved": "boolean",
|
|
382
|
+
"references": {}
|
|
383
|
+
},
|
|
384
|
+
"required": false,
|
|
385
|
+
"optional": false,
|
|
386
|
+
"docs": {
|
|
387
|
+
"tags": [],
|
|
388
|
+
"text": "Ativa a op\u00E7\u00E3o de fazer as linhas do componente serem baseados na altura m\u00E1xima."
|
|
389
|
+
},
|
|
390
|
+
"attribute": "auto-rows",
|
|
391
|
+
"reflect": true,
|
|
392
|
+
"defaultValue": "false"
|
|
393
|
+
},
|
|
394
|
+
"autoFocus": {
|
|
395
|
+
"type": "boolean",
|
|
396
|
+
"mutable": false,
|
|
397
|
+
"complexType": {
|
|
398
|
+
"original": "boolean",
|
|
399
|
+
"resolved": "boolean",
|
|
400
|
+
"references": {}
|
|
401
|
+
},
|
|
402
|
+
"required": false,
|
|
403
|
+
"optional": false,
|
|
404
|
+
"docs": {
|
|
405
|
+
"tags": [],
|
|
406
|
+
"text": "Se true o campo de texto receber\u00E1 o foco ao ser renderizado."
|
|
407
|
+
},
|
|
408
|
+
"attribute": "auto-focus",
|
|
409
|
+
"reflect": false,
|
|
410
|
+
"defaultValue": "false"
|
|
314
411
|
}
|
|
315
412
|
};
|
|
316
413
|
}
|
|
@@ -423,6 +520,9 @@ export class EzTextArea {
|
|
|
423
520
|
}, {
|
|
424
521
|
"propName": "rows",
|
|
425
522
|
"methodName": "observeRows"
|
|
523
|
+
}, {
|
|
524
|
+
"propName": "autoRows",
|
|
525
|
+
"methodName": "observeAutoRows"
|
|
426
526
|
}];
|
|
427
527
|
}
|
|
428
528
|
}
|