@asdp/ferryui 0.1.22-dev.8663 → 0.1.22-dev.8694

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/index.mjs CHANGED
@@ -2027,7 +2027,7 @@ var useStyles7 = makeStyles({
2027
2027
  display: "none"
2028
2028
  },
2029
2029
  "& .fui-Radio__label": {
2030
- padding: "10px 24px",
2030
+ padding: "5px 10px",
2031
2031
  border: `1px solid ${tokens.colorNeutralStroke1}`,
2032
2032
  borderRadius: tokens.borderRadiusCircular,
2033
2033
  cursor: "pointer",
@@ -7819,6 +7819,8 @@ var DEFAULT_LABELS22 = {
7819
7819
  ticketClassLabel: "Kelas penumpang",
7820
7820
  saveButton: "Simpan",
7821
7821
  cancelButton: "Batal",
7822
+ idTypeOtherLabel: "Tanggal lahir",
7823
+ idTypeOtherPlaceholder: "DD/MM/YYYY",
7822
7824
  errors: {
7823
7825
  requiredTitle: "Title harus dipilih",
7824
7826
  requiredName: "Nama lengkap harus diisi",
@@ -7852,6 +7854,8 @@ var DEFAULT_LABELS22 = {
7852
7854
  ticketClassLabel: "Passenger Class",
7853
7855
  saveButton: "Save",
7854
7856
  cancelButton: "Cancel",
7857
+ idTypeOtherLabel: "Date of Birth",
7858
+ idTypeOtherPlaceholder: "DD/MM/YYYY",
7855
7859
  errors: {
7856
7860
  requiredTitle: "Title is required",
7857
7861
  requiredName: "Full name is required",
@@ -7867,6 +7871,24 @@ var DEFAULT_LABELS22 = {
7867
7871
  }
7868
7872
  }
7869
7873
  };
7874
+ var TYPE_OPTIONS = [
7875
+ {
7876
+ label: "KTP",
7877
+ value: "ktp"
7878
+ },
7879
+ {
7880
+ label: "SIM",
7881
+ value: "sim"
7882
+ },
7883
+ {
7884
+ label: "Paspor",
7885
+ value: "paspor"
7886
+ },
7887
+ {
7888
+ label: "Lainnya",
7889
+ value: "lainnya"
7890
+ }
7891
+ ];
7870
7892
  var useStyles22 = makeStyles({
7871
7893
  dialogSurface: {
7872
7894
  maxWidth: "600px",
@@ -7895,7 +7917,6 @@ var ModalPassengerForm = ({
7895
7917
  defaultValues,
7896
7918
  isAdultForm = true,
7897
7919
  titleOptions,
7898
- idTypeOptions,
7899
7920
  cityOptions,
7900
7921
  ticketClassOptions
7901
7922
  }) => {
@@ -7906,12 +7927,18 @@ var ModalPassengerForm = ({
7906
7927
  ...labels?.errors
7907
7928
  };
7908
7929
  const displayTitle = title || mergedLabels.title;
7909
- const { control, handleSubmit, reset } = useForm({
7930
+ const { control, handleSubmit, reset, watch, setValue } = useForm({
7910
7931
  defaultValues
7911
7932
  });
7933
+ const idType = watch("idType");
7912
7934
  useEffect(() => {
7913
7935
  reset(defaultValues);
7914
7936
  }, [defaultValues, reset]);
7937
+ useEffect(() => {
7938
+ if (idType) {
7939
+ setValue("idNumber", "");
7940
+ }
7941
+ }, [idType, setValue]);
7915
7942
  const handleFormSubmit = (data) => {
7916
7943
  onSubmit(data);
7917
7944
  reset();
@@ -7967,6 +7994,45 @@ var ModalPassengerForm = ({
7967
7994
  }
7968
7995
  }
7969
7996
  ),
7997
+ /* @__PURE__ */ jsx(
7998
+ InputDynamic_default,
7999
+ {
8000
+ name: "age",
8001
+ control,
8002
+ type: "number",
8003
+ label: mergedLabels.ageLabel,
8004
+ placeholder: mergedLabels.agePlaceholder,
8005
+ size: "large",
8006
+ required: true,
8007
+ validationRules: {
8008
+ required: mergedErrors.requiredAge,
8009
+ min: {
8010
+ value: 1,
8011
+ message: mergedErrors.minAge
8012
+ },
8013
+ max: {
8014
+ value: 150,
8015
+ message: mergedErrors.maxAge
8016
+ }
8017
+ }
8018
+ }
8019
+ ),
8020
+ /* @__PURE__ */ jsx(
8021
+ InputDynamic_default,
8022
+ {
8023
+ name: "cityId",
8024
+ control,
8025
+ type: "select",
8026
+ label: mergedLabels.cityLabel,
8027
+ options: cityOptions,
8028
+ placeholder: mergedLabels.cityPlaceholder,
8029
+ size: "large",
8030
+ required: true,
8031
+ validationRules: {
8032
+ required: mergedErrors.requiredCity
8033
+ }
8034
+ }
8035
+ ),
7970
8036
  isAdultForm ? /* @__PURE__ */ jsxs(Fragment, { children: [
7971
8037
  /* @__PURE__ */ jsx(
7972
8038
  InputDynamic_default,
@@ -7976,7 +8042,7 @@ var ModalPassengerForm = ({
7976
8042
  type: "select",
7977
8043
  label: mergedLabels.idTypeLabel,
7978
8044
  placeholder: mergedLabels.idTypePlaceholder,
7979
- options: idTypeOptions,
8045
+ options: TYPE_OPTIONS,
7980
8046
  size: "large",
7981
8047
  required: true,
7982
8048
  validationRules: {
@@ -7984,48 +8050,40 @@ var ModalPassengerForm = ({
7984
8050
  }
7985
8051
  }
7986
8052
  ),
7987
- /* @__PURE__ */ jsx(
8053
+ idType ? idType === "lainnya" ? /* @__PURE__ */ jsx(
7988
8054
  InputDynamic_default,
7989
8055
  {
7990
8056
  name: "idNumber",
7991
8057
  control,
7992
- type: "text",
7993
- label: mergedLabels.idNumberLabel,
7994
- placeholder: mergedLabels.idNumberPlaceholder,
8058
+ type: "date",
8059
+ label: mergedLabels.idTypeOtherLabel,
8060
+ placeholder: mergedLabels.idTypeOtherPlaceholder,
7995
8061
  size: "large",
7996
8062
  required: true,
8063
+ max: (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
7997
8064
  validationRules: {
7998
- required: mergedErrors.requiredIdNumber,
7999
- minLength: {
8000
- value: 6,
8001
- message: mergedErrors.minLengthIdNumber
8002
- }
8065
+ required: mergedErrors.requiredDate
8003
8066
  }
8004
8067
  }
8005
- ),
8006
- /* @__PURE__ */ jsx(
8068
+ ) : /* @__PURE__ */ jsx(
8007
8069
  InputDynamic_default,
8008
8070
  {
8009
- name: "age",
8071
+ name: "idNumber",
8010
8072
  control,
8011
- type: "number",
8012
- label: mergedLabels.ageLabel,
8013
- placeholder: mergedLabels.agePlaceholder,
8073
+ type: idType === "ktp" ? "number" : "text",
8074
+ label: mergedLabels.idNumberLabel,
8075
+ placeholder: mergedLabels.idNumberPlaceholder,
8014
8076
  size: "large",
8015
8077
  required: true,
8016
8078
  validationRules: {
8017
- required: mergedErrors.requiredAge,
8018
- min: {
8019
- value: 1,
8020
- message: mergedErrors.minAge
8021
- },
8022
- max: {
8023
- value: 150,
8024
- message: mergedErrors.maxAge
8079
+ required: mergedErrors.requiredIdNumber,
8080
+ minLength: {
8081
+ value: 6,
8082
+ message: mergedErrors.minLengthIdNumber
8025
8083
  }
8026
8084
  }
8027
8085
  }
8028
- )
8086
+ ) : null
8029
8087
  ] }) : /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
8030
8088
  InputDynamic_default,
8031
8089
  {
@@ -8041,22 +8099,6 @@ var ModalPassengerForm = ({
8041
8099
  }
8042
8100
  }
8043
8101
  ) }),
8044
- /* @__PURE__ */ jsx(
8045
- InputDynamic_default,
8046
- {
8047
- name: "cityId",
8048
- control,
8049
- type: "select",
8050
- label: mergedLabels.cityLabel,
8051
- options: cityOptions,
8052
- placeholder: mergedLabels.cityPlaceholder,
8053
- size: "large",
8054
- required: true,
8055
- validationRules: {
8056
- required: mergedErrors.requiredCity
8057
- }
8058
- }
8059
- ),
8060
8102
  /* @__PURE__ */ jsx("br", {}),
8061
8103
  /* @__PURE__ */ jsx(Divider, {}),
8062
8104
  /* @__PURE__ */ jsx("br", {}),