@dropi/ui 0.1.46 → 0.1.49
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/dropi-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/dropi-accordion.cjs.entry.js +1 -1
- package/dist/cjs/dropi-alert-legacy.cjs.entry.js +1 -1
- package/dist/cjs/dropi-alert-modal.cjs.entry.js +15 -38
- package/dist/cjs/dropi-alert.cjs.entry.js +1 -1
- package/dist/cjs/dropi-avatars.cjs.entry.js +1 -1
- package/dist/cjs/dropi-badge-legacy.cjs.entry.js +1 -1
- package/dist/cjs/dropi-badge.cjs.entry.js +1 -1
- package/dist/cjs/dropi-banner-external.cjs.entry.js +1 -1
- package/dist/cjs/dropi-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/dropi-button.cjs.entry.js +1 -1
- package/dist/cjs/dropi-card-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/dropi-card-product.cjs.entry.js +1 -1
- package/dist/cjs/dropi-card-section.cjs.entry.js +1 -1
- package/dist/cjs/dropi-carousel.cjs.entry.js +1 -1
- package/dist/cjs/dropi-checkbox-selection-list.cjs.entry.js +1 -1
- package/dist/cjs/dropi-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/dropi-chips.cjs.entry.js +1 -1
- package/dist/cjs/dropi-city-selector.cjs.entry.js +1 -1
- package/dist/cjs/dropi-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/dropi-country-flags.cjs.entry.js +1 -1
- package/dist/cjs/dropi-country-selector.cjs.entry.js +1 -1
- package/dist/cjs/dropi-date-picker-range.cjs.entry.js +1 -1
- package/dist/cjs/dropi-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/dropi-drawer.cjs.entry.js +1 -1
- package/dist/cjs/dropi-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/dropi-empty-state.cjs.entry.js +88 -11
- package/dist/cjs/dropi-favorite-button.cjs.entry.js +1 -1
- package/dist/cjs/dropi-file-upload-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/dropi-file-upload.cjs.entry.js +1 -1
- package/dist/cjs/dropi-icon.cjs.entry.js +295 -26
- package/dist/cjs/dropi-ilustration-icon.cjs.entry.js +1 -1
- package/dist/cjs/dropi-image-miniature.cjs.entry.js +2 -2
- package/dist/cjs/dropi-image-overlay.cjs.entry.js +1 -1
- package/dist/cjs/dropi-input_3.cjs.entry.js +3 -3
- package/dist/cjs/dropi-languages-selector.cjs.entry.js +1 -1
- package/dist/cjs/dropi-logo.cjs.entry.js +2 -2
- package/dist/cjs/dropi-lottie-loader.cjs.entry.js +1 -1
- package/dist/cjs/dropi-media-player.cjs.entry.js +1 -1
- package/dist/cjs/dropi-modal.cjs.entry.js +1 -1
- package/dist/cjs/dropi-navbar.cjs.entry.js +3 -3
- package/dist/cjs/dropi-otp-send-code.cjs.entry.js +3 -3
- package/dist/cjs/dropi-phone-input.cjs.entry.js +3 -3
- package/dist/cjs/dropi-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/dropi-radio-button.cjs.entry.js +2 -2
- package/dist/cjs/dropi-radio-selection-list.cjs.entry.js +1 -1
- package/dist/cjs/dropi-read-more.cjs.entry.js +2 -2
- package/dist/cjs/dropi-search.cjs.entry.js +1 -1
- package/dist/cjs/dropi-select.cjs.entry.js +2 -2
- package/dist/cjs/dropi-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/dropi-simple-stepper.cjs.entry.js +1 -1
- package/dist/cjs/dropi-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/dropi-steps.cjs.entry.js +1 -1
- package/dist/cjs/dropi-switch.cjs.entry.js +2 -2
- package/dist/cjs/dropi-table.cjs.entry.js +1 -1
- package/dist/cjs/dropi-tabs.cjs.entry.js +1 -1
- package/dist/cjs/dropi-tag-type-product.cjs.entry.js +2 -2
- package/dist/cjs/dropi-text-area.cjs.entry.js +1 -1
- package/dist/cjs/dropi-time-line.cjs.entry.js +1 -1
- package/dist/cjs/dropi-toast.cjs.entry.js +1 -1
- package/dist/cjs/dropi-tooltip-v2.cjs.entry.js +1 -1
- package/dist/cjs/dropi-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/dropi-ui.cjs.js +2 -2
- package/dist/cjs/dropi-vertical-steps.cjs.entry.js +1 -1
- package/dist/cjs/dropi-youtube-lazy-video.cjs.entry.js +2 -2
- package/dist/cjs/index-DKMSaf7l.js +2809 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/components/dropi-alert-modal/dropi-alert-modal.js +24 -65
- package/dist/collection/components/dropi-empty-state/dropi-empty-state.js +24 -23
- package/dist/collection/components/dropi-icon/dropi-icon.js +27 -54
- package/dist/collection/components/dropi-image-miniature/dropi-image-miniature.js +1 -1
- package/dist/collection/components/dropi-logo/dropi-logo.js +1 -1
- package/dist/collection/components/dropi-navbar/dropi-navbar.js +2 -2
- package/dist/collection/components/dropi-otp-send-code/dropi-otp-send-code.js +2 -2
- package/dist/collection/components/dropi-paginator/dropi-paginator.js +2 -2
- package/dist/collection/components/dropi-phone-input/dropi-phone-input.js +2 -2
- package/dist/collection/components/dropi-progress-bar/dropi-progress-bar.js +1 -1
- package/dist/collection/components/dropi-radio-button/dropi-radio-button.js +1 -1
- package/dist/collection/components/dropi-read-more/dropi-read-more.js +1 -1
- package/dist/collection/components/dropi-select/dropi-select.js +1 -1
- package/dist/collection/components/dropi-switch/dropi-switch.js +1 -1
- package/dist/collection/components/dropi-tag-type-product/dropi-tag-type-product.js +1 -1
- package/dist/collection/components/dropi-tooltip/dropi-tooltip.js +1 -1
- package/dist/collection/components/dropi-youtube-lazy-video/dropi-youtube-lazy-video.js +1 -1
- package/dist/collection/utils/icon-map.generated.js +271 -0
- package/dist/collection/utils/illustration-map.generated.js +73 -0
- package/dist/collection/utils/lottie-map.generated.js +10 -0
- package/dist/components/dropi-accordion-item.js +1 -1
- package/dist/components/dropi-alert-modal.js +1 -1
- package/dist/components/dropi-alert.js +1 -1
- package/dist/components/dropi-banner-external.js +1 -1
- package/dist/components/dropi-breadcrumb.js +1 -1
- package/dist/components/dropi-button.js +1 -1
- package/dist/components/dropi-card-product.js +1 -1
- package/dist/components/dropi-card-section.js +1 -1
- package/dist/components/dropi-checkbox-selection-list.js +1 -1
- package/dist/components/dropi-chips.js +1 -1
- package/dist/components/dropi-city-selector.js +1 -1
- package/dist/components/dropi-country-selector.js +1 -1
- package/dist/components/dropi-date-picker.js +1 -1
- package/dist/components/dropi-drawer.js +1 -1
- package/dist/components/dropi-empty-state.js +1 -1
- package/dist/components/dropi-favorite-button.js +1 -1
- package/dist/components/dropi-file-upload-progress-bar.js +1 -1
- package/dist/components/dropi-file-upload.js +1 -1
- package/dist/components/dropi-icon.js +1 -1
- package/dist/components/dropi-ilustration-icon.js +1 -1
- package/dist/components/dropi-image-miniature.js +1 -1
- package/dist/components/dropi-image-overlay.js +1 -1
- package/dist/components/dropi-input.js +1 -1
- package/dist/components/dropi-languages-selector.js +1 -1
- package/dist/components/dropi-logo.js +1 -1
- package/dist/components/dropi-media-player.js +1 -1
- package/dist/components/dropi-navbar.js +1 -1
- package/dist/components/dropi-otp-send-code.js +1 -1
- package/dist/components/dropi-paginator.js +1 -1
- package/dist/components/dropi-phone-input.js +1 -1
- package/dist/components/dropi-progress-bar.js +1 -1
- package/dist/components/dropi-radio-button.js +1 -1
- package/dist/components/dropi-radio-selection-list.js +1 -1
- package/dist/components/dropi-read-more.js +1 -1
- package/dist/components/dropi-search.js +1 -1
- package/dist/components/dropi-select.js +1 -1
- package/dist/components/dropi-sidebar.js +1 -1
- package/dist/components/dropi-steps.js +1 -1
- package/dist/components/dropi-switch.js +1 -1
- package/dist/components/dropi-table.js +1 -1
- package/dist/components/dropi-tabs.js +1 -1
- package/dist/components/dropi-tag-type-product.js +1 -1
- package/dist/components/dropi-tag.js +1 -1
- package/dist/components/dropi-text-area.js +1 -1
- package/dist/components/dropi-time-line.js +1 -1
- package/dist/components/dropi-toast.js +1 -1
- package/dist/components/dropi-tooltip-v2.js +1 -1
- package/dist/components/dropi-tooltip.js +1 -1
- package/dist/components/dropi-vertical-steps.js +1 -1
- package/dist/components/dropi-youtube-lazy-video.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-1znuv59D.js +1 -0
- package/dist/components/p-B9-h_ikq.js +1 -0
- package/dist/components/p-B9rJd-Rf.js +1 -0
- package/dist/components/p-BYPkJN1-.js +1 -0
- package/dist/components/p-Bxs1HOVS.js +1 -0
- package/dist/components/p-CCZ6rIo5.js +1 -0
- package/dist/components/p-CQqWa7Kz.js +1 -0
- package/dist/components/p-CY6yN7wx.js +1 -0
- package/dist/components/p-D7GP-lmt.js +1 -0
- package/dist/components/p-DBUBcpw5.js +1 -0
- package/dist/components/p-DYAsdhfM.js +1 -0
- package/dist/components/p-Dnx3uXgo.js +1 -0
- package/dist/components/p-DqAyyLAT.js +1 -0
- package/dist/components/p-RQjw5hdz.js +1 -0
- package/dist/components/p-l48cENKO.js +1 -0
- package/dist/docs.json +35 -83
- package/dist/dropi-ui/dropi-ui.esm.js +1 -1
- package/dist/dropi-ui/p-0086fbc8.entry.js +1 -0
- package/dist/dropi-ui/p-04cd97a1.entry.js +1 -0
- package/dist/dropi-ui/p-0d03e548.entry.js +1 -0
- package/dist/dropi-ui/p-0d877866.entry.js +1 -0
- package/dist/dropi-ui/p-11b83d87.entry.js +1 -0
- package/dist/dropi-ui/p-1c3a5cee.entry.js +1 -0
- package/dist/dropi-ui/p-1e3f0220.entry.js +1 -0
- package/dist/dropi-ui/p-2464f664.entry.js +1 -0
- package/dist/dropi-ui/p-258f147a.entry.js +1 -0
- package/dist/dropi-ui/p-260d2559.entry.js +1 -0
- package/dist/dropi-ui/p-26663648.entry.js +1 -0
- package/dist/dropi-ui/p-29dbfb9a.entry.js +1 -0
- package/dist/dropi-ui/p-2b8e9056.entry.js +1 -0
- package/dist/dropi-ui/p-32bc1d2a.entry.js +1 -0
- package/dist/dropi-ui/p-35ce96a3.entry.js +1 -0
- package/dist/dropi-ui/p-3615e06b.entry.js +1 -0
- package/dist/dropi-ui/p-3721a73a.entry.js +1 -0
- package/dist/dropi-ui/p-37a91ebb.entry.js +1 -0
- package/dist/dropi-ui/p-37d60102.entry.js +1 -0
- package/dist/dropi-ui/p-38bb4b42.entry.js +1 -0
- package/dist/dropi-ui/p-3d6fecfa.entry.js +1 -0
- package/dist/dropi-ui/p-3d7a3ea5.entry.js +1 -0
- package/dist/dropi-ui/p-4337fd7a.entry.js +1 -0
- package/dist/dropi-ui/p-44c9fb4e.entry.js +1 -0
- package/dist/dropi-ui/p-4531453d.entry.js +1 -0
- package/dist/dropi-ui/p-4759c782.entry.js +1 -0
- package/dist/dropi-ui/p-4986f584.entry.js +1 -0
- package/dist/dropi-ui/p-4b5775bd.entry.js +1 -0
- package/dist/dropi-ui/p-4e7ff518.entry.js +1 -0
- package/dist/dropi-ui/p-54ab9e77.entry.js +1 -0
- package/dist/dropi-ui/p-5662edbf.entry.js +1 -0
- package/dist/dropi-ui/p-5a6e3420.entry.js +1 -0
- package/dist/dropi-ui/p-64c37ff6.entry.js +1 -0
- package/dist/dropi-ui/p-67fbe7e4.entry.js +1 -0
- package/dist/dropi-ui/p-68891c64.entry.js +1 -0
- package/dist/dropi-ui/p-6ca312e3.entry.js +1 -0
- package/dist/dropi-ui/p-6e4f08eb.entry.js +1 -0
- package/dist/dropi-ui/p-704c6619.entry.js +1 -0
- package/dist/dropi-ui/p-74fcbc88.entry.js +1 -0
- package/dist/dropi-ui/p-76b33901.entry.js +1 -0
- package/dist/dropi-ui/p-7e4d0691.entry.js +1 -0
- package/dist/dropi-ui/p-7fe30856.entry.js +1 -0
- package/dist/dropi-ui/p-803ab87b.entry.js +1 -0
- package/dist/dropi-ui/p-8f4b21e8.entry.js +1 -0
- package/dist/dropi-ui/p-92185d67.entry.js +1 -0
- package/dist/dropi-ui/p-9733212c.entry.js +1 -0
- package/dist/dropi-ui/p-K5v4Q5tq.js +2 -0
- package/dist/dropi-ui/p-a805fbad.entry.js +1 -0
- package/dist/dropi-ui/p-a9213e90.entry.js +1 -0
- package/dist/dropi-ui/p-a9f8fc5e.entry.js +1 -0
- package/dist/dropi-ui/p-ab06bceb.entry.js +1 -0
- package/dist/dropi-ui/p-b1059e6f.entry.js +1 -0
- package/dist/dropi-ui/p-b2bcb723.entry.js +1 -0
- package/dist/dropi-ui/p-b9ddcabc.entry.js +1 -0
- package/dist/dropi-ui/p-baf66950.entry.js +1 -0
- package/dist/dropi-ui/p-bafb043e.entry.js +1 -0
- package/dist/dropi-ui/p-c567fd6b.entry.js +1 -0
- package/dist/dropi-ui/p-c66941cf.entry.js +1 -0
- package/dist/dropi-ui/p-ca020035.entry.js +1 -0
- package/dist/dropi-ui/p-ca7c025d.entry.js +1 -0
- package/dist/dropi-ui/p-cf1ffef1.entry.js +1 -0
- package/dist/dropi-ui/p-d205db7d.entry.js +1 -0
- package/dist/dropi-ui/p-d45feb08.entry.js +1 -0
- package/dist/dropi-ui/p-d5ab501d.entry.js +1 -0
- package/dist/dropi-ui/p-d9f90650.entry.js +1 -0
- package/dist/dropi-ui/p-deb3a0e3.entry.js +1 -0
- package/dist/dropi-ui/p-e423406c.entry.js +1 -0
- package/dist/dropi-ui/p-ed4bd1cc.entry.js +1 -0
- package/dist/dropi-ui/p-f3d0d25b.entry.js +1 -0
- package/dist/dropi-ui/p-f42337d9.entry.js +1 -0
- package/dist/dropi-ui/p-f6653da2.entry.js +1 -0
- package/dist/dropi-ui/p-f6f026c7.entry.js +1 -0
- package/dist/dropi-ui/p-fdfd0842.entry.js +1 -0
- package/dist/esm/dropi-accordion-item.entry.js +1 -1
- package/dist/esm/dropi-accordion.entry.js +1 -1
- package/dist/esm/dropi-alert-legacy.entry.js +1 -1
- package/dist/esm/dropi-alert-modal.entry.js +15 -38
- package/dist/esm/dropi-alert.entry.js +1 -1
- package/dist/esm/dropi-avatars.entry.js +1 -1
- package/dist/esm/dropi-badge-legacy.entry.js +1 -1
- package/dist/esm/dropi-badge.entry.js +1 -1
- package/dist/esm/dropi-banner-external.entry.js +1 -1
- package/dist/esm/dropi-breadcrumb.entry.js +1 -1
- package/dist/esm/dropi-button.entry.js +1 -1
- package/dist/esm/dropi-card-checkbox.entry.js +1 -1
- package/dist/esm/dropi-card-product.entry.js +1 -1
- package/dist/esm/dropi-card-section.entry.js +1 -1
- package/dist/esm/dropi-carousel.entry.js +1 -1
- package/dist/esm/dropi-checkbox-selection-list.entry.js +1 -1
- package/dist/esm/dropi-checkbox.entry.js +1 -1
- package/dist/esm/dropi-chips.entry.js +1 -1
- package/dist/esm/dropi-city-selector.entry.js +1 -1
- package/dist/esm/dropi-color-picker.entry.js +1 -1
- package/dist/esm/dropi-country-flags.entry.js +1 -1
- package/dist/esm/dropi-country-selector.entry.js +1 -1
- package/dist/esm/dropi-date-picker-range.entry.js +1 -1
- package/dist/esm/dropi-date-picker.entry.js +1 -1
- package/dist/esm/dropi-drawer.entry.js +1 -1
- package/dist/esm/dropi-dropdown.entry.js +1 -1
- package/dist/esm/dropi-empty-state.entry.js +88 -11
- package/dist/esm/dropi-favorite-button.entry.js +1 -1
- package/dist/esm/dropi-file-upload-progress-bar.entry.js +1 -1
- package/dist/esm/dropi-file-upload.entry.js +1 -1
- package/dist/esm/dropi-icon.entry.js +295 -26
- package/dist/esm/dropi-ilustration-icon.entry.js +1 -1
- package/dist/esm/dropi-image-miniature.entry.js +2 -2
- package/dist/esm/dropi-image-overlay.entry.js +1 -1
- package/dist/esm/dropi-input_3.entry.js +3 -3
- package/dist/esm/dropi-languages-selector.entry.js +1 -1
- package/dist/esm/dropi-logo.entry.js +2 -2
- package/dist/esm/dropi-lottie-loader.entry.js +1 -1
- package/dist/esm/dropi-media-player.entry.js +1 -1
- package/dist/esm/dropi-modal.entry.js +1 -1
- package/dist/esm/dropi-navbar.entry.js +3 -3
- package/dist/esm/dropi-otp-send-code.entry.js +3 -3
- package/dist/esm/dropi-phone-input.entry.js +3 -3
- package/dist/esm/dropi-progress-bar.entry.js +2 -2
- package/dist/esm/dropi-radio-button.entry.js +2 -2
- package/dist/esm/dropi-radio-selection-list.entry.js +1 -1
- package/dist/esm/dropi-read-more.entry.js +2 -2
- package/dist/esm/dropi-search.entry.js +1 -1
- package/dist/esm/dropi-select.entry.js +2 -2
- package/dist/esm/dropi-sidebar.entry.js +1 -1
- package/dist/esm/dropi-simple-stepper.entry.js +1 -1
- package/dist/esm/dropi-skeleton.entry.js +1 -1
- package/dist/esm/dropi-steps.entry.js +1 -1
- package/dist/esm/dropi-switch.entry.js +2 -2
- package/dist/esm/dropi-table.entry.js +1 -1
- package/dist/esm/dropi-tabs.entry.js +1 -1
- package/dist/esm/dropi-tag-type-product.entry.js +2 -2
- package/dist/esm/dropi-text-area.entry.js +1 -1
- package/dist/esm/dropi-time-line.entry.js +1 -1
- package/dist/esm/dropi-toast.entry.js +1 -1
- package/dist/esm/dropi-tooltip-v2.entry.js +1 -1
- package/dist/esm/dropi-tooltip.entry.js +2 -2
- package/dist/esm/dropi-ui.js +3 -3
- package/dist/esm/dropi-vertical-steps.entry.js +1 -1
- package/dist/esm/dropi-youtube-lazy-video.entry.js +2 -2
- package/dist/esm/index-K5v4Q5tq.js +2798 -0
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/dropi-alert-modal/dropi-alert-modal.d.ts +1 -39
- package/dist/types/components/dropi-empty-state/dropi-empty-state.d.ts +7 -13
- package/dist/types/components/dropi-icon/dropi-icon.d.ts +5 -13
- package/dist/types/components.d.ts +10 -142
- package/dist/types/utils/icon-map.generated.d.ts +4 -0
- package/dist/types/utils/illustration-map.generated.d.ts +1 -0
- package/dist/types/utils/lottie-map.generated.d.ts +1 -0
- package/hydrate/index.js +414 -110
- package/hydrate/index.mjs +414 -110
- package/package.json +2 -2
- package/scripts/generate-icon-map.js +37 -0
- package/scripts/generate-illustration-map.js +37 -0
- package/scripts/generate-lottie-map.js +49 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dropi/ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.49",
|
|
4
4
|
"description": "Dropi Design System — Web Components for Angular, React and Vue",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"packages/*"
|
|
52
52
|
],
|
|
53
53
|
"scripts": {
|
|
54
|
-
"build": "stencil build && npm run build --workspace=packages/react && npm run build --workspace=packages/angular",
|
|
54
|
+
"build": "node scripts/generate-icon-map.js && stencil build && npm run build --workspace=packages/react && npm run build --workspace=packages/angular",
|
|
55
55
|
"clear:cache": "node -e \"const fs=require('fs');['.stencil','node_modules/.cache'].forEach(p=>{try{fs.rmSync(p,{recursive:true,force:true})}catch(e){}})\"",
|
|
56
56
|
"publish:react": "npm run build && npm publish --workspace=packages/react",
|
|
57
57
|
"dev": "stencil build --dev --watch & npm run watch --workspace=packages/react",
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const spriteFile = path.join(__dirname, '..', 'node_modules', 'dropi-lib-icons', 'dist', 'sprite.svg');
|
|
6
|
+
const outFile = path.join(__dirname, '..', 'src', 'utils', 'icon-map.generated.ts');
|
|
7
|
+
|
|
8
|
+
if (!fs.existsSync(spriteFile)) {
|
|
9
|
+
console.error('❌ sprite.svg not found — run: npm install dropi-lib-icons');
|
|
10
|
+
process.exit(1);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const svg = fs.readFileSync(spriteFile, 'utf8');
|
|
14
|
+
const symbolRegex = /<symbol\s+id="([^"]+)"\s+viewBox="([^"]+)">([\s\S]*?)<\/symbol>/g;
|
|
15
|
+
|
|
16
|
+
const entries = [];
|
|
17
|
+
let match;
|
|
18
|
+
|
|
19
|
+
while ((match = symbolRegex.exec(svg)) !== null) {
|
|
20
|
+
const [, id, viewBox, inner] = match;
|
|
21
|
+
// Minify inner content
|
|
22
|
+
const paths = inner.replace(/\s+/g, ' ').trim();
|
|
23
|
+
entries.push(` '${id}': { viewBox: '${viewBox}', paths: \`${paths}\` }`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const output = `// Auto-generated by scripts/generate-icon-map.js — DO NOT EDIT
|
|
27
|
+
// Source: dropi-lib-icons/dist/sprite.svg (${entries.length} icons)
|
|
28
|
+
export const ICON_MAP: Record<string, { viewBox: string; paths: string }> = {
|
|
29
|
+
${entries.join(',\n')}
|
|
30
|
+
};
|
|
31
|
+
`;
|
|
32
|
+
|
|
33
|
+
const dir = path.dirname(outFile);
|
|
34
|
+
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
35
|
+
|
|
36
|
+
fs.writeFileSync(outFile, output);
|
|
37
|
+
console.log(`✅ Generated ${entries.length} icons → src/utils/icon-map.generated.ts`);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Generates src/utils/illustration-map.generated.ts from public/assets/icons/ilustration/
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
const STATES = ['default', 'loading', 'sorry', 'love', 'success', 'error', 'warning', 'info'];
|
|
7
|
+
const srcDir = path.join(__dirname, '..', 'public', 'assets', 'icons', 'ilustration');
|
|
8
|
+
const outFile = path.join(__dirname, '..', 'src', 'utils', 'illustration-map.generated.ts');
|
|
9
|
+
|
|
10
|
+
const entries = [];
|
|
11
|
+
|
|
12
|
+
for (const state of STATES) {
|
|
13
|
+
const file = path.join(srcDir, `${state}.svg`);
|
|
14
|
+
if (!fs.existsSync(file)) {
|
|
15
|
+
console.warn(`⚠️ Missing illustration: ${state}.svg — skipping`);
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const svg = fs.readFileSync(file, 'utf8').replace(/`/g, '\\`').replace(/\$/g, '\\$');
|
|
19
|
+
entries.push(` '${state}': \`${svg}\``);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (entries.length === 0) {
|
|
23
|
+
console.error('❌ No illustration files found in', srcDir);
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const output = `// Auto-generated by scripts/generate-illustration-map.js — DO NOT EDIT
|
|
28
|
+
// Source: public/assets/icons/ilustration/ (${entries.length} illustrations)
|
|
29
|
+
export const ILLUSTRATION_MAP: Record<string, string> = {
|
|
30
|
+
${entries.join(',\n')}
|
|
31
|
+
};
|
|
32
|
+
`;
|
|
33
|
+
|
|
34
|
+
const dir = path.dirname(outFile);
|
|
35
|
+
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
36
|
+
fs.writeFileSync(outFile, output);
|
|
37
|
+
console.log(`✅ Generated ${entries.length} illustrations → src/utils/illustration-map.generated.ts`);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Generates src/utils/lottie-map.generated.ts from public/assets/lottie-files/
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
// Keys match dropi-alert-modal's lottieMap; values are the JSON file names
|
|
7
|
+
const ENTRIES = [
|
|
8
|
+
{ key: 'question', file: 'question.json' },
|
|
9
|
+
{ key: 'warning', file: 'warning.json' },
|
|
10
|
+
{ key: 'success', file: 'success.json' },
|
|
11
|
+
{ key: 'error', file: 'failure.json' },
|
|
12
|
+
{ key: 'loading', file: 'loading.json' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const srcDir = path.join(__dirname, '..', 'public', 'assets', 'lottie-files');
|
|
16
|
+
const outFile = path.join(__dirname, '..', 'src', 'utils', 'lottie-map.generated.ts');
|
|
17
|
+
|
|
18
|
+
const lines = [];
|
|
19
|
+
|
|
20
|
+
for (const { key, file } of ENTRIES) {
|
|
21
|
+
const filePath = path.join(srcDir, file);
|
|
22
|
+
if (!fs.existsSync(filePath)) {
|
|
23
|
+
console.warn(`⚠️ Missing lottie file: ${file} — skipping`);
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
// Store as a minified JSON string to avoid runtime JSON.stringify cost
|
|
27
|
+
const json = JSON.stringify(JSON.parse(fs.readFileSync(filePath, 'utf8')));
|
|
28
|
+
// Escape backticks and template literal dollar signs
|
|
29
|
+
const escaped = json.replace(/`/g, '\\`').replace(/\$/g, '\\$');
|
|
30
|
+
lines.push(` '${key}': \`${escaped}\``);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (lines.length === 0) {
|
|
34
|
+
console.error('❌ No lottie files found in', srcDir);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const output = `// Auto-generated by scripts/generate-lottie-map.js — DO NOT EDIT
|
|
39
|
+
// Source: public/assets/lottie-files/ (${lines.length} animations)
|
|
40
|
+
// Passed as JSON string to lottie-player's src attribute.
|
|
41
|
+
export const LOTTIE_MAP: Record<string, string> = {
|
|
42
|
+
${lines.join(',\n')}
|
|
43
|
+
};
|
|
44
|
+
`;
|
|
45
|
+
|
|
46
|
+
const dir = path.dirname(outFile);
|
|
47
|
+
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
48
|
+
fs.writeFileSync(outFile, output);
|
|
49
|
+
console.log(`✅ Generated ${lines.length} lottie animations → src/utils/lottie-map.generated.ts`);
|