geoiq-frontend-ui-kit 2.0.1 → 2.0.3
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/components/atoms/accordion/accordion.d.ts +2 -1
- package/dist/components/atoms/accordion/accordion.d.ts.map +1 -1
- package/dist/components/atoms/avatar/avatar.d.ts +2 -1
- package/dist/components/atoms/avatar/avatar.d.ts.map +1 -1
- package/dist/components/atoms/badge/badge.d.ts +2 -2
- package/dist/components/atoms/badge/badge.d.ts.map +1 -1
- package/dist/components/atoms/badge/badge.styles.d.ts +2 -2
- package/dist/components/atoms/button/button.styles.d.ts +2 -2
- package/dist/components/atoms/checkbox/checkbox.styles.d.ts +2 -2
- package/dist/components/atoms/skeleton/skeleton.d.ts +1 -1
- package/dist/components/atoms/skeleton/skeleton.d.ts.map +1 -1
- package/dist/components/atoms/switch/switch.styles.d.ts +2 -2
- package/dist/components/atoms/tooltip/tooltip.d.ts +2 -2
- package/dist/components/atoms/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/molecules/alert/alert.styles.d.ts +1 -1
- package/dist/components/molecules/breadcrumb/breadcrumb-components.d.ts +2 -2
- package/dist/components/molecules/breadcrumb/breadcrumb.d.ts +2 -1
- package/dist/components/molecules/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts +5 -0
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.d.ts.map +1 -0
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.d.ts +49 -0
- package/dist/components/molecules/creatable-multi-combobox/creatable-multi-combobox.types.d.ts.map +1 -0
- package/dist/components/molecules/creatable-multi-combobox/index.d.ts +4 -0
- package/dist/components/molecules/creatable-multi-combobox/index.d.ts.map +1 -0
- package/dist/components/molecules/dropdown-menu/dropdown-menu-components.d.ts +1 -1
- package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts +2 -1
- package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts.map +1 -1
- package/dist/components/molecules/multi-combobox/index.d.ts +2 -2
- package/dist/components/molecules/multi-combobox/index.d.ts.map +1 -1
- package/dist/components/molecules/multi-select/index.d.ts +2 -2
- package/dist/components/molecules/multi-select/index.d.ts.map +1 -1
- package/dist/components/molecules/pagination/pagination-components.d.ts +4 -4
- package/dist/components/molecules/single-combobox/single-combobox.d.ts +2 -2
- package/dist/components/molecules/single-combobox/single-combobox.d.ts.map +1 -1
- package/dist/components/molecules/single-select/index.d.ts.map +1 -1
- package/dist/components/molecules/single-select/single-select-components.d.ts +3 -1
- package/dist/components/molecules/single-select/single-select-components.d.ts.map +1 -1
- package/dist/components/molecules/single-select/single-select.types.d.ts +9 -0
- package/dist/components/molecules/single-select/single-select.types.d.ts.map +1 -1
- package/dist/components/molecules/split-button/split-button.styles.d.ts +3 -3
- package/dist/components/molecules/stepper/stepper-components.d.ts +1 -1
- package/dist/components/molecules/stepper/stepper-components.d.ts.map +1 -1
- package/dist/components/molecules/stepper/stepper.d.ts +2 -1
- package/dist/components/molecules/stepper/stepper.d.ts.map +1 -1
- package/dist/components/molecules/stepper/stepper.mock.d.ts +2 -2
- package/dist/components/molecules/stepper/stepper.mock.d.ts.map +1 -1
- package/dist/components/molecules/swatch-grid/index.d.ts +3 -0
- package/dist/components/molecules/swatch-grid/index.d.ts.map +1 -0
- package/dist/components/molecules/swatch-grid/swatch-grid.d.ts +5 -0
- package/dist/components/molecules/swatch-grid/swatch-grid.d.ts.map +1 -0
- package/dist/components/molecules/swatch-grid/swatch-grid.types.d.ts +17 -0
- package/dist/components/molecules/swatch-grid/swatch-grid.types.d.ts.map +1 -0
- package/dist/components/molecules/tabs/tabs.d.ts.map +1 -1
- package/dist/components/molecules/tabs/tabs.styles.d.ts +2 -2
- package/dist/components/molecules/tabs/tabs.types.d.ts +1 -0
- package/dist/components/molecules/tabs/tabs.types.d.ts.map +1 -1
- package/dist/components/molecules/toast/assets/svgs/danger-icon.d.ts +3 -1
- package/dist/components/molecules/toast/assets/svgs/danger-icon.d.ts.map +1 -1
- package/dist/components/molecules/toast/assets/svgs/info-icon.d.ts +3 -1
- package/dist/components/molecules/toast/assets/svgs/info-icon.d.ts.map +1 -1
- package/dist/components/molecules/toast/assets/svgs/success-icon.d.ts +3 -1
- package/dist/components/molecules/toast/assets/svgs/success-icon.d.ts.map +1 -1
- package/dist/components/molecules/toast/assets/svgs/warning-icon.d.ts +3 -1
- package/dist/components/molecules/toast/assets/svgs/warning-icon.d.ts.map +1 -1
- package/dist/components/molecules/toast/toast-components.d.ts +1 -1
- package/dist/components/molecules/toast/toast.d.ts +2 -1
- package/dist/components/molecules/toast/toast.d.ts.map +1 -1
- package/dist/components/molecules/toggle-multi-select/index.d.ts +2 -2
- package/dist/components/molecules/toggle-multi-select/index.d.ts.map +1 -1
- package/dist/components/organisms/alert-dialog/alert-dialog-components.d.ts +2 -2
- package/dist/components/organisms/alert-dialog/alert-dialog.d.ts +2 -1
- package/dist/components/organisms/alert-dialog/alert-dialog.d.ts.map +1 -1
- package/dist/components/organisms/dialog/dialog-components.d.ts +2 -2
- package/dist/components/organisms/dialog/dialog.d.ts +2 -1
- package/dist/components/organisms/dialog/dialog.d.ts.map +1 -1
- package/dist/components/organisms/dialog/dialog.types.d.ts +9 -0
- package/dist/components/organisms/dialog/dialog.types.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/color-picker.d.ts +9 -0
- package/dist/components/organisms/image-editor/components/color-picker.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/layers-list.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/layers-list.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-adjust.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel-adjust.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-crop.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel-crop.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-insert.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel-insert.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-selected.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel-selected.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/panel.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/portal-context.d.ts +3 -0
- package/dist/components/organisms/image-editor/components/portal-context.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/ribbon.d.ts +10 -0
- package/dist/components/organisms/image-editor/components/ribbon.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/shape-icons.d.ts +4 -0
- package/dist/components/organisms/image-editor/components/shape-icons.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/stage.d.ts +18 -0
- package/dist/components/organisms/image-editor/components/stage.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/status-bar.d.ts +7 -0
- package/dist/components/organisms/image-editor/components/status-bar.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/image-editor-modal.d.ts +11 -0
- package/dist/components/organisms/image-editor/image-editor-modal.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/image-editor.d.ts +5 -0
- package/dist/components/organisms/image-editor/image-editor.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/image-editor.types.d.ts +182 -0
- package/dist/components/organisms/image-editor/image-editor.types.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/index.d.ts +4 -0
- package/dist/components/organisms/image-editor/index.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/native-bridge.d.ts +3 -0
- package/dist/components/organisms/image-editor/native-bridge.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/picture-studio-engine.d.ts +16 -0
- package/dist/components/organisms/image-editor/use-image-editor.d.ts +4 -0
- package/dist/components/organisms/image-editor/use-image-editor.d.ts.map +1 -0
- package/dist/components/organisms/navbar/navbar-desktop.d.ts.map +1 -1
- package/dist/components/organisms/navbar/navbar-extended.d.ts.map +1 -1
- package/dist/components/organisms/navbar/navbar-mobile.d.ts.map +1 -1
- package/dist/components/organisms/navbar/navbar.types.d.ts +17 -0
- package/dist/components/organisms/navbar/navbar.types.d.ts.map +1 -1
- package/dist/components/organisms/sheet/sheet-components.d.ts +2 -2
- package/dist/components/organisms/sheet/sheet.d.ts +2 -1
- package/dist/components/organisms/sheet/sheet.d.ts.map +1 -1
- package/dist/components/organisms/sheet/sheet.types.d.ts +1 -0
- package/dist/components/organisms/sheet/sheet.types.d.ts.map +1 -1
- package/dist/components/organisms/sidebar/sidebar-components.d.ts +1 -1
- package/dist/components/organisms/sidebar/sidebar.d.ts +2 -1
- package/dist/components/organisms/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/ui/agent-snippet-view/agent-snippet-view.d.ts +1 -1
- package/dist/components/ui/agent-snippet-view/agent-snippet-view.d.ts.map +1 -1
- package/dist/components/ui/brand-switcher/brand-switcher.d.ts +5 -0
- package/dist/components/ui/brand-switcher/brand-switcher.d.ts.map +1 -0
- package/dist/components/ui/brand-switcher/brand-switcher.types.d.ts +29 -0
- package/dist/components/ui/brand-switcher/brand-switcher.types.d.ts.map +1 -0
- package/dist/components/ui/brand-switcher/index.d.ts +3 -0
- package/dist/components/ui/brand-switcher/index.d.ts.map +1 -0
- package/dist/components/ui/credit-sheet/credit-sheet.d.ts.map +1 -1
- package/dist/components/ui/credit-sheet/credit-sheet.types.d.ts +3 -0
- package/dist/components/ui/credit-sheet/credit-sheet.types.d.ts.map +1 -1
- package/dist/components/ui/credits-indicator/credits-indicator.d.ts +6 -0
- package/dist/components/ui/credits-indicator/credits-indicator.d.ts.map +1 -0
- package/dist/components/ui/credits-indicator/credits-indicator.styles.d.ts +7 -0
- package/dist/components/ui/credits-indicator/credits-indicator.styles.d.ts.map +1 -0
- package/dist/components/ui/credits-indicator/credits-indicator.types.d.ts +14 -0
- package/dist/components/ui/credits-indicator/credits-indicator.types.d.ts.map +1 -0
- package/dist/components/ui/credits-indicator/index.d.ts +3 -0
- package/dist/components/ui/credits-indicator/index.d.ts.map +1 -0
- package/dist/components/ui/form-renderer/components/form-fields/components/multi-image-picker/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-fields/components/single-image-picker/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker-with-input/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-fields/index.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/components/form-read-only-view.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/context/form-values/form-values.context.d.ts +4 -0
- package/dist/components/ui/form-renderer/context/form-values/form-values.context.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/context/form-values/form-values.provider.d.ts +2 -0
- package/dist/components/ui/form-renderer/context/form-values/form-values.provider.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/form-renderer.d.ts +10 -0
- package/dist/components/ui/form-renderer/form-renderer.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/form.enums.d.ts +1 -0
- package/dist/components/ui/form-renderer/form.enums.d.ts.map +1 -1
- package/dist/components/ui/form-renderer/form.types.d.ts +20 -1
- package/dist/components/ui/form-renderer/form.types.d.ts.map +1 -1
- package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts +2 -1
- package/dist/components/ui/map-marker-hover-card/components/map-cluster-hover-card.d.ts.map +1 -1
- package/dist/components/ui/map-marker-hover-card/components/map-point-hover-card.d.ts +2 -1
- package/dist/components/ui/map-marker-hover-card/components/map-point-hover-card.d.ts.map +1 -1
- package/dist/components/ui/map-marker-hover-card/map-marker-hover-card.d.ts +2 -1
- package/dist/components/ui/map-marker-hover-card/map-marker-hover-card.d.ts.map +1 -1
- package/dist/components/ui/report-snippet-view/report-snippet-view-components.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/component/request-credit-dialog.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/component/request-credit-dialog.types.d.ts +3 -0
- package/dist/components/ui/request-credits-view/component/request-credit-dialog.types.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/index.d.ts +1 -0
- package/dist/components/ui/request-credits-view/index.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/request-credits-view.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/request-credits-view.types.d.ts +3 -0
- package/dist/components/ui/request-credits-view/request-credits-view.types.d.ts.map +1 -1
- package/dist/components/ui/star-score/star-score.d.ts +2 -1
- package/dist/components/ui/star-score/star-score.d.ts.map +1 -1
- package/dist/components/unstyled/calendar/calendar.d.ts +1 -1
- package/dist/components/unstyled/calendar/calendar.d.ts.map +1 -1
- package/dist/components/unstyled/command/index.d.ts +2 -2
- package/dist/components/unstyled/command/index.d.ts.map +1 -1
- package/dist/components/unstyled/date-picker/date-picker.d.ts +2 -2
- package/dist/components/unstyled/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/unstyled/hover-card/hover-card.d.ts +2 -1
- package/dist/components/unstyled/hover-card/hover-card.d.ts.map +1 -1
- package/dist/components/unstyled/popover/popover.d.ts +2 -1
- package/dist/components/unstyled/popover/popover.d.ts.map +1 -1
- package/dist/components/unstyled/spinner/spinner.styles.d.ts +1 -1
- package/dist/components/unstyled/table/table.d.ts +2 -2
- package/dist/components/unstyled/table/table.d.ts.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +210 -193
- package/dist/index.es.js.map +1 -1
- package/dist/{index.es8.js → index10.es.js} +3 -3
- package/dist/index10.es.js.map +1 -0
- package/dist/{index.es96.js → index100.es.js} +1 -1
- package/dist/index100.es.js.map +1 -0
- package/dist/{index.es109.js → index101.es.js} +1 -1
- package/dist/{index.es109.js.map → index101.es.js.map} +1 -1
- package/dist/{index.es90.js → index102.es.js} +2 -2
- package/dist/index102.es.js.map +1 -0
- package/dist/{index.es91.js → index103.es.js} +2 -2
- package/dist/index103.es.js.map +1 -0
- package/dist/{index.es92.js → index104.es.js} +1 -1
- package/dist/index104.es.js.map +1 -0
- package/dist/{index.es95.js → index105.es.js} +1 -1
- package/dist/index105.es.js.map +1 -0
- package/dist/{index.es110.js → index106.es.js} +1 -1
- package/dist/{index.es110.js.map → index106.es.js.map} +1 -1
- package/dist/{index.es114.js → index107.es.js} +5 -5
- package/dist/{index.es114.js.map → index107.es.js.map} +1 -1
- package/dist/{index.es115.js → index108.es.js} +1 -1
- package/dist/{index.es115.js.map → index108.es.js.map} +1 -1
- package/dist/{index.es112.js → index109.es.js} +1 -1
- package/dist/{index.es112.js.map → index109.es.js.map} +1 -1
- package/dist/{index.es9.js → index11.es.js} +4 -4
- package/dist/index11.es.js.map +1 -0
- package/dist/{index.es117.js → index110.es.js} +4 -4
- package/dist/{index.es117.js.map → index110.es.js.map} +1 -1
- package/dist/{index.es118.js → index111.es.js} +4 -4
- package/dist/{index.es118.js.map → index111.es.js.map} +1 -1
- package/dist/{index.es119.js → index112.es.js} +58 -57
- package/dist/index112.es.js.map +1 -0
- package/dist/{index.es120.js → index113.es.js} +2 -2
- package/dist/{index.es120.js.map → index113.es.js.map} +1 -1
- package/dist/{index.es121.js → index114.es.js} +65 -39
- package/dist/index114.es.js.map +1 -0
- package/dist/index115.es.js +38 -0
- package/dist/index115.es.js.map +1 -0
- package/dist/{index.es107.js → index116.es.js} +6 -6
- package/dist/{index.es107.js.map → index116.es.js.map} +1 -1
- package/dist/index117.es.js +19 -0
- package/dist/index117.es.js.map +1 -0
- package/dist/index118.es.js +103 -0
- package/dist/index118.es.js.map +1 -0
- package/dist/index119.es.js +17 -0
- package/dist/index119.es.js.map +1 -0
- package/dist/{index.es10.js → index12.es.js} +3 -3
- package/dist/{index.es10.js.map → index12.es.js.map} +1 -1
- package/dist/index120.es.js +105 -0
- package/dist/index120.es.js.map +1 -0
- package/dist/{index.es97.js → index121.es.js} +4 -4
- package/dist/index121.es.js.map +1 -0
- package/dist/{index.es98.js → index122.es.js} +3 -3
- package/dist/index122.es.js.map +1 -0
- package/dist/{index.es99.js → index123.es.js} +3 -3
- package/dist/index123.es.js.map +1 -0
- package/dist/{index.es100.js → index124.es.js} +3 -3
- package/dist/{index.es100.js.map → index124.es.js.map} +1 -1
- package/dist/{index.es101.js → index125.es.js} +10 -10
- package/dist/{index.es101.js.map → index125.es.js.map} +1 -1
- package/dist/{index.es102.js → index126.es.js} +10 -10
- package/dist/{index.es102.js.map → index126.es.js.map} +1 -1
- package/dist/{index.es103.js → index127.es.js} +5 -5
- package/dist/{index.es103.js.map → index127.es.js.map} +1 -1
- package/dist/{index.es122.js → index128.es.js} +1 -1
- package/dist/{index.es122.js.map → index128.es.js.map} +1 -1
- package/dist/{index.es123.js → index129.es.js} +26 -20
- package/dist/index129.es.js.map +1 -0
- package/dist/{index.es11.js → index13.es.js} +3 -3
- package/dist/{index.es11.js.map → index13.es.js.map} +1 -1
- package/dist/{index.es124.js → index130.es.js} +3 -3
- package/dist/{index.es124.js.map → index130.es.js.map} +1 -1
- package/dist/{index.es116.js → index131.es.js} +22 -21
- package/dist/index131.es.js.map +1 -0
- package/dist/{index.es113.js → index132.es.js} +3 -3
- package/dist/{index.es113.js.map → index132.es.js.map} +1 -1
- package/dist/{index.es93.js → index133.es.js} +1 -1
- package/dist/index133.es.js.map +1 -0
- package/dist/index134.es.js +10 -0
- package/dist/index134.es.js.map +1 -0
- package/dist/{index.es111.js → index135.es.js} +3 -3
- package/dist/{index.es111.js.map → index135.es.js.map} +1 -1
- package/dist/{index.es104.js → index136.es.js} +1 -1
- package/dist/{index.es104.js.map → index136.es.js.map} +1 -1
- package/dist/{index.es127.js → index137.es.js} +2 -2
- package/dist/{index.es127.js.map → index137.es.js.map} +1 -1
- package/dist/{index.es125.js → index138.es.js} +1 -1
- package/dist/{index.es125.js.map → index138.es.js.map} +1 -1
- package/dist/{index.es128.js → index139.es.js} +3 -3
- package/dist/{index.es128.js.map → index139.es.js.map} +1 -1
- package/dist/{index.es12.js → index14.es.js} +2 -2
- package/dist/{index.es12.js.map → index14.es.js.map} +1 -1
- package/dist/{index.es129.js → index140.es.js} +1 -1
- package/dist/{index.es129.js.map → index140.es.js.map} +1 -1
- package/dist/{index.es130.js → index141.es.js} +1 -1
- package/dist/index141.es.js.map +1 -0
- package/dist/index142.es.js +5 -0
- package/dist/index142.es.js.map +1 -0
- package/dist/index143.es.js +10 -0
- package/dist/index143.es.js.map +1 -0
- package/dist/index144.es.js +25 -0
- package/dist/index144.es.js.map +1 -0
- package/dist/index145.es.js +173 -0
- package/dist/index145.es.js.map +1 -0
- package/dist/index146.es.js +85 -0
- package/dist/index146.es.js.map +1 -0
- package/dist/index147.es.js +8 -0
- package/dist/index147.es.js.map +1 -0
- package/dist/index148.es.js +59 -0
- package/dist/index148.es.js.map +1 -0
- package/dist/index149.es.js +120 -0
- package/dist/index149.es.js.map +1 -0
- package/dist/{index.es13.js → index15.es.js} +3 -3
- package/dist/{index.es13.js.map → index15.es.js.map} +1 -1
- package/dist/index150.es.js +325 -0
- package/dist/index150.es.js.map +1 -0
- package/dist/index151.es.js +31 -0
- package/dist/index151.es.js.map +1 -0
- package/dist/index152.es.js +71 -0
- package/dist/index152.es.js.map +1 -0
- package/dist/index153.es.js +35 -0
- package/dist/index153.es.js.map +1 -0
- package/dist/index154.es.js +28 -0
- package/dist/index154.es.js.map +1 -0
- package/dist/index155.es.js +41 -0
- package/dist/index155.es.js.map +1 -0
- package/dist/index156.es.js +146 -0
- package/dist/index156.es.js.map +1 -0
- package/dist/index157.es.js +147 -0
- package/dist/index157.es.js.map +1 -0
- package/dist/index158.es.js +50 -0
- package/dist/index158.es.js.map +1 -0
- package/dist/{index.es126.js → index159.es.js} +1 -1
- package/dist/{index.es126.js.map → index159.es.js.map} +1 -1
- package/dist/{index.es14.js → index16.es.js} +8 -8
- package/dist/{index.es14.js.map → index16.es.js.map} +1 -1
- package/dist/index160.es.js +5 -0
- package/dist/index160.es.js.map +1 -0
- package/dist/{index.es132.js → index161.es.js} +1 -1
- package/dist/{index.es132.js.map → index161.es.js.map} +1 -1
- package/dist/index162.es.js +94 -0
- package/dist/index162.es.js.map +1 -0
- package/dist/index163.es.js +216 -0
- package/dist/index163.es.js.map +1 -0
- package/dist/index164.es.js +57 -0
- package/dist/index164.es.js.map +1 -0
- package/dist/index165.es.js +39 -0
- package/dist/index165.es.js.map +1 -0
- package/dist/index166.es.js +36 -0
- package/dist/index166.es.js.map +1 -0
- package/dist/index167.es.js +36 -0
- package/dist/index167.es.js.map +1 -0
- package/dist/index168.es.js +94 -0
- package/dist/index168.es.js.map +1 -0
- package/dist/index169.es.js +120 -0
- package/dist/index169.es.js.map +1 -0
- package/dist/{index.es15.js → index17.es.js} +3 -3
- package/dist/{index.es15.js.map → index17.es.js.map} +1 -1
- package/dist/{index.es133.js → index170.es.js} +122 -93
- package/dist/index170.es.js.map +1 -0
- package/dist/{index.es134.js → index171.es.js} +4 -4
- package/dist/{index.es134.js.map → index171.es.js.map} +1 -1
- package/dist/{index.es135.js → index172.es.js} +2 -2
- package/dist/{index.es135.js.map → index172.es.js.map} +1 -1
- package/dist/{index.es136.js → index173.es.js} +25 -23
- package/dist/index173.es.js.map +1 -0
- package/dist/{index.es137.js → index174.es.js} +17 -16
- package/dist/{index.es137.js.map → index174.es.js.map} +1 -1
- package/dist/{index.es138.js → index175.es.js} +30 -28
- package/dist/{index.es138.js.map → index175.es.js.map} +1 -1
- package/dist/{index.es139.js → index176.es.js} +13 -12
- package/dist/{index.es139.js.map → index176.es.js.map} +1 -1
- package/dist/{index.es140.js → index177.es.js} +5 -5
- package/dist/{index.es140.js.map → index177.es.js.map} +1 -1
- package/dist/{index.es141.js → index178.es.js} +24 -22
- package/dist/index178.es.js.map +1 -0
- package/dist/{index.es142.js → index179.es.js} +44 -42
- package/dist/index179.es.js.map +1 -0
- package/dist/{index.es16.js → index18.es.js} +2 -2
- package/dist/{index.es16.js.map → index18.es.js.map} +1 -1
- package/dist/index180.es.js +29 -0
- package/dist/index180.es.js.map +1 -0
- package/dist/index181.es.js +27 -0
- package/dist/index181.es.js.map +1 -0
- package/dist/{index.es143.js → index182.es.js} +1 -1
- package/dist/{index.es143.js.map → index182.es.js.map} +1 -1
- package/dist/{index.es17.js → index19.es.js} +4 -4
- package/dist/{index.es17.js.map → index19.es.js.map} +1 -1
- package/dist/index2.es.js +125 -0
- package/dist/index2.es.js.map +1 -0
- package/dist/{index.es18.js → index20.es.js} +5 -5
- package/dist/{index.es18.js.map → index20.es.js.map} +1 -1
- package/dist/{index.es19.js → index21.es.js} +6 -6
- package/dist/{index.es19.js.map → index21.es.js.map} +1 -1
- package/dist/{index.es20.js → index22.es.js} +2 -2
- package/dist/{index.es20.js.map → index22.es.js.map} +1 -1
- package/dist/{index.es21.js → index23.es.js} +7 -7
- package/dist/{index.es21.js.map → index23.es.js.map} +1 -1
- package/dist/{index.es22.js → index24.es.js} +7 -7
- package/dist/{index.es22.js.map → index24.es.js.map} +1 -1
- package/dist/{index.es23.js → index25.es.js} +3 -3
- package/dist/{index.es23.js.map → index25.es.js.map} +1 -1
- package/dist/{index.es24.js → index26.es.js} +2 -2
- package/dist/{index.es24.js.map → index26.es.js.map} +1 -1
- package/dist/{index.es25.js → index27.es.js} +7 -7
- package/dist/{index.es25.js.map → index27.es.js.map} +1 -1
- package/dist/index28.es.js +277 -0
- package/dist/index28.es.js.map +1 -0
- package/dist/{index.es26.js → index29.es.js} +18 -17
- package/dist/index29.es.js.map +1 -0
- package/dist/index3.es.js +43 -0
- package/dist/index3.es.js.map +1 -0
- package/dist/{index.es27.js → index30.es.js} +3 -3
- package/dist/{index.es27.js.map → index30.es.js.map} +1 -1
- package/dist/{index.es28.js → index31.es.js} +1 -1
- package/dist/{index.es28.js.map → index31.es.js.map} +1 -1
- package/dist/{index.es29.js → index32.es.js} +2 -2
- package/dist/{index.es29.js.map → index32.es.js.map} +1 -1
- package/dist/index33.es.js +82 -0
- package/dist/{index.es30.js.map → index33.es.js.map} +1 -1
- package/dist/{index.es31.js → index34.es.js} +5 -5
- package/dist/{index.es31.js.map → index34.es.js.map} +1 -1
- package/dist/{index.es32.js → index35.es.js} +11 -11
- package/dist/index35.es.js.map +1 -0
- package/dist/{index.es33.js → index36.es.js} +5 -5
- package/dist/{index.es33.js.map → index36.es.js.map} +1 -1
- package/dist/{index.es34.js → index37.es.js} +6 -6
- package/dist/{index.es34.js.map → index37.es.js.map} +1 -1
- package/dist/index38.es.js +57 -0
- package/dist/index38.es.js.map +1 -0
- package/dist/{index.es35.js → index39.es.js} +3 -3
- package/dist/{index.es35.js.map → index39.es.js.map} +1 -1
- package/dist/{index.es2.js → index4.es.js} +2 -2
- package/dist/{index.es2.js.map → index4.es.js.map} +1 -1
- package/dist/{index.es36.js → index40.es.js} +4 -4
- package/dist/{index.es36.js.map → index40.es.js.map} +1 -1
- package/dist/index41.es.js +46 -0
- package/dist/index41.es.js.map +1 -0
- package/dist/index42.es.js +49 -0
- package/dist/index42.es.js.map +1 -0
- package/dist/{index.es39.js → index43.es.js} +2 -2
- package/dist/{index.es39.js.map → index43.es.js.map} +1 -1
- package/dist/index44.es.js +18 -0
- package/dist/index44.es.js.map +1 -0
- package/dist/index45.es.js +67 -0
- package/dist/index45.es.js.map +1 -0
- package/dist/{index.es40.js → index46.es.js} +36 -30
- package/dist/index46.es.js.map +1 -0
- package/dist/{index.es41.js → index47.es.js} +67 -50
- package/dist/index47.es.js.map +1 -0
- package/dist/index48.es.js +317 -0
- package/dist/index48.es.js.map +1 -0
- package/dist/{index.es43.js → index49.es.js} +2 -2
- package/dist/{index.es43.js.map → index49.es.js.map} +1 -1
- package/dist/{index.es3.js → index5.es.js} +2 -2
- package/dist/{index.es3.js.map → index5.es.js.map} +1 -1
- package/dist/{index.es44.js → index50.es.js} +1 -1
- package/dist/{index.es44.js.map → index50.es.js.map} +1 -1
- package/dist/{index.es45.js → index51.es.js} +2 -2
- package/dist/{index.es45.js.map → index51.es.js.map} +1 -1
- package/dist/{index.es46.js → index52.es.js} +3 -3
- package/dist/{index.es46.js.map → index52.es.js.map} +1 -1
- package/dist/{index.es47.js → index53.es.js} +13 -13
- package/dist/index53.es.js.map +1 -0
- package/dist/{index.es48.js → index54.es.js} +4 -4
- package/dist/{index.es48.js.map → index54.es.js.map} +1 -1
- package/dist/index55.es.js +108 -0
- package/dist/index55.es.js.map +1 -0
- package/dist/index56.es.js +76 -0
- package/dist/index56.es.js.map +1 -0
- package/dist/{index.es50.js → index57.es.js} +9 -9
- package/dist/{index.es50.js.map → index57.es.js.map} +1 -1
- package/dist/{index.es51.js → index58.es.js} +4 -3
- package/dist/{index.es51.js.map → index58.es.js.map} +1 -1
- package/dist/{index.es52.js → index59.es.js} +2 -2
- package/dist/{index.es52.js.map → index59.es.js.map} +1 -1
- package/dist/{index.es4.js → index6.es.js} +2 -2
- package/dist/{index.es4.js.map → index6.es.js.map} +1 -1
- package/dist/{index.es53.js → index60.es.js} +3 -3
- package/dist/{index.es53.js.map → index60.es.js.map} +1 -1
- package/dist/{index.es54.js → index61.es.js} +2 -2
- package/dist/{index.es54.js.map → index61.es.js.map} +1 -1
- package/dist/{index.es55.js → index62.es.js} +2 -2
- package/dist/{index.es55.js.map → index62.es.js.map} +1 -1
- package/dist/{index.es56.js → index63.es.js} +2 -2
- package/dist/{index.es56.js.map → index63.es.js.map} +1 -1
- package/dist/{index.es57.js → index64.es.js} +3 -3
- package/dist/{index.es57.js.map → index64.es.js.map} +1 -1
- package/dist/{index.es58.js → index65.es.js} +3 -3
- package/dist/{index.es58.js.map → index65.es.js.map} +1 -1
- package/dist/{index.es59.js → index66.es.js} +2 -2
- package/dist/{index.es59.js.map → index66.es.js.map} +1 -1
- package/dist/{index.es60.js → index67.es.js} +3 -3
- package/dist/{index.es60.js.map → index67.es.js.map} +1 -1
- package/dist/{index.es61.js → index68.es.js} +3 -3
- package/dist/{index.es61.js.map → index68.es.js.map} +1 -1
- package/dist/{index.es62.js → index69.es.js} +6 -6
- package/dist/{index.es62.js.map → index69.es.js.map} +1 -1
- package/dist/{index.es5.js → index7.es.js} +2 -2
- package/dist/{index.es5.js.map → index7.es.js.map} +1 -1
- package/dist/index70.es.js +70 -0
- package/dist/index70.es.js.map +1 -0
- package/dist/{index.es64.js → index71.es.js} +4 -4
- package/dist/{index.es64.js.map → index71.es.js.map} +1 -1
- package/dist/{index.es65.js → index72.es.js} +8 -8
- package/dist/{index.es65.js.map → index72.es.js.map} +1 -1
- package/dist/{index.es66.js → index73.es.js} +5 -5
- package/dist/{index.es66.js.map → index73.es.js.map} +1 -1
- package/dist/{index.es67.js → index74.es.js} +1 -1
- package/dist/{index.es67.js.map → index74.es.js.map} +1 -1
- package/dist/{index.es68.js → index75.es.js} +1 -1
- package/dist/{index.es68.js.map → index75.es.js.map} +1 -1
- package/dist/{index.es69.js → index76.es.js} +1 -1
- package/dist/{index.es69.js.map → index76.es.js.map} +1 -1
- package/dist/index77.es.js +35 -0
- package/dist/index77.es.js.map +1 -0
- package/dist/{index.es70.js → index78.es.js} +2 -2
- package/dist/{index.es70.js.map → index78.es.js.map} +1 -1
- package/dist/{index.es71.js → index79.es.js} +1 -1
- package/dist/{index.es71.js.map → index79.es.js.map} +1 -1
- package/dist/{index.es6.js → index8.es.js} +3 -3
- package/dist/{index.es6.js.map → index8.es.js.map} +1 -1
- package/dist/{index.es72.js → index80.es.js} +3 -3
- package/dist/{index.es72.js.map → index80.es.js.map} +1 -1
- package/dist/{index.es73.js → index81.es.js} +4 -4
- package/dist/{index.es73.js.map → index81.es.js.map} +1 -1
- package/dist/{index.es74.js → index82.es.js} +1 -1
- package/dist/{index.es74.js.map → index82.es.js.map} +1 -1
- package/dist/{index.es75.js → index83.es.js} +1 -1
- package/dist/{index.es75.js.map → index83.es.js.map} +1 -1
- package/dist/{index.es76.js → index84.es.js} +1 -1
- package/dist/{index.es76.js.map → index84.es.js.map} +1 -1
- package/dist/{index.es77.js → index85.es.js} +2 -2
- package/dist/{index.es77.js.map → index85.es.js.map} +1 -1
- package/dist/{index.es78.js → index86.es.js} +2 -2
- package/dist/{index.es78.js.map → index86.es.js.map} +1 -1
- package/dist/{index.es79.js → index87.es.js} +1 -1
- package/dist/{index.es79.js.map → index87.es.js.map} +1 -1
- package/dist/index88.es.js +5 -0
- package/dist/index88.es.js.map +1 -0
- package/dist/{index.es81.js → index89.es.js} +1 -1
- package/dist/{index.es81.js.map → index89.es.js.map} +1 -1
- package/dist/{index.es7.js → index9.es.js} +4 -4
- package/dist/{index.es7.js.map → index9.es.js.map} +1 -1
- package/dist/{index.es82.js → index90.es.js} +2 -2
- package/dist/{index.es82.js.map → index90.es.js.map} +1 -1
- package/dist/index91.es.js +122 -0
- package/dist/index91.es.js.map +1 -0
- package/dist/{index.es84.js → index92.es.js} +1 -1
- package/dist/{index.es84.js.map → index92.es.js.map} +1 -1
- package/dist/{index.es85.js → index93.es.js} +1 -1
- package/dist/{index.es85.js.map → index93.es.js.map} +1 -1
- package/dist/{index.es86.js → index94.es.js} +1 -1
- package/dist/{index.es86.js.map → index94.es.js.map} +1 -1
- package/dist/{index.es87.js → index95.es.js} +1 -1
- package/dist/{index.es87.js.map → index95.es.js.map} +1 -1
- package/dist/{index.es88.js → index96.es.js} +1 -1
- package/dist/{index.es88.js.map → index96.es.js.map} +1 -1
- package/dist/{index.es89.js → index97.es.js} +1 -1
- package/dist/{index.es89.js.map → index97.es.js.map} +1 -1
- package/dist/{index.es105.js → index98.es.js} +1 -1
- package/dist/index98.es.js.map +1 -0
- package/dist/{index.es108.js → index99.es.js} +1 -1
- package/dist/index99.es.js.map +1 -0
- package/dist/lib/constants.d.ts +2 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/styles.css +374 -48
- package/dist/ui-kit-preset.js +2 -1
- package/package.json +2 -1
- package/dist/index.es105.js.map +0 -1
- package/dist/index.es106.js +0 -36
- package/dist/index.es106.js.map +0 -1
- package/dist/index.es108.js.map +0 -1
- package/dist/index.es116.js.map +0 -1
- package/dist/index.es119.js.map +0 -1
- package/dist/index.es121.js.map +0 -1
- package/dist/index.es123.js.map +0 -1
- package/dist/index.es130.js.map +0 -1
- package/dist/index.es131.js +0 -5
- package/dist/index.es131.js.map +0 -1
- package/dist/index.es133.js.map +0 -1
- package/dist/index.es136.js.map +0 -1
- package/dist/index.es141.js.map +0 -1
- package/dist/index.es142.js.map +0 -1
- package/dist/index.es26.js.map +0 -1
- package/dist/index.es30.js +0 -82
- package/dist/index.es32.js.map +0 -1
- package/dist/index.es37.js +0 -43
- package/dist/index.es37.js.map +0 -1
- package/dist/index.es38.js +0 -48
- package/dist/index.es38.js.map +0 -1
- package/dist/index.es40.js.map +0 -1
- package/dist/index.es41.js.map +0 -1
- package/dist/index.es42.js +0 -278
- package/dist/index.es42.js.map +0 -1
- package/dist/index.es47.js.map +0 -1
- package/dist/index.es49.js +0 -37
- package/dist/index.es49.js.map +0 -1
- package/dist/index.es63.js +0 -39
- package/dist/index.es63.js.map +0 -1
- package/dist/index.es8.js.map +0 -1
- package/dist/index.es80.js +0 -5
- package/dist/index.es80.js.map +0 -1
- package/dist/index.es83.js +0 -116
- package/dist/index.es83.js.map +0 -1
- package/dist/index.es9.js.map +0 -1
- package/dist/index.es90.js.map +0 -1
- package/dist/index.es91.js.map +0 -1
- package/dist/index.es92.js.map +0 -1
- package/dist/index.es93.js.map +0 -1
- package/dist/index.es94.js +0 -105
- package/dist/index.es94.js.map +0 -1
- package/dist/index.es95.js.map +0 -1
- package/dist/index.es96.js.map +0 -1
- package/dist/index.es97.js.map +0 -1
- package/dist/index.es98.js.map +0 -1
- package/dist/index.es99.js.map +0 -1
package/dist/ui-kit-preset.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
2
|
/* eslint-disable no-undef */
|
|
3
3
|
const defaultTheme = require('tailwindcss/defaultTheme')
|
|
4
|
+
const FONT_FAMILY = 'Plus Jakarta Sans'
|
|
4
5
|
|
|
5
6
|
module.exports = {
|
|
6
7
|
darkMode: ['selector'],
|
|
@@ -12,7 +13,7 @@ module.exports = {
|
|
|
12
13
|
theme: {
|
|
13
14
|
extend: {
|
|
14
15
|
fontFamily: {
|
|
15
|
-
sans: [
|
|
16
|
+
sans: [FONT_FAMILY, ...defaultTheme.fontFamily.sans],
|
|
16
17
|
},
|
|
17
18
|
backgroundColor: {
|
|
18
19
|
'light-1': 'rgb(var(--neutral-0) / <alpha-value>)',
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "geoiq-frontend-ui-kit",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.3",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs.js",
|
|
7
7
|
"module": "dist/index.es.js",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"dev": "vite",
|
|
15
15
|
"build": "npm run lint && tsc && vite build && npm run build:styles",
|
|
16
16
|
"build:styles": "postcss src/index.css -o dist/styles.css && cp ui-kit-preset.js dist/",
|
|
17
|
+
"prepublishOnly": "rm -rf dist && npm run build",
|
|
17
18
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 50",
|
|
18
19
|
"format": "prettier --write .",
|
|
19
20
|
"format:check": "prettier --check .",
|
package/dist/index.es105.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es105.js","sources":["../src/components/atoms/progress/progress.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const ProgressVariants = cva(\n 'relative h-2 w-full overflow-hidden rounded bg-primary-2 min-w-64 ',\n {\n variants: {\n variant: {},\n },\n defaultVariants: {},\n }\n)\n"],"names":["ProgressVariants","cva"],"mappings":";AAEO,MAAMA,IAAmBC;AAAA,EAC9B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS,CAAA;AAAA,IAAC;AAAA,IAEZ,iBAAiB,CAAA;AAAA,EAAC;AAEtB;"}
|
package/dist/index.es106.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import e from "react";
|
|
2
|
-
import { Typography as r } from "./index.es17.js";
|
|
3
|
-
import { ResponsiveContainer as c, PieChart as o, Pie as m, Cell as i } from "recharts";
|
|
4
|
-
function p({
|
|
5
|
-
list: l
|
|
6
|
-
}) {
|
|
7
|
-
const n = l?.reduce(
|
|
8
|
-
(t, a) => t + a.count,
|
|
9
|
-
0
|
|
10
|
-
) || 1;
|
|
11
|
-
return /* @__PURE__ */ e.createElement("div", { className: "flex gap-2 p-4 border rounded-lg border-neutral-1 bg-light-1" }, /* @__PURE__ */ e.createElement("div", { className: "w-[180px] h-[164px] flex items-center justify-center" }, /* @__PURE__ */ e.createElement(c, { width: "100%", height: "100%" }, /* @__PURE__ */ e.createElement(o, null, /* @__PURE__ */ e.createElement(
|
|
12
|
-
m,
|
|
13
|
-
{
|
|
14
|
-
data: l,
|
|
15
|
-
labelLine: !1,
|
|
16
|
-
outerRadius: "100%",
|
|
17
|
-
dataKey: "count"
|
|
18
|
-
},
|
|
19
|
-
l?.map(
|
|
20
|
-
(t, a) => /* @__PURE__ */ e.createElement(
|
|
21
|
-
i,
|
|
22
|
-
{
|
|
23
|
-
key: `cell-${a}`,
|
|
24
|
-
fill: t.color,
|
|
25
|
-
stroke: "none"
|
|
26
|
-
}
|
|
27
|
-
)
|
|
28
|
-
)
|
|
29
|
-
)))), /* @__PURE__ */ e.createElement("div", { className: "flex flex-col gap-4" }, l?.map(
|
|
30
|
-
(t, a) => /* @__PURE__ */ e.createElement("div", { key: a, className: "flex flex-col gap-1" }, /* @__PURE__ */ e.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ e.createElement("img", { src: t.icon_url, alt: t.name || "Brand icon" }), /* @__PURE__ */ e.createElement(r, { variant: "body4", className: "text-light-3" }, t.name)), /* @__PURE__ */ e.createElement(r, { variant: "body4", className: "text-light-2" }, (t.count / n * 100).toFixed(2), "% (", t.count, ")"))
|
|
31
|
-
)));
|
|
32
|
-
}
|
|
33
|
-
export {
|
|
34
|
-
p as ClusterHoverCard
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=index.es106.js.map
|
package/dist/index.es106.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es106.js","sources":["../src/components/ui/map-marker-hover-card/components/map-cluster-hover-card.tsx"],"sourcesContent":["import React from 'react'\nimport { Typography } from '@/components/atoms/typography'\nimport { PieChart, Pie, Cell, ResponsiveContainer } from 'recharts'\nimport { MapMarkerHoverCardNS } from '../map-marker-hover-card.types'\n\nexport function ClusterHoverCard({\n list,\n}: MapMarkerHoverCardNS.ClusterHoverCardProps) {\n const totalCount =\n list?.reduce(\n (sum: number, item: MapMarkerHoverCardNS.ClusterDataItem) =>\n sum + item.count,\n 0\n ) || 1\n\n return (\n <div className=\"flex gap-2 p-4 border rounded-lg border-neutral-1 bg-light-1\">\n <div className=\"w-[180px] h-[164px] flex items-center justify-center\">\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <PieChart>\n <Pie\n data={list}\n labelLine={false}\n outerRadius=\"100%\"\n dataKey=\"count\"\n >\n {list?.map(\n (\n entry: MapMarkerHoverCardNS.ClusterDataItem,\n index: number\n ) => (\n <Cell\n key={`cell-${index}`}\n fill={entry.color}\n stroke=\"none\"\n />\n )\n )}\n </Pie>\n </PieChart>\n </ResponsiveContainer>\n </div>\n <div className=\"flex flex-col gap-4\">\n {list?.map(\n (item: MapMarkerHoverCardNS.ClusterDataItem, index: number) => (\n <div key={index} className=\"flex flex-col gap-1\">\n <div className=\"flex items-center gap-1\">\n <img src={item.icon_url} alt={item.name || 'Brand icon'} />\n <Typography variant=\"body4\" className=\"text-light-3\">\n {item.name}\n </Typography>\n </div>\n <Typography variant=\"body4\" className=\"text-light-2\">\n {((item.count / totalCount) * 100).toFixed(2)}% ({item.count})\n </Typography>\n </div>\n )\n )}\n </div>\n </div>\n )\n}\n"],"names":["ClusterHoverCard","list","totalCount","sum","item","React","ResponsiveContainer","PieChart","Pie","entry","index","Cell","Typography"],"mappings":";;;AAKO,SAASA,EAAiB;AAAA,EAC/B,MAAAC;AACF,GAA+C;AAC7C,QAAMC,IACJD,GAAM;AAAA,IACJ,CAACE,GAAaC,MACZD,IAAMC,EAAK;AAAA,IACb;AAAA,EAAA,KACG;AAEP,SACEC,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,kGACZ,OAAA,EAAI,WAAU,uDAAA,GACbA,gBAAAA,EAAA,cAACC,KAAoB,OAAM,QAAO,QAAO,0CACtCC,GAAA,MACCF,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,MAAMP;AAAA,MACN,WAAW;AAAA,MACX,aAAY;AAAA,MACZ,SAAQ;AAAA,IAAA;AAAA,IAEPA,GAAM;AAAA,MACL,CACEQ,GACAC,MAEAL,gBAAAA,EAAA;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,KAAK,QAAQD,CAAK;AAAA,UAClB,MAAMD,EAAM;AAAA,UACZ,QAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IACT;AAAA,EAEJ,CAEJ,CACF,CACF,mCACC,OAAA,EAAI,WAAU,yBACZR,GAAM;AAAA,IACL,CAACG,GAA4CM,MAC3CL,gBAAAA,EAAA,cAAC,SAAI,KAAKK,GAAO,WAAU,sBAAA,GACzBL,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,0BAAA,GACbA,gBAAAA,EAAA,cAAC,OAAA,EAAI,KAAKD,EAAK,UAAU,KAAKA,EAAK,QAAQ,aAAA,CAAc,GACzDC,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,kBACnCR,EAAK,IACR,CACF,GACAC,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAQ,SAAQ,WAAU,mBACjCR,EAAK,QAAQF,IAAc,KAAK,QAAQ,CAAC,GAAE,OAAIE,EAAK,OAAM,GAC/D,CACF;AAAA,EAAA,CAGN,CACF;AAEJ;"}
|
package/dist/index.es108.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es108.js","sources":["../src/components/atoms/typography/typography.config.ts"],"sourcesContent":["export const variantElementMap = {\n display1: 'p',\n display2: 'p',\n display3: 'p',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n body1: 'p',\n body2: 'p',\n body3: 'p',\n body4: 'p',\n body5: 'p',\n body6: 'p',\n // overline1: 'p',\n // overline2: 'p',\n // overline3: 'p',\n // 'cta-large': 'p',\n // 'cta-normal': 'p',\n // 'cta-small': 'p',\n}\n\nexport const defaultTypographyVariant = 'body1'\n"],"names":["variantElementMap","defaultTypographyVariant"],"mappings":"AAAO,MAAMA,IAAoB;AAAA,EAC/B,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOT,GAEaC,IAA2B;"}
|
package/dist/index.es116.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es116.js","sources":["../src/components/ui/report-snippet-view/report-snippet-view-components.tsx"],"sourcesContent":["import React, { FC } from 'react'\nimport { ReportSnippetViewNS } from './report-snippet-view.types'\n\nimport { Dialog } from '@/components/organisms/dialog'\nimport { ChevronLeft, ChevronRight, X } from 'lucide-react'\nimport { Typography } from '@/components/atoms/typography'\nimport {\n BarChart,\n Bar,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n ResponsiveContainer,\n} from 'recharts'\nimport { trendBoxStyles, trendValueStyles } from './report-snippet-view-style'\n\nconst ReportSnippetGalleryView: FC<{\n onToggle: () => void\n isOpen: boolean\n data?: ReportSnippetViewNS.StreetViewData\n galleryActiveIndex: number\n setgalleryActiveIndex: React.Dispatch<React.SetStateAction<number>>\n}> = ({\n data,\n onToggle,\n isOpen,\n galleryActiveIndex,\n setgalleryActiveIndex,\n}) => {\n // Current active item\n\n const isDataAvailable = data && data.length\n\n // Handle next click\n const handleNext = () => {\n if (!data) return\n setgalleryActiveIndex((prevIndex) => (prevIndex + 1) % data?.length)\n }\n\n // Handle previous click\n const handlePrev = () => {\n if (!data) return\n setgalleryActiveIndex(\n (prevIndex) => (prevIndex - 1 + data.length) % data.length\n )\n }\n\n const handleThumbnailClick = (index: number) => {\n setgalleryActiveIndex(index)\n }\n\n const toggleGallery = () => {\n onToggle()\n }\n\n return (\n <Dialog\n open={isOpen}\n trigger={null}\n contentClassName=\"bg-transparent w-fit border-0\"\n onInteractOutside={toggleGallery}\n body={\n <div className=\"flex flex-col items-center justify-center w-full h-full max-w-3xl mx-auto\">\n <X\n size={24}\n color=\"white\"\n className=\"absolute z-50 cursor-pointer -right-10 -top-10\"\n onClick={toggleGallery}\n />\n\n {/* Main Carousel */}\n <div className=\"relative\">\n <div className=\"relative \">\n {isDataAvailable && (\n <img\n key={data[galleryActiveIndex].image_url}\n src={data[galleryActiveIndex].image_url}\n alt={`Street ${galleryActiveIndex + 1}`}\n className=\"w-[500px] max-h-[80vh] object-contain flex-shrink-0\"\n />\n )}\n </div>\n\n {/* Navigation Buttons */}\n <div className=\"relative top-[-50%] left-[-10%] flex row w-[120%] justify-between\">\n <div role=\"button\" tabIndex={0} onClick={handlePrev}>\n <ChevronLeft size={30} color=\"white\" />\n </div>\n <div role=\"button\" tabIndex={0} onClick={handleNext}>\n <ChevronRight size={30} color=\"white\" />\n </div>\n </div>\n </div>\n\n {/* Thumbnails */}\n <div className=\"flex justify-center p-2 mt-4 space-x-2 rounded-lg\">\n {isDataAvailable &&\n data.map((item, index) => (\n <img\n key={index}\n src={item.image_url}\n alt={`Thumbnail ${index + 1}`}\n onClick={() => handleThumbnailClick(index)}\n className={`w-20 h-auto rounded-lg cursor-pointer ${\n index === galleryActiveIndex\n ? 'ring-2 ring-primary-1'\n : 'ring-2 ring-transparent'\n } hover:ring-gray-300`}\n />\n ))}\n </div>\n </div>\n }\n />\n )\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\nconst CustomTooltipFootfall = ({ active, payload, label, year }: any) => {\n if (active && payload && payload.length) {\n const year = payload[0]?.payload?.year\n const footfall = payload[0]?.value\n return (\n <div className=\"flex flex-col bg-light-1 p-4 rounded-lg shadow-md min-w-[200px] gap-1\">\n {/* Month Information */}\n <Typography variant={'body6'} className=\"text-primary\">\n {`${label}'${year}`}\n </Typography>\n\n {/* Separator */}\n <div className=\"my-2 w-full h-px border border-stroke-1\" />\n\n {/* Footfall/Visits Information */}\n <div className=\"flex\">\n <div\n className=\"h-4 w-1 rounded-lg\"\n style={{ backgroundColor: '#6D48EF' }}\n />\n <Typography variant={'body6'} className=\"text-secondary mx-1\">\n Visits\n </Typography>\n <Typography variant={'body4'} className=\"text-secondary ml-auto\">\n {` ${footfall}`}\n </Typography>\n </div>\n </div>\n )\n }\n return null\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst CustomTooltipCannibalisation = ({ active, payload, label }: any) => {\n if (active && payload && payload.length) {\n const distance = payload[0]?.payload?.distance\n const cannibalisation = payload[0]?.value\n return (\n <div className=\"flex bg-light-1 items-center justify-between rounded-lg shadow-md min-w-45 max-w-80 gap-2 p-2\">\n {/* Month Information */}\n <Typography variant={'body6'} className=\"text-primary\">\n {\n <div className=\"flex h-full justify-between items-center p-2 gap-4\">\n <div>{label}</div>\n <div> {distance + 'km'}</div>\n </div>\n }\n </Typography>\n {/* Footfall/Visits Information */}\n <Typography\n variant={'body4'}\n className=\"text-normal text-danger-1 ml-auto p-2\"\n >\n {`${cannibalisation}%`}\n </Typography>\n </div>\n )\n }\n return null\n}\n\n{\n /*--------- Store insights ----------*/\n}\ninterface StoreInsightsSectionProps {\n insights: ReportSnippetViewNS.CatchmentInsights[]\n // customButton?: React.ReactNode\n}\n\nconst StoreInsightsSection: FC<StoreInsightsSectionProps> = ({ insights }) => {\n return (\n <div>\n <div className=\"flex flex-row mb-4 justify-between\">\n <Typography variant=\"body4\" className=\"text-light-2\">\n Store Insight:\n </Typography>\n </div>\n\n <div className=\"bg-light-2 p-3 border border-neutral-1 rounded-lg\">\n <Typography variant=\"body4\" className=\"text-light-2 mb-2\">\n Presence of other brands in catchment:\n </Typography>\n\n {/* Render store insights data */}\n <div className=\"flex gap-1 flex-wrap\">\n {insights.map((item) => (\n <div\n key={item.type}\n className=\"flex items-center gap-1 bg-light-1 px-2 py-1 rounded-full border border-neutral-1\"\n >\n {/* Icon */}\n <img\n src={item.iconUrl}\n alt={`${item.type} Icon`}\n className=\"w-4 h-4\"\n />\n\n {/* Name and Count */}\n <Typography variant=\"body6\" className=\"text-light-2\">\n {item.count}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography variant=\"body6\" className=\"text-light-2\">\n {item.type === 'competitor' ? 'Competitors' : 'Complementary'}\n </Typography>\n </div>\n </div>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\n{\n /*--------- Store Overview ----------*/\n}\ninterface StoreOverviewSectionProps {\n highlights: ReportSnippetViewNS.StoreHighlights[]\n}\n\nconst StoreOverviewSection: FC<StoreOverviewSectionProps> = ({\n highlights,\n}) => {\n return (\n <div>\n <Typography variant={'body4'} className=\"text-light-2 mb-2\">\n Store Overview:\n </Typography>\n <div className=\"bg-light-2 p-1 border border-neutral-1 rounded-lg\">\n <div className=\"flex justify-evenly items-center\">\n {highlights.map((item, index) => (\n <React.Fragment key={index}>\n <div className=\"flex flex-col items-center justify-center text-center gap-1 p-\">\n {/* Trend Box */}\n <div\n className={trendBoxStyles({\n trend: item.trend?.toString() as '1' | '-1' | '0' | null,\n })}\n >\n {item.trend === 1 && (\n <img\n src=\"https://frontend-static-files.geoiq.io/strapi/trending_up_9d73d6fac5.svg\"\n alt=\"High Trend\"\n className={'w-3 h-3'}\n />\n )}\n {item.trend === -1 && (\n <img\n src=\"https://frontend-static-files.geoiq.io/strapi/trending_down_87adc7f3a6.svg\"\n alt=\"Low Trend\"\n className={'w-3 h-3'}\n />\n )}\n {item.value && item.trend ? (\n <Typography\n variant=\"body5\"\n className={trendValueStyles({\n trend: item.trend?.toString() as\n | '1'\n | '-1'\n | '0'\n | null,\n })}\n >\n {`${item.value}%`}\n </Typography>\n ) : (\n <Typography variant=\"body5\" className=\"text-sm\">\n -\n </Typography>\n )}\n </div>\n\n {/* Name */}\n {item.name && (\n <Typography variant={'body6'} className=\"text-light-2\">\n {item.name}\n </Typography>\n )}\n </div>\n\n {/* Separator */}\n {index < highlights.length - 1 && (\n <div className=\"border-l border-stroke-light-1 h-20 mx-1\" />\n )}\n </React.Fragment>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\n{\n /*----------------- Footfall Trends ------------------*/\n}\ninterface FootfallChartSectionProps {\n data: ReportSnippetViewNS.FootfallChartData[]\n}\n\nconst FootfallChartSection: FC<FootfallChartSectionProps> = ({ data }) => {\n if (!data || data.every((item) => item.footfall === null)) {\n return null\n }\n return (\n <div className=\"w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg\">\n {/* Section heading */}\n <Typography variant={'body4'} className=\"text-light-2 mb-4\">\n Footfall trends\n </Typography>\n\n {/* Bar Chart */}\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart\n data={data}\n margin={{\n top: 3,\n right: 3,\n bottom: -10,\n left: 3,\n }}\n barSize={24}\n >\n <CartesianGrid strokeDasharray=\"10 10\" />\n <XAxis\n dataKey=\"month\"\n style={{\n font: 'Kumbh Sans',\n fontSize: '12px',\n fontWeight: '500',\n color: '#4A4A4A',\n }}\n />\n <YAxis\n className=\"text-4-grey\"\n style={{ fontSize: '12px', fontWeight: '500' }}\n tickFormatter={(val) => {\n if (val > 1000000) {\n return `${val / 1000000}M`\n }\n if (val > 1000) {\n return `${val / 1000}K`\n }\n return val\n }}\n label={{\n value: 'AVG FOOTFALL FOR A 3-MONTH PERIOD',\n angle: -90,\n position: 'insideLeft',\n dy: -5,\n style: {\n textAnchor: 'middle',\n fontSize: '12px',\n fontWeight: '500',\n },\n }}\n />\n <Tooltip content={<CustomTooltipFootfall />} />\n <Bar\n dataKey=\"footfall\"\n fill=\"#6D48EF\"\n radius={[4, 4, 4, 4]}\n style={{ cursor: 'pointer' }}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n )\n}\n\n{\n /* -----------------Cannibalisation Effect------------------ */\n}\ninterface CannibalisationChartSectionProps {\n data: ReportSnippetViewNS.CannibalisationChartData[]\n}\n\nconst CannibalisationChartSection: FC<CannibalisationChartSectionProps> = ({\n data,\n}) => {\n if (!data || data.every((item) => item.cannibalisation === null)) {\n return null\n }\n const formatXAxisLabel = (label: string) => {\n const barCount = data.length\n let maxLength\n\n if (barCount <= 1) {\n maxLength = 50\n } else if (barCount <= 6) {\n maxLength = 22 - (barCount - 1) * 4\n } else {\n maxLength = 6\n }\n\n return label.length > maxLength ? `${label.slice(0, maxLength)}...` : label\n }\n return (\n <div className=\"w-full h-full bg-light-2 border border-neutral-1 p-3 rounded-lg\">\n {/* Section heading */}\n <Typography variant={'body4'} className=\"text-light-2 mb-4\">\n Cannibalisation effects\n </Typography>\n\n {/* Bar Chart */}\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart\n data={data}\n margin={{\n top: 3,\n right: 3,\n bottom: 5,\n left: 3,\n }}\n barSize={24}\n >\n <CartesianGrid strokeDasharray=\"10 10\" />\n <XAxis\n dataKey=\"store_name\"\n tickFormatter={formatXAxisLabel}\n tickMargin={10}\n tick={(props) => {\n const { x, y, payload } = props\n return (\n <text x={x} y={y} textAnchor={'end'} fill=\"#666\">\n <tspan x={x} style={{ fontSize: 12 }}>\n {formatXAxisLabel(payload.value)}\n </tspan>\n <tspan\n x={x}\n dy=\"1.5em\"\n style={{\n fontSize: 10,\n whiteSpace: 'nowrap',\n paddingTop: '2px',\n }}\n >\n {data[payload.index].distance + ' kms'}\n </tspan>\n </text>\n )\n }}\n />\n <YAxis\n className=\"text-4-grey\"\n style={{ fontSize: '12px', fontWeight: '500' }}\n tickFormatter={(val) => {\n if (val > 1000000) {\n return `${val / 1000000}M`\n }\n if (val > 1000) {\n return `${val / 1000}K`\n }\n return val\n }}\n label={{\n value: 'CANNIBALISATION IN %',\n angle: -90,\n position: 'insideLeft',\n dy: -5,\n style: {\n textAnchor: 'middle',\n fontSize: '12px',\n fontWeight: '500',\n },\n }}\n domain={[0, 100]}\n />\n <Tooltip content={<CustomTooltipCannibalisation />} />\n <Bar\n dataKey=\"cannibalisation\"\n fill=\"#F93232\"\n radius={[4, 4, 4, 4]}\n style={{ cursor: 'pointer' }}\n />\n </BarChart>\n </ResponsiveContainer>\n </div>\n )\n}\n\nexport {\n ReportSnippetGalleryView,\n StoreInsightsSection,\n StoreOverviewSection,\n FootfallChartSection,\n CannibalisationChartSection,\n}\n"],"names":["ReportSnippetGalleryView","data","onToggle","isOpen","galleryActiveIndex","setgalleryActiveIndex","isDataAvailable","handleNext","prevIndex","handlePrev","handleThumbnailClick","index","toggleGallery","React","Dialog","X","ChevronLeft","ChevronRight","item","CustomTooltipFootfall","active","payload","label","year","footfall","Typography","CustomTooltipCannibalisation","distance","cannibalisation","StoreInsightsSection","insights","StoreOverviewSection","highlights","trendBoxStyles","trendValueStyles","FootfallChartSection","ResponsiveContainer","BarChart","CartesianGrid","XAxis","YAxis","val","Tooltip","Bar","CannibalisationChartSection","formatXAxisLabel","barCount","maxLength","props","x","y"],"mappings":"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"}
|
package/dist/index.es119.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es119.js","sources":["../src/components/ui/form-renderer/components/form-read-only-view.tsx"],"sourcesContent":["// components/form-readonly-view.tsx\nimport React, { ReactNode } from 'react'\nimport {\n FormStructure,\n FormValues,\n FormField,\n FormFieldValue,\n AssetValue,\n TaggableAssetValue,\n RadioGroupWithInputFieldValue,\n} from './../form.types'\nimport { Typography } from '@/components/atoms/typography'\nimport { Checkbox } from '@radix-ui/react-checkbox'\nimport { Accordion } from '@/components/atoms/accordion'\nimport { Badge } from '@/components/atoms/badge'\n\nimport { FormFieldType } from '../form.enums'\n\ninterface FormReadOnlyViewProps {\n structure: FormStructure\n values: FormValues\n}\n\nexport const FormReadOnlyView: React.FC<FormReadOnlyViewProps> = ({\n structure,\n values,\n}) => {\n // Helper function to render field value based on type\n const renderFieldValue = (\n field: FormField,\n value: FormFieldValue\n ): ReactNode => {\n // Special handling for repeatable groups, Since values[field.id] wont exist for repeatable groups\n\n if (field.type === FormFieldType.REPEATABLE_GROUP_FIELD) {\n const prefix = `${field.id}||`\n const entryIndices = new Set<number>()\n\n // Extract unique entry indices from the keys present in `values`\n Object.keys(values).forEach((key) => {\n if (key.startsWith(prefix)) {\n // Regex to capture the index part: field.id||INDEX||subfield.id\n // Assuming field.id does not contain characters that need escaping for RegExp\n const match = key.match(new RegExp(`^${field.id}\\\\|\\\\|(\\\\d+)\\\\|\\\\|`))\n if (match && match[1]) {\n entryIndices.add(parseInt(match[1]))\n }\n }\n })\n\n // Sort indices numerically\n const sortedIndices = Array.from(entryIndices).sort((a, b) => a - b)\n\n if (sortedIndices.length === 0) {\n return [] // No entries to render\n }\n\n // Use flatMap to iterate through each entry index, then each sub-field template,\n // and flatten the results into a single array of React elements.\n return sortedIndices.flatMap((entryIndex) => {\n // For each entry, map over its defined sub-fields from the field's options\n return field.options.map((subFieldTemplate) => {\n // Construct the unique key for this specific instance of the sub-field\n const instanceKey = `${field.id}||${entryIndex}||${subFieldTemplate.id}`\n const value = values[instanceKey] // Get the value for this specific instance\n\n // Create a new field object for this instance,\n // using the subFieldTemplate and overriding its 'id' with the unique instanceKey.\n const instanceSpecificSubField: FormField = {\n ...subFieldTemplate,\n id: instanceKey,\n }\n\n return (\n <React.Fragment key={instanceKey}>\n {renderQuestionLabel(instanceSpecificSubField)}\n {renderFieldValue(instanceSpecificSubField, value)}\n </React.Fragment>\n )\n })\n })\n }\n\n if (value === undefined || value === null || value === '') {\n return (\n <Typography variant=\"body2\" className=\"text-light-4\">\n Not answered\n </Typography>\n )\n }\n\n switch (field.type) {\n case FormFieldType.SHORT_TEXT:\n case FormFieldType.LONG_TEXT:\n case FormFieldType.EMAIL:\n case FormFieldType.NUMBER:\n case FormFieldType.MOBILE_NUMBER:\n case FormFieldType.SINGLE_VIDEO_PICKER_WITH_INPUT:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {value as string}\n </Typography>\n )\n\n case FormFieldType.DATE_PICKER:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {new Date((value as number) * 1000).toLocaleDateString()}\n </Typography>\n )\n\n case FormFieldType.SINGLE_COMBOBOX:\n case FormFieldType.RADIO_GROUP:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {value as string}\n </Typography>\n )\n\n case FormFieldType.CHECKBOX_GROUP: {\n const value = values[field.id] as string\n return (\n <div className=\"flex flex-col gap-2\">\n {field.options.map((option) => {\n return (\n <div key={option} className=\"flex items-center space-x-2\">\n <Checkbox\n disabled\n id={option}\n checked={value?.split(',').includes(option)}\n />\n <Typography variant=\"body1\" className=\"text-light-4\">\n {option}\n </Typography>\n </div>\n )\n })}\n </div>\n )\n }\n case FormFieldType.MULTI_COMBOBOX:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {typeof value === 'string' ? value.split(',').join(', ') : null}\n </Typography>\n )\n\n case FormFieldType.RADIO_GROUP_WITH_OPTIONAL_INPUT: {\n const radioValue = value as RadioGroupWithInputFieldValue\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {radioValue.radio_value}\n {radioValue.input_value &&\n radioValue.radio_value === field.inputTriggerOptionValue &&\n `: ${radioValue.input_value}`}\n </Typography>\n )\n }\n\n // For single image/video uploads\n case FormFieldType.SINGLE_IMAGE_PICKER: {\n const asset = value as AssetValue\n return (\n <div className=\"mt-1\">\n <a\n href={asset.public_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={asset.public_url}\n alt={field.name}\n className=\"object-cover w-full h-32 rounded-md hover:opacity-90\"\n />\n </a>\n </div>\n )\n }\n\n case FormFieldType.SINGLE_VIDEO_PICKER: {\n const asset = value as AssetValue\n return (\n <div className=\"mt-1\">\n <video\n src={asset.public_url}\n controls\n className=\"w-full h-32 rounded-md\"\n >\n <track\n kind=\"captions\"\n label=\"English captions\"\n srcLang=\"en\"\n src=\"\"\n default\n />\n </video>\n </div>\n )\n }\n\n case FormFieldType.MULTI_IMAGE_PICKER: {\n const assets = value as AssetValue[]\n return (\n <div className=\"grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4\">\n {assets.map((asset, index) => (\n <a\n key={index}\n href={asset.public_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={asset.public_url}\n alt={field.name}\n className=\"object-cover w-full h-32 rounded-md hover:opacity-90\"\n />\n </a>\n ))}\n </div>\n )\n }\n\n case FormFieldType.MULTI_VIDEO_PICKER: {\n const assets = value as AssetValue[]\n return (\n <div className=\"grid grid-cols-1 gap-4 mt-1 sm:grid-cols-2\">\n {assets.map((asset, index) => (\n <div key={index} className=\"flex flex-col\">\n <video\n src={asset.public_url}\n controls\n className=\"h-32 rounded-md\"\n >\n <track\n kind=\"captions\"\n label=\"English captions\"\n srcLang=\"en\"\n src=\"\"\n default\n />\n </video>\n </div>\n ))}\n </div>\n )\n }\n\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER:\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {\n const taggedAssets = value as TaggableAssetValue[]\n return (\n <div className=\"grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4\">\n {taggedAssets.map((asset, index) => (\n <div key={index} className=\"relative\">\n <a\n key={index}\n href={asset.public_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={asset.public_url}\n alt={field.name}\n className=\"object-cover w-full h-32 rounded-md hover:opacity-90\"\n />\n </a>\n <Badge\n className=\"absolute bottom-2 right-2 \"\n variant={'select'}\n >\n {asset.tag && asset.tag.length > 8\n ? `${asset.tag.substring(0, 8)}...`\n : asset.tag}\n </Badge>\n </div>\n ))}\n </div>\n )\n }\n\n default:\n return (\n <Typography variant=\"body2\" className=\"text-light-4\">\n Unsupported field type\n </Typography>\n )\n }\n }\n\n const renderQuestionLabel = (field: FormField): ReactNode => {\n return (\n <Typography variant=\"body1\" className=\"mb-1 text-light-3\">\n {field.name}\n {field.required && <span className=\"text-danger-1\">*</span>}\n </Typography>\n )\n }\n\n return (\n <div className=\"\">\n {structure.steps.map((step) => (\n <Accordion\n key={step.id}\n trigger={\n <div className=\"flex items-center gap-2\">\n <Typography variant=\"h3\" className=\"text-light-2\">\n {step.name}\n </Typography>\n </div>\n }\n triggerProps={{ className: 'mt-4 ' }}\n contentProps={{ className: 'mt-4 p-2 bg-light-2 rounded' }}\n content={step.sections.map((section) => (\n <div key={section.id} className=\"mb-4\">\n <Typography variant=\"h3\" className=\"mb-2 text-light-2\">\n {section.name}\n </Typography>\n\n <div className=\"flex flex-col gap-3\">\n {section.fields.map((field) => (\n <div key={field.id} className=\"last:border-b-0\">\n {renderQuestionLabel(field)}\n {renderFieldValue(field, values[field.id])}\n </div>\n ))}\n </div>\n </div>\n ))}\n />\n ))}\n </div>\n )\n}\n"],"names":["FormReadOnlyView","structure","values","renderFieldValue","field","value","FormFieldType","prefix","entryIndices","key","match","sortedIndices","a","b","entryIndex","subFieldTemplate","instanceKey","instanceSpecificSubField","React","renderQuestionLabel","Typography","option","Checkbox","radioValue","asset","assets","index","taggedAssets","Badge","step","Accordion","section"],"mappings":"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"}
|
package/dist/index.es121.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es121.js","sources":["../src/components/ui/form-renderer/context/form-values/form-values.provider.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport {\n AssetValue,\n FormField,\n FormFieldValue,\n FormStep,\n FormValues,\n RadioGroupWithInputFieldValue,\n TaggableAssetValue,\n onToggleImageEditor,\n} from '../../form.types'\nimport { FormValuesContext } from './form-values.context'\nimport { FormFieldType } from '../../form.enums'\n\nexport const FormValuesProvider: React.FC<{\n children: React.ReactNode\n initialValues?: FormValues\n onSubmit?: (values: FormValues) => void\n onAssetUpload?: (file: File) => Promise<AssetValue>\n onToggleImageEditor?: onToggleImageEditor\n}> = ({\n children,\n initialValues = {},\n onSubmit,\n onAssetUpload,\n onToggleImageEditor,\n}) => {\n const [values, setValues] = useState<FormValues>(initialValues)\n const [errors, setErrors] = useState<Record<string, string>>({})\n\n // to update field value\n const setValue = (fieldId: string, value: FormFieldValue) => {\n setValues((prev) => ({ ...prev, [fieldId]: value }))\n // Clear error when value changes\n if (errors[fieldId]) {\n setErrors((prev) => {\n const newErrors = { ...prev }\n delete newErrors[fieldId]\n return newErrors\n })\n }\n }\n\n // to update state all at once\n const setFormValues = (newValues: FormValues) => {\n setValues(() => newValues)\n }\n\n /**\n * Validates a field based on its type\n * @param field - The field object with all properties\n * @returns Object containing validation status and error message\n */\n const validateField = (\n field: FormField\n ): { isValid: boolean; errorMessage: string } => {\n // Special handling for repeatable groups, Since values[field.id] wont exist for repeatable groups\n if (field.type === FormFieldType.REPEATABLE_GROUP_FIELD) {\n const prefix = `${field.id}||`\n // find all the keys that start with the prefix inside values\n const keys = Object.keys(values).filter((key) => key.startsWith(prefix))\n\n // if there are no keys, return invalid, since the field is required\n if (keys.length === 0) {\n return { isValid: false, errorMessage: 'This field is required' }\n }\n\n // loop through all the keys and validate each field if it is required using the same function validation field\n for (const key of keys) {\n const subField = field.options.find(\n (option) => option.id === key.split('||')[2]\n )\n\n const modifiedSubField = { ...subField, id: key }\n const { isValid, errorMessage } = validateField(\n modifiedSubField as FormField\n )\n if (!isValid) {\n return { isValid: false, errorMessage }\n }\n }\n\n // if all the fields are valid, return valid\n return { isValid: true, errorMessage: '' }\n }\n\n // For normal fields, proceed with regular validation\n const value = values[field.id]\n\n // Common check for undefined/null values for all required fields\n if (field.required && (value === undefined || value === null)) {\n return { isValid: false, errorMessage: 'This field is required' }\n }\n\n // If not required and no value, it's valid\n if (\n !field.required &&\n (value === undefined || value === null || value === '')\n ) {\n return { isValid: true, errorMessage: '' }\n }\n\n // Type-specific validation\n switch (field.type) {\n // Text fields\n case FormFieldType.SHORT_TEXT:\n case FormFieldType.LONG_TEXT:\n case FormFieldType.SINGLE_VIDEO_PICKER_WITH_INPUT:\n if (value === '') {\n return { isValid: false, errorMessage: 'This field cannot be empty' }\n }\n break\n\n case FormFieldType.EMAIL:\n if (value === '') {\n return { isValid: false, errorMessage: 'Email is required' }\n }\n // Basic email validation regex\n if (!/^\\S+@\\S+\\.\\S+$/.test(value as string)) {\n return {\n isValid: false,\n errorMessage: 'Please enter a valid email address',\n }\n }\n break\n\n // Number fields\n case FormFieldType.NUMBER:\n if (value === '') {\n return { isValid: false, errorMessage: 'Number is required' }\n }\n // Check if it's actually a number\n if (isNaN(Number(value))) {\n return { isValid: false, errorMessage: 'Please enter a valid number' }\n }\n break\n\n case FormFieldType.MOBILE_NUMBER:\n if (value === '') {\n return { isValid: false, errorMessage: 'Mobile number is required' }\n }\n // Mobile number validation\n if (!/^\\d{10,15}$/.test((value as string).replace(/\\D/g, ''))) {\n return {\n isValid: false,\n errorMessage: 'Please enter a valid mobile number',\n }\n }\n break\n\n case FormFieldType.DATE_PICKER:\n if (!value || value === '') {\n return { isValid: false, errorMessage: 'Date is required' }\n }\n break\n\n // Selection fields\n case FormFieldType.SINGLE_COMBOBOX:\n if (!value || value === '') {\n return { isValid: false, errorMessage: 'Please select an option' }\n }\n break\n\n case FormFieldType.MULTI_COMBOBOX:\n // Could be array or comma-separated string depending on implementation\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please select at least one option',\n }\n }\n } else if (typeof value === 'string') {\n if (!value || value.split(',').filter(Boolean).length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please select at least one option',\n }\n }\n }\n break\n\n case FormFieldType.CHECKBOX_GROUP:\n case FormFieldType.RADIO_GROUP:\n if (!value || value === '') {\n return { isValid: false, errorMessage: 'Please select an option' }\n }\n break\n\n case FormFieldType.RADIO_GROUP_WITH_OPTIONAL_INPUT: {\n const radioValue = value as RadioGroupWithInputFieldValue\n if (!radioValue || !radioValue.radio_value) {\n return { isValid: false, errorMessage: 'Please select an option' }\n }\n\n // If \"Other\" option is selected, check if input is provided\n if (\n radioValue.radio_value === field.inputTriggerOptionValue &&\n !radioValue.input_value\n ) {\n return {\n isValid: false,\n errorMessage:\n 'Please provide additional information for your selection',\n }\n }\n break\n }\n\n // Media upload fields\n case FormFieldType.SINGLE_IMAGE_PICKER:\n if (!value || !(value as AssetValue).public_url) {\n return { isValid: false, errorMessage: 'Please upload an image' }\n }\n break\n\n case FormFieldType.SINGLE_VIDEO_PICKER:\n if (!value || !(value as AssetValue).public_url) {\n return { isValid: false, errorMessage: 'Please upload a video' }\n }\n break\n\n case FormFieldType.MULTI_IMAGE_PICKER:\n if (!Array.isArray(value) || value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please upload at least one image',\n }\n }\n break\n\n case FormFieldType.MULTI_VIDEO_PICKER:\n if (!Array.isArray(value) || value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please upload at least one video',\n }\n }\n break\n\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER:\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {\n if (!Array.isArray(value) || value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please upload at least one image',\n }\n }\n\n // Check if all uploaded images have tags assigned\n const taggedAssets = value as TaggableAssetValue[]\n const missingTags = taggedAssets.some((asset) => !asset.tag)\n if (missingTags) {\n return {\n isValid: false,\n errorMessage: 'Please add tags to all uploaded images',\n }\n }\n break\n }\n }\n\n // If we reach here, validation passed\n return { isValid: true, errorMessage: '' }\n }\n // New function to validate an entire step\n const validateStep = (\n step: FormStep\n ): { isStepValid: boolean; errors: Record<string, string> } => {\n let isStepValid = true\n const errors = {} as Record<string, string>\n const fieldIdTypeMap = {} as Record<string, FormField>\n\n // Collect all required field IDs from this step\n step.sections.forEach((section) => {\n section.fields.forEach((field) => {\n fieldIdTypeMap[field.id] = field\n })\n })\n\n // Validate each required field\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(fieldIdTypeMap).forEach(([_fieldId, field]) => {\n // Only validate required fields\n if (field.required) {\n // We can now pass the field type to a more specialized validation function\n const { isValid, errorMessage } = validateField(field)\n if (!isValid) {\n errors[field.id] = errorMessage\n isStepValid = false\n }\n }\n\n // For taggable image fields, validate tags even if field is optional\n // If images are uploaded, their tags must be filled in\n if (\n (field.type === FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER ||\n field.type ===\n FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT) &&\n !field.required\n ) {\n const value = values[field.id]\n if (Array.isArray(value) && value.length > 0) {\n const taggedAssets = value as TaggableAssetValue[]\n const missingTags = taggedAssets.some((asset) => !asset.tag)\n if (missingTags) {\n errors[field.id] = 'Please add tags to all uploaded images'\n isStepValid = false\n }\n }\n }\n })\n\n return { isStepValid, errors }\n }\n\n const submitForm = () => {\n if (onSubmit) {\n onSubmit(values)\n }\n }\n\n const value = {\n values,\n errors,\n setValue,\n setFormValues,\n submitForm,\n onAssetUpload,\n validateField,\n validateStep,\n onToggleImageEditor,\n }\n\n return (\n <FormValuesContext.Provider value={value}>\n {children}\n </FormValuesContext.Provider>\n )\n}\n"],"names":["FormValuesProvider","children","initialValues","onSubmit","onAssetUpload","onToggleImageEditor","values","setValues","useState","errors","setErrors","setValue","fieldId","value","prev","newErrors","setFormValues","newValues","validateField","field","FormFieldType","prefix","keys","key","modifiedSubField","option","isValid","errorMessage","radioValue","asset","step","isStepValid","fieldIdTypeMap","section","_fieldId","React","FormValuesContext"],"mappings":"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"}
|
package/dist/index.es123.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es123.js","sources":["../src/components/ui/credit-sheet/credit-sheet.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { Button } from '@/components/atoms/button'\nimport { Typography } from '@/components/atoms/typography'\nimport type { CreditSheetProps } from './credit-sheet.types'\nimport { Sheet } from '@/components/organisms/sheet'\nimport { RequestCreditsDialog } from '../request-credits-view/component/request-credit-dialog'\n\nexport const CreditSheet: React.FC<CreditSheetProps> = ({\n open,\n onClose,\n credit_details = '0',\n description,\n onRequestCredits,\n onProceedToPayment,\n trigger = null,\n containerId,\n className,\n dialogClassName,\n}) => {\n const [showRequestDialog, setShowRequestDialog] = useState(false)\n\n const handleButtonClick = () => {\n setShowRequestDialog(true)\n }\n\n const handleRequestCredits = (credits: string, phoneNumber: string) => {\n onRequestCredits?.(credits, phoneNumber)\n setShowRequestDialog(false)\n onClose()\n }\n\n const handleProceedToPayment = (credits: string, phoneNumber: string) => {\n onProceedToPayment?.(credits, phoneNumber)\n setShowRequestDialog(false)\n onClose() // Close the sheet after proceeding to payment\n }\n\n return (\n <>\n <Sheet\n open={open}\n trigger={trigger}\n onOpenChange={onClose}\n title=\"Credits\"\n contentProps={{\n className: className,\n side: 'custom',\n }}\n bodyProps={{\n className: 'p-0 h-full',\n }}\n content={\n <div className=\"flex flex-col items-center justify-center h-full p-6\">\n {/* Fixed Image - Centered */}\n <div className=\"flex-col items-center justify-center\">\n <img\n src=\"https://frontend-static-files.geoiq.io/strapi/Group_8faa24a1c9/Group_8faa24a1c9.svg\"\n alt=\"Credit information\"\n className=\"w-[280px] h-[120px] object-contain\"\n />\n <div className=\"mt-2 flex justify-center\">\n <Typography variant=\"h2\" className=\"flex items-center mb-4\">\n {credit_details}\n <img\n src={\n 'https://frontend-static-files.geoiq.io/strapi/Credit_Icon_e6fcaf6845/Credit_Icon_e6fcaf6845.svg'\n }\n width={32}\n height={32}\n alt=\"coin icon\"\n className=\"ml-1\"\n />\n </Typography>\n {description && (\n <Typography variant=\"body1\" className=\"text-light-3\">\n {description}\n </Typography>\n )}\n </div>\n </div>\n </div>\n }\n footer={\n <div className=\"flex w-full justify-center\">\n <Button\n variant=\"primary\"\n suffixIcon={\n <img\n src={\n 'https://frontend-static-files.geoiq.io/strapi/navbar_credits_247858e26a.svg'\n }\n width={16}\n height={16}\n alt=\"coin icon\"\n className=\"ml-1\"\n />\n }\n title=\"Request for credits\"\n onClick={handleButtonClick}\n />\n </div>\n }\n container={\n typeof document !== 'undefined'\n ? document.getElementById(containerId || '')\n : undefined\n }\n />\n\n {/* Request Credits Dialog */}\n <RequestCreditsDialog\n open={showRequestDialog}\n onClose={() => setShowRequestDialog(false)}\n onRequestCredits={handleRequestCredits}\n onProceedToPayment={handleProceedToPayment}\n dialogClassName={dialogClassName}\n />\n </>\n )\n}\n"],"names":["CreditSheet","open","onClose","credit_details","description","onRequestCredits","onProceedToPayment","trigger","containerId","className","dialogClassName","showRequestDialog","setShowRequestDialog","useState","handleButtonClick","handleRequestCredits","credits","phoneNumber","handleProceedToPayment","React","Sheet","Typography","Button","RequestCreditsDialog"],"mappings":";;;;;AAOO,MAAMA,IAA0C,CAAC;AAAA,EACtD,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAmBC,CAAoB,IAAIC,EAAS,EAAK,GAE1DC,IAAoB,MAAM;AAC9B,IAAAF,EAAqB,EAAI;AAAA,EAC3B,GAEMG,IAAuB,CAACC,GAAiBC,MAAwB;AACrE,IAAAZ,IAAmBW,GAASC,CAAW,GACvCL,EAAqB,EAAK,GAC1BV,EAAA;AAAA,EACF,GAEMgB,IAAyB,CAACF,GAAiBC,MAAwB;AACvE,IAAAX,IAAqBU,GAASC,CAAW,GACzCL,EAAqB,EAAK,GAC1BV,EAAA;AAAA,EACF;AAEA,SACEiB,gBAAAA,EAAA,cAAAA,EAAA,UAAA,MACEA,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,MAAAnB;AAAA,MACA,SAAAM;AAAA,MACA,cAAcL;AAAA,MACd,OAAM;AAAA,MACN,cAAc;AAAA,QACZ,WAAAO;AAAA,QACA,MAAM;AAAA,MAAA;AAAA,MAER,WAAW;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAEb,yCACG,OAAA,EAAI,WAAU,0DAEbU,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,uCAAA,GACbA,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAI;AAAA,UACJ,KAAI;AAAA,UACJ,WAAU;AAAA,QAAA;AAAA,MAAA,GAEZA,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,2BAAA,GACbA,gBAAAA,EAAA,cAACE,GAAA,EAAW,SAAQ,MAAK,WAAU,4BAChClB,GACDgB,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KACE;AAAA,UAEF,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,KAAI;AAAA,UACJ,WAAU;AAAA,QAAA;AAAA,MAAA,CAEd,GACCf,KACCe,gBAAAA,EAAA,cAACE,GAAA,EAAW,SAAQ,SAAQ,WAAU,eAAA,GACnCjB,CACH,CAEJ,CACF,CACF;AAAA,MAEF,QACEe,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,6BAAA,GACbA,gBAAAA,EAAA;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,YACEH,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KACE;AAAA,cAEF,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,KAAI;AAAA,cACJ,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAGd,OAAM;AAAA,UACN,SAASL;AAAA,QAAA;AAAA,MAAA,CAEb;AAAA,MAEF,WACE,OAAO,WAAa,MAChB,SAAS,eAAeN,KAAe,EAAE,IACzC;AAAA,IAAA;AAAA,EAAA,GAKRW,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,MAAMZ;AAAA,MACN,SAAS,MAAMC,EAAqB,EAAK;AAAA,MACzC,kBAAkBG;AAAA,MAClB,oBAAoBG;AAAA,MACpB,iBAAAR;AAAA,IAAA;AAAA,EAAA,CAEJ;AAEJ;"}
|
package/dist/index.es130.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es130.js","sources":["../src/components/ui/form-renderer/context/form-values/form-values.context.ts"],"sourcesContent":["// contexts/FormValuesContext.tsx\nimport { createContext, useContext } from 'react'\nimport {\n AssetValue,\n FormField,\n FormFieldValue,\n FormStep,\n FormValues,\n onToggleImageEditor,\n} from '../../form.types'\n\ninterface FormValuesContextType {\n values: FormValues\n errors: Record<string, string>\n setValue: (fieldId: string, value: FormFieldValue) => void\n setFormValues: (formValues: FormValues) => void\n validateField: (field: FormField) => {\n isValid: boolean\n errorMessage: string\n }\n validateStep: (step: FormStep) => {\n isStepValid: boolean\n errors: Record<string, string>\n }\n submitForm: () => void\n onAssetUpload?: (file: File) => Promise<AssetValue>\n onToggleImageEditor?: onToggleImageEditor\n}\n\nexport const FormValuesContext = createContext<FormValuesContextType | null>(\n null\n)\n\nexport const useFormValues = () => {\n const context = useContext(FormValuesContext)\n if (!context) {\n throw new Error('useFormValues must be used within a FormValuesProvider')\n }\n return context\n}\n"],"names":["FormValuesContext","createContext","useFormValues","context","useContext"],"mappings":";AA6BO,MAAMA,IAAoBC;AAAA,EAC/B;AACF,GAEaC,IAAgB,MAAM;AACjC,QAAMC,IAAUC,EAAWJ,CAAiB;AAC5C,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,wDAAwD;AAE1E,SAAOA;AACT;"}
|
package/dist/index.es131.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var _ = /* @__PURE__ */ ((I) => (I.SHORT_TEXT = "short-text", I.EMAIL = "email", I.LONG_TEXT = "long-text", I.NUMBER = "number", I.MOBILE_NUMBER = "mobile-number", I.DATE_PICKER = "date-picker", I.SINGLE_COMBOBOX = "single-combobox", I.MULTI_COMBOBOX = "multi-combobox", I.RADIO_GROUP = "radio-group", I.RADIO_GROUP_WITH_OPTIONAL_INPUT = "radio-group-with-optional-input", I.CHECKBOX_GROUP = "checkbox-group", I.SINGLE_IMAGE_PICKER = "single-image-picker", I.MULTI_IMAGE_PICKER = "multi-image-picker", I.TAGGABLE_MULTI_IMAGE_PICKER = "taggable-multi-image-picker", I.SINGLE_VIDEO_PICKER = "single-video-picker", I.MULTI_VIDEO_PICKER = "multi-video-picker", I.SINGLE_VIDEO_PICKER_WITH_INPUT = "single-video-picker-with-input", I.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT = "taggable-multi-image-picker-with-input", I.REPEATABLE_GROUP_FIELD = "repeatable-group-field", I))(_ || {});
|
|
2
|
-
export {
|
|
3
|
-
_ as FormFieldType
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=index.es131.js.map
|
package/dist/index.es131.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es131.js","sources":["../src/components/ui/form-renderer/form.enums.ts"],"sourcesContent":["export enum FormFieldType {\n // Text fields\n SHORT_TEXT = 'short-text',\n EMAIL = 'email',\n LONG_TEXT = 'long-text',\n // Number fields\n NUMBER = 'number',\n MOBILE_NUMBER = 'mobile-number',\n DATE_PICKER = 'date-picker',\n\n // Selection fields\n SINGLE_COMBOBOX = 'single-combobox',\n MULTI_COMBOBOX = 'multi-combobox',\n RADIO_GROUP = 'radio-group',\n RADIO_GROUP_WITH_OPTIONAL_INPUT = 'radio-group-with-optional-input',\n CHECKBOX_GROUP = 'checkbox-group',\n\n // Upload fields\n SINGLE_IMAGE_PICKER = 'single-image-picker',\n MULTI_IMAGE_PICKER = 'multi-image-picker',\n TAGGABLE_MULTI_IMAGE_PICKER = 'taggable-multi-image-picker',\n SINGLE_VIDEO_PICKER = 'single-video-picker',\n MULTI_VIDEO_PICKER = 'multi-video-picker',\n SINGLE_VIDEO_PICKER_WITH_INPUT = 'single-video-picker-with-input',\n TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT = 'taggable-multi-image-picker-with-input',\n\n REPEATABLE_GROUP_FIELD = 'repeatable-group-field',\n}\n"],"names":["FormFieldType"],"mappings":"AAAO,IAAKA,sBAAAA,OAEVA,EAAA,aAAa,cACbA,EAAA,QAAQ,SACRA,EAAA,YAAY,aAEZA,EAAA,SAAS,UACTA,EAAA,gBAAgB,iBAChBA,EAAA,cAAc,eAGdA,EAAA,kBAAkB,mBAClBA,EAAA,iBAAiB,kBACjBA,EAAA,cAAc,eACdA,EAAA,kCAAkC,mCAClCA,EAAA,iBAAiB,kBAGjBA,EAAA,sBAAsB,uBACtBA,EAAA,qBAAqB,sBACrBA,EAAA,8BAA8B,+BAC9BA,EAAA,sBAAsB,uBACtBA,EAAA,qBAAqB,sBACrBA,EAAA,iCAAiC,kCACjCA,EAAA,yCAAyC,0CAEzCA,EAAA,yBAAyB,0BA1BfA,IAAAA,KAAA,CAAA,CAAA;"}
|
package/dist/index.es133.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es133.js","sources":["../src/components/ui/form-renderer/components/form-fields/index.tsx"],"sourcesContent":["// components/FormField.tsx\nimport React from 'react'\nimport {\n AssetValue,\n FormField as FormFieldInterface,\n RadioGroupWithInputFieldValue,\n TaggableAssetValue,\n} from '../../form.types'\nimport { useFormValues } from '../../context/form-values'\nimport { Input } from '@/components/atoms/input'\nimport { Checkbox } from '@/components/atoms/checkbox'\nimport { RadioGroup } from '@/components/atoms/radio-group'\nimport { RadioGroupItem } from '@/components/atoms/radio-group'\nimport { MultiCombobox } from '@/components/molecules/multi-combobox'\nimport { SingleCombobox } from '@/components/molecules/single-combobox'\nimport { Textarea } from '@/components/atoms/textarea'\nimport { Typography } from '@/components/atoms/typography'\n\nimport { Mail, Phone } from 'lucide-react'\nimport { SingleImagePicker } from './components/single-image-picker'\nimport { SingleVideoPicker } from './components/single-video-picker'\nimport { MultiImagePicker } from './components/multi-image-picker'\nimport { MultiVideoPicker } from './components/multi-video-picker'\nimport { RepeatableGroup } from './components/repeatable-group'\nimport { TaggableMultiImagePicker } from './components/taggable-multi-image-picker'\nimport { FormFieldType } from '../../form.enums'\nimport { DatePicker } from '@/components/unstyled/date-picker'\nimport { TaggableImageUploadFieldWithInput } from './components/taggable-multi-image-picker-with-input'\n\ninterface FormFieldProps {\n field: FormFieldInterface\n}\n\nexport const FormField: React.FC<FormFieldProps> = ({ field }) => {\n const { values, errors, setValue } = useFormValues()\n\n const renderField = () => {\n switch (field.type) {\n case FormFieldType.SINGLE_COMBOBOX:\n return (\n <SingleCombobox\n options={field.options.map((option) => ({\n id: option,\n name: option,\n }))}\n value={values[field.id] as string}\n onChange={(data) => setValue(field.id, data)}\n placeholder={field.placeholder}\n />\n )\n\n case FormFieldType.MULTI_COMBOBOX:\n return (\n <MultiCombobox\n options={field.options.map((option) => ({\n label: option,\n value: option,\n }))}\n selected={(values[field.id] as string)?.split(',') || []}\n onChange={(data) => {\n if (data.length === 0) {\n setValue(field.id, undefined)\n } else {\n setValue(field.id, (data as string[]).join(','))\n }\n }}\n placeholder={field.placeholder}\n />\n )\n\n case FormFieldType.RADIO_GROUP:\n return (\n <RadioGroup\n value={values[field.id] as string}\n onValueChange={(data) => setValue(field.id, data)}\n >\n {field.options.map((option) => (\n <div key={option} className=\"flex items-center space-x-2\">\n <RadioGroupItem value={option} id={option} />\n <Typography variant=\"body1\" className=\"text-light-4\">\n {option}\n </Typography>\n </div>\n ))}\n </RadioGroup>\n )\n\n case FormFieldType.RADIO_GROUP_WITH_OPTIONAL_INPUT: {\n const value = values[field.id] as RadioGroupWithInputFieldValue\n return (\n <div>\n <RadioGroup\n value={value?.radio_value}\n onValueChange={(data) =>\n setValue(field.id, {\n ...value,\n radio_value: data,\n input_value: '',\n })\n }\n >\n {field.options.map((option) => (\n <div key={option} className=\"flex items-center space-x-2\">\n <RadioGroupItem value={option} id={option} />\n <Typography variant=\"body1\" className=\"text-light-4\">\n {option}\n </Typography>\n </div>\n ))}\n </RadioGroup>\n {field.inputTriggerOptionValue === value?.radio_value ? (\n <Input\n id={field.id}\n type=\"text\"\n placeholder={field.inputFieldPlaceholder}\n value={value?.input_value}\n onChange={(e) =>\n setValue(field.id, {\n ...value,\n input_value: e.target.value,\n })\n }\n />\n ) : null}\n </div>\n )\n }\n\n case FormFieldType.CHECKBOX_GROUP: {\n const value = values[field.id] as string\n return (\n <div className=\"flex flex-col gap-2\">\n {field.options.map((option) => {\n return (\n <div key={option} className=\"flex items-center space-x-2\">\n <Checkbox\n id={option}\n checked={value?.split(',').includes(option)}\n onCheckedChange={(data) => {\n if (data) {\n setValue(\n field.id,\n value ? `${value},${option}` : option\n )\n } else {\n setValue(\n field.id,\n value\n ?.split(',')\n .filter((item) => item !== option)\n .join(',')\n )\n }\n }}\n />\n <Typography variant=\"body1\" className=\"text-light-4\">\n {option}\n </Typography>\n </div>\n )\n })}\n </div>\n )\n }\n\n case FormFieldType.DATE_PICKER: {\n const epochValue = values[field.id] as number | undefined\n const dateValue = epochValue ? new Date(epochValue * 1000) : undefined\n return (\n <DatePicker\n variant=\"single\"\n date={dateValue}\n onDateChange={(date) => {\n if (date) {\n setValue(field.id, Math.floor(date.valueOf() / 1000))\n }\n }}\n />\n )\n }\n\n case FormFieldType.LONG_TEXT:\n return (\n <Textarea\n id={field.id}\n placeholder={field.placeholder}\n value={values[field.id] as string}\n onChange={(e) => setValue(field.id, e.target.value)}\n />\n )\n\n case FormFieldType.EMAIL:\n return (\n <Input\n type=\"email\"\n id={field.id}\n value={values[field.id] as string}\n onChange={(e) => setValue(field.id, e.target.value)}\n placeholder={field.placeholder}\n prefix={<Mail className=\"stroke-gray-400\" size={20} />}\n />\n )\n\n case FormFieldType.SHORT_TEXT:\n // Default string input\n return (\n <Input\n id={field.id}\n type=\"text\"\n placeholder={field.placeholder}\n value={values[field.id] as string}\n onChange={(e) => setValue(field.id, e.target.value)}\n />\n )\n case FormFieldType.MOBILE_NUMBER:\n return (\n <Input\n prefix={<Phone className=\"stroke-gray-400\" size={20} />}\n type=\"tel\"\n id={field.id}\n placeholder={field.placeholder}\n value={values[field.id] as string}\n onChange={(e) => setValue(field.id, e.target.value)}\n />\n )\n case FormFieldType.NUMBER:\n return (\n <Input\n // type=\"number\"\n type=\"number\"\n inputMode=\"decimal\"\n pattern=\"^\\d*\\.?\\d*$\"\n id={field.id}\n placeholder={field.placeholder}\n value={values[field.id] as string}\n onChange={(e) => setValue(field.id, e.target.value)}\n />\n )\n case FormFieldType.SINGLE_IMAGE_PICKER:\n return (\n <SingleImagePicker\n id={field.id}\n onChange={(data?: AssetValue) => setValue(field.id, data)}\n value={values[field.id] as AssetValue | undefined}\n />\n )\n\n case FormFieldType.MULTI_IMAGE_PICKER:\n return (\n <MultiImagePicker\n id={field.id}\n onChange={(data?: AssetValue[]) => setValue(field.id, data)}\n value={values[field.id] as AssetValue[] | undefined}\n maxImages={field.max_items}\n />\n )\n\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER:\n return (\n <TaggableMultiImagePicker\n id={field.id}\n onChange={(data?: TaggableAssetValue[]) => setValue(field.id, data)}\n value={values[field.id] as TaggableAssetValue[] | undefined}\n options={field.options}\n maxImages={field.max_items}\n />\n )\n\n case FormFieldType.SINGLE_VIDEO_PICKER:\n return (\n <SingleVideoPicker\n id={field.id}\n onChange={(data?: AssetValue) => setValue(field.id, data)}\n value={values[field.id] as AssetValue | undefined}\n />\n )\n\n case FormFieldType.MULTI_VIDEO_PICKER:\n return (\n <MultiVideoPicker\n id={field.id}\n onChange={(data?: AssetValue[]) => setValue(field.id, data)}\n value={values[field.id] as AssetValue[] | undefined}\n maxVideos={field.max_items}\n />\n )\n\n case FormFieldType.REPEATABLE_GROUP_FIELD: {\n return <RepeatableGroup field={field} />\n }\n\n case FormFieldType.SINGLE_VIDEO_PICKER_WITH_INPUT: {\n return (\n <Input\n id={field.id}\n required={field.required}\n type=\"url\"\n placeholder={field.placeholder}\n value={values[field.id] as string}\n onChange={(e) => setValue(field.id, e.target.value)}\n />\n )\n }\n\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {\n return (\n <TaggableImageUploadFieldWithInput\n id={field.id}\n onChange={(data?: TaggableAssetValue[]) => setValue(field.id, data)}\n value={values[field.id] as TaggableAssetValue[] | undefined}\n maxImages={field.max_items}\n placeholder={field.placeholder}\n />\n )\n }\n\n default:\n return <div>Unknown Field</div>\n }\n }\n\n return (\n <aside className=\"flex flex-col gap-1\">\n <Typography variant=\"body1\" className=\"text-light-2\">\n {field.name}\n {field.required && <span className=\"text-danger-1\">*</span>}\n </Typography>\n {renderField()}\n {errors[field.id] && (\n <div className=\"error-message\">{errors[field.id]}</div>\n )}\n </aside>\n )\n}\n"],"names":["FormField","field","values","errors","setValue","useFormValues","renderField","FormFieldType","React","SingleCombobox","option","data","MultiCombobox","RadioGroup","RadioGroupItem","Typography","value","Input","e","Checkbox","item","epochValue","dateValue","DatePicker","date","Textarea","Mail","Phone","SingleImagePicker","MultiImagePicker","TaggableMultiImagePicker","SingleVideoPicker","MultiVideoPicker","RepeatableGroup","TaggableImageUploadFieldWithInput"],"mappings":"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"}
|
package/dist/index.es136.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es136.js","sources":["../src/components/ui/form-renderer/components/form-fields/components/single-image-picker/index.tsx"],"sourcesContent":["import { Typography } from '@/components/atoms/typography'\nimport { useToast } from '@/components/molecules/toast'\nimport { Spinner } from '@/components/unstyled/spinner'\nimport { Upload, X, Pen } from 'lucide-react'\nimport React, { useRef, useState } from 'react'\nimport { useFormValues } from '../../../../context/form-values'\nimport { AssetValue } from '../../../../form.types'\n\ninterface ImagePickerProps {\n id: string\n onChange: (data?: AssetValue) => void\n value?: AssetValue\n accept?: string\n error?: string\n}\n\nconst SingleImagePicker: React.FC<ImagePickerProps> = ({\n id,\n onChange,\n value,\n accept = 'image/*',\n error,\n}) => {\n const { onAssetUpload, onToggleImageEditor } = useFormValues()\n const { toast } = useToast()\n\n const [isLoading, setIsLoading] = useState(false)\n const fileInputRef = useRef<HTMLInputElement>(null)\n\n const handleImageSelect = (e: React.ChangeEvent<HTMLInputElement>) => {\n const file = e.target.files?.[0]\n if (!file || isLoading) return\n if (onAssetUpload) {\n setIsLoading(true)\n onAssetUpload(file)\n .then((data: AssetValue) => {\n onChange({ ...data, original_private_url: data.private_url })\n\n toast({\n title: 'Alert!',\n description: `File uploaded successfully.`,\n icon: 'success',\n })\n })\n .catch(() => {\n onChange(undefined)\n toast({\n title: 'Alert!',\n description: `Error uploading file`,\n icon: 'warning',\n })\n })\n .finally(() => {\n setIsLoading(false)\n // Reset the file input so the same file can be selected again\n if (fileInputRef.current) {\n fileInputRef.current.value = ''\n }\n })\n }\n }\n\n const onReplaceImage = (data: AssetValue) => {\n onChange({\n ...data,\n original_private_url: value?.original_private_url ?? value?.private_url,\n })\n }\n\n const handleClick = () => {\n if (!isLoading) {\n fileInputRef.current?.click()\n }\n }\n\n return (\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 z-10 flex items-center justify-center bg-white bg-opacity-70\">\n <Spinner className=\"w-8 h-8 text-primary-1\" />\n </div>\n )}\n <div className=\"relative p-8 border-2 border-dashed rounded-lg border-primary-1 bg-primary-1\">\n <button className=\"w-full\" onClick={handleClick}>\n <div className=\"flex flex-col items-center gap-3 text-center\">\n <div className=\"bg-gray-100 rounded-full\">\n <Upload className=\"w-6 h-6 text-gray-500\" />\n </div>\n <Typography variant=\"body1\" className=\"text-gray-600\">\n {isLoading\n ? 'Uploading...'\n : value\n ? 'Replace Image'\n : 'Attach Image'}\n </Typography>\n </div>\n </button>\n <input\n ref={fileInputRef}\n id={`${id}-gallery`}\n type=\"file\"\n accept={accept}\n disabled={isLoading}\n onChange={handleImageSelect}\n className=\"hidden\"\n />\n\n {error && (\n <Typography variant=\"body1\" className=\"mt-1 text-danger-1\">\n {error}\n </Typography>\n )}\n </div>\n {value && (\n <div className=\"grid grid-cols-2 gap-4 mt-4 sm:grid-cols-3 md:grid-cols-4\">\n <div className=\"relative flex rounded\">\n <img\n src={value.public_url}\n alt=\"Preview\"\n className=\"object-cover w-full h-24 rounded\"\n />\n <button\n onClick={() => {\n if (!isLoading) {\n onChange(undefined)\n }\n }}\n className=\"absolute p-1 text-white bg-white rounded-full right-2 top-2 opacity-70 hover:opacity-100\"\n >\n <X size={16} className=\"stroke-danger\" />\n </button>\n {onToggleImageEditor && (\n <button\n onClick={() => {\n onToggleImageEditor({\n imageUrl: value.public_url,\n index: -1,\n onReplaceImage,\n })\n }}\n className=\"absolute p-1 text-white bg-white rounded-full left-2 top-2 opacity-70 hover:opacity-100\"\n >\n <Pen size={16} className=\"stroke-danger\" />\n </button>\n )}\n </div>\n </div>\n )}\n </div>\n )\n}\n\nexport { SingleImagePicker }\n"],"names":["SingleImagePicker","id","onChange","value","accept","error","onAssetUpload","onToggleImageEditor","useFormValues","toast","useToast","isLoading","setIsLoading","useState","fileInputRef","useRef","handleImageSelect","e","file","data","onReplaceImage","handleClick","React","Spinner","Upload","Typography","X","Pen"],"mappings":"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"}
|
package/dist/index.es141.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es141.js","sources":["../src/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker/index.tsx"],"sourcesContent":["import { Typography } from '@/components/atoms/typography'\nimport { useToast } from '@/components/molecules/toast'\nimport { Spinner } from '@/components/unstyled/spinner'\nimport { SingleCombobox } from '@/components/molecules/single-combobox'\n\nimport { Upload, X, Pen } from 'lucide-react'\nimport React, { useRef, useState } from 'react'\nimport { useFormValues } from '../../../../context/form-values'\nimport { AssetValue, TaggableAssetValue } from '../../../../form.types'\n\ninterface TaggableMultiImagePickerProps {\n id: string\n onChange: (data: TaggableAssetValue[]) => void\n value?: TaggableAssetValue[]\n accept?: string\n error?: string\n maxImages?: number\n options: string[]\n}\n\nconst TaggableMultiImagePicker: React.FC<TaggableMultiImagePickerProps> = ({\n id,\n onChange,\n value = [],\n accept = 'image/*',\n error,\n maxImages = 20,\n options,\n}) => {\n const { onAssetUpload, onToggleImageEditor } = useFormValues()\n const { toast } = useToast()\n\n const [isLoading, setIsLoading] = useState(false)\n const fileInputRef = useRef<HTMLInputElement>(null)\n\n const handleImageSelect = async (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files\n if (!files?.length || isLoading) return\n\n if (value.length + files.length > maxImages) {\n toast({\n title: 'Alert!',\n description: `Maximum ${maxImages} images allowed.`,\n icon: 'warning',\n })\n return\n }\n\n if (onAssetUpload) {\n setIsLoading(true)\n\n try {\n const uploads = Array.from(files).map((file) => onAssetUpload(file))\n const results = await Promise.all(uploads)\n\n const TaggedResults = results.map((result) => ({ ...result, tag: '' }))\n\n onChange([...value, ...TaggedResults])\n\n toast({\n title: 'Alert!',\n description: `${files.length} ${files.length === 1 ? 'image' : 'images'} uploaded successfully.`,\n icon: 'success',\n })\n } catch (error) {\n toast({\n title: 'Alert!',\n description: `Error uploading images`,\n icon: 'warning',\n })\n } finally {\n setIsLoading(false)\n // Reset the file input so the same files can be selected again\n if (fileInputRef.current) {\n fileInputRef.current.value = ''\n }\n }\n }\n }\n\n const handleClick = () => {\n if (!isLoading && value.length < maxImages) {\n fileInputRef.current?.click()\n } else if (value.length >= maxImages) {\n toast({\n title: 'Alert!',\n description: `Maximum ${maxImages} images allowed.`,\n icon: 'warning',\n })\n }\n }\n\n const removeImage = (index: number) => {\n if (!isLoading) {\n const newImages = [...value]\n newImages.splice(index, 1)\n onChange(newImages)\n }\n }\n\n const onReplaceImage = (data: AssetValue, index: number) => {\n const newValue = [...value]\n const existingImage = newValue[index]\n\n newValue.splice(index, 1, { ...existingImage, ...data })\n onChange(newValue)\n }\n\n return (\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 z-10 flex items-center justify-center bg-white bg-opacity-70\">\n <Spinner className=\"w-8 h-8 text-primary-1\" />\n </div>\n )}\n <div className=\"relative p-8 border-2 border-dashed rounded-lg border-primary-1 bg-primary-1\">\n <button\n className=\"w-full\"\n onClick={handleClick}\n type=\"button\"\n disabled={isLoading || value.length >= maxImages}\n >\n <div className=\"flex flex-col items-center gap-3 text-center\">\n <div className=\"bg-gray-100 rounded-full\">\n <Upload className=\"w-6 h-6 text-gray-500\" />\n </div>\n <Typography variant=\"body1\" className=\"text-gray-600\">\n {isLoading\n ? 'Uploading...'\n : value.length >= maxImages\n ? `Maximum ${maxImages} images reached`\n : 'Add Images'}\n </Typography>\n {value.length > 0 && (\n <Typography variant=\"body1\" className=\"text-gray-500\">\n {value.length} of {maxImages} images\n </Typography>\n )}\n </div>\n </button>\n <input\n ref={fileInputRef}\n id={`${id}-gallery`}\n type=\"file\"\n accept={accept}\n disabled={isLoading || value.length >= maxImages}\n onChange={handleImageSelect}\n className=\"hidden\"\n multiple\n />\n\n {error && (\n <Typography variant=\"body1\" className=\"mt-1 text-danger-1\">\n {error}\n </Typography>\n )}\n </div>\n\n {value.length > 0 && (\n <div className=\"grid grid-cols-2 gap-4 mt-4 sm:grid-cols-3 md:grid-cols-4\">\n {value.map((image, index) => (\n <div key={image.private_url} className=\"flex flex-col gap-2\">\n <div key={index} className=\"relative flex rounded\">\n <img\n src={image.public_url}\n alt={`Preview ${index + 1}`}\n className=\"object-cover w-full h-24 rounded\"\n />\n {onToggleImageEditor && (\n <button\n onClick={() => {\n onToggleImageEditor({\n imageUrl: image.public_url,\n index,\n onReplaceImage,\n })\n }}\n className=\"absolute p-1 text-white bg-white rounded-full left-2 top-2 opacity-70 hover:opacity-100\"\n >\n <Pen size={16} className=\"stroke-danger\" />\n </button>\n )}\n <button\n onClick={() => removeImage(index)}\n className=\"absolute p-1 text-white bg-white rounded-full right-2 top-2 opacity-70 hover:opacity-100\"\n type=\"button\"\n disabled={isLoading}\n >\n <X size={16} className=\"stroke-danger\" />\n </button>\n </div>\n <SingleCombobox\n options={options.map((option) => ({\n id: option,\n name: option,\n }))}\n value={image.tag}\n onChange={(data) => {\n const newImages = [...value]\n newImages[index].tag = data\n onChange(newImages)\n }}\n placeholder={'Select '}\n />\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n\nexport { TaggableMultiImagePicker }\n"],"names":["TaggableMultiImagePicker","id","onChange","value","accept","error","maxImages","options","onAssetUpload","onToggleImageEditor","useFormValues","toast","useToast","isLoading","setIsLoading","useState","fileInputRef","useRef","handleImageSelect","e","files","uploads","file","TaggedResults","result","handleClick","removeImage","index","newImages","onReplaceImage","data","newValue","existingImage","React","Spinner","Upload","Typography","image","Pen","X","SingleCombobox","option"],"mappings":"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"}
|
package/dist/index.es142.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es142.js","sources":["../src/components/ui/form-renderer/components/form-fields/components/taggable-multi-image-picker-with-input/index.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Input } from '@/components/atoms/input'\nimport { Typography } from '@/components/atoms/typography'\nimport { useToast } from '@/components/molecules/toast'\nimport { useFormValues } from '@/components/ui/form-renderer/context/form-values'\nimport {\n AssetValue,\n TaggableAssetValue,\n} from '@/components/ui/form-renderer/form.types'\nimport { Spinner } from '@/components/unstyled/spinner'\nimport { Upload, X, Pen } from 'lucide-react'\nimport { useRef, useState } from 'react'\n\ninterface TaggableImageUploadFieldWithInputProps {\n id: string\n onChange: (data: TaggableAssetValue[]) => void\n value?: TaggableAssetValue[]\n accept?: string\n error?: string\n maxImages?: number\n placeholder?: string\n}\n\nconst TaggableImageUploadFieldWithInput: React.FC<\n TaggableImageUploadFieldWithInputProps\n> = ({\n id,\n onChange,\n value = [],\n accept = 'image/*',\n error,\n maxImages = 20,\n placeholder,\n}) => {\n const { onAssetUpload, onToggleImageEditor } = useFormValues()\n const { toast } = useToast()\n\n const [isLoading, setIsLoading] = useState(false)\n const fileInputRef = useRef<HTMLInputElement>(null)\n\n const handleImageSelect = async (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files\n if (!files?.length || isLoading) return\n\n if (value.length + files.length > maxImages) {\n toast({\n title: 'Alert!',\n description: `Maximum ${maxImages} images allowed.`,\n icon: 'warning',\n })\n return\n }\n\n if (onAssetUpload) {\n setIsLoading(true)\n\n try {\n const uploads = Array.from(files).map((file) => onAssetUpload(file))\n const results = await Promise.all(uploads)\n\n const TaggedResults = results.map((result) => ({ ...result, tag: '' }))\n\n onChange([...value, ...TaggedResults])\n\n toast({\n title: 'Alert!',\n description: `${files.length} ${files.length === 1 ? 'image' : 'images'} uploaded successfully.`,\n icon: 'success',\n })\n } catch (error) {\n toast({\n title: 'Alert!',\n description: `Error uploading images`,\n icon: 'warning',\n })\n } finally {\n setIsLoading(false)\n // Reset the file input so the same files can be selected again\n if (fileInputRef.current) {\n fileInputRef.current.value = ''\n }\n }\n }\n }\n\n const handleClick = () => {\n if (!isLoading && value.length < maxImages) {\n fileInputRef.current?.click()\n } else if (value.length >= maxImages) {\n toast({\n title: 'Alert!',\n description: `Maximum ${maxImages} images allowed.`,\n icon: 'warning',\n })\n }\n }\n\n const removeImage = (index: number) => {\n if (!isLoading) {\n const newImages = [...value]\n newImages.splice(index, 1)\n onChange(newImages)\n }\n }\n\n const onReplaceImage = (data: AssetValue, index: number) => {\n const newValue = [...value]\n const existingImage = newValue[index]\n\n newValue.splice(index, 1, { ...existingImage, ...data })\n onChange(newValue)\n }\n return (\n <div className=\"relative\">\n {isLoading && (\n <div className=\"absolute inset-0 z-10 flex items-center justify-center bg-white bg-opacity-70\">\n <Spinner className=\"w-8 h-8 text-primary-1\" />\n </div>\n )}\n <div className=\"relative p-8 border-2 border-dashed rounded-lg border-primary-1 bg-primary-1\">\n <button\n className=\"w-full\"\n onClick={handleClick}\n type=\"button\"\n disabled={isLoading || value.length >= maxImages}\n >\n <div className=\"flex flex-col items-center gap-3 text-center\">\n <div className=\"bg-gray-100 rounded-full\">\n <Upload className=\"w-6 h-6 text-gray-500\" />\n </div>\n <Typography variant=\"body1\" className=\"text-gray-600\">\n {isLoading\n ? 'Uploading...'\n : value.length >= maxImages\n ? `Maximum ${maxImages} images reached`\n : 'Add Images'}\n </Typography>\n {value.length > 0 && (\n <Typography variant=\"body1\" className=\"text-gray-500\">\n {value.length} of {maxImages} images\n </Typography>\n )}\n </div>\n </button>\n <input\n ref={fileInputRef}\n id={`${id}-gallery`}\n type=\"file\"\n accept={accept}\n disabled={isLoading || value.length >= maxImages}\n onChange={handleImageSelect}\n className=\"hidden\"\n multiple\n />\n\n {error && (\n <Typography variant=\"body1\" className=\"mt-1 text-danger-1\">\n {error}\n </Typography>\n )}\n </div>\n\n {value.length > 0 && (\n <div className=\"grid grid-cols-2 gap-4 mt-4 sm:grid-cols-3 md:grid-cols-4\">\n {value.map((image, index) => (\n <div key={image.private_url} className=\"flex flex-col gap-2\">\n <div key={index} className=\"relative flex rounded\">\n <img\n src={image.public_url}\n alt={`Preview ${index + 1}`}\n className=\"object-cover w-full h-24 rounded\"\n />\n {onToggleImageEditor && (\n <button\n onClick={() => {\n onToggleImageEditor({\n imageUrl: image.public_url,\n index,\n onReplaceImage,\n })\n }}\n className=\"absolute p-1 text-white bg-white rounded-full left-2 top-2 opacity-70 hover:opacity-100\"\n >\n <Pen size={16} className=\"stroke-danger\" />\n </button>\n )}\n <button\n onClick={() => removeImage(index)}\n className=\"absolute p-1 text-white bg-white rounded-full right-2 top-2 opacity-70 hover:opacity-100\"\n type=\"button\"\n disabled={isLoading}\n >\n <X size={16} className=\"stroke-danger\" />\n </button>\n </div>\n <Input\n id={id + index}\n type=\"text\"\n placeholder={placeholder ? placeholder : ''}\n value={image.tag}\n required={true}\n onChange={(e) => {\n const newImages = [...value]\n newImages[index].tag = e.target.value\n onChange(newImages)\n }}\n />\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n\nexport { TaggableImageUploadFieldWithInput }\n"],"names":["TaggableImageUploadFieldWithInput","id","onChange","value","accept","error","maxImages","placeholder","onAssetUpload","onToggleImageEditor","useFormValues","toast","useToast","isLoading","setIsLoading","useState","fileInputRef","useRef","handleImageSelect","e","files","uploads","file","TaggedResults","result","handleClick","removeImage","index","newImages","onReplaceImage","data","newValue","existingImage","React","Spinner","Upload","Typography","image","Pen","X","Input"],"mappings":"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"}
|
package/dist/index.es26.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es26.js","sources":["../src/components/molecules/single-select/index.tsx"],"sourcesContent":["import React from 'react'\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { SelectProps } from './single-select.types'\nimport {\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from './single-select-components'\nimport { Typography } from '../../atoms/typography'\nimport { SelectStates } from './single-select-styles'\nimport { cn } from '@/lib/utils'\n\nconst SingleSelect = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Root>,\n SelectProps\n>(\n ({\n // className,\n // children,\n placeholder,\n onValueChange,\n items,\n value,\n\n // defaultValue,\n ...props\n }) => {\n const selectedItem = items.find((item) => {\n return item.value === value\n })\n const [isOpen, setIsOpen] = React.useState(false)\n return (\n <SelectPrimitive.Root\n onValueChange={onValueChange}\n value={value}\n onOpenChange={setIsOpen}\n {...props}\n >\n <SelectTrigger\n className={cn(SelectStates({ isOpen, isValue: !!value }))}\n {...props.triggerProps}\n >\n <SelectValue placeholder={placeholder}>\n <div className=\"flex items-center gap-2\">\n {selectedItem?.icon}\n <Typography\n variant={'body2'}\n className={value ? 'text-light-2' : 'text-light-4'}\n >\n {selectedItem?.label}\n </Typography>\n </div>\n </SelectValue>\n </SelectTrigger>\n <SelectContent className=\"bg-light-1\">\n <SelectGroup>\n {items.map((item, index) => {\n return (\n <SelectItem\n value={item.value}\n disabled={item.disabled ?? false}\n key={index}\n >\n <div className=\"flex items-center gap-2\">\n {item.icon}\n <Typography variant={'body2'} className=\"capitalize\">\n {item.label}\n </Typography>\n </div>\n </SelectItem>\n )\n })}\n </SelectGroup>\n </SelectContent>\n </SelectPrimitive.Root>\n )\n }\n)\n\nexport { SingleSelect }\n"],"names":["SingleSelect","React","placeholder","onValueChange","items","value","props","selectedItem","item","isOpen","setIsOpen","SelectPrimitive","SelectTrigger","cn","SelectStates","SelectValue","Typography","SelectContent","SelectGroup","index","SelectItem"],"mappings":";;;;;;AAcA,MAAMA,IAAeC,EAAM;AAAA,EAIzB,CAAC;AAAA;AAAA;AAAA,IAGC,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA;AAAA,IAGA,GAAGC;AAAA,EAAA,MACC;AACJ,UAAMC,IAAeH,EAAM,KAAK,CAACI,MACxBA,EAAK,UAAUH,CACvB,GACK,CAACI,GAAQC,CAAS,IAAIT,EAAM,SAAS,EAAK;AAChD,WACEA,gBAAAA,EAAA;AAAA,MAACU,EAAgB;AAAA,MAAhB;AAAA,QACC,eAAAR;AAAA,QACA,OAAAE;AAAA,QACA,cAAcK;AAAA,QACb,GAAGJ;AAAA,MAAA;AAAA,MAEJL,gBAAAA,EAAA;AAAA,QAACW;AAAA,QAAA;AAAA,UACC,WAAWC,EAAGC,EAAa,EAAE,QAAAL,GAAQ,SAAS,CAAC,CAACJ,EAAA,CAAO,CAAC;AAAA,UACvD,GAAGC,EAAM;AAAA,QAAA;AAAA,QAEVL,gBAAAA,EAAA,cAACc,KAAY,aAAAb,EAAA,GACXD,gBAAAA,EAAA,cAAC,SAAI,WAAU,0BAAA,GACZM,GAAc,MACfN,gBAAAA,EAAA;AAAA,UAACe;AAAA,UAAA;AAAA,YACC,SAAS;AAAA,YACT,WAAWX,IAAQ,iBAAiB;AAAA,UAAA;AAAA,UAEnCE,GAAc;AAAA,QAAA,CAEnB,CACF;AAAA,MAAA;AAAA,MAEFN,gBAAAA,EAAA,cAACgB,GAAA,EAAc,WAAU,aAAA,GACvBhB,gBAAAA,EAAA,cAACiB,SACEd,EAAM,IAAI,CAACI,GAAMW,MAEdlB,gBAAAA,EAAA;AAAA,QAACmB;AAAA,QAAA;AAAA,UACC,OAAOZ,EAAK;AAAA,UACZ,UAAUA,EAAK,YAAY;AAAA,UAC3B,KAAKW;AAAA,QAAA;AAAA,QAELlB,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,0BAAA,GACZO,EAAK,MACNP,gBAAAA,EAAA,cAACe,GAAA,EAAW,SAAS,SAAS,WAAU,aAAA,GACrCR,EAAK,KACR,CACF;AAAA,MAAA,CAGL,CACH,CACF;AAAA,IAAA;AAAA,EAGN;AACF;"}
|
package/dist/index.es30.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import * as e from "react";
|
|
2
|
-
import * as n from "@radix-ui/react-tabs";
|
|
3
|
-
import { cn as l } from "./index.es81.js";
|
|
4
|
-
import { TabsVariants as d, TabTriggerVariants as T } from "./index.es112.js";
|
|
5
|
-
const f = e.forwardRef(({ className: s, variant: t, size: a, ...o }, i) => /* @__PURE__ */ e.createElement(
|
|
6
|
-
n.List,
|
|
7
|
-
{
|
|
8
|
-
ref: i,
|
|
9
|
-
className: l(d({ variant: t, size: a, className: s })),
|
|
10
|
-
...o
|
|
11
|
-
}
|
|
12
|
-
));
|
|
13
|
-
f.displayName = n.List.displayName;
|
|
14
|
-
const g = e.forwardRef(({ className: s, variant: t, size: a, ...o }, i) => /* @__PURE__ */ e.createElement(
|
|
15
|
-
n.Trigger,
|
|
16
|
-
{
|
|
17
|
-
ref: i,
|
|
18
|
-
className: l(T({ variant: t, size: a, className: s })),
|
|
19
|
-
...o
|
|
20
|
-
}
|
|
21
|
-
));
|
|
22
|
-
g.displayName = n.Trigger.displayName;
|
|
23
|
-
const E = e.forwardRef(({ className: s, ...t }, a) => /* @__PURE__ */ e.createElement(
|
|
24
|
-
n.Content,
|
|
25
|
-
{
|
|
26
|
-
ref: a,
|
|
27
|
-
className: l(
|
|
28
|
-
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
29
|
-
s
|
|
30
|
-
),
|
|
31
|
-
...t
|
|
32
|
-
}
|
|
33
|
-
));
|
|
34
|
-
E.displayName = n.Content.displayName;
|
|
35
|
-
const R = e.forwardRef(
|
|
36
|
-
({
|
|
37
|
-
className: s,
|
|
38
|
-
defaultValue: t,
|
|
39
|
-
tabList: a,
|
|
40
|
-
onTabChange: o,
|
|
41
|
-
variant: i,
|
|
42
|
-
size: c,
|
|
43
|
-
value: p,
|
|
44
|
-
id: u,
|
|
45
|
-
disabled: m,
|
|
46
|
-
...y
|
|
47
|
-
}) => /* @__PURE__ */ e.createElement(
|
|
48
|
-
n.Root,
|
|
49
|
-
{
|
|
50
|
-
defaultValue: t,
|
|
51
|
-
onValueChange: o,
|
|
52
|
-
className: l(s, m ? "cursor-not-allowed" : ""),
|
|
53
|
-
value: p,
|
|
54
|
-
id: u
|
|
55
|
-
},
|
|
56
|
-
/* @__PURE__ */ e.createElement(f, { style: y.style, variant: i, size: c }, a.map((r, N) => /* @__PURE__ */ e.createElement(
|
|
57
|
-
g,
|
|
58
|
-
{
|
|
59
|
-
key: N,
|
|
60
|
-
value: r.value,
|
|
61
|
-
variant: i,
|
|
62
|
-
size: c,
|
|
63
|
-
className: "flex gap-1.5 items-center justify-center",
|
|
64
|
-
disabled: m
|
|
65
|
-
},
|
|
66
|
-
/* @__PURE__ */ e.createElement(e.Fragment, null, r?.icon && typeof r?.icon == "string" && /* @__PURE__ */ e.createElement(
|
|
67
|
-
"img",
|
|
68
|
-
{
|
|
69
|
-
src: r.icon,
|
|
70
|
-
alt: "icon",
|
|
71
|
-
className: "w-4 h-4 filter hue-rotate-45",
|
|
72
|
-
style: { display: r.icon ? "block" : "none" }
|
|
73
|
-
}
|
|
74
|
-
), r.icon && typeof r.icon != "string" && r.icon && /* @__PURE__ */ e.createElement(r.icon, { size: 16 }), r.label)
|
|
75
|
-
)))
|
|
76
|
-
)
|
|
77
|
-
);
|
|
78
|
-
export {
|
|
79
|
-
R as Tabs,
|
|
80
|
-
E as TabsContent
|
|
81
|
-
};
|
|
82
|
-
//# sourceMappingURL=index.es30.js.map
|
package/dist/index.es32.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es32.js","sources":["../src/components/molecules/toast/toast-components.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as ToastPrimitives from '@radix-ui/react-toast'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { X } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\nimport { ToastIconProps } from './toast.types'\n\n//svgs\n\nimport InfoIcon from './assets/svgs/info-icon'\nimport SuccessIcon from './assets/svgs/success-icon'\nimport DangerIcon from './assets/svgs/danger-icon'\nimport WarningIcon from './assets/svgs/warning-icon'\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n 'fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]',\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-4 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full',\n {\n variants: {\n variant: {\n default: 'bg-light-1 border text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n)\n\nconst ToastPrimitive = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &\n VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToastPrimitive.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action ref={ref} className={cn(className)} {...props} />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n 'absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 ',\n className\n )}\n toast-close=\"\"\n {...props}\n >\n <X className=\"w-4 h-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title ref={ref} className={className} {...props} />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description ref={ref} className={className} {...props} />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\nconst ToastIcon = ({ icon }: ToastIconProps) => {\n switch (icon) {\n case 'success':\n return <SuccessIcon />\n break\n\n case 'info':\n return <InfoIcon />\n break\n\n case 'danger':\n return <DangerIcon />\n break\n\n case 'warning':\n return <WarningIcon />\n break\n\n default:\n return <div />\n break\n }\n}\nToastIcon.displayName = 'ToastIcon'\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof ToastPrimitive>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n ToastPrimitive,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n ToastIcon,\n}\n"],"names":["ToastProvider","ToastPrimitives","ToastViewport","React","className","props","ref","cn","toastVariants","cva","ToastPrimitive","variant","ToastAction","ToastClose","X","ToastTitle","ToastDescription","ToastIcon","icon","SuccessIcon","InfoIcon","DangerIcon","WarningIcon"],"mappings":";;;;;;;;;AAiBA,MAAMA,IAAgBC,EAAgB,UAEhCC,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAH,EAAA;AAAA,EAACF,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAK;AAAA,IACA,WAAWC;AAAA,MACT;AAAA,MACAH;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcD,EAAgB,SAAS;AAErD,MAAMO,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ,GAEMC,IAAiBP,EAAM,WAI3B,CAAC,EAAE,WAAAC,GAAW,SAAAO,GAAS,GAAGN,EAAA,GAASC,MAEjC,gBAAAH,EAAA;AAAA,EAACF,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAK;AAAA,IACA,WAAWC,EAAGC,EAAc,EAAE,SAAAG,EAAA,CAAS,GAAGP,CAAS;AAAA,IAClD,GAAGC;AAAA,EAAA;AAAA,CAGT;AACDK,EAAe,cAAcT,EAAgB,KAAK;AAElD,MAAMW,IAAcT,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,KAASC,sCACzBL,EAAgB,QAAhB,EAAuB,KAAAK,GAAU,WAAWC,EAAGH,CAAS,GAAI,GAAGC,GAAO,CACxE;AACDO,EAAY,cAAcX,EAAgB,OAAO;AAEjD,MAAMY,IAAaV,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAH,EAAA;AAAA,EAACF,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAK;AAAA,IACA,WAAWC;AAAA,MACT;AAAA,MACAH;AAAA,IAAA;AAAA,IAEF,eAAY;AAAA,IACX,GAAGC;AAAA,EAAA;AAAA,EAEJ,gBAAAF,EAAA,cAACW,GAAA,EAAE,WAAU,UAAA,CAAU;AACzB,CACD;AACDD,EAAW,cAAcZ,EAAgB,MAAM;AAE/C,MAAMc,IAAaZ,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAH,EAAA,cAACF,EAAgB,OAAhB,EAAsB,KAAAK,GAAU,WAAAF,GAAuB,GAAGC,GAAO,CACnE;AACDU,EAAW,cAAcd,EAAgB,MAAM;AAE/C,MAAMe,IAAmBb,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAH,EAAA,cAACF,EAAgB,aAAhB,EAA4B,KAAAK,GAAU,WAAAF,GAAuB,GAAGC,GAAO,CACzE;AACDW,EAAiB,cAAcf,EAAgB,YAAY;AAE3D,MAAMgB,IAAY,CAAC,EAAE,MAAAC,QAA2B;AAC9C,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,6CAAQC,GAAA,IAAY;AAAA,IAGtB,KAAK;AACH,6CAAQC,GAAA,IAAS;AAAA,IAGnB,KAAK;AACH,6CAAQC,GAAA,IAAW;AAAA,IAGrB,KAAK;AACH,6CAAQC,GAAA,IAAY;AAAA,IAGtB;AACE,6CAAQ,OAAA,IAAI;AAAA,EACZ;AAEN;AACAL,EAAU,cAAc;"}
|
package/dist/index.es37.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import e from "react";
|
|
2
|
-
import { Dialog as D, DialogTrigger as E, DialogContent as u, DialogHeader as x, DialogTitle as d, DialogDescription as f, DialogFooter as h } from "./index.es70.js";
|
|
3
|
-
import { DialogClose as w } from "./index.es70.js";
|
|
4
|
-
import { cn as r } from "./index.es81.js";
|
|
5
|
-
import { Typography as o } from "./index.es17.js";
|
|
6
|
-
function C({
|
|
7
|
-
trigger: m,
|
|
8
|
-
body: n,
|
|
9
|
-
title: a,
|
|
10
|
-
description: t,
|
|
11
|
-
footer: l,
|
|
12
|
-
onOpenChange: i,
|
|
13
|
-
open: c,
|
|
14
|
-
footerClassName: g,
|
|
15
|
-
contentClassName: s,
|
|
16
|
-
onInteractOutside: p
|
|
17
|
-
}) {
|
|
18
|
-
return /* @__PURE__ */ e.createElement(D, { onOpenChange: i, open: c }, /* @__PURE__ */ e.createElement(E, { asChild: !0 }, m), /* @__PURE__ */ e.createElement(
|
|
19
|
-
u,
|
|
20
|
-
{
|
|
21
|
-
onInteractOutside: p,
|
|
22
|
-
className: r(
|
|
23
|
-
"max-w-full border border-neutral-1 bg-white",
|
|
24
|
-
s
|
|
25
|
-
)
|
|
26
|
-
},
|
|
27
|
-
(a || t) && /* @__PURE__ */ e.createElement(x, { className: "px-4 py-3" }, a && /* @__PURE__ */ e.createElement(d, null, /* @__PURE__ */ e.createElement(o, { variant: "h3", className: "text-light-2" }, a)), t && /* @__PURE__ */ e.createElement(f, null, /* @__PURE__ */ e.createElement(o, { variant: "body4", className: "text-light-4" }, t))),
|
|
28
|
-
/* @__PURE__ */ e.createElement("div", { className: "" }, n),
|
|
29
|
-
l && /* @__PURE__ */ e.createElement(
|
|
30
|
-
h,
|
|
31
|
-
{
|
|
32
|
-
className: r("rounded-b-xl bg-light-3 px-4 py-3", g)
|
|
33
|
-
},
|
|
34
|
-
l
|
|
35
|
-
)
|
|
36
|
-
));
|
|
37
|
-
}
|
|
38
|
-
export {
|
|
39
|
-
w as DialogClose,
|
|
40
|
-
E as DialogTrigger,
|
|
41
|
-
C as _Dialog
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=index.es37.js.map
|
package/dist/index.es37.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es37.js","sources":["../src/components/organisms/dialog/dialog.tsx"],"sourcesContent":["import React from 'react'\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n DialogClose,\n} from './dialog-components'\nimport { DialogProps } from './dialog.types'\nimport { cn } from '@/lib/utils'\nimport { Typography } from '@/components/atoms/typography'\n\nfunction _Dialog({\n trigger,\n body,\n title,\n description,\n footer,\n onOpenChange,\n open,\n footerClassName,\n contentClassName,\n onInteractOutside,\n}: DialogProps) {\n return (\n <Dialog onOpenChange={onOpenChange} open={open}>\n <DialogTrigger asChild>{trigger}</DialogTrigger>\n <DialogContent\n onInteractOutside={onInteractOutside}\n className={cn(\n 'max-w-full border border-neutral-1 bg-white',\n contentClassName\n )}\n >\n {(title || description) && (\n <DialogHeader className=\"px-4 py-3\">\n {title && (\n <DialogTitle>\n <Typography variant={'h3'} className=\"text-light-2\">\n {title}\n </Typography>\n </DialogTitle>\n )}\n {description && (\n <DialogDescription>\n <Typography variant={'body4'} className=\"text-light-4\">\n {description}\n </Typography>\n </DialogDescription>\n )}\n </DialogHeader>\n )}\n <div className=\"\">{body}</div>\n {footer && (\n <DialogFooter\n className={cn('rounded-b-xl bg-light-3 px-4 py-3', footerClassName)}\n >\n {footer}\n </DialogFooter>\n )}\n </DialogContent>\n </Dialog>\n )\n}\n\nexport { _Dialog, DialogClose, DialogTrigger }\n"],"names":["_Dialog","trigger","body","title","description","footer","onOpenChange","open","footerClassName","contentClassName","onInteractOutside","React","Dialog","DialogTrigger","DialogContent","cn","DialogHeader","DialogTitle","Typography","DialogDescription","DialogFooter"],"mappings":";;;;;AAeA,SAASA,EAAQ;AAAA,EACf,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,mBAAAC;AACF,GAAgB;AACd,SACEC,gBAAAA,EAAA,cAACC,KAAO,cAAAN,GAA4B,MAAAC,EAAA,mCACjCM,GAAA,EAAc,SAAO,GAAA,GAAEZ,CAAQ,GAChCU,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,mBAAAJ;AAAA,MACA,WAAWK;AAAA,QACT;AAAA,QACAN;AAAA,MAAA;AAAA,IACF;AAAA,KAEEN,KAASC,MACTO,gBAAAA,EAAA,cAACK,GAAA,EAAa,WAAU,eACrBb,KACCQ,gBAAAA,EAAA,cAACM,GAAA,MACCN,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAS,MAAM,WAAU,eAAA,GAClCf,CACH,CACF,GAEDC,KACCO,gBAAAA,EAAA,cAACQ,GAAA,MACCR,gBAAAA,EAAA,cAACO,GAAA,EAAW,SAAS,SAAS,WAAU,eAAA,GACrCd,CACH,CACF,CAEJ;AAAA,IAEFO,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,GAAA,GAAIT,CAAK;AAAA,IACvBG,KACCM,gBAAAA,EAAA;AAAA,MAACS;AAAA,MAAA;AAAA,QACC,WAAWL,EAAG,qCAAqCP,CAAe;AAAA,MAAA;AAAA,MAEjEH;AAAA,IAAA;AAAA,EACH,CAGN;AAEJ;"}
|