@powerhousedao/design-system 6.1.0-dev.2 → 6.1.0-dev.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Removed-CO_5C1ce.js +178 -0
- package/dist/Removed-CO_5C1ce.js.map +1 -0
- package/dist/Tabler-FjvVqX5a.js +65 -0
- package/dist/Tabler-FjvVqX5a.js.map +1 -0
- package/dist/{button-49Walvwn.d.ts → button-C8doazjv.d.ts} +1 -1
- package/dist/{button-49Walvwn.d.ts.map → button-C8doazjv.d.ts.map} +1 -1
- package/dist/{character-counter-BcuG4STA.d.ts → character-counter-BWoglM2P.d.ts} +1 -1
- package/dist/{character-counter-BcuG4STA.d.ts.map → character-counter-BWoglM2P.d.ts.map} +1 -1
- package/dist/{checkbox-dqrYEK5V.d.ts → checkbox-CGBtXQnI.d.ts} +3 -3
- package/dist/{checkbox-dqrYEK5V.d.ts.map → checkbox-CGBtXQnI.d.ts.map} +1 -1
- package/dist/{checkbox-base-8xXJvAbj.d.ts → checkbox-base-CZo-4eL0.d.ts} +1 -1
- package/dist/{checkbox-base-8xXJvAbj.d.ts.map → checkbox-base-CZo-4eL0.d.ts.map} +1 -1
- package/dist/{command-BBihfa1C.d.ts → command-xYnJkB5j.d.ts} +14 -14
- package/dist/{command-BBihfa1C.d.ts.map → command-xYnJkB5j.d.ts.map} +1 -1
- package/dist/connect/components/toast/toast.d.ts.map +1 -1
- package/dist/connect/components/toast/toast.js +6 -6
- package/dist/connect/components/toast/toast.js.map +1 -1
- package/dist/connect/index.d.ts +55 -91
- package/dist/connect/index.d.ts.map +1 -1
- package/dist/connect/index.js +1056 -857
- package/dist/connect/index.js.map +1 -1
- package/dist/{content-OpXUtrTe.d.ts → content-BHWIqmio.d.ts} +2 -2
- package/dist/{content-OpXUtrTe.d.ts.map → content-BHWIqmio.d.ts.map} +1 -1
- package/dist/{enum-field-CjTSTf1e.d.ts → enum-field-Cct-i2Uz.d.ts} +3 -3
- package/dist/{enum-field-CjTSTf1e.d.ts.map → enum-field-Cct-i2Uz.d.ts.map} +1 -1
- package/dist/{form-B9JNvrH6.d.ts → form-CKRKn0TQ.d.ts} +1 -1
- package/dist/{form-B9JNvrH6.d.ts.map → form-CKRKn0TQ.d.ts.map} +1 -1
- package/dist/{form-description-BpST5Ww-.d.ts → form-description-CYkcMEzm.d.ts} +1 -1
- package/dist/{form-description-BpST5Ww-.d.ts.map → form-description-CYkcMEzm.d.ts.map} +1 -1
- package/dist/{form-group-BauWlFkQ.d.ts → form-group-C8kL6pdZ.d.ts} +1 -1
- package/dist/form-group-C8kL6pdZ.d.ts.map +1 -0
- package/dist/{form-label-Cz_gcj-B.d.ts → form-label-b6nQi0XO.d.ts} +1 -1
- package/dist/form-label-b6nQi0XO.d.ts.map +1 -0
- package/dist/{form-message-BPqNM4gG.d.ts → form-message-Dq72nBXz.d.ts} +1 -1
- package/dist/{form-message-BPqNM4gG.d.ts.map → form-message-Dq72nBXz.d.ts.map} +1 -1
- package/dist/{form-server-error-message-CzMQQ8ru.d.ts → form-server-error-message-DXbaiTfF.d.ts} +1 -1
- package/dist/{form-server-error-message-CzMQQ8ru.d.ts.map → form-server-error-message-DXbaiTfF.d.ts.map} +1 -1
- package/dist/{src-BgCjYazJ.js → icon-C4QOpsdI.js} +14 -964
- package/dist/icon-C4QOpsdI.js.map +1 -0
- package/dist/{id-autocomplete-jkaREmPP.d.ts → id-autocomplete-C-hwriS5.d.ts} +2 -2
- package/dist/{id-autocomplete-jkaREmPP.d.ts.map → id-autocomplete-C-hwriS5.d.ts.map} +1 -1
- package/dist/{id-autocomplete-input-container-NIuWfCB_.d.ts → id-autocomplete-input-container-DFEyPh5p.d.ts} +2 -2
- package/dist/{id-autocomplete-input-container-NIuWfCB_.d.ts.map → id-autocomplete-input-container-DFEyPh5p.d.ts.map} +1 -1
- package/dist/{id-autocomplete-list-Bi2IXdXg.d.ts → id-autocomplete-list-EzLpF23C.d.ts} +2 -2
- package/dist/{id-autocomplete-list-Bi2IXdXg.d.ts.map → id-autocomplete-list-EzLpF23C.d.ts.map} +1 -1
- package/dist/{id-autocomplete-list-option-CA9HIqEh.d.ts → id-autocomplete-list-option-CB5B07Hi.d.ts} +2 -2
- package/dist/{id-autocomplete-list-option-CA9HIqEh.d.ts.map → id-autocomplete-list-option-CB5B07Hi.d.ts.map} +1 -1
- package/dist/{index-DtPJq-vz.d.ts → index--hDSfvJT.d.ts} +3 -16
- package/dist/index--hDSfvJT.d.ts.map +1 -0
- package/dist/index-E7Wvm5uX.d.ts +1 -0
- package/dist/index-J3R2mDFQ.d.ts +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -2
- package/dist/{input-D11GgWGm.d.ts → input-BpEQjaWV.d.ts} +1 -1
- package/dist/input-BpEQjaWV.d.ts.map +1 -0
- package/dist/{json-viewer-vWp8vOvz.d.ts → json-viewer-DaTgmzkS.d.ts} +1 -1
- package/dist/{json-viewer-vWp8vOvz.d.ts.map → json-viewer-DaTgmzkS.d.ts.map} +1 -1
- package/dist/{message-list-aysvo-xf.d.ts → message-list-C4mPpBBa.d.ts} +2 -2
- package/dist/{message-list-aysvo-xf.d.ts.map → message-list-C4mPpBBa.d.ts.map} +1 -1
- package/dist/{popover-glLRVxPS.d.ts → popover-XSBOuSih.d.ts} +1 -1
- package/dist/{popover-glLRVxPS.d.ts.map → popover-XSBOuSih.d.ts.map} +1 -1
- package/dist/{radio-DZ4xl9oz.d.ts → radio-eL0Oy86J.d.ts} +1 -1
- package/dist/{radio-DZ4xl9oz.d.ts.map → radio-eL0Oy86J.d.ts.map} +1 -1
- package/dist/{radio-group-DjJbcDzB.d.ts → radio-group-Bkli6nUz.d.ts} +1 -1
- package/dist/{radio-group-DjJbcDzB.d.ts.map → radio-group-Bkli6nUz.d.ts.map} +1 -1
- package/dist/{radio-group-field-DNapUn2b.d.ts → radio-group-field-BN654-SO.d.ts} +3 -3
- package/dist/{radio-group-field-DNapUn2b.d.ts.map → radio-group-field-BN654-SO.d.ts.map} +1 -1
- package/dist/{search-autocomplete-OeZbE-VN.d.ts → search-autocomplete-BJJkrZ1i.d.ts} +2 -2
- package/dist/{search-autocomplete-OeZbE-VN.d.ts.map → search-autocomplete-BJJkrZ1i.d.ts.map} +1 -1
- package/dist/{select-field-BClhLm83.d.ts → select-field-C97QIhUL.d.ts} +2 -2
- package/dist/{select-field-BClhLm83.d.ts.map → select-field-C97QIhUL.d.ts.map} +1 -1
- package/dist/{selected-content-q33DjCYy.d.ts → selected-content-CGsK5PR4.d.ts} +2 -2
- package/dist/selected-content-CGsK5PR4.d.ts.map +1 -0
- package/dist/sidebar-DOoE4krt.d.ts +102 -0
- package/dist/sidebar-DOoE4krt.d.ts.map +1 -0
- package/dist/sidebar-provider-C2eyz9TL.d.ts +46 -0
- package/dist/sidebar-provider-C2eyz9TL.d.ts.map +1 -0
- package/dist/{splitted-input-diff-Ch6IKdEa.d.ts → splitted-input-diff-CwPedpov.d.ts} +2 -2
- package/dist/splitted-input-diff-CwPedpov.d.ts.map +1 -0
- package/dist/src-BrrPQVce.js +710 -0
- package/dist/src-BrrPQVce.js.map +1 -0
- package/dist/style.css +84 -4173
- package/dist/{text-field-Cx-EfZP6.d.ts → text-field-DSInH67J.d.ts} +3 -3
- package/dist/{text-field-Cx-EfZP6.d.ts.map → text-field-DSInH67J.d.ts.map} +1 -1
- package/dist/{text-input-DUddj4-C.d.ts → text-input-8zXIWHLi.d.ts} +3 -3
- package/dist/{text-input-DUddj4-C.d.ts.map → text-input-8zXIWHLi.d.ts.map} +1 -1
- package/dist/{text-input-diff-4i2zuulO.d.ts → text-input-diff-B0vLSKQm.d.ts} +2 -2
- package/dist/{text-input-diff-4i2zuulO.d.ts.map → text-input-diff-B0vLSKQm.d.ts.map} +1 -1
- package/dist/{tooltip-Cf5jSzdt.d.ts → tooltip-BxS9HpML.d.ts} +1 -1
- package/dist/{tooltip-Cf5jSzdt.d.ts.map → tooltip-BxS9HpML.d.ts.map} +1 -1
- package/dist/{types-tThrTH_c.d.ts → types-BTq-St7H.d.ts} +1 -1
- package/dist/{types-tThrTH_c.d.ts.map → types-BTq-St7H.d.ts.map} +1 -1
- package/dist/{types-BfmDXMrz.d.ts → types-Bsn62tJB.d.ts} +1 -1
- package/dist/{types-BfmDXMrz.d.ts.map → types-Bsn62tJB.d.ts.map} +1 -1
- package/dist/{types-9JRQnd7a.d.ts → types-C04Q_Fan.d.ts} +1 -1
- package/dist/{types-9JRQnd7a.d.ts.map → types-C04Q_Fan.d.ts.map} +1 -1
- package/dist/types-CNbvfWjh.d.ts +31 -0
- package/dist/types-CNbvfWjh.d.ts.map +1 -0
- package/dist/ui/components/button/button.d.ts +1 -1
- package/dist/ui/components/button/button.js +3 -3
- package/dist/ui/components/button/button.js.map +1 -1
- package/dist/ui/components/character-counter/character-counter.d.ts +1 -1
- package/dist/ui/components/character-counter/character-counter.js +6 -6
- package/dist/ui/components/character-counter/character-counter.js.map +1 -1
- package/dist/ui/components/checkbox/checkbox-base.d.ts +1 -1
- package/dist/ui/components/checkbox/checkbox-base.js +3 -3
- package/dist/ui/components/checkbox/checkbox-base.js.map +1 -1
- package/dist/ui/components/checkbox/checkbox.d.ts +1 -1
- package/dist/ui/components/checkbox/checkbox.js +4 -4
- package/dist/ui/components/checkbox/checkbox.js.map +1 -1
- package/dist/ui/components/command/command.d.ts +1 -1
- package/dist/ui/components/command/command.js +9 -8
- package/dist/ui/components/command/command.js.map +1 -1
- package/dist/ui/components/enum-field/enum-field.d.ts +1 -1
- package/dist/ui/components/enum-field/types.d.ts +1 -1
- package/dist/ui/components/form/form.d.ts +1 -1
- package/dist/ui/components/form/form.js +1 -1
- package/dist/ui/components/form/form.js.map +1 -1
- package/dist/ui/components/form-description/form-description.d.ts +1 -1
- package/dist/ui/components/form-description/form-description.js +2 -2
- package/dist/ui/components/form-description/form-description.js.map +1 -1
- package/dist/ui/components/form-group/form-group.d.ts +1 -1
- package/dist/ui/components/form-label/form-label.d.ts +1 -1
- package/dist/ui/components/form-label/form-label.js +5 -4
- package/dist/ui/components/form-label/form-label.js.map +1 -1
- package/dist/ui/components/form-message/form-message.d.ts +1 -1
- package/dist/ui/components/form-message/form-message.js +5 -5
- package/dist/ui/components/form-message/form-message.js.map +1 -1
- package/dist/ui/components/form-message/form-server-error-message.d.ts +1 -1
- package/dist/ui/components/form-message/message-list.d.ts +1 -1
- package/dist/ui/components/form-message/message-list.js +6 -6
- package/dist/ui/components/form-message/message-list.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +10 -9
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +20 -19
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.js +6 -6
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.js +4 -4
- package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
- package/dist/ui/components/id-autocomplete/types.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/use-id-autocomplete.d.ts +1 -1
- package/dist/ui/components/index.d.ts +40 -37
- package/dist/ui/components/index.js +3 -1
- package/dist/ui/components/input/input.d.ts +1 -1
- package/dist/ui/components/input/input.js +2 -6
- package/dist/ui/components/input/input.js.map +1 -1
- package/dist/ui/components/input/splitted-input-diff.d.ts +1 -1
- package/dist/ui/components/input/splitted-input-diff.js +12 -11
- package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
- package/dist/ui/components/input/subcomponent/input-diff.js +2 -2
- package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
- package/dist/ui/components/input/subcomponent/text-diff.d.ts +1 -1
- package/dist/ui/components/input/subcomponent/text-diff.js +5 -5
- package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
- package/dist/ui/components/json-viewer/json-viewer.d.ts +1 -1
- package/dist/ui/components/popover/popover.d.ts +1 -1
- package/dist/ui/components/popover/popover.js +3 -3
- package/dist/ui/components/popover/popover.js.map +1 -1
- package/dist/ui/components/radio-group-field/radio-group-field.d.ts +1 -1
- package/dist/ui/components/radio-group-field/radio-group-field.js +2 -2
- package/dist/ui/components/radio-group-field/radio-group-field.js.map +1 -1
- package/dist/ui/components/radio-group-field/radio-group.d.ts +1 -1
- package/dist/ui/components/radio-group-field/radio.d.ts +1 -1
- package/dist/ui/components/radio-group-field/radio.js +4 -4
- package/dist/ui/components/radio-group-field/radio.js.map +1 -1
- package/dist/ui/components/search-autocomplete/index.d.ts +3 -3
- package/dist/ui/components/search-autocomplete/search-autocomplete.d.ts +1 -1
- package/dist/ui/components/search-autocomplete/search-autocomplete.js +16 -16
- package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
- package/dist/ui/components/search-autocomplete/types.d.ts +1 -1
- package/dist/ui/components/search-autocomplete/use-search-autocomplete.d.ts +1 -1
- package/dist/ui/components/search-autocomplete/use-search-autocomplete.js.map +1 -1
- package/dist/ui/components/select-field/content.d.ts +1 -1
- package/dist/ui/components/select-field/content.js +10 -9
- package/dist/ui/components/select-field/content.js.map +1 -1
- package/dist/ui/components/select-field/select-field.d.ts +1 -1
- package/dist/ui/components/select-field/select-field.js +2 -2
- package/dist/ui/components/select-field/select-field.js.map +1 -1
- package/dist/ui/components/select-field/selected-content.d.ts +1 -1
- package/dist/ui/components/select-field/selected-content.js +11 -10
- package/dist/ui/components/select-field/selected-content.js.map +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js +11 -10
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
- package/dist/ui/components/select-field/use-select-field.d.ts +1 -1
- package/dist/ui/components/sidebar/index.d.ts +4 -0
- package/dist/ui/components/sidebar/index.js +3 -0
- package/dist/ui/components/sidebar/sidebar.d.ts +2 -0
- package/dist/ui/components/sidebar/sidebar.js +110 -0
- package/dist/ui/components/sidebar/sidebar.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts +14 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +56 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts +11 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.js +45 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts +35 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +156 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts +7 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js +30 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.d.ts +2 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.js +2 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +2 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js +268 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts +92 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js +107 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.d.ts +4 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.js +4 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts +10 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js +22 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts +10 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js +22 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts +8 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +85 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts +16 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +21 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts +7 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js +63 -0
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts +16 -0
- package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts.map +1 -0
- package/dist/ui/components/sidebar/subcomponents/status-icon.js +43 -0
- package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -0
- package/dist/ui/components/sidebar/types.d.ts +2 -0
- package/dist/ui/components/sidebar/types.js +14 -0
- package/dist/ui/components/sidebar/types.js.map +1 -0
- package/dist/ui/components/sidebar/use-ellipsis.d.ts +10 -0
- package/dist/ui/components/sidebar/use-ellipsis.d.ts.map +1 -0
- package/dist/ui/components/sidebar/use-ellipsis.js +26 -0
- package/dist/ui/components/sidebar/use-ellipsis.js.map +1 -0
- package/dist/ui/components/sidebar/use-sidebar-resize.d.ts +22 -0
- package/dist/ui/components/sidebar/use-sidebar-resize.d.ts.map +1 -0
- package/dist/ui/components/sidebar/use-sidebar-resize.js +72 -0
- package/dist/ui/components/sidebar/use-sidebar-resize.js.map +1 -0
- package/dist/ui/components/sidebar/utils.d.ts +14 -0
- package/dist/ui/components/sidebar/utils.d.ts.map +1 -0
- package/dist/ui/components/sidebar/utils.js +118 -0
- package/dist/ui/components/sidebar/utils.js.map +1 -0
- package/dist/ui/components/text-field/text-field.d.ts +1 -1
- package/dist/ui/components/text-input/text-input-diff.d.ts +1 -1
- package/dist/ui/components/text-input/text-input.d.ts +1 -1
- package/dist/ui/components/text-input/text-input.js +2 -2
- package/dist/ui/components/text-input/text-input.js.map +1 -1
- package/dist/ui/components/text-input/types.d.ts +1 -1
- package/dist/ui/components/tooltip/tooltip.d.ts +1 -1
- package/dist/ui/components/tooltip/tooltip.js +2 -2
- package/dist/ui/components/tooltip/tooltip.js.map +1 -1
- package/dist/ui/components/types.d.ts +1 -1
- package/dist/ui/components/value-transformer/value-transformer.d.ts +1 -1
- package/dist/ui/components/with-field-validation/with-field-validation.d.ts +1 -1
- package/dist/ui/components/with-field-validation/with-field-validation.js +1 -1
- package/dist/ui/components/with-field-validation/with-field-validation.js.map +1 -1
- package/dist/ui/index.d.ts +42 -39
- package/dist/ui/index.js +3 -1
- package/dist/ui/lib/date-picker.d.ts +1 -1
- package/dist/ui/lib/shared-value-transformers.d.ts +1 -1
- package/dist/ui/lib/types.d.ts +1 -1
- package/dist/ui/types.d.ts +2 -2
- package/dist/{use-id-autocomplete-BPHVmVE8.d.ts → use-id-autocomplete-By7YSChC.d.ts} +2 -2
- package/dist/{use-id-autocomplete-BPHVmVE8.d.ts.map → use-id-autocomplete-By7YSChC.d.ts.map} +1 -1
- package/dist/{use-search-autocomplete-Xf7shCtk.d.ts → use-search-autocomplete-IfcQ_gKh.d.ts} +2 -2
- package/dist/{use-search-autocomplete-Xf7shCtk.d.ts.map → use-search-autocomplete-IfcQ_gKh.d.ts.map} +1 -1
- package/dist/{value-transformer-DCiU65Qa.d.ts → value-transformer-DQjqtNih.d.ts} +2 -2
- package/dist/{value-transformer-DCiU65Qa.d.ts.map → value-transformer-DQjqtNih.d.ts.map} +1 -1
- package/dist/{with-field-validation-vt0l1Sp7.d.ts → with-field-validation-Di5D8vU-.d.ts} +2 -2
- package/dist/{with-field-validation-vt0l1Sp7.d.ts.map → with-field-validation-Di5D8vU-.d.ts.map} +1 -1
- package/package.json +9 -5
- package/theme.css +60 -14
- package/dist/form-group-BauWlFkQ.d.ts.map +0 -1
- package/dist/form-label-Cz_gcj-B.d.ts.map +0 -1
- package/dist/index-DtPJq-vz.d.ts.map +0 -1
- package/dist/input-D11GgWGm.d.ts.map +0 -1
- package/dist/selected-content-q33DjCYy.d.ts.map +0 -1
- package/dist/splitted-input-diff-Ch6IKdEa.d.ts.map +0 -1
- package/dist/src-BgCjYazJ.js.map +0 -1
- /package/dist/{index-CWsYGvaO.d.ts → index--okzibnx.d.ts} +0 -0
- /package/dist/{index-qM4PwHTs.d.ts → index-BLwMeReG.d.ts} +0 -0
- /package/dist/{index-uQcTfU6c.d.ts → index-Cw3C7_1f.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-reducer.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.ts"],"mappings":";;;UAGiB,YAAA;EACf,KAAA,EAAO,WAAA;EACP,aAAA,EAAe,GAAA;EACf,cAAA,EAAgB,WAAA;EAChB,UAAA;EACA,aAAA,EAAe,WAAA;EACf,WAAA;EACA,iBAAA;EACA,YAAA;EACA,qBAAA;EACA,YAAA,GAAe,YAAA;EACf,aAAA,EAAe,aAAA;AAAA;AAAA,cAIJ,mBAAA,EAAqB,YAAA;AAAA,aAetB,iBAAA;EACV,SAAA;EACA,WAAA;EACA,SAAA;EACA,UAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,mBAAA;EACA,oBAAA;EACA,oBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;AAAA;AAAA,UAIQ,cAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,SAAA;EACxB,OAAA;IACE,KAAA,EAAO,WAAA;IACP,QAAA,GAAW,YAAA;IACX,SAAA,GAAY,aAAA;EAAA;AAAA;AAAA,UAIN,gBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,WAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,cAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,SAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,eAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,UAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,kBAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,kBAAA;EACxB,OAAA,EAAS,WAAA;AAAA;AAAA,UAGD,oBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,gBAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,mBAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,wBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,oBAAA;AAAA;AAAA,UAGhB,uBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,oBAAA;EACxB,OAAA,EAAS,WAAA;AAAA;AAAA,UAGD,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,kBAAA;EACxB,OAAA,EAAS,GAAA;AAAA;AAAA,UAGD,qBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,mBAAA;EACxB,OAAA,EAAS,YAAA;AAAA;AAAA,UAGD,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,oBAAA;EACxB,OAAA,EAAS,aAAA;AAAA;AAAA,KAIC,aAAA,GACR,cAAA,GACA,gBAAA,GACA,cAAA,GACA,eAAA,GACA,sBAAA,GACA,sBAAA,GACA,oBAAA,GACA,sBAAA,GACA,wBAAA,GACA,uBAAA,GACA,sBAAA,GACA,qBAAA,GACA,sBAAA;AAAA,cAGS,cAAA,GACX,KAAA,EAAO,YAAA,cACP,MAAA,EAAQ,aAAA,KACP,YAAA"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.ts
|
|
2
|
+
const initialSidebarState = {
|
|
3
|
+
nodes: [],
|
|
4
|
+
expandedNodes: /* @__PURE__ */ new Set(),
|
|
5
|
+
pinnedNodePath: [],
|
|
6
|
+
searchTerm: "",
|
|
7
|
+
searchResults: [],
|
|
8
|
+
isSearching: false,
|
|
9
|
+
activeSearchIndex: 0,
|
|
10
|
+
activeNodeId: void 0,
|
|
11
|
+
isStatusFilterEnabled: false,
|
|
12
|
+
nodeSortType: void 0,
|
|
13
|
+
nodeSortOrder: "asc"
|
|
14
|
+
};
|
|
15
|
+
let SidebarActionType = /* @__PURE__ */ function(SidebarActionType) {
|
|
16
|
+
SidebarActionType["SET_NODES"] = "SET_NODES";
|
|
17
|
+
SidebarActionType["TOGGLE_NODE"] = "TOGGLE_NODE";
|
|
18
|
+
SidebarActionType["OPEN_NODE"] = "OPEN_NODE";
|
|
19
|
+
SidebarActionType["CLOSE_NODE"] = "CLOSE_NODE";
|
|
20
|
+
SidebarActionType["CHANGE_SEARCH_TERM"] = "CHANGE_SEARCH_TERM";
|
|
21
|
+
SidebarActionType["SET_SEARCH_RESULTS"] = "SET_SEARCH_RESULTS";
|
|
22
|
+
SidebarActionType["SET_IS_SEARCHING"] = "SET_IS_SEARCHING";
|
|
23
|
+
SidebarActionType["SYNC_ACTIVE_NODE_ID"] = "SYNC_ACTIVE_NODE_ID";
|
|
24
|
+
SidebarActionType["TOGGLE_STATUS_FILTER"] = "TOGGLE_STATUS_FILTER";
|
|
25
|
+
SidebarActionType["SET_PINNED_NODE_PATH"] = "SET_PINNED_NODE_PATH";
|
|
26
|
+
SidebarActionType["SET_EXPANDED_NODES"] = "SET_EXPANDED_NODES";
|
|
27
|
+
SidebarActionType["SET_NODES_SORT_TYPE"] = "SET_NODES_SORT_TYPE";
|
|
28
|
+
SidebarActionType["SET_NODES_SORT_ORDER"] = "SET_NODES_SORT_ORDER";
|
|
29
|
+
return SidebarActionType;
|
|
30
|
+
}({});
|
|
31
|
+
const sidebarReducer = (state = initialSidebarState, action) => {
|
|
32
|
+
switch (action.type) {
|
|
33
|
+
case SidebarActionType.SET_NODES: return {
|
|
34
|
+
...state,
|
|
35
|
+
pinnedNodePath: [],
|
|
36
|
+
nodes: action.payload.nodes,
|
|
37
|
+
nodeSortType: action.payload.sortType ?? state.nodeSortType,
|
|
38
|
+
nodeSortOrder: action.payload.sortOrder ?? state.nodeSortOrder
|
|
39
|
+
};
|
|
40
|
+
case SidebarActionType.TOGGLE_NODE: {
|
|
41
|
+
const newExpandedNodes = new Set(state.expandedNodes);
|
|
42
|
+
if (newExpandedNodes.has(action.payload)) newExpandedNodes.delete(action.payload);
|
|
43
|
+
else newExpandedNodes.add(action.payload);
|
|
44
|
+
return {
|
|
45
|
+
...state,
|
|
46
|
+
expandedNodes: newExpandedNodes
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
case SidebarActionType.OPEN_NODE: {
|
|
50
|
+
const newExpandedNodes = new Set(state.expandedNodes);
|
|
51
|
+
newExpandedNodes.add(action.payload);
|
|
52
|
+
return {
|
|
53
|
+
...state,
|
|
54
|
+
expandedNodes: newExpandedNodes
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
case SidebarActionType.CLOSE_NODE: {
|
|
58
|
+
const newExpandedNodes = new Set(state.expandedNodes);
|
|
59
|
+
newExpandedNodes.delete(action.payload);
|
|
60
|
+
return {
|
|
61
|
+
...state,
|
|
62
|
+
expandedNodes: newExpandedNodes
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
case SidebarActionType.CHANGE_SEARCH_TERM: return {
|
|
66
|
+
...state,
|
|
67
|
+
searchTerm: action.payload
|
|
68
|
+
};
|
|
69
|
+
case SidebarActionType.SET_SEARCH_RESULTS: return {
|
|
70
|
+
...state,
|
|
71
|
+
searchResults: action.payload
|
|
72
|
+
};
|
|
73
|
+
case SidebarActionType.SET_IS_SEARCHING: return {
|
|
74
|
+
...state,
|
|
75
|
+
isSearching: action.payload
|
|
76
|
+
};
|
|
77
|
+
case SidebarActionType.SYNC_ACTIVE_NODE_ID: return {
|
|
78
|
+
...state,
|
|
79
|
+
activeNodeId: action.payload
|
|
80
|
+
};
|
|
81
|
+
case SidebarActionType.TOGGLE_STATUS_FILTER: return {
|
|
82
|
+
...state,
|
|
83
|
+
isStatusFilterEnabled: !state.isStatusFilterEnabled
|
|
84
|
+
};
|
|
85
|
+
case SidebarActionType.SET_PINNED_NODE_PATH: return {
|
|
86
|
+
...state,
|
|
87
|
+
pinnedNodePath: action.payload
|
|
88
|
+
};
|
|
89
|
+
case SidebarActionType.SET_EXPANDED_NODES: return {
|
|
90
|
+
...state,
|
|
91
|
+
expandedNodes: action.payload
|
|
92
|
+
};
|
|
93
|
+
case SidebarActionType.SET_NODES_SORT_TYPE: return {
|
|
94
|
+
...state,
|
|
95
|
+
nodeSortType: action.payload
|
|
96
|
+
};
|
|
97
|
+
case SidebarActionType.SET_NODES_SORT_ORDER: return {
|
|
98
|
+
...state,
|
|
99
|
+
nodeSortOrder: action.payload
|
|
100
|
+
};
|
|
101
|
+
default: return state;
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
//#endregion
|
|
105
|
+
export { SidebarActionType, initialSidebarState, sidebarReducer };
|
|
106
|
+
|
|
107
|
+
//# sourceMappingURL=sidebar-reducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-reducer.js","names":["initialSidebarState","nodes","expandedNodes","Set","pinnedNodePath","searchTerm","searchResults","isSearching","activeSearchIndex","activeNodeId","undefined","isStatusFilterEnabled","nodeSortType","nodeSortOrder","SidebarActionType","sidebarReducer","state","action","type","SET_NODES","payload","sortType","sortOrder","TOGGLE_NODE","newExpandedNodes","has","delete","add","OPEN_NODE","CLOSE_NODE","CHANGE_SEARCH_TERM","SET_SEARCH_RESULTS","SET_IS_SEARCHING","SYNC_ACTIVE_NODE_ID","TOGGLE_STATUS_FILTER","SET_PINNED_NODE_PATH","SET_EXPANDED_NODES","SET_NODES_SORT_TYPE","SET_NODES_SORT_ORDER"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.ts"],"sourcesContent":["import type { NodeSortOrder, NodeSortType, SidebarNode } from \"../../types.js\";\n\n// State interface\nexport interface SidebarState {\n nodes: SidebarNode[];\n expandedNodes: Set<string>;\n pinnedNodePath: SidebarNode[];\n searchTerm: string;\n searchResults: SidebarNode[];\n isSearching: boolean;\n activeSearchIndex: number;\n activeNodeId?: string;\n isStatusFilterEnabled: boolean;\n nodeSortType?: NodeSortType;\n nodeSortOrder: NodeSortOrder;\n}\n\n// Initial state\nexport const initialSidebarState: SidebarState = {\n nodes: [],\n expandedNodes: new Set<string>(),\n pinnedNodePath: [],\n searchTerm: \"\",\n searchResults: [],\n isSearching: false,\n activeSearchIndex: 0,\n activeNodeId: undefined,\n isStatusFilterEnabled: false,\n nodeSortType: undefined,\n nodeSortOrder: \"asc\",\n};\n\n// Action types\nexport enum SidebarActionType {\n SET_NODES = \"SET_NODES\",\n TOGGLE_NODE = \"TOGGLE_NODE\",\n OPEN_NODE = \"OPEN_NODE\",\n CLOSE_NODE = \"CLOSE_NODE\",\n CHANGE_SEARCH_TERM = \"CHANGE_SEARCH_TERM\",\n SET_SEARCH_RESULTS = \"SET_SEARCH_RESULTS\",\n SET_IS_SEARCHING = \"SET_IS_SEARCHING\",\n SYNC_ACTIVE_NODE_ID = \"SYNC_ACTIVE_NODE_ID\",\n TOGGLE_STATUS_FILTER = \"TOGGLE_STATUS_FILTER\",\n SET_PINNED_NODE_PATH = \"SET_PINNED_NODE_PATH\",\n SET_EXPANDED_NODES = \"SET_EXPANDED_NODES\",\n SET_NODES_SORT_TYPE = \"SET_NODES_SORT_TYPE\",\n SET_NODES_SORT_ORDER = \"SET_NODES_SORT_ORDER\",\n}\n\n// Action interfaces\ninterface SetNodesAction {\n type: SidebarActionType.SET_NODES;\n payload: {\n nodes: SidebarNode[];\n sortType?: NodeSortType;\n sortOrder?: NodeSortOrder;\n };\n}\n\ninterface ToggleNodeAction {\n type: SidebarActionType.TOGGLE_NODE;\n payload: string; // nodeId\n}\n\ninterface OpenNodeAction {\n type: SidebarActionType.OPEN_NODE;\n payload: string; // nodeId\n}\n\ninterface CloseNodeAction {\n type: SidebarActionType.CLOSE_NODE;\n payload: string; // nodeId\n}\n\ninterface ChangeSearchTermAction {\n type: SidebarActionType.CHANGE_SEARCH_TERM;\n payload: string;\n}\n\ninterface SetSearchResultsAction {\n type: SidebarActionType.SET_SEARCH_RESULTS;\n payload: SidebarNode[];\n}\n\ninterface SetIsSearchingAction {\n type: SidebarActionType.SET_IS_SEARCHING;\n payload: boolean;\n}\n\ninterface SyncActiveNodeIdAction {\n type: SidebarActionType.SYNC_ACTIVE_NODE_ID;\n payload: string | undefined;\n}\n\ninterface ToggleStatusFilterAction {\n type: SidebarActionType.TOGGLE_STATUS_FILTER;\n}\n\ninterface SetPinnedNodePathAction {\n type: SidebarActionType.SET_PINNED_NODE_PATH;\n payload: SidebarNode[];\n}\n\ninterface SetExpandedNodesAction {\n type: SidebarActionType.SET_EXPANDED_NODES;\n payload: Set<string>;\n}\n\ninterface SetNodeSortTypeAction {\n type: SidebarActionType.SET_NODES_SORT_TYPE;\n payload: NodeSortType | undefined;\n}\n\ninterface SetNodeSortOrderAction {\n type: SidebarActionType.SET_NODES_SORT_ORDER;\n payload: NodeSortOrder;\n}\n\n// Union type for all actions\nexport type SidebarAction =\n | SetNodesAction\n | ToggleNodeAction\n | OpenNodeAction\n | CloseNodeAction\n | ChangeSearchTermAction\n | SetSearchResultsAction\n | SetIsSearchingAction\n | SyncActiveNodeIdAction\n | ToggleStatusFilterAction\n | SetPinnedNodePathAction\n | SetExpandedNodesAction\n | SetNodeSortTypeAction\n | SetNodeSortOrderAction;\n\n// Reducer function\nexport const sidebarReducer = (\n state: SidebarState = initialSidebarState,\n action: SidebarAction,\n): SidebarState => {\n switch (action.type) {\n case SidebarActionType.SET_NODES: {\n return {\n ...state,\n pinnedNodePath: [],\n nodes: action.payload.nodes,\n nodeSortType: action.payload.sortType ?? state.nodeSortType,\n nodeSortOrder: action.payload.sortOrder ?? state.nodeSortOrder,\n };\n }\n\n case SidebarActionType.TOGGLE_NODE: {\n const newExpandedNodes = new Set(state.expandedNodes);\n if (newExpandedNodes.has(action.payload)) {\n newExpandedNodes.delete(action.payload);\n } else {\n newExpandedNodes.add(action.payload);\n }\n return {\n ...state,\n expandedNodes: newExpandedNodes,\n };\n }\n\n case SidebarActionType.OPEN_NODE: {\n const newExpandedNodes = new Set(state.expandedNodes);\n newExpandedNodes.add(action.payload);\n return {\n ...state,\n expandedNodes: newExpandedNodes,\n };\n }\n\n case SidebarActionType.CLOSE_NODE: {\n const newExpandedNodes = new Set(state.expandedNodes);\n newExpandedNodes.delete(action.payload);\n return {\n ...state,\n expandedNodes: newExpandedNodes,\n };\n }\n\n case SidebarActionType.CHANGE_SEARCH_TERM:\n return {\n ...state,\n searchTerm: action.payload,\n };\n\n case SidebarActionType.SET_SEARCH_RESULTS:\n return {\n ...state,\n searchResults: action.payload,\n };\n\n case SidebarActionType.SET_IS_SEARCHING:\n return {\n ...state,\n isSearching: action.payload,\n };\n\n case SidebarActionType.SYNC_ACTIVE_NODE_ID:\n return {\n ...state,\n activeNodeId: action.payload,\n };\n\n case SidebarActionType.TOGGLE_STATUS_FILTER:\n return {\n ...state,\n isStatusFilterEnabled: !state.isStatusFilterEnabled,\n };\n\n case SidebarActionType.SET_PINNED_NODE_PATH: {\n return {\n ...state,\n pinnedNodePath: action.payload,\n };\n }\n\n case SidebarActionType.SET_EXPANDED_NODES:\n return {\n ...state,\n expandedNodes: action.payload,\n };\n\n case SidebarActionType.SET_NODES_SORT_TYPE:\n return {\n ...state,\n nodeSortType: action.payload,\n };\n\n case SidebarActionType.SET_NODES_SORT_ORDER:\n return {\n ...state,\n nodeSortOrder: action.payload,\n };\n\n default:\n return state;\n }\n};\n"],"mappings":";AAkBA,MAAaA,sBAAoC;CAC/CC,OAAO,EAAE;CACTC,+BAAe,IAAIC,KAAa;CAChCC,gBAAgB,EAAE;CAClBC,YAAY;CACZC,eAAe,EAAE;CACjBC,aAAa;CACbC,mBAAmB;CACnBC,cAAcC,KAAAA;CACdC,uBAAuB;CACvBC,cAAcF,KAAAA;CACdG,eAAe;CAChB;AAGD,IAAYC,oBAAiB,yBAAjBA,mBAAiB;AAAjBA,mBAAiB,eAAA;AAAjBA,mBAAiB,iBAAA;AAAjBA,mBAAiB,eAAA;AAAjBA,mBAAiB,gBAAA;AAAjBA,mBAAiB,wBAAA;AAAjBA,mBAAiB,wBAAA;AAAjBA,mBAAiB,sBAAA;AAAjBA,mBAAiB,yBAAA;AAAjBA,mBAAiB,0BAAA;AAAjBA,mBAAiB,0BAAA;AAAjBA,mBAAiB,wBAAA;AAAjBA,mBAAiB,yBAAA;AAAjBA,mBAAiB,0BAAA;AAAA,QAAjBA;EAAiB,EAAA,CAAA;AAsG7B,MAAaC,kBACXC,QAAsBhB,qBACtBiB,WACiB;AACjB,SAAQA,OAAOC,MAAf;EACE,KAAKJ,kBAAkBK,UACrB,QAAO;GACL,GAAGH;GACHZ,gBAAgB,EAAE;GAClBH,OAAOgB,OAAOG,QAAQnB;GACtBW,cAAcK,OAAOG,QAAQC,YAAYL,MAAMJ;GAC/CC,eAAeI,OAAOG,QAAQE,aAAaN,MAAMH;GAClD;EAGH,KAAKC,kBAAkBS,aAAa;GAClC,MAAMC,mBAAmB,IAAIrB,IAAIa,MAAMd,cAAc;AACrD,OAAIsB,iBAAiBC,IAAIR,OAAOG,QAAQ,CACtCI,kBAAiBE,OAAOT,OAAOG,QAAQ;OAEvCI,kBAAiBG,IAAIV,OAAOG,QAAQ;AAEtC,UAAO;IACL,GAAGJ;IACHd,eAAesB;IAChB;;EAGH,KAAKV,kBAAkBc,WAAW;GAChC,MAAMJ,mBAAmB,IAAIrB,IAAIa,MAAMd,cAAc;AACrDsB,oBAAiBG,IAAIV,OAAOG,QAAQ;AACpC,UAAO;IACL,GAAGJ;IACHd,eAAesB;IAChB;;EAGH,KAAKV,kBAAkBe,YAAY;GACjC,MAAML,mBAAmB,IAAIrB,IAAIa,MAAMd,cAAc;AACrDsB,oBAAiBE,OAAOT,OAAOG,QAAQ;AACvC,UAAO;IACL,GAAGJ;IACHd,eAAesB;IAChB;;EAGH,KAAKV,kBAAkBgB,mBACrB,QAAO;GACL,GAAGd;GACHX,YAAYY,OAAOG;GACpB;EAEH,KAAKN,kBAAkBiB,mBACrB,QAAO;GACL,GAAGf;GACHV,eAAeW,OAAOG;GACvB;EAEH,KAAKN,kBAAkBkB,iBACrB,QAAO;GACL,GAAGhB;GACHT,aAAaU,OAAOG;GACrB;EAEH,KAAKN,kBAAkBmB,oBACrB,QAAO;GACL,GAAGjB;GACHP,cAAcQ,OAAOG;GACtB;EAEH,KAAKN,kBAAkBoB,qBACrB,QAAO;GACL,GAAGlB;GACHL,uBAAuB,CAACK,MAAML;GAC/B;EAEH,KAAKG,kBAAkBqB,qBACrB,QAAO;GACL,GAAGnB;GACHZ,gBAAgBa,OAAOG;GACxB;EAGH,KAAKN,kBAAkBsB,mBACrB,QAAO;GACL,GAAGpB;GACHd,eAAee,OAAOG;GACvB;EAEH,KAAKN,kBAAkBuB,oBACrB,QAAO;GACL,GAAGrB;GACHJ,cAAcK,OAAOG;GACtB;EAEH,KAAKN,kBAAkBwB,qBACrB,QAAO;GACL,GAAGtB;GACHH,eAAeI,OAAOG;GACvB;EAEH,QACE,QAAOJ"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts
|
|
2
|
+
interface SearchNavigationArrowProps {
|
|
3
|
+
direction: "down" | "up";
|
|
4
|
+
isDisabled: boolean;
|
|
5
|
+
onClick: () => void;
|
|
6
|
+
}
|
|
7
|
+
declare const SearchNavigationArrow: React.FC<SearchNavigationArrowProps>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { SearchNavigationArrow };
|
|
10
|
+
//# sourceMappingURL=search-navigation-arrow.d.ts.map
|
package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-navigation-arrow.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.tsx"],"mappings":";UAEU,0BAAA;EACR,SAAA;EACA,UAAA;EACA,OAAA;AAAA;AAAA,cAGW,qBAAA,EAAuB,KAAA,CAAM,EAAA,CAAG,0BAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { twMerge } from "tailwind-merge";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.tsx
|
|
4
|
+
const SearchNavigationArrow = ({ direction, isDisabled, onClick }) => /* @__PURE__ */ jsx("div", {
|
|
5
|
+
className: twMerge("cursor-pointer px-1 py-0.5 hover:text-gray-700 dark:hover:text-slate-300", isDisabled && "cursor-not-allowed text-gray-200 dark:text-slate-900"),
|
|
6
|
+
onClick,
|
|
7
|
+
children: /* @__PURE__ */ jsx("svg", {
|
|
8
|
+
width: "8",
|
|
9
|
+
height: "6",
|
|
10
|
+
viewBox: "0 0 8 6",
|
|
11
|
+
fill: "none",
|
|
12
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
13
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
14
|
+
d: direction === "up" ? "M0.266663 5.6001H7.73333L4 0.800097L0.266663 5.6001Z" : "M0.266663 0.399902H7.73333L4 5.1999L0.266663 0.399902Z",
|
|
15
|
+
fill: "currentcolor"
|
|
16
|
+
})
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
export { SearchNavigationArrow };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=search-navigation-arrow.js.map
|
package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-navigation-arrow.js","names":["twMerge","SearchNavigationArrow","direction","isDisabled","onClick"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\ninterface SearchNavigationArrowProps {\n direction: \"down\" | \"up\";\n isDisabled: boolean;\n onClick: () => void;\n}\n\nexport const SearchNavigationArrow: React.FC<SearchNavigationArrowProps> = ({\n direction,\n isDisabled,\n onClick,\n}) => (\n <div\n className={twMerge(\n \"cursor-pointer px-1 py-0.5 hover:text-gray-700 dark:hover:text-slate-300\",\n isDisabled && \"cursor-not-allowed text-gray-200 dark:text-slate-900\",\n )}\n onClick={onClick}\n >\n <svg\n width=\"8\"\n height=\"6\"\n viewBox=\"0 0 8 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d={\n direction === \"up\"\n ? \"M0.266663 5.6001H7.73333L4 0.800097L0.266663 5.6001Z\"\n : \"M0.266663 0.399902H7.73333L4 5.1999L0.266663 0.399902Z\"\n }\n fill=\"currentcolor\"\n />\n </svg>\n </div>\n);\n"],"mappings":";;;AAQA,MAAaC,yBAA+D,EAC1EC,WACAC,YACAC,cAEA,oBAAC,OAAD;CACE,WAAWJ,QACT,4EACAG,cAAc,uDACf;CACQC;WAET,oBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;YAEN,oBAAC,QAAD;GACE,GACEF,cAAc,OACV,yDACA;GAEN,MAAK;GAAc,CAAA;EAElB,CAAA;CAER,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts
|
|
2
|
+
interface SearchResultCounterProps {
|
|
3
|
+
isSearching: boolean;
|
|
4
|
+
activeIndex: number;
|
|
5
|
+
totalResults: number;
|
|
6
|
+
}
|
|
7
|
+
declare const SearchResultCounter: React.FC<SearchResultCounterProps>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { SearchResultCounter };
|
|
10
|
+
//# sourceMappingURL=search-result-counter.d.ts.map
|
package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-result-counter.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx"],"mappings":";UAAU,wBAAA;EACR,WAAA;EACA,WAAA;EACA,YAAA;AAAA;AAAA,cAGW,mBAAA,EAAqB,KAAA,CAAM,EAAA,CAAG,wBAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx
|
|
3
|
+
const SearchResultCounter = ({ isSearching, activeIndex, totalResults }) => {
|
|
4
|
+
if (isSearching) return /* @__PURE__ */ jsx("div", { className: "h-4 w-6 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-800" });
|
|
5
|
+
return /* @__PURE__ */ jsx("div", {
|
|
6
|
+
className: "text-xs",
|
|
7
|
+
children: totalResults > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
|
|
8
|
+
className: "text-gray-700 dark:text-slate-50",
|
|
9
|
+
children: activeIndex + 1
|
|
10
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
11
|
+
className: "text-gray-500 dark:text-slate-700",
|
|
12
|
+
children: ["/", totalResults]
|
|
13
|
+
})] }) : /* @__PURE__ */ jsx("span", {
|
|
14
|
+
className: "text-gray-500 dark:text-slate-700",
|
|
15
|
+
children: "0/0"
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { SearchResultCounter };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=search-result-counter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-result-counter.js","names":["SearchResultCounter","isSearching","activeIndex","totalResults"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx"],"sourcesContent":["interface SearchResultCounterProps {\n isSearching: boolean;\n activeIndex: number;\n totalResults: number;\n}\n\nexport const SearchResultCounter: React.FC<SearchResultCounterProps> = ({\n isSearching,\n activeIndex,\n totalResults,\n}) => {\n if (isSearching) {\n return (\n <div className=\"h-4 w-6 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-800\" />\n );\n }\n\n return (\n <div className=\"text-xs\">\n {totalResults > 0 ? (\n <>\n <span className=\"text-gray-700 dark:text-slate-50\">\n {activeIndex + 1}\n </span>\n <span className=\"text-gray-500 dark:text-slate-700\">\n /{totalResults}\n </span>\n </>\n ) : (\n <span className=\"text-gray-500 dark:text-slate-700\">0/0</span>\n )}\n </div>\n );\n};\n"],"mappings":";;AAMA,MAAaA,uBAA2D,EACtEC,aACAC,aACAC,mBACI;AACJ,KAAIF,YACF,QACE,oBAAC,OAAD,EAAK,WAAU,kEAAmE,CAAA;AAItF,QACE,oBAAC,OAAD;EAAK,WAAU;YACZE,eAAe,IACd,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,QAAD;GAAM,WAAU;aACbD,cAAc;GACX,CAAA,EACN,qBAAC,QAAD;GAAM,WAAU;aAAhB,CAAmD,KAC/CC,aACE;KACL,EAAA,CAAA,GAEH,oBAAC,QAAD;GAAM,WAAU;aAAoC;GACrD,CAAA;EACG,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts
|
|
2
|
+
interface SidebarSearchProps {
|
|
3
|
+
showStatusFilter: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare const SidebarSearch: React.FC<SidebarSearchProps>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { SidebarSearch };
|
|
8
|
+
//# sourceMappingURL=sidebar-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-search.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx"],"mappings":";UAUU,kBAAA;EACR,gBAAA;AAAA;AAAA,cAGW,aAAA,EAAe,KAAA,CAAM,EAAA,CAAG,kBAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { n as Search, r as CrossCircle, t as Tabler } from "../../../../../Tabler-FjvVqX5a.js";
|
|
2
|
+
import { Input } from "../../../input/input.js";
|
|
3
|
+
import { useSidebar } from "../sidebar-provider/sidebar-provider.js";
|
|
4
|
+
import { SearchNavigationArrow } from "./search-navigation-arrow.js";
|
|
5
|
+
import { SearchResultCounter } from "./search-result-counter.js";
|
|
6
|
+
import { useLayoutEffect, useRef, useState } from "react";
|
|
7
|
+
import { twMerge } from "tailwind-merge";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx
|
|
10
|
+
const SidebarSearch = ({ showStatusFilter }) => {
|
|
11
|
+
const { searchTerm, isSearching, searchResults, activeSearchIndex, isStatusFilterEnabled, changeSearchTerm, nextSearchResult, previousSearchResult, toggleStatusFilter } = useSidebar();
|
|
12
|
+
const searchControlsRef = useRef(null);
|
|
13
|
+
const [searchControlsPaddingRight, setSearchControlsPaddingRight] = useState(16);
|
|
14
|
+
useLayoutEffect(() => {
|
|
15
|
+
if (searchControlsRef.current) setSearchControlsPaddingRight(searchControlsRef.current.clientWidth + 16);
|
|
16
|
+
}, [searchTerm]);
|
|
17
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
18
|
+
className: "flex w-full gap-2 border-t border-gray-300 p-2 dark:border-slate-800",
|
|
19
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
20
|
+
className: "relative flex-1",
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ jsx(Input, {
|
|
23
|
+
type: "search",
|
|
24
|
+
value: searchTerm,
|
|
25
|
+
onChange: (e) => changeSearchTerm(e.target.value),
|
|
26
|
+
onKeyDown: (e) => {
|
|
27
|
+
if (e.key === "ArrowDown" || e.key === "Enter") nextSearchResult();
|
|
28
|
+
else if (e.key === "ArrowUp") previousSearchResult();
|
|
29
|
+
},
|
|
30
|
+
tabIndex: 1,
|
|
31
|
+
placeholder: "Search",
|
|
32
|
+
className: "w-full appearance-none pl-8 [&::-webkit-search-cancel-button]:hidden",
|
|
33
|
+
style: { paddingRight: searchControlsPaddingRight }
|
|
34
|
+
}),
|
|
35
|
+
/* @__PURE__ */ jsx(Search, {
|
|
36
|
+
height: 16,
|
|
37
|
+
width: 16,
|
|
38
|
+
className: "absolute top-1/2 left-2 -translate-y-1/2 text-gray-700 dark:text-slate-50"
|
|
39
|
+
}),
|
|
40
|
+
searchTerm && /* @__PURE__ */ jsxs("div", {
|
|
41
|
+
ref: searchControlsRef,
|
|
42
|
+
className: "absolute top-1/2 right-2 flex -translate-y-1/2 items-center gap-2 select-none",
|
|
43
|
+
children: [
|
|
44
|
+
/* @__PURE__ */ jsx(SearchResultCounter, {
|
|
45
|
+
isSearching,
|
|
46
|
+
activeIndex: activeSearchIndex,
|
|
47
|
+
totalResults: searchResults.length
|
|
48
|
+
}),
|
|
49
|
+
/* @__PURE__ */ jsxs("div", {
|
|
50
|
+
className: "flex flex-col text-gray-500 dark:text-slate-700",
|
|
51
|
+
children: [/* @__PURE__ */ jsx(SearchNavigationArrow, {
|
|
52
|
+
direction: "up",
|
|
53
|
+
isDisabled: activeSearchIndex === 0,
|
|
54
|
+
onClick: previousSearchResult
|
|
55
|
+
}), /* @__PURE__ */ jsx(SearchNavigationArrow, {
|
|
56
|
+
direction: "down",
|
|
57
|
+
isDisabled: activeSearchIndex === searchResults.length - 1,
|
|
58
|
+
onClick: nextSearchResult
|
|
59
|
+
})]
|
|
60
|
+
}),
|
|
61
|
+
/* @__PURE__ */ jsx(CrossCircle, {
|
|
62
|
+
onClick: () => changeSearchTerm(""),
|
|
63
|
+
height: 16,
|
|
64
|
+
width: 16,
|
|
65
|
+
className: "cursor-pointer text-gray-500 hover:text-gray-700 active:text-gray-900 dark:text-slate-700 dark:hover:text-slate-600 dark:active:text-slate-300"
|
|
66
|
+
})
|
|
67
|
+
]
|
|
68
|
+
})
|
|
69
|
+
]
|
|
70
|
+
}), showStatusFilter && /* @__PURE__ */ jsx("button", {
|
|
71
|
+
type: "button",
|
|
72
|
+
onClick: toggleStatusFilter,
|
|
73
|
+
tabIndex: 1,
|
|
74
|
+
className: twMerge("rounded-md border border-gray-300 px-2 py-1 text-sm text-gray-500", isStatusFilterEnabled ? "border-blue-500 bg-blue-100 text-blue-900" : "hover:bg-gray-100 hover:text-gray-700"),
|
|
75
|
+
children: /* @__PURE__ */ jsx(Tabler, {
|
|
76
|
+
height: 16,
|
|
77
|
+
width: 16
|
|
78
|
+
})
|
|
79
|
+
})]
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
//#endregion
|
|
83
|
+
export { SidebarSearch };
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=sidebar-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-search.js","names":["useLayoutEffect","useRef","useState","twMerge","Input","CrossCircle","Search","Tabler","useSidebar","SearchNavigationArrow","SearchResultCounter","SidebarSearch","showStatusFilter","searchTerm","isSearching","searchResults","activeSearchIndex","isStatusFilterEnabled","changeSearchTerm","nextSearchResult","previousSearchResult","toggleStatusFilter","searchControlsRef","searchControlsPaddingRight","setSearchControlsPaddingRight","current","clientWidth","e","target","value","key","paddingRight","length"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Input } from \"../../../input/input.js\";\nimport CrossCircle from \"../../../../../powerhouse/components/icon-components/CrossCircle.js\";\nimport Search from \"../../../../../powerhouse/components/icon-components/Search.js\";\nimport Tabler from \"../../../../../powerhouse/components/icon-components/Tabler.js\";\nimport { useSidebar } from \"../sidebar-provider/index.js\";\nimport { SearchNavigationArrow } from \"./search-navigation-arrow.js\";\nimport { SearchResultCounter } from \"./search-result-counter.js\";\n\ninterface SidebarSearchProps {\n showStatusFilter: boolean;\n}\n\nexport const SidebarSearch: React.FC<SidebarSearchProps> = ({\n showStatusFilter,\n}) => {\n const {\n searchTerm,\n isSearching,\n searchResults,\n activeSearchIndex,\n isStatusFilterEnabled,\n changeSearchTerm,\n nextSearchResult,\n previousSearchResult,\n toggleStatusFilter,\n } = useSidebar();\n const searchControlsRef = useRef<HTMLDivElement>(null);\n const [searchControlsPaddingRight, setSearchControlsPaddingRight] =\n useState(16);\n\n useLayoutEffect(() => {\n if (searchControlsRef.current) {\n setSearchControlsPaddingRight(searchControlsRef.current.clientWidth + 16);\n }\n }, [searchTerm]);\n\n return (\n <div className=\"flex w-full gap-2 border-t border-gray-300 p-2 dark:border-slate-800\">\n <div className=\"relative flex-1\">\n <Input\n type=\"search\"\n value={searchTerm}\n onChange={(e) => changeSearchTerm(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\") {\n nextSearchResult();\n } else if (e.key === \"ArrowUp\") {\n previousSearchResult();\n }\n }}\n tabIndex={1}\n placeholder=\"Search\"\n className=\"w-full appearance-none pl-8 [&::-webkit-search-cancel-button]:hidden\"\n style={{ paddingRight: searchControlsPaddingRight }}\n />\n\n <Search\n height={16}\n width={16}\n className=\"absolute top-1/2 left-2 -translate-y-1/2 text-gray-700 dark:text-slate-50\"\n />\n\n {/* Search controls - only shown when there's a search term */}\n {searchTerm && (\n <div\n ref={searchControlsRef}\n className=\"absolute top-1/2 right-2 flex -translate-y-1/2 items-center gap-2 select-none\"\n >\n <SearchResultCounter\n isSearching={isSearching}\n activeIndex={activeSearchIndex}\n totalResults={searchResults.length}\n />\n\n <div className=\"flex flex-col text-gray-500 dark:text-slate-700\">\n <SearchNavigationArrow\n direction=\"up\"\n isDisabled={activeSearchIndex === 0}\n onClick={previousSearchResult}\n />\n <SearchNavigationArrow\n direction=\"down\"\n isDisabled={activeSearchIndex === searchResults.length - 1}\n onClick={nextSearchResult}\n />\n </div>\n\n {/* Clear search button */}\n <CrossCircle\n onClick={() => changeSearchTerm(\"\")}\n height={16}\n width={16}\n className=\"cursor-pointer text-gray-500 hover:text-gray-700 active:text-gray-900 dark:text-slate-700 dark:hover:text-slate-600 dark:active:text-slate-300\"\n />\n </div>\n )}\n </div>\n\n {showStatusFilter && (\n <button\n type=\"button\"\n onClick={toggleStatusFilter}\n tabIndex={1}\n className={twMerge(\n \"rounded-md border border-gray-300 px-2 py-1 text-sm text-gray-500\",\n isStatusFilterEnabled\n ? \"border-blue-500 bg-blue-100 text-blue-900\"\n : \"hover:bg-gray-100 hover:text-gray-700\",\n )}\n >\n <Tabler height={16} width={16} />\n </button>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAcA,MAAaW,iBAA+C,EAC1DC,uBACI;CACJ,MAAM,EACJC,YACAC,aACAC,eACAC,mBACAC,uBACAC,kBACAC,kBACAC,sBACAC,uBACEb,YAAY;CAChB,MAAMc,oBAAoBrB,OAAuB,KAAK;CACtD,MAAM,CAACsB,4BAA4BC,iCACjCtB,SAAS,GAAG;AAEdF,uBAAsB;AACpB,MAAIsB,kBAAkBG,QACpBD,+BAA8BF,kBAAkBG,QAAQC,cAAc,GAAG;IAE1E,CAACb,WAAW,CAAC;AAEhB,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,qBAAC,OAAD;GAAK,WAAU;aAAf;IACE,oBAAC,OAAD;KACE,MAAK;KACL,OAAOA;KACP,WAAWc,MAAMT,iBAAiBS,EAAEC,OAAOC,MAAM;KACjD,YAAYF,MAAM;AAChB,UAAIA,EAAEG,QAAQ,eAAeH,EAAEG,QAAQ,QACrCX,mBAAkB;eACTQ,EAAEG,QAAQ,UACnBV,uBAAsB;;KAG1B,UAAU;KACV,aAAY;KACZ,WAAU;KACV,OAAO,EAAEW,cAAcR,4BAA4B;KAAC,CAAA;IAGtD,oBAAC,QAAD;KACE,QAAQ;KACR,OAAO;KACP,WAAU;KAA2E,CAAA;IAItFV,cACC,qBAAC,OAAD;KACE,KAAKS;KACL,WAAU;eAFZ;MAIE,oBAAC,qBAAD;OACeR;OACb,aAAaE;OACb,cAAcD,cAAciB;OAAO,CAAA;MAGrC,qBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,oBAAC,uBAAD;QACE,WAAU;QACV,YAAYhB,sBAAsB;QAClC,SAASI;QAAqB,CAAA,EAEhC,oBAAC,uBAAD;QACE,WAAU;QACV,YAAYJ,sBAAsBD,cAAciB,SAAS;QACzD,SAASb;QAAiB,CAAA,CAEzB;;MAGL,oBAAC,aAAD;OACE,eAAeD,iBAAiB,GAAG;OACnC,QAAQ;OACR,OAAO;OACP,WAAU;OAAgJ,CAAA;MAG/J;;IACE;MAEJN,oBACC,oBAAC,UAAD;GACE,MAAK;GACL,SAASS;GACT,UAAU;GACV,WAAWlB,QACT,qEACAc,wBACI,8CACA,wCACL;aAED,oBAAC,QAAD;IAAQ,QAAQ;IAAI,OAAO;IAAG,CAAA;GAEjC,CAAA,CACG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts
|
|
4
|
+
interface SidebarSkeletonItemProps {
|
|
5
|
+
depth: number;
|
|
6
|
+
textWidth: string;
|
|
7
|
+
style?: React.CSSProperties;
|
|
8
|
+
}
|
|
9
|
+
declare const SidebarSkeletonItem: ({
|
|
10
|
+
depth,
|
|
11
|
+
textWidth,
|
|
12
|
+
style
|
|
13
|
+
}: SidebarSkeletonItemProps) => react_jsx_runtime0.JSX.Element;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { SidebarSkeletonItem };
|
|
16
|
+
//# sourceMappingURL=sidebar-skeleton-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-skeleton-item.d.ts","names":[],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx"],"mappings":";;;UAEU,wBAAA;EACR,KAAA;EACA,SAAA;EACA,KAAA,GAAQ,KAAA,CAAM,aAAA;AAAA;AAAA,cAGH,mBAAA;EAAuB,KAAA;EAAA,SAAA;EAAA;AAAA,GAIjC,wBAAA,KAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { twMerge } from "tailwind-merge";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx
|
|
4
|
+
const SidebarSkeletonItem = ({ depth, textWidth, style }) => {
|
|
5
|
+
return /* @__PURE__ */ jsx("div", {
|
|
6
|
+
style,
|
|
7
|
+
className: "flex items-center px-2",
|
|
8
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
9
|
+
className: "flex h-8 w-full items-center gap-2 px-2 py-1",
|
|
10
|
+
style: { paddingLeft: depth * 24 + 8 },
|
|
11
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
12
|
+
className: "flex size-4 min-w-4 items-center justify-center",
|
|
13
|
+
children: /* @__PURE__ */ jsx("div", { className: "size-4 min-w-4 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-600" })
|
|
14
|
+
}), /* @__PURE__ */ jsx("div", { className: twMerge("h-4 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-600", textWidth) })]
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { SidebarSkeletonItem };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=sidebar-skeleton-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-skeleton-item.js","names":["twMerge","SidebarSkeletonItem","depth","textWidth","style","paddingLeft"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\ninterface SidebarSkeletonItemProps {\n depth: number;\n textWidth: string;\n style?: React.CSSProperties;\n}\n\nexport const SidebarSkeletonItem = ({\n depth,\n textWidth,\n style,\n}: SidebarSkeletonItemProps) => {\n const paddingLeft = depth * 24;\n\n return (\n <div style={style} className=\"flex items-center px-2\">\n <div\n className=\"flex h-8 w-full items-center gap-2 px-2 py-1\"\n style={{ paddingLeft: paddingLeft + 8 }}\n >\n {/* Chevron icon skeleton */}\n <div className=\"flex size-4 min-w-4 items-center justify-center\">\n <div className=\"size-4 min-w-4 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-600\" />\n </div>\n\n {/* Text content skeleton */}\n <div\n className={twMerge(\n \"h-4 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-600\",\n textWidth,\n )}\n />\n </div>\n </div>\n );\n};\n"],"mappings":";;;AAQA,MAAaC,uBAAuB,EAClCC,OACAC,WACAC,YAC8B;AAG9B,QACE,oBAAC,OAAD;EAAYA;EAAO,WAAU;YAC3B,qBAAC,OAAD;GACE,WAAU;GACV,OAAO,EAAEC,aANKH,QAAQ,KAMc,GAAG;aAFzC,CAKE,oBAAC,OAAD;IAAK,WAAU;cACb,oBAAC,OAAD,EAAK,WAAU,yEAAuE,CAAA;IACnF,CAAA,EAGL,oBAAC,OAAD,EACE,WAAWF,QACT,8DACAG,UACD,EAAC,CAAA,CAED;;EACD,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts
|
|
4
|
+
declare const SidebarSkeleton: () => react_jsx_runtime0.JSX.Element;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { SidebarSkeleton };
|
|
7
|
+
//# sourceMappingURL=sidebar-skeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-skeleton.d.ts","names":[],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton.tsx"],"mappings":";;;cAea,eAAA,QAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { SidebarSkeletonItem } from "./sidebar-skeleton-item.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/ui/components/sidebar/subcomponents/sidebar-skeleton.tsx
|
|
4
|
+
const skeletonItems = [
|
|
5
|
+
{
|
|
6
|
+
depth: 0,
|
|
7
|
+
textWidth: "w-32"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
depth: 1,
|
|
11
|
+
textWidth: "w-28"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
depth: 1,
|
|
15
|
+
textWidth: "w-36"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
depth: 2,
|
|
19
|
+
textWidth: "w-24"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
depth: 2,
|
|
23
|
+
textWidth: "w-30"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
depth: 0,
|
|
27
|
+
textWidth: "w-40"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
depth: 1,
|
|
31
|
+
textWidth: "w-26"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
depth: 1,
|
|
35
|
+
textWidth: "w-34"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
depth: 2,
|
|
39
|
+
textWidth: "w-22"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
depth: 0,
|
|
43
|
+
textWidth: "w-38"
|
|
44
|
+
}
|
|
45
|
+
];
|
|
46
|
+
const SidebarSkeleton = () => {
|
|
47
|
+
return /* @__PURE__ */ jsx("div", {
|
|
48
|
+
className: "flex-1 overflow-hidden p-2",
|
|
49
|
+
role: "status",
|
|
50
|
+
"aria-label": "Loading sidebar content",
|
|
51
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
52
|
+
className: "flex flex-col gap-2",
|
|
53
|
+
children: skeletonItems.map((item, index) => /* @__PURE__ */ jsx(SidebarSkeletonItem, {
|
|
54
|
+
depth: item.depth,
|
|
55
|
+
textWidth: item.textWidth
|
|
56
|
+
}, index))
|
|
57
|
+
})
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
export { SidebarSkeleton };
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=sidebar-skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-skeleton.js","names":["SidebarSkeletonItem","skeletonItems","depth","textWidth","SidebarSkeleton","map","item","index"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton.tsx"],"sourcesContent":["import { SidebarSkeletonItem } from \"./sidebar-skeleton-item.js\";\n\nconst skeletonItems = [\n { depth: 0, textWidth: \"w-32\" },\n { depth: 1, textWidth: \"w-28\" },\n { depth: 1, textWidth: \"w-36\" },\n { depth: 2, textWidth: \"w-24\" },\n { depth: 2, textWidth: \"w-30\" },\n { depth: 0, textWidth: \"w-40\" },\n { depth: 1, textWidth: \"w-26\" },\n { depth: 1, textWidth: \"w-34\" },\n { depth: 2, textWidth: \"w-22\" },\n { depth: 0, textWidth: \"w-38\" },\n];\n\nexport const SidebarSkeleton = () => {\n return (\n <div\n className=\"flex-1 overflow-hidden p-2\"\n role=\"status\"\n aria-label=\"Loading sidebar content\"\n >\n <div className=\"flex flex-col gap-2\">\n {skeletonItems.map((item, index) => (\n <SidebarSkeletonItem\n key={index}\n depth={item.depth}\n textWidth={item.textWidth}\n />\n ))}\n </div>\n </div>\n );\n};\n"],"mappings":";;;AAEA,MAAMC,gBAAgB;CACpB;EAAEC,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAChC;AAED,MAAaC,wBAAwB;AACnC,QACE,oBAAC,OAAD;EACE,WAAU;EACV,MAAK;EACL,cAAW;YAEX,oBAAC,OAAD;GAAK,WAAU;aACZH,cAAcI,KAAKC,MAAMC,UACxB,oBAAC,qBAAD;IAEE,OAAOD,KAAKJ;IACZ,WAAWI,KAAKH;IAEnB,EAJQI,MAIR,CAAC;GACC,CAAA;EACD,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { a as NodeStatus } from "../../../../types-CNbvfWjh.js";
|
|
2
|
+
import * as react from "react";
|
|
3
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/ui/components/sidebar/subcomponents/status-icon.d.ts
|
|
6
|
+
interface StatusIconProps {
|
|
7
|
+
status: NodeStatus;
|
|
8
|
+
isDescendenceModified?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const StatusIcon: ({
|
|
11
|
+
status,
|
|
12
|
+
isDescendenceModified
|
|
13
|
+
}: StatusIconProps) => string | number | bigint | boolean | react_jsx_runtime0.JSX.Element | Iterable<react.ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<react.ReactNode> | null | undefined> | null | undefined;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { StatusIcon };
|
|
16
|
+
//# sourceMappingURL=status-icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-icon.d.ts","names":[],"sources":["../../../../../src/ui/components/sidebar/subcomponents/status-icon.tsx"],"mappings":";;;;;UAQU,eAAA;EACR,MAAA,EAAQ,UAAA;EACR,qBAAA;AAAA;AAAA,cAwBW,UAAA;EAAc,MAAA;EAAA;AAAA,GAGxB,eAAA,0CAAe,kBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,KAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,KAAA,CAAA,WAAA,GAAA,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,KAAA,CAAA,SAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { a as DescendenceModified, i as Duplicated, n as Moved, o as Created, r as Modified, t as Removed } from "../../../../Removed-CO_5C1ce.js";
|
|
2
|
+
import { NodeStatus } from "../types.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/ui/components/sidebar/subcomponents/status-icon.tsx
|
|
5
|
+
const STATUS_ICON_MAP = {
|
|
6
|
+
[NodeStatus.CREATED]: { icon: /* @__PURE__ */ jsx(Created, {
|
|
7
|
+
height: 16,
|
|
8
|
+
width: 16,
|
|
9
|
+
className: "text-green-900"
|
|
10
|
+
}) },
|
|
11
|
+
[NodeStatus.MODIFIED]: { icon: /* @__PURE__ */ jsx(Modified, {
|
|
12
|
+
height: 16,
|
|
13
|
+
width: 16,
|
|
14
|
+
className: "text-blue-900"
|
|
15
|
+
}) },
|
|
16
|
+
[NodeStatus.REMOVED]: { icon: /* @__PURE__ */ jsx(Removed, {
|
|
17
|
+
height: 16,
|
|
18
|
+
width: 16,
|
|
19
|
+
className: "text-red-900"
|
|
20
|
+
}) },
|
|
21
|
+
[NodeStatus.MOVED]: { icon: /* @__PURE__ */ jsx(Moved, {
|
|
22
|
+
height: 16,
|
|
23
|
+
width: 16,
|
|
24
|
+
className: "text-blue-900"
|
|
25
|
+
}) },
|
|
26
|
+
[NodeStatus.DUPLICATED]: { icon: /* @__PURE__ */ jsx(Duplicated, {
|
|
27
|
+
height: 16,
|
|
28
|
+
width: 16,
|
|
29
|
+
className: "text-blue-900"
|
|
30
|
+
}) }
|
|
31
|
+
};
|
|
32
|
+
const StatusIcon = ({ status, isDescendenceModified }) => {
|
|
33
|
+
if (status === NodeStatus.UNCHANGED) return isDescendenceModified ? /* @__PURE__ */ jsx(DescendenceModified, {
|
|
34
|
+
height: 16,
|
|
35
|
+
width: 16,
|
|
36
|
+
className: "text-gray-500"
|
|
37
|
+
}) : null;
|
|
38
|
+
return STATUS_ICON_MAP[status].icon;
|
|
39
|
+
};
|
|
40
|
+
//#endregion
|
|
41
|
+
export { StatusIcon };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=status-icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-icon.js","names":["Created","DescendenceModified","Duplicated","Modified","Moved","Removed","NodeStatus","STATUS_ICON_MAP","CREATED","icon","MODIFIED","REMOVED","MOVED","DUPLICATED","StatusIcon","status","isDescendenceModified","UNCHANGED"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/status-icon.tsx"],"sourcesContent":["import Created from \"../../../../powerhouse/components/icon-components/Created.js\";\nimport DescendenceModified from \"../../../../powerhouse/components/icon-components/DescendenceModified.js\";\nimport Duplicated from \"../../../../powerhouse/components/icon-components/Duplicated.js\";\nimport Modified from \"../../../../powerhouse/components/icon-components/Modified.js\";\nimport Moved from \"../../../../powerhouse/components/icon-components/Moved.js\";\nimport Removed from \"../../../../powerhouse/components/icon-components/Removed.js\";\nimport { NodeStatus } from \"../types.js\";\n\ninterface StatusIconProps {\n status: NodeStatus;\n isDescendenceModified?: boolean;\n}\n\nconst STATUS_ICON_MAP: Record<\n Exclude<NodeStatus, NodeStatus.UNCHANGED>,\n { icon: React.ReactNode }\n> = {\n [NodeStatus.CREATED]: {\n icon: <Created height={16} width={16} className=\"text-green-900\" />,\n },\n [NodeStatus.MODIFIED]: {\n icon: <Modified height={16} width={16} className=\"text-blue-900\" />,\n },\n [NodeStatus.REMOVED]: {\n icon: <Removed height={16} width={16} className=\"text-red-900\" />,\n },\n [NodeStatus.MOVED]: {\n icon: <Moved height={16} width={16} className=\"text-blue-900\" />,\n },\n [NodeStatus.DUPLICATED]: {\n icon: <Duplicated height={16} width={16} className=\"text-blue-900\" />,\n },\n};\n\nexport const StatusIcon = ({\n status,\n isDescendenceModified,\n}: StatusIconProps) => {\n if (status === NodeStatus.UNCHANGED) {\n return isDescendenceModified ? (\n <DescendenceModified height={16} width={16} className=\"text-gray-500\" />\n ) : null;\n }\n\n return STATUS_ICON_MAP[status].icon;\n};\n"],"mappings":";;;;AAaA,MAAMO,kBAGF;EACDD,WAAWE,UAAU,EACpBC,MAAM,oBAAC,SAAD;EAAS,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAgB,CAAA,EACjE;EACAH,WAAWI,WAAW,EACrBD,MAAM,oBAAC,UAAD;EAAU,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAe,CAAA,EACjE;EACAH,WAAWK,UAAU,EACpBF,MAAM,oBAAC,SAAD;EAAS,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAc,CAAA,EAC/D;EACAH,WAAWM,QAAQ,EAClBH,MAAM,oBAAC,OAAD;EAAO,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAe,CAAA,EAC9D;EACAH,WAAWO,aAAa,EACvBJ,MAAM,oBAAC,YAAD;EAAY,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAe,CAAA,EACpE;CACD;AAED,MAAaK,cAAc,EACzBC,QACAC,4BACqB;AACrB,KAAID,WAAWT,WAAWW,UACxB,QAAOD,wBACL,oBAAC,qBAAD;EAAqB,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAkB,CAAA,GACtE;AAGN,QAAOT,gBAAgBQ,QAAQN"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as NodeStatus, i as NodeSortType, n as NodeSortComparisonFn, o as SidebarIcon, r as NodeSortOrder, s as SidebarNode, t as FlattenedNode } from "../../../types-CNbvfWjh.js";
|
|
2
|
+
export { FlattenedNode, NodeSortComparisonFn, NodeSortOrder, NodeSortType, NodeStatus, SidebarIcon, SidebarNode };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/ui/components/sidebar/types.ts
|
|
2
|
+
let NodeStatus = /* @__PURE__ */ function(NodeStatus) {
|
|
3
|
+
NodeStatus["CREATED"] = "CREATED";
|
|
4
|
+
NodeStatus["MODIFIED"] = "MODIFIED";
|
|
5
|
+
NodeStatus["REMOVED"] = "REMOVED";
|
|
6
|
+
NodeStatus["MOVED"] = "MOVED";
|
|
7
|
+
NodeStatus["DUPLICATED"] = "DUPLICATED";
|
|
8
|
+
NodeStatus["UNCHANGED"] = "UNCHANGED";
|
|
9
|
+
return NodeStatus;
|
|
10
|
+
}({});
|
|
11
|
+
//#endregion
|
|
12
|
+
export { NodeStatus };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":["NodeStatus"],"sources":["../../../../src/ui/components/sidebar/types.ts"],"sourcesContent":["import type { IconName } from \"../../../powerhouse/types.js\";\n\nexport enum NodeStatus {\n CREATED = \"CREATED\",\n MODIFIED = \"MODIFIED\",\n REMOVED = \"REMOVED\",\n MOVED = \"MOVED\",\n DUPLICATED = \"DUPLICATED\",\n UNCHANGED = \"UNCHANGED\", // default\n}\n\nexport type SidebarIcon = IconName | React.ReactElement;\n\nexport interface SidebarNode {\n title: string;\n id: string;\n children?: SidebarNode[];\n icon?: SidebarIcon;\n expandedIcon?: SidebarIcon;\n status?: NodeStatus;\n className?: string;\n}\n\nexport type NodeSortComparisonFn = (\n valueA: string,\n valueB: string,\n) => -1 | 0 | 1;\nexport type NodeSortType = \"alphabetical\" | \"natural\" | NodeSortComparisonFn;\nexport type NodeSortOrder = \"asc\" | \"desc\";\n\nexport interface FlattenedNode extends SidebarNode {\n depth: number;\n isExpanded: boolean;\n}\n"],"mappings":";AAEA,IAAYA,aAAU,yBAAVA,YAAU;AAAVA,YAAU,aAAA;AAAVA,YAAU,cAAA;AAAVA,YAAU,aAAA;AAAVA,YAAU,WAAA;AAAVA,YAAU,gBAAA;AAAVA,YAAU,eAAA;AAMK,QANfA;EAAU,EAAA,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/ui/components/sidebar/use-ellipsis.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Custom hook to detect if an element's text is truncated with ellipsis
|
|
4
|
+
* @param ref - The ref of the element to detect ellipsis on
|
|
5
|
+
* @returns Whether the element's text is truncated with ellipsis
|
|
6
|
+
*/
|
|
7
|
+
declare const useEllipsis: <T extends HTMLElement>(ref: React.RefObject<T | null>) => boolean;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { useEllipsis };
|
|
10
|
+
//# sourceMappingURL=use-ellipsis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-ellipsis.d.ts","names":[],"sources":["../../../../src/ui/components/sidebar/use-ellipsis.ts"],"mappings":";;AAOA;;;;cAAa,WAAA,aAAyB,WAAA,EACpC,GAAA,EAAK,KAAA,CAAM,SAAA,CAAU,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
//#region src/ui/components/sidebar/use-ellipsis.ts
|
|
3
|
+
/**
|
|
4
|
+
* Custom hook to detect if an element's text is truncated with ellipsis
|
|
5
|
+
* @param ref - The ref of the element to detect ellipsis on
|
|
6
|
+
* @returns Whether the element's text is truncated with ellipsis
|
|
7
|
+
*/
|
|
8
|
+
const useEllipsis = (ref) => {
|
|
9
|
+
const [hasEllipsis, setHasEllipsis] = useState(false);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
const element = ref.current;
|
|
12
|
+
if (!element) return;
|
|
13
|
+
const observer = new ResizeObserver(() => {
|
|
14
|
+
setHasEllipsis(element.offsetWidth < element.scrollWidth);
|
|
15
|
+
});
|
|
16
|
+
observer.observe(element);
|
|
17
|
+
return () => {
|
|
18
|
+
observer.disconnect();
|
|
19
|
+
};
|
|
20
|
+
}, [ref]);
|
|
21
|
+
return hasEllipsis;
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { useEllipsis };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=use-ellipsis.js.map
|