@genexus/genexus-ide-ui 0.0.12 → 0.0.14
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/ch-grid-action-refresh_6.cjs.entry.js +359 -0
- package/dist/cjs/ch-grid-rowset-legend_2.cjs.entry.js +51 -0
- package/dist/cjs/{ch-grid_9.cjs.entry.js → ch-grid_7.cjs.entry.js} +130 -332
- package/dist/cjs/ch-suggest_5.cjs.entry.js +388 -0
- package/dist/cjs/form-validation-87e3749d.js +68 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-container_2.cjs.entry.js +168 -0
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +118 -0
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +36 -87
- package/dist/cjs/gx-ide-references.cjs.entry.js +299 -0
- package/dist/cjs/gx-ide-template.cjs.entry.js +11 -12
- package/dist/cjs/gx-ide-test.cjs.entry.js +2 -25
- package/dist/cjs/gxg-breadcrumb.cjs.entry.js +0 -1
- package/dist/cjs/gxg-button-group.cjs.entry.js +1 -1
- package/dist/cjs/gxg-button.cjs.entry.js +2 -2
- package/dist/cjs/gxg-combo-box_8.cjs.entry.js +172 -231
- package/dist/cjs/gxg-container.cjs.entry.js +215 -0
- package/dist/cjs/gxg-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/gxg-drop-down.cjs.entry.js +1 -1
- package/dist/cjs/gxg-form-checkbox.cjs.entry.js +3 -1
- package/dist/cjs/gxg-form-radio-group.cjs.entry.js +76 -36
- package/dist/cjs/gxg-form-text.cjs.entry.js +17 -5
- package/dist/cjs/gxg-form-textarea.cjs.entry.js +1 -1
- package/dist/cjs/gxg-list-box.cjs.entry.js +3 -2
- package/dist/cjs/gxg-menu-item.cjs.entry.js +59 -12
- package/dist/cjs/gxg-menu-list.cjs.entry.js +28 -0
- package/dist/cjs/gxg-menu.cjs.entry.js +228 -12
- package/dist/cjs/gxg-option.cjs.entry.js +1 -1
- package/dist/cjs/gxg-paginator.cjs.entry.js +1 -1
- package/dist/cjs/gxg-select.cjs.entry.js +1 -1
- package/dist/cjs/gxg-test.cjs.entry.js +36 -10
- package/dist/cjs/gxg-title.cjs.entry.js +11 -7
- package/dist/cjs/{gxg-tree-item.cjs.entry.js → gxg-tree_2.cjs.entry.js} +197 -43
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/render-tree-25d5b8a1.js +29 -0
- package/dist/cjs/{repositionScroll-e3ae1947.js → reposition-scroll-accee84c.js} +3 -15
- package/dist/cjs/types-e04c9098.js +12 -0
- package/dist/collection/collection-manifest.json +7 -1
- package/dist/collection/common/common.js +6 -6
- package/dist/collection/common/form-validation.js +17 -0
- package/dist/collection/common/interfaces.js +3 -1
- package/dist/collection/common/render-suggest.js +18 -0
- package/dist/collection/components/_template/gx-ide-assets/template/langs/template.lang.en.json +1 -1
- package/dist/collection/components/_template/template.css +90 -6
- package/dist/collection/components/_template/template.js +26 -23
- package/dist/{node_modules/@genexus/gemini/dist/collection/components/suggest/gxg-suggest.css → collection/components/container/container.css} +118 -120
- package/dist/collection/components/container/container.js +535 -0
- package/dist/collection/components/entity-selector/entity-selector.css +1 -1
- package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +26 -0
- package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +3 -0
- package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.zh.json +3 -0
- package/dist/collection/components/new-environment/new-environment.css +219 -0
- package/dist/collection/components/new-environment/new-environment.js +355 -0
- package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +1 -0
- package/dist/collection/components/new-kb/new-kb.css +100 -8
- package/dist/collection/components/new-kb/new-kb.js +88 -84
- package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.en.json +15 -0
- package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.ja.json +3 -0
- package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.zh.json +3 -0
- package/dist/collection/components/references/helpers.js +76 -0
- package/dist/collection/components/references/references.css +194 -0
- package/dist/collection/components/references/references.js +377 -0
- package/dist/collection/components/top-bar/top-bar.css +17 -0
- package/dist/collection/components/top-bar/top-bar.js +62 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/pages/assets/common.js +28 -8
- package/dist/components/button-group.js +1 -1
- package/dist/components/button.js +2 -2
- package/dist/components/ch-grid-rowset-legend.js +1 -32
- package/dist/components/ch-grid-rowset-legend2.js +34 -0
- package/dist/components/ch-grid2.js +1 -1
- package/dist/components/ch-suggest-list-item.js +1 -61
- package/dist/components/ch-suggest-list-item2.js +60 -0
- package/dist/components/ch-suggest-list.js +1 -39
- package/dist/components/ch-suggest-list2.js +41 -0
- package/dist/components/ch-suggest.js +1 -249
- package/dist/{cjs/ch-suggest.cjs.entry.js → components/ch-suggest2.js} +98 -59
- package/dist/components/combo-box-item.js +6 -1
- package/dist/components/combo-box.js +72 -11
- package/dist/components/container.js +83 -156
- package/dist/components/form-checkbox.js +4 -2
- package/dist/components/form-radio-group.js +244 -0
- package/dist/components/form-radio.js +13 -22
- package/dist/components/form-text.js +20 -6
- package/dist/components/form-validation.js +64 -0
- package/dist/components/gx-ide-container.d.ts +11 -0
- package/dist/components/gx-ide-container.js +6 -0
- package/dist/components/gx-ide-entity-selector.js +1 -1
- package/dist/components/gx-ide-new-environment.d.ts +11 -0
- package/dist/components/gx-ide-new-environment.js +258 -0
- package/dist/components/gx-ide-new-kb.js +55 -93
- package/dist/components/gx-ide-references.d.ts +11 -0
- package/dist/components/gx-ide-references.js +433 -0
- package/dist/components/gx-ide-template.js +67 -14
- package/dist/components/gx-ide-test.js +2 -25
- package/dist/components/gx-ide-top-bar.d.ts +11 -0
- package/dist/components/gx-ide-top-bar.js +6 -0
- package/dist/components/gxg-breadcrumb.js +0 -1
- package/dist/components/gxg-container.js +251 -1
- package/dist/components/gxg-date-picker.js +1 -1
- package/dist/components/gxg-drop-down.js +1 -1
- package/dist/components/gxg-form-checkbox-group.js +6 -0
- package/dist/components/gxg-form-checkbox-group2.js +109 -0
- package/dist/components/gxg-form-radio-group.js +1 -202
- package/dist/components/gxg-form-textarea.js +1 -1
- package/dist/components/gxg-grid.js +1 -44
- package/dist/components/gxg-grid2.js +46 -0
- package/dist/components/gxg-list-box.js +2 -2
- package/dist/components/gxg-menu-item.js +64 -15
- package/dist/components/gxg-menu-list.js +50 -0
- package/dist/components/gxg-menu.js +233 -14
- package/dist/components/gxg-option.js +1 -1
- package/dist/components/gxg-paginator.js +1 -1
- package/dist/components/gxg-select.js +1 -1
- package/dist/components/gxg-suggest.js +1 -27
- package/dist/components/gxg-test.js +110 -16
- package/dist/components/gxg-text.js +1 -73
- package/dist/components/gxg-tree-item2.js +31 -43
- package/dist/components/gxg-tree2.js +0 -4
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +6 -0
- package/dist/components/render-tree.js +27 -0
- package/dist/components/{repositionScroll.js → reposition-scroll.js} +2 -13
- package/dist/components/suggest.js +57 -0
- package/dist/components/tab-button.js +1 -1
- package/dist/components/tab.js +17 -2
- package/dist/{esm/gxg-text.entry.js → components/text.js} +53 -19
- package/dist/components/title.js +13 -8
- package/dist/components/top-bar.js +74 -0
- package/dist/components/types.js +10 -0
- package/dist/esm/ch-grid-action-refresh_6.entry.js +350 -0
- package/dist/esm/ch-grid-rowset-legend_2.entry.js +46 -0
- package/dist/esm/{ch-grid_9.entry.js → ch-grid_7.entry.js} +125 -325
- package/dist/esm/ch-suggest_5.entry.js +380 -0
- package/dist/esm/form-validation-a6686ca1.js +64 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-container_2.entry.js +163 -0
- package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +114 -0
- package/dist/esm/gx-ide-new-kb.entry.js +36 -87
- package/dist/esm/gx-ide-references.entry.js +295 -0
- package/dist/esm/gx-ide-template.entry.js +11 -12
- package/dist/esm/gx-ide-test.entry.js +2 -25
- package/dist/esm/gxg-breadcrumb.entry.js +0 -1
- package/dist/esm/gxg-button-group.entry.js +1 -1
- package/dist/esm/gxg-button.entry.js +2 -2
- package/dist/esm/gxg-combo-box_8.entry.js +164 -223
- package/dist/esm/gxg-container.entry.js +211 -0
- package/dist/esm/gxg-date-picker.entry.js +1 -1
- package/dist/esm/gxg-drop-down.entry.js +1 -1
- package/dist/esm/gxg-form-checkbox.entry.js +4 -2
- package/dist/esm/gxg-form-radio-group.entry.js +77 -37
- package/dist/esm/gxg-form-text.entry.js +17 -5
- package/dist/esm/gxg-form-textarea.entry.js +1 -1
- package/dist/esm/gxg-list-box.entry.js +3 -2
- package/dist/esm/gxg-menu-item.entry.js +60 -13
- package/dist/esm/gxg-menu-list.entry.js +24 -0
- package/dist/esm/gxg-menu.entry.js +228 -12
- package/dist/esm/gxg-option.entry.js +1 -1
- package/dist/esm/gxg-paginator.entry.js +1 -1
- package/dist/esm/gxg-select.entry.js +1 -1
- package/dist/esm/gxg-test.entry.js +36 -10
- package/dist/esm/gxg-title.entry.js +11 -7
- package/dist/esm/{gxg-tree-item.entry.js → gxg-tree_2.entry.js} +198 -45
- package/dist/esm/loader.js +1 -1
- package/dist/esm/render-tree-fc8636a3.js +27 -0
- package/dist/esm/{repositionScroll-9d3ee138.js → reposition-scroll-3478b46f.js} +2 -13
- package/dist/esm/types-02481dff.js +10 -0
- package/dist/genexus-ide-ui/genexus-ide-ui.css +2 -2
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +26 -0
- package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +1 -0
- package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.en.json +15 -0
- package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/template/langs/template.lang.en.json +1 -1
- package/dist/genexus-ide-ui/{p-7e7af90d.entry.js → p-01e9d3aa.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-05ad8cad.js +1 -0
- package/dist/genexus-ide-ui/p-0a8bd33f.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-9292edf8.entry.js → p-18936375.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-1e412d88.entry.js +1 -0
- package/dist/genexus-ide-ui/p-203ea363.entry.js +1 -0
- package/dist/genexus-ide-ui/p-408bdfc6.entry.js +1 -0
- package/dist/genexus-ide-ui/p-4198315e.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-944e787a.entry.js → p-41e8442b.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-4d572963.entry.js +1 -0
- package/dist/genexus-ide-ui/p-4e78d56d.entry.js +1 -0
- package/dist/genexus-ide-ui/p-62814082.entry.js +1 -0
- package/dist/genexus-ide-ui/p-6a84b339.js +1 -0
- package/dist/genexus-ide-ui/p-6bee904e.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-1cedf0b2.entry.js → p-7137b4cf.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-75961324.entry.js +1 -0
- package/dist/genexus-ide-ui/p-7c2068c2.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-c0360787.entry.js → p-7fa78be9.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-89d0ef14.entry.js +1 -0
- package/dist/genexus-ide-ui/p-8cdad9e1.entry.js +1 -0
- package/dist/genexus-ide-ui/p-925cb9fe.js +1 -0
- package/dist/genexus-ide-ui/p-92b75873.entry.js +1 -0
- package/dist/genexus-ide-ui/p-9e32e006.entry.js +1 -0
- package/dist/genexus-ide-ui/p-a5fee36d.entry.js +1 -0
- package/dist/genexus-ide-ui/p-abee8c7b.js +1 -0
- package/dist/genexus-ide-ui/p-ae1871e4.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-8ae0846e.entry.js → p-af0ac52d.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-b4e4fc69.entry.js +1 -0
- package/dist/genexus-ide-ui/p-be9406e7.entry.js +1 -0
- package/dist/genexus-ide-ui/p-c670dcba.entry.js +1 -0
- package/dist/genexus-ide-ui/p-e377e5be.entry.js +1 -0
- package/dist/genexus-ide-ui/p-eb8e9655.entry.js +1 -0
- package/dist/genexus-ide-ui/p-ecedca13.entry.js +1 -0
- package/dist/genexus-ide-ui/p-f5aa333b.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-01795e05.entry.js → p-f6536bbc.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-f739d5dc.entry.js → p-ff877c22.entry.js} +1 -1
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/ch-suggest.css +28 -6
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list/ch-suggest-list.css +6 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list-item/ch-suggest-list-item.css +13 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/button/button.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/date-picker/date-picker.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/drop-down/drop-down.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css +14 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox-group/gxg-form-checkbox-group.css +336 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-option/option.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio/form-radio.css +2 -2
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio-group/form-radio-group.css +2 -2
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-select/select.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/grid/gxg-grid.css +344 -10
- package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/menu/menu.css +31 -23
- package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-item/menu-item.css +35 -11
- package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-list/menu-list.css +340 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/paginator/gxg-paginator.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +617 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +10 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +35 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/title/title.css +27 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +1 -1
- package/dist/types/common/common.d.ts +4 -4
- package/dist/types/common/form-validation.d.ts +2 -0
- package/dist/types/common/interfaces.d.ts +0 -3
- package/dist/types/common/render-suggest.d.ts +2 -0
- package/dist/types/common/types.d.ts +10 -18
- package/dist/types/components/_template/template.d.ts +5 -5
- package/dist/types/components/container/container.d.ts +117 -0
- package/dist/types/components/new-environment/new-environment.d.ts +91 -0
- package/dist/types/components/new-kb/new-kb.d.ts +43 -38
- package/dist/types/components/references/helpers.d.ts +17 -0
- package/dist/types/components/references/references.d.ts +125 -0
- package/dist/types/components/top-bar/top-bar.d.ts +14 -0
- package/dist/types/components.d.ts +423 -35
- package/dist/types/index.d.ts +1 -0
- package/package.json +5 -2
- package/dist/cjs/ch-grid-column-resize_2.cjs.entry.js +0 -94
- package/dist/cjs/ch-grid-rowset-legend.cjs.entry.js +0 -23
- package/dist/cjs/ch-grid-settings_2.cjs.entry.js +0 -62
- package/dist/cjs/ch-suggest-list-item.cjs.entry.js +0 -50
- package/dist/cjs/ch-suggest-list.cjs.entry.js +0 -28
- package/dist/cjs/gxg-grid.cjs.entry.js +0 -34
- package/dist/cjs/gxg-suggest.cjs.entry.js +0 -19
- package/dist/cjs/gxg-text.cjs.entry.js +0 -60
- package/dist/cjs/gxg-tree.cjs.entry.js +0 -177
- package/dist/cjs/helpers-00cb4402.js +0 -12
- package/dist/esm/ch-grid-column-resize_2.entry.js +0 -89
- package/dist/esm/ch-grid-rowset-legend.entry.js +0 -19
- package/dist/esm/ch-grid-settings_2.entry.js +0 -57
- package/dist/esm/ch-suggest-list-item.entry.js +0 -46
- package/dist/esm/ch-suggest-list.entry.js +0 -24
- package/dist/esm/ch-suggest.entry.js +0 -218
- package/dist/esm/gxg-grid.entry.js +0 -30
- package/dist/esm/gxg-suggest.entry.js +0 -15
- package/dist/esm/gxg-tree.entry.js +0 -173
- package/dist/esm/helpers-78ca0d8a.js +0 -10
- package/dist/genexus-ide-ui/p-161b5c92.entry.js +0 -1
- package/dist/genexus-ide-ui/p-18c86754.entry.js +0 -1
- package/dist/genexus-ide-ui/p-215a6957.entry.js +0 -1
- package/dist/genexus-ide-ui/p-26000a72.entry.js +0 -1
- package/dist/genexus-ide-ui/p-26b1d9c2.entry.js +0 -1
- package/dist/genexus-ide-ui/p-3182ba74.entry.js +0 -1
- package/dist/genexus-ide-ui/p-3c6099ff.entry.js +0 -1
- package/dist/genexus-ide-ui/p-421bd2fb.entry.js +0 -1
- package/dist/genexus-ide-ui/p-5faaf0e5.entry.js +0 -1
- package/dist/genexus-ide-ui/p-783b8e55.entry.js +0 -1
- package/dist/genexus-ide-ui/p-7b79281c.entry.js +0 -1
- package/dist/genexus-ide-ui/p-7dead490.entry.js +0 -1
- package/dist/genexus-ide-ui/p-847aca21.entry.js +0 -1
- package/dist/genexus-ide-ui/p-84a47196.entry.js +0 -1
- package/dist/genexus-ide-ui/p-8eb472e6.entry.js +0 -1
- package/dist/genexus-ide-ui/p-8f89e354.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a04ce551.entry.js +0 -1
- package/dist/genexus-ide-ui/p-ad1b71a0.js +0 -1
- package/dist/genexus-ide-ui/p-b31a9621.entry.js +0 -1
- package/dist/genexus-ide-ui/p-b7a03c38.js +0 -1
- package/dist/genexus-ide-ui/p-b7c204b2.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c3c9f7a2.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c714cf27.entry.js +0 -1
- package/dist/genexus-ide-ui/p-da94ba10.entry.js +0 -1
- package/dist/genexus-ide-ui/p-de120e4b.entry.js +0 -1
- package/dist/genexus-ide-ui/p-e82e2182.entry.js +0 -1
- package/dist/genexus-ide-ui/p-e9d84bbe.entry.js +0 -1
- package/dist/genexus-ide-ui/p-fed1d2ba.entry.js +0 -1
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-4f0a5746.js';
|
|
2
|
+
import { s as state } from './store-75f5d491.js';
|
|
3
|
+
import { f as formMessageLogic } from './form-73d85602.js';
|
|
4
|
+
import { f as formClasses, c as commonClassesNames } from './classesNames-6cd8fadb.js';
|
|
5
|
+
|
|
6
|
+
const chSuggestCss = "*,::after,::before{box-sizing:border-box}:host{--window-max-height:none;--window-gap:50px}.main-wrapper{display:block}.label-input-wrapper{display:flex}.label-input-wrapper .input{flex:1}:host([label-position=start]) .label-input-wrapper{flex-direction:row}:host([label-position=above]) .label-input-wrapper{flex-direction:column}.input{background-color:unset;border:none;color:inherit;font:inherit;margin:0;padding:0;outline:0}.ch-window-container{position:relative}ch-window::part(window){width:100%;max-height:calc(var(--window-max-height) - var(--window-gap));overflow-y:auto}";
|
|
7
|
+
|
|
8
|
+
const ARROW_DOWN$1 = "ArrowDown";
|
|
9
|
+
const ARROW_UP$1 = "ArrowUp";
|
|
10
|
+
const ChSuggest = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
registerInstance(this, hostRef);
|
|
13
|
+
this.valueChanged = createEvent(this, "valueChanged", 7);
|
|
14
|
+
this.keyEventsDictionary = {
|
|
15
|
+
ArrowDown: (e) => {
|
|
16
|
+
const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_DOWN$1);
|
|
17
|
+
const nextFocusedItem = this.getNewFocusedItem(newFocusedItem, ARROW_DOWN$1);
|
|
18
|
+
newFocusedItem && newFocusedItem.focus();
|
|
19
|
+
if (!nextFocusedItem) {
|
|
20
|
+
/* This is the last item. Adjust window scroll to be at the very bottom*/
|
|
21
|
+
this.scrollListToBottom();
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
ArrowUp: (e) => {
|
|
25
|
+
const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_UP$1);
|
|
26
|
+
const nextFocusedItem = this.getNewFocusedItem(newFocusedItem, ARROW_UP$1);
|
|
27
|
+
newFocusedItem && newFocusedItem.focus();
|
|
28
|
+
if (!nextFocusedItem) {
|
|
29
|
+
/* This is the first item. Adjust window scroll to be at the very top*/
|
|
30
|
+
this.scrollListToTop();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
// 3.STATE() VARIABLES //
|
|
35
|
+
this.windowHidden = true;
|
|
36
|
+
this.slotIsEmpty = true;
|
|
37
|
+
// 4.PUBLIC PROPERTY API / WATCH'S //
|
|
38
|
+
/**
|
|
39
|
+
* The debounce amount in milliseconds (This is the time the suggest waits after the user has finished typing, to show the suggestions).
|
|
40
|
+
*/
|
|
41
|
+
this.debounce = 500;
|
|
42
|
+
/**
|
|
43
|
+
* The label position
|
|
44
|
+
*/
|
|
45
|
+
this.labelPosition = "start";
|
|
46
|
+
/**
|
|
47
|
+
* Whether or not to display the label
|
|
48
|
+
*/
|
|
49
|
+
this.showLabel = true;
|
|
50
|
+
/**
|
|
51
|
+
* Wether or not the suggest has a header. The header will show the "suggestTitle" if provided, and a close button.
|
|
52
|
+
*/
|
|
53
|
+
this.showHeader = false;
|
|
54
|
+
/**
|
|
55
|
+
* If true, it will position the cursor at the end when the input is focused.
|
|
56
|
+
*/
|
|
57
|
+
this.cursorEnd = false;
|
|
58
|
+
// 10.LOCAL METHODS //
|
|
59
|
+
this.evaluateSlotIsEmpty = () => {
|
|
60
|
+
this.slotIsEmpty = !this.el.firstElementChild;
|
|
61
|
+
};
|
|
62
|
+
this.setFocusOnFirstItem = () => {
|
|
63
|
+
const firstItem = this.el.querySelector("ch-suggest-list-item");
|
|
64
|
+
firstItem && firstItem.focus();
|
|
65
|
+
};
|
|
66
|
+
this.getChSuggestListItems = () => Array.from(this.el.querySelectorAll("ch-suggest-list-item"));
|
|
67
|
+
this.getNewFocusedItem = (currentFocusedItem, direction) => {
|
|
68
|
+
/* Helper function that returns the list item that should get focus (the first one, or the last one)*/
|
|
69
|
+
const getListChild = (list) => {
|
|
70
|
+
const listItems = list.querySelectorAll("ch-suggest-list-item");
|
|
71
|
+
let listChild = listItems && listItems[listItems.length - 1];
|
|
72
|
+
if (direction === ARROW_DOWN$1) {
|
|
73
|
+
listChild = list.querySelector("ch-suggest-list-item");
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const parentListItems = list.querySelectorAll("ch-suggest-list-item");
|
|
77
|
+
listChild =
|
|
78
|
+
parentListItems && parentListItems[parentListItems.length - 1];
|
|
79
|
+
}
|
|
80
|
+
return listChild;
|
|
81
|
+
};
|
|
82
|
+
if (!currentFocusedItem) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
let newFocusedItem = direction === ARROW_DOWN$1
|
|
86
|
+
? currentFocusedItem.nextElementSibling
|
|
87
|
+
: currentFocusedItem.previousElementSibling;
|
|
88
|
+
if ((newFocusedItem === null || newFocusedItem === void 0 ? void 0 : newFocusedItem.nodeName) === "CH-SUGGEST-LIST") {
|
|
89
|
+
newFocusedItem = getListChild(newFocusedItem);
|
|
90
|
+
}
|
|
91
|
+
else if (!newFocusedItem) {
|
|
92
|
+
/* this could be the last item of a list, but not the last item*/
|
|
93
|
+
const parent = currentFocusedItem.parentElement;
|
|
94
|
+
const sibling = direction === ARROW_DOWN$1
|
|
95
|
+
? parent.nextElementSibling
|
|
96
|
+
: parent.previousElementSibling;
|
|
97
|
+
const parentIsList = parent.nodeName === "CH-SUGGEST-LIST";
|
|
98
|
+
if (parentIsList &&
|
|
99
|
+
sibling &&
|
|
100
|
+
sibling.nodeName === "CH-SUGGEST-LIST-ITEM") {
|
|
101
|
+
newFocusedItem =
|
|
102
|
+
direction === ARROW_DOWN$1
|
|
103
|
+
? parent.nextElementSibling
|
|
104
|
+
: parent.previousElementSibling;
|
|
105
|
+
}
|
|
106
|
+
else if (parentIsList &&
|
|
107
|
+
sibling &&
|
|
108
|
+
sibling.nodeName === "CH-SUGGEST-LIST") {
|
|
109
|
+
const parentList = direction === ARROW_DOWN$1
|
|
110
|
+
? parent.nextElementSibling
|
|
111
|
+
: parent.previousElementSibling;
|
|
112
|
+
let listChild;
|
|
113
|
+
if (direction === ARROW_DOWN$1) {
|
|
114
|
+
listChild = parentList.querySelector("ch-suggest-list-item");
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
listChild = getListChild(parentList);
|
|
118
|
+
}
|
|
119
|
+
newFocusedItem = listChild ? listChild : null;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return newFocusedItem;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Every time the input event is triggered, the value of the input is sent to processInputEvent, which is responsible for displaying a window with the suggested options. this.debounce is a delay that, along with clearTimeout, ensures that the window is only shown after the user has stopped typing.
|
|
126
|
+
*/
|
|
127
|
+
this.handleInput = (e) => {
|
|
128
|
+
this.value = e.target.value;
|
|
129
|
+
if (this.timeoutReference) {
|
|
130
|
+
clearTimeout(this.timeoutReference);
|
|
131
|
+
}
|
|
132
|
+
this.timeoutReference = setTimeout(() => {
|
|
133
|
+
this.processInputEvent();
|
|
134
|
+
}, this.debounce);
|
|
135
|
+
};
|
|
136
|
+
this.handleKeyDown = (e) => {
|
|
137
|
+
if (e.key === ARROW_DOWN$1) {
|
|
138
|
+
e.preventDefault();
|
|
139
|
+
this.setFocusOnFirstItem();
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
this.evaluateWindowMaxHeight = () => {
|
|
143
|
+
const viewportHeight = window.innerHeight;
|
|
144
|
+
const documentHeight = document.body.scrollHeight;
|
|
145
|
+
const height = documentHeight >= viewportHeight ? documentHeight : viewportHeight;
|
|
146
|
+
const inputBottomPosition = this.textInput.getBoundingClientRect().bottom + window.scrollY;
|
|
147
|
+
const windowMaxHeight = height - inputBottomPosition + "px";
|
|
148
|
+
this.el.style.setProperty("--window-max-height", windowMaxHeight);
|
|
149
|
+
};
|
|
150
|
+
this.scrollListToTop = () => {
|
|
151
|
+
const partWindow = this.chWindow.shadowRoot.querySelector("[part='window']");
|
|
152
|
+
partWindow.scrollTop = 0;
|
|
153
|
+
};
|
|
154
|
+
this.scrollListToBottom = () => {
|
|
155
|
+
const partWindow = this.chWindow.shadowRoot.querySelector("[part='window']");
|
|
156
|
+
partWindow.scrollTop = partWindow.scrollHeight;
|
|
157
|
+
};
|
|
158
|
+
this.processInputEvent = () => {
|
|
159
|
+
this.evaluateWindowMaxHeight();
|
|
160
|
+
this.chWindow.hidden = this.slotIsEmpty;
|
|
161
|
+
};
|
|
162
|
+
this.closeWindow = () => {
|
|
163
|
+
this.chWindow.hidden = true;
|
|
164
|
+
};
|
|
165
|
+
this.onFocusHandler = () => {
|
|
166
|
+
if (this.cursorEnd) {
|
|
167
|
+
this.textInput.setSelectionRange(this.textInput.value.length, this.textInput.value.length);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
watchValueHandler(newValue) {
|
|
172
|
+
this.valueChanged.emit(newValue);
|
|
173
|
+
}
|
|
174
|
+
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
175
|
+
componentWillLoad() {
|
|
176
|
+
this.evaluateSlotIsEmpty();
|
|
177
|
+
}
|
|
178
|
+
// 7.LISTENERS //
|
|
179
|
+
itemSelectedHandler(event) {
|
|
180
|
+
this.value = event.detail.value;
|
|
181
|
+
this.closeWindow();
|
|
182
|
+
}
|
|
183
|
+
focusChangeAttemptHandler(event) {
|
|
184
|
+
const keyEventHandler = this.keyEventsDictionary[event.detail.code];
|
|
185
|
+
if (keyEventHandler) {
|
|
186
|
+
const currentFocusedItem = event.detail.el;
|
|
187
|
+
const chSuggestListItemsArray = this.getChSuggestListItems();
|
|
188
|
+
const currentFocusedItemIndex = chSuggestListItemsArray.findIndex(item => {
|
|
189
|
+
return item === currentFocusedItem;
|
|
190
|
+
});
|
|
191
|
+
const newItemToSetFocusOn = null;
|
|
192
|
+
keyEventHandler({
|
|
193
|
+
event: event.detail,
|
|
194
|
+
currentFocusedItem: currentFocusedItem,
|
|
195
|
+
chSuggestListItemsArray: chSuggestListItemsArray,
|
|
196
|
+
currentFocusedItemIndex: currentFocusedItemIndex,
|
|
197
|
+
newItemToSetFocusOn: newItemToSetFocusOn
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
windowClosedHandler() {
|
|
202
|
+
this.textInput.focus();
|
|
203
|
+
this.windowHidden = true;
|
|
204
|
+
}
|
|
205
|
+
// 9.PUBLIC METHODS API //
|
|
206
|
+
/**
|
|
207
|
+
* @description It selects/highlights the input text.
|
|
208
|
+
*/
|
|
209
|
+
async selectInputText() {
|
|
210
|
+
this.textInput.focus();
|
|
211
|
+
this.textInput.select();
|
|
212
|
+
}
|
|
213
|
+
// 10.RENDER() FUNCTION //
|
|
214
|
+
render() {
|
|
215
|
+
return (h(Host, null, h("div", { class: "main-wrapper", part: "main-wrapper" }, h("div", { class: "label-input-wrapper", part: "label-input-wrapper" }, this.showLabel && this.label && (h("label", { id: "label", htmlFor: "input", part: "label" }, this.label)), h("input", { type: "text", id: "input", part: "input", class: "input", ref: el => (this.textInput = el), onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.onFocusHandler, value: this.value, autocomplete: "off", "aria-controls": "ch-window", "aria-label": !this.showLabel && this.label ? this.label : undefined, "aria-labelledby": this.showLabel && this.label ? "label" : undefined, "aria-expanded": this.windowHidden.toString() })), h("ch-window", { id: "ch-window", container: this.textInput, "close-on-outside-click": true, "close-on-escape": true, xAlign: "inside-start", yAlign: "outside-end", ref: el => (this.chWindow = el), showHeader: this.showHeader, caption: this.suggestTitle, exportparts: "\n header:header, \n caption:title, \n close:close-button,\n window:dropdown" }, h("slot", { onSlotchange: this.evaluateSlotIsEmpty })))));
|
|
216
|
+
}
|
|
217
|
+
static get delegatesFocus() { return true; }
|
|
218
|
+
get el() { return getElement(this); }
|
|
219
|
+
static get watchers() { return {
|
|
220
|
+
"value": ["watchValueHandler"]
|
|
221
|
+
}; }
|
|
222
|
+
};
|
|
223
|
+
ChSuggest.style = chSuggestCss;
|
|
224
|
+
|
|
225
|
+
const chSuggestListCss = "*,::after,::before{box-sizing:border-box}:host{display:block}.title{margin:0;font:inherit}.list{margin:0;padding:0}";
|
|
226
|
+
|
|
227
|
+
const ChSuggestList = class {
|
|
228
|
+
constructor(hostRef) {
|
|
229
|
+
registerInstance(this, hostRef);
|
|
230
|
+
}
|
|
231
|
+
// 2.REFERENCE TO ELEMENTS //
|
|
232
|
+
// 3.STATE() VARIABLES //
|
|
233
|
+
// 4.PUBLIC PROPERTY API / WATCH'S //
|
|
234
|
+
// 5.EVENTS (EMIT) //
|
|
235
|
+
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
236
|
+
// 7.LISTENERS //
|
|
237
|
+
// 8.PUBLIC METHODS API //
|
|
238
|
+
// 9.LOCAL METHODS //
|
|
239
|
+
// 10.RENDER() FUNCTION //
|
|
240
|
+
render() {
|
|
241
|
+
return (h(Host, null, this.label && (h("h2", { id: "heading", part: "title", class: "title" }, this.label)), h("ul", { "aria-labelledby": this.label ? "heading" : undefined, part: "list", class: "list" }, h("slot", null))));
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
ChSuggestList.style = chSuggestListCss;
|
|
245
|
+
|
|
246
|
+
const chSuggestListItemCss = ":host{display:block}:where(button){all:unset;display:flex;width:100%;cursor:pointer}*,::after,::before{box-sizing:border-box}";
|
|
247
|
+
|
|
248
|
+
const ARROW_DOWN = "ArrowDown";
|
|
249
|
+
const ARROW_UP = "ArrowUp";
|
|
250
|
+
const ChSuggestListItem = class {
|
|
251
|
+
constructor(hostRef) {
|
|
252
|
+
registerInstance(this, hostRef);
|
|
253
|
+
this.itemSelected = createEvent(this, "itemSelected", 7);
|
|
254
|
+
this.focusChangeAttempt = createEvent(this, "focusChangeAttempt", 7);
|
|
255
|
+
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
256
|
+
// 7.LISTENERS //
|
|
257
|
+
// 8.PUBLIC METHODS API //
|
|
258
|
+
// 9.LOCAL METHODS //
|
|
259
|
+
this.handleClick = () => {
|
|
260
|
+
this.itemSelected.emit({
|
|
261
|
+
value: this.value || this.el.innerText,
|
|
262
|
+
description: this.description
|
|
263
|
+
});
|
|
264
|
+
};
|
|
265
|
+
this.handleKeyDown = (e) => {
|
|
266
|
+
if (e.code === ARROW_UP || e.code === ARROW_DOWN) {
|
|
267
|
+
e.preventDefault();
|
|
268
|
+
this.focusChangeAttempt.emit({
|
|
269
|
+
el: this.el,
|
|
270
|
+
code: e.code
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
// 10.RENDER() FUNCTION //
|
|
276
|
+
render() {
|
|
277
|
+
return (h(Host, { role: "listitem", onKeyDown: this.handleKeyDown }, h("button", { part: "button", onClick: this.handleClick }, h("slot", { name: "icon" }), h("div", { class: "content-wrapper", part: "content-wrapper" }, h("slot", null), this.description && (h("span", { part: "description" }, this.description))))));
|
|
278
|
+
}
|
|
279
|
+
static get delegatesFocus() { return true; }
|
|
280
|
+
get el() { return getElement(this); }
|
|
281
|
+
};
|
|
282
|
+
ChSuggestListItem.style = chSuggestListItemCss;
|
|
283
|
+
|
|
284
|
+
const stylesCss = "@charset \"UTF-8\";:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}:host(.gxg-validation--warning) .form-element{border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-warning-dark)}:host(.gxg-validation--error) .form-element{border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-error-dark)}:host(.gxg-validation--success) .form-element{border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus{outline-color:var(--color-success-dark);border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-success-dark)}ch-suggest{font-family:var(--font-family-primary);font-size:var(--font-size-lg);color:var(--color-on-background);}ch-suggest::-webkit-scrollbar{width:6px;height:6px}ch-suggest::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}ch-suggest::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}ch-suggest::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}ch-suggest .gxg-scroll{display:block;overflow-y:auto;padding-right:2px}ch-suggest ::-webkit-scrollbar{width:6px;height:6px}ch-suggest ::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}ch-suggest ::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}ch-suggest ::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}ch-suggest::part(label){font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;display:flex;align-items:center;cursor:default;font-size:inherit}ch-suggest[label-position=start]::part(label){margin-inline-end:var(--gxg-label-margin-horizontal)}ch-suggest[label-position=above]::part(label){margin-block-end:var(--gxg-label-margin-vertical)}ch-suggest::part(input){height:var(--spacing-comp-05);border:var(--border-width-sm) solid var(--gxg-border-color--regular);padding:var(--spacing-comp-01) var(--spacing-comp-02);box-sizing:border-box;background-color:var(--color-background)}ch-suggest::part(input):focus{outline-style:solid;outline-color:var(--color-primary-active);outline-width:var(--border-width-md);outline-offset:-2px}ch-suggest::part(input):focus{outline-style:solid;outline-color:var(--color-primary-active);outline-width:var(--border-width-md);outline-offset:-2px}ch-suggest::part(header){display:block;padding-block-end:var(--spacing-comp-02);display:flex;justify-content:flex-end}ch-suggest::part(close-button){height:var(--spacing-comp-05);width:var(--spacing-comp-05);background-color:var(--color-background);color:var(--color-primary-hover);border:1px solid var(--color-primary-hover);box-sizing:border-box;cursor:pointer;display:block}ch-suggest::part(close-button):hover{background-color:var(--color-primary-hover-opacity-01)}ch-suggest::part(close-button)::after{content:\"✖\";width:100%;display:block;line-height:24px;text-align:center}ch-suggest::part(close-button):focus{outline-style:solid;outline-color:var(--color-primary-active);outline-width:var(--border-width-md);outline-offset:-2px}ch-suggest::part(dropdown){background-color:var(--color-background);margin-top:var(--spacing-comp-01);padding:var(--spacing-comp-02);box-shadow:var(--box-shadow-02);}ch-suggest::part(dropdown)::-webkit-scrollbar{width:6px;height:6px}ch-suggest::part(dropdown)::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}ch-suggest::part(dropdown)::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}ch-suggest::part(dropdown)::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}ch-suggest::part(dropdown) .gxg-scroll{display:block;overflow-y:auto;padding-right:2px}ch-suggest::part(dropdown) ::-webkit-scrollbar{width:6px;height:6px}ch-suggest::part(dropdown) ::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}ch-suggest::part(dropdown) ::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}ch-suggest::part(dropdown) ::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}gxg-suggest.gxg-validation--success ch-suggest::part(input){outline-color:var(--color-success-dark);border-color:var(--color-success-dark)}gxg-suggest.gxg-validation--success ch-suggest::part(input)+.checkmark{--checkmark-border-color:var(--color-success-dark)}gxg-suggest.gxg-validation--warning ch-suggest::part(input){outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}gxg-suggest.gxg-validation--warning ch-suggest::part(input)+.checkmark{--checkmark-border-color:var(--color-warning-dark)}gxg-suggest.gxg-validation--error ch-suggest::part(input){outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}gxg-suggest.gxg-validation--error ch-suggest::part(input)+.checkmark{--checkmark-border-color:var(--color-error-dark)}gxg-suggest.gxg--disabled ch-suggest{pointer-events:none}gxg-suggest.gxg--disabled ch-suggest::part(input){background-color:var(--gray-01);color:var(--color-on-disabled)}gxg-suggest[ellipsis]:not([ellipsis=false]) ch-suggest-list-item::part(content-wrapper){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}ch-suggest-list{margin:var(--spacing-comp-01) 0;font-family:inherit;border:var(--border-width-sm) solid var(--gxg-border-color--regular)}ch-suggest-list:first-child{margin-top:0}ch-suggest-list:last-child{margin-bottom:0}ch-suggest-list::part(title){text-transform:uppercase;font-weight:var(--font-weight-semibold);margin:var(--spacing-comp-01) 0 0 0;padding:var(--spacing-comp-01) var(--spacing-comp-02)}ch-suggest-list-item{}ch-suggest-list-item::part(button){padding:var(--spacing-comp-01) var(--spacing-comp-02);align-items:center;gap:var(--spacing-comp-01);box-sizing:border-box}ch-suggest-list-item::part(button):focus{outline-style:solid;outline-color:var(--color-primary-active);outline-width:var(--border-width-md);outline-offset:-2px}ch-suggest-list-item::part(description)::before{content:\" - \"}ch-suggest-list-item gxg-icon::part(ch-icon){--icon-size:16px;margin-right:2px}ch-suggest-list-item:hover{background-color:var(--gxg-background-color-item-hover)}";
|
|
285
|
+
|
|
286
|
+
const GxgSuggest = class {
|
|
287
|
+
constructor(hostRef) {
|
|
288
|
+
registerInstance(this, hostRef);
|
|
289
|
+
/* VALIDATION */
|
|
290
|
+
/**
|
|
291
|
+
* The validation status
|
|
292
|
+
*/
|
|
293
|
+
this.validationStatus = "indeterminate";
|
|
294
|
+
/**
|
|
295
|
+
* The presence of this attribute makes the suggest disabled.
|
|
296
|
+
*/
|
|
297
|
+
this.disabled = false;
|
|
298
|
+
/**
|
|
299
|
+
* The presence of this attribute forces the suggest list items to not wrap to a second line, and it will display ellipsis. (...)
|
|
300
|
+
*/
|
|
301
|
+
this.ellipsis = true;
|
|
302
|
+
}
|
|
303
|
+
render() {
|
|
304
|
+
return (h(Host, { class: {
|
|
305
|
+
large: state.large,
|
|
306
|
+
[formClasses["VALIDATION_INDETERMINATE_CLASS"]]: this.validationStatus === "indeterminate",
|
|
307
|
+
[formClasses["VALIDATION_WARNING_CLASS"]]: this.validationStatus === "warning",
|
|
308
|
+
[formClasses["VALIDATION_ERROR_CLASS"]]: this.validationStatus === "error",
|
|
309
|
+
[formClasses["VALIDATION_SUCCESS_CLASS"]]: this.validationStatus === "success",
|
|
310
|
+
[commonClassesNames["DISABLED_CLASS"]]: this.disabled,
|
|
311
|
+
} }, h("slot", null), formMessageLogic(this)));
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
GxgSuggest.style = stylesCss;
|
|
315
|
+
|
|
316
|
+
const textCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}:host{display:block;font-size:14px}:host p,:host q,:host a{display:block;margin:0;padding:0;margin:0 auto}:host([text-align=start]){text-align:start}:host([text-align=start]) *{text-align:start}:host([text-align=center]){text-align:center}:host([text-align=center]) *{text-align:center}:host([text-align=end]){text-align:end}:host([text-align=end]) *{text-align:end}:host([padding=s]){padding:var(--spacing-comp-01)}:host([padding=m]){padding:var(--spacing-comp-02)}:host(.large) .gxg-text,:host(.large) .gxg-text--gray,:host(.large) .gxg-quote,:host(.large) .gxg-link,:host(.large) .gxg-link-gray,:host(.large) .gxg-alert-error,:host(.large) .gxg-alert-warning,:host(.large) .gxg-alert-success{font-size:var(--font-size-lg)}";
|
|
317
|
+
|
|
318
|
+
const GxgText = class {
|
|
319
|
+
constructor(hostRef) {
|
|
320
|
+
registerInstance(this, hostRef);
|
|
321
|
+
/**
|
|
322
|
+
* The target (for "link" or "link-gray" types
|
|
323
|
+
* */
|
|
324
|
+
this.target = "_self";
|
|
325
|
+
/**
|
|
326
|
+
* Text type
|
|
327
|
+
*/
|
|
328
|
+
this.type = "text-regular";
|
|
329
|
+
/**
|
|
330
|
+
* Text alignment
|
|
331
|
+
*/
|
|
332
|
+
this.textAlign = "start";
|
|
333
|
+
/**
|
|
334
|
+
* Text padding
|
|
335
|
+
*/
|
|
336
|
+
this.padding = "none";
|
|
337
|
+
/**
|
|
338
|
+
* Max. width
|
|
339
|
+
*/
|
|
340
|
+
this.maxWidth = "100%";
|
|
341
|
+
}
|
|
342
|
+
textType() {
|
|
343
|
+
let text;
|
|
344
|
+
switch (this.type) {
|
|
345
|
+
case "text-regular":
|
|
346
|
+
text = (h("p", { style: { maxWidth: this.maxWidth }, class: "gxg-text" }, h("slot", null)));
|
|
347
|
+
break;
|
|
348
|
+
case "text-gray":
|
|
349
|
+
text = (h("p", { style: { maxWidth: this.maxWidth }, class: "gxg-text--gray" }, h("slot", null)));
|
|
350
|
+
break;
|
|
351
|
+
case "text-quote":
|
|
352
|
+
text = (h("q", { style: { maxWidth: this.maxWidth }, class: "gxg-quote" }, h("slot", null)));
|
|
353
|
+
break;
|
|
354
|
+
case "text-link":
|
|
355
|
+
text = (h("a", { style: { maxWidth: this.maxWidth }, href: this.href, target: this.target, class: "gxg-link" }, h("slot", null)));
|
|
356
|
+
break;
|
|
357
|
+
case "text-link-gray":
|
|
358
|
+
text = (h("a", { style: { maxWidth: this.maxWidth }, href: this.href, target: this.target, class: "gxg-link-gray" }, h("slot", null)));
|
|
359
|
+
break;
|
|
360
|
+
case "text-alert-error":
|
|
361
|
+
text = (h("p", { style: { maxWidth: this.maxWidth }, class: "gxg-alert-error" }, h("slot", null)));
|
|
362
|
+
break;
|
|
363
|
+
case "text-alert-warning":
|
|
364
|
+
text = (h("p", { style: { maxWidth: this.maxWidth }, class: "gxg-alert-warning" }, h("slot", null)));
|
|
365
|
+
break;
|
|
366
|
+
case "text-alert-success":
|
|
367
|
+
text = (h("p", { style: { maxWidth: this.maxWidth }, class: "gxg-alert-success" }, h("slot", null)));
|
|
368
|
+
break;
|
|
369
|
+
default:
|
|
370
|
+
text = (h("p", { style: { maxWidth: this.maxWidth }, class: "gxg-text" }, h("slot", null)));
|
|
371
|
+
}
|
|
372
|
+
return text;
|
|
373
|
+
}
|
|
374
|
+
render() {
|
|
375
|
+
return h(Host, { class: { large: state.large } }, this.textType(), " ");
|
|
376
|
+
}
|
|
377
|
+
};
|
|
378
|
+
GxgText.style = textCss;
|
|
379
|
+
|
|
380
|
+
export { ChSuggest as ch_suggest, ChSuggestList as ch_suggest_list, ChSuggestListItem as ch_suggest_list_item, GxgSuggest as gxg_suggest, GxgText as gxg_text };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { h } from './index-4f0a5746.js';
|
|
2
|
+
|
|
3
|
+
/* STENCIL IMPORTS */
|
|
4
|
+
const renderFormItems = (componentType = "gxg-combo-box-item", options, group = "undefined-group", callback) => {
|
|
5
|
+
if (options.length) {
|
|
6
|
+
const items = [];
|
|
7
|
+
options.forEach(option => {
|
|
8
|
+
let item;
|
|
9
|
+
switch (componentType) {
|
|
10
|
+
case "gxg-form-checkbox":
|
|
11
|
+
item = (h("gxg-form-checkbox", { checkboxId: option.id, checked: option.checked, disabled: option.disabled, label: option.label, value: option.value, onChange: callback ? callback : null, iconName: option.iconName, part: `${group}-${option.id}` }));
|
|
12
|
+
items.push(item);
|
|
13
|
+
break;
|
|
14
|
+
case "gxg-combo-box-item":
|
|
15
|
+
item = (h("gxg-combo-box-item", { value: option.id, icon: option.iconName, part: `${group}-${option.id}` }, option.label));
|
|
16
|
+
items.push(item);
|
|
17
|
+
break;
|
|
18
|
+
case "gxg-form-radio":
|
|
19
|
+
item = (h("gxg-form-radio", { "radio-id": option.id, checked: option.checked, disabled: option.disabled, label: option.label, value: option.value, name: group, part: `${group}-${option.id}` }));
|
|
20
|
+
items.push(item);
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return items;
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param gxOptions An array of GxOptions's
|
|
31
|
+
* @returns The first option in the array that is 'selected'. If no one found it returns null.
|
|
32
|
+
*/
|
|
33
|
+
const getSelectedGxOption = (gxOptions) => {
|
|
34
|
+
let found;
|
|
35
|
+
if (gxOptions === null || gxOptions === void 0 ? void 0 : gxOptions.length) {
|
|
36
|
+
for (let i = 0; i < gxOptions.length; i++) {
|
|
37
|
+
if (gxOptions[i].selected) {
|
|
38
|
+
found = gxOptions[i];
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return found;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const formSubmitValidation = (result, ref) => {
|
|
47
|
+
var _a;
|
|
48
|
+
(_a = result.fieldErrors) === null || _a === void 0 ? void 0 : _a.forEach(element => {
|
|
49
|
+
const key = element.key;
|
|
50
|
+
const message = element.message;
|
|
51
|
+
const hasError = element.hasError;
|
|
52
|
+
const reference = ref[`${key}El`];
|
|
53
|
+
if (reference && hasError && message.trim()) {
|
|
54
|
+
reference.validationStatus = "error";
|
|
55
|
+
reference.validationMessage = message;
|
|
56
|
+
}
|
|
57
|
+
else if (reference && !hasError) {
|
|
58
|
+
reference.validationStatus = "indeterminate";
|
|
59
|
+
reference.validationMessage = null;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export { formSubmitValidation as f, getSelectedGxOption as g, renderFormItems as r };
|