@powerhousedao/design-system 6.2.3-dev.8 → 6.2.3-dev.81
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/PinFilled-cSbUqZCA.js +41 -0
- package/dist/PinFilled-cSbUqZCA.js.map +1 -0
- package/dist/{Removed-CO_5C1ce.js → Removed-OP4eTrAN.js} +1 -1
- package/dist/{Removed-CO_5C1ce.js.map → Removed-OP4eTrAN.js.map} +1 -1
- package/dist/{Tabler-FjvVqX5a.js → Tabler-rjLxlzUV.js} +1 -1
- package/dist/{Tabler-FjvVqX5a.js.map → Tabler-rjLxlzUV.js.map} +1 -1
- package/dist/add-local-drive-form.impl-COIpcmgW.js +76 -0
- package/dist/add-local-drive-form.impl-COIpcmgW.js.map +1 -0
- package/dist/add-remote-drive-form.impl-_SqOzbSt.js +123 -0
- package/dist/add-remote-drive-form.impl-_SqOzbSt.js.map +1 -0
- package/dist/address-DVC3zalI.js +92 -0
- package/dist/address-DVC3zalI.js.map +1 -0
- package/dist/button-BYcXvZXr.d.ts +13 -0
- package/dist/button-BYcXvZXr.d.ts.map +1 -0
- package/dist/{character-counter-BWoglM2P.d.ts → character-counter-BZmZZCHN.d.ts} +2 -1
- package/dist/character-counter-BZmZZCHN.d.ts.map +1 -0
- package/dist/{checkbox-CGBtXQnI.d.ts → checkbox-BIAGwP7d.d.ts} +4 -4
- package/dist/checkbox-BIAGwP7d.d.ts.map +1 -0
- package/dist/{checkbox-base-CZo-4eL0.d.ts → checkbox-base-Bm0GPWgm.d.ts} +2 -2
- package/dist/checkbox-base-Bm0GPWgm.d.ts.map +1 -0
- package/dist/combobox.impl-CQHG0NgO.js +144 -0
- package/dist/combobox.impl-CQHG0NgO.js.map +1 -0
- package/dist/{command-CbTi7Jj2.d.ts → command-DHHTsHfH.d.ts} +10 -10
- package/dist/command-DHHTsHfH.d.ts.map +1 -0
- package/dist/connect/components/toast/toast.d.ts +8 -10
- package/dist/connect/components/toast/toast.d.ts.map +1 -1
- package/dist/connect/components/toast/toast.js +4 -4
- package/dist/connect/components/toast/toast.js.map +1 -1
- package/dist/connect/index.d.ts +522 -364
- package/dist/connect/index.d.ts.map +1 -1
- package/dist/connect/index.js +1027 -1618
- package/dist/connect/index.js.map +1 -1
- package/dist/{content-BHWIqmio.d.ts → content-Cv0kRppo.d.ts} +3 -3
- package/dist/content-Cv0kRppo.d.ts.map +1 -0
- package/dist/default-editor.impl-a6EOuEme.js +30 -0
- package/dist/default-editor.impl-a6EOuEme.js.map +1 -0
- package/dist/document-timeline.impl-zx6f7k2d.js +254 -0
- package/dist/document-timeline.impl-zx6f7k2d.js.map +1 -0
- package/dist/drive-settings-form.impl-Dthjyouk.js +171 -0
- package/dist/drive-settings-form.impl-Dthjyouk.js.map +1 -0
- package/dist/{enum-field-B1ZGimK6.d.ts → enum-field-Cub1rt3e.d.ts} +5 -5
- package/dist/enum-field-Cub1rt3e.d.ts.map +1 -0
- package/dist/{form-CKRKn0TQ.d.ts → form-Brj5AQNr.d.ts} +3 -4
- package/dist/form-Brj5AQNr.d.ts.map +1 -0
- package/dist/{form-description-CYkcMEzm.d.ts → form-description-DJrDJzJi.d.ts} +2 -1
- package/dist/form-description-DJrDJzJi.d.ts.map +1 -0
- package/dist/{form-group-C8kL6pdZ.d.ts → form-group-Ckd28lpW.d.ts} +2 -1
- package/dist/form-group-Ckd28lpW.d.ts.map +1 -0
- package/dist/{form-label-b6nQi0XO.d.ts → form-label-C8ghd_lR.d.ts} +2 -1
- package/dist/form-label-C8ghd_lR.d.ts.map +1 -0
- package/dist/{form-message-Dq72nBXz.d.ts → form-message-CnKUkvlj.d.ts} +2 -1
- package/dist/form-message-CnKUkvlj.d.ts.map +1 -0
- package/dist/form-server-error-message-D2tFtDZ0.d.ts +6 -0
- package/dist/form-server-error-message-D2tFtDZ0.d.ts.map +1 -0
- package/dist/formatted-json-viewer.impl-COERJCiE.js +58 -0
- package/dist/formatted-json-viewer.impl-COERJCiE.js.map +1 -0
- package/dist/icon-DQ2yrWYv.js +358 -0
- package/dist/icon-DQ2yrWYv.js.map +1 -0
- package/dist/{icon-C4QOpsdI.js → icon-components-NK-y5dkv.js} +7 -481
- package/dist/icon-components-NK-y5dkv.js.map +1 -0
- package/dist/{id-autocomplete-C-hwriS5.d.ts → id-autocomplete-8LcmtjSR.d.ts} +3 -3
- package/dist/id-autocomplete-8LcmtjSR.d.ts.map +1 -0
- package/dist/{id-autocomplete-input-container-DFEyPh5p.d.ts → id-autocomplete-input-container-D2L7p-Yh.d.ts} +3 -3
- package/dist/id-autocomplete-input-container-D2L7p-Yh.d.ts.map +1 -0
- package/dist/{id-autocomplete-list-EzLpF23C.d.ts → id-autocomplete-list-BXvN07Hr.d.ts} +3 -3
- package/dist/id-autocomplete-list-BXvN07Hr.d.ts.map +1 -0
- package/dist/{id-autocomplete-list-option-CB5B07Hi.d.ts → id-autocomplete-list-option-D_1BOv50.d.ts} +4 -3
- package/dist/id-autocomplete-list-option-D_1BOv50.d.ts.map +1 -0
- package/dist/{index--hDSfvJT.d.ts → index-5FEr1tXH.d.ts} +25 -59
- package/dist/index-5FEr1tXH.d.ts.map +1 -0
- package/dist/index-C-Tup7Br.d.ts +4 -0
- package/dist/index-D6Zk5OLV.d.ts +4 -0
- package/dist/index-i-xHUsLr.d.ts +30 -0
- package/dist/index-jfVVOU-H.d.ts +2 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +2 -2
- package/dist/{input-BpEQjaWV.d.ts → input-WDvjJFqf.d.ts} +2 -2
- package/dist/input-WDvjJFqf.d.ts.map +1 -0
- package/dist/json-viewer-Kg0IBIt-.d.ts +7 -0
- package/dist/json-viewer-Kg0IBIt-.d.ts.map +1 -0
- package/dist/label-nH2HoKfI.js +15 -0
- package/dist/label-nH2HoKfI.js.map +1 -0
- package/dist/location-info-C3YbSsV0.js +47 -0
- package/dist/location-info-C3YbSsV0.js.map +1 -0
- package/dist/{message-list-C4mPpBBa.d.ts → message-list-D8d2ltLd.d.ts} +3 -3
- package/dist/message-list-D8d2ltLd.d.ts.map +1 -0
- package/dist/{popover-XSBOuSih.d.ts → popover-TvQxa0RU.d.ts} +2 -2
- package/dist/popover-TvQxa0RU.d.ts.map +1 -0
- package/dist/{radio-eL0Oy86J.d.ts → radio-CTS4WsNy.d.ts} +2 -2
- package/dist/radio-CTS4WsNy.d.ts.map +1 -0
- package/dist/{radio-group-Bkli6nUz.d.ts → radio-group-CROIwgYz.d.ts} +2 -2
- package/dist/radio-group-CROIwgYz.d.ts.map +1 -0
- package/dist/{radio-group-field-qOD9_nWy.d.ts → radio-group-field-X18o287K.d.ts} +5 -6
- package/dist/radio-group-field-X18o287K.d.ts.map +1 -0
- package/dist/revision-history.impl-C8YnBJ6U.js +642 -0
- package/dist/revision-history.impl-C8YnBJ6U.js.map +1 -0
- package/dist/{search-autocomplete-BJJkrZ1i.d.ts → search-autocomplete-COvFRZIb.d.ts} +3 -3
- package/dist/search-autocomplete-COvFRZIb.d.ts.map +1 -0
- package/dist/{select-field-C97QIhUL.d.ts → select-field-DHaCiAso.d.ts} +5 -5
- package/dist/select-field-DHaCiAso.d.ts.map +1 -0
- package/dist/{selected-content-CGsK5PR4.d.ts → selected-content-CSTFkQr9.d.ts} +3 -3
- package/dist/selected-content-CSTFkQr9.d.ts.map +1 -0
- package/dist/{sidebar-DOoE4krt.d.ts → sidebar-DFqreKf1.d.ts} +3 -3
- package/dist/sidebar-DFqreKf1.d.ts.map +1 -0
- package/dist/{sidebar-provider-C2eyz9TL.d.ts → sidebar-provider-CZHhqW5n.d.ts} +4 -8
- package/dist/sidebar-provider-CZHhqW5n.d.ts.map +1 -0
- package/dist/splitted-input-diff-DNKcSOAB.d.ts +11 -0
- package/dist/splitted-input-diff-DNKcSOAB.d.ts.map +1 -0
- package/dist/{src-CVV6HzQZ.js → src-DhSJCeu5.js} +180 -24
- package/dist/src-DhSJCeu5.js.map +1 -0
- package/dist/style.css +144 -62
- package/dist/text-field-Dq1DTC_t.d.ts +9 -0
- package/dist/text-field-Dq1DTC_t.d.ts.map +1 -0
- package/dist/{text-input-8zXIWHLi.d.ts → text-input-CRjOT54_.d.ts} +5 -6
- package/dist/text-input-CRjOT54_.d.ts.map +1 -0
- package/dist/text-input-diff-CcF0QblL.d.ts +12 -0
- package/dist/text-input-diff-CcF0QblL.d.ts.map +1 -0
- package/dist/{tooltip-BxS9HpML.d.ts → tooltip-B4uQJPUm.d.ts} +3 -4
- package/dist/tooltip-B4uQJPUm.d.ts.map +1 -0
- package/dist/{types-Bsn62tJB.d.ts → types-BNTIrhb5.d.ts} +2 -1
- package/dist/types-BNTIrhb5.d.ts.map +1 -0
- package/dist/{types-BTq-St7H.d.ts → types-CpFPFB1a.d.ts} +2 -1
- package/dist/types-CpFPFB1a.d.ts.map +1 -0
- package/dist/{types-C04Q_Fan.d.ts → types-D4CirgNk.d.ts} +2 -2
- package/dist/types-D4CirgNk.d.ts.map +1 -0
- package/dist/{types-CNbvfWjh.d.ts → types-FTqFl5du.d.ts} +3 -3
- package/dist/types-FTqFl5du.d.ts.map +1 -0
- package/dist/types-TZijOYrE.d.ts +17 -0
- package/dist/types-TZijOYrE.d.ts.map +1 -0
- package/dist/ui/components/button/button.d.ts +3 -2
- package/dist/ui/components/button/button.js +1 -1
- package/dist/ui/components/button/button.js.map +1 -1
- package/dist/ui/components/character-counter/character-counter.d.ts +3 -2
- package/dist/ui/components/character-counter/character-counter.js.map +1 -1
- package/dist/ui/components/checkbox/checkbox-base.d.ts +3 -2
- package/dist/ui/components/checkbox/checkbox-base.js +1 -1
- package/dist/ui/components/checkbox/checkbox-base.js.map +1 -1
- package/dist/ui/components/checkbox/checkbox.d.ts +3 -2
- package/dist/ui/components/checkbox/checkbox.js +1 -1
- package/dist/ui/components/checkbox/checkbox.js.map +1 -1
- package/dist/ui/components/command/command.d.ts +3 -2
- package/dist/ui/components/command/command.js +8 -8
- package/dist/ui/components/command/command.js.map +1 -1
- package/dist/ui/components/enum-field/enum-field.d.ts +3 -2
- package/dist/ui/components/enum-field/enum-field.js +1 -1
- package/dist/ui/components/enum-field/enum-field.js.map +1 -1
- package/dist/ui/components/enum-field/types.d.ts +3 -2
- package/dist/ui/components/form/form.d.ts +3 -2
- package/dist/ui/components/form/form.js +1 -1
- package/dist/ui/components/form/form.js.map +1 -1
- package/dist/ui/components/form/utils.d.ts +4 -4
- package/dist/ui/components/form/utils.d.ts.map +1 -1
- package/dist/ui/components/form/utils.js.map +1 -1
- package/dist/ui/components/form-description/form-description.d.ts +3 -2
- package/dist/ui/components/form-description/form-description.js.map +1 -1
- package/dist/ui/components/form-group/form-group.d.ts +3 -2
- package/dist/ui/components/form-group/form-group.js.map +1 -1
- package/dist/ui/components/form-label/form-label.d.ts +3 -2
- package/dist/ui/components/form-label/form-label.js +3 -2
- package/dist/ui/components/form-label/form-label.js.map +1 -1
- package/dist/ui/components/form-message/form-message.d.ts +3 -2
- package/dist/ui/components/form-message/form-message.js.map +1 -1
- package/dist/ui/components/form-message/form-server-error-message.d.ts +3 -2
- package/dist/ui/components/form-message/form-server-error-message.js.map +1 -1
- package/dist/ui/components/form-message/message-list.d.ts +3 -2
- package/dist/ui/components/form-message/message-list.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-context.d.ts +3 -5
- package/dist/ui/components/id-autocomplete/id-autocomplete-context.d.ts.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-context.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-context.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts +3 -2
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +2 -2
- 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 +3 -2
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +2 -2
- 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 +3 -2
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.d.ts +3 -2
- package/dist/ui/components/id-autocomplete/id-autocomplete.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
- package/dist/ui/components/id-autocomplete/types.d.ts +3 -2
- package/dist/ui/components/id-autocomplete/use-id-autocomplete.d.ts +3 -2
- package/dist/ui/components/id-autocomplete/use-id-autocomplete.js.map +1 -1
- package/dist/ui/components/index.d.ts +42 -40
- package/dist/ui/components/input/input.d.ts +3 -2
- package/dist/ui/components/input/input.js +1 -1
- package/dist/ui/components/input/input.js.map +1 -1
- package/dist/ui/components/input/splitted-input-diff.d.ts +3 -2
- package/dist/ui/components/input/splitted-input-diff.js +10 -9
- package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
- package/dist/ui/components/input/subcomponent/input-diff.d.ts +2 -11
- package/dist/ui/components/input/subcomponent/input-diff.d.ts.map +1 -1
- package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
- package/dist/ui/components/input/subcomponent/text-diff.d.ts +3 -12
- package/dist/ui/components/input/subcomponent/text-diff.d.ts.map +1 -1
- package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
- package/dist/ui/components/json-viewer/json-viewer.d.ts +3 -2
- package/dist/ui/components/json-viewer/json-viewer.js +1 -1
- package/dist/ui/components/json-viewer/json-viewer.js.map +1 -1
- package/dist/ui/components/popover/popover.d.ts +3 -2
- package/dist/ui/components/popover/popover.js +1 -1
- package/dist/ui/components/popover/popover.js.map +1 -1
- package/dist/ui/components/radio-group-field/radio-group-field.d.ts +3 -2
- package/dist/ui/components/radio-group-field/radio-group-field.js +4 -3
- 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 +3 -2
- package/dist/ui/components/radio-group-field/radio-group.js +1 -1
- package/dist/ui/components/radio-group-field/radio-group.js.map +1 -1
- package/dist/ui/components/radio-group-field/radio.d.ts +3 -2
- package/dist/ui/components/radio-group-field/radio.js +1 -1
- package/dist/ui/components/radio-group-field/radio.js.map +1 -1
- package/dist/ui/components/search-autocomplete/index.d.ts +6 -4
- package/dist/ui/components/search-autocomplete/search-autocomplete.d.ts +3 -2
- package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
- package/dist/ui/components/search-autocomplete/types.d.ts +3 -2
- package/dist/ui/components/search-autocomplete/use-search-autocomplete.d.ts +3 -2
- package/dist/ui/components/search-autocomplete/use-search-autocomplete.js.map +1 -1
- package/dist/ui/components/select-field/content.d.ts +3 -2
- package/dist/ui/components/select-field/content.js +1 -1
- package/dist/ui/components/select-field/content.js.map +1 -1
- package/dist/ui/components/select-field/select-field.d.ts +3 -2
- package/dist/ui/components/select-field/select-field.js +1 -1
- package/dist/ui/components/select-field/select-field.js.map +1 -1
- package/dist/ui/components/select-field/selected-content.d.ts +3 -2
- package/dist/ui/components/select-field/selected-content.js +1 -1
- package/dist/ui/components/select-field/selected-content.js.map +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts +3 -4
- package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
- package/dist/ui/components/select-field/use-select-field.d.ts +4 -12
- package/dist/ui/components/select-field/use-select-field.d.ts.map +1 -1
- package/dist/ui/components/select-field/use-select-field.js.map +1 -1
- package/dist/ui/components/sidebar/index.d.ts +6 -4
- package/dist/ui/components/sidebar/sidebar.d.ts +3 -2
- package/dist/ui/components/sidebar/sidebar.js +1 -1
- package/dist/ui/components/sidebar/sidebar.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts +2 -7
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts +2 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts +3 -18
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +4 -3
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts +2 -4
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.d.ts +4 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +3 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js +2 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts +7 -8
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.d.ts +2 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts +2 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts +2 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts +2 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts +2 -8
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +2 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts +2 -4
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts +3 -9
- package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/status-icon.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -1
- package/dist/ui/components/sidebar/types.d.ts +3 -2
- package/dist/ui/components/sidebar/types.js +1 -1
- package/dist/ui/components/sidebar/types.js.map +1 -1
- package/dist/ui/components/sidebar/use-ellipsis.d.ts +2 -2
- package/dist/ui/components/sidebar/use-ellipsis.d.ts.map +1 -1
- package/dist/ui/components/sidebar/use-ellipsis.js.map +1 -1
- package/dist/ui/components/sidebar/use-sidebar-resize.d.ts +3 -9
- package/dist/ui/components/sidebar/use-sidebar-resize.d.ts.map +1 -1
- package/dist/ui/components/sidebar/use-sidebar-resize.js.map +1 -1
- package/dist/ui/components/sidebar/utils.d.ts +10 -11
- package/dist/ui/components/sidebar/utils.d.ts.map +1 -1
- package/dist/ui/components/sidebar/utils.js.map +1 -1
- package/dist/ui/components/text-field/text-field.d.ts +3 -2
- package/dist/ui/components/text-field/text-field.js +3 -2
- package/dist/ui/components/text-field/text-field.js.map +1 -1
- package/dist/ui/components/text-input/text-input-diff.d.ts +3 -2
- package/dist/ui/components/text-input/text-input-diff.js.map +1 -1
- package/dist/ui/components/text-input/text-input.d.ts +3 -2
- package/dist/ui/components/text-input/text-input.js +1 -1
- package/dist/ui/components/text-input/text-input.js.map +1 -1
- package/dist/ui/components/text-input/types.d.ts +3 -2
- package/dist/ui/components/tooltip/tooltip.d.ts +3 -2
- package/dist/ui/components/tooltip/tooltip.js +1 -1
- package/dist/ui/components/tooltip/tooltip.js.map +1 -1
- package/dist/ui/components/types.d.ts +3 -2
- package/dist/ui/components/value-transformer/value-transformer.d.ts +3 -2
- package/dist/ui/components/value-transformer/value-transformer.js +5 -3
- package/dist/ui/components/value-transformer/value-transformer.js.map +1 -1
- package/dist/ui/components/with-field-validation/with-field-validation.d.ts +3 -2
- 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 +44 -42
- package/dist/ui/lib/date-picker.d.ts +4 -5
- package/dist/ui/lib/date-picker.d.ts.map +1 -1
- package/dist/ui/lib/date-picker.js +2 -1
- package/dist/ui/lib/date-picker.js.map +1 -1
- package/dist/ui/lib/date-time-picker.d.ts +6 -6
- package/dist/ui/lib/date-time-picker.d.ts.map +1 -1
- package/dist/ui/lib/date-time-picker.js.map +1 -1
- package/dist/ui/lib/deep-equal.d.ts +2 -2
- package/dist/ui/lib/deep-equal.d.ts.map +1 -1
- package/dist/ui/lib/deep-equal.js.map +1 -1
- package/dist/ui/lib/index.d.ts +2 -1
- package/dist/ui/lib/is-empty.d.ts +2 -2
- package/dist/ui/lib/is-empty.d.ts.map +1 -1
- package/dist/ui/lib/is-empty.js.map +1 -1
- package/dist/ui/lib/shared-value-transformers.d.ts +3 -4
- package/dist/ui/lib/shared-value-transformers.d.ts.map +1 -1
- package/dist/ui/lib/shared-value-transformers.js.map +1 -1
- package/dist/ui/lib/types.d.ts +3 -2
- package/dist/ui/lib/value-cast.d.ts +4 -4
- package/dist/ui/lib/value-cast.d.ts.map +1 -1
- package/dist/ui/lib/value-cast.js +10 -4
- package/dist/ui/lib/value-cast.js.map +1 -1
- package/dist/ui/types.d.ts +4 -3
- package/dist/{use-id-autocomplete-By7YSChC.d.ts → use-id-autocomplete-m9Bf0qCy.d.ts} +5 -16
- package/dist/use-id-autocomplete-m9Bf0qCy.d.ts.map +1 -0
- package/dist/{use-search-autocomplete-IfcQ_gKh.d.ts → use-search-autocomplete-vSvcsvcB.d.ts} +5 -6
- package/dist/use-search-autocomplete-vSvcsvcB.d.ts.map +1 -0
- package/dist/{value-transformer-DQjqtNih.d.ts → value-transformer-BtUh3-UP.d.ts} +5 -7
- package/dist/value-transformer-BtUh3-UP.d.ts.map +1 -0
- package/dist/{with-field-validation-Di5D8vU-.d.ts → with-field-validation-Bh26a6fr.d.ts} +3 -3
- package/dist/with-field-validation-Bh26a6fr.d.ts.map +1 -0
- package/package.json +17 -12
- package/plugins.css +6 -0
- package/tailwind.css +213 -0
- package/vendor.css +3 -0
- package/dist/button-C8doazjv.d.ts +0 -15
- package/dist/button-C8doazjv.d.ts.map +0 -1
- package/dist/character-counter-BWoglM2P.d.ts.map +0 -1
- package/dist/checkbox-CGBtXQnI.d.ts.map +0 -1
- package/dist/checkbox-base-CZo-4eL0.d.ts.map +0 -1
- package/dist/command-CbTi7Jj2.d.ts.map +0 -1
- package/dist/content-BHWIqmio.d.ts.map +0 -1
- package/dist/enum-field-B1ZGimK6.d.ts.map +0 -1
- package/dist/form-CKRKn0TQ.d.ts.map +0 -1
- package/dist/form-description-CYkcMEzm.d.ts.map +0 -1
- package/dist/form-group-C8kL6pdZ.d.ts.map +0 -1
- package/dist/form-label-b6nQi0XO.d.ts.map +0 -1
- package/dist/form-message-Dq72nBXz.d.ts.map +0 -1
- package/dist/form-server-error-message-DXbaiTfF.d.ts +0 -7
- package/dist/form-server-error-message-DXbaiTfF.d.ts.map +0 -1
- package/dist/icon-C4QOpsdI.js.map +0 -1
- package/dist/id-autocomplete-C-hwriS5.d.ts.map +0 -1
- package/dist/id-autocomplete-input-container-DFEyPh5p.d.ts.map +0 -1
- package/dist/id-autocomplete-list-EzLpF23C.d.ts.map +0 -1
- package/dist/id-autocomplete-list-option-CB5B07Hi.d.ts.map +0 -1
- package/dist/index--hDSfvJT.d.ts.map +0 -1
- package/dist/index--okzibnx.d.ts +0 -1
- package/dist/index-BLwMeReG.d.ts +0 -1
- package/dist/index-Cw3C7_1f.d.ts +0 -1
- package/dist/index-E7Wvm5uX.d.ts +0 -1
- package/dist/index-J3R2mDFQ.d.ts +0 -1
- package/dist/input-BpEQjaWV.d.ts.map +0 -1
- package/dist/json-viewer-DaTgmzkS.d.ts +0 -8
- package/dist/json-viewer-DaTgmzkS.d.ts.map +0 -1
- package/dist/message-list-C4mPpBBa.d.ts.map +0 -1
- package/dist/popover-XSBOuSih.d.ts.map +0 -1
- package/dist/radio-eL0Oy86J.d.ts.map +0 -1
- package/dist/radio-group-Bkli6nUz.d.ts.map +0 -1
- package/dist/radio-group-field-qOD9_nWy.d.ts.map +0 -1
- package/dist/search-autocomplete-BJJkrZ1i.d.ts.map +0 -1
- package/dist/select-field-C97QIhUL.d.ts.map +0 -1
- package/dist/selected-content-CGsK5PR4.d.ts.map +0 -1
- package/dist/sidebar-DOoE4krt.d.ts.map +0 -1
- package/dist/sidebar-provider-C2eyz9TL.d.ts.map +0 -1
- package/dist/splitted-input-diff-CwPedpov.d.ts +0 -18
- package/dist/splitted-input-diff-CwPedpov.d.ts.map +0 -1
- package/dist/src-CVV6HzQZ.js.map +0 -1
- package/dist/text-field-DSInH67J.d.ts +0 -10
- package/dist/text-field-DSInH67J.d.ts.map +0 -1
- package/dist/text-input-8zXIWHLi.d.ts.map +0 -1
- package/dist/text-input-diff-B0vLSKQm.d.ts +0 -20
- package/dist/text-input-diff-B0vLSKQm.d.ts.map +0 -1
- package/dist/tooltip-BxS9HpML.d.ts.map +0 -1
- package/dist/types-BTq-St7H.d.ts.map +0 -1
- package/dist/types-Bsn62tJB.d.ts.map +0 -1
- package/dist/types-C04Q_Fan.d.ts.map +0 -1
- package/dist/types-CNbvfWjh.d.ts.map +0 -1
- package/dist/use-id-autocomplete-By7YSChC.d.ts.map +0 -1
- package/dist/use-search-autocomplete-IfcQ_gKh.d.ts.map +0 -1
- package/dist/value-transformer-DQjqtNih.d.ts.map +0 -1
- package/dist/with-field-validation-Di5D8vU-.d.ts.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { C as SelectProps } from "./index
|
|
1
|
+
import { C as SelectProps } from "./index-5FEr1tXH.js";
|
|
2
2
|
import React from "react";
|
|
3
|
-
|
|
4
3
|
//#region src/ui/components/select-field/content.d.ts
|
|
5
4
|
interface ContentProps {
|
|
6
5
|
searchable?: boolean;
|
|
@@ -17,4 +16,5 @@ interface ContentProps {
|
|
|
17
16
|
declare const Content: React.FC<ContentProps>;
|
|
18
17
|
//#endregion
|
|
19
18
|
export { Content as t };
|
|
20
|
-
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=content-Cv0kRppo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-Cv0kRppo.d.ts","names":[],"sources":["../src/ui/components/select-field/content.tsx"],"mappings":";;;UAaU;EACR;EACA,gBAAgB,MAAM,UAAU;EAChC;EACA;EACA;EACA;EACA,SAAS;EACT,kBAAkB;EAClB;EACA,eAAe;;cAGJ,SAAS,MAAM,GAAG"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SelectFieldRaw } from "./ui/components/select-field/select-field.js";
|
|
2
|
+
import { twMerge } from "tailwind-merge";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/connect/components/modal/settings-modal-v2/default-editor.impl.tsx
|
|
5
|
+
function DefaultEditor(props) {
|
|
6
|
+
const { className, ...rest } = props;
|
|
7
|
+
return /* @__PURE__ */ jsx("div", {
|
|
8
|
+
className: twMerge("rounded-lg bg-background p-3", className),
|
|
9
|
+
children: /* @__PURE__ */ jsx(DefaultEditorSelect, { ...rest })
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function DefaultEditorSelect(props) {
|
|
13
|
+
const { documentModelEditor, setDocumentModelEditor, documentModelEditorOptions, className } = props;
|
|
14
|
+
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h3", {
|
|
15
|
+
className: "mb-4 font-semibold text-foreground",
|
|
16
|
+
children: "Default Editor Selection"
|
|
17
|
+
}), /* @__PURE__ */ jsx(SelectFieldRaw, {
|
|
18
|
+
className: twMerge("max-w-fit min-w-36", className),
|
|
19
|
+
name: "default-editor",
|
|
20
|
+
required: true,
|
|
21
|
+
value: documentModelEditor,
|
|
22
|
+
options: documentModelEditorOptions,
|
|
23
|
+
multiple: false,
|
|
24
|
+
onChange: (value) => setDocumentModelEditor(value)
|
|
25
|
+
})] });
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { DefaultEditor, DefaultEditorSelect };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=default-editor.impl-a6EOuEme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-editor.impl-a6EOuEme.js","names":["SelectFieldRaw","twMerge","DefaultEditor","props","className","rest","DefaultEditorSelect","documentModelEditor","setDocumentModelEditor","documentModelEditorOptions","value"],"sources":["../src/connect/components/modal/settings-modal-v2/default-editor.impl.tsx"],"sourcesContent":["import type { SelectOption } from \"#design-system/ui\";\nimport { SelectFieldRaw } from \"#design-system/ui\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props = {\n documentModelEditor: string;\n setDocumentModelEditor: (value: string) => void;\n documentModelEditorOptions: SelectOption[];\n className?: string;\n};\n\nexport function DefaultEditor(props: Props) {\n const { className, ...rest } = props;\n return (\n <div className={twMerge(\"rounded-lg bg-background p-3\", className)}>\n <DefaultEditorSelect {...rest} />\n </div>\n );\n}\n\nexport function DefaultEditorSelect(props: Props) {\n const {\n documentModelEditor,\n setDocumentModelEditor,\n documentModelEditorOptions,\n className,\n } = props;\n\n return (\n <div>\n <h3 className=\"mb-4 font-semibold text-foreground\">\n Default Editor Selection\n </h3>\n <SelectFieldRaw\n className={twMerge(\"max-w-fit min-w-36\", className)}\n name=\"default-editor\"\n required\n value={documentModelEditor}\n options={documentModelEditorOptions}\n multiple={false}\n onChange={(value) => setDocumentModelEditor(value as string)}\n />\n </div>\n );\n}\n"],"mappings":";;;;AAWA,SAAgBE,cAAcC,OAAc;CAC1C,MAAM,EAAEC,WAAW,GAAGC,SAASF;CAC/B,OACE,oBAAC,OAAD;EAAK,WAAWF,QAAQ,gCAAgCG,SAAS;EAC/D,UAAA,oBAAC,qBAAD,EAAqB,GAAIC,KAAK,CAAA;CAC3B,CAAA;AAET;AAEA,SAAgBC,oBAAoBH,OAAc;CAChD,MAAM,EACJI,qBACAC,wBACAC,4BACAL,cACED;CAEJ,OACE,qBAAC,OAAD,EAAA,UAAA,CACE,oBAAC,MAAD;EAAI,WAAU;EAAoC,UAAA;CAE9C,CAAA,GACJ,oBAAC,gBAAD;EACE,WAAWF,QAAQ,sBAAsBG,SAAS;EAClD,MAAK;EACL,UAAA;EACA,OAAOG;EACP,SAASE;EACT,UAAU;EACV,WAAWC,UAAUF,uBAAuBE,KAAe;CAAE,CAAA,CAE5D,EAAA,CAAA;AAET"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { t as Icon } from "./icon-DQ2yrWYv.js";
|
|
2
|
+
import { ConnectTooltip, ConnectTooltipProvider } from "./connect/index.js";
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
+
import { twMerge } from "tailwind-merge";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { format, formatDistanceToNow, parseISO } from "date-fns";
|
|
7
|
+
//#region src/connect/components/document-timeline/components/h-divider.tsx
|
|
8
|
+
const HDivider = (props) => {
|
|
9
|
+
const { className, timestampUtcMs: timestamp, title, subtitle, onClick, isSelected = false } = props;
|
|
10
|
+
const [open, setOpen] = useState(false);
|
|
11
|
+
const hasContent = !!title || !!subtitle || !!timestamp;
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (open) {
|
|
14
|
+
setOpen(false);
|
|
15
|
+
setTimeout(() => hasContent && setOpen(true), 50);
|
|
16
|
+
}
|
|
17
|
+
}, [
|
|
18
|
+
title,
|
|
19
|
+
subtitle,
|
|
20
|
+
timestamp,
|
|
21
|
+
hasContent
|
|
22
|
+
]);
|
|
23
|
+
const formatTimestamp = (isoString) => {
|
|
24
|
+
if (!isoString) return "";
|
|
25
|
+
try {
|
|
26
|
+
return formatDistanceToNow(new Date(isoString), { addSuffix: true });
|
|
27
|
+
} catch {
|
|
28
|
+
return isoString;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const tooltipContent = /* @__PURE__ */ jsxs("div", {
|
|
32
|
+
className: "flex flex-col text-xs",
|
|
33
|
+
children: [
|
|
34
|
+
!!title && /* @__PURE__ */ jsx("div", { children: title }),
|
|
35
|
+
!!subtitle && /* @__PURE__ */ jsx("div", {
|
|
36
|
+
className: "text-foreground",
|
|
37
|
+
children: subtitle
|
|
38
|
+
}),
|
|
39
|
+
!!timestamp && /* @__PURE__ */ jsx("div", { children: formatTimestamp(timestamp) })
|
|
40
|
+
]
|
|
41
|
+
});
|
|
42
|
+
const handleMouseEnter = () => {
|
|
43
|
+
if (hasContent) setOpen(true);
|
|
44
|
+
};
|
|
45
|
+
const handleMouseLeave = () => {
|
|
46
|
+
setOpen(false);
|
|
47
|
+
};
|
|
48
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
49
|
+
className: "relative",
|
|
50
|
+
onMouseEnter: handleMouseEnter,
|
|
51
|
+
onMouseLeave: handleMouseLeave,
|
|
52
|
+
children: [isSelected && /* @__PURE__ */ jsx(Icon, {
|
|
53
|
+
name: "TimelineCaret",
|
|
54
|
+
color: "#4EA9FF",
|
|
55
|
+
size: 10,
|
|
56
|
+
className: "absolute top-[-11px] z-40"
|
|
57
|
+
}), /* @__PURE__ */ jsx(ConnectTooltip, {
|
|
58
|
+
className: "rounded-md bg-primary text-primary-foreground",
|
|
59
|
+
content: tooltipContent,
|
|
60
|
+
open: open && hasContent,
|
|
61
|
+
onOpenChange: setOpen,
|
|
62
|
+
delayDuration: 0,
|
|
63
|
+
side: "bottom",
|
|
64
|
+
sideOffset: 5,
|
|
65
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
66
|
+
className: twMerge("mx-0.5 flex h-6.25 w-1.5 cursor-pointer flex-col items-center justify-center rounded-xs hover:hover-effect", isSelected && "bg-info/10", className),
|
|
67
|
+
onClick,
|
|
68
|
+
"data-title": title,
|
|
69
|
+
"data-subtitle": subtitle,
|
|
70
|
+
"data-timestamp": timestamp,
|
|
71
|
+
children: /* @__PURE__ */ jsx("div", { className: "h-0.5 w-1 rounded-full bg-muted" })
|
|
72
|
+
})
|
|
73
|
+
})]
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region src/connect/components/document-timeline/components/timeline-bar.tsx
|
|
78
|
+
const getBarHeight = (size = 0) => {
|
|
79
|
+
switch (true) {
|
|
80
|
+
case size <= 0: return "h-[1px]";
|
|
81
|
+
case size === 1: return "h-[3px]";
|
|
82
|
+
case size === 2: return "h-[6px]";
|
|
83
|
+
case size === 3: return "h-[9px]";
|
|
84
|
+
case size >= 4: return "h-[12px]";
|
|
85
|
+
default: return "h-[1px]";
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const formatTimestamp = (isoString) => {
|
|
89
|
+
if (!isoString) return "";
|
|
90
|
+
try {
|
|
91
|
+
const date = parseISO(isoString);
|
|
92
|
+
return format(date, "HH:mm, dd, MMMM");
|
|
93
|
+
} catch {
|
|
94
|
+
return isoString;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
const TimelineBar = ({ onClick, className, timestampUtcMs: timestamp, additions, deletions, addSize = 0, delSize = 0, isSelected = false }) => {
|
|
98
|
+
const [open, setOpen] = useState(false);
|
|
99
|
+
const noChanges = addSize === 0 && delSize === 0;
|
|
100
|
+
const addBarHeight = getBarHeight(addSize);
|
|
101
|
+
const delBarHeight = getBarHeight(delSize);
|
|
102
|
+
const tooltipContent = /* @__PURE__ */ jsxs("div", {
|
|
103
|
+
className: "flex flex-col text-xs",
|
|
104
|
+
children: [
|
|
105
|
+
/* @__PURE__ */ jsx("div", { children: formatTimestamp(timestamp) }),
|
|
106
|
+
/* @__PURE__ */ jsx("div", {
|
|
107
|
+
className: "text-success",
|
|
108
|
+
children: `${additions} additions +`
|
|
109
|
+
}),
|
|
110
|
+
/* @__PURE__ */ jsx("div", {
|
|
111
|
+
className: "text-destructive",
|
|
112
|
+
children: `${deletions} deletions -`
|
|
113
|
+
})
|
|
114
|
+
]
|
|
115
|
+
});
|
|
116
|
+
const handleMouseEnter = () => {
|
|
117
|
+
if (!noChanges) setOpen(true);
|
|
118
|
+
};
|
|
119
|
+
const handleMouseLeave = () => {
|
|
120
|
+
setOpen(false);
|
|
121
|
+
};
|
|
122
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
123
|
+
className: "relative",
|
|
124
|
+
onMouseEnter: handleMouseEnter,
|
|
125
|
+
onMouseLeave: handleMouseLeave,
|
|
126
|
+
children: [isSelected && /* @__PURE__ */ jsx(Icon, {
|
|
127
|
+
name: "TimelineCaret",
|
|
128
|
+
color: "#4EA9FF",
|
|
129
|
+
size: 10,
|
|
130
|
+
className: "absolute top-[-11px] left-[-2px] z-40"
|
|
131
|
+
}), noChanges ? /* @__PURE__ */ jsx("div", {
|
|
132
|
+
className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:hover-effect", className),
|
|
133
|
+
"data-timestamp": timestamp,
|
|
134
|
+
onClick,
|
|
135
|
+
children: /* @__PURE__ */ jsx("div", { className: "size-[3px] rounded-full bg-muted-foreground" })
|
|
136
|
+
}) : /* @__PURE__ */ jsx(ConnectTooltip, {
|
|
137
|
+
className: "rounded-md bg-primary text-primary-foreground",
|
|
138
|
+
content: tooltipContent,
|
|
139
|
+
open,
|
|
140
|
+
onOpenChange: setOpen,
|
|
141
|
+
delayDuration: 0,
|
|
142
|
+
side: "bottom",
|
|
143
|
+
sideOffset: 5,
|
|
144
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
145
|
+
className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:hover-effect", className, isSelected && "bg-info/10"),
|
|
146
|
+
"data-timestamp": timestamp,
|
|
147
|
+
onClick,
|
|
148
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
149
|
+
className: "flex h-3 w-0.5 items-end",
|
|
150
|
+
children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-t-full bg-success", addBarHeight) })
|
|
151
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
152
|
+
className: "flex h-3 w-0.5 items-start",
|
|
153
|
+
children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-b-full bg-destructive", delBarHeight) })
|
|
154
|
+
})]
|
|
155
|
+
})
|
|
156
|
+
})]
|
|
157
|
+
});
|
|
158
|
+
};
|
|
159
|
+
//#endregion
|
|
160
|
+
//#region src/connect/components/document-timeline/document-timeline.impl.tsx
|
|
161
|
+
const defaultTimeLineItem = {
|
|
162
|
+
id: "default",
|
|
163
|
+
type: "bar",
|
|
164
|
+
addSize: 0,
|
|
165
|
+
delSize: 0
|
|
166
|
+
};
|
|
167
|
+
const DocumentTimeline = (props) => {
|
|
168
|
+
const { timeline = [], onItemClick } = props;
|
|
169
|
+
const [selectedItem, setSelectedItem] = useState(null);
|
|
170
|
+
const scrollContainerRef = useRef(null);
|
|
171
|
+
const handleClick = (item) => {
|
|
172
|
+
if (item.id === selectedItem || item.id === defaultTimeLineItem.id) {
|
|
173
|
+
onItemClick?.(null);
|
|
174
|
+
setSelectedItem(null);
|
|
175
|
+
} else {
|
|
176
|
+
onItemClick?.(item);
|
|
177
|
+
setSelectedItem(item.id);
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
const mergedTimelineItems = [...timeline, defaultTimeLineItem];
|
|
181
|
+
const [unselectedItems, selectedItems] = useMemo(() => {
|
|
182
|
+
const indexSelected = mergedTimelineItems.findIndex((item) => item.id === selectedItem);
|
|
183
|
+
return indexSelected === -1 ? [mergedTimelineItems, []] : [mergedTimelineItems.slice(0, indexSelected), mergedTimelineItems.slice(indexSelected)];
|
|
184
|
+
}, [mergedTimelineItems, selectedItem]);
|
|
185
|
+
const renderTimelineItems = useCallback((items) => {
|
|
186
|
+
return items.map((item) => {
|
|
187
|
+
if (item.type === "divider") {
|
|
188
|
+
const { timestampUtcMs, title, subtitle } = item;
|
|
189
|
+
return /* @__PURE__ */ jsx(HDivider, {
|
|
190
|
+
timestampUtcMs,
|
|
191
|
+
title,
|
|
192
|
+
subtitle,
|
|
193
|
+
onClick: () => handleClick(item),
|
|
194
|
+
isSelected: item.id === selectedItem
|
|
195
|
+
}, item.id);
|
|
196
|
+
}
|
|
197
|
+
return /* @__PURE__ */ jsx(TimelineBar, {
|
|
198
|
+
timestampUtcMs: item.timestampUtcMs,
|
|
199
|
+
addSize: item.addSize,
|
|
200
|
+
delSize: item.delSize,
|
|
201
|
+
additions: item.additions,
|
|
202
|
+
deletions: item.deletions,
|
|
203
|
+
isSelected: item.id === selectedItem,
|
|
204
|
+
onClick: () => handleClick(item)
|
|
205
|
+
}, item.id);
|
|
206
|
+
});
|
|
207
|
+
}, [handleClick, selectedItem]);
|
|
208
|
+
const unselectedContent = useMemo(() => renderTimelineItems(unselectedItems), [unselectedItems, renderTimelineItems]);
|
|
209
|
+
const selectedContent = useMemo(() => renderTimelineItems(selectedItems), [selectedItems, renderTimelineItems]);
|
|
210
|
+
useEffect(() => {
|
|
211
|
+
if (scrollContainerRef.current) scrollContainerRef.current.scrollLeft = scrollContainerRef.current.scrollWidth;
|
|
212
|
+
}, []);
|
|
213
|
+
return /* @__PURE__ */ jsx(ConnectTooltipProvider, {
|
|
214
|
+
delayDuration: 0,
|
|
215
|
+
skipDelayDuration: 0,
|
|
216
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
217
|
+
className: "relative h-[36px] w-full",
|
|
218
|
+
children: [
|
|
219
|
+
/* @__PURE__ */ jsx("div", {
|
|
220
|
+
className: "absolute left-0 z-20 h-[17px] w-[6px] bg-background",
|
|
221
|
+
children: /* @__PURE__ */ jsx("div", { className: "mt-[11px] h-[6px] w-[6px] rounded-tl-md bg-background" })
|
|
222
|
+
}),
|
|
223
|
+
/* @__PURE__ */ jsx("div", {
|
|
224
|
+
className: "absolute top-[11px] right-0 z-20 h-[6px] w-[6px] bg-background",
|
|
225
|
+
children: /* @__PURE__ */ jsx("div", { className: "h-[6px] w-[6px] rounded-tr-md bg-background" })
|
|
226
|
+
}),
|
|
227
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-x-0 bottom-0 h-[25px] rounded-md bg-background" }),
|
|
228
|
+
/* @__PURE__ */ jsx("div", {
|
|
229
|
+
className: "absolute inset-x-0 bottom-0 h-[36px]",
|
|
230
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
231
|
+
ref: scrollContainerRef,
|
|
232
|
+
className: "h-full overflow-x-auto rounded-md",
|
|
233
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
234
|
+
className: "ml-auto flex h-[36px] w-max items-end px-2 pb-0",
|
|
235
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
236
|
+
className: "flex",
|
|
237
|
+
children: unselectedContent
|
|
238
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
239
|
+
className: "flex rounded-sm bg-info/10",
|
|
240
|
+
children: selectedContent
|
|
241
|
+
})]
|
|
242
|
+
})
|
|
243
|
+
})
|
|
244
|
+
}),
|
|
245
|
+
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute bottom-0 left-0 z-10 h-[25px] w-2 rounded-l-md bg-background" }),
|
|
246
|
+
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute right-0 bottom-0 z-10 h-[25px] w-2 rounded-r-md bg-background" })
|
|
247
|
+
]
|
|
248
|
+
})
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
//#endregion
|
|
252
|
+
export { DocumentTimeline };
|
|
253
|
+
|
|
254
|
+
//# sourceMappingURL=document-timeline.impl-zx6f7k2d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-timeline.impl-zx6f7k2d.js","names":["Icon","formatDistanceToNow","useEffect","useState","twMerge","ConnectTooltip","HDivider","props","className","timestampUtcMs","timestamp","title","subtitle","onClick","isSelected","open","setOpen","hasContent","setTimeout","formatTimestamp","isoString","Date","addSuffix","tooltipContent","handleMouseEnter","handleMouseLeave","Icon","format","parseISO","useState","twMerge","ConnectTooltip","getBarHeight","size","formatTimestamp","isoString","date","TimelineBar","onClick","className","timestampUtcMs","timestamp","additions","deletions","addSize","delSize","isSelected","open","setOpen","noChanges","addBarHeight","delBarHeight","tooltipContent","handleMouseEnter","handleMouseLeave","useCallback","useEffect","useMemo","useRef","useState","ConnectTooltipProvider","HDivider","TimelineBar","defaultTimeLineItem","id","type","addSize","delSize","DocumentTimeline","props","timeline","onItemClick","selectedItem","setSelectedItem","scrollContainerRef","handleClick","item","mergedTimelineItems","unselectedItems","selectedItems","indexSelected","findIndex","slice","renderTimelineItems","items","map","timestampUtcMs","title","subtitle","additions","deletions","unselectedContent","selectedContent","current","scrollLeft","scrollWidth"],"sources":["../src/connect/components/document-timeline/components/h-divider.tsx","../src/connect/components/document-timeline/components/timeline-bar.tsx","../src/connect/components/document-timeline/document-timeline.impl.tsx"],"sourcesContent":["import { Icon } from \"#design-system\";\nimport { formatDistanceToNow } from \"date-fns\";\nimport { useEffect, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { ConnectTooltip } from \"../../tooltip/tooltip.js\";\n\nexport interface HDividerProps {\n className?: string;\n timestampUtcMs?: string;\n title?: string;\n subtitle?: string;\n onClick?: () => void;\n isSelected?: boolean;\n}\n\nexport const HDivider = (props: HDividerProps) => {\n const {\n className,\n timestampUtcMs: timestamp,\n title,\n subtitle,\n onClick,\n isSelected = false,\n } = props;\n const [open, setOpen] = useState<boolean>(false);\n const hasContent = !!title || !!subtitle || !!timestamp;\n\n // Force update tooltips when props change\n useEffect(() => {\n // Force close and re-open if already open to refresh content\n if (open) {\n // eslint-disable-next-line react-hooks-extra/set-state-in-effect\n setOpen(false);\n setTimeout(() => hasContent && setOpen(true), 50);\n }\n }, [title, subtitle, timestamp, hasContent]);\n\n const formatTimestamp = (isoString?: string) => {\n if (!isoString) return \"\";\n try {\n return formatDistanceToNow(new Date(isoString), { addSuffix: true });\n } catch {\n return isoString;\n }\n };\n\n const tooltipContent = (\n <div className=\"flex flex-col text-xs\">\n {!!title && <div>{title}</div>}\n {!!subtitle && <div className=\"text-foreground\">{subtitle}</div>}\n {!!timestamp && <div>{formatTimestamp(timestamp)}</div>}\n </div>\n );\n\n const handleMouseEnter = () => {\n if (hasContent) {\n setOpen(true);\n }\n };\n\n const handleMouseLeave = () => {\n setOpen(false);\n };\n\n return (\n <div\n className=\"relative\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {isSelected && (\n <Icon\n name=\"TimelineCaret\"\n color=\"#4EA9FF\"\n size={10}\n className=\"absolute top-[-11px] z-40\"\n />\n )}\n <ConnectTooltip\n className=\"rounded-md bg-primary text-primary-foreground\"\n content={tooltipContent}\n open={open && hasContent}\n onOpenChange={setOpen}\n delayDuration={0}\n side=\"bottom\"\n sideOffset={5}\n >\n <div\n className={twMerge(\n \"mx-0.5 flex h-6.25 w-1.5 cursor-pointer flex-col items-center justify-center rounded-xs hover:hover-effect\",\n isSelected && \"bg-info/10\",\n className,\n )}\n onClick={onClick}\n data-title={title}\n data-subtitle={subtitle}\n data-timestamp={timestamp}\n >\n <div className=\"h-0.5 w-1 rounded-full bg-muted\" />\n </div>\n </ConnectTooltip>\n </div>\n );\n};\n","import { Icon } from \"#design-system\";\nimport type { TimelineBarItem } from \"@powerhousedao/reactor-browser\";\nimport { format, parseISO } from \"date-fns\";\nimport { useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { ConnectTooltip } from \"../../tooltip/tooltip.js\";\n\nexport interface TimelineBarProps extends Omit<\n TimelineBarItem,\n \"id\" | \"type\" | \"revision\" | \"startDate\" | \"endDate\"\n> {\n readonly className?: string;\n onClick?: () => void;\n isSelected?: boolean;\n}\n\nconst getBarHeight = (size = 0) => {\n switch (true) {\n case size <= 0:\n return \"h-[1px]\";\n case size === 1:\n return \"h-[3px]\";\n case size === 2:\n return \"h-[6px]\";\n case size === 3:\n return \"h-[9px]\";\n case size >= 4:\n return \"h-[12px]\";\n default:\n return \"h-[1px]\";\n }\n};\n\nconst formatTimestamp = (isoString?: string) => {\n if (!isoString) return \"\";\n try {\n const date = parseISO(isoString);\n return format(date, \"HH:mm, dd, MMMM\");\n } catch {\n return isoString;\n }\n};\n\nexport const TimelineBar: React.FC<TimelineBarProps> = ({\n onClick,\n className,\n timestampUtcMs: timestamp,\n additions,\n deletions,\n addSize = 0,\n delSize = 0,\n isSelected = false,\n}) => {\n const [open, setOpen] = useState<boolean>(false);\n const noChanges = addSize === 0 && delSize === 0;\n\n const addBarHeight = getBarHeight(addSize);\n const delBarHeight = getBarHeight(delSize);\n\n const tooltipContent = (\n <div className=\"flex flex-col text-xs\">\n <div>{formatTimestamp(timestamp)}</div>\n <div className=\"text-success\">{`${additions} additions +`}</div>\n <div className=\"text-destructive\">{`${deletions} deletions -`}</div>\n </div>\n );\n\n const handleMouseEnter = () => {\n if (!noChanges) {\n setOpen(true);\n }\n };\n\n const handleMouseLeave = () => {\n setOpen(false);\n };\n\n return (\n <div\n className=\"relative\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {isSelected && (\n <Icon\n name=\"TimelineCaret\"\n color=\"#4EA9FF\"\n size={10}\n className=\"absolute top-[-11px] left-[-2px] z-40\"\n />\n )}\n {noChanges ? (\n <div\n className={twMerge(\n \"flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:hover-effect\",\n className,\n )}\n data-timestamp={timestamp}\n onClick={onClick}\n >\n <div className=\"size-[3px] rounded-full bg-muted-foreground\" />\n </div>\n ) : (\n <ConnectTooltip\n className=\"rounded-md bg-primary text-primary-foreground\"\n content={tooltipContent}\n open={open}\n onOpenChange={setOpen}\n delayDuration={0}\n side=\"bottom\"\n sideOffset={5}\n >\n <div\n className={twMerge(\n \"flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:hover-effect\",\n className,\n isSelected && \"bg-info/10\",\n )}\n data-timestamp={timestamp}\n onClick={onClick}\n >\n <div className=\"flex h-3 w-0.5 items-end\">\n <div\n className={twMerge(\n \"h-3 w-0.5 rounded-t-full bg-success\",\n addBarHeight,\n )}\n ></div>\n </div>\n <div className=\"flex h-3 w-0.5 items-start\">\n <div\n className={twMerge(\n \"h-3 w-0.5 rounded-b-full bg-destructive\",\n delBarHeight,\n )}\n ></div>\n </div>\n </div>\n </ConnectTooltip>\n )}\n </div>\n );\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { ConnectTooltipProvider } from \"../tooltip/tooltip.js\";\nimport { HDivider } from \"./components/h-divider.js\";\nimport { TimelineBar } from \"./components/timeline-bar.js\";\n\nexport type TimelineBarItem = {\n id: string;\n type: \"bar\";\n addSize?: 0 | 1 | 2 | 3 | 4;\n delSize?: 0 | 1 | 2 | 3 | 4;\n timestampUtcMs?: string;\n additions?: number;\n deletions?: number;\n revision?: number;\n startDate?: Date;\n endDate?: Date;\n};\n\nexport type TimelineDividerItem = {\n id: string;\n type: \"divider\";\n timestampUtcMs?: string;\n title?: string;\n subtitle?: string;\n revision?: number;\n startDate?: Date;\n endDate?: Date;\n};\n\nexport type TimelineItem = TimelineBarItem | TimelineDividerItem;\n\nexport interface DocumentTimelineProps {\n onItemClick?: (item: TimelineItem | null) => void;\n timeline?: Array<TimelineItem>;\n}\n\nconst defaultTimeLineItem: TimelineBarItem = {\n id: \"default\",\n type: \"bar\",\n addSize: 0,\n delSize: 0,\n};\n\nexport const DocumentTimeline = (props: DocumentTimelineProps) => {\n const { timeline = [], onItemClick } = props;\n const [selectedItem, setSelectedItem] = useState<null | string>(null);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n\n const handleClick = (item: TimelineItem) => {\n if (item.id === selectedItem || item.id === defaultTimeLineItem.id) {\n onItemClick?.(null);\n setSelectedItem(null);\n } else {\n onItemClick?.(item);\n setSelectedItem(item.id);\n }\n };\n\n const mergedTimelineItems = [...timeline, defaultTimeLineItem];\n const [unselectedItems, selectedItems] = useMemo(() => {\n const indexSelected = mergedTimelineItems.findIndex(\n (item) => item.id === selectedItem,\n );\n\n return indexSelected === -1\n ? [mergedTimelineItems, []]\n : [\n mergedTimelineItems.slice(0, indexSelected),\n mergedTimelineItems.slice(indexSelected),\n ];\n }, [mergedTimelineItems, selectedItem]);\n\n const renderTimelineItems = useCallback(\n (items: Array<TimelineBarItem | TimelineDividerItem>) => {\n return items.map((item) => {\n if (item.type === \"divider\") {\n const { timestampUtcMs, title, subtitle } = item;\n return (\n <HDivider\n key={item.id}\n timestampUtcMs={timestampUtcMs}\n title={title}\n subtitle={subtitle}\n onClick={() => handleClick(item)}\n isSelected={item.id === selectedItem}\n />\n );\n }\n\n return (\n <TimelineBar\n key={item.id}\n timestampUtcMs={item.timestampUtcMs}\n addSize={item.addSize}\n delSize={item.delSize}\n additions={item.additions}\n deletions={item.deletions}\n isSelected={item.id === selectedItem}\n onClick={() => handleClick(item)}\n />\n );\n });\n },\n [handleClick, selectedItem],\n );\n\n const unselectedContent = useMemo(\n () => renderTimelineItems(unselectedItems),\n [unselectedItems, renderTimelineItems],\n );\n\n const selectedContent = useMemo(\n () => renderTimelineItems(selectedItems),\n [selectedItems, renderTimelineItems],\n );\n\n // Scroll to the end by default\n useEffect(() => {\n if (scrollContainerRef.current) {\n scrollContainerRef.current.scrollLeft =\n scrollContainerRef.current.scrollWidth;\n }\n }, []);\n\n return (\n <ConnectTooltipProvider delayDuration={0} skipDelayDuration={0}>\n <div className=\"relative h-[36px] w-full\">\n <div className=\"absolute left-0 z-20 h-[17px] w-[6px] bg-background\">\n <div className=\"mt-[11px] h-[6px] w-[6px] rounded-tl-md bg-background\" />\n </div>\n\n <div className=\"absolute top-[11px] right-0 z-20 h-[6px] w-[6px] bg-background\">\n <div className=\"h-[6px] w-[6px] rounded-tr-md bg-background\" />\n </div>\n <div className=\"absolute inset-x-0 bottom-0 h-[25px] rounded-md bg-background\" />\n\n <div className=\"absolute inset-x-0 bottom-0 h-[36px]\">\n <div\n ref={scrollContainerRef}\n className=\"h-full overflow-x-auto rounded-md\"\n >\n <div className=\"ml-auto flex h-[36px] w-max items-end px-2 pb-0\">\n <div className=\"flex\">{unselectedContent}</div>\n <div className=\"flex rounded-sm bg-info/10\">\n {selectedContent}\n </div>\n </div>\n </div>\n </div>\n <div className=\"pointer-events-none absolute bottom-0 left-0 z-10 h-[25px] w-2 rounded-l-md bg-background\" />\n <div className=\"pointer-events-none absolute right-0 bottom-0 z-10 h-[25px] w-2 rounded-r-md bg-background\" />\n </div>\n </ConnectTooltipProvider>\n );\n};\n"],"mappings":";;;;;;;AAeA,MAAaM,YAAYC,UAAyB;CAChD,MAAM,EACJC,WACAC,gBAAgBC,WAChBC,OACAC,UACAC,SACAC,aAAa,UACXP;CACJ,MAAM,CAACQ,MAAMC,WAAWb,SAAkB,KAAK;CAC/C,MAAMc,aAAa,CAAC,CAACN,SAAS,CAAC,CAACC,YAAY,CAAC,CAACF;CAG9CR,gBAAgB;EAEd,IAAIa,MAAM;GAERC,QAAQ,KAAK;GACbE,iBAAiBD,cAAcD,QAAQ,IAAI,GAAG,EAAE;EAClD;CACF,GAAG;EAACL;EAAOC;EAAUF;EAAWO;CAAU,CAAC;CAE3C,MAAME,mBAAmBC,cAAuB;EAC9C,IAAI,CAACA,WAAW,OAAO;EACvB,IAAI;GACF,OAAOnB,oBAAoB,IAAIoB,KAAKD,SAAS,GAAG,EAAEE,WAAW,KAAK,CAAC;EACrE,QAAQ;GACN,OAAOF;EACT;CACF;CAEA,MAAMG,iBACJ,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA;GACG,CAAC,CAACZ,SAAS,oBAAC,OAAD,EAAA,UAAMA,MAAW,CAAA;GAC5B,CAAC,CAACC,YAAY,oBAAC,OAAD;IAAK,WAAU;IAAmBA,UAAAA;GAAc,CAAA;GAC9D,CAAC,CAACF,aAAa,oBAAC,OAAD,EAAA,UAAMS,gBAAgBT,SAAS,EAAO,CAAA;EACnD;;CAGP,MAAMc,yBAAyB;EAC7B,IAAIP,YACFD,QAAQ,IAAI;CAEhB;CAEA,MAAMS,yBAAyB;EAC7BT,QAAQ,KAAK;CACf;CAEA,OACE,qBAAC,OAAD;EACE,WAAU;EACV,cAAcQ;EACd,cAAcC;EAHhB,UAAA,CAKGX,cACC,oBAAC,MAAD;GACE,MAAK;GACL,OAAM;GACN,MAAM;GACN,WAAU;EAA2B,CAAA,GAGzC,oBAAC,gBAAD;GACE,WAAU;GACV,SAASS;GACT,MAAMR,QAAQE;GACd,cAAcD;GACd,eAAe;GACf,MAAK;GACL,YAAY;GAEZ,UAAA,oBAAC,OAAD;IACE,WAAWZ,QACT,8GACAU,cAAc,cACdN,SACF;IACSK;IACT,cAAYF;IACZ,iBAAeC;IACf,kBAAgBF;IAEhB,UAAA,oBAAC,OAAD,EAAK,WAAU,kCAAiC,CAAA;GAC7C,CAAA;EACS,CAAA,CACb;;AAET;;;ACvFA,MAAMsB,gBAAgBC,OAAO,MAAM;CACjC,QAAQ,MAAR;EACE,KAAKA,QAAQ,GACX,OAAO;EACT,KAAKA,SAAS,GACZ,OAAO;EACT,KAAKA,SAAS,GACZ,OAAO;EACT,KAAKA,SAAS,GACZ,OAAO;EACT,KAAKA,QAAQ,GACX,OAAO;EACT,SACE,OAAO;CACX;AACF;AAEA,MAAMC,mBAAmBC,cAAuB;CAC9C,IAAI,CAACA,WAAW,OAAO;CACvB,IAAI;EACF,MAAMC,OAAOR,SAASO,SAAS;EAC/B,OAAOR,OAAOS,MAAM,iBAAiB;CACvC,QAAQ;EACN,OAAOD;CACT;AACF;AAEA,MAAaE,eAA2C,EACtDC,SACAC,WACAC,gBAAgBC,WAChBC,WACAC,WACAC,UAAU,GACVC,UAAU,GACVC,aAAa,YACT;CACJ,MAAM,CAACC,MAAMC,WAAWnB,SAAkB,KAAK;CAC/C,MAAMoB,YAAYL,YAAY,KAAKC,YAAY;CAE/C,MAAMK,eAAelB,aAAaY,OAAO;CACzC,MAAMO,eAAenB,aAAaa,OAAO;CAEzC,MAAMO,iBACJ,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA;GACE,oBAAC,OAAD,EAAA,UAAMlB,gBAAgBO,SAAS,EAAO,CAAA;GACtC,oBAAC,OAAD;IAAK,WAAU;IAAgB,UAAA,GAAGC,UAAS;GAAoB,CAAA;GAC/D,oBAAC,OAAD;IAAK,WAAU;IAAoB,UAAA,GAAGC,UAAS;GAAoB,CAAA;EAChE;;CAGP,MAAMU,yBAAyB;EAC7B,IAAI,CAACJ,WACHD,QAAQ,IAAI;CAEhB;CAEA,MAAMM,yBAAyB;EAC7BN,QAAQ,KAAK;CACf;CAEA,OACE,qBAAC,OAAD;EACE,WAAU;EACV,cAAcK;EACd,cAAcC;EAHhB,UAAA,CAKGR,cACC,oBAAC,MAAD;GACE,MAAK;GACL,OAAM;GACN,MAAM;GACN,WAAU;EAAuC,CAAA,GAGpDG,YACC,oBAAC,OAAD;GACE,WAAWnB,QACT,4GACAS,SACF;GACA,kBAAgBE;GACPH;GAET,UAAA,oBAAC,OAAD,EAAK,WAAU,8CAA6C,CAAA;EACzD,CAAA,IAEL,oBAAC,gBAAD;GACE,WAAU;GACV,SAASc;GACHL;GACN,cAAcC;GACd,eAAe;GACf,MAAK;GACL,YAAY;GAEZ,UAAA,qBAAC,OAAD;IACE,WAAWlB,QACT,4GACAS,WACAO,cAAc,YAChB;IACA,kBAAgBL;IACPH;IAPX,UAAA,CASE,oBAAC,OAAD;KAAK,WAAU;KACb,UAAA,oBAAC,OAAD,EACE,WAAWR,QACT,uCACAoB,YACF,EACI,CAAA;IACH,CAAA,GACL,oBAAC,OAAD;KAAK,WAAU;KACb,UAAA,oBAAC,OAAD,EACE,WAAWpB,QACT,2CACAqB,YACF,EACI,CAAA;IACH,CAAA,CACF;;EACS,CAAA,CAEf;;AAET;;;AC1GA,MAAMY,sBAAuC;CAC3CC,IAAI;CACJC,MAAM;CACNC,SAAS;CACTC,SAAS;AACX;AAEA,MAAaC,oBAAoBC,UAAiC;CAChE,MAAM,EAAEC,WAAW,CAAA,GAAIC,gBAAgBF;CACvC,MAAM,CAACG,cAAcC,mBAAmBd,SAAwB,IAAI;CACpE,MAAMe,qBAAqBhB,OAAuB,IAAI;CAEtD,MAAMiB,eAAeC,SAAuB;EAC1C,IAAIA,KAAKZ,OAAOQ,gBAAgBI,KAAKZ,OAAOD,oBAAoBC,IAAI;GAClEO,cAAc,IAAI;GAClBE,gBAAgB,IAAI;EACtB,OAAO;GACLF,cAAcK,IAAI;GAClBH,gBAAgBG,KAAKZ,EAAE;EACzB;CACF;CAEA,MAAMa,sBAAsB,CAAC,GAAGP,UAAUP,mBAAmB;CAC7D,MAAM,CAACe,iBAAiBC,iBAAiBtB,cAAc;EACrD,MAAMuB,gBAAgBH,oBAAoBI,WACvCL,SAASA,KAAKZ,OAAOQ,YACxB;EAEA,OAAOQ,kBAAkB,KACrB,CAACH,qBAAqB,CAAA,CAAE,IACxB,CACEA,oBAAoBK,MAAM,GAAGF,aAAa,GAC1CH,oBAAoBK,MAAMF,aAAa,CAAC;CAEhD,GAAG,CAACH,qBAAqBL,YAAY,CAAC;CAEtC,MAAMW,sBAAsB5B,aACzB6B,UAAwD;EACvD,OAAOA,MAAMC,KAAKT,SAAS;GACzB,IAAIA,KAAKX,SAAS,WAAW;IAC3B,MAAM,EAAEqB,gBAAgBC,OAAOC,aAAaZ;IAC5C,OACE,oBAAC,UAAD;KAEkBU;KACTC;KACGC;KACV,eAAeb,YAAYC,IAAI;KAC/B,YAAYA,KAAKZ,OAAOQ;IAAa,GALhCI,KAAKZ,EAK2B;GAG3C;GAEA,OACE,oBAAC,aAAD;IAEE,gBAAgBY,KAAKU;IACrB,SAASV,KAAKV;IACd,SAASU,KAAKT;IACd,WAAWS,KAAKa;IAChB,WAAWb,KAAKc;IAChB,YAAYd,KAAKZ,OAAOQ;IACxB,eAAeG,YAAYC,IAAI;GAAE,GAP5BA,KAAKZ,EAOuB;EAGvC,CAAC;CACH,GACA,CAACW,aAAaH,YAAY,CAC5B;CAEA,MAAMmB,oBAAoBlC,cAClB0B,oBAAoBL,eAAe,GACzC,CAACA,iBAAiBK,mBAAmB,CACvC;CAEA,MAAMS,kBAAkBnC,cAChB0B,oBAAoBJ,aAAa,GACvC,CAACA,eAAeI,mBAAmB,CACrC;CAGA3B,gBAAgB;EACd,IAAIkB,mBAAmBmB,SACrBnB,mBAAmBmB,QAAQC,aACzBpB,mBAAmBmB,QAAQE;CAEjC,GAAG,CAAA,CAAE;CAEL,OACE,oBAAC,wBAAD;EAAwB,eAAe;EAAG,mBAAmB;EAC3D,UAAA,qBAAC,OAAD;GAAK,WAAU;GAAf,UAAA;IACE,oBAAC,OAAD;KAAK,WAAU;KACb,UAAA,oBAAC,OAAD,EAAK,WAAU,wDAAuD,CAAA;IACnE,CAAA;IAEL,oBAAC,OAAD;KAAK,WAAU;KACb,UAAA,oBAAC,OAAD,EAAK,WAAU,8CAA6C,CAAA;IACzD,CAAA;IACL,oBAAC,OAAD,EAAK,WAAU,gEAA+D,CAAA;IAE9E,oBAAC,OAAD;KAAK,WAAU;KACb,UAAA,oBAAC,OAAD;MACE,KAAKrB;MACL,WAAU;MAEV,UAAA,qBAAC,OAAD;OAAK,WAAU;OAAf,UAAA,CACE,oBAAC,OAAD;QAAK,WAAU;QAAQiB,UAAAA;OAAuB,CAAA,GAC9C,oBAAC,OAAD;QAAK,WAAU;QACZC,UAAAA;OACE,CAAA,CACF;;KACF,CAAA;IACF,CAAA;IACL,oBAAC,OAAD,EAAK,WAAU,4FAA2F,CAAA;IAC1G,oBAAC,OAAD,EAAK,WAAU,6FAA4F,CAAA;GACxG;;CACiB,CAAA;AAE5B"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { b as PowerhouseButton } from "./src-DhSJCeu5.js";
|
|
2
|
+
import { t as Icon } from "./icon-DQ2yrWYv.js";
|
|
3
|
+
import { t as Label } from "./label-nH2HoKfI.js";
|
|
4
|
+
import { ConnectSelect, Disclosure, Divider, FormInput, sharingTypeOptions } from "./connect/index.js";
|
|
5
|
+
import { n as AvailableOfflineToggle, t as LocationInfo } from "./location-info-C3YbSsV0.js";
|
|
6
|
+
import { forwardRef, useState } from "react";
|
|
7
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { Controller, useForm } from "react-hook-form";
|
|
9
|
+
//#region src/connect/components/form/inputs/drive-name-input.tsx
|
|
10
|
+
const DriveNameInput = /*#__PURE__*/ forwardRef(function DriveNameInput(props, ref) {
|
|
11
|
+
return /* @__PURE__ */ jsx(FormInput, {
|
|
12
|
+
...props,
|
|
13
|
+
icon: props.icon ?? /* @__PURE__ */ jsx(Icon, { name: "Drive" }),
|
|
14
|
+
id: "driveName",
|
|
15
|
+
placeholder: "Drive name",
|
|
16
|
+
ref
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/connect/components/form/inputs/delete-drive.tsx
|
|
21
|
+
function DeleteDrive(props) {
|
|
22
|
+
const { drive, handleDeleteDrive, onCancel } = props;
|
|
23
|
+
const [driveNameInput, setDriveNameInput] = useState("");
|
|
24
|
+
const isAllowedToDelete = driveNameInput === drive.header.name;
|
|
25
|
+
function deleteDrive() {
|
|
26
|
+
if (isAllowedToDelete) handleDeleteDrive();
|
|
27
|
+
}
|
|
28
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
29
|
+
/* @__PURE__ */ jsx("p", {
|
|
30
|
+
className: "mb-2 rounded-md bg-background p-4 text-center text-foreground",
|
|
31
|
+
children: "Are you sure you want to delete this drive? All files and subfolders within it will be removed. Do you want to proceed?"
|
|
32
|
+
}),
|
|
33
|
+
/* @__PURE__ */ jsx(DriveNameInput, {
|
|
34
|
+
icon: /* @__PURE__ */ jsx(Icon, { name: "Lock" }),
|
|
35
|
+
onChange: (event) => setDriveNameInput(event.target.value),
|
|
36
|
+
placeholder: "Enter drive name...",
|
|
37
|
+
value: driveNameInput
|
|
38
|
+
}),
|
|
39
|
+
/* @__PURE__ */ jsxs("div", {
|
|
40
|
+
className: "flex gap-3",
|
|
41
|
+
children: [/* @__PURE__ */ jsx(PowerhouseButton, {
|
|
42
|
+
className: "w-full",
|
|
43
|
+
color: "light",
|
|
44
|
+
onClick: onCancel,
|
|
45
|
+
children: "Cancel"
|
|
46
|
+
}), /* @__PURE__ */ jsx(PowerhouseButton, {
|
|
47
|
+
className: "w-full",
|
|
48
|
+
color: "red",
|
|
49
|
+
disabled: !isAllowedToDelete,
|
|
50
|
+
onClick: deleteDrive,
|
|
51
|
+
children: "Delete"
|
|
52
|
+
})]
|
|
53
|
+
})
|
|
54
|
+
] });
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/connect/components/form/inputs/sharing-type-form-input.tsx
|
|
58
|
+
function SharingTypeFormInput(props) {
|
|
59
|
+
const { control, ...delegatedProps } = props;
|
|
60
|
+
return /* @__PURE__ */ jsx(Controller, {
|
|
61
|
+
control,
|
|
62
|
+
name: "sharingType",
|
|
63
|
+
render: ({ field }) => /* @__PURE__ */ jsx(ConnectSelect, {
|
|
64
|
+
...delegatedProps,
|
|
65
|
+
...field,
|
|
66
|
+
id: "sharingType",
|
|
67
|
+
items: sharingTypeOptions
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/connect/components/form/drive-settings-form.impl.tsx
|
|
73
|
+
function DriveSettingsForm(props) {
|
|
74
|
+
const { drive, sharingType, availableOffline, systemInfo, onSubmit, handleDeleteDrive } = props;
|
|
75
|
+
const name = drive.header.name;
|
|
76
|
+
const [showLocationSettings, setShowLocationSettings] = useState(false);
|
|
77
|
+
const [showAbout, setShowAbout] = useState(false);
|
|
78
|
+
const [showDangerZone, setShowDangerZone] = useState(false);
|
|
79
|
+
const [showDeleteDrive, setShowDeleteDrive] = useState(false);
|
|
80
|
+
const { register, handleSubmit, control } = useForm({
|
|
81
|
+
mode: "onBlur",
|
|
82
|
+
defaultValues: {
|
|
83
|
+
name,
|
|
84
|
+
sharingType,
|
|
85
|
+
availableOffline
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
const location = sharingType === "PUBLIC" ? "SWITCHBOARD" : sharingType;
|
|
89
|
+
return /* @__PURE__ */ jsxs("form", {
|
|
90
|
+
onSubmit: (e) => void handleSubmit(onSubmit)(e),
|
|
91
|
+
children: [
|
|
92
|
+
/* @__PURE__ */ jsx(DriveNameInput, { ...register("name") }),
|
|
93
|
+
/* @__PURE__ */ jsx(Divider, { className: "my-4" }),
|
|
94
|
+
/* @__PURE__ */ jsx(Label, {
|
|
95
|
+
htmlFor: "sharingType",
|
|
96
|
+
children: "Sharing settings"
|
|
97
|
+
}),
|
|
98
|
+
/* @__PURE__ */ jsx(SharingTypeFormInput, { control }),
|
|
99
|
+
/* @__PURE__ */ jsx(Divider, { className: "my-3" }),
|
|
100
|
+
/* @__PURE__ */ jsxs(Disclosure, {
|
|
101
|
+
isOpen: showLocationSettings,
|
|
102
|
+
onOpenChange: () => setShowLocationSettings(!showLocationSettings),
|
|
103
|
+
title: "Location",
|
|
104
|
+
children: [/* @__PURE__ */ jsx(LocationInfo, { location }), /* @__PURE__ */ jsx(AvailableOfflineToggle, { ...register("availableOffline") })]
|
|
105
|
+
}),
|
|
106
|
+
/* @__PURE__ */ jsx(Divider, { className: "my-3" }),
|
|
107
|
+
/* @__PURE__ */ jsxs(Disclosure, {
|
|
108
|
+
isOpen: showAbout,
|
|
109
|
+
onOpenChange: () => setShowAbout(!showAbout),
|
|
110
|
+
title: "About this drive",
|
|
111
|
+
children: [
|
|
112
|
+
systemInfo.status === "local" && /* @__PURE__ */ jsx("p", {
|
|
113
|
+
className: "py-2 text-sm text-muted-foreground",
|
|
114
|
+
children: "Local drive — N/A"
|
|
115
|
+
}),
|
|
116
|
+
systemInfo.status === "loading" && /* @__PURE__ */ jsx("p", {
|
|
117
|
+
className: "py-2 text-sm text-muted-foreground",
|
|
118
|
+
children: "Loading…"
|
|
119
|
+
}),
|
|
120
|
+
systemInfo.status === "error" && /* @__PURE__ */ jsx("p", {
|
|
121
|
+
className: "py-2 text-sm text-destructive",
|
|
122
|
+
children: "Could not load system info"
|
|
123
|
+
}),
|
|
124
|
+
systemInfo.status === "ready" && /* @__PURE__ */ jsxs("div", {
|
|
125
|
+
className: "py-2 text-sm text-foreground",
|
|
126
|
+
children: [/* @__PURE__ */ jsxs("div", { children: [
|
|
127
|
+
/* @__PURE__ */ jsx("span", {
|
|
128
|
+
className: "font-medium",
|
|
129
|
+
children: "Version:"
|
|
130
|
+
}),
|
|
131
|
+
" ",
|
|
132
|
+
systemInfo.version
|
|
133
|
+
] }), /* @__PURE__ */ jsxs("div", { children: [
|
|
134
|
+
/* @__PURE__ */ jsx("span", {
|
|
135
|
+
className: "font-medium",
|
|
136
|
+
children: "Git hash:"
|
|
137
|
+
}),
|
|
138
|
+
" ",
|
|
139
|
+
systemInfo.gitHash
|
|
140
|
+
] })]
|
|
141
|
+
})
|
|
142
|
+
]
|
|
143
|
+
}),
|
|
144
|
+
/* @__PURE__ */ jsx(Divider, { className: "my-3" }),
|
|
145
|
+
/* @__PURE__ */ jsx(Disclosure, {
|
|
146
|
+
isOpen: showDangerZone,
|
|
147
|
+
onOpenChange: () => setShowDangerZone(!showDangerZone),
|
|
148
|
+
title: "Danger zone",
|
|
149
|
+
children: /* @__PURE__ */ jsxs("button", {
|
|
150
|
+
className: "flex gap-2 py-3 font-semibold text-destructive transition hover:hover-effect",
|
|
151
|
+
onClick: () => setShowDeleteDrive(true),
|
|
152
|
+
type: "button",
|
|
153
|
+
children: [/* @__PURE__ */ jsx(Icon, { name: "Trash" }), "Delete drive"]
|
|
154
|
+
})
|
|
155
|
+
}),
|
|
156
|
+
showDeleteDrive && showDangerZone ? /* @__PURE__ */ jsx(DeleteDrive, {
|
|
157
|
+
drive,
|
|
158
|
+
handleDeleteDrive,
|
|
159
|
+
onCancel: () => setShowDeleteDrive(false)
|
|
160
|
+
}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Divider, { className: "my-3" }), /* @__PURE__ */ jsx(PowerhouseButton, {
|
|
161
|
+
className: "mb-4 w-full",
|
|
162
|
+
type: "submit",
|
|
163
|
+
children: "Confirm"
|
|
164
|
+
})] })
|
|
165
|
+
]
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
//#endregion
|
|
169
|
+
export { DriveSettingsForm };
|
|
170
|
+
|
|
171
|
+
//# sourceMappingURL=drive-settings-form.impl-Dthjyouk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drive-settings-form.impl-Dthjyouk.js","names":["Icon","forwardRef","FormInput","DriveNameInput","props","ref","icon","Icon","PowerhouseButton","useState","DriveNameInput","DeleteDrive","props","drive","handleDeleteDrive","onCancel","driveNameInput","setDriveNameInput","isAllowedToDelete","header","name","deleteDrive","event","target","value","Controller","ConnectSelect","sharingTypeOptions","SharingTypeFormInput","props","control","delegatedProps","field","Icon","PowerhouseButton","useState","useForm","Disclosure","Divider","AvailableOfflineToggle","DeleteDrive","DriveNameInput","Label","LocationInfo","SharingTypeFormInput","DriveSettingsForm","props","drive","sharingType","availableOffline","systemInfo","onSubmit","handleDeleteDrive","name","header","showLocationSettings","setShowLocationSettings","showAbout","setShowAbout","showDangerZone","setShowDangerZone","showDeleteDrive","setShowDeleteDrive","register","handleSubmit","control","mode","defaultValues","location","e","status","version","gitHash"],"sources":["../src/connect/components/form/inputs/drive-name-input.tsx","../src/connect/components/form/inputs/delete-drive.tsx","../src/connect/components/form/inputs/sharing-type-form-input.tsx","../src/connect/components/form/drive-settings-form.impl.tsx"],"sourcesContent":["import { Icon } from \"#design-system\";\nimport type { ComponentPropsWithRef, ForwardedRef } from \"react\";\nimport { forwardRef } from \"react\";\nimport { FormInput } from \"../../form-input/form-input.js\";\n\ntype DriveNameInputProps = Omit<\n ComponentPropsWithRef<typeof FormInput>,\n \"icon\" | \"id\"\n> & {\n readonly icon?: React.JSX.Element;\n};\n\nexport const DriveNameInput = forwardRef(function DriveNameInput(\n props: DriveNameInputProps,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n return (\n <FormInput\n {...props}\n icon={props.icon ?? <Icon name=\"Drive\" />}\n id=\"driveName\"\n placeholder=\"Drive name\"\n ref={ref}\n />\n );\n});\n","import { Icon, PowerhouseButton } from \"#design-system\";\nimport type { DocumentDriveDocument } from \"@powerhousedao/shared/document-drive\";\nimport { useState } from \"react\";\nimport { DriveNameInput } from \"./drive-name-input.js\";\n\nexport type DeleteDriveProps = {\n drive: DocumentDriveDocument;\n handleDeleteDrive: () => void;\n onCancel: () => void;\n};\n\nexport function DeleteDrive(props: DeleteDriveProps) {\n const { drive, handleDeleteDrive, onCancel } = props;\n const [driveNameInput, setDriveNameInput] = useState(\"\");\n\n const isAllowedToDelete = driveNameInput === drive.header.name;\n\n function deleteDrive() {\n if (isAllowedToDelete) {\n handleDeleteDrive();\n }\n }\n\n return (\n <div>\n <p className=\"mb-2 rounded-md bg-background p-4 text-center text-foreground\">\n Are you sure you want to delete this drive? All files and subfolders\n within it will be removed. Do you want to proceed?\n </p>\n <DriveNameInput\n icon={<Icon name=\"Lock\" />}\n onChange={(event) => setDriveNameInput(event.target.value)}\n placeholder=\"Enter drive name...\"\n value={driveNameInput}\n />\n <div className=\"flex gap-3\">\n <PowerhouseButton className=\"w-full\" color=\"light\" onClick={onCancel}>\n Cancel\n </PowerhouseButton>\n <PowerhouseButton\n className=\"w-full\"\n color=\"red\"\n disabled={!isAllowedToDelete}\n onClick={deleteDrive}\n >\n Delete\n </PowerhouseButton>\n </div>\n </div>\n );\n}\n","import type { SharingType } from \"@powerhousedao/shared/document-drive\";\nimport type { ComponentPropsWithRef } from \"react\";\nimport type { Control, Path } from \"react-hook-form\";\nimport { Controller } from \"react-hook-form\";\nimport { ConnectSelect } from \"../../select/select.js\";\nimport { sharingTypeOptions } from \"../../../constants/options.js\";\n\ntype SharingTypeFormInputProps<T extends { sharingType: SharingType }> = Omit<\n ComponentPropsWithRef<typeof ConnectSelect>,\n \"id\" | \"items\" | \"value\" | \"onChange\"\n> & {\n readonly control: Control<T>;\n};\nexport function SharingTypeFormInput<T extends { sharingType: SharingType }>(\n props: SharingTypeFormInputProps<T>,\n) {\n const { control, ...delegatedProps } = props;\n\n return (\n <Controller\n control={control}\n name={\"sharingType\" as Path<T>}\n render={({ field }) => (\n <ConnectSelect\n {...delegatedProps}\n {...field}\n id=\"sharingType\"\n items={sharingTypeOptions}\n />\n )}\n />\n );\n}\n","import { Icon, PowerhouseButton } from \"#design-system\";\nimport type { DriveSystemInfoState } from \"@powerhousedao/reactor-browser\";\nimport type { DocumentDriveDocument } from \"@powerhousedao/shared/document-drive\";\nimport type { SharingType } from \"@powerhousedao/shared/document-drive\";\nimport { useState } from \"react\";\nimport type { SubmitHandler } from \"react-hook-form\";\nimport { useForm } from \"react-hook-form\";\nimport { Disclosure } from \"../disclosure/disclosure.js\";\nimport { Divider } from \"../divider/divider.js\";\nimport { AvailableOfflineToggle } from \"./inputs/available-offline-toggle.js\";\nimport { DeleteDrive } from \"./inputs/delete-drive.js\";\nimport { DriveNameInput } from \"./inputs/drive-name-input.js\";\nimport { Label } from \"./inputs/label.js\";\nimport { LocationInfo } from \"./inputs/location-info.js\";\nimport { SharingTypeFormInput } from \"./inputs/sharing-type-form-input.js\";\n\ntype Inputs = {\n name: string;\n sharingType: SharingType;\n availableOffline: boolean;\n};\n\ntype DriveSettingsFormProps = {\n drive: DocumentDriveDocument;\n sharingType: SharingType;\n availableOffline: boolean;\n systemInfo: DriveSystemInfoState;\n onSubmit: DriveSettingsFormSubmitHandler;\n handleCancel: () => void;\n handleDeleteDrive: () => void;\n};\n\nexport type DriveSettingsFormSubmitHandler = SubmitHandler<Inputs>;\n\nexport function DriveSettingsForm(props: DriveSettingsFormProps) {\n const {\n drive,\n sharingType,\n availableOffline,\n systemInfo,\n onSubmit,\n handleDeleteDrive,\n } = props;\n const name = drive.header.name;\n\n const [showLocationSettings, setShowLocationSettings] = useState(false);\n const [showAbout, setShowAbout] = useState(false);\n const [showDangerZone, setShowDangerZone] = useState(false);\n const [showDeleteDrive, setShowDeleteDrive] = useState(false);\n\n const { register, handleSubmit, control } = useForm<Inputs>({\n mode: \"onBlur\",\n defaultValues: {\n name,\n sharingType,\n availableOffline,\n },\n });\n\n const location = sharingType === \"PUBLIC\" ? \"SWITCHBOARD\" : sharingType;\n\n return (\n <form onSubmit={(e) => void handleSubmit(onSubmit)(e)}>\n <DriveNameInput {...register(\"name\")} />\n <Divider className=\"my-4\" />\n <Label htmlFor=\"sharingType\">Sharing settings</Label>\n <SharingTypeFormInput control={control} />\n <Divider className=\"my-3\" />\n <Disclosure\n isOpen={showLocationSettings}\n onOpenChange={() => setShowLocationSettings(!showLocationSettings)}\n title=\"Location\"\n >\n <LocationInfo location={location} />\n <AvailableOfflineToggle {...register(\"availableOffline\")} />\n </Disclosure>\n <Divider className=\"my-3\" />\n <Disclosure\n isOpen={showAbout}\n onOpenChange={() => setShowAbout(!showAbout)}\n title=\"About this drive\"\n >\n {systemInfo.status === \"local\" && (\n <p className=\"py-2 text-sm text-muted-foreground\">\n Local drive — N/A\n </p>\n )}\n {systemInfo.status === \"loading\" && (\n <p className=\"py-2 text-sm text-muted-foreground\">Loading…</p>\n )}\n {systemInfo.status === \"error\" && (\n <p className=\"py-2 text-sm text-destructive\">\n Could not load system info\n </p>\n )}\n {systemInfo.status === \"ready\" && (\n <div className=\"py-2 text-sm text-foreground\">\n <div>\n <span className=\"font-medium\">Version:</span> {systemInfo.version}\n </div>\n <div>\n <span className=\"font-medium\">Git hash:</span>{\" \"}\n {systemInfo.gitHash}\n </div>\n </div>\n )}\n </Disclosure>\n <Divider className=\"my-3\" />\n <Disclosure\n isOpen={showDangerZone}\n onOpenChange={() => setShowDangerZone(!showDangerZone)}\n title=\"Danger zone\"\n >\n <button\n className=\"flex gap-2 py-3 font-semibold text-destructive transition hover:hover-effect\"\n onClick={() => setShowDeleteDrive(true)}\n type=\"button\"\n >\n <Icon name=\"Trash\" />\n Delete drive\n </button>\n </Disclosure>\n {showDeleteDrive && showDangerZone ? (\n <DeleteDrive\n drive={drive}\n handleDeleteDrive={handleDeleteDrive}\n onCancel={() => setShowDeleteDrive(false)}\n />\n ) : (\n <>\n <Divider className=\"my-3\" />\n <PowerhouseButton className=\"mb-4 w-full\" type=\"submit\">\n Confirm\n </PowerhouseButton>\n </>\n )}\n </form>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { n as RadioGroupFieldProps } from "./radio-group-field-
|
|
2
|
-
import { n as SelectFieldProps } from "./select-field-
|
|
1
|
+
import { n as RadioGroupFieldProps } from "./radio-group-field-X18o287K.js";
|
|
2
|
+
import { n as SelectFieldProps } from "./select-field-DHaCiAso.js";
|
|
3
3
|
import React from "react";
|
|
4
|
-
|
|
5
4
|
//#region src/ui/components/enum-field/enum-field.d.ts
|
|
6
5
|
type EnumFieldProps = ({
|
|
7
6
|
variant?: "auto";
|
|
@@ -10,7 +9,8 @@ type EnumFieldProps = ({
|
|
|
10
9
|
} & RadioGroupFieldProps) | ({
|
|
11
10
|
variant: "Select";
|
|
12
11
|
} & SelectFieldProps);
|
|
13
|
-
declare const EnumField: React.ForwardRefExoticComponent<EnumFieldProps & React.RefAttributes<
|
|
12
|
+
declare const EnumField: React.ForwardRefExoticComponent<EnumFieldProps & React.RefAttributes<HTMLButtonElement | HTMLDivElement>>;
|
|
14
13
|
//#endregion
|
|
15
14
|
export { EnumFieldProps as n, EnumField as t };
|
|
16
|
-
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=enum-field-Cub1rt3e.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-field-Cub1rt3e.d.ts","names":[],"sources":["../src/ui/components/enum-field/enum-field.tsx"],"mappings":";;;;KAUY;EAEN;KACG,uBAAuB;EAE1B;IACE;EAEF;IACE;cAEK,WAAS,MAAA,0BAAA,iBAAA,MAAA,cAAA,oBAAA"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import * as react from "react";
|
|
2
1
|
import { UseFormProps, UseFormReturn } from "react-hook-form";
|
|
3
|
-
|
|
4
2
|
//#region src/ui/components/form/form.d.ts
|
|
5
3
|
type FormMethods = UseFormReturn & {
|
|
6
4
|
/**
|
|
@@ -111,7 +109,8 @@ interface FormProps {
|
|
|
111
109
|
* </Form>
|
|
112
110
|
* ```
|
|
113
111
|
*/
|
|
114
|
-
declare const Form: react.ForwardRefExoticComponent<FormProps & react.RefAttributes<UseFormReturn>>;
|
|
112
|
+
declare const Form: import("react").ForwardRefExoticComponent<FormProps & import("react").RefAttributes<UseFormReturn>>;
|
|
115
113
|
//#endregion
|
|
116
114
|
export { Form as t };
|
|
117
|
-
|
|
115
|
+
export {};
|
|
116
|
+
//# sourceMappingURL=form-Brj5AQNr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-Brj5AQNr.d.ts","names":[],"sources":["../src/ui/components/form/form.tsx"],"mappings":";;KAcK,cAAc;;;;EAIjB;;;;EAKA;;UAEQ;;;;;;EAMR,UAAU,MAAM,cAAc,SAAS,gBAAgB,MAAM;;;;;;;EAQ7D,WAAW,qBAAqB;;;;;;EAOhC;;;;;;;;;EAUA;;;;;EAMA,gBAAgB;;;;;;;EAQhB;;;;;;EAOA,iBAAiB;;;;;;;;;;;;EAajB,0BACE,OAAO,OACP,yBACG;;;;;EAML;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqCW,sBAAI,0BAAA,4BAAA,cAAA"}
|
|
@@ -6,4 +6,5 @@ interface FormDescriptionProps extends React.PropsWithChildren {
|
|
|
6
6
|
declare const FormDescription: React.FC<FormDescriptionProps>;
|
|
7
7
|
//#endregion
|
|
8
8
|
export { FormDescriptionProps as n, FormDescription as t };
|
|
9
|
-
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=form-description-DJrDJzJi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-description-DJrDJzJi.d.ts","names":[],"sources":["../src/ui/components/form-description/form-description.tsx"],"mappings":";UAEiB,6BAA6B,MAAM;EAClD,KAAK,MAAM;EACX;;cAGI,iBAAiB,MAAM,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-group-Ckd28lpW.d.ts","names":[],"sources":["../src/ui/components/form-group/form-group.tsx"],"mappings":";cAAa,WAAW,MAAM,GAAG,MAAM"}
|
|
@@ -10,4 +10,5 @@ interface FormLabelProps extends React.PropsWithChildren, React.LabelHTMLAttribu
|
|
|
10
10
|
declare const FormLabel: React.FC<FormLabelProps>;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { FormLabelProps as n, FormLabel as t };
|
|
13
|
-
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=form-label-C8ghd_lR.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-label-C8ghd_lR.d.ts","names":[],"sources":["../src/ui/components/form-label/form-label.tsx"],"mappings":";UAIiB,uBACP,MAAM,mBAAmB,MAAM,oBAAoB;EAC3D;EACA;EACA;EACA;EACA;EACA;;cAGW,WAAW,MAAM,GAAG"}
|