sfc-utils 1.4.202 → 1.4.204

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 (93) hide show
  1. package/.playwright-mcp/console-2026-04-02T20-52-32-578Z.log +994 -0
  2. package/.playwright-mcp/page-2026-04-02T20-52-43-138Z.yml +13584 -0
  3. package/.playwright-mcp/page-2026-04-02T20-52-52-183Z.png +0 -0
  4. package/components/geocoder.mjs +1 -0
  5. package/components/helpers/utilfunctions.mjs +17 -24
  6. package/components/layout/layouthelmet.mjs +4 -0
  7. package/footer.js +54 -0
  8. package/index.js +4 -0
  9. package/package.json +1 -1
  10. package/settings.js +2 -2
  11. package/example/.prettierrc +0 -5
  12. package/example/README.md +0 -8
  13. package/example/gatsby-config.js +0 -137
  14. package/example/gatsby-node.js +0 -66
  15. package/example/package-lock.json +0 -31884
  16. package/example/package.json +0 -71
  17. package/example/project-config.json +0 -38
  18. package/example/src/components/layout.js +0 -96
  19. package/example/src/components/sfc/ad.js +0 -47
  20. package/example/src/components/sfc/ai2html/ai2html_template.ai +5 -1368
  21. package/example/src/components/sfc/button.js +0 -40
  22. package/example/src/components/sfc/byline.js +0 -42
  23. package/example/src/components/sfc/component-helpers/customhooks.js +0 -17
  24. package/example/src/components/sfc/component-helpers/datehelpers.js +0 -55
  25. package/example/src/components/sfc/component-helpers/newsletterhelpers.js +0 -89
  26. package/example/src/components/sfc/component-helpers/requesthelpers.js +0 -7
  27. package/example/src/components/sfc/component-helpers/scrolldownhelpers.js +0 -11
  28. package/example/src/components/sfc/component-helpers/utilfunctions.js +0 -68
  29. package/example/src/components/sfc/creditline.js +0 -35
  30. package/example/src/components/sfc/credits.js +0 -17
  31. package/example/src/components/sfc/creditssection.js +0 -49
  32. package/example/src/components/sfc/dropcap.js +0 -15
  33. package/example/src/components/sfc/footer.js +0 -36
  34. package/example/src/components/sfc/geocoder.js +0 -148
  35. package/example/src/components/sfc/misccredit.js +0 -17
  36. package/example/src/components/sfc/navtop.js +0 -121
  37. package/example/src/components/sfc/newsletter.js +0 -157
  38. package/example/src/components/sfc/relatedlink.js +0 -23
  39. package/example/src/components/sfc/relatedrow.js +0 -23
  40. package/example/src/components/sfc/relatedsection.js +0 -27
  41. package/example/src/components/sfc/safelink.js +0 -86
  42. package/example/src/components/sfc/scrolldown.js +0 -22
  43. package/example/src/components/sfc/sharebuttons.js +0 -93
  44. package/example/src/components/sfc/topper.js +0 -88
  45. package/example/src/components/sfc/video.js +0 -74
  46. package/example/src/components/sfc/wcmimage.js +0 -131
  47. package/example/src/data/sfc/images/react.gif +0 -0
  48. package/example/src/data/sfc/related_links.json +0 -17
  49. package/example/src/html.js +0 -41
  50. package/example/src/pages/index.js +0 -166
  51. package/example/src/styles/credittooltip.less +0 -55
  52. package/example/src/styles/footer.less +0 -378
  53. package/example/src/styles/modules/ad.module.less +0 -21
  54. package/example/src/styles/modules/ai2html.module.less +0 -19
  55. package/example/src/styles/modules/button.module.less +0 -94
  56. package/example/src/styles/modules/byline.module.less +0 -11
  57. package/example/src/styles/modules/creditline.module.less +0 -12
  58. package/example/src/styles/modules/credits.module.less +0 -7
  59. package/example/src/styles/modules/creditssection.module.less +0 -17
  60. package/example/src/styles/modules/dropcap.module.less +0 -18
  61. package/example/src/styles/modules/geocoder.module.less +0 -79
  62. package/example/src/styles/modules/newsletter.module.less +0 -147
  63. package/example/src/styles/modules/relatedlink.module.less +0 -28
  64. package/example/src/styles/modules/relatedrow.module.less +0 -8
  65. package/example/src/styles/modules/relatedsection.module.less +0 -19
  66. package/example/src/styles/modules/scrolldown.module.less +0 -31
  67. package/example/src/styles/modules/share.module.less +0 -22
  68. package/example/src/styles/modules/topper.module.less +0 -63
  69. package/example/src/styles/modules/video.module.less +0 -27
  70. package/example/src/styles/modules/wcmimage.module.less +0 -20
  71. package/example/src/styles/nav.less +0 -187
  72. package/example/src/styles/old css/defaults.less +0 -99
  73. package/example/src/styles/old css/footer.less +0 -345
  74. package/example/src/styles/old css/nav.less +0 -187
  75. package/example/src/styles/old css/project.less +0 -1
  76. package/example/src/styles/old css/reset.css +0 -95
  77. package/example/src/styles/old css/seed.less +0 -7
  78. package/example/src/styles/old css/typography.css +0 -168
  79. package/example/src/styles/old css/values.less +0 -74
  80. package/example/src/styles/project.less +0 -1
  81. package/example/src/styles/reset.css +0 -97
  82. package/example/src/styles/seed.less +0 -6
  83. package/example/src/styles/values.less +0 -203
  84. package/example/src/styles/variables.less +0 -142
  85. package/example/static/manifest.webmanifest +0 -1
  86. package/example/tasks/create-c2p-sheet.js +0 -6
  87. package/example/tasks/deploy-addon.py +0 -14
  88. package/example/tasks/google-docs.js +0 -16
  89. package/example/tasks/google-sheets.js +0 -17
  90. package/example/tasks/node-helpers.js +0 -81
  91. package/example/tasks/post-build.sh +0 -7
  92. package/example/tasks/pre-build.sh +0 -18
  93. package/example/tempsettings.js +0 -28
@@ -1,147 +0,0 @@
1
- @import (less) '../values.less';
2
-
3
- // newsletter signup ----------------------------------------------
4
-
5
- .container {
6
- max-width: 96vw;
7
- padding: 0;
8
- margin: @step-3 auto;
9
- @media (orientation: landscape) {
10
- max-width: 80ch;
11
- }
12
- }
13
-
14
- .wrapper {
15
- padding-bottom: calc(@step--2 / 2);
16
- margin-top: @step--2;
17
-
18
- margin-bottom: @step-0;
19
- padding: @step--2 @step-1;
20
- border-radius: 5px;
21
- border: 1px solid #eaeaea;
22
- border-top: 5px solid @brand;
23
- box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.08);
24
- overflow: hidden;
25
- }
26
-
27
- .output-text {
28
- text-align: right;
29
-
30
- p {
31
- margin: calc(@step--2 / 2) 0;
32
- font-family: @sans-book;
33
- font-size: @step--2;
34
-
35
- &.red {
36
- color: @red;
37
- }
38
- }
39
- }
40
-
41
- .content-wrapper {
42
- display: flex;
43
- justify-content: space-between;
44
- height: 40px;
45
-
46
- @media @tablet {
47
- display: block;
48
- height: auto;
49
- margin: 0 auto;
50
- }
51
- }
52
-
53
- .content {
54
- display: flex;
55
- align-items: center;
56
-
57
- .headshot {
58
- height: 40px;
59
- width: 40px;
60
- margin-right: @step--1;
61
- flex-shrink: 0;
62
-
63
- img {
64
- width: 100%;
65
- border-style: none;
66
- display: block;
67
- }
68
- }
69
- .newsletter-headline {
70
- width: 100%;
71
- max-width: 100%;
72
- font-family: @sans-med;
73
- font-size: @step-0;
74
- line-height: 1.2;
75
- margin: 0 0 calc(@step--2 / 4) 0;
76
- text-align: left;
77
- }
78
- }
79
-
80
- .form-wrapper {
81
- display: block;
82
- }
83
-
84
- .input-wrapper {
85
- margin-top: calc(@step--2 / 4);
86
- display: flex;
87
- align-items: flex-end;
88
- justify-content: space-between;
89
-
90
- input {
91
- width: 220px;
92
- font-size: @step--1;
93
- height: 24px;
94
- border: none;
95
- padding: 0;
96
- border-bottom: 1px solid #979797;
97
- font-family: 'National Light', 'Source Sans Pro', Arial, Helvetica,
98
- sans-serif;
99
- line-height: 1.5;
100
- margin-right: @step-0;
101
- overflow: visible;
102
-
103
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR…XF8MaClwaeROWRA7nk+tUnyzGvZrKg0/40gdME/t8EvgG0/NOS6v9NHQAAAABJRU5ErkJggg==);
104
- background-repeat: no-repeat;
105
- background-attachment: scroll;
106
- background-size: 16px 18px;
107
- background-position: 98% 50%;
108
- cursor: pointer;
109
- @media @tablet {
110
- width: calc(100% - 135px);
111
- }
112
- }
113
- }
114
-
115
- .submit-button {
116
- height: 30px;
117
- width: 88px;
118
- padding: calc(@step--2 / 2);
119
- font-size: @step--1;
120
- border: none;
121
- border-radius: 3px;
122
- background-color: #1b1b1b;
123
- color: #fff;
124
- font-family: 'National Medium', 'Source Sans Pro', Arial, Helvetica,
125
- sans-serif;
126
- text-transform: uppercase;
127
- text-align: center;
128
- line-height: 1;
129
- letter-spacing: 0.05em;
130
- cursor: pointer;
131
-
132
- img {
133
- margin: auto;
134
- }
135
- }
136
-
137
- .disclaimer {
138
- max-width: 100%;
139
- color: #777;
140
- font-family: @sans-book;
141
- font-size: @step--2;
142
- line-height: 1.2;
143
- margin: @step--1 0 0 0;
144
- padding-top: @step--2;
145
- border-top: 0.5px solid #e3e3e3;
146
- max-width: 100%;
147
- }
@@ -1,28 +0,0 @@
1
- @import (less) "../values.less";
2
-
3
- .container {
4
- width: 100%;
5
- padding: 0 @step--1;
6
- @media (orientation: portrait) {
7
- margin-bottom: @step-0;
8
- }
9
- }
10
-
11
- .image {
12
- &:hover {
13
- opacity: .8;
14
- }
15
-
16
- @media (orientation: portrait) {
17
- width: 100%;
18
- }
19
- }
20
-
21
- .text {
22
- margin: 0;
23
- padding: 0;
24
- font-size: @step--1;
25
- @media (orientation: portrait) {
26
- max-width: 100%;
27
- }
28
- }
@@ -1,8 +0,0 @@
1
- @import (less) "../values.less";
2
-
3
- .links {
4
- display: flex;
5
- @media @tablet {
6
- flex-direction: column;
7
- }
8
- }
@@ -1,19 +0,0 @@
1
- @import (less) "../values.less";
2
-
3
- .section {
4
- padding: @step--2 0;
5
- border-top: 1px solid @gray;
6
- border-bottom: 1px solid @gray;
7
- max-width: 960px;
8
- margin: @step-3 auto;
9
- }
10
-
11
- .hed {
12
- font-family: @sans-med;
13
- font-size: @step-1;
14
- color: @dark-gray;
15
- text-transform: uppercase;
16
- letter-spacing: 0.05em;
17
- margin: @step-0 auto;
18
- text-align: center;
19
- }
@@ -1,31 +0,0 @@
1
- @import (less) "../values.less";
2
-
3
- .arrow {
4
- position: relative;
5
- color: @white;
6
- width: 50px;
7
- bottom: 12vw;
8
- left: 50%;
9
- height: 0;
10
- transform: translate(-50%, 0%);
11
- cursor: pointer;
12
- animation: bounce 2s ease-in-out infinite;
13
-
14
- div {
15
- margin: 0 auto;
16
- }
17
- }
18
-
19
- @keyframes bounce {
20
- 0% {
21
- bottom: 12vw;
22
- }
23
-
24
- 66% {
25
- bottom: 14vw;
26
- }
27
-
28
- 100% {
29
- bottom: 12vw;
30
- }
31
- }
@@ -1,22 +0,0 @@
1
- @import (less) '../values.less';
2
-
3
- .wrapper {
4
- display: flex;
5
- align-items: center;
6
- margin: 15px 0;
7
- }
8
-
9
- .link {
10
- width: 30px;
11
- height: 30px;
12
- margin-right: 15px;
13
- }
14
-
15
- .svg {
16
- width: 100%;
17
- color: @white;
18
-
19
- &:hover {
20
- color: @brand;
21
- }
22
- }
@@ -1,63 +0,0 @@
1
- @import (less) "../values.less";
2
-
3
- .header {
4
- width: 100%;
5
- padding: 0 @step--1;
6
- margin: @step-3 0;
7
- height: auto;
8
- }
9
-
10
- .text-container {
11
- margin: @step-0 auto;
12
- font-kerning: normal;
13
- font-variant-ligatures: normal;
14
- text-rendering: geometricPrecision;
15
- max-width: 900px;
16
- }
17
-
18
- .hed, .dek {
19
- font-family: @hed;
20
- font-size: @step-5;
21
- margin-bottom: @step--2;
22
- max-width: 900px;
23
- }
24
-
25
- .dek {
26
- font-family: @serif-book;
27
- font-size: @step-2;
28
- }
29
-
30
- .dateby {
31
- font-size: @step-0;
32
- font-family: @sans-light;
33
- color: @black;
34
- font-variant-numeric: lining-nums;
35
- }
36
-
37
- .figure {
38
- position: relative;
39
- width: 100%;
40
- max-width: 100%;
41
- padding: 0;
42
- margin: 0;
43
- }
44
-
45
- .topcap {
46
- margin-top: calc(@step--2 / 2);
47
- font-family: @sans-book;
48
- color: @dark-gray;
49
- padding: 0 @step--1;
50
- line-height: 1.2;
51
- }
52
-
53
- .topcred {
54
- color: @gray;
55
- }
56
-
57
- .image {
58
- display: block;
59
- width: 100%;
60
- height: auto;
61
- margin: 0;
62
- padding: 0;
63
- }
@@ -1,27 +0,0 @@
1
- @import (less) '../values.less';
2
-
3
- .responsive-container {
4
- padding-bottom: 56.25%;
5
- overflow: hidden;
6
- position: relative;
7
- height: 0;
8
- }
9
-
10
- .default {
11
- display: block;
12
- margin: 0;
13
- padding: 0;
14
- width: 100%;
15
- height: auto;
16
- }
17
-
18
- .c-fig-cap {
19
- margin-top: calc(@step--2 / 2);
20
- font-family: @sans-book;
21
- color: @dark-gray;
22
- line-height: 1.2;
23
- }
24
-
25
- .c-fig-cred {
26
- color: @gray;
27
- }
@@ -1,20 +0,0 @@
1
- @import (less) '../values';
2
-
3
- .c-img {
4
- display: block;
5
- margin: 0;
6
- padding: 0;
7
- width: 100%;
8
- height: auto;
9
- }
10
-
11
- .c-fig-cap {
12
- margin-top: calc(@step--2 / 2);
13
- font-family: @sans-book;
14
- color: @dark-gray;
15
- line-height: 1.2;
16
- }
17
-
18
- .c-fig-cred {
19
- color: @gray;
20
- }
@@ -1,187 +0,0 @@
1
- // sticky navigation bar-------------------------------
2
- @import (less) "values";
3
-
4
- .topper-nav-container {
5
- height: 37px;
6
- background-color: black;
7
- width: 100%;
8
- display: flex;
9
- justify-content: space-between;
10
- }
11
-
12
- .headroom--pinned,
13
- .headroom--unfixed {
14
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25), 0 2px 2px rgba(0, 0, 0, 0.2),
15
- 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.1),
16
- 0 16px 16px rgba(0, 0, 0, 0.05);
17
- }
18
-
19
- .topper-nav-desk-logo,
20
- .topper-nav-mobile-logo {
21
- max-height: 20px;
22
- margin-left: 8px;
23
- margin-right: 2px;
24
- }
25
-
26
- .topper-nav-desk-logo {
27
- @media (max-width: 490px) {
28
- display: none;
29
- }
30
- }
31
-
32
- .topper-nav-mobile-logo {
33
- display: none;
34
-
35
- @media (max-width: 490px) {
36
- display: block;
37
- }
38
- }
39
-
40
- .topper-nav-left {
41
- display: flex;
42
- flex: 75;
43
- justify-content: flex-start;
44
- align-items: center;
45
- }
46
-
47
- .topper-nav-right {
48
- display: none;
49
- flex: 25;
50
- justify-content: flex-end;
51
- align-items: center;
52
- }
53
-
54
- // Hide in the app
55
- .not-app .topper-nav-right {
56
- display: flex;
57
- }
58
-
59
- .topper-nav-right .sub-box {
60
- margin-right: 10px;
61
- color: @brand;
62
- border: 1px solid @brand;
63
- border-radius: 3px;
64
- padding: 3px 8px;
65
- font-size: 14px;
66
- text-decoration: none;
67
- font-family: @sans-light;
68
- text-transform: uppercase;
69
- letter-spacing: 0.05em;
70
-
71
- &:hover {
72
- background: @brand;
73
- color: white;
74
-
75
- & > div:hover {
76
- color: white;
77
- }
78
- }
79
- }
80
-
81
- .topper-nav-social {
82
- margin:0 12px;
83
- padding-top: 4px;
84
-
85
- #twitter-icon {
86
- color: @brand;
87
- }
88
- a :hover {
89
- color: white;
90
- }
91
- }
92
-
93
- .topper-nav-container.invert {
94
- background-color: #fff;
95
-
96
- a :hover, .topper-nav-title:hover {
97
- color: #999;
98
- }
99
- }
100
-
101
- .topper-nav-title {
102
- color: @brand;
103
- font-family: @sans-book;
104
- font-size: @step--1;
105
- padding-left: 15px;
106
- text-transform: uppercase;
107
- text-decoration: none;
108
- letter-spacing: 0.08em;
109
- font-smooth: auto;
110
- -webkit-font-smoothing: auto;
111
- -moz-osx-font-smoothing: auto;
112
-
113
- &:hover {
114
- color: @white;
115
- }
116
- }
117
-
118
- #topper-nav-twitter-icon,
119
- #topper-nav-mail-icon,
120
- #topper-nav-facebook-icon {
121
- color: @brand;
122
-
123
- &:hover {
124
- color: @white;
125
- }
126
- }
127
-
128
- /* Configure the nav array */
129
-
130
- .headroom li, .headroom ul {
131
- font-family: @sans-book;
132
- text-transform: uppercase;
133
- font-size: 14px;
134
- letter-spacing: .05em;
135
- width: 100%;
136
- margin: 0;
137
- }
138
-
139
- .headroom ul#subnav {
140
- position: absolute;
141
- top: 37px;
142
- padding: 0;
143
- border-top: 2px solid #ccc;
144
- border-right: 2px solid #ccc;
145
- width: 300px;
146
- display: none;
147
-
148
- @media @tablet {
149
- border-right: none;
150
- width: 100%;
151
- }
152
- }
153
-
154
- .headroom .show-subnav ul#subnav {
155
- display: block;
156
- }
157
-
158
- .headroom.headroom--unpinned .show-subnav ul#subnav {
159
- display: none;
160
- }
161
-
162
- .headroom li {
163
- display: block;
164
- background-color: #fff;
165
- border-bottom: 2px solid #ccc;
166
-
167
- a {
168
- padding: 10px;
169
- display: inline-block;
170
- width: 100%;
171
- }
172
-
173
- .arrow-bullet {
174
- font-size: 10px;
175
- }
176
- }
177
-
178
- .dropdown-icon {
179
- margin-left: 5px;
180
- display: inline-block;
181
- transition: transform 0.2s;
182
- }
183
-
184
- .show-subnav .dropdown-icon {
185
- transform: rotate(180deg);
186
- }
187
-
@@ -1,99 +0,0 @@
1
- // A home for our CSS that we think should be on all projects
2
- //elements
3
- body {
4
- color: @text;
5
- font-family: @serif-book;
6
- width: 100%;
7
- height: 100%;
8
- min-width: 100%;
9
- min-height: 100%;
10
- }
11
-
12
- hr {
13
- color: @light-gray;
14
- max-width: 33%;
15
- margin-left: auto;
16
- margin-right: auto;
17
- }
18
-
19
- article {
20
- margin-top: @step-3;
21
- }
22
-
23
- h1,
24
- h2,
25
- h3,
26
- h4 {
27
- line-height: 1.2;
28
- font-weight: normal;
29
- font-variant-numeric: lining-nums;
30
- font-kerning: normal;
31
- font-variant-ligatures: normal;
32
- text-rendering: optimizeLegibility;
33
- max-width: 720px;
34
- margin-left: auto;
35
- margin-right: auto;
36
- }
37
-
38
- p {
39
- font-size: @base-font-size;
40
- max-width: 720px;
41
- margin-left: auto;
42
- margin-right: auto;
43
- padding: 0 @step--1;
44
- }
45
-
46
- a {
47
- color: @text;
48
- text-decoration: underline;
49
- text-decoration-color: @brand;
50
- text-decoration-skip-ink: auto;
51
- outline: 0 !important;
52
-
53
- &:hover {
54
- color: @brand;
55
- }
56
-
57
- &:visited {
58
- color: @gray;
59
- }
60
- }
61
-
62
- .grecaptcha-badge { // Captcha text handled in widget
63
- display: none;
64
- }
65
-
66
- iframe {
67
- border: none !important;
68
- }
69
-
70
- .gg-chevron-down {
71
- --ggs: 2;
72
- }
73
-
74
- // Handle basic embed classes
75
- .embed-center, .embed-left, .embed-right, .embed-full {
76
- max-width: 800px;
77
- margin: @step-3 auto;
78
- width: 100%;
79
- padding: 0 @step--1;
80
- }
81
-
82
- .embed-left {
83
- float: left;
84
- max-width: 600px;
85
- }
86
-
87
- .embed-right {
88
- float: right;
89
- max-width: 600px;
90
- }
91
-
92
- .embed-full {
93
- max-width: 100%;
94
- padding: 0;
95
-
96
- figcaption {
97
- padding: 0 10px;
98
- }
99
- }