@lumx/react 3.5.3 → 3.5.4-alpha-remove-moment-repack.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/_internal/00d05efa.js +111 -0
- package/_internal/00d05efa.js.map +1 -0
- package/_internal/0110d951.js +168 -0
- package/_internal/0110d951.js.map +1 -0
- package/_internal/063bb3df.js +33 -0
- package/_internal/063bb3df.js.map +1 -0
- package/_internal/0d8b4e37.d.ts +106 -0
- package/_internal/0da969e1.d.ts +45 -0
- package/_internal/1098ba6a.js +26 -0
- package/_internal/1098ba6a.js.map +1 -0
- package/_internal/1252e3a1.js +108 -0
- package/_internal/1252e3a1.js.map +1 -0
- package/_internal/135ee91f.d.ts +32 -0
- package/_internal/13603836.js +13 -0
- package/_internal/13603836.js.map +1 -0
- package/_internal/15e9a271.d.ts +26 -0
- package/_internal/188706f1.d.ts +107 -0
- package/_internal/1e67557e.d.ts +31 -0
- package/_internal/1ee4fa8c.js +85 -0
- package/_internal/1ee4fa8c.js.map +1 -0
- package/_internal/209d0906.js +56 -0
- package/_internal/209d0906.js.map +1 -0
- package/_internal/22b8c949.d.ts +57 -0
- package/_internal/23b03795.js +115 -0
- package/_internal/23b03795.js.map +1 -0
- package/_internal/25352357.d.ts +51 -0
- package/_internal/{types.d.ts → 28b656e3.d.ts} +1 -1
- package/_internal/2bd12321.d.ts +22 -0
- package/_internal/2c279dd8.d.ts +49 -0
- package/_internal/2d7bd818.js +147 -0
- package/_internal/2d7bd818.js.map +1 -0
- package/_internal/2db3ca7a.js +221 -0
- package/_internal/2db3ca7a.js.map +1 -0
- package/_internal/2e0ba45f.js +182 -0
- package/_internal/2e0ba45f.js.map +1 -0
- package/_internal/2e6810c5.js +240 -0
- package/_internal/2e6810c5.js.map +1 -0
- package/_internal/2ed577d6.d.ts +37 -0
- package/_internal/31235bda.js +133 -0
- package/_internal/31235bda.js.map +1 -0
- package/_internal/339a4cb6.d.ts +106 -0
- package/_internal/35c3a78f.js +374 -0
- package/_internal/35c3a78f.js.map +1 -0
- package/_internal/3669449c.js +135 -0
- package/_internal/3669449c.js.map +1 -0
- package/_internal/39790d2a.d.ts +52 -0
- package/_internal/3bfda595.d.ts +62 -0
- package/_internal/3f5e7653.js +205 -0
- package/_internal/3f5e7653.js.map +1 -0
- package/_internal/43bf2236.js +189 -0
- package/_internal/43bf2236.js.map +1 -0
- package/_internal/43c20e1c.js +64 -0
- package/_internal/43c20e1c.js.map +1 -0
- package/_internal/45349a37.js +78 -0
- package/_internal/45349a37.js.map +1 -0
- package/_internal/48725bae.js +61 -0
- package/_internal/48725bae.js.map +1 -0
- package/_internal/4a5eff83.js +149 -0
- package/_internal/4a5eff83.js.map +1 -0
- package/_internal/4f5a23d0.js +74 -0
- package/_internal/4f5a23d0.js.map +1 -0
- package/_internal/50472283.js +219 -0
- package/_internal/50472283.js.map +1 -0
- package/_internal/506e7420.js +805 -0
- package/_internal/506e7420.js.map +1 -0
- package/_internal/51585e5d.d.ts +31 -0
- package/_internal/52976f60.js +123 -0
- package/_internal/52976f60.js.map +1 -0
- package/_internal/53abf616.js +112 -0
- package/_internal/53abf616.js.map +1 -0
- package/_internal/561b93a4.js +132 -0
- package/_internal/561b93a4.js.map +1 -0
- package/_internal/56827efd.js +306 -0
- package/_internal/56827efd.js.map +1 -0
- package/_internal/58085542.js +132 -0
- package/_internal/58085542.js.map +1 -0
- package/_internal/5d582985.js +55 -0
- package/_internal/5d582985.js.map +1 -0
- package/_internal/5df3d4a3.d.ts +192 -0
- package/_internal/5eac291f.js +52 -0
- package/_internal/5eac291f.js.map +1 -0
- package/_internal/5ebec897.d.ts +69 -0
- package/_internal/62a51bc3.js +73 -0
- package/_internal/62a51bc3.js.map +1 -0
- package/_internal/648a40d4.js +140 -0
- package/_internal/648a40d4.js.map +1 -0
- package/_internal/6726fa56.js +113 -0
- package/_internal/6726fa56.js.map +1 -0
- package/_internal/687128ab.js +60 -0
- package/_internal/687128ab.js.map +1 -0
- package/_internal/69ec8e49.js +2130 -0
- package/_internal/69ec8e49.js.map +1 -0
- package/_internal/6a084cc0.js +154 -0
- package/_internal/6a084cc0.js.map +1 -0
- package/_internal/6b6c99f5.d.ts +59 -0
- package/_internal/6f0b1d1c.js +100 -0
- package/_internal/6f0b1d1c.js.map +1 -0
- package/_internal/717ab5c2.d.ts +33 -0
- package/_internal/71e8fb5e.d.ts +54 -0
- package/_internal/72b3a542.js +75 -0
- package/_internal/72b3a542.js.map +1 -0
- package/_internal/73d02a65.js +338 -0
- package/_internal/73d02a65.js.map +1 -0
- package/_internal/757216a1.js +80 -0
- package/_internal/757216a1.js.map +1 -0
- package/_internal/7641c1e4.js +49 -0
- package/_internal/7641c1e4.js.map +1 -0
- package/_internal/782f6fbb.js +94 -0
- package/_internal/782f6fbb.js.map +1 -0
- package/_internal/787d5d09.js +450 -0
- package/_internal/787d5d09.js.map +1 -0
- package/_internal/79b3f9aa.d.ts +22 -0
- package/_internal/7b8c2b80.js +113 -0
- package/_internal/7b8c2b80.js.map +1 -0
- package/_internal/7c07908e.d.ts +34 -0
- package/_internal/7d468bfd.d.ts +75 -0
- package/_internal/834ad334.js +25 -0
- package/_internal/834ad334.js.map +1 -0
- package/_internal/83dab2b2.js +22 -0
- package/_internal/83dab2b2.js.map +1 -0
- package/_internal/899e4acd.js +60 -0
- package/_internal/899e4acd.js.map +1 -0
- package/_internal/89fd6c7c.js +112 -0
- package/_internal/89fd6c7c.js.map +1 -0
- package/_internal/8aeb24dd.d.ts +24 -0
- package/_internal/8c7450ba.d.ts +35 -0
- package/_internal/8ea3ecc2.d.ts +46 -0
- package/_internal/8efb9d06.js +807 -0
- package/_internal/8efb9d06.js.map +1 -0
- package/_internal/93943ac3.d.ts +37 -0
- package/_internal/96ac5af6.d.ts +47 -0
- package/_internal/975a94f4.js +88 -0
- package/_internal/975a94f4.js.map +1 -0
- package/_internal/9784d7f8.js +283 -0
- package/_internal/9784d7f8.js.map +1 -0
- package/_internal/97e802dc.d.ts +66 -0
- package/_internal/9b9393ee.d.ts +29 -0
- package/_internal/9dced38c.js +284 -0
- package/_internal/9dced38c.js.map +1 -0
- package/_internal/a07fe032.d.ts +57 -0
- package/_internal/a08b82a3.d.ts +31 -0
- package/_internal/a106724b.d.ts +43 -0
- package/_internal/a7807be3.js +120 -0
- package/_internal/a7807be3.js.map +1 -0
- package/_internal/a79b2c62.js +60 -0
- package/_internal/a79b2c62.js.map +1 -0
- package/_internal/a7b06ff0.d.ts +16 -0
- package/_internal/a8af376d.d.ts +35 -0
- package/_internal/abdb0290.d.ts +35 -0
- package/_internal/adb2e104.d.ts +101 -0
- package/_internal/b13105c1.d.ts +38 -0
- package/_internal/b3361376.d.ts +55 -0
- package/_internal/b3bb0cc4.d.ts +92 -0
- package/_internal/b447833b.d.ts +24 -0
- package/_internal/b5deecfd.d.ts +64 -0
- package/_internal/b70adcf7.js +310 -0
- package/_internal/b70adcf7.js.map +1 -0
- package/_internal/b7128df5.js +137 -0
- package/_internal/b7128df5.js.map +1 -0
- package/_internal/baf84dac.js +29 -0
- package/_internal/baf84dac.js.map +1 -0
- package/_internal/bd3b5639.d.ts +183 -0
- package/_internal/bf97c97c.js +112 -0
- package/_internal/bf97c97c.js.map +1 -0
- package/_internal/c1482714.js +63 -0
- package/_internal/c1482714.js.map +1 -0
- package/_internal/c498efeb.js +12 -0
- package/_internal/c498efeb.js.map +1 -0
- package/_internal/c672b554.d.ts +87 -0
- package/_internal/c70420da.js +120 -0
- package/_internal/c70420da.js.map +1 -0
- package/_internal/ce96edec.d.ts +41 -0
- package/_internal/cf2cb6bc.d.ts +22 -0
- package/_internal/cf312aff.d.ts +38 -0
- package/_internal/cfd18b6d.js +88 -0
- package/_internal/cfd18b6d.js.map +1 -0
- package/_internal/components/alert-dialog.d.ts +6 -0
- package/_internal/components/alert-dialog.js +2 -0
- package/_internal/components/alert-dialog.js.map +1 -0
- package/_internal/components/autocomplete.d.ts +10 -0
- package/_internal/components/autocomplete.js +2 -0
- package/_internal/components/autocomplete.js.map +1 -0
- package/_internal/components/avatar.d.ts +4 -0
- package/_internal/components/avatar.js +2 -0
- package/_internal/components/avatar.js.map +1 -0
- package/_internal/components/badge.d.ts +3 -0
- package/_internal/components/badge.js +2 -0
- package/_internal/components/badge.js.map +1 -0
- package/_internal/components/button.d.ts +8 -0
- package/_internal/components/button.js +4 -0
- package/_internal/components/button.js.map +1 -0
- package/_internal/components/checkbox.d.ts +3 -0
- package/_internal/components/checkbox.js +2 -0
- package/_internal/components/checkbox.js.map +1 -0
- package/_internal/components/chip.d.ts +3 -0
- package/_internal/components/chip.js +3 -0
- package/_internal/components/chip.js.map +1 -0
- package/_internal/components/comment-block.d.ts +5 -0
- package/_internal/components/comment-block.js +2 -0
- package/_internal/components/comment-block.js.map +1 -0
- package/_internal/components/date-picker.d.ts +7 -0
- package/_internal/components/date-picker.js +2 -0
- package/_internal/components/date-picker.js.map +1 -0
- package/_internal/components/dialog.d.ts +3 -0
- package/_internal/components/dialog.js +2 -0
- package/_internal/components/dialog.js.map +1 -0
- package/_internal/components/divider.d.ts +3 -0
- package/_internal/components/divider.js +2 -0
- package/_internal/components/divider.js.map +1 -0
- package/_internal/components/drag-handle.d.ts +3 -0
- package/_internal/components/drag-handle.js +2 -0
- package/_internal/components/drag-handle.js.map +1 -0
- package/_internal/components/dropdown.d.ts +5 -0
- package/_internal/components/dropdown.js +2 -0
- package/_internal/components/dropdown.js.map +1 -0
- package/_internal/components/expansion-panel.d.ts +7 -0
- package/_internal/components/expansion-panel.js +2 -0
- package/_internal/components/expansion-panel.js.map +1 -0
- package/_internal/components/flag.d.ts +3 -0
- package/_internal/components/flag.js +2 -0
- package/_internal/components/flag.js.map +1 -0
- package/_internal/components/flex-box.d.ts +3 -0
- package/_internal/components/flex-box.js +2 -0
- package/_internal/components/flex-box.js.map +1 -0
- package/_internal/components/generic-block.d.ts +4 -0
- package/_internal/components/generic-block.js +2 -0
- package/_internal/components/generic-block.js.map +1 -0
- package/_internal/components/grid-column.d.ts +3 -0
- package/_internal/components/grid-column.js +2 -0
- package/_internal/components/grid-column.js.map +1 -0
- package/_internal/components/grid.d.ts +3 -0
- package/_internal/components/grid.js +2 -0
- package/_internal/components/grid.js.map +1 -0
- package/_internal/components/heading.d.ts +4 -0
- package/_internal/components/heading.js +2 -0
- package/_internal/components/heading.js.map +1 -0
- package/_internal/components/icon.d.ts +3 -0
- package/_internal/components/icon.js +2 -0
- package/_internal/components/icon.js.map +1 -0
- package/_internal/components/image-block.d.ts +4 -0
- package/_internal/components/image-block.js +2 -0
- package/_internal/components/image-block.js.map +1 -0
- package/_internal/components/inline-list.d.ts +3 -0
- package/_internal/components/inline-list.js +2 -0
- package/_internal/components/inline-list.js.map +1 -0
- package/_internal/components/input-helper.d.ts +3 -0
- package/_internal/components/input-helper.js +2 -0
- package/_internal/components/input-helper.js.map +1 -0
- package/_internal/components/input-label.d.ts +3 -0
- package/_internal/components/input-label.js +2 -0
- package/_internal/components/input-label.js.map +1 -0
- package/_internal/components/lightbox.d.ts +7 -0
- package/_internal/components/lightbox.js +2 -0
- package/_internal/components/lightbox.js.map +1 -0
- package/_internal/components/link-preview.d.ts +5 -0
- package/_internal/components/link-preview.js +2 -0
- package/_internal/components/link-preview.js.map +1 -0
- package/_internal/components/link.d.ts +3 -0
- package/_internal/components/link.js +2 -0
- package/_internal/components/link.js.map +1 -0
- package/_internal/components/list.d.ts +3 -0
- package/_internal/components/list.js +3 -0
- package/_internal/components/list.js.map +1 -0
- package/_internal/components/message.d.ts +3 -0
- package/_internal/components/message.js +2 -0
- package/_internal/components/message.js.map +1 -0
- package/_internal/components/mosaic.d.ts +4 -0
- package/_internal/components/mosaic.js +2 -0
- package/_internal/components/mosaic.js.map +1 -0
- package/_internal/components/navigation.d.ts +3 -0
- package/_internal/components/navigation.js +2 -0
- package/_internal/components/navigation.js.map +1 -0
- package/_internal/components/notification.d.ts +3 -0
- package/_internal/components/notification.js +2 -0
- package/_internal/components/notification.js.map +1 -0
- package/_internal/components/popover.d.ts +4 -0
- package/_internal/components/popover.js +3 -0
- package/_internal/components/popover.js.map +1 -0
- package/_internal/components/post-block.d.ts +4 -0
- package/_internal/components/post-block.js +2 -0
- package/_internal/components/post-block.js.map +1 -0
- package/_internal/components/progress-tracker.d.ts +3 -0
- package/_internal/components/progress-tracker.js +2 -0
- package/_internal/components/progress-tracker.js.map +1 -0
- package/_internal/components/progress.d.ts +3 -0
- package/_internal/components/progress.js +2 -0
- package/_internal/components/progress.js.map +1 -0
- package/_internal/components/radio-button.d.ts +3 -0
- package/_internal/components/radio-button.js +2 -0
- package/_internal/components/radio-button.js.map +1 -0
- package/_internal/components/select.d.ts +7 -0
- package/_internal/components/select.js +2 -0
- package/_internal/components/select.js.map +1 -0
- package/_internal/components/side-navigation.d.ts +7 -0
- package/_internal/components/side-navigation.js +2 -0
- package/_internal/components/side-navigation.js.map +1 -0
- package/_internal/components/skeleton.d.ts +3 -0
- package/_internal/components/skeleton.js +2 -0
- package/_internal/components/skeleton.js.map +1 -0
- package/_internal/components/slider.d.ts +3 -0
- package/_internal/components/slider.js +2 -0
- package/_internal/components/slider.js.map +1 -0
- package/_internal/components/slideshow.d.ts +7 -0
- package/_internal/components/slideshow.js +2 -0
- package/_internal/components/slideshow.js.map +1 -0
- package/_internal/components/switch.d.ts +3 -0
- package/_internal/components/switch.js +2 -0
- package/_internal/components/switch.js.map +1 -0
- package/_internal/components/table.d.ts +3 -0
- package/_internal/components/table.js +2 -0
- package/_internal/components/table.js.map +1 -0
- package/_internal/components/tabs.d.ts +4 -0
- package/_internal/components/tabs.js +2 -0
- package/_internal/components/tabs.js.map +1 -0
- package/_internal/components/text-field.d.ts +7 -0
- package/_internal/components/text-field.js +2 -0
- package/_internal/components/text-field.js.map +1 -0
- package/_internal/components/text.d.ts +3 -0
- package/_internal/components/text.js +2 -0
- package/_internal/components/text.js.map +1 -0
- package/_internal/components/thumbnail.d.ts +4 -0
- package/_internal/components/thumbnail.js +3 -0
- package/_internal/components/thumbnail.js.map +1 -0
- package/_internal/components/toolbar.d.ts +3 -0
- package/_internal/components/toolbar.js +2 -0
- package/_internal/components/toolbar.js.map +1 -0
- package/_internal/components/tooltip.d.ts +4 -0
- package/_internal/components/tooltip.js +2 -0
- package/_internal/components/tooltip.js.map +1 -0
- package/_internal/components/uploader.d.ts +3 -0
- package/_internal/components/uploader.js +2 -0
- package/_internal/components/uploader.js.map +1 -0
- package/_internal/components/user-block.d.ts +5 -0
- package/_internal/components/user-block.js +2 -0
- package/_internal/components/user-block.js.map +1 -0
- package/_internal/d0ab9418.js +217 -0
- package/_internal/d0ab9418.js.map +1 -0
- package/_internal/d182fae6.js +402 -0
- package/_internal/d182fae6.js.map +1 -0
- package/_internal/d18db1a2.d.ts +17 -0
- package/_internal/d39f1e46.d.ts +65 -0
- package/_internal/d737c470.js +312 -0
- package/_internal/d737c470.js.map +1 -0
- package/_internal/d894ca99.d.ts +49 -0
- package/_internal/da84387d.d.ts +36 -0
- package/_internal/dbee763e.d.ts +34 -0
- package/_internal/dd592f2c.d.ts +6 -0
- package/_internal/de727831.d.ts +17 -0
- package/_internal/df1fde7b.js +125 -0
- package/_internal/df1fde7b.js.map +1 -0
- package/_internal/e238e75a.d.ts +20 -0
- package/_internal/e50751c9.js +259 -0
- package/_internal/e50751c9.js.map +1 -0
- package/_internal/e986d261.js +84 -0
- package/_internal/e986d261.js.map +1 -0
- package/_internal/ebe0cef1.d.ts +88 -0
- package/_internal/ef7b6d28.d.ts +43 -0
- package/_internal/f0bb348a.js +49 -0
- package/_internal/f0bb348a.js.map +1 -0
- package/_internal/f0edbfd3.js +399 -0
- package/_internal/f0edbfd3.js.map +1 -0
- package/_internal/f722684a.js +137 -0
- package/_internal/f722684a.js.map +1 -0
- package/_internal/{ClickAwayProvider.js → f82d943d.js} +1 -1
- package/_internal/f82d943d.js.map +1 -0
- package/_internal/f99a63fb.d.ts +118 -0
- package/_internal/fc608bd9.js +16 -0
- package/_internal/fc608bd9.js.map +1 -0
- package/_internal/ff6c8991.js +180 -0
- package/_internal/ff6c8991.js.map +1 -0
- package/index.d.ts +63 -2847
- package/index.js +97 -13086
- package/index.js.map +1 -1
- package/package.json +3 -5
- package/src/components/date-picker/DatePicker.stories.tsx +38 -0
- package/src/components/date-picker/DatePicker.tsx +8 -11
- package/src/components/date-picker/DatePickerControlled.tsx +35 -43
- package/src/components/date-picker/DatePickerField.stories.tsx +0 -1
- package/src/components/date-picker/DatePickerField.tsx +7 -8
- package/src/components/date-picker/types.ts +1 -1
- package/src/utils/date/addMonthResetDay.test.ts +13 -0
- package/src/utils/date/addMonthResetDay.ts +9 -0
- package/src/utils/date/formatDate.ts +9 -0
- package/src/utils/date/formatDayNumber.ts +2 -0
- package/src/utils/date/formatMonthYear.ts +5 -0
- package/src/utils/date/getFirstDayOfWeek.test.ts +27 -0
- package/src/utils/date/getFirstDayOfWeek.ts +59 -0
- package/src/utils/date/getMonthCalendar.test.ts +119 -0
- package/src/utils/date/getMonthCalendar.ts +52 -0
- package/src/utils/date/getWeekDays.test.ts +52 -0
- package/src/utils/date/getWeekDays.ts +32 -0
- package/src/utils/date/isDateValid.test.ts +15 -0
- package/src/utils/date/isDateValid.ts +4 -0
- package/src/utils/date/isSameDay.test.ts +27 -0
- package/src/utils/date/isSameDay.ts +7 -0
- package/src/utils/locale/getCurrentLocale.ts +4 -0
- package/src/utils/locale/getLocaleLang.ts +5 -0
- package/utils/index.d.ts +1 -1
- package/utils/index.js +1 -1
- package/_internal/ClickAwayProvider.js.map +0 -1
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { _ as _objectWithoutProperties, j as _objectSpread2, g as getRootClassName, a as _extends, c as classnames, S as Size, K as Kind, n as CSS_PREFIX } from './35c3a78f.js';
|
|
2
|
+
import React, { useReducer, useEffect, forwardRef, useCallback } from 'react';
|
|
3
|
+
import { I as Icon, b as mdiCheckCircle, c as mdiAlertCircle, k as mdiRadioboxMarked, l as mdiRadioboxBlank } from './52976f60.js';
|
|
4
|
+
import 'lodash/kebabCase';
|
|
5
|
+
import { h as handleBasicClasses } from './3f5e7653.js';
|
|
6
|
+
import { m as mergeRefs } from './83dab2b2.js';
|
|
7
|
+
import { I as InputHelper } from './4f5a23d0.js';
|
|
8
|
+
import { I as InputLabel } from './687128ab.js';
|
|
9
|
+
import { r as reducer, I as INIT_STATE, T as TabProviderContext, u as useTabProviderContextState, a as useTabProviderContext } from './df1fde7b.js';
|
|
10
|
+
import { u as useRovingTabIndex } from './45349a37.js';
|
|
11
|
+
|
|
12
|
+
const _excluded = ["children", "onChange"];
|
|
13
|
+
const DEFAULT_PROPS = {
|
|
14
|
+
isLazy: INIT_STATE.isLazy,
|
|
15
|
+
shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* This component provides a context in which steps can be defined and linked to their step panel.
|
|
20
|
+
*
|
|
21
|
+
* It does not produce any markup so you can wrap it around any React elements and then split the ProgressTracker and ProgressTrackerPanel
|
|
22
|
+
* components in the react tree.
|
|
23
|
+
*
|
|
24
|
+
* This works exactly as TabProvider so it uses TabProviderContext and tabs state.
|
|
25
|
+
*
|
|
26
|
+
* @param props React component props.
|
|
27
|
+
* @return React element.
|
|
28
|
+
*/
|
|
29
|
+
const ProgressTrackerProvider = props => {
|
|
30
|
+
const {
|
|
31
|
+
children,
|
|
32
|
+
onChange
|
|
33
|
+
} = props,
|
|
34
|
+
propState = _objectWithoutProperties(props, _excluded);
|
|
35
|
+
const [state, dispatch] = useReducer(reducer, INIT_STATE);
|
|
36
|
+
|
|
37
|
+
// On prop state change => dispatch update.
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
dispatch({
|
|
40
|
+
type: 'update',
|
|
41
|
+
payload: _objectSpread2(_objectSpread2({}, propState), {}, {
|
|
42
|
+
activeTabIndex: propState.activeStepIndex || INIT_STATE.activeTabIndex
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
47
|
+
[dispatch, ...Object.values(propState)]);
|
|
48
|
+
|
|
49
|
+
// On active tab index state change => send update to the onChange.
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (state === INIT_STATE || !onChange || propState.activeStepIndex === state.activeTabIndex) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
onChange(state.activeTabIndex);
|
|
55
|
+
},
|
|
56
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
57
|
+
[onChange, state.activeTabIndex]);
|
|
58
|
+
return /*#__PURE__*/React.createElement(TabProviderContext.Provider, {
|
|
59
|
+
value: [state, dispatch]
|
|
60
|
+
}, children);
|
|
61
|
+
};
|
|
62
|
+
ProgressTrackerProvider.defaultProps = DEFAULT_PROPS;
|
|
63
|
+
|
|
64
|
+
const _excluded$1 = ["aria-label", "children", "className"];
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Defines the props of the component.
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Component display name.
|
|
72
|
+
*/
|
|
73
|
+
const COMPONENT_NAME = 'ProgressTracker';
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Component default class name and class prefix.
|
|
77
|
+
*/
|
|
78
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Component default props.
|
|
82
|
+
*/
|
|
83
|
+
const DEFAULT_PROPS$1 = {};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* ProgressTracker component.
|
|
87
|
+
*
|
|
88
|
+
* Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
89
|
+
*
|
|
90
|
+
* @param props Component props.
|
|
91
|
+
* @param ref Component ref.
|
|
92
|
+
* @return React element.
|
|
93
|
+
*/
|
|
94
|
+
const ProgressTracker = /*#__PURE__*/forwardRef((props, ref) => {
|
|
95
|
+
var _state$ids, _state$ids$tab;
|
|
96
|
+
const {
|
|
97
|
+
'aria-label': ariaLabel,
|
|
98
|
+
children,
|
|
99
|
+
className
|
|
100
|
+
} = props,
|
|
101
|
+
forwardedProps = _objectWithoutProperties(props, _excluded$1);
|
|
102
|
+
const stepListRef = React.useRef(null);
|
|
103
|
+
useRovingTabIndex({
|
|
104
|
+
parentRef: stepListRef,
|
|
105
|
+
elementSelector: '[role="tab"]',
|
|
106
|
+
keepTabIndex: false,
|
|
107
|
+
extraDependencies: [children]
|
|
108
|
+
});
|
|
109
|
+
const state = useTabProviderContextState();
|
|
110
|
+
const numberOfSteps = (state === null || state === void 0 ? void 0 : (_state$ids = state.ids) === null || _state$ids === void 0 ? void 0 : (_state$ids$tab = _state$ids.tab) === null || _state$ids$tab === void 0 ? void 0 : _state$ids$tab.length) || 0;
|
|
111
|
+
const backgroundPosition = numberOfSteps > 0 ? 100 / (numberOfSteps * 2) : 0;
|
|
112
|
+
const trackPosition = numberOfSteps > 0 ? 100 / (numberOfSteps - 1) * ((state === null || state === void 0 ? void 0 : state.activeTabIndex) || 0) / 100 : 0;
|
|
113
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
114
|
+
ref: mergeRefs(ref, stepListRef)
|
|
115
|
+
}, forwardedProps, {
|
|
116
|
+
className: classnames(className, handleBasicClasses({
|
|
117
|
+
prefix: CLASSNAME
|
|
118
|
+
}))
|
|
119
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
120
|
+
className: `${CLASSNAME}__steps`,
|
|
121
|
+
role: "tablist",
|
|
122
|
+
"aria-label": ariaLabel
|
|
123
|
+
}, children), /*#__PURE__*/React.createElement("div", {
|
|
124
|
+
className: `${CLASSNAME}__background-bar`,
|
|
125
|
+
style: {
|
|
126
|
+
left: `${backgroundPosition}%`,
|
|
127
|
+
right: `${backgroundPosition}%`
|
|
128
|
+
}
|
|
129
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
130
|
+
className: `${CLASSNAME}__foreground-bar`,
|
|
131
|
+
style: {
|
|
132
|
+
left: `${backgroundPosition}%`,
|
|
133
|
+
right: `${backgroundPosition}%`,
|
|
134
|
+
transform: `scaleX(${trackPosition})`
|
|
135
|
+
}
|
|
136
|
+
}));
|
|
137
|
+
});
|
|
138
|
+
ProgressTracker.displayName = COMPONENT_NAME;
|
|
139
|
+
ProgressTracker.className = CLASSNAME;
|
|
140
|
+
ProgressTracker.defaultProps = DEFAULT_PROPS$1;
|
|
141
|
+
|
|
142
|
+
const _excluded$2 = ["className", "disabled", "hasError", "helper", "id", "isActive", "isComplete", "isDisabled", "label", "onFocus", "onKeyPress", "tabIndex"];
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Defines the props of the component.
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Component display name.
|
|
150
|
+
*/
|
|
151
|
+
const COMPONENT_NAME$1 = 'ProgressTrackerStep';
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Component default class name and class prefix.
|
|
155
|
+
*/
|
|
156
|
+
const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Component default props.
|
|
160
|
+
*/
|
|
161
|
+
const DEFAULT_PROPS$2 = {};
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* ProgressTrackerStep component.
|
|
165
|
+
*
|
|
166
|
+
* Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
167
|
+
*
|
|
168
|
+
* @param props Component props.
|
|
169
|
+
* @param ref Component ref.
|
|
170
|
+
* @return React element.
|
|
171
|
+
*/
|
|
172
|
+
const ProgressTrackerStep = /*#__PURE__*/forwardRef((props, ref) => {
|
|
173
|
+
const {
|
|
174
|
+
className,
|
|
175
|
+
disabled,
|
|
176
|
+
hasError,
|
|
177
|
+
helper,
|
|
178
|
+
id,
|
|
179
|
+
isActive: propIsActive,
|
|
180
|
+
isComplete,
|
|
181
|
+
isDisabled = disabled,
|
|
182
|
+
label,
|
|
183
|
+
onFocus,
|
|
184
|
+
onKeyPress,
|
|
185
|
+
tabIndex = -1
|
|
186
|
+
} = props,
|
|
187
|
+
forwardedProps = _objectWithoutProperties(props, _excluded$2);
|
|
188
|
+
const state = useTabProviderContext('tab', id);
|
|
189
|
+
const isActive = propIsActive || (state === null || state === void 0 ? void 0 : state.isActive);
|
|
190
|
+
const changeToCurrentTab = useCallback(() => {
|
|
191
|
+
if (isDisabled) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
state === null || state === void 0 ? void 0 : state.changeToTab();
|
|
195
|
+
}, [isDisabled, state]);
|
|
196
|
+
const handleFocus = useCallback(event => {
|
|
197
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
|
|
198
|
+
if (state !== null && state !== void 0 && state.shouldActivateOnFocus) {
|
|
199
|
+
changeToCurrentTab();
|
|
200
|
+
}
|
|
201
|
+
}, [changeToCurrentTab, onFocus, state === null || state === void 0 ? void 0 : state.shouldActivateOnFocus]);
|
|
202
|
+
const handleKeyPress = useCallback(event => {
|
|
203
|
+
onKeyPress === null || onKeyPress === void 0 ? void 0 : onKeyPress(event);
|
|
204
|
+
if (event.key !== 'Enter') {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
changeToCurrentTab();
|
|
208
|
+
}, [changeToCurrentTab, onKeyPress]);
|
|
209
|
+
const getIcon = () => {
|
|
210
|
+
if (isComplete) {
|
|
211
|
+
return mdiCheckCircle;
|
|
212
|
+
}
|
|
213
|
+
if (isActive) {
|
|
214
|
+
return hasError ? mdiAlertCircle : mdiRadioboxMarked;
|
|
215
|
+
}
|
|
216
|
+
return mdiRadioboxBlank;
|
|
217
|
+
};
|
|
218
|
+
return /*#__PURE__*/React.createElement("button", _extends({
|
|
219
|
+
ref: ref
|
|
220
|
+
}, forwardedProps, {
|
|
221
|
+
type: "button",
|
|
222
|
+
id: state === null || state === void 0 ? void 0 : state.tabId,
|
|
223
|
+
className: classnames(className, handleBasicClasses({
|
|
224
|
+
prefix: CLASSNAME$1,
|
|
225
|
+
hasError,
|
|
226
|
+
isActive,
|
|
227
|
+
isClickable: state && !isDisabled,
|
|
228
|
+
isComplete
|
|
229
|
+
})),
|
|
230
|
+
onClick: changeToCurrentTab,
|
|
231
|
+
onKeyPress: handleKeyPress,
|
|
232
|
+
onFocus: handleFocus,
|
|
233
|
+
role: "tab",
|
|
234
|
+
tabIndex: isActive ? 0 : tabIndex,
|
|
235
|
+
"aria-disabled": isDisabled,
|
|
236
|
+
"aria-selected": isActive,
|
|
237
|
+
"aria-controls": state === null || state === void 0 ? void 0 : state.tabPanelId
|
|
238
|
+
}), /*#__PURE__*/React.createElement(Icon, {
|
|
239
|
+
className: `${CLASSNAME$1}__state`,
|
|
240
|
+
icon: getIcon(),
|
|
241
|
+
size: Size.s
|
|
242
|
+
}), /*#__PURE__*/React.createElement(InputLabel, {
|
|
243
|
+
htmlFor: (state === null || state === void 0 ? void 0 : state.tabId) || '',
|
|
244
|
+
className: `${CLASSNAME$1}__label`
|
|
245
|
+
}, label), helper && /*#__PURE__*/React.createElement(InputHelper, {
|
|
246
|
+
kind: hasError ? Kind.error : Kind.info,
|
|
247
|
+
className: `${CLASSNAME$1}__helper`
|
|
248
|
+
}, helper));
|
|
249
|
+
});
|
|
250
|
+
ProgressTrackerStep.displayName = COMPONENT_NAME$1;
|
|
251
|
+
ProgressTrackerStep.className = CLASSNAME$1;
|
|
252
|
+
ProgressTrackerStep.defaultProps = DEFAULT_PROPS$2;
|
|
253
|
+
|
|
254
|
+
const _excluded$3 = ["children", "id", "className", "isActive"];
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Defines the props of the component.
|
|
258
|
+
*/
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Component display name.
|
|
262
|
+
*/
|
|
263
|
+
const COMPONENT_NAME$2 = 'ProgressTrackerStepPanel';
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Component default class name and class prefix.
|
|
267
|
+
*/
|
|
268
|
+
const CLASSNAME$2 = `${CSS_PREFIX}-step-panel`;
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Component default props.
|
|
272
|
+
*/
|
|
273
|
+
const DEFAULT_PROPS$3 = {};
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* ProgressTrackerStepPanel component.
|
|
277
|
+
*
|
|
278
|
+
* Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}
|
|
279
|
+
*
|
|
280
|
+
* @param props Component props.
|
|
281
|
+
* @param ref Component ref.
|
|
282
|
+
* @return React element.
|
|
283
|
+
*/
|
|
284
|
+
const ProgressTrackerStepPanel = /*#__PURE__*/forwardRef((props, ref) => {
|
|
285
|
+
const {
|
|
286
|
+
children,
|
|
287
|
+
id,
|
|
288
|
+
className,
|
|
289
|
+
isActive: propIsActive
|
|
290
|
+
} = props,
|
|
291
|
+
forwardedProps = _objectWithoutProperties(props, _excluded$3);
|
|
292
|
+
const state = useTabProviderContext('tabPanel', id);
|
|
293
|
+
const isActive = propIsActive || (state === null || state === void 0 ? void 0 : state.isActive);
|
|
294
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
295
|
+
ref: ref
|
|
296
|
+
}, forwardedProps, {
|
|
297
|
+
id: state === null || state === void 0 ? void 0 : state.tabPanelId,
|
|
298
|
+
className: classnames(className, handleBasicClasses({
|
|
299
|
+
prefix: CLASSNAME$2,
|
|
300
|
+
isActive
|
|
301
|
+
})),
|
|
302
|
+
role: "tabpanel",
|
|
303
|
+
tabIndex: isActive ? 0 : -1,
|
|
304
|
+
"aria-labelledby": state === null || state === void 0 ? void 0 : state.tabId
|
|
305
|
+
}), (!(state !== null && state !== void 0 && state.isLazy) || isActive) && children);
|
|
306
|
+
});
|
|
307
|
+
ProgressTrackerStepPanel.displayName = COMPONENT_NAME$2;
|
|
308
|
+
ProgressTrackerStepPanel.className = CLASSNAME$2;
|
|
309
|
+
ProgressTrackerStepPanel.defaultProps = DEFAULT_PROPS$3;
|
|
310
|
+
|
|
311
|
+
export { ProgressTrackerProvider as P, ProgressTracker as a, ProgressTrackerStep as b, ProgressTrackerStepPanel as c };
|
|
312
|
+
//# sourceMappingURL=d737c470.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"d737c470.js","sources":["../../src/components/progress-tracker/ProgressTrackerProvider.tsx","../../src/components/progress-tracker/ProgressTracker.tsx","../../src/components/progress-tracker/ProgressTrackerStep.tsx","../../src/components/progress-tracker/ProgressTrackerStepPanel.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useReducer } from 'react';\nimport { INIT_STATE, TabProviderContext, reducer } from '../tabs/state';\n\nexport interface ProgressTrackerProviderProps {\n /** Active step index. */\n activeStepIndex?: number;\n /** ProgressTrackerProvider children. */\n children: ReactNode;\n /** Step panel children should not render if the step panel is hidden. */\n isLazy?: boolean;\n /** Activate tabs on focus. */\n shouldActivateOnFocus?: boolean;\n /** Step change callback. */\n onChange?(index: number): void;\n}\n\nconst DEFAULT_PROPS: Partial<ProgressTrackerProviderProps> = {\n isLazy: INIT_STATE.isLazy,\n shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus,\n};\n\n/**\n * This component provides a context in which steps can be defined and linked to their step panel.\n *\n * It does not produce any markup so you can wrap it around any React elements and then split the ProgressTracker and ProgressTrackerPanel\n * components in the react tree.\n *\n * This works exactly as TabProvider so it uses TabProviderContext and tabs state.\n *\n * @param props React component props.\n * @return React element.\n */\nexport const ProgressTrackerProvider: React.FC<ProgressTrackerProviderProps> = (props) => {\n const { children, onChange, ...propState } = props;\n const [state, dispatch] = useReducer(reducer, INIT_STATE);\n\n // On prop state change => dispatch update.\n useEffect(\n () => {\n dispatch({\n type: 'update',\n payload: {\n ...propState,\n activeTabIndex: propState.activeStepIndex || INIT_STATE.activeTabIndex,\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, ...Object.values(propState)],\n );\n\n // On active tab index state change => send update to the onChange.\n useEffect(\n () => {\n if (state === INIT_STATE || !onChange || propState.activeStepIndex === state.activeTabIndex) {\n return;\n }\n onChange(state.activeTabIndex);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, state.activeTabIndex],\n );\n\n return <TabProviderContext.Provider value={[state, dispatch]}>{children}</TabProviderContext.Provider>;\n};\nProgressTrackerProvider.defaultProps = DEFAULT_PROPS;\n","import React, { forwardRef, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Comp, GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndex';\nimport { useTabProviderContextState } from '../tabs/state';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerProps extends GenericProps {\n /** ARIA label (purpose of the set of steps). */\n ['aria-label']: string;\n /** Step list. */\n children: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTracker';\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<ProgressTrackerProps> = {};\n\n/**\n * ProgressTracker component.\n *\n * Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTracker: Comp<ProgressTrackerProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { 'aria-label': ariaLabel, children, className, ...forwardedProps } = props;\n const stepListRef = React.useRef(null);\n useRovingTabIndex({\n parentRef: stepListRef,\n elementSelector: '[role=\"tab\"]',\n keepTabIndex: false,\n extraDependencies: [children],\n });\n\n const state = useTabProviderContextState();\n const numberOfSteps = state?.ids?.tab?.length || 0;\n const backgroundPosition: number = numberOfSteps > 0 ? 100 / (numberOfSteps * 2) : 0;\n const trackPosition: number =\n numberOfSteps > 0 ? ((100 / (numberOfSteps - 1)) * (state?.activeTabIndex || 0)) / 100 : 0;\n\n return (\n <div\n ref={mergeRefs(ref, stepListRef)}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME }))}\n >\n <div className={`${CLASSNAME}__steps`} role=\"tablist\" aria-label={ariaLabel}>\n {children}\n </div>\n\n <div\n className={`${CLASSNAME}__background-bar`}\n style={{ left: `${backgroundPosition}%`, right: `${backgroundPosition}%` }}\n />\n\n <div\n className={`${CLASSNAME}__foreground-bar`}\n style={{\n left: `${backgroundPosition}%`,\n right: `${backgroundPosition}%`,\n transform: `scaleX(${trackPosition})`,\n }}\n />\n </div>\n );\n});\nProgressTracker.displayName = COMPONENT_NAME;\nProgressTracker.className = CLASSNAME;\nProgressTracker.defaultProps = DEFAULT_PROPS;\n","import React, { FocusEventHandler, forwardRef, KeyboardEventHandler, useCallback } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Icon, InputHelper, InputLabel, Kind, Size } from '@lumx/react';\n\nimport { Comp, GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiRadioboxBlank, mdiRadioboxMarked } from '@lumx/icons';\nimport { useTabProviderContext } from '../tabs/state';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerStepProps extends GenericProps {\n /** Children are not supported. */\n children?: never;\n /** Whether the step should be in error state or not. */\n hasError?: boolean;\n /** Helper text. */\n helper?: string | null;\n /** Native id property. */\n id?: string;\n /** Whether the current step is active or not. */\n isActive?: boolean;\n /** Whether the current step is completed or not. */\n isComplete?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label text. */\n label?: string | null;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTrackerStep';\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<ProgressTrackerStepProps> = {};\n\n/**\n * ProgressTrackerStep component.\n *\n * Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTrackerStep: Comp<ProgressTrackerStepProps, HTMLButtonElement> = forwardRef((props, ref) => {\n const {\n className,\n disabled,\n hasError,\n helper,\n id,\n isActive: propIsActive,\n isComplete,\n isDisabled = disabled,\n label,\n onFocus,\n onKeyPress,\n tabIndex = -1,\n ...forwardedProps\n } = props;\n const state = useTabProviderContext('tab', id);\n const isActive = propIsActive || state?.isActive;\n\n const changeToCurrentTab = useCallback(() => {\n if (isDisabled) {\n return;\n }\n state?.changeToTab();\n }, [isDisabled, state]);\n\n const handleFocus: FocusEventHandler = useCallback(\n (event) => {\n onFocus?.(event);\n if (state?.shouldActivateOnFocus) {\n changeToCurrentTab();\n }\n },\n [changeToCurrentTab, onFocus, state?.shouldActivateOnFocus],\n );\n\n const handleKeyPress: KeyboardEventHandler = useCallback(\n (event) => {\n onKeyPress?.(event);\n if (event.key !== 'Enter') {\n return;\n }\n changeToCurrentTab();\n },\n [changeToCurrentTab, onKeyPress],\n );\n\n const getIcon = (): string => {\n if (isComplete) {\n return mdiCheckCircle;\n }\n\n if (isActive) {\n return hasError ? mdiAlertCircle : mdiRadioboxMarked;\n }\n\n return mdiRadioboxBlank;\n };\n\n return (\n <button\n ref={ref}\n {...forwardedProps}\n type=\"button\"\n id={state?.tabId}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n hasError,\n isActive,\n isClickable: state && !isDisabled,\n isComplete,\n }),\n )}\n onClick={changeToCurrentTab}\n onKeyPress={handleKeyPress}\n onFocus={handleFocus}\n role=\"tab\"\n tabIndex={isActive ? 0 : tabIndex}\n aria-disabled={isDisabled}\n aria-selected={isActive}\n aria-controls={state?.tabPanelId}\n >\n <Icon className={`${CLASSNAME}__state`} icon={getIcon()} size={Size.s} />\n\n <InputLabel htmlFor={state?.tabId || ''} className={`${CLASSNAME}__label`}>\n {label}\n </InputLabel>\n\n {helper && (\n <InputHelper kind={hasError ? Kind.error : Kind.info} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </button>\n );\n});\nProgressTrackerStep.displayName = COMPONENT_NAME;\nProgressTrackerStep.className = CLASSNAME;\nProgressTrackerStep.defaultProps = DEFAULT_PROPS;\n","import { useTabProviderContext } from '@lumx/react/components/tabs/state';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { Comp, GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/react/utils/className';\n\nimport classNames from 'classnames';\nimport React, { forwardRef } from 'react';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerStepPanelProps extends GenericProps {\n /** Native id property. */\n id?: string;\n /** Whether the step is active or not. */\n isActive?: boolean;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTrackerStepPanel';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-step-panel`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressTrackerStepPanelProps> = {};\n\n/**\n * ProgressTrackerStepPanel component.\n *\n * Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTrackerStepPanel: Comp<ProgressTrackerStepPanelProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const { children, id, className, isActive: propIsActive, ...forwardedProps } = props;\n\n const state = useTabProviderContext('tabPanel', id);\n const isActive = propIsActive || state?.isActive;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n id={state?.tabPanelId}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, isActive }))}\n role=\"tabpanel\"\n tabIndex={isActive ? 0 : -1}\n aria-labelledby={state?.tabId}\n >\n {(!state?.isLazy || isActive) && children}\n </div>\n );\n },\n);\nProgressTrackerStepPanel.displayName = COMPONENT_NAME;\nProgressTrackerStepPanel.className = CLASSNAME;\nProgressTrackerStepPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["DEFAULT_PROPS","isLazy","INIT_STATE","shouldActivateOnFocus","ProgressTrackerProvider","props","children","onChange","propState","_objectWithoutProperties","_excluded","state","dispatch","useReducer","reducer","useEffect","type","payload","_objectSpread","activeTabIndex","activeStepIndex","Object","values","React","createElement","TabProviderContext","Provider","value","defaultProps","COMPONENT_NAME","CLASSNAME","getRootClassName","ProgressTracker","forwardRef","ref","_state$ids","_state$ids$tab","ariaLabel","className","forwardedProps","stepListRef","useRef","useRovingTabIndex","parentRef","elementSelector","keepTabIndex","extraDependencies","useTabProviderContextState","numberOfSteps","ids","tab","length","backgroundPosition","trackPosition","_extends","mergeRefs","classNames","handleBasicClasses","prefix","role","style","left","right","transform","displayName","ProgressTrackerStep","disabled","hasError","helper","id","isActive","propIsActive","isComplete","isDisabled","label","onFocus","onKeyPress","tabIndex","useTabProviderContext","changeToCurrentTab","useCallback","changeToTab","handleFocus","event","handleKeyPress","key","getIcon","mdiCheckCircle","mdiAlertCircle","mdiRadioboxMarked","mdiRadioboxBlank","tabId","isClickable","onClick","tabPanelId","Icon","icon","size","Size","s","InputLabel","htmlFor","InputHelper","kind","Kind","error","info","CSS_PREFIX","ProgressTrackerStepPanel"],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { l as GenericProps, O as Orientation, A as Alignment, C as Comp, S as Size } from './28b656e3.js';
|
|
2
|
+
|
|
3
|
+
declare type GridGutterSize = Extract<Size, 'regular' | 'big' | 'huge'>;
|
|
4
|
+
/**
|
|
5
|
+
* Defines the props of the component.
|
|
6
|
+
*/
|
|
7
|
+
interface GridProps extends GenericProps {
|
|
8
|
+
/** Orientation. */
|
|
9
|
+
orientation?: Orientation;
|
|
10
|
+
/** Whether the children are wrapped or not. */
|
|
11
|
+
wrap?: string;
|
|
12
|
+
/** Vertical alignment. */
|
|
13
|
+
vAlign?: Alignment;
|
|
14
|
+
/** Horizontal alignment. */
|
|
15
|
+
hAlign?: Alignment;
|
|
16
|
+
/** Gutter size. */
|
|
17
|
+
gutter?: GridGutterSize;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Grid component.
|
|
21
|
+
*
|
|
22
|
+
* @param props Component props.
|
|
23
|
+
* @param ref Component ref.
|
|
24
|
+
* @return React element.
|
|
25
|
+
*/
|
|
26
|
+
declare const Grid: Comp<GridProps, HTMLDivElement>;
|
|
27
|
+
|
|
28
|
+
declare type Columns = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';
|
|
29
|
+
/**
|
|
30
|
+
* Defines the props of the component.
|
|
31
|
+
*/
|
|
32
|
+
interface GridItemProps extends GenericProps {
|
|
33
|
+
/** Alignment. */
|
|
34
|
+
align?: Alignment;
|
|
35
|
+
/** Order. */
|
|
36
|
+
order?: Columns;
|
|
37
|
+
/** Width. */
|
|
38
|
+
width?: Columns;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* GridItem component.
|
|
42
|
+
*
|
|
43
|
+
* @param props Component props.
|
|
44
|
+
* @param ref Component ref.
|
|
45
|
+
* @return React element.
|
|
46
|
+
*/
|
|
47
|
+
declare const GridItem: Comp<GridItemProps, HTMLDivElement>;
|
|
48
|
+
|
|
49
|
+
export { GridProps as G, Grid as a, GridItemProps as b, GridItem as c };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { C as Comp } from './28b656e3.js';
|
|
3
|
+
import { B as BaseButtonProps } from './7c07908e.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Button emphasis definition.
|
|
7
|
+
* @deprecated Use Emphasis instead.
|
|
8
|
+
*/
|
|
9
|
+
declare const ButtonEmphasis: {
|
|
10
|
+
readonly low: "low";
|
|
11
|
+
readonly medium: "medium";
|
|
12
|
+
readonly high: "high";
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Defines the props of the component.
|
|
16
|
+
*/
|
|
17
|
+
interface ButtonProps extends BaseButtonProps {
|
|
18
|
+
/** Button content. */
|
|
19
|
+
children?: ReactNode;
|
|
20
|
+
/** Left icon (SVG path). */
|
|
21
|
+
leftIcon?: string;
|
|
22
|
+
/** Right icon (SVG path). */
|
|
23
|
+
rightIcon?: string;
|
|
24
|
+
/** When `true`, the button gets as large as possible. */
|
|
25
|
+
fullWidth?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Button component.
|
|
29
|
+
*
|
|
30
|
+
* @param props Component props.
|
|
31
|
+
* @param ref Component ref.
|
|
32
|
+
* @return React element.
|
|
33
|
+
*/
|
|
34
|
+
declare const Button: Comp<ButtonProps, HTMLButtonElement | HTMLAnchorElement>;
|
|
35
|
+
|
|
36
|
+
export { ButtonEmphasis as B, ButtonProps as a, Button as b };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { SyntheticEvent, InputHTMLAttributes } from 'react';
|
|
2
|
+
import { l as GenericProps, q as HasTheme, A as Alignment, C as Comp } from './28b656e3.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Defines the props of the component.
|
|
6
|
+
*/
|
|
7
|
+
interface SwitchProps extends GenericProps, HasTheme {
|
|
8
|
+
/** Helper text. */
|
|
9
|
+
helper?: string;
|
|
10
|
+
/** Whether it is checked or not. */
|
|
11
|
+
isChecked?: boolean;
|
|
12
|
+
/** Whether the component is disabled or not. */
|
|
13
|
+
isDisabled?: boolean;
|
|
14
|
+
/** Native input name property. */
|
|
15
|
+
name?: string;
|
|
16
|
+
/** Position of the switch relative to the label. */
|
|
17
|
+
position?: Extract<Alignment, 'right' | 'left'>;
|
|
18
|
+
/** Native input value property. */
|
|
19
|
+
value?: string;
|
|
20
|
+
/** On change callback. */
|
|
21
|
+
onChange?(isChecked: boolean, value?: string, name?: string, event?: SyntheticEvent): void;
|
|
22
|
+
/** optional props for input */
|
|
23
|
+
inputProps?: InputHTMLAttributes<HTMLInputElement>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Switch component.
|
|
27
|
+
*
|
|
28
|
+
* @param props Component props.
|
|
29
|
+
* @param ref Component ref.
|
|
30
|
+
* @return React element.
|
|
31
|
+
*/
|
|
32
|
+
declare const Switch: Comp<SwitchProps, HTMLDivElement>;
|
|
33
|
+
|
|
34
|
+
export { SwitchProps as S, Switch as a };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { T as ThumbnailProps } from './a07fe032.js';
|
|
3
|
+
|
|
4
|
+
declare const useFocusPointStyle: ({ image, aspectRatio, focusPoint, imgProps: { width, height } }: ThumbnailProps, element: HTMLImageElement | undefined, isLoaded: boolean) => CSSProperties;
|
|
5
|
+
|
|
6
|
+
export { useFocusPointStyle as u };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { l as GenericProps, q as HasTheme, C as Comp } from './28b656e3.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Defines the props of the component.
|
|
5
|
+
*/
|
|
6
|
+
interface DragHandleProps extends GenericProps, HasTheme {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* DragHandle component.
|
|
10
|
+
*
|
|
11
|
+
* @param props Component props.
|
|
12
|
+
* @param ref Component ref.
|
|
13
|
+
* @return React element.
|
|
14
|
+
*/
|
|
15
|
+
declare const DragHandle: Comp<DragHandleProps, HTMLDivElement>;
|
|
16
|
+
|
|
17
|
+
export { DragHandleProps as D, DragHandle as a };
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { j as _objectSpread2 } from './35c3a78f.js';
|
|
2
|
+
import { createContext, useContext, useMemo, useEffect, useCallback } from 'react';
|
|
3
|
+
import { u as uid } from './fc608bd9.js';
|
|
4
|
+
|
|
5
|
+
const INIT_STATE = {
|
|
6
|
+
isLazy: true,
|
|
7
|
+
shouldActivateOnFocus: false,
|
|
8
|
+
activeTabIndex: 0,
|
|
9
|
+
ids: {
|
|
10
|
+
tab: [],
|
|
11
|
+
tabPanel: []
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const reducer = (state, action) => {
|
|
15
|
+
switch (action.type) {
|
|
16
|
+
case 'update':
|
|
17
|
+
return _objectSpread2(_objectSpread2({}, state), action.payload);
|
|
18
|
+
case 'setActiveTabIndex':
|
|
19
|
+
{
|
|
20
|
+
if (state.activeTabIndex === action.payload) {
|
|
21
|
+
return state;
|
|
22
|
+
}
|
|
23
|
+
// Change active tab index.
|
|
24
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
25
|
+
activeTabIndex: action.payload
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
case 'register':
|
|
29
|
+
{
|
|
30
|
+
const {
|
|
31
|
+
type,
|
|
32
|
+
id
|
|
33
|
+
} = action.payload;
|
|
34
|
+
// Append tab/tabPanel id in state.
|
|
35
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
36
|
+
ids: _objectSpread2(_objectSpread2({}, state.ids), {}, {
|
|
37
|
+
[type]: [...state.ids[type], id]
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
case 'unregister':
|
|
42
|
+
{
|
|
43
|
+
const {
|
|
44
|
+
type,
|
|
45
|
+
id
|
|
46
|
+
} = action.payload;
|
|
47
|
+
const index = state.ids[type].indexOf(id);
|
|
48
|
+
if (index === -1) return state;
|
|
49
|
+
// Remove tab & tab panel at index.
|
|
50
|
+
const tabIds = [...state.ids.tab];
|
|
51
|
+
tabIds.splice(index, 1);
|
|
52
|
+
const tabPanelIds = [...state.ids.tabPanel];
|
|
53
|
+
tabPanelIds.splice(index, 1);
|
|
54
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
55
|
+
ids: {
|
|
56
|
+
tab: tabIds,
|
|
57
|
+
tabPanel: tabPanelIds
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
default:
|
|
62
|
+
return state;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const TabProviderContext = /*#__PURE__*/createContext(null);
|
|
66
|
+
/* eslint-disable react-hooks/rules-of-hooks */
|
|
67
|
+
const useTabProviderContext = (type, originalId) => {
|
|
68
|
+
const context = useContext(TabProviderContext);
|
|
69
|
+
if (!context) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
const [state, dispatch] = context;
|
|
73
|
+
|
|
74
|
+
// Current tab or tab panel id.
|
|
75
|
+
const id = useMemo(() => originalId || `${type}-${uid()}`,
|
|
76
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77
|
+
[]);
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
// On mount: register tab or tab panel id.
|
|
80
|
+
dispatch({
|
|
81
|
+
type: 'register',
|
|
82
|
+
payload: {
|
|
83
|
+
type,
|
|
84
|
+
id
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
return () => {
|
|
88
|
+
// On unmount: unregister tab or tab panel id.
|
|
89
|
+
dispatch({
|
|
90
|
+
type: 'unregister',
|
|
91
|
+
payload: {
|
|
92
|
+
type,
|
|
93
|
+
id
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
99
|
+
[]);
|
|
100
|
+
|
|
101
|
+
// Find tab/tabPanel index using it's id.
|
|
102
|
+
const index = useMemo(() => state.ids[type].indexOf(id), [state.ids, type, id]);
|
|
103
|
+
const tabId = useMemo(() => state.ids.tab[index] || '', [state, index]);
|
|
104
|
+
const tabPanelId = useMemo(() => state.ids.tabPanel[index] || '', [state, index]);
|
|
105
|
+
const isActive = useMemo(() => state.activeTabIndex === index, [state, index]);
|
|
106
|
+
const changeToTab = useCallback(() => dispatch({
|
|
107
|
+
type: 'setActiveTabIndex',
|
|
108
|
+
payload: index
|
|
109
|
+
}), [dispatch, index]);
|
|
110
|
+
return {
|
|
111
|
+
isLazy: state.isLazy,
|
|
112
|
+
shouldActivateOnFocus: state.shouldActivateOnFocus,
|
|
113
|
+
tabId,
|
|
114
|
+
tabPanelId,
|
|
115
|
+
isActive,
|
|
116
|
+
changeToTab
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
const useTabProviderContextState = () => {
|
|
120
|
+
const context = useContext(TabProviderContext);
|
|
121
|
+
return context === null || context === void 0 ? void 0 : context[0];
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export { INIT_STATE as I, TabProviderContext as T, useTabProviderContext as a, reducer as r, useTabProviderContextState as u };
|
|
125
|
+
//# sourceMappingURL=df1fde7b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"df1fde7b.js","sources":["../../src/components/tabs/state.ts"],"sourcesContent":["import { Dispatch, createContext, useCallback, useContext, useEffect, useMemo } from 'react';\nimport { uid } from 'uid';\n\ntype TabType = 'tab' | 'tabPanel';\n\nexport interface State {\n isLazy: boolean;\n shouldActivateOnFocus: boolean;\n activeTabIndex: number;\n ids: Record<TabType, string[]>;\n}\n\nexport const INIT_STATE: State = {\n isLazy: true,\n shouldActivateOnFocus: false,\n activeTabIndex: 0,\n ids: { tab: [], tabPanel: [] },\n};\n\nexport type Action =\n | { type: 'update'; payload: Partial<State> }\n | { type: 'setActiveTabIndex'; payload: number }\n | { type: 'register'; payload: { type: TabType; id: string } }\n | { type: 'unregister'; payload: { type: TabType; id: string } };\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'update':\n return { ...state, ...action.payload };\n case 'setActiveTabIndex': {\n if (state.activeTabIndex === action.payload) {\n return state;\n }\n // Change active tab index.\n return { ...state, activeTabIndex: action.payload };\n }\n case 'register': {\n const { type, id } = action.payload;\n // Append tab/tabPanel id in state.\n return { ...state, ids: { ...state.ids, [type]: [...state.ids[type], id] } };\n }\n case 'unregister': {\n const { type, id } = action.payload;\n const index = state.ids[type].indexOf(id);\n if (index === -1) return state;\n // Remove tab & tab panel at index.\n const tabIds = [...state.ids.tab];\n tabIds.splice(index, 1);\n const tabPanelIds = [...state.ids.tabPanel];\n tabPanelIds.splice(index, 1);\n return {\n ...state,\n ids: { tab: tabIds, tabPanel: tabPanelIds },\n };\n }\n default:\n return state;\n }\n};\n\nexport const TabProviderContext = createContext<[State, Dispatch<Action>] | null>(null);\n\nexport type TabState = Pick<Required<State>, 'isLazy' | 'shouldActivateOnFocus'> & {\n isActive: boolean;\n tabId: string;\n tabPanelId: string;\n changeToTab(): void;\n};\n\n/* eslint-disable react-hooks/rules-of-hooks */\nexport const useTabProviderContext = (type: TabType, originalId?: string): undefined | TabState => {\n const context = useContext(TabProviderContext);\n if (!context) {\n return undefined;\n }\n const [state, dispatch] = context;\n\n // Current tab or tab panel id.\n const id = useMemo(\n () => originalId || `${type}-${uid()}`,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n useEffect(\n () => {\n // On mount: register tab or tab panel id.\n dispatch({ type: 'register', payload: { type, id } });\n return () => {\n // On unmount: unregister tab or tab panel id.\n dispatch({ type: 'unregister', payload: { type, id } });\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n // Find tab/tabPanel index using it's id.\n const index = useMemo(() => state.ids[type].indexOf(id), [state.ids, type, id]);\n const tabId = useMemo(() => state.ids.tab[index] || '', [state, index]);\n const tabPanelId = useMemo(() => state.ids.tabPanel[index] || '', [state, index]);\n const isActive = useMemo(() => state.activeTabIndex === index, [state, index]);\n const changeToTab = useCallback(() => dispatch({ type: 'setActiveTabIndex', payload: index }), [dispatch, index]);\n return {\n isLazy: state.isLazy,\n shouldActivateOnFocus: state.shouldActivateOnFocus,\n tabId,\n tabPanelId,\n isActive,\n changeToTab,\n };\n};\n\nexport const useTabProviderContextState = (): State | undefined => {\n const context = useContext(TabProviderContext);\n return context?.[0];\n};\n"],"names":["INIT_STATE","isLazy","shouldActivateOnFocus","activeTabIndex","ids","tab","tabPanel","reducer","state","action","type","_objectSpread","payload","id","index","indexOf","tabIds","splice","tabPanelIds","TabProviderContext","createContext","useTabProviderContext","originalId","context","useContext","undefined","dispatch","useMemo","uid","useEffect","tabId","tabPanelId","isActive","changeToTab","useCallback","useTabProviderContextState"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { l as GenericProps, q as HasTheme, b as ColorPalette, C as Comp } from './28b656e3.js';
|
|
2
|
+
|
|
3
|
+
interface FlagProps extends GenericProps, HasTheme {
|
|
4
|
+
/** Color of the component. */
|
|
5
|
+
color?: ColorPalette;
|
|
6
|
+
/** Icon to use before the label. */
|
|
7
|
+
icon?: string;
|
|
8
|
+
/** Text label of the flag. */
|
|
9
|
+
label: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Flag component.
|
|
13
|
+
*
|
|
14
|
+
* @param props Component props.
|
|
15
|
+
* @param ref Component ref.
|
|
16
|
+
* @return React element.
|
|
17
|
+
*/
|
|
18
|
+
declare const Flag: Comp<FlagProps, HTMLDivElement>;
|
|
19
|
+
|
|
20
|
+
export { FlagProps as F, Flag as a };
|