@coveord/plasma-mantine 56.3.0 → 56.3.1
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/.turbo/turbo-build.log +4 -4
- package/.turbo/turbo-test.log +53 -68
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/browser-preview/BrowserPreview.js +2 -2
- package/dist/cjs/components/browser-preview/BrowserPreview.js.map +1 -1
- package/dist/cjs/components/button/ButtonWithDisabledTooltip.js +2 -2
- package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.js +6 -6
- package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/cjs/components/code-editor/search/Search.js +2 -2
- package/dist/cjs/components/code-editor/search/Search.js.map +1 -1
- package/dist/cjs/components/collection/Collection.d.ts +1 -1
- package/dist/cjs/components/collection/Collection.d.ts.map +1 -1
- package/dist/cjs/components/collection/Collection.js +4 -4
- package/dist/cjs/components/collection/Collection.js.map +1 -1
- package/dist/cjs/components/collection/CollectionItem.js +2 -2
- package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js +2 -2
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +3 -3
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.js +2 -2
- package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js +2 -2
- package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
- package/dist/cjs/components/menu/Menu.d.ts +1 -1
- package/dist/cjs/components/menu/Menu.d.ts.map +1 -1
- package/dist/cjs/components/menu/Menu.js +4 -3
- package/dist/cjs/components/menu/Menu.js.map +1 -1
- package/dist/cjs/components/modal/Modal.d.ts +1 -1
- package/dist/cjs/components/modal/Modal.d.ts.map +1 -1
- package/dist/cjs/components/modal/Modal.js +3 -3
- package/dist/cjs/components/modal/Modal.js.map +1 -1
- package/dist/cjs/components/modal/ModalFooter.d.ts +1 -1
- package/dist/cjs/components/modal/ModalFooter.d.ts.map +1 -1
- package/dist/cjs/components/modal/ModalFooter.js +2 -2
- package/dist/cjs/components/modal/ModalFooter.js.map +1 -1
- package/dist/cjs/components/prompt/Prompt.js +9 -9
- package/dist/cjs/components/prompt/Prompt.js.map +1 -1
- package/dist/cjs/components/table/Table.d.ts +3 -2
- package/dist/cjs/components/table/Table.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.js +4 -4
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.module.css +4 -2
- package/dist/cjs/components/table/layouts/row-layout/RowLayout.js +2 -2
- package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js +2 -2
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js +2 -2
- package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
- package/dist/cjs/components/table/table-actions/TableActionItem.d.ts +2 -2
- package/dist/cjs/components/table/table-actions/TableActionItem.d.ts.map +1 -1
- package/dist/cjs/components/table/table-actions/TableActionItem.js +4 -4
- package/dist/cjs/components/table/table-actions/TableActionItem.js.map +1 -1
- package/dist/cjs/components/table/table-actions/TableActionsList.js +7 -7
- package/dist/cjs/components/table/table-actions/TableActionsList.js.map +1 -1
- package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js +2 -2
- package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts +2 -1
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js +2 -2
- package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/table/table-filter/TableFilter.js +2 -2
- package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
- package/dist/cjs/components/table/table-header/TableHeader.js +4 -4
- package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
- package/dist/cjs/components/table/table-header/Th.d.ts +1 -1
- package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -1
- package/dist/cjs/components/table/table-header/Th.js +2 -2
- package/dist/cjs/components/table/table-header/Th.js.map +1 -1
- package/dist/cjs/index.d.ts +42 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +69 -20
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/theme/Theme.d.ts.map +1 -1
- package/dist/cjs/theme/Theme.js +9 -6
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/cjs/theme/plasmaCSSVariablesResolver.js +2 -2
- package/dist/cjs/theme/plasmaCSSVariablesResolver.js.map +1 -1
- package/dist/esm/components/browser-preview/BrowserPreview.js +1 -1
- package/dist/esm/components/browser-preview/BrowserPreview.js.map +1 -1
- package/dist/esm/components/button/ButtonWithDisabledTooltip.js +1 -1
- package/dist/esm/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.js +3 -3
- package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/esm/components/code-editor/search/Search.js +1 -1
- package/dist/esm/components/code-editor/search/Search.js.map +1 -1
- package/dist/esm/components/collection/Collection.d.ts +1 -1
- package/dist/esm/components/collection/Collection.d.ts.map +1 -1
- package/dist/esm/components/collection/Collection.js +2 -2
- package/dist/esm/components/collection/Collection.js.map +1 -1
- package/dist/esm/components/collection/CollectionItem.js +1 -1
- package/dist/esm/components/collection/CollectionItem.js.map +1 -1
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js +1 -1
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js +1 -1
- package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.js +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
- package/dist/esm/components/menu/Menu.d.ts +1 -1
- package/dist/esm/components/menu/Menu.d.ts.map +1 -1
- package/dist/esm/components/menu/Menu.js +2 -1
- package/dist/esm/components/menu/Menu.js.map +1 -1
- package/dist/esm/components/modal/Modal.d.ts +1 -1
- package/dist/esm/components/modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/modal/Modal.js +1 -1
- package/dist/esm/components/modal/Modal.js.map +1 -1
- package/dist/esm/components/modal/ModalFooter.d.ts +1 -1
- package/dist/esm/components/modal/ModalFooter.d.ts.map +1 -1
- package/dist/esm/components/modal/ModalFooter.js +1 -1
- package/dist/esm/components/modal/ModalFooter.js.map +1 -1
- package/dist/esm/components/prompt/Prompt.js +1 -1
- package/dist/esm/components/prompt/Prompt.js.map +1 -1
- package/dist/esm/components/table/Table.d.ts +3 -2
- package/dist/esm/components/table/Table.d.ts.map +1 -1
- package/dist/esm/components/table/Table.js +2 -2
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.module.css +4 -2
- package/dist/esm/components/table/layouts/row-layout/RowLayout.js +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js +1 -1
- package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
- package/dist/esm/components/table/table-actions/TableActionItem.d.ts +2 -2
- package/dist/esm/components/table/table-actions/TableActionItem.d.ts.map +1 -1
- package/dist/esm/components/table/table-actions/TableActionItem.js +2 -2
- package/dist/esm/components/table/table-actions/TableActionItem.js.map +1 -1
- package/dist/esm/components/table/table-actions/TableActionsList.js +3 -3
- package/dist/esm/components/table/table-actions/TableActionsList.js.map +1 -1
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.js +1 -1
- package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts +2 -1
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js +1 -1
- package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/table-filter/TableFilter.js +1 -1
- package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
- package/dist/esm/components/table/table-header/TableHeader.js +2 -2
- package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
- package/dist/esm/components/table/table-header/Th.d.ts +1 -1
- package/dist/esm/components/table/table-header/Th.d.ts.map +1 -1
- package/dist/esm/components/table/table-header/Th.js +1 -1
- package/dist/esm/components/table/table-header/Th.js.map +1 -1
- package/dist/esm/index.d.ts +42 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +68 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/theme/Theme.d.ts.map +1 -1
- package/dist/esm/theme/Theme.js +4 -1
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/theme/plasmaCSSVariablesResolver.js +2 -2
- package/dist/esm/theme/plasmaCSSVariablesResolver.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/Utils.tsx +1 -1
- package/src/__tests__/VitestSetup.ts +7 -5
- package/src/components/browser-preview/BrowserPreview.tsx +1 -1
- package/src/components/button/ButtonWithDisabledTooltip.tsx +1 -1
- package/src/components/code-editor/CodeEditor.tsx +3 -3
- package/src/components/code-editor/search/Search.tsx +1 -1
- package/src/components/collection/Collection.tsx +2 -2
- package/src/components/collection/CollectionItem.tsx +1 -1
- package/src/components/copyToClipboard/CopyToClipboard.tsx +1 -1
- package/src/components/date-range-picker/DateRangePickerInlineCalendar.tsx +1 -1
- package/src/components/header/HeaderDocAnchor/HeaderDocAnchor.tsx +1 -1
- package/src/components/inline-confirm/InlineConfirmTarget.tsx +1 -1
- package/src/components/menu/Menu.tsx +3 -3
- package/src/components/modal/Modal.tsx +1 -1
- package/src/components/modal/ModalFooter.tsx +1 -1
- package/src/components/prompt/Prompt.tsx +1 -1
- package/src/components/table/Table.module.css +4 -2
- package/src/components/table/Table.tsx +3 -2
- package/src/components/table/layouts/row-layout/RowLayout.tsx +1 -1
- package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +1 -1
- package/src/components/table/layouts/row-layout/RowLayoutHeader.tsx +1 -1
- package/src/components/table/table-actions/TableActionItem.tsx +2 -2
- package/src/components/table/table-actions/TableActionsList.tsx +3 -3
- package/src/components/table/table-column/TableCollapsibleColumn.tsx +1 -1
- package/src/components/table/table-date-range-picker/TableDateRangePicker.tsx +2 -2
- package/src/components/table/table-filter/TableFilter.tsx +1 -1
- package/src/components/table/table-header/TableHeader.tsx +2 -2
- package/src/components/table/table-header/Th.tsx +1 -1
- package/src/index.ts +117 -24
- package/src/theme/Theme.tsx +4 -1
- package/src/theme/plasmaCSSVariablesResolver.ts +2 -2
- package/{vitest.config.ts → vitest.config.mts} +5 -0
- package/dist/cjs/components/accordion/index.d.ts +0 -2
- package/dist/cjs/components/accordion/index.d.ts.map +0 -1
- package/dist/cjs/components/accordion/index.js +0 -13
- package/dist/cjs/components/accordion/index.js.map +0 -1
- package/dist/cjs/components/action-icon/index.d.ts +0 -2
- package/dist/cjs/components/action-icon/index.d.ts.map +0 -1
- package/dist/cjs/components/action-icon/index.js +0 -8
- package/dist/cjs/components/action-icon/index.js.map +0 -1
- package/dist/cjs/components/alert/index.d.ts +0 -2
- package/dist/cjs/components/alert/index.d.ts.map +0 -1
- package/dist/cjs/components/alert/index.js +0 -8
- package/dist/cjs/components/alert/index.js.map +0 -1
- package/dist/cjs/components/badge/index.d.ts +0 -2
- package/dist/cjs/components/badge/index.d.ts.map +0 -1
- package/dist/cjs/components/badge/index.js +0 -8
- package/dist/cjs/components/badge/index.js.map +0 -1
- package/dist/cjs/components/blank-slate/index.d.ts +0 -2
- package/dist/cjs/components/blank-slate/index.d.ts.map +0 -1
- package/dist/cjs/components/blank-slate/index.js +0 -8
- package/dist/cjs/components/blank-slate/index.js.map +0 -1
- package/dist/cjs/components/browser-preview/index.d.ts +0 -2
- package/dist/cjs/components/browser-preview/index.d.ts.map +0 -1
- package/dist/cjs/components/browser-preview/index.js +0 -8
- package/dist/cjs/components/browser-preview/index.js.map +0 -1
- package/dist/cjs/components/button/index.d.ts +0 -3
- package/dist/cjs/components/button/index.d.ts.map +0 -1
- package/dist/cjs/components/button/index.js +0 -8
- package/dist/cjs/components/button/index.js.map +0 -1
- package/dist/cjs/components/checkbox/index.d.ts +0 -2
- package/dist/cjs/components/checkbox/index.d.ts.map +0 -1
- package/dist/cjs/components/checkbox/index.js +0 -8
- package/dist/cjs/components/checkbox/index.js.map +0 -1
- package/dist/cjs/components/child-form/index.d.ts +0 -2
- package/dist/cjs/components/child-form/index.d.ts.map +0 -1
- package/dist/cjs/components/child-form/index.js +0 -8
- package/dist/cjs/components/child-form/index.js.map +0 -1
- package/dist/cjs/components/chip/index.d.ts +0 -2
- package/dist/cjs/components/chip/index.d.ts.map +0 -1
- package/dist/cjs/components/chip/index.js +0 -8
- package/dist/cjs/components/chip/index.js.map +0 -1
- package/dist/cjs/components/code-editor/index.d.ts +0 -2
- package/dist/cjs/components/code-editor/index.d.ts.map +0 -1
- package/dist/cjs/components/code-editor/index.js +0 -8
- package/dist/cjs/components/code-editor/index.js.map +0 -1
- package/dist/cjs/components/code-editor/search/index.d.ts +0 -2
- package/dist/cjs/components/code-editor/search/index.d.ts.map +0 -1
- package/dist/cjs/components/code-editor/search/index.js +0 -8
- package/dist/cjs/components/code-editor/search/index.js.map +0 -1
- package/dist/cjs/components/collection/index.d.ts +0 -3
- package/dist/cjs/components/collection/index.d.ts.map +0 -1
- package/dist/cjs/components/collection/index.js +0 -15
- package/dist/cjs/components/collection/index.js.map +0 -1
- package/dist/cjs/components/copyToClipboard/index.d.ts +0 -2
- package/dist/cjs/components/copyToClipboard/index.d.ts.map +0 -1
- package/dist/cjs/components/copyToClipboard/index.js +0 -8
- package/dist/cjs/components/copyToClipboard/index.js.map +0 -1
- package/dist/cjs/components/date-range-picker/index.d.ts +0 -4
- package/dist/cjs/components/date-range-picker/index.d.ts.map +0 -1
- package/dist/cjs/components/date-range-picker/index.js +0 -10
- package/dist/cjs/components/date-range-picker/index.js.map +0 -1
- package/dist/cjs/components/date-time-range-picker/index.d.ts +0 -2
- package/dist/cjs/components/date-time-range-picker/index.d.ts.map +0 -1
- package/dist/cjs/components/date-time-range-picker/index.js +0 -8
- package/dist/cjs/components/date-time-range-picker/index.js.map +0 -1
- package/dist/cjs/components/ellipsis-text/index.d.ts +0 -2
- package/dist/cjs/components/ellipsis-text/index.d.ts.map +0 -1
- package/dist/cjs/components/ellipsis-text/index.js +0 -8
- package/dist/cjs/components/ellipsis-text/index.js.map +0 -1
- package/dist/cjs/components/header/index.d.ts +0 -2
- package/dist/cjs/components/header/index.d.ts.map +0 -1
- package/dist/cjs/components/header/index.js +0 -8
- package/dist/cjs/components/header/index.js.map +0 -1
- package/dist/cjs/components/index.d.ts +0 -28
- package/dist/cjs/components/index.d.ts.map +0 -1
- package/dist/cjs/components/index.js +0 -34
- package/dist/cjs/components/index.js.map +0 -1
- package/dist/cjs/components/info-token/index.d.ts +0 -2
- package/dist/cjs/components/info-token/index.d.ts.map +0 -1
- package/dist/cjs/components/info-token/index.js +0 -8
- package/dist/cjs/components/info-token/index.js.map +0 -1
- package/dist/cjs/components/inline-confirm/index.d.ts +0 -3
- package/dist/cjs/components/inline-confirm/index.d.ts.map +0 -1
- package/dist/cjs/components/inline-confirm/index.js +0 -9
- package/dist/cjs/components/inline-confirm/index.js.map +0 -1
- package/dist/cjs/components/last-updated/index.d.ts +0 -2
- package/dist/cjs/components/last-updated/index.d.ts.map +0 -1
- package/dist/cjs/components/last-updated/index.js +0 -8
- package/dist/cjs/components/last-updated/index.js.map +0 -1
- package/dist/cjs/components/loader/index.d.ts +0 -2
- package/dist/cjs/components/loader/index.d.ts.map +0 -1
- package/dist/cjs/components/loader/index.js +0 -8
- package/dist/cjs/components/loader/index.js.map +0 -1
- package/dist/cjs/components/menu/index.d.ts +0 -2
- package/dist/cjs/components/menu/index.d.ts.map +0 -1
- package/dist/cjs/components/menu/index.js +0 -8
- package/dist/cjs/components/menu/index.js.map +0 -1
- package/dist/cjs/components/modal/index.d.ts +0 -3
- package/dist/cjs/components/modal/index.d.ts.map +0 -1
- package/dist/cjs/components/modal/index.js +0 -9
- package/dist/cjs/components/modal/index.js.map +0 -1
- package/dist/cjs/components/prompt/index.d.ts +0 -2
- package/dist/cjs/components/prompt/index.d.ts.map +0 -1
- package/dist/cjs/components/prompt/index.js +0 -8
- package/dist/cjs/components/prompt/index.js.map +0 -1
- package/dist/cjs/components/read-only/index.d.ts +0 -3
- package/dist/cjs/components/read-only/index.d.ts.map +0 -1
- package/dist/cjs/components/read-only/index.js +0 -9
- package/dist/cjs/components/read-only/index.js.map +0 -1
- package/dist/cjs/components/sticky-footer/index.d.ts +0 -2
- package/dist/cjs/components/sticky-footer/index.d.ts.map +0 -1
- package/dist/cjs/components/sticky-footer/index.js +0 -8
- package/dist/cjs/components/sticky-footer/index.js.map +0 -1
- package/dist/cjs/components/table/index.d.ts +0 -8
- package/dist/cjs/components/table/index.d.ts.map +0 -1
- package/dist/cjs/components/table/index.js +0 -32
- package/dist/cjs/components/table/index.js.map +0 -1
- package/dist/cjs/components/table/table-actions/index.d.ts +0 -3
- package/dist/cjs/components/table/table-actions/index.d.ts.map +0 -1
- package/dist/cjs/components/table/table-actions/index.js +0 -9
- package/dist/cjs/components/table/table-actions/index.js.map +0 -1
- package/dist/cjs/hooks/index.d.ts +0 -3
- package/dist/cjs/hooks/index.d.ts.map +0 -1
- package/dist/cjs/hooks/index.js +0 -9
- package/dist/cjs/hooks/index.js.map +0 -1
- package/dist/cjs/theme/index.d.ts +0 -3
- package/dist/cjs/theme/index.d.ts.map +0 -1
- package/dist/cjs/theme/index.js +0 -9
- package/dist/cjs/theme/index.js.map +0 -1
- package/dist/cjs/utils/index.d.ts +0 -4
- package/dist/cjs/utils/index.d.ts.map +0 -1
- package/dist/cjs/utils/index.js +0 -10
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/esm/components/accordion/index.d.ts +0 -2
- package/dist/esm/components/accordion/index.d.ts.map +0 -1
- package/dist/esm/components/accordion/index.js +0 -3
- package/dist/esm/components/accordion/index.js.map +0 -1
- package/dist/esm/components/action-icon/index.d.ts +0 -2
- package/dist/esm/components/action-icon/index.d.ts.map +0 -1
- package/dist/esm/components/action-icon/index.js +0 -3
- package/dist/esm/components/action-icon/index.js.map +0 -1
- package/dist/esm/components/alert/index.d.ts +0 -2
- package/dist/esm/components/alert/index.d.ts.map +0 -1
- package/dist/esm/components/alert/index.js +0 -3
- package/dist/esm/components/alert/index.js.map +0 -1
- package/dist/esm/components/badge/index.d.ts +0 -2
- package/dist/esm/components/badge/index.d.ts.map +0 -1
- package/dist/esm/components/badge/index.js +0 -3
- package/dist/esm/components/badge/index.js.map +0 -1
- package/dist/esm/components/blank-slate/index.d.ts +0 -2
- package/dist/esm/components/blank-slate/index.d.ts.map +0 -1
- package/dist/esm/components/blank-slate/index.js +0 -3
- package/dist/esm/components/blank-slate/index.js.map +0 -1
- package/dist/esm/components/browser-preview/index.d.ts +0 -2
- package/dist/esm/components/browser-preview/index.d.ts.map +0 -1
- package/dist/esm/components/browser-preview/index.js +0 -3
- package/dist/esm/components/browser-preview/index.js.map +0 -1
- package/dist/esm/components/button/index.d.ts +0 -3
- package/dist/esm/components/button/index.d.ts.map +0 -1
- package/dist/esm/components/button/index.js +0 -3
- package/dist/esm/components/button/index.js.map +0 -1
- package/dist/esm/components/checkbox/index.d.ts +0 -2
- package/dist/esm/components/checkbox/index.d.ts.map +0 -1
- package/dist/esm/components/checkbox/index.js +0 -3
- package/dist/esm/components/checkbox/index.js.map +0 -1
- package/dist/esm/components/child-form/index.d.ts +0 -2
- package/dist/esm/components/child-form/index.d.ts.map +0 -1
- package/dist/esm/components/child-form/index.js +0 -3
- package/dist/esm/components/child-form/index.js.map +0 -1
- package/dist/esm/components/chip/index.d.ts +0 -2
- package/dist/esm/components/chip/index.d.ts.map +0 -1
- package/dist/esm/components/chip/index.js +0 -3
- package/dist/esm/components/chip/index.js.map +0 -1
- package/dist/esm/components/code-editor/index.d.ts +0 -2
- package/dist/esm/components/code-editor/index.d.ts.map +0 -1
- package/dist/esm/components/code-editor/index.js +0 -3
- package/dist/esm/components/code-editor/index.js.map +0 -1
- package/dist/esm/components/code-editor/search/index.d.ts +0 -2
- package/dist/esm/components/code-editor/search/index.d.ts.map +0 -1
- package/dist/esm/components/code-editor/search/index.js +0 -3
- package/dist/esm/components/code-editor/search/index.js.map +0 -1
- package/dist/esm/components/collection/index.d.ts +0 -3
- package/dist/esm/components/collection/index.d.ts.map +0 -1
- package/dist/esm/components/collection/index.js +0 -4
- package/dist/esm/components/collection/index.js.map +0 -1
- package/dist/esm/components/copyToClipboard/index.d.ts +0 -2
- package/dist/esm/components/copyToClipboard/index.d.ts.map +0 -1
- package/dist/esm/components/copyToClipboard/index.js +0 -3
- package/dist/esm/components/copyToClipboard/index.js.map +0 -1
- package/dist/esm/components/date-range-picker/index.d.ts +0 -4
- package/dist/esm/components/date-range-picker/index.d.ts.map +0 -1
- package/dist/esm/components/date-range-picker/index.js +0 -5
- package/dist/esm/components/date-range-picker/index.js.map +0 -1
- package/dist/esm/components/date-time-range-picker/index.d.ts +0 -2
- package/dist/esm/components/date-time-range-picker/index.d.ts.map +0 -1
- package/dist/esm/components/date-time-range-picker/index.js +0 -3
- package/dist/esm/components/date-time-range-picker/index.js.map +0 -1
- package/dist/esm/components/ellipsis-text/index.d.ts +0 -2
- package/dist/esm/components/ellipsis-text/index.d.ts.map +0 -1
- package/dist/esm/components/ellipsis-text/index.js +0 -3
- package/dist/esm/components/ellipsis-text/index.js.map +0 -1
- package/dist/esm/components/header/index.d.ts +0 -2
- package/dist/esm/components/header/index.d.ts.map +0 -1
- package/dist/esm/components/header/index.js +0 -3
- package/dist/esm/components/header/index.js.map +0 -1
- package/dist/esm/components/index.d.ts +0 -28
- package/dist/esm/components/index.d.ts.map +0 -1
- package/dist/esm/components/index.js +0 -29
- package/dist/esm/components/index.js.map +0 -1
- package/dist/esm/components/info-token/index.d.ts +0 -2
- package/dist/esm/components/info-token/index.d.ts.map +0 -1
- package/dist/esm/components/info-token/index.js +0 -3
- package/dist/esm/components/info-token/index.js.map +0 -1
- package/dist/esm/components/inline-confirm/index.d.ts +0 -3
- package/dist/esm/components/inline-confirm/index.d.ts.map +0 -1
- package/dist/esm/components/inline-confirm/index.js +0 -4
- package/dist/esm/components/inline-confirm/index.js.map +0 -1
- package/dist/esm/components/last-updated/index.d.ts +0 -2
- package/dist/esm/components/last-updated/index.d.ts.map +0 -1
- package/dist/esm/components/last-updated/index.js +0 -3
- package/dist/esm/components/last-updated/index.js.map +0 -1
- package/dist/esm/components/loader/index.d.ts +0 -2
- package/dist/esm/components/loader/index.d.ts.map +0 -1
- package/dist/esm/components/loader/index.js +0 -3
- package/dist/esm/components/loader/index.js.map +0 -1
- package/dist/esm/components/menu/index.d.ts +0 -2
- package/dist/esm/components/menu/index.d.ts.map +0 -1
- package/dist/esm/components/menu/index.js +0 -3
- package/dist/esm/components/menu/index.js.map +0 -1
- package/dist/esm/components/modal/index.d.ts +0 -3
- package/dist/esm/components/modal/index.d.ts.map +0 -1
- package/dist/esm/components/modal/index.js +0 -4
- package/dist/esm/components/modal/index.js.map +0 -1
- package/dist/esm/components/prompt/index.d.ts +0 -2
- package/dist/esm/components/prompt/index.d.ts.map +0 -1
- package/dist/esm/components/prompt/index.js +0 -3
- package/dist/esm/components/prompt/index.js.map +0 -1
- package/dist/esm/components/read-only/index.d.ts +0 -3
- package/dist/esm/components/read-only/index.d.ts.map +0 -1
- package/dist/esm/components/read-only/index.js +0 -4
- package/dist/esm/components/read-only/index.js.map +0 -1
- package/dist/esm/components/sticky-footer/index.d.ts +0 -2
- package/dist/esm/components/sticky-footer/index.d.ts.map +0 -1
- package/dist/esm/components/sticky-footer/index.js +0 -3
- package/dist/esm/components/sticky-footer/index.js.map +0 -1
- package/dist/esm/components/table/index.d.ts +0 -8
- package/dist/esm/components/table/index.d.ts.map +0 -1
- package/dist/esm/components/table/index.js +0 -7
- package/dist/esm/components/table/index.js.map +0 -1
- package/dist/esm/components/table/table-actions/index.d.ts +0 -3
- package/dist/esm/components/table/table-actions/index.d.ts.map +0 -1
- package/dist/esm/components/table/table-actions/index.js +0 -4
- package/dist/esm/components/table/table-actions/index.js.map +0 -1
- package/dist/esm/hooks/index.d.ts +0 -3
- package/dist/esm/hooks/index.d.ts.map +0 -1
- package/dist/esm/hooks/index.js +0 -4
- package/dist/esm/hooks/index.js.map +0 -1
- package/dist/esm/theme/index.d.ts +0 -3
- package/dist/esm/theme/index.d.ts.map +0 -1
- package/dist/esm/theme/index.js +0 -4
- package/dist/esm/theme/index.js.map +0 -1
- package/dist/esm/utils/index.d.ts +0 -4
- package/dist/esm/utils/index.d.ts.map +0 -1
- package/dist/esm/utils/index.js +0 -5
- package/dist/esm/utils/index.js.map +0 -1
- package/src/components/accordion/index.ts +0 -1
- package/src/components/action-icon/index.ts +0 -1
- package/src/components/alert/index.ts +0 -1
- package/src/components/badge/index.ts +0 -1
- package/src/components/blank-slate/index.ts +0 -1
- package/src/components/browser-preview/index.ts +0 -1
- package/src/components/button/index.ts +0 -2
- package/src/components/checkbox/index.ts +0 -1
- package/src/components/child-form/index.ts +0 -1
- package/src/components/chip/index.ts +0 -1
- package/src/components/code-editor/index.ts +0 -1
- package/src/components/code-editor/search/index.ts +0 -1
- package/src/components/collection/index.ts +0 -2
- package/src/components/copyToClipboard/index.ts +0 -1
- package/src/components/date-range-picker/index.tsx +0 -3
- package/src/components/date-time-range-picker/index.ts +0 -1
- package/src/components/ellipsis-text/index.ts +0 -1
- package/src/components/header/index.ts +0 -1
- package/src/components/index.ts +0 -27
- package/src/components/info-token/index.ts +0 -1
- package/src/components/inline-confirm/index.ts +0 -2
- package/src/components/last-updated/index.ts +0 -1
- package/src/components/loader/index.ts +0 -1
- package/src/components/menu/index.ts +0 -1
- package/src/components/modal/index.ts +0 -2
- package/src/components/prompt/index.ts +0 -1
- package/src/components/read-only/index.ts +0 -2
- package/src/components/sticky-footer/index.ts +0 -1
- package/src/components/table/index.ts +0 -7
- package/src/components/table/table-actions/index.ts +0 -2
- package/src/hooks/index.ts +0 -2
- package/src/theme/index.ts +0 -2
- package/src/utils/index.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/button/ButtonWithDisabledTooltip.tsx"],"sourcesContent":["import {Box, Tooltip, TooltipProps} from '@mantine/core';\nimport {ReactNode, forwardRef} from 'react';\n\nimport {createPolymorphicComponent} from '../../utils/
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/button/ButtonWithDisabledTooltip.tsx"],"sourcesContent":["import {Box, Tooltip, TooltipProps} from '@mantine/core';\nimport {ReactNode, forwardRef} from 'react';\n\nimport {createPolymorphicComponent} from '../../utils/createPolymorphicComponent.js';\n\nexport interface ButtonWithDisabledTooltipProps {\n /**\n * The tooltip message to display when disabled\n */\n disabledTooltip?: string;\n /**\n * Whether the button underneath the tooltip is disabled\n */\n disabled?: boolean;\n children?: ReactNode;\n /**\n * Additional tooltip props to set on the disabled button tooltip\n */\n disabledTooltipProps?: Omit<TooltipProps, 'disabled' | 'label' | 'children'>;\n /**\n * Sets button width to 100% of parent element\n */\n fullWidth?: boolean;\n}\n\nconst _ButtonWithDisabledTooltip = forwardRef<HTMLDivElement, ButtonWithDisabledTooltipProps>(\n ({disabledTooltip, disabled, children, disabledTooltipProps, fullWidth, ...others}, ref) =>\n disabledTooltip ? (\n <Tooltip label={disabledTooltip} disabled={!disabled} {...disabledTooltipProps}>\n <Box ref={ref} style={{'&:hover': {cursor: 'not-allowed'}, width: fullWidth && '100%'}} {...others}>\n {children}\n </Box>\n </Tooltip>\n ) : (\n <>{children}</>\n ),\n);\n\nexport const ButtonWithDisabledTooltip = createPolymorphicComponent<'div', ButtonWithDisabledTooltipProps>(\n _ButtonWithDisabledTooltip,\n);\n"],"names":["Box","Tooltip","forwardRef","createPolymorphicComponent","_ButtonWithDisabledTooltip","disabledTooltip","disabled","children","disabledTooltipProps","fullWidth","others","ref","label","style","cursor","width","ButtonWithDisabledTooltip"],"mappings":";AAAA,SAAQA,GAAG,EAAEC,OAAO,QAAqB,gBAAgB;AACzD,SAAmBC,UAAU,QAAO,QAAQ;AAE5C,SAAQC,0BAA0B,QAAO,4CAA4C;AAsBrF,MAAMC,2CAA6BF,WAC/B,CAAC,EAACG,eAAe,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,oBAAoB,EAAEC,SAAS,EAAE,GAAGC,QAAO,EAAEC,MAChFN,gCACI,KAACJ;QAAQW,OAAOP;QAAiBC,UAAU,CAACA;QAAW,GAAGE,oBAAoB;kBAC1E,cAAA,KAACR;YAAIW,KAAKA;YAAKE,OAAO;gBAAC,WAAW;oBAACC,QAAQ;gBAAa;gBAAGC,OAAON,aAAa;YAAM;YAAI,GAAGC,MAAM;sBAC7FH;;uBAIT;kBAAGA;;AAIf,OAAO,MAAMS,4BAA4Bb,2BACrCC,4BACF"}
|
|
@@ -5,11 +5,11 @@ import Editor, { loader } from '@monaco-editor/react';
|
|
|
5
5
|
import { MarkerSeverity } from 'monaco-editor';
|
|
6
6
|
import { useEffect, useRef, useState } from 'react';
|
|
7
7
|
import cx from 'clsx';
|
|
8
|
-
import { useParentHeight } from '../../hooks/
|
|
9
|
-
import { CopyToClipboard } from '../copyToClipboard/
|
|
8
|
+
import { useParentHeight } from '../../hooks/useParentHeight.js';
|
|
9
|
+
import { CopyToClipboard } from '../copyToClipboard/CopyToClipboard.js';
|
|
10
10
|
import CodeEditorClasses from './CodeEditor.module.css';
|
|
11
11
|
import { XML } from './languages/xml.js';
|
|
12
|
-
import { Search } from './search/
|
|
12
|
+
import { Search } from './search/Search.js';
|
|
13
13
|
const defaultProps = {
|
|
14
14
|
language: 'plaintext',
|
|
15
15
|
monacoLoader: 'local',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {\n Box,\n Center,\n Group,\n Input,\n InputWrapperProps,\n Loader,\n Space,\n Stack,\n StackProps,\n px,\n useMantineColorScheme,\n useMantineTheme,\n useProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport Editor, {Monaco, loader} from '@monaco-editor/react';\nimport {MarkerSeverity, editor as monacoEditor} from 'monaco-editor';\nimport {FunctionComponent, useEffect, useRef, useState} from 'react';\n\nimport cx from 'clsx';\nimport {useParentHeight} from '../../hooks/index.js';\nimport {CopyToClipboard} from '../copyToClipboard/index.js';\nimport CodeEditorClasses from './CodeEditor.module.css';\nimport {XML} from './languages/xml.js';\nimport {Search} from './search/index.js';\ninterface CodeEditorProps\n extends Omit<\n InputWrapperProps,\n 'inputContainer' | 'inputWrapperOrder' | 'classNames' | 'styles' | 'vars' | 'onChange'\n >,\n Omit<StackProps, 'onChange' | 'attributes'> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python' | 'xml' | (string & unknown);\n /** Default value for uncontrolled input */\n defaultValue?: string;\n /** Value for controlled input */\n value?: string;\n /** onChange value for controlled input */\n onChange?(value: string): void;\n /** Called whenever the search icon is clicked */\n onSearch?(): void;\n /** Called whenever the copy icon is clicked */\n onCopy?(): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /** Ref object that provides access to the editor's functionality */\n editorHandle?: React.MutableRefObject<monacoEditor.IStandaloneCodeEditor | null>;\n /**\n * The minimal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height is too short, it will use this value as minimum.\n *\n * @default 300\n */\n minHeight?: number;\n /**\n * The maximal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height would be too high for your liking, you can use this prop to set a maximum.\n */\n maxHeight?: number;\n disabled?: boolean;\n /**\n * Defines how the monaco editor files will be loaded.\n * Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).\n *\n * @default 'local'\n */\n monacoLoader?: 'cdn' | 'local';\n /**\n * Options to pass to the monaco editor.\n * Currently only supporting [`tabSize`](https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.IStandaloneEditorConstructionOptions.html#tabSize).\n *\n */\n options?: Pick<monacoEditor.IStandaloneEditorConstructionOptions, 'tabSize'>;\n}\n\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\n monacoLoader: 'local',\n defaultValue: '',\n minHeight: 300,\n};\n\nexport const CodeEditor: FunctionComponent<CodeEditorProps> = (props) => {\n const {\n language,\n defaultValue,\n onChange,\n onCopy,\n onSearch,\n onFocus,\n value,\n label,\n required,\n labelProps,\n error,\n errorProps,\n description,\n descriptionProps,\n minHeight,\n maxHeight,\n disabled,\n monacoLoader,\n options: {tabSize} = {tabSize: 2},\n editorHandle,\n ...others\n } = useProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n const editorRef = useRef(null);\n\n const loadLocalMonaco = async () => {\n const monacoInstance = await import('monaco-editor');\n loader.config({monaco: monacoInstance});\n setLoaded(true);\n };\n\n const registerLanguages = (monaco: Monaco) => {\n if (monaco && language === 'xml') {\n XML.register(monaco);\n }\n };\n\n const registerThemes = (monaco: Monaco) => {\n monaco.editor.defineTheme('light', {\n base: 'vs',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': theme.colors.gray[0],\n },\n });\n };\n\n const handleSearch = () => {\n if (editorRef.current) {\n editorRef.current.focus();\n editorRef.current.trigger('editor', 'actions.find', '');\n onSearch?.();\n }\n };\n\n const [hasMonacoError, setHasMonacoError] = useState(false);\n const hasMonacoErrorRef = useRef(false);\n\n hasMonacoErrorRef.current = hasMonacoError;\n\n const hasError = !!error || hasMonacoError;\n const theme = useMantineTheme();\n const {colorScheme} = useMantineColorScheme();\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const handleValidate = (markers: monacoEditor.IMarker[]) => {\n setHasMonacoError(markers.some((marker) => marker.severity === MarkerSeverity.Error));\n };\n\n const _label = label ? (\n <Input.Label required={required} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n\n const _error = error ? <Input.Error {...errorProps}>{error}</Input.Error> : <Space h=\"sm\" />;\n\n const _header =\n _label || _description ? (\n <Stack gap=\"xxs\">\n {_label}\n {_description}\n </Stack>\n ) : null;\n\n const _buttons = (\n <Group justify=\"right\" gap=\"xs\">\n <Search handleSearch={handleSearch} />\n <CopyToClipboard value={_value} onCopy={() => onCopy?.()} />\n </Group>\n );\n let editorTheme = colorScheme === 'light' ? 'light' : 'vs-dark';\n if (disabled) {\n editorTheme += '-disabled';\n }\n\n const _editor = loaded ? (\n <Box\n p=\"md\"\n pl=\"xs\"\n className={cx(\n CodeEditorClasses.root,\n {[CodeEditorClasses.error]: hasError},\n {[CodeEditorClasses.disabled]: disabled},\n )}\n data-testid=\"editor-wrapper\"\n >\n <Editor\n onValidate={handleValidate}\n defaultLanguage={language}\n theme={editorTheme}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: px(theme.fontSizes.xs) as number,\n readOnly: disabled,\n stickyScroll: {enabled: false},\n tabSize,\n }}\n value={_value}\n onChange={handleChange}\n beforeMount={(monaco) => {\n registerLanguages(monaco);\n registerThemes(monaco);\n }}\n onMount={(editor) => {\n editorRef.current = editor;\n if (editorHandle) {\n editorHandle.current = editor;\n }\n editor.onDidFocusEditorText(() => onFocus?.());\n editor.onDidBlurEditorText(async () => {\n // monaco editor has a timeout of 500ms populating errors, we want to ensure that checking errors happen after that\n setTimeout(async () => {\n if (!hasMonacoErrorRef.current) {\n await editor?.getAction('editor.action.formatDocument')?.run();\n }\n }, 550);\n });\n }}\n />\n </Box>\n ) : (\n <Center className={CodeEditorClasses.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack\n justify=\"flex-start\"\n gap=\"sm\"\n h={Math.max(parentHeight, minHeight)}\n mah={maxHeight}\n ref={ref}\n {...others}\n >\n <Group justify=\"space-between\">\n {_header}\n {_buttons}\n </Group>\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["Box","Center","Group","Input","Loader","Space","Stack","px","useMantineColorScheme","useMantineTheme","useProps","useUncontrolled","Editor","loader","MarkerSeverity","useEffect","useRef","useState","cx","useParentHeight","CopyToClipboard","CodeEditorClasses","XML","Search","defaultProps","language","monacoLoader","defaultValue","minHeight","CodeEditor","props","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","options","tabSize","editorHandle","others","loaded","setLoaded","_value","handleChange","finalValue","parentHeight","ref","editorRef","loadLocalMonaco","monacoInstance","config","monaco","registerLanguages","register","registerThemes","editor","defineTheme","base","inherit","rules","colors","theme","gray","handleSearch","current","focus","trigger","hasMonacoError","setHasMonacoError","hasMonacoErrorRef","hasError","colorScheme","handleValidate","markers","some","marker","severity","Error","_label","Label","_description","Description","_error","h","_header","gap","_buttons","justify","editorTheme","_editor","p","pl","className","root","data-testid","onValidate","defaultLanguage","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","fontSizes","xs","readOnly","stickyScroll","beforeMount","onMount","onDidFocusEditorText","onDidBlurEditorText","setTimeout","getAction","run","Math","max","mah"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {\n Box,\n Center,\n Group,\n Input,\n InputWrapperProps,\n Loader,\n Space,\n Stack,\n StackProps,\n px,\n useMantineColorScheme,\n useMantineTheme,\n useProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport Editor, {Monaco, loader} from '@monaco-editor/react';\nimport {MarkerSeverity, editor as monacoEditor} from 'monaco-editor';\nimport {FunctionComponent, useEffect, useRef, useState} from 'react';\n\nimport cx from 'clsx';\nimport {useParentHeight} from '../../hooks/useParentHeight.js';\nimport {CopyToClipboard} from '../copyToClipboard/CopyToClipboard.js';\nimport CodeEditorClasses from './CodeEditor.module.css';\nimport {XML} from './languages/xml.js';\nimport {Search} from './search/Search.js';\ninterface CodeEditorProps\n extends Omit<\n InputWrapperProps,\n 'inputContainer' | 'inputWrapperOrder' | 'classNames' | 'styles' | 'vars' | 'onChange'\n >,\n Omit<StackProps, 'onChange' | 'attributes'> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python' | 'xml' | (string & unknown);\n /** Default value for uncontrolled input */\n defaultValue?: string;\n /** Value for controlled input */\n value?: string;\n /** onChange value for controlled input */\n onChange?(value: string): void;\n /** Called whenever the search icon is clicked */\n onSearch?(): void;\n /** Called whenever the copy icon is clicked */\n onCopy?(): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /** Ref object that provides access to the editor's functionality */\n editorHandle?: React.MutableRefObject<monacoEditor.IStandaloneCodeEditor | null>;\n /**\n * The minimal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height is too short, it will use this value as minimum.\n *\n * @default 300\n */\n minHeight?: number;\n /**\n * The maximal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height would be too high for your liking, you can use this prop to set a maximum.\n */\n maxHeight?: number;\n disabled?: boolean;\n /**\n * Defines how the monaco editor files will be loaded.\n * Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).\n *\n * @default 'local'\n */\n monacoLoader?: 'cdn' | 'local';\n /**\n * Options to pass to the monaco editor.\n * Currently only supporting [`tabSize`](https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.IStandaloneEditorConstructionOptions.html#tabSize).\n *\n */\n options?: Pick<monacoEditor.IStandaloneEditorConstructionOptions, 'tabSize'>;\n}\n\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\n monacoLoader: 'local',\n defaultValue: '',\n minHeight: 300,\n};\n\nexport const CodeEditor: FunctionComponent<CodeEditorProps> = (props) => {\n const {\n language,\n defaultValue,\n onChange,\n onCopy,\n onSearch,\n onFocus,\n value,\n label,\n required,\n labelProps,\n error,\n errorProps,\n description,\n descriptionProps,\n minHeight,\n maxHeight,\n disabled,\n monacoLoader,\n options: {tabSize} = {tabSize: 2},\n editorHandle,\n ...others\n } = useProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n const editorRef = useRef(null);\n\n const loadLocalMonaco = async () => {\n const monacoInstance = await import('monaco-editor');\n loader.config({monaco: monacoInstance});\n setLoaded(true);\n };\n\n const registerLanguages = (monaco: Monaco) => {\n if (monaco && language === 'xml') {\n XML.register(monaco);\n }\n };\n\n const registerThemes = (monaco: Monaco) => {\n monaco.editor.defineTheme('light', {\n base: 'vs',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': theme.colors.gray[0],\n },\n });\n };\n\n const handleSearch = () => {\n if (editorRef.current) {\n editorRef.current.focus();\n editorRef.current.trigger('editor', 'actions.find', '');\n onSearch?.();\n }\n };\n\n const [hasMonacoError, setHasMonacoError] = useState(false);\n const hasMonacoErrorRef = useRef(false);\n\n hasMonacoErrorRef.current = hasMonacoError;\n\n const hasError = !!error || hasMonacoError;\n const theme = useMantineTheme();\n const {colorScheme} = useMantineColorScheme();\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const handleValidate = (markers: monacoEditor.IMarker[]) => {\n setHasMonacoError(markers.some((marker) => marker.severity === MarkerSeverity.Error));\n };\n\n const _label = label ? (\n <Input.Label required={required} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n\n const _error = error ? <Input.Error {...errorProps}>{error}</Input.Error> : <Space h=\"sm\" />;\n\n const _header =\n _label || _description ? (\n <Stack gap=\"xxs\">\n {_label}\n {_description}\n </Stack>\n ) : null;\n\n const _buttons = (\n <Group justify=\"right\" gap=\"xs\">\n <Search handleSearch={handleSearch} />\n <CopyToClipboard value={_value} onCopy={() => onCopy?.()} />\n </Group>\n );\n let editorTheme = colorScheme === 'light' ? 'light' : 'vs-dark';\n if (disabled) {\n editorTheme += '-disabled';\n }\n\n const _editor = loaded ? (\n <Box\n p=\"md\"\n pl=\"xs\"\n className={cx(\n CodeEditorClasses.root,\n {[CodeEditorClasses.error]: hasError},\n {[CodeEditorClasses.disabled]: disabled},\n )}\n data-testid=\"editor-wrapper\"\n >\n <Editor\n onValidate={handleValidate}\n defaultLanguage={language}\n theme={editorTheme}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: px(theme.fontSizes.xs) as number,\n readOnly: disabled,\n stickyScroll: {enabled: false},\n tabSize,\n }}\n value={_value}\n onChange={handleChange}\n beforeMount={(monaco) => {\n registerLanguages(monaco);\n registerThemes(monaco);\n }}\n onMount={(editor) => {\n editorRef.current = editor;\n if (editorHandle) {\n editorHandle.current = editor;\n }\n editor.onDidFocusEditorText(() => onFocus?.());\n editor.onDidBlurEditorText(async () => {\n // monaco editor has a timeout of 500ms populating errors, we want to ensure that checking errors happen after that\n setTimeout(async () => {\n if (!hasMonacoErrorRef.current) {\n await editor?.getAction('editor.action.formatDocument')?.run();\n }\n }, 550);\n });\n }}\n />\n </Box>\n ) : (\n <Center className={CodeEditorClasses.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack\n justify=\"flex-start\"\n gap=\"sm\"\n h={Math.max(parentHeight, minHeight)}\n mah={maxHeight}\n ref={ref}\n {...others}\n >\n <Group justify=\"space-between\">\n {_header}\n {_buttons}\n </Group>\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["Box","Center","Group","Input","Loader","Space","Stack","px","useMantineColorScheme","useMantineTheme","useProps","useUncontrolled","Editor","loader","MarkerSeverity","useEffect","useRef","useState","cx","useParentHeight","CopyToClipboard","CodeEditorClasses","XML","Search","defaultProps","language","monacoLoader","defaultValue","minHeight","CodeEditor","props","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","options","tabSize","editorHandle","others","loaded","setLoaded","_value","handleChange","finalValue","parentHeight","ref","editorRef","loadLocalMonaco","monacoInstance","config","monaco","registerLanguages","register","registerThemes","editor","defineTheme","base","inherit","rules","colors","theme","gray","handleSearch","current","focus","trigger","hasMonacoError","setHasMonacoError","hasMonacoErrorRef","hasError","colorScheme","handleValidate","markers","some","marker","severity","Error","_label","Label","_description","Description","_error","h","_header","gap","_buttons","justify","editorTheme","_editor","p","pl","className","root","data-testid","onValidate","defaultLanguage","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","fontSizes","xs","readOnly","stickyScroll","beforeMount","onMount","onDidFocusEditorText","onDidBlurEditorText","setTimeout","getAction","run","Math","max","mah"],"mappings":";AAAA,SACIA,GAAG,EACHC,MAAM,EACNC,KAAK,EACLC,KAAK,EAELC,MAAM,EACNC,KAAK,EACLC,KAAK,EAELC,EAAE,EACFC,qBAAqB,EACrBC,eAAe,EACfC,QAAQ,QACL,gBAAgB;AACvB,SAAQC,eAAe,QAAO,iBAAiB;AAC/C,OAAOC,UAAiBC,MAAM,QAAO,uBAAuB;AAC5D,SAAQC,cAAc,QAA+B,gBAAgB;AACrE,SAA2BC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAO,QAAQ;AAErE,OAAOC,QAAQ,OAAO;AACtB,SAAQC,eAAe,QAAO,iCAAiC;AAC/D,SAAQC,eAAe,QAAO,wCAAwC;AACtE,OAAOC,uBAAuB,0BAA0B;AACxD,SAAQC,GAAG,QAAO,qBAAqB;AACvC,SAAQC,MAAM,QAAO,qBAAqB;AA2D1C,MAAMC,eAAyC;IAC3CC,UAAU;IACVC,cAAc;IACdC,cAAc;IACdC,WAAW;AACf;AAEA,OAAO,MAAMC,aAAiD,CAACC;IAC3D,MAAM,EACFL,QAAQ,EACRE,YAAY,EACZI,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,KAAK,EACLC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,WAAW,EACXC,gBAAgB,EAChBd,SAAS,EACTe,SAAS,EACTC,QAAQ,EACRlB,YAAY,EACZmB,SAAS,EAACC,OAAO,EAAC,GAAG;QAACA,SAAS;IAAC,CAAC,EACjCC,YAAY,EACZ,GAAGC,QACN,GAAGtC,SAAS,cAAcc,cAAcM;IACzC,MAAM,CAACmB,QAAQC,UAAU,GAAGjC,SAAS;IACrC,MAAM,CAACkC,QAAQC,aAAa,GAAGzC,gBAAwB;QACnDwB;QACAR;QACAI;QACAsB,YAAY;IAChB;IACA,MAAM,CAACC,cAAcC,IAAI,GAAGpC;IAC5B,MAAMqC,YAAYxC,OAAO;IAEzB,MAAMyC,kBAAkB;QACpB,MAAMC,iBAAiB,MAAM,MAAM,CAAC;QACpC7C,OAAO8C,MAAM,CAAC;YAACC,QAAQF;QAAc;QACrCR,UAAU;IACd;IAEA,MAAMW,oBAAoB,CAACD;QACvB,IAAIA,UAAUnC,aAAa,OAAO;YAC9BH,IAAIwC,QAAQ,CAACF;QACjB;IACJ;IAEA,MAAMG,iBAAiB,CAACH;QACpBA,OAAOI,MAAM,CAACC,WAAW,CAAC,SAAS;YAC/BC,MAAM;YACNC,SAAS;YACTC,OAAO,EAAE;YACTC,QAAQ;gBACJ,qBAAqBC,MAAMD,MAAM,CAACE,IAAI,CAAC,EAAE;YAC7C;QACJ;IACJ;IAEA,MAAMC,eAAe;QACjB,IAAIhB,UAAUiB,OAAO,EAAE;YACnBjB,UAAUiB,OAAO,CAACC,KAAK;YACvBlB,UAAUiB,OAAO,CAACE,OAAO,CAAC,UAAU,gBAAgB;YACpD1C;QACJ;IACJ;IAEA,MAAM,CAAC2C,gBAAgBC,kBAAkB,GAAG5D,SAAS;IACrD,MAAM6D,oBAAoB9D,OAAO;IAEjC8D,kBAAkBL,OAAO,GAAGG;IAE5B,MAAMG,WAAW,CAAC,CAACxC,SAASqC;IAC5B,MAAMN,QAAQ7D;IACd,MAAM,EAACuE,WAAW,EAAC,GAAGxE;IAEtBO,UAAU;QACN,IAAIW,iBAAiB,SAAS;YAC1B+B;QACJ,OAAO;YACHP,UAAU;QACd;IACJ,GAAG,EAAE;IAEL,MAAM+B,iBAAiB,CAACC;QACpBL,kBAAkBK,QAAQC,IAAI,CAAC,CAACC,SAAWA,OAAOC,QAAQ,KAAKvE,eAAewE,KAAK;IACvF;IAEA,MAAMC,SAASnD,sBACX,KAACjC,MAAMqF,KAAK;QAACnD,UAAUA;QAAW,GAAGC,UAAU;kBAC1CF;SAEL;IAEJ,MAAMqD,eAAehD,4BACjB,KAACtC,MAAMuF,WAAW;QAAE,GAAGhD,gBAAgB;kBAAGD;SAC1C;IAEJ,MAAMkD,SAASpD,sBAAQ,KAACpC,MAAMmF,KAAK;QAAE,GAAG9C,UAAU;kBAAGD;uBAAuB,KAAClC;QAAMuF,GAAE;;IAErF,MAAMC,UACFN,UAAUE,6BACN,MAACnF;QAAMwF,KAAI;;YACNP;YACAE;;SAEL;IAER,MAAMM,yBACF,MAAC7F;QAAM8F,SAAQ;QAAQF,KAAI;;0BACvB,KAACvE;gBAAOiD,cAAcA;;0BACtB,KAACpD;gBAAgBe,OAAOgB;gBAAQnB,QAAQ,IAAMA;;;;IAGtD,IAAIiE,cAAcjB,gBAAgB,UAAU,UAAU;IACtD,IAAIpC,UAAU;QACVqD,eAAe;IACnB;IAEA,MAAMC,UAAUjD,uBACZ,KAACjD;QACGmG,GAAE;QACFC,IAAG;QACHC,WAAWnF,GACPG,kBAAkBiF,IAAI,EACtB;YAAC,CAACjF,kBAAkBkB,KAAK,CAAC,EAAEwC;QAAQ,GACpC;YAAC,CAAC1D,kBAAkBuB,QAAQ,CAAC,EAAEA;QAAQ;QAE3C2D,eAAY;kBAEZ,cAAA,KAAC3F;YACG4F,YAAYvB;YACZwB,iBAAiBhF;YACjB6C,OAAO2B;YACPpD,SAAS;gBACL6D,SAAS;oBAACC,SAAS;gBAAK;gBACxBC,UAAU;gBACVC,sBAAsB;gBACtBC,eAAe;gBACfC,UAAUxG,GAAG+D,MAAM0C,SAAS,CAACC,EAAE;gBAC/BC,UAAUtE;gBACVuE,cAAc;oBAACR,SAAS;gBAAK;gBAC7B7D;YACJ;YACAX,OAAOgB;YACPpB,UAAUqB;YACVgE,aAAa,CAACxD;gBACVC,kBAAkBD;gBAClBG,eAAeH;YACnB;YACAyD,SAAS,CAACrD;gBACNR,UAAUiB,OAAO,GAAGT;gBACpB,IAAIjB,cAAc;oBACdA,aAAa0B,OAAO,GAAGT;gBAC3B;gBACAA,OAAOsD,oBAAoB,CAAC,IAAMpF;gBAClC8B,OAAOuD,mBAAmB,CAAC;oBACvB,mHAAmH;oBACnHC,WAAW;wBACP,IAAI,CAAC1C,kBAAkBL,OAAO,EAAE;4BAC5B,MAAMT,QAAQyD,UAAU,iCAAiCC;wBAC7D;oBACJ,GAAG;gBACP;YACJ;;uBAIR,KAACzH;QAAOoG,WAAWhF,kBAAkB2C,MAAM;kBACvC,cAAA,KAAC5D;;IAIT,qBACI,MAACE;QACG0F,SAAQ;QACRF,KAAI;QACJF,GAAG+B,KAAKC,GAAG,CAACtE,cAAc1B;QAC1BiG,KAAKlF;QACLY,KAAKA;QACJ,GAAGP,MAAM;;0BAEV,MAAC9C;gBAAM8F,SAAQ;;oBACVH;oBACAE;;;YAEJG;YACAP;;;AAGb,EAAE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { IconSearch } from '@coveord/plasma-react-icons';
|
|
3
|
-
import { ActionIcon } from '../../action-icon/
|
|
3
|
+
import { ActionIcon } from '../../action-icon/ActionIcon.js';
|
|
4
4
|
const SearchButton = ({ handleSearch })=>/*#__PURE__*/ _jsx(ActionIcon.Quaternary, {
|
|
5
5
|
onClick: handleSearch,
|
|
6
6
|
children: /*#__PURE__*/ _jsx(IconSearch, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/code-editor/search/Search.tsx"],"sourcesContent":["import {IconSearch} from '@coveord/plasma-react-icons';\nimport {FunctionComponent} from 'react';\nimport {ActionIcon} from '../../action-icon/
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/code-editor/search/Search.tsx"],"sourcesContent":["import {IconSearch} from '@coveord/plasma-react-icons';\nimport {FunctionComponent} from 'react';\nimport {ActionIcon} from '../../action-icon/ActionIcon.js';\n\nexport interface SearchProps {\n handleSearch: () => void;\n}\n\nconst SearchButton: FunctionComponent<SearchProps> = ({handleSearch}) => (\n <ActionIcon.Quaternary onClick={handleSearch}>\n <IconSearch aria-label=\"Search\" size={16} />\n </ActionIcon.Quaternary>\n);\n\nexport const Search: FunctionComponent<SearchProps> = ({...params}) => <SearchButton {...params} />;\n"],"names":["IconSearch","ActionIcon","SearchButton","handleSearch","Quaternary","onClick","aria-label","size","Search","params"],"mappings":";AAAA,SAAQA,UAAU,QAAO,8BAA8B;AAEvD,SAAQC,UAAU,QAAO,kCAAkC;AAM3D,MAAMC,eAA+C,CAAC,EAACC,YAAY,EAAC,iBAChE,KAACF,WAAWG,UAAU;QAACC,SAASF;kBAC5B,cAAA,KAACH;YAAWM,cAAW;YAASC,MAAM;;;AAI9C,OAAO,MAAMC,SAAyC,CAAC,EAAC,GAAGC,QAAO,iBAAK,KAACP;QAAc,GAAGO,MAAM;OAAK"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __InputWrapperProps, BoxProps, Factory, MantineSpacing, StylesApiProps } from '@mantine/core';
|
|
2
2
|
import { ForwardedRef, ReactNode } from 'react';
|
|
3
|
-
import { CustomComponentThemeExtend } from '../../utils/
|
|
3
|
+
import { CustomComponentThemeExtend } from '../../utils/createFactoryComponent.js';
|
|
4
4
|
export interface CollectionProps<T> extends __InputWrapperProps, BoxProps, StylesApiProps<CollectionFactory> {
|
|
5
5
|
/**
|
|
6
6
|
* The default value each new item should have
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/Collection.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,mBAAmB,EAEnB,QAAQ,EACR,OAAO,EAEP,cAAc,EAEd,cAAc,EAGjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAC,0BAA0B,EAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/Collection.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,mBAAmB,EAEnB,QAAQ,EACR,OAAO,EAEP,cAAc,EAEd,cAAc,EAGjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAC,0BAA0B,EAAW,MAAM,uCAAuC,CAAC;AAM3F,MAAM,WAAW,eAAe,CAAC,CAAC,CAAE,SAAQ,mBAAmB,EAAE,QAAQ,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACxG;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IACX;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAChD;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,KAAK,IAAI,CAAC;IAC9D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,YAAY,CAAC;AAE9F,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;IACpC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAChC,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,qBAAqB,CAAC;CACtC,CAAC,CAAC;AAaH,eAAO,MAAM,UAAU;KAAI,CAAC,SAAU,eAAe,CAAC,CAAC,CAAC,GAAG;QAAC,GAAG,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;KAAC;;eAhBpF,eAAe,CAAC,OAAO,CAAC;aAC1B,cAAc;qBACN,qBAAqB;;CA8JrC,CAAC"}
|
|
@@ -5,8 +5,8 @@ import { restrictToParentElement, restrictToVerticalAxis } from '@dnd-kit/modifi
|
|
|
5
5
|
import { SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy } from '@dnd-kit/sortable';
|
|
6
6
|
import { Box, Input, Stack, useProps, useStyles } from '@mantine/core';
|
|
7
7
|
import { useDidUpdate } from '@mantine/hooks';
|
|
8
|
-
import { identity } from '../../utils/
|
|
9
|
-
import { Button } from '../button/
|
|
8
|
+
import { identity } from '../../utils/createFactoryComponent.js';
|
|
9
|
+
import { Button } from '../button/Button.js';
|
|
10
10
|
import classes from './Collection.module.css';
|
|
11
11
|
import { CollectionProvider } from './CollectionContext.js';
|
|
12
12
|
import { CollectionItem } from './CollectionItem.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/collection/Collection.tsx"],"sourcesContent":["import {IconPlus} from '@coveord/plasma-react-icons';\nimport {DndContext, DragEndEvent, KeyboardSensor, PointerSensor, useSensor, useSensors} from '@dnd-kit/core';\nimport {restrictToParentElement, restrictToVerticalAxis} from '@dnd-kit/modifiers';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {\n __InputWrapperProps,\n Box,\n BoxProps,\n Factory,\n Input,\n MantineSpacing,\n Stack,\n StylesApiProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {ForwardedRef, ReactNode} from 'react';\n\nimport {CustomComponentThemeExtend, identity} from '../../utils/index.js';\nimport {Button} from '../button/index.js';\nimport classes from './Collection.module.css';\nimport {CollectionProvider} from './CollectionContext.js';\nimport {CollectionItem} from './CollectionItem.js';\n\nexport interface CollectionProps<T> extends __InputWrapperProps, BoxProps, StylesApiProps<CollectionFactory> {\n /**\n * The default value each new item should have\n */\n newItem: T;\n /**\n * A render function called for each item passed in the `value` prop.\n *\n * @param item The current item's value\n * @param index The current item's index\n */\n children: (item: T, index: number) => ReactNode;\n /**\n * The list of items to display inside the collection\n *\n * @default []\n */\n value?: T[];\n /**\n * Defines how each item is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.\n *\n * This method is required when using this component with ReactHookForm.\n *\n * @see {@link https://react-hook-form.com/api/usefieldarray/} for using a collection with ReactHookForm.\n *\n * @param originalItem The original item\n * @param itemIndex The index of the original item\n */\n getItemId?: (originalItem: T, itemIndex: number) => string;\n /**\n * Unused, has no effect\n */\n onFocus?: () => void;\n /**\n * Function called whenever the value needs to be updated\n *\n * @param value The whole list of items after the change\n */\n onChange?: (value: T[]) => void;\n /**\n * Function called after an item is removed from the collection using the remove button\n *\n * @param itemIndex The index of the item that was removed\n */\n onRemoveItem?: (itemIndex: number) => void;\n /**\n * Function that gets called whenever a collection item needs to be reordered\n *\n * @param payload The origin and destination index of the item to reorder\n */\n onReorderItem?: (payload: {from: number; to: number}) => void;\n /**\n * Function that gets called when a new item needs to be added to the collection\n *\n * @param value The value of the item to insert\n * @param index The index of the new item to insert\n */\n onInsertItem?: (value: T, index: number) => void;\n /**\n * Whether the collection should have drag and drop behavior enabled\n *\n * @default false\n */\n draggable?: boolean;\n /**\n * Whether the collection is disabled, or in other words in read only mode\n *\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the collection is readOnly. If true, the collection will not allow adding or removing items\n *\n * @default false\n */\n readOnly?: boolean;\n /**\n * Function that determines if the add item button should be enabled given the current items of the collection.\n * The button is always enabled if this props remains undefined\n *\n * @param values The current items of the collection\n */\n allowAdd?: (values: T[]) => boolean;\n /**\n * The label of the add item button\n *\n * @default \"Add item\"\n */\n addLabel?: string;\n /**\n * The tooltip text displayed when hovering over the disabled add item button\n *\n * @default 'There is already an empty item'\n */\n addDisabledTooltip?: string;\n /**\n * The gap between the colleciton items\n *\n * @default 'xs'\n */\n gap?: MantineSpacing;\n /**\n * Whether the collection is required. When required is true, the collection will hide the remove button if there is only one item\n *\n * @default false\n */\n required?: boolean;\n}\n\nexport type CollectionStylesNames = 'root' | 'item' | 'items' | 'itemDragging' | 'dragHandle';\n\nexport type CollectionFactory = Factory<{\n props: CollectionProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: CollectionStylesNames;\n}>;\n\nconst defaultProps: Partial<CollectionProps<unknown>> = {\n draggable: false,\n addLabel: 'Add item',\n addDisabledTooltip: 'There is already an empty item',\n disabled: false,\n readOnly: false,\n gap: 'md',\n required: false,\n getItemId: ({id}: any) => id,\n};\n\nexport const Collection = <T,>(props: CollectionProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n value,\n onChange,\n onRemoveItem,\n onReorderItem,\n onInsertItem,\n disabled,\n readOnly,\n draggable,\n children,\n gap,\n required,\n newItem,\n addLabel,\n addDisabledTooltip,\n allowAdd,\n label,\n labelProps,\n withAsterisk,\n description,\n descriptionProps,\n error,\n errorProps,\n getItemId,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('Collection', defaultProps as CollectionProps<T>, props);\n\n const getStyles = useStyles<CollectionFactory>({\n name: 'Collection',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const canEdit = !disabled && !readOnly;\n const hasOnlyOneItem = value.length === 1;\n\n /**\n * Enforcing onChange when the value is modified will make sure the errors are carried through.\n */\n useDidUpdate(() => {\n onChange?.(value);\n }, [JSON.stringify(value)]);\n\n const isRequired = typeof withAsterisk === 'boolean' ? withAsterisk : required;\n const _label = label ? (\n <Input.Label required={isRequired} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n const _error = error ? <Input.Error {...errorProps}>{error}</Input.Error> : null;\n const _header =\n _label || _description ? (\n <Stack gap=\"xxs\" pb=\"xs\">\n {_label}\n {_description}\n </Stack>\n ) : null;\n\n const standardizedItems = value.map((item, index) => ({id: getItemId?.(item, index) ?? String(index), data: item}));\n\n const items = standardizedItems.map((item, index) => (\n <CollectionItem\n key={item.id}\n id={item.id}\n disabled={!canEdit}\n draggable={draggable}\n onRemove={() => onRemoveItem?.(index)}\n removable={!(isRequired && hasOnlyOneItem)}\n >\n {children(item.data, index)}\n </CollectionItem>\n ));\n\n const addAllowed = allowAdd?.(value) ?? true;\n\n const _addButton = canEdit ? (\n <Box className={classes.addButtonContainer}>\n <Button.Quaternary\n leftSection={<IconPlus size={16} />}\n onClick={() => onInsertItem(newItem, value?.length ?? 0)}\n disabled={!addAllowed}\n disabledTooltip={addDisabledTooltip}\n >\n {addLabel}\n </Button.Quaternary>\n </Box>\n ) : null;\n\n const getIndex = (id: string) => standardizedItems.findIndex((item) => item.id === id);\n\n const handleDragEnd = ({over, active}: DragEndEvent): void => {\n if (over) {\n const activeIndex = getIndex(String(active.id));\n const overIndex = getIndex(String(over.id));\n if (activeIndex !== overIndex) {\n onReorderItem?.({from: activeIndex, to: overIndex});\n }\n }\n };\n\n return (\n <CollectionProvider value={{getStyles}}>\n <DndContext\n onDragEnd={handleDragEnd}\n sensors={sensors}\n modifiers={[restrictToVerticalAxis, restrictToParentElement]}\n >\n <SortableContext items={standardizedItems} strategy={verticalListSortingStrategy}>\n <Box ref={ref} {...others} {...getStyles('root')}>\n {_header}\n <Stack gap={gap} {...getStyles('items')}>\n {items}\n {_addButton}\n {_error}\n </Stack>\n </Box>\n </SortableContext>\n </DndContext>\n </CollectionProvider>\n );\n};\n\nCollection.extend = identity as CustomComponentThemeExtend<CollectionFactory>;\n"],"names":["IconPlus","DndContext","KeyboardSensor","PointerSensor","useSensor","useSensors","restrictToParentElement","restrictToVerticalAxis","SortableContext","sortableKeyboardCoordinates","verticalListSortingStrategy","Box","Input","Stack","useProps","useStyles","useDidUpdate","identity","Button","classes","CollectionProvider","CollectionItem","defaultProps","draggable","addLabel","addDisabledTooltip","disabled","readOnly","gap","required","getItemId","id","Collection","props","value","onChange","onRemoveItem","onReorderItem","onInsertItem","children","newItem","allowAdd","label","labelProps","withAsterisk","description","descriptionProps","error","errorProps","ref","style","className","classNames","styles","unstyled","others","getStyles","name","sensors","coordinateGetter","canEdit","hasOnlyOneItem","length","JSON","stringify","isRequired","_label","Label","_description","Description","_error","Error","_header","pb","standardizedItems","map","item","index","String","data","items","onRemove","removable","addAllowed","_addButton","addButtonContainer","Quaternary","leftSection","size","onClick","disabledTooltip","getIndex","findIndex","handleDragEnd","over","active","activeIndex","overIndex","from","to","onDragEnd","modifiers","strategy","extend"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/collection/Collection.tsx"],"sourcesContent":["import {IconPlus} from '@coveord/plasma-react-icons';\nimport {DndContext, DragEndEvent, KeyboardSensor, PointerSensor, useSensor, useSensors} from '@dnd-kit/core';\nimport {restrictToParentElement, restrictToVerticalAxis} from '@dnd-kit/modifiers';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {\n __InputWrapperProps,\n Box,\n BoxProps,\n Factory,\n Input,\n MantineSpacing,\n Stack,\n StylesApiProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {ForwardedRef, ReactNode} from 'react';\n\nimport {CustomComponentThemeExtend, identity} from '../../utils/createFactoryComponent.js';\nimport {Button} from '../button/Button.js';\nimport classes from './Collection.module.css';\nimport {CollectionProvider} from './CollectionContext.js';\nimport {CollectionItem} from './CollectionItem.js';\n\nexport interface CollectionProps<T> extends __InputWrapperProps, BoxProps, StylesApiProps<CollectionFactory> {\n /**\n * The default value each new item should have\n */\n newItem: T;\n /**\n * A render function called for each item passed in the `value` prop.\n *\n * @param item The current item's value\n * @param index The current item's index\n */\n children: (item: T, index: number) => ReactNode;\n /**\n * The list of items to display inside the collection\n *\n * @default []\n */\n value?: T[];\n /**\n * Defines how each item is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.\n *\n * This method is required when using this component with ReactHookForm.\n *\n * @see {@link https://react-hook-form.com/api/usefieldarray/} for using a collection with ReactHookForm.\n *\n * @param originalItem The original item\n * @param itemIndex The index of the original item\n */\n getItemId?: (originalItem: T, itemIndex: number) => string;\n /**\n * Unused, has no effect\n */\n onFocus?: () => void;\n /**\n * Function called whenever the value needs to be updated\n *\n * @param value The whole list of items after the change\n */\n onChange?: (value: T[]) => void;\n /**\n * Function called after an item is removed from the collection using the remove button\n *\n * @param itemIndex The index of the item that was removed\n */\n onRemoveItem?: (itemIndex: number) => void;\n /**\n * Function that gets called whenever a collection item needs to be reordered\n *\n * @param payload The origin and destination index of the item to reorder\n */\n onReorderItem?: (payload: {from: number; to: number}) => void;\n /**\n * Function that gets called when a new item needs to be added to the collection\n *\n * @param value The value of the item to insert\n * @param index The index of the new item to insert\n */\n onInsertItem?: (value: T, index: number) => void;\n /**\n * Whether the collection should have drag and drop behavior enabled\n *\n * @default false\n */\n draggable?: boolean;\n /**\n * Whether the collection is disabled, or in other words in read only mode\n *\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the collection is readOnly. If true, the collection will not allow adding or removing items\n *\n * @default false\n */\n readOnly?: boolean;\n /**\n * Function that determines if the add item button should be enabled given the current items of the collection.\n * The button is always enabled if this props remains undefined\n *\n * @param values The current items of the collection\n */\n allowAdd?: (values: T[]) => boolean;\n /**\n * The label of the add item button\n *\n * @default \"Add item\"\n */\n addLabel?: string;\n /**\n * The tooltip text displayed when hovering over the disabled add item button\n *\n * @default 'There is already an empty item'\n */\n addDisabledTooltip?: string;\n /**\n * The gap between the colleciton items\n *\n * @default 'xs'\n */\n gap?: MantineSpacing;\n /**\n * Whether the collection is required. When required is true, the collection will hide the remove button if there is only one item\n *\n * @default false\n */\n required?: boolean;\n}\n\nexport type CollectionStylesNames = 'root' | 'item' | 'items' | 'itemDragging' | 'dragHandle';\n\nexport type CollectionFactory = Factory<{\n props: CollectionProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: CollectionStylesNames;\n}>;\n\nconst defaultProps: Partial<CollectionProps<unknown>> = {\n draggable: false,\n addLabel: 'Add item',\n addDisabledTooltip: 'There is already an empty item',\n disabled: false,\n readOnly: false,\n gap: 'md',\n required: false,\n getItemId: ({id}: any) => id,\n};\n\nexport const Collection = <T,>(props: CollectionProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n value,\n onChange,\n onRemoveItem,\n onReorderItem,\n onInsertItem,\n disabled,\n readOnly,\n draggable,\n children,\n gap,\n required,\n newItem,\n addLabel,\n addDisabledTooltip,\n allowAdd,\n label,\n labelProps,\n withAsterisk,\n description,\n descriptionProps,\n error,\n errorProps,\n getItemId,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('Collection', defaultProps as CollectionProps<T>, props);\n\n const getStyles = useStyles<CollectionFactory>({\n name: 'Collection',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const canEdit = !disabled && !readOnly;\n const hasOnlyOneItem = value.length === 1;\n\n /**\n * Enforcing onChange when the value is modified will make sure the errors are carried through.\n */\n useDidUpdate(() => {\n onChange?.(value);\n }, [JSON.stringify(value)]);\n\n const isRequired = typeof withAsterisk === 'boolean' ? withAsterisk : required;\n const _label = label ? (\n <Input.Label required={isRequired} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n const _error = error ? <Input.Error {...errorProps}>{error}</Input.Error> : null;\n const _header =\n _label || _description ? (\n <Stack gap=\"xxs\" pb=\"xs\">\n {_label}\n {_description}\n </Stack>\n ) : null;\n\n const standardizedItems = value.map((item, index) => ({id: getItemId?.(item, index) ?? String(index), data: item}));\n\n const items = standardizedItems.map((item, index) => (\n <CollectionItem\n key={item.id}\n id={item.id}\n disabled={!canEdit}\n draggable={draggable}\n onRemove={() => onRemoveItem?.(index)}\n removable={!(isRequired && hasOnlyOneItem)}\n >\n {children(item.data, index)}\n </CollectionItem>\n ));\n\n const addAllowed = allowAdd?.(value) ?? true;\n\n const _addButton = canEdit ? (\n <Box className={classes.addButtonContainer}>\n <Button.Quaternary\n leftSection={<IconPlus size={16} />}\n onClick={() => onInsertItem(newItem, value?.length ?? 0)}\n disabled={!addAllowed}\n disabledTooltip={addDisabledTooltip}\n >\n {addLabel}\n </Button.Quaternary>\n </Box>\n ) : null;\n\n const getIndex = (id: string) => standardizedItems.findIndex((item) => item.id === id);\n\n const handleDragEnd = ({over, active}: DragEndEvent): void => {\n if (over) {\n const activeIndex = getIndex(String(active.id));\n const overIndex = getIndex(String(over.id));\n if (activeIndex !== overIndex) {\n onReorderItem?.({from: activeIndex, to: overIndex});\n }\n }\n };\n\n return (\n <CollectionProvider value={{getStyles}}>\n <DndContext\n onDragEnd={handleDragEnd}\n sensors={sensors}\n modifiers={[restrictToVerticalAxis, restrictToParentElement]}\n >\n <SortableContext items={standardizedItems} strategy={verticalListSortingStrategy}>\n <Box ref={ref} {...others} {...getStyles('root')}>\n {_header}\n <Stack gap={gap} {...getStyles('items')}>\n {items}\n {_addButton}\n {_error}\n </Stack>\n </Box>\n </SortableContext>\n </DndContext>\n </CollectionProvider>\n );\n};\n\nCollection.extend = identity as CustomComponentThemeExtend<CollectionFactory>;\n"],"names":["IconPlus","DndContext","KeyboardSensor","PointerSensor","useSensor","useSensors","restrictToParentElement","restrictToVerticalAxis","SortableContext","sortableKeyboardCoordinates","verticalListSortingStrategy","Box","Input","Stack","useProps","useStyles","useDidUpdate","identity","Button","classes","CollectionProvider","CollectionItem","defaultProps","draggable","addLabel","addDisabledTooltip","disabled","readOnly","gap","required","getItemId","id","Collection","props","value","onChange","onRemoveItem","onReorderItem","onInsertItem","children","newItem","allowAdd","label","labelProps","withAsterisk","description","descriptionProps","error","errorProps","ref","style","className","classNames","styles","unstyled","others","getStyles","name","sensors","coordinateGetter","canEdit","hasOnlyOneItem","length","JSON","stringify","isRequired","_label","Label","_description","Description","_error","Error","_header","pb","standardizedItems","map","item","index","String","data","items","onRemove","removable","addAllowed","_addButton","addButtonContainer","Quaternary","leftSection","size","onClick","disabledTooltip","getIndex","findIndex","handleDragEnd","over","active","activeIndex","overIndex","from","to","onDragEnd","modifiers","strategy","extend"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { DragAndDropSize24Px, IconTrash } from '@coveord/plasma-react-icons';
|
|
|
3
3
|
import { useSortable } from '@dnd-kit/sortable';
|
|
4
4
|
import { CSS } from '@dnd-kit/utilities';
|
|
5
5
|
import { Group, useProps } from '@mantine/core';
|
|
6
|
-
import { ActionIcon } from '../action-icon/
|
|
6
|
+
import { ActionIcon } from '../action-icon/ActionIcon.js';
|
|
7
7
|
import { useCollectionContext } from './CollectionContext.js';
|
|
8
8
|
const defaultProps = {
|
|
9
9
|
removable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/collection/CollectionItem.tsx"],"sourcesContent":["import {DragAndDropSize24Px, IconTrash} from '@coveord/plasma-react-icons';\nimport {useSortable} from '@dnd-kit/sortable';\nimport {CSS} from '@dnd-kit/utilities';\nimport {Group, GroupProps, useProps} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nimport {ActionIcon} from '../action-icon/
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/collection/CollectionItem.tsx"],"sourcesContent":["import {DragAndDropSize24Px, IconTrash} from '@coveord/plasma-react-icons';\nimport {useSortable} from '@dnd-kit/sortable';\nimport {CSS} from '@dnd-kit/utilities';\nimport {Group, GroupProps, useProps} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nimport {ActionIcon} from '../action-icon/ActionIcon.js';\nimport {useCollectionContext} from './CollectionContext.js';\n\ninterface CollectionItemProps extends CollectionItemSharedProps {\n draggable?: boolean;\n disabled: boolean;\n}\n\ninterface CollectionItemSharedProps extends GroupProps {\n id: string;\n onRemove?: React.MouseEventHandler<HTMLButtonElement>;\n removable?: boolean;\n}\n\nconst defaultProps: Partial<CollectionItemSharedProps> = {\n removable: true,\n gap: 'sm',\n};\n\nconst RemoveButton: FunctionComponent<{\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n}> = ({onClick}) => (\n <ActionIcon.Quaternary style={{alignSelf: 'center'}} onClick={onClick}>\n <IconTrash aria-label=\"Remove\" size={16} />\n </ActionIcon.Quaternary>\n);\n\nconst RemoveButtonPlaceholder = () => <div style={{width: 28}} />;\n\nconst StaticCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = (props) => {\n const {\n children,\n removable,\n onRemove,\n id,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n ...others\n } = useProps('CollectionItem', defaultProps, props);\n const ctx = useCollectionContext();\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : <RemoveButtonPlaceholder />;\n\n return (\n <Group\n data-testid={`item-${id}`}\n {...ctx.getStyles('item', {style, className, classNames, styles})}\n {...others}\n >\n {children}\n {removeButton}\n </Group>\n );\n};\n\nconst DisabledCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = (props) => {\n const ctx = useCollectionContext();\n const {\n children,\n id,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n ...others\n } = useProps('CollectionItem', defaultProps, props);\n return (\n <Group\n data-testid={`item-${id}`}\n {...ctx.getStyles('item', {style, className, classNames, styles})}\n {...others}\n >\n {children}\n </Group>\n );\n};\n\nconst DraggableCollectionItem: FunctionComponent<PropsWithChildren<CollectionItemSharedProps>> = (props) => {\n const ctx = useCollectionContext();\n const {\n children,\n removable,\n onRemove,\n id,\n\n // Style props\n className,\n classNames,\n styles,\n ...others\n } = useProps('CollectionItem', defaultProps, props);\n const removeButton = removable && onRemove ? <RemoveButton onClick={onRemove} /> : null;\n const {attributes, listeners, setNodeRef, transform, transition, isDragging, setActivatorNodeRef} = useSortable({\n id,\n });\n\n return (\n <Group\n data-testid={`item-${id}`}\n ref={setNodeRef}\n {...ctx.getStyles('item', {\n style: transform\n ? {\n transform: CSS.Transform.toString(transform),\n transition,\n }\n : undefined,\n className,\n classNames,\n styles,\n })}\n data-isdragging={isDragging}\n {...others}\n >\n <div ref={setActivatorNodeRef} {...listeners} {...attributes} {...ctx.getStyles('dragHandle')}>\n <DragAndDropSize24Px height={16} />\n </div>\n {children}\n {removeButton}\n </Group>\n );\n};\n\nexport const CollectionItem: FunctionComponent<PropsWithChildren<CollectionItemProps>> = ({\n draggable,\n disabled,\n ...otherProps\n}) => {\n if (disabled) {\n return <DisabledCollectionItem {...otherProps} />;\n }\n if (draggable) {\n return <DraggableCollectionItem {...otherProps} />;\n }\n return <StaticCollectionItem {...otherProps} />;\n};\n"],"names":["DragAndDropSize24Px","IconTrash","useSortable","CSS","Group","useProps","ActionIcon","useCollectionContext","defaultProps","removable","gap","RemoveButton","onClick","Quaternary","style","alignSelf","aria-label","size","RemoveButtonPlaceholder","div","width","StaticCollectionItem","props","children","onRemove","id","className","classNames","styles","others","ctx","removeButton","data-testid","getStyles","DisabledCollectionItem","DraggableCollectionItem","attributes","listeners","setNodeRef","transform","transition","isDragging","setActivatorNodeRef","ref","Transform","toString","undefined","data-isdragging","height","CollectionItem","draggable","disabled","otherProps"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { IconClipboardCheck, IconClipboardText } from '@coveord/plasma-react-icons';
|
|
3
3
|
import { CopyButton, TextInput, Tooltip } from '@mantine/core';
|
|
4
|
-
import { ActionIcon } from '../action-icon/
|
|
4
|
+
import { ActionIcon } from '../action-icon/ActionIcon.js';
|
|
5
5
|
const CopyToClipboardButton = ({ value, onCopy, color, tooltipLabelCopy = 'Copy to clipboard', tooltipLabelCopied = 'Copied', ...others })=>/*#__PURE__*/ _jsx(CopyButton, {
|
|
6
6
|
value: value,
|
|
7
7
|
timeout: 2000,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/copyToClipboard/CopyToClipboard.tsx"],"sourcesContent":["import {IconClipboardCheck, IconClipboardText} from '@coveord/plasma-react-icons';\nimport {ActionIconProps, CopyButton, MantineColor, TextInput, Tooltip} from '@mantine/core';\nimport {FunctionComponent, MouseEventHandler} from 'react';\nimport {ActionIcon} from '../action-icon/
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/copyToClipboard/CopyToClipboard.tsx"],"sourcesContent":["import {IconClipboardCheck, IconClipboardText} from '@coveord/plasma-react-icons';\nimport {ActionIconProps, CopyButton, MantineColor, TextInput, Tooltip} from '@mantine/core';\nimport {FunctionComponent, MouseEventHandler} from 'react';\nimport {ActionIcon} from '../action-icon/ActionIcon.js';\n\nexport interface CopyToClipboardProps extends ActionIconProps {\n /**\n * The value to be copied to the clipboard.\n */\n value: string;\n /**\n * Whether to display the string to be copied alongside the button.\n *\n * @default false\n */\n withLabel?: boolean;\n /**\n * Called each time the value is copied to the clipboard\n */\n onCopy?: MouseEventHandler<HTMLButtonElement>;\n /**\n * The color of the icon when idle\n *\n * @default 'gray'\n */\n color?: MantineColor | (string & {});\n /**\n * The text displayed when hovering over the button\n *\n * @default 'Copy to clipboard'\n */\n tooltipLabelCopy?: string;\n /**\n * The text displayed when the value is copied to the clipboard\n *\n * @default 'Copied'\n */\n tooltipLabelCopied?: string;\n}\n\nconst CopyToClipboardButton: FunctionComponent<Omit<CopyToClipboardProps, 'withLabel'>> = ({\n value,\n onCopy,\n color,\n tooltipLabelCopy = 'Copy to clipboard',\n tooltipLabelCopied = 'Copied',\n ...others\n}) => (\n <CopyButton value={value} timeout={2000}>\n {({copied, copy}) => (\n <Tooltip label={copied ? tooltipLabelCopied : tooltipLabelCopy}>\n <ActionIcon.Quaternary\n aria-label={tooltipLabelCopy}\n color={copied ? 'success' : color}\n onClick={(clickEvent) => {\n copy();\n onCopy?.(clickEvent);\n }}\n {...others}\n >\n {copied ? <IconClipboardCheck size={16} /> : <IconClipboardText size={16} />}\n </ActionIcon.Quaternary>\n </Tooltip>\n )}\n </CopyButton>\n);\n\nexport const CopyToClipboard: FunctionComponent<CopyToClipboardProps> = ({withLabel, ...others}) =>\n withLabel ? (\n <TextInput\n value={others.value}\n readOnly\n autoComplete=\"off\"\n rightSection={<CopyToClipboardButton {...others} />}\n />\n ) : (\n <CopyToClipboardButton {...others} />\n );\n"],"names":["IconClipboardCheck","IconClipboardText","CopyButton","TextInput","Tooltip","ActionIcon","CopyToClipboardButton","value","onCopy","color","tooltipLabelCopy","tooltipLabelCopied","others","timeout","copied","copy","label","Quaternary","aria-label","onClick","clickEvent","size","CopyToClipboard","withLabel","readOnly","autoComplete","rightSection"],"mappings":";AAAA,SAAQA,kBAAkB,EAAEC,iBAAiB,QAAO,8BAA8B;AAClF,SAAyBC,UAAU,EAAgBC,SAAS,EAAEC,OAAO,QAAO,gBAAgB;AAE5F,SAAQC,UAAU,QAAO,+BAA+B;AAqCxD,MAAMC,wBAAoF,CAAC,EACvFC,KAAK,EACLC,MAAM,EACNC,KAAK,EACLC,mBAAmB,mBAAmB,EACtCC,qBAAqB,QAAQ,EAC7B,GAAGC,QACN,iBACG,KAACV;QAAWK,OAAOA;QAAOM,SAAS;kBAC9B,CAAC,EAACC,MAAM,EAAEC,IAAI,EAAC,iBACZ,KAACX;gBAAQY,OAAOF,SAASH,qBAAqBD;0BAC1C,cAAA,KAACL,WAAWY,UAAU;oBAClBC,cAAYR;oBACZD,OAAOK,SAAS,YAAYL;oBAC5BU,SAAS,CAACC;wBACNL;wBACAP,SAASY;oBACb;oBACC,GAAGR,MAAM;8BAETE,uBAAS,KAACd;wBAAmBqB,MAAM;uCAAS,KAACpB;wBAAkBoB,MAAM;;;;;AAO1F,OAAO,MAAMC,kBAA2D,CAAC,EAACC,SAAS,EAAE,GAAGX,QAAO,GAC3FW,0BACI,KAACpB;QACGI,OAAOK,OAAOL,KAAK;QACnBiB,QAAQ;QACRC,cAAa;QACbC,4BAAc,KAACpB;YAAuB,GAAGM,MAAM;;uBAGnD,KAACN;QAAuB,GAAGM,MAAM;OACnC"}
|
|
@@ -3,7 +3,7 @@ import { Center, Group, Space } from '@mantine/core';
|
|
|
3
3
|
import { DatePicker } from '@mantine/dates';
|
|
4
4
|
import { useForm } from '@mantine/form';
|
|
5
5
|
import dayjs from 'dayjs';
|
|
6
|
-
import { Button } from '../button/
|
|
6
|
+
import { Button } from '../button/Button.js';
|
|
7
7
|
import DateRangeClasses from './DateRange.module.css';
|
|
8
8
|
import { DateRangePickerPresetSelect } from './DateRangePickerPresetSelect.js';
|
|
9
9
|
import { EditableDateRangePicker } from './EditableDateRangePicker.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/date-range-picker/DateRangePickerInlineCalendar.tsx"],"sourcesContent":["import {Center, Group, Space} from '@mantine/core';\nimport {DatePicker, DatePickerBaseProps, type DateStringValue, type DatesRangeValue} from '@mantine/dates';\nimport {useForm} from '@mantine/form';\n\nimport dayjs from 'dayjs';\nimport {Button} from '../button/
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/date-range-picker/DateRangePickerInlineCalendar.tsx"],"sourcesContent":["import {Center, Group, Space} from '@mantine/core';\nimport {DatePicker, DatePickerBaseProps, type DateStringValue, type DatesRangeValue} from '@mantine/dates';\nimport {useForm} from '@mantine/form';\n\nimport dayjs from 'dayjs';\nimport {Button} from '../button/Button.js';\nimport DateRangeClasses from './DateRange.module.css';\nimport {DateRangePickerPreset, DateRangePickerPresetSelect} from './DateRangePickerPresetSelect.js';\nimport {EditableDateRangePicker, EditableDateRangePickerProps} from './EditableDateRangePicker.js';\nexport interface DateRangePickerInlineCalendarProps\n extends Pick<EditableDateRangePickerProps, 'startProps' | 'endProps'> {\n /**\n * Initial selected range\n */\n initialRange: DatesRangeValue<DateStringValue | null>;\n /**\n * Function called when the user applies the new date range\n *\n * @param range the newly selected dates\n */\n onApply: (range: DatesRangeValue<DateStringValue | null>) => void;\n /**\n * Function called when the user click on the cancel button\n */\n onCancel: () => void;\n /**\n * The presets to display\n *\n * @default {}\n * @example\n * {\n * january: {label: 'January', range: [new Date(2022, 0, 1), new Date(2022, 0, 31)]},\n * february: {label: 'February', range: [new Date(2022, 1, 1), new Date(2022, 1, 28)]}\n * }\n */\n presets?: Record<string, DateRangePickerPreset>;\n /**\n * Props for RangeCalendar displayed in the popover\n */\n rangeCalendarProps?: Omit<\n DatePickerBaseProps,\n | 'value'\n | 'onChange'\n | 'isDateInRange'\n | 'isDateFirstInRange'\n | 'isDateLastInRange'\n | 'presets'\n | '__onPresetSelect'\n | 'allowDeselect'\n >;\n}\n\nconst isDateRangePickerValue = (value: unknown): value is DatesRangeValue => Array.isArray(value) && value.length === 2;\n\nconst endOfDay = (value: DateStringValue): DateStringValue => (value ? dayjs(value).endOf('day').toISOString() : value);\n\nexport const DateRangePickerInlineCalendar = ({\n initialRange,\n onApply,\n onCancel,\n presets,\n startProps,\n endProps,\n rangeCalendarProps,\n}: DateRangePickerInlineCalendarProps) => {\n const form = useForm({\n initialValues: {\n dates: initialRange,\n },\n });\n const calendarInputProps = form.getInputProps('dates');\n\n const onCalendarChange = (range: DateStringValue | DatesRangeValue<DateStringValue | null>): void => {\n // If the current value is [null, null] and a date is selected, set [selectedValue, null]\n if (isDateRangePickerValue(range) && range[0] && range[1] === null) {\n calendarInputProps.onChange([dayjs(range[0]).toISOString(), null]);\n return;\n }\n const normalized =\n isDateRangePickerValue(range) && range[1] ? [dayjs(range[0]).toISOString(), endOfDay(range[1])] : range;\n calendarInputProps.onChange(normalized);\n };\n\n const onCalendarApply = () => {\n // In case the user only clicked the start date, but not the end date,\n // assume a single day was meant to be selected.\n if (!form.values.dates[1]) {\n form.values.dates[1] = endOfDay(form.values.dates[0]);\n }\n onApply(form.values.dates);\n };\n return (\n <>\n <Group align=\"center\" gap=\"xs\" grow px=\"md\" py=\"sm\" className={DateRangeClasses.picker}>\n <EditableDateRangePicker\n value={calendarInputProps.value}\n {...calendarInputProps}\n startProps={startProps}\n endProps={endProps}\n />\n {presets ? (\n <>\n <Space w=\"sm\" />\n <DateRangePickerPresetSelect\n value={calendarInputProps.value}\n presets={presets}\n {...calendarInputProps}\n selectProps={{comboboxProps: {withinPortal: false}}}\n />\n </>\n ) : null}\n </Group>\n <Center py=\"sm\" px=\"md\">\n <DatePicker<'range'>\n numberOfColumns={2}\n columnsToScroll={1}\n type=\"range\"\n styles={{day: {textAlign: 'center'}}}\n firstDayOfWeek={0}\n allowSingleDateInRange\n {...rangeCalendarProps}\n {...calendarInputProps}\n onChange={onCalendarChange}\n />\n </Center>\n <Group justify=\"right\" gap=\"xs\" px=\"md\" py=\"sm\" className={DateRangeClasses.save}>\n <Button.Tertiary onClick={onCancel}>Cancel</Button.Tertiary>\n <Button.Primary onClick={onCalendarApply}>Apply</Button.Primary>\n </Group>\n </>\n );\n};\n"],"names":["Center","Group","Space","DatePicker","useForm","dayjs","Button","DateRangeClasses","DateRangePickerPresetSelect","EditableDateRangePicker","isDateRangePickerValue","value","Array","isArray","length","endOfDay","endOf","toISOString","DateRangePickerInlineCalendar","initialRange","onApply","onCancel","presets","startProps","endProps","rangeCalendarProps","form","initialValues","dates","calendarInputProps","getInputProps","onCalendarChange","range","onChange","normalized","onCalendarApply","values","align","gap","grow","px","py","className","picker","w","selectProps","comboboxProps","withinPortal","numberOfColumns","columnsToScroll","type","styles","day","textAlign","firstDayOfWeek","allowSingleDateInRange","justify","save","Tertiary","onClick","Primary"],"mappings":";AAAA,SAAQA,MAAM,EAAEC,KAAK,EAAEC,KAAK,QAAO,gBAAgB;AACnD,SAAQC,UAAU,QAAwE,iBAAiB;AAC3G,SAAQC,OAAO,QAAO,gBAAgB;AAEtC,OAAOC,WAAW,QAAQ;AAC1B,SAAQC,MAAM,QAAO,sBAAsB;AAC3C,OAAOC,sBAAsB,yBAAyB;AACtD,SAA+BC,2BAA2B,QAAO,mCAAmC;AACpG,SAAQC,uBAAuB,QAAqC,+BAA+B;AA4CnG,MAAMC,yBAAyB,CAACC,QAA6CC,MAAMC,OAAO,CAACF,UAAUA,MAAMG,MAAM,KAAK;AAEtH,MAAMC,WAAW,CAACJ,QAA6CA,QAAQN,MAAMM,OAAOK,KAAK,CAAC,OAAOC,WAAW,KAAKN;AAEjH,OAAO,MAAMO,gCAAgC,CAAC,EAC1CC,YAAY,EACZC,OAAO,EACPC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,QAAQ,EACRC,kBAAkB,EACe;IACjC,MAAMC,OAAOtB,QAAQ;QACjBuB,eAAe;YACXC,OAAOT;QACX;IACJ;IACA,MAAMU,qBAAqBH,KAAKI,aAAa,CAAC;IAE9C,MAAMC,mBAAmB,CAACC;QACtB,yFAAyF;QACzF,IAAItB,uBAAuBsB,UAAUA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,KAAK,MAAM;YAChEH,mBAAmBI,QAAQ,CAAC;gBAAC5B,MAAM2B,KAAK,CAAC,EAAE,EAAEf,WAAW;gBAAI;aAAK;YACjE;QACJ;QACA,MAAMiB,aACFxB,uBAAuBsB,UAAUA,KAAK,CAAC,EAAE,GAAG;YAAC3B,MAAM2B,KAAK,CAAC,EAAE,EAAEf,WAAW;YAAIF,SAASiB,KAAK,CAAC,EAAE;SAAE,GAAGA;QACtGH,mBAAmBI,QAAQ,CAACC;IAChC;IAEA,MAAMC,kBAAkB;QACpB,sEAAsE;QACtE,gDAAgD;QAChD,IAAI,CAACT,KAAKU,MAAM,CAACR,KAAK,CAAC,EAAE,EAAE;YACvBF,KAAKU,MAAM,CAACR,KAAK,CAAC,EAAE,GAAGb,SAASW,KAAKU,MAAM,CAACR,KAAK,CAAC,EAAE;QACxD;QACAR,QAAQM,KAAKU,MAAM,CAACR,KAAK;IAC7B;IACA,qBACI;;0BACI,MAAC3B;gBAAMoC,OAAM;gBAASC,KAAI;gBAAKC,IAAI;gBAACC,IAAG;gBAAKC,IAAG;gBAAKC,WAAWnC,iBAAiBoC,MAAM;;kCAClF,KAAClC;wBACGE,OAAOkB,mBAAmBlB,KAAK;wBAC9B,GAAGkB,kBAAkB;wBACtBN,YAAYA;wBACZC,UAAUA;;oBAEbF,wBACG;;0CACI,KAACpB;gCAAM0C,GAAE;;0CACT,KAACpC;gCACGG,OAAOkB,mBAAmBlB,KAAK;gCAC/BW,SAASA;gCACR,GAAGO,kBAAkB;gCACtBgB,aAAa;oCAACC,eAAe;wCAACC,cAAc;oCAAK;gCAAC;;;yBAG1D;;;0BAER,KAAC/C;gBAAOyC,IAAG;gBAAKD,IAAG;0BACf,cAAA,KAACrC;oBACG6C,iBAAiB;oBACjBC,iBAAiB;oBACjBC,MAAK;oBACLC,QAAQ;wBAACC,KAAK;4BAACC,WAAW;wBAAQ;oBAAC;oBACnCC,gBAAgB;oBAChBC,sBAAsB;oBACrB,GAAG9B,kBAAkB;oBACrB,GAAGI,kBAAkB;oBACtBI,UAAUF;;;0BAGlB,MAAC9B;gBAAMuD,SAAQ;gBAAQlB,KAAI;gBAAKE,IAAG;gBAAKC,IAAG;gBAAKC,WAAWnC,iBAAiBkD,IAAI;;kCAC5E,KAACnD,OAAOoD,QAAQ;wBAACC,SAAStC;kCAAU;;kCACpC,KAACf,OAAOsD,OAAO;wBAACD,SAASxB;kCAAiB;;;;;;AAI1D,EAAE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Anchor, Tooltip, factory, useProps } from '@mantine/core';
|
|
3
3
|
import { useHeaderContext } from '../Header.context.js';
|
|
4
|
-
import { InfoToken } from '../../info-token/
|
|
4
|
+
import { InfoToken } from '../../info-token/InfoToken.js';
|
|
5
5
|
const defaultProps = {
|
|
6
6
|
position: 'right',
|
|
7
7
|
children: /*#__PURE__*/ _jsx(InfoToken, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/header/HeaderDocAnchor/HeaderDocAnchor.tsx"],"sourcesContent":["import {\n Anchor,\n AnchorProps,\n CompoundStylesApiProps,\n Factory,\n Tooltip,\n TooltipProps,\n factory,\n useProps,\n} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {useHeaderContext} from '../Header.context.js';\nimport {InfoToken} from '../../info-token/
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/header/HeaderDocAnchor/HeaderDocAnchor.tsx"],"sourcesContent":["import {\n Anchor,\n AnchorProps,\n CompoundStylesApiProps,\n Factory,\n Tooltip,\n TooltipProps,\n factory,\n useProps,\n} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {useHeaderContext} from '../Header.context.js';\nimport {InfoToken} from '../../info-token/InfoToken.js';\n\nexport type HeaderDocAnchorStyleNames = 'docAnchorTooltip' | 'docAnchor';\n\nexport interface HeaderDocAnchorProps\n extends Pick<TooltipProps, 'position'>,\n CompoundStylesApiProps<HeaderDocAnchorFactory>,\n Omit<AnchorProps, 'classNames' | 'styles' | 'variant' | 'vars'> {\n /**\n * A href pointing to documentation related to the current panel.\n * When provided, an info icon is rendered next to the title as link to this documentation\n */\n href: string;\n /**\n * The tooltip text shown when hovering over the doc link icon\n */\n label?: ReactNode;\n /**\n * React component to add the tooltip and anchor on\n */\n children?: ReactNode;\n}\n\nexport type HeaderDocAnchorFactory = Factory<{\n props: HeaderDocAnchorProps;\n ref: HTMLAnchorElement;\n stylesNames: HeaderDocAnchorStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<HeaderDocAnchorProps> = {\n position: 'right',\n children: <InfoToken variant=\"question\" />,\n};\n\nexport const HeaderDocAnchor = factory<HeaderDocAnchorFactory>((_props, ref) => {\n const props = useProps('PlasmaHeaderActions', defaultProps, _props);\n const {className, classNames, styles, style, children, label, position, vars, ...others} = props;\n\n const ctx = useHeaderContext();\n\n return (\n <Tooltip\n label={label}\n disabled={!label}\n position={position}\n classNames={{tooltip: ctx.getStyles('docAnchorTooltip', {classNames, styles, props}).className}}\n >\n <Anchor\n ref={ref}\n inline\n target=\"_blank\"\n {...ctx.getStyles('docAnchor', {classNames, styles, props, style, className})}\n {...others}\n >\n {children}\n </Anchor>\n </Tooltip>\n );\n});\n"],"names":["Anchor","Tooltip","factory","useProps","useHeaderContext","InfoToken","defaultProps","position","children","variant","HeaderDocAnchor","_props","ref","props","className","classNames","styles","style","label","vars","others","ctx","disabled","tooltip","getStyles","inline","target"],"mappings":";AAAA,SACIA,MAAM,EAINC,OAAO,EAEPC,OAAO,EACPC,QAAQ,QACL,gBAAgB;AAEvB,SAAQC,gBAAgB,QAAO,uBAAuB;AACtD,SAAQC,SAAS,QAAO,gCAAgC;AA8BxD,MAAMC,eAA8C;IAChDC,UAAU;IACVC,wBAAU,KAACH;QAAUI,SAAQ;;AACjC;AAEA,OAAO,MAAMC,kBAAkBR,QAAgC,CAACS,QAAQC;IACpE,MAAMC,QAAQV,SAAS,uBAAuBG,cAAcK;IAC5D,MAAM,EAACG,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,KAAK,EAAET,QAAQ,EAAEU,KAAK,EAAEX,QAAQ,EAAEY,IAAI,EAAE,GAAGC,QAAO,GAAGP;IAE3F,MAAMQ,MAAMjB;IAEZ,qBACI,KAACH;QACGiB,OAAOA;QACPI,UAAU,CAACJ;QACXX,UAAUA;QACVQ,YAAY;YAACQ,SAASF,IAAIG,SAAS,CAAC,oBAAoB;gBAACT;gBAAYC;gBAAQH;YAAK,GAAGC,SAAS;QAAA;kBAE9F,cAAA,KAACd;YACGY,KAAKA;YACLa,MAAM;YACNC,QAAO;YACN,GAAGL,IAAIG,SAAS,CAAC,aAAa;gBAACT;gBAAYC;gBAAQH;gBAAOI;gBAAOH;YAAS,EAAE;YAC5E,GAAGM,MAAM;sBAETZ;;;AAIjB,GAAG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MouseEventHandler } from 'react';
|
|
2
|
-
import { ButtonProps } from '../button/
|
|
2
|
+
import { type ButtonProps } from '../button/Button.js';
|
|
3
3
|
import { InlineConfirmComponentsProps } from './InlineConfirm.js';
|
|
4
4
|
export interface InlineConfirmTargetProps extends ButtonProps, InlineConfirmComponentsProps {
|
|
5
5
|
onClick?: MouseEventHandler<HTMLButtonElement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineConfirmTarget.d.ts","sourceRoot":"","sources":["../../../../src/components/inline-confirm/InlineConfirmTarget.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,iBAAiB,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,EAAS,WAAW,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"InlineConfirmTarget.d.ts","sourceRoot":"","sources":["../../../../src/components/inline-confirm/InlineConfirmTarget.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,iBAAiB,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,EAAS,KAAK,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAC,4BAA4B,EAAC,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,wBAAyB,SAAQ,WAAW,EAAE,4BAA4B;IACvF,OAAO,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAoB/B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { createPolymorphicComponent } from '@mantine/core';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
|
-
import { Button } from '../button/
|
|
4
|
+
import { Button } from '../button/Button.js';
|
|
5
5
|
import { useInlineConfirm } from './InlineConfirmContext.js';
|
|
6
6
|
export const InlineConfirmTarget = createPolymorphicComponent(/*#__PURE__*/ forwardRef(({ onClick, inlineConfirmId, component: Component = Button, ...others }, ref)=>{
|
|
7
7
|
const { setConfirmingId } = useInlineConfirm();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmTarget.tsx"],"sourcesContent":["import {createPolymorphicComponent} from '@mantine/core';\nimport {forwardRef, MouseEventHandler} from 'react';\nimport {Button, ButtonProps} from '../button/
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmTarget.tsx"],"sourcesContent":["import {createPolymorphicComponent} from '@mantine/core';\nimport {forwardRef, MouseEventHandler} from 'react';\nimport {Button, type ButtonProps} from '../button/Button.js';\nimport {InlineConfirmComponentsProps} from './InlineConfirm.js';\nimport {useInlineConfirm} from './InlineConfirmContext.js';\n\nexport interface InlineConfirmTargetProps extends ButtonProps, InlineConfirmComponentsProps {\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const InlineConfirmTarget = createPolymorphicComponent<typeof Button, InlineConfirmTargetProps>(\n forwardRef(\n (\n {\n onClick,\n inlineConfirmId,\n component: Component = Button,\n ...others\n }: InlineConfirmTargetProps & {component?: any},\n ref,\n ) => {\n const {setConfirmingId} = useInlineConfirm();\n const handleOnClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n setConfirmingId(inlineConfirmId);\n onClick?.(e);\n };\n\n return <Component ref={ref} onClick={handleOnClick} {...others} />;\n },\n ),\n);\n"],"names":["createPolymorphicComponent","forwardRef","Button","useInlineConfirm","InlineConfirmTarget","onClick","inlineConfirmId","component","Component","others","ref","setConfirmingId","handleOnClick","e"],"mappings":";AAAA,SAAQA,0BAA0B,QAAO,gBAAgB;AACzD,SAAQC,UAAU,QAA0B,QAAQ;AACpD,SAAQC,MAAM,QAAyB,sBAAsB;AAE7D,SAAQC,gBAAgB,QAAO,4BAA4B;AAM3D,OAAO,MAAMC,sBAAsBJ,yCAC/BC,WACI,CACI,EACII,OAAO,EACPC,eAAe,EACfC,WAAWC,YAAYN,MAAM,EAC7B,GAAGO,QACwC,EAC/CC;IAEA,MAAM,EAACC,eAAe,EAAC,GAAGR;IAC1B,MAAMS,gBAAsD,CAACC;QACzDF,gBAAgBL;QAChBD,UAAUQ;IACd;IAEA,qBAAO,KAACL;QAAUE,KAAKA;QAAKL,SAASO;QAAgB,GAAGH,MAAM;;AAClE,IAEN"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Menu as MantineMenu, MenuItemProps as MantineMenuItemProps } from '@mantine/core';
|
|
2
|
-
import { ButtonWithDisabledTooltipProps } from '../button/
|
|
2
|
+
import { ButtonWithDisabledTooltipProps } from '../button/ButtonWithDisabledTooltip.js';
|
|
3
3
|
export interface MenuItemProps extends MantineMenuItemProps, ButtonWithDisabledTooltipProps {
|
|
4
4
|
}
|
|
5
5
|
export declare const Menu: ((_props: import("@mantine/core").MenuProps) => import("react/jsx-runtime").JSX.Element) & typeof MantineMenu & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,IAAI,WAAW,EAAE,aAAa,IAAI,oBAAoB,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,IAAI,WAAW,EAAE,aAAa,IAAI,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAKzF,OAAO,EAA4B,8BAA8B,EAAC,MAAM,wCAAwC,CAAC;AAEjH,MAAM,WAAW,aAAc,SAAQ,oBAAoB,EAAE,8BAA8B;CAAG;AAsB9F,eAAO,MAAM,IAAI;;;;;;;;;CAGf,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Menu as MantineMenu } from '@mantine/core';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
|
-
import { createPolymorphicComponent
|
|
4
|
+
import { createPolymorphicComponent } from '../../utils/createPolymorphicComponent.js';
|
|
5
|
+
import { overrideComponent } from '../../utils/overrideComponent.js';
|
|
5
6
|
import { ButtonWithDisabledTooltip } from '../button/ButtonWithDisabledTooltip.js';
|
|
6
7
|
const _MenuItem = /*#__PURE__*/ forwardRef(({ disabledTooltip, disabled, disabledTooltipProps, ...others }, ref)=>/*#__PURE__*/ _jsx(ButtonWithDisabledTooltip, {
|
|
7
8
|
disabled: disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/menu/Menu.tsx"],"sourcesContent":["import {Menu as MantineMenu, MenuItemProps as MantineMenuItemProps} from '@mantine/core';\nimport {forwardRef} from 'react';\n\nimport {createPolymorphicComponent
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/menu/Menu.tsx"],"sourcesContent":["import {Menu as MantineMenu, MenuItemProps as MantineMenuItemProps} from '@mantine/core';\nimport {forwardRef} from 'react';\n\nimport {createPolymorphicComponent} from '../../utils/createPolymorphicComponent.js';\nimport {overrideComponent} from '../../utils/overrideComponent.js';\nimport {ButtonWithDisabledTooltip, ButtonWithDisabledTooltipProps} from '../button/ButtonWithDisabledTooltip.js';\n\nexport interface MenuItemProps extends MantineMenuItemProps, ButtonWithDisabledTooltipProps {}\n\nconst _MenuItem = forwardRef<HTMLButtonElement, MenuItemProps>(\n ({disabledTooltip, disabled, disabledTooltipProps, ...others}, ref) => (\n <ButtonWithDisabledTooltip\n disabled={disabled}\n disabledTooltip={disabledTooltip}\n disabledTooltipProps={disabledTooltipProps}\n >\n <MantineMenu.Item\n ref={ref}\n disabled={disabled}\n data-disabled={disabled}\n {...others}\n {...(disabled && (others as any).href ? {href: undefined} : {})}\n />\n </ButtonWithDisabledTooltip>\n ),\n);\n\nconst MenuItem = createPolymorphicComponent<'button', MenuItemProps>(_MenuItem);\n\nexport const Menu = overrideComponent(MantineMenu, {\n displayName: '@coveord/plasma-mantine/Menu',\n Item: MenuItem,\n});\n"],"names":["Menu","MantineMenu","forwardRef","createPolymorphicComponent","overrideComponent","ButtonWithDisabledTooltip","_MenuItem","disabledTooltip","disabled","disabledTooltipProps","others","ref","Item","data-disabled","href","undefined","MenuItem","displayName"],"mappings":";AAAA,SAAQA,QAAQC,WAAW,QAA8C,gBAAgB;AACzF,SAAQC,UAAU,QAAO,QAAQ;AAEjC,SAAQC,0BAA0B,QAAO,4CAA4C;AACrF,SAAQC,iBAAiB,QAAO,mCAAmC;AACnE,SAAQC,yBAAyB,QAAuC,yCAAyC;AAIjH,MAAMC,0BAAYJ,WACd,CAAC,EAACK,eAAe,EAAEC,QAAQ,EAAEC,oBAAoB,EAAE,GAAGC,QAAO,EAAEC,oBAC3D,KAACN;QACGG,UAAUA;QACVD,iBAAiBA;QACjBE,sBAAsBA;kBAEtB,cAAA,KAACR,YAAYW,IAAI;YACbD,KAAKA;YACLH,UAAUA;YACVK,iBAAeL;YACd,GAAGE,MAAM;YACT,GAAIF,YAAY,AAACE,OAAeI,IAAI,GAAG;gBAACA,MAAMC;YAAS,IAAI,CAAC,CAAC;;;AAM9E,MAAMC,WAAWb,2BAAoDG;AAErE,OAAO,MAAMN,OAAOI,kBAAkBH,aAAa;IAC/CgB,aAAa;IACbL,MAAMI;AACV,GAAG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModalFactory as MantineModalFactory, ModalProps as MantineModalProps } from '@mantine/core';
|
|
2
|
-
import { HeaderDocAnchorProps, HeaderProps } from '../header/
|
|
2
|
+
import { type HeaderDocAnchorProps, type HeaderProps } from '../header/Header.js';
|
|
3
3
|
import { ModalFooter as PlasmaModalFooter } from './ModalFooter.js';
|
|
4
4
|
interface PlasmaModalProps extends MantineModalProps {
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGH,YAAY,IAAI,mBAAmB,EACnC,UAAU,IAAI,iBAAiB,EAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAS,oBAAoB,EAAE,WAAW,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGH,YAAY,IAAI,mBAAmB,EACnC,UAAU,IAAI,iBAAiB,EAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAS,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAC,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAElE,UAAU,gBAAiB,SAAQ,iBAAiB;IAChD;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACzC;;;OAGG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAGD,KAAK,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAAG;IACtE,KAAK,EAAE,gBAAgB,CAAC;IACxB,gBAAgB,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,GAAG;QACxD,MAAM,EAAE,OAAO,iBAAiB,CAAC;KACpC,CAAC;CACL,CAAC;AA0BF,eAAO,MAAM,KAAK,8DAAc,CAAC;AACjC,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { factory, Modal as MantineModal } from '@mantine/core';
|
|
3
|
-
import { Header } from '../header/
|
|
3
|
+
import { Header } from '../header/Header.js';
|
|
4
4
|
import { ModalFooter as PlasmaModalFooter } from './ModalFooter.js';
|
|
5
5
|
const PlasmaModal = factory(({ title, description, help, ...otherProps }, ref)=>{
|
|
6
6
|
const header = typeof title === 'string' ? /*#__PURE__*/ _jsxs(Header, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["import {\n factory,\n Modal as MantineModal,\n ModalFactory as MantineModalFactory,\n ModalProps as MantineModalProps,\n} from '@mantine/core';\nimport {Header, HeaderDocAnchorProps, HeaderProps} from '../header/
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["import {\n factory,\n Modal as MantineModal,\n ModalFactory as MantineModalFactory,\n ModalProps as MantineModalProps,\n} from '@mantine/core';\nimport {Header, type HeaderDocAnchorProps, type HeaderProps} from '../header/Header.js';\nimport {ModalFooter as PlasmaModalFooter} from './ModalFooter.js';\n\ninterface PlasmaModalProps extends MantineModalProps {\n /**\n * Description of the modal, displayed below the title.\n */\n description?: HeaderProps['description'];\n /**\n * Help link for the modal, displayed in the header.\n * Usually provides a link to external documentation or help resources.\n */\n help?: HeaderDocAnchorProps;\n}\n\n// Need to redeclare the factory to override and add footer to the props type\ntype PlasmaModalFactory = Omit<MantineModalFactory, 'staticComponents'> & {\n props: PlasmaModalProps;\n staticComponents: MantineModalFactory['staticComponents'] & {\n Footer: typeof PlasmaModalFooter;\n };\n};\n\nconst PlasmaModal = factory<PlasmaModalFactory>(({title, description, help, ...otherProps}, ref) => {\n const header =\n typeof title === 'string' ? (\n <Header titleComponent=\"div\" variant=\"secondary\" description={description}>\n {title}\n {help && <Header.DocAnchor {...help} />}\n </Header>\n ) : (\n title\n );\n return <MantineModal ref={ref} title={header} {...otherProps} />;\n});\n\nPlasmaModal.displayName = '@coveord/plasma-mantine/Modal';\nPlasmaModal.Root = MantineModal.Root;\nPlasmaModal.Body = MantineModal.Body;\nPlasmaModal.Overlay = MantineModal.Overlay;\nPlasmaModal.Content = MantineModal.Content;\nPlasmaModal.Header = MantineModal.Header;\nPlasmaModal.Title = MantineModal.Title;\nPlasmaModal.CloseButton = MantineModal.CloseButton;\nPlasmaModal.Stack = MantineModal.Stack;\nPlasmaModal.Footer = PlasmaModalFooter;\n\nexport const Modal = PlasmaModal;\nexport type ModalProps = PlasmaModalProps;\n\nexport type ModalFactory = PlasmaModalFactory;\n"],"names":["factory","Modal","MantineModal","Header","ModalFooter","PlasmaModalFooter","PlasmaModal","title","description","help","otherProps","ref","header","titleComponent","variant","DocAnchor","displayName","Root","Body","Overlay","Content","Title","CloseButton","Stack","Footer"],"mappings":";AAAA,SACIA,OAAO,EACPC,SAASC,YAAY,QAGlB,gBAAgB;AACvB,SAAQC,MAAM,QAAoD,sBAAsB;AACxF,SAAQC,eAAeC,iBAAiB,QAAO,mBAAmB;AAsBlE,MAAMC,cAAcN,QAA4B,CAAC,EAACO,KAAK,EAAEC,WAAW,EAAEC,IAAI,EAAE,GAAGC,YAAW,EAAEC;IACxF,MAAMC,SACF,OAAOL,UAAU,yBACb,MAACJ;QAAOU,gBAAe;QAAMC,SAAQ;QAAYN,aAAaA;;YACzDD;YACAE,sBAAQ,KAACN,OAAOY,SAAS;gBAAE,GAAGN,IAAI;;;SAGvCF;IAER,qBAAO,KAACL;QAAaS,KAAKA;QAAKJ,OAAOK;QAAS,GAAGF,UAAU;;AAChE;AAEAJ,YAAYU,WAAW,GAAG;AAC1BV,YAAYW,IAAI,GAAGf,aAAae,IAAI;AACpCX,YAAYY,IAAI,GAAGhB,aAAagB,IAAI;AACpCZ,YAAYa,OAAO,GAAGjB,aAAaiB,OAAO;AAC1Cb,YAAYc,OAAO,GAAGlB,aAAakB,OAAO;AAC1Cd,YAAYH,MAAM,GAAGD,aAAaC,MAAM;AACxCG,YAAYe,KAAK,GAAGnB,aAAamB,KAAK;AACtCf,YAAYgB,WAAW,GAAGpB,aAAaoB,WAAW;AAClDhB,YAAYiB,KAAK,GAAGrB,aAAaqB,KAAK;AACtCjB,YAAYkB,MAAM,GAAGnB;AAErB,OAAO,MAAMJ,QAAQK,YAAY"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Factory } from '@mantine/core';
|
|
2
|
-
import { StickyFooterProps, StickyFooterStylesNames } from '../sticky-footer/
|
|
2
|
+
import { type StickyFooterProps, type StickyFooterStylesNames } from '../sticky-footer/StickyFooter.js';
|
|
3
3
|
export interface ModalFooterProps extends Omit<StickyFooterProps, 'variant'> {
|
|
4
4
|
}
|
|
5
5
|
export type ModalFooterStylesNames = StickyFooterStylesNames;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/ModalFooter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAU,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAe,iBAAiB,EAAE,uBAAuB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ModalFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/ModalFooter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAU,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAe,KAAK,iBAAiB,EAAE,KAAK,uBAAuB,EAAC,MAAM,kCAAkC,CAAC;AAGpH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;CAAG;AAE/E,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC;IACxB,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,sBAAsB,CAAC;CACvC,CAAC,CAAC;AAOH,eAAO,MAAM,WAAW;WAVb,gBAAgB;SAClB,cAAc;iBACN,sBAAsB;EAsBrC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useRef, useEffect } from 'react';
|
|
3
3
|
import { factory } from '@mantine/core';
|
|
4
|
-
import { StickyFooter } from '../sticky-footer/
|
|
4
|
+
import { StickyFooter } from '../sticky-footer/StickyFooter.js';
|
|
5
5
|
import classes from './ModalFooter.module.css';
|
|
6
6
|
const ensuresFooterHasEvenHeight = (footer)=>{
|
|
7
7
|
const remainder = footer.offsetHeight % 2;
|