@xplor-education/core-stencil-components 2.0.0 → 3.0.0
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/components/index.js +1 -1
- package/components/index.js.map +1 -1
- package/components/{p-B1W2qj2l.js → p-B3zR7peH.js} +4 -4
- package/components/p-B3zR7peH.js.map +1 -0
- package/components/{p-Ddr35stE.js → p-BRWe4TXp.js} +65 -5
- package/components/p-BRWe4TXp.js.map +1 -0
- package/components/{p-CBSi5kQB.js → p-Bs_ocvfe.js} +7 -3
- package/components/p-Bs_ocvfe.js.map +1 -0
- package/components/{p-CTD6SyTD.js → p-D4jVa8dE.js} +20 -4
- package/components/p-D4jVa8dE.js.map +1 -0
- package/components/{p-x30CgLRv.js → p-DURNLP66.js} +71 -6
- package/components/p-DURNLP66.js.map +1 -0
- package/components/{p-BK_ATKuB.js → p-DxxjL3sU.js} +3 -3
- package/components/{p-BK_ATKuB.js.map → p-DxxjL3sU.js.map} +1 -1
- package/components/xplor-alert-dialog.js +60 -3
- package/components/xplor-alert-dialog.js.map +1 -1
- package/components/xplor-assistant.js +3 -3
- package/components/xplor-assistant.js.map +1 -1
- package/components/xplor-autocomplete.js +15 -9
- package/components/xplor-autocomplete.js.map +1 -1
- package/components/xplor-avatar-and-name.js +1 -1
- package/components/xplor-avatar.js +1 -1
- package/components/xplor-btn-back-to-parent.js +7 -2
- package/components/xplor-btn-back-to-parent.js.map +1 -1
- package/components/xplor-btn-icon.js +3 -2
- package/components/xplor-btn-icon.js.map +1 -1
- package/components/xplor-btn-menu.js +103 -6
- package/components/xplor-btn-menu.js.map +1 -1
- package/components/xplor-btn-tooltip.js +2 -2
- package/components/xplor-button.js +1 -1
- package/components/xplor-chat-widget.js +2 -2
- package/components/xplor-checkbox.js +3 -1
- package/components/xplor-checkbox.js.map +1 -1
- package/components/xplor-combobox.js +20 -10
- package/components/xplor-combobox.js.map +1 -1
- package/components/xplor-datatable.js +10 -4
- package/components/xplor-datatable.js.map +1 -1
- package/components/xplor-date-picker.js +9 -5
- package/components/xplor-date-picker.js.map +1 -1
- package/components/xplor-drag-and-drop-input.js +43 -5
- package/components/xplor-drag-and-drop-input.js.map +1 -1
- package/components/xplor-dropdown.js +1 -1
- package/components/xplor-expansion-panel.js +4 -4
- package/components/xplor-expansion-panel.js.map +1 -1
- package/components/xplor-expansion-panels.js +1 -1
- package/components/xplor-expansion-panels.js.map +1 -1
- package/components/xplor-file-upload.js +2 -2
- package/components/xplor-file-upload.js.map +1 -1
- package/components/xplor-inline-checkbox.js +2 -2
- package/components/xplor-inline-date-picker.js +1 -1
- package/components/xplor-inline-switch.js +1 -1
- package/components/xplor-input-file.js +3 -1
- package/components/xplor-input-file.js.map +1 -1
- package/components/xplor-input-search.js +4 -2
- package/components/xplor-input-search.js.map +1 -1
- package/components/xplor-input-select.js +127 -7
- package/components/xplor-input-select.js.map +1 -1
- package/components/xplor-input-send.js +3 -3
- package/components/xplor-input-send.js.map +1 -1
- package/components/xplor-input-text-area.js +6 -2
- package/components/xplor-input-text-area.js.map +1 -1
- package/components/xplor-input-text-secondary.js +6 -2
- package/components/xplor-input-text-secondary.js.map +1 -1
- package/components/xplor-input-text.js +6 -2
- package/components/xplor-input-text.js.map +1 -1
- package/components/xplor-input-title.js +7 -2
- package/components/xplor-input-title.js.map +1 -1
- package/components/xplor-links.js +5 -2
- package/components/xplor-links.js.map +1 -1
- package/components/xplor-modal-persistent.js +2 -2
- package/components/xplor-modal.js +1 -1
- package/components/xplor-nav-tabs.js +41 -3
- package/components/xplor-nav-tabs.js.map +1 -1
- package/components/xplor-radio-btn.d.ts +11 -0
- package/components/xplor-radio-btn.js +131 -0
- package/components/xplor-radio-btn.js.map +1 -0
- package/components/xplor-section-card.js +2 -2
- package/components/xplor-section-card.js.map +1 -1
- package/components/xplor-section-heading.js +9 -3
- package/components/xplor-section-heading.js.map +1 -1
- package/components/xplor-table.js +14 -9
- package/components/xplor-table.js.map +1 -1
- package/components/xplor-text-bubble.js +2 -2
- package/components/xplor-text-field.js +2 -2
- package/components/xplor-time-picker.js +6 -6
- package/components/xplor-tooltip.js +1 -1
- package/dist/cjs/{index-Bc5o_4vY.js → index-BjAapk2n.js} +5 -5
- package/dist/cjs/index-BjAapk2n.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{xplor-alert-dialog_57.cjs.entry.js → xplor-alert-dialog_58.cjs.entry.js} +747 -108
- package/dist/cjs/xplor-alert-dialog_58.cjs.entry.js.map +1 -0
- package/dist/cjs/xplor-component-library.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/xplor-alert-dialog/xplor-alert-dialog.js +85 -1
- package/dist/collection/components/xplor-alert-dialog/xplor-alert-dialog.js.map +1 -1
- package/dist/collection/components/xplor-assistant/internal/AssistantInput.js +1 -1
- package/dist/collection/components/xplor-assistant/internal/AssistantInput.js.map +1 -1
- package/dist/collection/components/xplor-assistant/xplor-assistant.js +1 -1
- package/dist/collection/components/xplor-assistant/xplor-assistant.js.map +1 -1
- package/dist/collection/components/xplor-autocomplete/xplor-autocomplete.js +33 -9
- package/dist/collection/components/xplor-autocomplete/xplor-autocomplete.js.map +1 -1
- package/dist/collection/components/xplor-avatar/xplor-avatar.js +2 -2
- package/dist/collection/components/xplor-avatar/xplor-avatar.js.map +1 -1
- package/dist/collection/components/xplor-btn-back-to-parent/xplor-btn-back-to-parent.js +25 -1
- package/dist/collection/components/xplor-btn-back-to-parent/xplor-btn-back-to-parent.js.map +1 -1
- package/dist/collection/components/xplor-btn-icon/xplor-btn-icon.js +20 -1
- package/dist/collection/components/xplor-btn-icon/xplor-btn-icon.js.map +1 -1
- package/dist/collection/components/xplor-btn-menu/xplor-btn-menu.js +129 -5
- package/dist/collection/components/xplor-btn-menu/xplor-btn-menu.js.map +1 -1
- package/dist/collection/components/xplor-button/xplor-button.js +42 -1
- package/dist/collection/components/xplor-button/xplor-button.js.map +1 -1
- package/dist/collection/components/xplor-checkbox/xplor-checkbox.js +3 -1
- package/dist/collection/components/xplor-checkbox/xplor-checkbox.js.map +1 -1
- package/dist/collection/components/xplor-combobox/xplor-combobox.js +38 -10
- package/dist/collection/components/xplor-combobox/xplor-combobox.js.map +1 -1
- package/dist/collection/components/xplor-datatable/xplor-datatable.js +10 -4
- package/dist/collection/components/xplor-datatable/xplor-datatable.js.map +1 -1
- package/dist/collection/components/xplor-date-picker/xplor-date-picker.js +8 -4
- package/dist/collection/components/xplor-date-picker/xplor-date-picker.js.map +1 -1
- package/dist/collection/components/xplor-drag-and-drop-input/xplor-drag-and-drop-input.css +125 -21
- package/dist/collection/components/xplor-drag-and-drop-input/xplor-drag-and-drop-input.js +79 -4
- package/dist/collection/components/xplor-drag-and-drop-input/xplor-drag-and-drop-input.js.map +1 -1
- package/dist/collection/components/xplor-dropdown/xplor-dropdown.js +1 -1
- package/dist/collection/components/xplor-expansion-panel/xplor-expansion-panel.js +4 -4
- package/dist/collection/components/xplor-expansion-panel/xplor-expansion-panel.js.map +1 -1
- package/dist/collection/components/xplor-expansion-panels/xplor-expansion-panels.js +1 -1
- package/dist/collection/components/xplor-expansion-panels/xplor-expansion-panels.js.map +1 -1
- package/dist/collection/components/xplor-file-upload/xplor-file-upload.js +2 -2
- package/dist/collection/components/xplor-file-upload/xplor-file-upload.js.map +1 -1
- package/dist/collection/components/xplor-inline-checkbox/xplor-inline-checkbox.js +2 -2
- package/dist/collection/components/xplor-inline-date-picker/xplor-inline-date-picker.js +77 -3
- package/dist/collection/components/xplor-inline-date-picker/xplor-inline-date-picker.js.map +1 -1
- package/dist/collection/components/xplor-inline-switch/xplor-inline-switch.js +1 -1
- package/dist/collection/components/xplor-input-file/xplor-input-file.js +3 -1
- package/dist/collection/components/xplor-input-file/xplor-input-file.js.map +1 -1
- package/dist/collection/components/xplor-input-search/xplor-input-search.js +4 -2
- package/dist/collection/components/xplor-input-search/xplor-input-search.js.map +1 -1
- package/dist/collection/components/xplor-input-select/xplor-input-select.css +1 -6
- package/dist/collection/components/xplor-input-select/xplor-input-select.js +152 -5
- package/dist/collection/components/xplor-input-select/xplor-input-select.js.map +1 -1
- package/dist/collection/components/xplor-input-send/xplor-input-send.js +2 -2
- package/dist/collection/components/xplor-input-send/xplor-input-send.js.map +1 -1
- package/dist/collection/components/xplor-input-text/xplor-input-text.js +6 -2
- package/dist/collection/components/xplor-input-text/xplor-input-text.js.map +1 -1
- package/dist/collection/components/xplor-input-text-area/xplor-input-text-area.js +6 -2
- package/dist/collection/components/xplor-input-text-area/xplor-input-text-area.js.map +1 -1
- package/dist/collection/components/xplor-input-text-secondary/xplor-input-text-secondary.js +6 -2
- package/dist/collection/components/xplor-input-text-secondary/xplor-input-text-secondary.js.map +1 -1
- package/dist/collection/components/xplor-input-title/xplor-input-title.js +25 -1
- package/dist/collection/components/xplor-input-title/xplor-input-title.js.map +1 -1
- package/dist/collection/components/xplor-links/xplor-links.js +25 -1
- package/dist/collection/components/xplor-links/xplor-links.js.map +1 -1
- package/dist/collection/components/xplor-modal/xplor-modal.js +88 -1
- package/dist/collection/components/xplor-modal/xplor-modal.js.map +1 -1
- package/dist/collection/components/xplor-modal-persistent/xplor-modal-persistent.js +1 -1
- package/dist/collection/components/xplor-nav-tabs/xplor-nav-tabs.js +49 -2
- package/dist/collection/components/xplor-nav-tabs/xplor-nav-tabs.js.map +1 -1
- package/dist/collection/components/xplor-radio-btn/xplor-radio-btn.css +386 -0
- package/dist/collection/components/xplor-radio-btn/xplor-radio-btn.js +275 -0
- package/dist/collection/components/xplor-radio-btn/xplor-radio-btn.js.map +1 -0
- package/dist/collection/components/xplor-section-card/xplor-section-card.js +2 -2
- package/dist/collection/components/xplor-section-card/xplor-section-card.js.map +1 -1
- package/dist/collection/components/xplor-section-heading/xplor-section-heading.js +27 -2
- package/dist/collection/components/xplor-section-heading/xplor-section-heading.js.map +1 -1
- package/dist/collection/components/xplor-table/xplor-table.js +14 -9
- package/dist/collection/components/xplor-table/xplor-table.js.map +1 -1
- package/dist/collection/components/xplor-text-bubble/xplor-text-bubble.js +2 -2
- package/dist/collection/components/xplor-text-field/xplor-text-field.js +2 -2
- package/dist/collection/components/xplor-time-picker/xplor-time-picker.js +6 -6
- package/dist/collection/components/xplor-tooltip/xplor-tooltip.js +18 -2
- package/dist/collection/components/xplor-tooltip/xplor-tooltip.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-BHdeGt6k.js → p--zhT6rvJ.js} +4 -4
- package/dist/components/p--zhT6rvJ.js.map +1 -0
- package/dist/components/{p-DKh6y3GY.js → p-04oMLTZR.js} +65 -5
- package/dist/components/p-04oMLTZR.js.map +1 -0
- package/dist/components/{p-DIv_A5Gj.js → p-B5rS_jjI.js} +7 -3
- package/dist/components/p-B5rS_jjI.js.map +1 -0
- package/dist/components/{p-4l9DAhAo.js → p-DbQ6ZNvh.js} +20 -4
- package/dist/components/p-DbQ6ZNvh.js.map +1 -0
- package/dist/components/{p-BIFlTsO8.js → p-Dh0wQJt6.js} +71 -6
- package/dist/components/p-Dh0wQJt6.js.map +1 -0
- package/dist/components/{p-CJGP2_5k.js → p-oOSnPjGy.js} +3 -3
- package/dist/components/{p-CJGP2_5k.js.map → p-oOSnPjGy.js.map} +1 -1
- package/dist/components/xplor-alert-dialog.js +60 -3
- package/dist/components/xplor-alert-dialog.js.map +1 -1
- package/dist/components/xplor-assistant.js +3 -3
- package/dist/components/xplor-assistant.js.map +1 -1
- package/dist/components/xplor-autocomplete.js +15 -9
- package/dist/components/xplor-autocomplete.js.map +1 -1
- package/dist/components/xplor-avatar-and-name.js +1 -1
- package/dist/components/xplor-avatar.js +1 -1
- package/dist/components/xplor-btn-back-to-parent.js +7 -2
- package/dist/components/xplor-btn-back-to-parent.js.map +1 -1
- package/dist/components/xplor-btn-icon.js +3 -2
- package/dist/components/xplor-btn-icon.js.map +1 -1
- package/dist/components/xplor-btn-menu.js +103 -6
- package/dist/components/xplor-btn-menu.js.map +1 -1
- package/dist/components/xplor-btn-tooltip.js +2 -2
- package/dist/components/xplor-button.js +1 -1
- package/dist/components/xplor-chat-widget.js +2 -2
- package/dist/components/xplor-checkbox.js +3 -1
- package/dist/components/xplor-checkbox.js.map +1 -1
- package/dist/components/xplor-combobox.js +20 -10
- package/dist/components/xplor-combobox.js.map +1 -1
- package/dist/components/xplor-datatable.js +10 -4
- package/dist/components/xplor-datatable.js.map +1 -1
- package/dist/components/xplor-date-picker.js +9 -5
- package/dist/components/xplor-date-picker.js.map +1 -1
- package/dist/components/xplor-drag-and-drop-input.js +43 -5
- package/dist/components/xplor-drag-and-drop-input.js.map +1 -1
- package/dist/components/xplor-dropdown.js +1 -1
- package/dist/components/xplor-expansion-panel.js +4 -4
- package/dist/components/xplor-expansion-panel.js.map +1 -1
- package/dist/components/xplor-expansion-panels.js +1 -1
- package/dist/components/xplor-expansion-panels.js.map +1 -1
- package/dist/components/xplor-file-upload.js +2 -2
- package/dist/components/xplor-file-upload.js.map +1 -1
- package/dist/components/xplor-inline-checkbox.js +2 -2
- package/dist/components/xplor-inline-date-picker.js +1 -1
- package/dist/components/xplor-inline-switch.js +1 -1
- package/dist/components/xplor-input-file.js +3 -1
- package/dist/components/xplor-input-file.js.map +1 -1
- package/dist/components/xplor-input-search.js +4 -2
- package/dist/components/xplor-input-search.js.map +1 -1
- package/dist/components/xplor-input-select.js +127 -7
- package/dist/components/xplor-input-select.js.map +1 -1
- package/dist/components/xplor-input-send.js +3 -3
- package/dist/components/xplor-input-send.js.map +1 -1
- package/dist/components/xplor-input-text-area.js +6 -2
- package/dist/components/xplor-input-text-area.js.map +1 -1
- package/dist/components/xplor-input-text-secondary.js +6 -2
- package/dist/components/xplor-input-text-secondary.js.map +1 -1
- package/dist/components/xplor-input-text.js +6 -2
- package/dist/components/xplor-input-text.js.map +1 -1
- package/dist/components/xplor-input-title.js +7 -2
- package/dist/components/xplor-input-title.js.map +1 -1
- package/dist/components/xplor-links.js +5 -2
- package/dist/components/xplor-links.js.map +1 -1
- package/dist/components/xplor-modal-persistent.js +2 -2
- package/dist/components/xplor-modal.js +1 -1
- package/dist/components/xplor-nav-tabs.js +41 -3
- package/dist/components/xplor-nav-tabs.js.map +1 -1
- package/dist/components/xplor-radio-btn.d.ts +11 -0
- package/dist/components/xplor-radio-btn.js +132 -0
- package/dist/components/xplor-radio-btn.js.map +1 -0
- package/dist/components/xplor-section-card.js +2 -2
- package/dist/components/xplor-section-card.js.map +1 -1
- package/dist/components/xplor-section-heading.js +9 -3
- package/dist/components/xplor-section-heading.js.map +1 -1
- package/dist/components/xplor-table.js +14 -9
- package/dist/components/xplor-table.js.map +1 -1
- package/dist/components/xplor-text-bubble.js +2 -2
- package/dist/components/xplor-text-field.js +2 -2
- package/dist/components/xplor-time-picker.js +6 -6
- package/dist/components/xplor-tooltip.js +1 -1
- package/dist/esm/{index-Zkk2NJif.js → index-KRfMjDC2.js} +5 -5
- package/dist/esm/index-KRfMjDC2.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{xplor-alert-dialog_57.entry.js → xplor-alert-dialog_58.entry.js} +747 -109
- package/dist/esm/xplor-alert-dialog_58.entry.js.map +1 -0
- package/dist/esm/xplor-component-library.js +3 -3
- package/dist/hydrate/index.js +798 -120
- package/dist/hydrate/index.mjs +798 -120
- package/dist/types/components/xplor-alert-dialog/xplor-alert-dialog.d.ts +11 -0
- package/dist/types/components/xplor-autocomplete/xplor-autocomplete.d.ts +4 -0
- package/dist/types/components/xplor-btn-back-to-parent/xplor-btn-back-to-parent.d.ts +4 -0
- package/dist/types/components/xplor-btn-icon/xplor-btn-icon.d.ts +4 -0
- package/dist/types/components/xplor-btn-menu/xplor-btn-menu.d.ts +19 -0
- package/dist/types/components/xplor-button/xplor-button.d.ts +4 -0
- package/dist/types/components/xplor-checkbox/xplor-checkbox.d.ts +1 -0
- package/dist/types/components/xplor-combobox/xplor-combobox.d.ts +4 -0
- package/dist/types/components/xplor-date-picker/xplor-date-picker.d.ts +3 -0
- package/dist/types/components/xplor-drag-and-drop-input/xplor-drag-and-drop-input.d.ts +11 -0
- package/dist/types/components/xplor-inline-date-picker/xplor-inline-date-picker.d.ts +3 -0
- package/dist/types/components/xplor-input-file/xplor-input-file.d.ts +1 -0
- package/dist/types/components/xplor-input-search/xplor-input-search.d.ts +1 -0
- package/dist/types/components/xplor-input-select/xplor-input-select.d.ts +15 -0
- package/dist/types/components/xplor-input-text/xplor-input-text.d.ts +3 -0
- package/dist/types/components/xplor-input-text-area/xplor-input-text-area.d.ts +3 -0
- package/dist/types/components/xplor-input-text-secondary/xplor-input-text-secondary.d.ts +3 -0
- package/dist/types/components/xplor-input-title/xplor-input-title.d.ts +4 -0
- package/dist/types/components/xplor-links/xplor-links.d.ts +2 -0
- package/dist/types/components/xplor-modal/xplor-modal.d.ts +11 -0
- package/dist/types/components/xplor-nav-tabs/xplor-nav-tabs.d.ts +2 -0
- package/dist/types/components/xplor-radio-btn/xplor-radio-btn.d.ts +35 -0
- package/dist/types/components/xplor-section-heading/xplor-section-heading.d.ts +4 -0
- package/dist/types/components/xplor-tooltip/xplor-tooltip.d.ts +3 -0
- package/dist/types/components.d.ts +230 -2
- package/dist/xplor-component-library/p-0df9ea5d.entry.js +2 -0
- package/dist/xplor-component-library/p-0df9ea5d.entry.js.map +1 -0
- package/dist/xplor-component-library/{p-Zkk2NJif.js → p-KRfMjDC2.js} +3 -3
- package/dist/xplor-component-library/p-KRfMjDC2.js.map +1 -0
- package/dist/xplor-component-library/xplor-component-library.css +1 -1
- package/dist/xplor-component-library/xplor-component-library.esm.js +1 -1
- package/package.json +1 -1
- package/components/p-B1W2qj2l.js.map +0 -1
- package/components/p-CBSi5kQB.js.map +0 -1
- package/components/p-CTD6SyTD.js.map +0 -1
- package/components/p-Ddr35stE.js.map +0 -1
- package/components/p-x30CgLRv.js.map +0 -1
- package/dist/cjs/index-Bc5o_4vY.js.map +0 -1
- package/dist/cjs/xplor-alert-dialog_57.cjs.entry.js.map +0 -1
- package/dist/components/p-4l9DAhAo.js.map +0 -1
- package/dist/components/p-BHdeGt6k.js.map +0 -1
- package/dist/components/p-BIFlTsO8.js.map +0 -1
- package/dist/components/p-DIv_A5Gj.js.map +0 -1
- package/dist/components/p-DKh6y3GY.js.map +0 -1
- package/dist/esm/index-Zkk2NJif.js.map +0 -1
- package/dist/esm/xplor-alert-dialog_57.entry.js.map +0 -1
- package/dist/xplor-component-library/p-25fa8553.entry.js +0 -2
- package/dist/xplor-component-library/p-25fa8553.entry.js.map +0 -1
- package/dist/xplor-component-library/p-Zkk2NJif.js.map +0 -1
package/dist/hydrate/index.mjs
CHANGED
|
@@ -3296,6 +3296,7 @@ class XplorAlertDialog {
|
|
|
3296
3296
|
* Persistent mode - prevents closing on backdrop click
|
|
3297
3297
|
*/
|
|
3298
3298
|
this.persistent = true;
|
|
3299
|
+
this.previouslyFocusedElement = null;
|
|
3299
3300
|
this.handleBackdropClick = () => {
|
|
3300
3301
|
if (!this.persistent) {
|
|
3301
3302
|
this.closeDialog();
|
|
@@ -3313,20 +3314,75 @@ class XplorAlertDialog {
|
|
|
3313
3314
|
handleOpenChange(newValue) {
|
|
3314
3315
|
if (newValue) {
|
|
3315
3316
|
document.body.style.overflow = 'hidden';
|
|
3317
|
+
this.previouslyFocusedElement = document.activeElement;
|
|
3318
|
+
requestAnimationFrame(() => {
|
|
3319
|
+
this.setInitialFocus();
|
|
3320
|
+
});
|
|
3316
3321
|
}
|
|
3317
3322
|
else {
|
|
3318
3323
|
document.body.style.overflow = '';
|
|
3324
|
+
if (this.previouslyFocusedElement) {
|
|
3325
|
+
this.previouslyFocusedElement.focus();
|
|
3326
|
+
this.previouslyFocusedElement = null;
|
|
3327
|
+
}
|
|
3319
3328
|
}
|
|
3320
3329
|
}
|
|
3321
3330
|
disconnectedCallback() {
|
|
3322
3331
|
document.body.style.overflow = '';
|
|
3323
3332
|
}
|
|
3333
|
+
handleKeyDown(event) {
|
|
3334
|
+
if (!this.open)
|
|
3335
|
+
return;
|
|
3336
|
+
if (event.key === 'Escape' && !this.persistent) {
|
|
3337
|
+
event.preventDefault();
|
|
3338
|
+
this.closeDialog();
|
|
3339
|
+
return;
|
|
3340
|
+
}
|
|
3341
|
+
if (event.key === 'Tab') {
|
|
3342
|
+
this.trapFocus(event);
|
|
3343
|
+
}
|
|
3344
|
+
}
|
|
3345
|
+
getFocusableElements() {
|
|
3346
|
+
if (!this.dialogEl)
|
|
3347
|
+
return [];
|
|
3348
|
+
const selectors = 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
3349
|
+
return Array.from(this.dialogEl.querySelectorAll(selectors));
|
|
3350
|
+
}
|
|
3351
|
+
trapFocus(event) {
|
|
3352
|
+
const focusableElements = this.getFocusableElements();
|
|
3353
|
+
if (focusableElements.length === 0)
|
|
3354
|
+
return;
|
|
3355
|
+
const firstElement = focusableElements[0];
|
|
3356
|
+
const lastElement = focusableElements[focusableElements.length - 1];
|
|
3357
|
+
if (event.shiftKey) {
|
|
3358
|
+
if (document.activeElement === firstElement) {
|
|
3359
|
+
event.preventDefault();
|
|
3360
|
+
lastElement.focus();
|
|
3361
|
+
}
|
|
3362
|
+
}
|
|
3363
|
+
else {
|
|
3364
|
+
if (document.activeElement === lastElement) {
|
|
3365
|
+
event.preventDefault();
|
|
3366
|
+
firstElement.focus();
|
|
3367
|
+
}
|
|
3368
|
+
}
|
|
3369
|
+
}
|
|
3370
|
+
setInitialFocus() {
|
|
3371
|
+
const focusableElements = this.getFocusableElements();
|
|
3372
|
+
if (focusableElements.length > 0) {
|
|
3373
|
+
focusableElements[0].focus();
|
|
3374
|
+
}
|
|
3375
|
+
else if (this.dialogEl) {
|
|
3376
|
+
this.dialogEl.focus();
|
|
3377
|
+
}
|
|
3378
|
+
}
|
|
3324
3379
|
render() {
|
|
3325
3380
|
if (!this.open) {
|
|
3326
3381
|
return null;
|
|
3327
3382
|
}
|
|
3328
|
-
return (hAsync(Host, null, hAsync("div", { class: "xplor-alert-dialog__backdrop", onClick: this.handleBackdropClick }, hAsync("div", { class: "xplor-alert-dialog__card", style: { width: this.width }, onClick: this.handleCardClick }, hAsync("button", { type: "button", class: "xplor-alert-dialog__close-btn", onClick: this.closeDialog, "aria-label": "Close dialog" }, "\u2715"), hAsync("div", { class: "xplor-alert-dialog__title" }, hAsync("slot", { name: "title" })), hAsync("div", { class: "xplor-alert-dialog__text" }, hAsync("slot", { name: "text" })), hAsync("div", { class: "xplor-alert-dialog__actions" }, hAsync("slot", { name: "actions" }))))));
|
|
3383
|
+
return (hAsync(Host, null, hAsync("div", { class: "xplor-alert-dialog__backdrop", onClick: this.handleBackdropClick }, hAsync("div", { class: "xplor-alert-dialog__card", style: { width: this.width }, onClick: this.handleCardClick, role: "alertdialog", "aria-modal": "true", "aria-labelledby": this.ariaLabel ? undefined : 'xplor-alert-dialog-title', "aria-label": this.ariaLabel, "aria-describedby": "xplor-alert-dialog-text", tabindex: "-1", ref: (el) => (this.dialogEl = el) }, hAsync("button", { type: "button", class: "xplor-alert-dialog__close-btn", onClick: this.closeDialog, "aria-label": "Close dialog" }, "\u2715"), hAsync("div", { class: "xplor-alert-dialog__title", id: "xplor-alert-dialog-title" }, hAsync("slot", { name: "title" })), hAsync("div", { class: "xplor-alert-dialog__text", id: "xplor-alert-dialog-text" }, hAsync("slot", { name: "text" })), hAsync("div", { class: "xplor-alert-dialog__actions" }, hAsync("slot", { name: "actions" }))))));
|
|
3329
3384
|
}
|
|
3385
|
+
get el() { return getElement(this); }
|
|
3330
3386
|
static get watchers() { return {
|
|
3331
3387
|
"open": ["handleOpenChange"]
|
|
3332
3388
|
}; }
|
|
@@ -3337,9 +3393,10 @@ class XplorAlertDialog {
|
|
|
3337
3393
|
"$members$": {
|
|
3338
3394
|
"open": [1028],
|
|
3339
3395
|
"width": [1],
|
|
3340
|
-
"persistent": [4]
|
|
3396
|
+
"persistent": [4],
|
|
3397
|
+
"ariaLabel": [1, "aria-label"]
|
|
3341
3398
|
},
|
|
3342
|
-
"$listeners$":
|
|
3399
|
+
"$listeners$": [[0, "keydown", "handleKeyDown"]],
|
|
3343
3400
|
"$lazyBundleId$": "-",
|
|
3344
3401
|
"$attrsToReflect$": []
|
|
3345
3402
|
}; }
|
|
@@ -3816,10 +3873,10 @@ const AssistantInput = (props) => {
|
|
|
3816
3873
|
enableVoiceInput && (hAsync("button", { type: "button", class: {
|
|
3817
3874
|
'xplor-assistant__voice-button': true,
|
|
3818
3875
|
'xplor-assistant__voice-button--listening': isListening,
|
|
3819
|
-
}, onClick: handleVoiceClick, disabled: disabled || isLoading, title: isListening ? 'Stop listening' : 'Start voice input' },
|
|
3876
|
+
}, onClick: handleVoiceClick, disabled: disabled || isLoading, title: isListening ? 'Stop listening' : 'Start voice input', "aria-label": "Voice input" },
|
|
3820
3877
|
hAsync("span", { class: "xplor-assistant__voice-icon", innerHTML: microphoneIcon }))),
|
|
3821
3878
|
hAsync("input", { type: "text", class: "xplor-assistant__input", placeholder: placeholder, value: inputValue, onInput: handleInputChange, disabled: disabled || isLoading }),
|
|
3822
|
-
hAsync("button", { type: "submit", class: "xplor-assistant__send-button", disabled: isSendDisabled, title: "Send message" },
|
|
3879
|
+
hAsync("button", { type: "submit", class: "xplor-assistant__send-button", disabled: isSendDisabled, title: "Send message", "aria-label": "Send message" },
|
|
3823
3880
|
hAsync("span", { class: "xplor-assistant__send-icon", innerHTML: sendIcon })))));
|
|
3824
3881
|
};
|
|
3825
3882
|
|
|
@@ -4081,7 +4138,7 @@ class XplorAssistant {
|
|
|
4081
4138
|
return (hAsync(Host, null, hAsync("div", { class: {
|
|
4082
4139
|
'xplor-assistant': true,
|
|
4083
4140
|
'xplor-assistant--disabled': this.disabled,
|
|
4084
|
-
}, style: { maxHeight: this.maxHeight } }, hAsync("div", { class: "xplor-assistant__messages", ref: (el) => (this.messagesContainerRef = el) }, this.messages.map((message) => (hAsync(AssistantMessage, { message: message, enableTextToSpeech: this.enableTextToSpeech, autoSpeak: false, isSpeaking: this.isSpeaking, onSpeak: this.handleSpeak, onStopSpeaking: this.handleStopSpeaking }))), this.isLoading && (hAsync("div", { class: "xplor-assistant__message xplor-assistant__message--assistant" }, hAsync(TypingIndicator, null))), this.error && this.apiEndpoint && (hAsync("div", { class: "xplor-assistant__error-banner" }, this.error))), this.quickReplies && this.quickReplies.length > 0 && (hAsync(QuickReplies, { replies: this.quickReplies, disabled: this.disabled || this.isLoading, onReplyClick: this.handleQuickReply })), hAsync(AssistantInput, { placeholder: this.placeholder, disabled: this.disabled, isLoading: this.isLoading, enableVoiceInput: this.enableVoiceInput && this.hasVoiceSupport, isListening: this.isListening, onSendMessage: this.handleSendMessage, onStartListening: this.handleStartListening, onStopListening: this.handleStopListening, inputValue: this.inputValue, setInputValue: this.setInputValue }))));
|
|
4141
|
+
}, style: { maxHeight: this.maxHeight } }, hAsync("div", { class: "xplor-assistant__messages", ref: (el) => (this.messagesContainerRef = el), role: "log", "aria-live": "polite", "aria-busy": this.isLoading ? 'true' : 'false' }, this.messages.map((message) => (hAsync(AssistantMessage, { message: message, enableTextToSpeech: this.enableTextToSpeech, autoSpeak: false, isSpeaking: this.isSpeaking, onSpeak: this.handleSpeak, onStopSpeaking: this.handleStopSpeaking }))), this.isLoading && (hAsync("div", { class: "xplor-assistant__message xplor-assistant__message--assistant" }, hAsync(TypingIndicator, null))), this.error && this.apiEndpoint && (hAsync("div", { class: "xplor-assistant__error-banner" }, this.error))), this.quickReplies && this.quickReplies.length > 0 && (hAsync(QuickReplies, { replies: this.quickReplies, disabled: this.disabled || this.isLoading, onReplyClick: this.handleQuickReply })), hAsync(AssistantInput, { placeholder: this.placeholder, disabled: this.disabled, isLoading: this.isLoading, enableVoiceInput: this.enableVoiceInput && this.hasVoiceSupport, isListening: this.isListening, onSendMessage: this.handleSendMessage, onStartListening: this.handleStartListening, onStopListening: this.handleStopListening, inputValue: this.inputValue, setInputValue: this.setInputValue }))));
|
|
4085
4142
|
}
|
|
4086
4143
|
get el() { return getElement(this); }
|
|
4087
4144
|
static get watchers() { return {
|
|
@@ -4325,25 +4382,30 @@ class XplorAutocomplete {
|
|
|
4325
4382
|
}
|
|
4326
4383
|
render() {
|
|
4327
4384
|
const hasValue = this.multiple ? this.selectedItems.length > 0 : this.value !== null && this.searchQuery !== '';
|
|
4328
|
-
|
|
4385
|
+
const listboxId = 'autocomplete-listbox';
|
|
4386
|
+
const labelId = 'autocomplete-label';
|
|
4387
|
+
const activeDescendantId = this.highlightedIndex >= 0 ? `autocomplete-option-${this.highlightedIndex}` : undefined;
|
|
4388
|
+
return (hAsync(Host, { key: 'f76ac5f9d1cd6e6c9618ac3884bc86a2bfabb3c5' }, hAsync("div", { key: 'efd2bd854c305c56971b5d6e19a5b9eb497099f8', class: {
|
|
4329
4389
|
'autocomplete': true,
|
|
4330
4390
|
'autocomplete--disabled': this.disabled,
|
|
4331
4391
|
'autocomplete--readonly': this.readonly,
|
|
4332
4392
|
'autocomplete--open': this.isOpen,
|
|
4333
|
-
} }, this.label && (hAsync("label", { key: '
|
|
4393
|
+
} }, this.label && (hAsync("label", { key: '97bb161105b66181558d22519c9f0cd1287b2c49', class: "autocomplete__label", id: labelId }, this.label)), hAsync("div", { key: '128acf53793205be89a8d619ce548107aaed8b28', class: "autocomplete__input-wrapper" }, this.multiple && this.selectedItems.length > 0 && (hAsync("div", { key: '670da50897139688951c077db4b6116b88bfadfa', class: "autocomplete__chips" }, this.selectedItems.map(value => {
|
|
4334
4394
|
const item = this.findItemByValue(value);
|
|
4335
|
-
|
|
4336
|
-
|
|
4395
|
+
const chipLabel = this.getSelectedItemLabel(value);
|
|
4396
|
+
return (hAsync("div", { class: "autocomplete__chip" }, hAsync("span", { class: "autocomplete__chip-label" }, this.renderSelection && item ? this.renderSelection(item) : chipLabel), hAsync("button", { type: "button", class: "autocomplete__chip-remove", onClick: () => this.removeItem(value), disabled: this.disabled || this.readonly, "aria-label": `Remove ${chipLabel}` }, "\u00D7")));
|
|
4397
|
+
}))), hAsync("input", { key: '25e9e5111726cd720ab88a4a5ae25f84b48eee1e', ref: (el) => (this.inputEl = el), type: "text", class: "autocomplete__input", placeholder: this.placeholder, value: this.searchQuery, onFocus: this.handleInputFocus, onInput: this.handleInputChange, onKeyDown: this.handleInputKeyDown, disabled: this.disabled, readonly: this.readonly, autocomplete: "off", role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": this.isOpen ? listboxId : undefined, "aria-activedescendant": activeDescendantId, "aria-labelledby": this.label ? labelId : undefined, "aria-label": !this.label ? (this.ariaLabel || this.placeholder) : undefined, "aria-autocomplete": "list" }), hAsync("div", { key: '5128b893c4743a49439a279b0cb7094077ebd528', class: "autocomplete__actions" }, this.clearable && hasValue && !this.disabled && !this.readonly && (hAsync("button", { key: '512d7956e79d9767e072462f1ec309b081716c86', type: "button", class: "autocomplete__clear", onClick: this.handleClear, "aria-label": "Clear selection" }, "\u00D7")), hAsync("span", { key: 'e0cfba3c1513b63f9697835ad6919d045c7011db', class: "autocomplete__icon", "aria-hidden": "true" }, "\u25BC"))), this.isOpen && this.filteredItems.length > 0 && (hAsync("div", { key: '9c100abedb5ee252df82994722c0da9d5787d1bf', class: "autocomplete__dropdown", ref: (el) => (this.dropdownEl = el), style: { maxWidth: this.menuMaxWidth }, role: "listbox", id: listboxId, "aria-label": this.label || this.ariaLabel || 'Suggestions' }, this.filteredItems.map((item, index) => {
|
|
4337
4398
|
const itemVal = this.getItemValue(item);
|
|
4338
|
-
|
|
4399
|
+
const isSelected = this.multiple
|
|
4400
|
+
? this.selectedItems.includes(itemVal)
|
|
4401
|
+
: this.value === itemVal;
|
|
4402
|
+
return (hAsync("div", { key: itemVal, id: `autocomplete-option-${index}`, "data-index": index, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": item.disabled ? 'true' : undefined, class: {
|
|
4339
4403
|
'autocomplete__item': true,
|
|
4340
4404
|
'autocomplete__item--highlighted': index === this.highlightedIndex,
|
|
4341
|
-
'autocomplete__item--selected':
|
|
4342
|
-
? this.selectedItems.includes(itemVal)
|
|
4343
|
-
: this.value === itemVal,
|
|
4405
|
+
'autocomplete__item--selected': isSelected,
|
|
4344
4406
|
'autocomplete__item--disabled': item.disabled,
|
|
4345
4407
|
}, onClick: () => this.selectItem(item) }, this.renderItem ? this.renderItem(item) : this.getItemText(item)));
|
|
4346
|
-
}))), this.isOpen && this.filteredItems.length === 0 && (hAsync("div", { key: '
|
|
4408
|
+
}))), this.isOpen && this.filteredItems.length === 0 && (hAsync("div", { key: '329f92d7f4bf36bb114909853e249978412ae82f', class: "autocomplete__dropdown", style: { maxWidth: this.menuMaxWidth }, role: "listbox", id: listboxId }, hAsync("div", { key: '400e97f955724f59830fb37b52d99c3723627e51', class: "autocomplete__no-results", role: "option", "aria-disabled": "true" }, "No results found"))))));
|
|
4347
4409
|
}
|
|
4348
4410
|
get el() { return getElement(this); }
|
|
4349
4411
|
static get style() { return xplorAutocompleteCss; }
|
|
@@ -4355,6 +4417,7 @@ class XplorAutocomplete {
|
|
|
4355
4417
|
"value": [1032],
|
|
4356
4418
|
"placeholder": [1],
|
|
4357
4419
|
"label": [1],
|
|
4420
|
+
"ariaLabel": [1, "aria-label"],
|
|
4358
4421
|
"disabled": [4],
|
|
4359
4422
|
"readonly": [4],
|
|
4360
4423
|
"clearable": [4],
|
|
@@ -4391,8 +4454,8 @@ class XplorAvatar {
|
|
|
4391
4454
|
className += ` xpl-avatar--${this.size}`;
|
|
4392
4455
|
if (this.color)
|
|
4393
4456
|
className += ` xpl-avatar--${this.color}`;
|
|
4394
|
-
const inner = (hAsync("div", { key: '2e2722f2649108b7fdc3fd51375e17ac47e6f1ff' }, this.src ? (hAsync("img", { alt: this.name, src: this.src })) : (hAsync("div", { class: "xpl-avatar__placeholder" }, hAsync("slot", null))), this.status && hAsync("div", { key: '
|
|
4395
|
-
return (hAsync(Host, { key: '
|
|
4457
|
+
const inner = (hAsync("div", { key: '2e2722f2649108b7fdc3fd51375e17ac47e6f1ff' }, this.src ? (hAsync("img", { alt: this.name, src: this.src })) : (hAsync("div", { class: "xpl-avatar__placeholder" }, hAsync("slot", null))), this.status && hAsync("div", { key: '26fa57a9a697a110ef73434376715eda0e5134a5', class: `xpl-avatar__dot--${this.status}`, "aria-label": `Status: ${this.status}`, role: "img" })));
|
|
4458
|
+
return (hAsync(Host, { key: '9c99cec20679f0d10fbcf9dffc70877c0dc879f9' }, this.href && !this.disabled ? (hAsync("a", { href: this.href, class: className, target: this.target }, inner)) : this.href && this.disabled ? (hAsync("div", { class: className + ' xpl-avatar--disabled' }, inner)) : (hAsync("div", { class: className }, inner))));
|
|
4396
4459
|
}
|
|
4397
4460
|
static get style() { return xplorAvatarCss; }
|
|
4398
4461
|
static get cmpMeta() { return {
|
|
@@ -4869,6 +4932,10 @@ class XplorBtnBackToParent {
|
|
|
4869
4932
|
* Visual variant
|
|
4870
4933
|
*/
|
|
4871
4934
|
this.variant = 'tonal';
|
|
4935
|
+
/**
|
|
4936
|
+
* Accessible label for the button
|
|
4937
|
+
*/
|
|
4938
|
+
this.ariaLabel = 'Back to parent';
|
|
4872
4939
|
this.handleClick = () => {
|
|
4873
4940
|
this.back.emit();
|
|
4874
4941
|
};
|
|
@@ -4881,7 +4948,7 @@ class XplorBtnBackToParent {
|
|
|
4881
4948
|
const buttonStyles = {
|
|
4882
4949
|
'--btn-size': this.size,
|
|
4883
4950
|
};
|
|
4884
|
-
return (hAsync(Host, { key: '
|
|
4951
|
+
return (hAsync(Host, { key: '0962b04ae634f044dd3e7c1eacf42b7d2c8e0f1e' }, hAsync("button", { key: '82cb8fa3218a17784a0ab360d328b68f2c0e6e81', class: buttonClasses, style: buttonStyles, onClick: this.handleClick, "aria-label": this.ariaLabel }, hAsync("span", { key: '784853baa5b013fc85a07054e446e6166eab7068', class: "xplor-btn-back-to-parent__icon" }, "\u2715"))));
|
|
4885
4952
|
}
|
|
4886
4953
|
static get style() { return xplorBtnBackToParentCss; }
|
|
4887
4954
|
static get cmpMeta() { return {
|
|
@@ -4892,7 +4959,8 @@ class XplorBtnBackToParent {
|
|
|
4892
4959
|
"inline": [4],
|
|
4893
4960
|
"bgColor": [1, "bg-color"],
|
|
4894
4961
|
"color": [1],
|
|
4895
|
-
"variant": [1]
|
|
4962
|
+
"variant": [1],
|
|
4963
|
+
"ariaLabel": [1, "aria-label"]
|
|
4896
4964
|
},
|
|
4897
4965
|
"$listeners$": undefined,
|
|
4898
4966
|
"$lazyBundleId$": "-",
|
|
@@ -4943,7 +5011,7 @@ class XplorBtnIcon {
|
|
|
4943
5011
|
'--btn-size': typeof this.size === 'number' ? `${this.size}px` : this.size,
|
|
4944
5012
|
'--icon-size': typeof this.iconSize === 'number' ? `${this.iconSize}px` : this.iconSize,
|
|
4945
5013
|
};
|
|
4946
|
-
return (hAsync(Host, { key: '
|
|
5014
|
+
return (hAsync(Host, { key: '9d87aab5e3af33201c71dffeab51a5a02cc61e98' }, hAsync("button", { key: 'c30b8c4aa51a957c84e7fff3d72e01961dec911c', class: buttonClasses, style: buttonStyles, disabled: this.disabled, onClick: this.handleClick, "aria-label": this.ariaLabel }, hAsync("span", { key: '99773527f599523638ce8463fe308826f01202cf', class: "xplor-btn-icon__content" }, hAsync("slot", { key: '14e1356bcecd1d2b8768cddbaf257f49bf92e5a7' })))));
|
|
4947
5015
|
}
|
|
4948
5016
|
static get style() { return xplorBtnIconCss; }
|
|
4949
5017
|
static get cmpMeta() { return {
|
|
@@ -4954,7 +5022,8 @@ class XplorBtnIcon {
|
|
|
4954
5022
|
"size": [8],
|
|
4955
5023
|
"iconSize": [8, "icon-size"],
|
|
4956
5024
|
"variant": [1],
|
|
4957
|
-
"disabled": [4]
|
|
5025
|
+
"disabled": [4],
|
|
5026
|
+
"ariaLabel": [1, "aria-label"]
|
|
4958
5027
|
},
|
|
4959
5028
|
"$listeners$": undefined,
|
|
4960
5029
|
"$lazyBundleId$": "-",
|
|
@@ -4996,6 +5065,10 @@ class XplorBtnMenu {
|
|
|
4996
5065
|
* Whether the menu is open
|
|
4997
5066
|
*/
|
|
4998
5067
|
this.show = false;
|
|
5068
|
+
/**
|
|
5069
|
+
* Index of the currently focused menu item for keyboard navigation
|
|
5070
|
+
*/
|
|
5071
|
+
this.focusedIndex = -1;
|
|
4999
5072
|
this.handleOutsideClick = (event) => {
|
|
5000
5073
|
if (this.menuRef && !this.menuRef.contains(event.target)) {
|
|
5001
5074
|
this.show = false;
|
|
@@ -5003,10 +5076,16 @@ class XplorBtnMenu {
|
|
|
5003
5076
|
};
|
|
5004
5077
|
this.toggleMenu = () => {
|
|
5005
5078
|
this.show = !this.show;
|
|
5079
|
+
if (!this.show) {
|
|
5080
|
+
this.focusedIndex = -1;
|
|
5081
|
+
}
|
|
5006
5082
|
};
|
|
5007
5083
|
this.handleClickOption = (option) => {
|
|
5084
|
+
var _a;
|
|
5008
5085
|
this.xplorClick.emit(option);
|
|
5009
5086
|
this.show = false;
|
|
5087
|
+
this.focusedIndex = -1;
|
|
5088
|
+
(_a = this.triggerBtnRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
5010
5089
|
};
|
|
5011
5090
|
this.isHidden = (key) => {
|
|
5012
5091
|
return key !== null && this.hiddenKeys.includes(key);
|
|
@@ -5021,32 +5100,119 @@ class XplorBtnMenu {
|
|
|
5021
5100
|
disconnectedCallback() {
|
|
5022
5101
|
document.removeEventListener('click', this.handleOutsideClick);
|
|
5023
5102
|
}
|
|
5103
|
+
/**
|
|
5104
|
+
* Returns the list of visible (non-hidden) options for keyboard navigation
|
|
5105
|
+
*/
|
|
5106
|
+
getVisibleOptions() {
|
|
5107
|
+
return this.options
|
|
5108
|
+
.map((option, index) => ({ option, key: option.key || String(index) }))
|
|
5109
|
+
.filter(({ key }) => !this.isHidden(key));
|
|
5110
|
+
}
|
|
5111
|
+
/**
|
|
5112
|
+
* Focuses the menu item at the given index in the visible options list
|
|
5113
|
+
*/
|
|
5114
|
+
focusMenuItem(index) {
|
|
5115
|
+
if (this.menuRef) {
|
|
5116
|
+
const items = this.menuRef.querySelectorAll('[role="menuitem"]');
|
|
5117
|
+
if (items[index]) {
|
|
5118
|
+
items[index].focus();
|
|
5119
|
+
}
|
|
5120
|
+
}
|
|
5121
|
+
}
|
|
5122
|
+
handleKeyDown(event) {
|
|
5123
|
+
var _a, _b;
|
|
5124
|
+
if (!this.show && (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ')) {
|
|
5125
|
+
const target = event.target;
|
|
5126
|
+
if (target === this.triggerBtnRef || ((_a = this.el.querySelector('[slot="activator"]')) === null || _a === void 0 ? void 0 : _a.contains(target))) {
|
|
5127
|
+
if (event.key === 'ArrowDown') {
|
|
5128
|
+
event.preventDefault();
|
|
5129
|
+
this.show = true;
|
|
5130
|
+
this.focusedIndex = 0;
|
|
5131
|
+
requestAnimationFrame(() => this.focusMenuItem(0));
|
|
5132
|
+
}
|
|
5133
|
+
}
|
|
5134
|
+
return;
|
|
5135
|
+
}
|
|
5136
|
+
if (!this.show)
|
|
5137
|
+
return;
|
|
5138
|
+
const visibleOptions = this.getVisibleOptions();
|
|
5139
|
+
const totalVisible = visibleOptions.length;
|
|
5140
|
+
switch (event.key) {
|
|
5141
|
+
case 'ArrowDown':
|
|
5142
|
+
event.preventDefault();
|
|
5143
|
+
this.focusedIndex = this.focusedIndex < totalVisible - 1 ? this.focusedIndex + 1 : 0;
|
|
5144
|
+
this.focusMenuItem(this.focusedIndex);
|
|
5145
|
+
break;
|
|
5146
|
+
case 'ArrowUp':
|
|
5147
|
+
event.preventDefault();
|
|
5148
|
+
this.focusedIndex = this.focusedIndex > 0 ? this.focusedIndex - 1 : totalVisible - 1;
|
|
5149
|
+
this.focusMenuItem(this.focusedIndex);
|
|
5150
|
+
break;
|
|
5151
|
+
case 'Escape':
|
|
5152
|
+
event.preventDefault();
|
|
5153
|
+
this.show = false;
|
|
5154
|
+
this.focusedIndex = -1;
|
|
5155
|
+
(_b = this.triggerBtnRef) === null || _b === void 0 ? void 0 : _b.focus();
|
|
5156
|
+
break;
|
|
5157
|
+
case 'Enter':
|
|
5158
|
+
case ' ':
|
|
5159
|
+
event.preventDefault();
|
|
5160
|
+
if (this.focusedIndex >= 0 && this.focusedIndex < totalVisible) {
|
|
5161
|
+
const { option, key } = visibleOptions[this.focusedIndex];
|
|
5162
|
+
if (!this.isDisabled(key)) {
|
|
5163
|
+
this.handleClickOption(option);
|
|
5164
|
+
}
|
|
5165
|
+
}
|
|
5166
|
+
break;
|
|
5167
|
+
case 'Home':
|
|
5168
|
+
event.preventDefault();
|
|
5169
|
+
this.focusedIndex = 0;
|
|
5170
|
+
this.focusMenuItem(this.focusedIndex);
|
|
5171
|
+
break;
|
|
5172
|
+
case 'End':
|
|
5173
|
+
event.preventDefault();
|
|
5174
|
+
this.focusedIndex = totalVisible - 1;
|
|
5175
|
+
this.focusMenuItem(this.focusedIndex);
|
|
5176
|
+
break;
|
|
5177
|
+
case 'Tab':
|
|
5178
|
+
this.show = false;
|
|
5179
|
+
this.focusedIndex = -1;
|
|
5180
|
+
break;
|
|
5181
|
+
}
|
|
5182
|
+
}
|
|
5024
5183
|
render() {
|
|
5025
|
-
|
|
5184
|
+
const menuId = 'xplor-btn-menu-list';
|
|
5185
|
+
let visibleIndex = 0;
|
|
5186
|
+
return (hAsync(Host, { key: '20b1a4d54b992d5ea4b1a4cd8fbaa5699b1bc6ab' }, hAsync("div", { key: 'e23725f6fa432e19b59a3c0809706df45df02def', class: "xplor-btn-menu", ref: (el) => (this.menuRef = el) }, hAsync("slot", { key: 'ed385faab26b9a1bf83ed583261b0d22744a5b10', name: "activator" }, hAsync("button", { key: 'f0539b0092489e356b087cddd67bfb84cb31acf8', ref: (el) => (this.triggerBtnRef = el), class: "xplor-btn-menu__button", onClick: this.toggleMenu, "aria-haspopup": "menu", "aria-expanded": this.show ? 'true' : 'false', "aria-controls": this.show ? menuId : undefined, "aria-label": this.ariaLabel || this.label || 'Menu' }, hAsync("span", { key: 'b1126eb8ffc12a89b3dd1a83afd5f644226496ee' }, this.label), hAsync("span", { key: 'f9053a73065841d35278612e8f9d5345b3e1daf4', class: "xplor-btn-menu__icon", "aria-hidden": "true" }, "\u25BC"))), this.show && (hAsync("div", { key: '7b294e8b3702051c2adc317736d9bb3085137f27', class: "xplor-btn-menu__list", role: "menu", id: menuId, "aria-label": this.ariaLabel || this.label || 'Menu' }, this.options.map((option, index) => {
|
|
5026
5187
|
const key = option.key || String(index);
|
|
5027
5188
|
if (this.isHidden(key)) {
|
|
5028
5189
|
return null;
|
|
5029
5190
|
}
|
|
5030
|
-
|
|
5191
|
+
const disabled = this.isDisabled(key);
|
|
5192
|
+
const currentVisibleIndex = visibleIndex++;
|
|
5193
|
+
return (hAsync("div", { key: key, role: "menuitem", tabindex: currentVisibleIndex === this.focusedIndex ? 0 : -1, "aria-disabled": disabled ? 'true' : undefined, class: {
|
|
5031
5194
|
'xplor-btn-menu__item': true,
|
|
5032
|
-
'xplor-btn-menu__item--disabled':
|
|
5033
|
-
}, onClick: () => !
|
|
5195
|
+
'xplor-btn-menu__item--disabled': disabled,
|
|
5196
|
+
}, onClick: () => !disabled && this.handleClickOption(option) }, hAsync("slot", { name: key }, option.label || '')));
|
|
5034
5197
|
}))))));
|
|
5035
5198
|
}
|
|
5199
|
+
get el() { return getElement(this); }
|
|
5036
5200
|
static get style() { return xplorBtnMenuCss; }
|
|
5037
5201
|
static get cmpMeta() { return {
|
|
5038
5202
|
"$flags$": 6,
|
|
5039
5203
|
"$tagName$": "xplor-btn-menu",
|
|
5040
5204
|
"$members$": {
|
|
5205
|
+
"ariaLabel": [1, "aria-label"],
|
|
5041
5206
|
"label": [1],
|
|
5042
5207
|
"options": [16],
|
|
5043
5208
|
"hiddenKeys": [16, "hidden-keys"],
|
|
5044
5209
|
"disabledKeys": [16, "disabled-keys"],
|
|
5045
5210
|
"color": [1],
|
|
5046
5211
|
"density": [1],
|
|
5047
|
-
"show": [32]
|
|
5212
|
+
"show": [32],
|
|
5213
|
+
"focusedIndex": [32]
|
|
5048
5214
|
},
|
|
5049
|
-
"$listeners$":
|
|
5215
|
+
"$listeners$": [[0, "keydown", "handleKeyDown"]],
|
|
5050
5216
|
"$lazyBundleId$": "-",
|
|
5051
5217
|
"$attrsToReflect$": []
|
|
5052
5218
|
}; }
|
|
@@ -5224,6 +5390,8 @@ class XplorButton {
|
|
|
5224
5390
|
registerInstance(this, hostRef);
|
|
5225
5391
|
this.type = 'secondary';
|
|
5226
5392
|
this.mode = 'pg'; // 'dark', 'pg', 'office' (default: 'dark')
|
|
5393
|
+
/** Whether the button is disabled */
|
|
5394
|
+
this.disabled = false;
|
|
5227
5395
|
/**
|
|
5228
5396
|
* Icon to display (defaults to plus sign)
|
|
5229
5397
|
*/
|
|
@@ -5238,7 +5406,7 @@ class XplorButton {
|
|
|
5238
5406
|
render() {
|
|
5239
5407
|
const isIconOnly = !this.text && this.iconPosition !== null;
|
|
5240
5408
|
const hasIcon = this.iconPosition !== null;
|
|
5241
|
-
return (hAsync(Host, { key: '
|
|
5409
|
+
return (hAsync(Host, { key: '193c8139b43bdbaf108bf09d220b20d746f72cd7' }, hAsync("slot", { key: '61b731d8173a15bcd76fbbf16f0d1d97cbab6e34' }, hAsync("button", { key: '04486cbf547798161e7756a5999898bc46b298b5', role: "button", class: Object.assign({ 'x-button': true, [this.type]: true, 'shadow': this.type !== 'minimal' && this.type !== 'text', 'x-button--icon-only': isIconOnly, 'x-button--with-icon': hasIcon && !isIconOnly, 'x-button--icon-start': this.iconPosition === 'start' && !isIconOnly, 'x-button--icon-end': this.iconPosition === 'end' && !isIconOnly }, (this.styles ? { [this.styles]: true } : {})), onClick: () => this.clickAction && this.clickAction(), "aria-label": this.ariaLabel, "aria-disabled": this.disabled ? 'true' : null, disabled: this.disabled }, hasIcon && this.iconPosition === 'start' && this.renderIcon(), this.text && hAsync("span", { key: '07e204d356d830444e1b26979be6f1f3926ba551', class: "button-text" }, this.text), hasIcon && this.iconPosition === 'end' && this.renderIcon()))));
|
|
5242
5410
|
}
|
|
5243
5411
|
static get style() { return xplorButtonCss; }
|
|
5244
5412
|
static get cmpMeta() { return {
|
|
@@ -5251,6 +5419,8 @@ class XplorButton {
|
|
|
5251
5419
|
"size": [1],
|
|
5252
5420
|
"styles": [1],
|
|
5253
5421
|
"clickAction": [16, "click-action"],
|
|
5422
|
+
"ariaLabel": [1, "aria-label"],
|
|
5423
|
+
"disabled": [4],
|
|
5254
5424
|
"iconPosition": [1, "icon-position"],
|
|
5255
5425
|
"icon": [1],
|
|
5256
5426
|
"iconSvg": [1, "icon-svg"]
|
|
@@ -5339,10 +5509,12 @@ class XplorChatWidget {
|
|
|
5339
5509
|
|
|
5340
5510
|
const xplorCheckboxCss = "/* on mobile browsers, I set a width of 100% */\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n /* html[data-theme='office'] {\n --color-primary: rgb(219, 59, 3);\n --color-secondary: rgb(0, 119, 107);\n --color-buttons: #89da59;\n --color-typography: #ff320e;\n }\n\n html {\n --color-primary: #db3b03;\n --color-primary-50: #db3b03;\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgb(0, 119, 107);\n --color-tertiary: rgb(128, 104, 186);\n } */\n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n /* Fallback */\n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n /* Fallback */\n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n/* on large screens, I use a different layout, so 600px are sufficient */\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce {\n width: 600px !important;\n }\n}\nh1 {\n color: var(--color-primary);\n /* Header/H1 */\n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; /* 116.667% */\n}\n\nh2 {\n color: var(--grey-1100252525, #252525);\n /* Header/H2 Bold */\n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; /* 118.75% */\n letter-spacing: 0.25px;\n}\n\nh3 {\n color: var(--grey-1100252525, #252525);\n /* Header/H3 */\n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; /* 133.333% */\n}\n\n.overline {\n color: var(--grey-1100252525, #252525);\n /* Overline/Regular */\n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; /* 133.333% */\n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol,\nul {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol li,\nul li {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list,\nul.mdc-list {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list li.mdc-list-item,\nul.mdc-list li.mdc-list-item {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label {\n color: var(--Orange-900-Primary, #db3b03);\n /* Caption 1/Regular */\n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; /* 133.333% */\n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg {\n background-color: #fefcfb;\n}\n\n#spinnerLoader {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label {\n background-color: white;\n}\n\n.mdc-ripple-upgraded .mdc-text-field--outlined .mdc-notched-outline__notch {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused .mdc-notched-outline__notch {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n/* custom-checkbox.scss */\n:host {\n display: inline-block;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n}\n\n.checkbox-wrapper {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.checkbox {\n width: 20px;\n height: 20px;\n border-radius: 4px;\n border: 2px solid #6b7280;\n background: white;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.15s ease;\n outline: none;\n position: relative;\n}\n.checkbox.hover {\n background: #d1fae5;\n border-color: #059669;\n}\n.checkbox.focus {\n background: #a7f3d0;\n border-color: #059669;\n box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);\n}\n.checkbox.pressed {\n background: #6ee7b7;\n border-color: #059669;\n}\n.checkbox.checked {\n background: #059669;\n border-color: #059669;\n}\n.checkbox.checked.hover {\n background: #d1fae5;\n border-color: #059669;\n}\n.checkbox.checked.hover .check-icon {\n color: #059669;\n}\n.checkbox.checked.focus {\n background: #a7f3d0;\n border-color: #059669;\n box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);\n}\n.checkbox.checked.focus .check-icon {\n color: #059669;\n}\n.checkbox.checked.pressed {\n background: #6ee7b7;\n border-color: #059669;\n}\n.checkbox.checked.pressed .check-icon {\n color: #059669;\n}\n.checkbox.indeterminate {\n background: #059669;\n border-color: #059669;\n}\n.checkbox.indeterminate.hover {\n background: #d1fae5;\n border-color: #059669;\n}\n.checkbox.indeterminate.hover .indeterminate-icon {\n color: #059669;\n}\n.checkbox.indeterminate.focus {\n background: #a7f3d0;\n border-color: #059669;\n box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);\n}\n.checkbox.indeterminate.focus .indeterminate-icon {\n color: #059669;\n}\n.checkbox.indeterminate.pressed {\n background: #6ee7b7;\n border-color: #059669;\n}\n.checkbox.indeterminate.pressed .indeterminate-icon {\n color: #059669;\n}\n.checkbox.error {\n border-color: #ef4444;\n}\n.checkbox.error.hover {\n background: #fee2e2;\n border-color: #ef4444;\n}\n.checkbox.error.focus {\n background: #fecaca;\n border-color: #ef4444;\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n}\n.checkbox.error.pressed {\n background: #fca5a5;\n border-color: #ef4444;\n}\n.checkbox.error.checked {\n background: #ef4444;\n border-color: #ef4444;\n}\n.checkbox.error.checked.hover {\n background: #fee2e2;\n border-color: #ef4444;\n}\n.checkbox.error.checked.hover .check-icon {\n color: #ef4444;\n}\n.checkbox.error.checked.focus {\n background: #fecaca;\n border-color: #ef4444;\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n}\n.checkbox.error.checked.focus .check-icon {\n color: #ef4444;\n}\n.checkbox.error.checked.pressed {\n background: #fca5a5;\n border-color: #ef4444;\n}\n.checkbox.error.checked.pressed .check-icon {\n color: #ef4444;\n}\n.checkbox.error.indeterminate {\n background: #ef4444;\n border-color: #ef4444;\n}\n.checkbox.error.indeterminate.hover {\n background: #fee2e2;\n border-color: #ef4444;\n}\n.checkbox.error.indeterminate.hover .indeterminate-icon {\n color: #ef4444;\n}\n.checkbox.error.indeterminate.focus {\n background: #fecaca;\n border-color: #ef4444;\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n}\n.checkbox.error.indeterminate.focus .indeterminate-icon {\n color: #ef4444;\n}\n.checkbox.error.indeterminate.pressed {\n background: #fca5a5;\n border-color: #ef4444;\n}\n.checkbox.error.indeterminate.pressed .indeterminate-icon {\n color: #ef4444;\n}\n.checkbox.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n border-color: #d1d5db;\n background: white;\n}\n.checkbox.disabled.checked, .checkbox.disabled.indeterminate {\n background: #d1d5db;\n border-color: #d1d5db;\n}\n\n.check-icon,\n.indeterminate-icon {\n width: 16px;\n height: 16px;\n color: white;\n}\n\n.label {\n font-size: 14px;\n color: #374151;\n user-select: none;\n}\n.checkbox.disabled ~ .label {\n opacity: 0.4;\n}";
|
|
5341
5511
|
|
|
5512
|
+
let checkboxIdCounter = 0;
|
|
5342
5513
|
class XplorCheckbox {
|
|
5343
5514
|
constructor(hostRef) {
|
|
5344
5515
|
registerInstance(this, hostRef);
|
|
5345
5516
|
this.checkboxChange = createEvent(this, "checkboxChange");
|
|
5517
|
+
this.labelId = `xplor-checkbox-label-${++checkboxIdCounter}`;
|
|
5346
5518
|
this.initialChecked = false;
|
|
5347
5519
|
this.initialIndeterminate = false;
|
|
5348
5520
|
this.disabled = false;
|
|
@@ -5414,7 +5586,7 @@ class XplorCheckbox {
|
|
|
5414
5586
|
this.indeterminate = this.initialIndeterminate;
|
|
5415
5587
|
}
|
|
5416
5588
|
render() {
|
|
5417
|
-
return (hAsync("div", { key: '
|
|
5589
|
+
return (hAsync("div", { key: '02d3efb24ac53caa742721720ec6d212eb159a55', class: "checkbox-wrapper" }, hAsync("div", { key: '1d1024d0dfb9328d607919dad86bfa25def7bf35', class: this.getCheckboxClass(), onClick: this.handleClick, onMouseEnter: () => this.isHovered = true, onMouseLeave: () => this.isHovered = false, onMouseDown: () => this.isPressed = true, onMouseUp: () => this.isPressed = false, onFocus: () => this.isFocused = true, onBlur: () => this.isFocused = false, onKeyDown: this.handleKeyDown, onKeyUp: this.handleKeyUp, tabIndex: this.disabled ? -1 : 0, role: "checkbox", "aria-checked": this.indeterminate ? 'mixed' : this.checked.toString(), "aria-disabled": this.disabled.toString(), "aria-labelledby": this.label ? this.labelId : undefined }, this.checked && (hAsync("svg", { key: 'e5bd243560546d47bfc77d753df3020fb1abb417', class: "check-icon", viewBox: "0 0 16 16", fill: "none" }, hAsync("path", { key: '19da038d854b218177b668da5b8e8c3489dd377d', d: "M13.3334 4L6.00002 11.3333L2.66669 8", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), this.indeterminate && (hAsync("svg", { key: '069ce072241705fabb0a740271d7b6e6192e35a8', class: "indeterminate-icon", viewBox: "0 0 16 16", fill: "none" }, hAsync("path", { key: 'afc9851ff1e2ecb32cb7f0037c72844e8ae1a625', d: "M3.33331 8H12.6666", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })))), this.label && hAsync("span", { key: '4fbc5b3bbf78fd53aa0ee5a65e1a3b1b76cbb114', class: "label", id: this.labelId }, this.label)));
|
|
5418
5590
|
}
|
|
5419
5591
|
static get watchers() { return {
|
|
5420
5592
|
"initialChecked": ["watchCheckedProp"],
|
|
@@ -5658,23 +5830,32 @@ class XplorCombobox {
|
|
|
5658
5830
|
render() {
|
|
5659
5831
|
const hasValue = this.multiple ? this.selectedItems.length > 0 : this.value !== null && this.searchQuery !== '';
|
|
5660
5832
|
const showCreateOption = this.canCreateNew();
|
|
5661
|
-
|
|
5833
|
+
const listboxId = 'combobox-listbox';
|
|
5834
|
+
const labelId = 'combobox-label';
|
|
5835
|
+
const activeDescendantId = this.highlightedIndex >= 0 ? `combobox-option-${this.highlightedIndex}` : undefined;
|
|
5836
|
+
return (hAsync(Host, { key: '5c3fb39153fe1a83d72b4ad3aa60d4602014916c' }, hAsync("div", { key: 'ed9f80ab76d19c842e9da6a016040fdf68395332', class: {
|
|
5662
5837
|
'combobox': true,
|
|
5663
5838
|
'combobox--disabled': this.disabled,
|
|
5664
5839
|
'combobox--readonly': this.readonly,
|
|
5665
5840
|
'combobox--open': this.isOpen,
|
|
5666
|
-
} }, this.label && (hAsync("label", { key: '
|
|
5667
|
-
|
|
5668
|
-
|
|
5669
|
-
|
|
5670
|
-
|
|
5671
|
-
|
|
5672
|
-
|
|
5673
|
-
|
|
5841
|
+
} }, this.label && (hAsync("label", { key: 'a5837bdc2fe30046a56a659a942c82c6612e5eed', class: "combobox__label", id: labelId }, this.label)), hAsync("div", { key: '84022a8390a2024ef29d7dbdb5bd3b34c1da2305', class: "combobox__input-wrapper" }, this.multiple && this.selectedItems.length > 0 && (hAsync("div", { key: '7df2befc1d6104e8b5472c800fe30eda0ecac550', class: "combobox__chips" }, this.selectedItems.map(value => {
|
|
5842
|
+
const chipLabel = this.getSelectedItemLabel(value);
|
|
5843
|
+
return (hAsync("div", { class: "combobox__chip" }, hAsync("span", { class: "combobox__chip-label" }, chipLabel), hAsync("button", { type: "button", class: "combobox__chip-remove", onClick: () => this.removeItem(value), disabled: this.disabled || this.readonly, "aria-label": `Remove ${chipLabel}` }, "\u00D7")));
|
|
5844
|
+
}))), hAsync("input", { key: '4b01ffb37bfe750c24081ec839fcd6b70f87bde0', ref: (el) => (this.inputEl = el), type: "text", class: "combobox__input", placeholder: this.placeholder, value: this.searchQuery, onFocus: this.handleInputFocus, onInput: this.handleInputChange, onKeyDown: this.handleInputKeyDown, disabled: this.disabled, readonly: this.readonly, autocomplete: "off", role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": this.isOpen ? listboxId : undefined, "aria-activedescendant": activeDescendantId, "aria-labelledby": this.label ? labelId : undefined, "aria-label": !this.label ? (this.ariaLabel || this.placeholder) : undefined, "aria-autocomplete": "list" }), hAsync("div", { key: 'f1fa0b56edeb6c5e25eebd34a9d143a0ecca1173', class: "combobox__actions" }, this.clearable && hasValue && !this.disabled && !this.readonly && (hAsync("button", { key: '5179310582b9aef4739985dbeefd35bda1bb86bb', type: "button", class: "combobox__clear", onClick: this.handleClear, "aria-label": "Clear selection" }, "\u00D7")), hAsync("span", { key: '93c5431addfcaf88e51d38907304a4e289c3183d', class: "combobox__icon", "aria-hidden": "true" }, "\u25BC"))), this.isOpen && (this.filteredItems.length > 0 || showCreateOption) && (hAsync("div", { key: '9fba0e29de90f8bdcdd4861fbb0fb06a20fa980b', class: "combobox__dropdown", ref: (el) => (this.dropdownEl = el), role: "listbox", id: listboxId, "aria-label": this.label || this.ariaLabel || 'Options' }, this.filteredItems.map((item, index) => {
|
|
5845
|
+
const isSelected = this.multiple
|
|
5846
|
+
? this.selectedItems.includes(item.value)
|
|
5847
|
+
: this.value === item.value;
|
|
5848
|
+
return (hAsync("div", { key: item.value, id: `combobox-option-${index}`, "data-index": index, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": item.disabled ? 'true' : undefined, class: {
|
|
5849
|
+
'combobox__item': true,
|
|
5850
|
+
'combobox__item--highlighted': index === this.highlightedIndex,
|
|
5851
|
+
'combobox__item--selected': isSelected,
|
|
5852
|
+
'combobox__item--disabled': item.disabled,
|
|
5853
|
+
}, onClick: () => this.selectItem(item) }, item.label));
|
|
5854
|
+
}), showCreateOption && (hAsync("div", { key: '880bc30bc32c87dfb9ecf9b706162299e80fd1c5', id: `combobox-option-${this.filteredItems.length}`, "data-index": this.filteredItems.length, role: "option", "aria-selected": "false", class: {
|
|
5674
5855
|
'combobox__item': true,
|
|
5675
5856
|
'combobox__item--create': true,
|
|
5676
5857
|
'combobox__item--highlighted': this.highlightedIndex === this.filteredItems.length,
|
|
5677
|
-
}, onClick: () => this.createNewItem() }, hAsync("span", { key: '
|
|
5858
|
+
}, onClick: () => this.createNewItem() }, hAsync("span", { key: 'd0ff5841add7495a79a1e9453b87706971cf8907', class: "combobox__create-label" }, this.createMessage, ":"), ' ', hAsync("strong", { key: 'e1b1e94a5afce2ab3f5a714a7c593e59d9d22ff0' }, "\"", this.searchQuery, "\""))))), this.isOpen && this.filteredItems.length === 0 && !showCreateOption && (hAsync("div", { key: '0a95426511036f918cd42999cd1543fc26efbff2', class: "combobox__dropdown", role: "listbox", id: listboxId }, hAsync("div", { key: '551dc3ad968c049c5bbf2a9da71d45e203e15df7', class: "combobox__no-results", role: "option", "aria-disabled": "true" }, "No results found"))))));
|
|
5678
5859
|
}
|
|
5679
5860
|
get el() { return getElement(this); }
|
|
5680
5861
|
static get style() { return xplorComboboxCss; }
|
|
@@ -5686,6 +5867,7 @@ class XplorCombobox {
|
|
|
5686
5867
|
"value": [1032],
|
|
5687
5868
|
"placeholder": [1],
|
|
5688
5869
|
"label": [1],
|
|
5870
|
+
"ariaLabel": [1, "aria-label"],
|
|
5689
5871
|
"disabled": [4],
|
|
5690
5872
|
"readonly": [4],
|
|
5691
5873
|
"clearable": [4],
|
|
@@ -5882,18 +6064,24 @@ class XplorDatatable {
|
|
|
5882
6064
|
'horizontal-lines': this.horizontalLines,
|
|
5883
6065
|
'striped': this.striped,
|
|
5884
6066
|
'is-empty': this.items.length === 0,
|
|
5885
|
-
}, style: hasHeight ? { height: tableHeight } : {} }, hAsync("table", { key: '5f46224fe7ecc2fd3781e11d592fee5c8d80e9f2', class: { 'hover': this.hover } }, hAsync("thead", { key: 'd20432aa1d6551dd324a60ed594cd5ebc2c80198' }, hAsync("tr", { key: '62cc50e679f8345caba6f92a7ae117b68728425d' }, this.canSelect && (hAsync("th", { key: 'dfffb0bf421458b192db6eae3538da8a752f5356', class: "select-column" }, hAsync("label", { key: '17cdb037cee9b2d0cce729e0761f03b4bca14354', class: "checkbox-label" }, hAsync("input", { key: '
|
|
5886
|
-
this.internalSelected.size < this.items.length, onChange: this.handleSelectAll })))), this.headers.map(header => (hAsync("th", { class: {
|
|
6067
|
+
}, style: hasHeight ? { height: tableHeight } : {} }, hAsync("table", { key: '5f46224fe7ecc2fd3781e11d592fee5c8d80e9f2', class: { 'hover': this.hover } }, hAsync("thead", { key: 'd20432aa1d6551dd324a60ed594cd5ebc2c80198' }, hAsync("tr", { key: '62cc50e679f8345caba6f92a7ae117b68728425d' }, this.canSelect && (hAsync("th", { key: 'dfffb0bf421458b192db6eae3538da8a752f5356', class: "select-column" }, hAsync("label", { key: '17cdb037cee9b2d0cce729e0761f03b4bca14354', class: "checkbox-label" }, hAsync("input", { key: '668128d3f8238449b965df2825e164a2e12a4626', type: "checkbox", checked: this.allSelected, indeterminate: this.internalSelected.size > 0 &&
|
|
6068
|
+
this.internalSelected.size < this.items.length, onChange: this.handleSelectAll, "aria-label": "Select all rows" })))), this.headers.map(header => (hAsync("th", { class: {
|
|
5887
6069
|
sortable: header.sortable !== false,
|
|
5888
6070
|
sorted: this.sortBy === header.value,
|
|
5889
6071
|
fixed: header.fixed,
|
|
5890
6072
|
[`align-${header.align || 'left'}`]: true,
|
|
5891
|
-
}, style: header.width ? { width: typeof header.width === 'number' ? `${header.width}px` : header.width } : {}, onClick: () => header.sortable !== false && this.handleSort(header)
|
|
6073
|
+
}, style: header.width ? { width: typeof header.width === 'number' ? `${header.width}px` : header.width } : {}, onClick: () => header.sortable !== false && this.handleSort(header), "aria-sort": header.sortable !== false && this.sortBy === header.value
|
|
6074
|
+
? this.sortDirection === 'asc'
|
|
6075
|
+
? 'ascending'
|
|
6076
|
+
: this.sortDirection === 'desc'
|
|
6077
|
+
? 'descending'
|
|
6078
|
+
: 'none'
|
|
6079
|
+
: undefined }, hAsync("div", { class: "header-content" }, hAsync("span", null, header.text), header.sortable !== false && this.getSortIcon(header))))))), this.loading && this.skeletonLoader ? (this.renderSkeletonLoader()) : (hAsync("tbody", null, this.items.length === 0 ? (hAsync("tr", { class: "empty-row" }, hAsync("td", { colSpan: this.headers.length + (this.canSelect ? 1 : 0) }, hAsync("div", { class: "empty-state" }, hAsync("p", null, "No data available"))))) : (this.items.map(item => {
|
|
5892
6080
|
const isSelected = this.internalSelected.has(item);
|
|
5893
6081
|
return (hAsync("tr", { class: {
|
|
5894
6082
|
selected: isSelected,
|
|
5895
6083
|
clickable: true,
|
|
5896
|
-
}, onClick: (e) => this.handleRowClick(item, e) }, this.canSelect && (hAsync("td", { class: "select-column" }, hAsync("label", { class: "checkbox-label" }, hAsync("input", { type: "checkbox", checked: isSelected, onChange: (e) => this.handleSelectOne(e, item) })))), this.headers.map(header => (hAsync("td", { class: `align-${header.align || 'left'}` }, hAsync("slot", { name: `item.${header.value}` }, item[header.value]))))));
|
|
6084
|
+
}, onClick: (e) => this.handleRowClick(item, e), "aria-selected": this.canSelect ? isSelected ? 'true' : 'false' : undefined }, this.canSelect && (hAsync("td", { class: "select-column" }, hAsync("label", { class: "checkbox-label" }, hAsync("input", { type: "checkbox", checked: isSelected, onChange: (e) => this.handleSelectOne(e, item) })))), this.headers.map(header => (hAsync("td", { class: `align-${header.align || 'left'}` }, hAsync("slot", { name: `item.${header.value}` }, item[header.value]))))));
|
|
5897
6085
|
})))))), this.pagination && this.pagination.total > 0 && this.renderPagination())));
|
|
5898
6086
|
}
|
|
5899
6087
|
get el() { return getElement(this); }
|
|
@@ -5931,6 +6119,7 @@ class XplorDatatable {
|
|
|
5931
6119
|
|
|
5932
6120
|
const xplorDatePickerCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-date-picker {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-date-picker {\n width: 600px !important;\n }\n}\nh1.sc-xplor-date-picker {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-date-picker {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-date-picker {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-date-picker {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-date-picker, ul.sc-xplor-date-picker {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-date-picker li.sc-xplor-date-picker, ul.sc-xplor-date-picker li.sc-xplor-date-picker {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-date-picker, ul.mdc-list.sc-xplor-date-picker {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-date-picker li.mdc-list-item.sc-xplor-date-picker, ul.mdc-list.sc-xplor-date-picker li.mdc-list-item.sc-xplor-date-picker {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-date-picker {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-date-picker {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-date-picker {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-date-picker {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-date-picker .mdc-text-field--outlined.sc-xplor-date-picker .mdc-notched-outline__notch.sc-xplor-date-picker {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-date-picker .mdc-notched-outline__notch.sc-xplor-date-picker {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-date-picker .mdc-notched-outline.sc-xplor-date-picker .mdc-notched-outline__notch.sc-xplor-date-picker {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-date-picker {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-date-picker:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-date-picker {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-date-picker-h {\n display: block;\n width: 100%;\n}\n\n.date-picker.sc-xplor-date-picker {\n position: relative;\n width: 100%;\n}\n.date-picker--disabled.sc-xplor-date-picker {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.date-picker__label.sc-xplor-date-picker {\n display: block;\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 0.25rem;\n}\n.date-picker__required.sc-xplor-date-picker {\n color: #d32f2f;\n margin-left: 0.25rem;\n}\n.date-picker__field.sc-xplor-date-picker {\n position: relative;\n display: flex;\n align-items: center;\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-radius: 1rem;\n transition: border-color 0.2s ease;\n background: white;\n}\n.date-picker__field.sc-xplor-date-picker:focus-within {\n border-color: #008480;\n border-width: 2px;\n}\n.date-picker__field.sc-xplor-date-picker:focus-within .date-picker__input.sc-xplor-date-picker {\n padding: calc(0.875rem - 1px) calc(1rem - 1px);\n}\n.date-picker--error.sc-xplor-date-picker .date-picker__field.sc-xplor-date-picker {\n border-color: #d32f2f;\n}\n.date-picker__input.sc-xplor-date-picker {\n flex: 1;\n width: 100%;\n padding: 0.875rem 1rem;\n font-size: 1rem;\n font-family: inherit;\n border: none;\n border-radius: 1rem;\n outline: none;\n background: transparent;\n}\n.date-picker__input.sc-xplor-date-picker::placeholder {\n color: rgba(0, 0, 0, 0.38);\n}\n.date-picker__input.sc-xplor-date-picker:disabled {\n cursor: not-allowed;\n}\n.date-picker__actions.sc-xplor-date-picker {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n padding-right: 0.5rem;\n flex-shrink: 0;\n}\n.date-picker__clear.sc-xplor-date-picker {\n background: none;\n border: none;\n font-size: 1.25rem;\n cursor: pointer;\n padding: 0;\n width: 1.5rem;\n height: 1.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #757575;\n border-radius: 50%;\n transition: background-color 0.2s;\n}\n.date-picker__clear.sc-xplor-date-picker:hover {\n background-color: #f5f5f5;\n color: #212121;\n}\n.date-picker__icon-btn.sc-xplor-date-picker {\n background: none;\n border: none;\n cursor: pointer;\n padding: 0.25rem;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #757575;\n border-radius: 50%;\n transition: background-color 0.2s;\n}\n.date-picker__icon-btn.sc-xplor-date-picker:hover:not(:disabled) {\n background-color: #f5f5f5;\n color: #212121;\n}\n.date-picker__icon-btn.sc-xplor-date-picker:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.date-picker__icon-svg.sc-xplor-date-picker {\n display: block;\n}\n.date-picker__text-display.sc-xplor-date-picker {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n cursor: pointer;\n padding: 0.5rem;\n border-radius: 4px;\n color: #008480;\n font-size: 1rem;\n transition: background-color 0.2s;\n}\n.date-picker__text-display.sc-xplor-date-picker:hover {\n background-color: rgba(0, 132, 128, 0.08);\n}\n.date-picker__text-value.sc-xplor-date-picker {\n text-decoration: underline;\n}\n.date-picker__dropdown.sc-xplor-date-picker {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 1000;\n background-color: #fff;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n.date-picker__dropdown--top.sc-xplor-date-picker {\n top: auto;\n bottom: calc(100% + 4px);\n}\n.date-picker__details.sc-xplor-date-picker {\n min-height: 1.25rem;\n padding: 0 1rem;\n font-size: 0.75rem;\n}\n.date-picker__error-message.sc-xplor-date-picker {\n color: #d32f2f;\n}";
|
|
5933
6121
|
|
|
6122
|
+
let datePickerIdCounter = 0;
|
|
5934
6123
|
class XplorDatePicker {
|
|
5935
6124
|
constructor(hostRef) {
|
|
5936
6125
|
registerInstance(this, hostRef);
|
|
@@ -5965,6 +6154,9 @@ class XplorDatePicker {
|
|
|
5965
6154
|
this.isOpen = false;
|
|
5966
6155
|
this.inputText = '';
|
|
5967
6156
|
this.dropdownPosition = 'bottom';
|
|
6157
|
+
this.inputId = `xplor-date-picker-${++datePickerIdCounter}`;
|
|
6158
|
+
this.labelId = `${this.inputId}-label`;
|
|
6159
|
+
this.errorId = `${this.inputId}-error`;
|
|
5968
6160
|
this.toggleDropdown = () => {
|
|
5969
6161
|
if (this.disabled || this.readonly)
|
|
5970
6162
|
return;
|
|
@@ -6130,16 +6322,16 @@ class XplorDatePicker {
|
|
|
6130
6322
|
}
|
|
6131
6323
|
render() {
|
|
6132
6324
|
const showDetails = this.hideDetails === false || (this.hideDetails === 'auto' && this.error);
|
|
6133
|
-
const calendarIcon = (hAsync("svg", { key: '
|
|
6134
|
-
return (hAsync(Host, { key: '
|
|
6325
|
+
const calendarIcon = (hAsync("svg", { key: '8e3f3be13346ec15a3e4e2a9e9ccf3481cf8c87b', class: "date-picker__icon-svg", viewBox: "0 0 24 24", width: "20", height: "20", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, hAsync("rect", { key: '1f5d918d65a44a7b8f9dec0609ef125c96b1ccdf', x: "3", y: "4", width: "18", height: "18", rx: "2", ry: "2" }), hAsync("line", { key: 'd2a5ccfbe2e4afe8ed5d9277c49b09169c6ae651', x1: "16", y1: "2", x2: "16", y2: "6" }), hAsync("line", { key: '8d114a93b8f1c4d8fc65360f34afaecc14148328', x1: "8", y1: "2", x2: "8", y2: "6" }), hAsync("line", { key: '40b3ab407c3872d6eda481a64f8210b505e202cc', x1: "3", y1: "10", x2: "21", y2: "10" })));
|
|
6326
|
+
return (hAsync(Host, { key: '7c04e985b0a900863965311e69a336d859852e66' }, hAsync("div", { key: '15b17203d293c694130493bf45b8bd6d38c7bd36', class: {
|
|
6135
6327
|
'date-picker': true,
|
|
6136
6328
|
'date-picker--disabled': this.disabled,
|
|
6137
6329
|
'date-picker--error': !!this.error,
|
|
6138
6330
|
'date-picker--open': this.isOpen,
|
|
6139
|
-
} }, this.label && (hAsync("label", { key: '
|
|
6331
|
+
} }, this.label && (hAsync("label", { key: 'e9e03dde337f9c2259611f1f1f4748bb92d86cfb', class: "date-picker__label", id: this.labelId, htmlFor: this.inputId }, this.label, this.required && hAsync("span", { key: '4e68d0071f5224c9fc30df8864898a4906f6efba', class: "date-picker__required" }, "*"))), this.display === 'text' ? (hAsync("div", { class: "date-picker__text-display", onClick: this.handleTextClick, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "dialog", role: "button", tabIndex: 0 }, hAsync("span", { class: "date-picker__text-value" }, this.value ? this.formatDateForDisplay(this.value) : this.placeholder), calendarIcon)) : (hAsync("div", { class: "date-picker__field" }, hAsync("input", { id: this.inputId, type: "text", class: "date-picker__input", value: this.inputText, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onInput: this.handleInputChange, style: { backgroundColor: this.bgColor }, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "dialog", "aria-describedby": this.error ? this.errorId : undefined, "aria-invalid": this.error ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined }), hAsync("div", { class: "date-picker__actions" }, this.clearable && this.value && !this.disabled && !this.readonly && (hAsync("button", { type: "button", class: "date-picker__clear", onClick: this.handleClear, "aria-label": "Clear" }, "\u00D7")), hAsync("button", { type: "button", class: "date-picker__icon-btn", onClick: this.toggleDropdown, disabled: this.disabled, "aria-label": "Open calendar" }, calendarIcon)))), showDetails && (hAsync("div", { key: '4e9fd12626bf5436604e28a236a304d60c452b50', class: "date-picker__details" }, this.error && hAsync("div", { key: 'a40425ac84ee81671f4289f4323db9a9a472d3c7', class: "date-picker__error-message", id: this.errorId }, this.error))), this.isOpen && (hAsync("div", { key: '86c55873b678dcfe74c09475cbde7657f1983799', class: {
|
|
6140
6332
|
'date-picker__dropdown': true,
|
|
6141
6333
|
'date-picker__dropdown--top': this.dropdownPosition === 'top',
|
|
6142
|
-
} }, hAsync("xplor-inline-date-picker", { key: '
|
|
6334
|
+
} }, hAsync("xplor-inline-date-picker", { key: 'bd1636e13522a65ea6377857edea2928a6182282', selectedDate: this.value, min: this.min, max: this.max, readonly: this.readonly, color: this.color, startWeekOnSunday: this.startWeekOnSunday, onDateSelected: this.handleDateSelected }))))));
|
|
6143
6335
|
}
|
|
6144
6336
|
get el() { return getElement(this); }
|
|
6145
6337
|
static get style() { return xplorDatePickerCss; }
|
|
@@ -6176,7 +6368,7 @@ class XplorDatePicker {
|
|
|
6176
6368
|
}; }
|
|
6177
6369
|
}
|
|
6178
6370
|
|
|
6179
|
-
const xplorDragAndDropInputCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-drag-and-drop-input {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-drag-and-drop-input {\n width: 600px !important;\n }\n}\nh1.sc-xplor-drag-and-drop-input {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-drag-and-drop-input {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-drag-and-drop-input {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-drag-and-drop-input {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-drag-and-drop-input, ul.sc-xplor-drag-and-drop-input {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-drag-and-drop-input li.sc-xplor-drag-and-drop-input, ul.sc-xplor-drag-and-drop-input li.sc-xplor-drag-and-drop-input {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-drag-and-drop-input, ul.mdc-list.sc-xplor-drag-and-drop-input {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-drag-and-drop-input li.mdc-list-item.sc-xplor-drag-and-drop-input, ul.mdc-list.sc-xplor-drag-and-drop-input li.mdc-list-item.sc-xplor-drag-and-drop-input {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-drag-and-drop-input {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-drag-and-drop-input {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-drag-and-drop-input {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-drag-and-drop-input {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-drag-and-drop-input .mdc-text-field--outlined.sc-xplor-drag-and-drop-input .mdc-notched-outline__notch.sc-xplor-drag-and-drop-input {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-drag-and-drop-input .mdc-notched-outline__notch.sc-xplor-drag-and-drop-input {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-drag-and-drop-input .mdc-notched-outline.sc-xplor-drag-and-drop-input .mdc-notched-outline__notch.sc-xplor-drag-and-drop-input {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-drag-and-drop-input {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-drag-and-drop-input:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-drag-and-drop-input {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.margin-128.sc-xplor-drag-and-drop-input {\n margin: 8rem;\n}\n\n.margin-t-128.sc-xplor-drag-and-drop-input {\n margin-top: 8rem;\n}\n\n.margin-r-128.sc-xplor-drag-and-drop-input {\n margin-right: 8rem;\n}\n\n.margin-b-128.sc-xplor-drag-and-drop-input {\n margin-bottom: 8rem;\n}\n\n.margin-l-128.sc-xplor-drag-and-drop-input {\n margin-left: 8rem;\n}\n\n.margin-x-128.sc-xplor-drag-and-drop-input {\n margin-left: 8rem;\n margin-right: 8rem;\n}\n\n.margin-y-128.sc-xplor-drag-and-drop-input {\n margin-top: 8rem;\n margin-bottom: 8rem;\n}\n\n.margin-80.sc-xplor-drag-and-drop-input {\n margin: 5rem;\n}\n\n.margin-t-80.sc-xplor-drag-and-drop-input {\n margin-top: 5rem;\n}\n\n.margin-r-80.sc-xplor-drag-and-drop-input {\n margin-right: 5rem;\n}\n\n.margin-b-80.sc-xplor-drag-and-drop-input {\n margin-bottom: 5rem;\n}\n\n.margin-l-80.sc-xplor-drag-and-drop-input {\n margin-left: 5rem;\n}\n\n.margin-x-80.sc-xplor-drag-and-drop-input {\n margin-left: 5rem;\n margin-right: 5rem;\n}\n\n.margin-y-80.sc-xplor-drag-and-drop-input {\n margin-top: 5rem;\n margin-bottom: 5rem;\n}\n\n.margin-64.sc-xplor-drag-and-drop-input {\n margin: 4rem;\n}\n\n.margin-t-64.sc-xplor-drag-and-drop-input {\n margin-top: 4rem;\n}\n\n.margin-r-64.sc-xplor-drag-and-drop-input {\n margin-right: 4rem;\n}\n\n.margin-b-64.sc-xplor-drag-and-drop-input {\n margin-bottom: 4rem;\n}\n\n.margin-l-64.sc-xplor-drag-and-drop-input {\n margin-left: 4rem;\n}\n\n.margin-x-64.sc-xplor-drag-and-drop-input {\n margin-left: 4rem;\n margin-right: 4rem;\n}\n\n.margin-y-64.sc-xplor-drag-and-drop-input {\n margin-top: 4rem;\n margin-bottom: 4rem;\n}\n\n.margin-56.sc-xplor-drag-and-drop-input {\n margin: 3.5rem;\n}\n\n.margin-t-56.sc-xplor-drag-and-drop-input {\n margin-top: 3.5rem;\n}\n\n.margin-r-56.sc-xplor-drag-and-drop-input {\n margin-right: 3.5rem;\n}\n\n.margin-b-56.sc-xplor-drag-and-drop-input {\n margin-bottom: 3.5rem;\n}\n\n.margin-l-56.sc-xplor-drag-and-drop-input {\n margin-left: 3.5rem;\n}\n\n.margin-x-56.sc-xplor-drag-and-drop-input {\n margin-left: 3.5rem;\n margin-right: 3.5rem;\n}\n\n.margin-y-56.sc-xplor-drag-and-drop-input {\n margin-top: 3.5rem;\n margin-bottom: 3.5rem;\n}\n\n.margin-48.sc-xplor-drag-and-drop-input {\n margin: 3rem;\n}\n\n.margin-t-48.sc-xplor-drag-and-drop-input {\n margin-top: 3rem;\n}\n\n.margin-r-48.sc-xplor-drag-and-drop-input {\n margin-right: 3rem;\n}\n\n.margin-b-48.sc-xplor-drag-and-drop-input {\n margin-bottom: 3rem;\n}\n\n.margin-l-48.sc-xplor-drag-and-drop-input {\n margin-left: 3rem;\n}\n\n.margin-x-48.sc-xplor-drag-and-drop-input {\n margin-left: 3rem;\n margin-right: 3rem;\n}\n\n.margin-y-48.sc-xplor-drag-and-drop-input {\n margin-top: 3rem;\n margin-bottom: 3rem;\n}\n\n.margin-40.sc-xplor-drag-and-drop-input {\n margin: 2.5rem;\n}\n\n.margin-t-40.sc-xplor-drag-and-drop-input {\n margin-top: 2.5rem;\n}\n\n.margin-r-40.sc-xplor-drag-and-drop-input {\n margin-right: 2.5rem;\n}\n\n.margin-b-40.sc-xplor-drag-and-drop-input {\n margin-bottom: 2.5rem;\n}\n\n.margin-l-40.sc-xplor-drag-and-drop-input {\n margin-left: 2.5rem;\n}\n\n.margin-x-40.sc-xplor-drag-and-drop-input {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n}\n\n.margin-y-40.sc-xplor-drag-and-drop-input {\n margin-top: 2.5rem;\n margin-bottom: 2.5rem;\n}\n\n.margin-32.sc-xplor-drag-and-drop-input {\n margin: 2rem;\n}\n\n.margin-t-32.sc-xplor-drag-and-drop-input {\n margin-top: 2rem;\n}\n\n.margin-r-32.sc-xplor-drag-and-drop-input {\n margin-right: 2rem;\n}\n\n.margin-b-32.sc-xplor-drag-and-drop-input {\n margin-bottom: 2rem;\n}\n\n.margin-l-32.sc-xplor-drag-and-drop-input {\n margin-left: 2rem;\n}\n\n.margin-x-32.sc-xplor-drag-and-drop-input {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n\n.margin-y-32.sc-xplor-drag-and-drop-input {\n margin-top: 2rem;\n margin-bottom: 2rem;\n}\n\n.margin-24.sc-xplor-drag-and-drop-input {\n margin: 1.5rem;\n}\n\n.margin-t-24.sc-xplor-drag-and-drop-input {\n margin-top: 1.5rem;\n}\n\n.margin-r-24.sc-xplor-drag-and-drop-input {\n margin-right: 1.5rem;\n}\n\n.margin-b-24.sc-xplor-drag-and-drop-input {\n margin-bottom: 1.5rem;\n}\n\n.margin-l-24.sc-xplor-drag-and-drop-input {\n margin-left: 1.5rem;\n}\n\n.margin-x-24.sc-xplor-drag-and-drop-input {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n}\n\n.margin-y-24.sc-xplor-drag-and-drop-input {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n\n.margin-20.sc-xplor-drag-and-drop-input {\n margin: 1.25rem;\n}\n\n.margin-t-20.sc-xplor-drag-and-drop-input {\n margin-top: 1.25rem;\n}\n\n.margin-r-20.sc-xplor-drag-and-drop-input {\n margin-right: 1.25rem;\n}\n\n.margin-b-20.sc-xplor-drag-and-drop-input {\n margin-bottom: 1.25rem;\n}\n\n.margin-l-20.sc-xplor-drag-and-drop-input {\n margin-left: 1.25rem;\n}\n\n.margin-x-20.sc-xplor-drag-and-drop-input {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n}\n\n.margin-y-20.sc-xplor-drag-and-drop-input {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n}\n\n.margin-16.sc-xplor-drag-and-drop-input {\n margin: 1rem;\n}\n\n.margin-t-16.sc-xplor-drag-and-drop-input {\n margin-top: 1rem;\n}\n\n.margin-r-16.sc-xplor-drag-and-drop-input {\n margin-right: 1rem;\n}\n\n.margin-b-16.sc-xplor-drag-and-drop-input {\n margin-bottom: 1rem;\n}\n\n.margin-l-16.sc-xplor-drag-and-drop-input {\n margin-left: 1rem;\n}\n\n.margin-x-16.sc-xplor-drag-and-drop-input {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n\n.margin-y-16.sc-xplor-drag-and-drop-input {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.margin-12.sc-xplor-drag-and-drop-input {\n margin: 0.75rem;\n}\n\n.margin-t-12.sc-xplor-drag-and-drop-input {\n margin-top: 0.75rem;\n}\n\n.margin-r-12.sc-xplor-drag-and-drop-input {\n margin-right: 0.75rem;\n}\n\n.margin-b-12.sc-xplor-drag-and-drop-input {\n margin-bottom: 0.75rem;\n}\n\n.margin-l-12.sc-xplor-drag-and-drop-input {\n margin-left: 0.75rem;\n}\n\n.margin-x-12.sc-xplor-drag-and-drop-input {\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n\n.margin-y-12.sc-xplor-drag-and-drop-input {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem;\n}\n\n.margin-8.sc-xplor-drag-and-drop-input {\n margin: 0.5rem;\n}\n\n.margin-t-8.sc-xplor-drag-and-drop-input {\n margin-top: 0.5rem;\n}\n\n.margin-r-8.sc-xplor-drag-and-drop-input {\n margin-right: 0.5rem;\n}\n\n.margin-b-8.sc-xplor-drag-and-drop-input {\n margin-bottom: 0.5rem;\n}\n\n.margin-l-8.sc-xplor-drag-and-drop-input {\n margin-left: 0.5rem;\n}\n\n.margin-x-8.sc-xplor-drag-and-drop-input {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n\n.margin-y-8.sc-xplor-drag-and-drop-input {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n.margin-4.sc-xplor-drag-and-drop-input {\n margin: 0.25rem;\n}\n\n.margin-t-4.sc-xplor-drag-and-drop-input {\n margin-top: 0.25rem;\n}\n\n.margin-r-4.sc-xplor-drag-and-drop-input {\n margin-right: 0.25rem;\n}\n\n.margin-b-4.sc-xplor-drag-and-drop-input {\n margin-bottom: 0.25rem;\n}\n\n.margin-l-4.sc-xplor-drag-and-drop-input {\n margin-left: 0.25rem;\n}\n\n.margin-x-4.sc-xplor-drag-and-drop-input {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n\n.margin-y-4.sc-xplor-drag-and-drop-input {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n\n.padding-128.sc-xplor-drag-and-drop-input {\n padding: 8rem;\n}\n\n.padding-t-128.sc-xplor-drag-and-drop-input {\n padding-top: 8rem;\n}\n\n.padding-r-128.sc-xplor-drag-and-drop-input {\n padding-right: 8rem;\n}\n\n.padding-b-128.sc-xplor-drag-and-drop-input {\n padding-bottom: 8rem;\n}\n\n.padding-l-128.sc-xplor-drag-and-drop-input {\n padding-left: 8rem;\n}\n\n.padding-x-128.sc-xplor-drag-and-drop-input {\n padding-left: 8rem;\n padding-right: 8rem;\n}\n\n.padding-y-128.sc-xplor-drag-and-drop-input {\n padding-top: 8rem;\n padding-bottom: 8rem;\n}\n\n.padding-80.sc-xplor-drag-and-drop-input {\n padding: 5rem;\n}\n\n.padding-t-80.sc-xplor-drag-and-drop-input {\n padding-top: 5rem;\n}\n\n.padding-r-80.sc-xplor-drag-and-drop-input {\n padding-right: 5rem;\n}\n\n.padding-b-80.sc-xplor-drag-and-drop-input {\n padding-bottom: 5rem;\n}\n\n.padding-l-80.sc-xplor-drag-and-drop-input {\n padding-left: 5rem;\n}\n\n.padding-x-80.sc-xplor-drag-and-drop-input {\n padding-left: 5rem;\n padding-right: 5rem;\n}\n\n.padding-y-80.sc-xplor-drag-and-drop-input {\n padding-top: 5rem;\n padding-bottom: 5rem;\n}\n\n.padding-64.sc-xplor-drag-and-drop-input {\n padding: 4rem;\n}\n\n.padding-t-64.sc-xplor-drag-and-drop-input {\n padding-top: 4rem;\n}\n\n.padding-r-64.sc-xplor-drag-and-drop-input {\n padding-right: 4rem;\n}\n\n.padding-b-64.sc-xplor-drag-and-drop-input {\n padding-bottom: 4rem;\n}\n\n.padding-l-64.sc-xplor-drag-and-drop-input {\n padding-left: 4rem;\n}\n\n.padding-x-64.sc-xplor-drag-and-drop-input {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n.padding-y-64.sc-xplor-drag-and-drop-input {\n padding-top: 4rem;\n padding-bottom: 4rem;\n}\n\n.padding-56.sc-xplor-drag-and-drop-input {\n padding: 3.5rem;\n}\n\n.padding-t-56.sc-xplor-drag-and-drop-input {\n padding-top: 3.5rem;\n}\n\n.padding-r-56.sc-xplor-drag-and-drop-input {\n padding-right: 3.5rem;\n}\n\n.padding-b-56.sc-xplor-drag-and-drop-input {\n padding-bottom: 3.5rem;\n}\n\n.padding-l-56.sc-xplor-drag-and-drop-input {\n padding-left: 3.5rem;\n}\n\n.padding-x-56.sc-xplor-drag-and-drop-input {\n padding-left: 3.5rem;\n padding-right: 3.5rem;\n}\n\n.padding-y-56.sc-xplor-drag-and-drop-input {\n padding-top: 3.5rem;\n padding-bottom: 3.5rem;\n}\n\n.padding-48.sc-xplor-drag-and-drop-input {\n padding: 3rem;\n}\n\n.padding-t-48.sc-xplor-drag-and-drop-input {\n padding-top: 3rem;\n}\n\n.padding-r-48.sc-xplor-drag-and-drop-input {\n padding-right: 3rem;\n}\n\n.padding-b-48.sc-xplor-drag-and-drop-input {\n padding-bottom: 3rem;\n}\n\n.padding-l-48.sc-xplor-drag-and-drop-input {\n padding-left: 3rem;\n}\n\n.padding-x-48.sc-xplor-drag-and-drop-input {\n padding-left: 3rem;\n padding-right: 3rem;\n}\n\n.padding-y-48.sc-xplor-drag-and-drop-input {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.padding-40.sc-xplor-drag-and-drop-input {\n padding: 2.5rem;\n}\n\n.padding-t-40.sc-xplor-drag-and-drop-input {\n padding-top: 2.5rem;\n}\n\n.padding-r-40.sc-xplor-drag-and-drop-input {\n padding-right: 2.5rem;\n}\n\n.padding-b-40.sc-xplor-drag-and-drop-input {\n padding-bottom: 2.5rem;\n}\n\n.padding-l-40.sc-xplor-drag-and-drop-input {\n padding-left: 2.5rem;\n}\n\n.padding-x-40.sc-xplor-drag-and-drop-input {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n\n.padding-y-40.sc-xplor-drag-and-drop-input {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n}\n\n.padding-32.sc-xplor-drag-and-drop-input {\n padding: 2rem;\n}\n\n.padding-t-32.sc-xplor-drag-and-drop-input {\n padding-top: 2rem;\n}\n\n.padding-r-32.sc-xplor-drag-and-drop-input {\n padding-right: 2rem;\n}\n\n.padding-b-32.sc-xplor-drag-and-drop-input {\n padding-bottom: 2rem;\n}\n\n.padding-l-32.sc-xplor-drag-and-drop-input {\n padding-left: 2rem;\n}\n\n.padding-x-32.sc-xplor-drag-and-drop-input {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n.padding-y-32.sc-xplor-drag-and-drop-input {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n\n.padding-24.sc-xplor-drag-and-drop-input {\n padding: 1.5rem;\n}\n\n.padding-t-24.sc-xplor-drag-and-drop-input {\n padding-top: 1.5rem;\n}\n\n.padding-r-24.sc-xplor-drag-and-drop-input {\n padding-right: 1.5rem;\n}\n\n.padding-b-24.sc-xplor-drag-and-drop-input {\n padding-bottom: 1.5rem;\n}\n\n.padding-l-24.sc-xplor-drag-and-drop-input {\n padding-left: 1.5rem;\n}\n\n.padding-x-24.sc-xplor-drag-and-drop-input {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.padding-y-24.sc-xplor-drag-and-drop-input {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n.padding-20.sc-xplor-drag-and-drop-input {\n padding: 1.25rem;\n}\n\n.padding-t-20.sc-xplor-drag-and-drop-input {\n padding-top: 1.25rem;\n}\n\n.padding-r-20.sc-xplor-drag-and-drop-input {\n padding-right: 1.25rem;\n}\n\n.padding-b-20.sc-xplor-drag-and-drop-input {\n padding-bottom: 1.25rem;\n}\n\n.padding-l-20.sc-xplor-drag-and-drop-input {\n padding-left: 1.25rem;\n}\n\n.padding-x-20.sc-xplor-drag-and-drop-input {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n.padding-y-20.sc-xplor-drag-and-drop-input {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n\n.padding-16.sc-xplor-drag-and-drop-input {\n padding: 1rem;\n}\n\n.padding-t-16.sc-xplor-drag-and-drop-input {\n padding-top: 1rem;\n}\n\n.padding-r-16.sc-xplor-drag-and-drop-input {\n padding-right: 1rem;\n}\n\n.padding-b-16.sc-xplor-drag-and-drop-input {\n padding-bottom: 1rem;\n}\n\n.padding-l-16.sc-xplor-drag-and-drop-input {\n padding-left: 1rem;\n}\n\n.padding-x-16.sc-xplor-drag-and-drop-input {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.padding-y-16.sc-xplor-drag-and-drop-input {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.padding-12.sc-xplor-drag-and-drop-input {\n padding: 0.75rem;\n}\n\n.padding-t-12.sc-xplor-drag-and-drop-input {\n padding-top: 0.75rem;\n}\n\n.padding-r-12.sc-xplor-drag-and-drop-input {\n padding-right: 0.75rem;\n}\n\n.padding-b-12.sc-xplor-drag-and-drop-input {\n padding-bottom: 0.75rem;\n}\n\n.padding-l-12.sc-xplor-drag-and-drop-input {\n padding-left: 0.75rem;\n}\n\n.padding-x-12.sc-xplor-drag-and-drop-input {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.padding-y-12.sc-xplor-drag-and-drop-input {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.padding-8.sc-xplor-drag-and-drop-input {\n padding: 0.5rem;\n}\n\n.padding-t-8.sc-xplor-drag-and-drop-input {\n padding-top: 0.5rem;\n}\n\n.padding-r-8.sc-xplor-drag-and-drop-input {\n padding-right: 0.5rem;\n}\n\n.padding-b-8.sc-xplor-drag-and-drop-input {\n padding-bottom: 0.5rem;\n}\n\n.padding-l-8.sc-xplor-drag-and-drop-input {\n padding-left: 0.5rem;\n}\n\n.padding-x-8.sc-xplor-drag-and-drop-input {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.padding-y-8.sc-xplor-drag-and-drop-input {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.padding-4.sc-xplor-drag-and-drop-input {\n padding: 0.25rem;\n}\n\n.padding-t-4.sc-xplor-drag-and-drop-input {\n padding-top: 0.25rem;\n}\n\n.padding-r-4.sc-xplor-drag-and-drop-input {\n padding-right: 0.25rem;\n}\n\n.padding-b-4.sc-xplor-drag-and-drop-input {\n padding-bottom: 0.25rem;\n}\n\n.padding-l-4.sc-xplor-drag-and-drop-input {\n padding-left: 0.25rem;\n}\n\n.padding-x-4.sc-xplor-drag-and-drop-input {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n\n.padding-y-4.sc-xplor-drag-and-drop-input {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n.sc-xplor-drag-and-drop-input-h {\n display: block;\n}\n\n.drag-drop-wrapper.sc-xplor-drag-and-drop-input {\n position: relative;\n padding-bottom: 2.5rem;\n}\n\n.drag-drop-input-hidden.sc-xplor-drag-and-drop-input {\n display: none;\n}\n\n.drag-drop-card.sc-xplor-drag-and-drop-input {\n background-color: var(--color-secondary-50, #f3e5f5);\n border-radius: 8px;\n border: 3px dashed #e0e0e0;\n min-height: 240px;\n padding: 1rem 1.5rem 2.5rem;\n text-align: center;\n transition: all 0.2s ease;\n cursor: default;\n}\n.drag-drop-card.sc-xplor-drag-and-drop-input:hover:not(.drag-drop-card--disabled) {\n border-color: var(--color-secondary);\n}\n.drag-drop-card--dragover.sc-xplor-drag-and-drop-input {\n border: 3px dashed var(--color-secondary);\n background-color: var(--color-secondary-100, #e1bee7);\n}\n.drag-drop-card--disabled.sc-xplor-drag-and-drop-input {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.drag-drop-card__content.sc-xplor-drag-and-drop-input {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem 0 0;\n}\n\n.drag-drop-card__icon.sc-xplor-drag-and-drop-input {\n color: var(--color-secondary);\n width: 68px;\n height: 68px;\n}\n\n.drag-drop-card__title.sc-xplor-drag-and-drop-input {\n color: #000000;\n font-family: Inter, sans-serif;\n font-size: 24px;\n font-weight: 700;\n line-height: 32px;\n letter-spacing: 0;\n margin: 0;\n}\n\n.drag-drop-card__accepts.sc-xplor-drag-and-drop-input, .drag-drop-card__divider.sc-xplor-drag-and-drop-input {\n color: #000000;\n font-family: Inter, sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n margin: 0;\n}\n\n.drag-drop-card__action.sc-xplor-drag-and-drop-input {\n position: absolute;\n left: 50%;\n bottom: 0;\n transform: translateX(-50%);\n}\n\n.drag-drop-card__file-info.sc-xplor-drag-and-drop-input {\n margin-top: 1rem;\n color: #616161;\n font-family: Inter, sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n padding: 0.25rem;\n text-align: center;\n}\n\n@media (max-width: 768px) {\n .drag-drop-card.sc-xplor-drag-and-drop-input {\n min-height: 200px;\n }\n .drag-drop-card__title.sc-xplor-drag-and-drop-input {\n font-size: 20px;\n line-height: 28px;\n }\n .drag-drop-card__accepts.sc-xplor-drag-and-drop-input, .drag-drop-card__divider.sc-xplor-drag-and-drop-input {\n font-size: 13px;\n line-height: 18px;\n }\n}";
|
|
6371
|
+
const xplorDragAndDropInputCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-drag-and-drop-input {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-drag-and-drop-input {\n width: 600px !important;\n }\n}\nh1.sc-xplor-drag-and-drop-input {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-drag-and-drop-input {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-drag-and-drop-input {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-drag-and-drop-input {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-drag-and-drop-input, ul.sc-xplor-drag-and-drop-input {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-drag-and-drop-input li.sc-xplor-drag-and-drop-input, ul.sc-xplor-drag-and-drop-input li.sc-xplor-drag-and-drop-input {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-drag-and-drop-input, ul.mdc-list.sc-xplor-drag-and-drop-input {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-drag-and-drop-input li.mdc-list-item.sc-xplor-drag-and-drop-input, ul.mdc-list.sc-xplor-drag-and-drop-input li.mdc-list-item.sc-xplor-drag-and-drop-input {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-drag-and-drop-input {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-drag-and-drop-input {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-drag-and-drop-input {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-drag-and-drop-input {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-drag-and-drop-input .mdc-text-field--outlined.sc-xplor-drag-and-drop-input .mdc-notched-outline__notch.sc-xplor-drag-and-drop-input {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-drag-and-drop-input .mdc-notched-outline__notch.sc-xplor-drag-and-drop-input {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-drag-and-drop-input .mdc-notched-outline.sc-xplor-drag-and-drop-input .mdc-notched-outline__notch.sc-xplor-drag-and-drop-input {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-drag-and-drop-input {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-drag-and-drop-input:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-drag-and-drop-input {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.margin-128.sc-xplor-drag-and-drop-input {\n margin: 8rem;\n}\n\n.margin-t-128.sc-xplor-drag-and-drop-input {\n margin-top: 8rem;\n}\n\n.margin-r-128.sc-xplor-drag-and-drop-input {\n margin-right: 8rem;\n}\n\n.margin-b-128.sc-xplor-drag-and-drop-input {\n margin-bottom: 8rem;\n}\n\n.margin-l-128.sc-xplor-drag-and-drop-input {\n margin-left: 8rem;\n}\n\n.margin-x-128.sc-xplor-drag-and-drop-input {\n margin-left: 8rem;\n margin-right: 8rem;\n}\n\n.margin-y-128.sc-xplor-drag-and-drop-input {\n margin-top: 8rem;\n margin-bottom: 8rem;\n}\n\n.margin-80.sc-xplor-drag-and-drop-input {\n margin: 5rem;\n}\n\n.margin-t-80.sc-xplor-drag-and-drop-input {\n margin-top: 5rem;\n}\n\n.margin-r-80.sc-xplor-drag-and-drop-input {\n margin-right: 5rem;\n}\n\n.margin-b-80.sc-xplor-drag-and-drop-input {\n margin-bottom: 5rem;\n}\n\n.margin-l-80.sc-xplor-drag-and-drop-input {\n margin-left: 5rem;\n}\n\n.margin-x-80.sc-xplor-drag-and-drop-input {\n margin-left: 5rem;\n margin-right: 5rem;\n}\n\n.margin-y-80.sc-xplor-drag-and-drop-input {\n margin-top: 5rem;\n margin-bottom: 5rem;\n}\n\n.margin-64.sc-xplor-drag-and-drop-input {\n margin: 4rem;\n}\n\n.margin-t-64.sc-xplor-drag-and-drop-input {\n margin-top: 4rem;\n}\n\n.margin-r-64.sc-xplor-drag-and-drop-input {\n margin-right: 4rem;\n}\n\n.margin-b-64.sc-xplor-drag-and-drop-input {\n margin-bottom: 4rem;\n}\n\n.margin-l-64.sc-xplor-drag-and-drop-input {\n margin-left: 4rem;\n}\n\n.margin-x-64.sc-xplor-drag-and-drop-input {\n margin-left: 4rem;\n margin-right: 4rem;\n}\n\n.margin-y-64.sc-xplor-drag-and-drop-input {\n margin-top: 4rem;\n margin-bottom: 4rem;\n}\n\n.margin-56.sc-xplor-drag-and-drop-input {\n margin: 3.5rem;\n}\n\n.margin-t-56.sc-xplor-drag-and-drop-input {\n margin-top: 3.5rem;\n}\n\n.margin-r-56.sc-xplor-drag-and-drop-input {\n margin-right: 3.5rem;\n}\n\n.margin-b-56.sc-xplor-drag-and-drop-input {\n margin-bottom: 3.5rem;\n}\n\n.margin-l-56.sc-xplor-drag-and-drop-input {\n margin-left: 3.5rem;\n}\n\n.margin-x-56.sc-xplor-drag-and-drop-input {\n margin-left: 3.5rem;\n margin-right: 3.5rem;\n}\n\n.margin-y-56.sc-xplor-drag-and-drop-input {\n margin-top: 3.5rem;\n margin-bottom: 3.5rem;\n}\n\n.margin-48.sc-xplor-drag-and-drop-input {\n margin: 3rem;\n}\n\n.margin-t-48.sc-xplor-drag-and-drop-input {\n margin-top: 3rem;\n}\n\n.margin-r-48.sc-xplor-drag-and-drop-input {\n margin-right: 3rem;\n}\n\n.margin-b-48.sc-xplor-drag-and-drop-input {\n margin-bottom: 3rem;\n}\n\n.margin-l-48.sc-xplor-drag-and-drop-input {\n margin-left: 3rem;\n}\n\n.margin-x-48.sc-xplor-drag-and-drop-input {\n margin-left: 3rem;\n margin-right: 3rem;\n}\n\n.margin-y-48.sc-xplor-drag-and-drop-input {\n margin-top: 3rem;\n margin-bottom: 3rem;\n}\n\n.margin-40.sc-xplor-drag-and-drop-input {\n margin: 2.5rem;\n}\n\n.margin-t-40.sc-xplor-drag-and-drop-input {\n margin-top: 2.5rem;\n}\n\n.margin-r-40.sc-xplor-drag-and-drop-input {\n margin-right: 2.5rem;\n}\n\n.margin-b-40.sc-xplor-drag-and-drop-input {\n margin-bottom: 2.5rem;\n}\n\n.margin-l-40.sc-xplor-drag-and-drop-input {\n margin-left: 2.5rem;\n}\n\n.margin-x-40.sc-xplor-drag-and-drop-input {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n}\n\n.margin-y-40.sc-xplor-drag-and-drop-input {\n margin-top: 2.5rem;\n margin-bottom: 2.5rem;\n}\n\n.margin-32.sc-xplor-drag-and-drop-input {\n margin: 2rem;\n}\n\n.margin-t-32.sc-xplor-drag-and-drop-input {\n margin-top: 2rem;\n}\n\n.margin-r-32.sc-xplor-drag-and-drop-input {\n margin-right: 2rem;\n}\n\n.margin-b-32.sc-xplor-drag-and-drop-input {\n margin-bottom: 2rem;\n}\n\n.margin-l-32.sc-xplor-drag-and-drop-input {\n margin-left: 2rem;\n}\n\n.margin-x-32.sc-xplor-drag-and-drop-input {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n\n.margin-y-32.sc-xplor-drag-and-drop-input {\n margin-top: 2rem;\n margin-bottom: 2rem;\n}\n\n.margin-24.sc-xplor-drag-and-drop-input {\n margin: 1.5rem;\n}\n\n.margin-t-24.sc-xplor-drag-and-drop-input {\n margin-top: 1.5rem;\n}\n\n.margin-r-24.sc-xplor-drag-and-drop-input {\n margin-right: 1.5rem;\n}\n\n.margin-b-24.sc-xplor-drag-and-drop-input {\n margin-bottom: 1.5rem;\n}\n\n.margin-l-24.sc-xplor-drag-and-drop-input {\n margin-left: 1.5rem;\n}\n\n.margin-x-24.sc-xplor-drag-and-drop-input {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n}\n\n.margin-y-24.sc-xplor-drag-and-drop-input {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n\n.margin-20.sc-xplor-drag-and-drop-input {\n margin: 1.25rem;\n}\n\n.margin-t-20.sc-xplor-drag-and-drop-input {\n margin-top: 1.25rem;\n}\n\n.margin-r-20.sc-xplor-drag-and-drop-input {\n margin-right: 1.25rem;\n}\n\n.margin-b-20.sc-xplor-drag-and-drop-input {\n margin-bottom: 1.25rem;\n}\n\n.margin-l-20.sc-xplor-drag-and-drop-input {\n margin-left: 1.25rem;\n}\n\n.margin-x-20.sc-xplor-drag-and-drop-input {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n}\n\n.margin-y-20.sc-xplor-drag-and-drop-input {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n}\n\n.margin-16.sc-xplor-drag-and-drop-input {\n margin: 1rem;\n}\n\n.margin-t-16.sc-xplor-drag-and-drop-input {\n margin-top: 1rem;\n}\n\n.margin-r-16.sc-xplor-drag-and-drop-input {\n margin-right: 1rem;\n}\n\n.margin-b-16.sc-xplor-drag-and-drop-input {\n margin-bottom: 1rem;\n}\n\n.margin-l-16.sc-xplor-drag-and-drop-input {\n margin-left: 1rem;\n}\n\n.margin-x-16.sc-xplor-drag-and-drop-input {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n\n.margin-y-16.sc-xplor-drag-and-drop-input {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.margin-12.sc-xplor-drag-and-drop-input {\n margin: 0.75rem;\n}\n\n.margin-t-12.sc-xplor-drag-and-drop-input {\n margin-top: 0.75rem;\n}\n\n.margin-r-12.sc-xplor-drag-and-drop-input {\n margin-right: 0.75rem;\n}\n\n.margin-b-12.sc-xplor-drag-and-drop-input {\n margin-bottom: 0.75rem;\n}\n\n.margin-l-12.sc-xplor-drag-and-drop-input {\n margin-left: 0.75rem;\n}\n\n.margin-x-12.sc-xplor-drag-and-drop-input {\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n\n.margin-y-12.sc-xplor-drag-and-drop-input {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem;\n}\n\n.margin-8.sc-xplor-drag-and-drop-input {\n margin: 0.5rem;\n}\n\n.margin-t-8.sc-xplor-drag-and-drop-input {\n margin-top: 0.5rem;\n}\n\n.margin-r-8.sc-xplor-drag-and-drop-input {\n margin-right: 0.5rem;\n}\n\n.margin-b-8.sc-xplor-drag-and-drop-input {\n margin-bottom: 0.5rem;\n}\n\n.margin-l-8.sc-xplor-drag-and-drop-input {\n margin-left: 0.5rem;\n}\n\n.margin-x-8.sc-xplor-drag-and-drop-input {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n\n.margin-y-8.sc-xplor-drag-and-drop-input {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n.margin-4.sc-xplor-drag-and-drop-input {\n margin: 0.25rem;\n}\n\n.margin-t-4.sc-xplor-drag-and-drop-input {\n margin-top: 0.25rem;\n}\n\n.margin-r-4.sc-xplor-drag-and-drop-input {\n margin-right: 0.25rem;\n}\n\n.margin-b-4.sc-xplor-drag-and-drop-input {\n margin-bottom: 0.25rem;\n}\n\n.margin-l-4.sc-xplor-drag-and-drop-input {\n margin-left: 0.25rem;\n}\n\n.margin-x-4.sc-xplor-drag-and-drop-input {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n\n.margin-y-4.sc-xplor-drag-and-drop-input {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n\n.padding-128.sc-xplor-drag-and-drop-input {\n padding: 8rem;\n}\n\n.padding-t-128.sc-xplor-drag-and-drop-input {\n padding-top: 8rem;\n}\n\n.padding-r-128.sc-xplor-drag-and-drop-input {\n padding-right: 8rem;\n}\n\n.padding-b-128.sc-xplor-drag-and-drop-input {\n padding-bottom: 8rem;\n}\n\n.padding-l-128.sc-xplor-drag-and-drop-input {\n padding-left: 8rem;\n}\n\n.padding-x-128.sc-xplor-drag-and-drop-input {\n padding-left: 8rem;\n padding-right: 8rem;\n}\n\n.padding-y-128.sc-xplor-drag-and-drop-input {\n padding-top: 8rem;\n padding-bottom: 8rem;\n}\n\n.padding-80.sc-xplor-drag-and-drop-input {\n padding: 5rem;\n}\n\n.padding-t-80.sc-xplor-drag-and-drop-input {\n padding-top: 5rem;\n}\n\n.padding-r-80.sc-xplor-drag-and-drop-input {\n padding-right: 5rem;\n}\n\n.padding-b-80.sc-xplor-drag-and-drop-input {\n padding-bottom: 5rem;\n}\n\n.padding-l-80.sc-xplor-drag-and-drop-input {\n padding-left: 5rem;\n}\n\n.padding-x-80.sc-xplor-drag-and-drop-input {\n padding-left: 5rem;\n padding-right: 5rem;\n}\n\n.padding-y-80.sc-xplor-drag-and-drop-input {\n padding-top: 5rem;\n padding-bottom: 5rem;\n}\n\n.padding-64.sc-xplor-drag-and-drop-input {\n padding: 4rem;\n}\n\n.padding-t-64.sc-xplor-drag-and-drop-input {\n padding-top: 4rem;\n}\n\n.padding-r-64.sc-xplor-drag-and-drop-input {\n padding-right: 4rem;\n}\n\n.padding-b-64.sc-xplor-drag-and-drop-input {\n padding-bottom: 4rem;\n}\n\n.padding-l-64.sc-xplor-drag-and-drop-input {\n padding-left: 4rem;\n}\n\n.padding-x-64.sc-xplor-drag-and-drop-input {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n.padding-y-64.sc-xplor-drag-and-drop-input {\n padding-top: 4rem;\n padding-bottom: 4rem;\n}\n\n.padding-56.sc-xplor-drag-and-drop-input {\n padding: 3.5rem;\n}\n\n.padding-t-56.sc-xplor-drag-and-drop-input {\n padding-top: 3.5rem;\n}\n\n.padding-r-56.sc-xplor-drag-and-drop-input {\n padding-right: 3.5rem;\n}\n\n.padding-b-56.sc-xplor-drag-and-drop-input {\n padding-bottom: 3.5rem;\n}\n\n.padding-l-56.sc-xplor-drag-and-drop-input {\n padding-left: 3.5rem;\n}\n\n.padding-x-56.sc-xplor-drag-and-drop-input {\n padding-left: 3.5rem;\n padding-right: 3.5rem;\n}\n\n.padding-y-56.sc-xplor-drag-and-drop-input {\n padding-top: 3.5rem;\n padding-bottom: 3.5rem;\n}\n\n.padding-48.sc-xplor-drag-and-drop-input {\n padding: 3rem;\n}\n\n.padding-t-48.sc-xplor-drag-and-drop-input {\n padding-top: 3rem;\n}\n\n.padding-r-48.sc-xplor-drag-and-drop-input {\n padding-right: 3rem;\n}\n\n.padding-b-48.sc-xplor-drag-and-drop-input {\n padding-bottom: 3rem;\n}\n\n.padding-l-48.sc-xplor-drag-and-drop-input {\n padding-left: 3rem;\n}\n\n.padding-x-48.sc-xplor-drag-and-drop-input {\n padding-left: 3rem;\n padding-right: 3rem;\n}\n\n.padding-y-48.sc-xplor-drag-and-drop-input {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.padding-40.sc-xplor-drag-and-drop-input {\n padding: 2.5rem;\n}\n\n.padding-t-40.sc-xplor-drag-and-drop-input {\n padding-top: 2.5rem;\n}\n\n.padding-r-40.sc-xplor-drag-and-drop-input {\n padding-right: 2.5rem;\n}\n\n.padding-b-40.sc-xplor-drag-and-drop-input {\n padding-bottom: 2.5rem;\n}\n\n.padding-l-40.sc-xplor-drag-and-drop-input {\n padding-left: 2.5rem;\n}\n\n.padding-x-40.sc-xplor-drag-and-drop-input {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n\n.padding-y-40.sc-xplor-drag-and-drop-input {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n}\n\n.padding-32.sc-xplor-drag-and-drop-input {\n padding: 2rem;\n}\n\n.padding-t-32.sc-xplor-drag-and-drop-input {\n padding-top: 2rem;\n}\n\n.padding-r-32.sc-xplor-drag-and-drop-input {\n padding-right: 2rem;\n}\n\n.padding-b-32.sc-xplor-drag-and-drop-input {\n padding-bottom: 2rem;\n}\n\n.padding-l-32.sc-xplor-drag-and-drop-input {\n padding-left: 2rem;\n}\n\n.padding-x-32.sc-xplor-drag-and-drop-input {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n.padding-y-32.sc-xplor-drag-and-drop-input {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n\n.padding-24.sc-xplor-drag-and-drop-input {\n padding: 1.5rem;\n}\n\n.padding-t-24.sc-xplor-drag-and-drop-input {\n padding-top: 1.5rem;\n}\n\n.padding-r-24.sc-xplor-drag-and-drop-input {\n padding-right: 1.5rem;\n}\n\n.padding-b-24.sc-xplor-drag-and-drop-input {\n padding-bottom: 1.5rem;\n}\n\n.padding-l-24.sc-xplor-drag-and-drop-input {\n padding-left: 1.5rem;\n}\n\n.padding-x-24.sc-xplor-drag-and-drop-input {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.padding-y-24.sc-xplor-drag-and-drop-input {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n.padding-20.sc-xplor-drag-and-drop-input {\n padding: 1.25rem;\n}\n\n.padding-t-20.sc-xplor-drag-and-drop-input {\n padding-top: 1.25rem;\n}\n\n.padding-r-20.sc-xplor-drag-and-drop-input {\n padding-right: 1.25rem;\n}\n\n.padding-b-20.sc-xplor-drag-and-drop-input {\n padding-bottom: 1.25rem;\n}\n\n.padding-l-20.sc-xplor-drag-and-drop-input {\n padding-left: 1.25rem;\n}\n\n.padding-x-20.sc-xplor-drag-and-drop-input {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n.padding-y-20.sc-xplor-drag-and-drop-input {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n\n.padding-16.sc-xplor-drag-and-drop-input {\n padding: 1rem;\n}\n\n.padding-t-16.sc-xplor-drag-and-drop-input {\n padding-top: 1rem;\n}\n\n.padding-r-16.sc-xplor-drag-and-drop-input {\n padding-right: 1rem;\n}\n\n.padding-b-16.sc-xplor-drag-and-drop-input {\n padding-bottom: 1rem;\n}\n\n.padding-l-16.sc-xplor-drag-and-drop-input {\n padding-left: 1rem;\n}\n\n.padding-x-16.sc-xplor-drag-and-drop-input {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.padding-y-16.sc-xplor-drag-and-drop-input {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.padding-12.sc-xplor-drag-and-drop-input {\n padding: 0.75rem;\n}\n\n.padding-t-12.sc-xplor-drag-and-drop-input {\n padding-top: 0.75rem;\n}\n\n.padding-r-12.sc-xplor-drag-and-drop-input {\n padding-right: 0.75rem;\n}\n\n.padding-b-12.sc-xplor-drag-and-drop-input {\n padding-bottom: 0.75rem;\n}\n\n.padding-l-12.sc-xplor-drag-and-drop-input {\n padding-left: 0.75rem;\n}\n\n.padding-x-12.sc-xplor-drag-and-drop-input {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.padding-y-12.sc-xplor-drag-and-drop-input {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.padding-8.sc-xplor-drag-and-drop-input {\n padding: 0.5rem;\n}\n\n.padding-t-8.sc-xplor-drag-and-drop-input {\n padding-top: 0.5rem;\n}\n\n.padding-r-8.sc-xplor-drag-and-drop-input {\n padding-right: 0.5rem;\n}\n\n.padding-b-8.sc-xplor-drag-and-drop-input {\n padding-bottom: 0.5rem;\n}\n\n.padding-l-8.sc-xplor-drag-and-drop-input {\n padding-left: 0.5rem;\n}\n\n.padding-x-8.sc-xplor-drag-and-drop-input {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.padding-y-8.sc-xplor-drag-and-drop-input {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.padding-4.sc-xplor-drag-and-drop-input {\n padding: 0.25rem;\n}\n\n.padding-t-4.sc-xplor-drag-and-drop-input {\n padding-top: 0.25rem;\n}\n\n.padding-r-4.sc-xplor-drag-and-drop-input {\n padding-right: 0.25rem;\n}\n\n.padding-b-4.sc-xplor-drag-and-drop-input {\n padding-bottom: 0.25rem;\n}\n\n.padding-l-4.sc-xplor-drag-and-drop-input {\n padding-left: 0.25rem;\n}\n\n.padding-x-4.sc-xplor-drag-and-drop-input {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n\n.padding-y-4.sc-xplor-drag-and-drop-input {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n.sc-xplor-drag-and-drop-input-h {\n display: block;\n}\n\n.drag-drop-zone.sc-xplor-drag-and-drop-input {\n position: relative;\n padding-bottom: 2.5rem;\n}\n\n.drag-drop-input-hidden.sc-xplor-drag-and-drop-input {\n display: none;\n}\n\n.drag-drop-card.sc-xplor-drag-and-drop-input {\n background-color: #f5f5f5;\n border-radius: 8px;\n border: 2px dashed var(--color-secondary);\n min-height: 160px;\n padding: 1rem 1.5rem 2rem;\n text-align: center;\n transition: all 0.2s ease;\n cursor: default;\n}\n.drag-drop-card.sc-xplor-drag-and-drop-input:hover:not(.drag-drop-card--disabled) {\n border-color: var(--color-secondary);\n background-color: #eeeeee;\n}\n.drag-drop-card--dragover.sc-xplor-drag-and-drop-input {\n border: 2px dashed var(--color-secondary);\n background-color: #eeeeee;\n}\n.drag-drop-card--disabled.sc-xplor-drag-and-drop-input {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.drag-drop-card__content.sc-xplor-drag-and-drop-input {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0 0;\n}\n\n.drag-drop-card__icon.sc-xplor-drag-and-drop-input {\n color: var(--color-secondary);\n width: 40px;\n height: 40px;\n}\n\n.drag-drop-card__title.sc-xplor-drag-and-drop-input {\n color: #000000;\n font-family: Inter, sans-serif;\n font-size: 18px;\n font-weight: 700;\n line-height: 24px;\n letter-spacing: 0;\n margin: 0;\n}\n\n.drag-drop-card__accepts.sc-xplor-drag-and-drop-input, .drag-drop-card__divider.sc-xplor-drag-and-drop-input {\n color: #000000;\n font-family: Inter, sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n margin: 0;\n}\n\n.drag-drop-card__action.sc-xplor-drag-and-drop-input {\n position: absolute;\n left: 50%;\n bottom: 0;\n transform: translateX(-50%);\n}\n\n.file-info.sc-xplor-drag-and-drop-input {\n margin-top: 1.5rem;\n}\n\n.file-info__status.sc-xplor-drag-and-drop-input {\n font-family: Inter, sans-serif;\n font-size: 14px;\n font-weight: 400;\n line-height: 20px;\n color: #616161;\n margin: 0 0 0.5rem 0;\n}\n\n.file-info__card.sc-xplor-drag-and-drop-input {\n display: flex;\n align-items: flex-start;\n gap: 0.75rem;\n background-color: #ffffff;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n padding: 0.75rem 1rem;\n}\n\n.file-info__icon.sc-xplor-drag-and-drop-input {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: 8px;\n background-color: var(--color-secondary-50, #f3e5f5);\n color: var(--color-secondary);\n}\n\n.file-info__details.sc-xplor-drag-and-drop-input {\n flex: 1;\n min-width: 0;\n}\n\n.file-info__name.sc-xplor-drag-and-drop-input {\n font-family: Inter, sans-serif;\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n color: #000000;\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.file-info__meta.sc-xplor-drag-and-drop-input {\n font-family: Inter, sans-serif;\n font-size: 12px;\n font-weight: 400;\n line-height: 18px;\n color: var(--color-secondary);\n margin: 0.25rem 0 0 0;\n}\n\n.file-info__progress-row.sc-xplor-drag-and-drop-input {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-top: 0.5rem;\n}\n\n.file-info__progress-bar.sc-xplor-drag-and-drop-input {\n flex: 1;\n height: 6px;\n background-color: #eeeeee;\n border-radius: 3px;\n overflow: hidden;\n}\n\n.file-info__progress-fill.sc-xplor-drag-and-drop-input {\n height: 100%;\n background-color: var(--color-secondary);\n border-radius: 3px;\n transition: width 0.3s ease;\n}\n\n.file-info__progress-text.sc-xplor-drag-and-drop-input {\n font-family: Inter, sans-serif;\n font-size: 12px;\n font-weight: 400;\n line-height: 18px;\n color: #757575;\n flex-shrink: 0;\n min-width: 32px;\n text-align: right;\n}\n\n.file-info__remove.sc-xplor-drag-and-drop-input {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n border: none;\n background-color: #eeeeee;\n color: #757575;\n cursor: pointer;\n padding: 0;\n transition: background-color 0.2s ease;\n}\n.file-info__remove.sc-xplor-drag-and-drop-input:hover {\n background-color: #e0e0e0;\n color: #424242;\n}\n\n@media (max-width: 768px) {\n .drag-drop-card.sc-xplor-drag-and-drop-input {\n min-height: 140px;\n }\n .drag-drop-card__title.sc-xplor-drag-and-drop-input {\n font-size: 16px;\n line-height: 22px;\n }\n .drag-drop-card__accepts.sc-xplor-drag-and-drop-input, .drag-drop-card__divider.sc-xplor-drag-and-drop-input {\n font-size: 13px;\n line-height: 18px;\n }\n}";
|
|
6180
6372
|
|
|
6181
6373
|
const DEFAULT_ACCEPT_ALL$1 = '*' + '/' + '*';
|
|
6182
6374
|
class XplorDragAndDropInput {
|
|
@@ -6195,11 +6387,15 @@ class XplorDragAndDropInput {
|
|
|
6195
6387
|
/**
|
|
6196
6388
|
* Instruction text displayed in the drop zone
|
|
6197
6389
|
*/
|
|
6198
|
-
this.label = 'Drag and drop your
|
|
6390
|
+
this.label = 'Drag and drop your files here';
|
|
6199
6391
|
/**
|
|
6200
6392
|
* Browse button label text
|
|
6201
6393
|
*/
|
|
6202
6394
|
this.browseLabel = 'Browse Files';
|
|
6395
|
+
/**
|
|
6396
|
+
* Upload progress percentage (0-100). Set to -1 or leave undefined to hide the progress bar.
|
|
6397
|
+
*/
|
|
6398
|
+
this.progress = -1;
|
|
6203
6399
|
this.dragover = false;
|
|
6204
6400
|
this.currentFile = null;
|
|
6205
6401
|
this.onDrop = (e) => {
|
|
@@ -6255,6 +6451,34 @@ class XplorDragAndDropInput {
|
|
|
6255
6451
|
}
|
|
6256
6452
|
return accepts;
|
|
6257
6453
|
};
|
|
6454
|
+
this.formatFileSize = (bytes) => {
|
|
6455
|
+
if (bytes === 0)
|
|
6456
|
+
return '0 Bytes';
|
|
6457
|
+
const k = 1024;
|
|
6458
|
+
const sizes = ['Bytes', 'KB', 'MB', 'GB'];
|
|
6459
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
6460
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
|
|
6461
|
+
};
|
|
6462
|
+
this.formatDate = (timestamp) => {
|
|
6463
|
+
const date = new Date(timestamp);
|
|
6464
|
+
const day = date.getDate();
|
|
6465
|
+
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
6466
|
+
const month = months[date.getMonth()];
|
|
6467
|
+
const year = date.getFullYear();
|
|
6468
|
+
const suffix = (day === 1 || day === 21 || day === 31) ? 'st'
|
|
6469
|
+
: (day === 2 || day === 22) ? 'nd'
|
|
6470
|
+
: (day === 3 || day === 23) ? 'rd'
|
|
6471
|
+
: 'th';
|
|
6472
|
+
const hours = date.getHours();
|
|
6473
|
+
const minutes = date.getMinutes().toString().padStart(2, '0');
|
|
6474
|
+
const seconds = date.getSeconds().toString().padStart(2, '0');
|
|
6475
|
+
const ampm = hours >= 12 ? 'PM' : 'AM';
|
|
6476
|
+
const displayHours = hours % 12 || 12;
|
|
6477
|
+
return `${day}${suffix} ${month} ${year}, ${displayHours}:${minutes}:${seconds} ${ampm}`;
|
|
6478
|
+
};
|
|
6479
|
+
this.showProgress = () => {
|
|
6480
|
+
return this.progress >= 0 && this.progress <= 100;
|
|
6481
|
+
};
|
|
6258
6482
|
}
|
|
6259
6483
|
/**
|
|
6260
6484
|
* Clears the currently selected file
|
|
@@ -6267,11 +6491,15 @@ class XplorDragAndDropInput {
|
|
|
6267
6491
|
this.fileClear.emit();
|
|
6268
6492
|
}
|
|
6269
6493
|
render() {
|
|
6270
|
-
|
|
6494
|
+
const progressValue = Math.min(Math.max(this.progress, 0), 100);
|
|
6495
|
+
const dropZoneLabel = this.ariaLabel || `${this.label}. Accepted file types: ${this.getAcceptsLabel()}. Or use the ${this.browseLabel} button.`;
|
|
6496
|
+
return (hAsync(Host, { key: '4ca1a26f1c043761a3bcafebf3ccdf57ec17467b' }, hAsync("div", { key: '60c9f55d838820e2d9c087fbb652559944ecfc36', class: "drag-drop-zone" }, hAsync("div", { key: 'f15e206b7f1e1741f5ee96681e000400e72d66b1', class: {
|
|
6271
6497
|
'drag-drop-card': true,
|
|
6272
6498
|
'drag-drop-card--dragover': this.dragover,
|
|
6273
6499
|
'drag-drop-card--disabled': this.disabled,
|
|
6274
|
-
}, onDrop: this.onDrop, onDragOver: this.onDragOver, onDragEnter: this.onDragEnter, onDragLeave: this.onDragLeave }, hAsync("div", { key: '
|
|
6500
|
+
}, onDrop: this.onDrop, onDragOver: this.onDragOver, onDragEnter: this.onDragEnter, onDragLeave: this.onDragLeave, role: "region", "aria-label": dropZoneLabel }, hAsync("div", { key: '49325fd7ff2d44a045eba593e2cb3708316a5be4', class: "drag-drop-card__content" }, hAsync("svg", { key: '23b8f38df073266201a01ec78a45b1cac924a3e4', class: "drag-drop-card__icon", xmlns: "http://www.w3.org/2000/svg", width: "40", height: "40", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true" }, hAsync("path", { key: 'eb1c750d1657fd578cf15c9bc16d5d1885d703e8', d: "M19.35 10.04C18.67 6.59 15.64 4 12 4C9.11 4 6.6 5.64 5.35 8.04C2.34 8.36 0 10.91 0 14C0 17.31 2.69 20 6 20H19C21.76 20 24 17.76 24 15C24 12.36 21.95 10.22 19.35 10.04Z", fill: "currentColor", opacity: "0.3" }), hAsync("path", { key: '04dc16407d2abd999fbef9cc02346d499644f0a7', d: "M19.35 10.04C18.67 6.59 15.64 4 12 4C9.11 4 6.6 5.64 5.35 8.04C2.34 8.36 0 10.91 0 14C0 17.31 2.69 20 6 20H19C21.76 20 24 17.76 24 15C24 12.36 21.95 10.22 19.35 10.04ZM14 13V17H10V13H7L12 8L17 13H14Z", fill: "currentColor" })), hAsync("h3", { key: '82c31b56cb5f17445748e0bfb8668caef4ceea59', class: "drag-drop-card__title" }, this.label), hAsync("p", { key: '69f3cf01f58dc8f3e2e13782be2a0274f2925a0d', class: "drag-drop-card__accepts" }, "Accepted file types: ", this.getAcceptsLabel()), hAsync("p", { key: '0a6221601983e61cb4a0afd4a5178377b59b4ce4', class: "drag-drop-card__divider" }, "or"))), hAsync("div", { key: '164c31d1407d492e415a086ae97dc8081a32eccc', class: "drag-drop-card__action" }, hAsync("xplor-button", { key: 'b47c05a246700472cebc32c551096ad17f12da77', text: this.browseLabel, type: this.disabled ? 'disabled' : 'secondary', clickAction: this.openFileDialog, "aria-label": this.browseLabel }))), this.currentFile && (hAsync("div", { key: '6e74d72d3545bc85f91a6d55865743bde26eba78', class: "file-info", "aria-live": "polite" }, this.showProgress() && (hAsync("p", { key: '7884acf7b14ddcd052a11b53131e6fea03c0376d', class: "file-info__status" }, "Uploading ", this.progress === 100 ? '1' : '0', " / 1")), hAsync("div", { key: '980b31adfde06383bdbe9d03f868a9cf907c83f8', class: "file-info__card" }, hAsync("div", { key: 'c9ed4fc96a229e748a461d788ed60a8b7c693f7c', class: "file-info__icon", "aria-hidden": "true" }, hAsync("svg", { key: '1749fafd0495beacdbbf2f89b2cf62c2530101db', xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor" }, hAsync("path", { key: '1b114d4b5b0f055534ba5f6a476d413600829c74', d: "M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2ZM6 20V4H13V9H18V20H6Z" }))), hAsync("div", { key: '45608139178d2d821a6aeb39d75b1aa4117ca12a', class: "file-info__details" }, hAsync("p", { key: '66df2443dd4dd310891e30f78ccd007df726afd3', class: "file-info__name" }, this.currentFile.name), hAsync("p", { key: 'f8efc8b19987c88e7ff7de242b7ad3df4ff5962e', class: "file-info__meta" }, this.formatFileSize(this.currentFile.size), this.currentFile.lastModified
|
|
6501
|
+
? ` | Last modified: ${this.formatDate(this.currentFile.lastModified)}`
|
|
6502
|
+
: ''), this.showProgress() && (hAsync("div", { key: 'eb384d34fcb7908a39bb3dd1520389f8bc35a8fd', class: "file-info__progress-row" }, hAsync("div", { key: 'bbfb481fa86247c231db4c7505009d1a991c85d2', class: "file-info__progress-bar", role: "progressbar", "aria-valuenow": progressValue, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `Upload progress: ${Math.round(progressValue)}%` }, hAsync("div", { key: '8b93dcc26a1497783c4ef832b75c202e639a04ff', class: "file-info__progress-fill", style: { width: `${progressValue}%` } })), hAsync("span", { key: 'a429605ee278d74660a717bc04765ca21af60f64', class: "file-info__progress-text", "aria-hidden": "true" }, Math.round(this.progress), "%")))), hAsync("button", { key: '5ede3c138b788270b45a053ccf2504a35a5037ed', class: "file-info__remove", onClick: () => this.clearCurrentFile(), "aria-label": `Remove file ${this.currentFile.name}` }, hAsync("svg", { key: '0a5c03471e01b7f59dadaff6c8ea08b746c8c4c2', xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true" }, hAsync("path", { key: '29a950f57d7a7d9aa74262f64fc055d8230e4453', d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12Z" })))))), hAsync("input", { key: '437111b2dbd80a8aaf1a2a4105bc8298431b2b95', id: "drag-drop-file-select", type: "file", disabled: this.disabled, accept: this.accepts, class: "drag-drop-input-hidden", ref: (el) => (this.fileInputEl = el), onChange: this.onFileSelect, "aria-label": `${this.browseLabel} - ${this.label}`, tabindex: -1 })));
|
|
6275
6503
|
}
|
|
6276
6504
|
static get style() { return xplorDragAndDropInputCss; }
|
|
6277
6505
|
static get cmpMeta() { return {
|
|
@@ -6282,6 +6510,8 @@ class XplorDragAndDropInput {
|
|
|
6282
6510
|
"accepts": [1],
|
|
6283
6511
|
"label": [1],
|
|
6284
6512
|
"browseLabel": [1, "browse-label"],
|
|
6513
|
+
"ariaLabel": [1, "aria-label"],
|
|
6514
|
+
"progress": [2],
|
|
6285
6515
|
"dragover": [32],
|
|
6286
6516
|
"currentFile": [32],
|
|
6287
6517
|
"clearCurrentFile": [64]
|
|
@@ -6299,7 +6529,7 @@ class XplorDropdown {
|
|
|
6299
6529
|
registerInstance(this, hostRef);
|
|
6300
6530
|
}
|
|
6301
6531
|
render() {
|
|
6302
|
-
return (hAsync(Host, { key: '
|
|
6532
|
+
return (hAsync(Host, { key: 'bfd5bc76c18f4c7882ec47389978338eec81b1d1' }, hAsync("select", { key: '54310c80fdda944ca6d9cc8faaf643e79d4a5f32', class: "xplor-dropdown", onChange: this.handleChange }, this.options.map((option) => (hAsync("option", { value: option, selected: this.selected === option }, option))))));
|
|
6303
6533
|
}
|
|
6304
6534
|
static get style() { return xplorDropdownCss; }
|
|
6305
6535
|
static get cmpMeta() { return {
|
|
@@ -6347,16 +6577,16 @@ class XplorExpansionPanel {
|
|
|
6347
6577
|
}
|
|
6348
6578
|
}
|
|
6349
6579
|
render() {
|
|
6350
|
-
return (hAsync(Host, { key: '
|
|
6580
|
+
return (hAsync(Host, { key: 'f2b19e6a1ad6315341e0840e2c000a1123caa7e0' }, hAsync("div", { key: '1cb9ca368efb2f9e16c64c3987546f3d16981a2b', class: {
|
|
6351
6581
|
'expansion-panel': true,
|
|
6352
6582
|
'expansion-panel--open': this.open,
|
|
6353
6583
|
'expansion-panel--disabled': this.disabled,
|
|
6354
|
-
} }, hAsync("button", { key: '
|
|
6584
|
+
} }, hAsync("button", { key: '5c2b82b2f13395137413e7f86160ac132c44b7ee', class: "expansion-panel__header", onClick: this.handleToggle, disabled: this.disabled, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `${this.panelId}-content`, type: "button" }, hAsync("div", { key: 'c1534981f842b0b7d75a6c8135a12fb6f209639c', class: "expansion-panel__header-content" }, hAsync("slot", { key: '01c5a0a1dfacdf730ec82dc0a09916d159d1c016', name: "header" })), hAsync("span", { key: 'f82ea607638e601be6b956f9ad5c6d31d6461ec6', class: {
|
|
6355
6585
|
'expansion-panel__icon': true,
|
|
6356
6586
|
'expansion-panel__icon--open': this.open,
|
|
6357
|
-
} }, "\u25BC")), hAsync("div", { key: '
|
|
6587
|
+
} }, "\u25BC")), hAsync("div", { key: '385abb97450d912cda5fbd3bc5a5e48ea8ce8a0d', class: "expansion-panel__content", id: `${this.panelId}-content`, role: "region", "aria-labelledby": this.panelId, style: {
|
|
6358
6588
|
maxHeight: this.open ? `${this.contentHeight}px` : '0',
|
|
6359
|
-
} }, hAsync("div", { key: '
|
|
6589
|
+
} }, hAsync("div", { key: '12c32ef07b6084b8528bf4800101afe0707adf05', class: "expansion-panel__content-inner", ref: (el) => (this.contentEl = el) }, hAsync("slot", { key: 'a18755879b94fc09948ed8128d73cfb3b0639885' }))))));
|
|
6360
6590
|
}
|
|
6361
6591
|
get el() { return getElement(this); }
|
|
6362
6592
|
static get style() { return xplorExpansionPanelCss; }
|
|
@@ -6412,7 +6642,7 @@ class XplorExpansionPanels {
|
|
|
6412
6642
|
this.value = this.multiple ? Array.from(this.openPanels) : Array.from(this.openPanels)[0] || '';
|
|
6413
6643
|
}
|
|
6414
6644
|
render() {
|
|
6415
|
-
return (hAsync(Host, { key: '
|
|
6645
|
+
return (hAsync(Host, { key: 'c55c8eef4f6f134c83f2f8dffcb434401596a095' }, hAsync("div", { key: 'd29c006de658c679ce5cfa2a465b9e5756b8bba5', class: "expansion-panels", "aria-label": "Accordion" }, hAsync("slot", { key: '32560ca5fa3b041e6e1f5f8011df9fef8f50cc6f' }))));
|
|
6416
6646
|
}
|
|
6417
6647
|
static get style() { return xplorExpansionPanelsCss; }
|
|
6418
6648
|
static get cmpMeta() { return {
|
|
@@ -6571,11 +6801,11 @@ class XplorFileUpload {
|
|
|
6571
6801
|
return Math.round(bytes / Math.pow(k, i) * 100) / 100 + ' ' + sizes[i];
|
|
6572
6802
|
}
|
|
6573
6803
|
render() {
|
|
6574
|
-
return (hAsync(Host, { key: '9c3ad81ff741fe6324a5e8af562c740965024df1' }, hAsync("div", { key: 'b0b9bb545ce5a4e74c38bc6b49f7681f6e10dd89', class: "file-upload" }, hAsync("div", { key: '
|
|
6804
|
+
return (hAsync(Host, { key: '9c3ad81ff741fe6324a5e8af562c740965024df1' }, hAsync("div", { key: 'b0b9bb545ce5a4e74c38bc6b49f7681f6e10dd89', class: "file-upload" }, hAsync("div", { key: '791a95676b8e640b7dbd84b6ccf95627e5a10d7e', class: {
|
|
6575
6805
|
'file-upload__dropzone': true,
|
|
6576
6806
|
'file-upload__dropzone--dragging': this.isDragging,
|
|
6577
6807
|
'file-upload__dropzone--disabled': this.disabled,
|
|
6578
|
-
}, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, hAsync("input", { key: '
|
|
6808
|
+
}, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop, "aria-label": `Drop zone for file upload. ${this.accepts !== '*/*' ? `Accepts: ${this.accepts}.` : ''} Maximum size: ${this.formatFileSize(this.maxSize)}` }, hAsync("input", { key: 'c2b392d7fdd995819bceec3fa6122f457d78c2a4', ref: (el) => (this.fileInputEl = el), type: "file", accept: this.accepts, multiple: this.multiple, disabled: this.disabled, onChange: this.handleFileSelect, class: "file-upload__input" }), hAsync("div", { key: '33e9ca40b7db3df954ea7221104a5191807ff05a', class: "file-upload__content" }, hAsync("svg", { key: '84c718d713b36dd0b227a234c9b05f7a54bfeb02', class: "file-upload__icon", width: "48", height: "48", viewBox: "0 0 24 24", fill: "none" }, hAsync("path", { key: '21c50cf95b559252a2604352a6d14b0b051d5480', d: "M12 15V3M12 3L8 7M12 3L16 7", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), hAsync("path", { key: '51d16f53f6553d9df2348e10f163b174efb61913', d: "M2 17L2 19C2 20.1046 2.89543 21 4 21L20 21C21.1046 21 22 20.1046 22 19L22 17", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })), hAsync("p", { key: '854efe384b8f181d5200d959db6633a6492c28f1', class: "file-upload__text" }, "Drag & drop files here or", ' ', hAsync("button", { key: 'e83a3a2f6e6caee30173579c6397edacd6e1c8a8', type: "button", class: "file-upload__button", onClick: this.handleButtonClick, disabled: this.disabled }, this.label)), hAsync("p", { key: 'a667e6665ce619f854c247626454efad11131568', class: "file-upload__hint" }, "Max size: ", this.formatFileSize(this.maxSize), this.accepts !== '*/*' && ` • Accepts: ${this.accepts}`))), this.error && (hAsync("div", { key: '872a3eceb9eebbd35a06c0d841cf486e13bd48ea', class: "file-upload__error", role: "alert" }, this.error)), this.files.length > 0 && (hAsync("div", { key: '15cc50322682fd1d555d313d089f18f92bfbb77d', class: "file-upload__files" }, this.files.map((file) => (hAsync("div", { key: file.id, class: "file-upload__file" }, file.dataUrl && (hAsync("img", { src: file.dataUrl, alt: file.name, class: "file-upload__preview" })), hAsync("div", { class: "file-upload__file-info" }, hAsync("span", { class: "file-upload__file-name", title: file.name }, file.name), hAsync("span", { class: "file-upload__file-size" }, this.formatFileSize(file.size))), hAsync("button", { type: "button", class: "file-upload__remove", onClick: () => this.handleRemoveFile(file), "aria-label": `Remove ${file.name}` }, "\u00D7")))))))));
|
|
6579
6809
|
}
|
|
6580
6810
|
static get style() { return xplorFileUploadCss; }
|
|
6581
6811
|
static get cmpMeta() { return {
|
|
@@ -6636,9 +6866,9 @@ class XplorInlineCheckbox {
|
|
|
6636
6866
|
'xplor-inline-checkbox--disabled': this.disabled,
|
|
6637
6867
|
'xplor-inline-checkbox--checked': this.checked,
|
|
6638
6868
|
};
|
|
6639
|
-
return (hAsync(Host, { key: '
|
|
6869
|
+
return (hAsync(Host, { key: '2273357108dc65e665f9fdd9dcece4d4ed8edac3' }, hAsync("label", { key: '630091008ad489a1cc4c0e71ef1ae802ef4b0c89', class: containerClasses }, hAsync("input", { key: '0c823ba53cb0d25d4823e42bcb037efaeddff405', type: "checkbox", class: "xplor-inline-checkbox__input", checked: this.checked, value: this.value, disabled: this.disabled, indeterminate: this.indeterminate, onChange: this.handleChange, style: {
|
|
6640
6870
|
accentColor: this.color,
|
|
6641
|
-
} }), this.label && hAsync("span", { key: '
|
|
6871
|
+
} }), this.label && hAsync("span", { key: '9e1bbb0bd85cc7cfe7d760501507d68dcc3bf3c2', class: "xplor-inline-checkbox__label" }, this.label), hAsync("slot", { key: '7a95d78de68af2887149bd6eb9f08330b9c57d6b' }))));
|
|
6642
6872
|
}
|
|
6643
6873
|
static get style() { return xplorInlineCheckboxCss; }
|
|
6644
6874
|
static get cmpMeta() { return {
|
|
@@ -6689,6 +6919,7 @@ class XplorInlineDatePicker {
|
|
|
6689
6919
|
* Whether to start week on Sunday (default: true)
|
|
6690
6920
|
*/
|
|
6691
6921
|
this.startWeekOnSunday = true;
|
|
6922
|
+
this.focusedDay = 0;
|
|
6692
6923
|
this.monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
6693
6924
|
this.dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
6694
6925
|
this.dayNamesStartMonday = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
|
|
@@ -6783,7 +7014,7 @@ class XplorInlineDatePicker {
|
|
|
6783
7014
|
'xplor-inline-date-picker__day--today': isToday,
|
|
6784
7015
|
'xplor-inline-date-picker__day--selected': isSelected,
|
|
6785
7016
|
'xplor-inline-date-picker__day--disabled': isDisabled,
|
|
6786
|
-
}, onClick: () => !isDisabled && this.selectDate(day) }, day));
|
|
7017
|
+
}, onClick: () => !isDisabled && this.selectDate(day), role: "gridcell", "aria-selected": isSelected ? 'true' : 'false', "aria-current": isToday ? 'date' : undefined, "aria-disabled": isDisabled ? 'true' : undefined, tabIndex: day === this.focusedDay ? 0 : -1, "data-day": day }, day));
|
|
6787
7018
|
}
|
|
6788
7019
|
return days;
|
|
6789
7020
|
};
|
|
@@ -6803,12 +7034,75 @@ class XplorInlineDatePicker {
|
|
|
6803
7034
|
this.currentYear = date.getFullYear();
|
|
6804
7035
|
this.currentMonth = date.getMonth();
|
|
6805
7036
|
this.viewDate = new Date(this.currentYear, this.currentMonth, 1);
|
|
7037
|
+
this.focusedDay = date.getDate();
|
|
7038
|
+
}
|
|
7039
|
+
handleKeyDown(event) {
|
|
7040
|
+
const daysInMonth = this.getDaysInMonth();
|
|
7041
|
+
switch (event.key) {
|
|
7042
|
+
case 'ArrowLeft':
|
|
7043
|
+
event.preventDefault();
|
|
7044
|
+
if (this.focusedDay > 1) {
|
|
7045
|
+
this.focusedDay--;
|
|
7046
|
+
}
|
|
7047
|
+
else {
|
|
7048
|
+
this.previousMonth();
|
|
7049
|
+
this.focusedDay = this.getDaysInMonth();
|
|
7050
|
+
}
|
|
7051
|
+
break;
|
|
7052
|
+
case 'ArrowRight':
|
|
7053
|
+
event.preventDefault();
|
|
7054
|
+
if (this.focusedDay < daysInMonth) {
|
|
7055
|
+
this.focusedDay++;
|
|
7056
|
+
}
|
|
7057
|
+
else {
|
|
7058
|
+
this.nextMonth();
|
|
7059
|
+
this.focusedDay = 1;
|
|
7060
|
+
}
|
|
7061
|
+
break;
|
|
7062
|
+
case 'ArrowUp':
|
|
7063
|
+
event.preventDefault();
|
|
7064
|
+
if (this.focusedDay > 7) {
|
|
7065
|
+
this.focusedDay -= 7;
|
|
7066
|
+
}
|
|
7067
|
+
else {
|
|
7068
|
+
this.previousMonth();
|
|
7069
|
+
this.focusedDay = this.getDaysInMonth() - (7 - this.focusedDay);
|
|
7070
|
+
}
|
|
7071
|
+
break;
|
|
7072
|
+
case 'ArrowDown':
|
|
7073
|
+
event.preventDefault();
|
|
7074
|
+
if (this.focusedDay + 7 <= daysInMonth) {
|
|
7075
|
+
this.focusedDay += 7;
|
|
7076
|
+
}
|
|
7077
|
+
else {
|
|
7078
|
+
const remainder = this.focusedDay + 7 - daysInMonth;
|
|
7079
|
+
this.nextMonth();
|
|
7080
|
+
this.focusedDay = remainder;
|
|
7081
|
+
}
|
|
7082
|
+
break;
|
|
7083
|
+
case 'Enter':
|
|
7084
|
+
case ' ':
|
|
7085
|
+
event.preventDefault();
|
|
7086
|
+
if (this.focusedDay >= 1 && this.focusedDay <= daysInMonth) {
|
|
7087
|
+
this.selectDate(this.focusedDay);
|
|
7088
|
+
}
|
|
7089
|
+
break;
|
|
7090
|
+
default:
|
|
7091
|
+
return;
|
|
7092
|
+
}
|
|
7093
|
+
// Focus the day cell after render
|
|
7094
|
+
requestAnimationFrame(() => {
|
|
7095
|
+
const dayEl = this.el.querySelector(`[data-day="${this.focusedDay}"]`);
|
|
7096
|
+
if (dayEl)
|
|
7097
|
+
dayEl.focus();
|
|
7098
|
+
});
|
|
6806
7099
|
}
|
|
6807
7100
|
render() {
|
|
6808
7101
|
const sidebarDate = this.getSidebarDate();
|
|
6809
7102
|
const dayHeaders = this.startWeekOnSunday ? this.dayNames : this.dayNamesStartMonday;
|
|
6810
|
-
return (hAsync(Host, { key: '
|
|
7103
|
+
return (hAsync(Host, { key: '80febb025a7aa5f0ca6f1e2370eb4258bee8d248' }, hAsync("div", { key: 'debf9345ef19400a3eaefeff63e41639e6fd0a81', class: "xplor-inline-date-picker", style: { '--picker-color': this.color } }, hAsync("div", { key: 'c3580aeec39d5305aa9b03e1198ed98ef7321a5d', class: "xplor-inline-date-picker__sidebar" }, hAsync("div", { key: 'f657dcf267477af5390386d61aaa01836b3e70a5', class: "xplor-inline-date-picker__sidebar-year" }, sidebarDate.year), hAsync("div", { key: '66283f6555f37ba7100be5af9d21ac3a7c99f3fa', class: "xplor-inline-date-picker__sidebar-day" }, sidebarDate.day, ","), hAsync("div", { key: 'f479af2fc60e60060a4b43f62b18d1164b762efd', class: "xplor-inline-date-picker__sidebar-date" }, sidebarDate.date)), hAsync("div", { key: '7c60d94c66b60653cd03c0b7e0585bef5cf4fdb0', class: "xplor-inline-date-picker__calendar" }, hAsync("div", { key: 'ac94d2e0c42be967c28af3fa2ccad0316f7220a6', class: "xplor-inline-date-picker__header" }, hAsync("button", { key: '02ab5127e6d25a6832277997177ae760f9e3e602', type: "button", class: "xplor-inline-date-picker__arrow", onClick: this.previousMonth, "aria-label": "Previous month" }, "\u2039"), hAsync("div", { key: '11ec1328d212eea25df1d30e5608ac744a91a74b', class: "xplor-inline-date-picker__title" }, this.monthNames[this.currentMonth], " ", this.currentYear), hAsync("button", { key: '40a7d69baca4784254fbde45a5b2488c6ee94c2c', type: "button", class: "xplor-inline-date-picker__arrow", onClick: this.nextMonth, "aria-label": "Next month" }, "\u203A")), hAsync("div", { key: 'ee2b65a6d095192b41c1f2f81dc326fee817ddda', class: "xplor-inline-date-picker__weekdays" }, dayHeaders.map((day) => (hAsync("div", { class: "xplor-inline-date-picker__weekday" }, day)))), hAsync("div", { key: 'a789c627f00ff649d40fe099b53fa35bc561a148', class: "xplor-inline-date-picker__days", role: "grid" }, this.renderCalendarDays())))));
|
|
6811
7104
|
}
|
|
7105
|
+
get el() { return getElement(this); }
|
|
6812
7106
|
static get style() { return xplorInlineDatePickerCss; }
|
|
6813
7107
|
static get cmpMeta() { return {
|
|
6814
7108
|
"$flags$": 2,
|
|
@@ -6822,9 +7116,10 @@ class XplorInlineDatePicker {
|
|
|
6822
7116
|
"startWeekOnSunday": [4, "start-week-on-sunday"],
|
|
6823
7117
|
"currentYear": [32],
|
|
6824
7118
|
"currentMonth": [32],
|
|
6825
|
-
"viewDate": [32]
|
|
7119
|
+
"viewDate": [32],
|
|
7120
|
+
"focusedDay": [32]
|
|
6826
7121
|
},
|
|
6827
|
-
"$listeners$":
|
|
7122
|
+
"$listeners$": [[0, "keydown", "handleKeyDown"]],
|
|
6828
7123
|
"$lazyBundleId$": "-",
|
|
6829
7124
|
"$attrsToReflect$": []
|
|
6830
7125
|
}; }
|
|
@@ -6864,7 +7159,7 @@ class XplorInlineSwitch {
|
|
|
6864
7159
|
'xplor-inline-switch--disabled': this.disabled,
|
|
6865
7160
|
'xplor-inline-switch--checked': this.checked,
|
|
6866
7161
|
};
|
|
6867
|
-
return (hAsync(Host, { key: '
|
|
7162
|
+
return (hAsync(Host, { key: 'd881ff0653ee51f1ddc8c146ccc6f70f3c128e3b' }, hAsync("label", { key: '2ffe4cdf99f925c5973657769f056cffb8bea283', class: containerClasses, style: { '--switch-color': this.color } }, hAsync("input", { key: '60fb990d1dce371c3579da91bd0d9fd4dd50f82b', type: "checkbox", class: "xplor-inline-switch__input", checked: this.checked, value: this.value, disabled: this.disabled, onChange: this.handleChange }), hAsync("span", { key: '28e9f5444653009f4b56d510c2d73ba710e93115', class: "xplor-inline-switch__track" }, hAsync("span", { key: 'f002449aa843c0b268dbc38d94dbf44a0e68d0de', class: "xplor-inline-switch__thumb" })), this.label && hAsync("span", { key: 'f460d55e6cbaab94806c8025a1d17cd4d4b6790b', class: "xplor-inline-switch__label" }, this.label), hAsync("slot", { key: '59e3248368aab93dd48287f3facdbe9221a39f5b' }))));
|
|
6868
7163
|
}
|
|
6869
7164
|
static get style() { return xplorInlineSwitchCss; }
|
|
6870
7165
|
static get cmpMeta() { return {
|
|
@@ -6885,11 +7180,13 @@ class XplorInlineSwitch {
|
|
|
6885
7180
|
|
|
6886
7181
|
const xplorInputFileCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-input-file {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-input-file {\n width: 600px !important;\n }\n}\nh1.sc-xplor-input-file {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-input-file {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-input-file {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-input-file {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-input-file, ul.sc-xplor-input-file {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-input-file li.sc-xplor-input-file, ul.sc-xplor-input-file li.sc-xplor-input-file {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-input-file, ul.mdc-list.sc-xplor-input-file {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-input-file li.mdc-list-item.sc-xplor-input-file, ul.mdc-list.sc-xplor-input-file li.mdc-list-item.sc-xplor-input-file {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-input-file {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-input-file {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-input-file {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-input-file {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-input-file .mdc-text-field--outlined.sc-xplor-input-file .mdc-notched-outline__notch.sc-xplor-input-file {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-input-file .mdc-notched-outline__notch.sc-xplor-input-file {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-input-file .mdc-notched-outline.sc-xplor-input-file .mdc-notched-outline__notch.sc-xplor-input-file {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-input-file {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-input-file:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-input-file {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-input-file-h {\n display: block;\n}\n\n.xplor-input-file.sc-xplor-input-file {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n.xplor-input-file__label.sc-xplor-input-file {\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 0.25rem;\n}\n.xplor-input-file__field.sc-xplor-input-file {\n position: relative;\n display: flex;\n align-items: center;\n padding: 0.875rem 1rem;\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-radius: 1rem;\n background-color: white;\n cursor: pointer;\n transition: border-color 0.2s ease;\n gap: 0.75rem;\n}\n.xplor-input-file__field.sc-xplor-input-file:hover:not(.xplor-input-file--disabled .xplor-input-file__field) {\n border-color: rgba(0, 0, 0, 0.6);\n}\n.xplor-input-file__field.sc-xplor-input-file:focus-within {\n border-color: #008480;\n border-width: 2px;\n padding: calc(0.875rem - 1px) calc(1rem - 1px);\n}\n.xplor-input-file--disabled.sc-xplor-input-file .xplor-input-file__field.sc-xplor-input-file {\n background-color: rgba(0, 0, 0, 0.04);\n cursor: not-allowed;\n}\n.xplor-input-file--disabled.sc-xplor-input-file .xplor-input-file__placeholder.sc-xplor-input-file, .xplor-input-file--disabled.sc-xplor-input-file .xplor-input-file__icon.sc-xplor-input-file {\n color: rgba(0, 0, 0, 0.38);\n}\n.xplor-input-file__icon.sc-xplor-input-file {\n font-size: 1.25rem;\n color: rgba(0, 0, 0, 0.54);\n flex-shrink: 0;\n}\n.xplor-input-file__content.sc-xplor-input-file {\n flex: 1;\n min-width: 0;\n}\n.xplor-input-file__placeholder.sc-xplor-input-file {\n color: rgba(0, 0, 0, 0.38);\n}\n.xplor-input-file__chips.sc-xplor-input-file {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: center;\n}\n.xplor-input-file__chip.sc-xplor-input-file {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.75rem;\n background-color: #673AB7;\n color: white;\n border-radius: 1rem;\n font-size: 0.875rem;\n max-width: 100%;\n}\n.xplor-input-file__chip-text.sc-xplor-input-file {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.xplor-input-file__chip-size.sc-xplor-input-file {\n font-size: 0.75rem;\n opacity: 0.8;\n white-space: nowrap;\n}\n.xplor-input-file__additional.sc-xplor-input-file {\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n margin-left: 0.5rem;\n}\n.xplor-input-file__clear.sc-xplor-input-file {\n position: relative;\n width: 1.5rem;\n height: 1.5rem;\n border: none;\n background: transparent;\n color: rgba(0, 0, 0, 0.54);\n cursor: pointer;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease;\n flex-shrink: 0;\n}\n.xplor-input-file__clear.sc-xplor-input-file:hover {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.xplor-input-file__clear.sc-xplor-input-file:active {\n background-color: rgba(0, 0, 0, 0.08);\n}\n.xplor-input-file__input.sc-xplor-input-file {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n}\n.xplor-input-file__input.sc-xplor-input-file:disabled {\n cursor: not-allowed;\n}\n.xplor-input-file__counter.sc-xplor-input-file {\n font-size: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n padding: 0 1rem;\n}";
|
|
6887
7182
|
|
|
7183
|
+
let inputFileIdCounter = 0;
|
|
6888
7184
|
class XplorInputFile {
|
|
6889
7185
|
constructor(hostRef) {
|
|
6890
7186
|
registerInstance(this, hostRef);
|
|
6891
7187
|
this.attach = createEvent(this, "attach");
|
|
6892
7188
|
this.xplorClear = createEvent(this, "xplorClear");
|
|
7189
|
+
this.inputId = `xplor-input-file-${++inputFileIdCounter}`;
|
|
6893
7190
|
/**
|
|
6894
7191
|
* Input label
|
|
6895
7192
|
*/
|
|
@@ -6964,7 +7261,7 @@ class XplorInputFile {
|
|
|
6964
7261
|
};
|
|
6965
7262
|
const visibleFiles = this.selectedFiles.slice(0, this.maxChips);
|
|
6966
7263
|
const additionalCount = this.selectedFiles.length - this.maxChips;
|
|
6967
|
-
return (hAsync(Host, { key: '
|
|
7264
|
+
return (hAsync(Host, { key: 'f4cdb8be9b2a73258a308e31c07f9a8077ae39c8' }, hAsync("div", { key: '3a43a67ebb7354d1965b808d5252c70939fa917e', class: containerClasses }, this.label && (hAsync("label", { key: '03a177574387efc0a1a7aa3ea05c1425d18a0db9', class: "xplor-input-file__label", htmlFor: this.inputId }, this.label)), hAsync("div", { key: 'ca9c5943b0471244343e507955352af0b72eab76', class: "xplor-input-file__field" }, hAsync("span", { key: '4570d02fbed6e939b153a69ca444cf4c2be7230f', class: "xplor-input-file__icon" }, this.prependInnerIcon), hAsync("div", { key: '408231a07d2ccbdca8e57a7ae36de017f01940bc', class: "xplor-input-file__content" }, this.selectedFiles.length === 0 ? (hAsync("span", { class: "xplor-input-file__placeholder" }, this.placeholder)) : (hAsync("div", { class: "xplor-input-file__chips" }, visibleFiles.map((file) => (hAsync("div", { class: "xplor-input-file__chip", key: file.name }, hAsync("span", { class: "xplor-input-file__chip-text" }, file.name), this.showSize && file.size && (hAsync("span", { class: "xplor-input-file__chip-size" }, "(", this.formatFileSize(file.size), ")"))))), additionalCount > 0 && (hAsync("span", { class: "xplor-input-file__additional" }, "+", additionalCount, " additional file", additionalCount > 1 ? 's' : ''))))), this.selectedFiles.length > 0 && !this.disabled && (hAsync("button", { key: 'da690e16f90d31d9def263a69d4ceef18e185aab', type: "button", class: "xplor-input-file__clear", onClick: this.handleClear, "aria-label": "Clear" }, "\u2715")), hAsync("input", { key: 'f72a3b3295ce47aa4dcad63751f12256fcc20c01', id: this.inputId, ref: (el) => (this.fileInputRef = el), type: "file", class: "xplor-input-file__input", multiple: this.multiple, accept: this.accept, disabled: this.disabled, onChange: this.handleFileChange, "aria-label": this.label || 'Choose file' })), this.counter && this.selectedFiles.length > 0 && (hAsync("div", { key: '495dd2d0314549a384085706df7f2ab722169edf', class: "xplor-input-file__counter" }, this.selectedFiles.length, " file", this.selectedFiles.length > 1 ? 's' : '', " selected")))));
|
|
6968
7265
|
}
|
|
6969
7266
|
static get style() { return xplorInputFileCss; }
|
|
6970
7267
|
static get cmpMeta() { return {
|
|
@@ -6991,10 +7288,12 @@ class XplorInputFile {
|
|
|
6991
7288
|
|
|
6992
7289
|
const xplorInputSearchCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-input-search {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-input-search {\n width: 600px !important;\n }\n}\nh1.sc-xplor-input-search {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-input-search {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-input-search {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-input-search {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-input-search, ul.sc-xplor-input-search {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-input-search li.sc-xplor-input-search, ul.sc-xplor-input-search li.sc-xplor-input-search {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-input-search, ul.mdc-list.sc-xplor-input-search {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-input-search li.mdc-list-item.sc-xplor-input-search, ul.mdc-list.sc-xplor-input-search li.mdc-list-item.sc-xplor-input-search {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-input-search {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-input-search {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-input-search {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-input-search {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-input-search .mdc-text-field--outlined.sc-xplor-input-search .mdc-notched-outline__notch.sc-xplor-input-search {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-input-search .mdc-notched-outline__notch.sc-xplor-input-search {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-input-search .mdc-notched-outline.sc-xplor-input-search .mdc-notched-outline__notch.sc-xplor-input-search {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-input-search {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-input-search:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-input-search {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-input-search-h {\n display: block;\n}\n\n.xplor-input-search.sc-xplor-input-search {\n display: flex;\n flex-direction: column;\n}\n.xplor-input-search__field.sc-xplor-input-search {\n position: relative;\n display: flex;\n align-items: center;\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-radius: 1rem;\n background-color: white;\n transition: border-color 0.2s ease;\n padding-right: 0.375rem;\n}\n.xplor-input-search__field.sc-xplor-input-search:hover:not(.xplor-input-search--disabled .xplor-input-search__field) {\n border-color: rgba(0, 0, 0, 0.6);\n}\n.xplor-input-search--focused.sc-xplor-input-search .xplor-input-search__field.sc-xplor-input-search {\n border-color: #008480;\n border-width: 2px;\n padding-right: calc(0.375rem - 1px);\n}\n.xplor-input-search--focused.sc-xplor-input-search .xplor-input-search__input.sc-xplor-input-search {\n padding-left: calc(1rem - 1px);\n}\n.xplor-input-search__input.sc-xplor-input-search {\n flex: 1;\n padding: 0.875rem 1rem;\n font-size: 1rem;\n font-family: inherit;\n border: none;\n outline: none;\n background: transparent;\n min-width: 0;\n}\n.xplor-input-search__input.sc-xplor-input-search::placeholder {\n color: rgba(0, 0, 0, 0.38);\n}\n.xplor-input-search__input.sc-xplor-input-search:disabled {\n color: rgba(0, 0, 0, 0.38);\n cursor: not-allowed;\n}\n.xplor-input-search__button.sc-xplor-input-search {\n min-height: 0;\n min-width: 0;\n height: 2.5rem;\n width: 2.5rem;\n padding: 0;\n border: none;\n border-radius: 4px;\n background-color: #008480;\n color: white;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease;\n flex-shrink: 0;\n}\n.xplor-input-search__button.sc-xplor-input-search:hover:not(:disabled) {\n background-color: #006D6A;\n}\n.xplor-input-search__button.sc-xplor-input-search:active:not(:disabled) {\n background-color: #005755;\n}\n.xplor-input-search__button.sc-xplor-input-search:disabled {\n opacity: 0.38;\n cursor: not-allowed;\n}\n.xplor-input-search__icon.sc-xplor-input-search {\n width: 1.25rem;\n height: 1.25rem;\n fill: currentColor;\n}\n.xplor-input-search--compact.sc-xplor-input-search .xplor-input-search__input.sc-xplor-input-search {\n padding: 0.625rem 1rem;\n}\n.xplor-input-search--compact.sc-xplor-input-search .xplor-input-search__button.sc-xplor-input-search {\n height: 2rem;\n width: 2rem;\n}\n.xplor-input-search--compact.sc-xplor-input-search .xplor-input-search__icon.sc-xplor-input-search {\n width: 1rem;\n height: 1rem;\n}\n.xplor-input-search--comfortable.sc-xplor-input-search .xplor-input-search__input.sc-xplor-input-search {\n padding: 1rem 1rem;\n}\n.xplor-input-search--comfortable.sc-xplor-input-search .xplor-input-search__button.sc-xplor-input-search {\n height: 2.75rem;\n width: 2.75rem;\n}\n.xplor-input-search--comfortable.sc-xplor-input-search .xplor-input-search__icon.sc-xplor-input-search {\n width: 1.375rem;\n height: 1.375rem;\n}\n.xplor-input-search--disabled.sc-xplor-input-search .xplor-input-search__field.sc-xplor-input-search {\n background-color: rgba(0, 0, 0, 0.04);\n}";
|
|
6993
7290
|
|
|
7291
|
+
let inputSearchIdCounter = 0;
|
|
6994
7292
|
class XplorInputSearch {
|
|
6995
7293
|
constructor(hostRef) {
|
|
6996
7294
|
registerInstance(this, hostRef);
|
|
6997
7295
|
this.search = createEvent(this, "search");
|
|
7296
|
+
this.inputId = `xplor-input-search-${++inputSearchIdCounter}`;
|
|
6998
7297
|
/**
|
|
6999
7298
|
* Search value
|
|
7000
7299
|
*/
|
|
@@ -7040,9 +7339,9 @@ class XplorInputSearch {
|
|
|
7040
7339
|
'xplor-input-search--focused': this.isFocused,
|
|
7041
7340
|
'xplor-input-search--disabled': this.disabled,
|
|
7042
7341
|
};
|
|
7043
|
-
return (hAsync(Host, { key: '
|
|
7342
|
+
return (hAsync(Host, { key: '943cf40e14806c8d2645e8e08c7868f1bbe1d585' }, hAsync("div", { key: 'a073a7da5206a8f97ad4576628bb5688572709ed', class: containerClasses }, hAsync("div", { key: '52d484023b8d5275d22a2b890fc73c0b758a7899', class: "xplor-input-search__field" }, hAsync("input", { key: 'b520a1127ec5aefe99a8ea92d329823e0380ac63', id: this.inputId, type: "search", class: "xplor-input-search__input", value: this.value, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: () => (this.isFocused = true), onBlur: () => (this.isFocused = false), style: {
|
|
7044
7343
|
backgroundColor: this.bgColor,
|
|
7045
|
-
} }), hAsync("slot", { key: '
|
|
7344
|
+
}, role: "searchbox", "aria-label": "Search" }), hAsync("slot", { key: '2e352e10096c529d275071cffa6ff8062faf27a3', name: "append-inner" }, hAsync("button", { key: 'ce5993a34434803f80ff05fc07993ea7865f7120', type: "button", class: "xplor-input-search__button", onClick: this.handleSearch, disabled: this.disabled, "data-testid": "input-search-button", "aria-label": "Search" }, hAsync("svg", { key: '518d76a88181e3286d14102ceced2e1dae0b6a8c', viewBox: "0 0 24 24", class: "xplor-input-search__icon" }, hAsync("path", { key: 'f7253605b82900a022475c107b4719612f614564', d: "M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z" }))))))));
|
|
7046
7345
|
}
|
|
7047
7346
|
static get style() { return xplorInputSearchCss; }
|
|
7048
7347
|
static get cmpMeta() { return {
|
|
@@ -7063,7 +7362,7 @@ class XplorInputSearch {
|
|
|
7063
7362
|
}; }
|
|
7064
7363
|
}
|
|
7065
7364
|
|
|
7066
|
-
const xplorInputSelectCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-input-select {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-input-select {\n width: 600px !important;\n }\n}\nh1.sc-xplor-input-select {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-input-select {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-input-select {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-input-select {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-input-select, ul.sc-xplor-input-select {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-input-select li.sc-xplor-input-select, ul.sc-xplor-input-select li.sc-xplor-input-select {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-input-select, ul.mdc-list.sc-xplor-input-select {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-input-select li.mdc-list-item.sc-xplor-input-select, ul.mdc-list.sc-xplor-input-select li.mdc-list-item.sc-xplor-input-select {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-input-select {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-input-select {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-input-select {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-input-select {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-input-select .mdc-text-field--outlined.sc-xplor-input-select .mdc-notched-outline__notch.sc-xplor-input-select {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-input-select .mdc-notched-outline__notch.sc-xplor-input-select {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-input-select .mdc-notched-outline.sc-xplor-input-select .mdc-notched-outline__notch.sc-xplor-input-select {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-input-select {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-input-select:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-input-select {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-input-select-h {\n display: block;\n}\n\n.xplor-input-select.sc-xplor-input-select {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n.xplor-input-select__label.sc-xplor-input-select {\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 0.25rem;\n}\n.xplor-input-select__required.sc-xplor-input-select {\n color: #d32f2f;\n margin-left: 0.25rem;\n}\n.xplor-input-select__field.sc-xplor-input-select {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.875rem 1rem;\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-radius: 1rem;\n background-color: white;\n cursor: pointer;\n transition: border-color 0.2s ease;\n gap: 0.5rem;\n}\n.xplor-input-select__field.sc-xplor-input-select:hover:not(.xplor-input-select--disabled .xplor-input-select__field) {\n border-color: rgba(0, 0, 0, 0.6);\n}\n.xplor-input-select--open.sc-xplor-input-select .xplor-input-select__field.sc-xplor-input-select {\n border-color: #008480;\n border-width: 2px;\n padding: calc(0.875rem - 1px) calc(1rem - 1px);\n}\n.xplor-input-select--error.sc-xplor-input-select .xplor-input-select__field.sc-xplor-input-select {\n border-color: #d32f2f;\n}\n.xplor-input-select--disabled.sc-xplor-input-select .xplor-input-select__field.sc-xplor-input-select {\n background-color: rgba(0, 0, 0, 0.04);\n cursor: not-allowed;\n}\n.xplor-input-select--disabled.sc-xplor-input-select .xplor-input-select__value.sc-xplor-input-select {\n color: rgba(0, 0, 0, 0.38);\n}\n.xplor-input-select__value.sc-xplor-input-select {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: rgba(0, 0, 0, 0.87);\n}\n.xplor-input-select__arrow.sc-xplor-input-select {\n font-size: 0.75rem;\n color: rgba(0, 0, 0, 0.54);\n transition: transform 0.2s ease;\n flex-shrink: 0;\n}\n.xplor-input-select__menu.sc-xplor-input-select {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n margin-top: 0.25rem;\n max-height: 300px;\n overflow-y: auto;\n background-color: white;\n border-radius: 0.5rem;\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n z-index: 1000;\n}\n.xplor-input-select__empty.sc-xplor-input-select {\n padding: 1rem;\n text-align: center;\n color: rgba(0, 0, 0, 0.6);\n}\n.xplor-input-select__option.sc-xplor-input-select {\n display: flex;\n align-items: center;\n padding: 0.875rem 1.25rem;\n cursor: pointer;\n transition: background-color 0.2s ease;\n gap: 0.75rem;\n}\n.xplor-input-select__option.sc-xplor-input-select:hover {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.xplor-input-select__option--selected.sc-xplor-input-select {\n background-color: rgba(0, 132, 128, 0.08);\n}\n.xplor-input-select__checkbox.sc-xplor-input-select {\n flex-shrink: 0;\n width: 1.125rem;\n height: 1.125rem;\n cursor: pointer;\n}\n.xplor-input-select__option-content.sc-xplor-input-select {\n flex: 1;\n min-width: 0;\n}\n.xplor-input-select__option-title.sc-xplor-input-select {\n font-size: 1rem;\n color: rgba(0, 0, 0, 0.87);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.xplor-input-select__option-subtitle.sc-xplor-input-select {\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.xplor-input-select__details.sc-xplor-input-select {\n min-height: 1.25rem;\n padding: 0 1rem;\n font-size: 0.75rem;\n}\n.xplor-input-select__error-message.sc-xplor-input-select {\n color: #d32f2f;\n}\n.xplor-input-select__helper-text.sc-xplor-input-select {\n color: rgba(0, 0, 0, 0.6);\n}";
|
|
7365
|
+
const xplorInputSelectCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-input-select {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-input-select {\n width: 600px !important;\n }\n}\nh1.sc-xplor-input-select {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-input-select {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-input-select {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-input-select {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-input-select, ul.sc-xplor-input-select {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-input-select li.sc-xplor-input-select, ul.sc-xplor-input-select li.sc-xplor-input-select {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-input-select, ul.mdc-list.sc-xplor-input-select {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-input-select li.mdc-list-item.sc-xplor-input-select, ul.mdc-list.sc-xplor-input-select li.mdc-list-item.sc-xplor-input-select {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-input-select {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-input-select {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-input-select {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-input-select {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-input-select .mdc-text-field--outlined.sc-xplor-input-select .mdc-notched-outline__notch.sc-xplor-input-select {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-input-select .mdc-notched-outline__notch.sc-xplor-input-select {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-input-select .mdc-notched-outline.sc-xplor-input-select .mdc-notched-outline__notch.sc-xplor-input-select {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-input-select {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-input-select:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-input-select {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-input-select-h {\n display: block;\n}\n\n.xplor-input-select.sc-xplor-input-select {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n.xplor-input-select__label.sc-xplor-input-select {\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 0.25rem;\n}\n.xplor-input-select__required.sc-xplor-input-select {\n color: #d32f2f;\n margin-left: 0.25rem;\n}\n.xplor-input-select__field.sc-xplor-input-select {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.875rem 1rem;\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-radius: 1rem;\n background-color: white;\n cursor: pointer;\n transition: border-color 0.2s ease;\n gap: 0.5rem;\n}\n.xplor-input-select__field.sc-xplor-input-select:hover:not(.xplor-input-select--disabled .xplor-input-select__field) {\n border-color: rgba(0, 0, 0, 0.6);\n}\n.xplor-input-select--open.sc-xplor-input-select .xplor-input-select__field.sc-xplor-input-select {\n border-color: #008480;\n border-width: 2px;\n padding: calc(0.875rem - 1px) calc(1rem - 1px);\n}\n.xplor-input-select--error.sc-xplor-input-select .xplor-input-select__field.sc-xplor-input-select {\n border-color: #d32f2f;\n}\n.xplor-input-select--disabled.sc-xplor-input-select .xplor-input-select__field.sc-xplor-input-select {\n background-color: rgba(0, 0, 0, 0.04);\n cursor: not-allowed;\n}\n.xplor-input-select--disabled.sc-xplor-input-select .xplor-input-select__value.sc-xplor-input-select {\n color: rgba(0, 0, 0, 0.38);\n}\n.xplor-input-select__value.sc-xplor-input-select {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: rgba(0, 0, 0, 0.87);\n}\n.xplor-input-select__arrow.sc-xplor-input-select {\n font-size: 0.75rem;\n color: rgba(0, 0, 0, 0.54);\n transition: transform 0.2s ease;\n flex-shrink: 0;\n}\n.xplor-input-select__menu.sc-xplor-input-select {\n max-height: 300px;\n overflow-y: auto;\n background-color: white;\n border-radius: 0.5rem;\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n z-index: 9999;\n}\n.xplor-input-select__empty.sc-xplor-input-select {\n padding: 1rem;\n text-align: center;\n color: rgba(0, 0, 0, 0.6);\n}\n.xplor-input-select__option.sc-xplor-input-select {\n display: flex;\n align-items: center;\n padding: 0.875rem 1.25rem;\n cursor: pointer;\n transition: background-color 0.2s ease;\n gap: 0.75rem;\n}\n.xplor-input-select__option.sc-xplor-input-select:hover {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.xplor-input-select__option--selected.sc-xplor-input-select {\n background-color: rgba(0, 132, 128, 0.08);\n}\n.xplor-input-select__checkbox.sc-xplor-input-select {\n flex-shrink: 0;\n width: 1.125rem;\n height: 1.125rem;\n cursor: pointer;\n}\n.xplor-input-select__option-content.sc-xplor-input-select {\n flex: 1;\n min-width: 0;\n}\n.xplor-input-select__option-title.sc-xplor-input-select {\n font-size: 1rem;\n color: rgba(0, 0, 0, 0.87);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.xplor-input-select__option-subtitle.sc-xplor-input-select {\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.xplor-input-select__details.sc-xplor-input-select {\n min-height: 1.25rem;\n padding: 0 1rem;\n font-size: 0.75rem;\n}\n.xplor-input-select__error-message.sc-xplor-input-select {\n color: #d32f2f;\n}\n.xplor-input-select__helper-text.sc-xplor-input-select {\n color: rgba(0, 0, 0, 0.6);\n}";
|
|
7067
7366
|
|
|
7068
7367
|
class XplorInputSelect {
|
|
7069
7368
|
constructor(hostRef) {
|
|
@@ -7123,6 +7422,18 @@ class XplorInputSelect {
|
|
|
7123
7422
|
this.required = false;
|
|
7124
7423
|
this.isOpen = false;
|
|
7125
7424
|
this.isFocused = false;
|
|
7425
|
+
this.menuPosition = null;
|
|
7426
|
+
this.highlightedIndex = -1;
|
|
7427
|
+
this.updateMenuPosition = () => {
|
|
7428
|
+
if (this.fieldRef) {
|
|
7429
|
+
const rect = this.fieldRef.getBoundingClientRect();
|
|
7430
|
+
this.menuPosition = {
|
|
7431
|
+
top: rect.bottom + 4,
|
|
7432
|
+
left: rect.left,
|
|
7433
|
+
width: rect.width,
|
|
7434
|
+
};
|
|
7435
|
+
}
|
|
7436
|
+
};
|
|
7126
7437
|
this.handleOutsideClick = (event) => {
|
|
7127
7438
|
if (this.selectRef && !this.selectRef.contains(event.target)) {
|
|
7128
7439
|
this.isOpen = false;
|
|
@@ -7130,7 +7441,14 @@ class XplorInputSelect {
|
|
|
7130
7441
|
};
|
|
7131
7442
|
this.toggleDropdown = () => {
|
|
7132
7443
|
if (!this.disabled && !this.readonly) {
|
|
7444
|
+
if (!this.isOpen) {
|
|
7445
|
+
this.updateMenuPosition();
|
|
7446
|
+
this.highlightedIndex = -1;
|
|
7447
|
+
}
|
|
7133
7448
|
this.isOpen = !this.isOpen;
|
|
7449
|
+
if (!this.isOpen) {
|
|
7450
|
+
this.highlightedIndex = -1;
|
|
7451
|
+
}
|
|
7134
7452
|
}
|
|
7135
7453
|
};
|
|
7136
7454
|
this.handleOptionClick = (option) => {
|
|
@@ -7175,6 +7493,82 @@ class XplorInputSelect {
|
|
|
7175
7493
|
disconnectedCallback() {
|
|
7176
7494
|
document.removeEventListener('click', this.handleOutsideClick);
|
|
7177
7495
|
}
|
|
7496
|
+
handleKeyDown(event) {
|
|
7497
|
+
var _a;
|
|
7498
|
+
const totalOptions = this.options.length;
|
|
7499
|
+
if (totalOptions === 0)
|
|
7500
|
+
return;
|
|
7501
|
+
switch (event.key) {
|
|
7502
|
+
case 'ArrowDown':
|
|
7503
|
+
event.preventDefault();
|
|
7504
|
+
if (!this.isOpen) {
|
|
7505
|
+
this.updateMenuPosition();
|
|
7506
|
+
this.isOpen = true;
|
|
7507
|
+
this.highlightedIndex = 0;
|
|
7508
|
+
}
|
|
7509
|
+
else {
|
|
7510
|
+
this.highlightedIndex = this.highlightedIndex < totalOptions - 1 ? this.highlightedIndex + 1 : 0;
|
|
7511
|
+
}
|
|
7512
|
+
this.scrollToHighlightedOption();
|
|
7513
|
+
break;
|
|
7514
|
+
case 'ArrowUp':
|
|
7515
|
+
event.preventDefault();
|
|
7516
|
+
if (!this.isOpen) {
|
|
7517
|
+
this.updateMenuPosition();
|
|
7518
|
+
this.isOpen = true;
|
|
7519
|
+
this.highlightedIndex = totalOptions - 1;
|
|
7520
|
+
}
|
|
7521
|
+
else {
|
|
7522
|
+
this.highlightedIndex = this.highlightedIndex > 0 ? this.highlightedIndex - 1 : totalOptions - 1;
|
|
7523
|
+
}
|
|
7524
|
+
this.scrollToHighlightedOption();
|
|
7525
|
+
break;
|
|
7526
|
+
case 'Enter':
|
|
7527
|
+
case ' ':
|
|
7528
|
+
event.preventDefault();
|
|
7529
|
+
if (this.isOpen && this.highlightedIndex >= 0 && this.highlightedIndex < totalOptions) {
|
|
7530
|
+
this.handleOptionClick(this.options[this.highlightedIndex]);
|
|
7531
|
+
}
|
|
7532
|
+
else if (!this.isOpen) {
|
|
7533
|
+
this.toggleDropdown();
|
|
7534
|
+
}
|
|
7535
|
+
break;
|
|
7536
|
+
case 'Escape':
|
|
7537
|
+
event.preventDefault();
|
|
7538
|
+
this.isOpen = false;
|
|
7539
|
+
this.highlightedIndex = -1;
|
|
7540
|
+
(_a = this.fieldRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
7541
|
+
break;
|
|
7542
|
+
case 'Home':
|
|
7543
|
+
if (this.isOpen) {
|
|
7544
|
+
event.preventDefault();
|
|
7545
|
+
this.highlightedIndex = 0;
|
|
7546
|
+
this.scrollToHighlightedOption();
|
|
7547
|
+
}
|
|
7548
|
+
break;
|
|
7549
|
+
case 'End':
|
|
7550
|
+
if (this.isOpen) {
|
|
7551
|
+
event.preventDefault();
|
|
7552
|
+
this.highlightedIndex = totalOptions - 1;
|
|
7553
|
+
this.scrollToHighlightedOption();
|
|
7554
|
+
}
|
|
7555
|
+
break;
|
|
7556
|
+
case 'Tab':
|
|
7557
|
+
this.isOpen = false;
|
|
7558
|
+
this.highlightedIndex = -1;
|
|
7559
|
+
break;
|
|
7560
|
+
}
|
|
7561
|
+
}
|
|
7562
|
+
scrollToHighlightedOption() {
|
|
7563
|
+
requestAnimationFrame(() => {
|
|
7564
|
+
if (this.selectRef && this.highlightedIndex >= 0) {
|
|
7565
|
+
const highlightedEl = this.selectRef.querySelector(`[data-option-index="${this.highlightedIndex}"]`);
|
|
7566
|
+
if (highlightedEl) {
|
|
7567
|
+
highlightedEl.scrollIntoView({ block: 'nearest' });
|
|
7568
|
+
}
|
|
7569
|
+
}
|
|
7570
|
+
});
|
|
7571
|
+
}
|
|
7178
7572
|
render() {
|
|
7179
7573
|
const containerClasses = {
|
|
7180
7574
|
'xplor-input-select': true,
|
|
@@ -7184,16 +7578,39 @@ class XplorInputSelect {
|
|
|
7184
7578
|
'xplor-input-select--error': !!this.error,
|
|
7185
7579
|
};
|
|
7186
7580
|
const showDetails = this.hideDetails === false || (this.hideDetails === 'auto' && (this.error || this.helperText));
|
|
7187
|
-
|
|
7188
|
-
|
|
7189
|
-
|
|
7190
|
-
|
|
7581
|
+
const listboxId = 'input-select-listbox';
|
|
7582
|
+
const labelId = 'input-select-label';
|
|
7583
|
+
const errorId = 'input-select-error';
|
|
7584
|
+
const helperId = 'input-select-helper';
|
|
7585
|
+
const activeDescendantId = this.highlightedIndex >= 0 ? `input-select-option-${this.highlightedIndex}` : undefined;
|
|
7586
|
+
// Build aria-describedby from error/helper text
|
|
7587
|
+
const describedByParts = [];
|
|
7588
|
+
if (this.error)
|
|
7589
|
+
describedByParts.push(errorId);
|
|
7590
|
+
if (!this.error && this.helperText)
|
|
7591
|
+
describedByParts.push(helperId);
|
|
7592
|
+
const ariaDescribedBy = describedByParts.length > 0 ? describedByParts.join(' ') : undefined;
|
|
7593
|
+
return (hAsync(Host, { key: '4c7693dfd1a0a4ac74ed4f4ff5024d4375acd3a8' }, hAsync("div", { key: 'bcd180aa7fbccfae34ce29b1c9bbe6329bf87476', class: containerClasses, ref: (el) => (this.selectRef = el) }, this.label && (hAsync("label", { key: '85c20aecaf25a7fc260c79a15e4d4bb30804213d', class: "xplor-input-select__label", id: labelId }, this.label, this.required && hAsync("span", { key: '82c8dbcb5d7e77c42e0a6e54b69cbb514563ac2b', class: "xplor-input-select__required" }, "*"))), hAsync("div", { key: 'b7cfc5c895fc57f3eac6e66aa5fd431a89dd07bb', class: "xplor-input-select__field", onClick: this.toggleDropdown, ref: (el) => (this.fieldRef = el), role: "combobox", tabindex: this.disabled ? -1 : 0, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": this.isOpen ? listboxId : undefined, "aria-activedescendant": activeDescendantId, "aria-labelledby": this.label ? labelId : undefined, "aria-label": !this.label ? (this.ariaLabel || this.placeholder) : undefined, "aria-describedby": ariaDescribedBy, "aria-required": this.required ? 'true' : undefined, "aria-disabled": this.disabled ? 'true' : undefined }, hAsync("div", { key: '1125703089a34186cbbfaba5e51d6ea50c5f4239', class: "xplor-input-select__value" }, this.getDisplayValue()), hAsync("span", { key: 'e33ab0424fddc90d1f48ef2b285e70fd3eeaff8a', class: "xplor-input-select__arrow", "aria-hidden": "true" }, this.isOpen ? '▲' : '▼')), this.isOpen && this.menuPosition && (hAsync("div", { key: 'b1fb47a1d217c4156250bded2c9e9ae9bdebf603', class: "xplor-input-select__menu", role: "listbox", id: listboxId, "aria-label": this.label || this.ariaLabel || 'Options', "aria-multiselectable": this.multiple ? 'true' : undefined, style: {
|
|
7594
|
+
position: 'fixed',
|
|
7595
|
+
top: `${this.menuPosition.top}px`,
|
|
7596
|
+
left: `${this.menuPosition.left}px`,
|
|
7597
|
+
width: `${this.menuPosition.width}px`,
|
|
7598
|
+
} }, this.options.length === 0 ? (hAsync("div", { class: "xplor-input-select__empty", role: "option", "aria-disabled": "true" }, "No options available")) : (this.options.map((option, index) => {
|
|
7599
|
+
const selected = this.isSelected(option);
|
|
7600
|
+
return (hAsync("div", { key: option.value, id: `input-select-option-${index}`, "data-option-index": index, role: "option", "aria-selected": selected ? 'true' : 'false', class: {
|
|
7601
|
+
'xplor-input-select__option': true,
|
|
7602
|
+
'xplor-input-select__option--selected': selected,
|
|
7603
|
+
'xplor-input-select__option--highlighted': index === this.highlightedIndex,
|
|
7604
|
+
}, onClick: () => this.handleOptionClick(option) }, this.multiple && (hAsync("input", { type: "checkbox", class: "xplor-input-select__checkbox", checked: selected, readOnly: true, tabindex: -1, "aria-checked": selected ? 'true' : 'false', "aria-hidden": "true" })), hAsync("div", { class: "xplor-input-select__option-content" }, hAsync("div", { class: "xplor-input-select__option-title" }, option.title), option.subtitle && (hAsync("div", { class: "xplor-input-select__option-subtitle" }, option.subtitle)))));
|
|
7605
|
+
})))), showDetails && (hAsync("div", { key: '0a4f46b2460cd068fe27635cbe45d054c06e9538', class: "xplor-input-select__details" }, this.error && hAsync("div", { key: '2d0f44af6a4c115bf3ed66764092b29cf117d57e', class: "xplor-input-select__error-message", id: errorId, role: "alert" }, this.error), !this.error && this.helperText && hAsync("div", { key: 'ee93ffdd070c853b1d779235d6c57e368d75bcf1', class: "xplor-input-select__helper-text", id: helperId }, this.helperText))))));
|
|
7191
7606
|
}
|
|
7607
|
+
get el() { return getElement(this); }
|
|
7192
7608
|
static get style() { return xplorInputSelectCss; }
|
|
7193
7609
|
static get cmpMeta() { return {
|
|
7194
7610
|
"$flags$": 2,
|
|
7195
7611
|
"$tagName$": "xplor-input-select",
|
|
7196
7612
|
"$members$": {
|
|
7613
|
+
"ariaLabel": [1, "aria-label"],
|
|
7197
7614
|
"value": [1032],
|
|
7198
7615
|
"label": [1],
|
|
7199
7616
|
"placeholder": [1],
|
|
@@ -7208,9 +7625,11 @@ class XplorInputSelect {
|
|
|
7208
7625
|
"helperText": [1, "helper-text"],
|
|
7209
7626
|
"required": [4],
|
|
7210
7627
|
"isOpen": [32],
|
|
7211
|
-
"isFocused": [32]
|
|
7628
|
+
"isFocused": [32],
|
|
7629
|
+
"menuPosition": [32],
|
|
7630
|
+
"highlightedIndex": [32]
|
|
7212
7631
|
},
|
|
7213
|
-
"$listeners$":
|
|
7632
|
+
"$listeners$": [[0, "keydown", "handleKeyDown"]],
|
|
7214
7633
|
"$lazyBundleId$": "-",
|
|
7215
7634
|
"$attrsToReflect$": []
|
|
7216
7635
|
}; }
|
|
@@ -7258,10 +7677,10 @@ class XplorInputSend {
|
|
|
7258
7677
|
this.internalValue = this.value;
|
|
7259
7678
|
}
|
|
7260
7679
|
render() {
|
|
7261
|
-
return (hAsync(Host, { key: '
|
|
7680
|
+
return (hAsync(Host, { key: '87d0d49d2a9e9061152b294e6b7a91ffae7f39b0' }, hAsync("div", { key: 'ef857693127c5945ff78c20e431609b051df32e7', class: {
|
|
7262
7681
|
'input-send': true,
|
|
7263
7682
|
'input-send--disabled': this.disabled,
|
|
7264
|
-
} }, hAsync("input", { key: '
|
|
7683
|
+
} }, hAsync("input", { key: 'ab468e8669120fef885db5e1dd4da774acfd2f74', ref: (el) => (this.inputEl = el), type: "text", class: "input-send__input", placeholder: this.placeholder, value: this.internalValue, onInput: this.handleInput, onKeyDown: this.handleKeyDown, disabled: this.disabled, maxLength: this.maxLength, "aria-label": this.placeholder || 'Type a message' }), hAsync("xplor-button", { key: '216e72c5c263f0a18e4d8b4f03d253776376c6b3', class: "input-send__button", text: this.buttonText, type: this.disabled || !this.internalValue.trim() ? 'disabled' : this.buttonType, onClick: this.handleSend }))));
|
|
7265
7684
|
}
|
|
7266
7685
|
static get style() { return xplorInputSendCss; }
|
|
7267
7686
|
static get cmpMeta() { return {
|
|
@@ -7284,6 +7703,7 @@ class XplorInputSend {
|
|
|
7284
7703
|
|
|
7285
7704
|
const xplorInputTextCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-input-text {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-input-text {\n width: 600px !important;\n }\n}\nh1.sc-xplor-input-text {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-input-text {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-input-text {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-input-text {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-input-text, ul.sc-xplor-input-text {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-input-text li.sc-xplor-input-text, ul.sc-xplor-input-text li.sc-xplor-input-text {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-input-text, ul.mdc-list.sc-xplor-input-text {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-input-text li.mdc-list-item.sc-xplor-input-text, ul.mdc-list.sc-xplor-input-text li.mdc-list-item.sc-xplor-input-text {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-input-text {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-input-text {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-input-text {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-input-text {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-input-text .mdc-text-field--outlined.sc-xplor-input-text .mdc-notched-outline__notch.sc-xplor-input-text {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-input-text .mdc-notched-outline__notch.sc-xplor-input-text {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-input-text .mdc-notched-outline.sc-xplor-input-text .mdc-notched-outline__notch.sc-xplor-input-text {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-input-text {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-input-text:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-input-text {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-input-text-h {\n display: block;\n}\n\n.xplor-input-text.sc-xplor-input-text {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n.xplor-input-text__label.sc-xplor-input-text {\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 0.25rem;\n}\n.xplor-input-text__required.sc-xplor-input-text {\n color: #d32f2f;\n margin-left: 0.25rem;\n}\n.xplor-input-text__field.sc-xplor-input-text {\n position: relative;\n display: flex;\n align-items: center;\n}\n.xplor-input-text__input.sc-xplor-input-text {\n width: 100%;\n padding: 0.875rem 1rem;\n font-size: 1rem;\n font-family: inherit;\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-radius: 1rem;\n outline: none;\n transition: border-color 0.2s ease;\n}\n.xplor-input-text__input.sc-xplor-input-text::placeholder {\n color: rgba(0, 0, 0, 0.38);\n}\n.xplor-input-text__input.sc-xplor-input-text:hover:not(:disabled) {\n border-color: rgba(0, 0, 0, 0.6);\n}\n.xplor-input-text__input.sc-xplor-input-text:focus {\n border-color: #008480;\n border-width: 2px;\n padding: calc(0.875rem - 1px) calc(1rem - 1px);\n}\n.xplor-input-text__input.sc-xplor-input-text:disabled {\n background-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.38);\n cursor: not-allowed;\n}\n.xplor-input-text__input.sc-xplor-input-text:read-only {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.xplor-input-text--error.sc-xplor-input-text .xplor-input-text__input.sc-xplor-input-text {\n border-color: #d32f2f;\n}\n.xplor-input-text__details.sc-xplor-input-text {\n min-height: 1.25rem;\n padding: 0 1rem;\n font-size: 0.75rem;\n}\n.xplor-input-text__error-message.sc-xplor-input-text {\n color: #d32f2f;\n}\n.xplor-input-text__helper-text.sc-xplor-input-text {\n color: rgba(0, 0, 0, 0.6);\n}";
|
|
7286
7705
|
|
|
7706
|
+
let inputTextIdCounter = 0;
|
|
7287
7707
|
class XplorInputText {
|
|
7288
7708
|
constructor(hostRef) {
|
|
7289
7709
|
registerInstance(this, hostRef);
|
|
@@ -7291,6 +7711,9 @@ class XplorInputText {
|
|
|
7291
7711
|
this.xplorChange = createEvent(this, "xplorChange");
|
|
7292
7712
|
this.xplorFocus = createEvent(this, "xplorFocus");
|
|
7293
7713
|
this.xplorBlur = createEvent(this, "xplorBlur");
|
|
7714
|
+
this.inputId = `xplor-input-text-${++inputTextIdCounter}`;
|
|
7715
|
+
this.errorId = `${this.inputId}-error`;
|
|
7716
|
+
this.helperId = `${this.inputId}-helper`;
|
|
7294
7717
|
/**
|
|
7295
7718
|
* Input value
|
|
7296
7719
|
*/
|
|
@@ -7367,9 +7790,9 @@ class XplorInputText {
|
|
|
7367
7790
|
'xplor-input-text--error': !!this.error,
|
|
7368
7791
|
};
|
|
7369
7792
|
const showDetails = this.hideDetails === false || (this.hideDetails === 'auto' && (this.error || this.helperText));
|
|
7370
|
-
return (hAsync(Host, { key: '
|
|
7793
|
+
return (hAsync(Host, { key: '74d78e4b2d95f642b57606b0e8315d3064de446e' }, hAsync("div", { key: '7852dd1859fec108d191f612c1f02763edb4f419', class: containerClasses }, this.label && (hAsync("label", { key: 'e9f627130b2ed1f07d9eb6a91f7b40b79cafd550', class: "xplor-input-text__label", htmlFor: this.inputId }, this.label, this.required && hAsync("span", { key: 'a4763b2c5e5a3702b126528845dfcdb5d42e9e3d', class: "xplor-input-text__required" }, "*"))), hAsync("div", { key: 'fce0f4b127098b1c88200f36190d2a89214b3341', class: "xplor-input-text__field" }, hAsync("input", { key: '63ce8a595f7ea39f9ab011fe00c11530ce256c6c', id: this.inputId, type: this.type, class: "xplor-input-text__input", value: this.value, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, required: this.required, onInput: this.handleInput, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
|
|
7371
7794
|
backgroundColor: this.bgColor,
|
|
7372
|
-
} }), hAsync("slot", { key: '
|
|
7795
|
+
}, "aria-invalid": this.error ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, "aria-describedby": this.error ? this.errorId : this.helperText ? this.helperId : undefined }), hAsync("slot", { key: 'a24e700dcbd30d21ff559b6a8fa189d260e3a470', name: "append-inner" })), showDetails && (hAsync("div", { key: 'b20cd03b0d9d4fb0ab52f9fe0c7bb03488f88401', class: "xplor-input-text__details" }, this.error && hAsync("div", { key: 'cbc084358dfb8c457d97ae66a21f3068ad5ccabb', class: "xplor-input-text__error-message", id: this.errorId }, this.error), !this.error && this.helperText && hAsync("div", { key: 'a1ab582138c63ed2f1830910e7a5b740c0f71909', class: "xplor-input-text__helper-text", id: this.helperId }, this.helperText))), hAsync("slot", { key: '30f30e929242a463a86a6470ceae0d708714cf8f', name: "append" }))));
|
|
7373
7796
|
}
|
|
7374
7797
|
static get style() { return xplorInputTextCss; }
|
|
7375
7798
|
static get cmpMeta() { return {
|
|
@@ -7398,12 +7821,16 @@ class XplorInputText {
|
|
|
7398
7821
|
|
|
7399
7822
|
const xplorInputTextAreaCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-input-text-area {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-input-text-area {\n width: 600px !important;\n }\n}\nh1.sc-xplor-input-text-area {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-input-text-area {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-input-text-area {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-input-text-area {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-input-text-area, ul.sc-xplor-input-text-area {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-input-text-area li.sc-xplor-input-text-area, ul.sc-xplor-input-text-area li.sc-xplor-input-text-area {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-input-text-area, ul.mdc-list.sc-xplor-input-text-area {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-input-text-area li.mdc-list-item.sc-xplor-input-text-area, ul.mdc-list.sc-xplor-input-text-area li.mdc-list-item.sc-xplor-input-text-area {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-input-text-area {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-input-text-area {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-input-text-area {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-input-text-area {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-input-text-area .mdc-text-field--outlined.sc-xplor-input-text-area .mdc-notched-outline__notch.sc-xplor-input-text-area {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-input-text-area .mdc-notched-outline__notch.sc-xplor-input-text-area {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-input-text-area .mdc-notched-outline.sc-xplor-input-text-area .mdc-notched-outline__notch.sc-xplor-input-text-area {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-input-text-area {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-input-text-area:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-input-text-area {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-input-text-area-h {\n display: block;\n}\n\n.xplor-input-text-area.sc-xplor-input-text-area {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n.xplor-input-text-area__label.sc-xplor-input-text-area {\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 0.25rem;\n}\n.xplor-input-text-area__required.sc-xplor-input-text-area {\n color: #d32f2f;\n margin-left: 0.25rem;\n}\n.xplor-input-text-area__field.sc-xplor-input-text-area {\n position: relative;\n display: flex;\n align-items: flex-start;\n}\n.xplor-input-text-area__input.sc-xplor-input-text-area {\n width: 100%;\n padding: 0.875rem 1rem;\n font-size: 1rem;\n font-family: inherit;\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-radius: 1rem;\n outline: none;\n resize: vertical;\n min-height: 56px;\n transition: border-color 0.2s ease;\n}\n.xplor-input-text-area__input.sc-xplor-input-text-area::placeholder {\n color: rgba(0, 0, 0, 0.38);\n}\n.xplor-input-text-area__input.sc-xplor-input-text-area:hover:not(:disabled) {\n border-color: rgba(0, 0, 0, 0.6);\n}\n.xplor-input-text-area__input.sc-xplor-input-text-area:focus {\n border-color: #008480;\n border-width: 2px;\n padding: calc(0.875rem - 1px) calc(1rem - 1px);\n}\n.xplor-input-text-area__input.sc-xplor-input-text-area:disabled {\n background-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.38);\n cursor: not-allowed;\n resize: none;\n}\n.xplor-input-text-area__input.sc-xplor-input-text-area:read-only {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.xplor-input-text-area__clear.sc-xplor-input-text-area {\n position: absolute;\n right: 0.75rem;\n top: 0.75rem;\n width: 1.5rem;\n height: 1.5rem;\n border: none;\n background: transparent;\n color: rgba(0, 0, 0, 0.54);\n cursor: pointer;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease;\n}\n.xplor-input-text-area__clear.sc-xplor-input-text-area:hover {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.xplor-input-text-area__clear.sc-xplor-input-text-area:active {\n background-color: rgba(0, 0, 0, 0.08);\n}\n.xplor-input-text-area--error.sc-xplor-input-text-area .xplor-input-text-area__input.sc-xplor-input-text-area {\n border-color: #d32f2f;\n}\n.xplor-input-text-area__details.sc-xplor-input-text-area {\n min-height: 1.25rem;\n padding: 0 1rem;\n font-size: 0.75rem;\n}\n.xplor-input-text-area__error-message.sc-xplor-input-text-area {\n color: #d32f2f;\n}\n.xplor-input-text-area__helper-text.sc-xplor-input-text-area {\n color: rgba(0, 0, 0, 0.6);\n}";
|
|
7400
7823
|
|
|
7824
|
+
let inputTextAreaIdCounter = 0;
|
|
7401
7825
|
class XplorInputTextArea {
|
|
7402
7826
|
constructor(hostRef) {
|
|
7403
7827
|
registerInstance(this, hostRef);
|
|
7404
7828
|
this.xplorInput = createEvent(this, "xplorInput");
|
|
7405
7829
|
this.xplorChange = createEvent(this, "xplorChange");
|
|
7406
7830
|
this.xplorClear = createEvent(this, "xplorClear");
|
|
7831
|
+
this.inputId = `xplor-input-text-area-${++inputTextAreaIdCounter}`;
|
|
7832
|
+
this.errorId = `${this.inputId}-error`;
|
|
7833
|
+
this.helperId = `${this.inputId}-helper`;
|
|
7407
7834
|
/**
|
|
7408
7835
|
* Input value
|
|
7409
7836
|
*/
|
|
@@ -7482,9 +7909,9 @@ class XplorInputTextArea {
|
|
|
7482
7909
|
};
|
|
7483
7910
|
const showClearButton = this.clearable && this.value && !this.readonly && !this.disabled;
|
|
7484
7911
|
const showDetails = this.hideDetails === false || (this.hideDetails === 'auto' && (this.error || this.helperText));
|
|
7485
|
-
return (hAsync(Host, { key: '
|
|
7912
|
+
return (hAsync(Host, { key: 'c03b31f6576f7a103227964d33a40cb4e659c3ce' }, hAsync("div", { key: '3f29fe2801d281c6e110a512156527cabce854a8', class: containerClasses }, this.label && (hAsync("label", { key: 'b2d3bcb28e66d80a43fbca6e6bc37f1c967982ba', class: "xplor-input-text-area__label", htmlFor: this.inputId }, this.label, this.required && hAsync("span", { key: '73c21af6cba3faff373a0d1700a8577ee3fffb46', class: "xplor-input-text-area__required" }, "*"))), hAsync("div", { key: 'f9f60ad9aa09747bdd77b51f7576d4d9811b5c81', class: "xplor-input-text-area__field" }, hAsync("textarea", { key: 'd41b249092b9478a5fb323042a1e7397b1326dd0', id: this.inputId, class: "xplor-input-text-area__input", value: this.value, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, required: this.required, rows: this.rows, onInput: this.handleInput, onChange: this.handleChange, onFocus: () => (this.isFocused = true), onBlur: () => (this.isFocused = false), style: {
|
|
7486
7913
|
backgroundColor: this.bgColor,
|
|
7487
|
-
} }), showClearButton && (hAsync("button", { key: '
|
|
7914
|
+
}, "aria-invalid": this.error ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, "aria-describedby": this.error ? this.errorId : this.helperText ? this.helperId : undefined }), showClearButton && (hAsync("button", { key: '8cb817547c0c494c2f82216a9f07a78bc4c5314d', type: "button", class: "xplor-input-text-area__clear", onClick: this.handleClear, "aria-label": "Clear" }, "\u2715"))), showDetails && (hAsync("div", { key: 'e0f4d72ac96eda8ce0913cb80f11a65b1adfc0c4', class: "xplor-input-text-area__details" }, this.error && hAsync("div", { key: '7eb06f00783c62614af72fc769b585b167f8d25b', class: "xplor-input-text-area__error-message", id: this.errorId }, this.error), !this.error && this.helperText && hAsync("div", { key: 'c9f5ad0158da20c2a743e7fb304a04eeb6a0270b', class: "xplor-input-text-area__helper-text", id: this.helperId }, this.helperText))))));
|
|
7488
7915
|
}
|
|
7489
7916
|
static get style() { return xplorInputTextAreaCss; }
|
|
7490
7917
|
static get cmpMeta() { return {
|
|
@@ -7514,6 +7941,7 @@ class XplorInputTextArea {
|
|
|
7514
7941
|
|
|
7515
7942
|
const xplorInputTextSecondaryCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-input-text-secondary {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-input-text-secondary {\n width: 600px !important;\n }\n}\nh1.sc-xplor-input-text-secondary {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-input-text-secondary {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-input-text-secondary {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-input-text-secondary {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-input-text-secondary, ul.sc-xplor-input-text-secondary {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-input-text-secondary li.sc-xplor-input-text-secondary, ul.sc-xplor-input-text-secondary li.sc-xplor-input-text-secondary {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-input-text-secondary, ul.mdc-list.sc-xplor-input-text-secondary {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-input-text-secondary li.mdc-list-item.sc-xplor-input-text-secondary, ul.mdc-list.sc-xplor-input-text-secondary li.mdc-list-item.sc-xplor-input-text-secondary {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-input-text-secondary {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-input-text-secondary {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-input-text-secondary {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-input-text-secondary {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-input-text-secondary .mdc-text-field--outlined.sc-xplor-input-text-secondary .mdc-notched-outline__notch.sc-xplor-input-text-secondary {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-input-text-secondary .mdc-notched-outline__notch.sc-xplor-input-text-secondary {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-input-text-secondary .mdc-notched-outline.sc-xplor-input-text-secondary .mdc-notched-outline__notch.sc-xplor-input-text-secondary {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-input-text-secondary {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-input-text-secondary:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-input-text-secondary {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-input-text-secondary-h {\n display: block;\n}\n\n.input-secondary.sc-xplor-input-text-secondary {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n.input-secondary__label.sc-xplor-input-text-secondary {\n font-size: 0.875rem;\n color: rgba(0, 0, 0, 0.6);\n margin-bottom: 0.25rem;\n}\n.input-secondary__required.sc-xplor-input-text-secondary {\n color: #d32f2f;\n margin-left: 0.25rem;\n}\n.input-secondary__field.sc-xplor-input-text-secondary {\n position: relative;\n display: flex;\n align-items: center;\n}\n.input-secondary__input.sc-xplor-input-text-secondary {\n width: 100%;\n padding: 0.875rem 1rem;\n font-size: 1rem;\n font-family: inherit;\n border: 1px solid rgba(0, 0, 0, 0.23);\n border-radius: 16px;\n outline: none;\n transition: border-color 0.2s ease, border-width 0.2s ease;\n}\n.input-secondary__input.sc-xplor-input-text-secondary::placeholder {\n color: rgba(0, 0, 0, 0.38);\n}\n.input-secondary__input.sc-xplor-input-text-secondary:hover:not(:disabled) {\n border-color: rgba(0, 0, 0, 0.6);\n}\n.input-secondary__input.sc-xplor-input-text-secondary:focus {\n border-color: #008480;\n border-width: 2px;\n padding: calc(0.875rem - 1px) calc(1rem - 1px);\n}\n.input-secondary__input.sc-xplor-input-text-secondary:disabled {\n background-color: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.38);\n cursor: not-allowed;\n}\n.input-secondary__input.sc-xplor-input-text-secondary:read-only {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.input-secondary--dirty.sc-xplor-input-text-secondary .input-secondary__input.sc-xplor-input-text-secondary {\n border-color: #008480;\n border-width: 2px;\n padding: calc(0.875rem - 1px) calc(1rem - 1px);\n}\n.input-secondary--error.sc-xplor-input-text-secondary .input-secondary__input.sc-xplor-input-text-secondary {\n border-color: #d32f2f;\n}\n.input-secondary__details.sc-xplor-input-text-secondary {\n min-height: 1.25rem;\n padding: 0 1rem;\n font-size: 0.75rem;\n}\n.input-secondary__error-message.sc-xplor-input-text-secondary {\n color: #d32f2f;\n}\n.input-secondary__helper-text.sc-xplor-input-text-secondary {\n color: rgba(0, 0, 0, 0.6);\n}";
|
|
7516
7943
|
|
|
7944
|
+
let inputTextSecondaryIdCounter = 0;
|
|
7517
7945
|
class XplorInputTextSecondary {
|
|
7518
7946
|
constructor(hostRef) {
|
|
7519
7947
|
registerInstance(this, hostRef);
|
|
@@ -7521,6 +7949,9 @@ class XplorInputTextSecondary {
|
|
|
7521
7949
|
this.xplorChange = createEvent(this, "xplorChange");
|
|
7522
7950
|
this.xplorFocus = createEvent(this, "xplorFocus");
|
|
7523
7951
|
this.xplorBlur = createEvent(this, "xplorBlur");
|
|
7952
|
+
this.inputId = `xplor-input-text-secondary-${++inputTextSecondaryIdCounter}`;
|
|
7953
|
+
this.errorId = `${this.inputId}-error`;
|
|
7954
|
+
this.helperId = `${this.inputId}-helper`;
|
|
7524
7955
|
this.value = '';
|
|
7525
7956
|
this.label = '';
|
|
7526
7957
|
this.placeholder = '';
|
|
@@ -7562,9 +7993,9 @@ class XplorInputTextSecondary {
|
|
|
7562
7993
|
'input-secondary--dirty': this.isDirty,
|
|
7563
7994
|
};
|
|
7564
7995
|
const showDetails = this.hideDetails === false || (this.hideDetails === 'auto' && (this.error || this.helperText));
|
|
7565
|
-
return (hAsync(Host, { key: '
|
|
7996
|
+
return (hAsync(Host, { key: 'cba1682d9584d1dad7da1974dee2ba86423e5a8b' }, hAsync("div", { key: '2dd7399f266c15a9654dcb8075edd69501f464e0', class: containerClasses }, this.label && (hAsync("label", { key: '445608b567e7673386bb99791f63e852c6b95627', class: "input-secondary__label", htmlFor: this.inputId }, this.label, this.required && hAsync("span", { key: '3e926e2b17ada694064559525a86dab2f64bbb39', class: "input-secondary__required" }, "*"))), hAsync("div", { key: 'f2b73b8eed06c0ad8931e67e8d26e6d13effa14d', class: "input-secondary__field" }, hAsync("input", { key: 'dd3506bb5fd1e14f3e30600f3b00b28446f7fa87', id: this.inputId, type: this.type, class: "input-secondary__input", value: this.value, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, required: this.required, onInput: this.handleInput, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
|
|
7566
7997
|
backgroundColor: this.bgColor,
|
|
7567
|
-
} }), hAsync("slot", { key: '
|
|
7998
|
+
}, "aria-invalid": this.error ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, "aria-describedby": this.error ? this.errorId : this.helperText ? this.helperId : undefined }), hAsync("slot", { key: 'ae3d7ee9248d8098e36bd44a8e07454cbdfecb32', name: "append-inner" })), showDetails && (hAsync("div", { key: '9cf7faef29234709d7301ede1d635dda4eabf3ac', class: "input-secondary__details" }, this.error && hAsync("div", { key: '7315826f15369e3a98cd629d484a34bc373f753d', class: "input-secondary__error-message", id: this.errorId }, this.error), !this.error && this.helperText && hAsync("div", { key: '356726d208da52b6e4c973f06511132a26f70069', class: "input-secondary__helper-text", id: this.helperId }, this.helperText))), hAsync("slot", { key: '190b4ed0fd2e6253dcae23ac4637bab3e0b26d81', name: "append" }))));
|
|
7568
7999
|
}
|
|
7569
8000
|
static get style() { return xplorInputTextSecondaryCss; }
|
|
7570
8001
|
static get cmpMeta() { return {
|
|
@@ -7614,6 +8045,10 @@ class XplorInputTitle {
|
|
|
7614
8045
|
* Whether the input is readonly
|
|
7615
8046
|
*/
|
|
7616
8047
|
this.readonly = false;
|
|
8048
|
+
/**
|
|
8049
|
+
* Accessible label for the input
|
|
8050
|
+
*/
|
|
8051
|
+
this.ariaLabel = 'Title';
|
|
7617
8052
|
this.handleInput = (event) => {
|
|
7618
8053
|
const target = event.target;
|
|
7619
8054
|
this.value = target.value;
|
|
@@ -7626,7 +8061,7 @@ class XplorInputTitle {
|
|
|
7626
8061
|
};
|
|
7627
8062
|
}
|
|
7628
8063
|
render() {
|
|
7629
|
-
return (hAsync(Host, { key: '
|
|
8064
|
+
return (hAsync(Host, { key: '1e49e53ce1525bdfa81b550739c97b3927a919e6' }, hAsync("input", { key: '74dd032886da4bca30a5f38a15b18903f03c5095', type: "text", class: "xplor-input-title", value: this.value, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, "aria-label": this.ariaLabel, onInput: this.handleInput, onChange: this.handleChange })));
|
|
7630
8065
|
}
|
|
7631
8066
|
static get style() { return xplorInputTitleCss; }
|
|
7632
8067
|
static get cmpMeta() { return {
|
|
@@ -7636,7 +8071,8 @@ class XplorInputTitle {
|
|
|
7636
8071
|
"value": [1025],
|
|
7637
8072
|
"placeholder": [1],
|
|
7638
8073
|
"disabled": [4],
|
|
7639
|
-
"readonly": [4]
|
|
8074
|
+
"readonly": [4],
|
|
8075
|
+
"ariaLabel": [1, "aria-label"]
|
|
7640
8076
|
},
|
|
7641
8077
|
"$listeners$": undefined,
|
|
7642
8078
|
"$lazyBundleId$": "-",
|
|
@@ -7649,16 +8085,19 @@ const xplorLinksCss = ":host{display:block}.x-link{display:block;padding:0.5rem
|
|
|
7649
8085
|
class XplorLinks {
|
|
7650
8086
|
constructor(hostRef) {
|
|
7651
8087
|
registerInstance(this, hostRef);
|
|
8088
|
+
/** Alt text for the image */
|
|
8089
|
+
this.imageAlt = '';
|
|
7652
8090
|
}
|
|
7653
8091
|
render() {
|
|
7654
|
-
return (hAsync(Host, { key: '
|
|
8092
|
+
return (hAsync(Host, { key: 'e26ac5962cb44c6e05a39034e76b6f35d076cb60', class: `theme-${this.brand}` }, hAsync("a", { key: '030c76cf101abf498a2828bffef051f5e01d3a65', class: "x-link", href: "https://google.com" }, ' ', "googole this is a link", ' '), hAsync("div", { key: '13ef22eb8e5ddc49976006b138b7bac0e379d85c', class: "bg-black p-2 rounded-md flex justify-center" }, hAsync("h1", { key: '39e7adc65ee5b26b4be9c111eabdb295fc964065', class: "text-primary font-sans" }, "This is a Stencil component using Tailwind")), hAsync("div", { key: 'dae9ed47cdaa4afb6a6b70ca82c9b3c280f39215', class: "bg-white py-24 sm:py-32" }, hAsync("div", { key: '32f746f7ec8c3337fff37e445dfb7e31a42e68c9', class: "mx-auto grid max-w-7xl gap-20 px-6 lg:px-8 xl:grid-cols-3" }, hAsync("div", { key: '309dfd3930301f77cf83eea80579063d1c4aee85', class: "max-w-xl" }, hAsync("h2", { key: '6fac68cca56d79303a1d92b86d059f7f91296b3e', class: "text-pretty text-3xl font-semibold tracking-tight text-gray-900 sm:text-4xl" }, "Meet our leadership"), hAsync("p", { key: 'd759f98a1c30f4636592a5aa5ffa8f06cfa93dbe', class: "mt-6 text-lg/8 text-gray-600" }, "We\u2019re a dynamic group of individuals who are passionate about what we do and dedicated to delivering the best results for our clients.")), hAsync("ul", { key: '978c9a043988f63c53b2ec9f7e0e73367dd72f41', role: "list", class: "grid gap-x-8 gap-y-12 sm:grid-cols-2 sm:gap-y-16 xl:col-span-2" }, hAsync("li", { key: '6ae95678b9ef5ed2ad60c62661aa4a6c966f2740' }, hAsync("div", { key: '0a98faa21b7216205d1ad44d977bcade55ce3162', class: "flex items-center gap-x-6" }, hAsync("img", { key: '58c7a75c098911ca434d5de959ca358a80cb5598', class: "size-16 rounded-full", src: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80", alt: this.imageAlt }), hAsync("div", { key: '314a9de00a4ac46b67a12cc57ca8392ccea7cfd8' }, hAsync("h3", { key: 'd87b6c4fcdcf68e7bd9b9b29428cfe10de9e03fd', class: "text-base/7 font-semibold tracking-tight text-gray-900" }, "Leslie Alexander"), hAsync("p", { key: '254489d8c64e765276fbfb72cd88221a0e2575ad', class: "text-sm/6 font-semibold text-indigo-600" }, "Co-Founder / CEO")))))))));
|
|
7655
8093
|
}
|
|
7656
8094
|
static get style() { return xplorLinksCss; }
|
|
7657
8095
|
static get cmpMeta() { return {
|
|
7658
8096
|
"$flags$": 9,
|
|
7659
8097
|
"$tagName$": "xplor-links",
|
|
7660
8098
|
"$members$": {
|
|
7661
|
-
"brand": [1]
|
|
8099
|
+
"brand": [1],
|
|
8100
|
+
"imageAlt": [1, "image-alt"]
|
|
7662
8101
|
},
|
|
7663
8102
|
"$listeners$": undefined,
|
|
7664
8103
|
"$lazyBundleId$": "-",
|
|
@@ -7704,6 +8143,7 @@ class XplorModal {
|
|
|
7704
8143
|
* Whether to show the title area (for spacing)
|
|
7705
8144
|
*/
|
|
7706
8145
|
this.showTitle = true;
|
|
8146
|
+
this.previouslyFocusedElement = null;
|
|
7707
8147
|
this.handleBackdropClick = () => {
|
|
7708
8148
|
if (!this.persistent) {
|
|
7709
8149
|
this.closeModal();
|
|
@@ -7720,14 +8160,68 @@ class XplorModal {
|
|
|
7720
8160
|
handleOpenChange(newValue) {
|
|
7721
8161
|
if (newValue) {
|
|
7722
8162
|
document.body.style.overflow = 'hidden';
|
|
8163
|
+
this.previouslyFocusedElement = document.activeElement;
|
|
8164
|
+
requestAnimationFrame(() => {
|
|
8165
|
+
this.setInitialFocus();
|
|
8166
|
+
});
|
|
7723
8167
|
}
|
|
7724
8168
|
else {
|
|
7725
8169
|
document.body.style.overflow = '';
|
|
8170
|
+
if (this.previouslyFocusedElement) {
|
|
8171
|
+
this.previouslyFocusedElement.focus();
|
|
8172
|
+
this.previouslyFocusedElement = null;
|
|
8173
|
+
}
|
|
7726
8174
|
}
|
|
7727
8175
|
}
|
|
7728
8176
|
disconnectedCallback() {
|
|
7729
8177
|
document.body.style.overflow = '';
|
|
7730
8178
|
}
|
|
8179
|
+
handleKeyDown(event) {
|
|
8180
|
+
if (!this.open)
|
|
8181
|
+
return;
|
|
8182
|
+
if (event.key === 'Escape' && !this.persistent) {
|
|
8183
|
+
event.preventDefault();
|
|
8184
|
+
this.closeModal();
|
|
8185
|
+
return;
|
|
8186
|
+
}
|
|
8187
|
+
if (event.key === 'Tab') {
|
|
8188
|
+
this.trapFocus(event);
|
|
8189
|
+
}
|
|
8190
|
+
}
|
|
8191
|
+
getFocusableElements() {
|
|
8192
|
+
if (!this.dialogEl)
|
|
8193
|
+
return [];
|
|
8194
|
+
const selectors = 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
8195
|
+
return Array.from(this.dialogEl.querySelectorAll(selectors));
|
|
8196
|
+
}
|
|
8197
|
+
trapFocus(event) {
|
|
8198
|
+
const focusableElements = this.getFocusableElements();
|
|
8199
|
+
if (focusableElements.length === 0)
|
|
8200
|
+
return;
|
|
8201
|
+
const firstElement = focusableElements[0];
|
|
8202
|
+
const lastElement = focusableElements[focusableElements.length - 1];
|
|
8203
|
+
if (event.shiftKey) {
|
|
8204
|
+
if (document.activeElement === firstElement) {
|
|
8205
|
+
event.preventDefault();
|
|
8206
|
+
lastElement.focus();
|
|
8207
|
+
}
|
|
8208
|
+
}
|
|
8209
|
+
else {
|
|
8210
|
+
if (document.activeElement === lastElement) {
|
|
8211
|
+
event.preventDefault();
|
|
8212
|
+
firstElement.focus();
|
|
8213
|
+
}
|
|
8214
|
+
}
|
|
8215
|
+
}
|
|
8216
|
+
setInitialFocus() {
|
|
8217
|
+
const focusableElements = this.getFocusableElements();
|
|
8218
|
+
if (focusableElements.length > 0) {
|
|
8219
|
+
focusableElements[0].focus();
|
|
8220
|
+
}
|
|
8221
|
+
else if (this.dialogEl) {
|
|
8222
|
+
this.dialogEl.focus();
|
|
8223
|
+
}
|
|
8224
|
+
}
|
|
7731
8225
|
render() {
|
|
7732
8226
|
if (!this.open) {
|
|
7733
8227
|
return null;
|
|
@@ -7744,8 +8238,12 @@ class XplorModal {
|
|
|
7744
8238
|
width: this.width,
|
|
7745
8239
|
maxWidth: this.maxWidth,
|
|
7746
8240
|
maxHeight: this.maxHeight,
|
|
7747
|
-
}, onClick: this.handleCardClick }, hAsync("button", { type: "button", class: "xplor-modal__close-btn", onClick: this.closeModal, "aria-label": "Close modal", "data-testid": "common-modal-close-button" }, "\u2715"), hAsync("div", { class: "xplor-modal__title" }, hAsync("slot", { name: "title" })), hAsync("div", { class: "xplor-modal__subtitle" }, hAsync("slot", { name: "subtitle" })), hAsync("div", { class: bodyClasses }, this.loading ? (hAsync("div", { class: "xplor-modal__loading"
|
|
8241
|
+
}, onClick: this.handleCardClick, role: "dialog", "aria-modal": "true", "aria-labelledby": this.ariaLabel ? undefined : 'xplor-modal-title', "aria-label": this.ariaLabel, tabindex: "-1", ref: (el) => (this.dialogEl = el) }, hAsync("button", { type: "button", class: "xplor-modal__close-btn", onClick: this.closeModal, "aria-label": "Close modal", "data-testid": "common-modal-close-button" }, "\u2715"), hAsync("div", { class: "xplor-modal__title", id: "xplor-modal-title" }, hAsync("slot", { name: "title" })), hAsync("div", { class: "xplor-modal__subtitle" }, hAsync("slot", { name: "subtitle" })), hAsync("div", { class: bodyClasses }, this.loading ? (hAsync("div", { class: "xplor-modal__loading", role: "status", "aria-label": "Loading" }, hAsync("div", { class: "xplor-modal__spinner" }))) : ([
|
|
8242
|
+
hAsync("slot", { name: "body" }),
|
|
8243
|
+
hAsync("slot", null)
|
|
8244
|
+
])), hAsync("div", { class: "xplor-modal__actions" }, hAsync("slot", { name: "actions" }))))));
|
|
7748
8245
|
}
|
|
8246
|
+
get el() { return getElement(this); }
|
|
7749
8247
|
static get watchers() { return {
|
|
7750
8248
|
"open": ["handleOpenChange"]
|
|
7751
8249
|
}; }
|
|
@@ -7761,9 +8259,10 @@ class XplorModal {
|
|
|
7761
8259
|
"scrollable": [4],
|
|
7762
8260
|
"persistent": [4],
|
|
7763
8261
|
"loading": [4],
|
|
7764
|
-
"showTitle": [4, "show-title"]
|
|
8262
|
+
"showTitle": [4, "show-title"],
|
|
8263
|
+
"ariaLabel": [1, "aria-label"]
|
|
7765
8264
|
},
|
|
7766
|
-
"$listeners$":
|
|
8265
|
+
"$listeners$": [[0, "keydown", "handleKeyDown"]],
|
|
7767
8266
|
"$lazyBundleId$": "-",
|
|
7768
8267
|
"$attrsToReflect$": []
|
|
7769
8268
|
}; }
|
|
@@ -7795,7 +8294,7 @@ class XplorModalPersistent {
|
|
|
7795
8294
|
this.loading = false;
|
|
7796
8295
|
}
|
|
7797
8296
|
render() {
|
|
7798
|
-
return (hAsync(Host, { key: '
|
|
8297
|
+
return (hAsync(Host, { key: '60cd29fcdff8efad4d0b24f4532acb86e4f6220b' }, hAsync("xplor-modal", { key: '6252525de022fcc1098e2e179c4aedb81ebb15d3', open: this.open, width: this.width, maxWidth: this.maxWidth, maxHeight: this.maxHeight, loading: this.loading, persistent: true, onXplorClose: () => this.xplorClose.emit() }, hAsync("slot", { key: '484eeecc00f647e920878512f5e6bd61b41ba825', name: "title", slot: "title" }), hAsync("slot", { key: 'e3fb52e2f19fdd4346fc4d014a0391dcc3e7c156', name: "subtitle", slot: "subtitle" }), hAsync("slot", { key: 'aa8a47b1afa24229269c08783fe0b69c5a258adc', name: "body", slot: "body" }), hAsync("slot", { key: '8d1711d5e3223922596a26ce4eb9d30288c259ed', name: "actions", slot: "actions" }))));
|
|
7799
8298
|
}
|
|
7800
8299
|
static get cmpMeta() { return {
|
|
7801
8300
|
"$flags$": 4,
|
|
@@ -7829,8 +8328,45 @@ class XplorNavTabs {
|
|
|
7829
8328
|
this.xplorChange.emit(item.value);
|
|
7830
8329
|
};
|
|
7831
8330
|
}
|
|
8331
|
+
handleKeyDown(event) {
|
|
8332
|
+
const enabledItems = this.items.filter(item => !item.disabled);
|
|
8333
|
+
if (enabledItems.length === 0)
|
|
8334
|
+
return;
|
|
8335
|
+
const currentIndex = enabledItems.findIndex(item => item.value === this.value);
|
|
8336
|
+
let newIndex = currentIndex;
|
|
8337
|
+
switch (event.key) {
|
|
8338
|
+
case 'ArrowRight':
|
|
8339
|
+
event.preventDefault();
|
|
8340
|
+
newIndex = currentIndex < enabledItems.length - 1 ? currentIndex + 1 : 0;
|
|
8341
|
+
break;
|
|
8342
|
+
case 'ArrowLeft':
|
|
8343
|
+
event.preventDefault();
|
|
8344
|
+
newIndex = currentIndex > 0 ? currentIndex - 1 : enabledItems.length - 1;
|
|
8345
|
+
break;
|
|
8346
|
+
case 'Home':
|
|
8347
|
+
event.preventDefault();
|
|
8348
|
+
newIndex = 0;
|
|
8349
|
+
break;
|
|
8350
|
+
case 'End':
|
|
8351
|
+
event.preventDefault();
|
|
8352
|
+
newIndex = enabledItems.length - 1;
|
|
8353
|
+
break;
|
|
8354
|
+
default:
|
|
8355
|
+
return;
|
|
8356
|
+
}
|
|
8357
|
+
const newItem = enabledItems[newIndex];
|
|
8358
|
+
this.value = newItem.value;
|
|
8359
|
+
this.xplorChange.emit(newItem.value);
|
|
8360
|
+
// Focus the newly active tab button
|
|
8361
|
+
const buttons = this.el.querySelectorAll('button[role="tab"]');
|
|
8362
|
+
const allItemIndex = this.items.indexOf(newItem);
|
|
8363
|
+
const targetButton = buttons[allItemIndex];
|
|
8364
|
+
if (targetButton) {
|
|
8365
|
+
targetButton.focus();
|
|
8366
|
+
}
|
|
8367
|
+
}
|
|
7832
8368
|
render() {
|
|
7833
|
-
return (hAsync(Host, { key: '
|
|
8369
|
+
return (hAsync(Host, { key: '1a94314129f0f6c94df3196ef7e2a493b6626fd7' }, hAsync("div", { key: '71b0ee2d2baab1fed571ed88f04fc49754b2952e', class: {
|
|
7834
8370
|
'nav-tabs': true,
|
|
7835
8371
|
'nav-tabs--grow': this.grow,
|
|
7836
8372
|
[`nav-tabs--${this.color}`]: true,
|
|
@@ -7838,8 +8374,9 @@ class XplorNavTabs {
|
|
|
7838
8374
|
'nav-tabs__tab': true,
|
|
7839
8375
|
'nav-tabs__tab--active': this.value === item.value,
|
|
7840
8376
|
'nav-tabs__tab--disabled': item.disabled,
|
|
7841
|
-
}, onClick: () => this.handleTabClick(item), disabled: item.disabled, role: "tab", "aria-selected": this.value === item.value ? 'true' : 'false', type: "button" }, item.label))), hAsync("slot", { key: '
|
|
8377
|
+
}, onClick: () => this.handleTabClick(item), disabled: item.disabled, role: "tab", "aria-selected": this.value === item.value ? 'true' : 'false', tabIndex: this.value === item.value ? 0 : -1, type: "button" }, item.label))), hAsync("slot", { key: 'fbf08f6785a81babc1c29359f0dff202dca18d6c' }))));
|
|
7842
8378
|
}
|
|
8379
|
+
get el() { return getElement(this); }
|
|
7843
8380
|
static get style() { return xplorNavTabsCss; }
|
|
7844
8381
|
static get cmpMeta() { return {
|
|
7845
8382
|
"$flags$": 6,
|
|
@@ -7850,6 +8387,119 @@ class XplorNavTabs {
|
|
|
7850
8387
|
"color": [1],
|
|
7851
8388
|
"grow": [4]
|
|
7852
8389
|
},
|
|
8390
|
+
"$listeners$": [[0, "keydown", "handleKeyDown"]],
|
|
8391
|
+
"$lazyBundleId$": "-",
|
|
8392
|
+
"$attrsToReflect$": []
|
|
8393
|
+
}; }
|
|
8394
|
+
}
|
|
8395
|
+
|
|
8396
|
+
const xplorRadioBtnCss = "/* on mobile browsers, I set a width of 100% */\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n /* html[data-theme='office'] {\n --color-primary: rgb(219, 59, 3);\n --color-secondary: rgb(0, 119, 107);\n --color-buttons: #89da59;\n --color-typography: #ff320e;\n }\n\n html {\n --color-primary: #db3b03;\n --color-primary-50: #db3b03;\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgb(0, 119, 107);\n --color-tertiary: rgb(128, 104, 186);\n } */\n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n /* Fallback */\n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n /* Fallback */\n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n/* on large screens, I use a different layout, so 600px are sufficient */\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce {\n width: 600px !important;\n }\n}\nh1 {\n color: var(--color-primary);\n /* Header/H1 */\n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; /* 116.667% */\n}\n\nh2 {\n color: var(--grey-1100252525, #252525);\n /* Header/H2 Bold */\n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; /* 118.75% */\n letter-spacing: 0.25px;\n}\n\nh3 {\n color: var(--grey-1100252525, #252525);\n /* Header/H3 */\n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; /* 133.333% */\n}\n\n.overline {\n color: var(--grey-1100252525, #252525);\n /* Overline/Regular */\n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; /* 133.333% */\n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol,\nul {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol li,\nul li {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list,\nul.mdc-list {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list li.mdc-list-item,\nul.mdc-list li.mdc-list-item {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label {\n color: var(--Orange-900-Primary, #db3b03);\n /* Caption 1/Regular */\n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; /* 133.333% */\n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg {\n background-color: #fefcfb;\n}\n\n#spinnerLoader {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label {\n background-color: white;\n}\n\n.mdc-ripple-upgraded .mdc-text-field--outlined .mdc-notched-outline__notch {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused .mdc-notched-outline__notch {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n:host {\n display: inline-block;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n}\n\n.radio-wrapper {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n}\n.radio-wrapper--disabled {\n cursor: not-allowed;\n}\n\n.radio {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n border: 2px solid #9ca3af;\n background: white;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.15s ease;\n outline: none;\n position: relative;\n flex-shrink: 0;\n}\n.radio.hover {\n border-color: #059669;\n background: #d1fae5;\n}\n.radio.focus {\n border-color: #059669;\n background: #a7f3d0;\n box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.2);\n}\n.radio.pressed {\n border-color: #059669;\n background: #6ee7b7;\n}\n.radio.checked {\n border-color: #059669;\n}\n.radio.checked.hover {\n background: #d1fae5;\n}\n.radio.checked.hover .radio-inner {\n background: #059669;\n}\n.radio.checked.focus {\n background: #a7f3d0;\n box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.2);\n}\n.radio.checked.focus .radio-inner {\n background: #059669;\n}\n.radio.checked.pressed {\n background: #6ee7b7;\n}\n.radio.checked.pressed .radio-inner {\n background: #059669;\n}\n.radio.error {\n border-color: #ef4444;\n}\n.radio.error.hover {\n background: #fee2e2;\n border-color: #ef4444;\n}\n.radio.error.focus {\n background: #fecaca;\n border-color: #ef4444;\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);\n}\n.radio.error.pressed {\n background: #fca5a5;\n border-color: #ef4444;\n}\n.radio.error.checked .radio-inner {\n background: #ef4444;\n}\n.radio.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n border-color: #d1d5db;\n background: white;\n}\n.radio.disabled.checked {\n border-color: #9ca3af;\n}\n.radio.disabled.checked .radio-inner {\n background: #9ca3af;\n}\n\n.radio-inner {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background: #059669;\n transform: scale(0);\n transition: transform 0.15s ease;\n}\n.radio-inner--visible {\n transform: scale(1);\n}\n\n.label {\n font-size: 14px;\n color: #374151;\n user-select: none;\n}\n\n.radio-wrapper--disabled .label {\n opacity: 0.4;\n}";
|
|
8397
|
+
|
|
8398
|
+
class XplorRadioBtn {
|
|
8399
|
+
constructor(hostRef) {
|
|
8400
|
+
registerInstance(this, hostRef);
|
|
8401
|
+
this.radioChange = createEvent(this, "radioChange");
|
|
8402
|
+
/** The label text displayed next to the radio button */
|
|
8403
|
+
this.label = '';
|
|
8404
|
+
/** The value associated with this radio button */
|
|
8405
|
+
this.value = '';
|
|
8406
|
+
/** The name attribute to group radio buttons together */
|
|
8407
|
+
this.name = '';
|
|
8408
|
+
/** Whether this radio button is initially selected */
|
|
8409
|
+
this.initialChecked = false;
|
|
8410
|
+
/** Whether this radio button is disabled */
|
|
8411
|
+
this.disabled = false;
|
|
8412
|
+
/** Whether this radio button is in an error state */
|
|
8413
|
+
this.error = false;
|
|
8414
|
+
this.checked = false;
|
|
8415
|
+
this.isHovered = false;
|
|
8416
|
+
this.isFocused = false;
|
|
8417
|
+
this.isPressed = false;
|
|
8418
|
+
this.handleClick = () => {
|
|
8419
|
+
if (this.disabled || this.checked)
|
|
8420
|
+
return;
|
|
8421
|
+
// Deselect all siblings in the same name group
|
|
8422
|
+
this.getSiblingRadios().forEach(radio => radio.deselect());
|
|
8423
|
+
this.checked = true;
|
|
8424
|
+
this.radioChange.emit({ value: this.value, checked: this.checked });
|
|
8425
|
+
};
|
|
8426
|
+
this.handleKeyDown = (e) => {
|
|
8427
|
+
if (this.disabled)
|
|
8428
|
+
return;
|
|
8429
|
+
if (e.key === ' ' || e.key === 'Enter') {
|
|
8430
|
+
e.preventDefault();
|
|
8431
|
+
this.isPressed = true;
|
|
8432
|
+
this.handleClick();
|
|
8433
|
+
}
|
|
8434
|
+
};
|
|
8435
|
+
this.handleKeyUp = (e) => {
|
|
8436
|
+
if (e.key === ' ' || e.key === 'Enter') {
|
|
8437
|
+
this.isPressed = false;
|
|
8438
|
+
}
|
|
8439
|
+
};
|
|
8440
|
+
this.getRadioClass = () => {
|
|
8441
|
+
const classes = ['radio'];
|
|
8442
|
+
if (this.checked)
|
|
8443
|
+
classes.push('checked');
|
|
8444
|
+
if (this.disabled)
|
|
8445
|
+
classes.push('disabled');
|
|
8446
|
+
if (this.error)
|
|
8447
|
+
classes.push('error');
|
|
8448
|
+
if (this.isHovered && !this.disabled)
|
|
8449
|
+
classes.push('hover');
|
|
8450
|
+
if (this.isFocused && !this.disabled)
|
|
8451
|
+
classes.push('focus');
|
|
8452
|
+
if (this.isPressed && !this.disabled)
|
|
8453
|
+
classes.push('pressed');
|
|
8454
|
+
return classes.join(' ');
|
|
8455
|
+
};
|
|
8456
|
+
}
|
|
8457
|
+
watchCheckedProp(newValue) {
|
|
8458
|
+
this.checked = newValue;
|
|
8459
|
+
}
|
|
8460
|
+
componentWillLoad() {
|
|
8461
|
+
this.checked = this.initialChecked;
|
|
8462
|
+
}
|
|
8463
|
+
/** Programmatically deselect this radio button */
|
|
8464
|
+
async deselect() {
|
|
8465
|
+
this.checked = false;
|
|
8466
|
+
}
|
|
8467
|
+
getSiblingRadios() {
|
|
8468
|
+
if (!this.name)
|
|
8469
|
+
return [];
|
|
8470
|
+
const parent = this.el.parentElement;
|
|
8471
|
+
if (!parent)
|
|
8472
|
+
return [];
|
|
8473
|
+
const all = Array.from(parent.querySelectorAll(`xplor-radio-btn[name="${this.name}"]`));
|
|
8474
|
+
return all.filter(radio => radio !== this.el);
|
|
8475
|
+
}
|
|
8476
|
+
render() {
|
|
8477
|
+
return (hAsync("label", { key: 'dee9c14f54e292d18b3267ca5e2000aca36b0456', class: {
|
|
8478
|
+
'radio-wrapper': true,
|
|
8479
|
+
'radio-wrapper--disabled': this.disabled,
|
|
8480
|
+
} }, hAsync("div", { key: '30bd9ba24abb9b37e6baa55d6ba767a2058cd1d0', class: this.getRadioClass(), onClick: this.handleClick, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), onMouseDown: () => (this.isPressed = true), onMouseUp: () => (this.isPressed = false), onFocus: () => (this.isFocused = true), onBlur: () => (this.isFocused = false), onKeyDown: this.handleKeyDown, onKeyUp: this.handleKeyUp, tabIndex: this.disabled ? -1 : 0, role: "radio", "aria-checked": this.checked.toString(), "aria-disabled": this.disabled.toString(), "aria-label": this.label }, hAsync("div", { key: 'd09a47486e2041f12cbdeadd29fd537cab41db3b', class: { 'radio-inner': true, 'radio-inner--visible': this.checked } })), this.label && (hAsync("span", { key: 'd8b820cd1b843f33a99a64c236f3f53a1c68be70', class: "label" }, this.label))));
|
|
8481
|
+
}
|
|
8482
|
+
get el() { return getElement(this); }
|
|
8483
|
+
static get watchers() { return {
|
|
8484
|
+
"initialChecked": ["watchCheckedProp"]
|
|
8485
|
+
}; }
|
|
8486
|
+
static get style() { return xplorRadioBtnCss; }
|
|
8487
|
+
static get cmpMeta() { return {
|
|
8488
|
+
"$flags$": 9,
|
|
8489
|
+
"$tagName$": "xplor-radio-btn",
|
|
8490
|
+
"$members$": {
|
|
8491
|
+
"label": [1],
|
|
8492
|
+
"value": [1],
|
|
8493
|
+
"name": [1],
|
|
8494
|
+
"initialChecked": [4, "initial-checked"],
|
|
8495
|
+
"disabled": [4],
|
|
8496
|
+
"error": [4],
|
|
8497
|
+
"checked": [32],
|
|
8498
|
+
"isHovered": [32],
|
|
8499
|
+
"isFocused": [32],
|
|
8500
|
+
"isPressed": [32],
|
|
8501
|
+
"deselect": [64]
|
|
8502
|
+
},
|
|
7853
8503
|
"$listeners$": undefined,
|
|
7854
8504
|
"$lazyBundleId$": "-",
|
|
7855
8505
|
"$attrsToReflect$": []
|
|
@@ -7866,11 +8516,11 @@ class XplorSectionCard {
|
|
|
7866
8516
|
this.padding = '1.5rem';
|
|
7867
8517
|
}
|
|
7868
8518
|
render() {
|
|
7869
|
-
return (hAsync(Host, { key: '
|
|
8519
|
+
return (hAsync(Host, { key: '14876af087f131508ff26d4fefbba1792fb1f092' }, hAsync("div", { key: '38bf7ff900f46b701416e2a3483c66728939cf8c', class: {
|
|
7870
8520
|
'section-card': true,
|
|
7871
8521
|
'section-card--outlined': this.outlined,
|
|
7872
8522
|
'section-card--rounded': this.rounded,
|
|
7873
|
-
}, style: { padding: this.padding } }, hAsync("slot", { key: '
|
|
8523
|
+
}, style: { padding: this.padding } }, hAsync("slot", { key: '2189b986d9b08b1ef6168af7a5fe24da4a599301', name: "title" }), hAsync("slot", { key: 'c3efe60808ac203e0c9a63c7c636dee242856bf0', name: "subtitle" }), hAsync("div", { key: 'cf9d94651682ca4d1da25ccadbbfe2168295a326', class: "section-card__body" }, hAsync("slot", { key: '732633bbbe5ad06f1c10222e81929a33ba06a12c', name: "body" }), hAsync("slot", { key: 'e403abfc1b71759aab693c700b5ed8be1215f30e' })), hAsync("div", { key: '89ffdd8215a88483635d1542a56a6f446abf61c4', class: "section-card__actions" }, hAsync("slot", { key: 'e21b2e8b8cd048c4a0dfd369684186b547cc7611', name: "actions" })))));
|
|
7874
8524
|
}
|
|
7875
8525
|
static get style() { return xplorSectionCardCss; }
|
|
7876
8526
|
static get cmpMeta() { return {
|
|
@@ -7893,13 +8543,18 @@ class XplorSectionHeading {
|
|
|
7893
8543
|
constructor(hostRef) {
|
|
7894
8544
|
registerInstance(this, hostRef);
|
|
7895
8545
|
this.size = 'medium';
|
|
8546
|
+
/**
|
|
8547
|
+
* Heading level (1-6), renders as h1-h6. Defaults to 2.
|
|
8548
|
+
*/
|
|
8549
|
+
this.level = 2;
|
|
7896
8550
|
}
|
|
7897
8551
|
render() {
|
|
7898
|
-
|
|
8552
|
+
const HeadingTag = `h${this.level}`;
|
|
8553
|
+
return (hAsync(Host, { key: 'dbd9dc5f552dd6a20d6a5e39efd636ced45df7cb' }, hAsync(HeadingTag, { key: '90ceffcb3383b8d167e11e42cb6a2e915ddeec1b', class: {
|
|
7899
8554
|
'section-heading': true,
|
|
7900
8555
|
'section-heading--small': this.size === 'small',
|
|
7901
8556
|
'section-heading--large': this.size === 'large',
|
|
7902
|
-
} }, hAsync("slot", { key: '
|
|
8557
|
+
} }, hAsync("slot", { key: 'dd861c58c3e59e0bb4b0e7195ecaaa55ffab4912' }, this.text))));
|
|
7903
8558
|
}
|
|
7904
8559
|
static get style() { return xplorSectionHeadingCss; }
|
|
7905
8560
|
static get cmpMeta() { return {
|
|
@@ -7907,7 +8562,8 @@ class XplorSectionHeading {
|
|
|
7907
8562
|
"$tagName$": "xplor-section-heading",
|
|
7908
8563
|
"$members$": {
|
|
7909
8564
|
"size": [1],
|
|
7910
|
-
"text": [1]
|
|
8565
|
+
"text": [1],
|
|
8566
|
+
"level": [2]
|
|
7911
8567
|
},
|
|
7912
8568
|
"$listeners$": undefined,
|
|
7913
8569
|
"$lazyBundleId$": "-",
|
|
@@ -8098,18 +8754,23 @@ class XplorTable {
|
|
|
8098
8754
|
if (this.hasScrolled)
|
|
8099
8755
|
className += ' xpl-table--has-scrolled';
|
|
8100
8756
|
const paginatedData = this.getPaginatedData();
|
|
8101
|
-
return (hAsync(Host, { key: '
|
|
8757
|
+
return (hAsync(Host, { key: 'da8ded4b349560e2272fd0ffa1395ffc04d92769', class: "xplor-table" }, hAsync("div", { key: '5cddb71e28a6eb512bbe0a209816fb8ba8050e22', class: "bg-white rounded-lg shadow-sm border border-gray-200 p-6 max-w-6xl mx-auto" }, hAsync("div", { key: '24abe132c8b2889e656f39b197dcb2348cf7c49b', class: "xpl-table-container", onScroll: this.onScroll, ref: (el) => {
|
|
8102
8758
|
this.container = el;
|
|
8103
|
-
} }, hAsync("div", { key: '
|
|
8759
|
+
} }, hAsync("div", { key: 'afd56f434c013d1175c198790562f60cbed5d6ce', class: "mb-6" }, hAsync("h1", { key: 'ba650cfc24623c63910f9dfb7547272dc2adbe68', class: "text-xl font-semibold text-gray-900 mb-4" }, "Head Counts Report"), hAsync("div", { key: '4150efe6295d6697a787322e6bc8550d82296b69', class: "flex flex-wrap items-center gap-4 mb-6" }, hAsync("div", { key: '1bef7dc05a99081de7b2cf0588c58fb4cd0cb429', class: "flex items-center gap-2" }, hAsync("label", { key: 'ce45f248fd5151412bd64f75038996e3febf09a1', class: "text-sm text-gray-600 font-medium" }, "Date Range"), hAsync("select", { key: 'cc7b10bb86619c119bb3d4f5ab5267f733ad7805', class: "border border-gray-300 rounded px-3 py-1.5 text-sm bg-white focus:outline-none focus:ring-2 focus:ring-teal-500 focus:border-teal-500",
|
|
8104
8760
|
// value={this.selectedDateRange}
|
|
8105
|
-
onInput: this.handleDateRangeChange }, hAsync("option", { key: '
|
|
8761
|
+
onInput: this.handleDateRangeChange }, hAsync("option", { key: '62474a4b5ad2fd7ba9f0806bf7bb26b487df04ff', value: "All" }, "All"), hAsync("option", { key: 'aba4fb209168ae645d87475f0467ba38ee258f7e', value: "Today" }, "Today"), hAsync("option", { key: '8203884e17bdcd012f90245dde1b9aec9abf16ed', value: "This Week" }, "This Week"), hAsync("option", { key: '7a721035e8d8e31d61869f7513b586e06d06b1e9', value: "This Month" }, "This Month"), hAsync("option", { key: '9a1d085c513236cb746cc9a6ebac1c48c8e35214', value: "Custom" }, "Custom Range")), hAsync("button", { key: '7119eae652a26a19f774fe2a3e2564a993937caa', class: "p-1.5 border border-gray-300 rounded hover:bg-gray-50" }, hAsync("svg", { key: 'c430ab8a591ebd2e9c7cf14dd0f0758419be1178', class: "w-4 h-4 text-gray-500", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, hAsync("path", { key: '8330e74a528e0890375f9277d8dc7481bb88e8f9', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })))), hAsync("button", { key: '85dc3c28587d7ce09cdb8dfe50e2b44f0f04b7c9', onClick: this.handleFilterReports, class: "bg-teal-600 hover:bg-teal-700 text-white px-4 py-1.5 rounded text-sm font-medium transition-colors" }, "Filter Reports"), hAsync("button", { key: '36d9d5fc49d73a0944c7abf1f5b96932d9789f0b', onClick: this.handleDownloadAll, class: "flex items-center gap-2 text-gray-600 hover:text-gray-800 text-sm" }, hAsync("svg", { key: '81cbf1b31e01c1d4fbba64b53b21bc26146d6f84', class: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, hAsync("path", { key: 'd3c68b2337d4a4ab9a8d218d9aa722814d548e1b', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" })), "Download All"))), hAsync("table", { key: '782e125327cea0381296ab5a3f2e3ddec6f42f24', class: `w-full ${className}` }, this.columns && (hAsync("thead", { key: 'ad3958e4d04f974dd47136da227afb662ff6cc7f' }, this.columns.map((column, i) => {
|
|
8106
8762
|
const iconType = getIconType(this.sortTypeArray[i]);
|
|
8107
8763
|
const isColumnSortable = !!(this.isSortable &&
|
|
8108
8764
|
this.sortableColumns[i]);
|
|
8109
|
-
return (hAsync("th", { class: "text-left py-3 px-4 text-sm font-medium text-gray-600"
|
|
8765
|
+
return (hAsync("th", { class: "text-left py-3 px-4 text-sm font-medium text-gray-600", "aria-sort": isColumnSortable && this.sortTypeArray[i]
|
|
8766
|
+
? this.sortTypeArray[i] === 'asc'
|
|
8767
|
+
? 'ascending'
|
|
8768
|
+
: 'descending'
|
|
8769
|
+
: isColumnSortable
|
|
8770
|
+
? 'none'
|
|
8771
|
+
: undefined }, this.multiselect && i === 0 ? (hAsync("label", { onClick: (e) => {
|
|
8110
8772
|
e.preventDefault();
|
|
8111
8773
|
e.stopPropagation();
|
|
8112
|
-
debugger;
|
|
8113
8774
|
if (isColumnSortable) {
|
|
8114
8775
|
this.sortBy(i);
|
|
8115
8776
|
}
|
|
@@ -8123,11 +8784,11 @@ class XplorTable {
|
|
|
8123
8784
|
this.selected.some((a) => a), onClick: (e) => {
|
|
8124
8785
|
e.stopPropagation();
|
|
8125
8786
|
this.selectAll(e);
|
|
8126
|
-
}, type: "checkbox", value: `select-all-${this.selectAllValue}
|
|
8787
|
+
}, type: "checkbox", value: `select-all-${this.selectAllValue}`, "aria-label": "Select all rows" }), column, isColumnSortable &&
|
|
8127
8788
|
!!this.sortTypeArray[i] && (hAsync("xpl-icon", { icon: iconType, size: 16 })))) : (hAsync("label", { onClick: () => isColumnSortable &&
|
|
8128
8789
|
this.sortBy(i), class: isColumnSortable
|
|
8129
8790
|
? 'cursor-pointer'
|
|
8130
|
-
: '' }, column, isColumnSortable &&
|
|
8791
|
+
: '', "aria-label": isColumnSortable ? `Sort by ${column}` : undefined }, column, isColumnSortable &&
|
|
8131
8792
|
!!this.sortTypeArray[i] && (hAsync("svg", { width: "11", height: "6", viewBox: "0 0 11 6", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { d: "M10.5 5.5L5.5 0.5L0.5 5.5L10.5 5.5Z", fill: "currentColor" }))
|
|
8132
8793
|
// <xpl-icon
|
|
8133
8794
|
// icon={iconType}
|
|
@@ -8135,11 +8796,11 @@ class XplorTable {
|
|
|
8135
8796
|
// id="__xpl-icon-sort"
|
|
8136
8797
|
// ></xpl-icon>
|
|
8137
8798
|
)))));
|
|
8138
|
-
}))), hAsync("tbody", { key: '
|
|
8799
|
+
}))), hAsync("tbody", { key: '1168d8fb9e1f324b37abdc1e8a899bb14dedf786' }, paginatedData.map((row, rowNum) => (hAsync("tr", { class: `border-b border-gray-100 hover:bg-gray-50` }, row.map((cell, i) => (hAsync("td", { class: "py-3 px-4 text-sm text-gray-900" }, this.multiselect && i === 0 ? (hAsync("label", { class: "flex items-center gap-2", htmlFor: `__xpl-table-row-${rowNum}` }, hAsync("input", { id: `__xpl-table-row-${rowNum}`, checked: !!this.selected[rowNum], type: "checkbox", onChange: (e) => this.selectOne(e, rowNum), value: this.selectedValues
|
|
8139
8800
|
.length > 0
|
|
8140
8801
|
? this
|
|
8141
8802
|
.selectedValues[rowNum]
|
|
8142
|
-
: `xpl-table-checkbox-${rowNum}` }), hAsync("div", { innerHTML: cell }))) : (hAsync("div", { innerHTML: cell })))))))))), hAsync("div", { key: '
|
|
8803
|
+
: `xpl-table-checkbox-${rowNum}` }), hAsync("div", { innerHTML: cell }))) : (hAsync("div", { innerHTML: cell })))))))))), hAsync("div", { key: 'dddc5e97acb0270689af29fdfbb0a96018074f48', id: "pagination", class: "w-full flex items-center justify-between mt-6 text-sm" }, hAsync("div", { key: 'e7a37384aacfcd801b904082b028dd7b646b7938', class: "flex items-center gap-2" }, hAsync("button", { key: '0d099c93f970f255015df19a10736c76317f3d58', onClick: () => this.handlePagination('first'), class: "p-1.5 text-gray-400 hover:text-gray-600 disabled:opacity-50", disabled: this.currentPage === 1 }, hAsync("svg", { key: '3ef73d6177480ef3c6bb2e0ba3c11faf93fad40a', class: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, hAsync("path", { key: '61447e4f959176a412b9702dfd5f0c126dfd1dcf', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M11 19l-7-7 7-7m8 14l-7-7 7-7" }))), hAsync("button", { key: '5d996706416e30beeb36b3ccf5f49a0f728c9d46', onClick: () => this.handlePagination('prev'), class: "p-1.5 text-gray-400 hover:text-gray-600 disabled:opacity-50", disabled: this.currentPage === 1 }, hAsync("svg", { key: 'a4e874b1db8cb252698f36497aebbfd8dfef9f7d', class: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, hAsync("path", { key: '9ea64241e49ebfdc43f26317c1403a0dec074a2e', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M15 19l-7-7 7-7" })))), hAsync("span", { key: '25c2b77e2d374c782bef6907bbaa5f7d1c2b9a51', class: "text-gray-600" }, "Page ", this.currentPage, " of ", this.totalPages), hAsync("div", { key: '6586812fde391e75b56da67db64eeece80629dbc', class: "flex items-center gap-2" }, hAsync("button", { key: 'f63385fd3ccae39ecb97b10fc92f204fb3e2fd62', onClick: () => this.handlePagination('next'), class: "p-1.5 text-gray-400 hover:text-gray-600 disabled:opacity-50", disabled: this.currentPage === this.totalPages }, hAsync("svg", { key: '2024b6fa282b30ffcd8870dab2f50c0f1af0f4ef', class: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, hAsync("path", { key: '397312376d85ef4262c42f0f4382371aeb0c5eef', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M9 5l7 7-7 7" }))), hAsync("button", { key: 'bb42b666d217a21b3f2b91b28eaa39a96ad403ba', onClick: () => this.handlePagination('last'), class: "p-1.5 text-gray-400 hover:text-gray-600 disabled:opacity-50", disabled: this.currentPage === this.totalPages }, hAsync("svg", { key: '2e8f28f57ef6fd799559ae70c3c9bc9d7d74cdc3', class: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, hAsync("path", { key: '02270640aefaf430f27acf75465bfc5b30d2a881', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M13 5l7 7-7 7M5 5l7 7-7 7" })))))))));
|
|
8143
8804
|
}
|
|
8144
8805
|
get el() { return getElement(this); }
|
|
8145
8806
|
static get watchers() { return {
|
|
@@ -8180,11 +8841,11 @@ class XplorTextBubble {
|
|
|
8180
8841
|
this.color = 'orange';
|
|
8181
8842
|
}
|
|
8182
8843
|
render() {
|
|
8183
|
-
return (hAsync(Host, { key: '
|
|
8844
|
+
return (hAsync(Host, { key: 'bd93a7c09ef941a3c5a18b8b6b0704b2c9842b23' }, hAsync("div", { key: '234e72bed4c9cdf297901639130b452dd82392cf', class: {
|
|
8184
8845
|
'text-bubble': true,
|
|
8185
8846
|
'text-bubble--green': this.color === 'green',
|
|
8186
8847
|
'text-bubble--orange': this.color === 'orange',
|
|
8187
|
-
} }, hAsync("slot", { key: '
|
|
8848
|
+
} }, hAsync("slot", { key: '92c5fe22e00dd2506b15d49333ba8e31021d9bbf' }))));
|
|
8188
8849
|
}
|
|
8189
8850
|
static get style() { return xplorTextBubbleCss; }
|
|
8190
8851
|
static get cmpMeta() { return {
|
|
@@ -8331,10 +8992,10 @@ class XplorTextField {
|
|
|
8331
8992
|
}
|
|
8332
8993
|
render() {
|
|
8333
8994
|
const labelFloating = this.isFocused || this.hasValue;
|
|
8334
|
-
return (hAsync(Host, { key: '
|
|
8995
|
+
return (hAsync(Host, { key: '3c7117a290dc3f7157270b083559266c94ad21b8' }, hAsync("div", { key: 'f97ceed7ef938aed090f297d070cd240b658d8a7', class: this.computedClasses }, hAsync("div", { key: '81ba47f6a22762d85e33052765896949e87e824f', class: "xplor-text-field__wrapper", style: { backgroundColor: this.bgColor } }, hAsync("div", { key: '33190e56a1443af9e4891d4a166442daa52ecb79', class: "xplor-text-field__input-wrapper" }, this.label && (hAsync("label", { key: 'a44ab99f0e1719b2a93edcd7963c89476154f2f6', class: {
|
|
8335
8996
|
'xplor-text-field__label': true,
|
|
8336
8997
|
'xplor-text-field__label--floating': labelFloating,
|
|
8337
|
-
} }, hAsync("slot", { key: '
|
|
8998
|
+
} }, hAsync("slot", { key: 'c2299aedeb64c404c6bb7b6c0a29c9daae67fc44', name: "label" }, this.label), this.required && hAsync("span", { key: '0d6ed2e883c3a651986470ef89f7be59ba33a645', class: "xplor-text-field__required" }, "*"))), hAsync("input", { key: 'de966a8eb84dd86bd8a0e529561badffe71d3d46', ref: (el) => (this.inputElement = el), class: "xplor-text-field__input", type: this.type, value: this.value, placeholder: this.isFocused ? this.placeholder : '', disabled: this.disabled, readonly: this.readonly, required: this.required, maxlength: this.maxlength, min: this.min, max: this.max, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, "aria-invalid": this.hasError ? 'true' : 'false', "aria-describedby": this.hasError ? 'error-messages' : undefined }), hAsync("div", { key: 'b0bcd17da89b2f63f25d212f863d875489175a8c', class: "xplor-text-field__append-inner" }, this.clearable && this.hasValue && !this.disabled && !this.readonly && (hAsync("button", { key: '0cac263bf21ccc5536d62d420ce493e906811fd6', type: "button", class: "xplor-text-field__clear-btn", onClick: this.handleClear, "aria-label": "Clear" }, hAsync("svg", { key: '2c02a7e8a9dbe7f9d133fc3c3156389db914bf73', width: "20", height: "20", viewBox: "0 0 24 24", fill: "currentColor" }, hAsync("path", { key: 'bfaf865c53bb90b7d14ba27e419ca131e4107bfd', d: "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" })))), hAsync("slot", { key: '82eb809592dcc52a9c447c837b614d57e47f1678', name: "append-inner" })), hAsync("fieldset", { key: '828c5d47eab64b6ff91edd9d739c87fdaa88c589', class: "xplor-text-field__outline" }, hAsync("legend", { key: 'e1fef5e2002b8ea21c07c8f06272c6f53785f8b0', class: { 'xplor-text-field__outline-legend': true, 'xplor-text-field__outline-legend--floating': labelFloating } }, labelFloating && this.label ? hAsync("span", null, this.label, this.required && '*') : hAsync("span", null, "\u200B")))), hAsync("div", { key: 'f5d2af691c5e9adb1295bbc4eb74b5510ab203f6', class: "xplor-text-field__append" }, hAsync("slot", { key: '8b26d1a847bfbbecd77067d2addb2a555464684e', name: "append" }))), this.showDetails && (hAsync("div", { key: '63acbf8b66a619b74769b5aba9559da813e3081e', class: "xplor-text-field__details" }, this.hasError && (hAsync("div", { key: 'c1e72205a335a0cf361ebb1936d19a0a6e1f52fd', id: "error-messages", class: "xplor-text-field__error-messages" }, this.errorMessages.map((error) => (hAsync("div", { class: "xplor-text-field__error" }, error))))))))));
|
|
8338
8999
|
}
|
|
8339
9000
|
get el() { return getElement(this); }
|
|
8340
9001
|
static get watchers() { return {
|
|
@@ -8662,16 +9323,16 @@ class XplorTimePicker {
|
|
|
8662
9323
|
}
|
|
8663
9324
|
render() {
|
|
8664
9325
|
const showDetails = this.hideDetails === false || (this.hideDetails === 'auto' && this.error);
|
|
8665
|
-
const clockIcon = (hAsync("svg", { key: '
|
|
8666
|
-
return (hAsync(Host, { key: '
|
|
9326
|
+
const clockIcon = (hAsync("svg", { key: '4ceaab6e781f50e8a90c075c56cfadabb647d44a', class: "time-picker__icon-svg", viewBox: "0 0 24 24", width: "20", height: "20", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, hAsync("circle", { key: '468d7d3f69e93dfa1dbd1c57922c62747d0332fc', cx: "12", cy: "12", r: "10" }), hAsync("polyline", { key: 'c6e3f11bc952645e9016ff95b3a712394c4a22b8', points: "12 6 12 12 16 14" })));
|
|
9327
|
+
return (hAsync(Host, { key: 'c645e604a3e24895a27018db69116ab12f83f8bf' }, hAsync("div", { key: '67a035080a85b790df31f65292babdddf4e4e61b', class: {
|
|
8667
9328
|
'time-picker': true,
|
|
8668
9329
|
'time-picker--disabled': this.disabled,
|
|
8669
9330
|
'time-picker--error': !!this.error,
|
|
8670
9331
|
'time-picker--open': this.isOpen,
|
|
8671
|
-
} }, this.label && (hAsync("label", { key: '
|
|
8672
|
-
hAsync("div", { key: '
|
|
8673
|
-
hAsync("div", { key: '
|
|
8674
|
-
], hAsync("div", { key: '
|
|
9332
|
+
} }, this.label && (hAsync("label", { key: 'fc39aebaf65eb55a47e36b9e502329938a50deac', class: "time-picker__label" }, this.label, this.required && hAsync("span", { key: 'f55931cd0b55c17176fa0f3da333f44b57b7e6a9', class: "time-picker__required" }, "*"))), hAsync("div", { key: '3f4e57bf5c2973baaa0e53ec9bed0658e23c4c9c', class: "time-picker__field" }, hAsync("input", { key: 'd893bd5ed3793a2e3d4aae60f16846db6c3d84a4', type: "text", class: "time-picker__input", value: this.inputText, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onInput: this.handleInputChange, style: { backgroundColor: this.bgColor } }), hAsync("div", { key: '7cb62a66b55645c2bc3c18a60abcb0098f4700d9', class: "time-picker__actions" }, this.clearable && this.value && !this.disabled && !this.readonly && (hAsync("button", { key: 'a547394c2508cddbcad2f3ebc52e7f361cab8f2e', type: "button", class: "time-picker__clear", onClick: this.handleClear, "aria-label": "Clear" }, "\u00D7")), hAsync("button", { key: '48bac21bb410015f81b539205bafad2f556ced51', type: "button", class: "time-picker__icon-btn", onClick: this.toggleDropdown, disabled: this.disabled, "aria-label": "Open time picker" }, clockIcon))), showDetails && (hAsync("div", { key: 'f10a2918e0d2cd57c7fc1d64f24e3fd4038463be', class: "time-picker__details" }, this.error && hAsync("div", { key: 'da588b32f0fb80a797b44df89a4526ab337ec491', class: "time-picker__error-message" }, this.error))), this.isOpen && (hAsync("div", { key: 'b23b28c312732c033a28bcb39f862311554d599c', class: "time-picker__dropdown" }, hAsync("div", { key: 'fd8811287be54584fac873644be6da4d9a90a918', class: "time-picker__columns" }, hAsync("div", { key: '9373ac9977bb02507c09673783ecc9fc34f796f6', class: "time-picker__column" }, hAsync("button", { key: '64506ff04f398acf50e11e15adfabfc8a6e2950a', type: "button", class: "time-picker__spinner-btn", onClick: this.incrementHours, "aria-label": "Increase hours" }, this.renderChevronUp()), hAsync("div", { key: 'b593fe8ea7cc1c1620f534a010d0828297845f8a', class: "time-picker__value" }, String(this.hours).padStart(2, '0')), hAsync("button", { key: '1b2729ac84afa3aa5cbace2b027a8be77de7453c', type: "button", class: "time-picker__spinner-btn", onClick: this.decrementHours, "aria-label": "Decrease hours" }, this.renderChevronDown())), hAsync("div", { key: 'cfc0910a6a02a6545d03dc6fd56dce45e389825b', class: "time-picker__separator" }, ":"), hAsync("div", { key: '084da53c62bfe3cfb2cf8843761509393541b82d', class: "time-picker__column" }, hAsync("button", { key: '017378d4bd006957267a242fd5da84bb5364626a', type: "button", class: "time-picker__spinner-btn", onClick: this.incrementMinutes, "aria-label": "Increase minutes" }, this.renderChevronUp()), hAsync("div", { key: '344202f97262fbf267b872927c054d1fbcc636c4', class: "time-picker__value" }, String(this.minutes).padStart(2, '0')), hAsync("button", { key: '690a243ddce9f3da11d172647202e65212e87b53', type: "button", class: "time-picker__spinner-btn", onClick: this.decrementMinutes, "aria-label": "Decrease minutes" }, this.renderChevronDown())), this.showSeconds && [
|
|
9333
|
+
hAsync("div", { key: '6ca3eae6b03f75773a39d1eb67b0db8cbf00021d', class: "time-picker__separator" }, ":"),
|
|
9334
|
+
hAsync("div", { key: 'ce31e8550cff9783229d58f866f5b2cab6b236e6', class: "time-picker__column" }, hAsync("button", { key: '6be3f03bb5cb13f95d9381e22ed4ef27a2c31786', type: "button", class: "time-picker__spinner-btn", onClick: this.incrementSeconds, "aria-label": "Increase seconds" }, this.renderChevronUp()), hAsync("div", { key: 'faae89dc8d1a40f7a91df944c33d6cb0347dab72', class: "time-picker__value" }, String(this.seconds).padStart(2, '0')), hAsync("button", { key: '2e6094b085acefb6b80c835fc49d6d0c6fcde192', type: "button", class: "time-picker__spinner-btn", onClick: this.decrementSeconds, "aria-label": "Decrease seconds" }, this.renderChevronDown()))
|
|
9335
|
+
], hAsync("div", { key: '2b029185906910cf1336726691b491bd8cd10421', class: "time-picker__column time-picker__column--period" }, hAsync("button", { key: 'a1cced2dca331985851a8b2a71733cdc75540339', type: "button", class: "time-picker__spinner-btn", onClick: this.togglePeriod, "aria-label": "Toggle AM/PM" }, this.renderChevronUp()), hAsync("div", { key: 'b17134d423b342cb077af961e9a684a985ed6f13', class: "time-picker__value time-picker__value--period" }, this.period), hAsync("button", { key: '4c4d04f7ba212eb7babccf6ec2ead94fa63dcb04', type: "button", class: "time-picker__spinner-btn", onClick: this.togglePeriod, "aria-label": "Toggle AM/PM" }, this.renderChevronDown()))))))));
|
|
8675
9336
|
}
|
|
8676
9337
|
get el() { return getElement(this); }
|
|
8677
9338
|
static get style() { return xplorTimePickerCss; }
|
|
@@ -8707,6 +9368,7 @@ class XplorTimePicker {
|
|
|
8707
9368
|
|
|
8708
9369
|
const xplorTooltipCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-tooltip {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-tooltip {\n width: 600px !important;\n }\n}\nh1.sc-xplor-tooltip {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-tooltip {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-tooltip {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-tooltip {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-tooltip, ul.sc-xplor-tooltip {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-tooltip li.sc-xplor-tooltip, ul.sc-xplor-tooltip li.sc-xplor-tooltip {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-tooltip, ul.mdc-list.sc-xplor-tooltip {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-tooltip li.mdc-list-item.sc-xplor-tooltip, ul.mdc-list.sc-xplor-tooltip li.mdc-list-item.sc-xplor-tooltip {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-tooltip {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-tooltip {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-tooltip {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-tooltip {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-tooltip .mdc-text-field--outlined.sc-xplor-tooltip .mdc-notched-outline__notch.sc-xplor-tooltip {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-tooltip .mdc-notched-outline__notch.sc-xplor-tooltip {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-tooltip .mdc-notched-outline.sc-xplor-tooltip .mdc-notched-outline__notch.sc-xplor-tooltip {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-tooltip {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-tooltip:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-tooltip {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-tooltip-h {\n display: inline-block;\n position: relative;\n}\n\n.tooltip-trigger.sc-xplor-tooltip {\n display: inline-flex;\n cursor: pointer;\n}\n\n.tooltip.sc-xplor-tooltip {\n position: fixed;\n z-index: 9999;\n background-color: #424242;\n color: #fff;\n border-radius: 4px;\n padding: 0.5rem 0.75rem;\n font-size: 0.875rem;\n line-height: 1.4;\n max-width: 300px;\n word-wrap: break-word;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n pointer-events: none;\n opacity: 0;\n animation: tooltipFadeIn 0.2s ease forwards;\n}\n\n@keyframes tooltipFadeIn {\n from {\n opacity: 0;\n transform: scale(0.9);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n.tooltip__content.sc-xplor-tooltip {\n position: relative;\n z-index: 1;\n}\n\n.tooltip__arrow.sc-xplor-tooltip {\n position: absolute;\n width: 12px;\n height: 12px;\n background-color: #424242;\n z-index: 0;\n}\n\n.tooltip--top.sc-xplor-tooltip .tooltip__arrow.sc-xplor-tooltip {\n margin-top: -6px;\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.tooltip--bottom.sc-xplor-tooltip .tooltip__arrow.sc-xplor-tooltip {\n box-shadow: -2px -2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.tooltip--left.sc-xplor-tooltip .tooltip__arrow.sc-xplor-tooltip {\n margin-left: -6px;\n display: block;\n box-shadow: 2px -2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.tooltip--right.sc-xplor-tooltip .tooltip__arrow.sc-xplor-tooltip {\n box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.1);\n}";
|
|
8709
9370
|
|
|
9371
|
+
let tooltipIdCounter = 0;
|
|
8710
9372
|
class XplorTooltip {
|
|
8711
9373
|
constructor(hostRef) {
|
|
8712
9374
|
registerInstance(this, hostRef);
|
|
@@ -8717,6 +9379,7 @@ class XplorTooltip {
|
|
|
8717
9379
|
this.disabled = false;
|
|
8718
9380
|
this.tooltipStyle = {};
|
|
8719
9381
|
this.arrowStyle = {};
|
|
9382
|
+
this.tooltipId = `xplor-tooltip-${++tooltipIdCounter}`;
|
|
8720
9383
|
this.handleMouseEnter = () => {
|
|
8721
9384
|
if (this.disabled)
|
|
8722
9385
|
return;
|
|
@@ -8732,6 +9395,16 @@ class XplorTooltip {
|
|
|
8732
9395
|
this.hideTooltip();
|
|
8733
9396
|
}, 100);
|
|
8734
9397
|
};
|
|
9398
|
+
this.handleFocusIn = () => {
|
|
9399
|
+
if (this.disabled)
|
|
9400
|
+
return;
|
|
9401
|
+
this.showTooltip();
|
|
9402
|
+
};
|
|
9403
|
+
this.handleFocusOut = () => {
|
|
9404
|
+
if (this.disabled)
|
|
9405
|
+
return;
|
|
9406
|
+
this.hideTooltip();
|
|
9407
|
+
};
|
|
8735
9408
|
this.handleClick = () => {
|
|
8736
9409
|
if (this.disabled)
|
|
8737
9410
|
return;
|
|
@@ -8758,12 +9431,16 @@ class XplorTooltip {
|
|
|
8758
9431
|
if (this.triggerEl) {
|
|
8759
9432
|
this.triggerEl.addEventListener('mouseenter', this.handleMouseEnter);
|
|
8760
9433
|
this.triggerEl.addEventListener('mouseleave', this.handleMouseLeave);
|
|
9434
|
+
this.triggerEl.addEventListener('focusin', this.handleFocusIn);
|
|
9435
|
+
this.triggerEl.addEventListener('focusout', this.handleFocusOut);
|
|
8761
9436
|
}
|
|
8762
9437
|
}
|
|
8763
9438
|
cleanupListeners() {
|
|
8764
9439
|
if (this.triggerEl) {
|
|
8765
9440
|
this.triggerEl.removeEventListener('mouseenter', this.handleMouseEnter);
|
|
8766
9441
|
this.triggerEl.removeEventListener('mouseleave', this.handleMouseLeave);
|
|
9442
|
+
this.triggerEl.removeEventListener('focusin', this.handleFocusIn);
|
|
9443
|
+
this.triggerEl.removeEventListener('focusout', this.handleFocusOut);
|
|
8767
9444
|
}
|
|
8768
9445
|
}
|
|
8769
9446
|
handleDocumentClick(event) {
|
|
@@ -8848,10 +9525,10 @@ class XplorTooltip {
|
|
|
8848
9525
|
};
|
|
8849
9526
|
}
|
|
8850
9527
|
render() {
|
|
8851
|
-
return (hAsync(Host, { key: '
|
|
9528
|
+
return (hAsync(Host, { key: '135c627d93956798eef4e842ec256a0f156c771a' }, hAsync("div", { key: '1a4253fa4f893d7726227c346c9ebc850c7ee463', class: "tooltip-trigger", ref: (el) => (this.triggerEl = el), onClick: this.handleClick, "aria-describedby": this.open ? this.tooltipId : undefined }, hAsync("slot", { key: '8970f94fa612b40e573a66102533b1f54387b9b2', name: "trigger" })), this.open && (hAsync("div", { key: 'c1b873e3b9ccaf8747c772672282e63615528be7', class: {
|
|
8852
9529
|
'tooltip': true,
|
|
8853
9530
|
[`tooltip--${this.position}`]: true,
|
|
8854
|
-
}, style: this.tooltipStyle, ref: (el) => (this.tooltipEl = el), role: "tooltip" }, hAsync("div", { key: '
|
|
9531
|
+
}, style: this.tooltipStyle, ref: (el) => (this.tooltipEl = el), role: "tooltip", id: this.tooltipId }, hAsync("div", { key: '93af160a6f7fc1776ca358f3f91f0fecb381ce8d', class: "tooltip__content" }, hAsync("slot", { key: 'cb1c56d228c3f494d668dad73e2af6b303af9f42' }, this.content)), this.arrow && (hAsync("div", { key: '9d528e58c6b772c4b72096533bdb1f0df710aa8f', class: "tooltip__arrow", style: this.arrowStyle }))))));
|
|
8855
9532
|
}
|
|
8856
9533
|
get el() { return getElement(this); }
|
|
8857
9534
|
static get style() { return xplorTooltipCss; }
|
|
@@ -8925,6 +9602,7 @@ registerComponents([
|
|
|
8925
9602
|
XplorModal,
|
|
8926
9603
|
XplorModalPersistent,
|
|
8927
9604
|
XplorNavTabs,
|
|
9605
|
+
XplorRadioBtn,
|
|
8928
9606
|
XplorSectionCard,
|
|
8929
9607
|
XplorSectionHeading,
|
|
8930
9608
|
XplorTable,
|