@goodhood-web/ui 0.0.6 → 1.0.0-development.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{src/index.ts → index.d.ts} +1 -24
- package/index.js +48 -0
- package/index.mjs +2341 -0
- package/lib/BaseButton/BaseButton.d.ts +11 -0
- package/lib/Card/Card.d.ts +3 -0
- package/lib/Card/Card.types.d.ts +10 -0
- package/lib/Card/Card.utils.d.ts +3 -0
- package/lib/Card/CardBody/CardBody.d.ts +3 -0
- package/lib/Card/CardBody/CardBody.types.d.ts +5 -0
- package/lib/Card/CardHeader/CardHeader.d.ts +3 -0
- package/lib/Card/CardHeader/CardHeader.type.d.ts +12 -0
- package/lib/ContentCreatorButton/ContentCreatorButton.d.ts +3 -0
- package/{src/lib/ContentCreatorButton/ContentCreatorButton.types.ts → lib/ContentCreatorButton/ContentCreatorButton.types.d.ts} +2 -3
- package/lib/Divider/Divider.d.ts +3 -0
- package/lib/Divider/Divider.types.d.ts +6 -0
- package/lib/Fieldset/Fieldset.d.ts +3 -0
- package/lib/Fieldset/Fieldset.types.d.ts +8 -0
- package/lib/Form/Form.d.ts +3 -0
- package/lib/Form/Form.types.d.ts +10 -0
- package/lib/Icon/Icon.d.ts +4 -0
- package/lib/Icon/Icon.types.d.ts +18 -0
- package/lib/Icon/icons/24x24/index.d.ts +130 -0
- package/lib/Icon/icons/32x32/index.d.ts +265 -0
- package/lib/Icon/icons/index.d.ts +395 -0
- package/lib/IconButton/IconButton.d.ts +3 -0
- package/{src/lib/IconButton/IconButton.types.ts → lib/IconButton/IconButton.types.d.ts} +12 -10
- package/lib/IconButton/utils.d.ts +3 -0
- package/lib/Image/Image.d.ts +3 -0
- package/lib/Image/Image.type.d.ts +5 -0
- package/lib/LabelPill/LabelPill.d.ts +3 -0
- package/lib/LabelPill/LabelPill.types.d.ts +4 -0
- package/lib/Legend/Legend.d.ts +3 -0
- package/lib/Legend/Legend.types.d.ts +5 -0
- package/lib/MenuItem/MenuItem.d.ts +3 -0
- package/lib/MenuItem/MenuItem.types.d.ts +9 -0
- package/lib/NotificationBubble/NotificationBubble.d.ts +3 -0
- package/{src/lib/NotificationBubble/NotificationBubble.types.tsx → lib/NotificationBubble/NotificationBubble.types.d.ts} +2 -3
- package/lib/Thumbnail/Thumbnail.d.ts +3 -0
- package/{src/lib/Thumbnail/Thumbnail.type.tsx → lib/Thumbnail/Thumbnail.type.d.ts} +6 -9
- package/lib/Toggle/Toggle.d.ts +3 -0
- package/{src/lib/Toggle/Toggle.types.ts → lib/Toggle/Toggle.types.d.ts} +2 -3
- package/lib/ToggleInput/ToggleInput.d.ts +3 -0
- package/{src/lib/ToggleInput/ToggleInput.types.ts → lib/ToggleInput/ToggleInput.types.d.ts} +3 -5
- package/lib/Typography/Typography.d.ts +3 -0
- package/lib/Typography/Typography.types.d.ts +8 -0
- package/package.json +3 -2
- package/style.css +1 -0
- package/.babelrc +0 -12
- package/.eslintrc.json +0 -25
- package/.storybook/main.ts +0 -31
- package/.storybook/manager-head.html +0 -1
- package/.storybook/manager.ts +0 -7
- package/.storybook/nebenanTheme.ts +0 -17
- package/.storybook/preview.ts +0 -9
- package/.stylelintrc.json +0 -14
- package/README.md +0 -7
- package/__mocks__/svg.js +0 -2
- package/images/favicon.ico +0 -0
- package/images/logo.svg +0 -11
- package/jest.config.ts +0 -16
- package/project.json +0 -95
- package/release.config.js +0 -30
- package/src/lib/BaseButton/BaseButton.module.scss +0 -11
- package/src/lib/BaseButton/BaseButton.spec.tsx +0 -12
- package/src/lib/BaseButton/BaseButton.stories.tsx +0 -26
- package/src/lib/BaseButton/BaseButton.tsx +0 -39
- package/src/lib/Card/Card.module.scss +0 -15
- package/src/lib/Card/Card.spec.tsx +0 -15
- package/src/lib/Card/Card.stories.tsx +0 -159
- package/src/lib/Card/Card.tsx +0 -31
- package/src/lib/Card/Card.types.ts +0 -12
- package/src/lib/Card/Card.utils.spec.tsx +0 -51
- package/src/lib/Card/Card.utils.ts +0 -23
- package/src/lib/Card/CardBody/CardBody.module.scss +0 -4
- package/src/lib/Card/CardBody/CardBody.spec.tsx +0 -15
- package/src/lib/Card/CardBody/CardBody.stories.tsx +0 -108
- package/src/lib/Card/CardBody/CardBody.tsx +0 -9
- package/src/lib/Card/CardBody/CardBody.types.ts +0 -4
- package/src/lib/Card/CardHeader/CardHeader.module.scss +0 -12
- package/src/lib/Card/CardHeader/CardHeader.spec.tsx +0 -72
- package/src/lib/Card/CardHeader/CardHeader.stories.tsx +0 -77
- package/src/lib/Card/CardHeader/CardHeader.tsx +0 -29
- package/src/lib/Card/CardHeader/CardHeader.type.ts +0 -14
- package/src/lib/ContentCreatorButton/ContentCreatorButton.module.scss +0 -14
- package/src/lib/ContentCreatorButton/ContentCreatorButton.spec.tsx +0 -14
- package/src/lib/ContentCreatorButton/ContentCreatorButton.stories.tsx +0 -29
- package/src/lib/ContentCreatorButton/ContentCreatorButton.tsx +0 -35
- package/src/lib/Divider/Divider.module.scss +0 -10
- package/src/lib/Divider/Divider.spec.tsx +0 -46
- package/src/lib/Divider/Divider.stories.tsx +0 -35
- package/src/lib/Divider/Divider.tsx +0 -17
- package/src/lib/Divider/Divider.types.ts +0 -6
- package/src/lib/Fieldset/Fieldset.module.scss +0 -3
- package/src/lib/Fieldset/Fieldset.spec.tsx +0 -68
- package/src/lib/Fieldset/Fieldset.stories.tsx +0 -60
- package/src/lib/Fieldset/Fieldset.tsx +0 -28
- package/src/lib/Fieldset/Fieldset.types.ts +0 -7
- package/src/lib/Form/Form.spec.tsx +0 -15
- package/src/lib/Form/Form.stories.tsx +0 -53
- package/src/lib/Form/Form.tsx +0 -14
- package/src/lib/Form/Form.types.ts +0 -11
- package/src/lib/Icon/Icon.module.scss +0 -7
- package/src/lib/Icon/Icon.spec.tsx +0 -33
- package/src/lib/Icon/Icon.stories.tsx +0 -88
- package/src/lib/Icon/Icon.tsx +0 -29
- package/src/lib/Icon/Icon.types.ts +0 -23
- package/src/lib/Icon/icons/24x24/index.ts +0 -89
- package/src/lib/Icon/icons/24x24/svg/arrow_left.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/arrow_right.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/bookmark.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/bookmarked.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/burger_menu.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/camera.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/checkmark.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/checkmark_circle.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/chevron_down.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/chevron_left.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/chevron_right.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/chevron_up.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/comment_bubble.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/cross.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/cross_circle.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/envelope.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/event_calendar.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/external_link.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/eye.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/eye_crossed.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/filter.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/globe.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/heart.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/image.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/loudspeaker.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/marketplace.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/more_dots.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/more_dots_alt.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/mute.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/notification_bell.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/paperclip.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/pencil.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/pin.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/plus.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/plus_circle.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/privacy_lock.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/search.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/share_arrow.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/share_arrow_outline.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/sort.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/thanks.svg +0 -1
- package/src/lib/Icon/icons/24x24/svg/trash_can.svg +0 -1
- package/src/lib/Icon/icons/32x32/index.ts +0 -179
- package/src/lib/Icon/icons/32x32/svg/address_book.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/baby_toy.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/bicycle.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/bookmark.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/books.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/bubble_heart_filled.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/bubble_heart_outline.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/buildings.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/burger_menu.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/business.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/business_profile.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/camera.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/camera_crossed.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/car.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/carrot.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/chat.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/checkmark_circle.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/christmas_tree.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/clipboard.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/clothing.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/cocktail.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/comment_bubble.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/compass.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/computer.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/couch.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/credit_card.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/cross_circle.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/cutlery.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/drill_tool.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/email.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/envelope.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/event_calendar_check.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/event_calendar_date.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/event_calendar_plus.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/exchange.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/eye.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/eye_crossed.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/gift.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/group.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/healthcare.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/heart.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/house.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/image.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/info.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/invite_neighbour.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/key.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/kitchen_pot.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/list.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/log_out.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/loudspeaker.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/map.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/marketplace.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/miscellaneous_other.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/more_dots.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/more_dots_alt.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/music.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/nebenan.de.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/neighbour.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/notification_bell.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/organisation.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/paper_form_empty.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/paper_form_filled.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/paperclip.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/paw.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/pencil.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/pin.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/pins.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/plant.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/plus.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/plus_circle.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/post.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/privacy_lock.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/qr_code.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/search.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/settings_cog.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/shopping_bag.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/shopping_cart.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/special_place.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/suitcase.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/supporter.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/tennis_ball.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/thanks.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/trash_can.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/truck.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/user.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/user_profile.svg +0 -1
- package/src/lib/Icon/icons/32x32/svg/wellness.svg +0 -1
- package/src/lib/Icon/icons/index.ts +0 -9
- package/src/lib/IconButton/IconButton.module.scss +0 -37
- package/src/lib/IconButton/IconButton.spec.tsx +0 -56
- package/src/lib/IconButton/IconButton.stories.tsx +0 -36
- package/src/lib/IconButton/IconButton.tsx +0 -25
- package/src/lib/IconButton/utils.ts +0 -6
- package/src/lib/Image/Image.spec.tsx +0 -10
- package/src/lib/Image/Image.tsx +0 -7
- package/src/lib/Image/Image.type.tsx +0 -5
- package/src/lib/LabelPill/LabelPill.module.scss +0 -33
- package/src/lib/LabelPill/LabelPill.spec.tsx +0 -23
- package/src/lib/LabelPill/LabelPill.stories.tsx +0 -31
- package/src/lib/LabelPill/LabelPill.tsx +0 -16
- package/src/lib/LabelPill/LabelPill.types.ts +0 -4
- package/src/lib/Legend/Legend.module.scss +0 -9
- package/src/lib/Legend/Legend.spec.tsx +0 -35
- package/src/lib/Legend/Legend.stories.ts +0 -39
- package/src/lib/Legend/Legend.tsx +0 -19
- package/src/lib/Legend/Legend.types.ts +0 -5
- package/src/lib/MenuItem/MenuItem.module.scss +0 -73
- package/src/lib/MenuItem/MenuItem.spec.tsx +0 -47
- package/src/lib/MenuItem/MenuItem.stories.tsx +0 -97
- package/src/lib/MenuItem/MenuItem.tsx +0 -34
- package/src/lib/MenuItem/MenuItem.types.ts +0 -10
- package/src/lib/NotificationBubble/NotificationBubble.module.scss +0 -30
- package/src/lib/NotificationBubble/NotificationBubble.spec.tsx +0 -36
- package/src/lib/NotificationBubble/NotificationBubble.stories.tsx +0 -56
- package/src/lib/NotificationBubble/NotificationBubble.tsx +0 -34
- package/src/lib/Thumbnail/Thumbnail.module.scss +0 -68
- package/src/lib/Thumbnail/Thumbnail.spec.tsx +0 -51
- package/src/lib/Thumbnail/Thumbnail.stories.tsx +0 -242
- package/src/lib/Thumbnail/Thumbnail.tsx +0 -28
- package/src/lib/Toggle/Toggle.module.scss +0 -53
- package/src/lib/Toggle/Toggle.spec.tsx +0 -23
- package/src/lib/Toggle/Toggle.stories.tsx +0 -38
- package/src/lib/Toggle/Toggle.tsx +0 -32
- package/src/lib/ToggleInput/ToggleInput.module.scss +0 -32
- package/src/lib/ToggleInput/ToggleInput.spec.tsx +0 -45
- package/src/lib/ToggleInput/ToggleInput.stories.tsx +0 -62
- package/src/lib/ToggleInput/ToggleInput.tsx +0 -40
- package/src/lib/Typography/Typography.module.scss +0 -61
- package/src/lib/Typography/Typography.spec.tsx +0 -60
- package/src/lib/Typography/Typography.stories.tsx +0 -45
- package/src/lib/Typography/Typography.tsx +0 -26
- package/src/lib/Typography/Typography.types.ts +0 -28
- package/src/styles/_design-tokens.scss +0 -1
- package/src/styles/_fonts.scss +0 -0
- package/src/styles/_functions.scss +0 -17
- package/src/styles/_mixins.scss +0 -33
- package/src/styles/index.scss +0 -3
- package/src/styles/reset.scss +0 -67
- package/tsconfig.json +0 -24
- package/tsconfig.lib.json +0 -35
- package/tsconfig.spec.json +0 -20
- package/tsconfig.storybook.json +0 -31
- package/vite.config.ts +0 -57
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { render, screen } from '@testing-library/react';
|
|
2
|
-
|
|
3
|
-
import Fieldset from './Fieldset';
|
|
4
|
-
|
|
5
|
-
describe('Fieldset', () => {
|
|
6
|
-
it('renders without crashing', () => {
|
|
7
|
-
render(
|
|
8
|
-
<Fieldset>
|
|
9
|
-
<input />
|
|
10
|
-
</Fieldset>,
|
|
11
|
-
);
|
|
12
|
-
const fieldsetElement = screen.getByRole('group');
|
|
13
|
-
expect(fieldsetElement).toBeInTheDocument();
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it('applies given name and form attributes', () => {
|
|
17
|
-
render(
|
|
18
|
-
<Fieldset name="testName" form="testForm">
|
|
19
|
-
<input />
|
|
20
|
-
</Fieldset>,
|
|
21
|
-
);
|
|
22
|
-
const fieldsetElement = screen.getByRole('group');
|
|
23
|
-
expect(fieldsetElement).toHaveAttribute('name', 'testName');
|
|
24
|
-
expect(fieldsetElement).toHaveAttribute('form', 'testForm');
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it('applies the disabled state to the fieldset', () => {
|
|
28
|
-
render(
|
|
29
|
-
<Fieldset disabled>
|
|
30
|
-
<input />
|
|
31
|
-
</Fieldset>,
|
|
32
|
-
);
|
|
33
|
-
const fieldsetElement = screen.getByRole('group');
|
|
34
|
-
expect(fieldsetElement).toBeDisabled();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('propagates disabled state to children', () => {
|
|
38
|
-
const TestChild = ({ disabled }: { disabled?: boolean }) => (
|
|
39
|
-
<input disabled={disabled} />
|
|
40
|
-
);
|
|
41
|
-
|
|
42
|
-
render(
|
|
43
|
-
<Fieldset disabled>
|
|
44
|
-
<TestChild />
|
|
45
|
-
</Fieldset>,
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
const childElement = screen.getByRole('textbox');
|
|
49
|
-
expect(childElement).toBeInTheDocument();
|
|
50
|
-
expect(childElement).toBeDisabled();
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it('does not render disabled state in children when not disabled', () => {
|
|
54
|
-
const TestChild = ({ disabled }: { disabled?: boolean }) => (
|
|
55
|
-
<input disabled={disabled} name="input" />
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
render(
|
|
59
|
-
<Fieldset>
|
|
60
|
-
<TestChild />
|
|
61
|
-
</Fieldset>,
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
const childElement = screen.getByRole('textbox');
|
|
65
|
-
expect(childElement).toBeInTheDocument();
|
|
66
|
-
expect(childElement).not.toBeDisabled();
|
|
67
|
-
});
|
|
68
|
-
});
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
|
|
3
|
-
import Legend from '../Legend/Legend';
|
|
4
|
-
|
|
5
|
-
import Fieldset from './Fieldset';
|
|
6
|
-
import { FieldsetProps } from './Fieldset.types';
|
|
7
|
-
|
|
8
|
-
const meta: Meta<typeof Fieldset> = {
|
|
9
|
-
argTypes: {
|
|
10
|
-
classname: {
|
|
11
|
-
control: { type: 'text' },
|
|
12
|
-
description: 'Additional CSS class name',
|
|
13
|
-
},
|
|
14
|
-
disabled: {
|
|
15
|
-
control: { type: 'boolean' },
|
|
16
|
-
description: 'Disables the fieldset and all child elements',
|
|
17
|
-
},
|
|
18
|
-
form: {
|
|
19
|
-
control: { type: 'text' },
|
|
20
|
-
description: 'Associates the fieldset with a form element',
|
|
21
|
-
},
|
|
22
|
-
name: {
|
|
23
|
-
control: { type: 'text' },
|
|
24
|
-
description: 'Name attribute of the fieldset',
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
component: Fieldset,
|
|
28
|
-
title: 'Components/Fieldset',
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export default meta;
|
|
32
|
-
|
|
33
|
-
type Story = StoryObj<typeof Fieldset>;
|
|
34
|
-
|
|
35
|
-
const FieldsetWithInput = (props: FieldsetProps) => {
|
|
36
|
-
return (
|
|
37
|
-
<Fieldset {...props}>
|
|
38
|
-
<Legend
|
|
39
|
-
headline="Test fieldset"
|
|
40
|
-
text="lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet lorem ipsum dolor sit amet"
|
|
41
|
-
/>
|
|
42
|
-
<input aria-label="testInput" />
|
|
43
|
-
</Fieldset>
|
|
44
|
-
);
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export const Primary: Story = {
|
|
48
|
-
args: {
|
|
49
|
-
disabled: false,
|
|
50
|
-
form: '',
|
|
51
|
-
name: '',
|
|
52
|
-
},
|
|
53
|
-
parameters: {
|
|
54
|
-
design: {
|
|
55
|
-
type: 'figma',
|
|
56
|
-
url: 'https://www.figma.com/file/Q0LB4cf1uDAOQlRv79mj2W/User-Settings?type=design&node-id=5534-27795&mode=design',
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
render: FieldsetWithInput,
|
|
60
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import clsx from 'clsx';
|
|
2
|
-
import { cloneElement, Children, isValidElement, ReactElement } from 'react';
|
|
3
|
-
|
|
4
|
-
import styles from './Fieldset.module.scss';
|
|
5
|
-
import { FieldsetProps } from './Fieldset.types';
|
|
6
|
-
|
|
7
|
-
type ChildElement = ReactElement<{ disabled?: boolean }>;
|
|
8
|
-
|
|
9
|
-
const Fieldset = ({ children, classname, disabled, form, name }: FieldsetProps) => {
|
|
10
|
-
const childrenWithProps = Children.map(children, (child) => {
|
|
11
|
-
if (isValidElement(child)) {
|
|
12
|
-
return cloneElement(child as ChildElement, { disabled });
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
return (
|
|
17
|
-
<fieldset
|
|
18
|
-
className={clsx(styles.fieldset, classname)}
|
|
19
|
-
disabled={disabled}
|
|
20
|
-
name={name}
|
|
21
|
-
form={form}
|
|
22
|
-
>
|
|
23
|
-
{childrenWithProps}
|
|
24
|
-
</fieldset>
|
|
25
|
-
);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export default Fieldset;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|
|
2
|
-
import { render } from '@testing-library/react';
|
|
3
|
-
|
|
4
|
-
import Form from './Form';
|
|
5
|
-
|
|
6
|
-
describe('Form', () => {
|
|
7
|
-
it('should render successfully', () => {
|
|
8
|
-
const { baseElement } = render(
|
|
9
|
-
<Form>
|
|
10
|
-
<input type="text" placeholder="Test Input" />
|
|
11
|
-
</Form>,
|
|
12
|
-
);
|
|
13
|
-
expect(baseElement).toBeTruthy();
|
|
14
|
-
});
|
|
15
|
-
});
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
|
|
3
|
-
import { ToggleInput, Fieldset, Legend } from '@goodhood-web/ui';
|
|
4
|
-
|
|
5
|
-
import Form from './Form';
|
|
6
|
-
|
|
7
|
-
const meta: Meta<typeof Form> = {
|
|
8
|
-
component: Form,
|
|
9
|
-
title: 'Components/Form',
|
|
10
|
-
};
|
|
11
|
-
export default meta;
|
|
12
|
-
type Story = StoryObj<typeof Form>;
|
|
13
|
-
|
|
14
|
-
const FormComponent = () => {
|
|
15
|
-
return (
|
|
16
|
-
<Form>
|
|
17
|
-
<Fieldset>
|
|
18
|
-
<Legend
|
|
19
|
-
headline="Headline"
|
|
20
|
-
text="lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, nisl eget"
|
|
21
|
-
/>
|
|
22
|
-
<ToggleInput checked={false} label="Toggle" />
|
|
23
|
-
</Fieldset>
|
|
24
|
-
<ToggleInput checked={false} label="Second Toggle" />
|
|
25
|
-
</Form>
|
|
26
|
-
);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const Primary: Story = {
|
|
30
|
-
argTypes: {
|
|
31
|
-
ariaLabel: {
|
|
32
|
-
control: { type: 'text' },
|
|
33
|
-
description: `"ariaLabel" prop allows providing an accessible label for the Form component.`,
|
|
34
|
-
},
|
|
35
|
-
ariaLabelledBy: {
|
|
36
|
-
control: { type: 'text' },
|
|
37
|
-
description: `"ariaLabelledBy" prop allows providing an accessible label for the Form component.`,
|
|
38
|
-
},
|
|
39
|
-
children: {
|
|
40
|
-
control: { readonly: true, type: 'string' },
|
|
41
|
-
description: `"children" prop allows embedding various form elements within the Form component.`,
|
|
42
|
-
},
|
|
43
|
-
className: {
|
|
44
|
-
control: { type: 'text' },
|
|
45
|
-
description: `"className" prop allows extending the Form component styling.`,
|
|
46
|
-
},
|
|
47
|
-
id: {
|
|
48
|
-
control: { type: 'text' },
|
|
49
|
-
description: `"id" prop allows providing an id for the Form component.`,
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
render: () => FormComponent(),
|
|
53
|
-
};
|
package/src/lib/Form/Form.tsx
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { FormProps } from './Form.types';
|
|
2
|
-
|
|
3
|
-
const Form = ({ ariaLabel, ariaLabelledBy, children, className, id }: FormProps) => (
|
|
4
|
-
<form
|
|
5
|
-
className={className}
|
|
6
|
-
aria-label={ariaLabel}
|
|
7
|
-
aria-labelledby={ariaLabelledBy}
|
|
8
|
-
id={id}
|
|
9
|
-
>
|
|
10
|
-
{children}
|
|
11
|
-
</form>
|
|
12
|
-
);
|
|
13
|
-
|
|
14
|
-
export default Form;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { HTMLProps } from 'react';
|
|
2
|
-
|
|
3
|
-
type NativeFormProps = HTMLProps<HTMLFormElement>;
|
|
4
|
-
|
|
5
|
-
export type FormProps = {
|
|
6
|
-
ariaLabel?: NativeFormProps['aria-label'];
|
|
7
|
-
ariaLabelledBy?: NativeFormProps['aria-labelledby'];
|
|
8
|
-
children?: React.ReactNode;
|
|
9
|
-
className?: NativeFormProps['className'];
|
|
10
|
-
id?: NativeFormProps['id'];
|
|
11
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { render, screen } from '@testing-library/react';
|
|
2
|
-
|
|
3
|
-
import Icon from './Icon';
|
|
4
|
-
|
|
5
|
-
describe('Icon', () => {
|
|
6
|
-
it('should render default size icon successfully', () => {
|
|
7
|
-
render(<Icon name="bookmark" />);
|
|
8
|
-
const iconElement = screen.getByRole('presentation');
|
|
9
|
-
expect(iconElement).toBeInTheDocument();
|
|
10
|
-
});
|
|
11
|
-
it('should render 32x32 icon successfully', () => {
|
|
12
|
-
render(<Icon name="bookmark" size="32" />);
|
|
13
|
-
const iconElement = screen.getByRole('presentation');
|
|
14
|
-
expect(iconElement).toBeInTheDocument();
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it('should render 24x24 icon successfully', () => {
|
|
18
|
-
render(<Icon name="search" size="24" />);
|
|
19
|
-
const iconElement = screen.getByRole('presentation');
|
|
20
|
-
expect(iconElement).toBeInTheDocument();
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it('should not render when icon does not exist', () => {
|
|
24
|
-
render(
|
|
25
|
-
<Icon
|
|
26
|
-
// @ts-expect-error we're intentionally passing a potentially invalid name for testing
|
|
27
|
-
name="nonExistentIconName"
|
|
28
|
-
size="24"
|
|
29
|
-
/>,
|
|
30
|
-
);
|
|
31
|
-
expect(screen.queryByTestId('icon-nonexistent')).not.toBeInTheDocument();
|
|
32
|
-
});
|
|
33
|
-
});
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
|
|
3
|
-
import Icon from './Icon';
|
|
4
|
-
import Icons24 from './icons/24x24';
|
|
5
|
-
import Icons32 from './icons/32x32';
|
|
6
|
-
|
|
7
|
-
const keys24 = Object.keys(Icons24);
|
|
8
|
-
const keys32 = Object.keys(Icons32);
|
|
9
|
-
const allIconNames = Array.from(new Set([...keys24, ...keys32]));
|
|
10
|
-
|
|
11
|
-
const meta: Meta<typeof Icon> = {
|
|
12
|
-
argTypes: {
|
|
13
|
-
name: {
|
|
14
|
-
control: { type: 'select' },
|
|
15
|
-
options: allIconNames,
|
|
16
|
-
},
|
|
17
|
-
size: {
|
|
18
|
-
control: { type: 'radio' },
|
|
19
|
-
options: ['24', '32', undefined],
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
component: Icon,
|
|
23
|
-
title: 'Components/Icon',
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export default meta;
|
|
27
|
-
type Story = StoryObj<typeof Icon>;
|
|
28
|
-
|
|
29
|
-
export const Primary: Story = {
|
|
30
|
-
args: {
|
|
31
|
-
name: 'address_book',
|
|
32
|
-
size: '32',
|
|
33
|
-
},
|
|
34
|
-
parameters: {
|
|
35
|
-
design: {
|
|
36
|
-
type: 'figma',
|
|
37
|
-
url: 'https://www.figma.com/file/QEMJpGo10AVSROrjdhjGMB/Brand-Design-System?type=design&node-id=5-7&mode=design&t=HyDabrM78VO3crZV-0',
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
const Icon24Story: StoryObj<typeof Icon> = {
|
|
43
|
-
argTypes: {
|
|
44
|
-
name: {
|
|
45
|
-
control: { type: 'select' },
|
|
46
|
-
options: keys24,
|
|
47
|
-
},
|
|
48
|
-
size: {
|
|
49
|
-
control: { type: 'radio' },
|
|
50
|
-
options: ['24'],
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
args: {
|
|
54
|
-
name: 'bookmark', // default value
|
|
55
|
-
size: '24',
|
|
56
|
-
},
|
|
57
|
-
parameters: {
|
|
58
|
-
design: {
|
|
59
|
-
type: 'figma',
|
|
60
|
-
url: 'https://www.figma.com/file/QEMJpGo10AVSROrjdhjGMB/Brand-Design-System?type=design&node-id=5-7&mode=design&t=HyDabrM78VO3crZV-0',
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
export const Icon24 = Icon24Story;
|
|
65
|
-
|
|
66
|
-
const Icon32Story: StoryObj<typeof Icon> = {
|
|
67
|
-
argTypes: {
|
|
68
|
-
name: {
|
|
69
|
-
control: { type: 'select' },
|
|
70
|
-
options: keys32,
|
|
71
|
-
},
|
|
72
|
-
size: {
|
|
73
|
-
control: { type: 'radio' },
|
|
74
|
-
options: ['32'],
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
args: {
|
|
78
|
-
name: 'bookmark',
|
|
79
|
-
size: '32',
|
|
80
|
-
},
|
|
81
|
-
parameters: {
|
|
82
|
-
design: {
|
|
83
|
-
type: 'figma',
|
|
84
|
-
url: 'https://www.figma.com/file/QEMJpGo10AVSROrjdhjGMB/Brand-Design-System?type=design&node-id=5-7&mode=design&t=HyDabrM78VO3crZV-0',
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
};
|
|
88
|
-
export const Icon32 = Icon32Story;
|
package/src/lib/Icon/Icon.tsx
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import clsx from 'clsx';
|
|
2
|
-
import { ReactElement } from 'react';
|
|
3
|
-
|
|
4
|
-
import styles from './Icon.module.scss';
|
|
5
|
-
import { IconProps } from './Icon.types';
|
|
6
|
-
import icons from './icons';
|
|
7
|
-
|
|
8
|
-
const Icon = ({
|
|
9
|
-
className,
|
|
10
|
-
name,
|
|
11
|
-
role = 'presentation',
|
|
12
|
-
size = '32',
|
|
13
|
-
title,
|
|
14
|
-
}: IconProps): ReactElement | null => {
|
|
15
|
-
const iconSet = icons[size];
|
|
16
|
-
const IconComponent = iconSet[name as keyof typeof iconSet];
|
|
17
|
-
|
|
18
|
-
return IconComponent ? (
|
|
19
|
-
<IconComponent
|
|
20
|
-
className={clsx(styles.iconComponent, className)}
|
|
21
|
-
title={title}
|
|
22
|
-
role={role}
|
|
23
|
-
width={size}
|
|
24
|
-
height={size}
|
|
25
|
-
/>
|
|
26
|
-
) : null;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export default Icon;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { AriaRole } from 'react';
|
|
2
|
-
|
|
3
|
-
import icons24 from './icons/24x24';
|
|
4
|
-
import icons32 from './icons/32x32';
|
|
5
|
-
|
|
6
|
-
export type Icon32 = keyof typeof icons32;
|
|
7
|
-
export type Icon24 = keyof typeof icons24;
|
|
8
|
-
|
|
9
|
-
type BaseIconProps = {
|
|
10
|
-
className?: string;
|
|
11
|
-
role?: Extract<AriaRole, 'presentation' | 'img'>;
|
|
12
|
-
title?: string;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export type IconProps =
|
|
16
|
-
| ({
|
|
17
|
-
name: Icon32;
|
|
18
|
-
size?: '32';
|
|
19
|
-
} & BaseIconProps)
|
|
20
|
-
| ({
|
|
21
|
-
name: Icon24;
|
|
22
|
-
size: '24';
|
|
23
|
-
} & BaseIconProps);
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import ArrowLeft from './svg/arrow_left.svg?react';
|
|
2
|
-
import ArrowRight from './svg/arrow_right.svg?react';
|
|
3
|
-
import Bookmark from './svg/bookmark.svg?react';
|
|
4
|
-
import Bookmarked from './svg/bookmarked.svg?react';
|
|
5
|
-
import BurgerMenu from './svg/burger_menu.svg?react';
|
|
6
|
-
import Camera from './svg/camera.svg?react';
|
|
7
|
-
import Checkmark from './svg/checkmark.svg?react';
|
|
8
|
-
import CheckmarkCircle from './svg/checkmark_circle.svg?react';
|
|
9
|
-
import ChevronDown from './svg/chevron_down.svg?react';
|
|
10
|
-
import ChevronLeft from './svg/chevron_left.svg?react';
|
|
11
|
-
import ChevronRight from './svg/chevron_right.svg?react';
|
|
12
|
-
import ChevronUp from './svg/chevron_up.svg?react';
|
|
13
|
-
import CommentBubble from './svg/comment_bubble.svg?react';
|
|
14
|
-
import Cross from './svg/cross.svg?react';
|
|
15
|
-
import CrossCircle from './svg/cross_circle.svg?react';
|
|
16
|
-
import Envelope from './svg/envelope.svg?react';
|
|
17
|
-
import EventCalendar from './svg/event_calendar.svg?react';
|
|
18
|
-
import ExternalLink from './svg/external_link.svg?react';
|
|
19
|
-
import Eye from './svg/eye.svg?react';
|
|
20
|
-
import EyeCrossed from './svg/eye_crossed.svg?react';
|
|
21
|
-
import Filter from './svg/filter.svg?react';
|
|
22
|
-
import Globe from './svg/globe.svg?react';
|
|
23
|
-
import Heart from './svg/heart.svg?react';
|
|
24
|
-
import Image from './svg/image.svg?react';
|
|
25
|
-
import Loudspeaker from './svg/loudspeaker.svg?react';
|
|
26
|
-
import Marketplace from './svg/marketplace.svg?react';
|
|
27
|
-
import MoreDots from './svg/more_dots.svg?react';
|
|
28
|
-
import MoreDotsAlt from './svg/more_dots_alt.svg?react';
|
|
29
|
-
import Mute from './svg/mute.svg?react';
|
|
30
|
-
import NotificationBell from './svg/notification_bell.svg?react';
|
|
31
|
-
import Paperclip from './svg/paperclip.svg?react';
|
|
32
|
-
import Pencil from './svg/pencil.svg?react';
|
|
33
|
-
import Pin from './svg/pin.svg?react';
|
|
34
|
-
import Plus from './svg/plus.svg?react';
|
|
35
|
-
import PlusCircle from './svg/plus_circle.svg?react';
|
|
36
|
-
import PrivacyLock from './svg/privacy_lock.svg?react';
|
|
37
|
-
import Search from './svg/search.svg?react';
|
|
38
|
-
import ShareArrow from './svg/share_arrow.svg?react';
|
|
39
|
-
import ShareArrowOutline from './svg/share_arrow_outline.svg?react';
|
|
40
|
-
import Sort from './svg/sort.svg?react';
|
|
41
|
-
import Thanks from './svg/thanks.svg?react';
|
|
42
|
-
import TrashCan from './svg/trash_can.svg?react';
|
|
43
|
-
|
|
44
|
-
const IconsMap = {
|
|
45
|
-
arrow_left: ArrowLeft,
|
|
46
|
-
arrow_right: ArrowRight,
|
|
47
|
-
bookmark: Bookmark,
|
|
48
|
-
bookmarked: Bookmarked,
|
|
49
|
-
burger_menu: BurgerMenu,
|
|
50
|
-
camera: Camera,
|
|
51
|
-
checkmark: Checkmark,
|
|
52
|
-
checkmark_circle: CheckmarkCircle,
|
|
53
|
-
chevron_down: ChevronDown,
|
|
54
|
-
chevron_left: ChevronLeft,
|
|
55
|
-
chevron_right: ChevronRight,
|
|
56
|
-
chevron_up: ChevronUp,
|
|
57
|
-
comment_bubble: CommentBubble,
|
|
58
|
-
cross: Cross,
|
|
59
|
-
cross_circle: CrossCircle,
|
|
60
|
-
envelope: Envelope,
|
|
61
|
-
event_calendar: EventCalendar,
|
|
62
|
-
external_link: ExternalLink,
|
|
63
|
-
eye: Eye,
|
|
64
|
-
eye_crossed: EyeCrossed,
|
|
65
|
-
filter: Filter,
|
|
66
|
-
globe: Globe,
|
|
67
|
-
heart: Heart,
|
|
68
|
-
image: Image,
|
|
69
|
-
loudspeaker: Loudspeaker,
|
|
70
|
-
marketplace: Marketplace,
|
|
71
|
-
more_dots: MoreDots,
|
|
72
|
-
more_dots_alt: MoreDotsAlt,
|
|
73
|
-
mute: Mute,
|
|
74
|
-
notification_bell: NotificationBell,
|
|
75
|
-
paperclip: Paperclip,
|
|
76
|
-
pencil: Pencil,
|
|
77
|
-
pin: Pin,
|
|
78
|
-
plus: Plus,
|
|
79
|
-
plus_circle: PlusCircle,
|
|
80
|
-
privacy_lock: PrivacyLock,
|
|
81
|
-
search: Search,
|
|
82
|
-
share_arrow: ShareArrow,
|
|
83
|
-
share_arrow_outline: ShareArrowOutline,
|
|
84
|
-
sort: Sort,
|
|
85
|
-
thanks: Thanks,
|
|
86
|
-
trash_can: TrashCan,
|
|
87
|
-
} as const;
|
|
88
|
-
|
|
89
|
-
export default IconsMap;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m14 21-8.93-8.93a.1.1 0 0 1 0-.14L14 3m-8 9h15"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m12 21 8.93-8.93a.1.1 0 0 0 0-.14L12 3m8 9H5"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-width="1.5" d="M4 9v11a1 1 0 0 0 1.6.8l5.2-3.9a2 2 0 0 1 2.4 0l5.2 3.9A1 1 0 0 0 20 20V9M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4M4 9h16"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="#201649" fill-rule="evenodd" d="M5.5 2.5a2 2 0 0 0-2 2v3a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1v-3a2 2 0 0 0-2-2h-13Zm14 7.5h-15a1 1 0 0 0-1 1v10.07a1 1 0 0 0 1.577.817l6.346-4.48a1 1 0 0 1 1.154 0l6.346 4.48a1 1 0 0 0 1.577-.817V11a1 1 0 0 0-1-1Z" clip-rule="evenodd"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="M2.5 12h19m-19 6.5h19m-19-13h19"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-width="1.5" d="M2 9a2.5 2.5 0 0 1 2.5-2.5h1.77a.5.5 0 0 0 .38-.175L8.9 3.698A2 2 0 0 1 10.42 3h3.16a2 2 0 0 1 1.519.698l2.251 2.627a.5.5 0 0 0 .38.175h1.77A2.5 2.5 0 0 1 22 9v9a2.5 2.5 0 0 1-2.5 2.5h-15A2.5 2.5 0 0 1 2 18V9Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m4 13 4.859 4.859a.2.2 0 0 0 .282 0L20 7"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m7 12.5 3 3 7-7m4.5 3.5a9.5 9.5 0 1 1-19 0 9.5 9.5 0 0 1 19 0Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m21 8-8.93 8.93a.1.1 0 0 1-.14 0L3 8"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m15 21-8.93-8.93a.1.1 0 0 1 0-.14L15 3"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m9 3 8.93 8.93a.1.1 0 0 1 0 .14L9 21"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m21 16-8.93-8.93a.1.1 0 0 0-.14 0L3 16"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="M8 13.5h7M9 10h7m5 2a9 9 0 0 1-12.697 8.208 1.063 1.063 0 0 0-.632-.082l-3.953.74a.5.5 0 0 1-.584-.584l.74-3.953c.04-.213.008-.434-.082-.632A9 9 0 1 1 21 12Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m4 20 8-8 8-8m0 16L4 4"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m8 16 8-8m0 8L8 8m13.5 4a9.5 9.5 0 1 1-19 0 9.5 9.5 0 0 1 19 0Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m9.5 11.689 1.348 1.303c.644.622 1.66.622 2.304 0l1.348-1.303m-5 0L2.521 4.46M9.5 11.689l-6.979 7.85M21.48 4.461 14.5 11.689m0 0 6.979 7.85M20 20.5H4a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="M21 10.5v-4a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v4m18 0v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-8m18 0H3M12 2v5m5-5v5M7 7V2"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="M13 3h7.9a.1.1 0 0 1 .1.1V11m-1-7L10 14M6 3H4a1 1 0 0 0-1 1v15a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-2"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-width="1.5" d="M12 5C6.542 5 2.847 9.935 1.802 11.518a.868.868 0 0 0 0 .964C2.847 14.065 6.542 19 12 19s9.153-4.935 10.198-6.518a.868.868 0 0 0 0-.964C21.153 9.935 17.458 5 12 5Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m3.5 3.5 17 17M12 5C6.542 5 2.847 9.935 1.802 11.518a.868.868 0 0 0 0 .964C2.847 14.065 6.542 19 12 19s9.153-4.935 10.198-6.518a.868.868 0 0 0 0-.964C21.153 9.935 17.458 5 12 5Zm0 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-width="1.5" d="M19.178 3.5H4.822a1 1 0 0 0-.844 1.537l5.71 8.972A2 2 0 0 1 10 15.082v5.3a1 1 0 0 0 1.447.894l2-1a1 1 0 0 0 .553-.894v-4.3a2 2 0 0 1 .313-1.073l5.709-8.972a1 1 0 0 0-.844-1.537Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-width="1.5" d="M21.5 12a9.5 9.5 0 0 1-9.5 9.5m9.5-9.5A9.5 9.5 0 0 0 12 2.5m9.5 9.5h-19m9.5 9.5A9.5 9.5 0 0 1 2.5 12m9.5 9.5v-19m0 19S6.5 17 6.5 12 12 2.5 12 2.5m0 19s5.5-4.5 5.5-9.5S12 2.5 12 2.5M2.5 12A9.5 9.5 0 0 1 12 2.5"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="M12.092 6.733C13.64 3.853 17.05 2.45 19.5 4.41c2.5 2 2.203 5.594.5 9-2.315 4.63-7.203 7.116-7.913 7.459a.178.178 0 0 1-.171-.006c-.7-.398-5.598-3.28-7.916-7.453-1.85-3.329-2-7 .5-9 2.45-1.96 5.86-.559 7.408 2.322a.105.105 0 0 0 .184 0Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-width="1.5" d="M2.5 18a2 2 0 0 0 2 2h15a2 2 0 0 0 2-2v-3m-19 3V6a2 2 0 0 1 2-2h15a2 2 0 0 1 2 2v9m-19 3 4.293-4.293a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 0 1.414 0l3.879-3.879a2 2 0 0 1 2.828 0L21.5 15M7 9.5a.707.707 0 0 0 1-1 .707.707 0 0 0-1 1Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="M19.5 14.5 7.053 20.954a1.62 1.62 0 0 1-1.892-.293L3.34 18.84a1.62 1.62 0 0 1-.293-1.892L9.5 4.5M21 16 8 3m6 1 1-2.5m5 8.5 2.5-1M11 19.5l1.1 1.833a.81.81 0 0 0 1.083.295l4.076-2.224a.81.81 0 0 0 .307-1.128L16.5 16.5M17 7l4-4"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="M5 9h-.5a2 2 0 0 1-1.846-2.77l1.09-2.615A1 1 0 0 1 4.667 3H9.5M5 9v4m0-4h3.5M5 13H4a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1m0-6h14m0-4h.5a2 2 0 0 0 1.846-2.77l-1.09-2.615A1 1 0 0 0 19.333 3H14.5M19 9v4m0-4h-3.5m3.5 4h1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1m0 0v2m0-2H5m0 0v2M9.5 3l-1 6m1-6h5m-6 6h7m-1-6 1 6"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="#201649" d="M6 13.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM13.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM19.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="#201649" d="M13.5 18a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0ZM12 10.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 4.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="m5.5 5.5 13 13m3-6.5a9.5 9.5 0 1 1-19 0 9.5 9.5 0 0 1 19 0Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path stroke="#201649" stroke-linecap="round" stroke-width="1.5" d="M8.833 18.667S8.833 22 12.167 22c3.333 0 3.333-3.333 3.333-3.333M5.5 8.003v3.235c0 2.344-1.14 4.265-2.048 6.322-.234.53.163 1.107.743 1.107h15.943c.58 0 .978-.576.743-1.107-.907-2.057-2.048-3.978-2.048-6.322V8.003A3.503 3.503 0 0 0 15.331 4.5a.324.324 0 0 1-.305-.24c-.179-.626-.838-2.26-2.86-2.26-2.02 0-2.68 1.634-2.858 2.26a.324.324 0 0 1-.305.24A3.503 3.503 0 0 0 5.5 8.003Z"/></svg>
|