@verbb/formie-browser 1.0.7 → 1.0.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/chunks/_survey-presentations-CFsgToRT.js +4 -0
  3. package/dist/chunks/{api-DztsCJ4r.js → api-C8wyLC-s.js} +184 -150
  4. package/dist/chunks/{bpoint-2qDxlKD9.js → bpoint-CwSw_p7A.js} +1 -1
  5. package/dist/chunks/{eway-CImXrB4g.js → eway-B30BMlDp.js} +1 -1
  6. package/dist/chunks/{go-cardless-Bz7HHtH0.js → go-cardless-BiF3iLel.js} +1 -1
  7. package/dist/chunks/{mollie-BtnB3KGh.js → mollie-D__SwtcH.js} +1 -1
  8. package/dist/chunks/{moneris-Bd4vUk8b.js → moneris-KJS1BKx7.js} +1 -1
  9. package/dist/chunks/{opayo-B-eRIXo-.js → opayo-A_LIkc-v.js} +1 -1
  10. package/dist/chunks/{paddle-BUFeEU4d.js → paddle-BjbOOb0m.js} +1 -1
  11. package/dist/chunks/{paypal-8Euw7Hrn.js → paypal-CyjHIV8v.js} +1 -1
  12. package/dist/chunks/{payway-dV0SzJxy.js → payway-a_cyrr3j.js} +1 -1
  13. package/dist/chunks/{square-reyJukb7.js → square-Bga6WXHV.js} +1 -1
  14. package/dist/chunks/{stripe-BC-2PBvY.js → stripe-BlqVocl3.js} +1 -1
  15. package/dist/chunks/{summary-D3AjxpYN.js → summary-Dks0gXS3.js} +42 -38
  16. package/dist/chunks/survey-likert-DmJ3klhP.js +20 -0
  17. package/dist/chunks/survey-rank-DeUenftw.js +127 -0
  18. package/dist/chunks/survey-rating-BPUYDgBJ.js +88 -0
  19. package/dist/css/formie-theme.css +1 -0
  20. package/dist/css/theme/fields/_survey-presentations.css +396 -0
  21. package/dist/index.js +469 -465
  22. package/dist/js/contracts/schema.d.ts +5 -0
  23. package/dist/js/contracts/schema.d.ts.map +1 -1
  24. package/dist/js/core/create-formie-client.d.ts.map +1 -1
  25. package/dist/js/core/page-client-event.d.ts +8 -4
  26. package/dist/js/core/page-client-event.d.ts.map +1 -1
  27. package/dist/js/core/submit-result-state.d.ts.map +1 -1
  28. package/dist/js/modules/fields/index.d.ts.map +1 -1
  29. package/dist/js/modules/fields/summary.d.ts.map +1 -1
  30. package/dist/js/modules/fields/survey-likert.d.ts +3 -0
  31. package/dist/js/modules/fields/survey-likert.d.ts.map +1 -0
  32. package/dist/js/modules/fields/survey-rank.d.ts +3 -0
  33. package/dist/js/modules/fields/survey-rank.d.ts.map +1 -0
  34. package/dist/js/modules/fields/survey-rating.d.ts +3 -0
  35. package/dist/js/modules/fields/survey-rating.d.ts.map +1 -0
  36. package/dist/js/transport/forms-api.d.ts.map +1 -1
  37. package/package.json +2 -2
  38. package/src/css/formie-theme.css +1 -0
  39. package/src/css/theme/fields/_survey-presentations.css +396 -0
  40. package/src/js/contracts/schema.ts +6 -0
  41. package/src/js/core/create-formie-client.ts +14 -1
  42. package/src/js/core/page-client-event.ts +86 -18
  43. package/src/js/core/submit-result-state.ts +6 -2
  44. package/src/js/modules/fields/index.ts +3 -0
  45. package/src/js/modules/fields/summary.ts +17 -3
  46. package/src/js/modules/fields/survey-likert.ts +50 -0
  47. package/src/js/modules/fields/survey-rank.ts +385 -0
  48. package/src/js/modules/fields/survey-rating.ts +182 -0
  49. package/src/js/transport/forms-api.ts +1 -0
@@ -40,6 +40,10 @@ export type FormRedirect = {
40
40
  url: string;
41
41
  target?: 'same-tab' | 'new-tab';
42
42
  };
43
+ export type FormClientEvent = {
44
+ event: string;
45
+ payload: Record<string, string>;
46
+ };
43
47
  export type FormSubmitResult = {
44
48
  ok: boolean;
45
49
  action?: FormAction;
@@ -55,6 +59,7 @@ export type FormSubmitResult = {
55
59
  } | null;
56
60
  redirect?: FormRedirect | null;
57
61
  submitData?: unknown[];
62
+ clientEvents?: FormClientEvent[];
58
63
  meta?: Record<string, unknown>;
59
64
  };
60
65
  export type FormEndpointPayload = {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/js/contracts/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/js/contracts/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-formie-client.d.ts","sourceRoot":"","sources":["../../../src/js/core/create-formie-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EAGf,MAAM,mBAAmB,CAAC;AAs1B3B,wBAAgB,kBAAkB,IAAI,YAAY,CA4rBjD"}
1
+ {"version":3,"file":"create-formie-client.d.ts","sourceRoot":"","sources":["../../../src/js/core/create-formie-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EAGf,MAAM,mBAAmB,CAAC;AAs1B3B,wBAAgB,kBAAkB,IAAI,YAAY,CAysBjD"}
@@ -1,9 +1,13 @@
1
+ export type ResolvedClientEvent = {
2
+ event: string;
3
+ payload: Record<string, string>;
4
+ };
1
5
  export declare function resolveSubmittedPageId(form: HTMLFormElement): string | null;
6
+ export declare function dispatchResolvedClientEvents(form: HTMLFormElement, events: ResolvedClientEvent[]): void;
7
+ export declare function dispatchPendingClientEventsFromForm(form: HTMLFormElement): void;
2
8
  /**
3
- * When the builder enables JavaScript events for a page, the theme emits
4
- * `data-formie-client-event` on that page's section. On each successful
5
- * **submit** (not back/save), push the configured key/value object to
6
- * `window.dataLayer` (when present) and dispatch `formie:client-event`.
9
+ * Legacy static page attribute dispatch. Prefer server-resolved `clientEvents`
10
+ * from the submit response when available.
7
11
  */
8
12
  export declare function dispatchPageClientEventForSubmit(form: HTMLFormElement, action: string): void;
9
13
  //# sourceMappingURL=page-client-event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-client-event.d.ts","sourceRoot":"","sources":["../../../src/js/core/page-client-event.ts"],"names":[],"mappings":"AAkBA,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAkB3E;AAoCD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAkD5F"}
1
+ {"version":3,"file":"page-client-event.d.ts","sourceRoot":"","sources":["../../../src/js/core/page-client-event.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,mBAAmB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC;AAUF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAkB3E;AA+DD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAwBvG;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAmB/E;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAwC5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"submit-result-state.d.ts","sourceRoot":"","sources":["../../../src/js/core/submit-result-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA6H1D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAqB/E;AA4GD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CA0B5F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CA0B9D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAwD9E;AAkKD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAkGhH"}
1
+ {"version":3,"file":"submit-result-state.d.ts","sourceRoot":"","sources":["../../../src/js/core/submit-result-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA6H1D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAqB/E;AA4GD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CA0B5F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CA0B9D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAwD9E;AAkKD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAsGhH"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/js/modules/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAuB3F,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/js/modules/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,CA0B3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../../src/js/modules/fields/summary.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAkPjE,eAAO,MAAM,aAAa,EAAE,sBA2B3B,CAAC"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../../src/js/modules/fields/summary.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAgQjE,eAAO,MAAM,aAAa,EAAE,sBA2B3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FormieModuleDefinition } from '#contracts/modules';
2
+ export declare const surveyLikertModule: FormieModuleDefinition;
3
+ //# sourceMappingURL=survey-likert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"survey-likert.d.ts","sourceRoot":"","sources":["../../../../src/js/modules/fields/survey-likert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAUjE,eAAO,MAAM,kBAAkB,EAAE,sBAqChC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FormieModuleDefinition } from '#contracts/modules';
2
+ export declare const surveyRankModule: FormieModuleDefinition;
3
+ //# sourceMappingURL=survey-rank.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"survey-rank.d.ts","sourceRoot":"","sources":["../../../../src/js/modules/fields/survey-rank.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAkVjE,eAAO,MAAM,gBAAgB,EAAE,sBA4C9B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FormieModuleDefinition } from '#contracts/modules';
2
+ export declare const surveyRatingModule: FormieModuleDefinition;
3
+ //# sourceMappingURL=survey-rating.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"survey-rating.d.ts","sourceRoot":"","sources":["../../../../src/js/modules/fields/survey-rating.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAuIjE,eAAO,MAAM,kBAAkB,EAAE,sBA4ChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"forms-api.d.ts","sourceRoot":"","sources":["../../../src/js/transport/forms-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAmH/E,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkB/I;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsCtJ;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAmB7I;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,CAAC,CA2CD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CA0CrF;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwDrG"}
1
+ {"version":3,"file":"forms-api.d.ts","sourceRoot":"","sources":["../../../src/js/transport/forms-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAoH/E,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkB/I;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsCtJ;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAmB7I;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,CAAC,CA2CD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CA0CrF;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwDrG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verbb/formie-browser",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -70,7 +70,7 @@
70
70
  "@placekit/autocomplete-js": "^2.2.1",
71
71
  "@uppy/core": "^5.2.0",
72
72
  "@uppy/xhr-upload": "^5.2.0",
73
- "@verbb/formie-core": "1.0.7",
73
+ "@verbb/formie-core": "1.0.8",
74
74
  "expression-language": "^2.5.4",
75
75
  "flatpickr": "^4.6.13",
76
76
  "friendly-challenge": "^0.9.19",
@@ -15,6 +15,7 @@
15
15
  @import "./theme/fields/_select.css";
16
16
  @import "./theme/fields/_combobox.css";
17
17
  @import "./theme/fields/_check-radio.css";
18
+ @import "./theme/fields/_survey-presentations.css";
18
19
  @import "./theme/fields/_address.css";
19
20
  @import "./theme/fields/_address-state.css";
20
21
  @import "./theme/integrations/_payment-modal.css";
@@ -0,0 +1,396 @@
1
+ @layer formie-theme {
2
+
3
+ .formie-likert-field-layout {
4
+ display: table;
5
+ width: 100%;
6
+ table-layout: fixed;
7
+ border-collapse: collapse;
8
+ border-spacing: 0;
9
+ }
10
+
11
+ .formie-likert-field-layout thead {
12
+ display: table-header-group;
13
+ }
14
+
15
+ .formie-likert-field-layout tbody {
16
+ display: table-row-group;
17
+ }
18
+
19
+ .formie-likert-field-layout tr {
20
+ display: table-row;
21
+ }
22
+
23
+ .formie-likert-field-layout th,
24
+ .formie-likert-field-layout td {
25
+ display: table-cell;
26
+ }
27
+
28
+ .formie-likert-column-label {
29
+ text-align: center;
30
+ color: var(--formie-survey-likert-label-color, var(--formie-color-heading));
31
+ word-break: break-word;
32
+ padding: 0 0.35rem 0.5rem;
33
+ vertical-align: bottom;
34
+ font-size: var(--formie-survey-likert-column-label-font-size, 0.875rem);
35
+ line-height: 1.3;
36
+ }
37
+
38
+ [data-formie-field-control]:has(> [data-formie-likert-multiple-rows]) {
39
+ overflow-x: auto;
40
+ -webkit-overflow-scrolling: touch;
41
+ }
42
+
43
+ @media (min-width: 40rem) {
44
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] {
45
+ width: max-content;
46
+ min-width: 100%;
47
+ }
48
+
49
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-column-label {
50
+ min-width: var(--formie-survey-likert-column-min-width, 5.5rem);
51
+ }
52
+
53
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-option {
54
+ min-width: var(--formie-survey-likert-column-min-width, 5.5rem);
55
+ }
56
+ }
57
+
58
+ .formie-likert-row-label-header,
59
+ .formie-likert-row-label {
60
+ text-align: left;
61
+ color: var(--formie-survey-likert-label-color, var(--formie-color-heading));
62
+ word-break: break-word;
63
+ padding: 0.65rem 0.75rem 0.65rem 0;
64
+ vertical-align: middle;
65
+ font-weight: var(--formie-font-weight-medium);
66
+ }
67
+
68
+ .formie-likert-row-label-header {
69
+ padding-bottom: 0.5rem;
70
+ font-weight: var(--formie-font-weight-normal);
71
+ }
72
+
73
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] {
74
+ table-layout: auto;
75
+ }
76
+
77
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-row-label-header,
78
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-row-label {
79
+ width: 1%;
80
+ white-space: nowrap;
81
+ padding-right: 1rem;
82
+ }
83
+
84
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-inputs-row .formie-likert-row-label {
85
+ border-top-left-radius: var(--formie-border-radius);
86
+ border-bottom-left-radius: var(--formie-border-radius);
87
+ }
88
+
89
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-inputs-row .formie-likert-option:first-child {
90
+ border-top-left-radius: 0;
91
+ border-bottom-left-radius: 0;
92
+ }
93
+
94
+ .formie-likert-inputs-row--alt .formie-likert-row-label,
95
+ .formie-likert-inputs-row--alt .formie-likert-option {
96
+ background-color: var(--formie-survey-likert-option-background-alt, var(--formie-color-surface));
97
+ }
98
+
99
+ .formie-likert-option {
100
+ text-align: center;
101
+ vertical-align: middle;
102
+ padding: 0.65rem 0.35rem;
103
+ background-color: var(--formie-survey-likert-option-background, var(--formie-color-surface-muted));
104
+ }
105
+
106
+ .formie-likert-inputs-row .formie-likert-option:first-child {
107
+ border-top-left-radius: var(--formie-border-radius);
108
+ border-bottom-left-radius: var(--formie-border-radius);
109
+ }
110
+
111
+ .formie-likert-inputs-row .formie-likert-option:last-child {
112
+ border-top-right-radius: var(--formie-border-radius);
113
+ border-bottom-right-radius: var(--formie-border-radius);
114
+ }
115
+
116
+ .formie-likert-option .formie-radio-option-label {
117
+ padding-left: 0;
118
+ width: var(--formie-check-size);
119
+ height: var(--formie-check-size);
120
+ line-height: var(--formie-check-size);
121
+ overflow: hidden;
122
+ }
123
+
124
+ .formie-likert-option .formie-likert-option-label-text {
125
+ display: none;
126
+ }
127
+
128
+ .formie-likert-option .formie-radio-option-label::before {
129
+ top: 0;
130
+ left: 0;
131
+ }
132
+
133
+ @media (max-width: 39.999rem) {
134
+ [data-formie-field-control]:has(> [data-formie-likert-field-layout]) {
135
+ overflow-x: visible;
136
+ }
137
+
138
+ .formie-likert-field-layout {
139
+ display: block;
140
+ width: 100%;
141
+ table-layout: auto;
142
+ border-radius: 0;
143
+ background-color: transparent;
144
+ padding: 0;
145
+ }
146
+
147
+ .formie-likert-column-labels {
148
+ position: absolute;
149
+ width: 1px;
150
+ height: 1px;
151
+ margin: -1px;
152
+ padding: 0;
153
+ overflow: hidden;
154
+ clip: rect(0, 0, 0, 0);
155
+ clip-path: inset(50%);
156
+ white-space: nowrap;
157
+ border: 0;
158
+ }
159
+
160
+ .formie-likert-field-layout thead,
161
+ .formie-likert-field-layout tbody,
162
+ .formie-likert-field-layout tr,
163
+ .formie-likert-field-layout th,
164
+ .formie-likert-field-layout td {
165
+ display: block;
166
+ width: 100%;
167
+ }
168
+
169
+ .formie-likert-inputs-row {
170
+ margin: 0 0 var(--formie-space-2);
171
+ padding: var(--formie-space-2) var(--formie-space-3);
172
+ border-radius: var(--formie-border-radius);
173
+ background-color: var(--formie-survey-likert-option-background, var(--formie-color-surface-muted));
174
+ }
175
+
176
+ .formie-likert-inputs-row:last-child {
177
+ margin-bottom: 0;
178
+ }
179
+
180
+ .formie-likert-inputs-row--alt {
181
+ background-color: var(--formie-survey-likert-option-background-alt, var(--formie-color-surface));
182
+ }
183
+
184
+ .formie-likert-option {
185
+ display: block;
186
+ padding: var(--formie-space-2) 0;
187
+ text-align: left;
188
+ background-color: transparent;
189
+ border-radius: 0;
190
+ min-width: 0;
191
+ }
192
+
193
+ .formie-likert-option:first-child {
194
+ padding-top: 0;
195
+ }
196
+
197
+ .formie-likert-option:last-child {
198
+ padding-bottom: 0;
199
+ }
200
+
201
+ .formie-likert-option .formie-radio-option-label {
202
+ width: auto;
203
+ height: auto;
204
+ overflow: visible;
205
+ padding-left: var(--formie-check-label-padding-left);
206
+ line-height: var(--formie-check-line-height);
207
+ font-weight: var(--formie-font-weight-normal);
208
+ color: var(--formie-color-text);
209
+ }
210
+
211
+ .formie-likert-option .formie-likert-option-label-text {
212
+ display: inline;
213
+ }
214
+
215
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-row-label {
216
+ display: block;
217
+ width: 100%;
218
+ padding: 0 0 var(--formie-space-2);
219
+ font-weight: var(--formie-font-weight-medium);
220
+ background-color: transparent;
221
+ white-space: normal;
222
+ }
223
+
224
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-inputs-row {
225
+ border-top: 0;
226
+ }
227
+
228
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-inputs-row .formie-likert-row-label {
229
+ border-radius: 0;
230
+ }
231
+
232
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-inputs-row .formie-likert-option:first-child {
233
+ border-radius: 0;
234
+ }
235
+
236
+ .formie-likert-field-layout[data-formie-likert-multiple-rows] .formie-likert-inputs-row .formie-likert-option:last-child {
237
+ border-radius: 0;
238
+ }
239
+ }
240
+
241
+ .formie-rank-field-layout {
242
+ width: 100%;
243
+ }
244
+
245
+ .formie-rank-list,
246
+ .formie-rank-field-layout .formie-rank-list.formie-field-options {
247
+ list-style: none;
248
+ margin: var(--formie-space-1) 0 0;
249
+ padding: 0;
250
+ display: flex;
251
+ flex-direction: column;
252
+ flex-wrap: nowrap;
253
+ gap: var(--formie-survey-rank-list-gap, var(--formie-space-2));
254
+ }
255
+
256
+ .formie-rank-list[data-formie-rank-sorting="true"] {
257
+ user-select: none;
258
+ }
259
+
260
+ .formie-rank-item {
261
+ display: flex;
262
+ align-items: center;
263
+ gap: var(--formie-space-2);
264
+ margin: 0;
265
+ padding: var(--formie-space-2) var(--formie-space-3);
266
+ border: var(--formie-border-width) solid var(--formie-survey-rank-item-border-color, var(--formie-color-border));
267
+ border-radius: var(--formie-border-radius);
268
+ background: var(--formie-survey-rank-item-background, var(--formie-color-surface));
269
+ cursor: move;
270
+ touch-action: none;
271
+ }
272
+
273
+ .formie-rank-placeholder {
274
+ box-sizing: border-box;
275
+ margin: 0;
276
+ padding: 0;
277
+ list-style: none;
278
+ border: 0;
279
+ background: transparent;
280
+ }
281
+
282
+ .formie-rank-handle {
283
+ display: inline-flex;
284
+ align-items: center;
285
+ justify-content: center;
286
+ width: 0.875rem;
287
+ height: 1.125rem;
288
+ padding: 0;
289
+ border: 0;
290
+ background: transparent;
291
+ color: var(--formie-survey-rank-handle-color, var(--formie-color-text-muted));
292
+ opacity: 0.6;
293
+ cursor: move;
294
+ flex-shrink: 0;
295
+ pointer-events: none;
296
+ }
297
+
298
+ .formie-rank-handle::before {
299
+ display: block;
300
+ width: 13px;
301
+ height: 0.875rem;
302
+ content: "";
303
+ background: currentColor;
304
+ mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M288 128C288 92.7 259.3 64 224 64C188.7 64 160 92.7 160 128C160 163.3 188.7 192 224 192C259.3 192 288 163.3 288 128zM288 320C288 284.7 259.3 256 224 256C188.7 256 160 284.7 160 320C160 355.3 188.7 384 224 384C259.3 384 288 355.3 288 320zM160 512C160 547.3 188.7 576 224 576C259.3 576 288 547.3 288 512C288 476.7 259.3 448 224 448C188.7 448 160 476.7 160 512zM480 128C480 92.7 451.3 64 416 64C380.7 64 352 92.7 352 128C352 163.3 380.7 192 416 192C451.3 192 480 163.3 480 128zM352 320C352 355.3 380.7 384 416 384C451.3 384 480 355.3 480 320C480 284.7 451.3 256 416 256C380.7 256 352 284.7 352 320zM480 512C480 476.7 451.3 448 416 448C380.7 448 352 476.7 352 512C352 547.3 380.7 576 416 576C451.3 576 480 547.3 480 512z'/%3E%3C/svg%3E") center / contain no-repeat;
305
+ }
306
+
307
+ .formie-rank-option-label {
308
+ flex: 1 1 auto;
309
+ font-size: var(--formie-check-font-size);
310
+ line-height: var(--formie-check-line-height);
311
+ }
312
+
313
+ .formie-rank-input {
314
+ display: none;
315
+ }
316
+
317
+ .formie-rating-field-layout {
318
+ width: 100%;
319
+ }
320
+
321
+ .formie-rating-stars,
322
+ .formie-rating-field-layout .formie-rating-stars.formie-field-options {
323
+ display: inline-flex;
324
+ flex-wrap: nowrap;
325
+ align-items: center;
326
+ padding: var(--formie-space-2) 0;
327
+ gap: 0;
328
+ --formie-survey-rating-star-size: 26px;
329
+ --formie-survey-rating-star-spacing: var(--formie-space-1);
330
+ --formie-survey-rating-star-outline: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2023%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M22.2%208.05333L15.7466%207.49333L13.2266%201.56C12.7733%200.48%2011.2266%200.48%2010.7733%201.56L8.25331%207.50667L1.81331%208.05333C0.639975%208.14667%200.159975%209.61333%201.05331%2010.3867L5.94664%2014.6267L4.47998%2020.92C4.21331%2022.0667%205.45331%2022.9733%206.46664%2022.36L12%2019.0267L17.5333%2022.3733C18.5466%2022.9867%2019.7866%2022.08%2019.52%2020.9333L18.0533%2014.6267L22.9466%2010.3867C23.84%209.61333%2023.3733%208.14667%2022.2%208.05333ZM12%2016.5333L6.98664%2019.56L8.31998%2013.8533L3.89331%2010.0133L9.73331%209.50667L12%204.13333L14.28%209.52L20.12%2010.0267L15.6933%2013.8667L17.0266%2019.5733L12%2016.5333Z%22%20fill%3D%22%23E27730%22%2F%3E%3C%2Fsvg%3E");
331
+ --formie-survey-rating-star-filled: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2023%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M12%2019.0267L17.5333%2022.3733C18.5466%2022.9867%2019.7866%2022.08%2019.52%2020.9333L18.0533%2014.64L22.9466%2010.4C23.84%209.62667%2023.36%208.16%2022.1866%208.06667L15.7466%207.52L13.2266%201.57334C12.7733%200.493336%2011.2266%200.493336%2010.7733%201.57334L8.25331%207.50667L1.81331%208.05334C0.639975%208.14667%200.159975%209.61334%201.05331%2010.3867L5.94664%2014.6267L4.47997%2020.92C4.21331%2022.0667%205.45331%2022.9733%206.46664%2022.36L12%2019.0267Z%22%20fill%3D%22%23E27730%22%2F%3E%3C%2Fsvg%3E");
332
+ }
333
+
334
+ .formie-rating-option {
335
+ position: relative;
336
+ margin: 0;
337
+ gap: 0;
338
+ align-items: center;
339
+ cursor: pointer;
340
+ }
341
+
342
+ .formie-rating-input {
343
+ position: absolute;
344
+ width: 1px;
345
+ height: 1px;
346
+ margin: -1px;
347
+ padding: 0;
348
+ overflow: hidden;
349
+ clip: rect(0, 0, 0, 0);
350
+ clip-path: inset(50%);
351
+ white-space: nowrap;
352
+ border: 0;
353
+ }
354
+
355
+ .formie-rating-option-label {
356
+ display: inline-flex;
357
+ cursor: pointer;
358
+ padding-inline: calc(var(--formie-survey-rating-star-spacing, var(--formie-space-1)) / 2);
359
+ }
360
+
361
+ .formie-rating-star {
362
+ display: block;
363
+ width: var(--formie-survey-rating-star-size, 26px);
364
+ height: var(--formie-survey-rating-star-size, 26px);
365
+ background: center / contain no-repeat;
366
+ background-image: var(--formie-survey-rating-star-outline);
367
+ }
368
+
369
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="1"] .formie-rating-option:nth-child(-n+1) .formie-rating-star,
370
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="2"] .formie-rating-option:nth-child(-n+2) .formie-rating-star,
371
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="3"] .formie-rating-option:nth-child(-n+3) .formie-rating-star,
372
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="4"] .formie-rating-option:nth-child(-n+4) .formie-rating-star,
373
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="5"] .formie-rating-option:nth-child(-n+5) .formie-rating-star,
374
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="6"] .formie-rating-option:nth-child(-n+6) .formie-rating-star,
375
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="7"] .formie-rating-option:nth-child(-n+7) .formie-rating-star,
376
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="8"] .formie-rating-option:nth-child(-n+8) .formie-rating-star,
377
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="9"] .formie-rating-option:nth-child(-n+9) .formie-rating-star,
378
+ .formie-rating-stars:not([data-formie-rating-hover])[data-formie-rating-value="10"] .formie-rating-option:nth-child(-n+10) .formie-rating-star,
379
+ .formie-rating-stars[data-formie-rating-hover="1"] .formie-rating-option:nth-child(-n+1) .formie-rating-star,
380
+ .formie-rating-stars[data-formie-rating-hover="2"] .formie-rating-option:nth-child(-n+2) .formie-rating-star,
381
+ .formie-rating-stars[data-formie-rating-hover="3"] .formie-rating-option:nth-child(-n+3) .formie-rating-star,
382
+ .formie-rating-stars[data-formie-rating-hover="4"] .formie-rating-option:nth-child(-n+4) .formie-rating-star,
383
+ .formie-rating-stars[data-formie-rating-hover="5"] .formie-rating-option:nth-child(-n+5) .formie-rating-star,
384
+ .formie-rating-stars[data-formie-rating-hover="6"] .formie-rating-option:nth-child(-n+6) .formie-rating-star,
385
+ .formie-rating-stars[data-formie-rating-hover="7"] .formie-rating-option:nth-child(-n+7) .formie-rating-star,
386
+ .formie-rating-stars[data-formie-rating-hover="8"] .formie-rating-option:nth-child(-n+8) .formie-rating-star,
387
+ .formie-rating-stars[data-formie-rating-hover="9"] .formie-rating-option:nth-child(-n+9) .formie-rating-star,
388
+ .formie-rating-stars[data-formie-rating-hover="10"] .formie-rating-option:nth-child(-n+10) .formie-rating-star {
389
+ background-image: var(--formie-survey-rating-star-filled);
390
+ }
391
+
392
+ .formie-rating-input:focus-visible+.formie-rating-option-label .formie-rating-star {
393
+ outline: 2px solid var(--formie-color-focus-ring);
394
+ outline-offset: 2px;
395
+ }
396
+ }
@@ -43,6 +43,11 @@ export type FormRedirect = {
43
43
  target?: 'same-tab' | 'new-tab';
44
44
  };
45
45
 
46
+ export type FormClientEvent = {
47
+ event: string;
48
+ payload: Record<string, string>;
49
+ };
50
+
46
51
  export type FormSubmitResult = {
47
52
  ok: boolean;
48
53
  action?: FormAction;
@@ -56,6 +61,7 @@ export type FormSubmitResult = {
56
61
  nextPage?: { id: string } | null;
57
62
  redirect?: FormRedirect | null;
58
63
  submitData?: unknown[];
64
+ clientEvents?: FormClientEvent[];
59
65
  meta?: Record<string, unknown>;
60
66
  };
61
67
 
@@ -12,7 +12,7 @@ import type { FormEndpointPayload, FormModuleManifest, FormSubmitResult } from '
12
12
  import type { ThemeClassMap } from '#contracts/theme';
13
13
  import { dispatchFormieDomEvent } from '#core/dom-events';
14
14
  import { getErrorAriaLivePreference } from '#core/error-aria-live';
15
- import { dispatchPageClientEventForSubmit } from '#core/page-client-event';
15
+ import { dispatchPageClientEventForSubmit, dispatchPendingClientEventsFromForm } from '#core/page-client-event';
16
16
  import { syncPageTabErrors } from '#core/page-tab-errors';
17
17
  import {
18
18
  enhanceServerRenderedFieldErrors,
@@ -1020,6 +1020,14 @@ export function createFormieClient(): FormieClient {
1020
1020
  if (form) {
1021
1021
  ensureFormStartedAt(form);
1022
1022
 
1023
+ if (normalizedOptions.themeConfig && typeof normalizedOptions.themeConfig === 'object') {
1024
+ form.setAttribute('data-formie-theme-config', JSON.stringify(normalizedOptions.themeConfig));
1025
+ }
1026
+
1027
+ if (normalizedOptions.theme && normalizedOptions.theme !== 'formie') {
1028
+ form.setAttribute('data-formie-frontend-theme', normalizedOptions.theme);
1029
+ }
1030
+
1023
1031
  if (renderPayload || normalizedOptions.endpoint || (target as HTMLElement).dataset.formieEndpoint) {
1024
1032
  normalizeHeadlessManagedUrls(target, form, normalizedOptions);
1025
1033
  }
@@ -1249,6 +1257,11 @@ export function createFormieClient(): FormieClient {
1249
1257
  id,
1250
1258
  mode: normalizedOptions.mode as FormMode,
1251
1259
  });
1260
+
1261
+ if (form instanceof HTMLFormElement) {
1262
+ dispatchPendingClientEventsFromForm(form);
1263
+ }
1264
+
1252
1265
  debug.log('Mount complete.', {
1253
1266
  id,
1254
1267
  target: getTargetDebugLabel(target),