@indico-data/design-system 3.19.0 → 3.20.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/.eslintrc.js +87 -2
- package/.husky/pre-commit +2 -0
- package/.vscode/settings.json +10 -1
- package/lib/components/badge/Badge.d.ts +1 -1
- package/lib/components/badge/Badge.stories.d.ts +1 -1
- package/lib/components/button/Button.d.ts +2 -2
- package/lib/components/button/Button.stories.d.ts +1 -1
- package/lib/components/button/types.d.ts +1 -1
- package/lib/components/card/Card.d.ts +1 -1
- package/lib/components/card/Card.stories.d.ts +1 -1
- package/lib/components/floatUI/FloatUI.d.ts +1 -1
- package/lib/components/floatUI/FloatUI.stories.d.ts +2 -2
- package/lib/components/floatUI/types.d.ts +2 -2
- package/lib/components/forms/checkbox/Checkbox.stories.d.ts +1 -1
- package/lib/components/forms/date/datePicker/DatePicker.d.ts +1 -1
- package/lib/components/forms/date/datePicker/DatePicker.stories.d.ts +1 -1
- package/lib/components/forms/date/datePicker/contants.d.ts +1 -1
- package/lib/components/forms/date/datePicker/types.d.ts +1 -1
- package/lib/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.d.ts +5 -5
- package/lib/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.stories.d.ts +1 -1
- package/lib/components/forms/date/inputDatePicker/SingleInputDatePicker.d.ts +2 -2
- package/lib/components/forms/date/inputDatePicker/SingleInputDatePicker.stories.d.ts +1 -1
- package/lib/components/forms/date/inputDateRangePicker/InputDateRangePicker.d.ts +5 -5
- package/lib/components/forms/date/inputDateRangePicker/InputDateRangePicker.stories.d.ts +1 -1
- package/lib/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.d.ts +2 -2
- package/lib/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.stories.d.ts +1 -1
- package/lib/components/forms/form/Form.d.ts +1 -1
- package/lib/components/forms/form/Form.stories.d.ts +1 -1
- package/lib/components/forms/input/Input.d.ts +2 -2
- package/lib/components/forms/input/Input.stories.d.ts +1 -1
- package/lib/components/forms/numberInput/NumberInput.d.ts +2 -2
- package/lib/components/forms/numberInput/NumberInput.stories.d.ts +1 -1
- package/lib/components/forms/passwordInput/PasswordInput.d.ts +1 -1
- package/lib/components/forms/passwordInput/PasswordInput.stories.d.ts +1 -1
- package/lib/components/forms/radio/Radio.stories.d.ts +1 -1
- package/lib/components/forms/select/Select.d.ts +2 -2
- package/lib/components/forms/select/Select.stories.d.ts +4 -4
- package/lib/components/forms/select/types.d.ts +2 -2
- package/lib/components/forms/subcomponents/Label.d.ts +2 -2
- package/lib/components/forms/textarea/Textarea.d.ts +1 -1
- package/lib/components/forms/textarea/Textarea.stories.d.ts +1 -1
- package/lib/components/forms/timePicker/TimePicker.d.ts +1 -1
- package/lib/components/forms/toggle/Toggle.stories.d.ts +1 -1
- package/lib/components/grid/col/Col.d.ts +1 -1
- package/lib/components/grid/col/Col.stories.d.ts +1 -1
- package/lib/components/grid/container/Container.d.ts +1 -1
- package/lib/components/grid/container/Container.stories.d.ts +1 -1
- package/lib/components/grid/row/Row.d.ts +1 -1
- package/lib/components/grid/row/Row.stories.d.ts +1 -1
- package/lib/components/icons/Icon.d.ts +1 -1
- package/lib/components/icons/Icon.stories.d.ts +2 -2
- package/lib/components/icons/indicons.d.ts +1 -1
- package/lib/components/icons/types.d.ts +4 -4
- package/lib/components/loading-indicators/BarSpinner/BarSpinner.stories.d.ts +1 -1
- package/lib/components/loading-indicators/CirclePulse/CirclePulse.stories.d.ts +1 -1
- package/lib/components/menu/Menu.stories.d.ts +2 -2
- package/lib/components/modal/ConfirmationModal.d.ts +1 -1
- package/lib/components/modal/Modal.d.ts +1 -1
- package/lib/components/modal/Modal.stories.d.ts +2 -2
- package/lib/components/modal/types.d.ts +2 -2
- package/lib/components/pagination/Pagination.d.ts +1 -1
- package/lib/components/pagination/Pagination.stories.d.ts +1 -1
- package/lib/components/pill/Pill.d.ts +1 -1
- package/lib/components/pill/Pill.stories.d.ts +1 -1
- package/lib/components/pill/types.d.ts +2 -2
- package/lib/components/skeleton/Skeleton.stories.d.ts +1 -1
- package/lib/components/stepper/Stepper.d.ts +1 -1
- package/lib/components/stepper/Stepper.stories.d.ts +1 -1
- package/lib/components/stepper/components/Legend.d.ts +1 -1
- package/lib/components/stepper/types.d.ts +1 -1
- package/lib/components/table/Table.d.ts +1 -1
- package/lib/components/table/Table.stories.d.ts +2 -2
- package/lib/components/table/components/HorizontalStickyHeader.d.ts +1 -1
- package/lib/components/table/components/helpers.d.ts +1 -1
- package/lib/components/table/hooks/usePinnedColumnsManager.d.ts +1 -1
- package/lib/components/table/sampleData.d.ts +1 -1
- package/lib/components/table/types.d.ts +2 -2
- package/lib/components/table/utils/processColumns.d.ts +1 -1
- package/lib/components/tanstackTable/TankstackTable.types.d.ts +1 -1
- package/lib/components/tanstackTable/TanstackTable.d.ts +1 -1
- package/lib/components/tanstackTable/TanstackTable.stories.d.ts +2 -2
- package/lib/components/tanstackTable/__tests__/__mocks__/test-mock-data.d.ts +1 -1
- package/lib/components/tanstackTable/components/ActionBar/ActionBar.d.ts +2 -2
- package/lib/components/tanstackTable/components/ActionBar/ActionBar.stories.d.ts +1 -1
- package/lib/components/tanstackTable/components/TableBody/TableBody.d.ts +1 -1
- package/lib/components/tanstackTable/components/TableHeader/TableHeader.d.ts +1 -1
- package/lib/components/tanstackTable/components/TableLoading/TableLoading.d.ts +1 -1
- package/lib/components/tanstackTable/components/TablePagination/TablePagination.d.ts +1 -1
- package/lib/components/tanstackTable/docs/internalSorting/InternalClientSideSorting.stories.d.ts +2 -2
- package/lib/components/tanstackTable/docs/pinnedColumns/PinnedColumn.stories.d.ts +2 -2
- package/lib/components/tanstackTable/docs/withRowClick/WithRowClick.stories.d.ts +2 -2
- package/lib/components/tanstackTable/helpers.d.ts +2 -2
- package/lib/components/tanstackTable/mock-data/table-configuration.d.ts +2 -2
- package/lib/components/tanstackTable/useTanstackTable.d.ts +1 -1
- package/lib/components/toast/Toast.stories.d.ts +1 -1
- package/lib/components/tooltip/Tooltip.d.ts +2 -2
- package/lib/components/tooltip/Tooltip.stories.d.ts +1 -1
- package/lib/components/truncate/Truncate.d.ts +1 -1
- package/lib/components/truncate/Truncate.stories.d.ts +2 -2
- package/lib/components/truncate/types.d.ts +1 -1
- package/lib/docs/BaseColorPalette/BaseColorsPalette.stories.d.ts +1 -1
- package/lib/docs/SemanticTokens/ColorSwatch.d.ts +1 -1
- package/lib/docs/SemanticTokens/SemanticTokens.stories.d.ts +1 -1
- package/lib/index.d.ts +45 -45
- package/lib/index.esm.js +137 -124
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +137 -124
- package/lib/index.js.map +1 -1
- package/lib/setup/setupIcons.d.ts +1 -1
- package/lib/storybook/formArgTypes.d.ts +1 -1
- package/lib/stylesAndAnimations/borders/BorderColor.stories.d.ts +1 -1
- package/lib/stylesAndAnimations/borders/BorderRadius.stories.d.ts +1 -1
- package/lib/stylesAndAnimations/borders/BorderStyles.stories.d.ts +1 -1
- package/lib/stylesAndAnimations/borders/BorderThickness.stories.d.ts +1 -1
- package/lib/stylesAndAnimations/colors/UtilityClasses.stories.d.ts +1 -1
- package/lib/stylesAndAnimations/sizing/Sizing.stories.d.ts +1 -1
- package/lib/stylesAndAnimations/typography/Typography.stories.d.ts +1 -1
- package/lib/stylesAndAnimations/utilityClasses/UtilityClassesTable.stories.d.ts +1 -1
- package/lib/types.d.ts +4 -4
- package/package.json +8 -2
- package/src/components/badge/Badge.stories.tsx +4 -3
- package/src/components/badge/Badge.tsx +2 -1
- package/src/components/badge/__tests__/Badge.test.tsx +1 -0
- package/src/components/button/Button.stories.tsx +5 -4
- package/src/components/button/Button.tsx +8 -4
- package/src/components/button/__tests__/Button.test.tsx +1 -0
- package/src/components/button/types.ts +1 -1
- package/src/components/card/Card.stories.tsx +2 -1
- package/src/components/card/Card.tsx +2 -1
- package/src/components/card/__tests__/Card.test.tsx +1 -0
- package/src/components/floatUI/FloatUI.stories.tsx +3 -2
- package/src/components/floatUI/FloatUI.tsx +6 -7
- package/src/components/floatUI/__tests__/FloatUI.test.tsx +5 -3
- package/src/components/floatUI/types.ts +2 -2
- package/src/components/forms/checkbox/Checkbox.stories.tsx +3 -2
- package/src/components/forms/checkbox/Checkbox.tsx +1 -1
- package/src/components/forms/checkbox/__tests__/Checkbox.test.tsx +2 -1
- package/src/components/forms/date/datePicker/DatePicker.stories.tsx +2 -1
- package/src/components/forms/date/datePicker/DatePicker.tsx +27 -24
- package/src/components/forms/date/datePicker/__tests__/DatePicker.test.tsx +1 -0
- package/src/components/forms/date/datePicker/contants.ts +1 -1
- package/src/components/forms/date/datePicker/types.ts +8 -8
- package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.stories.tsx +6 -2
- package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.tsx +10 -8
- package/src/components/forms/date/iconTriggerDatePicker/__tests__/IconTriggerDatePicker.test.tsx +2 -1
- package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.stories.tsx +4 -2
- package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.tsx +14 -10
- package/src/components/forms/date/inputDatePicker/__tests__/SingleInputDatePicker.test.tsx +2 -2
- package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.stories.tsx +5 -4
- package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.tsx +16 -22
- package/src/components/forms/date/inputDateRangePicker/__tests__/InputDateRangePicker.test.tsx +2 -2
- package/src/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.stories.tsx +9 -5
- package/src/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.tsx +15 -11
- package/src/components/forms/form/Form.stories.tsx +7 -6
- package/src/components/forms/form/Form.tsx +1 -1
- package/src/components/forms/form/__tests__/Form.test.tsx +7 -4
- package/src/components/forms/input/Input.stories.tsx +6 -3
- package/src/components/forms/input/Input.tsx +3 -3
- package/src/components/forms/input/__tests__/Input.test.tsx +5 -3
- package/src/components/forms/numberInput/NumberInput.stories.tsx +5 -2
- package/src/components/forms/numberInput/NumberInput.tsx +5 -3
- package/src/components/forms/numberInput/__tests__/NumberInput.test.tsx +2 -1
- package/src/components/forms/passwordInput/PasswordInput.stories.tsx +6 -3
- package/src/components/forms/passwordInput/PasswordInput.tsx +5 -2
- package/src/components/forms/passwordInput/__tests__/PasswordInput.test.tsx +3 -4
- package/src/components/forms/radio/Radio.stories.tsx +5 -2
- package/src/components/forms/radio/__tests__/Radio.test.tsx +3 -2
- package/src/components/forms/select/Select.stories.tsx +5 -4
- package/src/components/forms/select/Select.tsx +7 -6
- package/src/components/forms/select/__tests__/Select.test.tsx +2 -2
- package/src/components/forms/select/types.ts +3 -2
- package/src/components/forms/subcomponents/Label.tsx +5 -2
- package/src/components/forms/subcomponents/__tests__/Label.test.tsx +1 -0
- package/src/components/forms/textarea/Textarea.stories.tsx +5 -2
- package/src/components/forms/textarea/Textarea.tsx +4 -4
- package/src/components/forms/textarea/__tests__/Textarea.test.tsx +3 -3
- package/src/components/forms/timePicker/TimePicker.stories.tsx +4 -2
- package/src/components/forms/timePicker/TimePicker.tsx +6 -5
- package/src/components/forms/timePicker/__tests__/TimePicker.test.tsx +2 -1
- package/src/components/forms/toggle/Toggle.stories.tsx +3 -2
- package/src/components/forms/toggle/__tests__/Toggle.test.tsx +3 -2
- package/src/components/grid/col/Col.stories.tsx +2 -1
- package/src/components/grid/col/Col.tsx +1 -1
- package/src/components/grid/container/Container.stories.tsx +2 -1
- package/src/components/grid/container/Container.tsx +1 -1
- package/src/components/grid/row/Row.stories.tsx +2 -1
- package/src/components/grid/row/Row.tsx +1 -1
- package/src/components/icons/Icon.stories.tsx +11 -4
- package/src/components/icons/Icon.tsx +4 -3
- package/src/components/icons/__tests__/Icon.test.tsx +1 -0
- package/src/components/icons/indicons.tsx +3 -3
- package/src/components/icons/types.ts +5 -4
- package/src/components/loading-indicators/BarSpinner/BarSpinner.stories.tsx +2 -1
- package/src/components/loading-indicators/BarSpinner/__tests__/BarSpinner.test.tsx +1 -0
- package/src/components/loading-indicators/CirclePulse/CirclePulse.stories.tsx +2 -1
- package/src/components/menu/Menu.stories.tsx +3 -2
- package/src/components/menu/Menu.test.tsx +1 -1
- package/src/components/menu/Menu.tsx +1 -1
- package/src/components/modal/ConfirmationModal.tsx +7 -5
- package/src/components/modal/Modal.stories.tsx +9 -6
- package/src/components/modal/Modal.tsx +2 -1
- package/src/components/modal/__tests__/Modal.test.tsx +1 -0
- package/src/components/modal/types.ts +2 -2
- package/src/components/pagination/Pagination.stories.tsx +3 -2
- package/src/components/pagination/Pagination.tsx +5 -4
- package/src/components/pagination/__tests__/Pagination.test.tsx +1 -0
- package/src/components/pill/Pill.stories.tsx +10 -6
- package/src/components/pill/Pill.tsx +2 -1
- package/src/components/pill/__tests__/Pill.test.tsx +4 -1
- package/src/components/pill/types.ts +4 -2
- package/src/components/skeleton/Skeleton.stories.tsx +2 -1
- package/src/components/skeleton/__tests__/Skeleton.test.tsx +1 -0
- package/src/components/stepper/Stepper.stories.tsx +9 -7
- package/src/components/stepper/Stepper.tsx +3 -2
- package/src/components/stepper/__tests__/Stepper.tests.tsx +5 -4
- package/src/components/stepper/components/Legend.tsx +4 -3
- package/src/components/stepper/examples/MixedExample.tsx +4 -3
- package/src/components/stepper/examples/OptionalStepsExample.tsx +4 -3
- package/src/components/stepper/examples/RequiredStepsExample.tsx +4 -3
- package/src/components/stepper/examples/commonExample/CommonExample.tsx +4 -3
- package/src/components/stepper/examples/commonExample/steps/StepOne.tsx +1 -0
- package/src/components/stepper/examples/commonExample/steps/StepThree.tsx +1 -0
- package/src/components/stepper/examples/commonExample/steps/StepTwo.tsx +1 -0
- package/src/components/stepper/types.ts +1 -1
- package/src/components/table/Table.stories.tsx +9 -5
- package/src/components/table/Table.tsx +5 -4
- package/src/components/table/__tests__/Table.test.tsx +2 -1
- package/src/components/table/components/HorizontalStickyHeader.tsx +3 -2
- package/src/components/table/components/TablePagination.tsx +1 -1
- package/src/components/table/components/__tests__/HorizontalStickyHeader.test.tsx +3 -3
- package/src/components/table/components/__tests__/TablePagination.test.tsx +1 -0
- package/src/components/table/components/helpers.ts +1 -1
- package/src/components/table/hooks/usePinnedColumnsManager.ts +6 -2
- package/src/components/table/sampleData.tsx +1 -3
- package/src/components/table/types.ts +5 -6
- package/src/components/table/utils/processColumns.tsx +2 -2
- package/src/components/tanstackTable/TankstackTable.types.ts +1 -1
- package/src/components/tanstackTable/TanstackTable.stories.tsx +6 -5
- package/src/components/tanstackTable/TanstackTable.tsx +8 -8
- package/src/components/tanstackTable/__tests__/TanstackTable.test.tsx +2 -1
- package/src/components/tanstackTable/__tests__/__mocks__/test-mock-data.tsx +2 -1
- package/src/components/tanstackTable/components/ActionBar/ActionBar.stories.tsx +6 -3
- package/src/components/tanstackTable/components/ActionBar/ActionBar.tsx +7 -3
- package/src/components/tanstackTable/components/ActionBar/__tests__/ActionBar.test.tsx +4 -1
- package/src/components/tanstackTable/components/NoResults/__tests__/NoResult.test.tsx +1 -0
- package/src/components/tanstackTable/components/TableBody/TableBody.tsx +2 -1
- package/src/components/tanstackTable/components/TableHeader/TableHeader.tsx +3 -2
- package/src/components/tanstackTable/components/TableLoading/TableLoading.tsx +2 -1
- package/src/components/tanstackTable/components/TablePagination/TablePagination.tsx +1 -1
- package/src/components/tanstackTable/components/TablePagination/__tests__/TablePagination.test.tsx +1 -0
- package/src/components/tanstackTable/docs/internalSorting/InternalClientSideSorting.stories.tsx +5 -5
- package/src/components/tanstackTable/docs/pinnedColumns/PinnedColumn.stories.tsx +5 -4
- package/src/components/tanstackTable/docs/withRowClick/WithRowClick.stories.tsx +5 -4
- package/src/components/tanstackTable/helpers.ts +2 -2
- package/src/components/tanstackTable/mock-data/table-configuration.tsx +7 -4
- package/src/components/tanstackTable/useTanstackTable.tsx +1 -2
- package/src/components/toast/Toast.stories.tsx +2 -1
- package/src/components/tooltip/Tooltip.stories.tsx +3 -2
- package/src/components/tooltip/Tooltip.tsx +2 -2
- package/src/components/truncate/Truncate.stories.tsx +3 -2
- package/src/components/truncate/Truncate.tsx +5 -4
- package/src/components/truncate/__tests__/Truncate.test.tsx +1 -0
- package/src/components/truncate/types.ts +1 -1
- package/src/docs/BaseColorPalette/BaseColorPalette.tsx +1 -0
- package/src/docs/BaseColorPalette/BaseColorsPalette.stories.tsx +2 -1
- package/src/docs/BaseColorPalette/Swatch.tsx +2 -1
- package/src/docs/SemanticTokens/ColorSwatch.tsx +1 -1
- package/src/docs/SemanticTokens/SemanticTokens.stories.tsx +2 -2
- package/src/setup/setupIcons.ts +2 -2
- package/src/storybook/formArgTypes.ts +2 -1
- package/src/storybook/iconNames.ts +1 -0
- package/src/stylesAndAnimations/borders/BorderColor.stories.tsx +2 -1
- package/src/stylesAndAnimations/borders/BorderColor.tsx +0 -1
- package/src/stylesAndAnimations/borders/BorderRadius.stories.tsx +2 -1
- package/src/stylesAndAnimations/borders/BorderRadius.tsx +0 -1
- package/src/stylesAndAnimations/borders/BorderStyles.stories.tsx +2 -1
- package/src/stylesAndAnimations/borders/BorderStyles.tsx +0 -1
- package/src/stylesAndAnimations/borders/BorderThickness.stories.tsx +2 -1
- package/src/stylesAndAnimations/borders/BorderThickness.tsx +0 -1
- package/src/stylesAndAnimations/colors/UtilityClasses.stories.tsx +2 -1
- package/src/stylesAndAnimations/colors/UtilityClasses.tsx +1 -2
- package/src/stylesAndAnimations/sizing/Sizing.stories.tsx +2 -1
- package/src/stylesAndAnimations/sizing/Sizing.tsx +0 -1
- package/src/stylesAndAnimations/typography/Typography.stories.tsx +2 -1
- package/src/stylesAndAnimations/typography/Typography.tsx +0 -1
- package/src/stylesAndAnimations/utilityClasses/UtilityClassesTable.stories.tsx +2 -1
- package/src/stylesAndAnimations/utilityClasses/UtilityClassesTable.tsx +6 -3
- package/src/types.ts +12 -6
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type IconName as FAIconName, findIconDefinition } from '@fortawesome/fontawesome-svg-core';
|
|
2
2
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
|
|
5
|
+
import { type IconProps } from './types';
|
|
5
6
|
|
|
6
7
|
export const Icon = ({
|
|
7
8
|
name,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { type IconDefinition } from '@fortawesome/fontawesome-svg-core';
|
|
2
|
+
import { type ReactElement } from 'react';
|
|
3
3
|
|
|
4
4
|
const indicons = {
|
|
5
5
|
'indico-o-white': (
|
|
@@ -821,7 +821,7 @@ function indiconToIconDef([name, customIcon]: [string, ReactElement]): IconDefin
|
|
|
821
821
|
throw new Error(`Monotone indicon '${name}' must have a 'd' attribute.`);
|
|
822
822
|
|
|
823
823
|
if (pathElements.length === 2) {
|
|
824
|
-
|
|
824
|
+
const [primary, secondary] = pathElements;
|
|
825
825
|
|
|
826
826
|
if (!primary.props.d || !secondary.props.d)
|
|
827
827
|
throw new Error(`Duotone indicon '${name}' must have 'd' attributes on both paths.`);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { indicons } from './indicons';
|
|
1
|
+
import { type IconName as FAIconName, type IconPrefix } from '@fortawesome/fontawesome-svg-core';
|
|
2
|
+
import { type MouseEventHandler, type CSSProperties } from 'react';
|
|
3
|
+
|
|
4
|
+
import { type indicons } from './indicons';
|
|
5
|
+
import { type PermafrostComponent } from '../../types';
|
|
5
6
|
|
|
6
7
|
export type IconSizes = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
|
|
7
8
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
|
|
1
|
+
import { type Meta, type StoryObj } from '@storybook/react';
|
|
2
|
+
|
|
3
|
+
import { Menu, type MenuProps } from './Menu';
|
|
3
4
|
import { Button } from '../button';
|
|
4
5
|
|
|
5
6
|
const meta: Meta<typeof Menu> = {
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
|
|
4
|
+
import { Modal } from './Modal';
|
|
5
|
+
import { type ConfirmationModalProps, type ConfirmationModalText } from './types';
|
|
1
6
|
import { Button } from '../button/Button';
|
|
2
|
-
import { ButtonVariants } from '../button/types';
|
|
7
|
+
import { type ButtonVariants } from '../button/types';
|
|
3
8
|
import { Checkbox } from '../forms/checkbox/Checkbox';
|
|
4
9
|
import { Col, Row } from '../grid';
|
|
5
10
|
import { Icon } from '../icons/Icon';
|
|
6
|
-
|
|
7
|
-
import { ConfirmationModalProps, ConfirmationModalText } from './types';
|
|
8
|
-
import classNames from 'classnames';
|
|
9
|
-
import { useState } from 'react';
|
|
11
|
+
|
|
10
12
|
|
|
11
13
|
const DEFAULT_TEXT: Required<ConfirmationModalText> = {
|
|
12
14
|
closeButton: 'Close',
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Col, Container, Row } from '../grid';
|
|
1
|
+
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
2
|
+
import { type Meta, type StoryObj } from '@storybook/react';
|
|
4
3
|
import { useState } from 'react';
|
|
5
|
-
|
|
6
|
-
import { registerFontAwesomeIcons } from '@/setup/setupIcons';
|
|
4
|
+
|
|
7
5
|
import { indiconDefinitions } from '@/components/icons/indicons';
|
|
8
|
-
import {
|
|
6
|
+
import { registerFontAwesomeIcons } from '@/setup/setupIcons';
|
|
7
|
+
|
|
9
8
|
import { ConfirmationModal } from './ConfirmationModal';
|
|
9
|
+
import { Modal } from './Modal';
|
|
10
|
+
import { Button } from '../button';
|
|
11
|
+
import { Col, Container, Row } from '../grid';
|
|
12
|
+
|
|
10
13
|
|
|
11
14
|
registerFontAwesomeIcons(...Object.values(fas), ...indiconDefinitions);
|
|
12
15
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
2
|
import ReactModal from 'react-modal';
|
|
3
|
+
|
|
4
|
+
import { type ModalProps, type ModalText } from './types';
|
|
3
5
|
import { Button } from '../button/Button';
|
|
4
6
|
import { Col, Row } from '../grid';
|
|
5
|
-
import { ModalProps, ModalText } from './types';
|
|
6
7
|
|
|
7
8
|
const DEFAULT_TEXT: Required<ModalText> = {
|
|
8
9
|
closeButton: 'Close',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ButtonVariants } from '../button/types';
|
|
2
|
-
import { IconName } from '../icons/types';
|
|
1
|
+
import { type ButtonVariants } from '../button/types';
|
|
2
|
+
import { type IconName } from '../icons/types';
|
|
3
3
|
|
|
4
4
|
/** Customizable text for Modal. */
|
|
5
5
|
export interface ModalText {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
1
|
+
import { type Meta, type StoryObj } from '@storybook/react';
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
|
|
2
4
|
import { Pagination } from './Pagination';
|
|
3
5
|
import { Col, Container, Row } from '../grid';
|
|
4
|
-
import { useEffect, useState } from 'react';
|
|
5
6
|
|
|
6
7
|
const meta: Meta = {
|
|
7
8
|
title: 'Layout/Pagination',
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react';
|
|
2
1
|
import classNames from 'classnames';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import {
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
|
|
4
|
+
import { type PaginationProps, type PaginationText } from './types';
|
|
6
5
|
import { Button } from '../button';
|
|
6
|
+
import { Input } from '../forms/input';
|
|
7
|
+
import { Container, Row, Col } from '../grid';
|
|
7
8
|
|
|
8
9
|
const DEFAULT_TEXT: Required<PaginationText> = {
|
|
9
10
|
previousPage: 'Previous Page',
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { Pill } from './Pill';
|
|
1
|
+
import { type Meta, type StoryObj } from '@storybook/react';
|
|
3
2
|
import { Container, Row, Col } from 'react-grid-system';
|
|
4
|
-
|
|
5
|
-
import {
|
|
3
|
+
|
|
4
|
+
import { type ChromaticColor } from '@/types';
|
|
5
|
+
|
|
6
|
+
import { Pill } from './Pill';
|
|
7
|
+
import { type PillShade } from './types';
|
|
8
|
+
|
|
9
|
+
|
|
6
10
|
|
|
7
11
|
const CHROMATIC_COLORS: ChromaticColor[] = [
|
|
8
12
|
'blue',
|
|
@@ -120,7 +124,7 @@ export const AllDefaultColors: Story = {
|
|
|
120
124
|
<Container>
|
|
121
125
|
<Row justify="start">
|
|
122
126
|
{CHROMATIC_COLORS.map((color: ChromaticColor) => (
|
|
123
|
-
<Col xs="content" className="mb-2">
|
|
127
|
+
<Col key={color} xs="content" className="mb-2">
|
|
124
128
|
<Pill color={color} size="md">
|
|
125
129
|
{color}
|
|
126
130
|
</Pill>
|
|
@@ -139,7 +143,7 @@ export const AllShades: Story = {
|
|
|
139
143
|
{CHROMATIC_COLORS.map((color: ChromaticColor) => (
|
|
140
144
|
<Row key={color}>
|
|
141
145
|
{SHADES.map((shade: PillShade) => (
|
|
142
|
-
<Col width={100} className="mb-2">
|
|
146
|
+
<Col key={`${color}-${shade}`} width={100} className="mb-2">
|
|
143
147
|
<Pill shade={shade} color={color} size="md">
|
|
144
148
|
{color}-{shade}
|
|
145
149
|
</Pill>
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { render, screen } from '@testing-library/react';
|
|
2
|
+
|
|
2
3
|
import { Pill } from '@/components/pill/Pill';
|
|
3
|
-
|
|
4
|
+
|
|
5
|
+
import { type PillColor, type PillShade, type PillSize } from '../types';
|
|
6
|
+
|
|
4
7
|
|
|
5
8
|
const sizes = ['sm', 'md', 'lg'] as PillSize[];
|
|
6
9
|
const colors = [
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
2
|
+
import { type Meta, type StoryObj } from '@storybook/react';
|
|
3
|
+
|
|
3
4
|
import { indiconDefinitions } from '@/components/icons/indicons';
|
|
4
5
|
import { registerFontAwesomeIcons } from '@/setup/setupIcons';
|
|
5
|
-
registerFontAwesomeIcons(...Object.values(fas), ...indiconDefinitions);
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
import { CommonExample } from './examples/commonExample/CommonExample';
|
|
8
8
|
import { MixedExample } from './examples/MixedExample';
|
|
9
|
-
import { RequiredStepsExample } from './examples/RequiredStepsExample';
|
|
10
9
|
import { OptionalStepsExample } from './examples/OptionalStepsExample';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
10
|
+
import { RequiredStepsExample } from './examples/RequiredStepsExample';
|
|
11
|
+
import { Stepper } from './Stepper';
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
registerFontAwesomeIcons(...Object.values(fas), ...indiconDefinitions);
|
|
13
15
|
|
|
14
16
|
const meta: Meta = {
|
|
15
17
|
title: 'Components/Stepper',
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { useState, Children } from 'react';
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import { BackNavigation } from './components/BackNavigation';
|
|
4
|
+
import { Legend } from './components/Legend';
|
|
4
5
|
import { NextNavigation } from './components/NextNavigation';
|
|
5
|
-
import { StepperProps, StepperText } from './types';
|
|
6
|
+
import { type StepperProps, type StepperText } from './types';
|
|
6
7
|
|
|
7
8
|
const DEFAULT_TEXT: Required<StepperText> = {
|
|
8
9
|
previousStep: 'Previous Step',
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { render, screen } from '@testing-library/react';
|
|
2
|
-
import { Stepper } from '../Stepper';
|
|
3
|
-
import { StepOne } from '../examples/commonExample/steps/StepOne';
|
|
4
|
-
import { StepTwo } from '../examples/commonExample/steps/StepTwo';
|
|
5
|
-
import { StepThree } from '../examples/commonExample/steps/StepThree';
|
|
6
2
|
import userEvent from '@testing-library/user-event';
|
|
7
3
|
import React from 'react';
|
|
8
4
|
|
|
5
|
+
import { StepOne } from '../examples/commonExample/steps/StepOne';
|
|
6
|
+
import { StepThree } from '../examples/commonExample/steps/StepThree';
|
|
7
|
+
import { StepTwo } from '../examples/commonExample/steps/StepTwo';
|
|
8
|
+
import { Stepper } from '../Stepper';
|
|
9
|
+
|
|
9
10
|
// NOTES ================================================
|
|
10
11
|
// The core functionality of the stepper is mainly various callbacks. As a result, we are indirectly testing them through the testing conditions created in this file. For example, to check if a step is complete, we have a callback function that fires when that step is complete. You will need to test your own logic in your implementation as the conditions tested here are for the purposes of the stepper itself, not the handlers we created.
|
|
11
12
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
|
-
|
|
3
|
-
import { Col, Row } from '../../grid/';
|
|
2
|
+
|
|
4
3
|
import { Button } from '../../button';
|
|
5
|
-
import {
|
|
4
|
+
import { Col, Row } from '../../grid/';
|
|
5
|
+
import { Icon } from '../../icons/Icon';
|
|
6
|
+
import { type StepperLegendProps } from '../types';
|
|
6
7
|
|
|
7
8
|
export const Legend = ({ currentStep, steps, onStepClick }: StepperLegendProps) => {
|
|
8
9
|
const totalSteps = steps?.length || 0;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { Button } from '../../button';
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
|
|
4
3
|
import { MIXED_EXAMPLE_STEPS, STEP_CONTENT_DATA, INFO_BOX_STYLE } from './constants';
|
|
4
|
+
import { Button } from '../../button';
|
|
5
|
+
import { Stepper } from '../Stepper';
|
|
5
6
|
|
|
6
7
|
export const MixedExample = () => {
|
|
7
8
|
// Value of the current step.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { Button } from '../../button';
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
|
|
4
3
|
import { OPTIONAL_STEPS, INFO_BOX_STYLE, STATUS_INDICATOR_STYLE } from './constants';
|
|
4
|
+
import { Button } from '../../button';
|
|
5
|
+
import { Stepper } from '../Stepper';
|
|
5
6
|
|
|
6
7
|
export const OptionalStepsExample = () => {
|
|
7
8
|
const [currentStep, setCurrentStep] = useState(0);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { Button } from '../../button';
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
|
|
4
3
|
import { REQUIRED_STEPS, INFO_BOX_STYLE, STATUS_INDICATOR_STYLE } from './constants';
|
|
4
|
+
import { Button } from '../../button';
|
|
5
|
+
import { Stepper } from '../Stepper';
|
|
5
6
|
|
|
6
7
|
export const RequiredStepsExample = () => {
|
|
7
8
|
const [currentStep, setCurrentStep] = useState(0);
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
|
|
3
3
|
import { StepOne } from './steps/StepOne';
|
|
4
|
-
import { StepTwo } from './steps/StepTwo';
|
|
5
4
|
import { StepThree } from './steps/StepThree';
|
|
5
|
+
import { StepTwo } from './steps/StepTwo';
|
|
6
|
+
import { Stepper } from '../../Stepper';
|
|
6
7
|
|
|
7
8
|
export const CommonExample = () => {
|
|
8
9
|
const exampleSteps = [
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { Table } from './Table';
|
|
3
|
-
import { columns, sampleData, SampleDataRow } from './sampleData';
|
|
4
|
-
import { registerFontAwesomeIcons } from '@/setup/setupIcons';
|
|
5
|
-
import { indiconDefinitions } from '@/components/icons/indicons';
|
|
1
|
+
import { type Meta, type StoryObj } from '@storybook/react';
|
|
6
2
|
import { useState } from 'react';
|
|
7
3
|
|
|
4
|
+
import { indiconDefinitions } from '@/components/icons/indicons';
|
|
5
|
+
import { registerFontAwesomeIcons } from '@/setup/setupIcons';
|
|
6
|
+
|
|
7
|
+
import { columns, sampleData, type SampleDataRow } from './sampleData';
|
|
8
|
+
import { Table } from './Table';
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
8
12
|
registerFontAwesomeIcons(...Object.values(indiconDefinitions));
|
|
9
13
|
|
|
10
14
|
const meta: Meta = {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
2
|
import DataTable, {
|
|
3
|
-
Direction as RDTDirection,
|
|
4
|
-
Alignment as RDTAlignment,
|
|
3
|
+
type Direction as RDTDirection,
|
|
4
|
+
type Alignment as RDTAlignment,
|
|
5
5
|
} from 'react-data-table-component';
|
|
6
|
-
|
|
7
|
-
import { TableProps, TableText } from './types';
|
|
6
|
+
|
|
8
7
|
import { TablePagination } from './components/TablePagination';
|
|
9
8
|
import { usePinnedColumnsManager } from './hooks/usePinnedColumnsManager';
|
|
9
|
+
import { LoadingComponent } from './LoadingComponent';
|
|
10
|
+
import { type TableProps, type TableText } from './types';
|
|
10
11
|
|
|
11
12
|
const DEFAULT_TEXT: Required<TableText> = {
|
|
12
13
|
loading: 'Loading...',
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import {
|
|
4
4
|
getPreviousHeadersWidth,
|
|
5
5
|
applyStickyStylesToTableHeader,
|
|
6
6
|
clearStickyStyles,
|
|
7
7
|
} from './helpers';
|
|
8
|
-
import {
|
|
8
|
+
import { Button } from '../../button/Button';
|
|
9
|
+
import { type HorizontalStickyHeaderText } from '../types';
|
|
9
10
|
|
|
10
11
|
const DEFAULT_TEXT: Required<HorizontalStickyHeaderText> = {
|
|
11
12
|
unpinColumn: 'Unpin column',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { render, screen, fireEvent } from '@testing-library/react';
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import { sampleData } from '../../sampleData';
|
|
4
|
-
import { Table } from '../../Table';
|
|
5
4
|
import { columns } from '../../sampleData';
|
|
6
|
-
import
|
|
5
|
+
import { Table } from '../../Table';
|
|
6
|
+
import HorizontalStickyHeader from '../HorizontalStickyHeader';
|
|
7
7
|
|
|
8
8
|
// Add ResizeObserver mock before tests
|
|
9
9
|
class ResizeObserverMock {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useEffect, useCallback, useMemo } from 'react';
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import { sortPinnedColumns, getPreviousHeadersWidth } from '../components/helpers';
|
|
4
|
+
import { type TableColumn, type HorizontalStickyHeaderText } from '../types';
|
|
4
5
|
import { processColumns } from '../utils/processColumns';
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -138,7 +139,10 @@ export const usePinnedColumnsManager = <T>(
|
|
|
138
139
|
|
|
139
140
|
// Process columns for rendering with pin state
|
|
140
141
|
const columnsWithPinning = canPinColumns
|
|
141
|
-
? sortPinnedColumns(
|
|
142
|
+
? sortPinnedColumns(
|
|
143
|
+
processColumns(columns, dataColumnIds, togglePinnedColumn, text),
|
|
144
|
+
dataColumnIds,
|
|
145
|
+
)
|
|
142
146
|
: columns;
|
|
143
147
|
|
|
144
148
|
return {
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
IDataTableProps,
|
|
2
|
+
type Direction as RDTDirection,
|
|
3
|
+
type Alignment as RDTAlignment,
|
|
4
|
+
type TableColumn as RDTTableColumn,
|
|
5
|
+
type IDataTableProps,
|
|
7
6
|
} from 'react-data-table-component';
|
|
8
|
-
import { CSSObject } from 'styled-components';
|
|
7
|
+
import { type CSSObject } from 'styled-components';
|
|
9
8
|
|
|
10
9
|
export type Direction = `${RDTDirection}`;
|
|
11
10
|
export type Alignment = `${RDTAlignment}`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TableColumn, HorizontalStickyHeaderText } from '../types';
|
|
2
|
-
import HorizontalStickyHeader from '../components/HorizontalStickyHeader';
|
|
3
1
|
import { getPinnedColumnStyles } from '../components/helpers';
|
|
2
|
+
import HorizontalStickyHeader from '../components/HorizontalStickyHeader';
|
|
3
|
+
import { type TableColumn, type HorizontalStickyHeaderText } from '../types';
|
|
4
4
|
|
|
5
5
|
export const processColumns = <T,>(
|
|
6
6
|
columns: TableColumn<T>[],
|