@lumx/react 3.10.1-alpha.0 → 3.10.1-alpha.2
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/_internal/17c3ea1d.js +137 -0
- package/_internal/17c3ea1d.js.map +1 -0
- package/_internal/1da25128.js +411 -0
- package/_internal/1da25128.js.map +1 -0
- package/_internal/230173a8.js +13 -0
- package/_internal/230173a8.js.map +1 -0
- package/_internal/23bdba2d.js +71 -0
- package/_internal/23bdba2d.js.map +1 -0
- package/_internal/26926e5c.d.ts +36 -0
- package/_internal/2a3d237c.js +12 -0
- package/_internal/2a3d237c.js.map +1 -0
- package/_internal/2c5dbb03.js +26 -0
- package/_internal/2c5dbb03.js.map +1 -0
- package/_internal/2e2abe51.js +2154 -0
- package/_internal/2e2abe51.js.map +1 -0
- package/_internal/31490c59.d.ts +167 -0
- package/_internal/3181f000.js +14 -0
- package/_internal/3181f000.js.map +1 -0
- package/_internal/35f100be.d.ts +104 -0
- package/_internal/36bd7352.js +219 -0
- package/_internal/36bd7352.js.map +1 -0
- package/_internal/3a1facc0.js +18 -0
- package/_internal/3a1facc0.js.map +1 -0
- package/_internal/4c20d932.js +89 -0
- package/_internal/4c20d932.js.map +1 -0
- package/_internal/4c28d012.js +305 -0
- package/_internal/4c28d012.js.map +1 -0
- package/_internal/4cd0bf32.js +160 -0
- package/_internal/4cd0bf32.js.map +1 -0
- package/_internal/4daccdd5.js +25 -0
- package/_internal/4daccdd5.js.map +1 -0
- package/_internal/524b1d04.js +64 -0
- package/_internal/524b1d04.js.map +1 -0
- package/_internal/53c94227.js +123 -0
- package/_internal/53c94227.js.map +1 -0
- package/_internal/54d9ded5.js +418 -0
- package/_internal/54d9ded5.js.map +1 -0
- package/_internal/56aec41b.js +652 -0
- package/_internal/56aec41b.js.map +1 -0
- package/_internal/5720caf5.js +124 -0
- package/_internal/5720caf5.js.map +1 -0
- package/_internal/646f0db6.js +113 -0
- package/_internal/646f0db6.js.map +1 -0
- package/_internal/6cc8dca8.d.ts +22 -0
- package/_internal/7f022f8c.d.ts +34 -0
- package/_internal/{index.d.ts → 8d67e1e3.d.ts} +1 -1
- package/_internal/b8f2948d.js +691 -0
- package/_internal/b8f2948d.js.map +1 -0
- package/_internal/bc28d510.js +784 -0
- package/_internal/bc28d510.js.map +1 -0
- package/_internal/c68d24e4.js +145 -0
- package/_internal/c68d24e4.js.map +1 -0
- package/_internal/c6c99f76.js +105 -0
- package/_internal/c6c99f76.js.map +1 -0
- package/_internal/cae46566.js +65 -0
- package/_internal/cae46566.js.map +1 -0
- package/_internal/components/alert-dialog/index.ts-623b1ed3.d.ts +37 -0
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js +148 -0
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js.map +1 -0
- package/_internal/components/autocomplete/index.ts-3f8f125c.js +264 -0
- package/_internal/components/autocomplete/index.ts-3f8f125c.js.map +1 -0
- package/_internal/components/autocomplete/index.ts-8d6b123f.d.ts +201 -0
- package/_internal/components/avatar/index.ts-93ee0ea9.js +89 -0
- package/_internal/components/avatar/index.ts-93ee0ea9.js.map +1 -0
- package/_internal/components/avatar/index.ts-f92852b4.d.ts +43 -0
- package/_internal/components/badge/index.ts-2d7700ef.d.ts +30 -0
- package/_internal/components/badge/index.ts-6753d67f.js +88 -0
- package/_internal/components/badge/index.ts-6753d67f.js.map +1 -0
- package/_internal/components/button/index.ts-031307ce.js +51 -0
- package/_internal/components/button/index.ts-031307ce.js.map +1 -0
- package/_internal/components/button/index.ts-b29e26a4.d.ts +22 -0
- package/_internal/components/checkbox/index.ts-a33166d7.js +127 -0
- package/_internal/components/checkbox/index.ts-a33166d7.js.map +1 -0
- package/_internal/components/checkbox/index.ts-f82358ff.d.ts +38 -0
- package/_internal/components/chip/index.ts-4a91f1a7.d.ts +68 -0
- package/_internal/components/chip/index.ts-a2b5b771.js +110 -0
- package/_internal/components/chip/index.ts-a2b5b771.js.map +1 -0
- package/_internal/components/comment-block/index.ts-58fa051a.js +121 -0
- package/_internal/components/comment-block/index.ts-58fa051a.js.map +1 -0
- package/_internal/components/comment-block/index.ts-8cfa5af0.d.ts +67 -0
- package/_internal/components/date-picker/index.ts-145262d5.js +2 -0
- package/_internal/components/date-picker/index.ts-145262d5.js.map +1 -0
- package/_internal/components/date-picker/index.ts-70a34fa7.d.ts +95 -0
- package/_internal/components/dialog/index.ts-ea044db2.js +224 -0
- package/_internal/components/dialog/index.ts-ea044db2.js.map +1 -0
- package/_internal/components/dialog/index.ts-eca28654.d.ts +55 -0
- package/_internal/components/divider/index.ts-4a56db75.js +55 -0
- package/_internal/components/divider/index.ts-4a56db75.js.map +1 -0
- package/_internal/components/divider/index.ts-b011d8ca.d.ts +18 -0
- package/_internal/components/drag-handle/index.ts-0aebf92f.js +54 -0
- package/_internal/components/drag-handle/index.ts-0aebf92f.js.map +1 -0
- package/_internal/components/drag-handle/index.ts-3ab31dd1.d.ts +18 -0
- package/_internal/components/dropdown/index.ts-2a17db51.js +154 -0
- package/_internal/components/dropdown/index.ts-2a17db51.js.map +1 -0
- package/_internal/components/dropdown/index.ts-b648a15c.d.ts +87 -0
- package/_internal/components/expansion-panel/index.ts-69f09f5b.d.ts +38 -0
- package/_internal/components/expansion-panel/index.ts-fae3762e.js +143 -0
- package/_internal/components/expansion-panel/index.ts-fae3762e.js.map +1 -0
- package/_internal/components/flag/index.ts-8dcd685b.js +56 -0
- package/_internal/components/flag/index.ts-8dcd685b.js.map +1 -0
- package/_internal/components/flag/index.ts-fda89adb.d.ts +23 -0
- package/_internal/components/flex-box/index.ts-87f2b58d.d.ts +43 -0
- package/_internal/components/flex-box/index.ts-c216e957.js +60 -0
- package/_internal/components/flex-box/index.ts-c216e957.js.map +1 -0
- package/_internal/components/generic-block/index.ts-999a62a4.js +115 -0
- package/_internal/components/generic-block/index.ts-999a62a4.js.map +1 -0
- package/_internal/components/generic-block/index.ts-cd3b0e21.d.ts +106 -0
- package/_internal/components/grid/index.ts-67e0694f.d.ts +50 -0
- package/_internal/components/grid/index.ts-fdf1b306.js +113 -0
- package/_internal/components/grid/index.ts-fdf1b306.js.map +1 -0
- package/_internal/components/grid-column/index.ts-97c61cbe.js +64 -0
- package/_internal/components/grid-column/index.ts-97c61cbe.js.map +1 -0
- package/_internal/components/grid-column/index.ts-c89e1c18.d.ts +31 -0
- package/_internal/components/heading/index.ts-0179e9a9.js +112 -0
- package/_internal/components/heading/index.ts-0179e9a9.js.map +1 -0
- package/_internal/components/heading/index.ts-587579e8.d.ts +37 -0
- package/_internal/components/icon/index.ts-740ca1de.js +2 -0
- package/_internal/components/icon/index.ts-740ca1de.js.map +1 -0
- package/_internal/components/icon/index.ts-b3fa5e15.d.ts +34 -0
- package/_internal/components/image-block/index.ts-36b3828f.d.ts +49 -0
- package/_internal/components/image-block/index.ts-ef5e2e7d.js +111 -0
- package/_internal/components/image-block/index.ts-ef5e2e7d.js.map +1 -0
- package/_internal/components/image-lightbox/index.ts-137f85a8.js +765 -0
- package/_internal/components/image-lightbox/index.ts-137f85a8.js.map +1 -0
- package/_internal/components/image-lightbox/index.ts-2cb92d18.d.ts +75 -0
- package/_internal/components/inline-list/index.ts-033dd358.js +76 -0
- package/_internal/components/inline-list/index.ts-033dd358.js.map +1 -0
- package/_internal/components/inline-list/index.ts-e1c8a3ff.d.ts +34 -0
- package/_internal/components/input-helper/index.ts-32a9ca90.d.ts +22 -0
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js +75 -0
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js.map +1 -0
- package/_internal/components/input-label/index.ts-86f2ea41.d.ts +24 -0
- package/_internal/components/input-label/index.ts-d6ca5569.js +60 -0
- package/_internal/components/input-label/index.ts-d6ca5569.js.map +1 -0
- package/_internal/components/lightbox/index.ts-5370e8e6.d.ts +36 -0
- package/_internal/components/lightbox/index.ts-7a16cdc7.js +149 -0
- package/_internal/components/lightbox/index.ts-7a16cdc7.js.map +1 -0
- package/_internal/components/link/index.ts-26435006.d.ts +37 -0
- package/_internal/components/link/index.ts-d04f4e53.js +120 -0
- package/_internal/components/link/index.ts-d04f4e53.js.map +1 -0
- package/_internal/components/link-preview/index.ts-e560a274.d.ts +36 -0
- package/_internal/components/link-preview/index.ts-fee89f66.js +109 -0
- package/_internal/components/link-preview/index.ts-fee89f66.js.map +1 -0
- package/_internal/components/list/index.ts-ab57902e.d.ts +118 -0
- package/_internal/components/list/index.ts-f3101625.js +86 -0
- package/_internal/components/list/index.ts-f3101625.js.map +1 -0
- package/_internal/components/message/index.ts-041cf0cb.js +97 -0
- package/_internal/components/message/index.ts-041cf0cb.js.map +1 -0
- package/_internal/components/message/index.ts-2d38e0ea.d.ts +37 -0
- package/_internal/components/mosaic/index.ts-232d5aed.d.ts +23 -0
- package/_internal/components/mosaic/index.ts-d2128cd3.js +94 -0
- package/_internal/components/mosaic/index.ts-d2128cd3.js.map +1 -0
- package/_internal/components/navigation/index.ts-6d8bea53.d.ts +58 -0
- package/_internal/components/navigation/index.ts-e8dc0a7f.js +222 -0
- package/_internal/components/navigation/index.ts-e8dc0a7f.js.map +1 -0
- package/_internal/components/notification/index.ts-235fd340.js +140 -0
- package/_internal/components/notification/index.ts-235fd340.js.map +1 -0
- package/_internal/components/notification/index.ts-bb3f03f6.d.ts +34 -0
- package/_internal/components/popover/index.ts-2f17a9b6.js +3 -0
- package/_internal/components/popover/index.ts-2f17a9b6.js.map +1 -0
- package/_internal/components/popover/index.ts-e3b4ff19.d.ts +66 -0
- package/_internal/components/post-block/index.ts-0acb9bb4.js +101 -0
- package/_internal/components/post-block/index.ts-0acb9bb4.js.map +1 -0
- package/_internal/components/post-block/index.ts-9b8ff90b.d.ts +41 -0
- package/_internal/components/progress/index.ts-2a713859.js +189 -0
- package/_internal/components/progress/index.ts-2a713859.js.map +1 -0
- package/_internal/components/progress/index.ts-dfdfa5fb.d.ts +60 -0
- package/_internal/components/progress-tracker/index.ts-2649f756.js +312 -0
- package/_internal/components/progress-tracker/index.ts-2649f756.js.map +1 -0
- package/_internal/components/progress-tracker/index.ts-95320f32.d.ts +101 -0
- package/_internal/components/radio-button/index.ts-5eaab4cf.d.ts +54 -0
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js +150 -0
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js.map +1 -0
- package/_internal/components/select/index.ts-a65e3507.d.ts +91 -0
- package/_internal/components/select/index.ts-e8fad28b.js +257 -0
- package/_internal/components/select/index.ts-e8fad28b.js.map +1 -0
- package/_internal/components/side-navigation/index.ts-3f5f3785.d.ts +60 -0
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js +184 -0
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js.map +1 -0
- package/_internal/components/skeleton/index.ts-a7daefac.d.ts +75 -0
- package/_internal/components/skeleton/index.ts-ffc995af.js +179 -0
- package/_internal/components/skeleton/index.ts-ffc995af.js.map +1 -0
- package/_internal/components/slider/index.ts-24a0d598.d.ts +52 -0
- package/_internal/components/slider/index.ts-72aadf4c.js +308 -0
- package/_internal/components/slider/index.ts-72aadf4c.js.map +1 -0
- package/_internal/components/slideshow/index.ts-c99f2892.js +151 -0
- package/_internal/components/slideshow/index.ts-c99f2892.js.map +1 -0
- package/_internal/components/slideshow/index.ts-e49462c6.d.ts +25 -0
- package/_internal/components/switch/index.ts-207ba52b.d.ts +34 -0
- package/_internal/components/switch/index.ts-542e6eaf.js +115 -0
- package/_internal/components/switch/index.ts-542e6eaf.js.map +1 -0
- package/_internal/components/table/index.ts-905ce390.js +310 -0
- package/_internal/components/table/index.ts-905ce390.js.map +1 -0
- package/_internal/components/table/index.ts-c4f39b2d.d.ts +108 -0
- package/_internal/components/tabs/index.ts-713119f4.js +289 -0
- package/_internal/components/tabs/index.ts-713119f4.js.map +1 -0
- package/_internal/components/tabs/index.ts-dbfc48d9.d.ts +106 -0
- package/_internal/components/text/index.ts-6afbe8cd.js +2 -0
- package/_internal/components/text/index.ts-6afbe8cd.js.map +1 -0
- package/_internal/components/text/index.ts-8a812048.d.ts +53 -0
- package/_internal/components/text-field/index.ts-92e6b3b3.d.ts +77 -0
- package/_internal/components/text-field/index.ts-c3be8563.js +341 -0
- package/_internal/components/text-field/index.ts-c3be8563.js.map +1 -0
- package/_internal/components/thumbnail/index.ts-16d7b403.js +40 -0
- package/_internal/components/thumbnail/index.ts-16d7b403.js.map +1 -0
- package/_internal/components/thumbnail/index.ts-1b6c0b48.d.ts +8 -0
- package/_internal/components/toolbar/index.ts-813b902e.js +63 -0
- package/_internal/components/toolbar/index.ts-813b902e.js.map +1 -0
- package/_internal/components/toolbar/index.ts-9f5129d1.d.ts +24 -0
- package/_internal/components/tooltip/index.ts-905c847c.js +322 -0
- package/_internal/components/tooltip/index.ts-905c847c.js.map +1 -0
- package/_internal/components/tooltip/index.ts-c6931e9e.d.ts +35 -0
- package/_internal/components/uploader/index.ts-31f21c2a.js +132 -0
- package/_internal/components/uploader/index.ts-31f21c2a.js.map +1 -0
- package/_internal/components/uploader/index.ts-c3ccba98.d.ts +51 -0
- package/_internal/components/user-block/index.ts-18c58e19.d.ts +50 -0
- package/_internal/components/user-block/index.ts-d43e5f3c.js +136 -0
- package/_internal/components/user-block/index.ts-d43e5f3c.js.map +1 -0
- package/_internal/dc3e28c8.d.ts +38 -0
- package/_internal/f39a1ba4.js +73 -0
- package/_internal/f39a1ba4.js.map +1 -0
- package/_internal/f3e77e3e.js +22 -0
- package/_internal/f3e77e3e.js.map +1 -0
- package/_internal/f502ab30.js +78 -0
- package/_internal/f502ab30.js.map +1 -0
- package/_internal/f52adbae.js +36 -0
- package/_internal/f52adbae.js.map +1 -0
- package/_internal/f57e1239.js +205 -0
- package/_internal/f57e1239.js.map +1 -0
- package/_internal/f5ff1aa4.d.ts +47 -0
- package/_internal/fb975afe.js +52 -0
- package/_internal/fb975afe.js.map +1 -0
- package/index.d.ts +66 -3023
- package/index.js +64 -14531
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/src/components/alert-dialog/AlertDialog.tsx +3 -4
- package/src/components/autocomplete/Autocomplete.tsx +4 -3
- package/src/components/autocomplete/AutocompleteMultiple.tsx +7 -6
- package/src/components/avatar/Avatar.tsx +4 -3
- package/src/components/badge/Badge.tsx +7 -4
- package/src/components/badge/BadgeWrapper.tsx +7 -4
- package/src/components/button/Button.tsx +5 -3
- package/src/components/button/ButtonGroup.tsx +4 -3
- package/src/components/button/ButtonRoot.tsx +4 -3
- package/src/components/button/IconButton.tsx +3 -3
- package/src/components/checkbox/Checkbox.tsx +4 -3
- package/src/components/chip/Chip.tsx +8 -9
- package/src/components/chip/ChipGroup.tsx +5 -4
- package/src/components/comment-block/CommentBlock.tsx +4 -4
- package/src/components/date-picker/DatePicker.tsx +5 -3
- package/src/components/date-picker/DatePickerControlled.tsx +6 -3
- package/src/components/date-picker/DatePickerField.tsx +4 -3
- package/src/components/dialog/Dialog.tsx +4 -3
- package/src/components/divider/Divider.tsx +4 -3
- package/src/components/drag-handle/DragHandle.test.tsx +1 -1
- package/src/components/drag-handle/DragHandle.tsx +4 -3
- package/src/components/dropdown/Dropdown.tsx +4 -3
- package/src/components/expansion-panel/ExpansionPanel.tsx +4 -3
- package/src/components/flag/Flag.tsx +5 -3
- package/src/components/flex-box/FlexBox.tsx +8 -5
- package/src/components/generic-block/GenericBlock.tsx +4 -1
- package/src/components/grid/Grid.tsx +4 -3
- package/src/components/grid/GridItem.tsx +4 -3
- package/src/components/grid-column/GridColumn.tsx +5 -5
- package/src/components/heading/Heading.tsx +8 -4
- package/src/components/icon/Icon.tsx +5 -4
- package/src/components/image-block/ImageBlock.tsx +4 -3
- package/src/components/image-lightbox/ImageLightbox.tsx +4 -3
- package/src/components/inline-list/InlineList.tsx +4 -3
- package/src/components/input-helper/InputHelper.tsx +7 -4
- package/src/components/input-label/InputLabel.tsx +7 -4
- package/src/components/lightbox/Lightbox.tsx +4 -3
- package/src/components/link/Link.tsx +4 -3
- package/src/components/link-preview/LinkPreview.tsx +4 -3
- package/src/components/list/List.tsx +7 -5
- package/src/components/list/ListDivider.tsx +4 -3
- package/src/components/list/ListItem.tsx +4 -3
- package/src/components/list/ListSubheader.tsx +4 -3
- package/src/components/message/Message.tsx +7 -4
- package/src/components/mosaic/Mosaic.tsx +7 -5
- package/src/components/navigation/NavigationItem.tsx +1 -1
- package/src/components/navigation/NavigationSection.test.tsx +19 -6
- package/src/components/notification/Notification.tsx +4 -6
- package/src/components/popover/Popover.tsx +3 -2
- package/src/components/popover-dialog/PopoverDialog.tsx +5 -3
- package/src/components/post-block/PostBlock.tsx +4 -6
- package/src/components/progress/Progress.tsx +5 -4
- package/src/components/progress/ProgressCircular.tsx +4 -4
- package/src/components/progress/ProgressLinear.tsx +4 -4
- package/src/components/progress-tracker/ProgressTracker.tsx +5 -3
- package/src/components/progress-tracker/ProgressTrackerStep.tsx +5 -5
- package/src/components/progress-tracker/ProgressTrackerStepPanel.tsx +24 -24
- package/src/components/radio-button/RadioButton.tsx +4 -4
- package/src/components/radio-button/RadioGroup.tsx +4 -3
- package/src/components/select/Select.tsx +3 -5
- package/src/components/select/SelectMultiple.tsx +3 -5
- package/src/components/side-navigation/SideNavigation.tsx +4 -4
- package/src/components/side-navigation/SideNavigationItem.tsx +4 -5
- package/src/components/skeleton/SkeletonCircle.tsx +5 -3
- package/src/components/skeleton/SkeletonRectangle.tsx +5 -3
- package/src/components/skeleton/SkeletonTypography.tsx +5 -3
- package/src/components/slider/Slider.tsx +4 -5
- package/src/components/slideshow/Slides.tsx +6 -4
- package/src/components/slideshow/Slideshow.tsx +5 -3
- package/src/components/slideshow/SlideshowControls.tsx +4 -3
- package/src/components/slideshow/SlideshowItem.tsx +4 -3
- package/src/components/slideshow/SlideshowItemGroup.tsx +5 -4
- package/src/components/switch/Switch.tsx +4 -5
- package/src/components/table/Table.tsx +4 -4
- package/src/components/table/TableBody.tsx +4 -3
- package/src/components/table/TableCell.tsx +5 -5
- package/src/components/table/TableHeader.tsx +4 -3
- package/src/components/table/TableRow.tsx +4 -3
- package/src/components/tabs/Tab.tsx +4 -3
- package/src/components/tabs/TabList.tsx +8 -5
- package/src/components/tabs/TabPanel.tsx +7 -5
- package/src/components/text/Text.tsx +6 -4
- package/src/components/text-field/TextField.tsx +4 -3
- package/src/components/thumbnail/Thumbnail.tsx +5 -5
- package/src/components/toolbar/Toolbar.tsx +4 -3
- package/src/components/tooltip/Tooltip.tsx +4 -3
- package/src/components/uploader/Uploader.tsx +5 -3
- package/src/components/user-block/UserBlock.tsx +6 -4
- package/src/testing/utils/commonTestsSuiteRTL.tsx +2 -1
- package/src/utils/react/forwardRef.ts +10 -0
- package/src/utils/react/forwardRefPolymorphic.ts +10 -0
- package/utils/index.d.ts +1 -1
- package/src/utils/forwardRefPolymorphic.ts +0 -9
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { e as Typography, h as getRootClassName, i as forwardRef, j as _objectWithoutProperties, _ as _extends, g as classNames } from '../../1da25128.js';
|
|
2
|
+
import React__default, { createContext } from 'react';
|
|
3
|
+
import { h as handleBasicClasses } from '../../f57e1239.js';
|
|
4
|
+
import { T as Text } from '../../53c94227.js';
|
|
5
|
+
|
|
6
|
+
/** The maximum authorized heading level. */
|
|
7
|
+
const MAX_HEADING_LEVEL = 6;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Typography to use by default depending on the heading level.
|
|
11
|
+
*/
|
|
12
|
+
const DEFAULT_TYPOGRAPHY_BY_LEVEL = {
|
|
13
|
+
h1: Typography.display1,
|
|
14
|
+
h2: Typography.headline,
|
|
15
|
+
h3: Typography.title,
|
|
16
|
+
h4: Typography.subtitle2,
|
|
17
|
+
h5: Typography.subtitle1,
|
|
18
|
+
h6: Typography.body2
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const defaultContext = {
|
|
22
|
+
level: 1,
|
|
23
|
+
headingElement: 'h1'
|
|
24
|
+
};
|
|
25
|
+
const HeadingLevelContext = /*#__PURE__*/createContext(defaultContext);
|
|
26
|
+
|
|
27
|
+
const useHeadingLevel = () => {
|
|
28
|
+
const {
|
|
29
|
+
level = 1,
|
|
30
|
+
headingElement = 'h1'
|
|
31
|
+
} = React__default.useContext(HeadingLevelContext);
|
|
32
|
+
return {
|
|
33
|
+
level,
|
|
34
|
+
headingElement
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const _excluded = ["children", "as", "className"];
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Defines the props of the component.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Component display name.
|
|
46
|
+
*/
|
|
47
|
+
const COMPONENT_NAME = 'Heading';
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Component default class name and class prefix.
|
|
51
|
+
*/
|
|
52
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Component default props.
|
|
56
|
+
*/
|
|
57
|
+
const DEFAULT_PROPS = {};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Renders a heading component.
|
|
61
|
+
* Extends the `Text` Component with the heading level automatically computed based on
|
|
62
|
+
* the current level provided by the context.
|
|
63
|
+
*/
|
|
64
|
+
const Heading = forwardRef((props, ref) => {
|
|
65
|
+
const {
|
|
66
|
+
children,
|
|
67
|
+
as,
|
|
68
|
+
className
|
|
69
|
+
} = props,
|
|
70
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
71
|
+
const {
|
|
72
|
+
headingElement
|
|
73
|
+
} = useHeadingLevel();
|
|
74
|
+
const computedHeadingElement = as || headingElement;
|
|
75
|
+
return /*#__PURE__*/React__default.createElement(Text, _extends({
|
|
76
|
+
ref: ref,
|
|
77
|
+
className: classNames(className, handleBasicClasses({
|
|
78
|
+
prefix: CLASSNAME
|
|
79
|
+
})),
|
|
80
|
+
as: computedHeadingElement,
|
|
81
|
+
typography: DEFAULT_TYPOGRAPHY_BY_LEVEL[computedHeadingElement]
|
|
82
|
+
}, forwardedProps), children);
|
|
83
|
+
});
|
|
84
|
+
Heading.displayName = COMPONENT_NAME;
|
|
85
|
+
Heading.className = CLASSNAME;
|
|
86
|
+
Heading.defaultProps = DEFAULT_PROPS;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Provide a new heading level context.
|
|
90
|
+
*/
|
|
91
|
+
const HeadingLevelProvider = _ref => {
|
|
92
|
+
let {
|
|
93
|
+
children,
|
|
94
|
+
level
|
|
95
|
+
} = _ref;
|
|
96
|
+
const {
|
|
97
|
+
level: contextLevel
|
|
98
|
+
} = useHeadingLevel();
|
|
99
|
+
const incrementedLevel = level || contextLevel + 1;
|
|
100
|
+
/** Don't allow a level beyond the maximum level. */
|
|
101
|
+
const nextLevel = incrementedLevel > MAX_HEADING_LEVEL ? MAX_HEADING_LEVEL : incrementedLevel;
|
|
102
|
+
const headingElement = `h${nextLevel}`;
|
|
103
|
+
return /*#__PURE__*/React__default.createElement(HeadingLevelContext.Provider, {
|
|
104
|
+
value: {
|
|
105
|
+
level: nextLevel,
|
|
106
|
+
headingElement
|
|
107
|
+
}
|
|
108
|
+
}, children);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export { Heading, HeadingLevelProvider, useHeadingLevel };
|
|
112
|
+
//# sourceMappingURL=index.ts-0179e9a9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ts-0179e9a9.js","sources":["../../../../src/components/heading/constants.ts","../../../../src/components/heading/context.tsx","../../../../src/components/heading/useHeadingLevel.tsx","../../../../src/components/heading/Heading.tsx","../../../../src/components/heading/HeadingLevelProvider.tsx"],"sourcesContent":["import { Typography } from '..';\n\n/** The maximum authorized heading level. */\nexport const MAX_HEADING_LEVEL = 6;\n\n/**\n * Typography to use by default depending on the heading level.\n */\nexport const DEFAULT_TYPOGRAPHY_BY_LEVEL = {\n h1: Typography.display1,\n h2: Typography.headline,\n h3: Typography.title,\n h4: Typography.subtitle2,\n h5: Typography.subtitle1,\n h6: Typography.body2,\n};\n","import { HeadingElement } from '@lumx/react/utils/type';\nimport { createContext } from 'react';\n\ninterface HeadingLevelContext {\n /** The current level */\n level: number;\n /** The heading element matching the current level */\n headingElement: HeadingElement;\n}\n\nconst defaultContext: HeadingLevelContext = { level: 1, headingElement: 'h1' };\n\nexport const HeadingLevelContext = createContext<HeadingLevelContext>(defaultContext);\n","import React from 'react';\nimport { HeadingLevelContext } from './context';\n\nexport const useHeadingLevel = () => {\n const { level = 1, headingElement = 'h1' } = React.useContext(HeadingLevelContext);\n\n return { level, headingElement };\n};\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { HeadingElement } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { Text, TextProps } from '../text';\nimport { DEFAULT_TYPOGRAPHY_BY_LEVEL } from './constants';\nimport { useHeadingLevel } from './useHeadingLevel';\n\n/**\n * Defines the props of the component.\n */\nexport interface HeadingProps extends Partial<TextProps> {\n /**\n * Display a specific heading level instead of the one provided by parent context provider.\n */\n as?: HeadingElement;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Heading';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS = {} as const;\n\n/**\n * Renders a heading component.\n * Extends the `Text` Component with the heading level automatically computed based on\n * the current level provided by the context.\n */\nexport const Heading = forwardRef<HeadingProps>((props, ref) => {\n const { children, as, className, ...forwardedProps } = props;\n const { headingElement } = useHeadingLevel();\n\n const computedHeadingElement = as || headingElement;\n return (\n <Text\n ref={ref}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n }),\n )}\n as={computedHeadingElement}\n typography={DEFAULT_TYPOGRAPHY_BY_LEVEL[computedHeadingElement]}\n {...forwardedProps}\n >\n {children}\n </Text>\n );\n});\n\nHeading.displayName = COMPONENT_NAME;\nHeading.className = CLASSNAME;\nHeading.defaultProps = DEFAULT_PROPS;\n","import { HeadingElement } from '@lumx/react/utils/type';\nimport React, { ReactNode } from 'react';\nimport { MAX_HEADING_LEVEL } from './constants';\nimport { HeadingLevelContext } from './context';\nimport { useHeadingLevel } from './useHeadingLevel';\n\nexport interface HeadingLevelProviderProps {\n /** The heading level to start at. If left undefined, the parent context will be used, if any. */\n level?: number;\n /** The children to display */\n children: ReactNode;\n}\n\n/**\n * Provide a new heading level context.\n */\nexport const HeadingLevelProvider: React.FC<HeadingLevelProviderProps> = ({ children, level }) => {\n const { level: contextLevel } = useHeadingLevel();\n\n const incrementedLevel = level || contextLevel + 1;\n /** Don't allow a level beyond the maximum level. */\n const nextLevel = incrementedLevel > MAX_HEADING_LEVEL ? MAX_HEADING_LEVEL : incrementedLevel;\n const headingElement = `h${nextLevel}` as HeadingElement;\n\n return (\n <HeadingLevelContext.Provider value={{ level: nextLevel, headingElement }}>\n {children}\n </HeadingLevelContext.Provider>\n );\n};\n"],"names":["MAX_HEADING_LEVEL","DEFAULT_TYPOGRAPHY_BY_LEVEL","h1","Typography","display1","h2","headline","h3","title","h4","subtitle2","h5","subtitle1","h6","body2","defaultContext","level","headingElement","HeadingLevelContext","createContext","useHeadingLevel","React","useContext","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Heading","forwardRef","props","ref","children","as","className","forwardedProps","_objectWithoutProperties","_excluded","computedHeadingElement","createElement","Text","_extends","classNames","handleBasicClasses","prefix","typography","displayName","defaultProps","HeadingLevelProvider","_ref","contextLevel","incrementedLevel","nextLevel","Provider","value"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { m as HeadingElement, C as Comp } from '../../8d67e1e3.js';
|
|
2
|
+
import { TextProps } from '../text/index.ts-8a812048.js';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Defines the props of the component.
|
|
7
|
+
*/
|
|
8
|
+
interface HeadingProps extends Partial<TextProps> {
|
|
9
|
+
/**
|
|
10
|
+
* Display a specific heading level instead of the one provided by parent context provider.
|
|
11
|
+
*/
|
|
12
|
+
as?: HeadingElement;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Renders a heading component.
|
|
16
|
+
* Extends the `Text` Component with the heading level automatically computed based on
|
|
17
|
+
* the current level provided by the context.
|
|
18
|
+
*/
|
|
19
|
+
declare const Heading: Comp<HeadingProps, HTMLElement>;
|
|
20
|
+
|
|
21
|
+
interface HeadingLevelProviderProps {
|
|
22
|
+
/** The heading level to start at. If left undefined, the parent context will be used, if any. */
|
|
23
|
+
level?: number;
|
|
24
|
+
/** The children to display */
|
|
25
|
+
children: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Provide a new heading level context.
|
|
29
|
+
*/
|
|
30
|
+
declare const HeadingLevelProvider: React.FC<HeadingLevelProviderProps>;
|
|
31
|
+
|
|
32
|
+
declare const useHeadingLevel: () => {
|
|
33
|
+
level: number;
|
|
34
|
+
headingElement: HeadingElement;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export { Heading, HeadingLevelProvider, type HeadingLevelProviderProps, type HeadingProps, useHeadingLevel };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ts-740ca1de.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { S as Size, G as GenericProps, H as HasTheme, a as ColorPalette, f as ColorVariant, C as Comp } from '../../8d67e1e3.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
|
|
4
|
+
type IconSizes = Extract<Size, 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'>;
|
|
5
|
+
/**
|
|
6
|
+
* Defines the props of the component.
|
|
7
|
+
*/
|
|
8
|
+
interface IconProps extends GenericProps, HasTheme {
|
|
9
|
+
/** Color variant. */
|
|
10
|
+
color?: ColorPalette;
|
|
11
|
+
/** Lightened or darkened variant of the selected icon color. */
|
|
12
|
+
colorVariant?: ColorVariant;
|
|
13
|
+
/** Whether the icon has a shape. */
|
|
14
|
+
hasShape?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Icon (SVG path) draw code (`d` property of the `<path>` SVG element).
|
|
17
|
+
* See https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
|
|
18
|
+
*/
|
|
19
|
+
icon: string;
|
|
20
|
+
/** Size variant. */
|
|
21
|
+
size?: IconSizes;
|
|
22
|
+
/** Sets an alternative text on the svg. Will set an `img` role to the svg. */
|
|
23
|
+
alt?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Icon component.
|
|
27
|
+
*
|
|
28
|
+
* @param props Component props.
|
|
29
|
+
* @param ref Component ref.
|
|
30
|
+
* @return React element.
|
|
31
|
+
*/
|
|
32
|
+
declare const Icon: Comp<IconProps, HTMLElement>;
|
|
33
|
+
|
|
34
|
+
export { Icon, type IconProps, type IconSizes };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { V as ValueOf, S as Size, G as GenericProps, H as HasTheme, d as HorizontalAlignment, C as Comp } from '../../8d67e1e3.js';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { T as ThumbnailProps } from '../../35f100be.js';
|
|
4
|
+
import { I as ImageCaptionMetadata } from '../../6cc8dca8.js';
|
|
5
|
+
import '../text/index.ts-8a812048.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Image block variants.
|
|
9
|
+
*/
|
|
10
|
+
declare const ImageBlockCaptionPosition: {
|
|
11
|
+
readonly below: "below";
|
|
12
|
+
readonly over: "over";
|
|
13
|
+
};
|
|
14
|
+
type ImageBlockCaptionPosition = ValueOf<typeof ImageBlockCaptionPosition>;
|
|
15
|
+
/**
|
|
16
|
+
* Image block sizes.
|
|
17
|
+
*/
|
|
18
|
+
type ImageBlockSize = Extract<Size, 'xl' | 'xxl'>;
|
|
19
|
+
/**
|
|
20
|
+
* Defines the props of the component.
|
|
21
|
+
*/
|
|
22
|
+
interface ImageBlockProps extends GenericProps, HasTheme, ImageCaptionMetadata {
|
|
23
|
+
/** Action toolbar content. */
|
|
24
|
+
actions?: ReactNode;
|
|
25
|
+
/** Alignment. */
|
|
26
|
+
align?: HorizontalAlignment;
|
|
27
|
+
/** Image alternative text. */
|
|
28
|
+
alt: string;
|
|
29
|
+
/** Caption position. */
|
|
30
|
+
captionPosition?: ImageBlockCaptionPosition;
|
|
31
|
+
/** Whether the image has to fill its container height or not. */
|
|
32
|
+
fillHeight?: boolean;
|
|
33
|
+
/** Image URL. */
|
|
34
|
+
image: string;
|
|
35
|
+
/** Size variant. */
|
|
36
|
+
size?: ImageBlockSize;
|
|
37
|
+
/** Props to pass to the thumbnail (minus those already set by the ImageBlock props). */
|
|
38
|
+
thumbnailProps?: Omit<ThumbnailProps, 'image' | 'size' | 'theme' | 'align' | 'fillHeight'>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* ImageBlock component.
|
|
42
|
+
*
|
|
43
|
+
* @param props Component props.
|
|
44
|
+
* @param ref Component ref.
|
|
45
|
+
* @return React element.
|
|
46
|
+
*/
|
|
47
|
+
declare const ImageBlock: Comp<ImageBlockProps, HTMLDivElement>;
|
|
48
|
+
|
|
49
|
+
export { ImageBlock, ImageBlockCaptionPosition, type ImageBlockProps, type ImageBlockSize };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { h as getRootClassName, A as Alignment, i as forwardRef, T as Theme, j as _objectWithoutProperties, _ as _extends, g as classNames } from '../../1da25128.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { u as useTheme } from '../../3181f000.js';
|
|
4
|
+
import { I as ImageCaption } from '../../524b1d04.js';
|
|
5
|
+
import { h as handleBasicClasses } from '../../f57e1239.js';
|
|
6
|
+
import { T as Thumbnail } from '../../4c28d012.js';
|
|
7
|
+
|
|
8
|
+
const _excluded = ["actions", "align", "alt", "captionPosition", "captionStyle", "className", "description", "descriptionProps", "fillHeight", "image", "size", "tags", "theme", "thumbnailProps", "title", "titleProps"];
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Image block variants.
|
|
12
|
+
*/
|
|
13
|
+
const ImageBlockCaptionPosition = {
|
|
14
|
+
below: 'below',
|
|
15
|
+
over: 'over'
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Image block sizes.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Defines the props of the component.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Component display name.
|
|
28
|
+
*/
|
|
29
|
+
const COMPONENT_NAME = 'ImageBlock';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Component default class name and class prefix.
|
|
33
|
+
*/
|
|
34
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Component default props.
|
|
38
|
+
*/
|
|
39
|
+
const DEFAULT_PROPS = {
|
|
40
|
+
captionPosition: ImageBlockCaptionPosition.below,
|
|
41
|
+
align: Alignment.left
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* ImageBlock component.
|
|
46
|
+
*
|
|
47
|
+
* @param props Component props.
|
|
48
|
+
* @param ref Component ref.
|
|
49
|
+
* @return React element.
|
|
50
|
+
*/
|
|
51
|
+
const ImageBlock = forwardRef((props, ref) => {
|
|
52
|
+
const defaultTheme = useTheme() || Theme.light;
|
|
53
|
+
const {
|
|
54
|
+
actions,
|
|
55
|
+
align,
|
|
56
|
+
alt,
|
|
57
|
+
captionPosition,
|
|
58
|
+
captionStyle,
|
|
59
|
+
className,
|
|
60
|
+
description,
|
|
61
|
+
descriptionProps,
|
|
62
|
+
fillHeight,
|
|
63
|
+
image,
|
|
64
|
+
size,
|
|
65
|
+
tags,
|
|
66
|
+
theme = defaultTheme,
|
|
67
|
+
thumbnailProps,
|
|
68
|
+
title,
|
|
69
|
+
titleProps
|
|
70
|
+
} = props,
|
|
71
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
72
|
+
return /*#__PURE__*/React__default.createElement("figure", _extends({
|
|
73
|
+
ref: ref
|
|
74
|
+
}, forwardedProps, {
|
|
75
|
+
className: classNames(className, handleBasicClasses({
|
|
76
|
+
prefix: CLASSNAME,
|
|
77
|
+
captionPosition,
|
|
78
|
+
align,
|
|
79
|
+
size,
|
|
80
|
+
theme
|
|
81
|
+
}), fillHeight && `${CLASSNAME}--fill-height`)
|
|
82
|
+
}), /*#__PURE__*/React__default.createElement(Thumbnail, _extends({}, thumbnailProps, {
|
|
83
|
+
className: classNames(`${CLASSNAME}__image`, thumbnailProps === null || thumbnailProps === void 0 ? void 0 : thumbnailProps.className),
|
|
84
|
+
fillHeight: fillHeight,
|
|
85
|
+
align: align,
|
|
86
|
+
image: image,
|
|
87
|
+
size: size,
|
|
88
|
+
theme: theme,
|
|
89
|
+
alt: alt || title
|
|
90
|
+
})), /*#__PURE__*/React__default.createElement(ImageCaption, {
|
|
91
|
+
as: "figcaption",
|
|
92
|
+
baseClassName: CLASSNAME,
|
|
93
|
+
theme: theme,
|
|
94
|
+
title: title,
|
|
95
|
+
titleProps: titleProps,
|
|
96
|
+
description: description,
|
|
97
|
+
descriptionProps: descriptionProps,
|
|
98
|
+
tags: tags,
|
|
99
|
+
captionStyle: captionStyle,
|
|
100
|
+
align: align,
|
|
101
|
+
truncate: captionPosition === 'over'
|
|
102
|
+
}), actions && /*#__PURE__*/React__default.createElement("div", {
|
|
103
|
+
className: `${CLASSNAME}__actions`
|
|
104
|
+
}, actions));
|
|
105
|
+
});
|
|
106
|
+
ImageBlock.displayName = COMPONENT_NAME;
|
|
107
|
+
ImageBlock.className = CLASSNAME;
|
|
108
|
+
ImageBlock.defaultProps = DEFAULT_PROPS;
|
|
109
|
+
|
|
110
|
+
export { ImageBlock, ImageBlockCaptionPosition };
|
|
111
|
+
//# sourceMappingURL=index.ts-ef5e2e7d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ts-ef5e2e7d.js","sources":["../../../../src/components/image-block/ImageBlock.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Alignment, HorizontalAlignment, Size, Theme, Thumbnail } from '@lumx/react';\n\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { ThumbnailProps } from '../thumbnail/Thumbnail';\nimport { ImageCaption, ImageCaptionMetadata } from './ImageCaption';\n\n/**\n * Image block variants.\n */\nexport const ImageBlockCaptionPosition = {\n below: 'below',\n over: 'over',\n} as const;\nexport type ImageBlockCaptionPosition = ValueOf<typeof ImageBlockCaptionPosition>;\n\n/**\n * Image block sizes.\n */\nexport type ImageBlockSize = Extract<Size, 'xl' | 'xxl'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ImageBlockProps extends GenericProps, HasTheme, ImageCaptionMetadata {\n /** Action toolbar content. */\n actions?: ReactNode;\n /** Alignment. */\n align?: HorizontalAlignment;\n /** Image alternative text. */\n alt: string;\n /** Caption position. */\n captionPosition?: ImageBlockCaptionPosition;\n /** Whether the image has to fill its container height or not. */\n fillHeight?: boolean;\n /** Image URL. */\n image: string;\n /** Size variant. */\n size?: ImageBlockSize;\n /** Props to pass to the thumbnail (minus those already set by the ImageBlock props). */\n thumbnailProps?: Omit<ThumbnailProps, 'image' | 'size' | 'theme' | 'align' | 'fillHeight'>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ImageBlock';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ImageBlockProps> = {\n captionPosition: ImageBlockCaptionPosition.below,\n align: Alignment.left,\n};\n\n/**\n * ImageBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ImageBlock = forwardRef<ImageBlockProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n actions,\n align,\n alt,\n captionPosition,\n captionStyle,\n className,\n description,\n descriptionProps,\n fillHeight,\n image,\n size,\n tags,\n theme = defaultTheme,\n thumbnailProps,\n title,\n titleProps,\n ...forwardedProps\n } = props;\n return (\n <figure\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n captionPosition,\n align,\n size,\n theme,\n }),\n fillHeight && `${CLASSNAME}--fill-height`,\n )}\n >\n <Thumbnail\n {...thumbnailProps}\n className={classNames(`${CLASSNAME}__image`, thumbnailProps?.className)}\n fillHeight={fillHeight}\n align={align}\n image={image}\n size={size}\n theme={theme}\n alt={(alt || title) as string}\n />\n <ImageCaption\n as=\"figcaption\"\n baseClassName={CLASSNAME}\n theme={theme}\n title={title}\n titleProps={titleProps}\n description={description}\n descriptionProps={descriptionProps}\n tags={tags}\n captionStyle={captionStyle}\n align={align}\n truncate={captionPosition === 'over'}\n />\n {actions && <div className={`${CLASSNAME}__actions`}>{actions}</div>}\n </figure>\n );\n});\nImageBlock.displayName = COMPONENT_NAME;\nImageBlock.className = CLASSNAME;\nImageBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["ImageBlockCaptionPosition","below","over","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","captionPosition","align","Alignment","left","ImageBlock","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","actions","alt","captionStyle","className","description","descriptionProps","fillHeight","image","size","tags","theme","thumbnailProps","title","titleProps","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","_extends","classNames","handleBasicClasses","prefix","Thumbnail","ImageCaption","as","baseClassName","truncate","displayName","defaultProps"],"mappings":"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"}
|