@wix/form-public 0.523.0 → 0.525.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/dist/index.js CHANGED
@@ -54083,6 +54083,7 @@ var NonModalPopover = /* @__PURE__ */ forwardRef((props2, forwardedRef) => {
54083
54083
  shouldCloseOnInteractOutside: isOutsideTrigger
54084
54084
  }));
54085
54085
  });
54086
+ var EMPTY_SELECT_PLACEHOLDER = "\u200B";
54086
54087
  var SelectTriggerButton = /* @__PURE__ */ forwardRef((props2, ref) => {
54087
54088
  const overlayState = useContext(OverlayTriggerStateContext);
54088
54089
  const handlePressStart = (event) => {
@@ -54145,17 +54146,16 @@ var hasDropdown = (field, isMobile2) => {
54145
54146
  }
54146
54147
  return DROPDOWN_FIELD_TYPES.includes(field.fieldType);
54147
54148
  };
54148
- var isOpenableDropdown = (field, isMobile2) => hasDropdown(field, isMobile2) && !field.properties.hidden && !field.properties.disabled && !field.properties.readOnly;
54149
- var byLayoutPosition = (first2, second) => first2.layout.row - second.layout.row || first2.layout.column - second.layout.column;
54149
+ var isOpenableDropdown = (field, isMobile2) => hasDropdown(field, isMobile2) && !field.properties.disabled && !field.properties.readOnly;
54150
54150
  var useIsForcedOpenDropdown = (fieldId) => {
54151
54151
  const isOpenState = useElementProps().dropdown?.open === true;
54152
54152
  const formView = useContext(FormViewContext);
54153
54153
  const { isMobile: isMobile2 = false } = useConfig();
54154
- const firstDropdownId = useMemo(() => formView && !formView.parentId ? formView.fields.filter((field) => isOpenableDropdown(field, isMobile2)).sort(byLayoutPosition)[0]?.id : void 0, [
54154
+ const openableDropdownIds = useMemo(() => formView && !formView.parentId ? formView.fields.filter((field) => isOpenableDropdown(field, isMobile2)).map((field) => field.id) : [], [
54155
54155
  formView,
54156
54156
  isMobile2
54157
54157
  ]);
54158
- return isOpenState && firstDropdownId === fieldId;
54158
+ return isOpenState && openableDropdownIds.includes(fieldId);
54159
54159
  };
54160
54160
  var UNLIMITED_ROWS = Infinity;
54161
54161
  var MAX_HEIGHT_PROBE_STYLE = {
@@ -54321,7 +54321,7 @@ var Month = ({ children, className }) => {
54321
54321
  const [isOpen, setIsOpen] = useState(false);
54322
54322
  const isForcedOpen = useIsForcedOpenDropdown(id6);
54323
54323
  const [container, setContainer] = useState(null);
54324
- const placeholder = hidePlaceholder ? void 0 : t("field.date.placeholder.month");
54324
+ const placeholder = hidePlaceholder ? EMPTY_SELECT_PLACEHOLDER : t("field.date.placeholder.month");
54325
54325
  const handleMonthChange = useCallback((selectedValue) => {
54326
54326
  if (readOnly) {
54327
54327
  return;
@@ -54687,7 +54687,8 @@ var Input2 = ({ className }) => {
54687
54687
  regionalFormat
54688
54688
  ]);
54689
54689
  return /* @__PURE__ */ React173.createElement(DateInput$1, {
54690
- className
54690
+ className,
54691
+ "data-placeholder-hidden": !placeholder || void 0
54691
54692
  }, (segment) => {
54692
54693
  const showCustomPlaceholder = segment.type === firstSegmentType && segment.isPlaceholder && Boolean(placeholder);
54693
54694
  return /* @__PURE__ */ React173.createElement(DateSegment, {
@@ -54921,7 +54922,7 @@ var Month2 = ({ children, className }) => {
54921
54922
  const [isOpen, setIsOpen] = useState(false);
54922
54923
  const isForcedOpen = useIsForcedOpenDropdown(id6);
54923
54924
  const [container, setContainer] = useState(null);
54924
- const placeholder = hidePlaceholder ? void 0 : t("field.date.placeholder.month");
54925
+ const placeholder = hidePlaceholder ? EMPTY_SELECT_PLACEHOLDER : t("field.date.placeholder.month");
54925
54926
  const handleMonthChange = useCallback((selectedValue) => {
54926
54927
  if (readOnly) {
54927
54928
  return;
@@ -55145,12 +55146,14 @@ var TimeLabel = ({ className }) => {
55145
55146
  }, label);
55146
55147
  };
55147
55148
  var TimeInput = ({ children, className }) => {
55149
+ const { hidePlaceholder } = useFieldPropsV2();
55148
55150
  const hourElement = findChildOfType(children, Time.Hour);
55149
55151
  const minuteElement = findChildOfType(children, Time.Minute);
55150
55152
  const periodElement = findChildOfType(children, Time.Period);
55151
55153
  return /* @__PURE__ */ React173.createElement(DateInput$1, {
55152
55154
  className,
55153
- "data-hook": "time"
55155
+ "data-hook": "time",
55156
+ "data-placeholder-hidden": hidePlaceholder || void 0
55154
55157
  }, (segment) => {
55155
55158
  switch (segment.type) {
55156
55159
  case "hour":
@@ -55780,7 +55783,7 @@ var Dropdown = ({ children }) => {
55780
55783
  isDisabled: disabled,
55781
55784
  isInvalid: hasError,
55782
55785
  isRequired: required,
55783
- placeholder,
55786
+ placeholder: placeholder || EMPTY_SELECT_PLACEHOLDER,
55784
55787
  onBlur,
55785
55788
  onFocus
55786
55789
  }, triggerElement, applyInternalProps(optionsElement, {
@@ -61267,11 +61270,11 @@ var SignaturePad = class _SignaturePad extends SignatureEventTarget {
61267
61270
  var useId2 = typeof React173.useId === "function" ? React173.useId : () => useRef(generateUUID()).current;
61268
61271
  var hasUploadTab = ({ properties }) => properties.uploadEnabled === true;
61269
61272
  var isForceableSignature = (field, mode) => field.fieldType === FIELD_TYPES.SIGNATURE && !field.properties.hidden && !field.properties.disabled && !field.properties.readOnly && (mode !== "upload" || hasUploadTab(field));
61270
- var byLayoutPosition2 = (first2, second) => first2.layout.row - second.layout.row || first2.layout.column - second.layout.column;
61273
+ var byLayoutPosition = (first2, second) => first2.layout.row - second.layout.row || first2.layout.column - second.layout.column;
61271
61274
  var useForcedSignatureMode = (fieldId) => {
61272
61275
  const forcedMode = useElementProps().signatureContainer?.signatureMode;
61273
61276
  const formView = useContext(FormViewContext);
61274
- const firstSignatureId = useMemo(() => formView && !formView.parentId && forcedMode ? formView.fields.filter((field) => isForceableSignature(field, forcedMode)).sort(byLayoutPosition2)[0]?.id : void 0, [
61277
+ const firstSignatureId = useMemo(() => formView && !formView.parentId && forcedMode ? formView.fields.filter((field) => isForceableSignature(field, forcedMode)).sort(byLayoutPosition)[0]?.id : void 0, [
61275
61278
  formView,
61276
61279
  forcedMode
61277
61280
  ]);
@@ -62850,13 +62853,14 @@ var TimeInput2 = ({ children }) => {
62850
62853
  });
62851
62854
  };
62852
62855
  var Time2 = ({ children, className }) => {
62853
- const { hasError } = useFieldPropsV2();
62856
+ const { hasError, hidePlaceholder } = useFieldPropsV2();
62854
62857
  const hourElement = findChildOfType(children, Time2.Hour);
62855
62858
  const minuteElement = findChildOfType(children, Time2.Minute);
62856
62859
  const periodElement = findChildOfType(children, Time2.Period);
62857
62860
  return /* @__PURE__ */ React173.createElement(DateInput$1, {
62858
62861
  className,
62859
- "data-invalid": hasError || void 0
62862
+ "data-invalid": hasError || void 0,
62863
+ "data-placeholder-hidden": hidePlaceholder || void 0
62860
62864
  }, (segment) => {
62861
62865
  switch (segment.type) {
62862
62866
  case "hour":