@vonage/vivid-react 2.10.56 → 2.10.59
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/README.md +17 -7
- package/VwcAccordion/index.d.ts +14 -0
- package/VwcAccordion/index.js +59 -0
- package/VwcAccordion/package.json +11 -0
- package/VwcActionGroup/index.d.ts +18 -0
- package/VwcActionGroup/index.js +90 -0
- package/VwcActionGroup/package.json +11 -0
- package/VwcBadge/index.d.ts +29 -0
- package/VwcBadge/index.js +154 -0
- package/VwcBadge/package.json +11 -0
- package/VwcBanner/index.d.ts +26 -0
- package/VwcBanner/index.js +91 -0
- package/VwcBanner/package.json +11 -0
- package/VwcButton/index.d.ts +55 -0
- package/VwcButton/index.js +240 -0
- package/VwcButton/package.json +11 -0
- package/VwcButtonToggleGroup/index.d.ts +25 -0
- package/VwcButtonToggleGroup/index.js +91 -0
- package/VwcButtonToggleGroup/package.json +11 -0
- package/VwcCalendar/index.d.ts +20 -0
- package/VwcCalendar/index.js +70 -0
- package/VwcCalendar/package.json +11 -0
- package/VwcCalendarEvent/index.d.ts +25 -0
- package/VwcCalendarEvent/index.js +81 -0
- package/VwcCalendarEvent/package.json +11 -0
- package/VwcCard/index.d.ts +23 -0
- package/VwcCard/index.js +76 -0
- package/VwcCard/package.json +11 -0
- package/VwcCarousel/index.d.ts +14 -0
- package/VwcCarousel/index.js +45 -0
- package/VwcCarousel/package.json +11 -0
- package/VwcCarouselItem/index.d.ts +14 -0
- package/VwcCarouselItem/index.js +49 -0
- package/VwcCarouselItem/package.json +11 -0
- package/VwcCheckListItem/index.d.ts +41 -0
- package/VwcCheckListItem/index.js +153 -0
- package/VwcCheckListItem/package.json +11 -0
- package/VwcCheckbox/index.d.ts +34 -0
- package/VwcCheckbox/index.js +126 -0
- package/VwcCheckbox/package.json +11 -0
- package/VwcChip/index.d.ts +31 -0
- package/VwcChip/index.js +106 -0
- package/VwcChip/package.json +11 -0
- package/VwcChipSet/index.d.ts +16 -0
- package/VwcChipSet/index.js +60 -0
- package/VwcChipSet/package.json +11 -0
- package/VwcCircularProgress/index.d.ts +24 -0
- package/VwcCircularProgress/index.js +84 -0
- package/VwcCircularProgress/package.json +11 -0
- package/VwcDataGrid/index.d.ts +33 -0
- package/VwcDataGrid/index.js +122 -0
- package/VwcDataGrid/package.json +11 -0
- package/VwcDataGridColumn/index.d.ts +43 -0
- package/VwcDataGridColumn/index.js +144 -0
- package/VwcDataGridColumn/package.json +11 -0
- package/VwcDatepicker/index.d.ts +120 -0
- package/VwcDatepicker/index.js +422 -0
- package/VwcDatepicker/package.json +11 -0
- package/VwcDialog/index.d.ts +40 -0
- package/VwcDialog/index.js +135 -0
- package/VwcDialog/package.json +11 -0
- package/VwcDrawer/index.d.ts +20 -0
- package/VwcDrawer/index.js +80 -0
- package/VwcDrawer/package.json +11 -0
- package/VwcDropdown/index.d.ts +61 -0
- package/VwcDropdown/index.js +221 -0
- package/VwcDropdown/package.json +11 -0
- package/VwcElevation/index.d.ts +14 -0
- package/VwcElevation/index.js +45 -0
- package/VwcElevation/package.json +11 -0
- package/VwcEmptyState/index.d.ts +18 -0
- package/VwcEmptyState/index.js +59 -0
- package/VwcEmptyState/package.json +11 -0
- package/VwcExpansionPanel/index.d.ts +34 -0
- package/VwcExpansionPanel/index.js +199 -0
- package/VwcExpansionPanel/package.json +11 -0
- package/VwcFab/index.d.ts +32 -0
- package/VwcFab/index.js +124 -0
- package/VwcFab/package.json +11 -0
- package/VwcFilePicker/index.d.ts +24 -0
- package/VwcFilePicker/index.js +88 -0
- package/VwcFilePicker/package.json +11 -0
- package/VwcFormfield/index.d.ts +20 -0
- package/VwcFormfield/index.js +70 -0
- package/VwcFormfield/package.json +11 -0
- package/VwcHelperMessage/index.d.ts +14 -0
- package/VwcHelperMessage/index.js +49 -0
- package/VwcHelperMessage/package.json +11 -0
- package/VwcIcon/index.d.ts +22 -0
- package/VwcIcon/index.js +102 -0
- package/VwcIcon/package.json +11 -0
- package/VwcIconButton/index.d.ts +31 -0
- package/VwcIconButton/index.js +111 -0
- package/VwcIconButton/package.json +11 -0
- package/VwcIconButtonToggle/index.d.ts +37 -0
- package/VwcIconButtonToggle/index.js +136 -0
- package/VwcIconButtonToggle/package.json +11 -0
- package/VwcKeypad/index.d.ts +31 -0
- package/VwcKeypad/index.js +176 -0
- package/VwcKeypad/package.json +11 -0
- package/VwcLayout/index.d.ts +20 -0
- package/VwcLayout/index.js +105 -0
- package/VwcLayout/package.json +11 -0
- package/VwcLinearProgress/index.d.ts +26 -0
- package/VwcLinearProgress/index.js +98 -0
- package/VwcLinearProgress/package.json +11 -0
- package/VwcList/index.d.ts +35 -0
- package/VwcList/index.js +146 -0
- package/VwcList/package.json +11 -0
- package/VwcListExpansionPanel/index.d.ts +19 -0
- package/VwcListExpansionPanel/index.js +68 -0
- package/VwcListExpansionPanel/package.json +11 -0
- package/VwcListItem/index.d.ts +42 -0
- package/VwcListItem/index.js +171 -0
- package/VwcListItem/package.json +11 -0
- package/VwcMenu/index.d.ts +53 -0
- package/VwcMenu/index.js +210 -0
- package/VwcMenu/package.json +11 -0
- package/VwcNotchedOutline/index.d.ts +17 -0
- package/VwcNotchedOutline/index.js +58 -0
- package/VwcNotchedOutline/package.json +11 -0
- package/VwcNote/index.d.ts +18 -0
- package/VwcNote/index.js +59 -0
- package/VwcNote/package.json +11 -0
- package/VwcPagination/index.d.ts +17 -0
- package/VwcPagination/index.js +55 -0
- package/VwcPagination/package.json +11 -0
- package/VwcPopup/index.d.ts +30 -0
- package/VwcPopup/index.js +147 -0
- package/VwcPopup/package.json +11 -0
- package/VwcRadio/index.d.ts +52 -0
- package/VwcRadio/index.js +149 -0
- package/VwcRadio/package.json +11 -0
- package/VwcRadioListItem/index.d.ts +41 -0
- package/VwcRadioListItem/index.js +148 -0
- package/VwcRadioListItem/package.json +11 -0
- package/VwcSchemeSelect/index.d.ts +14 -0
- package/VwcSchemeSelect/index.js +46 -0
- package/VwcSchemeSelect/package.json +11 -0
- package/VwcSelect/index.d.ts +60 -0
- package/VwcSelect/index.js +253 -0
- package/VwcSelect/package.json +11 -0
- package/VwcSideDrawer/index.d.ts +22 -0
- package/VwcSideDrawer/index.js +73 -0
- package/VwcSideDrawer/package.json +11 -0
- package/VwcSlider/index.d.ts +34 -0
- package/VwcSlider/index.js +129 -0
- package/VwcSlider/package.json +11 -0
- package/VwcSnackbar/index.d.ts +42 -0
- package/VwcSnackbar/index.js +138 -0
- package/VwcSnackbar/package.json +11 -0
- package/VwcSurface/index.d.ts +42 -0
- package/VwcSurface/index.js +145 -0
- package/VwcSurface/package.json +11 -0
- package/VwcSwitch/index.d.ts +27 -0
- package/VwcSwitch/index.js +114 -0
- package/VwcSwitch/package.json +11 -0
- package/VwcTab/index.d.ts +40 -0
- package/VwcTab/index.js +151 -0
- package/VwcTab/package.json +11 -0
- package/VwcTabBar/index.d.ts +15 -0
- package/VwcTabBar/index.js +55 -0
- package/VwcTabBar/package.json +11 -0
- package/VwcTag/index.d.ts +34 -0
- package/VwcTag/index.js +115 -0
- package/VwcTag/package.json +11 -0
- package/VwcText/index.d.ts +18 -0
- package/VwcText/index.js +83 -0
- package/VwcText/package.json +11 -0
- package/VwcTextarea/index.d.ts +93 -0
- package/VwcTextarea/index.js +331 -0
- package/VwcTextarea/package.json +11 -0
- package/VwcTextfield/index.d.ts +89 -0
- package/VwcTextfield/index.js +329 -0
- package/VwcTextfield/package.json +11 -0
- package/VwcThemeSwitch/index.d.ts +14 -0
- package/VwcThemeSwitch/index.js +57 -0
- package/VwcThemeSwitch/package.json +11 -0
- package/VwcTooltip/index.d.ts +22 -0
- package/VwcTooltip/index.js +105 -0
- package/VwcTooltip/package.json +11 -0
- package/VwcTopAppBar/index.d.ts +22 -0
- package/VwcTopAppBar/index.js +77 -0
- package/VwcTopAppBar/package.json +11 -0
- package/VwcTopAppBarFixed/index.d.ts +22 -0
- package/VwcTopAppBarFixed/index.js +88 -0
- package/VwcTopAppBarFixed/package.json +11 -0
- package/index.js +319 -0
- package/package.json +9 -10
- package/types/index.d.ts +293 -1
- package/v3/VwcAccordion/index.d.ts +17 -0
- package/v3/VwcAccordion/index.js +55 -0
- package/v3/VwcAccordion/package.json +11 -0
- package/v3/VwcAccordionItem/index.d.ts +22 -0
- package/v3/VwcAccordionItem/index.js +121 -0
- package/v3/VwcAccordionItem/package.json +11 -0
- package/v3/VwcActionGroup/index.d.ts +24 -0
- package/v3/VwcActionGroup/index.js +139 -0
- package/v3/VwcActionGroup/package.json +11 -0
- package/v3/VwcAlert/index.d.ts +34 -0
- package/v3/VwcAlert/index.js +266 -0
- package/v3/VwcAlert/package.json +11 -0
- package/v3/VwcAvatar/index.d.ts +26 -0
- package/v3/VwcAvatar/index.js +183 -0
- package/v3/VwcAvatar/package.json +11 -0
- package/v3/VwcBadge/index.d.ts +22 -0
- package/v3/VwcBadge/index.js +271 -0
- package/v3/VwcBadge/package.json +11 -0
- package/v3/VwcBanner/index.d.ts +28 -0
- package/v3/VwcBanner/index.js +204 -0
- package/v3/VwcBanner/package.json +11 -0
- package/v3/VwcBreadcrumb/index.d.ts +15 -0
- package/v3/VwcBreadcrumb/index.js +35 -0
- package/v3/VwcBreadcrumb/package.json +11 -0
- package/v3/VwcBreadcrumbItem/index.d.ts +16 -0
- package/v3/VwcBreadcrumbItem/index.js +47 -0
- package/v3/VwcBreadcrumbItem/package.json +11 -0
- package/v3/VwcButton/index.d.ts +29 -0
- package/v3/VwcButton/index.js +286 -0
- package/v3/VwcButton/package.json +11 -0
- package/v3/VwcCalendar/index.d.ts +35 -0
- package/v3/VwcCalendar/index.js +224 -0
- package/v3/VwcCalendar/package.json +11 -0
- package/v3/VwcCalendarEvent/index.d.ts +28 -0
- package/v3/VwcCalendarEvent/index.js +264 -0
- package/v3/VwcCalendarEvent/package.json +11 -0
- package/v3/VwcCard/index.d.ts +31 -0
- package/v3/VwcCard/index.js +154 -0
- package/v3/VwcCard/package.json +11 -0
- package/v3/VwcCheckbox/index.d.ts +16 -0
- package/v3/VwcCheckbox/index.js +100 -0
- package/v3/VwcCheckbox/package.json +11 -0
- package/v3/VwcCombobox/index.d.ts +22 -0
- package/v3/VwcCombobox/index.js +87 -0
- package/v3/VwcCombobox/package.json +11 -0
- package/v3/VwcDataGrid/index.d.ts +16 -0
- package/v3/VwcDataGrid/index.js +118 -0
- package/v3/VwcDataGrid/package.json +11 -0
- package/v3/VwcDataGridCell/index.d.ts +18 -0
- package/v3/VwcDataGridCell/index.js +145 -0
- package/v3/VwcDataGridCell/package.json +11 -0
- package/v3/VwcDataGridRow/index.d.ts +16 -0
- package/v3/VwcDataGridRow/index.js +99 -0
- package/v3/VwcDataGridRow/package.json +11 -0
- package/v3/VwcDialog/index.d.ts +36 -0
- package/v3/VwcDialog/index.js +283 -0
- package/v3/VwcDialog/package.json +11 -0
- package/v3/VwcDivider/index.d.ts +15 -0
- package/v3/VwcDivider/index.js +29 -0
- package/v3/VwcDivider/package.json +11 -0
- package/v3/VwcElevation/index.d.ts +18 -0
- package/v3/VwcElevation/index.js +73 -0
- package/v3/VwcElevation/package.json +11 -0
- package/v3/VwcEmptyState/index.d.ts +18 -0
- package/v3/VwcEmptyState/index.js +81 -0
- package/v3/VwcEmptyState/package.json +11 -0
- package/v3/VwcFab/index.d.ts +20 -0
- package/v3/VwcFab/index.js +134 -0
- package/v3/VwcFab/package.json +11 -0
- package/v3/VwcFocus/index.d.ts +15 -0
- package/v3/VwcFocus/index.js +29 -0
- package/v3/VwcFocus/package.json +11 -0
- package/v3/VwcHeader/index.d.ts +18 -0
- package/v3/VwcHeader/index.js +84 -0
- package/v3/VwcHeader/package.json +11 -0
- package/v3/VwcIcon/index.d.ts +20 -0
- package/v3/VwcIcon/index.js +118 -0
- package/v3/VwcIcon/package.json +11 -0
- package/v3/VwcLayout/index.d.ts +24 -0
- package/v3/VwcLayout/index.js +127 -0
- package/v3/VwcLayout/package.json +11 -0
- package/v3/VwcListbox/index.d.ts +16 -0
- package/v3/VwcListbox/index.js +74 -0
- package/v3/VwcListbox/package.json +11 -0
- package/v3/VwcListboxOption/index.d.ts +22 -0
- package/v3/VwcListboxOption/index.js +104 -0
- package/v3/VwcListboxOption/package.json +11 -0
- package/v3/VwcMenu/index.d.ts +27 -0
- package/v3/VwcMenu/index.js +148 -0
- package/v3/VwcMenu/package.json +11 -0
- package/v3/VwcMenuItem/index.d.ts +18 -0
- package/v3/VwcMenuItem/index.js +97 -0
- package/v3/VwcMenuItem/package.json +11 -0
- package/v3/VwcNav/index.d.ts +16 -0
- package/v3/VwcNav/index.js +35 -0
- package/v3/VwcNav/package.json +11 -0
- package/v3/VwcNavDisclosure/index.d.ts +21 -0
- package/v3/VwcNavDisclosure/index.js +103 -0
- package/v3/VwcNavDisclosure/package.json +11 -0
- package/v3/VwcNavItem/index.d.ts +17 -0
- package/v3/VwcNavItem/index.js +80 -0
- package/v3/VwcNavItem/package.json +11 -0
- package/v3/VwcNote/index.d.ts +18 -0
- package/v3/VwcNote/index.js +132 -0
- package/v3/VwcNote/package.json +11 -0
- package/v3/VwcNumberField/index.d.ts +20 -0
- package/v3/VwcNumberField/index.js +149 -0
- package/v3/VwcNumberField/package.json +11 -0
- package/v3/VwcPagination/index.d.ts +28 -0
- package/v3/VwcPagination/index.js +174 -0
- package/v3/VwcPagination/package.json +11 -0
- package/v3/VwcPopup/index.d.ts +32 -0
- package/v3/VwcPopup/index.js +311 -0
- package/v3/VwcPopup/package.json +11 -0
- package/v3/VwcProgress/index.d.ts +20 -0
- package/v3/VwcProgress/index.js +110 -0
- package/v3/VwcProgress/package.json +11 -0
- package/v3/VwcProgressRing/index.d.ts +18 -0
- package/v3/VwcProgressRing/index.js +79 -0
- package/v3/VwcProgressRing/package.json +11 -0
- package/v3/VwcRadio/index.d.ts +16 -0
- package/v3/VwcRadio/index.js +68 -0
- package/v3/VwcRadio/package.json +11 -0
- package/v3/VwcRadioGroup/index.d.ts +16 -0
- package/v3/VwcRadioGroup/index.js +56 -0
- package/v3/VwcRadioGroup/package.json +11 -0
- package/v3/VwcSelect/index.d.ts +24 -0
- package/v3/VwcSelect/index.js +159 -0
- package/v3/VwcSelect/package.json +11 -0
- package/v3/VwcSideDrawer/index.d.ts +22 -0
- package/v3/VwcSideDrawer/index.js +133 -0
- package/v3/VwcSideDrawer/package.json +11 -0
- package/v3/VwcSlider/index.d.ts +16 -0
- package/v3/VwcSlider/index.js +51 -0
- package/v3/VwcSlider/package.json +11 -0
- package/v3/VwcSwitch/index.d.ts +18 -0
- package/v3/VwcSwitch/index.js +162 -0
- package/v3/VwcSwitch/package.json +11 -0
- package/v3/VwcTab/index.d.ts +20 -0
- package/v3/VwcTab/index.js +81 -0
- package/v3/VwcTab/package.json +11 -0
- package/v3/VwcTabPanel/index.d.ts +15 -0
- package/v3/VwcTabPanel/index.js +35 -0
- package/v3/VwcTabPanel/package.json +11 -0
- package/v3/VwcTabs/index.d.ts +16 -0
- package/v3/VwcTabs/index.js +126 -0
- package/v3/VwcTabs/package.json +11 -0
- package/v3/VwcTag/index.d.ts +30 -0
- package/v3/VwcTag/index.js +266 -0
- package/v3/VwcTag/package.json +11 -0
- package/v3/VwcTagGroup/index.d.ts +15 -0
- package/v3/VwcTagGroup/index.js +29 -0
- package/v3/VwcTagGroup/package.json +11 -0
- package/v3/VwcTextAnchor/index.d.ts +16 -0
- package/v3/VwcTextAnchor/index.js +50 -0
- package/v3/VwcTextAnchor/package.json +11 -0
- package/v3/VwcTextArea/index.d.ts +16 -0
- package/v3/VwcTextArea/index.js +121 -0
- package/v3/VwcTextArea/package.json +11 -0
- package/v3/VwcTextField/index.d.ts +20 -0
- package/v3/VwcTextField/index.js +149 -0
- package/v3/VwcTextField/package.json +11 -0
- package/v3/VwcToggletip/index.d.ts +24 -0
- package/v3/VwcToggletip/index.js +233 -0
- package/v3/VwcToggletip/package.json +11 -0
- package/v3/VwcTooltip/index.d.ts +23 -0
- package/v3/VwcTooltip/index.js +196 -0
- package/v3/VwcTooltip/package.json +11 -0
- package/v3/VwcTreeItem/index.d.ts +16 -0
- package/v3/VwcTreeItem/index.js +78 -0
- package/v3/VwcTreeItem/package.json +11 -0
- package/v3/VwcTreeView/index.d.ts +15 -0
- package/v3/VwcTreeView/index.js +35 -0
- package/v3/VwcTreeView/package.json +11 -0
- package/.storybook/main.js +0 -11
- package/.storybook/preview.js +0 -3
- package/babel.config.js +0 -38
- package/rollup.config.js +0 -30
- package/scripts/cli.js +0 -28
- package/scripts/generateWrappers/consts.js +0 -226
- package/scripts/generateWrappers/generator.js +0 -130
- package/scripts/generateWrappers/helpers/generator.js +0 -18
- package/scripts/generateWrappers/helpers/generator.test.js +0 -56
- package/scripts/generateWrappers/index.js +0 -0
- package/scripts/generateWrappers/prop.types.js +0 -86
- package/scripts/generateWrappers/templates/js/index.tmpl +0 -2
- package/scripts/generateWrappers/templates/js/react-component.tmpl +0 -30
- package/scripts/generateWrappers/templates/js/stories.tmpl +0 -18
- package/scripts/generateWrappers/templates/templates.js +0 -36
- package/scripts/generateWrappers/templates/ts/index.tmpl +0 -2
- package/scripts/generateWrappers/templates/ts/react-component.tmpl +0 -28
- package/scripts/generateWrappers/utils.js +0 -226
- package/scripts/generateWrappers/utils.test.js +0 -71
- package/scripts/updateDocs.js +0 -42
- package/scripts/updateVividPackages.js +0 -81
- package/src/dataGrid/index.js +0 -15
- package/src/index.js +0 -3
- package/src/initialization/initVivid.js +0 -24
- package/src/patches/VwcCard/index.js +0 -2
- package/src/patches/VwcCard/vwcCardHeadingCrop.js +0 -28
- package/src/patches/VwcCard/vwcCardWithMenu.js +0 -14
- package/src/patches/index.js +0 -6
- package/src/patches/vwcDataGrid.js +0 -26
- package/src/patches/vwcNoteContentOverflow.js +0 -20
- package/src/patches/vwcSetAttributeValue.js +0 -12
- package/src/patches/vwcSnackBarHtmlMessage.js +0 -21
- package/src/patches/vwcTooltip.js +0 -46
- package/stories/VwcAccordion/VwcAccordion.stories.jsx +0 -18
- package/stories/VwcActionGroup/VwcActionGroup.stories.jsx +0 -18
- package/stories/VwcBadge/VwcBadge.stories.jsx +0 -18
- package/stories/VwcBanner/VwcBanner.stories.jsx +0 -18
- package/stories/VwcButton/VwcButton.stories.jsx +0 -18
- package/stories/VwcButtonToggleGroup/VwcButtonToggleGroup.stories.jsx +0 -47
- package/stories/VwcCalendar/VwcCalendar.stories.jsx +0 -18
- package/stories/VwcCalendarEvent/VwcCalendarEvent.stories.jsx +0 -18
- package/stories/VwcCard/VwcCard.stories.jsx +0 -90
- package/stories/VwcCarousel/VwcCarousel.stories.jsx +0 -18
- package/stories/VwcCarouselItem/VwcCarouselItem.stories.jsx +0 -18
- package/stories/VwcCheckListItem/VwcCheckListItem.stories.jsx +0 -18
- package/stories/VwcCheckbox/VwcCheckbox.stories.jsx +0 -18
- package/stories/VwcChip/VwcChip.stories.jsx +0 -18
- package/stories/VwcChipSet/VwcChipSet.stories.jsx +0 -38
- package/stories/VwcCircularProgress/VwcCircularProgress.stories.jsx +0 -18
- package/stories/VwcDataGrid/VwcDataGrid.stories.jsx +0 -109
- package/stories/VwcDataGridColumn/VwcDataGridColumn.stories.jsx +0 -18
- package/stories/VwcDatepicker/VwcDatepicker.stories.jsx +0 -18
- package/stories/VwcDialog/VwcDialog.stories.jsx +0 -18
- package/stories/VwcDrawer/VwcDrawer.stories.jsx +0 -18
- package/stories/VwcDropdown/VwcDropdown.stories.jsx +0 -18
- package/stories/VwcElevation/VwcElevation.stories.jsx +0 -18
- package/stories/VwcEmptyState/VwcEmptyState.stories.jsx +0 -18
- package/stories/VwcExpansionPanel/VwcExpansionPanel.stories.jsx +0 -18
- package/stories/VwcFab/VwcFab.stories.jsx +0 -18
- package/stories/VwcFilePicker/VwcFilePicker.stories.jsx +0 -18
- package/stories/VwcFormfield/VwcFormfield.stories.jsx +0 -18
- package/stories/VwcHelperMessage/VwcHelperMessage.stories.jsx +0 -18
- package/stories/VwcIcon/VwcIcon.stories.jsx +0 -18
- package/stories/VwcIconButton/VwcIconButton.stories.jsx +0 -18
- package/stories/VwcIconButtonToggle/VwcIconButtonToggle.stories.jsx +0 -18
- package/stories/VwcKeypad/VwcKeypad.stories.jsx +0 -18
- package/stories/VwcLayout/VwcLayout.stories.jsx +0 -63
- package/stories/VwcLinearProgress/VwcLinearProgress.stories.jsx +0 -18
- package/stories/VwcList/VwcList.stories.jsx +0 -25
- package/stories/VwcListExpansionPanel/VwcListExpansionPanel.stories.jsx +0 -18
- package/stories/VwcListItem/VwcListItem.stories.jsx +0 -18
- package/stories/VwcMenu/VwcMenu.stories.jsx +0 -41
- package/stories/VwcNotchedOutline/VwcNotchedOutline.stories.jsx +0 -18
- package/stories/VwcNote/VwcNote.stories.jsx +0 -18
- package/stories/VwcPagination/VwcPagination.stories.jsx +0 -18
- package/stories/VwcPopup/VwcPopup.stories.jsx +0 -18
- package/stories/VwcRadio/VwcRadio.stories.jsx +0 -18
- package/stories/VwcRadioListItem/VwcRadioListItem.stories.jsx +0 -18
- package/stories/VwcSchemeSelect/VwcSchemeSelect.stories.jsx +0 -18
- package/stories/VwcSelect/VwcSelect.stories.jsx +0 -18
- package/stories/VwcSideDrawer/VwcSideDrawer.stories.jsx +0 -18
- package/stories/VwcSlider/VwcSlider.stories.jsx +0 -18
- package/stories/VwcSnackbar/VwcSnackbar.stories.jsx +0 -18
- package/stories/VwcSurface/VwcSurface.stories.jsx +0 -18
- package/stories/VwcSwitch/VwcSwitch.stories.jsx +0 -18
- package/stories/VwcTab/VwcTab.stories.jsx +0 -18
- package/stories/VwcTabBar/VwcTabBar.stories.jsx +0 -63
- package/stories/VwcTag/VwcTag.stories.jsx +0 -18
- package/stories/VwcText/VwcText.stories.jsx +0 -18
- package/stories/VwcTextarea/VwcTextarea.stories.jsx +0 -24
- package/stories/VwcTextfield/VwcTextfield.stories.jsx +0 -47
- package/stories/VwcThemeSwitch/VwcThemeSwitch.stories.jsx +0 -18
- package/stories/VwcTooltip/VwcTooltip.stories.jsx +0 -41
- package/stories/VwcTopAppBar/VwcTopAppBar.stories.jsx +0 -18
- package/stories/VwcTopAppBarFixed/VwcTopAppBarFixed.stories.jsx +0 -18
- package/stories/patches/patches.stories.jsx +0 -94
- package/tsconfig.json +0 -70
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
const { posix, win32 } = require('path')
|
|
2
|
-
const { getImportsFromTag } = require('./generator')
|
|
3
|
-
|
|
4
|
-
describe('getImportsFromTag', () => {
|
|
5
|
-
const mainComponentTag = {
|
|
6
|
-
name: 'vwc-list',
|
|
7
|
-
path: './../node_modules/@vonage/vwc-list/src/vwc-list.ts'
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const subComponentExclusionTag = {
|
|
11
|
-
name: 'vwc-tag',
|
|
12
|
-
path: './..\\node_modules\\@vonage\\vwc-tags\\vwc-tag.d.ts'
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const subComponentTag = {
|
|
16
|
-
name: 'vwc-radio-list-item',
|
|
17
|
-
path: './../node_modules/@vonage/vwc-list/src/vwc-radio-list-item.ts'
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
it('should create a default import for main component', () => {
|
|
21
|
-
const result = getImportsFromTag(mainComponentTag)
|
|
22
|
-
|
|
23
|
-
expect(result).toEqual([`import '@vonage/vwc-list'`])
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
it('should create import from specific file for subcomponent and main component import', () => {
|
|
27
|
-
const result = getImportsFromTag(subComponentTag)
|
|
28
|
-
|
|
29
|
-
expect(result).toEqual([
|
|
30
|
-
`import '@vonage/vwc-list'`,
|
|
31
|
-
`import '@vonage/vwc-list/${subComponentTag.name}'`
|
|
32
|
-
])
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
it('should create import from specific file for subcomponent with exclusion', () => {
|
|
36
|
-
const result = getImportsFromTag(subComponentExclusionTag)
|
|
37
|
-
|
|
38
|
-
expect(result).toEqual([
|
|
39
|
-
`import '@vonage/vwc-tags/${subComponentExclusionTag.name}'`
|
|
40
|
-
])
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
it('should work for win32 paths', () => {
|
|
44
|
-
const winTag = {
|
|
45
|
-
...subComponentTag,
|
|
46
|
-
path: subComponentTag.path.split(posix.sep).join(win32.sep)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const result = getImportsFromTag(winTag)
|
|
50
|
-
|
|
51
|
-
expect(result).toEqual([
|
|
52
|
-
`import '@vonage/vwc-list'`,
|
|
53
|
-
`import '@vonage/vwc-list/${subComponentTag.name}'`
|
|
54
|
-
])
|
|
55
|
-
})
|
|
56
|
-
})
|
|
File without changes
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
const { event2PropName, getProperties } = require('./utils')
|
|
2
|
-
|
|
3
|
-
// Common
|
|
4
|
-
|
|
5
|
-
const getEvents = tag => (tag.events || []).map(x => x.propName || event2PropName(x.name || x))
|
|
6
|
-
const isTypeSet = type => /(".*?" \|)/.test(type)
|
|
7
|
-
const isStringTypeSet = type => /".*"[ |]?/.test(type) && /".*"[ |]?/.exec(type)[0] === type
|
|
8
|
-
const isBoolean = type => /^(true|false)$/.test(type) || type === 'boolean'
|
|
9
|
-
const isArray = type => /(.*)\[\]$/gm.test(type) || type === 'array'
|
|
10
|
-
const isNumber = type => /(integer)/.test(type) || type === 'number | null'
|
|
11
|
-
|
|
12
|
-
// TypeScript
|
|
13
|
-
|
|
14
|
-
const getProps = tag => {
|
|
15
|
-
const eventsProps = getEvents(tag).map(x => ` ${x}?: (event: SyntheticEvent) => void`)
|
|
16
|
-
|
|
17
|
-
const properties = getProperties(tag)
|
|
18
|
-
const mapType = type => ([
|
|
19
|
-
'boolean',
|
|
20
|
-
'Boolean',
|
|
21
|
-
'string',
|
|
22
|
-
'string | null',
|
|
23
|
-
'string | undefined',
|
|
24
|
-
'string | number',
|
|
25
|
-
'number',
|
|
26
|
-
'unknown'].indexOf(type) >= 0 ||
|
|
27
|
-
isTypeSet(type))
|
|
28
|
-
? type
|
|
29
|
-
: isBoolean(type)
|
|
30
|
-
? 'boolean'
|
|
31
|
-
: isNumber(type)
|
|
32
|
-
? 'number'
|
|
33
|
-
: isArray(type)
|
|
34
|
-
? 'any[]'
|
|
35
|
-
: `any /* ${type} */`
|
|
36
|
-
const props = properties.map(x => ` ${x.name}?: ${mapType(x.type)}`)
|
|
37
|
-
|
|
38
|
-
return [
|
|
39
|
-
...eventsProps,
|
|
40
|
-
...props
|
|
41
|
-
]
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// JavaScript
|
|
45
|
-
|
|
46
|
-
const getDefaultProps = tag => {
|
|
47
|
-
const defaultProperties = getProperties(tag).filter(x => x.default)
|
|
48
|
-
return defaultProperties.map(x => ` ${x.name}: ${x.default}`)
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const getPropTypes = tag => {
|
|
52
|
-
const eventsPropTypes = getEvents(tag).map(x => ` ${x}: PropTypes.func`)
|
|
53
|
-
|
|
54
|
-
const properties = getProperties(tag)
|
|
55
|
-
const isString = type => type === 'string | undefined' || type === 'string | null'
|
|
56
|
-
const getSetTypeOptions = setType => setType.split('|').map(x => x.trim())
|
|
57
|
-
const mapTypeToPropType = type => ['boolean', 'string', 'number', 'array'].indexOf(type) >= 0
|
|
58
|
-
? (type === 'boolean' ? 'bool' : type)
|
|
59
|
-
: isStringTypeSet(type)
|
|
60
|
-
? `oneOf([${getSetTypeOptions(type).join(',')}])`
|
|
61
|
-
: isString(type)
|
|
62
|
-
? 'string'
|
|
63
|
-
: isNumber(type)
|
|
64
|
-
? 'number'
|
|
65
|
-
: isArray(type)
|
|
66
|
-
? 'array'
|
|
67
|
-
: isBoolean(type)
|
|
68
|
-
? 'bool'
|
|
69
|
-
: `any /* ${type || 'type not provided'} */`
|
|
70
|
-
const propertiesPropTypes = properties.map(x =>
|
|
71
|
-
` ${x.name}: PropTypes.${mapTypeToPropType(x.type)}${x.default ? `/* default: ${x.default} */` : ''}${x.attribute ? `/* attribute: ${x.attribute} */` : ''}`)
|
|
72
|
-
|
|
73
|
-
return [
|
|
74
|
-
...eventsPropTypes,
|
|
75
|
-
...propertiesPropTypes
|
|
76
|
-
]
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
module.exports = {
|
|
80
|
-
// JavaScript
|
|
81
|
-
getDefaultProps,
|
|
82
|
-
getPropTypes,
|
|
83
|
-
|
|
84
|
-
// TypeScript
|
|
85
|
-
getProps
|
|
86
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<% banner %>
|
|
2
|
-
/*
|
|
3
|
-
Code in this file were generated using following JSON:
|
|
4
|
-
<% descriptor-json %>
|
|
5
|
-
*/
|
|
6
|
-
import PropTypes from 'prop-types'
|
|
7
|
-
import wrapper from '@vonage/vivid-react-wrapper'
|
|
8
|
-
<% imports %>
|
|
9
|
-
<% react-import %>
|
|
10
|
-
|
|
11
|
-
<% jsdoc.class %>
|
|
12
|
-
const <% component-class-name %> = wrapper('<% tag %>', {
|
|
13
|
-
events: [<% events %>],
|
|
14
|
-
attributes: [<% attributes %>],
|
|
15
|
-
properties: [<% properties %>]
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
<% component-class-name %>.propTypes = {
|
|
19
|
-
<% prop-types %>
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
<% component-class-name %>.defaultProps = {
|
|
23
|
-
<% default-props %>
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
<% component-class-name %>.displayName = '<% component-class-name %>'
|
|
27
|
-
|
|
28
|
-
<% compound-components %>
|
|
29
|
-
|
|
30
|
-
export default <% component-class-name %>
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import <% component-class-name %> from '../../dist/<% component-class-name %>'
|
|
3
|
-
|
|
4
|
-
export const Default = () => <<% component-class-name %> />
|
|
5
|
-
export default {
|
|
6
|
-
title: '<% component-class-name %>',
|
|
7
|
-
argTypes: {
|
|
8
|
-
//
|
|
9
|
-
// Example values
|
|
10
|
-
// numberValue: { control: 'number', defaultValue: 123 },
|
|
11
|
-
// booleanValue: { control: 'boolean', defaultValue: true },
|
|
12
|
-
// objectValue: { control: 'object', defaultValue: {} },
|
|
13
|
-
// stringValue: { control: 'string', defaultValue: 'string' },
|
|
14
|
-
// colorValue: { control: 'color' },
|
|
15
|
-
// dateValue: { control: 'date' }
|
|
16
|
-
//
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Purpose: Support code-generation activities with templates
|
|
3
|
-
*/
|
|
4
|
-
const { readFileSync } = require('fs')
|
|
5
|
-
|
|
6
|
-
const TemplateToken = {
|
|
7
|
-
BANNER: '<% banner %>',
|
|
8
|
-
IMPORTS: '<% imports %>',
|
|
9
|
-
EXPORTS: '<% exports %>',
|
|
10
|
-
TAG: '<% tag %>',
|
|
11
|
-
COMPONENT_CLASS_NAME: '<% component-class-name %>',
|
|
12
|
-
PROP_TYPES: '<% prop-types %>',
|
|
13
|
-
PROPS: '<% props %>',
|
|
14
|
-
DEFAULT_PROPS: '<% default-props %>',
|
|
15
|
-
PROPERTIES: '<% properties %>',
|
|
16
|
-
ATTRIBUTES: '<% attributes %>',
|
|
17
|
-
EVENTS: '<% events %>',
|
|
18
|
-
CLASS_JSDOC: '<% jsdoc.class %>',
|
|
19
|
-
TAG_DESCRIPTOR_JSON: '<% descriptor-json %>',
|
|
20
|
-
COMPOUND_COMPONENTS: '<% compound-components %>',
|
|
21
|
-
REACT_IMPORT: '<% react-import %>'
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const GENERATED_CODE_BANNER = `/*
|
|
25
|
-
* DO NOT EDIT THIS FILE. IT IS GENERATED
|
|
26
|
-
*/`
|
|
27
|
-
const templatesFolder = `${__dirname}`
|
|
28
|
-
const getTemplate = (template, language) =>
|
|
29
|
-
readFileSync(`${templatesFolder}/${language}/${template}.tmpl`, { encoding: 'utf8' })
|
|
30
|
-
.replace(TemplateToken.BANNER, GENERATED_CODE_BANNER)
|
|
31
|
-
|
|
32
|
-
module.exports = {
|
|
33
|
-
getTemplate,
|
|
34
|
-
TemplateToken,
|
|
35
|
-
GENERATED_CODE_BANNER
|
|
36
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
<% banner %>
|
|
2
|
-
/*
|
|
3
|
-
Code in this file were generated using following JSON:
|
|
4
|
-
<% descriptor-json %>
|
|
5
|
-
*/
|
|
6
|
-
import React, { ReactNode, SyntheticEvent, ForwardRefExoticComponent } from 'react'
|
|
7
|
-
import wrapper from '@vonage/vivid-react-wrapper'
|
|
8
|
-
<% imports %>
|
|
9
|
-
|
|
10
|
-
const WrappedComponent = wrapper('<% tag %>', {
|
|
11
|
-
events: [<% events %>],
|
|
12
|
-
attributes: [<% attributes %>],
|
|
13
|
-
properties: [<% properties %>]
|
|
14
|
-
}) as ForwardRefExoticComponent<any>;
|
|
15
|
-
|
|
16
|
-
<% jsdoc.class %>
|
|
17
|
-
const <% component-class-name %> = (props:
|
|
18
|
-
{
|
|
19
|
-
children?: ReactNode,
|
|
20
|
-
slot?: string,
|
|
21
|
-
id?: string,
|
|
22
|
-
style?: React.CSSProperties,
|
|
23
|
-
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined,
|
|
24
|
-
<% props %>
|
|
25
|
-
}
|
|
26
|
-
): JSX.Element => <WrappedComponent {...props}>{props.children}</WrappedComponent>
|
|
27
|
-
|
|
28
|
-
export default <% component-class-name %>
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
const { join, parse } = require('path')
|
|
2
|
-
const { flowRight, map, replace, reverse, startCase, uniqBy } = require('lodash/fp')
|
|
3
|
-
const { access, F_OK, readFileSync, readdirSync, existsSync, rmSync, createWriteStream } = require('fs')
|
|
4
|
-
const mkdirp = require('mkdirp')
|
|
5
|
-
const os = require('os')
|
|
6
|
-
const { spawnSync } = require('child_process')
|
|
7
|
-
const { WCAConfig, VividRepo, FileName, OutputLanguage, ComponentsBindablePropertiesMap, ComponentsReadOnlyPropertiesMap, ComponentsExtraPropertiesMap } = require('./consts')
|
|
8
|
-
const { Octokit } = require('@octokit/core')
|
|
9
|
-
const extract = require('extract-zip')
|
|
10
|
-
const { copySync } = require('fs-extra')
|
|
11
|
-
|
|
12
|
-
const renderPropertyJsDoc = tag => property => `* @param ${property.type ? `{${property.type}}` : ''} ${property.name} ${property.description ? `- ${property.description}` : ''} ${property.attribute ? `attribute: <${getComponentName(tag)} ${property.attribute} />` : ''}`
|
|
13
|
-
const renderTagPropertiesJsDoc = tag => getProperties(tag).map(renderPropertyJsDoc(tag)).join('\n')
|
|
14
|
-
const renderJsDoc = tag => `/** ${tag.description || ''} \n${renderTagPropertiesJsDoc(tag)}\n*/`
|
|
15
|
-
const stripQuotes = input => input.replace(/'/g, '')
|
|
16
|
-
const unique = stringArray => Array.from(new Set(stringArray))
|
|
17
|
-
const getGithubToken = () => process.env.GITHUB_ACCESS_TOKEN || process.env.GITHUB_TOKEN
|
|
18
|
-
const toJsonObjectsList = collection => (collection || []).map(JSON.stringify).join(',')
|
|
19
|
-
const toCommaSeparatedList = collection => (collection || []).map(x => `'${stripQuotes(x.name)}'`).join(',')
|
|
20
|
-
const capitalize = input => input.replace(/(^|\s)[a-z]/g, s => s.toUpperCase())
|
|
21
|
-
const deCapitalize = input => input.replace(/(^|\s)[A-Z]/g, s => s.toLowerCase())
|
|
22
|
-
const getComponentName = tag => capitalize(kebab2Camel(tag.name))
|
|
23
|
-
const kebab2Camel = input => deCapitalize(input.split('-').map(x => capitalize(x)).join(''))
|
|
24
|
-
const snake2Camel = input => deCapitalize(input.split('_').map(x => capitalize(x)).join(''))
|
|
25
|
-
const event2PropName = eventName => `on${capitalize(kebab2Camel(snake2Camel(eventName)))}`
|
|
26
|
-
const event2EventDescriptor = event => typeof event === 'string'
|
|
27
|
-
? ({ name: event, propName: event2PropName(event) })
|
|
28
|
-
: event
|
|
29
|
-
const getUniqueEvents = flowRight(
|
|
30
|
-
uniqBy('name'),
|
|
31
|
-
// need to reverse to have custom events first, to allow overwriting of the ones grabbed from JSDocs
|
|
32
|
-
reverse,
|
|
33
|
-
map(event2EventDescriptor)
|
|
34
|
-
)
|
|
35
|
-
const getFileNameFromDispositionHeader = input => /filename=(.*$)/.exec(input)[1]
|
|
36
|
-
const isVividPackageName = (packageName) => /@vonage\/vwc-*/.test(packageName)
|
|
37
|
-
const getIndexFileName = language => `index.${language === OutputLanguage.TypeScript ? 'tsx' : language}`
|
|
38
|
-
const getVividPackageName = componentPath => {
|
|
39
|
-
const { dir } = parse(componentPath)
|
|
40
|
-
if (dir.indexOf('node_modules') >= 0) {
|
|
41
|
-
return /(@vonage\/vwc-.*?)\//.exec(componentPath.replace(/\\/g, '/'))[1]
|
|
42
|
-
}
|
|
43
|
-
const pathParts = dir.split('\\').join('/').split('/')
|
|
44
|
-
if (pathParts.length > 0 && pathParts[pathParts.length - 1] === 'src') {
|
|
45
|
-
pathParts.pop()
|
|
46
|
-
}
|
|
47
|
-
const packageJson = filePath(join(FileName.tempFolder, ...pathParts, FileName.packageJson))
|
|
48
|
-
const pkg = getParsedJson(packageJson)
|
|
49
|
-
return pkg.name
|
|
50
|
-
}
|
|
51
|
-
const getYarnCommand = () => `yarn${os.platform() === 'win32' ? '.cmd' : ''}`
|
|
52
|
-
const prepareDir = (p, clean = true, verbose = true) => {
|
|
53
|
-
if (clean && existsSync(p)) {
|
|
54
|
-
if (verbose) {
|
|
55
|
-
console.info(`Clearing folder: ${p}`)
|
|
56
|
-
}
|
|
57
|
-
rmSync(p, { recursive: true })
|
|
58
|
-
}
|
|
59
|
-
mkdirp.sync(p)
|
|
60
|
-
}
|
|
61
|
-
const getFirstFolderNameFromPath = path => readdirSync(path, { withFileTypes: true }).find(x => x.isDirectory()).name
|
|
62
|
-
const getProperties = tag => (tag.properties || [])
|
|
63
|
-
.filter(prop => !(ComponentsReadOnlyPropertiesMap[getComponentName(tag)] || []).includes(prop.name)) // skip readonly properties
|
|
64
|
-
.filter(prop => /'.*?'/.test(prop.name) ||
|
|
65
|
-
/^([a-zA-Z_$][a-zA-Z\\d_$]*)$/.test(prop.name)) // only props having valid names
|
|
66
|
-
.map(prop => {
|
|
67
|
-
const isBindable = (ComponentsBindablePropertiesMap[getComponentName(tag)] || []).includes(prop.name) ||
|
|
68
|
-
prop.type?.indexOf('=>') > 0 || // property type is function
|
|
69
|
-
prop.type?.indexOf('[]') > 0 // property type is array
|
|
70
|
-
prop.bindable = isBindable
|
|
71
|
-
return prop
|
|
72
|
-
}).concat(ComponentsExtraPropertiesMap[getComponentName(tag)] || [])
|
|
73
|
-
|
|
74
|
-
const isFileExists = (fileName) => new Promise(
|
|
75
|
-
(resolve, reject) => access(
|
|
76
|
-
filePath(fileName),
|
|
77
|
-
F_OK,
|
|
78
|
-
error => error
|
|
79
|
-
? reject(error)
|
|
80
|
-
: resolve(fileName)
|
|
81
|
-
))
|
|
82
|
-
const filePath = (fileName) => join(process.cwd(), fileName)
|
|
83
|
-
|
|
84
|
-
const getParsedJson = (jsonFilePath) => JSON.parse(readFileSync(jsonFilePath, { encoding: 'utf8' }))
|
|
85
|
-
|
|
86
|
-
const getVividPackageNames = ({ dependencies, devDependencies }) => {
|
|
87
|
-
const packages = [
|
|
88
|
-
...Object.keys(dependencies),
|
|
89
|
-
...Object.keys(devDependencies)
|
|
90
|
-
]
|
|
91
|
-
const result = unique(packages).filter(isVividPackageName)
|
|
92
|
-
console.log(`Vivid packages detected from ${FileName.packageJson}: \n${result.map(x => ` - ${x}`).join('\n')}`)
|
|
93
|
-
return result
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
const getCustomElementTagsDefinitionsList = (config = WCAConfig) => (vividPackageNames) => new Promise((resolve) => {
|
|
97
|
-
const analyzerOutput = filePath(join(config.tempFolder, config.tempFileName))
|
|
98
|
-
const child = spawnSync(
|
|
99
|
-
'node',
|
|
100
|
-
config.nodeArgumentsFactory(vividPackageNames, analyzerOutput),
|
|
101
|
-
{ cwd: process.cwd() }
|
|
102
|
-
)
|
|
103
|
-
if (child.status === 0) {
|
|
104
|
-
const output = getParsedJson(analyzerOutput)
|
|
105
|
-
const uniqueTags = unique(output.tags.map(x => x.name)).map(x => output.tags.find(y => y.name === x))
|
|
106
|
-
return resolve(uniqueTags)
|
|
107
|
-
}
|
|
108
|
-
})
|
|
109
|
-
|
|
110
|
-
const compileTypescript = (rootDir) => async (outDir) =>
|
|
111
|
-
spawnSync(
|
|
112
|
-
'node',
|
|
113
|
-
[
|
|
114
|
-
'./node_modules/typescript/lib/tsc.js',
|
|
115
|
-
'--project',
|
|
116
|
-
filePath('tsconfig.json'),
|
|
117
|
-
'--rootDir',
|
|
118
|
-
rootDir,
|
|
119
|
-
'--outDir',
|
|
120
|
-
outDir
|
|
121
|
-
]
|
|
122
|
-
)
|
|
123
|
-
|
|
124
|
-
const copyStaticAssets = (outputDir, assets) => () => {
|
|
125
|
-
const cp = file => {
|
|
126
|
-
const source = filePath(file)
|
|
127
|
-
const dest = filePath(join(outputDir, file))
|
|
128
|
-
copySync(source, dest)
|
|
129
|
-
console.info(`Copy static asset ${source} => ${dest}`)
|
|
130
|
-
}
|
|
131
|
-
assets.split(',').map(assetFileName => cp(assetFileName))
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
const getInputArgument = (argumentName, defaultValue = null) => {
|
|
135
|
-
const argumentObjects = process.argv
|
|
136
|
-
.filter(argument => argument.indexOf('=') >= 0)
|
|
137
|
-
.map(argument => ({
|
|
138
|
-
name: argument.split('=')[0].replace(/--/g, ''),
|
|
139
|
-
value: argument.split('=')[1]
|
|
140
|
-
}))
|
|
141
|
-
const targetArgument = argumentObjects.find(argumentObject => argumentObject.name === argumentName)
|
|
142
|
-
return targetArgument ? targetArgument.value : defaultValue
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
const getVividLatestRelease = async (config = { tempFolder: FileName.tempFolder, tempFileName: FileName.tempVividZipball }) => {
|
|
146
|
-
const outFolder = filePath(config.tempFolder)
|
|
147
|
-
prepareDir(outFolder, false)
|
|
148
|
-
console.log('Fetching latest Vivid release artifact...')
|
|
149
|
-
if (!getGithubToken()) {
|
|
150
|
-
console.warn('It seems GITHUB_ACCESS_TOKEN or GITHUB_TOKEN environment variable is not defined.')
|
|
151
|
-
return
|
|
152
|
-
}
|
|
153
|
-
const octokit = new Octokit({ auth: getGithubToken() })
|
|
154
|
-
const result = await octokit.request(`GET /repos/${VividRepo}/zipball`)
|
|
155
|
-
if (result.status === 200) {
|
|
156
|
-
const filename = getFileNameFromDispositionHeader(result.headers['content-disposition'])
|
|
157
|
-
console.info(`Got zipball ${filename}`)
|
|
158
|
-
return new Promise((resolve, reject) => {
|
|
159
|
-
const vividZipFileName = join(outFolder, config.tempFileName)
|
|
160
|
-
const vividZipStream = createWriteStream(vividZipFileName)
|
|
161
|
-
vividZipStream.write(Buffer.from(result.data), async () => {
|
|
162
|
-
try {
|
|
163
|
-
await extract(vividZipFileName, { dir: outFolder })
|
|
164
|
-
} catch (err) {
|
|
165
|
-
console.error(err)
|
|
166
|
-
reject(err)
|
|
167
|
-
}
|
|
168
|
-
const vividFolder = join(outFolder, getFirstFolderNameFromPath(outFolder))
|
|
169
|
-
console.log(`Installing Vivid packages at: ${vividFolder}...`)
|
|
170
|
-
const child = spawnSync(getYarnCommand(), [], { cwd: vividFolder, stdio: 'ignore' })
|
|
171
|
-
if (child.status === 0) {
|
|
172
|
-
console.log('Analyzing Vivid elements...')
|
|
173
|
-
resolve(`${vividFolder}/**/components/**`)
|
|
174
|
-
}
|
|
175
|
-
resolve()
|
|
176
|
-
})
|
|
177
|
-
})
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
const getComponentNameFromPackage = flowRight(
|
|
182
|
-
replace(/\s/g, ''),
|
|
183
|
-
startCase,
|
|
184
|
-
replace('@vonage/', '')
|
|
185
|
-
)
|
|
186
|
-
|
|
187
|
-
const compoundComponentTemplate = (baseName, compositeName, defaultProps) =>
|
|
188
|
-
`const ${compositeName} = (props) => createElement(${baseName}, props)
|
|
189
|
-
|
|
190
|
-
${compositeName}.defaultProps = ${JSON.stringify(defaultProps)}
|
|
191
|
-
|
|
192
|
-
${baseName}.${compositeName} = ${compositeName}`
|
|
193
|
-
|
|
194
|
-
const prepareCompoundComponents = (baseName, template, compoundComponentsConfig = {}) => () => Object
|
|
195
|
-
.entries(compoundComponentsConfig)
|
|
196
|
-
.map(([compositeName, defaultProps]) => template(baseName, compositeName, defaultProps))
|
|
197
|
-
.join('\n\n')
|
|
198
|
-
|
|
199
|
-
module.exports = {
|
|
200
|
-
toCommaSeparatedList,
|
|
201
|
-
toJsonObjectsList,
|
|
202
|
-
compileTypescript,
|
|
203
|
-
filePath,
|
|
204
|
-
prepareDir,
|
|
205
|
-
renderJsDoc,
|
|
206
|
-
capitalize,
|
|
207
|
-
kebab2Camel,
|
|
208
|
-
event2PropName,
|
|
209
|
-
event2EventDescriptor,
|
|
210
|
-
getComponentNameFromPackage,
|
|
211
|
-
getInputArgument,
|
|
212
|
-
getUniqueEvents,
|
|
213
|
-
isFileExists,
|
|
214
|
-
isVividPackageName,
|
|
215
|
-
copyStaticAssets,
|
|
216
|
-
getIndexFileName,
|
|
217
|
-
getProperties,
|
|
218
|
-
getComponentName,
|
|
219
|
-
getParsedJson,
|
|
220
|
-
getVividPackageName,
|
|
221
|
-
getVividPackageNames,
|
|
222
|
-
getVividLatestRelease,
|
|
223
|
-
getCustomElementTagsDefinitionsList,
|
|
224
|
-
prepareCompoundComponents,
|
|
225
|
-
compoundComponentTemplate
|
|
226
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { jest } from '@jest/globals'
|
|
2
|
-
import { getUniqueEvents } from './utils'
|
|
3
|
-
|
|
4
|
-
const { getVividPackageNames, event2PropName, prepareCompoundComponents } = require('./utils')
|
|
5
|
-
|
|
6
|
-
it('getVividPackageNames', () => {
|
|
7
|
-
const packageJson = {
|
|
8
|
-
dependencies: {
|
|
9
|
-
'@vonage/vwc-button': '0.1',
|
|
10
|
-
'@vonage/vwc-icon': '0.2',
|
|
11
|
-
'@nvm/vwc-badge': '0.2'
|
|
12
|
-
},
|
|
13
|
-
devDependencies: {
|
|
14
|
-
'@vonage/vwc-dropdown': '0.1',
|
|
15
|
-
'@vonage/component': '0.2'
|
|
16
|
-
},
|
|
17
|
-
otherDependencies: {
|
|
18
|
-
'@vonage/vwc-nav': '0.3'
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
const expectedList = [
|
|
22
|
-
'@vonage/vwc-button',
|
|
23
|
-
'@vonage/vwc-icon',
|
|
24
|
-
'@vonage/vwc-dropdown'
|
|
25
|
-
]
|
|
26
|
-
expect(getVividPackageNames(packageJson)).toStrictEqual(expectedList)
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
it.each([
|
|
30
|
-
['digit-added', 'onDigitAdded'],
|
|
31
|
-
['userScrubRequest', 'onUserScrubRequest'],
|
|
32
|
-
['vvd_scheme_select', 'onVvdSchemeSelect']
|
|
33
|
-
])(`event2PropName should convert "%s" to "%s"`, (input, expected) => {
|
|
34
|
-
expect(event2PropName(input)).toStrictEqual(expected)
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
it('compound components', () => {
|
|
38
|
-
const template = jest.fn()
|
|
39
|
-
const config = {
|
|
40
|
-
CTA: {
|
|
41
|
-
connotation: 'cta',
|
|
42
|
-
layout: 'filled'
|
|
43
|
-
},
|
|
44
|
-
Alert: {
|
|
45
|
-
connotation: 'alert',
|
|
46
|
-
layout: 'filled'
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
prepareCompoundComponents('VwcButton', template, config)()
|
|
51
|
-
|
|
52
|
-
expect(template.mock.calls[0]).toEqual([
|
|
53
|
-
'VwcButton',
|
|
54
|
-
'CTA',
|
|
55
|
-
config.CTA
|
|
56
|
-
])
|
|
57
|
-
expect(template.mock.calls[1]).toEqual([
|
|
58
|
-
'VwcButton',
|
|
59
|
-
'Alert',
|
|
60
|
-
config.Alert
|
|
61
|
-
])
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
-
it('getUniqueEvents', () => {
|
|
65
|
-
const firstEvent = { name: 'non-unique', propName: 'replaced' }
|
|
66
|
-
const secondEvent = { name: 'non-unique', propName: 'targetPropName' }
|
|
67
|
-
const uniqueEvent = { name: 'unique', propName: 'onUnique' }
|
|
68
|
-
const events = [firstEvent, secondEvent, uniqueEvent]
|
|
69
|
-
|
|
70
|
-
expect(getUniqueEvents(events)).toEqual([uniqueEvent, secondEvent])
|
|
71
|
-
})
|
package/scripts/updateDocs.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
const os = require('os')
|
|
2
|
-
const { getComponentNameFromPackage } = require('./generateWrappers/utils')
|
|
3
|
-
const { outputFile, readFile } = require('fs-extra')
|
|
4
|
-
|
|
5
|
-
const { isVividPackageName } = require('./generateWrappers/utils')
|
|
6
|
-
const { dependencies, devDependencies } = require('../package.json')
|
|
7
|
-
|
|
8
|
-
const generateSupportedComponents = () => {
|
|
9
|
-
const allDeps = Object.entries({
|
|
10
|
-
...devDependencies,
|
|
11
|
-
...dependencies
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
const reducePackagesToVividComponentsList = (acc, [name, version]) => {
|
|
15
|
-
if (!isVividPackageName(name)) {
|
|
16
|
-
return acc
|
|
17
|
-
}
|
|
18
|
-
const componentName = getComponentNameFromPackage(name)
|
|
19
|
-
return [...acc, `| ${componentName} | ${name} | ${version} |`]
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return allDeps.reduce(
|
|
23
|
-
reducePackagesToVividComponentsList,
|
|
24
|
-
[
|
|
25
|
-
'| Component Name | Package Name | Package Version |',
|
|
26
|
-
'|----------------|--------------|-----------------|'
|
|
27
|
-
]
|
|
28
|
-
)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const updateSupportedComponents = async (readmePath) => {
|
|
32
|
-
const packageList = generateSupportedComponents()
|
|
33
|
-
const readme = await readFile(readmePath, { encoding: 'utf8' })
|
|
34
|
-
await outputFile(
|
|
35
|
-
readmePath,
|
|
36
|
-
// this finds a table, might be a problem if we have more than one ;)
|
|
37
|
-
// need the extra empty string to have a new line before the next section
|
|
38
|
-
readme.replace(/((\|[ -][^|\r\n]*)+\|(\r?\n|\r)?)+/gm, [...packageList, ''].join(os.EOL))
|
|
39
|
-
)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
updateSupportedComponents('README.md')
|