@metron-labs/quote-react 0.1.50 → 0.1.52

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
@@ -3306,7 +3306,8 @@
3306
3306
  text-transform: none;
3307
3307
  }
3308
3308
 
3309
- :where(.app-wrapper) .entry-options--workflow .entry-option-title::after {
3309
+ :where(.app-wrapper) .entry-options--workflow .entry-option-title::after,
3310
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title::after {
3310
3311
  /* Same badge as .results-total-action .arrow: 30px circle, with the
3311
3312
  ForwardArrow path drawn by ::before below (a pseudo-element can't hold
3312
3313
  the component). */
@@ -3325,7 +3326,8 @@
3325
3326
 
3326
3327
  /* The arrow is a mask so its colour can come from a variable: an SVG data
3327
3328
  URI can't read var(--on-accent). Painted over the ::after circle. */
3328
- :where(.app-wrapper) .entry-options--workflow .entry-option-title::before {
3329
+ :where(.app-wrapper) .entry-options--workflow .entry-option-title::before,
3330
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title::before {
3329
3331
  content: "";
3330
3332
  position: absolute;
3331
3333
  z-index: 1;
@@ -3340,11 +3342,13 @@
3340
3342
  transition: background 0.15s ease;
3341
3343
  }
3342
3344
 
3343
- :where(.app-wrapper) .entry-options--workflow .entry-option-card:hover .entry-option-title::after {
3345
+ :where(.app-wrapper) .entry-options--workflow .entry-option-card:hover .entry-option-title::after,
3346
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card:hover .estimator-tool-card__title::after {
3344
3347
  background-color: var(--accent);
3345
3348
  }
3346
3349
 
3347
- :where(.app-wrapper) .entry-options--workflow .entry-option-card:hover .entry-option-title::before {
3350
+ :where(.app-wrapper) .entry-options--workflow .entry-option-card:hover .entry-option-title::before,
3351
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card:hover .estimator-tool-card__title::before {
3348
3352
  background: var(--on-accent);
3349
3353
  }
3350
3354
 
@@ -5760,7 +5764,8 @@
5760
5764
  }
5761
5765
 
5762
5766
  /* Customer results and basket use the same lighter surface as the entry flow. */
5763
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer {
5767
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer,
5768
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero {
5764
5769
  display: flex;
5765
5770
  align-items: center;
5766
5771
  justify-content: space-between;
@@ -5770,7 +5775,8 @@
5770
5775
  color: var(--text);
5771
5776
  }
5772
5777
 
5773
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer h1 {
5778
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer h1,
5779
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero h1 {
5774
5780
  margin-bottom: 8px;
5775
5781
  color: var(--text);
5776
5782
  font-size: clamp(28px, 3vw, 36px);
@@ -5779,7 +5785,8 @@
5779
5785
  text-transform: none;
5780
5786
  }
5781
5787
 
5782
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer p {
5788
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer p,
5789
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero p {
5783
5790
  max-width: 620px;
5784
5791
  padding: 0;
5785
5792
  border: 0;
@@ -5939,6 +5946,7 @@
5939
5946
  :where(.app-wrapper) .quick-order-card--customer .results-search-input,
5940
5947
  :where(.app-wrapper) .quick-order-card--customer .bom-toolbar-btn,
5941
5948
  :where(.app-wrapper) .quick-order-card--customer .cta-btn,
5949
+ :where(.app-wrapper).estimating-tools--customer .cta-btn,
5942
5950
  :where(.app-wrapper) .quick-order-card--customer .disclaimer-box {
5943
5951
  border-radius: 14px;
5944
5952
  }
@@ -6675,14 +6683,16 @@
6675
6683
 
6676
6684
  /* Customer results/basket hero: stack title over the total-cost button
6677
6685
  instead of squeezing the title into a one-word-per-line column. */
6678
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer {
6686
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer,
6687
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero {
6679
6688
  flex-direction: column;
6680
6689
  align-items: stretch;
6681
6690
  gap: 16px;
6682
6691
  padding: 24px 20px 8px;
6683
6692
  }
6684
6693
 
6685
- :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer h1 {
6694
+ :where(.app-wrapper) .quick-order-card--customer .quick-order-hero--customer h1,
6695
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero h1 {
6686
6696
  font-size: 28px;
6687
6697
  line-height: 1.15;
6688
6698
  }
@@ -6768,3 +6778,160 @@
6768
6778
  width: 100%;
6769
6779
  height: 100%;
6770
6780
  }
6781
+
6782
+ /* ===== Estimating tools, customer view =====
6783
+ Same lighter surface as the Quick Quote customer screens. The hero, button and
6784
+ arrow-badge rules are shared above; these cover what Quick Quote has no class for. */
6785
+ :where(.app-wrapper).estimating-tools--customer .quick-order-eyebrow {
6786
+ display: none;
6787
+ }
6788
+
6789
+ /* Title over intro: the shared hero is a row because the results/basket heroes put a
6790
+ button beside the copy, which the calculator heroes don't have. */
6791
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero:not(.quick-order-hero--customer) {
6792
+ display: block;
6793
+ }
6794
+
6795
+ /* Lined up with the calculator body; both drop to 20px sides on phones (below). */
6796
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator .quick-order-hero {
6797
+ padding-inline: 40px;
6798
+ }
6799
+
6800
+ /* hide-header still wins over the two display rules above. */
6801
+ :where(.app-wrapper).estimating-tools--customer.app-wrapper--no-header .quick-order-hero:not(.quick-order-hero--customer) {
6802
+ display: none;
6803
+ }
6804
+
6805
+ :where(.app-wrapper).estimating-tools--customer .quick-order-hero:not(.quick-order-hero--customer) p {
6806
+ margin: 0;
6807
+ }
6808
+
6809
+ /* The light hero is transparent; embedded, the host's page colour would show behind it
6810
+ and split it from the white calculator body. */
6811
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator {
6812
+ background: var(--bg);
6813
+ border-top: 1px solid var(--border);
6814
+ border-radius: 24px;
6815
+ }
6816
+
6817
+ /* Calculator list: unframed, like the Quick Quote entry screen. */
6818
+ :where(.app-wrapper).estimating-tools--customer .quick-order-card:not(.quick-order-card--customer) {
6819
+ border: 0;
6820
+ box-shadow: none;
6821
+ overflow: visible;
6822
+ }
6823
+
6824
+ :where(.app-wrapper).estimating-tools--customer .quick-order-alt {
6825
+ padding-top: 20px;
6826
+ }
6827
+
6828
+ :where(.app-wrapper).estimating-tools--customer .quick-order-alt-title {
6829
+ display: none;
6830
+ }
6831
+
6832
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card {
6833
+ border: 1.5px solid var(--border-dark);
6834
+ border-radius: 18px;
6835
+ }
6836
+
6837
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card:hover {
6838
+ border-color: var(--border-dark);
6839
+ box-shadow: 0 12px 28px rgb(15 23 42 / 0.14);
6840
+ transform: translateY(-4px);
6841
+ }
6842
+
6843
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__content {
6844
+ position: relative;
6845
+ align-self: stretch;
6846
+ padding: 20px 72px 22px 24px;
6847
+ }
6848
+
6849
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title {
6850
+ font-size: 18px;
6851
+ }
6852
+
6853
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title::after {
6854
+ top: 32px;
6855
+ right: 24px;
6856
+ }
6857
+
6858
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__title::before {
6859
+ top: 32px;
6860
+ right: 31px;
6861
+ }
6862
+
6863
+ :where(.app-wrapper).estimating-tools--customer .estimator-tool-card__desc {
6864
+ font-size: 14px;
6865
+ line-height: 1.5;
6866
+ }
6867
+
6868
+ :where(.app-wrapper).estimating-tools--customer
6869
+ :is(
6870
+ .truss-estimator__option-card,
6871
+ .truss-estimator__visual-card,
6872
+ .truss-estimator__toggle,
6873
+ .brick-calculator__options,
6874
+ .paint-calculator__row,
6875
+ .skirting-calculator__room-row,
6876
+ .architrave-calculator__opening-row,
6877
+ .materials-calculator__surface-row,
6878
+ [class*="-calculator__result-grid"] > div,
6879
+ .estimator-products__option
6880
+ ) {
6881
+ border-radius: 14px;
6882
+ }
6883
+
6884
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator :is(input:not([type="checkbox"]), select, textarea) {
6885
+ border-radius: 10px;
6886
+ }
6887
+
6888
+ /* Rounds the end buttons rather than clipping the group, which would cut off their focus rings. */
6889
+ :where(.app-wrapper).estimating-tools--customer .brick-calculator__unit-toggle {
6890
+ border-radius: 10px;
6891
+ }
6892
+
6893
+ :where(.app-wrapper).estimating-tools--customer .brick-calculator__unit-toggle button:first-child {
6894
+ border-radius: 9px 0 0 9px;
6895
+ }
6896
+
6897
+ :where(.app-wrapper).estimating-tools--customer .brick-calculator__unit-toggle button:last-child {
6898
+ border-radius: 0 9px 9px 0;
6899
+ }
6900
+
6901
+ /* Back + Add to basket stay on one row: at their 30/70 split they would otherwise wrap
6902
+ whenever "Back" is wider than 30% of a narrow card. */
6903
+ :where(.app-wrapper).estimating-tools--customer [class*="-calculator__actions"] {
6904
+ flex-wrap: nowrap;
6905
+ }
6906
+
6907
+ /* ===== Estimating tools, customer view: phones ===== */
6908
+ @media (max-width: 600px) {
6909
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator .quick-order-hero,
6910
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator__card {
6911
+ padding-inline: 20px;
6912
+ }
6913
+
6914
+ /* Half-width and capped fields go full width. */
6915
+ :where(.app-wrapper).estimating-tools--customer .materials-calculator__depth,
6916
+ :where(.app-wrapper).estimating-tools--customer .paint-calculator__coat-field .truss-estimator__field,
6917
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator__field--compact input {
6918
+ max-width: none;
6919
+ }
6920
+
6921
+ /* Diagram above the copy, not squeezing it into a narrow column. */
6922
+ :where(.app-wrapper).estimating-tools--customer .truss-estimator__option-grid--range .truss-estimator__option-card {
6923
+ flex-direction: column;
6924
+ align-items: flex-start;
6925
+ gap: 8px;
6926
+ }
6927
+
6928
+ /* One total per row, as the other calculators already do on phones. */
6929
+ :where(.app-wrapper).estimating-tools--customer .brick-calculator__result-grid {
6930
+ grid-template-columns: 1fr;
6931
+ }
6932
+
6933
+ /* Qty, width and height on one row under the opening's name. */
6934
+ :where(.app-wrapper).estimating-tools--customer :is(.architrave-calculator__dimensions-header, .architrave-calculator__opening-row) {
6935
+ grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr);
6936
+ }
6937
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metron-labs/quote-react",
3
- "version": "0.1.50",
3
+ "version": "0.1.52",
4
4
  "description": "Metron Labs quote and estimating calculator components for React",
5
5
  "license": "UNLICENSED",
6
6
  "sideEffects": [