@usefillo/react 0.8.0 → 0.10.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/styles.css CHANGED
@@ -602,6 +602,47 @@
602
602
  margin: 0;
603
603
  }
604
604
 
605
+ /* ---------- Not-open overlay (draft / not-accepting, production) ---------- */
606
+ /* The real form renders blurred and display-only beneath a small card —
607
+ honest about the state without a dead grey panel, impossible to fill. */
608
+ .fillo-form--not-open { position: relative; }
609
+ .fillo-not-open-preview {
610
+ filter: blur(3px) saturate(0.6);
611
+ opacity: 0.85;
612
+ pointer-events: none;
613
+ user-select: none;
614
+ }
615
+ /* The preview's controls sit in one natively disabled fieldset; keep it
616
+ invisible in the layout (it inherits the form's own column gap). */
617
+ .fillo-not-open-fields {
618
+ display: flex;
619
+ flex-direction: column;
620
+ gap: inherit;
621
+ border: 0;
622
+ margin: 0;
623
+ padding: 0;
624
+ min-width: 0;
625
+ }
626
+ .fillo-not-open-card {
627
+ position: absolute;
628
+ left: 50%;
629
+ top: 50%;
630
+ transform: translate(-50%, -50%);
631
+ z-index: 1;
632
+ display: flex;
633
+ flex-direction: column;
634
+ gap: 0.4rem;
635
+ width: min(20rem, calc(100% - 2rem));
636
+ padding: 1.4rem 1.6rem;
637
+ text-align: center;
638
+ border: 1px solid var(--fillo-border);
639
+ border-radius: var(--fillo-radius);
640
+ background: var(--fillo-control-bg);
641
+ box-shadow: 0 12px 32px -14px rgba(0, 0, 0, 0.35);
642
+ }
643
+ .fillo-not-open-title { margin: 0; font-size: 1.05rem; letter-spacing: 0; }
644
+ .fillo-not-open-body { margin: 0; font-size: 0.875rem; color: var(--fillo-muted); line-height: 1.5; }
645
+
605
646
  /* ---------- Success ---------- */
606
647
  .fillo-success { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; text-align: center; padding: 1.4rem 1rem; }
607
648
  .fillo-success-mark {
@@ -703,6 +744,20 @@
703
744
  border-radius: 4px;
704
745
  }
705
746
 
747
+ /* ---------- Dev-only "Preview" badge (explicit preview prop) ---------- */
748
+ .fillo-preview-badge {
749
+ align-self: flex-start;
750
+ padding: 0.2rem 0.6rem;
751
+ border: 1px solid #f59e0b;
752
+ border-radius: 999px;
753
+ background: #fef3c7;
754
+ color: #92400e;
755
+ font-size: 0.7rem;
756
+ font-weight: 600;
757
+ letter-spacing: 0.06em;
758
+ text-transform: uppercase;
759
+ }
760
+
706
761
  /* ---------- Saved-progress resume notice ---------- */
707
762
  .fillo-resume {
708
763
  display: flex;
@@ -735,4 +790,22 @@
735
790
  border-radius: 4px;
736
791
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--fillo-primary) 15%, transparent);
737
792
  }
793
+
794
+ /* ---------- Human-verification challenge (Turnstile) ---------- */
795
+ .fillo-turnstile-slot {
796
+ display: flex;
797
+ flex-direction: column;
798
+ gap: 0.5rem;
799
+ margin: 0.25rem 0 1rem;
800
+ }
801
+ /* Cloudflare draws a fixed-size widget inside; just give it room to breathe. */
802
+ .fillo-turnstile {
803
+ min-height: 65px;
804
+ }
805
+ .fillo-turnstile-error {
806
+ margin: 0;
807
+ color: var(--fillo-error);
808
+ font-size: 0.82rem;
809
+ line-height: 1.45;
810
+ }
738
811
  }
@@ -602,6 +602,47 @@
602
602
  margin: 0;
603
603
  }
604
604
 
605
+ /* ---------- Not-open overlay (draft / not-accepting, production) ---------- */
606
+ /* The real form renders blurred and display-only beneath a small card —
607
+ honest about the state without a dead grey panel, impossible to fill. */
608
+ .fillo-form--not-open { position: relative; }
609
+ .fillo-not-open-preview {
610
+ filter: blur(3px) saturate(0.6);
611
+ opacity: 0.85;
612
+ pointer-events: none;
613
+ user-select: none;
614
+ }
615
+ /* The preview's controls sit in one natively disabled fieldset; keep it
616
+ invisible in the layout (it inherits the form's own column gap). */
617
+ .fillo-not-open-fields {
618
+ display: flex;
619
+ flex-direction: column;
620
+ gap: inherit;
621
+ border: 0;
622
+ margin: 0;
623
+ padding: 0;
624
+ min-width: 0;
625
+ }
626
+ .fillo-not-open-card {
627
+ position: absolute;
628
+ left: 50%;
629
+ top: 50%;
630
+ transform: translate(-50%, -50%);
631
+ z-index: 1;
632
+ display: flex;
633
+ flex-direction: column;
634
+ gap: 0.4rem;
635
+ width: min(20rem, calc(100% - 2rem));
636
+ padding: 1.4rem 1.6rem;
637
+ text-align: center;
638
+ border: 1px solid var(--fillo-border);
639
+ border-radius: var(--fillo-radius);
640
+ background: var(--fillo-control-bg);
641
+ box-shadow: 0 12px 32px -14px rgba(0, 0, 0, 0.35);
642
+ }
643
+ .fillo-not-open-title { margin: 0; font-size: 1.05rem; letter-spacing: 0; }
644
+ .fillo-not-open-body { margin: 0; font-size: 0.875rem; color: var(--fillo-muted); line-height: 1.5; }
645
+
605
646
  /* ---------- Success ---------- */
606
647
  .fillo-success { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; text-align: center; padding: 1.4rem 1rem; }
607
648
  .fillo-success-mark {
@@ -703,6 +744,20 @@
703
744
  border-radius: 4px;
704
745
  }
705
746
 
747
+ /* ---------- Dev-only "Preview" badge (explicit preview prop) ---------- */
748
+ .fillo-preview-badge {
749
+ align-self: flex-start;
750
+ padding: 0.2rem 0.6rem;
751
+ border: 1px solid #f59e0b;
752
+ border-radius: 999px;
753
+ background: #fef3c7;
754
+ color: #92400e;
755
+ font-size: 0.7rem;
756
+ font-weight: 600;
757
+ letter-spacing: 0.06em;
758
+ text-transform: uppercase;
759
+ }
760
+
706
761
  /* ---------- Saved-progress resume notice ---------- */
707
762
  .fillo-resume {
708
763
  display: flex;
@@ -735,3 +790,21 @@
735
790
  border-radius: 4px;
736
791
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--fillo-primary) 15%, transparent);
737
792
  }
793
+
794
+ /* ---------- Human-verification challenge (Turnstile) ---------- */
795
+ .fillo-turnstile-slot {
796
+ display: flex;
797
+ flex-direction: column;
798
+ gap: 0.5rem;
799
+ margin: 0.25rem 0 1rem;
800
+ }
801
+ /* Cloudflare draws a fixed-size widget inside; just give it room to breathe. */
802
+ .fillo-turnstile {
803
+ min-height: 65px;
804
+ }
805
+ .fillo-turnstile-error {
806
+ margin: 0;
807
+ color: var(--fillo-error);
808
+ font-size: 0.82rem;
809
+ line-height: 1.45;
810
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usefillo/react",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "Headless React components for embedding Fillo forms natively in your product.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -34,7 +34,7 @@
34
34
  "access": "public"
35
35
  },
36
36
  "dependencies": {
37
- "@usefillo/core": "^0.8.0"
37
+ "@usefillo/core": "^0.10.0"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "react": "^18.0.0 || ^19.0.0",