@coveord/plasma-mantine 52.8.1 → 52.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +33 -32
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/cjs/components/button/Button.js +2 -2
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.d.ts.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.js +4 -2
- package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
- package/dist/cjs/components/code-editor/search/Search.js.map +1 -1
- package/dist/cjs/components/collection/Collection.js +13 -9
- package/dist/cjs/components/collection/Collection.js.map +1 -1
- package/dist/cjs/components/collection/Collection.styles.js.map +1 -1
- package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js +4 -3
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +4 -2
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +9 -6
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmButton.js +2 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmButton.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js +2 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/cjs/components/inline-confirm/useInlineConfirm.js.map +1 -1
- package/dist/cjs/components/menu/Menu.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizard.js +16 -10
- package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizardStep.js.map +1 -1
- package/dist/cjs/components/prompt/Prompt.js.map +1 -1
- package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/cjs/components/table/Table.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.js +33 -20
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.styles.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.styles.js +1 -10
- package/dist/cjs/components/table/Table.styles.js.map +1 -1
- package/dist/cjs/components/table/Table.types.d.ts +14 -3
- package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
- package/dist/cjs/components/table/TableActions.js.map +1 -1
- package/dist/cjs/components/table/TableCollapsibleColumn.js +2 -1
- package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
- package/dist/cjs/components/table/TableContext.js.map +1 -1
- package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/table/TableFilter.js.map +1 -1
- package/dist/cjs/components/table/TableFooter.js +2 -2
- package/dist/cjs/components/table/TableFooter.js.map +1 -1
- package/dist/cjs/components/table/TableHeader.js +1 -1
- package/dist/cjs/components/table/TableHeader.js.map +1 -1
- package/dist/cjs/components/table/TableLastUpdated.d.ts +24 -0
- package/dist/cjs/components/table/TableLastUpdated.d.ts.map +1 -0
- package/dist/cjs/components/table/TableLastUpdated.js +73 -0
- package/dist/cjs/components/table/TableLastUpdated.js.map +1 -0
- package/dist/cjs/components/table/TableLayoutControl.js.map +1 -1
- package/dist/cjs/components/table/TableLoading.js.map +1 -1
- package/dist/cjs/components/table/TablePagination.d.ts.map +1 -1
- package/dist/cjs/components/table/TablePagination.js +1 -0
- package/dist/cjs/components/table/TablePagination.js.map +1 -1
- package/dist/cjs/components/table/TablePerPage.js +5 -2
- package/dist/cjs/components/table/TablePerPage.js.map +1 -1
- package/dist/cjs/components/table/TablePredicate.js.map +1 -1
- package/dist/cjs/components/table/TableSelectableColumn.js.map +1 -1
- package/dist/cjs/components/table/Th.js.map +1 -1
- package/dist/cjs/components/table/index.js.map +1 -1
- package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/RowLayout.js +45 -11
- package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -1
- package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
- package/dist/cjs/components/table/useRowSelection.d.ts +2 -2
- package/dist/cjs/components/table/useRowSelection.d.ts.map +1 -1
- package/dist/cjs/components/table/useRowSelection.js +10 -4
- package/dist/cjs/components/table/useRowSelection.js.map +1 -1
- package/dist/cjs/form/FormProvider.js.map +1 -1
- package/dist/cjs/form/useForm.js.map +1 -1
- package/dist/cjs/hooks/useControlledList.js +6 -3
- package/dist/cjs/hooks/useControlledList.js.map +1 -1
- package/dist/cjs/hooks/useParentHeight.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/theme/PlasmaColors.js.map +1 -1
- package/dist/cjs/theme/Plasmantine.js.map +1 -1
- package/dist/cjs/theme/Theme.d.ts.map +1 -1
- package/dist/cjs/theme/Theme.js +28 -1
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -1
- package/dist/cjs/utils/overrideComponent.js.map +1 -1
- package/dist/esm/components/button/Button.js +2 -2
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.js +4 -2
- package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
- package/dist/esm/components/collection/Collection.js +13 -9
- package/dist/esm/components/collection/Collection.js.map +1 -1
- package/dist/esm/components/collection/Collection.styles.js.map +1 -1
- package/dist/esm/components/collection/CollectionItem.js.map +1 -1
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js +4 -3
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +4 -2
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +9 -6
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmButton.js +2 -1
- package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js +2 -1
- package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
- package/dist/esm/components/menu/Menu.js.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizard.js +16 -10
- package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -1
- package/dist/esm/components/prompt/Prompt.js.map +1 -1
- package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/esm/components/table/Table.d.ts.map +1 -1
- package/dist/esm/components/table/Table.js +35 -22
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.styles.d.ts.map +1 -1
- package/dist/esm/components/table/Table.styles.js +1 -10
- package/dist/esm/components/table/Table.styles.js.map +1 -1
- package/dist/esm/components/table/Table.types.d.ts +14 -3
- package/dist/esm/components/table/Table.types.d.ts.map +1 -1
- package/dist/esm/components/table/Table.types.js.map +1 -1
- package/dist/esm/components/table/TableActions.js.map +1 -1
- package/dist/esm/components/table/TableCollapsibleColumn.js +2 -1
- package/dist/esm/components/table/TableCollapsibleColumn.js.map +1 -1
- package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/TableFilter.js.map +1 -1
- package/dist/esm/components/table/TableFooter.js +2 -2
- package/dist/esm/components/table/TableFooter.js.map +1 -1
- package/dist/esm/components/table/TableHeader.js +1 -1
- package/dist/esm/components/table/TableHeader.js.map +1 -1
- package/dist/esm/components/table/TableLastUpdated.d.ts +24 -0
- package/dist/esm/components/table/TableLastUpdated.d.ts.map +1 -0
- package/dist/esm/components/table/TableLastUpdated.js +62 -0
- package/dist/esm/components/table/TableLastUpdated.js.map +1 -0
- package/dist/esm/components/table/TableLayoutControl.js.map +1 -1
- package/dist/esm/components/table/TableLoading.js.map +1 -1
- package/dist/esm/components/table/TablePagination.d.ts.map +1 -1
- package/dist/esm/components/table/TablePagination.js +1 -0
- package/dist/esm/components/table/TablePagination.js.map +1 -1
- package/dist/esm/components/table/TablePerPage.js +5 -2
- package/dist/esm/components/table/TablePerPage.js.map +1 -1
- package/dist/esm/components/table/TablePredicate.js.map +1 -1
- package/dist/esm/components/table/TableSelectableColumn.js.map +1 -1
- package/dist/esm/components/table/Th.js.map +1 -1
- package/dist/esm/components/table/layouts/RowLayout.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/RowLayout.js +46 -12
- package/dist/esm/components/table/layouts/RowLayout.js.map +1 -1
- package/dist/esm/components/table/useRowSelection.d.ts +2 -2
- package/dist/esm/components/table/useRowSelection.d.ts.map +1 -1
- package/dist/esm/components/table/useRowSelection.js +10 -4
- package/dist/esm/components/table/useRowSelection.js.map +1 -1
- package/dist/esm/form/FormProvider.js.map +1 -1
- package/dist/esm/form/useForm.js.map +1 -1
- package/dist/esm/hooks/useControlledList.js +6 -3
- package/dist/esm/hooks/useControlledList.js.map +1 -1
- package/dist/esm/hooks/useParentHeight.js.map +1 -1
- package/dist/esm/theme/PlasmaColors.js.map +1 -1
- package/dist/esm/theme/Theme.d.ts.map +1 -1
- package/dist/esm/theme/Theme.js +28 -1
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/utils/overrideComponent.js.map +1 -1
- package/package.json +20 -20
- package/src/__tests__/VitestSetup.ts +12 -0
- package/src/components/code-editor/CodeEditor.tsx +4 -2
- package/src/components/code-editor/__tests__/CodeEditor.spec.tsx +1 -0
- package/src/components/date-range-picker/DateRangePickerPresetSelect.tsx +1 -0
- package/src/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.tsx +2 -0
- package/src/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +4 -19
- package/src/components/date-range-picker/__tests__/EditableDateRangePicker.spec.tsx +3 -3
- package/src/components/modal-wizard/__tests__/ModalWizard.spec.tsx +19 -4
- package/src/components/table/Table.styles.ts +0 -9
- package/src/components/table/Table.tsx +22 -13
- package/src/components/table/Table.types.ts +14 -3
- package/src/components/table/TableFooter.tsx +1 -1
- package/src/components/table/TableHeader.tsx +1 -1
- package/src/components/table/TableLastUpdated.tsx +51 -0
- package/src/components/table/TablePagination.tsx +1 -0
- package/src/components/table/TablePerPage.tsx +3 -3
- package/src/components/table/__tests__/Table.spec.tsx +44 -5
- package/src/components/table/__tests__/TableActions.spec.tsx +4 -3
- package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +26 -59
- package/src/components/table/__tests__/TableLastUpdated.spec.tsx +97 -0
- package/src/components/table/__tests__/TablePredicate.spec.tsx +7 -55
- package/src/components/table/layouts/RowLayout.tsx +45 -11
- package/src/components/table/useRowSelection.ts +13 -6
- package/src/theme/Theme.tsx +20 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/date-range-picker/EditableDateRangePicker.tsx"],"sourcesContent":["import {DateInput, DatePickerProps} from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport {ReactNode} from 'react';\nimport {DateRangePickerValue} from './DateRangePickerInlineCalendar';\n\nexport interface EditableDateRangePickerProps {\n value: DateRangePickerValue;\n onChange?(value: DateRangePickerValue): void;\n onFocus?: () => void;\n separator?: ReactNode;\n /**\n * Props for the start input\n */\n startProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n /**\n * Props for the end input\n */\n endProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n}\n\nexport const EditableDateRangePicker = ({\n value,\n onChange,\n onFocus,\n separator = 'to',\n startProps = {},\n endProps = {},\n}: EditableDateRangePickerProps) => {\n const onChangeStart = (date: Date) => {\n onChange?.([dayjs(date).startOf('day').toDate(), value?.[1]]);\n };\n const onChangeEnd = (date: Date) => {\n onChange?.([value?.[0], dayjs(date).endOf('day').toDate()]);\n };\n\n return (\n <>\n <DateInput\n clearable={false}\n label=\"Start\"\n value={value?.[0]}\n onChange={onChangeStart}\n onFocus={onFocus}\n popoverProps={{styles: {dropdown: {display: 'none'}}}}\n styles={{...startProps.styles}}\n />\n {separator}\n <DateInput\n clearable={false}\n label=\"End\"\n value={value?.[1]}\n onChange={onChangeEnd}\n onFocus={onFocus}\n popoverProps={{styles: {dropdown: {display: 'none'}}}}\n styles={{...endProps.styles}}\n />\n </>\n );\n};\n"],"names":["EditableDateRangePicker","value","onChange","onFocus","separator","startProps","endProps","onChangeStart","date","dayjs","startOf","toDate","onChangeEnd","endOf","DateInput","clearable","label","popoverProps","styles","dropdown","display"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;;;qBApB4B;8DACvB;AAmBX,IAAMA,0BAA0B;QACnCC,cAAAA,OACAC,iBAAAA,UACAC,gBAAAA,kCACAC,WAAAA,0CAAY,mDACZC,YAAAA,4CAAa,CAAC,+CACdC,UAAAA,wCAAW,CAAC;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/date-range-picker/EditableDateRangePicker.tsx"],"sourcesContent":["import {DateInput, DatePickerProps} from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport {ReactNode} from 'react';\nimport {DateRangePickerValue} from './DateRangePickerInlineCalendar';\n\nexport interface EditableDateRangePickerProps {\n value: DateRangePickerValue;\n onChange?(value: DateRangePickerValue): void;\n onFocus?: () => void;\n separator?: ReactNode;\n /**\n * Props for the start input\n */\n startProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n /**\n * Props for the end input\n */\n endProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n}\n\nexport const EditableDateRangePicker = ({\n value,\n onChange,\n onFocus,\n separator = 'to',\n startProps = {},\n endProps = {},\n}: EditableDateRangePickerProps) => {\n const onChangeStart = (date: Date) => {\n onChange?.([dayjs(date).startOf('day').toDate(), value?.[1]]);\n };\n const onChangeEnd = (date: Date) => {\n onChange?.([value?.[0], dayjs(date).endOf('day').toDate()]);\n };\n\n return (\n <>\n <DateInput\n clearable={false}\n label=\"Start\"\n value={value?.[0]}\n onChange={onChangeStart}\n onFocus={onFocus}\n popoverProps={{styles: {dropdown: {display: 'none'}}}}\n styles={{...startProps.styles}}\n />\n {separator}\n <DateInput\n clearable={false}\n label=\"End\"\n value={value?.[1]}\n onChange={onChangeEnd}\n onFocus={onFocus}\n popoverProps={{styles: {dropdown: {display: 'none'}}}}\n styles={{...endProps.styles}}\n />\n </>\n );\n};\n"],"names":["EditableDateRangePicker","value","onChange","onFocus","separator","startProps","endProps","onChangeStart","date","dayjs","startOf","toDate","onChangeEnd","endOf","DateInput","clearable","label","popoverProps","styles","dropdown","display"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;;;qBApB4B;8DACvB;AAmBX,IAAMA,0BAA0B;QACnCC,cAAAA,OACAC,iBAAAA,UACAC,gBAAAA,kCACAC,WAAAA,0CAAY,mDACZC,YAAAA,4CAAa,CAAC,+CACdC,UAAAA,wCAAW,CAAC;QAcOL,QAUAA;IAtBnB,IAAMM,gBAAgB,SAACC;YACnBN,WAAiDD;SAAjDC,YAAAA,sBAAAA,gCAAAA,UAAW;YAACO,IAAAA,cAAK,EAACD,MAAME,OAAO,CAAC,OAAOC,MAAM;aAAIV,SAAAA,mBAAAA,6BAAAA,MAAO,CAAC,EAAE;SAAC;IAChE;IACA,IAAMW,cAAc,SAACJ;YACjBN,WAAYD;SAAZC,YAAAA,sBAAAA,gCAAAA,UAAW;aAACD,SAAAA,mBAAAA,6BAAAA,MAAO,CAAC,EAAE;YAAEQ,IAAAA,cAAK,EAACD,MAAMK,KAAK,CAAC,OAAOF,MAAM;SAAG;IAC9D;IAEA,qBACI;;0BACI,qBAACG,gBAAS;gBACNC,WAAW;gBACXC,OAAM;gBACNf,KAAK,GAAEA,SAAAA,mBAAAA,6BAAAA,MAAO,CAAC,EAAE;gBACjBC,UAAUK;gBACVJ,SAASA;gBACTc,cAAc;oBAACC,QAAQ;wBAACC,UAAU;4BAACC,SAAS;wBAAM;oBAAC;gBAAC;gBACpDF,QAAQ,qBAAIb,WAAWa,MAAM;;YAEhCd;0BACD,qBAACU,gBAAS;gBACNC,WAAW;gBACXC,OAAM;gBACNf,KAAK,GAAEA,UAAAA,mBAAAA,8BAAAA,OAAO,CAAC,EAAE;gBACjBC,UAAUU;gBACVT,SAASA;gBACTc,cAAc;oBAACC,QAAQ;wBAACC,UAAU;4BAACC,SAAS;wBAAM;oBAAC;gBAAC;gBACpDF,QAAQ,qBAAIZ,SAASY,MAAM;;;;AAI3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/header/Header.tsx"],"sourcesContent":["import {QuestionSize16Px} from '@coveord/plasma-react-icons';\nimport {Anchor, Breadcrumbs, DefaultProps, Divider, Group, Stack, Text, Title, Tooltip} from '@mantine/core';\nimport {Children, FunctionComponent, ReactElement, ReactNode} from 'react';\n\nexport interface HeaderProps extends DefaultProps {\n /**\n * The description text displayed inside the header underneath the title\n */\n description?: ReactNode;\n /**\n * Whether the header should have a border on the bottom\n */\n borderBottom?: boolean;\n /**\n * Use the modal variant when displaying the header inside a modal\n *\n * @default 'page'\n */\n variant?: 'page' | 'modal';\n /**\n * The title of the header.\n */\n children: ReactNode;\n}\n\ninterface HeaderType {\n (props: HeaderProps): ReactElement;\n Breadcrumbs: typeof HeaderBreadcrumbs;\n Actions: typeof HeaderActions;\n DocAnchor: typeof HeaderDocAnchor;\n}\n\nexport const Header: HeaderType = ({description, borderBottom, children, variant = 'page', ...others}) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const breadcrumbs = convertedChildren.find((child) => child.type === HeaderBreadcrumbs);\n const actions = convertedChildren.find((child) => child.type === HeaderActions);\n const docAnchor = convertedChildren.find((child) => child.type === HeaderDocAnchor);\n const otherChildren = convertedChildren.filter(\n (child) => child.type !== HeaderBreadcrumbs && child.type !== HeaderActions && child.type !== HeaderDocAnchor\n );\n return (\n <>\n <Group\n position=\"apart\"\n p={variant === 'page' ? 'xl' : undefined}\n pb={variant === 'page' ? 'lg' : undefined}\n {...others}\n >\n <Stack spacing={0}>\n {breadcrumbs}\n <Title\n order={variant === 'page' ? 1 : 3}\n color={variant === 'page' ? 'gray.5' : undefined}\n sx={{wordBreak: 'break-word'}}\n >\n {otherChildren}\n {docAnchor}\n </Title>\n <Text size={variant === 'page' ? 'md' : 'sm'} color=\"gray.6\">\n {description}\n </Text>\n </Stack>\n {actions}\n </Group>\n {borderBottom ? <Divider size=\"xs\" /> : null}\n </>\n );\n};\n\nconst HeaderBreadcrumbs: FunctionComponent<{children: ReactNode}> = ({children}) => (\n <Breadcrumbs\n styles={(theme) => ({\n breadcrumb: {fontSize: theme.fontSizes.sm, fontWeight: 300},\n separator: {color: theme.colors.gray[5]},\n })}\n >\n {children}\n </Breadcrumbs>\n);\n\nconst HeaderActions: FunctionComponent<{children: ReactNode}> = ({children}) => <Group spacing=\"sm\">{children}</Group>;\n\nexport interface HeaderDocAnchorProps {\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?: string;\n}\n\nconst HeaderDocAnchor: FunctionComponent<HeaderDocAnchorProps> = ({href: docLink, label: docLinkTooltipLabel}) => (\n <Tooltip label={docLinkTooltipLabel} disabled={!docLinkTooltipLabel} position=\"right\">\n <Anchor inline href={docLink} target=\"_blank\" ml=\"xs\" style={{verticalAlign: 'middle'}}>\n <QuestionSize16Px height={16} />\n </Anchor>\n </Tooltip>\n);\n\nHeader.Breadcrumbs = HeaderBreadcrumbs;\nHeader.Actions = HeaderActions;\nHeader.DocAnchor = HeaderDocAnchor;\n"],"names":["Header","description","borderBottom","children","variant","others","convertedChildren","Children","toArray","breadcrumbs","find","child","type","HeaderBreadcrumbs","actions","HeaderActions","docAnchor","HeaderDocAnchor","otherChildren","filter","Group","position","p","undefined","pb","Stack","spacing","Title","order","color","sx","wordBreak","Text","size","Divider","Breadcrumbs","styles","theme","breadcrumb","fontSize","fontSizes","sm","fontWeight","separator","colors","gray","href","docLink","label","docLinkTooltipLabel","Tooltip","disabled","Anchor","inline","target","ml","style","verticalAlign","QuestionSize16Px","height","Actions","DocAnchor"],"mappings":";;;;+BAgCaA;;;eAAAA;;;;;;;gCAhCkB;oBAC8D;qBAC1B;AA8B5D,IAAMA,SAAqB;QAAEC,qBAAAA,aAAaC,sBAAAA,cAAcC,kBAAAA,kCAAUC,SAAAA,sCAAU,yBAAWC;QAA1DJ;QAAaC;QAAcC;QAAUC;;IACrE,IAAME,oBAAoBC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/header/Header.tsx"],"sourcesContent":["import {QuestionSize16Px} from '@coveord/plasma-react-icons';\nimport {Anchor, Breadcrumbs, DefaultProps, Divider, Group, Stack, Text, Title, Tooltip} from '@mantine/core';\nimport {Children, FunctionComponent, ReactElement, ReactNode} from 'react';\n\nexport interface HeaderProps extends DefaultProps {\n /**\n * The description text displayed inside the header underneath the title\n */\n description?: ReactNode;\n /**\n * Whether the header should have a border on the bottom\n */\n borderBottom?: boolean;\n /**\n * Use the modal variant when displaying the header inside a modal\n *\n * @default 'page'\n */\n variant?: 'page' | 'modal';\n /**\n * The title of the header.\n */\n children: ReactNode;\n}\n\ninterface HeaderType {\n (props: HeaderProps): ReactElement;\n Breadcrumbs: typeof HeaderBreadcrumbs;\n Actions: typeof HeaderActions;\n DocAnchor: typeof HeaderDocAnchor;\n}\n\nexport const Header: HeaderType = ({description, borderBottom, children, variant = 'page', ...others}) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const breadcrumbs = convertedChildren.find((child) => child.type === HeaderBreadcrumbs);\n const actions = convertedChildren.find((child) => child.type === HeaderActions);\n const docAnchor = convertedChildren.find((child) => child.type === HeaderDocAnchor);\n const otherChildren = convertedChildren.filter(\n (child) => child.type !== HeaderBreadcrumbs && child.type !== HeaderActions && child.type !== HeaderDocAnchor\n );\n return (\n <>\n <Group\n position=\"apart\"\n p={variant === 'page' ? 'xl' : undefined}\n pb={variant === 'page' ? 'lg' : undefined}\n {...others}\n >\n <Stack spacing={0}>\n {breadcrumbs}\n <Title\n order={variant === 'page' ? 1 : 3}\n color={variant === 'page' ? 'gray.5' : undefined}\n sx={{wordBreak: 'break-word'}}\n >\n {otherChildren}\n {docAnchor}\n </Title>\n <Text size={variant === 'page' ? 'md' : 'sm'} color=\"gray.6\">\n {description}\n </Text>\n </Stack>\n {actions}\n </Group>\n {borderBottom ? <Divider size=\"xs\" /> : null}\n </>\n );\n};\n\nconst HeaderBreadcrumbs: FunctionComponent<{children: ReactNode}> = ({children}) => (\n <Breadcrumbs\n styles={(theme) => ({\n breadcrumb: {fontSize: theme.fontSizes.sm, fontWeight: 300},\n separator: {color: theme.colors.gray[5]},\n })}\n >\n {children}\n </Breadcrumbs>\n);\n\nconst HeaderActions: FunctionComponent<{children: ReactNode}> = ({children}) => <Group spacing=\"sm\">{children}</Group>;\n\nexport interface HeaderDocAnchorProps {\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?: string;\n}\n\nconst HeaderDocAnchor: FunctionComponent<HeaderDocAnchorProps> = ({href: docLink, label: docLinkTooltipLabel}) => (\n <Tooltip label={docLinkTooltipLabel} disabled={!docLinkTooltipLabel} position=\"right\">\n <Anchor inline href={docLink} target=\"_blank\" ml=\"xs\" style={{verticalAlign: 'middle'}}>\n <QuestionSize16Px height={16} />\n </Anchor>\n </Tooltip>\n);\n\nHeader.Breadcrumbs = HeaderBreadcrumbs;\nHeader.Actions = HeaderActions;\nHeader.DocAnchor = HeaderDocAnchor;\n"],"names":["Header","description","borderBottom","children","variant","others","convertedChildren","Children","toArray","breadcrumbs","find","child","type","HeaderBreadcrumbs","actions","HeaderActions","docAnchor","HeaderDocAnchor","otherChildren","filter","Group","position","p","undefined","pb","Stack","spacing","Title","order","color","sx","wordBreak","Text","size","Divider","Breadcrumbs","styles","theme","breadcrumb","fontSize","fontSizes","sm","fontWeight","separator","colors","gray","href","docLink","label","docLinkTooltipLabel","Tooltip","disabled","Anchor","inline","target","ml","style","verticalAlign","QuestionSize16Px","height","Actions","DocAnchor"],"mappings":";;;;+BAgCaA;;;eAAAA;;;;;;;gCAhCkB;oBAC8D;qBAC1B;AA8B5D,IAAMA,SAAqB;QAAEC,qBAAAA,aAAaC,sBAAAA,cAAcC,kBAAAA,kCAAUC,SAAAA,sCAAU,yBAAWC;QAA1DJ;QAAaC;QAAcC;QAAUC;;IACrE,IAAME,oBAAoBC,eAAQ,CAACC,OAAO,CAACL;IAC3C,IAAMM,cAAcH,kBAAkBI,IAAI,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKC;;IACrE,IAAMC,UAAUR,kBAAkBI,IAAI,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKG;;IACjE,IAAMC,YAAYV,kBAAkBI,IAAI,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKK;;IACnE,IAAMC,gBAAgBZ,kBAAkBa,MAAM,CAC1C,SAACR;eAAUA,MAAMC,IAAI,KAAKC,qBAAqBF,MAAMC,IAAI,KAAKG,iBAAiBJ,MAAMC,IAAI,KAAKK;;IAElG,qBACI;;0BACI,sBAACG,WAAK;gBACFC,UAAS;gBACTC,GAAGlB,YAAY,SAAS,OAAOmB;gBAC/BC,IAAIpB,YAAY,SAAS,OAAOmB;eAC5BlB;;kCAEJ,sBAACoB,WAAK;wBAACC,SAAS;;4BACXjB;0CACD,sBAACkB,WAAK;gCACFC,OAAOxB,YAAY,SAAS,IAAI;gCAChCyB,OAAOzB,YAAY,SAAS,WAAWmB;gCACvCO,IAAI;oCAACC,WAAW;gCAAY;;oCAE3Bb;oCACAF;;;0CAEL,qBAACgB,UAAI;gCAACC,MAAM7B,YAAY,SAAS,OAAO;gCAAMyB,OAAM;0CAC/C5B;;;;oBAGRa;;;YAEJZ,6BAAe,qBAACgC,aAAO;gBAACD,MAAK;iBAAU;;;AAGpD;AAEA,IAAMpB,oBAA8D;QAAEV,iBAAAA;yBAClE,qBAACgC,iBAAW;QACRC,QAAQ,SAACC;mBAAW;gBAChBC,YAAY;oBAACC,UAAUF,MAAMG,SAAS,CAACC,EAAE;oBAAEC,YAAY;gBAAG;gBAC1DC,WAAW;oBAACd,OAAOQ,MAAMO,MAAM,CAACC,IAAI,CAAC,EAAE;gBAAA;YAC3C;;kBAEC1C;;;AAIT,IAAMY,gBAA0D;QAAEZ,iBAAAA;yBAAc,qBAACiB,WAAK;QAACM,SAAQ;kBAAMvB;;;AAcrG,IAAMc,kBAA2D;QAAE6B,AAAMC,gBAAND,MAAeE,AAAOC,4BAAPD;yBAC9E,qBAACE,aAAO;QAACF,OAAOC;QAAqBE,UAAU,CAACF;QAAqB5B,UAAS;kBAC1E,cAAA,qBAAC+B,YAAM;YAACC,MAAM;YAACP,MAAMC;YAASO,QAAO;YAASC,IAAG;YAAKC,OAAO;gBAACC,eAAe;YAAQ;sBACjF,cAAA,qBAACC,kCAAgB;gBAACC,QAAQ;;;;;AAKtC3D,OAAOmC,WAAW,GAAGtB;AACrBb,OAAO4D,OAAO,GAAG7C;AACjBf,OAAO6D,SAAS,GAAG5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirm.tsx"],"sourcesContent":["import {Children, FunctionComponent, PropsWithChildren, ReactElement, useState} from 'react';\n\nimport {InlineConfirmButton} from './InlineConfirmButton';\nimport {InlineConfirmContext} from './InlineConfirmContext';\nimport {InlineConfirmMenuItem} from './InlineConfirmMenuItem';\nimport {InlineConfirmPrompt} from './InlineConfirmPrompt';\n\ntype InlineConfirmType = FunctionComponent<PropsWithChildren> & {\n Prompt: typeof InlineConfirmPrompt;\n Button: typeof InlineConfirmButton;\n MenuItem: typeof InlineConfirmMenuItem;\n};\n\nexport const InlineConfirm: InlineConfirmType = ({children}) => {\n const [confirmingId, setConfirmingId] = useState<string | null>(null);\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const prompt = convertedChildren.find(\n (child) => child.type === InlineConfirmPrompt && child.props.id === confirmingId\n );\n const clearConfirm = () => setConfirmingId(null);\n\n return (\n <InlineConfirmContext.Provider value={{confirmingId, setConfirmingId, clearConfirm}}>\n {prompt ?? children}\n </InlineConfirmContext.Provider>\n );\n};\n\nInlineConfirm.Prompt = InlineConfirmPrompt;\nInlineConfirm.Button = InlineConfirmButton;\nInlineConfirm.MenuItem = InlineConfirmMenuItem;\n"],"names":["InlineConfirm","children","useState","confirmingId","setConfirmingId","convertedChildren","Children","toArray","prompt","find","child","type","InlineConfirmPrompt","props","id","clearConfirm","InlineConfirmContext","Provider","value","Prompt","Button","InlineConfirmButton","MenuItem","InlineConfirmMenuItem"],"mappings":";;;;+BAaaA;;;eAAAA;;;;;qBAbwE;mCAEnD;oCACC;qCACC;mCACF;AAQ3B,IAAMA,gBAAmC;QAAEC,iBAAAA;IAC9C,IAAwCC,+BAAAA,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirm.tsx"],"sourcesContent":["import {Children, FunctionComponent, PropsWithChildren, ReactElement, useState} from 'react';\n\nimport {InlineConfirmButton} from './InlineConfirmButton';\nimport {InlineConfirmContext} from './InlineConfirmContext';\nimport {InlineConfirmMenuItem} from './InlineConfirmMenuItem';\nimport {InlineConfirmPrompt} from './InlineConfirmPrompt';\n\ntype InlineConfirmType = FunctionComponent<PropsWithChildren> & {\n Prompt: typeof InlineConfirmPrompt;\n Button: typeof InlineConfirmButton;\n MenuItem: typeof InlineConfirmMenuItem;\n};\n\nexport const InlineConfirm: InlineConfirmType = ({children}) => {\n const [confirmingId, setConfirmingId] = useState<string | null>(null);\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const prompt = convertedChildren.find(\n (child) => child.type === InlineConfirmPrompt && child.props.id === confirmingId\n );\n const clearConfirm = () => setConfirmingId(null);\n\n return (\n <InlineConfirmContext.Provider value={{confirmingId, setConfirmingId, clearConfirm}}>\n {prompt ?? children}\n </InlineConfirmContext.Provider>\n );\n};\n\nInlineConfirm.Prompt = InlineConfirmPrompt;\nInlineConfirm.Button = InlineConfirmButton;\nInlineConfirm.MenuItem = InlineConfirmMenuItem;\n"],"names":["InlineConfirm","children","useState","confirmingId","setConfirmingId","convertedChildren","Children","toArray","prompt","find","child","type","InlineConfirmPrompt","props","id","clearConfirm","InlineConfirmContext","Provider","value","Prompt","Button","InlineConfirmButton","MenuItem","InlineConfirmMenuItem"],"mappings":";;;;+BAaaA;;;eAAAA;;;;;qBAbwE;mCAEnD;oCACC;qCACC;mCACF;AAQ3B,IAAMA,gBAAmC;QAAEC,iBAAAA;IAC9C,IAAwCC,+BAAAA,IAAAA,eAAQ,EAAgB,WAAzDC,eAAiCD,cAAnBE,kBAAmBF;IAExC,IAAMG,oBAAoBC,eAAQ,CAACC,OAAO,CAACN;IAC3C,IAAMO,SAASH,kBAAkBI,IAAI,CACjC,SAACC;eAAUA,MAAMC,IAAI,KAAKC,wCAAmB,IAAIF,MAAMG,KAAK,CAACC,EAAE,KAAKX;;IAExE,IAAMY,eAAe;eAAMX,gBAAgB;;IAE3C,qBACI,qBAACY,0CAAoB,CAACC,QAAQ;QAACC,OAAO;YAACf,cAAAA;YAAcC,iBAAAA;YAAiBW,cAAAA;QAAY;kBAC7EP,mBAAAA,oBAAAA,SAAUP;;AAGvB;AAEAD,cAAcmB,MAAM,GAAGP,wCAAmB;AAC1CZ,cAAcoB,MAAM,GAAGC,wCAAmB;AAC1CrB,cAAcsB,QAAQ,GAAGC,4CAAqB"}
|
|
@@ -21,8 +21,9 @@ var InlineConfirmButton = /*#__PURE__*/ (0, _react.forwardRef)(function(_param,
|
|
|
21
21
|
]);
|
|
22
22
|
var setConfirmingId = (0, _useInlineConfirm.useInlineConfirm)().setConfirmingId;
|
|
23
23
|
var handleOnClick = function(e) {
|
|
24
|
+
var _onClick;
|
|
24
25
|
setConfirmingId(id);
|
|
25
|
-
onClick === null ||
|
|
26
|
+
(_onClick = onClick) === null || _onClick === void 0 ? void 0 : _onClick(e);
|
|
26
27
|
};
|
|
27
28
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Button, _object_spread._({
|
|
28
29
|
ref: ref,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmButton.tsx"],"sourcesContent":["import {Button} from '@mantine/core';\nimport {forwardRef, MouseEventHandler} from 'react';\n\nimport {ButtonProps} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\nexport interface InlineConfirmButtonProps extends ButtonProps {\n id: string;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const InlineConfirmButton = forwardRef<HTMLButtonElement, InlineConfirmButtonProps>(\n ({onClick, id, ...others}, ref) => {\n const {setConfirmingId} = useInlineConfirm();\n const handleOnClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n setConfirmingId(id);\n onClick?.(e);\n };\n\n return <Button ref={ref} onClick={handleOnClick} {...others} />;\n }\n);\n"],"names":["InlineConfirmButton","forwardRef","ref","onClick","id","others","setConfirmingId","useInlineConfirm","handleOnClick","e","Button"],"mappings":";;;;+BAWaA;;;eAAAA;;;;;;oBAXQ;qBACuB;gCAGb;AAOxB,IAAMA,oCAAsBC,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmButton.tsx"],"sourcesContent":["import {Button} from '@mantine/core';\nimport {forwardRef, MouseEventHandler} from 'react';\n\nimport {ButtonProps} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\nexport interface InlineConfirmButtonProps extends ButtonProps {\n id: string;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const InlineConfirmButton = forwardRef<HTMLButtonElement, InlineConfirmButtonProps>(\n ({onClick, id, ...others}, ref) => {\n const {setConfirmingId} = useInlineConfirm();\n const handleOnClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n setConfirmingId(id);\n onClick?.(e);\n };\n\n return <Button ref={ref} onClick={handleOnClick} {...others} />;\n }\n);\n"],"names":["InlineConfirmButton","forwardRef","ref","onClick","id","others","setConfirmingId","useInlineConfirm","handleOnClick","e","Button"],"mappings":";;;;+BAWaA;;;eAAAA;;;;;;oBAXQ;qBACuB;gCAGb;AAOxB,IAAMA,oCAAsBC,IAAAA,iBAAU,EACzC,iBAA2BC;QAAzBC,iBAAAA,SAASC,YAAAA,IAAOC;QAAhBF;QAASC;;IACP,IAAM,AAACE,kBAAmBC,IAAAA,kCAAgB,IAAnCD;IACP,IAAME,gBAAsD,SAACC;YAEzDN;QADAG,gBAAgBF;SAChBD,WAAAA,qBAAAA,+BAAAA,SAAUM;IACd;IAEA,qBAAO,qBAACC,YAAM;QAACR,KAAKA;QAAKC,SAASK;OAAmBH;AACzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmContext.ts"],"sourcesContent":["import {createContext} from 'react';\n\ntype InlineConfirmContextType = {\n confirmingId: string;\n setConfirmingId: (id: string) => void;\n clearConfirm: () => void;\n};\n\nexport const InlineConfirmContext = createContext<InlineConfirmContextType | null>(null);\n"],"names":["InlineConfirmContext","createContext"],"mappings":";;;;+BAQaA;;;eAAAA;;;qBARe;AAQrB,IAAMA,uBAAuBC,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmContext.ts"],"sourcesContent":["import {createContext} from 'react';\n\ntype InlineConfirmContextType = {\n confirmingId: string;\n setConfirmingId: (id: string) => void;\n clearConfirm: () => void;\n};\n\nexport const InlineConfirmContext = createContext<InlineConfirmContextType | null>(null);\n"],"names":["InlineConfirmContext","createContext"],"mappings":";;;;+BAQaA;;;eAAAA;;;qBARe;AAQrB,IAAMA,uBAAuBC,IAAAA,oBAAa,EAAkC"}
|
|
@@ -21,8 +21,9 @@ var InlineConfirmMenuItem = /*#__PURE__*/ (0, _react.forwardRef)(function(_param
|
|
|
21
21
|
]);
|
|
22
22
|
var setConfirmingId = (0, _useInlineConfirm.useInlineConfirm)().setConfirmingId;
|
|
23
23
|
var handleOnClick = function(e) {
|
|
24
|
+
var _onClick;
|
|
24
25
|
setConfirmingId(id);
|
|
25
|
-
onClick === null ||
|
|
26
|
+
(_onClick = onClick) === null || _onClick === void 0 ? void 0 : _onClick(e);
|
|
26
27
|
};
|
|
27
28
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_menu.Menu.Item, _object_spread._({
|
|
28
29
|
ref: ref,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmMenuItem.tsx"],"sourcesContent":["import {forwardRef, MouseEventHandler} from 'react';\n\nimport {Menu, MenuItemProps} from '../menu';\nimport {useInlineConfirm} from './useInlineConfirm';\n\nexport interface InlineConfirmMenuItemProps extends MenuItemProps {\n id: string;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const InlineConfirmMenuItem = forwardRef<HTMLButtonElement, InlineConfirmMenuItemProps>(\n ({onClick, id, ...others}, ref) => {\n const {setConfirmingId} = useInlineConfirm();\n const handleOnClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n setConfirmingId(id);\n onClick?.(e);\n };\n\n return <Menu.Item ref={ref} onClick={handleOnClick} {...others} />;\n }\n);\n"],"names":["InlineConfirmMenuItem","forwardRef","ref","onClick","id","others","setConfirmingId","useInlineConfirm","handleOnClick","e","Menu","Item"],"mappings":";;;;+BAUaA;;;eAAAA;;;;;;qBAV+B;oBAEV;gCACH;AAOxB,IAAMA,sCAAwBC,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmMenuItem.tsx"],"sourcesContent":["import {forwardRef, MouseEventHandler} from 'react';\n\nimport {Menu, MenuItemProps} from '../menu';\nimport {useInlineConfirm} from './useInlineConfirm';\n\nexport interface InlineConfirmMenuItemProps extends MenuItemProps {\n id: string;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const InlineConfirmMenuItem = forwardRef<HTMLButtonElement, InlineConfirmMenuItemProps>(\n ({onClick, id, ...others}, ref) => {\n const {setConfirmingId} = useInlineConfirm();\n const handleOnClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n setConfirmingId(id);\n onClick?.(e);\n };\n\n return <Menu.Item ref={ref} onClick={handleOnClick} {...others} />;\n }\n);\n"],"names":["InlineConfirmMenuItem","forwardRef","ref","onClick","id","others","setConfirmingId","useInlineConfirm","handleOnClick","e","Menu","Item"],"mappings":";;;;+BAUaA;;;eAAAA;;;;;;qBAV+B;oBAEV;gCACH;AAOxB,IAAMA,sCAAwBC,IAAAA,iBAAU,EAC3C,iBAA2BC;QAAzBC,iBAAAA,SAASC,YAAAA,IAAOC;QAAhBF;QAASC;;IACP,IAAM,AAACE,kBAAmBC,IAAAA,kCAAgB,IAAnCD;IACP,IAAME,gBAAsD,SAACC;YAEzDN;QADAG,gBAAgBF;SAChBD,WAAAA,qBAAAA,+BAAAA,SAAUM;IACd;IAEA,qBAAO,qBAACC,UAAI,CAACC,IAAI;QAACT,KAAKA;QAAKC,SAASK;OAAmBH;AAC5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmPrompt.tsx"],"sourcesContent":["import {Group} from '@mantine/core';\nimport {FunctionComponent, ReactNode, useEffect} from 'react';\n\nimport {Button} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\ninterface InlineConfirmPromptProps {\n id: string;\n label: ReactNode;\n onConfirm: () => void;\n confirmLabel?: ReactNode;\n cancelLabel?: ReactNode;\n}\n\nexport const InlineConfirmPrompt: FunctionComponent<InlineConfirmPromptProps> = ({\n id,\n label,\n confirmLabel = 'Delete',\n cancelLabel = 'Cancel',\n onConfirm,\n}) => {\n const {confirmingId, clearConfirm} = useInlineConfirm();\n\n const onClickConfirm = () => {\n onConfirm();\n clearConfirm();\n };\n\n useEffect(() => {\n if (confirmingId !== id) {\n clearConfirm();\n }\n }, []);\n\n if (confirmingId === id) {\n return (\n <Group spacing=\"xs\">\n {label}\n <Button onClick={onClickConfirm} color=\"red\">\n {confirmLabel}\n </Button>\n <Button onClick={clearConfirm} variant=\"outline\">\n {cancelLabel}\n </Button>\n </Group>\n );\n }\n return null;\n};\n"],"names":["InlineConfirmPrompt","id","label","confirmLabel","cancelLabel","onConfirm","useInlineConfirm","confirmingId","clearConfirm","onClickConfirm","useEffect","Group","spacing","Button","onClick","color","variant"],"mappings":";;;;+BAcaA;;;eAAAA;;;;oBAdO;qBACkC;sBAEjC;gCACU;AAUxB,IAAMA,sBAAmE;QAC5EC,WAAAA,IACAC,cAAAA,mCACAC,cAAAA,gDAAe,2DACfC,aAAAA,8CAAc,+BACdC,kBAAAA;IAEA,IAAqCC,qBAAAA,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmPrompt.tsx"],"sourcesContent":["import {Group} from '@mantine/core';\nimport {FunctionComponent, ReactNode, useEffect} from 'react';\n\nimport {Button} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\ninterface InlineConfirmPromptProps {\n id: string;\n label: ReactNode;\n onConfirm: () => void;\n confirmLabel?: ReactNode;\n cancelLabel?: ReactNode;\n}\n\nexport const InlineConfirmPrompt: FunctionComponent<InlineConfirmPromptProps> = ({\n id,\n label,\n confirmLabel = 'Delete',\n cancelLabel = 'Cancel',\n onConfirm,\n}) => {\n const {confirmingId, clearConfirm} = useInlineConfirm();\n\n const onClickConfirm = () => {\n onConfirm();\n clearConfirm();\n };\n\n useEffect(() => {\n if (confirmingId !== id) {\n clearConfirm();\n }\n }, []);\n\n if (confirmingId === id) {\n return (\n <Group spacing=\"xs\">\n {label}\n <Button onClick={onClickConfirm} color=\"red\">\n {confirmLabel}\n </Button>\n <Button onClick={clearConfirm} variant=\"outline\">\n {cancelLabel}\n </Button>\n </Group>\n );\n }\n return null;\n};\n"],"names":["InlineConfirmPrompt","id","label","confirmLabel","cancelLabel","onConfirm","useInlineConfirm","confirmingId","clearConfirm","onClickConfirm","useEffect","Group","spacing","Button","onClick","color","variant"],"mappings":";;;;+BAcaA;;;eAAAA;;;;oBAdO;qBACkC;sBAEjC;gCACU;AAUxB,IAAMA,sBAAmE;QAC5EC,WAAAA,IACAC,cAAAA,mCACAC,cAAAA,gDAAe,2DACfC,aAAAA,8CAAc,+BACdC,kBAAAA;IAEA,IAAqCC,qBAAAA,IAAAA,kCAAgB,KAA9CC,eAA8BD,mBAA9BC,cAAcC,eAAgBF,mBAAhBE;IAErB,IAAMC,iBAAiB;QACnBJ;QACAG;IACJ;IAEAE,IAAAA,gBAAS,EAAC;QACN,IAAIH,iBAAiBN,IAAI;YACrBO;QACJ;IACJ,GAAG,EAAE;IAEL,IAAID,iBAAiBN,IAAI;QACrB,qBACI,sBAACU,WAAK;YAACC,SAAQ;;gBACVV;8BACD,qBAACW,cAAM;oBAACC,SAASL;oBAAgBM,OAAM;8BAClCZ;;8BAEL,qBAACU,cAAM;oBAACC,SAASN;oBAAcQ,SAAQ;8BAClCZ;;;;IAIjB;IACA,OAAO;AACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/inline-confirm/useInlineConfirm.ts"],"sourcesContent":["import {useContext} from 'react';\nimport {InlineConfirmContext} from './InlineConfirmContext';\n\nexport const useInlineConfirm = () => {\n const ctx = useContext(InlineConfirmContext);\n\n if (ctx === null) {\n throw new Error('useConfirm must be used inside of a InlineConfirmContext.Provider');\n }\n\n return ctx;\n};\n"],"names":["useInlineConfirm","ctx","useContext","InlineConfirmContext","Error"],"mappings":";;;;+BAGaA;;;eAAAA;;;qBAHY;oCACU;AAE5B,IAAMA,mBAAmB;IAC5B,IAAMC,MAAMC,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/inline-confirm/useInlineConfirm.ts"],"sourcesContent":["import {useContext} from 'react';\nimport {InlineConfirmContext} from './InlineConfirmContext';\n\nexport const useInlineConfirm = () => {\n const ctx = useContext(InlineConfirmContext);\n\n if (ctx === null) {\n throw new Error('useConfirm must be used inside of a InlineConfirmContext.Provider');\n }\n\n return ctx;\n};\n"],"names":["useInlineConfirm","ctx","useContext","InlineConfirmContext","Error"],"mappings":";;;;+BAGaA;;;eAAAA;;;qBAHY;oCACU;AAE5B,IAAMA,mBAAmB;IAC5B,IAAMC,MAAMC,IAAAA,iBAAU,EAACC,0CAAoB;IAE3C,IAAIF,QAAQ,MAAM;QACd,MAAM,IAAIG,MAAM;IACpB;IAEA,OAAOH;AACX"}
|
|
@@ -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, overrideComponent} from '../../utils';\nimport {ButtonWithDisabledTooltipProps} from '../button';\nimport {ButtonWithDisabledTooltip} from '../button/ButtonWithDisabledTooltip';\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 ref={ref} disabled={disabled} {...others} />\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","_MenuItem","forwardRef","ref","disabledTooltip","disabled","disabledTooltipProps","others","ButtonWithDisabledTooltip","MantineMenu","Item","MenuItem","createPolymorphicComponent","overrideComponent","displayName"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;;;oBAvB4D;qBAChD;qBAEmC;yCAEpB;AAIxC,IAAMC,0BAAYC,IAAAA,
|
|
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, overrideComponent} from '../../utils';\nimport {ButtonWithDisabledTooltipProps} from '../button';\nimport {ButtonWithDisabledTooltip} from '../button/ButtonWithDisabledTooltip';\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 ref={ref} disabled={disabled} {...others} />\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","_MenuItem","forwardRef","ref","disabledTooltip","disabled","disabledTooltipProps","others","ButtonWithDisabledTooltip","MantineMenu","Item","MenuItem","createPolymorphicComponent","overrideComponent","displayName"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;;;oBAvB4D;qBAChD;qBAEmC;yCAEpB;AAIxC,IAAMC,0BAAYC,IAAAA,iBAAU,EACxB,iBAA+DC;QAA7DC,yBAAAA,iBAAiBC,kBAAAA,UAAUC,8BAAAA,sBAAyBC;QAApDH;QAAiBC;QAAUC;;WACzB,qBAACE,oDAAyB;QACtBH,UAAUA;QACVD,iBAAiBA;QACjBE,sBAAsBA;kBAEtB,cAAA,qBAACG,UAAW,CAACC,IAAI;YAACP,KAAKA;YAAKE,UAAUA;WAAcE;;AAC7B;AAInC,IAAMI,WAAWC,IAAAA,iCAA0B,EAA0BX;AAE9D,IAAMD,OAAOa,IAAAA,wBAAiB,EAACJ,UAAW,EAAE;IAC/CK,aAAa;IACbJ,MAAMC;AACV"}
|
|
@@ -51,7 +51,7 @@ var ModalWizard = function(_param) {
|
|
|
51
51
|
"children",
|
|
52
52
|
"isStepValidatedOnNext"
|
|
53
53
|
]);
|
|
54
|
-
var
|
|
54
|
+
var _currentStep_props_validateStep, _object, _currentStep, _classNames, _classNames1;
|
|
55
55
|
var _useStyles = useStyles(null, {
|
|
56
56
|
name: "ModalWizard",
|
|
57
57
|
classNames: classNames,
|
|
@@ -71,7 +71,7 @@ var ModalWizard = function(_param) {
|
|
|
71
71
|
var _currentStep_props_validateStep1;
|
|
72
72
|
var isValid = (isStepValidatedOnNext ? {
|
|
73
73
|
isValid: true
|
|
74
|
-
} : (_currentStep_props_validateStep1 = currentStep === null ||
|
|
74
|
+
} : (_currentStep_props_validateStep1 = (_object = (_currentStep = currentStep) === null || _currentStep === void 0 ? void 0 : _currentStep.props) === null || _object === void 0 ? void 0 : (_currentStep_props_validateStep = _object.validateStep) === null || _currentStep_props_validateStep === void 0 ? void 0 : _currentStep_props_validateStep.call(_object, currentStepIndex, numberOfSteps)) !== null && _currentStep_props_validateStep1 !== void 0 ? _currentStep_props_validateStep1 : {
|
|
75
75
|
isValid: true
|
|
76
76
|
}).isValid;
|
|
77
77
|
(0, _react.useEffect)(function() {
|
|
@@ -82,18 +82,21 @@ var ModalWizard = function(_param) {
|
|
|
82
82
|
opened
|
|
83
83
|
]);
|
|
84
84
|
var handleClose = function(confirmDirty) {
|
|
85
|
+
var _onClose;
|
|
85
86
|
if (confirmDirty) {
|
|
86
87
|
var _isDirty;
|
|
87
|
-
var
|
|
88
|
+
var _isDirty1;
|
|
89
|
+
var isModalDirty = (_isDirty1 = (_isDirty = isDirty) === null || _isDirty === void 0 ? void 0 : _isDirty()) !== null && _isDirty1 !== void 0 ? _isDirty1 : false;
|
|
88
90
|
if (isModalDirty) {
|
|
89
91
|
var _handleDirtyState;
|
|
90
|
-
var
|
|
92
|
+
var _handleDirtyState1;
|
|
93
|
+
var discardChanges = (_handleDirtyState1 = (_handleDirtyState = handleDirtyState) === null || _handleDirtyState === void 0 ? void 0 : _handleDirtyState()) !== null && _handleDirtyState1 !== void 0 ? _handleDirtyState1 : true;
|
|
91
94
|
if (!discardChanges) {
|
|
92
95
|
return;
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
|
-
onClose === null ||
|
|
99
|
+
(_onClose = onClose) === null || _onClose === void 0 ? void 0 : _onClose();
|
|
97
100
|
};
|
|
98
101
|
var resolveStepDependentProp = function(prop) {
|
|
99
102
|
return typeof currentStep.props[prop] === "function" ? currentStep.props[prop](currentStepIndex + 1, numberOfSteps) : currentStep.props[prop];
|
|
@@ -112,8 +115,8 @@ var ModalWizard = function(_param) {
|
|
|
112
115
|
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Modal, _object_spread_props._(_object_spread._({
|
|
113
116
|
opened: opened,
|
|
114
117
|
classNames: {
|
|
115
|
-
content: cx(content, classNames === null ||
|
|
116
|
-
body: cx(body, classNames === null ||
|
|
118
|
+
content: cx(content, (_classNames = classNames) === null || _classNames === void 0 ? void 0 : _classNames.content),
|
|
119
|
+
body: cx(body, (_classNames1 = classNames) === null || _classNames1 === void 0 ? void 0 : _classNames1.body)
|
|
117
120
|
},
|
|
118
121
|
centered: true,
|
|
119
122
|
onClose: function() {
|
|
@@ -169,7 +172,8 @@ var ModalWizard = function(_param) {
|
|
|
169
172
|
if (isFirstStep) {
|
|
170
173
|
handleClose(true);
|
|
171
174
|
} else {
|
|
172
|
-
|
|
175
|
+
var _onPrevious;
|
|
176
|
+
(_onPrevious = onPrevious) === null || _onPrevious === void 0 ? void 0 : _onPrevious(currentStepIndex - 1);
|
|
173
177
|
setCurrentStepIndex(currentStepIndex - 1);
|
|
174
178
|
}
|
|
175
179
|
},
|
|
@@ -180,9 +184,11 @@ var ModalWizard = function(_param) {
|
|
|
180
184
|
onClick: function() {
|
|
181
185
|
if (isLastStep) {
|
|
182
186
|
var _onFinish;
|
|
183
|
-
|
|
187
|
+
var _onFinish1;
|
|
188
|
+
(_onFinish1 = (_onFinish = onFinish) === null || _onFinish === void 0 ? void 0 : _onFinish()) !== null && _onFinish1 !== void 0 ? _onFinish1 : handleClose(false);
|
|
184
189
|
} else {
|
|
185
|
-
|
|
190
|
+
var _onNext;
|
|
191
|
+
(_onNext = onNext) === null || _onNext === void 0 ? void 0 : _onNext(currentStepIndex + 1, setCurrentStepIndex);
|
|
186
192
|
if (!isStepValidatedOnNext) {
|
|
187
193
|
setCurrentStepIndex(currentStepIndex + 1);
|
|
188
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/modal-wizard/ModalWizard.tsx"],"sourcesContent":["import {Box, CloseButton, createStyles, DefaultProps, Modal, ModalProps, Progress, Selectors} from '@mantine/core';\nimport {Children, ReactElement, useEffect, useMemo, useState} from 'react';\n\nimport {Button} from '../button';\nimport {Header} from '../header';\nimport {StickyFooter} from '../sticky-footer';\nimport {ModalWizardStep, ModalWizardStepProps, ResolveStep} from './ModalWizardStep';\n\nconst useStyles = createStyles(() => ({\n content: {\n display: 'flex',\n flexDirection: 'column',\n },\n body: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n },\n}));\n\ntype ModalWizardStylesNames = Selectors<typeof useStyles>;\n\nexport interface ModalWizardProps\n extends Omit<DefaultProps<ModalWizardStylesNames>, 'classNames' | 'styles'>,\n Omit<ModalProps, 'centered' | 'title'> {\n /**\n * The label of the cancel button\n *\n * @default \"Cancel\"\n */\n cancelButtonLabel?: string;\n\n /**\n * The label of the next button\n *\n * @default \"Next\"\n */\n nextButtonLabel?: string;\n\n /**\n * The label of the previous button\n *\n * @default \"Previous\"\n */\n previousButtonLabel?: string;\n\n /**\n * The label of the finish button\n *\n * @default \"Finish\"\n */\n finishButtonLabel?: string;\n\n /**\n * A callback function that is executed when the user clicks on the next button\n */\n onNext?: (newStep: number, setCurrentStep?: React.Dispatch<number>) => unknown;\n\n /**\n * A callback function that is executed when the user clicks on the previous button\n */\n onPrevious?: (newStep: number) => unknown;\n\n /**\n * A function that is executed when user completes all the steps.\n *\n * @param close A function that closes the modal when called.\n */\n onFinish?: () => unknown;\n\n /**\n * Determine if user interacted with any steps in the modal wizard\n */\n isDirty?: () => boolean;\n\n /**\n * A function to confirm close if the state is dirty before closing\n */\n handleDirtyState?: () => boolean;\n\n /**\n * Children to display in modal wizard\n * */\n children?: Array<ReturnType<typeof ModalWizardStep>>;\n\n /**\n * Indicates if step validation should be performed when clicking on to the next step\n * If true, the next step will always be enabled\n *\n * @default false\n */\n isStepValidatedOnNext?: boolean;\n}\n\ninterface ModalWizardType {\n (props: ModalWizardProps): ReactElement;\n\n Step: typeof ModalWizardStep;\n}\n\nexport const ModalWizard: ModalWizardType = ({\n cancelButtonLabel = 'Cancel',\n nextButtonLabel = 'Next',\n previousButtonLabel = 'Previous',\n finishButtonLabel = 'Finish',\n opened,\n onNext,\n onPrevious,\n onClose,\n onFinish,\n isDirty,\n handleDirtyState,\n classNames,\n styles,\n unstyled,\n children,\n isStepValidatedOnNext,\n ...modalProps\n}) => {\n const {\n classes: {content, body},\n cx,\n } = useStyles(null, {\n name: 'ModalWizard',\n classNames,\n styles,\n unstyled,\n });\n\n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const modalSteps = (Children.toArray(children) as ReactElement[]).filter((child) => child.type === ModalWizardStep);\n\n const numberOfSteps = modalSteps.length;\n const isFirstStep = currentStepIndex === 0;\n const isLastStep = currentStepIndex === numberOfSteps - 1;\n const currentStep = modalSteps.filter((step: ReactElement, index: number) => index === currentStepIndex)[0];\n\n const {isValid} = isStepValidatedOnNext\n ? {isValid: true}\n : currentStep?.props?.validateStep?.(currentStepIndex, numberOfSteps) ?? {isValid: true};\n\n useEffect(() => {\n if (opened) {\n setCurrentStepIndex(0);\n }\n }, [opened]);\n\n const handleClose = (confirmDirty: boolean) => {\n if (confirmDirty) {\n const isModalDirty = isDirty?.() ?? false;\n if (isModalDirty) {\n const discardChanges = handleDirtyState?.() ?? true;\n if (!discardChanges) {\n return;\n }\n }\n }\n onClose?.();\n };\n\n const resolveStepDependentProp = <P extends keyof ModalWizardStepProps>(\n prop: P\n ): ResolveStep<ModalWizardStepProps[P]> =>\n typeof currentStep.props[prop] === 'function'\n ? currentStep.props[prop](currentStepIndex + 1, numberOfSteps)\n : currentStep.props[prop];\n\n const getProgress = useMemo(\n () => (currStepIndex: number) => {\n const totalNumberOfSteps = modalSteps.filter((step) => step.props.countsAsProgress).length;\n const numberOfCompletedSteps = modalSteps.filter(\n (step, index) => step.props.countsAsProgress && index <= currStepIndex\n ).length;\n return (numberOfCompletedSteps / totalNumberOfSteps) * 100;\n },\n []\n );\n\n return (\n <Modal\n opened={opened}\n classNames={{content: cx(content, classNames?.content), body: cx(body, classNames?.body)}}\n centered\n onClose={() => handleClose(true)}\n withCloseButton={false}\n padding={0}\n {...modalProps}\n >\n <Header\n p=\"lg\"\n pr=\"md\"\n variant=\"modal\"\n description={resolveStepDependentProp('description')}\n borderBottom={!currentStep.props.showProgressBar}\n >\n {resolveStepDependentProp('title')}\n {resolveStepDependentProp('docLink') ? (\n <Header.DocAnchor\n href={resolveStepDependentProp('docLink')}\n label={resolveStepDependentProp('docLinkTooltipLabel')}\n />\n ) : null}\n <Header.Actions>\n <CloseButton aria-label={'close-modal'} onClick={() => handleClose(true)} />\n </Header.Actions>\n </Header>\n {currentStep.props.showProgressBar && (\n <Progress color=\"navy.5\" size=\"sm\" radius={0} value={getProgress(currentStepIndex)} />\n )}\n <Box p=\"lg\">{currentStep}</Box>\n <Box\n sx={{\n marginTop: 'auto',\n }}\n >\n <StickyFooter borderTop>\n <Button\n name={isFirstStep ? cancelButtonLabel : previousButtonLabel}\n variant=\"outline\"\n onClick={() => {\n if (isFirstStep) {\n handleClose(true);\n } else {\n onPrevious?.(currentStepIndex - 1);\n setCurrentStepIndex(currentStepIndex - 1);\n }\n }}\n >\n {isFirstStep ? cancelButtonLabel : previousButtonLabel}\n </Button>\n\n <Button\n disabled={!isValid}\n onClick={() => {\n if (isLastStep) {\n onFinish?.() ?? handleClose(false);\n } else {\n onNext?.(currentStepIndex + 1, setCurrentStepIndex);\n\n if (!isStepValidatedOnNext) {\n setCurrentStepIndex(currentStepIndex + 1);\n }\n }\n }}\n >\n {isLastStep ? finishButtonLabel : nextButtonLabel}\n </Button>\n </StickyFooter>\n </Box>\n </Modal>\n );\n};\n\nModalWizard.Step = ModalWizardStep;\n"],"names":["ModalWizard","useStyles","createStyles","content","display","flexDirection","body","flex","cancelButtonLabel","nextButtonLabel","previousButtonLabel","finishButtonLabel","opened","onNext","onPrevious","onClose","onFinish","isDirty","handleDirtyState","classNames","styles","unstyled","children","isStepValidatedOnNext","modalProps","currentStep","name","classes","cx","useState","currentStepIndex","setCurrentStepIndex","modalSteps","Children","toArray","filter","child","type","ModalWizardStep","numberOfSteps","length","isFirstStep","isLastStep","step","index","isValid","props","validateStep","useEffect","handleClose","confirmDirty","isModalDirty","discardChanges","resolveStepDependentProp","prop","getProgress","useMemo","currStepIndex","totalNumberOfSteps","countsAsProgress","numberOfCompletedSteps","Modal","centered","withCloseButton","padding","Header","p","pr","variant","description","borderBottom","showProgressBar","DocAnchor","href","label","Actions","CloseButton","aria-label","onClick","Progress","color","size","radius","value","Box","sx","marginTop","StickyFooter","borderTop","Button","disabled","Step"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/modal-wizard/ModalWizard.tsx"],"sourcesContent":["import {Box, CloseButton, createStyles, DefaultProps, Modal, ModalProps, Progress, Selectors} from '@mantine/core';\nimport {Children, ReactElement, useEffect, useMemo, useState} from 'react';\n\nimport {Button} from '../button';\nimport {Header} from '../header';\nimport {StickyFooter} from '../sticky-footer';\nimport {ModalWizardStep, ModalWizardStepProps, ResolveStep} from './ModalWizardStep';\n\nconst useStyles = createStyles(() => ({\n content: {\n display: 'flex',\n flexDirection: 'column',\n },\n body: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n },\n}));\n\ntype ModalWizardStylesNames = Selectors<typeof useStyles>;\n\nexport interface ModalWizardProps\n extends Omit<DefaultProps<ModalWizardStylesNames>, 'classNames' | 'styles'>,\n Omit<ModalProps, 'centered' | 'title'> {\n /**\n * The label of the cancel button\n *\n * @default \"Cancel\"\n */\n cancelButtonLabel?: string;\n\n /**\n * The label of the next button\n *\n * @default \"Next\"\n */\n nextButtonLabel?: string;\n\n /**\n * The label of the previous button\n *\n * @default \"Previous\"\n */\n previousButtonLabel?: string;\n\n /**\n * The label of the finish button\n *\n * @default \"Finish\"\n */\n finishButtonLabel?: string;\n\n /**\n * A callback function that is executed when the user clicks on the next button\n */\n onNext?: (newStep: number, setCurrentStep?: React.Dispatch<number>) => unknown;\n\n /**\n * A callback function that is executed when the user clicks on the previous button\n */\n onPrevious?: (newStep: number) => unknown;\n\n /**\n * A function that is executed when user completes all the steps.\n *\n * @param close A function that closes the modal when called.\n */\n onFinish?: () => unknown;\n\n /**\n * Determine if user interacted with any steps in the modal wizard\n */\n isDirty?: () => boolean;\n\n /**\n * A function to confirm close if the state is dirty before closing\n */\n handleDirtyState?: () => boolean;\n\n /**\n * Children to display in modal wizard\n * */\n children?: Array<ReturnType<typeof ModalWizardStep>>;\n\n /**\n * Indicates if step validation should be performed when clicking on to the next step\n * If true, the next step will always be enabled\n *\n * @default false\n */\n isStepValidatedOnNext?: boolean;\n}\n\ninterface ModalWizardType {\n (props: ModalWizardProps): ReactElement;\n\n Step: typeof ModalWizardStep;\n}\n\nexport const ModalWizard: ModalWizardType = ({\n cancelButtonLabel = 'Cancel',\n nextButtonLabel = 'Next',\n previousButtonLabel = 'Previous',\n finishButtonLabel = 'Finish',\n opened,\n onNext,\n onPrevious,\n onClose,\n onFinish,\n isDirty,\n handleDirtyState,\n classNames,\n styles,\n unstyled,\n children,\n isStepValidatedOnNext,\n ...modalProps\n}) => {\n const {\n classes: {content, body},\n cx,\n } = useStyles(null, {\n name: 'ModalWizard',\n classNames,\n styles,\n unstyled,\n });\n\n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const modalSteps = (Children.toArray(children) as ReactElement[]).filter((child) => child.type === ModalWizardStep);\n\n const numberOfSteps = modalSteps.length;\n const isFirstStep = currentStepIndex === 0;\n const isLastStep = currentStepIndex === numberOfSteps - 1;\n const currentStep = modalSteps.filter((step: ReactElement, index: number) => index === currentStepIndex)[0];\n\n const {isValid} = isStepValidatedOnNext\n ? {isValid: true}\n : currentStep?.props?.validateStep?.(currentStepIndex, numberOfSteps) ?? {isValid: true};\n\n useEffect(() => {\n if (opened) {\n setCurrentStepIndex(0);\n }\n }, [opened]);\n\n const handleClose = (confirmDirty: boolean) => {\n if (confirmDirty) {\n const isModalDirty = isDirty?.() ?? false;\n if (isModalDirty) {\n const discardChanges = handleDirtyState?.() ?? true;\n if (!discardChanges) {\n return;\n }\n }\n }\n onClose?.();\n };\n\n const resolveStepDependentProp = <P extends keyof ModalWizardStepProps>(\n prop: P\n ): ResolveStep<ModalWizardStepProps[P]> =>\n typeof currentStep.props[prop] === 'function'\n ? currentStep.props[prop](currentStepIndex + 1, numberOfSteps)\n : currentStep.props[prop];\n\n const getProgress = useMemo(\n () => (currStepIndex: number) => {\n const totalNumberOfSteps = modalSteps.filter((step) => step.props.countsAsProgress).length;\n const numberOfCompletedSteps = modalSteps.filter(\n (step, index) => step.props.countsAsProgress && index <= currStepIndex\n ).length;\n return (numberOfCompletedSteps / totalNumberOfSteps) * 100;\n },\n []\n );\n\n return (\n <Modal\n opened={opened}\n classNames={{content: cx(content, classNames?.content), body: cx(body, classNames?.body)}}\n centered\n onClose={() => handleClose(true)}\n withCloseButton={false}\n padding={0}\n {...modalProps}\n >\n <Header\n p=\"lg\"\n pr=\"md\"\n variant=\"modal\"\n description={resolveStepDependentProp('description')}\n borderBottom={!currentStep.props.showProgressBar}\n >\n {resolveStepDependentProp('title')}\n {resolveStepDependentProp('docLink') ? (\n <Header.DocAnchor\n href={resolveStepDependentProp('docLink')}\n label={resolveStepDependentProp('docLinkTooltipLabel')}\n />\n ) : null}\n <Header.Actions>\n <CloseButton aria-label={'close-modal'} onClick={() => handleClose(true)} />\n </Header.Actions>\n </Header>\n {currentStep.props.showProgressBar && (\n <Progress color=\"navy.5\" size=\"sm\" radius={0} value={getProgress(currentStepIndex)} />\n )}\n <Box p=\"lg\">{currentStep}</Box>\n <Box\n sx={{\n marginTop: 'auto',\n }}\n >\n <StickyFooter borderTop>\n <Button\n name={isFirstStep ? cancelButtonLabel : previousButtonLabel}\n variant=\"outline\"\n onClick={() => {\n if (isFirstStep) {\n handleClose(true);\n } else {\n onPrevious?.(currentStepIndex - 1);\n setCurrentStepIndex(currentStepIndex - 1);\n }\n }}\n >\n {isFirstStep ? cancelButtonLabel : previousButtonLabel}\n </Button>\n\n <Button\n disabled={!isValid}\n onClick={() => {\n if (isLastStep) {\n onFinish?.() ?? handleClose(false);\n } else {\n onNext?.(currentStepIndex + 1, setCurrentStepIndex);\n\n if (!isStepValidatedOnNext) {\n setCurrentStepIndex(currentStepIndex + 1);\n }\n }\n }}\n >\n {isLastStep ? finishButtonLabel : nextButtonLabel}\n </Button>\n </StickyFooter>\n </Box>\n </Modal>\n );\n};\n\nModalWizard.Step = ModalWizardStep;\n"],"names":["ModalWizard","useStyles","createStyles","content","display","flexDirection","body","flex","cancelButtonLabel","nextButtonLabel","previousButtonLabel","finishButtonLabel","opened","onNext","onPrevious","onClose","onFinish","isDirty","handleDirtyState","classNames","styles","unstyled","children","isStepValidatedOnNext","modalProps","currentStep","name","classes","cx","useState","currentStepIndex","setCurrentStepIndex","modalSteps","Children","toArray","filter","child","type","ModalWizardStep","numberOfSteps","length","isFirstStep","isLastStep","step","index","isValid","props","validateStep","useEffect","handleClose","confirmDirty","isModalDirty","discardChanges","resolveStepDependentProp","prop","getProgress","useMemo","currStepIndex","totalNumberOfSteps","countsAsProgress","numberOfCompletedSteps","Modal","centered","withCloseButton","padding","Header","p","pr","variant","description","borderBottom","showProgressBar","DocAnchor","href","label","Actions","CloseButton","aria-label","onClick","Progress","color","size","radius","value","Box","sx","marginTop","StickyFooter","borderTop","Button","disabled","Step"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/modal-wizard/ModalWizardStep.tsx"],"sourcesContent":["import {FunctionComponent, PropsWithChildren, ReactNode} from 'react';\n\ntype DependsOnStep<T> = (currentStep: number, numberOfSteps: number) => T;\nexport type ResolveStep<P> = P extends infer T | DependsOnStep<infer T> ? T : never;\n\nexport interface ModalWizardStepProps {\n /**\n * The title of the current step. The title can be dependent on the current step if needed\n */\n title?: ReactNode | DependsOnStep<ReactNode>;\n\n /**\n * The description of the current step. The description can be dependent on the current step if needed\n */\n description?: string | DependsOnStep<string>;\n\n /**\n * A link to the documentation for the current step\n */\n docLink?: string | DependsOnStep<string>;\n\n /**\n * A tooltip label for the docLink\n */\n docLinkTooltipLabel?: string | DependsOnStep<string>;\n\n /**\n * A function to validate the current step, it determines if the next step should be enabled or not.\n */\n validateStep?: (currentStep: any, numberOfSteps: any) => {isValid: boolean; messsage?: unknown};\n\n /**\n * Show progress bar at this step\n *\n * @default true\n */\n showProgressBar?: boolean;\n\n /**\n * Does completion of current step count moves the progress bar\n *\n * @default true\n */\n countsAsProgress?: boolean;\n}\n\nconst ModalWizardStep: FunctionComponent<PropsWithChildren<ModalWizardStepProps>> = ({children}) => <>{children}</>;\n\nModalWizardStep.defaultProps = {\n showProgressBar: true,\n countsAsProgress: true,\n};\n\nexport {ModalWizardStep};\n"],"names":["ModalWizardStep","children","defaultProps","showProgressBar","countsAsProgress"],"mappings":";;;;+BAqDQA;;;eAAAA;;;;AAPR,IAAMA,kBAA8E;QAAEC,iBAAAA;yBAAc;kBAAGA;;;AAEvGD,gBAAgBE,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/modal-wizard/ModalWizardStep.tsx"],"sourcesContent":["import {FunctionComponent, PropsWithChildren, ReactNode} from 'react';\n\ntype DependsOnStep<T> = (currentStep: number, numberOfSteps: number) => T;\nexport type ResolveStep<P> = P extends infer T | DependsOnStep<infer T> ? T : never;\n\nexport interface ModalWizardStepProps {\n /**\n * The title of the current step. The title can be dependent on the current step if needed\n */\n title?: ReactNode | DependsOnStep<ReactNode>;\n\n /**\n * The description of the current step. The description can be dependent on the current step if needed\n */\n description?: string | DependsOnStep<string>;\n\n /**\n * A link to the documentation for the current step\n */\n docLink?: string | DependsOnStep<string>;\n\n /**\n * A tooltip label for the docLink\n */\n docLinkTooltipLabel?: string | DependsOnStep<string>;\n\n /**\n * A function to validate the current step, it determines if the next step should be enabled or not.\n */\n validateStep?: (currentStep: any, numberOfSteps: any) => {isValid: boolean; messsage?: unknown};\n\n /**\n * Show progress bar at this step\n *\n * @default true\n */\n showProgressBar?: boolean;\n\n /**\n * Does completion of current step count moves the progress bar\n *\n * @default true\n */\n countsAsProgress?: boolean;\n}\n\nconst ModalWizardStep: FunctionComponent<PropsWithChildren<ModalWizardStepProps>> = ({children}) => <>{children}</>;\n\nModalWizardStep.defaultProps = {\n showProgressBar: true,\n countsAsProgress: true,\n};\n\nexport {ModalWizardStep};\n"],"names":["ModalWizardStep","children","defaultProps","showProgressBar","countsAsProgress"],"mappings":";;;;+BAqDQA;;;eAAAA;;;;AAPR,IAAMA,kBAA8E;QAAEC,iBAAAA;yBAAc;kBAAGA;;;AAEvGD,gBAAgBE,YAAY,GAAG;IAC3BC,iBAAiB;IACjBC,kBAAkB;AACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/prompt/Prompt.tsx"],"sourcesContent":["import {color} from '@coveord/plasma-tokens';\nimport {createStyles, Modal, ModalProps} from '@mantine/core';\nimport {Children, ReactElement, ReactNode} from 'react';\nimport {PromptFooter} from './PromptFooter';\n\nconst useStyles = createStyles((theme) => ({\n body: {\n padding: 0,\n },\n modalType: {overflow: 'hidden', width: 550},\n innerBody: {\n padding: `${theme.spacing.md} ${theme.spacing.xl} ${theme.spacing.lg}`,\n },\n header: {\n padding: `${theme.spacing.md} ${theme.spacing.xl}`,\n width: '100%',\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n fontSize: theme.headings.sizes.h3.fontSize,\n lineHeight: theme.headings.sizes.h3.lineHeight,\n },\n success: {backgroundColor: theme.colors.lime[6], color: color.primary.pureWhite},\n warning: {backgroundColor: theme.colors.yellow[5], color: color.primary.pureWhite},\n critical: {\n backgroundColor: theme.colors.red[6],\n color: color.primary.pureWhite,\n },\n info: {backgroundColor: theme.colors.navy[5], color: color.primary.pureWhite},\n whiteClose: {color: color.primary.pureWhite, '&:hover': {backgroundColor: 'transparent'}},\n title: {\n color: color.primary.pureWhite,\n },\n}));\n\nexport interface PromptProps extends ModalProps {\n /**\n * Controls prompt appearance\n *\n * @default \"info\"\n */\n variant?: 'success' | 'warning' | 'critical' | 'info';\n children: ReactNode;\n}\ninterface PromptType {\n (props: PromptProps): ReactElement;\n Footer: typeof PromptFooter;\n}\n\nexport const Prompt: PromptType = ({children, variant = 'info', ...otherProps}) => {\n const {classes, cx} = useStyles();\n const convertedChildren = Children.toArray(children) as ReactElement[];\n\n const otherChildren = convertedChildren.filter((child) => child.type !== PromptFooter);\n const footer = convertedChildren.find((child) => child.type === PromptFooter);\n\n const classNames = {\n header: cx(classes.header, classes[variant]),\n close: classes.whiteClose,\n body: classes.body,\n modal: classes.modalType,\n title: classes.title,\n };\n\n return (\n <Modal variant=\"prompt\" padding={0} classNames={classNames} size={'sm'} {...otherProps}>\n <div className={classes.innerBody}>{otherChildren}</div>\n {footer}\n </Modal>\n );\n};\n\nPrompt.Footer = PromptFooter;\n"],"names":["Prompt","useStyles","createStyles","theme","body","padding","modalType","overflow","width","innerBody","spacing","md","xl","lg","header","borderBottom","colors","gray","fontSize","headings","sizes","h3","lineHeight","success","backgroundColor","lime","color","primary","pureWhite","warning","yellow","critical","red","info","navy","whiteClose","title","children","variant","otherProps","classes","cx","convertedChildren","Children","toArray","otherChildren","filter","child","type","PromptFooter","footer","find","classNames","close","modal","Modal","size","div","className","Footer"],"mappings":";;;;+BA+CaA;;;eAAAA;;;;;;;4BA/CO;oBAC0B;qBACE;4BACrB;AAE3B,IAAMC,YAAYC,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/prompt/Prompt.tsx"],"sourcesContent":["import {color} from '@coveord/plasma-tokens';\nimport {createStyles, Modal, ModalProps} from '@mantine/core';\nimport {Children, ReactElement, ReactNode} from 'react';\nimport {PromptFooter} from './PromptFooter';\n\nconst useStyles = createStyles((theme) => ({\n body: {\n padding: 0,\n },\n modalType: {overflow: 'hidden', width: 550},\n innerBody: {\n padding: `${theme.spacing.md} ${theme.spacing.xl} ${theme.spacing.lg}`,\n },\n header: {\n padding: `${theme.spacing.md} ${theme.spacing.xl}`,\n width: '100%',\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n fontSize: theme.headings.sizes.h3.fontSize,\n lineHeight: theme.headings.sizes.h3.lineHeight,\n },\n success: {backgroundColor: theme.colors.lime[6], color: color.primary.pureWhite},\n warning: {backgroundColor: theme.colors.yellow[5], color: color.primary.pureWhite},\n critical: {\n backgroundColor: theme.colors.red[6],\n color: color.primary.pureWhite,\n },\n info: {backgroundColor: theme.colors.navy[5], color: color.primary.pureWhite},\n whiteClose: {color: color.primary.pureWhite, '&:hover': {backgroundColor: 'transparent'}},\n title: {\n color: color.primary.pureWhite,\n },\n}));\n\nexport interface PromptProps extends ModalProps {\n /**\n * Controls prompt appearance\n *\n * @default \"info\"\n */\n variant?: 'success' | 'warning' | 'critical' | 'info';\n children: ReactNode;\n}\ninterface PromptType {\n (props: PromptProps): ReactElement;\n Footer: typeof PromptFooter;\n}\n\nexport const Prompt: PromptType = ({children, variant = 'info', ...otherProps}) => {\n const {classes, cx} = useStyles();\n const convertedChildren = Children.toArray(children) as ReactElement[];\n\n const otherChildren = convertedChildren.filter((child) => child.type !== PromptFooter);\n const footer = convertedChildren.find((child) => child.type === PromptFooter);\n\n const classNames = {\n header: cx(classes.header, classes[variant]),\n close: classes.whiteClose,\n body: classes.body,\n modal: classes.modalType,\n title: classes.title,\n };\n\n return (\n <Modal variant=\"prompt\" padding={0} classNames={classNames} size={'sm'} {...otherProps}>\n <div className={classes.innerBody}>{otherChildren}</div>\n {footer}\n </Modal>\n );\n};\n\nPrompt.Footer = PromptFooter;\n"],"names":["Prompt","useStyles","createStyles","theme","body","padding","modalType","overflow","width","innerBody","spacing","md","xl","lg","header","borderBottom","colors","gray","fontSize","headings","sizes","h3","lineHeight","success","backgroundColor","lime","color","primary","pureWhite","warning","yellow","critical","red","info","navy","whiteClose","title","children","variant","otherProps","classes","cx","convertedChildren","Children","toArray","otherChildren","filter","child","type","PromptFooter","footer","find","classNames","close","modal","Modal","size","div","className","Footer"],"mappings":";;;;+BA+CaA;;;eAAAA;;;;;;;4BA/CO;oBAC0B;qBACE;4BACrB;AAE3B,IAAMC,YAAYC,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACvCC,MAAM;YACFC,SAAS;QACb;QACAC,WAAW;YAACC,UAAU;YAAUC,OAAO;QAAG;QAC1CC,WAAW;YACPJ,SAAS,AAAC,GAAsBF,OAApBA,MAAMO,OAAO,CAACC,EAAE,EAAC,KAAuBR,OAApBA,MAAMO,OAAO,CAACE,EAAE,EAAC,KAAoB,OAAjBT,MAAMO,OAAO,CAACG,EAAE;QACxE;QACAC,QAAQ;YACJT,SAAS,AAAC,GAAsBF,OAApBA,MAAMO,OAAO,CAACC,EAAE,EAAC,KAAoB,OAAjBR,MAAMO,OAAO,CAACE,EAAE;YAChDJ,OAAO;YACPO,cAAc,AAAC,aAAiC,OAArBZ,MAAMa,MAAM,CAACC,IAAI,CAAC,EAAE;YAC/CC,UAAUf,MAAMgB,QAAQ,CAACC,KAAK,CAACC,EAAE,CAACH,QAAQ;YAC1CI,YAAYnB,MAAMgB,QAAQ,CAACC,KAAK,CAACC,EAAE,CAACC,UAAU;QAClD;QACAC,SAAS;YAACC,iBAAiBrB,MAAMa,MAAM,CAACS,IAAI,CAAC,EAAE;YAAEC,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAAA;QAC/EC,SAAS;YAACL,iBAAiBrB,MAAMa,MAAM,CAACc,MAAM,CAAC,EAAE;YAAEJ,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAAA;QACjFG,UAAU;YACNP,iBAAiBrB,MAAMa,MAAM,CAACgB,GAAG,CAAC,EAAE;YACpCN,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAClC;QACAK,MAAM;YAACT,iBAAiBrB,MAAMa,MAAM,CAACkB,IAAI,CAAC,EAAE;YAAER,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAAA;QAC5EO,YAAY;YAACT,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;YAAE,WAAW;gBAACJ,iBAAiB;YAAa;QAAC;QACxFY,OAAO;YACHV,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAClC;IACJ;;AAgBO,IAAM5B,SAAqB;QAAEqC,kBAAAA,kCAAUC,SAAAA,sCAAU,yBAAWC;QAA/BF;QAAUC;;IAC1C,IAAsBrC,aAAAA,aAAfuC,UAAevC,WAAfuC,SAASC,KAAMxC,WAANwC;IAChB,IAAMC,oBAAoBC,eAAQ,CAACC,OAAO,CAACP;IAE3C,IAAMQ,gBAAgBH,kBAAkBI,MAAM,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKC,0BAAY;;IACrF,IAAMC,SAASR,kBAAkBS,IAAI,CAAC,SAACJ;eAAUA,MAAMC,IAAI,KAAKC,0BAAY;;IAE5E,IAAMG,aAAa;QACftC,QAAQ2B,GAAGD,QAAQ1B,MAAM,EAAE0B,OAAO,CAACF,QAAQ;QAC3Ce,OAAOb,QAAQL,UAAU;QACzB/B,MAAMoC,QAAQpC,IAAI;QAClBkD,OAAOd,QAAQlC,SAAS;QACxB8B,OAAOI,QAAQJ,KAAK;IACxB;IAEA,qBACI,sBAACmB,WAAK;QAACjB,SAAQ;QAASjC,SAAS;QAAG+C,YAAYA;QAAYI,MAAM;OAAUjB;;0BACxE,qBAACkB;gBAAIC,WAAWlB,QAAQ/B,SAAS;0BAAGoC;;YACnCK;;;AAGb;AAEAlD,OAAO2D,MAAM,GAAGV,0BAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/prompt/PromptFooter.tsx"],"sourcesContent":["import {FunctionComponent, PropsWithChildren} from 'react';\nimport {StickyFooter, StickyFooterProps} from '../sticky-footer';\n\nexport interface PromptFooterProps extends StickyFooterProps {}\n\nexport const PromptFooter: FunctionComponent<PropsWithChildren<PromptFooterProps>> = ({children, ...otherProps}) => (\n <StickyFooter {...otherProps}>{children}</StickyFooter>\n);\n"],"names":["PromptFooter","children","otherProps","StickyFooter"],"mappings":";;;;+BAKaA;;;eAAAA;;;;;;;4BAJiC;AAIvC,IAAMA,eAAwE;QAAEC,kBAAAA,UAAaC;QAAbD;;WACnF,qBAACE,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/prompt/PromptFooter.tsx"],"sourcesContent":["import {FunctionComponent, PropsWithChildren} from 'react';\nimport {StickyFooter, StickyFooterProps} from '../sticky-footer';\n\nexport interface PromptFooterProps extends StickyFooterProps {}\n\nexport const PromptFooter: FunctionComponent<PropsWithChildren<PromptFooterProps>> = ({children, ...otherProps}) => (\n <StickyFooter {...otherProps}>{children}</StickyFooter>\n);\n"],"names":["PromptFooter","children","otherProps","StickyFooter"],"mappings":";;;;+BAKaA;;;eAAAA;;;;;;;4BAJiC;AAIvC,IAAMA,eAAwE;QAAEC,kBAAAA,UAAaC;QAAbD;;WACnF,qBAACE,0BAAY,8CAAKD;kBAAaD;;AAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/sticky-footer/StickyFooter.tsx"],"sourcesContent":["import {Box, createStyles, DefaultProps, Divider, Group} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nexport interface StickyFooterProps extends DefaultProps {\n /**\n * Whether a border is render on top of the footer\n */\n borderTop?: boolean;\n}\n\nconst useStyles = createStyles(() => ({\n footer: {\n position: 'sticky',\n bottom: 0,\n zIndex: 1,\n backgroundColor: 'white',\n },\n}));\n\nexport const StickyFooter: FunctionComponent<PropsWithChildren<StickyFooterProps>> = ({\n borderTop,\n children,\n ...others\n}) => {\n const {classes} = useStyles();\n\n return (\n <Box className={classes.footer}>\n {borderTop ? <Divider size=\"xs\" /> : null}\n <Group position=\"right\" spacing=\"sm\" p=\"lg\" {...others}>\n {children}\n </Group>\n </Box>\n );\n};\n"],"names":["StickyFooter","useStyles","createStyles","footer","position","bottom","zIndex","backgroundColor","borderTop","children","others","classes","Box","className","Divider","size","Group","spacing","p"],"mappings":";;;;+BAmBaA;;;eAAAA;;;;;;;oBAnBiD;AAU9D,IAAMC,YAAYC,IAAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/sticky-footer/StickyFooter.tsx"],"sourcesContent":["import {Box, createStyles, DefaultProps, Divider, Group} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nexport interface StickyFooterProps extends DefaultProps {\n /**\n * Whether a border is render on top of the footer\n */\n borderTop?: boolean;\n}\n\nconst useStyles = createStyles(() => ({\n footer: {\n position: 'sticky',\n bottom: 0,\n zIndex: 1,\n backgroundColor: 'white',\n },\n}));\n\nexport const StickyFooter: FunctionComponent<PropsWithChildren<StickyFooterProps>> = ({\n borderTop,\n children,\n ...others\n}) => {\n const {classes} = useStyles();\n\n return (\n <Box className={classes.footer}>\n {borderTop ? <Divider size=\"xs\" /> : null}\n <Group position=\"right\" spacing=\"sm\" p=\"lg\" {...others}>\n {children}\n </Group>\n </Box>\n );\n};\n"],"names":["StickyFooter","useStyles","createStyles","footer","position","bottom","zIndex","backgroundColor","borderTop","children","others","classes","Box","className","Divider","size","Group","spacing","p"],"mappings":";;;;+BAmBaA;;;eAAAA;;;;;;;oBAnBiD;AAU9D,IAAMC,YAAYC,IAAAA,kBAAY,EAAC;WAAO;QAClCC,QAAQ;YACJC,UAAU;YACVC,QAAQ;YACRC,QAAQ;YACRC,iBAAiB;QACrB;IACJ;;AAEO,IAAMP,eAAwE;QACjFQ,mBAAAA,WACAC,kBAAAA,UACGC;QAFHF;QACAC;;IAGA,IAAM,AAACE,UAAWV,YAAXU;IAEP,qBACI,sBAACC,SAAG;QAACC,WAAWF,QAAQR,MAAM;;YACzBK,0BAAY,qBAACM,aAAO;gBAACC,MAAK;iBAAU;0BACrC,qBAACC,WAAK;gBAACZ,UAAS;gBAAQa,SAAQ;gBAAKC,GAAE;eAASR;0BAC3CD;;;;AAIjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAwC,SAAS,EAAC,MAAM,eAAe,CAAC;AAiB/E,eAAO,MAAM,KAAK,EAAE,SA+KnB,CAAC"}
|
|
@@ -13,6 +13,7 @@ var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
|
13
13
|
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
|
|
14
14
|
var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
|
|
15
15
|
var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
|
|
16
|
+
var _to_consumable_array = require("@swc/helpers/_/_to_consumable_array");
|
|
16
17
|
var _jsxruntime = require("react/jsx-runtime");
|
|
17
18
|
var _core = require("@mantine/core");
|
|
18
19
|
var _form = require("@mantine/form");
|
|
@@ -21,6 +22,7 @@ var _reacttable = require("@tanstack/react-table");
|
|
|
21
22
|
var _lodashdebounce = /*#__PURE__*/ _interop_require_default._(require("lodash.debounce"));
|
|
22
23
|
var _lodashdefaultsdeep = /*#__PURE__*/ _interop_require_default._(require("lodash.defaultsdeep"));
|
|
23
24
|
var _react = require("react");
|
|
25
|
+
var _TableLayouts = require("./layouts/TableLayouts");
|
|
24
26
|
var _Tablestyles = /*#__PURE__*/ _interop_require_default._(require("./Table.styles"));
|
|
25
27
|
var _TableActions = require("./TableActions");
|
|
26
28
|
var _TableCollapsibleColumn = require("./TableCollapsibleColumn");
|
|
@@ -30,18 +32,18 @@ var _TableDateRangePicker = require("./TableDateRangePicker");
|
|
|
30
32
|
var _TableFilter = require("./TableFilter");
|
|
31
33
|
var _TableFooter = require("./TableFooter");
|
|
32
34
|
var _TableHeader = require("./TableHeader");
|
|
35
|
+
var _TableLastUpdated = require("./TableLastUpdated");
|
|
36
|
+
var _TableLoading = require("./TableLoading");
|
|
33
37
|
var _TablePagination = require("./TablePagination");
|
|
34
38
|
var _TablePerPage = require("./TablePerPage");
|
|
35
39
|
var _TablePredicate = require("./TablePredicate");
|
|
36
40
|
var _TableSelectableColumn = require("./TableSelectableColumn");
|
|
37
41
|
var _useRowSelection = require("./useRowSelection");
|
|
38
|
-
var _TableLoading = require("./TableLoading");
|
|
39
|
-
var _TableLayouts = require("./layouts/TableLayouts");
|
|
40
42
|
var Table = function(param) {
|
|
41
43
|
var data = param.data, getRowId = param.getRowId, noDataChildren = param.noDataChildren, getExpandChildren = param.getExpandChildren, _param_initialState = param.initialState, initialState = _param_initialState === void 0 ? {} : _param_initialState, columns = param.columns, _param_layouts = param.layouts, layouts = _param_layouts === void 0 ? [
|
|
42
44
|
_TableLayouts.TableLayouts.Rows
|
|
43
|
-
] : _param_layouts, onMount = param.onMount, onChange = param.onChange, children = param.children, _param_loading = param.loading, loading = _param_loading === void 0 ? false : _param_loading, doubleClickAction = param.doubleClickAction, multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection, onRowSelectionChange = param.onRowSelectionChange, _param_options = param.options, options = _param_options === void 0 ? {} : _param_options;
|
|
44
|
-
var _form_values, _form_values_dateRange, _form_values_dateRange1;
|
|
45
|
+
] : _param_layouts, onMount = param.onMount, onChange = param.onChange, children = param.children, _param_loading = param.loading, loading = _param_loading === void 0 ? false : _param_loading, doubleClickAction = param.doubleClickAction, multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection, onRowSelectionChange = param.onRowSelectionChange, additionalRootNodes = param.additionalRootNodes, _param_options = param.options, options = _param_options === void 0 ? {} : _param_options;
|
|
46
|
+
var _initialState, _initialState1, _initialState2, _options, _getExpandChildren, _form_values, _form_values_dateRange, _form_values_dateRange1;
|
|
45
47
|
var convertedChildren = _react.Children.toArray(children);
|
|
46
48
|
var header = convertedChildren.find(function(child) {
|
|
47
49
|
return child.type === _TableHeader.TableHeader;
|
|
@@ -52,6 +54,9 @@ var Table = function(param) {
|
|
|
52
54
|
var consumer = convertedChildren.find(function(child) {
|
|
53
55
|
return child.type === _TableConsumer.TableConsumer;
|
|
54
56
|
});
|
|
57
|
+
var lastUpdated = convertedChildren.find(function(child) {
|
|
58
|
+
return child.type === _TableLastUpdated.TableLastUpdated;
|
|
59
|
+
});
|
|
55
60
|
var predicates = initialState.predicates, dateRange = initialState.dateRange, initialStateWithoutForm = _object_without_properties._(initialState, [
|
|
56
61
|
"predicates",
|
|
57
62
|
"dateRange"
|
|
@@ -59,12 +64,12 @@ var Table = function(param) {
|
|
|
59
64
|
var _initialState_predicates, _initialState_dateRange, _initialState_layout;
|
|
60
65
|
var form = (0, _form.useForm)({
|
|
61
66
|
initialValues: {
|
|
62
|
-
predicates: (_initialState_predicates = initialState === null ||
|
|
63
|
-
dateRange: (_initialState_dateRange = initialState === null ||
|
|
67
|
+
predicates: (_initialState_predicates = (_initialState = initialState) === null || _initialState === void 0 ? void 0 : _initialState.predicates) !== null && _initialState_predicates !== void 0 ? _initialState_predicates : {},
|
|
68
|
+
dateRange: (_initialState_dateRange = (_initialState1 = initialState) === null || _initialState1 === void 0 ? void 0 : _initialState1.dateRange) !== null && _initialState_dateRange !== void 0 ? _initialState_dateRange : [
|
|
64
69
|
null,
|
|
65
70
|
null
|
|
66
71
|
],
|
|
67
|
-
layout: (_initialState_layout = initialState === null ||
|
|
72
|
+
layout: (_initialState_layout = (_initialState2 = initialState) === null || _initialState2 === void 0 ? void 0 : _initialState2.layout) !== null && _initialState_layout !== void 0 ? _initialState_layout : layouts[0].name
|
|
68
73
|
}
|
|
69
74
|
});
|
|
70
75
|
var classes = (0, _Tablestyles.default)().classes;
|
|
@@ -73,18 +78,19 @@ var Table = function(param) {
|
|
|
73
78
|
initialState: (0, _lodashdefaultsdeep.default)(initialStateWithoutForm, {
|
|
74
79
|
pagination: {
|
|
75
80
|
pageSize: _TablePerPage.TablePerPage.DEFAULT_SIZE
|
|
76
|
-
}
|
|
81
|
+
},
|
|
82
|
+
globalFilter: ""
|
|
77
83
|
}),
|
|
78
84
|
data: data,
|
|
79
85
|
columns: multiRowSelectionEnabled ? [
|
|
80
86
|
_TableSelectableColumn.TableSelectableColumn
|
|
81
87
|
].concat(columns) : columns,
|
|
82
88
|
getCoreRowModel: (0, _reacttable.getCoreRowModel)(),
|
|
83
|
-
manualPagination: (options === null ||
|
|
89
|
+
manualPagination: ((_options = options) === null || _options === void 0 ? void 0 : _options.getPaginationRowModel) === undefined,
|
|
84
90
|
enableMultiRowSelection: !!multiRowSelectionEnabled,
|
|
85
91
|
getRowId: getRowId,
|
|
86
92
|
getRowCanExpand: function(row) {
|
|
87
|
-
return (_ref = !!(getExpandChildren === null ||
|
|
93
|
+
return (_ref = !!((_getExpandChildren = getExpandChildren) === null || _getExpandChildren === void 0 ? void 0 : _getExpandChildren(row.original))) !== null && _ref !== void 0 ? _ref : false;
|
|
88
94
|
},
|
|
89
95
|
enableRowSelection: !loading
|
|
90
96
|
}, options));
|
|
@@ -97,17 +103,20 @@ var Table = function(param) {
|
|
|
97
103
|
});
|
|
98
104
|
var _useRowSelection1 = (0, _useRowSelection.useRowSelection)(table, {
|
|
99
105
|
multiRowSelectionEnabled: multiRowSelectionEnabled,
|
|
100
|
-
onRowSelectionChange: onRowSelectionChange
|
|
106
|
+
onRowSelectionChange: onRowSelectionChange,
|
|
107
|
+
additionalRootNodes: additionalRootNodes
|
|
101
108
|
}), clearSelection = _useRowSelection1.clearSelection, getSelectedRow = _useRowSelection1.getSelectedRow, getSelectedRows = _useRowSelection1.getSelectedRows, outsideClickRef = _useRowSelection1.outsideClickRef;
|
|
102
109
|
var _form_values_predicates;
|
|
103
110
|
var isFiltered = !!state.globalFilter || Object.keys((_form_values_predicates = (_form_values = form.values) === null || _form_values === void 0 ? void 0 : _form_values.predicates) !== null && _form_values_predicates !== void 0 ? _form_values_predicates : {}).some(function(predicate) {
|
|
104
111
|
return !!form.values.predicates[predicate];
|
|
105
112
|
}) || !!((_form_values_dateRange = form.values.dateRange) === null || _form_values_dateRange === void 0 ? void 0 : _form_values_dateRange[0]) || !!((_form_values_dateRange1 = form.values.dateRange) === null || _form_values_dateRange1 === void 0 ? void 0 : _form_values_dateRange1[1]);
|
|
106
113
|
var triggerChange = (0, _lodashdebounce.default)(function() {
|
|
107
|
-
|
|
114
|
+
var _onChange;
|
|
115
|
+
return (_onChange = onChange) === null || _onChange === void 0 ? void 0 : _onChange(_object_spread._({}, state, form.values));
|
|
108
116
|
}, 500);
|
|
109
117
|
(0, _react.useEffect)(function() {
|
|
110
|
-
|
|
118
|
+
var _onMount;
|
|
119
|
+
(_onMount = onMount) === null || _onMount === void 0 ? void 0 : _onMount(_object_spread._({}, state, form.values));
|
|
111
120
|
return function() {
|
|
112
121
|
triggerChange.cancel();
|
|
113
122
|
};
|
|
@@ -146,6 +155,7 @@ var Table = function(param) {
|
|
|
146
155
|
return name === form.values.layout;
|
|
147
156
|
});
|
|
148
157
|
var hasRows = table.getRowModel().rows.length > 0;
|
|
158
|
+
var _lastUpdated_props_dependencies;
|
|
149
159
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
|
|
150
160
|
ref: outsideClickRef,
|
|
151
161
|
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_TableContext.TableContext.Provider, {
|
|
@@ -169,10 +179,9 @@ var Table = function(param) {
|
|
|
169
179
|
consumer,
|
|
170
180
|
!hasRows && !isFiltered && !loading ? noDataChildren : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
|
|
171
181
|
children: [
|
|
172
|
-
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.
|
|
182
|
+
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, {
|
|
183
|
+
component: "table",
|
|
173
184
|
className: classes.table,
|
|
174
|
-
horizontalSpacing: "sm",
|
|
175
|
-
verticalSpacing: "xs",
|
|
176
185
|
pb: "sm",
|
|
177
186
|
children: [
|
|
178
187
|
/*#__PURE__*/ (0, _jsxruntime.jsxs)("thead", {
|
|
@@ -180,10 +189,8 @@ var Table = function(param) {
|
|
|
180
189
|
children: [
|
|
181
190
|
!!header ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
|
|
182
191
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)("th", {
|
|
183
|
-
// need to use inline style because Mantine define style on `.mantine-{id} thead tr th`
|
|
184
192
|
style: {
|
|
185
|
-
padding: 0
|
|
186
|
-
fontWeight: "unset"
|
|
193
|
+
padding: 0
|
|
187
194
|
},
|
|
188
195
|
colSpan: table.getAllColumns().length,
|
|
189
196
|
children: header
|
|
@@ -215,7 +222,12 @@ var Table = function(param) {
|
|
|
215
222
|
})
|
|
216
223
|
]
|
|
217
224
|
}),
|
|
218
|
-
footer
|
|
225
|
+
footer,
|
|
226
|
+
lastUpdated ? /*#__PURE__*/ (0, _react.cloneElement)(lastUpdated, {
|
|
227
|
+
dependencies: [
|
|
228
|
+
data
|
|
229
|
+
].concat(_to_consumable_array._((_lastUpdated_props_dependencies = lastUpdated.props.dependencies) !== null && _lastUpdated_props_dependencies !== void 0 ? _lastUpdated_props_dependencies : []))
|
|
230
|
+
}) : null
|
|
219
231
|
]
|
|
220
232
|
})
|
|
221
233
|
]
|
|
@@ -226,6 +238,7 @@ Table.Actions = _TableActions.TableActions;
|
|
|
226
238
|
Table.Filter = _TableFilter.TableFilter;
|
|
227
239
|
Table.Footer = _TableFooter.TableFooter;
|
|
228
240
|
Table.Header = _TableHeader.TableHeader;
|
|
241
|
+
Table.LastUpdated = _TableLastUpdated.TableLastUpdated;
|
|
229
242
|
Table.Pagination = _TablePagination.TablePagination;
|
|
230
243
|
Table.Predicate = _TablePredicate.TablePredicate;
|
|
231
244
|
Table.PerPage = _TablePerPage.TablePerPage;
|