@3t-transform/threeteeui 1.9.21 → 1.9.23
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/loader.cjs.js +1 -1
- package/dist/cjs/{tttx-button_1_9_21.cjs.entry.js → tttx-button_1_9_23.cjs.entry.js} +2 -2
- package/dist/cjs/{tttx-checkbox-group-caption_1_9_21.cjs.entry.js → tttx-checkbox-group-caption_1_9_23.cjs.entry.js} +1 -1
- package/dist/cjs/{tttx-checkbox-group-heading_1_9_21.cjs.entry.js → tttx-checkbox-group-heading_1_9_23.cjs.entry.js} +1 -1
- package/dist/cjs/{tttx-checkbox-group_1_9_21.cjs.entry.js → tttx-checkbox-group_1_9_23.cjs.entry.js} +1 -1
- package/dist/cjs/{tttx-checkbox_1_9_21.cjs.entry.js → tttx-checkbox_1_9_23.cjs.entry.js} +2 -2
- package/dist/cjs/{tttx-comments_1_9_21.cjs.entry.js → tttx-comments_1_9_23.cjs.entry.js} +2 -2
- package/dist/cjs/{tttx-data-pattern_1_9_21.cjs.entry.js → tttx-data-pattern_1_9_23.cjs.entry.js} +5 -5
- package/dist/cjs/{tttx-datacard_1_9_21.cjs.entry.js → tttx-datacard_1_9_23.cjs.entry.js} +4 -4
- package/dist/cjs/{tttx-dialog-box_1_9_21.cjs.entry.js → tttx-dialog-box_1_9_23.cjs.entry.js} +3 -3
- package/dist/cjs/{tttx-dialog_1_9_21.cjs.entry.js → tttx-dialog_1_9_23.cjs.entry.js} +2 -2
- package/dist/cjs/{tttx-expander_1_9_21.cjs.entry.js → tttx-expander_1_9_23.cjs.entry.js} +2 -2
- package/dist/cjs/{tttx-filter_1_9_21_4.cjs.entry.js → tttx-filter_1_9_23_4.cjs.entry.js} +9 -9
- package/dist/cjs/{tttx-form_1_9_21.cjs.entry.js → tttx-form_1_9_23.cjs.entry.js} +2 -2
- package/dist/cjs/{tttx-graph_1_9_21.cjs.entry.js → tttx-graph_1_9_23.cjs.entry.js} +1 -1
- package/dist/cjs/{tttx-icon_1_9_21.cjs.entry.js → tttx-icon_1_9_23.cjs.entry.js} +1 -1
- package/dist/cjs/{tttx-keyvalue-block_1_9_21.cjs.entry.js → tttx-keyvalue-block_1_9_23.cjs.entry.js} +1 -1
- package/dist/cjs/tttx-loading-spinner_1_9_23_3.cjs.entry.js +135 -0
- package/dist/cjs/{tttx-multiselect-box_1_9_21.cjs.entry.js → tttx-multiselect-box_1_9_23.cjs.entry.js} +30 -9
- package/dist/cjs/{tttx-percentage-bar_1_9_21.cjs.entry.js → tttx-percentage-bar_1_9_23.cjs.entry.js} +2 -2
- package/dist/cjs/{tttx-qrcode_1_9_21.cjs.entry.js → tttx-qrcode_1_9_23.cjs.entry.js} +1 -1
- package/dist/cjs/{tttx-select-box_1_9_21.cjs.entry.js → tttx-select-box_1_9_23.cjs.entry.js} +42 -20
- package/dist/cjs/{tttx-table_1_9_21.cjs.entry.js → tttx-table_1_9_23.cjs.entry.js} +1 -1
- package/dist/cjs/{tttx-tabs_1_9_21.cjs.entry.js → tttx-tabs_1_9_23.cjs.entry.js} +4 -4
- package/dist/cjs/{tttx-textarea_1_9_21.cjs.entry.js → tttx-textarea_1_9_23.cjs.entry.js} +2 -2
- package/dist/cjs/{tttx-toggle_1_9_21.cjs.entry.js → tttx-toggle_1_9_23.cjs.entry.js} +1 -1
- package/dist/cjs/{tttx-tree-view_1_9_21.cjs.entry.js → tttx-tree-view_1_9_23.cjs.entry.js} +3 -3
- package/dist/cjs/tttx.cjs.js +1 -1
- package/dist/collection/components/atoms/tttx-button/tttx-button.js +2 -2
- package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +20 -20
- package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.js +2 -2
- package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.stories.js +1 -1
- package/dist/collection/components/atoms/tttx-datacard/tttx-datacard.js +4 -4
- package/dist/collection/components/atoms/tttx-datacard/tttx-datacard.stories.js +10 -10
- package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +1 -1
- package/dist/collection/components/atoms/tttx-icon/tttx-icon.stories.js +1 -1
- package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.js +1 -1
- package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.js +6 -6
- package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.js +1 -1
- package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.js +1 -1
- package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.js +1 -1
- package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.stories.js +5 -5
- package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.js +1 -1
- package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.stories.js +1 -1
- package/dist/collection/components/atoms/tttx-tag/tttx-tag.js +2 -2
- package/dist/collection/components/atoms/tttx-tag/tttx-tag.stories.js +6 -6
- package/dist/collection/components/atoms/tttx-toggle/tttx-toggle.js +1 -1
- package/dist/collection/components/atoms/tttx-toggle/tttx-toggle.stories.js +2 -2
- package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-caption.js +1 -1
- package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-heading.js +1 -1
- package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.js +1 -1
- package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.stories.js +10 -10
- package/dist/collection/components/molecules/tttx-comments/tttx-comments.js +2 -2
- package/dist/collection/components/molecules/tttx-comments/tttx-comments.stories.js +1 -1
- package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.js +2 -2
- package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.stories.js +6 -6
- package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.js +3 -3
- package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.stories.js +24 -24
- package/dist/collection/components/molecules/tttx-expander/tttx-expander.js +2 -2
- package/dist/collection/components/molecules/tttx-expander/tttx-expander.stories.js +9 -9
- package/dist/collection/components/molecules/tttx-filter/tttx-filter.js +3 -3
- package/dist/collection/components/molecules/tttx-filter/tttx-filter.stories.js +2 -2
- package/dist/collection/components/molecules/tttx-form/tttx-form.js +2 -2
- package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +7 -7
- package/dist/collection/components/molecules/tttx-graph/tttx-graph.js +1 -1
- package/dist/collection/components/molecules/tttx-graph/tttx-graph.stories.js +1 -1
- package/dist/collection/components/molecules/tttx-list/tttx-list.js +3 -3
- package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +47 -47
- package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.css +6 -0
- package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.js +66 -9
- package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.js +72 -35
- package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.css +4 -0
- package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.js +77 -19
- package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.stories.js +60 -20
- package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.js +2 -2
- package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.stories.js +1 -1
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +4 -4
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +1 -1
- package/dist/collection/components/molecules/tttx-table/tttx-table.js +1 -1
- package/dist/collection/components/molecules/tttx-table/tttx-table.stories.js +6 -6
- package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.js +3 -3
- package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.stories.js +4 -4
- package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.js +3 -3
- package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.stories.js +1 -1
- package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.js +1 -1
- package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.stories.js +37 -37
- package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.js +3 -3
- package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.stories.js +8 -8
- package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.js +5 -5
- package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.stories.js +5 -5
- package/dist/components/index.d.ts +31 -31
- package/dist/components/index.js +31 -31
- package/dist/components/tttx-button.js +5 -5
- package/dist/components/{tttx-button_1_9_21.d.ts → tttx-button_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-button_1_9_21.js → tttx-button_1_9_23.js} +2 -2
- package/dist/components/tttx-checkbox-group-caption_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-checkbox-group-caption_1_9_21.js → tttx-checkbox-group-caption_1_9_23.js} +5 -5
- package/dist/components/tttx-checkbox-group-heading_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-checkbox-group-heading_1_9_21.js → tttx-checkbox-group-heading_1_9_23.js} +5 -5
- package/dist/components/tttx-checkbox-group_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-checkbox-group_1_9_21.js → tttx-checkbox-group_1_9_23.js} +5 -5
- package/dist/components/{tttx-datacard_1_9_21.d.ts → tttx-checkbox_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-checkbox_1_9_21.js → tttx-checkbox_1_9_23.js} +7 -7
- package/dist/components/{tttx-checkbox_1_9_21.d.ts → tttx-comments_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-comments_1_9_21.js → tttx-comments_1_9_23.js} +7 -7
- package/dist/components/tttx-data-pattern_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-data-pattern_1_9_21.js → tttx-data-pattern_1_9_23.js} +16 -16
- package/dist/components/{tttx-comments_1_9_21.d.ts → tttx-datacard_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-datacard_1_9_21.js → tttx-datacard_1_9_23.js} +10 -10
- package/dist/components/tttx-dialog-box_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-dialog-box_1_9_21.js → tttx-dialog-box_1_9_23.js} +9 -9
- package/dist/components/{tttx-dialog_1_9_21.d.ts → tttx-dialog_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-dialog_1_9_21.js → tttx-dialog_1_9_23.js} +8 -8
- package/dist/components/tttx-expander_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-expander_1_9_21.js → tttx-expander_1_9_23.js} +7 -7
- package/dist/components/tttx-filter.js +6 -6
- package/dist/components/{tttx-filter_1_9_21.d.ts → tttx-filter_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-filter_1_9_21.js → tttx-filter_1_9_23.js} +2 -2
- package/dist/components/{tttx-tabs_1_9_21.d.ts → tttx-form_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-form_1_9_21.js → tttx-form_1_9_23.js} +20 -14
- package/dist/components/tttx-graph.js +3 -3
- package/dist/components/{tttx-graph_1_9_21.d.ts → tttx-graph_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-graph_1_9_21.js → tttx-graph_1_9_23.js} +2 -2
- package/dist/components/tttx-icon.js +3 -3
- package/dist/components/{tttx-icon_1_9_21.d.ts → tttx-icon_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-icon_1_9_21.js → tttx-icon_1_9_23.js} +2 -2
- package/dist/components/tttx-keyvalue-block_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-keyvalue-block_1_9_21.js → tttx-keyvalue-block_1_9_23.js} +5 -5
- package/dist/components/tttx-list.js +6 -6
- package/dist/components/{tttx-list_1_9_21.d.ts → tttx-list_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-list_1_9_21.js → tttx-list_1_9_23.js} +2 -2
- package/dist/components/tttx-loading-spinner.js +3 -3
- package/dist/components/tttx-loading-spinner_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-loading-spinner_1_9_21.js → tttx-loading-spinner_1_9_23.js} +2 -2
- package/dist/components/tttx-multiselect-box_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-multiselect-box_1_9_21.js → tttx-multiselect-box_1_9_23.js} +51 -22
- package/dist/components/tttx-percentage-bar_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-percentage-bar_1_9_21.js → tttx-percentage-bar_1_9_23.js} +6 -6
- package/dist/components/{tttx-qrcode_1_9_21.d.ts → tttx-qrcode_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-qrcode_1_9_21.js → tttx-qrcode_1_9_23.js} +5 -5
- package/dist/components/tttx-select-box.js +58 -28
- package/dist/components/tttx-select-box_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-select-box_1_9_21.js → tttx-select-box_1_9_23.js} +2 -2
- package/dist/components/tttx-sorter.js +5 -5
- package/dist/components/tttx-sorter_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-sorter_1_9_21.js → tttx-sorter_1_9_23.js} +2 -2
- package/dist/components/tttx-standalone-input.js +6 -6
- package/dist/components/tttx-standalone-input_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-standalone-input_1_9_21.js → tttx-standalone-input_1_9_23.js} +2 -2
- package/dist/components/{tttx-table_1_9_21.d.ts → tttx-table_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-table_1_9_21.js → tttx-table_1_9_23.js} +5 -5
- package/dist/components/{tttx-form_1_9_21.d.ts → tttx-tabs_1_9_23.d.ts} +4 -4
- package/dist/components/{tttx-tabs_1_9_21.js → tttx-tabs_1_9_23.js} +9 -9
- package/dist/components/{tttx-tag_1_9_21.js → tttx-tag.js} +9 -12
- package/dist/components/{tttx-tag_1_9_21.d.ts → tttx-tag_1_9_23.d.ts} +4 -4
- package/dist/components/tttx-tag_1_9_23.js +6 -0
- package/dist/components/tttx-textarea_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-textarea_1_9_21.js → tttx-textarea_1_9_23.js} +6 -6
- package/dist/components/tttx-toggle_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-toggle_1_9_21.js → tttx-toggle_1_9_23.js} +5 -5
- package/dist/components/tttx-toolbar.js +3 -3
- package/dist/components/tttx-toolbar_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-toolbar_1_9_21.js → tttx-toolbar_1_9_23.js} +2 -2
- package/dist/components/tttx-tree-view_1_9_23.d.ts +11 -0
- package/dist/components/{tttx-tree-view_1_9_21.js → tttx-tree-view_1_9_23.js} +9 -9
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{tttx-button_1_9_21.entry.js → tttx-button_1_9_23.entry.js} +2 -2
- package/dist/esm/{tttx-checkbox-group-caption_1_9_21.entry.js → tttx-checkbox-group-caption_1_9_23.entry.js} +1 -1
- package/dist/esm/{tttx-checkbox-group-heading_1_9_21.entry.js → tttx-checkbox-group-heading_1_9_23.entry.js} +1 -1
- package/dist/esm/{tttx-checkbox-group_1_9_21.entry.js → tttx-checkbox-group_1_9_23.entry.js} +1 -1
- package/dist/esm/{tttx-checkbox_1_9_21.entry.js → tttx-checkbox_1_9_23.entry.js} +2 -2
- package/dist/esm/{tttx-comments_1_9_21.entry.js → tttx-comments_1_9_23.entry.js} +2 -2
- package/dist/esm/{tttx-data-pattern_1_9_21.entry.js → tttx-data-pattern_1_9_23.entry.js} +5 -5
- package/dist/esm/{tttx-datacard_1_9_21.entry.js → tttx-datacard_1_9_23.entry.js} +4 -4
- package/dist/esm/{tttx-dialog-box_1_9_21.entry.js → tttx-dialog-box_1_9_23.entry.js} +3 -3
- package/dist/esm/{tttx-dialog_1_9_21.entry.js → tttx-dialog_1_9_23.entry.js} +2 -2
- package/dist/esm/{tttx-expander_1_9_21.entry.js → tttx-expander_1_9_23.entry.js} +2 -2
- package/dist/esm/{tttx-filter_1_9_21_4.entry.js → tttx-filter_1_9_23_4.entry.js} +6 -6
- package/dist/esm/{tttx-form_1_9_21.entry.js → tttx-form_1_9_23.entry.js} +2 -2
- package/dist/esm/{tttx-graph_1_9_21.entry.js → tttx-graph_1_9_23.entry.js} +1 -1
- package/dist/esm/{tttx-icon_1_9_21.entry.js → tttx-icon_1_9_23.entry.js} +1 -1
- package/dist/esm/{tttx-keyvalue-block_1_9_21.entry.js → tttx-keyvalue-block_1_9_23.entry.js} +1 -1
- package/dist/esm/tttx-loading-spinner_1_9_23_3.entry.js +129 -0
- package/dist/esm/{tttx-multiselect-box_1_9_21.entry.js → tttx-multiselect-box_1_9_23.entry.js} +31 -10
- package/dist/esm/{tttx-percentage-bar_1_9_21.entry.js → tttx-percentage-bar_1_9_23.entry.js} +2 -2
- package/dist/esm/{tttx-qrcode_1_9_21.entry.js → tttx-qrcode_1_9_23.entry.js} +1 -1
- package/dist/esm/{tttx-select-box_1_9_21.entry.js → tttx-select-box_1_9_23.entry.js} +42 -20
- package/dist/esm/{tttx-table_1_9_21.entry.js → tttx-table_1_9_23.entry.js} +1 -1
- package/dist/esm/{tttx-tabs_1_9_21.entry.js → tttx-tabs_1_9_23.entry.js} +4 -4
- package/dist/esm/{tttx-textarea_1_9_21.entry.js → tttx-textarea_1_9_23.entry.js} +2 -2
- package/dist/esm/{tttx-toggle_1_9_21.entry.js → tttx-toggle_1_9_23.entry.js} +1 -1
- package/dist/esm/{tttx-tree-view_1_9_21.entry.js → tttx-tree-view_1_9_23.entry.js} +3 -3
- package/dist/esm/tttx.js +1 -1
- package/dist/tttx/p-0741cbca.entry.js +1 -0
- package/dist/tttx/p-0da9f04c.entry.js +1 -1
- package/dist/tttx/p-0e515960.entry.js +1 -1
- package/dist/tttx/p-0ffbf27e.entry.js +1 -1
- package/dist/tttx/p-1e5ff5f8.entry.js +1 -1
- package/dist/tttx/p-23f45005.entry.js +1 -1
- package/dist/tttx/p-2d4c1e8a.entry.js +1 -1
- package/dist/tttx/p-49ef7451.entry.js +1 -1
- package/dist/tttx/p-56c8c353.entry.js +1 -1
- package/dist/tttx/p-5722f326.entry.js +1 -0
- package/dist/tttx/p-59c7b049.entry.js +1 -1
- package/dist/tttx/p-63ad6fb7.entry.js +1 -1
- package/dist/tttx/p-6b1c7a21.entry.js +1 -1
- package/dist/tttx/p-74148f2a.entry.js +1 -1
- package/dist/tttx/p-79e218d0.entry.js +1 -1
- package/dist/tttx/p-90d21e86.entry.js +1 -1
- package/dist/tttx/p-9434561e.entry.js +1 -1
- package/dist/tttx/p-996a6061.entry.js +1 -1
- package/dist/tttx/p-a01e679a.entry.js +1 -1
- package/dist/tttx/p-a8e76e78.entry.js +1 -1
- package/dist/tttx/p-b7347352.entry.js +1 -1
- package/dist/tttx/p-c170e3b8.entry.js +1 -1
- package/dist/tttx/p-c34d99d1.entry.js +1 -0
- package/dist/tttx/p-cfe412d0.entry.js +1 -1
- package/dist/tttx/p-de6e8250.entry.js +1 -1
- package/dist/tttx/p-f374e293.entry.js +1 -1
- package/dist/tttx/tttx.esm.js +1 -1
- package/dist/types/components/molecules/tttx-multiselect-box/interfaces.d.ts +5 -4
- package/dist/types/components/molecules/tttx-multiselect-box/tttx-multiselect-box.d.ts +3 -0
- package/dist/types/components/molecules/tttx-select-box/interfaces.d.ts +5 -4
- package/dist/types/components/molecules/tttx-select-box/tttx-select-box.d.ts +4 -1
- package/dist/types/components/molecules/tttx-select-box/tttx-select-box.stories.d.ts +1 -0
- package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +2 -2
- package/dist/types/components/molecules/tttx-textarea/tttx-textarea.d.ts +2 -2
- package/dist/types/components.d.ts +376 -368
- package/package.json +1 -1
- package/dist/cjs/tttx-loading-spinner_1_9_21_2.cjs.entry.js +0 -114
- package/dist/cjs/tttx-tag_1_9_21.cjs.entry.js +0 -27
- package/dist/components/tttx-checkbox-group-caption_1_9_21.d.ts +0 -11
- package/dist/components/tttx-checkbox-group-heading_1_9_21.d.ts +0 -11
- package/dist/components/tttx-checkbox-group_1_9_21.d.ts +0 -11
- package/dist/components/tttx-data-pattern_1_9_21.d.ts +0 -11
- package/dist/components/tttx-dialog-box_1_9_21.d.ts +0 -11
- package/dist/components/tttx-expander_1_9_21.d.ts +0 -11
- package/dist/components/tttx-keyvalue-block_1_9_21.d.ts +0 -11
- package/dist/components/tttx-loading-spinner_1_9_21.d.ts +0 -11
- package/dist/components/tttx-multiselect-box_1_9_21.d.ts +0 -11
- package/dist/components/tttx-percentage-bar_1_9_21.d.ts +0 -11
- package/dist/components/tttx-select-box_1_9_21.d.ts +0 -11
- package/dist/components/tttx-sorter_1_9_21.d.ts +0 -11
- package/dist/components/tttx-standalone-input_1_9_21.d.ts +0 -11
- package/dist/components/tttx-textarea_1_9_21.d.ts +0 -11
- package/dist/components/tttx-toggle_1_9_21.d.ts +0 -11
- package/dist/components/tttx-toolbar_1_9_21.d.ts +0 -11
- package/dist/components/tttx-tree-view_1_9_21.d.ts +0 -11
- package/dist/esm/tttx-loading-spinner_1_9_21_2.entry.js +0 -109
- package/dist/esm/tttx-tag_1_9_21.entry.js +0 -23
- package/dist/tttx/p-2d184378.entry.js +0 -1
- package/dist/tttx/p-3df60a1b.entry.js +0 -1
- package/dist/tttx/p-6bd36b5b.entry.js +0 -1
- package/dist/tttx/p-bbad0784.entry.js +0 -1
package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.js
CHANGED
|
@@ -13,7 +13,7 @@ const options = [
|
|
|
13
13
|
{ value: 'Bonnie', label: 'Steuber', selected: true },
|
|
14
14
|
{ value: 'Priscilla', label: 'Lowe' },
|
|
15
15
|
{ value: 'Andy', label: 'Thompson-Keebler', html: '<span style="color: red">Thompson-Keebler</span>' },
|
|
16
|
-
{ value: 'egg', label: 'egg', html: '<tttx-
|
|
16
|
+
{ value: 'egg', label: 'egg', html: '<tttx-icon_1_9_23 icon="egg" />' },
|
|
17
17
|
{ value: 'Terence', label: 'Hyatt' },
|
|
18
18
|
{ value: 'Ruben', label: 'Toy' },
|
|
19
19
|
{ value: 'Rhiannon', label: 'Hills' },
|
|
@@ -28,7 +28,7 @@ const options = [
|
|
|
28
28
|
{ value: 'Ronaldo', label: 'Mann' },
|
|
29
29
|
];
|
|
30
30
|
const TemplateMultiselectBox = args => `
|
|
31
|
-
<tttx-multiselect-
|
|
31
|
+
<tttx-multiselect-box_1_9_23
|
|
32
32
|
id="multiselectBox"
|
|
33
33
|
options-data='${JSON.stringify(args.optionsData)}'
|
|
34
34
|
label='${args.label}'
|
|
@@ -38,7 +38,7 @@ const TemplateMultiselectBox = args => `
|
|
|
38
38
|
is-loading='${args.isLoading}'
|
|
39
39
|
stop-local-search='${args.stopLocalSearch}'
|
|
40
40
|
html-visible-value: true,
|
|
41
|
-
></tttx-multiselect-
|
|
41
|
+
></tttx-multiselect-box_1_9_23>
|
|
42
42
|
|
|
43
43
|
<script>
|
|
44
44
|
// Handle case where storybook renders this story twice
|
|
@@ -61,7 +61,7 @@ BasicMultiselectBox.args = {
|
|
|
61
61
|
stopLocalSearch: true
|
|
62
62
|
};
|
|
63
63
|
const ReadOnlyMultiselectBoxTemplate = args => `
|
|
64
|
-
<tttx-multiselect-
|
|
64
|
+
<tttx-multiselect-box_1_9_23
|
|
65
65
|
id="multiselectBox"
|
|
66
66
|
options-data='${JSON.stringify(args.optionsData)}'
|
|
67
67
|
label='${args.label}'
|
|
@@ -72,7 +72,7 @@ const ReadOnlyMultiselectBoxTemplate = args => `
|
|
|
72
72
|
stop-local-search='${args.stopLocalSearch}'
|
|
73
73
|
read-only='${args.readOnly}'
|
|
74
74
|
visible-value='${options[0].label}'
|
|
75
|
-
></tttx-multiselect-
|
|
75
|
+
></tttx-multiselect-box_1_9_23>
|
|
76
76
|
|
|
77
77
|
<script>
|
|
78
78
|
// Handle case where storybook renders this story twice
|
|
@@ -96,20 +96,20 @@ ReadOnlyMultiselectBox.args = {
|
|
|
96
96
|
readOnly: true
|
|
97
97
|
};
|
|
98
98
|
const htmlOptions = [
|
|
99
|
-
{ value: '1', label: 'Client', html: '<tttx-
|
|
100
|
-
{ value: '2', label: 'Job Role', html: '<tttx-
|
|
101
|
-
{ value: '3', label: 'Foo', html: '<tttx-
|
|
102
|
-
{ value: '4', label: 'Bar', html: '<tttx-
|
|
103
|
-
{ value: '5', label: 'Baz', html: '<tttx-
|
|
104
|
-
{ value: '6', label: 'Mill', html: '<tttx-
|
|
105
|
-
{ value: '7', label: 'Hill', html: '<tttx-
|
|
106
|
-
{ value: '8', label: 'Fill', html: '<tttx-
|
|
107
|
-
{ value: '9', label: 'Supercalifragilisticexpialidocious', html: '<tttx-
|
|
99
|
+
{ value: '1', label: 'Client', html: '<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
|
|
100
|
+
{ value: '2', label: 'Job Role', html: '<tttx-tag_1_9_23 text="Job Role" color="#f9e1be"></tttx-tag_1_9_23>' },
|
|
101
|
+
{ value: '3', label: 'Foo', html: '<tttx-tag_1_9_23 text="Foo" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
|
|
102
|
+
{ value: '4', label: 'Bar', html: '<tttx-tag_1_9_23 text="Bar" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
|
|
103
|
+
{ value: '5', label: 'Baz', html: '<tttx-tag_1_9_23 text="Baz" color="#f9e1be"></tttx-tag_1_9_23>' },
|
|
104
|
+
{ value: '6', label: 'Mill', html: '<tttx-tag_1_9_23 text="Mill" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
|
|
105
|
+
{ value: '7', label: 'Hill', html: '<tttx-tag_1_9_23 text="Hill" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
|
|
106
|
+
{ value: '8', label: 'Fill', html: '<tttx-tag_1_9_23 text="Fill" color="#f9e1be"></tttx-tag_1_9_23>' },
|
|
107
|
+
{ value: '9', label: 'Supercalifragilisticexpialidocious', html: '<tttx-tag_1_9_23 text="Supercalifragilisticexpialidocious" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
|
|
108
108
|
];
|
|
109
109
|
const TemplateHtmlVisibleValueWrap = args => `
|
|
110
110
|
<div style="height: 400px; width: 50px"></div>
|
|
111
111
|
<div style="width: 300px">
|
|
112
|
-
<tttx-multiselect-
|
|
112
|
+
<tttx-multiselect-box_1_9_23
|
|
113
113
|
id="multiselectBoxVisibleValueWrap"
|
|
114
114
|
options-data='${JSON.stringify(args.optionsData)}'
|
|
115
115
|
label='${args.label}'
|
|
@@ -117,8 +117,8 @@ const TemplateHtmlVisibleValueWrap = args => `
|
|
|
117
117
|
search-enabled='${args.searchEnabled}'
|
|
118
118
|
inline='${args.inline}'
|
|
119
119
|
html-visible-value='true'
|
|
120
|
-
visible-value='<tttx-
|
|
121
|
-
></tttx-multiselect-
|
|
120
|
+
visible-value='<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Foo" color="#e4ebc9"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Bar" color="#f2bebe"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Mill" color="#e4ebc9"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Hill" color="#f2bebe"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Supercalifragilisticexpialidocious" color="#e4ebc9"></tttx-tag_1_9_23>'
|
|
121
|
+
></tttx-multiselect-box_1_9_23>
|
|
122
122
|
</div>
|
|
123
123
|
|
|
124
124
|
<script>
|
|
@@ -140,12 +140,12 @@ HtmlVisibleValueWrap.args = {
|
|
|
140
140
|
inline: false,
|
|
141
141
|
};
|
|
142
142
|
const htmlOptionsShort = [
|
|
143
|
-
{ value: '1', label: 'Client', html: '<tttx-
|
|
144
|
-
{ value: '2', label: 'Job Role', html: '<tttx-
|
|
145
|
-
{ value: '3', label: 'Foo', html: '<tttx-
|
|
143
|
+
{ value: '1', label: 'Client', html: '<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
|
|
144
|
+
{ value: '2', label: 'Job Role', html: '<tttx-tag_1_9_23 text="Job Role" color="#f9e1be"></tttx-tag_1_9_23>' },
|
|
145
|
+
{ value: '3', label: 'Foo', html: '<tttx-tag_1_9_23 text="Foo" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
|
|
146
146
|
];
|
|
147
147
|
const TemplateHtmlVisibleValue = args => `
|
|
148
|
-
<tttx-multiselect-
|
|
148
|
+
<tttx-multiselect-box_1_9_23
|
|
149
149
|
id="multiselectBox"
|
|
150
150
|
options-data='${JSON.stringify(args.optionsData)}'
|
|
151
151
|
label='${args.label}'
|
|
@@ -153,7 +153,7 @@ const TemplateHtmlVisibleValue = args => `
|
|
|
153
153
|
search-enabled='${args.searchEnabled}'
|
|
154
154
|
inline='${args.inline}'
|
|
155
155
|
html-visible-value='true'
|
|
156
|
-
></tttx-multiselect-
|
|
156
|
+
></tttx-multiselect-box_1_9_23>
|
|
157
157
|
|
|
158
158
|
<script>
|
|
159
159
|
// Handle case where storybook renders this story twice
|
|
@@ -174,22 +174,22 @@ HtmlVisibleValue.args = {
|
|
|
174
174
|
inline: false,
|
|
175
175
|
};
|
|
176
176
|
const tagOptions = [
|
|
177
|
-
{ value: '1', label: 'Client', html: '<tttx-
|
|
178
|
-
{ value: '2', label: 'Job Role', html: '<tttx-
|
|
179
|
-
{ value: '3', label: 'Foo', html: '<tttx-
|
|
180
|
-
{ value: '4', label: 'Bar', html: '<tttx-
|
|
181
|
-
{ value: '5', label: 'Baz', html: '<tttx-
|
|
182
|
-
{ value: '6', label: 'Mill', html: '<tttx-
|
|
183
|
-
{ value: '7', label: 'Hill', html: '<tttx-
|
|
184
|
-
{ value: '8', label: 'Fill', html: '<tttx-
|
|
185
|
-
{ value: '9', label: 'Supercalifragilisticexpialidocious', html: '<tttx-
|
|
177
|
+
{ value: '1', label: 'Client', html: '<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
|
|
178
|
+
{ value: '2', label: 'Job Role', html: '<tttx-tag_1_9_23 text="Job Role" color="#f9e1be"></tttx-tag_1_9_23>' },
|
|
179
|
+
{ value: '3', label: 'Foo', html: '<tttx-tag_1_9_23 text="Foo" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
|
|
180
|
+
{ value: '4', label: 'Bar', html: '<tttx-tag_1_9_23 text="Bar" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
|
|
181
|
+
{ value: '5', label: 'Baz', html: '<tttx-tag_1_9_23 text="Baz" color="#f9e1be"></tttx-tag_1_9_23>' },
|
|
182
|
+
{ value: '6', label: 'Mill', html: '<tttx-tag_1_9_23 text="Mill" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
|
|
183
|
+
{ value: '7', label: 'Hill', html: '<tttx-tag_1_9_23 text="Hill" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
|
|
184
|
+
{ value: '8', label: 'Fill', html: '<tttx-tag_1_9_23 text="Fill" color="#f9e1be"></tttx-tag_1_9_23>' },
|
|
185
|
+
{ value: '9', label: 'Supercalifragilisticexpialidocious', html: '<tttx-tag_1_9_23 text="Supercalifragilisticexpialidocious" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
|
|
186
186
|
];
|
|
187
187
|
const TttxDialogBoxStory = ({ data }) => `
|
|
188
188
|
<button onclick="openDialog()">Open</button>
|
|
189
|
-
<tttx-dialog-
|
|
189
|
+
<tttx-dialog-box_1_9_23
|
|
190
190
|
id='dialogBox'
|
|
191
191
|
allow-overflow='true'
|
|
192
|
-
></tttx-dialog-
|
|
192
|
+
></tttx-dialog-box_1_9_23>
|
|
193
193
|
<script>
|
|
194
194
|
if(!dialogBox) {
|
|
195
195
|
const dialogBox = document.getElementById('dialogBox');
|
|
@@ -216,7 +216,7 @@ DialogBoxWithDropdown.args = {
|
|
|
216
216
|
isCustomHtml: true,
|
|
217
217
|
customHtml: `
|
|
218
218
|
<div style="padding: 5px;">
|
|
219
|
-
<tttx-multiselect-
|
|
219
|
+
<tttx-multiselect-box_1_9_23
|
|
220
220
|
id="dropdownSelectBox"
|
|
221
221
|
options-data='${JSON.stringify(tagOptions)}'
|
|
222
222
|
label='Label'
|
|
@@ -225,7 +225,7 @@ DialogBoxWithDropdown.args = {
|
|
|
225
225
|
inline='${false}'
|
|
226
226
|
visible-value='${tagOptions[0].html} ${tagOptions[2].html}'
|
|
227
227
|
html-visible-value='true'
|
|
228
|
-
></tttx-multiselect-
|
|
228
|
+
></tttx-multiselect-box_1_9_23>
|
|
229
229
|
</div>
|
|
230
230
|
`,
|
|
231
231
|
},
|
|
@@ -238,3 +238,40 @@ DialogBoxWithDropdown.args = {
|
|
|
238
238
|
},
|
|
239
239
|
},
|
|
240
240
|
};
|
|
241
|
+
const priorityMultiSelectOptions = [
|
|
242
|
+
{ value: '1', label: 'Triss Merigold', prioritise: true },
|
|
243
|
+
{ value: '2', label: 'Yennefer of Vengerberg', prioritise: true },
|
|
244
|
+
{ value: '3', label: 'Philippa Eilhart' },
|
|
245
|
+
{ value: '4', label: 'Keira Metz' }
|
|
246
|
+
];
|
|
247
|
+
const TemplatePriorityMultiSelect = args => `
|
|
248
|
+
<tttx-multiselect-box_1_9_23
|
|
249
|
+
id="multiselectBox"
|
|
250
|
+
options-data='${JSON.stringify(args.optionsData)}'
|
|
251
|
+
label='${args.label}'
|
|
252
|
+
placeholder='${args.placeholder}'
|
|
253
|
+
search-enabled='${args.searchEnabled}'
|
|
254
|
+
inline='${args.inline}'
|
|
255
|
+
priority-label='${args.priorityLabel}'
|
|
256
|
+
non-priority-label='${args.nonPriorityLabel}'
|
|
257
|
+
></tttx-multiselect-box_1_9_23>
|
|
258
|
+
|
|
259
|
+
<script>
|
|
260
|
+
if (!multiselectBox.length) {
|
|
261
|
+
multiselectBox.addEventListener('changesApplied', (event) => {
|
|
262
|
+
multiselectBox.optionsData = event.detail;
|
|
263
|
+
multiselectBox.visibleValue = event.detail.filter((option) => option.selected).map((option) => option.label).join(', ');
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
</script>
|
|
267
|
+
`;
|
|
268
|
+
export const PriorityMultiSelect = TemplatePriorityMultiSelect.bind({});
|
|
269
|
+
PriorityMultiSelect.args = {
|
|
270
|
+
optionsData: priorityMultiSelectOptions,
|
|
271
|
+
label: 'Label',
|
|
272
|
+
placeholder: 'Placeholder',
|
|
273
|
+
searchEnabled: true,
|
|
274
|
+
inline: false,
|
|
275
|
+
priorityLabel: 'The Best',
|
|
276
|
+
nonPriorityLabel: 'The Rest'
|
|
277
|
+
};
|
|
@@ -19,6 +19,8 @@ export class TttxSelectBox {
|
|
|
19
19
|
this.useExternalFiltering = undefined;
|
|
20
20
|
this.isLoading = undefined;
|
|
21
21
|
this.readOnly = undefined;
|
|
22
|
+
this.priorityLabel = 'Priority Group';
|
|
23
|
+
this.nonPriorityLabel = 'Non Priority Group';
|
|
22
24
|
this.showErrorMsg = undefined;
|
|
23
25
|
this.showErrorBubble = false;
|
|
24
26
|
this.errorMsg = undefined;
|
|
@@ -37,6 +39,9 @@ export class TttxSelectBox {
|
|
|
37
39
|
}
|
|
38
40
|
async setOptionsData() {
|
|
39
41
|
this._optionsData = typeof this.optionsData === 'string' ? JSON.parse(this.optionsData) : this.optionsData;
|
|
42
|
+
if (this.open) {
|
|
43
|
+
this.calculateDropdownMenuOffset();
|
|
44
|
+
}
|
|
40
45
|
}
|
|
41
46
|
async setSelectedItem(value) {
|
|
42
47
|
if (!value)
|
|
@@ -81,7 +86,7 @@ export class TttxSelectBox {
|
|
|
81
86
|
let title;
|
|
82
87
|
let subtitle;
|
|
83
88
|
const chevronIcon = this.open ? 'expand_less' : 'expand_more';
|
|
84
|
-
const icon = h("tttx-
|
|
89
|
+
const icon = h("tttx-icon_1_9_23", { icon: chevronIcon, color: "black" });
|
|
85
90
|
let chevron = h("div", { class: "dropdown-selector-chevron" }, icon);
|
|
86
91
|
if (!this.selectedItem) {
|
|
87
92
|
title = h("div", { class: "placeholder" }, this.placeholder);
|
|
@@ -100,17 +105,38 @@ export class TttxSelectBox {
|
|
|
100
105
|
return (h(Fragment, null, h("div", { class: "left-wrapper" }, title, subtitle), chevron));
|
|
101
106
|
}
|
|
102
107
|
}
|
|
108
|
+
renderDropdownOptions(options) {
|
|
109
|
+
let usingPriority = false;
|
|
110
|
+
const priorityOptions = [];
|
|
111
|
+
const nonPriorityOptions = [];
|
|
112
|
+
for (const option of options) {
|
|
113
|
+
// using priority groups if any item has the option set, so set true for first found
|
|
114
|
+
usingPriority = usingPriority || option.prioritise === true;
|
|
115
|
+
// don't include if it doesn't match the search term when searching
|
|
116
|
+
if (this.searchEnabled && option.label.toLowerCase().indexOf(this.searchTerm.toLowerCase()) === -1)
|
|
117
|
+
continue;
|
|
118
|
+
if (option.prioritise === true) {
|
|
119
|
+
priorityOptions.push(option);
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
nonPriorityOptions.push(option);
|
|
123
|
+
}
|
|
124
|
+
// render priority options at the top of the dropdown list
|
|
125
|
+
return (h(Fragment, null, usingPriority && priorityOptions.length > 0 &&
|
|
126
|
+
h(Fragment, null, h("tttx-tag_1_9_23", { class: 'priority-pill', text: this.priorityLabel, color: "#F0F0F0" }), priorityOptions.map((option) => this.dropdownOption(option))), nonPriorityOptions.length > 0 &&
|
|
127
|
+
h(Fragment, null, usingPriority &&
|
|
128
|
+
h("tttx-tag_1_9_23", { class: 'priority-pill', text: this.nonPriorityLabel, color: "#F0F0F0" }), nonPriorityOptions.map((option) => this.dropdownOption(option)))));
|
|
129
|
+
}
|
|
103
130
|
dropdownOption(option) {
|
|
104
|
-
const hideOption = this.searchEnabled && option.label.toLowerCase().indexOf(this.searchTerm.toLowerCase()) === -1;
|
|
105
131
|
const selected = this.selectedItem && option.value === this.selectedItem.value;
|
|
106
132
|
if (option.html) {
|
|
107
133
|
const sanitisedHTML = DOMPurify.sanitize(option.html, domSanitiserOptions);
|
|
108
|
-
return (h("div", { class: `dropdown-option ${
|
|
134
|
+
return (h("div", { class: `dropdown-option ${selected ? 'selected' : ''}`, onClick: this.onItemSelected.bind(this, option), key: option.label, innerHTML: sanitisedHTML }));
|
|
109
135
|
}
|
|
110
136
|
else if (option.description) {
|
|
111
|
-
return (h("div", { class: `dropdown-option ${
|
|
137
|
+
return (h("div", { class: `dropdown-option ${selected ? 'selected' : ''}`, onClick: this.onItemSelected.bind(this, option), key: option.label }, option.label, h("div", { class: "description-dd" }, h("p", null, option.description))));
|
|
112
138
|
}
|
|
113
|
-
return (h("div", { class: `dropdown-option ${
|
|
139
|
+
return (h("div", { class: `dropdown-option ${selected ? 'selected' : ''}`, onClick: this.onItemSelected.bind(this, option), key: option.label }, option.label));
|
|
114
140
|
}
|
|
115
141
|
handleSearchInput(event) {
|
|
116
142
|
const searchInput = event.target.value;
|
|
@@ -136,6 +162,10 @@ export class TttxSelectBox {
|
|
|
136
162
|
// Determine if the dropdown would overflow the bottom of the viewport
|
|
137
163
|
const availableSpaceBelow = viewportHeight - clientRectangle.bottom;
|
|
138
164
|
const availableSpaceAbove = clientRectangle.top;
|
|
165
|
+
// If there is no option data, add some default height to ensure the loading screen is fully visible.
|
|
166
|
+
if (!this._optionsData.length) {
|
|
167
|
+
dropdownMenuMaxHeight = 200;
|
|
168
|
+
}
|
|
139
169
|
let top, bottom, maxHeight;
|
|
140
170
|
if (availableSpaceBelow >= dropdownMenuMaxHeight) {
|
|
141
171
|
// Enough space below, show dropdown below
|
|
@@ -149,17 +179,11 @@ export class TttxSelectBox {
|
|
|
149
179
|
bottom = (viewportHeight - clientRectangle.top) + 'px';
|
|
150
180
|
maxHeight = dropdownMenuMaxHeight + 'px';
|
|
151
181
|
}
|
|
152
|
-
else if (availableSpaceBelow > availableSpaceAbove) {
|
|
153
|
-
// Not enough space, but more space below, adjust height
|
|
154
|
-
top = clientRectangle.bottom + 'px';
|
|
155
|
-
bottom = '';
|
|
156
|
-
maxHeight = availableSpaceBelow + 'px';
|
|
157
|
-
}
|
|
158
182
|
else {
|
|
159
|
-
//
|
|
160
|
-
top = '';
|
|
161
|
-
bottom = (
|
|
162
|
-
maxHeight =
|
|
183
|
+
// No space above, no space below then calculating space base on dropdown height
|
|
184
|
+
top = dropdownMenuMaxHeight - availableSpaceAbove + 'px';
|
|
185
|
+
bottom = (dropdownMenuMaxHeight - availableSpaceBelow) + 'px';
|
|
186
|
+
maxHeight = dropdownMenuMaxHeight + 'px';
|
|
163
187
|
}
|
|
164
188
|
this.bodyOffset = {
|
|
165
189
|
position: 'fixed',
|
|
@@ -177,11 +201,9 @@ export class TttxSelectBox {
|
|
|
177
201
|
return;
|
|
178
202
|
const invalidClass = this.showErrorMsg ? 'invalid' : '';
|
|
179
203
|
const readOnlyClass = this.readOnly ? 'dropdown-read-only' : '';
|
|
180
|
-
return (h(Host, { class: this.inline ? 'inline' : 'block' }, this.label && h("div", { class: "label" }, this.label), h("div", { tabindex: "0", class: "dropdown-container" }, h("div", { class: ['dropdown-selector', invalidClass, readOnlyClass].join(' '), ref: el => (this.dropdownSelector = el), onClick: this.onDropdownClicked.bind(this) }, this.dropdownSelectorContent()), this.open && (h("div", { class: "dropdown-body-container" }, h("div", { class: "dropdown-body", style: Object.assign({ width: `${this.dropdownSelector.offsetWidth}px` }, this.bodyOffset) }, this.searchEnabled && (h("div", { class: "searchbox" }, h("tttx-standalone-
|
|
181
|
-
return this.dropdownOption(option);
|
|
182
|
-
})))))), this.showErrorBubble && (h("span", { class: ['errorBubble', this.showErrorMsg && this.errorMsg ? 'visible' : ''].join(' ') }, h("tttx-icon_1_9_21", { icon: "warning", color: "#dc0000", size: 16 }), " ", this.errorMsg)))));
|
|
204
|
+
return (h(Host, { class: this.inline ? 'inline' : 'block' }, this.label && h("div", { class: "label" }, this.label), h("div", { tabindex: "0", class: "dropdown-container" }, h("div", { class: ['dropdown-selector', invalidClass, readOnlyClass].join(' '), ref: el => (this.dropdownSelector = el), onClick: this.onDropdownClicked.bind(this) }, this.dropdownSelectorContent()), this.open && (h("div", { class: "dropdown-body-container" }, h("div", { class: "dropdown-body", style: Object.assign({ width: `${this.dropdownSelector.offsetWidth}px` }, this.bodyOffset) }, this.searchEnabled && (h("div", { class: "searchbox" }, h("tttx-standalone-input_1_9_23", { type: "text", label: "", required: true, showerrorbubble: false, iconleft: "search", onInput: this.handleSearchInput.bind(this) }))), h("div", { class: "dropdown-options-list" }, this.isLoading ? (h("tttx-loading-spinner_1_9_23", { class: 'loading-style' })) : (this.renderDropdownOptions(this._optionsData)))))), this.showErrorBubble && (h("span", { class: ['errorBubble', this.showErrorMsg && this.errorMsg ? 'visible' : ''].join(' ') }, h("tttx-icon_1_9_23", { icon: "warning", color: "#dc0000", size: 16 }), " ", this.errorMsg)))));
|
|
183
205
|
}
|
|
184
|
-
static get is() { return "tttx-select-
|
|
206
|
+
static get is() { return "tttx-select-box_1_9_23"; }
|
|
185
207
|
static get encapsulation() { return "shadow"; }
|
|
186
208
|
static get originalStyleUrls() {
|
|
187
209
|
return {
|
|
@@ -355,6 +377,42 @@ export class TttxSelectBox {
|
|
|
355
377
|
"attribute": "read-only",
|
|
356
378
|
"reflect": false
|
|
357
379
|
},
|
|
380
|
+
"priorityLabel": {
|
|
381
|
+
"type": "string",
|
|
382
|
+
"mutable": false,
|
|
383
|
+
"complexType": {
|
|
384
|
+
"original": "string",
|
|
385
|
+
"resolved": "string",
|
|
386
|
+
"references": {}
|
|
387
|
+
},
|
|
388
|
+
"required": false,
|
|
389
|
+
"optional": false,
|
|
390
|
+
"docs": {
|
|
391
|
+
"tags": [],
|
|
392
|
+
"text": ""
|
|
393
|
+
},
|
|
394
|
+
"attribute": "priority-label",
|
|
395
|
+
"reflect": false,
|
|
396
|
+
"defaultValue": "'Priority Group'"
|
|
397
|
+
},
|
|
398
|
+
"nonPriorityLabel": {
|
|
399
|
+
"type": "string",
|
|
400
|
+
"mutable": false,
|
|
401
|
+
"complexType": {
|
|
402
|
+
"original": "string",
|
|
403
|
+
"resolved": "string",
|
|
404
|
+
"references": {}
|
|
405
|
+
},
|
|
406
|
+
"required": false,
|
|
407
|
+
"optional": false,
|
|
408
|
+
"docs": {
|
|
409
|
+
"tags": [],
|
|
410
|
+
"text": ""
|
|
411
|
+
},
|
|
412
|
+
"attribute": "non-priority-label",
|
|
413
|
+
"reflect": false,
|
|
414
|
+
"defaultValue": "'Non Priority Group'"
|
|
415
|
+
},
|
|
358
416
|
"showErrorMsg": {
|
|
359
417
|
"type": "boolean",
|
|
360
418
|
"mutable": false,
|
|
@@ -17,7 +17,7 @@ const options = [
|
|
|
17
17
|
{ value: 'Bonnie', label: 'Steuber', description: 'Practical Course' },
|
|
18
18
|
{ value: 'Priscilla', label: 'Lowe', description: 'E-learn course' },
|
|
19
19
|
{ value: 'Andy', label: 'Thompson-Keebler', html: '<span style="color: red">Thompson-Keebler</span>' },
|
|
20
|
-
{ value: 'egg', label: 'egg', html: '<tttx-
|
|
20
|
+
{ value: 'egg', label: 'egg', html: '<tttx-icon_1_9_23 icon="egg" />', description: 'Practical Course' },
|
|
21
21
|
{ value: 'Terence', label: 'Hyatt' },
|
|
22
22
|
{ value: 'Ruben', label: 'Toy', description: 'E-learn course' },
|
|
23
23
|
{ value: 'Rhiannon', label: 'Hills' },
|
|
@@ -32,7 +32,7 @@ const options = [
|
|
|
32
32
|
{ value: 'Ronaldo', label: 'Mann' },
|
|
33
33
|
];
|
|
34
34
|
const TemplateHTMLSelectBox = args => `
|
|
35
|
-
<tttx-select-
|
|
35
|
+
<tttx-select-box_1_9_23
|
|
36
36
|
id="htmlSelectBox"
|
|
37
37
|
options-data='${JSON.stringify(args.optionsData)}'
|
|
38
38
|
label='${args.label}'
|
|
@@ -43,7 +43,7 @@ const TemplateHTMLSelectBox = args => `
|
|
|
43
43
|
show-error-bubble="${args.showErrorBubble === false ? 'false' : 'true'}"
|
|
44
44
|
${args.showErrorMsg ? 'show-error-msg' : ''}
|
|
45
45
|
is-loading="${args.isLoading}"
|
|
46
|
-
></tttx-select-
|
|
46
|
+
></tttx-select-box_1_9_23>
|
|
47
47
|
<script>
|
|
48
48
|
// Handle case where storybook renders this story twice
|
|
49
49
|
if (!htmlSelectBox.length) {
|
|
@@ -62,7 +62,7 @@ BasicHTMLSelectBox.args = {
|
|
|
62
62
|
isLoading: false,
|
|
63
63
|
};
|
|
64
64
|
const TemplateReadOnlySelectBox = args => `
|
|
65
|
-
<tttx-select-
|
|
65
|
+
<tttx-select-box_1_9_23
|
|
66
66
|
id="htmlSelectBox"
|
|
67
67
|
options-data='${JSON.stringify(args.optionsData)}'
|
|
68
68
|
label='${args.label}'
|
|
@@ -75,7 +75,7 @@ const TemplateReadOnlySelectBox = args => `
|
|
|
75
75
|
is-loading="${args.isLoading}"
|
|
76
76
|
read-only="${args.readOnly}"
|
|
77
77
|
selected-value='${args.selectedValue}'
|
|
78
|
-
></tttx-select-
|
|
78
|
+
></tttx-select-box_1_9_23>
|
|
79
79
|
<script>
|
|
80
80
|
// Handle case where storybook renders this story twice
|
|
81
81
|
if (!htmlSelectBox.length) {
|
|
@@ -96,7 +96,7 @@ ReadOnlySelectBox.args = {
|
|
|
96
96
|
readOnly: true
|
|
97
97
|
};
|
|
98
98
|
const TemplateExternalFilteringSelectBox = args => `
|
|
99
|
-
<tttx-select-
|
|
99
|
+
<tttx-select-box_1_9_23
|
|
100
100
|
id="htmlSelectBox"
|
|
101
101
|
options-data='${JSON.stringify(args.optionsData)}'
|
|
102
102
|
label='${args.label}'
|
|
@@ -108,7 +108,7 @@ const TemplateExternalFilteringSelectBox = args => `
|
|
|
108
108
|
${args.showErrorMsg ? 'show-error-msg' : ''}
|
|
109
109
|
use-external-filtering="true"
|
|
110
110
|
is-loading="${args.isLoading}"
|
|
111
|
-
></tttx-select-
|
|
111
|
+
></tttx-select-box_1_9_23>
|
|
112
112
|
<script>
|
|
113
113
|
// Handle case where storybook renders this story twice
|
|
114
114
|
if (!htmlSelectBox.length) {
|
|
@@ -128,7 +128,7 @@ ExternalFilteringSelectBox.args = {
|
|
|
128
128
|
isLoading: false
|
|
129
129
|
};
|
|
130
130
|
const TemplateJSXSelectBox = args => `
|
|
131
|
-
<tttx-select-
|
|
131
|
+
<tttx-select-box_1_9_23
|
|
132
132
|
id='objectSelectBox'
|
|
133
133
|
label='${args.label}'
|
|
134
134
|
placeholder='${args.placeholder}'
|
|
@@ -137,7 +137,7 @@ const TemplateJSXSelectBox = args => `
|
|
|
137
137
|
error-msg="${args.errorMsg}"
|
|
138
138
|
show-error-bubble="${args.showErrorBubble === false ? 'false' : 'true'}"
|
|
139
139
|
${args.showErrorMsg ? 'show-error-msg' : ''}
|
|
140
|
-
></tttx-select-
|
|
140
|
+
></tttx-select-box_1_9_23>
|
|
141
141
|
<script>
|
|
142
142
|
objectSelectBox.optionsData = ${JSON.stringify(args.optionsData)}
|
|
143
143
|
objectSelectBox.addEventListener('toggleOpen', (ev) => { console.log(ev) })
|
|
@@ -153,16 +153,16 @@ BasicJSXSelectBox.args = {
|
|
|
153
153
|
inline: false,
|
|
154
154
|
};
|
|
155
155
|
const tagOptions = [
|
|
156
|
-
{ value: '1', label: 'Client', html: '<tttx-
|
|
157
|
-
{ value: '2', label: 'Job Role', html: '<tttx-
|
|
158
|
-
{ value: '3', label: 'Project', html: '<tttx-
|
|
156
|
+
{ value: '1', label: 'Client', html: '<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23>' },
|
|
157
|
+
{ value: '2', label: 'Job Role', html: '<tttx-tag_1_9_23 text="Job Role" color="#f9e1be"></tttx-tag_1_9_23>' },
|
|
158
|
+
{ value: '3', label: 'Project', html: '<tttx-tag_1_9_23 text="Project" color="#e4ebc9"></tttx-tag_1_9_23>' },
|
|
159
159
|
];
|
|
160
160
|
const TttxDialogBoxStory = ({ data }) => `
|
|
161
161
|
<button onclick="openDialog()">Open</button>
|
|
162
|
-
<tttx-dialog-
|
|
162
|
+
<tttx-dialog-box_1_9_23
|
|
163
163
|
id='dialogBox'
|
|
164
164
|
allow-overflow='true'
|
|
165
|
-
></tttx-dialog-
|
|
165
|
+
></tttx-dialog-box_1_9_23>
|
|
166
166
|
<script>
|
|
167
167
|
if(!dialogBox) {
|
|
168
168
|
const dialogBox = document.getElementById('dialogBox');
|
|
@@ -188,7 +188,7 @@ DialogBoxWithDropdown.args = {
|
|
|
188
188
|
isCustomHtml: true,
|
|
189
189
|
customHtml: `
|
|
190
190
|
<div style="padding: 5px; display: flex; gap: 16px; flex-direction: column">
|
|
191
|
-
<tttx-select-
|
|
191
|
+
<tttx-select-box_1_9_23
|
|
192
192
|
id="htmlSelectBox"
|
|
193
193
|
options-data='${JSON.stringify(tagOptions)}'
|
|
194
194
|
label='Label'
|
|
@@ -196,17 +196,17 @@ DialogBoxWithDropdown.args = {
|
|
|
196
196
|
search-enabled='${true}'
|
|
197
197
|
inline='${false}'
|
|
198
198
|
selected-value='${tagOptions[1].value}'
|
|
199
|
-
></tttx-select-
|
|
200
|
-
<tttx-standalone-
|
|
199
|
+
></tttx-select-box_1_9_23>
|
|
200
|
+
<tttx-standalone-input_1_9_23
|
|
201
201
|
label='Name'
|
|
202
202
|
placeholder='Enter name'
|
|
203
|
-
></tttx-standalone-
|
|
204
|
-
<tttx-select-
|
|
203
|
+
></tttx-standalone-input_1_9_23>
|
|
204
|
+
<tttx-select-box_1_9_23
|
|
205
205
|
id="htmlSelectBox2"
|
|
206
206
|
options-data='${JSON.stringify(options)}'
|
|
207
207
|
label='Label 2'
|
|
208
208
|
placeholder='Placeholder 2'
|
|
209
|
-
></tttx-select-
|
|
209
|
+
></tttx-select-box_1_9_23>
|
|
210
210
|
</div>
|
|
211
211
|
`,
|
|
212
212
|
},
|
|
@@ -219,3 +219,43 @@ DialogBoxWithDropdown.args = {
|
|
|
219
219
|
},
|
|
220
220
|
},
|
|
221
221
|
};
|
|
222
|
+
const priorityOptions = [
|
|
223
|
+
{ value: '1', label: 'Triss Merigold', prioritise: true, description: 'A sorceress' },
|
|
224
|
+
{ value: '2', label: 'Yennefer of Vengerberg', prioritise: true },
|
|
225
|
+
{ value: '3', label: 'Philippa Eilhart' },
|
|
226
|
+
{ value: '4', label: 'Keira Metz', description: 'Likes towers, and other things to make this description longer!' }
|
|
227
|
+
];
|
|
228
|
+
const TemplatePriorityHTMLSelectBox = args => `
|
|
229
|
+
<tttx-select-box_1_9_23
|
|
230
|
+
id="htmlSelectBox"
|
|
231
|
+
options-data='${JSON.stringify(args.optionsData)}'
|
|
232
|
+
label='${args.label}'
|
|
233
|
+
placeholder='${args.placeholder}'
|
|
234
|
+
search-enabled='${args.searchEnabled}'
|
|
235
|
+
inline='${args.inline}'
|
|
236
|
+
error-msg="${args.errorMsg}"
|
|
237
|
+
show-error-bubble="${args.showErrorBubble === false ? 'false' : 'true'}"
|
|
238
|
+
${args.showErrorMsg ? 'show-error-msg' : ''}
|
|
239
|
+
is-loading="${args.isLoading}"
|
|
240
|
+
priority-label='${args.priorityLabel}'
|
|
241
|
+
non-priority-label='${args.nonPriorityLabel}'
|
|
242
|
+
></tttx-select-box_1_9_23>
|
|
243
|
+
<script>
|
|
244
|
+
// Handle case where storybook renders this story twice
|
|
245
|
+
if (!htmlSelectBox.length) {
|
|
246
|
+
htmlSelectBox.addEventListener('toggleOpen', (ev) => { console.log(ev) })
|
|
247
|
+
htmlSelectBox.addEventListener('selectItemEvent', (ev) => { console.log(ev) })
|
|
248
|
+
}
|
|
249
|
+
</script>
|
|
250
|
+
`;
|
|
251
|
+
export const PriorityHTMLSelectBox = TemplatePriorityHTMLSelectBox.bind({});
|
|
252
|
+
PriorityHTMLSelectBox.args = {
|
|
253
|
+
optionsData: priorityOptions,
|
|
254
|
+
label: 'Label',
|
|
255
|
+
placeholder: 'Placeholder',
|
|
256
|
+
searchEnabled: true,
|
|
257
|
+
inline: false,
|
|
258
|
+
isLoading: false,
|
|
259
|
+
priorityLabel: 'The Best',
|
|
260
|
+
nonPriorityLabel: 'The Rest'
|
|
261
|
+
};
|
|
@@ -98,11 +98,11 @@ export class TttxSorter {
|
|
|
98
98
|
const selectedOption = this.selectedField;
|
|
99
99
|
const dropdownSelectorClassNameModifier = this.dropdownExpand ? '--expanded' : '';
|
|
100
100
|
const sorterKey = `sorter__${this.sorterKey}`;
|
|
101
|
-
return (h(Host, { id: sorterKey }, h("div", { tabindex: 0, class: `sorter-container ${dropdownSelectorClassNameModifier}` }, h("button", { class: "arrow-toggle-button", type: "button", onClick: this.onSortToggleClick.bind(this) }, h("tttx-
|
|
101
|
+
return (h(Host, { id: sorterKey }, h("div", { tabindex: 0, class: `sorter-container ${dropdownSelectorClassNameModifier}` }, h("button", { class: "arrow-toggle-button", type: "button", onClick: this.onSortToggleClick.bind(this) }, h("tttx-icon_1_9_23", { icon: arrowIcon, color: "black" })), h("div", { class: "dropdown-selector", onClick: this.onDropdownClicked.bind(this) }, h("div", { class: "dropdown-selector-button" }, h("div", { class: "dropdown-selector-text" }, selectedOption), h("div", { class: "dropdown-selector-chevron" }, h("tttx-icon_1_9_23", { icon: chevronIcon, color: "black" })))), this.dropdownExpand && (h("div", { class: "dropdown-options-list" }, parsedFieldOptionsData.sorterOptions.map(option => {
|
|
102
102
|
return (h("div", { class: "dropdown-option", tabIndex: -1, onClick: this.onDropdownSelected.bind(this), key: option.optionLabel }, option.optionLabel));
|
|
103
103
|
}))))));
|
|
104
104
|
}
|
|
105
|
-
static get is() { return "tttx-
|
|
105
|
+
static get is() { return "tttx-sorter_1_9_23"; }
|
|
106
106
|
static get encapsulation() { return "shadow"; }
|
|
107
107
|
static get originalStyleUrls() {
|
|
108
108
|
return {
|
|
@@ -23,7 +23,7 @@ export default {
|
|
|
23
23
|
const TemplateSorter = ({ fieldOptionsData, sorterKey, defaultOption }) => {
|
|
24
24
|
return `
|
|
25
25
|
<div style='width: 250px;'>
|
|
26
|
-
<tttx-
|
|
26
|
+
<tttx-sorter_1_9_23
|
|
27
27
|
field-options-data='${JSON.stringify(fieldOptionsData)}'
|
|
28
28
|
default-option='${defaultOption}'
|
|
29
29
|
sorter-key='${sorterKey}'/>
|
|
@@ -72,9 +72,9 @@ export class TttxInput {
|
|
|
72
72
|
this.iconleft ? 'has-left-icon' : '',
|
|
73
73
|
this.iconright ? 'has-right-icon' : '',
|
|
74
74
|
].join(' ');
|
|
75
|
-
return (h(Host, null, h("label", null, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: ['outer-container', this.inline ? 'inputInline' : 'inputBlock'].join(' ') }, h("input", { class: classNames, autocapitalize: this.inputautocapitalize, autofocus: this.inputautofocus, enterkeyhint: this.inputkeyhint, tabindex: this.inputindex, title: this.inputtitle, autocomplete: this.autocomplete, checked: this.checked, disabled: this.disabled, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readonly: this.readonly, required: this.required, step: this.step, type: this.type, value: this.value, onBlur: this.handleBlur.bind(this), onFocus: this.handleFocus.bind(this), onInput: this.handleChange.bind(this), onInvalid: this.handleInvalid.bind(this) }), (this.inputicon || this.iconleft) && (h("span", { class: "left-icons" }, this.inputicon && (h("tttx-
|
|
75
|
+
return (h(Host, null, h("label", null, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: ['outer-container', this.inline ? 'inputInline' : 'inputBlock'].join(' ') }, h("input", { class: classNames, autocapitalize: this.inputautocapitalize, autofocus: this.inputautofocus, enterkeyhint: this.inputkeyhint, tabindex: this.inputindex, title: this.inputtitle, autocomplete: this.autocomplete, checked: this.checked, disabled: this.disabled, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readonly: this.readonly, required: this.required, step: this.step, type: this.type, value: this.value, onBlur: this.handleBlur.bind(this), onFocus: this.handleFocus.bind(this), onInput: this.handleChange.bind(this), onInvalid: this.handleInvalid.bind(this) }), (this.inputicon || this.iconleft) && (h("span", { class: "left-icons" }, this.inputicon && (h("tttx-icon_1_9_23", { class: "input-icon", icon: this.inputicon, color: this.inputiconcolor, onClick: this.handleInputIconClick.bind(this) })), this.iconleft && (h("tttx-icon_1_9_23", { class: "left-icon", icon: this.iconleft, color: this.iconleftcolor, onClick: this.handleLeftIconClick.bind(this) })))), this.iconright && (h("span", { class: "right-icons" }, h("tttx-icon_1_9_23", { class: "right-icon", icon: this.iconright, color: this.iconrightcolor, onClick: this.handleRightIconClick.bind(this) })))), this.secondarylabel && h("span", { class: "secondarylabel" }, this.secondarylabel), this.showerrorbubble && (h("span", { class: ['errorBubble', this.showerrormsg && this.errormsg ? 'visible' : ''].join(' ') }, h("span", { class: "material-symbols-rounded" }, "warning"), " ", this.errormsg)))));
|
|
76
76
|
}
|
|
77
|
-
static get is() { return "tttx-standalone-
|
|
77
|
+
static get is() { return "tttx-standalone-input_1_9_23"; }
|
|
78
78
|
static get encapsulation() { return "scoped"; }
|
|
79
79
|
static get originalStyleUrls() {
|
|
80
80
|
return {
|
|
@@ -360,10 +360,10 @@ export class TttxInput {
|
|
|
360
360
|
"docs": {
|
|
361
361
|
"tags": [{
|
|
362
362
|
"name": "example",
|
|
363
|
-
"text": "<caption>In HTML (like `index.html`)</caption>\n<tttx-standalone-
|
|
363
|
+
"text": "<caption>In HTML (like `index.html`)</caption>\n<tttx-standalone-input_1_9_23 input-index=\"1\" />"
|
|
364
364
|
}, {
|
|
365
365
|
"name": "example",
|
|
366
|
-
"text": "<caption>In TSX files</caption>\n<tttx-standalone-
|
|
366
|
+
"text": "<caption>In TSX files</caption>\n<tttx-standalone-input_1_9_23 inputindex={1} />"
|
|
367
367
|
}],
|
|
368
368
|
"text": "tabindex - Allows the HTML elements to be focusable"
|
|
369
369
|
},
|
package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js
CHANGED
|
@@ -95,7 +95,7 @@ export default {
|
|
|
95
95
|
},
|
|
96
96
|
};
|
|
97
97
|
const TemplateTextInput = ({ iconleft, iconleftcolor, iconright, iconrightcolor, inputicon, inputiconcolor, label, secondarylabel, errormsg, showerrorbubble, showerrormsg, inline, checked, disabled, max, maxlength, min, minlength, name, pattern, placeholder, readonly, required, step, type, value, }) => `
|
|
98
|
-
<tttx-standalone-
|
|
98
|
+
<tttx-standalone-input_1_9_23
|
|
99
99
|
iconleft="${iconleft || ''}"
|
|
100
100
|
iconleftcolor="${iconleftcolor || ''}"
|
|
101
101
|
iconright="${iconright || ''}"
|