s-platform-landing-section 0.1.10-alpha.10 → 0.1.10-alpha.12

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.js CHANGED
@@ -7350,13 +7350,18 @@ var Input = React.forwardRef(function (props, ref) {
7350
7350
  _props$min = props.min,
7351
7351
  min = _props$min === void 0 ? 0 : _props$min,
7352
7352
  _props$max = props.max,
7353
- max = _props$max === void 0 ? null : _props$max;
7353
+ max = _props$max === void 0 ? null : _props$max,
7354
+ _props$isHidden = props.isHidden,
7355
+ isHidden = _props$isHidden === void 0 ? false : _props$isHidden;
7354
7356
  var _useState = React.useState(defaultValue),
7355
7357
  value = _useState[0],
7356
7358
  _setValue = _useState[1];
7357
7359
  var _useState2 = React.useState(""),
7358
7360
  error = _useState2[0],
7359
7361
  _setError = _useState2[1];
7362
+ var _useState3 = React.useState(type),
7363
+ typeInput = _useState3[0],
7364
+ setTypeInput = _useState3[1];
7360
7365
  var refInput = React.useRef();
7361
7366
  React.useImperativeHandle(ref, function () {
7362
7367
  return {
@@ -7387,6 +7392,10 @@ var Input = React.forwardRef(function (props, ref) {
7387
7392
  _setError(e === null || e === void 0 ? void 0 : e.message);
7388
7393
  count++;
7389
7394
  break;
7395
+ } else if ((e === null || e === void 0 ? void 0 : e.type) === "validate" && !(e !== null && e !== void 0 && e.validate)) {
7396
+ _setError(e === null || e === void 0 ? void 0 : e.message);
7397
+ count++;
7398
+ break;
7390
7399
  }
7391
7400
  }
7392
7401
  if (count) {
@@ -7411,8 +7420,13 @@ var Input = React.forwardRef(function (props, ref) {
7411
7420
  onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
7412
7421
  }
7413
7422
  };
7423
+ var changeHidden = function changeHidden() {
7424
+ if (typeInput === "text") setTypeInput("password");else {
7425
+ setTypeInput("text");
7426
+ }
7427
+ };
7414
7428
  var _className = "h-10 py-1 px-2 border border-stroke rounded " + className;
7415
- var _inputClassName = (isQuantity ? "text-center w-12" : "") + " " + inputClassName + " focus:outline-none focus:ring-0";
7429
+ var _inputClassName = (isQuantity ? "text-center w-12" : "") + " focus:outline-none focus:ring-0 " + inputClassName;
7416
7430
  var required = !!(rules !== null && rules !== void 0 && rules.find(function (e) {
7417
7431
  return (e === null || e === void 0 ? void 0 : e.type) === "required";
7418
7432
  }));
@@ -7430,7 +7444,7 @@ var Input = React.forwardRef(function (props, ref) {
7430
7444
  return changeQuantity(-1);
7431
7445
  }
7432
7446
  }, /*#__PURE__*/React__default.createElement(fa6.FaMinus, null)) : null, /*#__PURE__*/React__default.createElement("input", {
7433
- type: type,
7447
+ type: typeInput,
7434
7448
  name: name,
7435
7449
  value: value,
7436
7450
  placeholder: placeholder,
@@ -7438,7 +7452,13 @@ var Input = React.forwardRef(function (props, ref) {
7438
7452
  required: required,
7439
7453
  className: _inputClassName,
7440
7454
  ref: refInput
7441
- }), isQuantity ? /*#__PURE__*/React__default.createElement("button", {
7455
+ }), isHidden ? /*#__PURE__*/React__default.createElement("button", {
7456
+ onClick: function onClick() {
7457
+ changeHidden();
7458
+ }
7459
+ }, /*#__PURE__*/React__default.createElement(fa6.FaRegEyeSlash, {
7460
+ className: "font-semibold"
7461
+ })) : null, isQuantity ? /*#__PURE__*/React__default.createElement("button", {
7442
7462
  onClick: function onClick() {
7443
7463
  return changeQuantity(1);
7444
7464
  }
@@ -7456,14 +7476,18 @@ var Select = React.forwardRef(function (props, ref) {
7456
7476
  placeholder = _props$placeholder === void 0 ? "" : _props$placeholder,
7457
7477
  _props$className = props.className,
7458
7478
  className = _props$className === void 0 ? "" : _props$className,
7479
+ _props$optionClassNam = props.optionClassName,
7480
+ optionClassName = _props$optionClassNam === void 0 ? "" : _props$optionClassNam,
7481
+ _props$wrapClassName = props.wrapClassName,
7482
+ wrapClassName = _props$wrapClassName === void 0 ? "" : _props$wrapClassName,
7483
+ _props$selectClassNam = props.selectClassName,
7484
+ selectClassName = _props$selectClassNam === void 0 ? "" : _props$selectClassNam,
7459
7485
  _props$rules = props.rules,
7460
7486
  rules = _props$rules === void 0 ? [] : _props$rules,
7461
7487
  options = props.options,
7462
7488
  _props$defaultValue = props.defaultValue,
7463
7489
  defaultValue = _props$defaultValue === void 0 ? {} : _props$defaultValue,
7464
7490
  handleSearchOption = props.handleSearchOption,
7465
- _props$wrapClassName = props.wrapClassName,
7466
- wrapClassName = _props$wrapClassName === void 0 ? "" : _props$wrapClassName,
7467
7491
  _props$isMulti = props.isMulti,
7468
7492
  isMulti = _props$isMulti === void 0 ? false : _props$isMulti,
7469
7493
  _props$onClick = props.onClick,
@@ -7473,7 +7497,8 @@ var Select = React.forwardRef(function (props, ref) {
7473
7497
  _props$funcDelete = props.funcDelete,
7474
7498
  funcDelete = _props$funcDelete === void 0 ? function () {} : _props$funcDelete,
7475
7499
  _props$isSearch = props.isSearch,
7476
- isSearch = _props$isSearch === void 0 ? true : _props$isSearch;
7500
+ isSearch = _props$isSearch === void 0 ? true : _props$isSearch,
7501
+ renderItem = props.renderItem;
7477
7502
  var _useState = React.useState(false),
7478
7503
  isOpen = _useState[0],
7479
7504
  setIsOpen = _useState[1];
@@ -7495,21 +7520,12 @@ var Select = React.forwardRef(function (props, ref) {
7495
7520
  dropdownPosition = _useState6[0],
7496
7521
  setDropdownPosition = _useState6[1];
7497
7522
  var inputRef = React.useRef(null);
7498
- React.useEffect(function () {
7499
- if (isMulti) return;else {
7500
- setIsOpen(false);
7501
- setInputSearch("");
7502
- setListOptions(options);
7503
- }
7504
- }, [value]);
7505
7523
  React.useEffect(function () {
7506
7524
  if (isMulti) setValue(defaultValue);
7507
7525
  }, [defaultValue]);
7508
7526
  React.useEffect(function () {
7509
7527
  setListOptions(options);
7510
- if (!isMulti) {
7511
- setValue({});
7512
- }
7528
+ if (!isMulti) setValue(defaultValue);
7513
7529
  }, [options]);
7514
7530
  React.useEffect(function () {
7515
7531
  var _inputRef$current;
@@ -7615,7 +7631,10 @@ var Select = React.forwardRef(function (props, ref) {
7615
7631
  return (value === null || value === void 0 ? void 0 : value.value) == valueId;
7616
7632
  };
7617
7633
  var handleSelection = function handleSelection(item) {
7618
- if (isMulti === false) setValue(item);
7634
+ if (!isMulti) {
7635
+ setValue(item);
7636
+ setIsOpen(false);
7637
+ }
7619
7638
  onClick === null || onClick === void 0 ? void 0 : onClick(item);
7620
7639
  };
7621
7640
  var handleDeleteSelection = function handleDeleteSelection(e, item) {
@@ -7631,21 +7650,24 @@ var Select = React.forwardRef(function (props, ref) {
7631
7650
  }, " *") : null;
7632
7651
  return /*#__PURE__*/React__default.createElement("div", {
7633
7652
  ref: selectRef,
7634
- className: wrapClassName + " relative "
7653
+ className: "relative " + wrapClassName
7635
7654
  }, label ? /*#__PURE__*/React__default.createElement("div", {
7636
- className: labelClassName + " mb-1"
7655
+ className: "mb-1 " + labelClassName
7637
7656
  }, label, " ", labelRequired) : null, /*#__PURE__*/React__default.createElement("div", {
7638
- className: className + " flex flex-col gap-2 rounded-lg"
7657
+ className: "flex flex-col gap-2 rounded-lg w-full border " + className
7639
7658
  }, /*#__PURE__*/React__default.createElement("button", {
7640
- className: "w-full h-10 bg-transparent flex justify-between items-center px-3 py-2",
7659
+ className: "w-full h-10 bg-transparent flex justify-between items-center px-3 py-2 " + selectClassName,
7641
7660
  onClick: handleToggleSelect
7642
7661
  }, /*#__PURE__*/React__default.createElement("div", {
7643
7662
  className: "flex justify-between items-center w-full"
7644
7663
  }, isEmpty(value) || isMulti ? /*#__PURE__*/React__default.createElement("div", {
7645
7664
  className: "text-gray3 line-clamp-1"
7646
7665
  }, placeholder) : /*#__PURE__*/React__default.createElement("div", {
7647
- className: "line-clamp-1"
7648
- }, value === null || value === void 0 ? void 0 : value.label), isButtonDelete && !isEmpty(value) ? /*#__PURE__*/React__default.createElement("div", {
7666
+ className: "w-full text-start pointer-events-none",
7667
+ dangerouslySetInnerHTML: {
7668
+ __html: value === null || value === void 0 ? void 0 : value.label
7669
+ }
7670
+ }), isButtonDelete && !isEmpty(value) ? /*#__PURE__*/React__default.createElement("div", {
7649
7671
  onClick: function onClick(e) {
7650
7672
  handleDeleteSelection(e, value);
7651
7673
  }
@@ -7660,7 +7682,7 @@ var Select = React.forwardRef(function (props, ref) {
7660
7682
  style: {
7661
7683
  background: "#FFFFFF"
7662
7684
  },
7663
- className: className + " overflow-y-auto max-h-72 absolute p-1 my-2 rounded-2xl w-full z-50 border " + (dropdownPosition === 'top' ? 'bottom-full mb-2' : 'top-full mt-2')
7685
+ className: "overflow-y-auto max-h-72 absolute p-1 my-2 rounded-2xl w-full z-50 border " + (dropdownPosition === 'top' ? 'bottom-full mb-2' : 'top-full mt-2') + " " + optionClassName
7664
7686
  }, /*#__PURE__*/React__default.createElement("div", null, isSearch ? /*#__PURE__*/React__default.createElement("div", {
7665
7687
  className: "px-3 flex items-center border-b-[1px]"
7666
7688
  }, /*#__PURE__*/React__default.createElement(lu.LuSearch, {
@@ -7683,7 +7705,7 @@ var Select = React.forwardRef(function (props, ref) {
7683
7705
  }
7684
7706
  }, /*#__PURE__*/React__default.createElement(io.IoMdCheckmark, {
7685
7707
  className: (checkSelection(item === null || item === void 0 ? void 0 : item.value) ? "" : 'invisible') + " inline me-2 w-4"
7686
- }), /*#__PURE__*/React__default.createElement("div", {
7708
+ }), renderItem ? renderItem(item) : /*#__PURE__*/React__default.createElement("div", {
7687
7709
  className: " whitespace-nowrap line-clamp-1"
7688
7710
  }, item === null || item === void 0 ? void 0 : item.label));
7689
7711
  }) : /*#__PURE__*/React__default.createElement("div", {
@@ -7699,6 +7721,8 @@ var DateTimePicker = React.forwardRef(function (props, ref) {
7699
7721
  label = _props$label === void 0 ? "" : _props$label,
7700
7722
  _props$className = props.className,
7701
7723
  className = _props$className === void 0 ? "" : _props$className,
7724
+ _props$labelClassName = props.labelClassName,
7725
+ labelClassName = _props$labelClassName === void 0 ? "" : _props$labelClassName,
7702
7726
  _props$defaultValue = props.defaultValue,
7703
7727
  defaultValue = _props$defaultValue === void 0 ? new Date() : _props$defaultValue,
7704
7728
  rules = props.rules;
@@ -7765,7 +7789,7 @@ var DateTimePicker = React.forwardRef(function (props, ref) {
7765
7789
  return /*#__PURE__*/React__default.createElement("div", {
7766
7790
  className: "w-full"
7767
7791
  }, label ? /*#__PURE__*/React__default.createElement("div", {
7768
- className: "mb-1"
7792
+ className: "mb-1 " + labelClassName
7769
7793
  }, label, labelRequired) : null, /*#__PURE__*/React__default.createElement(DatePicker, {
7770
7794
  selected: value,
7771
7795
  onChange: function onChange(date) {
@@ -7798,12 +7822,22 @@ var InputPhoneNumber = React.forwardRef(function (props, ref) {
7798
7822
  rules = _props$rules === void 0 ? [] : _props$rules,
7799
7823
  _props$wrapClassName = props.wrapClassName,
7800
7824
  wrapClassName = _props$wrapClassName === void 0 ? "" : _props$wrapClassName,
7801
- inputClassName = props.inputClassName;
7802
- var _useState = React.useState(defaultValue),
7825
+ _props$inputClassName = props.inputClassName,
7826
+ inputClassName = _props$inputClassName === void 0 ? "" : _props$inputClassName,
7827
+ _props$labelClassName = props.labelClassName,
7828
+ labelClassName = _props$labelClassName === void 0 ? "" : _props$labelClassName,
7829
+ _props$options = props.options,
7830
+ options = _props$options === void 0 ? [{
7831
+ label: "<svg width=\"20\" height=\"20\" viewBox=\"0 0 36 36\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-hidden=\"true\" role=\"img\" class=\"iconify iconify--twemoji\" preserveAspectRatio=\"xMidYMid meet\"><path fill=\"#DA251D\" d=\"M32 5H4a4 4 0 0 0-4 4v18a4 4 0 0 0 4 4h28a4 4 0 0 0 4-4V9a4 4 0 0 0-4-4z\"></path><path fill=\"#FF0\" d=\"M19.753 16.037L18 10.642l-1.753 5.395h-5.672l4.589 3.333l-1.753 5.395L18 21.431l4.589 3.334l-1.753-5.395l4.589-3.333z\"></path></svg>",
7832
+ country: "Việt Nam",
7833
+ value: "+84"
7834
+ }] : _props$options;
7835
+ var _useState = React.useState(""),
7803
7836
  value = _useState[0],
7804
7837
  _setValue = _useState[1];
7805
7838
  var _useState2 = React.useState({
7806
- label: "+84",
7839
+ label: "<svg width=\"20\" height=\"20\" viewBox=\"0 0 36 36\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-hidden=\"true\" role=\"img\" class=\"iconify iconify--twemoji\" preserveAspectRatio=\"xMidYMid meet\"><path fill=\"#DA251D\" d=\"M32 5H4a4 4 0 0 0-4 4v18a4 4 0 0 0 4 4h28a4 4 0 0 0 4-4V9a4 4 0 0 0-4-4z\"></path><path fill=\"#FF0\" d=\"M19.753 16.037L18 10.642l-1.753 5.395h-5.672l4.589 3.333l-1.753 5.395L18 21.431l4.589 3.334l-1.753-5.395l4.589-3.333z\"></path></svg>",
7840
+ country: "Việt Nam",
7807
7841
  value: "+84"
7808
7842
  }),
7809
7843
  countryCode = _useState2[0],
@@ -7811,6 +7845,11 @@ var InputPhoneNumber = React.forwardRef(function (props, ref) {
7811
7845
  var _useState3 = React.useState(""),
7812
7846
  error = _useState3[0],
7813
7847
  _setError = _useState3[1];
7848
+ React.useEffect(function () {
7849
+ if (defaultValue) {
7850
+ _setValue("+" + defaultValue);
7851
+ }
7852
+ }, []);
7814
7853
  var handleOnChange = function handleOnChange(event) {
7815
7854
  var value = event.target.value;
7816
7855
  _setValue(value);
@@ -7825,8 +7864,10 @@ var InputPhoneNumber = React.forwardRef(function (props, ref) {
7825
7864
  return _setValue(text);
7826
7865
  },
7827
7866
  getValue: function getValue() {
7828
- var phoneNumber = (countryCode === null || countryCode === void 0 ? void 0 : countryCode.value) + (value === null || value === void 0 ? void 0 : value.slice(1));
7829
- return phoneNumber;
7867
+ if (!(value !== null && value !== void 0 && value.startsWith(countryCode === null || countryCode === void 0 ? void 0 : countryCode.value))) {
7868
+ return (countryCode === null || countryCode === void 0 ? void 0 : countryCode.value) + (value === null || value === void 0 ? void 0 : value.replace(/^0/, ''));
7869
+ }
7870
+ return value;
7830
7871
  },
7831
7872
  setError: function setError(err) {
7832
7873
  return _setError(err);
@@ -7861,25 +7902,37 @@ var InputPhoneNumber = React.forwardRef(function (props, ref) {
7861
7902
  var labelRequired = required ? /*#__PURE__*/React__default.createElement("span", {
7862
7903
  className: "text-danger"
7863
7904
  }, " *") : null;
7864
- var _inputClassName = "h-10 px-2 focus:outline-none focus:ring-0 " + inputClassName;
7865
- var data = React.useCallback([{
7866
- label: "+84",
7867
- value: "+84"
7868
- }], []);
7905
+ var _inputClassName = "h-full w-full px-2 focus:outline-none focus:ring-0 " + inputClassName;
7869
7906
  return /*#__PURE__*/React__default.createElement("div", {
7870
- className: wrapClassName + " flex flex-col"
7907
+ className: "flex flex-col " + wrapClassName
7871
7908
  }, label ? /*#__PURE__*/React__default.createElement("label", {
7872
- className: "mb-1"
7909
+ className: "mb-1 " + labelClassName
7873
7910
  }, label, labelRequired) : null, /*#__PURE__*/React__default.createElement("div", {
7874
- className: "flex items-center h-10 rounded-lg px-2 py-1 " + className
7911
+ className: "flex items-center h-10 rounded-lg border pr-2 py-1 " + className
7875
7912
  }, /*#__PURE__*/React__default.createElement("button", {
7876
- className: "flex items-center border-r-2"
7913
+ className: "border-r-2"
7877
7914
  }, /*#__PURE__*/React__default.createElement(Select$1, {
7878
- className: 'w-max',
7915
+ className: 'w-max border-0',
7879
7916
  defaultValue: countryCode,
7880
- options: data,
7917
+ options: options,
7918
+ optionClassName: "w-max",
7881
7919
  placeholder: "+84",
7882
- onClick: setCountryCode
7920
+ onClick: setCountryCode,
7921
+ selectClassName: "ps-2 pr-1",
7922
+ renderItem: function renderItem(item) {
7923
+ return /*#__PURE__*/React__default.createElement("div", {
7924
+ className: "flex gap-3 items-center w-full"
7925
+ }, /*#__PURE__*/React__default.createElement("div", {
7926
+ dangerouslySetInnerHTML: {
7927
+ __html: item === null || item === void 0 ? void 0 : item.label
7928
+ }
7929
+ }), /*#__PURE__*/React__default.createElement("div", {
7930
+ className: "text-start flex-1 text-sm"
7931
+ }, item === null || item === void 0 ? void 0 : item.country), /*#__PURE__*/React__default.createElement("div", {
7932
+ className: "text-gray3"
7933
+ }, item === null || item === void 0 ? void 0 : item.value));
7934
+ },
7935
+ wrapClassName: "w-full"
7883
7936
  })), /*#__PURE__*/React__default.createElement("input", {
7884
7937
  type: type,
7885
7938
  name: name,
@@ -7902,7 +7955,7 @@ var formatCurrency = function formatCurrency(amount) {
7902
7955
  return formattedAmount + " \u20AB";
7903
7956
  };
7904
7957
  var pattern = {
7905
- phoneNumberPattern: /^0[0-9]{9}$/
7958
+ phoneNumberPattern: /^(?:\+84|0)\d{9}$/
7906
7959
  };
7907
7960
  var numberPattern = /^\d+$/;
7908
7961
 
@@ -8126,8 +8179,7 @@ var BookingForm = function BookingForm(props) {
8126
8179
  pattern: pattern === null || pattern === void 0 ? void 0 : pattern.phoneNumberPattern,
8127
8180
  message: "Số điện thoại không hợp lệ!"
8128
8181
  }],
8129
- className: "w-full rounded-lg rounded-lg bg-bgSecondary",
8130
- inputClassName: "w-full"
8182
+ className: "bg-bgSecondary"
8131
8183
  })), /*#__PURE__*/React__default.createElement("div", {
8132
8184
  className: "grid grid-cols-1 gap-4"
8133
8185
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -8138,7 +8190,7 @@ var BookingForm = function BookingForm(props) {
8138
8190
  defaultValue: listProductSelected,
8139
8191
  onClick: handleSelectedProduct,
8140
8192
  handleSearchOption: handleSearchProducts,
8141
- className: "bg-bgSecondary rounded-lg",
8193
+ className: "bg-bgSecondary",
8142
8194
  rules: [{
8143
8195
  type: "required",
8144
8196
  message: "Bắt buộc chọn dịch vụ"
@@ -9358,9 +9410,9 @@ var ProductDetail10 = function ProductDetail10(props) {
9358
9410
  }
9359
9411
  }, [product]);
9360
9412
  var initVariant = function initVariant() {
9361
- var _product$variants;
9413
+ var _product$variants, _variant$index;
9362
9414
  var variant = product === null || product === void 0 ? void 0 : (_product$variants = product.variants) === null || _product$variants === void 0 ? void 0 : _product$variants[0];
9363
- var indexOptions = variant.index.split(",");
9415
+ var indexOptions = variant === null || variant === void 0 ? void 0 : (_variant$index = variant.index) === null || _variant$index === void 0 ? void 0 : _variant$index.split(",");
9364
9416
  setVariant(variant);
9365
9417
  var options = (product === null || product === void 0 ? void 0 : product.optionValues) || [];
9366
9418
  options = options.map(function (e, i) {
@@ -10269,6 +10321,8 @@ var TextArea = React.forwardRef(function (props, ref) {
10269
10321
  className = _props$className === void 0 ? "" : _props$className,
10270
10322
  _props$defaultValue = props.defaultValue,
10271
10323
  defaultValue = _props$defaultValue === void 0 ? "" : _props$defaultValue,
10324
+ _props$labelClassName = props.labelClassName,
10325
+ labelClassName = _props$labelClassName === void 0 ? "" : _props$labelClassName,
10272
10326
  _props$onChange = props.onChange,
10273
10327
  onChange = _props$onChange === void 0 ? function () {} : _props$onChange;
10274
10328
  var _useState = React.useState(defaultValue),
@@ -10329,11 +10383,11 @@ var TextArea = React.forwardRef(function (props, ref) {
10329
10383
  return /*#__PURE__*/React__default.createElement("div", {
10330
10384
  className: "" + className
10331
10385
  }, label ? /*#__PURE__*/React__default.createElement("div", {
10332
- className: "mb-1"
10386
+ className: "mb-1 " + labelClassName
10333
10387
  }, label, labelRequired) : null, /*#__PURE__*/React__default.createElement("textarea", {
10334
10388
  name: "",
10335
10389
  id: "",
10336
- className: textareaClassName + " focus:outline-none focus:ring-0",
10390
+ className: "focus:outline-none focus:ring-0 " + textareaClassName,
10337
10391
  placeholder: placeholder,
10338
10392
  value: value,
10339
10393
  onChange: function onChange(e) {
@@ -10978,6 +11032,7 @@ exports.Button = Button;
10978
11032
  exports.Carts1 = Carts1;
10979
11033
  exports.Contact1 = Contact1;
10980
11034
  exports.CustomerRating10 = CustomerRating10;
11035
+ exports.DateTimePicker = DateTimePicker;
10981
11036
  exports.Employees1 = Employees1;
10982
11037
  exports.Features1 = Features1;
10983
11038
  exports.Features2 = Features2;