@123usmanhaider321/ui 0.1.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +416 -31
- package/dist/images/icon/1LINK.svg +50 -0
- package/dist/images/icon/CreditCard.svg +83 -0
- package/dist/images/icon/Easypaisa.png +0 -0
- package/dist/images/icon/MobileWallet.png +0 -0
- package/dist/images/icon/Raast-Logo.png +0 -0
- package/dist/images/icon/VISA.png +0 -0
- package/dist/images/icon/add-circle-1.svg +5 -0
- package/dist/images/icon/check-circle-broken.svg +3 -0
- package/dist/images/icon/close-circle.svg +5 -0
- package/dist/images/icon/jazzcash.png +0 -0
- package/dist/images/icon/loading_icon.json +3347 -0
- package/dist/images/icon/mastercard-logo.webp +0 -0
- package/dist/images/icon/paymo.jpeg +0 -0
- package/dist/images/icon/preview-svgrepo-com.svg +36 -0
- package/dist/images/icon/trash.svg +7 -0
- package/dist/images/icon/unionpay-logo.svg +9 -0
- package/dist/index-87FQZHOs.js +11119 -0
- package/dist/index-87FQZHOs.js.map +1 -0
- package/dist/index-Tl9g213f.js +60475 -0
- package/dist/index-Tl9g213f.js.map +1 -0
- package/dist/index.d.ts +1 -10
- package/dist/index.es-CpgTaa1Y.js +16734 -0
- package/dist/index.es-CpgTaa1Y.js.map +1 -0
- package/dist/index.js +40 -12
- package/dist/index.js.map +1 -1
- package/dist/loading_icon-n5H5dQBl.js +3375 -0
- package/dist/loading_icon-n5H5dQBl.js.map +1 -0
- package/dist/src/components/Alert/ErrorAlert.d.ts +6 -0
- package/dist/src/components/Alert/SuccessAlert.d.ts +6 -0
- package/dist/{components → src/components}/FormBuilder/DiscountInput.d.ts +3 -6
- package/dist/{components → src/components}/FormBuilder/FormBuilder.d.ts +2 -11
- package/dist/{components → src/components}/FormBuilder/QuestionCard.d.ts +0 -5
- package/dist/{components → src/components}/FormBuilder/QuestionEditor.d.ts +0 -5
- package/dist/{components → src/components}/FormBuilder/SortableQuestionList.d.ts +0 -5
- package/dist/src/components/FormBuilder/questionIcons.d.ts +5 -0
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/AddEventLayout.d.ts +2 -1
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/AddEventStepper.d.ts +2 -2
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/common/ConfirmationModal.d.ts +1 -1
- package/dist/src/components/NewAddEvent/components/EventSubmissionConfirmationModal.d.ts +14 -0
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/StepTwo/TicketTierSection.d.ts +1 -1
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/TicketTierForm.d.ts +1 -1
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/hooks/useStepperForm.d.ts +22 -22
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/hooks/useTicketTierForm.d.ts +63 -15
- package/dist/src/components/NewAddEvent/schemas/step1.d.ts +211 -0
- package/dist/src/components/NewAddEvent/schemas/step2.d.ts +411 -0
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/schemas/utils.d.ts +8 -2
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/steps/IndividualFormStep.d.ts +1 -1
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/steps/SocialProfilesStep.d.ts +1 -1
- package/dist/{components/EventAddForm → src/components/NewAddEvent}/steps/TeamFormStep.d.ts +1 -1
- package/dist/src/components/Spinner/spinner.d.ts +4 -0
- package/dist/src/components/TicketlyUIProvider.d.ts +35 -0
- package/dist/src/components/common/Loader/index.d.ts +8 -0
- package/dist/src/components/common/Modals/ConfirmationModal.d.ts +7 -0
- package/dist/{components/FormInput → src/components/ui}/FormInput.d.ts +1 -1
- package/dist/src/components/ui/Loader.d.ts +4 -0
- package/dist/{components/Button/Button.d.ts → src/components/ui/button.d.ts} +1 -1
- package/dist/src/index.d.ts +10 -0
- package/dist/{lib → src/lib}/actions.d.ts +0 -126
- package/dist/src/lib/dom-utils.d.ts +2 -0
- package/dist/src/lib/storage-utils.d.ts +5 -0
- package/dist/src/lib/types.d.ts +258 -0
- package/dist/src/redux/baseQuery.d.ts +16 -0
- package/dist/{services → src/redux/features}/eventApi.d.ts +1053 -1745
- package/dist/src/redux/features/globalSlice.d.ts +17 -0
- package/dist/{services → src/redux/features/single-event}/single-event-api.d.ts +856 -1190
- package/dist/src/redux/types.d.ts +2 -0
- package/dist/src/services/library-services.d.ts +15 -0
- package/dist/src/services/remote-config.d.ts +27 -0
- package/dist/{services → src/services}/utils.d.ts +1 -1
- package/dist/src/theme/colors.d.ts +127 -0
- package/dist/src/theme/typography.d.ts +13 -0
- package/dist/src/types/api.d.ts +18 -0
- package/dist/style.css +2984 -0
- package/dist/styles.css +3758 -4012
- package/package.json +78 -68
- package/dist/_virtual/_commonjsHelpers.js +0 -9
- package/dist/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/_virtual/customParseFormat.js +0 -5
- package/dist/_virtual/customParseFormat.js.map +0 -1
- package/dist/_virtual/dayjs.min.js +0 -5
- package/dist/_virtual/dayjs.min.js.map +0 -1
- package/dist/_virtual/duration.js +0 -5
- package/dist/_virtual/duration.js.map +0 -1
- package/dist/_virtual/index.js +0 -5
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/isBetween.js +0 -5
- package/dist/_virtual/isBetween.js.map +0 -1
- package/dist/_virtual/relativeTime.js +0 -5
- package/dist/_virtual/relativeTime.js.map +0 -1
- package/dist/_virtual/use-sync-external-store-shim.development.js +0 -5
- package/dist/_virtual/use-sync-external-store-shim.development.js.map +0 -1
- package/dist/_virtual/use-sync-external-store-shim.production.js +0 -5
- package/dist/_virtual/use-sync-external-store-shim.production.js.map +0 -1
- package/dist/_virtual/with-selector.development.js +0 -5
- package/dist/_virtual/with-selector.development.js.map +0 -1
- package/dist/_virtual/with-selector.js +0 -5
- package/dist/_virtual/with-selector.js.map +0 -1
- package/dist/_virtual/with-selector.production.js +0 -5
- package/dist/_virtual/with-selector.production.js.map +0 -1
- package/dist/components/Alert/Alert.js +0 -51
- package/dist/components/Alert/Alert.js.map +0 -1
- package/dist/components/Button/Button.js +0 -52
- package/dist/components/Button/Button.js.map +0 -1
- package/dist/components/Button/Button.test.d.ts +0 -1
- package/dist/components/Button/index.d.ts +0 -1
- package/dist/components/Checkbox/Checkbox.js +0 -50
- package/dist/components/Checkbox/Checkbox.js.map +0 -1
- package/dist/components/Checkbox/Checkbox.test.d.ts +0 -1
- package/dist/components/Checkbox/index.d.ts +0 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +0 -25
- package/dist/components/CheckboxGroup/CheckboxGroup.js +0 -99
- package/dist/components/CheckboxGroup/CheckboxGroup.js.map +0 -1
- package/dist/components/ConfirmationModal/ConfirmationModal.d.ts +0 -15
- package/dist/components/ConfirmationModal/ConfirmationModal.js +0 -136
- package/dist/components/ConfirmationModal/ConfirmationModal.js.map +0 -1
- package/dist/components/ConfirmationModal/index.d.ts +0 -2
- package/dist/components/CustomSelect/CustomSelect.js +0 -259
- package/dist/components/CustomSelect/CustomSelect.js.map +0 -1
- package/dist/components/EventAddForm/AddEventLayout.js +0 -227
- package/dist/components/EventAddForm/AddEventLayout.js.map +0 -1
- package/dist/components/EventAddForm/AddEventStepper.js +0 -719
- package/dist/components/EventAddForm/AddEventStepper.js.map +0 -1
- package/dist/components/EventAddForm/common/ConfirmationModal.js +0 -136
- package/dist/components/EventAddForm/common/ConfirmationModal.js.map +0 -1
- package/dist/components/EventAddForm/common/DescriptionModal.js +0 -70
- package/dist/components/EventAddForm/common/DescriptionModal.js.map +0 -1
- package/dist/components/EventAddForm/components/AnimatedBackground.d.ts +0 -8
- package/dist/components/EventAddForm/components/ApprovalConfirmationModal.d.ts +0 -7
- package/dist/components/EventAddForm/components/CheckboxGroup.js +0 -92
- package/dist/components/EventAddForm/components/CheckboxGroup.js.map +0 -1
- package/dist/components/EventAddForm/components/CustomMeetingForm.js +0 -237
- package/dist/components/EventAddForm/components/CustomMeetingForm.js.map +0 -1
- package/dist/components/EventAddForm/components/DateTimeField.js +0 -173
- package/dist/components/EventAddForm/components/DateTimeField.js.map +0 -1
- package/dist/components/EventAddForm/components/EventSubmissionConfirmationModal.d.ts +0 -33
- package/dist/components/EventAddForm/components/EventSubmissionConfirmationModal.js +0 -366
- package/dist/components/EventAddForm/components/EventSubmissionConfirmationModal.js.map +0 -1
- package/dist/components/EventAddForm/components/FileUpload.js +0 -412
- package/dist/components/EventAddForm/components/FileUpload.js.map +0 -1
- package/dist/components/EventAddForm/components/FormBuilderProceedModal.js +0 -197
- package/dist/components/EventAddForm/components/FormBuilderProceedModal.js.map +0 -1
- package/dist/components/EventAddForm/components/GoogleMapsAutocompleteInput.js +0 -1179
- package/dist/components/EventAddForm/components/GoogleMapsAutocompleteInput.js.map +0 -1
- package/dist/components/EventAddForm/components/InputField.d.ts +0 -15
- package/dist/components/EventAddForm/components/RadioGroupButton.d.ts +0 -14
- package/dist/components/EventAddForm/components/SelectField.d.ts +0 -19
- package/dist/components/EventAddForm/components/SingleDateTimeInput.js +0 -102
- package/dist/components/EventAddForm/components/SingleDateTimeInput.js.map +0 -1
- package/dist/components/EventAddForm/components/StepTwo/CustomFormSection.js +0 -277
- package/dist/components/EventAddForm/components/StepTwo/CustomFormSection.js.map +0 -1
- package/dist/components/EventAddForm/components/StepTwo/TicketTierSection.js +0 -148
- package/dist/components/EventAddForm/components/StepTwo/TicketTierSection.js.map +0 -1
- package/dist/components/EventAddForm/components/TicketTierForm.js +0 -418
- package/dist/components/EventAddForm/components/TicketTierForm.js.map +0 -1
- package/dist/components/EventAddForm/components/TicketTypeSelection.js +0 -93
- package/dist/components/EventAddForm/components/TicketTypeSelection.js.map +0 -1
- package/dist/components/EventAddForm/hooks/useStepperForm.js +0 -371
- package/dist/components/EventAddForm/hooks/useStepperForm.js.map +0 -1
- package/dist/components/EventAddForm/hooks/useTicketTierForm.js +0 -237
- package/dist/components/EventAddForm/hooks/useTicketTierForm.js.map +0 -1
- package/dist/components/EventAddForm/index.d.ts +0 -3
- package/dist/components/EventAddForm/index.js +0 -41
- package/dist/components/EventAddForm/index.js.map +0 -1
- package/dist/components/EventAddForm/schemas/index.d.ts +0 -2
- package/dist/components/EventAddForm/schemas/step1.d.ts +0 -47
- package/dist/components/EventAddForm/schemas/step1.js +0 -135
- package/dist/components/EventAddForm/schemas/step1.js.map +0 -1
- package/dist/components/EventAddForm/schemas/step2.d.ts +0 -138
- package/dist/components/EventAddForm/schemas/step2.js +0 -94
- package/dist/components/EventAddForm/schemas/step2.js.map +0 -1
- package/dist/components/EventAddForm/schemas/utils.js +0 -28
- package/dist/components/EventAddForm/schemas/utils.js.map +0 -1
- package/dist/components/EventAddForm/steps/IndividualFormStep.js +0 -85
- package/dist/components/EventAddForm/steps/IndividualFormStep.js.map +0 -1
- package/dist/components/EventAddForm/steps/SocialProfilesStep.js +0 -123
- package/dist/components/EventAddForm/steps/SocialProfilesStep.js.map +0 -1
- package/dist/components/EventAddForm/steps/StepOne.js +0 -462
- package/dist/components/EventAddForm/steps/StepOne.js.map +0 -1
- package/dist/components/EventAddForm/steps/StepTwo.js +0 -173
- package/dist/components/EventAddForm/steps/StepTwo.js.map +0 -1
- package/dist/components/EventAddForm/steps/TeamFormStep.js +0 -13
- package/dist/components/EventAddForm/steps/TeamFormStep.js.map +0 -1
- package/dist/components/FormBuilder/CategoryList.js +0 -242
- package/dist/components/FormBuilder/CategoryList.js.map +0 -1
- package/dist/components/FormBuilder/DiscountInput.js +0 -366
- package/dist/components/FormBuilder/DiscountInput.js.map +0 -1
- package/dist/components/FormBuilder/FormBuilder.js +0 -918
- package/dist/components/FormBuilder/FormBuilder.js.map +0 -1
- package/dist/components/FormBuilder/OptionList.js +0 -120
- package/dist/components/FormBuilder/OptionList.js.map +0 -1
- package/dist/components/FormBuilder/PaymentPreview.d.ts +0 -12
- package/dist/components/FormBuilder/PaymentPreview.js +0 -70
- package/dist/components/FormBuilder/PaymentPreview.js.map +0 -1
- package/dist/components/FormBuilder/PreviewInput.d.ts +0 -10
- package/dist/components/FormBuilder/PreviewInput.js +0 -143
- package/dist/components/FormBuilder/PreviewInput.js.map +0 -1
- package/dist/components/FormBuilder/QuestionCard.js +0 -252
- package/dist/components/FormBuilder/QuestionCard.js.map +0 -1
- package/dist/components/FormBuilder/QuestionEditor.js +0 -166
- package/dist/components/FormBuilder/QuestionEditor.js.map +0 -1
- package/dist/components/FormBuilder/RequiredToggle.js +0 -43
- package/dist/components/FormBuilder/RequiredToggle.js.map +0 -1
- package/dist/components/FormBuilder/SortableQuestionList.js +0 -137
- package/dist/components/FormBuilder/SortableQuestionList.js.map +0 -1
- package/dist/components/FormBuilder/index.d.ts +0 -4
- package/dist/components/FormBuilder/utils.js +0 -229
- package/dist/components/FormBuilder/utils.js.map +0 -1
- package/dist/components/FormInput/FormInput.js +0 -126
- package/dist/components/FormInput/FormInput.js.map +0 -1
- package/dist/components/FormInput/FormInput.test.d.ts +0 -1
- package/dist/components/FormInput/index.d.ts +0 -2
- package/dist/components/ImageCropModal/index.js +0 -464
- package/dist/components/ImageCropModal/index.js.map +0 -1
- package/dist/components/InformationPopover/InformationPopover.d.ts +0 -7
- package/dist/components/InformationPopover/InformationPopover.js +0 -19
- package/dist/components/InformationPopover/InformationPopover.js.map +0 -1
- package/dist/components/InformationPopover.js +0 -19
- package/dist/components/InformationPopover.js.map +0 -1
- package/dist/components/InputErrorMessage/InputErrorMessage.js +0 -21
- package/dist/components/InputErrorMessage/InputErrorMessage.js.map +0 -1
- package/dist/components/Modal/Modal.d.ts +0 -15
- package/dist/components/Modal/Modal.js +0 -73
- package/dist/components/Modal/Modal.js.map +0 -1
- package/dist/components/Radio/Radio.js +0 -35
- package/dist/components/Radio/Radio.js.map +0 -1
- package/dist/components/Spinner/spinner.d.ts +0 -2
- package/dist/components/Spinner/spinner.js +0 -22
- package/dist/components/Spinner/spinner.js.map +0 -1
- package/dist/components/Toggle/Toggle.d.ts +0 -16
- package/dist/components/Toggle/index.d.ts +0 -2
- package/dist/components/Tooltip/Tooltip.d.ts +0 -12
- package/dist/components/Tooltip/Tooltip.js +0 -134
- package/dist/components/Tooltip/Tooltip.js.map +0 -1
- package/dist/components/common/FallbackImage.js +0 -47
- package/dist/components/common/FallbackImage.js.map +0 -1
- package/dist/components/ui/Calendar/calendar-utils.js +0 -51
- package/dist/components/ui/Calendar/calendar-utils.js.map +0 -1
- package/dist/components/ui/Calendar/index.js +0 -142
- package/dist/components/ui/Calendar/index.js.map +0 -1
- package/dist/components/ui/Checkbox.d.ts +0 -9
- package/dist/components/ui/Checkbox.js +0 -50
- package/dist/components/ui/Checkbox.js.map +0 -1
- package/dist/components/ui/DatePicker/index.js +0 -188
- package/dist/components/ui/DatePicker/index.js.map +0 -1
- package/dist/components/ui/FormInput.js +0 -129
- package/dist/components/ui/FormInput.js.map +0 -1
- package/dist/components/ui/InputErrorMessage.d.ts +0 -7
- package/dist/components/ui/InputErrorMessage.js +0 -21
- package/dist/components/ui/InputErrorMessage.js.map +0 -1
- package/dist/components/ui/Modal/index.js +0 -73
- package/dist/components/ui/Modal/index.js.map +0 -1
- package/dist/components/ui/Radio.d.ts +0 -6
- package/dist/components/ui/Radio.js +0 -35
- package/dist/components/ui/Radio.js.map +0 -1
- package/dist/components/ui/RichTextEditor.js +0 -242
- package/dist/components/ui/RichTextEditor.js.map +0 -1
- package/dist/components/ui/TimePicker/index.js +0 -215
- package/dist/components/ui/TimePicker/index.js.map +0 -1
- package/dist/components/ui/TimeSelector/index.js +0 -138
- package/dist/components/ui/TimeSelector/index.js.map +0 -1
- package/dist/components/ui/Tooltip.d.ts +0 -12
- package/dist/components/ui/Tooltip.js +0 -136
- package/dist/components/ui/Tooltip.js.map +0 -1
- package/dist/hooks/useDropdownPosition.d.ts +0 -11
- package/dist/hooks/useFirebaseAuthState.d.ts +0 -6
- package/dist/hooks/useFirebaseAuthState.js +0 -23
- package/dist/hooks/useFirebaseAuthState.js.map +0 -1
- package/dist/hooks/useTicketTierForm.d.ts +0 -61
- package/dist/lib/actions.js +0 -32
- package/dist/lib/actions.js.map +0 -1
- package/dist/lib/cropImage.js +0 -113
- package/dist/lib/cropImage.js.map +0 -1
- package/dist/lib/imageAnalysis.js +0 -58
- package/dist/lib/imageAnalysis.js.map +0 -1
- package/dist/lib/utils.js +0 -9
- package/dist/lib/utils.js.map +0 -1
- package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +0 -60
- package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js.map +0 -1
- package/dist/node_modules/@dnd-kit/core/dist/core.esm.js +0 -3458
- package/dist/node_modules/@dnd-kit/core/dist/core.esm.js.map +0 -1
- package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +0 -593
- package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js.map +0 -1
- package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +0 -302
- package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js.map +0 -1
- package/dist/node_modules/@firebase/app/dist/esm/index.esm.js +0 -768
- package/dist/node_modules/@firebase/app/dist/esm/index.esm.js.map +0 -1
- package/dist/node_modules/@firebase/component/dist/esm/index.esm.js +0 -340
- package/dist/node_modules/@firebase/component/dist/esm/index.esm.js.map +0 -1
- package/dist/node_modules/@firebase/logger/dist/esm/index.esm.js +0 -123
- package/dist/node_modules/@firebase/logger/dist/esm/index.esm.js.map +0 -1
- package/dist/node_modules/@firebase/storage/dist/index.esm.js +0 -2623
- package/dist/node_modules/@firebase/storage/dist/index.esm.js.map +0 -1
- package/dist/node_modules/@firebase/util/dist/index.esm.js +0 -658
- package/dist/node_modules/@firebase/util/dist/index.esm.js.map +0 -1
- package/dist/node_modules/@firebase/util/dist/postinstall.js +0 -5
- package/dist/node_modules/@firebase/util/dist/postinstall.js.map +0 -1
- package/dist/node_modules/@fortawesome/fontawesome-svg-core/index.js +0 -3179
- package/dist/node_modules/@fortawesome/fontawesome-svg-core/index.js.map +0 -1
- package/dist/node_modules/@fortawesome/free-solid-svg-icons/index.js +0 -60
- package/dist/node_modules/@fortawesome/free-solid-svg-icons/index.js.map +0 -1
- package/dist/node_modules/@fortawesome/react-fontawesome/dist/index.js +0 -400
- package/dist/node_modules/@fortawesome/react-fontawesome/dist/index.js.map +0 -1
- package/dist/node_modules/@heroicons/react/20/solid/esm/CheckIcon.js +0 -27
- package/dist/node_modules/@heroicons/react/20/solid/esm/CheckIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/20/solid/esm/ChevronDownIcon.js +0 -27
- package/dist/node_modules/@heroicons/react/20/solid/esm/ChevronDownIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/24/outline/esm/ArrowRightIcon.js +0 -29
- package/dist/node_modules/@heroicons/react/24/outline/esm/ArrowRightIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/24/outline/esm/ClockIcon.js +0 -29
- package/dist/node_modules/@heroicons/react/24/outline/esm/ClockIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/24/outline/esm/DocumentDuplicateIcon.js +0 -29
- package/dist/node_modules/@heroicons/react/24/outline/esm/DocumentDuplicateIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/24/outline/esm/InformationCircleIcon.js +0 -29
- package/dist/node_modules/@heroicons/react/24/outline/esm/InformationCircleIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/24/outline/esm/LinkIcon.js +0 -29
- package/dist/node_modules/@heroicons/react/24/outline/esm/LinkIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/24/outline/esm/MagnifyingGlassIcon.js +0 -29
- package/dist/node_modules/@heroicons/react/24/outline/esm/MagnifyingGlassIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/24/outline/esm/MapPinIcon.js +0 -33
- package/dist/node_modules/@heroicons/react/24/outline/esm/MapPinIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/24/outline/esm/VideoCameraIcon.js +0 -29
- package/dist/node_modules/@heroicons/react/24/outline/esm/VideoCameraIcon.js.map +0 -1
- package/dist/node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js +0 -29
- package/dist/node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js.map +0 -1
- package/dist/node_modules/@tiptap/core/dist/index.js +0 -5446
- package/dist/node_modules/@tiptap/core/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js +0 -21
- package/dist/node_modules/@tiptap/core/dist/jsx-runtime/jsx-runtime.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-blockquote/dist/index.js +0 -78
- package/dist/node_modules/@tiptap/extension-blockquote/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-bold/dist/index.js +0 -100
- package/dist/node_modules/@tiptap/extension-bold/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-code/dist/index.js +0 -70
- package/dist/node_modules/@tiptap/extension-code/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-code-block/dist/index.js +0 -317
- package/dist/node_modules/@tiptap/extension-code-block/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-document/dist/index.js +0 -16
- package/dist/node_modules/@tiptap/extension-document/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-hard-break/dist/index.js +0 -66
- package/dist/node_modules/@tiptap/extension-hard-break/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-heading/dist/index.js +0 -86
- package/dist/node_modules/@tiptap/extension-heading/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-horizontal-rule/dist/index.js +0 -80
- package/dist/node_modules/@tiptap/extension-horizontal-rule/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-italic/dist/index.js +0 -98
- package/dist/node_modules/@tiptap/extension-italic/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-link/dist/index.js +0 -423
- package/dist/node_modules/@tiptap/extension-link/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-list/dist/index.js +0 -1039
- package/dist/node_modules/@tiptap/extension-list/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-paragraph/dist/index.js +0 -61
- package/dist/node_modules/@tiptap/extension-paragraph/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-placeholder/dist/index.js +0 -7
- package/dist/node_modules/@tiptap/extension-placeholder/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-strike/dist/index.js +0 -79
- package/dist/node_modules/@tiptap/extension-strike/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-text/dist/index.js +0 -16
- package/dist/node_modules/@tiptap/extension-text/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extension-underline/dist/index.js +0 -76
- package/dist/node_modules/@tiptap/extension-underline/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/extensions/dist/index.js +0 -376
- package/dist/node_modules/@tiptap/extensions/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/react/dist/index.js +0 -650
- package/dist/node_modules/@tiptap/react/dist/index.js.map +0 -1
- package/dist/node_modules/@tiptap/starter-kit/dist/index.js +0 -97
- package/dist/node_modules/@tiptap/starter-kit/dist/index.js.map +0 -1
- package/dist/node_modules/dayjs/dayjs.min.js +0 -283
- package/dist/node_modules/dayjs/dayjs.min.js.map +0 -1
- package/dist/node_modules/dayjs/plugin/customParseFormat.js +0 -130
- package/dist/node_modules/dayjs/plugin/customParseFormat.js.map +0 -1
- package/dist/node_modules/dayjs/plugin/duration.js +0 -137
- package/dist/node_modules/dayjs/plugin/duration.js.map +0 -1
- package/dist/node_modules/dayjs/plugin/isBetween.js +0 -20
- package/dist/node_modules/dayjs/plugin/isBetween.js.map +0 -1
- package/dist/node_modules/dayjs/plugin/relativeTime.js +0 -49
- package/dist/node_modules/dayjs/plugin/relativeTime.js.map +0 -1
- package/dist/node_modules/fast-equals/dist/es/index.js +0 -442
- package/dist/node_modules/fast-equals/dist/es/index.js.map +0 -1
- package/dist/node_modules/idb/build/index.js +0 -70
- package/dist/node_modules/idb/build/index.js.map +0 -1
- package/dist/node_modules/idb/build/wrap-idb-value.js +0 -149
- package/dist/node_modules/idb/build/wrap-idb-value.js.map +0 -1
- package/dist/node_modules/linkifyjs/dist/linkify.js +0 -1159
- package/dist/node_modules/linkifyjs/dist/linkify.js.map +0 -1
- package/dist/node_modules/orderedmap/dist/index.js +0 -120
- package/dist/node_modules/orderedmap/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-commands/dist/index.js +0 -527
- package/dist/node_modules/prosemirror-commands/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-dropcursor/dist/index.js +0 -137
- package/dist/node_modules/prosemirror-dropcursor/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-gapcursor/dist/index.js +0 -221
- package/dist/node_modules/prosemirror-gapcursor/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-history/dist/index.js +0 -357
- package/dist/node_modules/prosemirror-history/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-keymap/dist/index.js +0 -84
- package/dist/node_modules/prosemirror-keymap/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-model/dist/index.js +0 -3209
- package/dist/node_modules/prosemirror-model/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-schema-list/dist/index.js +0 -131
- package/dist/node_modules/prosemirror-schema-list/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-state/dist/index.js +0 -936
- package/dist/node_modules/prosemirror-state/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-transform/dist/index.js +0 -1881
- package/dist/node_modules/prosemirror-transform/dist/index.js.map +0 -1
- package/dist/node_modules/prosemirror-view/dist/index.js +0 -5232
- package/dist/node_modules/prosemirror-view/dist/index.js.map +0 -1
- package/dist/node_modules/rope-sequence/dist/index.js +0 -184
- package/dist/node_modules/rope-sequence/dist/index.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -82
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +0 -78
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -78
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -63
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/shim/index.js +0 -13
- package/dist/node_modules/use-sync-external-store/shim/index.js.map +0 -1
- package/dist/node_modules/use-sync-external-store/shim/with-selector.js +0 -13
- package/dist/node_modules/use-sync-external-store/shim/with-selector.js.map +0 -1
- package/dist/node_modules/w3c-keyname/index.js +0 -106
- package/dist/node_modules/w3c-keyname/index.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/coerce.js +0 -10
- package/dist/node_modules/zod/v4/classic/coerce.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/compat.js +0 -8
- package/dist/node_modules/zod/v4/classic/compat.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/errors.js +0 -45
- package/dist/node_modules/zod/v4/classic/errors.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/iso.js +0 -44
- package/dist/node_modules/zod/v4/classic/iso.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/parse.js +0 -30
- package/dist/node_modules/zod/v4/classic/parse.js.map +0 -1
- package/dist/node_modules/zod/v4/classic/schemas.js +0 -711
- package/dist/node_modules/zod/v4/classic/schemas.js.map +0 -1
- package/dist/node_modules/zod/v4/core/api.js +0 -588
- package/dist/node_modules/zod/v4/core/api.js.map +0 -1
- package/dist/node_modules/zod/v4/core/checks.js +0 -411
- package/dist/node_modules/zod/v4/core/checks.js.map +0 -1
- package/dist/node_modules/zod/v4/core/core.js +0 -75
- package/dist/node_modules/zod/v4/core/core.js.map +0 -1
- package/dist/node_modules/zod/v4/core/doc.js +0 -38
- package/dist/node_modules/zod/v4/core/doc.js.map +0 -1
- package/dist/node_modules/zod/v4/core/errors.js +0 -73
- package/dist/node_modules/zod/v4/core/errors.js.map +0 -1
- package/dist/node_modules/zod/v4/core/json-schema-processors.js +0 -359
- package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +0 -1
- package/dist/node_modules/zod/v4/core/parse.js +0 -96
- package/dist/node_modules/zod/v4/core/parse.js.map +0 -1
- package/dist/node_modules/zod/v4/core/regexes.js +0 -84
- package/dist/node_modules/zod/v4/core/regexes.js.map +0 -1
- package/dist/node_modules/zod/v4/core/registries.js +0 -52
- package/dist/node_modules/zod/v4/core/registries.js.map +0 -1
- package/dist/node_modules/zod/v4/core/schemas.js +0 -1391
- package/dist/node_modules/zod/v4/core/schemas.js.map +0 -1
- package/dist/node_modules/zod/v4/core/to-json-schema.js +0 -363
- package/dist/node_modules/zod/v4/core/to-json-schema.js.map +0 -1
- package/dist/node_modules/zod/v4/core/util.js +0 -431
- package/dist/node_modules/zod/v4/core/util.js.map +0 -1
- package/dist/node_modules/zod/v4/core/versions.js +0 -9
- package/dist/node_modules/zod/v4/core/versions.js.map +0 -1
- package/dist/redux/baseQuery.d.ts +0 -1
- package/dist/redux/baseQuery.js +0 -24
- package/dist/redux/baseQuery.js.map +0 -1
- package/dist/services/eventApi.js +0 -411
- package/dist/services/eventApi.js.map +0 -1
- package/dist/services/helpers.js +0 -115
- package/dist/services/helpers.js.map +0 -1
- package/dist/services/initialize-firebase.d.ts +0 -2
- package/dist/services/initialize-firebase.js +0 -20
- package/dist/services/initialize-firebase.js.map +0 -1
- package/dist/services/process-image-on-server.js +0 -30
- package/dist/services/process-image-on-server.js.map +0 -1
- package/dist/services/remote-config.d.ts +0 -5
- package/dist/services/remote-config.js +0 -9
- package/dist/services/remote-config.js.map +0 -1
- package/dist/services/single-event-api.js +0 -301
- package/dist/services/single-event-api.js.map +0 -1
- package/dist/services/utils.js +0 -107
- package/dist/services/utils.js.map +0 -1
- package/dist/setupTests.d.ts +0 -1
- package/dist/stories/Alert.stories.d.ts +0 -10
- package/dist/stories/Button.stories.d.ts +0 -13
- package/dist/types/redux-types.d.ts +0 -15
- package/dist/types/types.d.ts +0 -60
- package/dist/types/types.js +0 -10
- package/dist/types/types.js.map +0 -1
- package/dist/utils/cn.d.ts +0 -6
- package/dist/utils/cn.js +0 -9
- package/dist/utils/cn.js.map +0 -1
- package/dist/utils/date-range.d.ts +0 -4
- package/dist/utils/date-range.js +0 -13
- package/dist/utils/date-range.js.map +0 -1
- package/dist/utils/single-event-helpers.d.ts +0 -50
- package/dist/utils/single-event-helpers.js +0 -18
- package/dist/utils/single-event-helpers.js.map +0 -1
- package/dist/utils/social-validation.js +0 -42
- package/dist/utils/social-validation.js.map +0 -1
- package/dist/utils/utils.js +0 -20
- package/dist/utils/utils.js.map +0 -1
- /package/dist/{components/Alert/Alert.d.ts → src/components/Alert/index.d.ts} +0 -0
- /package/dist/{components → src/components}/FormBuilder/CategoryList.d.ts +0 -0
- /package/dist/{components → src/components}/FormBuilder/OptionList.d.ts +0 -0
- /package/dist/{components → src/components}/FormBuilder/RequiredToggle.d.ts +0 -0
- /package/dist/{components → src/components}/FormBuilder/types.d.ts +0 -0
- /package/dist/{components → src/components}/FormBuilder/utils.d.ts +0 -0
- /package/dist/{components → src/components}/ImageCropModal/index.d.ts +0 -0
- /package/dist/{components → src/components}/InformationPopover.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/common/DescriptionModal.d.ts +0 -0
- /package/dist/{components/ui/FormInput.d.ts → src/components/NewAddEvent/components/AddEventFormInput.d.ts} +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/CheckboxGroup.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/CustomMeetingForm.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/DateTimeField.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/FileUpload.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/FormBuilderProceedModal.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/GoogleMapsAutocompleteInput.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/SingleDateTimeInput.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/StepTwo/CustomFormSection.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/components/TicketTypeSelection.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/steps/StepOne.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/steps/StepTwo.d.ts +0 -0
- /package/dist/{components/EventAddForm → src/components/NewAddEvent}/types.d.ts +0 -0
- /package/dist/{components → src/components}/common/FallbackImage.d.ts +0 -0
- /package/dist/{components → src/components}/ui/Calendar/calendar-utils.d.ts +0 -0
- /package/dist/{components → src/components}/ui/Calendar/index.d.ts +0 -0
- /package/dist/{components/Checkbox → src/components/ui}/Checkbox.d.ts +0 -0
- /package/dist/{components/CustomSelect → src/components/ui}/CustomSelect.d.ts +0 -0
- /package/dist/{components → src/components}/ui/DatePicker/index.d.ts +0 -0
- /package/dist/{components/InputErrorMessage → src/components/ui}/InputErrorMessage.d.ts +0 -0
- /package/dist/{components → src/components}/ui/Modal/index.d.ts +0 -0
- /package/dist/{components/Radio → src/components/ui}/Radio.d.ts +0 -0
- /package/dist/{components → src/components}/ui/RichTextEditor.d.ts +0 -0
- /package/dist/{components → src/components}/ui/TimePicker/index.d.ts +0 -0
- /package/dist/{components → src/components}/ui/TimeSelector/index.d.ts +0 -0
- /package/dist/{components → src/components}/ui/Tooltip/index.d.ts +0 -0
- /package/dist/{lib → src/lib}/constants.d.ts +0 -0
- /package/dist/{lib → src/lib}/cropImage.d.ts +0 -0
- /package/dist/{lib → src/lib}/imageAnalysis.d.ts +0 -0
- /package/dist/{utils → src/lib}/social-validation.d.ts +0 -0
- /package/dist/{lib/utils.d.ts → src/lib/tailwind-merge.d.ts} +0 -0
- /package/dist/{utils → src/lib}/utils.d.ts +0 -0
- /package/dist/{services → src/redux/features/single-event}/helpers.d.ts +0 -0
- /package/dist/{services → src/services}/process-image-on-server.d.ts +0 -0
- /package/dist/{types → src/types}/events.d.ts +0 -0
- /package/dist/{types → src/types}/question.d.ts +0 -0
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from "react";
|
|
3
|
-
import { AnimatePresence, motion } from "framer-motion";
|
|
4
|
-
import FormInput from "../../../ui/FormInput.js";
|
|
5
|
-
import CheckboxGroup from "../CheckboxGroup.js";
|
|
6
|
-
import InformationPopover from "../../../InformationPopover.js";
|
|
7
|
-
import { Radio } from "../../../ui/Radio.js";
|
|
8
|
-
const CustomFormSection = ({
|
|
9
|
-
formState,
|
|
10
|
-
setField,
|
|
11
|
-
errors,
|
|
12
|
-
validateField
|
|
13
|
-
}) => {
|
|
14
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
15
|
-
const handleNumberChange = (field, value, relatedFields = []) => {
|
|
16
|
-
if (value === "") {
|
|
17
|
-
setField(field, void 0, relatedFields);
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const num = Number(value);
|
|
21
|
-
if (isNaN(num)) {
|
|
22
|
-
setField(field, void 0, relatedFields);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
setField(field, num, relatedFields);
|
|
26
|
-
};
|
|
27
|
-
return /* @__PURE__ */ jsxs("div", { className: "animate-in fade-in slide-in-from-bottom-2 duration-300 grid space-y-4", children: [
|
|
28
|
-
/* @__PURE__ */ jsxs("div", { "data-name": "participants_type", children: [
|
|
29
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-2", children: [
|
|
30
|
-
/* @__PURE__ */ jsx("label", { className: "font-semibold text-gray-800 text-base", children: "How do you want your customers to participate?" }),
|
|
31
|
-
/* @__PURE__ */ jsx(InformationPopover, { text: "Choose whether attendees register individually, as a team, or have the option to choose either." })
|
|
32
|
-
] }),
|
|
33
|
-
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-6", children: ["INDIVIDUAL", "TEAM", "BOTH"].map((opt) => /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 cursor-pointer group", children: [
|
|
34
|
-
/* @__PURE__ */ jsx(
|
|
35
|
-
Radio,
|
|
36
|
-
{
|
|
37
|
-
name: "participants_type",
|
|
38
|
-
value: opt,
|
|
39
|
-
checked: formState.participants_type === opt,
|
|
40
|
-
onChange: () => setField("participants_type", opt)
|
|
41
|
-
}
|
|
42
|
-
),
|
|
43
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium capitalize text-gray-700", children: opt.toLowerCase() })
|
|
44
|
-
] }, opt)) }),
|
|
45
|
-
errors.participants_type && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-error-500", children: "Please select an option." })
|
|
46
|
-
] }),
|
|
47
|
-
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
48
|
-
["INDIVIDUAL", "BOTH"].includes(formState.participants_type || "") && /* @__PURE__ */ jsxs("div", { className: "relative bg-white border border-grey-200 rounded-xl p-4 mt-4", children: [
|
|
49
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-0 left-4 -translate-y-1/2 bg-white px-3 py-1 rounded-full border border-grey-200 shadow-sm text-sm font-semibold text-primaryx-700 tracking-wide", children: "Individual" }),
|
|
50
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-4 pt-4", children: [
|
|
51
|
-
/* @__PURE__ */ jsx("div", { "data-name": "individual_price", children: /* @__PURE__ */ jsx(
|
|
52
|
-
FormInput,
|
|
53
|
-
{
|
|
54
|
-
label: "Ticket price",
|
|
55
|
-
type: "number",
|
|
56
|
-
placeholder: "e.g. 500",
|
|
57
|
-
value: ((_a = formState.individual_price) == null ? void 0 : _a.toString()) || "",
|
|
58
|
-
onChange: (e) => handleNumberChange("individual_price", e.target.value),
|
|
59
|
-
onBlur: () => validateField("individual_price"),
|
|
60
|
-
error: errors.individual_price,
|
|
61
|
-
suffix: "PKR",
|
|
62
|
-
min: 0,
|
|
63
|
-
tooltip: "The registration price for a single individual. Set to 0 for free registration."
|
|
64
|
-
}
|
|
65
|
-
) }),
|
|
66
|
-
/* @__PURE__ */ jsx("div", { "data-name": "individual_capacity", children: /* @__PURE__ */ jsx(
|
|
67
|
-
FormInput,
|
|
68
|
-
{
|
|
69
|
-
label: "Ticket capacity",
|
|
70
|
-
type: "number",
|
|
71
|
-
placeholder: "e.g. 200",
|
|
72
|
-
value: ((_b = formState.individual_capacity) == null ? void 0 : _b.toString()) || "",
|
|
73
|
-
onChange: (e) => handleNumberChange("individual_capacity", e.target.value),
|
|
74
|
-
onBlur: () => validateField("individual_capacity"),
|
|
75
|
-
error: errors.individual_capacity,
|
|
76
|
-
min: 1,
|
|
77
|
-
tooltip: "Maximum number of individual registrations you want to accept."
|
|
78
|
-
}
|
|
79
|
-
) })
|
|
80
|
-
] })
|
|
81
|
-
] }),
|
|
82
|
-
["TEAM", "BOTH"].includes(formState.participants_type || "") && /* @__PURE__ */ jsxs("div", { className: "relative bg-white border border-grey-200 rounded-xl p-4 mt-4", children: [
|
|
83
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-0 left-4 -translate-y-1/2 bg-white px-3 py-1 rounded-full border border-grey-200 shadow-sm text-sm font-semibold text-primaryx-700 tracking-wide", children: "Team" }),
|
|
84
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-4 pt-4", children: [
|
|
85
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
86
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
|
|
87
|
-
/* @__PURE__ */ jsxs("label", { className: "text-sm text-grey-700 font-medium", children: [
|
|
88
|
-
"Members in team ",
|
|
89
|
-
/* @__PURE__ */ jsx("span", { className: "text-meta-1 animate-pulse", children: "*" })
|
|
90
|
-
] }),
|
|
91
|
-
/* @__PURE__ */ jsx(InformationPopover, { text: "Set the minimum and maximum number of members allowed per team. Min must be at least 2." })
|
|
92
|
-
] }),
|
|
93
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
94
|
-
/* @__PURE__ */ jsx("div", { "data-name": "min_members", children: /* @__PURE__ */ jsx(
|
|
95
|
-
FormInput,
|
|
96
|
-
{
|
|
97
|
-
type: "number",
|
|
98
|
-
placeholder: "e.g. 2",
|
|
99
|
-
value: ((_c = formState.min_members) == null ? void 0 : _c.toString()) || "",
|
|
100
|
-
onChange: (e) => {
|
|
101
|
-
handleNumberChange("min_members", e.target.value, ["max_members"]);
|
|
102
|
-
},
|
|
103
|
-
onBlur: () => {
|
|
104
|
-
validateField("min_members");
|
|
105
|
-
},
|
|
106
|
-
error: errors.min_members,
|
|
107
|
-
suffix: "MIN",
|
|
108
|
-
min: 2,
|
|
109
|
-
tooltip: "Minimum number of members required to form a valid team."
|
|
110
|
-
}
|
|
111
|
-
) }),
|
|
112
|
-
/* @__PURE__ */ jsx("div", { "data-name": "max_members", children: /* @__PURE__ */ jsx(
|
|
113
|
-
FormInput,
|
|
114
|
-
{
|
|
115
|
-
type: "number",
|
|
116
|
-
placeholder: "e.g. 5",
|
|
117
|
-
value: ((_d = formState.max_members) == null ? void 0 : _d.toString()) || "",
|
|
118
|
-
onChange: (e) => {
|
|
119
|
-
handleNumberChange("max_members", e.target.value, ["min_members", "team_capacity"]);
|
|
120
|
-
},
|
|
121
|
-
onBlur: () => {
|
|
122
|
-
validateField("max_members");
|
|
123
|
-
validateField("min_members");
|
|
124
|
-
},
|
|
125
|
-
error: errors.max_members,
|
|
126
|
-
suffix: "MAX",
|
|
127
|
-
min: (formState == null ? void 0 : formState.min_members) || 2,
|
|
128
|
-
tooltip: "Maximum number of members allowed in a single team."
|
|
129
|
-
}
|
|
130
|
-
) })
|
|
131
|
-
] })
|
|
132
|
-
] }),
|
|
133
|
-
/* @__PURE__ */ jsxs("div", { "data-name": "charge_team_price", children: [
|
|
134
|
-
/* @__PURE__ */ jsx(
|
|
135
|
-
CheckboxGroup,
|
|
136
|
-
{
|
|
137
|
-
label: "Do you want to charge a team registration fee?",
|
|
138
|
-
tooltip: "A flat fee charged to the entire team upon registration.",
|
|
139
|
-
field: "charge_team_price",
|
|
140
|
-
classname: "flex gap-2",
|
|
141
|
-
filled: false,
|
|
142
|
-
options: [
|
|
143
|
-
{ value: "YES", label: "Yes", disabled: false },
|
|
144
|
-
{ value: "NO", label: "No", disabled: false }
|
|
145
|
-
],
|
|
146
|
-
formData: {
|
|
147
|
-
charge_team_price: formState.charge_team_price === "YES" ? ["YES"] : ["NO"]
|
|
148
|
-
},
|
|
149
|
-
setFormData: (updater) => {
|
|
150
|
-
const result = updater({ charge_team_price: formState.charge_team_price === "YES" ? ["YES"] : ["NO"] });
|
|
151
|
-
const newSelections = result["charge_team_price"] || [];
|
|
152
|
-
let finalValue = "NO";
|
|
153
|
-
const hadYes = formState.charge_team_price === "YES";
|
|
154
|
-
if (newSelections.includes("YES") && newSelections.includes("NO")) {
|
|
155
|
-
if (hadYes) finalValue = "NO";
|
|
156
|
-
else finalValue = "YES";
|
|
157
|
-
} else if (newSelections.length === 0) {
|
|
158
|
-
finalValue = hadYes ? "YES" : "NO";
|
|
159
|
-
} else {
|
|
160
|
-
finalValue = newSelections[0];
|
|
161
|
-
}
|
|
162
|
-
setField("charge_team_price", finalValue);
|
|
163
|
-
},
|
|
164
|
-
validation: () => validateField("charge_team_price")
|
|
165
|
-
}
|
|
166
|
-
),
|
|
167
|
-
/* @__PURE__ */ jsx(AnimatePresence, { children: formState.charge_team_price === "YES" && /* @__PURE__ */ jsx(
|
|
168
|
-
motion.div,
|
|
169
|
-
{
|
|
170
|
-
initial: { height: 0, opacity: 0, marginTop: 0 },
|
|
171
|
-
animate: { height: "auto", opacity: 1, marginTop: 12 },
|
|
172
|
-
exit: { height: 0, opacity: 0, marginTop: 0 },
|
|
173
|
-
transition: { duration: 0.3, ease: "easeInOut" },
|
|
174
|
-
className: "overflow-hidden",
|
|
175
|
-
children: /* @__PURE__ */ jsx(
|
|
176
|
-
FormInput,
|
|
177
|
-
{
|
|
178
|
-
label: "Team registration fee",
|
|
179
|
-
type: "number",
|
|
180
|
-
placeholder: "e.g. 1,000",
|
|
181
|
-
value: ((_e = formState.team_price) == null ? void 0 : _e.toString()) || "",
|
|
182
|
-
onChange: (e) => handleNumberChange("team_price", e.target.value),
|
|
183
|
-
onBlur: () => validateField("team_price"),
|
|
184
|
-
error: errors.team_price,
|
|
185
|
-
suffix: "PKR",
|
|
186
|
-
min: 0,
|
|
187
|
-
tooltip: "A flat registration fee charged once per team, regardless of member count."
|
|
188
|
-
}
|
|
189
|
-
)
|
|
190
|
-
}
|
|
191
|
-
) })
|
|
192
|
-
] }),
|
|
193
|
-
/* @__PURE__ */ jsxs("div", { "data-name": "charge_per_delegate_fee", children: [
|
|
194
|
-
/* @__PURE__ */ jsx(
|
|
195
|
-
CheckboxGroup,
|
|
196
|
-
{
|
|
197
|
-
label: "Do you also want to charge fee per member?",
|
|
198
|
-
tooltip: "An additional fee charged individually for each member in the team.",
|
|
199
|
-
field: "charge_per_delegate_fee",
|
|
200
|
-
classname: "flex gap-2",
|
|
201
|
-
filled: false,
|
|
202
|
-
options: [
|
|
203
|
-
{ value: "YES", label: "Yes", disabled: false },
|
|
204
|
-
{ value: "NO", label: "No", disabled: false }
|
|
205
|
-
],
|
|
206
|
-
formData: {
|
|
207
|
-
charge_per_delegate_fee: formState.charge_per_delegate_fee === "YES" ? ["YES"] : ["NO"]
|
|
208
|
-
},
|
|
209
|
-
setFormData: (updater) => {
|
|
210
|
-
const result = updater({ charge_per_delegate_fee: formState.charge_per_delegate_fee === "YES" ? ["YES"] : ["NO"] });
|
|
211
|
-
const newSelections = result["charge_per_delegate_fee"] || [];
|
|
212
|
-
let finalValue = "NO";
|
|
213
|
-
const hadYes = formState.charge_per_delegate_fee === "YES";
|
|
214
|
-
if (newSelections.includes("YES") && newSelections.includes("NO")) {
|
|
215
|
-
if (hadYes) finalValue = "NO";
|
|
216
|
-
else finalValue = "YES";
|
|
217
|
-
} else if (newSelections.length === 0) {
|
|
218
|
-
finalValue = hadYes ? "YES" : "NO";
|
|
219
|
-
} else {
|
|
220
|
-
finalValue = newSelections[0];
|
|
221
|
-
}
|
|
222
|
-
setField("charge_per_delegate_fee", finalValue);
|
|
223
|
-
},
|
|
224
|
-
validation: () => validateField("charge_per_delegate_fee")
|
|
225
|
-
}
|
|
226
|
-
),
|
|
227
|
-
/* @__PURE__ */ jsx(AnimatePresence, { children: formState.charge_per_delegate_fee === "YES" && /* @__PURE__ */ jsx(
|
|
228
|
-
motion.div,
|
|
229
|
-
{
|
|
230
|
-
initial: { height: 0, opacity: 0, marginTop: 0 },
|
|
231
|
-
animate: { height: "auto", opacity: 1, marginTop: 12 },
|
|
232
|
-
exit: { height: 0, opacity: 0, marginTop: 0 },
|
|
233
|
-
transition: { duration: 0.3, ease: "easeInOut" },
|
|
234
|
-
className: "overflow-hidden",
|
|
235
|
-
children: /* @__PURE__ */ jsx(
|
|
236
|
-
FormInput,
|
|
237
|
-
{
|
|
238
|
-
label: "Per member registration fee",
|
|
239
|
-
type: "number",
|
|
240
|
-
placeholder: "e.g. 300",
|
|
241
|
-
value: ((_f = formState.per_member_fee) == null ? void 0 : _f.toString()) || "",
|
|
242
|
-
onChange: (e) => handleNumberChange("per_member_fee", e.target.value),
|
|
243
|
-
onBlur: () => validateField("per_member_fee"),
|
|
244
|
-
error: errors.per_member_fee,
|
|
245
|
-
suffix: "PKR",
|
|
246
|
-
min: 0,
|
|
247
|
-
tooltip: "An extra fee charged per individual member on top of the team registration fee."
|
|
248
|
-
}
|
|
249
|
-
)
|
|
250
|
-
}
|
|
251
|
-
) })
|
|
252
|
-
] }),
|
|
253
|
-
/* @__PURE__ */ jsx("div", { "data-name": "team_capacity", children: /* @__PURE__ */ jsx(
|
|
254
|
-
FormInput,
|
|
255
|
-
{
|
|
256
|
-
label: "Ticket capacity",
|
|
257
|
-
type: "number",
|
|
258
|
-
placeholder: "e.g. 100",
|
|
259
|
-
value: ((_g = formState.team_capacity) == null ? void 0 : _g.toString()) || "",
|
|
260
|
-
onChange: (e) => handleNumberChange("team_capacity", e.target.value),
|
|
261
|
-
onBlur: () => validateField("team_capacity"),
|
|
262
|
-
error: errors.team_capacity,
|
|
263
|
-
min: 1,
|
|
264
|
-
required: true,
|
|
265
|
-
tooltip: "Total number of participants allowed across all teams (e.g. 10 teams × 5 members = 50)."
|
|
266
|
-
}
|
|
267
|
-
) })
|
|
268
|
-
] })
|
|
269
|
-
] })
|
|
270
|
-
] }) })
|
|
271
|
-
] });
|
|
272
|
-
};
|
|
273
|
-
const CustomFormSection$1 = memo(CustomFormSection);
|
|
274
|
-
export {
|
|
275
|
-
CustomFormSection$1 as default
|
|
276
|
-
};
|
|
277
|
-
//# sourceMappingURL=CustomFormSection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CustomFormSection.js","sources":["../../../../../src/components/EventAddForm/components/StepTwo/CustomFormSection.tsx"],"sourcesContent":["import { memo } from 'react';\r\nimport { AnimatePresence, motion } from 'framer-motion';\r\nimport FormInput from \"@/components/ui/FormInput\";\r\nimport CheckboxGroup from \"../CheckboxGroup\";\r\nimport InformationPopover from \"@/components/InformationPopover\";\r\nimport { StepperFormState } from \"../../types\";\r\nimport { Radio } from '@/components/ui/Radio';\r\n\r\ninterface CustomFormSectionProps {\r\n formState: StepperFormState;\r\n setField: (field: keyof StepperFormState, value: any, relatedFields?: (keyof StepperFormState)[]) => void;\r\n errors: Record<string, string>;\r\n validateField: (field: keyof StepperFormState) => void;\r\n}\r\n\r\nconst CustomFormSection = ({\r\n formState,\r\n setField,\r\n errors,\r\n validateField,\r\n}: CustomFormSectionProps) => {\r\n\r\n const handleNumberChange = (field: keyof StepperFormState, value: string, relatedFields: (keyof StepperFormState)[] = []) => {\r\n if (value === \"\") {\r\n setField(field, undefined, relatedFields);\r\n return;\r\n }\r\n const num = Number(value);\r\n if (isNaN(num)) {\r\n setField(field, undefined, relatedFields);\r\n return;\r\n }\r\n setField(field, num, relatedFields);\r\n };\r\n\r\n return (\r\n <div className=\"animate-in fade-in slide-in-from-bottom-2 duration-300 grid space-y-4\">\r\n {/* Participation Type */}\r\n <div data-name=\"participants_type\">\r\n <div className=\"flex items-center gap-2 mb-2\">\r\n <label className=\"font-semibold text-gray-800 text-base\">\r\n How do you want your customers to participate?\r\n </label>\r\n <InformationPopover text=\"Choose whether attendees register individually, as a team, or have the option to choose either.\" />\r\n </div>\r\n <div className=\"flex items-center gap-6\">\r\n {[\"INDIVIDUAL\", \"TEAM\", \"BOTH\"].map((opt) => (\r\n <label key={opt} className=\"flex items-center gap-2 cursor-pointer group\">\r\n <Radio\r\n name=\"participants_type\"\r\n value={opt}\r\n checked={formState.participants_type === opt}\r\n onChange={() => setField(\"participants_type\", opt)}\r\n />\r\n <span className=\"text-sm font-medium capitalize text-gray-700\">{opt.toLowerCase()}</span>\r\n </label>\r\n ))}\r\n </div>\r\n {errors.participants_type && <p className=\"mt-1 text-sm text-error-500\">Please select an option.</p>}\r\n </div>\r\n\r\n <div>\r\n <div className=\"space-y-6\">\r\n {/* Individual Section */}\r\n {[\"INDIVIDUAL\", \"BOTH\"].includes(formState.participants_type || \"\") && (\r\n <div className=\"relative bg-white border border-grey-200 rounded-xl p-4 mt-4\">\r\n <div className=\"absolute top-0 left-4 -translate-y-1/2 bg-white px-3 py-1 rounded-full border border-grey-200 shadow-sm text-sm font-semibold text-primaryx-700 tracking-wide\">\r\n Individual\r\n </div>\r\n <div className=\"space-y-4 pt-4\">\r\n <div data-name=\"individual_price\">\r\n <FormInput\r\n label=\"Ticket price\"\r\n type=\"number\"\r\n placeholder=\"e.g. 500\"\r\n value={formState.individual_price?.toString() || \"\"}\r\n onChange={(e: any) => handleNumberChange(\"individual_price\", e.target.value)}\r\n onBlur={() => validateField(\"individual_price\")}\r\n error={errors.individual_price}\r\n suffix=\"PKR\"\r\n min={0}\r\n tooltip=\"The registration price for a single individual. Set to 0 for free registration.\"\r\n />\r\n </div>\r\n <div data-name=\"individual_capacity\">\r\n <FormInput\r\n label=\"Ticket capacity\"\r\n type=\"number\"\r\n placeholder=\"e.g. 200\"\r\n value={formState.individual_capacity?.toString() || \"\"}\r\n onChange={(e: any) => handleNumberChange(\"individual_capacity\", e.target.value)}\r\n onBlur={() => validateField(\"individual_capacity\")}\r\n error={errors.individual_capacity}\r\n min={1}\r\n tooltip=\"Maximum number of individual registrations you want to accept.\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Team Section */}\r\n {[\"TEAM\", \"BOTH\"].includes(formState.participants_type || \"\") && (\r\n <div className=\"relative bg-white border border-grey-200 rounded-xl p-4 mt-4\">\r\n <div className=\"absolute top-0 left-4 -translate-y-1/2 bg-white px-3 py-1 rounded-full border border-grey-200 shadow-sm text-sm font-semibold text-primaryx-700 tracking-wide\">\r\n Team\r\n </div>\r\n <div className=\"space-y-4 pt-4\">\r\n <div className=\"space-y-1\">\r\n <div className=\"flex items-center gap-x-2\">\r\n <label className=\"text-sm text-grey-700 font-medium\">\r\n Members in team <span className=\"text-meta-1 animate-pulse\">*</span>\r\n </label>\r\n <InformationPopover text=\"Set the minimum and maximum number of members allowed per team. Min must be at least 2.\" />\r\n </div>\r\n <div className=\"grid grid-cols-2 gap-4\">\r\n <div data-name=\"min_members\">\r\n <FormInput\r\n type=\"number\"\r\n placeholder=\"e.g. 2\"\r\n value={formState.min_members?.toString() || \"\"}\r\n onChange={(e: any) => {\r\n handleNumberChange(\"min_members\", e.target.value, [\"max_members\"])\r\n }}\r\n onBlur={() => {\r\n validateField(\"min_members\")\r\n }}\r\n error={errors.min_members}\r\n suffix=\"MIN\"\r\n min={2}\r\n tooltip=\"Minimum number of members required to form a valid team.\"\r\n />\r\n </div>\r\n <div data-name=\"max_members\">\r\n <FormInput\r\n type=\"number\"\r\n placeholder=\"e.g. 5\"\r\n value={formState.max_members?.toString() || \"\"}\r\n onChange={(e: any) => {\r\n handleNumberChange(\"max_members\", e.target.value, [\"min_members\", \"team_capacity\"])\r\n }}\r\n onBlur={() => {\r\n validateField(\"max_members\")\r\n validateField(\"min_members\");\r\n }}\r\n error={errors.max_members}\r\n suffix=\"MAX\"\r\n min={formState?.min_members || 2}\r\n tooltip=\"Maximum number of members allowed in a single team.\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {/* Conditional Team Registration Fee */}\r\n <div data-name=\"charge_team_price\">\r\n <CheckboxGroup\r\n label=\"Do you want to charge a team registration fee?\"\r\n tooltip=\"A flat fee charged to the entire team upon registration.\"\r\n field=\"charge_team_price\"\r\n classname='flex gap-2'\r\n filled={false}\r\n options={[\r\n { value: \"YES\", label: \"Yes\", disabled: false },\r\n { value: \"NO\", label: \"No\", disabled: false }\r\n ]}\r\n formData={{\r\n charge_team_price: formState.charge_team_price === \"YES\" ? [\"YES\"] : [\"NO\"]\r\n }}\r\n setFormData={(updater: any) => {\r\n const result = updater({ charge_team_price: formState.charge_team_price === \"YES\" ? [\"YES\"] : [\"NO\"] });\r\n const newSelections = result[\"charge_team_price\"] || [];\r\n let finalValue = \"NO\";\r\n const hadYes = formState.charge_team_price === \"YES\";\r\n if (newSelections.includes(\"YES\") && newSelections.includes(\"NO\")) {\r\n if (hadYes) finalValue = \"NO\";\r\n else finalValue = \"YES\";\r\n } else if (newSelections.length === 0) {\r\n finalValue = hadYes ? \"YES\" : \"NO\";\r\n } else {\r\n finalValue = newSelections[0];\r\n }\r\n setField(\"charge_team_price\", finalValue);\r\n }}\r\n validation={() => validateField(\"charge_team_price\")}\r\n />\r\n <AnimatePresence>\r\n {formState.charge_team_price === \"YES\" && (\r\n <motion.div\r\n initial={{ height: 0, opacity: 0, marginTop: 0 }}\r\n animate={{ height: 'auto', opacity: 1, marginTop: 12 }}\r\n exit={{ height: 0, opacity: 0, marginTop: 0 }}\r\n transition={{ duration: 0.3, ease: 'easeInOut' }}\r\n className=\"overflow-hidden\"\r\n >\r\n <FormInput\r\n label=\"Team registration fee\"\r\n type=\"number\"\r\n placeholder=\"e.g. 1,000\"\r\n value={formState.team_price?.toString() || \"\"}\r\n onChange={(e: any) => handleNumberChange(\"team_price\", e.target.value)}\r\n onBlur={() => validateField(\"team_price\")}\r\n error={errors.team_price}\r\n suffix=\"PKR\"\r\n min={0}\r\n tooltip=\"A flat registration fee charged once per team, regardless of member count.\"\r\n />\r\n </motion.div>\r\n )}\r\n </AnimatePresence>\r\n </div>\r\n\r\n {/* Per Member Fee */}\r\n <div data-name=\"charge_per_delegate_fee\">\r\n <CheckboxGroup\r\n label=\"Do you also want to charge fee per member?\"\r\n tooltip=\"An additional fee charged individually for each member in the team.\"\r\n field=\"charge_per_delegate_fee\"\r\n classname='flex gap-2'\r\n filled={false}\r\n options={[\r\n { value: \"YES\", label: \"Yes\", disabled: false },\r\n { value: \"NO\", label: \"No\", disabled: false }\r\n ]}\r\n formData={{\r\n charge_per_delegate_fee: formState.charge_per_delegate_fee === \"YES\" ? [\"YES\"] : [\"NO\"]\r\n }}\r\n setFormData={(updater: any) => {\r\n const result = updater({ charge_per_delegate_fee: formState.charge_per_delegate_fee === \"YES\" ? [\"YES\"] : [\"NO\"] });\r\n const newSelections = result[\"charge_per_delegate_fee\"] || [];\r\n let finalValue = \"NO\";\r\n const hadYes = formState.charge_per_delegate_fee === \"YES\";\r\n if (newSelections.includes(\"YES\") && newSelections.includes(\"NO\")) {\r\n if (hadYes) finalValue = \"NO\";\r\n else finalValue = \"YES\";\r\n } else if (newSelections.length === 0) {\r\n finalValue = hadYes ? \"YES\" : \"NO\";\r\n } else {\r\n finalValue = newSelections[0];\r\n }\r\n setField(\"charge_per_delegate_fee\", finalValue);\r\n }}\r\n validation={() => validateField(\"charge_per_delegate_fee\")}\r\n />\r\n <AnimatePresence>\r\n {formState.charge_per_delegate_fee === \"YES\" && (\r\n <motion.div\r\n initial={{ height: 0, opacity: 0, marginTop: 0 }}\r\n animate={{ height: 'auto', opacity: 1, marginTop: 12 }}\r\n exit={{ height: 0, opacity: 0, marginTop: 0 }}\r\n transition={{ duration: 0.3, ease: 'easeInOut' }}\r\n className=\"overflow-hidden\"\r\n >\r\n <FormInput\r\n label=\"Per member registration fee\"\r\n type=\"number\"\r\n placeholder=\"e.g. 300\"\r\n value={formState.per_member_fee?.toString() || \"\"}\r\n onChange={(e: any) => handleNumberChange(\"per_member_fee\", e.target.value)}\r\n onBlur={() => validateField(\"per_member_fee\")}\r\n error={errors.per_member_fee}\r\n suffix=\"PKR\"\r\n min={0}\r\n tooltip=\"An extra fee charged per individual member on top of the team registration fee.\"\r\n />\r\n </motion.div>\r\n )}\r\n </AnimatePresence>\r\n </div>\r\n\r\n <div data-name=\"team_capacity\">\r\n <FormInput\r\n label=\"Ticket capacity\"\r\n type=\"number\"\r\n placeholder=\"e.g. 100\"\r\n value={formState.team_capacity?.toString() || \"\"}\r\n onChange={(e: any) => handleNumberChange(\"team_capacity\", e.target.value)}\r\n onBlur={() => validateField(\"team_capacity\")}\r\n error={errors.team_capacity}\r\n min={1} required\r\n tooltip=\"Total number of participants allowed across all teams (e.g. 10 teams × 5 members = 50).\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\n\r\nexport default memo(CustomFormSection);\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import React__default, { memo, useMemo } from "react";
|
|
3
|
-
import { Copy, PencilIcon, Users, Ticket } from "lucide-react";
|
|
4
|
-
import { FaTrashAlt } from "react-icons/fa";
|
|
5
|
-
import TicketTierForm from "../TicketTierForm.js";
|
|
6
|
-
const TicketTierSection = ({
|
|
7
|
-
tiers,
|
|
8
|
-
ticketsError,
|
|
9
|
-
showInlineForm,
|
|
10
|
-
setShowInlineForm,
|
|
11
|
-
selectedTier,
|
|
12
|
-
setSelectedTier,
|
|
13
|
-
handleEditTier,
|
|
14
|
-
handleDuplicateTier,
|
|
15
|
-
setTierToDelete,
|
|
16
|
-
setShowDeleteModal,
|
|
17
|
-
formRef,
|
|
18
|
-
eventDateRange,
|
|
19
|
-
handleSaveTier,
|
|
20
|
-
setNavigationBlocked,
|
|
21
|
-
eventStart,
|
|
22
|
-
eventEnd,
|
|
23
|
-
registrationStart,
|
|
24
|
-
registrationEnd
|
|
25
|
-
}) => {
|
|
26
|
-
const existingTierNames = useMemo(() => {
|
|
27
|
-
return tiers.filter((t) => !selectedTier || t.id !== selectedTier.id).map((t) => t.name);
|
|
28
|
-
}, [tiers, selectedTier]);
|
|
29
|
-
React__default.useEffect(() => {
|
|
30
|
-
if (setNavigationBlocked) {
|
|
31
|
-
setNavigationBlocked(showInlineForm);
|
|
32
|
-
}
|
|
33
|
-
return () => {
|
|
34
|
-
if (setNavigationBlocked) {
|
|
35
|
-
setNavigationBlocked(false);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
}, [showInlineForm, setNavigationBlocked]);
|
|
39
|
-
return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
40
|
-
/* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center", children: [
|
|
41
|
-
/* @__PURE__ */ jsx("h3", { className: "font-semibold text-gray-800 text-base", children: "Ticket Tiers" }),
|
|
42
|
-
ticketsError && /* @__PURE__ */ jsx("span", { className: "text-sm text-error-500 font-medium", children: ticketsError })
|
|
43
|
-
] }),
|
|
44
|
-
tiers.length > 0 && /* @__PURE__ */ jsx("div", { className: "space-y-4", children: tiers.map((tier) => {
|
|
45
|
-
var _a, _b;
|
|
46
|
-
return /* @__PURE__ */ jsx(React__default.Fragment, { children: (selectedTier == null ? void 0 : selectedTier.id) === tier.id ? /* @__PURE__ */ jsxs("div", { ref: formRef, className: "bg-white input-border rounded-xl p-4 relative ring-4 ring-primaryx-50/20", children: [
|
|
47
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white px-3 py-1 rounded-full input-border shadow-sm text-xs font-medium text-primaryx-700 uppercase tracking-wider", children: "Edit Tier" }),
|
|
48
|
-
/* @__PURE__ */ jsx(
|
|
49
|
-
TicketTierForm,
|
|
50
|
-
{
|
|
51
|
-
initialData: selectedTier,
|
|
52
|
-
dateRange: eventDateRange,
|
|
53
|
-
onClose: () => {
|
|
54
|
-
setShowInlineForm(false);
|
|
55
|
-
setSelectedTier(null);
|
|
56
|
-
},
|
|
57
|
-
onSave: handleSaveTier,
|
|
58
|
-
eventStart,
|
|
59
|
-
eventEnd,
|
|
60
|
-
registrationStart,
|
|
61
|
-
registrationEnd,
|
|
62
|
-
existingTierNames
|
|
63
|
-
}
|
|
64
|
-
)
|
|
65
|
-
] }) : /* @__PURE__ */ jsxs("div", { className: "group relative bg-white border border-grey-200 rounded-lg px-4 py-4 hover:border-primaryx-200 hover:shadow-sm transition-all duration-200", children: [
|
|
66
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
|
|
67
|
-
/* @__PURE__ */ jsx("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center flex-wrap gap-2", children: [
|
|
68
|
-
/* @__PURE__ */ jsx("h4", { className: "text-sm font-semibold text-grey-900 truncate", children: tier.name }),
|
|
69
|
-
/* @__PURE__ */ jsxs("span", { className: "px-2 py-0.5 rounded-full bg-primaryx-50 text-xs font-bold text-primaryx-700", children: [
|
|
70
|
-
"Rs. ",
|
|
71
|
-
(_a = tier == null ? void 0 : tier.price) == null ? void 0 : _a.toLocaleString()
|
|
72
|
-
] }),
|
|
73
|
-
tier.has_discount && tier.discounted_price ? /* @__PURE__ */ jsxs("span", { className: "px-2 py-0.5 rounded-full bg-green-50 text-xs font-semibold text-green-700", children: [
|
|
74
|
-
"Discounted: Rs. ",
|
|
75
|
-
(_b = tier.discounted_price) == null ? void 0 : _b.toLocaleString()
|
|
76
|
-
] }) : null
|
|
77
|
-
] }) }),
|
|
78
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 shrink-0", children: [
|
|
79
|
-
/* @__PURE__ */ jsx(
|
|
80
|
-
"button",
|
|
81
|
-
{
|
|
82
|
-
type: "button",
|
|
83
|
-
onClick: (e) => {
|
|
84
|
-
e.stopPropagation();
|
|
85
|
-
handleDuplicateTier(tier);
|
|
86
|
-
},
|
|
87
|
-
className: "p-2 text-grey-400 hover:text-primaryx-600 hover:bg-primaryx-50 rounded-md transition-colors",
|
|
88
|
-
title: "Duplicate",
|
|
89
|
-
children: /* @__PURE__ */ jsx(Copy, { className: "w-4 h-4" })
|
|
90
|
-
}
|
|
91
|
-
),
|
|
92
|
-
/* @__PURE__ */ jsx("button", { type: "button", onClick: (e) => {
|
|
93
|
-
e.stopPropagation();
|
|
94
|
-
handleEditTier(tier);
|
|
95
|
-
}, className: "p-2 text-grey-400 hover:text-primaryx-600 hover:bg-primaryx-50 rounded-md transition-colors", children: /* @__PURE__ */ jsx(PencilIcon, { className: "w-4 h-4" }) }),
|
|
96
|
-
/* @__PURE__ */ jsx("button", { type: "button", onClick: (e) => {
|
|
97
|
-
e.stopPropagation();
|
|
98
|
-
setTierToDelete(tier);
|
|
99
|
-
setShowDeleteModal(true);
|
|
100
|
-
}, className: "p-2 text-grey-400 hover:text-error-600 hover:bg-error-50 rounded-md transition-colors", children: /* @__PURE__ */ jsx(FaTrashAlt, { className: "w-4 h-4" }) })
|
|
101
|
-
] })
|
|
102
|
-
] }),
|
|
103
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 text-xs text-grey-500", children: [
|
|
104
|
-
/* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
105
|
-
/* @__PURE__ */ jsx(Users, { className: "size-3.5" }),
|
|
106
|
-
tier.members,
|
|
107
|
-
" ",
|
|
108
|
-
tier.members === 1 ? "member" : "members",
|
|
109
|
-
" / ticket"
|
|
110
|
-
] }),
|
|
111
|
-
/* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
112
|
-
/* @__PURE__ */ jsx(Ticket, { className: "size-3.5" }),
|
|
113
|
-
tier.capacity,
|
|
114
|
-
" capacity"
|
|
115
|
-
] })
|
|
116
|
-
] }),
|
|
117
|
-
tier.description ? /* @__PURE__ */ jsx("p", { className: "text-xs text-grey-400 line-clamp-2 leading-relaxed", children: tier.description }) : null
|
|
118
|
-
] }) }, tier.id);
|
|
119
|
-
}) }),
|
|
120
|
-
tiers.length === 0 && !showInlineForm && /* @__PURE__ */ jsxs("div", { className: "text-center py-8 border-2 border-dashed border-grey-200 rounded-xl bg-white", "data-name": "ticket_tiers", children: [
|
|
121
|
-
/* @__PURE__ */ jsx("div", { className: "w-12 h-12 mx-auto bg-grey-100 rounded-full flex items-center justify-center mb-3", children: /* @__PURE__ */ jsx(Ticket, { className: "size-6 text-grey-400" }) }),
|
|
122
|
-
/* @__PURE__ */ jsx("h4", { className: "text-sm font-medium text-grey-900 mb-1", children: "No ticket tiers added" }),
|
|
123
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-grey-500 mb-4", children: "Create tiers to start selling tickets" }),
|
|
124
|
-
/* @__PURE__ */ jsxs("button", { type: "button", onClick: () => setShowInlineForm(true), className: "inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-primaryx-600 hover:bg-primaryx-700 rounded-lg transition-colors shadow-sm", children: [
|
|
125
|
-
/* @__PURE__ */ jsx("span", { className: "text-lg leading-none", children: "+" }),
|
|
126
|
-
"Add Ticket Tier"
|
|
127
|
-
] })
|
|
128
|
-
] }),
|
|
129
|
-
showInlineForm && !selectedTier ? /* @__PURE__ */ jsxs("div", { ref: formRef, className: "bg-white mt-4 input-border rounded-xl p-4 relative ring-4 ring-primaryx-50/20", children: [
|
|
130
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white px-3 py-1 rounded-full input-border shadow-sm text-xs font-medium text-primaryx-700 uppercase tracking-wider", children: "New Tier" }),
|
|
131
|
-
/* @__PURE__ */ jsx(TicketTierForm, { initialData: null, dateRange: eventDateRange, onClose: () => {
|
|
132
|
-
setShowInlineForm(false);
|
|
133
|
-
setSelectedTier(null);
|
|
134
|
-
}, onSave: handleSaveTier, eventStart, eventEnd, registrationStart, registrationEnd, existingTierNames })
|
|
135
|
-
] }) : !showInlineForm && tiers.length > 0 && /* @__PURE__ */ jsxs("button", { type: "button", onClick: () => {
|
|
136
|
-
setSelectedTier(null);
|
|
137
|
-
setShowInlineForm(true);
|
|
138
|
-
}, className: "w-full py-3 border-2 border-dashed border-grey-300 hover:border-primaryx-300 text-grey-500 hover:text-primaryx-600 hover:bg-primaryx-50/30 rounded-xl transition-all duration-200 flex items-center justify-center gap-2 font-medium text-sm", children: [
|
|
139
|
-
/* @__PURE__ */ jsx("span", { className: "text-lg", children: "+" }),
|
|
140
|
-
"Add Another Tier"
|
|
141
|
-
] })
|
|
142
|
-
] });
|
|
143
|
-
};
|
|
144
|
-
const TicketTierSection$1 = memo(TicketTierSection);
|
|
145
|
-
export {
|
|
146
|
-
TicketTierSection$1 as default
|
|
147
|
-
};
|
|
148
|
-
//# sourceMappingURL=TicketTierSection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TicketTierSection.js","sources":["../../../../../src/components/EventAddForm/components/StepTwo/TicketTierSection.tsx"],"sourcesContent":["import React, { memo, useMemo } from \"react\";\r\nimport { TicketTier } from \"@/types/types\";\r\nimport { Copy, PencilIcon, Ticket, Users } from \"lucide-react\";\r\nimport { FaTrashAlt } from \"react-icons/fa\";\r\nimport TicketTierForm from \"../TicketTierForm\";\r\n\r\ninterface TicketTierSectionProps {\r\n tiers: TicketTier[];\r\n ticketsError?: string;\r\n showInlineForm: boolean;\r\n setShowInlineForm: (show: boolean) => void;\r\n selectedTier: TicketTier | null;\r\n setSelectedTier: (tier: TicketTier | null) => void;\r\n handleEditTier: (tier: TicketTier) => void;\r\n handleDuplicateTier: (tier: TicketTier) => void;\r\n setTierToDelete: (tier: TicketTier | null) => void;\r\n setShowDeleteModal: (show: boolean) => void;\r\n formRef: React.RefObject<HTMLDivElement>;\r\n eventDateRange?: Date[];\r\n handleSaveTier: (tier: TicketTier) => void;\r\n setNavigationBlocked?: (blocked: boolean) => void;\r\n eventStart?: { date: string, time: string };\r\n eventEnd?: { date: string, time: string };\r\n registrationStart?: { date: string, time: string };\r\n registrationEnd?: { date: string, time: string };\r\n}\r\n\r\nconst TicketTierSection = ({\r\n tiers,\r\n ticketsError,\r\n showInlineForm,\r\n setShowInlineForm,\r\n selectedTier,\r\n setSelectedTier,\r\n handleEditTier,\r\n handleDuplicateTier,\r\n setTierToDelete,\r\n setShowDeleteModal,\r\n formRef,\r\n eventDateRange,\r\n handleSaveTier,\r\n setNavigationBlocked,\r\n eventStart,\r\n eventEnd,\r\n registrationStart,\r\n registrationEnd\r\n}: TicketTierSectionProps) => {\r\n\r\n // Memoized: only recalculates when tiers array changes, excludes the tier being edited\r\n const existingTierNames = useMemo(() => {\r\n return tiers\r\n .filter(t => !selectedTier || t.id !== selectedTier.id)\r\n .map(t => t.name);\r\n }, [tiers, selectedTier]);\r\n\r\n React.useEffect(() => {\r\n if (setNavigationBlocked) {\r\n setNavigationBlocked(showInlineForm);\r\n }\r\n return () => {\r\n if (setNavigationBlocked) {\r\n setNavigationBlocked(false);\r\n }\r\n };\r\n }, [showInlineForm, setNavigationBlocked]);\r\n\r\n return (\r\n <div className=\"space-y-4\">\r\n <div className=\"flex justify-between items-center\">\r\n <h3 className=\"font-semibold text-gray-800 text-base\">Ticket Tiers</h3>\r\n {ticketsError && <span className=\"text-sm text-error-500 font-medium\">{ticketsError}</span>}\r\n </div>\r\n {tiers.length > 0 && (\r\n <div className=\"space-y-4\">\r\n {tiers.map((tier) => (\r\n <React.Fragment key={tier.id}>\r\n {selectedTier?.id === tier.id ? (\r\n <div ref={formRef} className=\"bg-white input-border rounded-xl p-4 relative ring-4 ring-primaryx-50/20\">\r\n <div className=\"absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white px-3 py-1 rounded-full input-border shadow-sm text-xs font-medium text-primaryx-700 uppercase tracking-wider\">\r\n Edit Tier\r\n </div>\r\n <TicketTierForm\r\n initialData={selectedTier}\r\n dateRange={eventDateRange}\r\n onClose={() => { setShowInlineForm(false); setSelectedTier(null); }}\r\n onSave={handleSaveTier}\r\n eventStart={eventStart}\r\n eventEnd={eventEnd}\r\n registrationStart={registrationStart}\r\n registrationEnd={registrationEnd}\r\n existingTierNames={existingTierNames}\r\n />\r\n </div>\r\n ) : (\r\n <div className=\"group relative bg-white border border-grey-200 rounded-lg px-4 py-4 hover:border-primaryx-200 hover:shadow-sm transition-all duration-200\">\r\n {/* Top row: name + price badge + actions */}\r\n <div className=\"flex items-start gap-3\">\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center flex-wrap gap-2\">\r\n <h4 className=\"text-sm font-semibold text-grey-900 truncate\">{tier.name}</h4>\r\n <span className=\"px-2 py-0.5 rounded-full bg-primaryx-50 text-xs font-bold text-primaryx-700\">\r\n Rs. {tier?.price?.toLocaleString()}\r\n </span>\r\n {tier.has_discount && tier.discounted_price ? (\r\n <span className=\"px-2 py-0.5 rounded-full bg-green-50 text-xs font-semibold text-green-700\">\r\n Discounted: Rs. {tier.discounted_price?.toLocaleString()}\r\n </span>\r\n ) : null}\r\n </div>\r\n </div>\r\n <div className=\"flex items-center gap-1 shrink-0\">\r\n <button\r\n type=\"button\"\r\n onClick={(e) => { e.stopPropagation(); handleDuplicateTier(tier); }}\r\n className=\"p-2 text-grey-400 hover:text-primaryx-600 hover:bg-primaryx-50 rounded-md transition-colors\"\r\n title=\"Duplicate\"\r\n >\r\n <Copy className=\"w-4 h-4\" />\r\n </button>\r\n <button type=\"button\" onClick={(e) => { e.stopPropagation(); handleEditTier(tier); }} className=\"p-2 text-grey-400 hover:text-primaryx-600 hover:bg-primaryx-50 rounded-md transition-colors\"><PencilIcon className=\"w-4 h-4\" /></button>\r\n <button type=\"button\" onClick={(e) => { e.stopPropagation(); setTierToDelete(tier); setShowDeleteModal(true); }} className=\"p-2 text-grey-400 hover:text-error-600 hover:bg-error-50 rounded-md transition-colors\"><FaTrashAlt className=\"w-4 h-4\" /></button>\r\n </div>\r\n </div>\r\n\r\n {/* Meta row: members + capacity */}\r\n <div className=\"flex flex-col gap-2 text-xs text-grey-500\">\r\n <span className=\"inline-flex items-center gap-1.5\">\r\n <Users className=\"size-3.5\" />\r\n {tier.members} {tier.members === 1 ? 'member' : 'members'} / ticket\r\n </span>\r\n {/* <span className=\"text-grey-300\">•</span> */}\r\n <span className=\"inline-flex items-center gap-1.5\">\r\n <Ticket className=\"size-3.5\" />\r\n {tier.capacity} capacity\r\n </span>\r\n </div>\r\n\r\n {/* Description snippet */}\r\n {tier.description ? (\r\n <p className=\"text-xs text-grey-400 line-clamp-2 leading-relaxed\">\r\n {tier.description}\r\n </p>\r\n ) : null}\r\n </div>\r\n )}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n )}\r\n {tiers.length === 0 && !showInlineForm && (\r\n <div className=\"text-center py-8 border-2 border-dashed border-grey-200 rounded-xl bg-white\" data-name=\"ticket_tiers\">\r\n <div className=\"w-12 h-12 mx-auto bg-grey-100 rounded-full flex items-center justify-center mb-3\"><Ticket className=\"size-6 text-grey-400\" /></div>\r\n <h4 className=\"text-sm font-medium text-grey-900 mb-1\">No ticket tiers added</h4>\r\n <p className=\"text-xs text-grey-500 mb-4\">Create tiers to start selling tickets</p>\r\n <button type=\"button\" onClick={() => setShowInlineForm(true)} className=\"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-primaryx-600 hover:bg-primaryx-700 rounded-lg transition-colors shadow-sm\"><span className=\"text-lg leading-none\">+</span>Add Ticket Tier</button>\r\n </div>\r\n )}\r\n {showInlineForm && !selectedTier ? (\r\n <div ref={formRef} className=\"bg-white mt-4 input-border rounded-xl p-4 relative ring-4 ring-primaryx-50/20\">\r\n <div className=\"absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white px-3 py-1 rounded-full input-border shadow-sm text-xs font-medium text-primaryx-700 uppercase tracking-wider\">New Tier</div>\r\n <TicketTierForm initialData={null} dateRange={eventDateRange} onClose={() => { setShowInlineForm(false); setSelectedTier(null); }} onSave={handleSaveTier} eventStart={eventStart} eventEnd={eventEnd} registrationStart={registrationStart} registrationEnd={registrationEnd} existingTierNames={existingTierNames} />\r\n </div>\r\n ) : (\r\n !showInlineForm && tiers.length > 0 && (\r\n <button type=\"button\" onClick={() => { setSelectedTier(null); setShowInlineForm(true); }} className=\"w-full py-3 border-2 border-dashed border-grey-300 hover:border-primaryx-300 text-grey-500 hover:text-primaryx-600 hover:bg-primaryx-50/30 rounded-xl transition-all duration-200 flex items-center justify-center gap-2 font-medium text-sm\"><span className=\"text-lg\">+</span>Add Another Tier</button>\r\n )\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default memo(TicketTierSection);\r\n"],"names":["React"],"mappings":"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"}
|