@imposium-hub/components 2.14.4 → 2.14.6
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/dist/cjs/components/advanced-number-field/AdvancedNumberField.d.ts +1 -1
- package/dist/cjs/components/advanced-number-field/AdvancedNumberField.test.d.ts +1 -0
- package/dist/cjs/components/advanced-number-field/AdvancedNumberField.test.js +377 -0
- package/dist/cjs/components/advanced-number-field/AdvancedNumberField.test.js.map +1 -0
- package/dist/cjs/components/anchor-field/AnchorField.d.ts +1 -1
- package/dist/cjs/components/anchor-field/AnchorField.test.d.ts +1 -0
- package/dist/cjs/components/anchor-field/AnchorField.test.js +87 -0
- package/dist/cjs/components/anchor-field/AnchorField.test.js.map +1 -0
- package/dist/cjs/components/app-wrapper/AppWrapper.d.ts +0 -1
- package/dist/cjs/components/app-wrapper/AppWrapper.js +1 -1
- package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/cjs/components/asset-details/AssetDetails.test.d.ts +1 -0
- package/dist/cjs/components/asset-details/AssetDetails.test.js +439 -0
- package/dist/cjs/components/asset-details/AssetDetails.test.js.map +1 -0
- package/dist/cjs/components/assets/AssetField.test.d.ts +1 -0
- package/dist/cjs/components/assets/AssetField.test.js +464 -0
- package/dist/cjs/components/assets/AssetField.test.js.map +1 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdCell.test.d.ts +1 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdCell.test.js +190 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdCell.test.js.map +1 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter.test.d.ts +1 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter.test.js +82 -0
- package/dist/cjs/components/assets/AssetsTableAssetIdFilter.test.js.map +1 -0
- package/dist/cjs/components/assets/AssetsTableComplexTagCell.test.d.ts +1 -0
- package/dist/cjs/components/assets/AssetsTableComplexTagCell.test.js +125 -0
- package/dist/cjs/components/assets/AssetsTableComplexTagCell.test.js.map +1 -0
- package/dist/cjs/components/assets/AssetsTableDateCell.d.ts +1 -6
- package/dist/cjs/components/assets/AssetsTableDateCell.test.d.ts +1 -0
- package/dist/cjs/components/assets/AssetsTableDateCell.test.js +116 -0
- package/dist/cjs/components/assets/AssetsTableDateCell.test.js.map +1 -0
- package/dist/cjs/components/assets/AssetsTableGlobalCell.d.ts +1 -5
- package/dist/cjs/components/assets/AssetsTablePreviewCell.d.ts +1 -17
- package/dist/cjs/components/assets/AssetsTableStatusCell.d.ts +1 -5
- package/dist/cjs/components/assets/AssetsTableTagsCell.d.ts +1 -6
- package/dist/cjs/components/assets/AssetsTableTypeCell.d.ts +1 -5
- package/dist/cjs/components/assets/AssetsTypeIcon.d.ts +1 -5
- package/dist/cjs/components/assets/FontAssetPreview.d.ts +1 -1
- package/dist/cjs/components/assets/StoryTableTotalRendersCell.d.ts +1 -2
- package/dist/cjs/components/button/Button.d.ts +1 -1
- package/dist/cjs/components/button/Button.stories.d.ts +5 -6
- package/dist/cjs/components/button-group-field/ButtonGroupField.d.ts +1 -1
- package/dist/cjs/components/button-group-field/ButtonGroupField.stories.d.ts +1 -2
- package/dist/cjs/components/button-menu/ButtonMenu.d.ts +2 -2
- package/dist/cjs/components/button-menu/ButtonMenu.stories.d.ts +1 -2
- package/dist/cjs/components/button-menu/ButtonMenuItem.d.ts +1 -1
- package/dist/cjs/components/card/Card.d.ts +4 -4
- package/dist/cjs/components/card/Card.stories.d.ts +1 -2
- package/dist/cjs/components/checkbox-field/CheckboxField.d.ts +1 -1
- package/dist/cjs/components/checkbox-field/CheckboxField.stories.d.ts +1 -2
- package/dist/cjs/components/color-field/ColorField.d.ts +1 -1
- package/dist/cjs/components/color-field/ColorFiled.stories.d.ts +1 -2
- package/dist/cjs/components/compositions/TextLayer.d.ts +1 -1
- package/dist/cjs/components/config-variable-button/ConfigVariableButton.d.ts +1 -42
- package/dist/cjs/components/confirm-modal/ConfirmModal.d.ts +1 -2
- package/dist/cjs/components/controlled-list/ControlledList.d.ts +2 -2
- package/dist/cjs/components/controlled-list/ControlledList.stories.d.ts +1 -2
- package/dist/cjs/components/controlled-list/ControlledList.test.d.ts +1 -0
- package/dist/cjs/components/controlled-list/ControlledList.test.js +427 -0
- package/dist/cjs/components/controlled-list/ControlledList.test.js.map +1 -0
- package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.d.ts +1 -1
- package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.test.d.ts +1 -0
- package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.test.js +495 -0
- package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.test.js.map +1 -0
- package/dist/cjs/components/determinate-loader/DeterminateLoader.stories.d.ts +3 -4
- package/dist/cjs/components/dropdown/Dropdown.d.ts +1 -1
- package/dist/cjs/components/dropdown/dropdown.stories.d.ts +1 -1
- package/dist/cjs/components/field-wrapper/FieldWrapper.d.ts +2 -2
- package/dist/cjs/components/field-wrapper/FieldWrapper.stories.d.ts +1 -2
- package/dist/cjs/components/font-field/FontField.d.ts +1 -2
- package/dist/cjs/components/font-picker/FontPicker.d.ts +1 -1
- package/dist/cjs/components/h-rule/HRule.d.ts +1 -2
- package/dist/cjs/components/h-rule/HRule.stories.d.ts +2 -3
- package/dist/cjs/components/header/ProjectDropdown.d.ts +1 -2
- package/dist/cjs/components/list-field/ListField.d.ts +1 -1
- package/dist/cjs/components/list-field/ListField.stories.d.ts +1 -2
- package/dist/cjs/components/log-viewer/LogViewer.d.ts +1 -1
- package/dist/cjs/components/media-variable-field/MediaVariableField.d.ts +1 -1
- package/dist/cjs/components/modal/Modal.d.ts +1 -1
- package/dist/cjs/components/modal/Modal.stories.d.ts +1 -2
- package/dist/cjs/components/number-field/NumberField.d.ts +1 -1
- package/dist/cjs/components/number-field/NumberField.stories.d.ts +1 -2
- package/dist/cjs/components/number-field/NumberField.test.d.ts +1 -0
- package/dist/cjs/components/number-field/NumberField.test.js +241 -0
- package/dist/cjs/components/number-field/NumberField.test.js.map +1 -0
- package/dist/cjs/components/players/AudioPlayer.d.ts +1 -1
- package/dist/cjs/components/players/AudioPreview.d.ts +1 -1
- package/dist/cjs/components/players/ImagePlayer.d.ts +1 -1
- package/dist/cjs/components/players/ImagePreview.d.ts +1 -1
- package/dist/cjs/components/players/ImageSequencePlayer.d.ts +1 -1
- package/dist/cjs/components/players/TemplatePlayer.d.ts +1 -1
- package/dist/cjs/components/players/VideoPlayer.d.ts +1 -1
- package/dist/cjs/components/players/VideoPreview.d.ts +1 -1
- package/dist/cjs/components/publish-wizard/PublishWizard.d.ts +3 -3
- package/dist/cjs/components/publish-wizard/publish/APIIntegration.d.ts +1 -1
- package/dist/cjs/components/publish-wizard/publish/HubSpotFlow.d.ts +1 -1
- package/dist/cjs/components/publish-wizard/publish/WebpageHosted.d.ts +2 -2
- package/dist/cjs/components/section/Section.d.ts +1 -2
- package/dist/cjs/components/section/Section.stories.d.ts +2 -3
- package/dist/cjs/components/select-field/SelectField.d.ts +1 -1
- package/dist/cjs/components/select-field/SelectField.stories.d.ts +1 -2
- package/dist/cjs/components/shortcut-menu/ShortcutMenu.stories.d.ts +1 -2
- package/dist/cjs/components/slider-field/SliderField.d.ts +1 -1
- package/dist/cjs/components/slider-field/SliderField.stories.d.ts +1 -2
- package/dist/cjs/components/smpte-field/SMPTEField.d.ts +1 -1
- package/dist/cjs/components/story-previewer/StoryPreviewer.js +10 -2
- package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
- package/dist/cjs/components/tabs/Tabs.stories.d.ts +2 -3
- package/dist/cjs/components/tag/Tag.d.ts +1 -9
- package/dist/cjs/components/text-area-autocomplete/TextAreaAutocomplete.d.ts +1 -2
- package/dist/cjs/components/text-area-field/TextAreaField.d.ts +1 -1
- package/dist/cjs/components/text-area-field/TextAreaField.stories.d.ts +1 -2
- package/dist/cjs/components/text-field/TextField.d.ts +1 -1
- package/dist/cjs/components/text-field/TextField.stories.d.ts +1 -2
- package/dist/cjs/components/text-field/TextField.test.d.ts +1 -0
- package/dist/cjs/components/text-field/TextField.test.js +540 -0
- package/dist/cjs/components/text-field/TextField.test.js.map +1 -0
- package/dist/cjs/constants/icons.d.ts +79 -80
- package/dist/cjs/test/setup.d.ts +1 -0
- package/dist/cjs/test/setup.js +97 -0
- package/dist/cjs/test/setup.js.map +1 -0
- package/dist/cjs/test/utils.d.ts +26 -0
- package/dist/cjs/test/utils.js +44 -0
- package/dist/cjs/test/utils.js.map +1 -0
- package/dist/esm/components/advanced-number-field/AdvancedNumberField.d.ts +1 -1
- package/dist/esm/components/advanced-number-field/AdvancedNumberField.test.d.ts +1 -0
- package/dist/esm/components/advanced-number-field/AdvancedNumberField.test.js +361 -0
- package/dist/esm/components/advanced-number-field/AdvancedNumberField.test.js.map +1 -0
- package/dist/esm/components/anchor-field/AnchorField.d.ts +1 -1
- package/dist/esm/components/anchor-field/AnchorField.test.d.ts +1 -0
- package/dist/esm/components/anchor-field/AnchorField.test.js +81 -0
- package/dist/esm/components/anchor-field/AnchorField.test.js.map +1 -0
- package/dist/esm/components/app-wrapper/AppWrapper.d.ts +0 -1
- package/dist/esm/components/app-wrapper/AppWrapper.js +1 -1
- package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/esm/components/asset-details/AssetDetails.test.d.ts +1 -0
- package/dist/esm/components/asset-details/AssetDetails.test.js +367 -0
- package/dist/esm/components/asset-details/AssetDetails.test.js.map +1 -0
- package/dist/esm/components/assets/AssetField.test.d.ts +1 -0
- package/dist/esm/components/assets/AssetField.test.js +311 -0
- package/dist/esm/components/assets/AssetField.test.js.map +1 -0
- package/dist/esm/components/assets/AssetsTableAssetIdCell.test.d.ts +1 -0
- package/dist/esm/components/assets/AssetsTableAssetIdCell.test.js +105 -0
- package/dist/esm/components/assets/AssetsTableAssetIdCell.test.js.map +1 -0
- package/dist/esm/components/assets/AssetsTableAssetIdFilter.test.d.ts +1 -0
- package/dist/esm/components/assets/AssetsTableAssetIdFilter.test.js +63 -0
- package/dist/esm/components/assets/AssetsTableAssetIdFilter.test.js.map +1 -0
- package/dist/esm/components/assets/AssetsTableComplexTagCell.test.d.ts +1 -0
- package/dist/esm/components/assets/AssetsTableComplexTagCell.test.js +100 -0
- package/dist/esm/components/assets/AssetsTableComplexTagCell.test.js.map +1 -0
- package/dist/esm/components/assets/AssetsTableDateCell.d.ts +1 -6
- package/dist/esm/components/assets/AssetsTableDateCell.test.d.ts +1 -0
- package/dist/esm/components/assets/AssetsTableDateCell.test.js +60 -0
- package/dist/esm/components/assets/AssetsTableDateCell.test.js.map +1 -0
- package/dist/esm/components/assets/AssetsTableGlobalCell.d.ts +1 -5
- package/dist/esm/components/assets/AssetsTablePreviewCell.d.ts +1 -17
- package/dist/esm/components/assets/AssetsTableStatusCell.d.ts +1 -5
- package/dist/esm/components/assets/AssetsTableTagsCell.d.ts +1 -6
- package/dist/esm/components/assets/AssetsTableTypeCell.d.ts +1 -5
- package/dist/esm/components/assets/AssetsTypeIcon.d.ts +1 -5
- package/dist/esm/components/assets/FontAssetPreview.d.ts +1 -1
- package/dist/esm/components/assets/StoryTableTotalRendersCell.d.ts +1 -2
- package/dist/esm/components/button/Button.d.ts +1 -1
- package/dist/esm/components/button/Button.stories.d.ts +5 -6
- package/dist/esm/components/button-group-field/ButtonGroupField.d.ts +1 -1
- package/dist/esm/components/button-group-field/ButtonGroupField.stories.d.ts +1 -2
- package/dist/esm/components/button-menu/ButtonMenu.d.ts +2 -2
- package/dist/esm/components/button-menu/ButtonMenu.stories.d.ts +1 -2
- package/dist/esm/components/button-menu/ButtonMenuItem.d.ts +1 -1
- package/dist/esm/components/card/Card.d.ts +4 -4
- package/dist/esm/components/card/Card.stories.d.ts +1 -2
- package/dist/esm/components/checkbox-field/CheckboxField.d.ts +1 -1
- package/dist/esm/components/checkbox-field/CheckboxField.stories.d.ts +1 -2
- package/dist/esm/components/color-field/ColorField.d.ts +1 -1
- package/dist/esm/components/color-field/ColorFiled.stories.d.ts +1 -2
- package/dist/esm/components/compositions/TextLayer.d.ts +1 -1
- package/dist/esm/components/config-variable-button/ConfigVariableButton.d.ts +1 -42
- package/dist/esm/components/confirm-modal/ConfirmModal.d.ts +1 -2
- package/dist/esm/components/controlled-list/ControlledList.d.ts +2 -2
- package/dist/esm/components/controlled-list/ControlledList.stories.d.ts +1 -2
- package/dist/esm/components/controlled-list/ControlledList.test.d.ts +1 -0
- package/dist/esm/components/controlled-list/ControlledList.test.js +400 -0
- package/dist/esm/components/controlled-list/ControlledList.test.js.map +1 -0
- package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.d.ts +1 -1
- package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.test.d.ts +1 -0
- package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.test.js +357 -0
- package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.test.js.map +1 -0
- package/dist/esm/components/determinate-loader/DeterminateLoader.stories.d.ts +3 -4
- package/dist/esm/components/dropdown/Dropdown.d.ts +1 -1
- package/dist/esm/components/dropdown/dropdown.stories.d.ts +1 -1
- package/dist/esm/components/field-wrapper/FieldWrapper.d.ts +2 -2
- package/dist/esm/components/field-wrapper/FieldWrapper.stories.d.ts +1 -2
- package/dist/esm/components/font-field/FontField.d.ts +1 -2
- package/dist/esm/components/font-picker/FontPicker.d.ts +1 -1
- package/dist/esm/components/h-rule/HRule.d.ts +1 -2
- package/dist/esm/components/h-rule/HRule.stories.d.ts +2 -3
- package/dist/esm/components/header/ProjectDropdown.d.ts +1 -2
- package/dist/esm/components/list-field/ListField.d.ts +1 -1
- package/dist/esm/components/list-field/ListField.stories.d.ts +1 -2
- package/dist/esm/components/log-viewer/LogViewer.d.ts +1 -1
- package/dist/esm/components/media-variable-field/MediaVariableField.d.ts +1 -1
- package/dist/esm/components/modal/Modal.d.ts +1 -1
- package/dist/esm/components/modal/Modal.stories.d.ts +1 -2
- package/dist/esm/components/number-field/NumberField.d.ts +1 -1
- package/dist/esm/components/number-field/NumberField.stories.d.ts +1 -2
- package/dist/esm/components/number-field/NumberField.test.d.ts +1 -0
- package/dist/esm/components/number-field/NumberField.test.js +192 -0
- package/dist/esm/components/number-field/NumberField.test.js.map +1 -0
- package/dist/esm/components/players/AudioPlayer.d.ts +1 -1
- package/dist/esm/components/players/AudioPreview.d.ts +1 -1
- package/dist/esm/components/players/ImagePlayer.d.ts +1 -1
- package/dist/esm/components/players/ImagePreview.d.ts +1 -1
- package/dist/esm/components/players/ImageSequencePlayer.d.ts +1 -1
- package/dist/esm/components/players/TemplatePlayer.d.ts +1 -1
- package/dist/esm/components/players/VideoPlayer.d.ts +1 -1
- package/dist/esm/components/players/VideoPreview.d.ts +1 -1
- package/dist/esm/components/publish-wizard/PublishWizard.d.ts +3 -3
- package/dist/esm/components/publish-wizard/publish/APIIntegration.d.ts +1 -1
- package/dist/esm/components/publish-wizard/publish/HubSpotFlow.d.ts +1 -1
- package/dist/esm/components/publish-wizard/publish/WebpageHosted.d.ts +2 -2
- package/dist/esm/components/section/Section.d.ts +1 -2
- package/dist/esm/components/section/Section.stories.d.ts +2 -3
- package/dist/esm/components/select-field/SelectField.d.ts +1 -1
- package/dist/esm/components/select-field/SelectField.stories.d.ts +1 -2
- package/dist/esm/components/shortcut-menu/ShortcutMenu.stories.d.ts +1 -2
- package/dist/esm/components/slider-field/SliderField.d.ts +1 -1
- package/dist/esm/components/slider-field/SliderField.stories.d.ts +1 -2
- package/dist/esm/components/smpte-field/SMPTEField.d.ts +1 -1
- package/dist/esm/components/story-previewer/StoryPreviewer.js +10 -2
- package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
- package/dist/esm/components/tabs/Tabs.stories.d.ts +2 -3
- package/dist/esm/components/tag/Tag.d.ts +1 -9
- package/dist/esm/components/text-area-autocomplete/TextAreaAutocomplete.d.ts +1 -2
- package/dist/esm/components/text-area-field/TextAreaField.d.ts +1 -1
- package/dist/esm/components/text-area-field/TextAreaField.stories.d.ts +1 -2
- package/dist/esm/components/text-field/TextField.d.ts +1 -1
- package/dist/esm/components/text-field/TextField.stories.d.ts +1 -2
- package/dist/esm/components/text-field/TextField.test.d.ts +1 -0
- package/dist/esm/components/text-field/TextField.test.js +469 -0
- package/dist/esm/components/text-field/TextField.test.js.map +1 -0
- package/dist/esm/constants/icons.d.ts +79 -80
- package/dist/esm/test/setup.d.ts +1 -0
- package/dist/esm/test/setup.js +70 -0
- package/dist/esm/test/setup.js.map +1 -0
- package/dist/esm/test/utils.d.ts +26 -0
- package/dist/esm/test/utils.js +27 -0
- package/dist/esm/test/utils.js.map +1 -0
- package/package.json +17 -6
- package/src/components/advanced-number-field/AdvancedNumberField.test.tsx +704 -0
- package/src/components/anchor-field/AnchorField.test.tsx +130 -0
- package/src/components/app-wrapper/AppWrapper.tsx +1 -6
- package/src/components/asset-details/AssetDetails.test.tsx +494 -0
- package/src/components/assets/AssetField.test.tsx +439 -0
- package/src/components/assets/AssetsTableAssetIdCell.test.tsx +134 -0
- package/src/components/assets/AssetsTableAssetIdFilter.test.tsx +95 -0
- package/src/components/assets/AssetsTableComplexTagCell.test.tsx +159 -0
- package/src/components/assets/AssetsTableDateCell.test.tsx +106 -0
- package/src/components/number-field/NumberField.test.tsx +383 -0
- package/src/components/number-field/NumberField.tsx +15 -9
- package/src/components/story-previewer/StoryPreviewer.tsx +10 -2
- package/src/components/text-field/TextField.test.tsx +988 -0
- package/src/test/setup.ts +91 -0
- package/src/test/utils.tsx +44 -0
- package/tsconfig.eslint.json +8 -0
- package/tsconfig.json +1 -1
- package/vitest.config.ts +31 -0
- package/src/components/service-icon/ServiceIcon.test.tsx +0 -0
- package/src/components/tag/Tag.test.tsx +0 -0
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { render, fireEvent } from '@testing-library/react';
|
|
4
|
+
// Mock Button component
|
|
5
|
+
vi.mock('../button/Button', () => ({
|
|
6
|
+
default: ({ children, tooltip, onClick, size, style, ...props }) => (React.createElement("button", { "data-testid": 'mock-button', "data-tooltip": typeof tooltip === 'string' ? tooltip : tooltip?.content, "data-size": size, "data-style": style, onClick: onClick, ...props }, children))
|
|
7
|
+
}));
|
|
8
|
+
// Mock clipboard icon
|
|
9
|
+
vi.mock('../../constants/icons', () => ({
|
|
10
|
+
ICON_CLIPBOARD: React.createElement("span", { "data-testid": 'icon-clipboard' }, "\uD83D\uDCCB")
|
|
11
|
+
}));
|
|
12
|
+
// Mock copy constants
|
|
13
|
+
vi.mock('../../constants/copy', () => ({
|
|
14
|
+
compositions: {
|
|
15
|
+
tooltipPropId: 'Copy Property ID'
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
|
+
import CopyPropIdButton from './CopyPropIdButton';
|
|
19
|
+
const createMockProps = (overrides = {}) => ({
|
|
20
|
+
copyPropId: 'test-prop-id-123',
|
|
21
|
+
...overrides
|
|
22
|
+
});
|
|
23
|
+
const renderComponent = (props = {}) => {
|
|
24
|
+
const mockProps = createMockProps(props);
|
|
25
|
+
return {
|
|
26
|
+
...render(React.createElement(CopyPropIdButton, { ...mockProps })),
|
|
27
|
+
props: mockProps
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
describe('CopyPropIdButton', () => {
|
|
31
|
+
let originalClipboard;
|
|
32
|
+
beforeEach(() => {
|
|
33
|
+
vi.clearAllMocks();
|
|
34
|
+
// Store original clipboard
|
|
35
|
+
originalClipboard = navigator.clipboard;
|
|
36
|
+
// Mock successful clipboard by default
|
|
37
|
+
Object.defineProperty(navigator, 'clipboard', {
|
|
38
|
+
value: {
|
|
39
|
+
writeText: vi.fn().mockResolvedValue(undefined)
|
|
40
|
+
},
|
|
41
|
+
writable: true,
|
|
42
|
+
configurable: true
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
afterEach(() => {
|
|
46
|
+
// Restore original clipboard
|
|
47
|
+
Object.defineProperty(navigator, 'clipboard', {
|
|
48
|
+
value: originalClipboard,
|
|
49
|
+
writable: true,
|
|
50
|
+
configurable: true
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
describe('Component Structure and Rendering', () => {
|
|
54
|
+
it('renders with correct structure and CSS classes', () => {
|
|
55
|
+
const { getByTestId } = renderComponent();
|
|
56
|
+
const button = getByTestId('mock-button');
|
|
57
|
+
expect(button).toBeTruthy();
|
|
58
|
+
});
|
|
59
|
+
it('renders clipboard icon', () => {
|
|
60
|
+
const { getByTestId } = renderComponent();
|
|
61
|
+
const icon = getByTestId('icon-clipboard');
|
|
62
|
+
expect(icon).toBeTruthy();
|
|
63
|
+
});
|
|
64
|
+
it('renders with correct button properties', () => {
|
|
65
|
+
const { getByTestId } = renderComponent();
|
|
66
|
+
const button = getByTestId('mock-button');
|
|
67
|
+
expect(button.getAttribute('data-size')).toBe('small');
|
|
68
|
+
expect(button.getAttribute('data-style')).toBe('subtle');
|
|
69
|
+
expect(button.getAttribute('data-tooltip')).toBe('Copy Property ID');
|
|
70
|
+
});
|
|
71
|
+
it('renders button as clickable element', () => {
|
|
72
|
+
const { getByTestId } = renderComponent();
|
|
73
|
+
const button = getByTestId('mock-button');
|
|
74
|
+
expect(button.tagName).toBe('BUTTON');
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
describe('Props Handling', () => {
|
|
78
|
+
it('accepts copyPropId prop', () => {
|
|
79
|
+
const customPropId = 'custom-property-id-456';
|
|
80
|
+
expect(() => {
|
|
81
|
+
renderComponent({ copyPropId: customPropId });
|
|
82
|
+
}).not.toThrow();
|
|
83
|
+
});
|
|
84
|
+
it('accepts onNotification callback prop', () => {
|
|
85
|
+
const mockOnNotification = vi.fn();
|
|
86
|
+
expect(() => {
|
|
87
|
+
renderComponent({ onNotification: mockOnNotification });
|
|
88
|
+
}).not.toThrow();
|
|
89
|
+
});
|
|
90
|
+
it('accepts onError callback prop', () => {
|
|
91
|
+
const mockOnError = vi.fn();
|
|
92
|
+
expect(() => {
|
|
93
|
+
renderComponent({ onError: mockOnError });
|
|
94
|
+
}).not.toThrow();
|
|
95
|
+
});
|
|
96
|
+
it('works with all optional props undefined', () => {
|
|
97
|
+
expect(() => {
|
|
98
|
+
renderComponent({
|
|
99
|
+
copyPropId: 'test-id'
|
|
100
|
+
// onNotification and onError are undefined
|
|
101
|
+
});
|
|
102
|
+
}).not.toThrow();
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
describe('Clipboard Copy Functionality', () => {
|
|
106
|
+
it('calls navigator.clipboard.writeText with correct prop ID when clicked', () => {
|
|
107
|
+
const propId = 'unique-property-id-789';
|
|
108
|
+
const { getByTestId } = renderComponent({ copyPropId: propId });
|
|
109
|
+
const button = getByTestId('mock-button');
|
|
110
|
+
fireEvent.click(button);
|
|
111
|
+
expect(navigator.clipboard.writeText).toHaveBeenCalledWith(propId);
|
|
112
|
+
expect(navigator.clipboard.writeText).toHaveBeenCalledTimes(1);
|
|
113
|
+
});
|
|
114
|
+
it('calls onNotification with success message when copy succeeds', async () => {
|
|
115
|
+
const mockOnNotification = vi.fn();
|
|
116
|
+
const { getByTestId } = renderComponent({
|
|
117
|
+
copyPropId: 'test-id',
|
|
118
|
+
onNotification: mockOnNotification
|
|
119
|
+
});
|
|
120
|
+
const button = getByTestId('mock-button');
|
|
121
|
+
fireEvent.click(button);
|
|
122
|
+
// Wait for promise to resolve
|
|
123
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
124
|
+
expect(mockOnNotification).toHaveBeenCalledWith('Property ID copied to clipboard.');
|
|
125
|
+
expect(mockOnNotification).toHaveBeenCalledTimes(1);
|
|
126
|
+
});
|
|
127
|
+
it('does not call onNotification when callback is not provided', async () => {
|
|
128
|
+
const { getByTestId } = renderComponent({
|
|
129
|
+
copyPropId: 'test-id'
|
|
130
|
+
// onNotification not provided
|
|
131
|
+
});
|
|
132
|
+
const button = getByTestId('mock-button');
|
|
133
|
+
fireEvent.click(button);
|
|
134
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
135
|
+
// Should not throw error even without callback
|
|
136
|
+
expect(navigator.clipboard.writeText).toHaveBeenCalledWith('test-id');
|
|
137
|
+
});
|
|
138
|
+
it('calls onError when clipboard write fails', async () => {
|
|
139
|
+
// Mock clipboard to fail
|
|
140
|
+
Object.defineProperty(navigator, 'clipboard', {
|
|
141
|
+
value: {
|
|
142
|
+
writeText: vi.fn().mockRejectedValue(new Error('Clipboard access denied'))
|
|
143
|
+
},
|
|
144
|
+
writable: true,
|
|
145
|
+
configurable: true
|
|
146
|
+
});
|
|
147
|
+
const mockOnError = vi.fn();
|
|
148
|
+
const { getByTestId } = renderComponent({
|
|
149
|
+
copyPropId: 'test-id',
|
|
150
|
+
onError: mockOnError
|
|
151
|
+
});
|
|
152
|
+
const button = getByTestId('mock-button');
|
|
153
|
+
fireEvent.click(button);
|
|
154
|
+
// Wait for promise to reject
|
|
155
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
156
|
+
expect(mockOnError).toHaveBeenCalledWith('Error copying property ID to clipboard.');
|
|
157
|
+
expect(mockOnError).toHaveBeenCalledTimes(1);
|
|
158
|
+
});
|
|
159
|
+
it('does not call onError when callback is not provided and copy fails', async () => {
|
|
160
|
+
// Mock clipboard to fail
|
|
161
|
+
Object.defineProperty(navigator, 'clipboard', {
|
|
162
|
+
value: {
|
|
163
|
+
writeText: vi.fn().mockRejectedValue(new Error('Clipboard access denied'))
|
|
164
|
+
},
|
|
165
|
+
writable: true,
|
|
166
|
+
configurable: true
|
|
167
|
+
});
|
|
168
|
+
const { getByTestId } = renderComponent({
|
|
169
|
+
copyPropId: 'test-id'
|
|
170
|
+
// onError not provided
|
|
171
|
+
});
|
|
172
|
+
const button = getByTestId('mock-button');
|
|
173
|
+
fireEvent.click(button);
|
|
174
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
175
|
+
// Should not throw error even without callback
|
|
176
|
+
expect(navigator.clipboard.writeText).toHaveBeenCalledWith('test-id');
|
|
177
|
+
});
|
|
178
|
+
it('handles multiple clicks correctly', async () => {
|
|
179
|
+
const mockOnNotification = vi.fn();
|
|
180
|
+
const propId = 'multi-click-test-id';
|
|
181
|
+
const { getByTestId } = renderComponent({
|
|
182
|
+
copyPropId: propId,
|
|
183
|
+
onNotification: mockOnNotification
|
|
184
|
+
});
|
|
185
|
+
const button = getByTestId('mock-button');
|
|
186
|
+
// Click multiple times
|
|
187
|
+
fireEvent.click(button);
|
|
188
|
+
fireEvent.click(button);
|
|
189
|
+
fireEvent.click(button);
|
|
190
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
191
|
+
expect(navigator.clipboard.writeText).toHaveBeenCalledTimes(3);
|
|
192
|
+
expect(navigator.clipboard.writeText).toHaveBeenNthCalledWith(1, propId);
|
|
193
|
+
expect(navigator.clipboard.writeText).toHaveBeenNthCalledWith(2, propId);
|
|
194
|
+
expect(navigator.clipboard.writeText).toHaveBeenNthCalledWith(3, propId);
|
|
195
|
+
expect(mockOnNotification).toHaveBeenCalledTimes(3);
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
describe('Event Handling', () => {
|
|
199
|
+
it('binds click handler correctly', () => {
|
|
200
|
+
const { getByTestId } = renderComponent();
|
|
201
|
+
const button = getByTestId('mock-button');
|
|
202
|
+
expect(button.onclick).toBeTruthy();
|
|
203
|
+
});
|
|
204
|
+
it('uses arrow function for click handler to maintain this context', () => {
|
|
205
|
+
const component = new CopyPropIdButton({ copyPropId: 'test' });
|
|
206
|
+
// Verify that clickHandler is bound to the component instance
|
|
207
|
+
expect(typeof component['clickHandler']).toBe('function');
|
|
208
|
+
});
|
|
209
|
+
it('calls copyPropId method when clicked', () => {
|
|
210
|
+
const component = new CopyPropIdButton({ copyPropId: 'test-id' });
|
|
211
|
+
const copyPropIdSpy = vi.spyOn(component, 'copyPropId');
|
|
212
|
+
// Simulate click handler call
|
|
213
|
+
component['clickHandler']();
|
|
214
|
+
expect(copyPropIdSpy).toHaveBeenCalledTimes(1);
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
describe('Component Architecture', () => {
|
|
218
|
+
it('extends React.PureComponent correctly', () => {
|
|
219
|
+
const props = createMockProps();
|
|
220
|
+
const component = new CopyPropIdButton(props);
|
|
221
|
+
expect(component).toBeInstanceOf(React.PureComponent);
|
|
222
|
+
expect(typeof component.render).toBe('function');
|
|
223
|
+
});
|
|
224
|
+
it('has correct component state type (undefined)', () => {
|
|
225
|
+
const props = createMockProps();
|
|
226
|
+
const component = new CopyPropIdButton(props);
|
|
227
|
+
expect(component.state).toBeUndefined();
|
|
228
|
+
});
|
|
229
|
+
it('has private methods with correct access modifiers', () => {
|
|
230
|
+
const component = new CopyPropIdButton({ copyPropId: 'test' });
|
|
231
|
+
// These should be accessible as they're part of the component
|
|
232
|
+
expect(typeof component['clickHandler']).toBe('function');
|
|
233
|
+
expect(typeof component['copyPropId']).toBe('function');
|
|
234
|
+
});
|
|
235
|
+
it('initializes with correct props', () => {
|
|
236
|
+
const testProps = createMockProps({
|
|
237
|
+
copyPropId: 'initialization-test-id'
|
|
238
|
+
});
|
|
239
|
+
const component = new CopyPropIdButton(testProps);
|
|
240
|
+
expect(component.props.copyPropId).toBe('initialization-test-id');
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
describe('Edge Cases and Error Scenarios', () => {
|
|
244
|
+
it('handles empty string copyPropId', async () => {
|
|
245
|
+
const mockOnNotification = vi.fn();
|
|
246
|
+
const { getByTestId } = renderComponent({
|
|
247
|
+
copyPropId: '',
|
|
248
|
+
onNotification: mockOnNotification
|
|
249
|
+
});
|
|
250
|
+
const button = getByTestId('mock-button');
|
|
251
|
+
fireEvent.click(button);
|
|
252
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
253
|
+
expect(navigator.clipboard.writeText).toHaveBeenCalledWith('');
|
|
254
|
+
expect(mockOnNotification).toHaveBeenCalledWith('Property ID copied to clipboard.');
|
|
255
|
+
});
|
|
256
|
+
it('handles very long copyPropId strings', async () => {
|
|
257
|
+
const longPropId = 'a'.repeat(1000);
|
|
258
|
+
const mockOnNotification = vi.fn();
|
|
259
|
+
const { getByTestId } = renderComponent({
|
|
260
|
+
copyPropId: longPropId,
|
|
261
|
+
onNotification: mockOnNotification
|
|
262
|
+
});
|
|
263
|
+
const button = getByTestId('mock-button');
|
|
264
|
+
fireEvent.click(button);
|
|
265
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
266
|
+
expect(navigator.clipboard.writeText).toHaveBeenCalledWith(longPropId);
|
|
267
|
+
expect(mockOnNotification).toHaveBeenCalledTimes(1);
|
|
268
|
+
});
|
|
269
|
+
it('handles special characters in copyPropId', async () => {
|
|
270
|
+
const specialCharsPropId = 'prop-id-with-特殊字符-and-émojis-🎉-and-symbols-@#$%^&*()';
|
|
271
|
+
const { getByTestId } = renderComponent({
|
|
272
|
+
copyPropId: specialCharsPropId
|
|
273
|
+
});
|
|
274
|
+
const button = getByTestId('mock-button');
|
|
275
|
+
fireEvent.click(button);
|
|
276
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
277
|
+
expect(navigator.clipboard.writeText).toHaveBeenCalledWith(specialCharsPropId);
|
|
278
|
+
});
|
|
279
|
+
it('documents that component expects clipboard API to be available', () => {
|
|
280
|
+
// This test documents that the component assumes navigator.clipboard exists
|
|
281
|
+
// and will throw an error if it's not available. This is expected behavior
|
|
282
|
+
// as the component is designed for modern browsers that support the Clipboard API.
|
|
283
|
+
const { getByTestId } = renderComponent({
|
|
284
|
+
copyPropId: 'test-id'
|
|
285
|
+
});
|
|
286
|
+
const button = getByTestId('mock-button');
|
|
287
|
+
expect(button).toBeTruthy();
|
|
288
|
+
// The component relies on navigator.clipboard being available
|
|
289
|
+
// If it's not available, the component would need to be enhanced
|
|
290
|
+
// to handle this gracefully or use a fallback method
|
|
291
|
+
});
|
|
292
|
+
});
|
|
293
|
+
describe('Accessibility and User Experience', () => {
|
|
294
|
+
it('provides meaningful tooltip text', () => {
|
|
295
|
+
const { getByTestId } = renderComponent();
|
|
296
|
+
const button = getByTestId('mock-button');
|
|
297
|
+
expect(button.getAttribute('data-tooltip')).toBe('Copy Property ID');
|
|
298
|
+
});
|
|
299
|
+
it('uses appropriate button sizing for UI context', () => {
|
|
300
|
+
const { getByTestId } = renderComponent();
|
|
301
|
+
const button = getByTestId('mock-button');
|
|
302
|
+
expect(button.getAttribute('data-size')).toBe('small');
|
|
303
|
+
});
|
|
304
|
+
it('uses subtle styling to not overpower interface', () => {
|
|
305
|
+
const { getByTestId } = renderComponent();
|
|
306
|
+
const button = getByTestId('mock-button');
|
|
307
|
+
expect(button.getAttribute('data-style')).toBe('subtle');
|
|
308
|
+
});
|
|
309
|
+
it('provides visual feedback through icon', () => {
|
|
310
|
+
const { getByTestId } = renderComponent();
|
|
311
|
+
const icon = getByTestId('icon-clipboard');
|
|
312
|
+
expect(icon).toBeTruthy();
|
|
313
|
+
expect(icon.textContent).toBe('📋');
|
|
314
|
+
});
|
|
315
|
+
});
|
|
316
|
+
describe('Integration with Dependencies', () => {
|
|
317
|
+
it('properly integrates with Button component', () => {
|
|
318
|
+
const { getByTestId } = renderComponent();
|
|
319
|
+
const button = getByTestId('mock-button');
|
|
320
|
+
// Verify all expected props are passed to Button
|
|
321
|
+
expect(button.getAttribute('data-tooltip')).toBe('Copy Property ID');
|
|
322
|
+
expect(button.getAttribute('data-size')).toBe('small');
|
|
323
|
+
expect(button.getAttribute('data-style')).toBe('subtle');
|
|
324
|
+
});
|
|
325
|
+
it('uses ICON_CLIPBOARD from constants', () => {
|
|
326
|
+
const { getByTestId } = renderComponent();
|
|
327
|
+
const icon = getByTestId('icon-clipboard');
|
|
328
|
+
expect(icon).toBeTruthy();
|
|
329
|
+
});
|
|
330
|
+
it('uses tooltip text from copy constants', () => {
|
|
331
|
+
const { getByTestId } = renderComponent();
|
|
332
|
+
const button = getByTestId('mock-button');
|
|
333
|
+
expect(button.getAttribute('data-tooltip')).toBe('Copy Property ID');
|
|
334
|
+
});
|
|
335
|
+
});
|
|
336
|
+
describe('Performance Considerations', () => {
|
|
337
|
+
it('uses PureComponent for optimal re-rendering', () => {
|
|
338
|
+
const component = new CopyPropIdButton({ copyPropId: 'test' });
|
|
339
|
+
expect(component).toBeInstanceOf(React.PureComponent);
|
|
340
|
+
});
|
|
341
|
+
it('binds click handler once during initialization', () => {
|
|
342
|
+
const component = new CopyPropIdButton({ copyPropId: 'test' });
|
|
343
|
+
const handler1 = component['clickHandler'];
|
|
344
|
+
const handler2 = component['clickHandler'];
|
|
345
|
+
// Should be the same function reference
|
|
346
|
+
expect(handler1).toBe(handler2);
|
|
347
|
+
});
|
|
348
|
+
it('does not create new functions on each render', () => {
|
|
349
|
+
const { rerender } = render(React.createElement(CopyPropIdButton, { copyPropId: "test1" }));
|
|
350
|
+
rerender(React.createElement(CopyPropIdButton, { copyPropId: "test2" }));
|
|
351
|
+
// Component should handle re-renders efficiently
|
|
352
|
+
// This test ensures no errors during re-render
|
|
353
|
+
expect(true).toBe(true);
|
|
354
|
+
});
|
|
355
|
+
});
|
|
356
|
+
});
|
|
357
|
+
//# sourceMappingURL=CopyPropIdButton.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CopyPropIdButton.test.js","sourceRoot":"","sources":["../../../../src/components/copy-prop-id-button/CopyPropIdButton.test.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAwB;AACxB,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAO,EAAE,EAAE,CAAC,CACrE,+CACgB,aAAa,kBACX,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,eAC3D,IAAI,gBACH,KAAK,EACjB,OAAO,EAAE,OAAO,KACZ,KAAK,IACR,QAAQ,CACJ,CACZ;CACJ,CAAC,CAAC,CAAC;AAEJ,sBAAsB;AACtB,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,cAAc,EAAE,6CAAkB,gBAAgB,mBAAU;CAC/D,CAAC,CAAC,CAAC;AAEJ,sBAAsB;AACtB,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,YAAY,EAAE;QACV,aAAa,EAAE,kBAAkB;KACpC;CACJ,CAAC,CAAC,CAAC;AAEJ,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAQlD,MAAM,eAAe,GAAG,CAAC,YAA6C,EAAE,EAA0B,EAAE,CAAC,CAAC;IAClG,UAAU,EAAE,kBAAkB;IAC9B,GAAG,SAAS;CACf,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,QAAyC,EAAE,EAAE,EAAE;IACpE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO;QACH,GAAG,MAAM,CAAC,oBAAC,gBAAgB,OAAK,SAAS,GAAI,CAAC;QAC9C,KAAK,EAAE,SAAS;KACnB,CAAC;AACN,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,IAAI,iBAA4B,CAAC;IAEjC,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,2BAA2B;QAC3B,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC;QAExC,uCAAuC;QACvC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;YAC1C,KAAK,EAAE;gBACH,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;aAClD;YACD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,6BAA6B;QAC7B,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;YAC1C,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAC9B,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,IAAI,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAC9C,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YAC/B,MAAM,YAAY,GAAG,wBAAwB,CAAC;YAC9C,MAAM,CAAC,GAAG,EAAE;gBACR,eAAe,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,EAAE;gBACR,eAAe,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACrC,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,EAAE;gBACR,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,GAAG,EAAE;gBACR,eAAe,CAAC;oBACZ,UAAU,EAAE,SAAS;oBACrB,2CAA2C;iBAC9C,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC7E,MAAM,MAAM,GAAG,wBAAwB,CAAC;YACxC,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAEhE,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;gBACpC,UAAU,EAAE,SAAS;gBACrB,cAAc,EAAE,kBAAkB;aACrC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,8BAA8B;YAC9B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;YACpF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;gBACpC,UAAU,EAAE,SAAS;gBACrB,8BAA8B;aACjC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,+CAA+C;YAC/C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACtD,yBAAyB;YACzB,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;gBAC1C,KAAK,EAAE;oBACH,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;iBAC7E;gBACD,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;aACrB,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;gBACpC,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,WAAW;aACvB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,6BAA6B;YAC7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;YACpF,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAChF,yBAAyB;YACzB,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;gBAC1C,KAAK,EAAE;oBACH,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;iBAC7E;gBACD,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;aACrB,CAAC,CAAC;YAEH,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;gBACpC,UAAU,EAAE,SAAS;gBACrB,uBAAuB;aAC1B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,+CAA+C;YAC/C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,qBAAqB,CAAC;YACrC,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;gBACpC,UAAU,EAAE,MAAM;gBAClB,cAAc,EAAE,kBAAkB;aACrC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAE1C,uBAAuB;YACvB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACrC,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACtE,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAE/D,8DAA8D;YAC9D,MAAM,CAAC,OAAO,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAClE,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,SAAgB,EAAE,YAAY,CAAC,CAAC;YAE/D,8BAA8B;YAC9B,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YAE5B,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACtD,MAAM,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YACzD,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAE/D,8DAA8D;YAC9D,MAAM,CAAC,OAAO,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,CAAC,OAAO,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACtC,MAAM,SAAS,GAAG,eAAe,CAAC;gBAC9B,UAAU,EAAE,wBAAwB;aACvC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAElD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;gBACpC,UAAU,EAAE,EAAE;gBACd,cAAc,EAAE,kBAAkB;aACrC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;gBACpC,UAAU,EAAE,UAAU;gBACtB,cAAc,EAAE,kBAAkB;aACrC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACvE,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,kBAAkB,GAAG,uDAAuD,CAAC;YACnF,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;gBACpC,UAAU,EAAE,kBAAkB;aACjC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACtE,4EAA4E;YAC5E,2EAA2E;YAC3E,mFAAmF;YAEnF,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;gBACpC,UAAU,EAAE,SAAS;aACxB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;YAE5B,8DAA8D;YAC9D,iEAAiE;YACjE,qDAAqD;QACzD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACrD,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,IAAI,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACjD,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,iDAAiD;YACjD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC1C,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,IAAI,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACnD,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YAE3C,wCAAwC;YACxC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,oBAAC,gBAAgB,IAAC,UAAU,EAAC,OAAO,GAAG,CAAC,CAAC;YACrE,QAAQ,CAAC,oBAAC,gBAAgB,IAAC,UAAU,EAAC,OAAO,GAAG,CAAC,CAAC;YAElD,iDAAiD;YACjD,+CAA+C;YAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
declare const _default: {
|
|
3
2
|
title: string;
|
|
4
3
|
component: React.FC<import("./DeterminateLoader").IDeterminateLoaderProps>;
|
|
5
4
|
};
|
|
6
5
|
export default _default;
|
|
7
|
-
export declare const DeterminateLoader50Percent: () =>
|
|
8
|
-
export declare const DeterminateLoader25Percent: () =>
|
|
9
|
-
export declare const DeterminateLoaderLoading: () =>
|
|
6
|
+
export declare const DeterminateLoader50Percent: () => any;
|
|
7
|
+
export declare const DeterminateLoader25Percent: () => any;
|
|
8
|
+
export declare const DeterminateLoaderLoading: () => any;
|
|
@@ -32,8 +32,8 @@ declare class FieldWrapper extends React.PureComponent<IFieldWrapperProps, IFiel
|
|
|
32
32
|
constructor(props: any);
|
|
33
33
|
private getLabelClass;
|
|
34
34
|
private renderLabel;
|
|
35
|
-
render():
|
|
35
|
+
render(): any;
|
|
36
36
|
private renderInfo;
|
|
37
|
-
renderButtons():
|
|
37
|
+
renderButtons(): any;
|
|
38
38
|
}
|
|
39
39
|
export default FieldWrapper;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import FieldWrapper from './FieldWrapper';
|
|
3
2
|
declare const _default: {
|
|
4
3
|
title: string;
|
|
5
4
|
component: typeof FieldWrapper;
|
|
6
5
|
};
|
|
7
6
|
export default _default;
|
|
8
|
-
export declare const defaultFieldWrapperWithSelectField: () =>
|
|
7
|
+
export declare const defaultFieldWrapperWithSelectField: () => any;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
interface IFontFieldProps {
|
|
3
2
|
font: string;
|
|
4
3
|
availableFonts: any[];
|
|
@@ -16,5 +15,5 @@ interface IFontFieldProps {
|
|
|
16
15
|
onClose?(e: boolean): void;
|
|
17
16
|
activeOverride: string;
|
|
18
17
|
}
|
|
19
|
-
declare const FontField: (props: IFontFieldProps) =>
|
|
18
|
+
declare const FontField: (props: IFontFieldProps) => any;
|
|
20
19
|
export default FontField;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
declare const _default: {
|
|
3
2
|
title: string;
|
|
4
|
-
component: (props: any) =>
|
|
3
|
+
component: (props: any) => any;
|
|
5
4
|
};
|
|
6
5
|
export default _default;
|
|
7
|
-
export declare const defaultHRule: () =>
|
|
6
|
+
export declare const defaultHRule: () => any;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
interface IProjectDropdownProps {
|
|
3
2
|
position: any;
|
|
4
3
|
api: any;
|
|
@@ -9,5 +8,5 @@ interface IProjectDropdownProps {
|
|
|
9
8
|
setAccessData(data: any): void;
|
|
10
9
|
onClose(): void;
|
|
11
10
|
}
|
|
12
|
-
export declare const ProjectDropdown: (props: IProjectDropdownProps) =>
|
|
11
|
+
export declare const ProjectDropdown: (props: IProjectDropdownProps) => any;
|
|
13
12
|
export {};
|
|
@@ -30,7 +30,7 @@ declare class ListField extends React.PureComponent<IListFieldProps, IListFieldS
|
|
|
30
30
|
private inputChanged;
|
|
31
31
|
private inputFocus;
|
|
32
32
|
private submitOption;
|
|
33
|
-
render():
|
|
33
|
+
render(): any;
|
|
34
34
|
renderButtons(): any[];
|
|
35
35
|
}
|
|
36
36
|
export default ListField;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import ListField from './ListField';
|
|
3
2
|
declare const _default: {
|
|
4
3
|
title: string;
|
|
5
4
|
component: typeof ListField;
|
|
6
5
|
};
|
|
7
6
|
export default _default;
|
|
8
|
-
export declare const defaultListFIeld: () =>
|
|
7
|
+
export declare const defaultListFIeld: () => any;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import Modal from './Modal';
|
|
3
2
|
declare const _default: {
|
|
4
3
|
title: string;
|
|
5
4
|
component: typeof Modal;
|
|
6
5
|
};
|
|
7
6
|
export default _default;
|
|
8
|
-
export declare const defaultModal: () =>
|
|
7
|
+
export declare const defaultModal: () => any;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import NumberField from './NumberField';
|
|
3
2
|
declare const _default: {
|
|
4
3
|
title: string;
|
|
5
4
|
component: typeof NumberField;
|
|
6
5
|
};
|
|
7
6
|
export default _default;
|
|
8
|
-
export declare const defaultNumberField: () =>
|
|
7
|
+
export declare const defaultNumberField: () => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|