@page-speed/forms 0.7.6 → 0.7.8

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/inputs.cjs CHANGED
@@ -1,53 +1,53 @@
1
1
  'use strict';
2
2
 
3
- var chunkK7ZHLPLX_cjs = require('./chunk-K7ZHLPLX.cjs');
3
+ var chunkDDPQKEUI_cjs = require('./chunk-DDPQKEUI.cjs');
4
4
  var chunkIGI4JJKE_cjs = require('./chunk-IGI4JJKE.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Checkbox", {
9
9
  enumerable: true,
10
- get: function () { return chunkK7ZHLPLX_cjs.Checkbox; }
10
+ get: function () { return chunkDDPQKEUI_cjs.Checkbox; }
11
11
  });
12
12
  Object.defineProperty(exports, "CheckboxGroup", {
13
13
  enumerable: true,
14
- get: function () { return chunkK7ZHLPLX_cjs.CheckboxGroup; }
14
+ get: function () { return chunkDDPQKEUI_cjs.CheckboxGroup; }
15
15
  });
16
16
  Object.defineProperty(exports, "DatePicker", {
17
17
  enumerable: true,
18
- get: function () { return chunkK7ZHLPLX_cjs.DatePicker; }
18
+ get: function () { return chunkDDPQKEUI_cjs.DatePicker; }
19
19
  });
20
20
  Object.defineProperty(exports, "DateRangePicker", {
21
21
  enumerable: true,
22
- get: function () { return chunkK7ZHLPLX_cjs.DateRangePicker; }
22
+ get: function () { return chunkDDPQKEUI_cjs.DateRangePicker; }
23
23
  });
24
24
  Object.defineProperty(exports, "FileInput", {
25
25
  enumerable: true,
26
- get: function () { return chunkK7ZHLPLX_cjs.FileInput; }
26
+ get: function () { return chunkDDPQKEUI_cjs.FileInput; }
27
27
  });
28
28
  Object.defineProperty(exports, "MultiSelect", {
29
29
  enumerable: true,
30
- get: function () { return chunkK7ZHLPLX_cjs.MultiSelect; }
30
+ get: function () { return chunkDDPQKEUI_cjs.MultiSelect; }
31
31
  });
32
32
  Object.defineProperty(exports, "Radio", {
33
33
  enumerable: true,
34
- get: function () { return chunkK7ZHLPLX_cjs.Radio; }
34
+ get: function () { return chunkDDPQKEUI_cjs.Radio; }
35
35
  });
36
36
  Object.defineProperty(exports, "Select", {
37
37
  enumerable: true,
38
- get: function () { return chunkK7ZHLPLX_cjs.Select; }
38
+ get: function () { return chunkDDPQKEUI_cjs.Select; }
39
39
  });
40
40
  Object.defineProperty(exports, "Switch", {
41
41
  enumerable: true,
42
- get: function () { return chunkK7ZHLPLX_cjs.Switch; }
42
+ get: function () { return chunkDDPQKEUI_cjs.Switch; }
43
43
  });
44
44
  Object.defineProperty(exports, "TextArea", {
45
45
  enumerable: true,
46
- get: function () { return chunkK7ZHLPLX_cjs.TextArea; }
46
+ get: function () { return chunkDDPQKEUI_cjs.TextArea; }
47
47
  });
48
48
  Object.defineProperty(exports, "TimePicker", {
49
49
  enumerable: true,
50
- get: function () { return chunkK7ZHLPLX_cjs.TimePicker; }
50
+ get: function () { return chunkDDPQKEUI_cjs.TimePicker; }
51
51
  });
52
52
  Object.defineProperty(exports, "TextInput", {
53
53
  enumerable: true,
package/dist/inputs.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Checkbox, CheckboxGroup, DatePicker, DateRangePicker, FileInput, MultiSelect, Radio, Select, Switch, TextArea, TimePicker } from './chunk-DSK3VLIV.js';
1
+ export { Checkbox, CheckboxGroup, DatePicker, DateRangePicker, FileInput, MultiSelect, Radio, Select, Switch, TextArea, TimePicker } from './chunk-RNVK2DOS.js';
2
2
  export { TextInput } from './chunk-EQKN2OPX.js';
3
3
  //# sourceMappingURL=inputs.js.map
4
4
  //# sourceMappingURL=inputs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkT2SLAP65_cjs = require('./chunk-T2SLAP65.cjs');
4
- var chunkK7ZHLPLX_cjs = require('./chunk-K7ZHLPLX.cjs');
4
+ var chunkDDPQKEUI_cjs = require('./chunk-DDPQKEUI.cjs');
5
5
  var chunkIGI4JJKE_cjs = require('./chunk-IGI4JJKE.cjs');
6
6
  var React2 = require('react');
7
7
  var icon = require('@page-speed/icon');
@@ -440,6 +440,7 @@ function getColumnSpanClass(span) {
440
440
  const clamped = Math.max(1, Math.min(span, 12));
441
441
  return columnSpanClasses[clamped] || "col-span-12";
442
442
  }
443
+ var FORM_GRID_FALLBACK_CSS = `[data-psf-grid]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem}@media(min-width:768px){[data-psf-grid]{gap:2.5rem}}[data-psf-col]{grid-column:span 12/span 12;min-width:0}@media(min-width:768px){[data-psf-col="1"]{grid-column:span 1/span 1}[data-psf-col="2"]{grid-column:span 2/span 2}[data-psf-col="3"]{grid-column:span 3/span 3}[data-psf-col="4"]{grid-column:span 4/span 4}[data-psf-col="5"]{grid-column:span 5/span 5}[data-psf-col="6"]{grid-column:span 6/span 6}[data-psf-col="7"]{grid-column:span 7/span 7}[data-psf-col="8"]{grid-column:span 8/span 8}[data-psf-col="9"]{grid-column:span 9/span 9}[data-psf-col="10"]{grid-column:span 10/span 10}[data-psf-col="11"]{grid-column:span 11/span 11}[data-psf-col="12"]{grid-column:span 12/span 12}}`;
443
444
  var DEFAULT_UPLOAD_ENDPOINT = "https://api.dashtrack.com/contacts/_/contact_form_uploads";
444
445
  function useFileUpload(options) {
445
446
  const [uploadTokens, setUploadTokens] = React2.useState([]);
@@ -668,7 +669,7 @@ function DynamicFormField({
668
669
  }, [field.type, field.options]);
669
670
  const fieldClassName = React2__namespace.useMemo(() => {
670
671
  if (usesChoiceCard) {
671
- return "p-4 border rounded rounded-lg";
672
+ return "p-4 border rounded-lg";
672
673
  } else {
673
674
  return "";
674
675
  }
@@ -709,7 +710,7 @@ function DynamicFormField({
709
710
  "aria-label": field.label
710
711
  }
711
712
  ), field.type === "textarea" && /* @__PURE__ */ React2__namespace.createElement(
712
- chunkK7ZHLPLX_cjs.TextArea,
713
+ chunkDDPQKEUI_cjs.TextArea,
713
714
  {
714
715
  ...formField,
715
716
  id: fieldId,
@@ -720,7 +721,7 @@ function DynamicFormField({
720
721
  "aria-label": field.label
721
722
  }
722
723
  ), field.type === "select" && field.options && /* @__PURE__ */ React2__namespace.createElement(
723
- chunkK7ZHLPLX_cjs.Select,
724
+ chunkDDPQKEUI_cjs.Select,
724
725
  {
725
726
  ...formField,
726
727
  id: fieldId,
@@ -731,7 +732,7 @@ function DynamicFormField({
731
732
  "aria-label": field.label
732
733
  }
733
734
  ), field.type === "multi-select" && field.options && /* @__PURE__ */ React2__namespace.createElement(
734
- chunkK7ZHLPLX_cjs.MultiSelect,
735
+ chunkDDPQKEUI_cjs.MultiSelect,
735
736
  {
736
737
  ...formField,
737
738
  id: fieldId,
@@ -742,7 +743,7 @@ function DynamicFormField({
742
743
  "aria-label": field.label
743
744
  }
744
745
  ), field.type === "radio" && field.options && /* @__PURE__ */ React2__namespace.createElement(
745
- chunkK7ZHLPLX_cjs.Radio,
746
+ chunkDDPQKEUI_cjs.Radio,
746
747
  {
747
748
  ...formField,
748
749
  id: fieldId,
@@ -756,7 +757,7 @@ function DynamicFormField({
756
757
  "aria-label": field.label
757
758
  }
758
759
  ), field.type === "checkbox" && /* @__PURE__ */ React2__namespace.createElement(
759
- chunkK7ZHLPLX_cjs.Checkbox,
760
+ chunkDDPQKEUI_cjs.Checkbox,
760
761
  {
761
762
  ...formField,
762
763
  id: fieldId,
@@ -770,7 +771,7 @@ function DynamicFormField({
770
771
  "aria-label": field.label
771
772
  }
772
773
  ), field.type === "checkbox-group" && field.options && /* @__PURE__ */ React2__namespace.createElement(
773
- chunkK7ZHLPLX_cjs.CheckboxGroup,
774
+ chunkDDPQKEUI_cjs.CheckboxGroup,
774
775
  {
775
776
  ...formField,
776
777
  id: fieldId,
@@ -784,7 +785,7 @@ function DynamicFormField({
784
785
  "aria-label": field.label
785
786
  }
786
787
  ), (field.type === "date-picker" || field.type === "date") && /* @__PURE__ */ React2__namespace.createElement(
787
- chunkK7ZHLPLX_cjs.DatePicker,
788
+ chunkDDPQKEUI_cjs.DatePicker,
788
789
  {
789
790
  ...formField,
790
791
  id: fieldId,
@@ -794,7 +795,7 @@ function DynamicFormField({
794
795
  "aria-label": field.label
795
796
  }
796
797
  ), field.type === "date-range" && /* @__PURE__ */ React2__namespace.createElement(
797
- chunkK7ZHLPLX_cjs.DateRangePicker,
798
+ chunkDDPQKEUI_cjs.DateRangePicker,
798
799
  {
799
800
  ...formField,
800
801
  id: fieldId,
@@ -804,7 +805,7 @@ function DynamicFormField({
804
805
  "aria-label": field.label
805
806
  }
806
807
  ), field.type === "time" && /* @__PURE__ */ React2__namespace.createElement(
807
- chunkK7ZHLPLX_cjs.TimePicker,
808
+ chunkDDPQKEUI_cjs.TimePicker,
808
809
  {
809
810
  ...formField,
810
811
  id: fieldId,
@@ -814,7 +815,7 @@ function DynamicFormField({
814
815
  "aria-label": field.label
815
816
  }
816
817
  ), field.type === "file" && /* @__PURE__ */ React2__namespace.createElement(
817
- chunkK7ZHLPLX_cjs.FileInput,
818
+ chunkDDPQKEUI_cjs.FileInput,
818
819
  {
819
820
  ...formField,
820
821
  id: fieldId,
@@ -972,34 +973,44 @@ function FormEngine(props) {
972
973
  onNewSubmission: resetSubmissionState
973
974
  },
974
975
  !isButtonGroup && /* @__PURE__ */ React2__namespace.createElement(React2__namespace.Fragment, null, /* @__PURE__ */ React2__namespace.createElement(
976
+ "style",
977
+ {
978
+ dangerouslySetInnerHTML: { __html: FORM_GRID_FALLBACK_CSS }
979
+ }
980
+ ), /* @__PURE__ */ React2__namespace.createElement(
975
981
  "div",
976
982
  {
983
+ "data-psf-grid": "",
977
984
  className: chunkIGI4JJKE_cjs.cn(
978
- "grid grid-cols-12 space-y-8 gap-x-6 md:gap-x-8",
985
+ "grid grid-cols-12 gap-6 md:gap-10",
979
986
  styleRules?.fieldsContainer
980
987
  )
981
988
  },
982
- formFields.map((field) => /* @__PURE__ */ React2__namespace.createElement(
983
- "div",
984
- {
985
- key: field.name,
986
- className: chunkIGI4JJKE_cjs.cn(
987
- getColumnSpanClass(field.columnSpan ?? 12),
988
- "min-w-0"
989
- )
990
- },
991
- /* @__PURE__ */ React2__namespace.createElement(
992
- DynamicFormField,
989
+ formFields.map((field) => {
990
+ const span = field.columnSpan ?? 12;
991
+ return /* @__PURE__ */ React2__namespace.createElement(
992
+ "div",
993
993
  {
994
- field,
995
- className: field.className ?? styleRules?.fieldClassName,
996
- uploadProgress,
997
- onFileUpload,
998
- onFileRemove,
999
- isUploading
1000
- }
1001
- )
1002
- ))
994
+ key: field.name,
995
+ "data-psf-col": String(span),
996
+ className: chunkIGI4JJKE_cjs.cn(
997
+ getColumnSpanClass(span),
998
+ "min-w-0"
999
+ )
1000
+ },
1001
+ /* @__PURE__ */ React2__namespace.createElement(
1002
+ DynamicFormField,
1003
+ {
1004
+ field,
1005
+ className: field.className ?? styleRules?.fieldClassName,
1006
+ uploadProgress,
1007
+ onFileUpload,
1008
+ onFileRemove,
1009
+ isUploading
1010
+ }
1011
+ )
1012
+ );
1013
+ })
1003
1014
  ), /* @__PURE__ */ React2__namespace.createElement(
1004
1015
  chunkIGI4JJKE_cjs.Button,
1005
1016
  {